<?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>190325</bug_id>
          
          <creation_ts>2018-10-05 19:02:10 -0700</creation_ts>
          <short_desc>WebGPU: Rename old WebGPU prototype to WebMetal</short_desc>
          <delta_ts>2018-10-09 10:30:26 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>190403</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Justin Fan">justin_fan</reporter>
          <assigned_to name="Justin Fan">justin_fan</assigned_to>
          <cc>bburg</cc>
    
    <cc>benjamin</cc>
    
    <cc>calvaris</cc>
    
    <cc>cdumez</cc>
    
    <cc>commit-queue</cc>
    
    <cc>dbates</cc>
    
    <cc>dino</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>graouts</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>hi</cc>
    
    <cc>joepeck</cc>
    
    <cc>kangil.han</cc>
    
    <cc>keith_miller</cc>
    
    <cc>kondapallykalyan</cc>
    
    <cc>mark.lam</cc>
    
    <cc>msaboff</cc>
    
    <cc>saam</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>tsavell</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>youennf</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1466825</commentid>
    <comment_count>0</comment_count>
    <who name="Justin Fan">justin_fan</who>
    <bug_when>2018-10-05 19:02:10 -0700</bug_when>
    <thetext>WebGPU: Rename old WebGPU prototype to WebMetal</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1466826</commentid>
    <comment_count>1</comment_count>
    <who name="Justin Fan">justin_fan</who>
    <bug_when>2018-10-05 19:02:31 -0700</bug_when>
    <thetext>&lt;rdar://problem/44990443&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1466828</commentid>
    <comment_count>2</comment_count>
      <attachid>351710</attachid>
    <who name="Justin Fan">justin_fan</who>
    <bug_when>2018-10-05 19:28:09 -0700</bug_when>
    <thetext>Created attachment 351710
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1466829</commentid>
    <comment_count>3</comment_count>
    <who name="EWS Watchlist">ews-watchlist</who>
    <bug_when>2018-10-05 19:34:43 -0700</bug_when>
    <thetext>This patch modifies the inspector protocol generator. Please ensure that you have rebaselined any generator test results (i.e., by running `Tools/Scripts/run-inspector-generator-tests --reset-results`)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1466830</commentid>
    <comment_count>4</comment_count>
    <who name="EWS Watchlist">ews-watchlist</who>
    <bug_when>2018-10-05 19:35:12 -0700</bug_when>
    <thetext>Attachment 351710 did not pass style-queue:


ERROR: Source/WebCore/html/canvas/WebMetalDrawable.cpp:43:  Code inside a namespace should not be indented.  [whitespace/indent] [4]
ERROR: Source/WebCore/html/canvas/WebMetalLibrary.cpp:42:  Code inside a namespace should not be indented.  [whitespace/indent] [4]
ERROR: Source/WebCore/html/canvas/WebMetalCommandBuffer.cpp:49:  This { should be at the end of the previous line  [whitespace/braces] [4]
Total errors found: 3 in 217 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1466833</commentid>
    <comment_count>5</comment_count>
      <attachid>351712</attachid>
    <who name="Justin Fan">justin_fan</who>
    <bug_when>2018-10-05 20:10:31 -0700</bug_when>
    <thetext>Created attachment 351712
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1466834</commentid>
    <comment_count>6</comment_count>
    <who name="EWS Watchlist">ews-watchlist</who>
    <bug_when>2018-10-05 20:15:20 -0700</bug_when>
    <thetext>Attachment 351712 did not pass style-queue:


ERROR: Source/WebCore/html/canvas/WebMetalDrawable.cpp:43:  Code inside a namespace should not be indented.  [whitespace/indent] [4]
ERROR: Source/WebCore/html/canvas/WebMetalLibrary.cpp:42:  Code inside a namespace should not be indented.  [whitespace/indent] [4]
ERROR: Source/WebCore/html/canvas/WebMetalCommandBuffer.cpp:49:  This { should be at the end of the previous line  [whitespace/braces] [4]
Total errors found: 3 in 219 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1466892</commentid>
    <comment_count>7</comment_count>
      <attachid>351712</attachid>
    <who name="Devin Rousso">hi</who>
    <bug_when>2018-10-06 12:43:55 -0700</bug_when>
    <thetext>Comment on attachment 351712
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=351712&amp;action=review

&gt; Source/WebInspectorUI/UserInterface/Models/Canvas.js:-71
&gt; -        case CanvasAgent.ContextType.WebGPU:

Ditto (308).

&gt; Source/WebInspectorUI/UserInterface/Models/Canvas.js:-98
&gt; -        case WI.Canvas.ContextType.WebGPU:

Ditto (308).

&gt; Source/WebInspectorUI/UserInterface/Models/Canvas.js:-308
&gt; -    WebGPU: &quot;webgpu&quot;,

Given what I wrote below (InspectorBackendCommands.js:70), this will need to stay as is for iOS 11.3 and 12.0.  You can add `WebMetal` to it, but you need to keep `WebGPU`.

&gt; Source/WebInspectorUI/UserInterface/Protocol/Legacy/11.3/InspectorBackendCommands.js:-70
&gt; -InspectorBackend.registerEnum(&quot;Canvas.ContextType&quot;, {Canvas2D: &quot;canvas-2d&quot;, BitmapRenderer: &quot;bitmaprenderer&quot;, WebGL: &quot;webgl&quot;, WebGL2: &quot;webgl2&quot;, WebGPU: &quot;webgpu&quot;});

We don&apos;t want to modify this file.  It is used by newer frontends to know what commands are available on older backends (e.g. macOS 10.14 connecting to a iOS 11.3 device).  This file is effectively &quot;frozen in time&quot; based on what the iOS version supported at the time it was created.

&gt; Source/WebInspectorUI/UserInterface/Protocol/Legacy/12.0/InspectorBackendCommands.js:-70
&gt; -InspectorBackend.registerEnum(&quot;Canvas.ContextType&quot;, {Canvas2D: &quot;canvas-2d&quot;, BitmapRenderer: &quot;bitmaprenderer&quot;, WebGL: &quot;webgl&quot;, WebGL2: &quot;webgl2&quot;, WebGPU: &quot;webgpu&quot;});

Ditto.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1467156</commentid>
    <comment_count>8</comment_count>
    <who name="Justin Fan">justin_fan</who>
    <bug_when>2018-10-08 12:54:04 -0700</bug_when>
    <thetext>Got it, thanks for the review.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1467181</commentid>
    <comment_count>9</comment_count>
      <attachid>351712</attachid>
    <who name="Dean Jackson">dino</who>
    <bug_when>2018-10-08 13:24:15 -0700</bug_when>
    <thetext>Comment on attachment 351712
Patch

We need to put something at Websites/webkit.org/demos/webgpu/index.html to point at the WebMetal demos.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1467191</commentid>
    <comment_count>10</comment_count>
      <attachid>351712</attachid>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2018-10-08 13:39:26 -0700</bug_when>
    <thetext>Comment on attachment 351712
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=351712&amp;action=review

&gt;&gt; Source/WebInspectorUI/UserInterface/Models/Canvas.js:-308
&gt;&gt; -    WebGPU: &quot;webgpu&quot;,
&gt; 
&gt; Given what I wrote below (InspectorBackendCommands.js:70), this will need to stay as is for iOS 11.3 and 12.0.  You can add `WebMetal` to it, but you need to keep `WebGPU`.

To expand on Devin&apos;s point you will need to keep the WebGPU enum value too upport legacy backends. In all cases you can make it do the same thing as the new WebMetal enum you&apos;re introducing.

&gt;&gt; Source/WebInspectorUI/UserInterface/Protocol/Legacy/11.3/InspectorBackendCommands.js:-70
&gt;&gt; -InspectorBackend.registerEnum(&quot;Canvas.ContextType&quot;, {Canvas2D: &quot;canvas-2d&quot;, BitmapRenderer: &quot;bitmaprenderer&quot;, WebGL: &quot;webgl&quot;, WebGL2: &quot;webgl2&quot;, WebGPU: &quot;webgpu&quot;});
&gt; 
&gt; We don&apos;t want to modify this file.  It is used by newer frontends to know what commands are available on older backends (e.g. macOS 10.14 connecting to a iOS 11.3 device).  This file is effectively &quot;frozen in time&quot; based on what the iOS version supported at the time it was created.

Correct. Great catch Devin! These files are generated from Source/WebInspectorUI/Versions (as is written at the top of the file). These shouldn&apos;t be changing with this patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1467230</commentid>
    <comment_count>11</comment_count>
      <attachid>351824</attachid>
    <who name="Justin Fan">justin_fan</who>
    <bug_when>2018-10-08 15:31:50 -0700</bug_when>
    <thetext>Created attachment 351824
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1467232</commentid>
    <comment_count>12</comment_count>
    <who name="EWS Watchlist">ews-watchlist</who>
    <bug_when>2018-10-08 15:39:27 -0700</bug_when>
    <thetext>Attachment 351824 did not pass style-queue:


ERROR: Source/WebCore/html/canvas/WebMetalDrawable.cpp:43:  Code inside a namespace should not be indented.  [whitespace/indent] [4]
ERROR: Source/WebCore/html/canvas/WebMetalLibrary.cpp:42:  Code inside a namespace should not be indented.  [whitespace/indent] [4]
ERROR: Source/WebCore/html/canvas/WebMetalCommandBuffer.cpp:49:  This { should be at the end of the previous line  [whitespace/braces] [4]
Total errors found: 3 in 219 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1467300</commentid>
    <comment_count>13</comment_count>
      <attachid>351824</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2018-10-08 18:37:46 -0700</bug_when>
    <thetext>Comment on attachment 351824
Patch

Clearing flags on attachment: 351824

Committed r236954: &lt;https://trac.webkit.org/changeset/236954&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1467301</commentid>
    <comment_count>14</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2018-10-08 18:37:48 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1467400</commentid>
    <comment_count>15</comment_count>
    <who name="Truitt Savell">tsavell</who>
    <bug_when>2018-10-09 08:28:04 -0700</bug_when>
    <thetext>After the changes in https://trac.webkit.org/changeset/236954/webkit

The test inspector/canvas/create-context-webmetal.html which was modified is failing constantly. 

History:
https://webkit-test-results.webkit.org/dashboards/flakiness_dashboard.html#showAllRuns=true&amp;tests=inspector%2Fcanvas%2Fcreate-context-webmetal.html

Diff:
https://build.webkit.org/results/Apple%20High%20Sierra%20Release%20WK2%20(Tests)/r236959%20(7175)/inspector/canvas/create-context-webmetal-pretty-diff.html</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>351710</attachid>
            <date>2018-10-05 19:28:09 -0700</date>
            <delta_ts>2018-10-05 20:10:29 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-190325-20181005192808.patch</filename>
            <type>text/plain</type>
            <size>1091378</size>
            <attacher name="Justin Fan">justin_fan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjM2ODg4CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCA2
NGUzNWNmMjc4MDJhN2ZmY2MyMmJmYWY4NGFiZTFhNmQwZTJhMDYzLi41Nzk4YzI0NGI0MzlkNGIy
YjY1NGVkYjYzYzVhMGM3ZmNjNjFkZDJhIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxNyBAQAorMjAxOC0xMC0wNSAgSnVzdGluIEZhbiAgPGp1c3Rpbl9mYW5AYXBwbGUuY29t
PgorCisgICAgICAgIFdlYkdQVTogUmVuYW1lIG9sZCBXZWJHUFUgcHJvdG90eXBlIHRvIFdlYk1l
dGFsCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xOTAz
MjUKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzQ0OTkwNDQzPgorCisgICAgICAgIFJldmlld2Vk
IGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFJlbmFtZSBXZWJHUFUgcHJvdG90eXBlIGZp
bGVzIHRvIFdlYk1ldGFsIGluIHByZXBhcmF0aW9uIGZvciBpbXBsZW1lbnRpbmcgdGhlIG5ldyAo
T2N0IDIwMTgpIFdlYkdQVSBpbnRlcmZhY2UuCisKKyAgICAgICAgKiBDb25maWd1cmF0aW9ucy9G
ZWF0dXJlRGVmaW5lcy54Y2NvbmZpZzoKKyAgICAgICAgKiBpbnNwZWN0b3IvcHJvdG9jb2wvQ2Fu
dmFzLmpzb246CisgICAgICAgICogaW5zcGVjdG9yL3NjcmlwdHMvY29kZWdlbi9nZW5lcmF0b3Iu
cHk6CisKIDIwMTgtMTAtMDUgIFl1c3VrZSBTdXp1a2kgIDx5dXN1a2VzdXp1a2lAc2xvd3N0YXJ0
Lm9yZz4KIAogICAgICAgICBbSlNDXVtMaW51eF0gU3VwcG9ydCBQZXJmIEpJVER1bXAgbG9nZ2lu
ZwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkNvcmUv
Q2hhbmdlTG9nCmluZGV4IDIxNGQwZTYxNmJkNDg4YjA5MDNmZDQ2OGVlMjM5NGFlYjFiNjRhZmQu
LmQxOTIzNWRkN2ExMDM4NmI0M2U1ODExNDc0ODQ3MzlhN2E5MjljZDQgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKQEAg
LTEsMyArMSw1NzAgQEAKKzIwMTgtMTAtMDUgIEp1c3RpbiBGYW4gIDxqdXN0aW5fZmFuQGFwcGxl
LmNvbT4KKworICAgICAgICBXZWJHUFU6IFJlbmFtZSBvbGQgV2ViR1BVIHByb3RvdHlwZSB0byBX
ZWJNZXRhbAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
MTkwMzI1CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS80NDk5MDQ0Mz4KKworICAgICAgICBSZXZp
ZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBFeGlzdGluZyBXZWJHUFUgdGVzdHMg
YWxzbyByZW5hbWVkIHRvIHJlZmxlY3QgV2ViR1BVIC0+IFdlYk1ldGFsIGNoYW5nZS4KKworICAg
ICAgICBSZW5hbWUgV2ViR1BVIHByb3RvdHlwZSBmaWxlcyB0byBXZWJNZXRhbCBpbiBwcmVwYXJh
dGlvbiBmb3IgaW1wbGVtZW50aW5nIHRoZSBuZXcgKE9jdCAyMDE4KSBXZWJHUFUgaW50ZXJmYWNl
LgorCisgICAgICAgICogQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWc6Cisg
ICAgICAgICogRGVyaXZlZFNvdXJjZXMubWFrZToKKyAgICAgICAgKiBTb3VyY2VzLnR4dDoKKyAg
ICAgICAgKiBTb3VyY2VzQ29jb2EudHh0OgorICAgICAgICAqIFdlYkNvcmUueGNvZGVwcm9qL3By
b2plY3QucGJ4cHJvajoKKyAgICAgICAgKiBiaW5kaW5ncy9qcy9KU1dlYkdQVVJlbmRlclBhc3NB
dHRhY2htZW50RGVzY3JpcHRvckN1c3RvbS5jcHA6IFJlbW92ZWQuCisgICAgICAgICogYmluZGlu
Z3MvanMvSlNXZWJHUFVSZW5kZXJpbmdDb250ZXh0Q3VzdG9tLmNwcDogUmVtb3ZlZC4KKyAgICAg
ICAgKiBiaW5kaW5ncy9qcy9XZWJDb3JlQnVpbHRpbk5hbWVzLmg6CisgICAgICAgICogZG9tL0Rv
Y3VtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkRvY3VtZW50OjpnZXRDU1NDYW52YXNDb250
ZXh0KToKKyAgICAgICAgKiBkb20vRG9jdW1lbnQuaDoKKyAgICAgICAgKiBkb20vRG9jdW1lbnQu
aWRsOgorICAgICAgICAqIGh0bWwvSFRNTENhbnZhc0VsZW1lbnQuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6SFRNTENhbnZhc0VsZW1lbnQ6OmdldENvbnRleHQpOgorICAgICAgICAoV2ViQ29yZTo6
SFRNTENhbnZhc0VsZW1lbnQ6OmlzV2ViTWV0YWxUeXBlKToKKyAgICAgICAgKFdlYkNvcmU6OkhU
TUxDYW52YXNFbGVtZW50OjpjcmVhdGVDb250ZXh0V2ViTWV0YWwpOgorICAgICAgICAoV2ViQ29y
ZTo6SFRNTENhbnZhc0VsZW1lbnQ6OmdldENvbnRleHRXZWJNZXRhbCk6CisgICAgICAgIChXZWJD
b3JlOjpIVE1MQ2FudmFzRWxlbWVudDo6aXNXZWJHUFVUeXBlKTogRGVsZXRlZC4KKyAgICAgICAg
KFdlYkNvcmU6OkhUTUxDYW52YXNFbGVtZW50OjpjcmVhdGVDb250ZXh0V2ViR1BVKTogRGVsZXRl
ZC4KKyAgICAgICAgKFdlYkNvcmU6OkhUTUxDYW52YXNFbGVtZW50OjpnZXRDb250ZXh0V2ViR1BV
KTogRGVsZXRlZC4KKyAgICAgICAgKiBodG1sL0hUTUxDYW52YXNFbGVtZW50Lmg6CisgICAgICAg
ICogaHRtbC9IVE1MQ2FudmFzRWxlbWVudC5pZGw6CisgICAgICAgICogaHRtbC9jYW52YXMvQ2Fu
dmFzUmVuZGVyaW5nQ29udGV4dC5oOgorICAgICAgICAoV2ViQ29yZTo6Q2FudmFzUmVuZGVyaW5n
Q29udGV4dDo6aXNXZWJNZXRhbCBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpDYW52YXNSZW5k
ZXJpbmdDb250ZXh0Ojppc1dlYkdQVSBjb25zdCk6IERlbGV0ZWQuCisgICAgICAgICogaHRtbC9j
YW52YXMvV2ViR1BVQnVmZmVyLmNwcDogUmVtb3ZlZC4KKyAgICAgICAgKiBodG1sL2NhbnZhcy9X
ZWJHUFVCdWZmZXIuaDogUmVtb3ZlZC4KKyAgICAgICAgKiBodG1sL2NhbnZhcy9XZWJHUFVCdWZm
ZXIuaWRsOiBSZW1vdmVkLgorICAgICAgICAqIGh0bWwvY2FudmFzL1dlYkdQVUNvbW1hbmRCdWZm
ZXIuY3BwOiBSZW1vdmVkLgorICAgICAgICAqIGh0bWwvY2FudmFzL1dlYkdQVUNvbW1hbmRCdWZm
ZXIuaDogUmVtb3ZlZC4KKyAgICAgICAgKiBodG1sL2NhbnZhcy9XZWJHUFVDb21tYW5kQnVmZmVy
LmlkbDogUmVtb3ZlZC4KKyAgICAgICAgKiBodG1sL2NhbnZhcy9XZWJHUFVDb21tYW5kUXVldWUu
Y3BwOiBSZW1vdmVkLgorICAgICAgICAqIGh0bWwvY2FudmFzL1dlYkdQVUNvbW1hbmRRdWV1ZS5o
OiBSZW1vdmVkLgorICAgICAgICAqIGh0bWwvY2FudmFzL1dlYkdQVUNvbW1hbmRRdWV1ZS5pZGw6
IFJlbW92ZWQuCisgICAgICAgICogaHRtbC9jYW52YXMvV2ViR1BVQ29tcHV0ZUNvbW1hbmRFbmNv
ZGVyLmNwcDogUmVtb3ZlZC4KKyAgICAgICAgKiBodG1sL2NhbnZhcy9XZWJHUFVDb21wdXRlQ29t
bWFuZEVuY29kZXIuaDogUmVtb3ZlZC4KKyAgICAgICAgKiBodG1sL2NhbnZhcy9XZWJHUFVDb21w
dXRlQ29tbWFuZEVuY29kZXIuaWRsOiBSZW1vdmVkLgorICAgICAgICAqIGh0bWwvY2FudmFzL1dl
YkdQVUNvbXB1dGVQaXBlbGluZVN0YXRlLmNwcDogUmVtb3ZlZC4KKyAgICAgICAgKiBodG1sL2Nh
bnZhcy9XZWJHUFVDb21wdXRlUGlwZWxpbmVTdGF0ZS5oOiBSZW1vdmVkLgorICAgICAgICAqIGh0
bWwvY2FudmFzL1dlYkdQVUNvbXB1dGVQaXBlbGluZVN0YXRlLmlkbDogUmVtb3ZlZC4KKyAgICAg
ICAgKiBodG1sL2NhbnZhcy9XZWJHUFVEZXB0aFN0ZW5jaWxEZXNjcmlwdG9yLmNwcDogUmVtb3Zl
ZC4KKyAgICAgICAgKiBodG1sL2NhbnZhcy9XZWJHUFVEZXB0aFN0ZW5jaWxEZXNjcmlwdG9yLmg6
IFJlbW92ZWQuCisgICAgICAgICogaHRtbC9jYW52YXMvV2ViR1BVRGVwdGhTdGVuY2lsRGVzY3Jp
cHRvci5pZGw6IFJlbW92ZWQuCisgICAgICAgICogaHRtbC9jYW52YXMvV2ViR1BVRGVwdGhTdGVu
Y2lsU3RhdGUuY3BwOiBSZW1vdmVkLgorICAgICAgICAqIGh0bWwvY2FudmFzL1dlYkdQVURlcHRo
U3RlbmNpbFN0YXRlLmg6IFJlbW92ZWQuCisgICAgICAgICogaHRtbC9jYW52YXMvV2ViR1BVRGVw
dGhTdGVuY2lsU3RhdGUuaWRsOiBSZW1vdmVkLgorICAgICAgICAqIGh0bWwvY2FudmFzL1dlYkdQ
VURyYXdhYmxlLmNwcDogUmVtb3ZlZC4KKyAgICAgICAgKiBodG1sL2NhbnZhcy9XZWJHUFVEcmF3
YWJsZS5oOiBSZW1vdmVkLgorICAgICAgICAqIGh0bWwvY2FudmFzL1dlYkdQVURyYXdhYmxlLmlk
bDogUmVtb3ZlZC4KKyAgICAgICAgKiBodG1sL2NhbnZhcy9XZWJHUFVFbnVtcy5jcHA6IFJlbW92
ZWQuCisgICAgICAgICogaHRtbC9jYW52YXMvV2ViR1BVRW51bXMuaDogUmVtb3ZlZC4KKyAgICAg
ICAgKiBodG1sL2NhbnZhcy9XZWJHUFVFbnVtcy5pZGw6IFJlbW92ZWQuCisgICAgICAgICogaHRt
bC9jYW52YXMvV2ViR1BVRnVuY3Rpb24uY3BwOiBSZW1vdmVkLgorICAgICAgICAqIGh0bWwvY2Fu
dmFzL1dlYkdQVUZ1bmN0aW9uLmg6IFJlbW92ZWQuCisgICAgICAgICogaHRtbC9jYW52YXMvV2Vi
R1BVRnVuY3Rpb24uaWRsOiBSZW1vdmVkLgorICAgICAgICAqIGh0bWwvY2FudmFzL1dlYkdQVUxp
YnJhcnkuY3BwOiBSZW1vdmVkLgorICAgICAgICAqIGh0bWwvY2FudmFzL1dlYkdQVUxpYnJhcnku
aDogUmVtb3ZlZC4KKyAgICAgICAgKiBodG1sL2NhbnZhcy9XZWJHUFVMaWJyYXJ5LmlkbDogUmVt
b3ZlZC4KKyAgICAgICAgKiBodG1sL2NhbnZhcy9XZWJHUFVSZW5kZXJDb21tYW5kRW5jb2Rlci5j
cHA6IFJlbW92ZWQuCisgICAgICAgICogaHRtbC9jYW52YXMvV2ViR1BVUmVuZGVyQ29tbWFuZEVu
Y29kZXIuaDogUmVtb3ZlZC4KKyAgICAgICAgKiBodG1sL2NhbnZhcy9XZWJHUFVSZW5kZXJDb21t
YW5kRW5jb2Rlci5pZGw6IFJlbW92ZWQuCisgICAgICAgICogaHRtbC9jYW52YXMvV2ViR1BVUmVu
ZGVyUGFzc0F0dGFjaG1lbnREZXNjcmlwdG9yLmNwcDogUmVtb3ZlZC4KKyAgICAgICAgKiBodG1s
L2NhbnZhcy9XZWJHUFVSZW5kZXJQYXNzQXR0YWNobWVudERlc2NyaXB0b3IuaDogUmVtb3ZlZC4K
KyAgICAgICAgKiBodG1sL2NhbnZhcy9XZWJHUFVSZW5kZXJQYXNzQXR0YWNobWVudERlc2NyaXB0
b3IuaWRsOiBSZW1vdmVkLgorICAgICAgICAqIGh0bWwvY2FudmFzL1dlYkdQVVJlbmRlclBhc3ND
b2xvckF0dGFjaG1lbnREZXNjcmlwdG9yLmNwcDogUmVtb3ZlZC4KKyAgICAgICAgKiBodG1sL2Nh
bnZhcy9XZWJHUFVSZW5kZXJQYXNzQ29sb3JBdHRhY2htZW50RGVzY3JpcHRvci5oOiBSZW1vdmVk
LgorICAgICAgICAqIGh0bWwvY2FudmFzL1dlYkdQVVJlbmRlclBhc3NDb2xvckF0dGFjaG1lbnRE
ZXNjcmlwdG9yLmlkbDogUmVtb3ZlZC4KKyAgICAgICAgKiBodG1sL2NhbnZhcy9XZWJHUFVSZW5k
ZXJQYXNzRGVwdGhBdHRhY2htZW50RGVzY3JpcHRvci5jcHA6IFJlbW92ZWQuCisgICAgICAgICog
aHRtbC9jYW52YXMvV2ViR1BVUmVuZGVyUGFzc0RlcHRoQXR0YWNobWVudERlc2NyaXB0b3IuaDog
UmVtb3ZlZC4KKyAgICAgICAgKiBodG1sL2NhbnZhcy9XZWJHUFVSZW5kZXJQYXNzRGVwdGhBdHRh
Y2htZW50RGVzY3JpcHRvci5pZGw6IFJlbW92ZWQuCisgICAgICAgICogaHRtbC9jYW52YXMvV2Vi
R1BVUmVuZGVyUGFzc0Rlc2NyaXB0b3IuY3BwOiBSZW1vdmVkLgorICAgICAgICAqIGh0bWwvY2Fu
dmFzL1dlYkdQVVJlbmRlclBhc3NEZXNjcmlwdG9yLmg6IFJlbW92ZWQuCisgICAgICAgICogaHRt
bC9jYW52YXMvV2ViR1BVUmVuZGVyUGFzc0Rlc2NyaXB0b3IuaWRsOiBSZW1vdmVkLgorICAgICAg
ICAqIGh0bWwvY2FudmFzL1dlYkdQVVJlbmRlclBpcGVsaW5lQ29sb3JBdHRhY2htZW50RGVzY3Jp
cHRvci5jcHA6IFJlbW92ZWQuCisgICAgICAgICogaHRtbC9jYW52YXMvV2ViR1BVUmVuZGVyUGlw
ZWxpbmVDb2xvckF0dGFjaG1lbnREZXNjcmlwdG9yLmg6IFJlbW92ZWQuCisgICAgICAgICogaHRt
bC9jYW52YXMvV2ViR1BVUmVuZGVyUGlwZWxpbmVDb2xvckF0dGFjaG1lbnREZXNjcmlwdG9yLmlk
bDogUmVtb3ZlZC4KKyAgICAgICAgKiBodG1sL2NhbnZhcy9XZWJHUFVSZW5kZXJQaXBlbGluZURl
c2NyaXB0b3IuY3BwOiBSZW1vdmVkLgorICAgICAgICAqIGh0bWwvY2FudmFzL1dlYkdQVVJlbmRl
clBpcGVsaW5lRGVzY3JpcHRvci5oOiBSZW1vdmVkLgorICAgICAgICAqIGh0bWwvY2FudmFzL1dl
YkdQVVJlbmRlclBpcGVsaW5lRGVzY3JpcHRvci5pZGw6IFJlbW92ZWQuCisgICAgICAgICogaHRt
bC9jYW52YXMvV2ViR1BVUmVuZGVyUGlwZWxpbmVTdGF0ZS5jcHA6IFJlbW92ZWQuCisgICAgICAg
ICogaHRtbC9jYW52YXMvV2ViR1BVUmVuZGVyUGlwZWxpbmVTdGF0ZS5oOiBSZW1vdmVkLgorICAg
ICAgICAqIGh0bWwvY2FudmFzL1dlYkdQVVJlbmRlclBpcGVsaW5lU3RhdGUuaWRsOiBSZW1vdmVk
LgorICAgICAgICAqIGh0bWwvY2FudmFzL1dlYkdQVVJlbmRlcmluZ0NvbnRleHQuY3BwOiBSZW1v
dmVkLgorICAgICAgICAqIGh0bWwvY2FudmFzL1dlYkdQVVJlbmRlcmluZ0NvbnRleHQuaDogUmVt
b3ZlZC4KKyAgICAgICAgKiBodG1sL2NhbnZhcy9XZWJHUFVSZW5kZXJpbmdDb250ZXh0LmlkbDog
UmVtb3ZlZC4KKyAgICAgICAgKiBodG1sL2NhbnZhcy9XZWJHUFVTaXplLmg6IFJlbW92ZWQuCisg
ICAgICAgICogaHRtbC9jYW52YXMvV2ViR1BVU2l6ZS5pZGw6IFJlbW92ZWQuCisgICAgICAgICog
aHRtbC9jYW52YXMvV2ViR1BVVGV4dHVyZS5jcHA6IFJlbW92ZWQuCisgICAgICAgICogaHRtbC9j
YW52YXMvV2ViR1BVVGV4dHVyZS5oOiBSZW1vdmVkLgorICAgICAgICAqIGh0bWwvY2FudmFzL1dl
YkdQVVRleHR1cmUuaWRsOiBSZW1vdmVkLgorICAgICAgICAqIGh0bWwvY2FudmFzL1dlYkdQVVRl
eHR1cmVEZXNjcmlwdG9yLmNwcDogUmVtb3ZlZC4KKyAgICAgICAgKiBodG1sL2NhbnZhcy9XZWJH
UFVUZXh0dXJlRGVzY3JpcHRvci5oOiBSZW1vdmVkLgorICAgICAgICAqIGh0bWwvY2FudmFzL1dl
YkdQVVRleHR1cmVEZXNjcmlwdG9yLmlkbDogUmVtb3ZlZC4KKyAgICAgICAgKiBpbnNwZWN0b3Iv
SW5zcGVjdG9yQ2FudmFzLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3RvckNhbnZhczo6
YnVpbGRPYmplY3RGb3JDYW52YXMpOgorICAgICAgICAqIGluc3BlY3Rvci9hZ2VudHMvSW5zcGVj
dG9yQ2FudmFzQWdlbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9yQ2FudmFzQWdl
bnQ6OnJlcXVlc3RDb250ZW50KToKKyAgICAgICAgKFdlYkNvcmU6OmNvbnRleHRBc1NjcmlwdFZh
bHVlKToKKyAgICAgICAgKiBwYWdlL1J1bnRpbWVFbmFibGVkRmVhdHVyZXMuaDoKKyAgICAgICAg
KFdlYkNvcmU6OlJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6OnNldFdlYk1ldGFsRW5hYmxlZCk6Cisg
ICAgICAgIChXZWJDb3JlOjpSdW50aW1lRW5hYmxlZEZlYXR1cmVzOjp3ZWJNZXRhbEVuYWJsZWQg
Y29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6UnVudGltZUVuYWJsZWRGZWF0dXJlczo6c2V0V2Vi
R1BVRW5hYmxlZCk6IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpSdW50aW1lRW5hYmxlZEZl
YXR1cmVzOjp3ZWJHUFVFbmFibGVkIGNvbnN0KTogRGVsZXRlZC4KKyAgICAgICAgKiBwbGF0Zm9y
bS9Mb2dnaW5nLmg6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvY2EvY29jb2EvUGxhdGZv
cm1DQUxheWVyQ29jb2EubW06CisgICAgICAgIChXZWJDb3JlOjpQbGF0Zm9ybUNBTGF5ZXJDb2Nv
YTo6bGF5ZXJUeXBlRm9yUGxhdGZvcm1MYXllcik6CisgICAgICAgIChXZWJDb3JlOjpQbGF0Zm9y
bUNBTGF5ZXJDb2NvYTo6UGxhdGZvcm1DQUxheWVyQ29jb2EpOgorICAgICAgICAqIHBsYXRmb3Jt
L2dyYXBoaWNzL2NvY29hL1dlYkdQVUxheWVyLm1tOiBSZW1vdmVkLgorICAgICAgICAqIHBsYXRm
b3JtL2dyYXBoaWNzL2NvY29hL1dlYk1ldGFsTGF5ZXIuaDogUmVuYW1lZCBmcm9tIFNvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NvY29hL1dlYkdQVUxheWVyLmguCisgICAgICAgICog
cGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L0dQVUJ1ZmZlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpH
UFVCdWZmZXI6On5HUFVCdWZmZXIpOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2dwdS9H
UFVCdWZmZXIuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9ncHUvR1BVQ29tbWFuZEJ1
ZmZlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpHUFVDb21tYW5kQnVmZmVyOjp+R1BVQ29tbWFu
ZEJ1ZmZlcik6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L0dQVUNvbW1hbmRCdWZm
ZXIuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9ncHUvR1BVQ29tbWFuZFF1ZXVlLmNw
cDoKKyAgICAgICAgKFdlYkNvcmU6OkdQVUNvbW1hbmRRdWV1ZTo6fkdQVUNvbW1hbmRRdWV1ZSk6
CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L0dQVUNvbW1hbmRRdWV1ZS5oOgorICAg
ICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2dwdS9HUFVDb21wdXRlQ29tbWFuZEVuY29kZXIuY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6R1BVQ29tcHV0ZUNvbW1hbmRFbmNvZGVyOjp+R1BVQ29tcHV0
ZUNvbW1hbmRFbmNvZGVyKToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9ncHUvR1BVQ29t
cHV0ZUNvbW1hbmRFbmNvZGVyLmg6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L0dQ
VUNvbXB1dGVQaXBlbGluZVN0YXRlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkdQVUNvbXB1dGVQ
aXBlbGluZVN0YXRlOjp+R1BVQ29tcHV0ZVBpcGVsaW5lU3RhdGUpOgorICAgICAgICAqIHBsYXRm
b3JtL2dyYXBoaWNzL2dwdS9HUFVDb21wdXRlUGlwZWxpbmVTdGF0ZS5oOgorICAgICAgICAqIHBs
YXRmb3JtL2dyYXBoaWNzL2dwdS9HUFVEZXB0aFN0ZW5jaWxEZXNjcmlwdG9yLmNwcDoKKyAgICAg
ICAgKFdlYkNvcmU6OkdQVURlcHRoU3RlbmNpbERlc2NyaXB0b3I6On5HUFVEZXB0aFN0ZW5jaWxE
ZXNjcmlwdG9yKToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9ncHUvR1BVRGVwdGhTdGVu
Y2lsRGVzY3JpcHRvci5oOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2dwdS9HUFVEZXB0
aFN0ZW5jaWxTdGF0ZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpHUFVEZXB0aFN0ZW5jaWxTdGF0
ZTo6fkdQVURlcHRoU3RlbmNpbFN0YXRlKToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9n
cHUvR1BVRGVwdGhTdGVuY2lsU3RhdGUuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9n
cHUvR1BVRGV2aWNlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkdQVURldmljZTo6fkdQVURldmlj
ZSk6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L0dQVURldmljZS5oOgorICAgICAg
ICAoV2ViQ29yZTo6R1BVRGV2aWNlOjpsYXllciBjb25zdCk6CisgICAgICAgICogcGxhdGZvcm0v
Z3JhcGhpY3MvZ3B1L0dQVURyYXdhYmxlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkdQVURyYXdh
YmxlOjp+R1BVRHJhd2FibGUpOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2dwdS9HUFVE
cmF3YWJsZS5oOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2dwdS9HUFVFbnVtcy5oOgor
ICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2dwdS9HUFVGdW5jdGlvbi5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpHUFVGdW5jdGlvbjo6fkdQVUZ1bmN0aW9uKToKKyAgICAgICAgKiBwbGF0Zm9y
bS9ncmFwaGljcy9ncHUvR1BVRnVuY3Rpb24uaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGlj
cy9ncHUvR1BVTGlicmFyeS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpHUFVMaWJyYXJ5Ojp+R1BV
TGlicmFyeSk6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L0dQVUxpYnJhcnkuaDoK
KyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9ncHUvR1BVUmVuZGVyQ29tbWFuZEVuY29kZXIu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6R1BVUmVuZGVyQ29tbWFuZEVuY29kZXI6On5HUFVSZW5k
ZXJDb21tYW5kRW5jb2Rlcik6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L0dQVVJl
bmRlckNvbW1hbmRFbmNvZGVyLmg6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L0dQ
VVJlbmRlclBhc3NBdHRhY2htZW50RGVzY3JpcHRvci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpH
UFVSZW5kZXJQYXNzQXR0YWNobWVudERlc2NyaXB0b3I6On5HUFVSZW5kZXJQYXNzQXR0YWNobWVu
dERlc2NyaXB0b3IpOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2dwdS9HUFVSZW5kZXJQ
YXNzQXR0YWNobWVudERlc2NyaXB0b3IuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9n
cHUvR1BVUmVuZGVyUGFzc0NvbG9yQXR0YWNobWVudERlc2NyaXB0b3IuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6R1BVUmVuZGVyUGFzc0NvbG9yQXR0YWNobWVudERlc2NyaXB0b3I6On5HUFVSZW5k
ZXJQYXNzQ29sb3JBdHRhY2htZW50RGVzY3JpcHRvcik6CisgICAgICAgICogcGxhdGZvcm0vZ3Jh
cGhpY3MvZ3B1L0dQVVJlbmRlclBhc3NDb2xvckF0dGFjaG1lbnREZXNjcmlwdG9yLmg6CisgICAg
ICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L0dQVVJlbmRlclBhc3NEZXB0aEF0dGFjaG1lbnRE
ZXNjcmlwdG9yLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkdQVVJlbmRlclBhc3NEZXB0aEF0dGFj
aG1lbnREZXNjcmlwdG9yOjp+R1BVUmVuZGVyUGFzc0RlcHRoQXR0YWNobWVudERlc2NyaXB0b3Ip
OgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2dwdS9HUFVSZW5kZXJQYXNzRGVwdGhBdHRh
Y2htZW50RGVzY3JpcHRvci5oOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2dwdS9HUFVS
ZW5kZXJQYXNzRGVzY3JpcHRvci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpHUFVSZW5kZXJQYXNz
RGVzY3JpcHRvcjo6fkdQVVJlbmRlclBhc3NEZXNjcmlwdG9yKToKKyAgICAgICAgKiBwbGF0Zm9y
bS9ncmFwaGljcy9ncHUvR1BVUmVuZGVyUGFzc0Rlc2NyaXB0b3IuaDoKKyAgICAgICAgKiBwbGF0
Zm9ybS9ncmFwaGljcy9ncHUvR1BVUmVuZGVyUGlwZWxpbmVDb2xvckF0dGFjaG1lbnREZXNjcmlw
dG9yLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkdQVVJlbmRlclBpcGVsaW5lQ29sb3JBdHRhY2ht
ZW50RGVzY3JpcHRvcjo6fkdQVVJlbmRlclBpcGVsaW5lQ29sb3JBdHRhY2htZW50RGVzY3JpcHRv
cik6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L0dQVVJlbmRlclBpcGVsaW5lQ29s
b3JBdHRhY2htZW50RGVzY3JpcHRvci5oOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2dw
dS9HUFVSZW5kZXJQaXBlbGluZURlc2NyaXB0b3IuY3BwOgorICAgICAgICAoV2ViQ29yZTo6R1BV
UmVuZGVyUGlwZWxpbmVEZXNjcmlwdG9yOjp+R1BVUmVuZGVyUGlwZWxpbmVEZXNjcmlwdG9yKToK
KyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9ncHUvR1BVUmVuZGVyUGlwZWxpbmVEZXNjcmlw
dG9yLmg6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L0dQVVJlbmRlclBpcGVsaW5l
U3RhdGUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6R1BVUmVuZGVyUGlwZWxpbmVTdGF0ZTo6fkdQ
VVJlbmRlclBpcGVsaW5lU3RhdGUpOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2dwdS9H
UFVSZW5kZXJQaXBlbGluZVN0YXRlLmg6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1
L0dQVVNpemUuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9ncHUvR1BVVGV4dHVyZS5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpHUFVUZXh0dXJlOjp+R1BVVGV4dHVyZSk6CisgICAgICAg
ICogcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L0dQVVRleHR1cmUuaDoKKyAgICAgICAgKiBwbGF0Zm9y
bS9ncmFwaGljcy9ncHUvR1BVVGV4dHVyZURlc2NyaXB0b3IuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6R1BVVGV4dHVyZURlc2NyaXB0b3I6On5HUFVUZXh0dXJlRGVzY3JpcHRvcik6CisgICAgICAg
ICogcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L0dQVVRleHR1cmVEZXNjcmlwdG9yLmg6CisgICAgICAg
ICogcGxhdGZvcm0vZ3JhcGhpY3MvbWV0YWwvR1BVQnVmZmVyTWV0YWwubW06CisgICAgICAgIChX
ZWJDb3JlOjpHUFVCdWZmZXI6OkdQVUJ1ZmZlcik6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhp
Y3MvbWV0YWwvR1BVQ29tbWFuZEJ1ZmZlck1ldGFsLm1tOgorICAgICAgICAqIHBsYXRmb3JtL2dy
YXBoaWNzL21ldGFsL0dQVUNvbW1hbmRRdWV1ZU1ldGFsLm1tOgorICAgICAgICAqIHBsYXRmb3Jt
L2dyYXBoaWNzL21ldGFsL0dQVUNvbXB1dGVDb21tYW5kRW5jb2Rlck1ldGFsLm1tOgorICAgICAg
ICAqIHBsYXRmb3JtL2dyYXBoaWNzL21ldGFsL0dQVUNvbXB1dGVQaXBlbGluZVN0YXRlTWV0YWwu
bW06CisgICAgICAgIChXZWJDb3JlOjpHUFVDb21wdXRlUGlwZWxpbmVTdGF0ZTo6R1BVQ29tcHV0
ZVBpcGVsaW5lU3RhdGUpOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL21ldGFsL0dQVURl
cHRoU3RlbmNpbERlc2NyaXB0b3JNZXRhbC5tbToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGlj
cy9tZXRhbC9HUFVEZXB0aFN0ZW5jaWxTdGF0ZU1ldGFsLm1tOgorICAgICAgICAoV2ViQ29yZTo6
R1BVRGVwdGhTdGVuY2lsU3RhdGU6OnNldExhYmVsIGNvbnN0KToKKyAgICAgICAgKiBwbGF0Zm9y
bS9ncmFwaGljcy9tZXRhbC9HUFVEZXZpY2VNZXRhbC5tbToKKyAgICAgICAgKFdlYkNvcmU6OkdQ
VURldmljZTo6cmVzaGFwZSBjb25zdCk6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvbWV0
YWwvR1BVRHJhd2FibGVNZXRhbC5tbToKKyAgICAgICAgKFdlYkNvcmU6OkdQVURyYXdhYmxlOjpy
ZWxlYXNlKToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9tZXRhbC9HUFVGdW5jdGlvbk1l
dGFsLm1tOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL21ldGFsL0dQVUxpYnJhcnlNZXRh
bC5tbToKKyAgICAgICAgKFdlYkNvcmU6OkdQVUxpYnJhcnk6OkdQVUxpYnJhcnkpOgorICAgICAg
ICAqIHBsYXRmb3JtL2dyYXBoaWNzL21ldGFsL0dQVVJlbmRlckNvbW1hbmRFbmNvZGVyTWV0YWwu
bW06CisgICAgICAgIChXZWJDb3JlOjpHUFVSZW5kZXJDb21tYW5kRW5jb2Rlcjo6R1BVUmVuZGVy
Q29tbWFuZEVuY29kZXIpOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL21ldGFsL0dQVVJl
bmRlclBhc3NBdHRhY2htZW50RGVzY3JpcHRvck1ldGFsLm1tOgorICAgICAgICAqIHBsYXRmb3Jt
L2dyYXBoaWNzL21ldGFsL0dQVVJlbmRlclBhc3NDb2xvckF0dGFjaG1lbnREZXNjcmlwdG9yTWV0
YWwubW06CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvbWV0YWwvR1BVUmVuZGVyUGFzc0Rl
cHRoQXR0YWNobWVudERlc2NyaXB0b3JNZXRhbC5tbToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFw
aGljcy9tZXRhbC9HUFVSZW5kZXJQYXNzRGVzY3JpcHRvck1ldGFsLm1tOgorICAgICAgICAqIHBs
YXRmb3JtL2dyYXBoaWNzL21ldGFsL0dQVVJlbmRlclBpcGVsaW5lQ29sb3JBdHRhY2htZW50RGVz
Y3JpcHRvck1ldGFsLm1tOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL21ldGFsL0dQVVJl
bmRlclBpcGVsaW5lRGVzY3JpcHRvck1ldGFsLm1tOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBo
aWNzL21ldGFsL0dQVVJlbmRlclBpcGVsaW5lU3RhdGVNZXRhbC5tbToKKyAgICAgICAgKFdlYkNv
cmU6OkdQVVJlbmRlclBpcGVsaW5lU3RhdGU6OnNldExhYmVsIGNvbnN0KToKKyAgICAgICAgKiBw
bGF0Zm9ybS9ncmFwaGljcy9tZXRhbC9HUFVUZXh0dXJlRGVzY3JpcHRvck1ldGFsLm1tOgorICAg
ICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL21ldGFsL0dQVVRleHR1cmVNZXRhbC5tbToKKyAgICAg
ICAgKFdlYkNvcmU6OkdQVVRleHR1cmU6OkdQVVRleHR1cmUpOgorICAgICAgICAqIHRlc3Rpbmcv
SW50ZXJuYWxTZXR0aW5ncy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpJbnRlcm5hbFNldHRpbmdz
OjpCYWNrdXA6OkJhY2t1cCk6CisgICAgICAgIChXZWJDb3JlOjpJbnRlcm5hbFNldHRpbmdzOjpC
YWNrdXA6OnJlc3RvcmVUbyk6CisgICAgICAgIChXZWJDb3JlOjpJbnRlcm5hbFNldHRpbmdzOjpz
ZXRXZWJNZXRhbEVuYWJsZWQpOgorICAgICAgICAoV2ViQ29yZTo6SW50ZXJuYWxTZXR0aW5nczo6
c2V0V2ViR1BVRW5hYmxlZCk6IERlbGV0ZWQuCisgICAgICAgICogdGVzdGluZy9JbnRlcm5hbFNl
dHRpbmdzLmg6CisgICAgICAgICogdGVzdGluZy9JbnRlcm5hbFNldHRpbmdzLmlkbDoKKworICAg
ICAgICAqIENvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnOgorICAgICAgICAq
IERlcml2ZWRTb3VyY2VzLm1ha2U6CisgICAgICAgICogU291cmNlcy50eHQ6CisgICAgICAgICog
U291cmNlc0NvY29hLnR4dDoKKyAgICAgICAgKiBXZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBi
eHByb2o6CisgICAgICAgICogYmluZGluZ3MvanMvSlNXZWJNZXRhbFJlbmRlclBhc3NBdHRhY2ht
ZW50RGVzY3JpcHRvckN1c3RvbS5jcHA6IFJlbmFtZWQgZnJvbSBTb3VyY2UvV2ViQ29yZS9iaW5k
aW5ncy9qcy9KU1dlYkdQVVJlbmRlclBhc3NBdHRhY2htZW50RGVzY3JpcHRvckN1c3RvbS5jcHAu
CisgICAgICAgIChXZWJDb3JlOjp0b0pTTmV3bHlDcmVhdGVkKToKKyAgICAgICAgKFdlYkNvcmU6
OnRvSlMpOgorICAgICAgICAqIGJpbmRpbmdzL2pzL0pTV2ViTWV0YWxSZW5kZXJpbmdDb250ZXh0
Q3VzdG9tLmNwcDogUmVuYW1lZCBmcm9tIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTV2Vi
R1BVUmVuZGVyaW5nQ29udGV4dEN1c3RvbS5jcHAuCisgICAgICAgIChXZWJDb3JlOjpKU1dlYk1l
dGFsUmVuZGVyaW5nQ29udGV4dDo6dmlzaXRBZGRpdGlvbmFsQ2hpbGRyZW4pOgorICAgICAgICAq
IGJpbmRpbmdzL2pzL1dlYkNvcmVCdWlsdGluTmFtZXMuaDoKKyAgICAgICAgKiBkb20vRG9jdW1l
bnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RG9jdW1lbnQ6OmdldENTU0NhbnZhc0NvbnRleHQp
OgorICAgICAgICAqIGRvbS9Eb2N1bWVudC5oOgorICAgICAgICAqIGRvbS9Eb2N1bWVudC5pZGw6
CisgICAgICAgICogaHRtbC9IVE1MQ2FudmFzRWxlbWVudC5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpIVE1MQ2FudmFzRWxlbWVudDo6Z2V0Q29udGV4dCk6CisgICAgICAgIChXZWJDb3JlOjpIVE1M
Q2FudmFzRWxlbWVudDo6aXNXZWJNZXRhbFR5cGUpOgorICAgICAgICAoV2ViQ29yZTo6SFRNTENh
bnZhc0VsZW1lbnQ6OmNyZWF0ZUNvbnRleHRXZWJNZXRhbCk6CisgICAgICAgIChXZWJDb3JlOjpI
VE1MQ2FudmFzRWxlbWVudDo6Z2V0Q29udGV4dFdlYk1ldGFsKToKKyAgICAgICAgKFdlYkNvcmU6
OkhUTUxDYW52YXNFbGVtZW50Ojppc1dlYkdQVVR5cGUpOiBEZWxldGVkLgorICAgICAgICAoV2Vi
Q29yZTo6SFRNTENhbnZhc0VsZW1lbnQ6OmNyZWF0ZUNvbnRleHRXZWJHUFUpOiBEZWxldGVkLgor
ICAgICAgICAoV2ViQ29yZTo6SFRNTENhbnZhc0VsZW1lbnQ6OmdldENvbnRleHRXZWJHUFUpOiBE
ZWxldGVkLgorICAgICAgICAqIGh0bWwvSFRNTENhbnZhc0VsZW1lbnQuaDoKKyAgICAgICAgKiBo
dG1sL0hUTUxDYW52YXNFbGVtZW50LmlkbDoKKyAgICAgICAgKiBodG1sL2NhbnZhcy9DYW52YXNS
ZW5kZXJpbmdDb250ZXh0Lmg6CisgICAgICAgIChXZWJDb3JlOjpDYW52YXNSZW5kZXJpbmdDb250
ZXh0Ojppc1dlYk1ldGFsIGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OkNhbnZhc1JlbmRlcmlu
Z0NvbnRleHQ6OmlzV2ViR1BVIGNvbnN0KTogRGVsZXRlZC4KKyAgICAgICAgKiBodG1sL2NhbnZh
cy9XZWJHUFVSZW5kZXJpbmdDb250ZXh0LmNwcDogUmVtb3ZlZC4KKyAgICAgICAgKiBodG1sL2Nh
bnZhcy9XZWJNZXRhbEJ1ZmZlci5jcHA6IFJlbmFtZWQgZnJvbSBTb3VyY2UvV2ViQ29yZS9odG1s
L2NhbnZhcy9XZWJHUFVCdWZmZXIuY3BwLgorICAgICAgICAoV2ViQ29yZTo6V2ViTWV0YWxCdWZm
ZXI6OmNyZWF0ZSk6CisgICAgICAgIChXZWJDb3JlOjpXZWJNZXRhbEJ1ZmZlcjo6V2ViTWV0YWxC
dWZmZXIpOgorICAgICAgICAqIGh0bWwvY2FudmFzL1dlYk1ldGFsQnVmZmVyLmg6IFJlbmFtZWQg
ZnJvbSBTb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHUFVCdWZmZXIuaC4KKyAgICAgICAg
KiBodG1sL2NhbnZhcy9XZWJNZXRhbEJ1ZmZlci5pZGw6IFJlbmFtZWQgZnJvbSBTb3VyY2UvV2Vi
Q29yZS9odG1sL2NhbnZhcy9XZWJHUFVCdWZmZXIuaWRsLgorICAgICAgICAqIGh0bWwvY2FudmFz
L1dlYk1ldGFsQ29tbWFuZEJ1ZmZlci5jcHA6IFJlbmFtZWQgZnJvbSBTb3VyY2UvV2ViQ29yZS9o
dG1sL2NhbnZhcy9XZWJHUFVDb21tYW5kQnVmZmVyLmNwcC4KKyAgICAgICAgKFdlYkNvcmU6Oldl
Yk1ldGFsQ29tbWFuZEJ1ZmZlcjo6Y3JlYXRlKToKKyAgICAgICAgKFdlYkNvcmU6OldlYk1ldGFs
Q29tbWFuZEJ1ZmZlcjo6V2ViTWV0YWxDb21tYW5kQnVmZmVyKToKKyAgICAgICAgKFdlYkNvcmU6
OldlYk1ldGFsQ29tbWFuZEJ1ZmZlcjo6fldlYk1ldGFsQ29tbWFuZEJ1ZmZlcik6CisgICAgICAg
IChXZWJDb3JlOjpXZWJNZXRhbENvbW1hbmRCdWZmZXI6OmNvbW1pdCk6CisgICAgICAgIChXZWJD
b3JlOjpXZWJNZXRhbENvbW1hbmRCdWZmZXI6OnByZXNlbnREcmF3YWJsZSk6CisgICAgICAgIChX
ZWJDb3JlOjpXZWJNZXRhbENvbW1hbmRCdWZmZXI6OmNyZWF0ZVJlbmRlckNvbW1hbmRFbmNvZGVy
V2l0aERlc2NyaXB0b3IpOgorICAgICAgICAoV2ViQ29yZTo6V2ViTWV0YWxDb21tYW5kQnVmZmVy
OjpjcmVhdGVDb21wdXRlQ29tbWFuZEVuY29kZXIpOgorICAgICAgICAoV2ViQ29yZTo6V2ViTWV0
YWxDb21tYW5kQnVmZmVyOjpjb21wbGV0ZWQpOgorICAgICAgICAqIGh0bWwvY2FudmFzL1dlYk1l
dGFsQ29tbWFuZEJ1ZmZlci5oOiBSZW5hbWVkIGZyb20gU291cmNlL1dlYkNvcmUvaHRtbC9jYW52
YXMvV2ViR1BVQ29tbWFuZEJ1ZmZlci5oLgorICAgICAgICAqIGh0bWwvY2FudmFzL1dlYk1ldGFs
Q29tbWFuZEJ1ZmZlci5pZGw6IFJlbmFtZWQgZnJvbSBTb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZh
cy9XZWJHUFVDb21tYW5kQnVmZmVyLmlkbC4KKyAgICAgICAgKiBodG1sL2NhbnZhcy9XZWJNZXRh
bENvbW1hbmRRdWV1ZS5jcHA6IFJlbmFtZWQgZnJvbSBTb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZh
cy9XZWJHUFVDb21tYW5kUXVldWUuY3BwLgorICAgICAgICAoV2ViQ29yZTo6V2ViTWV0YWxDb21t
YW5kUXVldWU6OmNyZWF0ZSk6CisgICAgICAgIChXZWJDb3JlOjpXZWJNZXRhbENvbW1hbmRRdWV1
ZTo6V2ViTWV0YWxDb21tYW5kUXVldWUpOgorICAgICAgICAoV2ViQ29yZTo6V2ViTWV0YWxDb21t
YW5kUXVldWU6OmNyZWF0ZUNvbW1hbmRCdWZmZXIpOgorICAgICAgICAqIGh0bWwvY2FudmFzL1dl
Yk1ldGFsQ29tbWFuZFF1ZXVlLmg6IFJlbmFtZWQgZnJvbSBTb3VyY2UvV2ViQ29yZS9odG1sL2Nh
bnZhcy9XZWJHUFVDb21tYW5kUXVldWUuaC4KKyAgICAgICAgKiBodG1sL2NhbnZhcy9XZWJNZXRh
bENvbW1hbmRRdWV1ZS5pZGw6IFJlbmFtZWQgZnJvbSBTb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZh
cy9XZWJHUFVDb21tYW5kUXVldWUuaWRsLgorICAgICAgICAqIGh0bWwvY2FudmFzL1dlYk1ldGFs
Q29tcHV0ZUNvbW1hbmRFbmNvZGVyLmNwcDogUmVuYW1lZCBmcm9tIFNvdXJjZS9XZWJDb3JlL2h0
bWwvY2FudmFzL1dlYkdQVUNvbXB1dGVDb21tYW5kRW5jb2Rlci5jcHAuCisgICAgICAgIChXZWJD
b3JlOjpHUFVTaXplTWFrZSk6CisgICAgICAgIChXZWJDb3JlOjpXZWJNZXRhbENvbXB1dGVDb21t
YW5kRW5jb2Rlcjo6Y3JlYXRlKToKKyAgICAgICAgKFdlYkNvcmU6OldlYk1ldGFsQ29tcHV0ZUNv
bW1hbmRFbmNvZGVyOjpXZWJNZXRhbENvbXB1dGVDb21tYW5kRW5jb2Rlcik6CisgICAgICAgIChX
ZWJDb3JlOjpXZWJNZXRhbENvbXB1dGVDb21tYW5kRW5jb2Rlcjo6c2V0Q29tcHV0ZVBpcGVsaW5l
U3RhdGUpOgorICAgICAgICAoV2ViQ29yZTo6V2ViTWV0YWxDb21wdXRlQ29tbWFuZEVuY29kZXI6
OnNldEJ1ZmZlcik6CisgICAgICAgIChXZWJDb3JlOjpXZWJNZXRhbENvbXB1dGVDb21tYW5kRW5j
b2Rlcjo6ZGlzcGF0Y2gpOgorICAgICAgICAoV2ViQ29yZTo6V2ViTWV0YWxDb21wdXRlQ29tbWFu
ZEVuY29kZXI6OmVuZEVuY29kaW5nKToKKyAgICAgICAgKiBodG1sL2NhbnZhcy9XZWJNZXRhbENv
bXB1dGVDb21tYW5kRW5jb2Rlci5oOiBSZW5hbWVkIGZyb20gU291cmNlL1dlYkNvcmUvaHRtbC9j
YW52YXMvV2ViR1BVQ29tcHV0ZUNvbW1hbmRFbmNvZGVyLmguCisgICAgICAgICogaHRtbC9jYW52
YXMvV2ViTWV0YWxDb21wdXRlQ29tbWFuZEVuY29kZXIuaWRsOiBSZW5hbWVkIGZyb20gU291cmNl
L1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR1BVQ29tcHV0ZUNvbW1hbmRFbmNvZGVyLmlkbC4KKyAg
ICAgICAgKiBodG1sL2NhbnZhcy9XZWJNZXRhbENvbXB1dGVQaXBlbGluZVN0YXRlLmNwcDogUmVu
YW1lZCBmcm9tIFNvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdQVUNvbXB1dGVQaXBlbGlu
ZVN0YXRlLmNwcC4KKyAgICAgICAgKFdlYkNvcmU6OldlYk1ldGFsQ29tcHV0ZVBpcGVsaW5lU3Rh
dGU6OmNyZWF0ZSk6CisgICAgICAgIChXZWJDb3JlOjpXZWJNZXRhbENvbXB1dGVQaXBlbGluZVN0
YXRlOjpXZWJNZXRhbENvbXB1dGVQaXBlbGluZVN0YXRlKToKKyAgICAgICAgKiBodG1sL2NhbnZh
cy9XZWJNZXRhbENvbXB1dGVQaXBlbGluZVN0YXRlLmg6IFJlbmFtZWQgZnJvbSBTb3VyY2UvV2Vi
Q29yZS9odG1sL2NhbnZhcy9XZWJHUFVDb21wdXRlUGlwZWxpbmVTdGF0ZS5oLgorICAgICAgICAq
IGh0bWwvY2FudmFzL1dlYk1ldGFsQ29tcHV0ZVBpcGVsaW5lU3RhdGUuaWRsOiBSZW5hbWVkIGZy
b20gU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR1BVQ29tcHV0ZVBpcGVsaW5lU3RhdGUu
aWRsLgorICAgICAgICAqIGh0bWwvY2FudmFzL1dlYk1ldGFsRGVwdGhTdGVuY2lsRGVzY3JpcHRv
ci5jcHA6IFJlbmFtZWQgZnJvbSBTb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHUFVEZXB0
aFN0ZW5jaWxEZXNjcmlwdG9yLmNwcC4KKyAgICAgICAgKFdlYkNvcmU6OldlYk1ldGFsRGVwdGhT
dGVuY2lsRGVzY3JpcHRvcjo6Y3JlYXRlKToKKyAgICAgICAgKFdlYkNvcmU6OldlYk1ldGFsRGVw
dGhTdGVuY2lsRGVzY3JpcHRvcjo6ZGVwdGhXcml0ZUVuYWJsZWQgY29uc3QpOgorICAgICAgICAo
V2ViQ29yZTo6V2ViTWV0YWxEZXB0aFN0ZW5jaWxEZXNjcmlwdG9yOjpzZXREZXB0aFdyaXRlRW5h
YmxlZCk6CisgICAgICAgIChXZWJDb3JlOjpXZWJNZXRhbERlcHRoU3RlbmNpbERlc2NyaXB0b3I6
OmRlcHRoQ29tcGFyZUZ1bmN0aW9uIGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OldlYk1ldGFs
RGVwdGhTdGVuY2lsRGVzY3JpcHRvcjo6c2V0RGVwdGhDb21wYXJlRnVuY3Rpb24pOgorICAgICAg
ICAqIGh0bWwvY2FudmFzL1dlYk1ldGFsRGVwdGhTdGVuY2lsRGVzY3JpcHRvci5oOiBSZW5hbWVk
IGZyb20gU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR1BVRGVwdGhTdGVuY2lsRGVzY3Jp
cHRvci5oLgorICAgICAgICAqIGh0bWwvY2FudmFzL1dlYk1ldGFsRGVwdGhTdGVuY2lsRGVzY3Jp
cHRvci5pZGw6IFJlbmFtZWQgZnJvbSBTb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHUFVE
ZXB0aFN0ZW5jaWxEZXNjcmlwdG9yLmlkbC4KKyAgICAgICAgKiBodG1sL2NhbnZhcy9XZWJNZXRh
bERlcHRoU3RlbmNpbFN0YXRlLmNwcDogUmVuYW1lZCBmcm9tIFNvdXJjZS9XZWJDb3JlL2h0bWwv
Y2FudmFzL1dlYkdQVURlcHRoU3RlbmNpbFN0YXRlLmNwcC4KKyAgICAgICAgKFdlYkNvcmU6Oldl
Yk1ldGFsRGVwdGhTdGVuY2lsU3RhdGU6OmNyZWF0ZSk6CisgICAgICAgIChXZWJDb3JlOjpXZWJN
ZXRhbERlcHRoU3RlbmNpbFN0YXRlOjpXZWJNZXRhbERlcHRoU3RlbmNpbFN0YXRlKToKKyAgICAg
ICAgKFdlYkNvcmU6OldlYk1ldGFsRGVwdGhTdGVuY2lsU3RhdGU6OmxhYmVsIGNvbnN0KToKKyAg
ICAgICAgKFdlYkNvcmU6OldlYk1ldGFsRGVwdGhTdGVuY2lsU3RhdGU6OnNldExhYmVsKToKKyAg
ICAgICAgKiBodG1sL2NhbnZhcy9XZWJNZXRhbERlcHRoU3RlbmNpbFN0YXRlLmg6IFJlbmFtZWQg
ZnJvbSBTb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHUFVEZXB0aFN0ZW5jaWxTdGF0ZS5o
LgorICAgICAgICAqIGh0bWwvY2FudmFzL1dlYk1ldGFsRGVwdGhTdGVuY2lsU3RhdGUuaWRsOiBS
ZW5hbWVkIGZyb20gU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR1BVUmVuZGVyUGlwZWxp
bmVTdGF0ZS5pZGwuCisgICAgICAgICogaHRtbC9jYW52YXMvV2ViTWV0YWxEcmF3YWJsZS5jcHA6
IFJlbmFtZWQgZnJvbSBTb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHUFVEcmF3YWJsZS5j
cHAuCisgICAgICAgIChXZWJDb3JlOjpXZWJNZXRhbERyYXdhYmxlOjpjcmVhdGUpOgorICAgICAg
ICAoV2ViQ29yZTo6V2ViTWV0YWxEcmF3YWJsZTo6V2ViTWV0YWxEcmF3YWJsZSk6CisgICAgICAg
ICogaHRtbC9jYW52YXMvV2ViTWV0YWxEcmF3YWJsZS5oOiBSZW5hbWVkIGZyb20gU291cmNlL1dl
YkNvcmUvaHRtbC9jYW52YXMvV2ViR1BVRHJhd2FibGUuaC4KKyAgICAgICAgKFdlYkNvcmU6Oldl
Yk1ldGFsRHJhd2FibGU6OnRleHR1cmUpOgorICAgICAgICAqIGh0bWwvY2FudmFzL1dlYk1ldGFs
RHJhd2FibGUuaWRsOiBSZW5hbWVkIGZyb20gU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2Vi
R1BVRHJhd2FibGUuaWRsLgorICAgICAgICAqIGh0bWwvY2FudmFzL1dlYk1ldGFsRW51bXMuY3Bw
OiBSZW5hbWVkIGZyb20gU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR1BVRW51bXMuY3Bw
LgorICAgICAgICAoV2ViQ29yZTo6dG9XZWJNZXRhbENvbXBhcmVGdW5jdGlvbik6CisgICAgICAg
IChXZWJDb3JlOjp3ZWIzRENvbXBhcmVGdW5jdGlvbk5hbWUpOgorICAgICAgICAoV2ViQ29yZTo6
dG9HUFVDb21wYXJlRnVuY3Rpb24pOgorICAgICAgICAqIGh0bWwvY2FudmFzL1dlYk1ldGFsRW51
bXMuaDogUmVuYW1lZCBmcm9tIFNvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdQVUVudW1z
LmguCisgICAgICAgICogaHRtbC9jYW52YXMvV2ViTWV0YWxFbnVtcy5pZGw6IFJlbmFtZWQgZnJv
bSBTb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHUFVFbnVtcy5pZGwuCisgICAgICAgICog
aHRtbC9jYW52YXMvV2ViTWV0YWxGdW5jdGlvbi5jcHA6IFJlbmFtZWQgZnJvbSBTb3VyY2UvV2Vi
Q29yZS9odG1sL2NhbnZhcy9XZWJHUFVGdW5jdGlvbi5jcHAuCisgICAgICAgIChXZWJDb3JlOjpX
ZWJNZXRhbEZ1bmN0aW9uOjpjcmVhdGUpOgorICAgICAgICAoV2ViQ29yZTo6V2ViTWV0YWxGdW5j
dGlvbjo6V2ViTWV0YWxGdW5jdGlvbik6CisgICAgICAgICogaHRtbC9jYW52YXMvV2ViTWV0YWxG
dW5jdGlvbi5oOiBSZW5hbWVkIGZyb20gU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR1BV
RnVuY3Rpb24uaC4KKyAgICAgICAgKiBodG1sL2NhbnZhcy9XZWJNZXRhbEZ1bmN0aW9uLmlkbDog
UmVuYW1lZCBmcm9tIFNvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdQVUZ1bmN0aW9uLmlk
bC4KKyAgICAgICAgKiBodG1sL2NhbnZhcy9XZWJNZXRhbExpYnJhcnkuY3BwOiBSZW5hbWVkIGZy
b20gU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR1BVTGlicmFyeS5jcHAuCisgICAgICAg
IChXZWJDb3JlOjpXZWJNZXRhbExpYnJhcnk6OmNyZWF0ZSk6CisgICAgICAgIChXZWJDb3JlOjpX
ZWJNZXRhbExpYnJhcnk6OldlYk1ldGFsTGlicmFyeSk6CisgICAgICAgIChXZWJDb3JlOjpXZWJN
ZXRhbExpYnJhcnk6OmZ1bmN0aW9uTmFtZXMgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6V2Vi
TWV0YWxMaWJyYXJ5OjpmdW5jdGlvbldpdGhOYW1lIGNvbnN0KToKKyAgICAgICAgKiBodG1sL2Nh
bnZhcy9XZWJNZXRhbExpYnJhcnkuaDogUmVuYW1lZCBmcm9tIFNvdXJjZS9XZWJDb3JlL2h0bWwv
Y2FudmFzL1dlYkdQVUxpYnJhcnkuaC4KKyAgICAgICAgKiBodG1sL2NhbnZhcy9XZWJNZXRhbExp
YnJhcnkuaWRsOiBSZW5hbWVkIGZyb20gU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR1BV
TGlicmFyeS5pZGwuCisgICAgICAgICogaHRtbC9jYW52YXMvV2ViTWV0YWxSZW5kZXJDb21tYW5k
RW5jb2Rlci5jcHA6IFJlbmFtZWQgZnJvbSBTb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJH
UFVSZW5kZXJDb21tYW5kRW5jb2Rlci5jcHAuCisgICAgICAgIChXZWJDb3JlOjpXZWJNZXRhbFJl
bmRlckNvbW1hbmRFbmNvZGVyOjpjcmVhdGUpOgorICAgICAgICAoV2ViQ29yZTo6V2ViTWV0YWxS
ZW5kZXJDb21tYW5kRW5jb2Rlcjo6V2ViTWV0YWxSZW5kZXJDb21tYW5kRW5jb2Rlcik6CisgICAg
ICAgIChXZWJDb3JlOjpXZWJNZXRhbFJlbmRlckNvbW1hbmRFbmNvZGVyOjpzZXRSZW5kZXJQaXBl
bGluZVN0YXRlKToKKyAgICAgICAgKFdlYkNvcmU6OldlYk1ldGFsUmVuZGVyQ29tbWFuZEVuY29k
ZXI6OnNldERlcHRoU3RlbmNpbFN0YXRlKToKKyAgICAgICAgKFdlYkNvcmU6OldlYk1ldGFsUmVu
ZGVyQ29tbWFuZEVuY29kZXI6OnNldFZlcnRleEJ1ZmZlcik6CisgICAgICAgIChXZWJDb3JlOjpX
ZWJNZXRhbFJlbmRlckNvbW1hbmRFbmNvZGVyOjpzZXRGcmFnbWVudEJ1ZmZlcik6CisgICAgICAg
IChXZWJDb3JlOjpXZWJNZXRhbFJlbmRlckNvbW1hbmRFbmNvZGVyOjpkcmF3UHJpbWl0aXZlcyk6
CisgICAgICAgIChXZWJDb3JlOjpXZWJNZXRhbFJlbmRlckNvbW1hbmRFbmNvZGVyOjplbmRFbmNv
ZGluZyk6CisgICAgICAgICogaHRtbC9jYW52YXMvV2ViTWV0YWxSZW5kZXJDb21tYW5kRW5jb2Rl
ci5oOiBSZW5hbWVkIGZyb20gU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR1BVUmVuZGVy
Q29tbWFuZEVuY29kZXIuaC4KKyAgICAgICAgKiBodG1sL2NhbnZhcy9XZWJNZXRhbFJlbmRlckNv
bW1hbmRFbmNvZGVyLmlkbDogUmVuYW1lZCBmcm9tIFNvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFz
L1dlYkdQVVJlbmRlckNvbW1hbmRFbmNvZGVyLmlkbC4KKyAgICAgICAgKiBodG1sL2NhbnZhcy9X
ZWJNZXRhbFJlbmRlclBhc3NBdHRhY2htZW50RGVzY3JpcHRvci5jcHA6IFJlbmFtZWQgZnJvbSBT
b3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHUFVSZW5kZXJQYXNzQXR0YWNobWVudERlc2Ny
aXB0b3IuY3BwLgorICAgICAgICAoV2ViQ29yZTo6V2ViTWV0YWxSZW5kZXJQYXNzQXR0YWNobWVu
dERlc2NyaXB0b3I6OldlYk1ldGFsUmVuZGVyUGFzc0F0dGFjaG1lbnREZXNjcmlwdG9yKToKKyAg
ICAgICAgKFdlYkNvcmU6OldlYk1ldGFsUmVuZGVyUGFzc0F0dGFjaG1lbnREZXNjcmlwdG9yOjps
b2FkQWN0aW9uIGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OldlYk1ldGFsUmVuZGVyUGFzc0F0
dGFjaG1lbnREZXNjcmlwdG9yOjpzZXRMb2FkQWN0aW9uKToKKyAgICAgICAgKFdlYkNvcmU6Oldl
Yk1ldGFsUmVuZGVyUGFzc0F0dGFjaG1lbnREZXNjcmlwdG9yOjpzdG9yZUFjdGlvbiBjb25zdCk6
CisgICAgICAgIChXZWJDb3JlOjpXZWJNZXRhbFJlbmRlclBhc3NBdHRhY2htZW50RGVzY3JpcHRv
cjo6c2V0U3RvcmVBY3Rpb24pOgorICAgICAgICAoV2ViQ29yZTo6V2ViTWV0YWxSZW5kZXJQYXNz
QXR0YWNobWVudERlc2NyaXB0b3I6OnRleHR1cmUgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6
V2ViTWV0YWxSZW5kZXJQYXNzQXR0YWNobWVudERlc2NyaXB0b3I6OnNldFRleHR1cmUpOgorICAg
ICAgICAqIGh0bWwvY2FudmFzL1dlYk1ldGFsUmVuZGVyUGFzc0F0dGFjaG1lbnREZXNjcmlwdG9y
Lmg6IFJlbmFtZWQgZnJvbSBTb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHUFVSZW5kZXJQ
YXNzQXR0YWNobWVudERlc2NyaXB0b3IuaC4KKyAgICAgICAgKiBodG1sL2NhbnZhcy9XZWJNZXRh
bFJlbmRlclBhc3NBdHRhY2htZW50RGVzY3JpcHRvci5pZGw6IFJlbmFtZWQgZnJvbSBTb3VyY2Uv
V2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHUFVSZW5kZXJQYXNzQXR0YWNobWVudERlc2NyaXB0b3Iu
aWRsLgorICAgICAgICAqIGh0bWwvY2FudmFzL1dlYk1ldGFsUmVuZGVyUGFzc0NvbG9yQXR0YWNo
bWVudERlc2NyaXB0b3IuY3BwOiBSZW5hbWVkIGZyb20gU291cmNlL1dlYkNvcmUvaHRtbC9jYW52
YXMvV2ViR1BVUmVuZGVyUGFzc0NvbG9yQXR0YWNobWVudERlc2NyaXB0b3IuY3BwLgorICAgICAg
ICAoV2ViQ29yZTo6V2ViTWV0YWxSZW5kZXJQYXNzQ29sb3JBdHRhY2htZW50RGVzY3JpcHRvcjo6
Y3JlYXRlKToKKyAgICAgICAgKFdlYkNvcmU6OldlYk1ldGFsUmVuZGVyUGFzc0NvbG9yQXR0YWNo
bWVudERlc2NyaXB0b3I6OldlYk1ldGFsUmVuZGVyUGFzc0NvbG9yQXR0YWNobWVudERlc2NyaXB0
b3IpOgorICAgICAgICAoV2ViQ29yZTo6V2ViTWV0YWxSZW5kZXJQYXNzQ29sb3JBdHRhY2htZW50
RGVzY3JpcHRvcjo6ZGVzY3JpcHRvciBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpXZWJNZXRh
bFJlbmRlclBhc3NDb2xvckF0dGFjaG1lbnREZXNjcmlwdG9yOjpjbGVhckNvbG9yIGNvbnN0KToK
KyAgICAgICAgKFdlYkNvcmU6OldlYk1ldGFsUmVuZGVyUGFzc0NvbG9yQXR0YWNobWVudERlc2Ny
aXB0b3I6OnNldENsZWFyQ29sb3IpOgorICAgICAgICAqIGh0bWwvY2FudmFzL1dlYk1ldGFsUmVu
ZGVyUGFzc0NvbG9yQXR0YWNobWVudERlc2NyaXB0b3IuaDogUmVuYW1lZCBmcm9tIFNvdXJjZS9X
ZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdQVVJlbmRlclBhc3NDb2xvckF0dGFjaG1lbnREZXNjcmlw
dG9yLmguCisgICAgICAgICogaHRtbC9jYW52YXMvV2ViTWV0YWxSZW5kZXJQYXNzQ29sb3JBdHRh
Y2htZW50RGVzY3JpcHRvci5pZGw6IFJlbmFtZWQgZnJvbSBTb3VyY2UvV2ViQ29yZS9odG1sL2Nh
bnZhcy9XZWJHUFVSZW5kZXJQYXNzQ29sb3JBdHRhY2htZW50RGVzY3JpcHRvci5pZGwuCisgICAg
ICAgICogaHRtbC9jYW52YXMvV2ViTWV0YWxSZW5kZXJQYXNzRGVwdGhBdHRhY2htZW50RGVzY3Jp
cHRvci5jcHA6IFJlbmFtZWQgZnJvbSBTb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHUFVS
ZW5kZXJQYXNzRGVwdGhBdHRhY2htZW50RGVzY3JpcHRvci5jcHAuCisgICAgICAgIChXZWJDb3Jl
OjpXZWJNZXRhbFJlbmRlclBhc3NEZXB0aEF0dGFjaG1lbnREZXNjcmlwdG9yOjpjcmVhdGUpOgor
ICAgICAgICAoV2ViQ29yZTo6V2ViTWV0YWxSZW5kZXJQYXNzRGVwdGhBdHRhY2htZW50RGVzY3Jp
cHRvcjo6V2ViTWV0YWxSZW5kZXJQYXNzRGVwdGhBdHRhY2htZW50RGVzY3JpcHRvcik6CisgICAg
ICAgIChXZWJDb3JlOjpXZWJNZXRhbFJlbmRlclBhc3NEZXB0aEF0dGFjaG1lbnREZXNjcmlwdG9y
OjpjbGVhckRlcHRoIGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OldlYk1ldGFsUmVuZGVyUGFz
c0RlcHRoQXR0YWNobWVudERlc2NyaXB0b3I6OnNldENsZWFyRGVwdGgpOgorICAgICAgICAoV2Vi
Q29yZTo6V2ViTWV0YWxSZW5kZXJQYXNzRGVwdGhBdHRhY2htZW50RGVzY3JpcHRvcjo6ZGVzY3Jp
cHRvciBjb25zdCk6CisgICAgICAgICogaHRtbC9jYW52YXMvV2ViTWV0YWxSZW5kZXJQYXNzRGVw
dGhBdHRhY2htZW50RGVzY3JpcHRvci5oOiBSZW5hbWVkIGZyb20gU291cmNlL1dlYkNvcmUvaHRt
bC9jYW52YXMvV2ViR1BVUmVuZGVyUGFzc0RlcHRoQXR0YWNobWVudERlc2NyaXB0b3IuaC4KKyAg
ICAgICAgKiBodG1sL2NhbnZhcy9XZWJNZXRhbFJlbmRlclBhc3NEZXB0aEF0dGFjaG1lbnREZXNj
cmlwdG9yLmlkbDogUmVuYW1lZCBmcm9tIFNvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdQ
VVJlbmRlclBhc3NEZXB0aEF0dGFjaG1lbnREZXNjcmlwdG9yLmlkbC4KKyAgICAgICAgKiBodG1s
L2NhbnZhcy9XZWJNZXRhbFJlbmRlclBhc3NEZXNjcmlwdG9yLmNwcDogUmVuYW1lZCBmcm9tIFNv
dXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdQVVJlbmRlclBhc3NEZXNjcmlwdG9yLmNwcC4K
KyAgICAgICAgKFdlYkNvcmU6OldlYk1ldGFsUmVuZGVyUGFzc0Rlc2NyaXB0b3I6OmNyZWF0ZSk6
CisgICAgICAgIChXZWJDb3JlOjpXZWJNZXRhbFJlbmRlclBhc3NEZXNjcmlwdG9yOjpkZXB0aEF0
dGFjaG1lbnQpOgorICAgICAgICAoV2ViQ29yZTo6V2ViTWV0YWxSZW5kZXJQYXNzRGVzY3JpcHRv
cjo6Y29sb3JBdHRhY2htZW50cyk6CisgICAgICAgICogaHRtbC9jYW52YXMvV2ViTWV0YWxSZW5k
ZXJQYXNzRGVzY3JpcHRvci5oOiBSZW5hbWVkIGZyb20gU291cmNlL1dlYkNvcmUvaHRtbC9jYW52
YXMvV2ViR1BVUmVuZGVyUGFzc0Rlc2NyaXB0b3IuaC4KKyAgICAgICAgKiBodG1sL2NhbnZhcy9X
ZWJNZXRhbFJlbmRlclBhc3NEZXNjcmlwdG9yLmlkbDogUmVuYW1lZCBmcm9tIFNvdXJjZS9XZWJD
b3JlL2h0bWwvY2FudmFzL1dlYkdQVVJlbmRlclBhc3NEZXNjcmlwdG9yLmlkbC4KKyAgICAgICAg
KiBodG1sL2NhbnZhcy9XZWJNZXRhbFJlbmRlclBpcGVsaW5lQ29sb3JBdHRhY2htZW50RGVzY3Jp
cHRvci5jcHA6IFJlbmFtZWQgZnJvbSBTb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHUFVS
ZW5kZXJQaXBlbGluZUNvbG9yQXR0YWNobWVudERlc2NyaXB0b3IuY3BwLgorICAgICAgICAoV2Vi
Q29yZTo6V2ViTWV0YWxSZW5kZXJQaXBlbGluZUNvbG9yQXR0YWNobWVudERlc2NyaXB0b3I6OmNy
ZWF0ZSk6CisgICAgICAgIChXZWJDb3JlOjpXZWJNZXRhbFJlbmRlclBpcGVsaW5lQ29sb3JBdHRh
Y2htZW50RGVzY3JpcHRvcjo6V2ViTWV0YWxSZW5kZXJQaXBlbGluZUNvbG9yQXR0YWNobWVudERl
c2NyaXB0b3IpOgorICAgICAgICAoV2ViQ29yZTo6V2ViTWV0YWxSZW5kZXJQaXBlbGluZUNvbG9y
QXR0YWNobWVudERlc2NyaXB0b3I6OnBpeGVsRm9ybWF0IGNvbnN0KToKKyAgICAgICAgKFdlYkNv
cmU6OldlYk1ldGFsUmVuZGVyUGlwZWxpbmVDb2xvckF0dGFjaG1lbnREZXNjcmlwdG9yOjpzZXRQ
aXhlbEZvcm1hdCk6CisgICAgICAgICogaHRtbC9jYW52YXMvV2ViTWV0YWxSZW5kZXJQaXBlbGlu
ZUNvbG9yQXR0YWNobWVudERlc2NyaXB0b3IuaDogUmVuYW1lZCBmcm9tIFNvdXJjZS9XZWJDb3Jl
L2h0bWwvY2FudmFzL1dlYkdQVVJlbmRlclBpcGVsaW5lQ29sb3JBdHRhY2htZW50RGVzY3JpcHRv
ci5oLgorICAgICAgICAqIGh0bWwvY2FudmFzL1dlYk1ldGFsUmVuZGVyUGlwZWxpbmVDb2xvckF0
dGFjaG1lbnREZXNjcmlwdG9yLmlkbDogUmVuYW1lZCBmcm9tIFNvdXJjZS9XZWJDb3JlL2h0bWwv
Y2FudmFzL1dlYkdQVVJlbmRlclBpcGVsaW5lQ29sb3JBdHRhY2htZW50RGVzY3JpcHRvci5pZGwu
CisgICAgICAgICogaHRtbC9jYW52YXMvV2ViTWV0YWxSZW5kZXJQaXBlbGluZURlc2NyaXB0b3Iu
Y3BwOiBSZW5hbWVkIGZyb20gU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR1BVUmVuZGVy
UGlwZWxpbmVEZXNjcmlwdG9yLmNwcC4KKyAgICAgICAgKFdlYkNvcmU6OldlYk1ldGFsUmVuZGVy
UGlwZWxpbmVEZXNjcmlwdG9yOjpjcmVhdGUpOgorICAgICAgICAoV2ViQ29yZTo6V2ViTWV0YWxS
ZW5kZXJQaXBlbGluZURlc2NyaXB0b3I6OnZlcnRleEZ1bmN0aW9uIGNvbnN0KToKKyAgICAgICAg
KFdlYkNvcmU6OldlYk1ldGFsUmVuZGVyUGlwZWxpbmVEZXNjcmlwdG9yOjpzZXRWZXJ0ZXhGdW5j
dGlvbik6CisgICAgICAgIChXZWJDb3JlOjpXZWJNZXRhbFJlbmRlclBpcGVsaW5lRGVzY3JpcHRv
cjo6ZnJhZ21lbnRGdW5jdGlvbiBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpXZWJNZXRhbFJl
bmRlclBpcGVsaW5lRGVzY3JpcHRvcjo6c2V0RnJhZ21lbnRGdW5jdGlvbik6CisgICAgICAgIChX
ZWJDb3JlOjpXZWJNZXRhbFJlbmRlclBpcGVsaW5lRGVzY3JpcHRvcjo6Y29sb3JBdHRhY2htZW50
cyk6CisgICAgICAgIChXZWJDb3JlOjpXZWJNZXRhbFJlbmRlclBpcGVsaW5lRGVzY3JpcHRvcjo6
ZGVwdGhBdHRhY2htZW50UGl4ZWxGb3JtYXQgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6V2Vi
TWV0YWxSZW5kZXJQaXBlbGluZURlc2NyaXB0b3I6OnNldERlcHRoQXR0YWNobWVudFBpeGVsRm9y
bWF0KToKKyAgICAgICAgKFdlYkNvcmU6OldlYk1ldGFsUmVuZGVyUGlwZWxpbmVEZXNjcmlwdG9y
OjpyZXNldCk6CisgICAgICAgICogaHRtbC9jYW52YXMvV2ViTWV0YWxSZW5kZXJQaXBlbGluZURl
c2NyaXB0b3IuaDogUmVuYW1lZCBmcm9tIFNvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdQ
VVJlbmRlclBpcGVsaW5lRGVzY3JpcHRvci5oLgorICAgICAgICAqIGh0bWwvY2FudmFzL1dlYk1l
dGFsUmVuZGVyUGlwZWxpbmVEZXNjcmlwdG9yLmlkbDogUmVuYW1lZCBmcm9tIFNvdXJjZS9XZWJD
b3JlL2h0bWwvY2FudmFzL1dlYkdQVVJlbmRlclBpcGVsaW5lRGVzY3JpcHRvci5pZGwuCisgICAg
ICAgICogaHRtbC9jYW52YXMvV2ViTWV0YWxSZW5kZXJQaXBlbGluZVN0YXRlLmNwcDogUmVuYW1l
ZCBmcm9tIFNvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdQVVJlbmRlclBpcGVsaW5lU3Rh
dGUuY3BwLgorICAgICAgICAoV2ViQ29yZTo6V2ViTWV0YWxSZW5kZXJQaXBlbGluZVN0YXRlOjpj
cmVhdGUpOgorICAgICAgICAoV2ViQ29yZTo6V2ViTWV0YWxSZW5kZXJQaXBlbGluZVN0YXRlOjpX
ZWJNZXRhbFJlbmRlclBpcGVsaW5lU3RhdGUpOgorICAgICAgICAoV2ViQ29yZTo6V2ViTWV0YWxS
ZW5kZXJQaXBlbGluZVN0YXRlOjpsYWJlbCBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpXZWJN
ZXRhbFJlbmRlclBpcGVsaW5lU3RhdGU6OnNldExhYmVsKToKKyAgICAgICAgKiBodG1sL2NhbnZh
cy9XZWJNZXRhbFJlbmRlclBpcGVsaW5lU3RhdGUuaDogUmVuYW1lZCBmcm9tIFNvdXJjZS9XZWJD
b3JlL2h0bWwvY2FudmFzL1dlYkdQVVJlbmRlclBpcGVsaW5lU3RhdGUuaC4KKyAgICAgICAgKiBo
dG1sL2NhbnZhcy9XZWJNZXRhbFJlbmRlclBpcGVsaW5lU3RhdGUuaWRsOiBSZW5hbWVkIGZyb20g
U291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR1BVRGVwdGhTdGVuY2lsU3RhdGUuaWRsLgor
ICAgICAgICAqIGh0bWwvY2FudmFzL1dlYk1ldGFsUmVuZGVyaW5nQ29udGV4dC5jcHA6IEFkZGVk
LgorICAgICAgICAoV2ViQ29yZTo6V2ViTWV0YWxSZW5kZXJpbmdDb250ZXh0OjpjcmVhdGUpOgor
ICAgICAgICAoV2ViQ29yZTo6V2ViTWV0YWxSZW5kZXJpbmdDb250ZXh0OjpXZWJNZXRhbFJlbmRl
cmluZ0NvbnRleHQpOgorICAgICAgICAoV2ViQ29yZTo6V2ViTWV0YWxSZW5kZXJpbmdDb250ZXh0
OjpjYW52YXMgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6V2ViTWV0YWxSZW5kZXJpbmdDb250
ZXh0Ojppbml0aWFsaXplTmV3Q29udGV4dCk6CisgICAgICAgIChXZWJDb3JlOjpXZWJNZXRhbFJl
bmRlcmluZ0NvbnRleHQ6OmNsYW1wZWRDYW52YXNTaXplIGNvbnN0KToKKyAgICAgICAgKFdlYkNv
cmU6OldlYk1ldGFsUmVuZGVyaW5nQ29udGV4dDo6aGFzUGVuZGluZ0FjdGl2aXR5IGNvbnN0KToK
KyAgICAgICAgKFdlYkNvcmU6OldlYk1ldGFsUmVuZGVyaW5nQ29udGV4dDo6c3RvcCk6CisgICAg
ICAgIChXZWJDb3JlOjpXZWJNZXRhbFJlbmRlcmluZ0NvbnRleHQ6OmFjdGl2ZURPTU9iamVjdE5h
bWUgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6V2ViTWV0YWxSZW5kZXJpbmdDb250ZXh0Ojpj
YW5TdXNwZW5kRm9yRG9jdW1lbnRTdXNwZW5zaW9uIGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6
OldlYk1ldGFsUmVuZGVyaW5nQ29udGV4dDo6cGxhdGZvcm1MYXllciBjb25zdCk6CisgICAgICAg
IChXZWJDb3JlOjpXZWJNZXRhbFJlbmRlcmluZ0NvbnRleHQ6Om1hcmtMYXllckNvbXBvc2l0ZWQp
OgorICAgICAgICAoV2ViQ29yZTo6V2ViTWV0YWxSZW5kZXJpbmdDb250ZXh0OjpyZXNoYXBlKToK
KyAgICAgICAgKFdlYkNvcmU6OldlYk1ldGFsUmVuZGVyaW5nQ29udGV4dDo6Y3JlYXRlTGlicmFy
eSk6CisgICAgICAgIChXZWJDb3JlOjpXZWJNZXRhbFJlbmRlcmluZ0NvbnRleHQ6OmNyZWF0ZVJl
bmRlclBpcGVsaW5lU3RhdGUpOgorICAgICAgICAoV2ViQ29yZTo6V2ViTWV0YWxSZW5kZXJpbmdD
b250ZXh0OjpjcmVhdGVEZXB0aFN0ZW5jaWxTdGF0ZSk6CisgICAgICAgIChXZWJDb3JlOjpXZWJN
ZXRhbFJlbmRlcmluZ0NvbnRleHQ6OmNyZWF0ZUNvbXB1dGVQaXBlbGluZVN0YXRlKToKKyAgICAg
ICAgKFdlYkNvcmU6OldlYk1ldGFsUmVuZGVyaW5nQ29udGV4dDo6Y3JlYXRlQ29tbWFuZFF1ZXVl
KToKKyAgICAgICAgKFdlYkNvcmU6OldlYk1ldGFsUmVuZGVyaW5nQ29udGV4dDo6bmV4dERyYXdh
YmxlKToKKyAgICAgICAgKFdlYkNvcmU6OldlYk1ldGFsUmVuZGVyaW5nQ29udGV4dDo6Y3JlYXRl
QnVmZmVyKToKKyAgICAgICAgKFdlYkNvcmU6OldlYk1ldGFsUmVuZGVyaW5nQ29udGV4dDo6Y3Jl
YXRlVGV4dHVyZSk6CisgICAgICAgICogaHRtbC9jYW52YXMvV2ViTWV0YWxSZW5kZXJpbmdDb250
ZXh0Lmg6IFJlbmFtZWQgZnJvbSBTb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHUFVSZW5k
ZXJpbmdDb250ZXh0LmguCisgICAgICAgICogaHRtbC9jYW52YXMvV2ViTWV0YWxSZW5kZXJpbmdD
b250ZXh0LmlkbDogUmVuYW1lZCBmcm9tIFNvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdQ
VVJlbmRlcmluZ0NvbnRleHQuaWRsLgorICAgICAgICAqIGh0bWwvY2FudmFzL1dlYk1ldGFsU2l6
ZS5oOiBSZW5hbWVkIGZyb20gU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR1BVU2l6ZS5o
LgorICAgICAgICAqIGh0bWwvY2FudmFzL1dlYk1ldGFsU2l6ZS5pZGw6IFJlbmFtZWQgZnJvbSBT
b3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHUFVTaXplLmlkbC4KKyAgICAgICAgKiBodG1s
L2NhbnZhcy9XZWJNZXRhbFRleHR1cmUuY3BwOiBSZW5hbWVkIGZyb20gU291cmNlL1dlYkNvcmUv
aHRtbC9jYW52YXMvV2ViR1BVVGV4dHVyZS5jcHAuCisgICAgICAgIChXZWJDb3JlOjpXZWJNZXRh
bFRleHR1cmU6OmNyZWF0ZSk6CisgICAgICAgIChXZWJDb3JlOjpXZWJNZXRhbFRleHR1cmU6Oldl
Yk1ldGFsVGV4dHVyZSk6CisgICAgICAgICogaHRtbC9jYW52YXMvV2ViTWV0YWxUZXh0dXJlLmg6
IFJlbmFtZWQgZnJvbSBTb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHUFVUZXh0dXJlLmgu
CisgICAgICAgICogaHRtbC9jYW52YXMvV2ViTWV0YWxUZXh0dXJlLmlkbDogUmVuYW1lZCBmcm9t
IFNvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdQVVRleHR1cmUuaWRsLgorICAgICAgICAq
IGh0bWwvY2FudmFzL1dlYk1ldGFsVGV4dHVyZURlc2NyaXB0b3IuY3BwOiBSZW5hbWVkIGZyb20g
U291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR1BVVGV4dHVyZURlc2NyaXB0b3IuY3BwLgor
ICAgICAgICAoV2ViQ29yZTo6V2ViTWV0YWxUZXh0dXJlRGVzY3JpcHRvcjo6Y3JlYXRlKToKKyAg
ICAgICAgKFdlYkNvcmU6OldlYk1ldGFsVGV4dHVyZURlc2NyaXB0b3I6OldlYk1ldGFsVGV4dHVy
ZURlc2NyaXB0b3IpOgorICAgICAgICAoV2ViQ29yZTo6V2ViTWV0YWxUZXh0dXJlRGVzY3JpcHRv
cjo6d2lkdGggY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6V2ViTWV0YWxUZXh0dXJlRGVzY3Jp
cHRvcjo6c2V0V2lkdGgpOgorICAgICAgICAoV2ViQ29yZTo6V2ViTWV0YWxUZXh0dXJlRGVzY3Jp
cHRvcjo6aGVpZ2h0IGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OldlYk1ldGFsVGV4dHVyZURl
c2NyaXB0b3I6OnNldEhlaWdodCk6CisgICAgICAgIChXZWJDb3JlOjpXZWJNZXRhbFRleHR1cmVE
ZXNjcmlwdG9yOjpzYW1wbGVDb3VudCBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpXZWJNZXRh
bFRleHR1cmVEZXNjcmlwdG9yOjpzZXRTYW1wbGVDb3VudCk6CisgICAgICAgIChXZWJDb3JlOjpX
ZWJNZXRhbFRleHR1cmVEZXNjcmlwdG9yOjp0ZXh0dXJlVHlwZSBjb25zdCk6CisgICAgICAgIChX
ZWJDb3JlOjpXZWJNZXRhbFRleHR1cmVEZXNjcmlwdG9yOjpzZXRUZXh0dXJlVHlwZSk6CisgICAg
ICAgIChXZWJDb3JlOjpXZWJNZXRhbFRleHR1cmVEZXNjcmlwdG9yOjpzdG9yYWdlTW9kZSBjb25z
dCk6CisgICAgICAgIChXZWJDb3JlOjpXZWJNZXRhbFRleHR1cmVEZXNjcmlwdG9yOjpzZXRTdG9y
YWdlTW9kZSk6CisgICAgICAgIChXZWJDb3JlOjpXZWJNZXRhbFRleHR1cmVEZXNjcmlwdG9yOjp1
c2FnZSBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpXZWJNZXRhbFRleHR1cmVEZXNjcmlwdG9y
OjpzZXRVc2FnZSk6CisgICAgICAgICogaHRtbC9jYW52YXMvV2ViTWV0YWxUZXh0dXJlRGVzY3Jp
cHRvci5oOiBSZW5hbWVkIGZyb20gU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR1BVVGV4
dHVyZURlc2NyaXB0b3IuaC4KKyAgICAgICAgKiBodG1sL2NhbnZhcy9XZWJNZXRhbFRleHR1cmVE
ZXNjcmlwdG9yLmlkbDogUmVuYW1lZCBmcm9tIFNvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dl
YkdQVVRleHR1cmVEZXNjcmlwdG9yLmlkbC4KKyAgICAgICAgKiBpbnNwZWN0b3IvSW5zcGVjdG9y
Q2FudmFzLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3RvckNhbnZhczo6YnVpbGRPYmpl
Y3RGb3JDYW52YXMpOgorICAgICAgICAqIGluc3BlY3Rvci9hZ2VudHMvSW5zcGVjdG9yQ2FudmFz
QWdlbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9yQ2FudmFzQWdlbnQ6OnJlcXVl
c3RDb250ZW50KToKKyAgICAgICAgKFdlYkNvcmU6OmNvbnRleHRBc1NjcmlwdFZhbHVlKToKKyAg
ICAgICAgKiBwYWdlL1J1bnRpbWVFbmFibGVkRmVhdHVyZXMuaDoKKyAgICAgICAgKFdlYkNvcmU6
OlJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6OnNldFdlYk1ldGFsRW5hYmxlZCk6CisgICAgICAgIChX
ZWJDb3JlOjpSdW50aW1lRW5hYmxlZEZlYXR1cmVzOjp3ZWJNZXRhbEVuYWJsZWQgY29uc3QpOgor
ICAgICAgICAoV2ViQ29yZTo6UnVudGltZUVuYWJsZWRGZWF0dXJlczo6c2V0V2ViR1BVRW5hYmxl
ZCk6IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpSdW50aW1lRW5hYmxlZEZlYXR1cmVzOjp3
ZWJHUFVFbmFibGVkIGNvbnN0KTogRGVsZXRlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9Mb2dnaW5n
Lmg6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvY2EvY29jb2EvUGxhdGZvcm1DQUxheWVy
Q29jb2EubW06CisgICAgICAgIChXZWJDb3JlOjpQbGF0Zm9ybUNBTGF5ZXJDb2NvYTo6bGF5ZXJU
eXBlRm9yUGxhdGZvcm1MYXllcik6CisgICAgICAgIChXZWJDb3JlOjpQbGF0Zm9ybUNBTGF5ZXJD
b2NvYTo6UGxhdGZvcm1DQUxheWVyQ29jb2EpOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNz
L2NvY29hL1dlYk1ldGFsTGF5ZXIuaDogUmVuYW1lZCBmcm9tIFNvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL2NvY29hL1dlYkdQVUxheWVyLmguCisgICAgICAgICogcGxhdGZvcm0vZ3Jh
cGhpY3MvY29jb2EvV2ViTWV0YWxMYXllci5tbTogUmVuYW1lZCBmcm9tIFNvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL2NvY29hL1dlYkdQVUxheWVyLm1tLgorICAgICAgICAoLVtXZWJN
ZXRhbExheWVyIGluaXRXaXRoR1BVRGV2aWNlOl0pOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBo
aWNzL2dwdS9HUFVCdWZmZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6R1BVQnVmZmVyOjp+R1BV
QnVmZmVyKToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9ncHUvR1BVQnVmZmVyLmg6Cisg
ICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L0dQVUNvbW1hbmRCdWZmZXIuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6R1BVQ29tbWFuZEJ1ZmZlcjo6fkdQVUNvbW1hbmRCdWZmZXIpOgorICAg
ICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2dwdS9HUFVDb21tYW5kQnVmZmVyLmg6CisgICAgICAg
ICogcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L0dQVUNvbW1hbmRRdWV1ZS5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpHUFVDb21tYW5kUXVldWU6On5HUFVDb21tYW5kUXVldWUpOgorICAgICAgICAqIHBs
YXRmb3JtL2dyYXBoaWNzL2dwdS9HUFVDb21tYW5kUXVldWUuaDoKKyAgICAgICAgKiBwbGF0Zm9y
bS9ncmFwaGljcy9ncHUvR1BVQ29tcHV0ZUNvbW1hbmRFbmNvZGVyLmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6OkdQVUNvbXB1dGVDb21tYW5kRW5jb2Rlcjo6fkdQVUNvbXB1dGVDb21tYW5kRW5jb2Rl
cik6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L0dQVUNvbXB1dGVDb21tYW5kRW5j
b2Rlci5oOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2dwdS9HUFVDb21wdXRlUGlwZWxp
bmVTdGF0ZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpHUFVDb21wdXRlUGlwZWxpbmVTdGF0ZTo6
fkdQVUNvbXB1dGVQaXBlbGluZVN0YXRlKToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9n
cHUvR1BVQ29tcHV0ZVBpcGVsaW5lU3RhdGUuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGlj
cy9ncHUvR1BVRGVwdGhTdGVuY2lsRGVzY3JpcHRvci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpH
UFVEZXB0aFN0ZW5jaWxEZXNjcmlwdG9yOjp+R1BVRGVwdGhTdGVuY2lsRGVzY3JpcHRvcik6Cisg
ICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L0dQVURlcHRoU3RlbmNpbERlc2NyaXB0b3Iu
aDoKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9ncHUvR1BVRGVwdGhTdGVuY2lsU3RhdGUu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6R1BVRGVwdGhTdGVuY2lsU3RhdGU6On5HUFVEZXB0aFN0
ZW5jaWxTdGF0ZSk6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L0dQVURlcHRoU3Rl
bmNpbFN0YXRlLmg6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L0dQVURldmljZS5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpHUFVEZXZpY2U6On5HUFVEZXZpY2UpOgorICAgICAgICAq
IHBsYXRmb3JtL2dyYXBoaWNzL2dwdS9HUFVEZXZpY2UuaDoKKyAgICAgICAgKFdlYkNvcmU6OkdQ
VURldmljZTo6bGF5ZXIgY29uc3QpOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2dwdS9H
UFVEcmF3YWJsZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpHUFVEcmF3YWJsZTo6fkdQVURyYXdh
YmxlKToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9ncHUvR1BVRHJhd2FibGUuaDoKKyAg
ICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9ncHUvR1BVRW51bXMuaDoKKyAgICAgICAgKiBwbGF0
Zm9ybS9ncmFwaGljcy9ncHUvR1BVRnVuY3Rpb24uY3BwOgorICAgICAgICAoV2ViQ29yZTo6R1BV
RnVuY3Rpb246On5HUFVGdW5jdGlvbik6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1
L0dQVUZ1bmN0aW9uLmg6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L0dQVUxpYnJh
cnkuY3BwOgorICAgICAgICAoV2ViQ29yZTo6R1BVTGlicmFyeTo6fkdQVUxpYnJhcnkpOgorICAg
ICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2dwdS9HUFVMaWJyYXJ5Lmg6CisgICAgICAgICogcGxh
dGZvcm0vZ3JhcGhpY3MvZ3B1L0dQVVJlbmRlckNvbW1hbmRFbmNvZGVyLmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6OkdQVVJlbmRlckNvbW1hbmRFbmNvZGVyOjp+R1BVUmVuZGVyQ29tbWFuZEVuY29k
ZXIpOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2dwdS9HUFVSZW5kZXJDb21tYW5kRW5j
b2Rlci5oOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2dwdS9HUFVSZW5kZXJQYXNzQXR0
YWNobWVudERlc2NyaXB0b3IuY3BwOgorICAgICAgICAoV2ViQ29yZTo6R1BVUmVuZGVyUGFzc0F0
dGFjaG1lbnREZXNjcmlwdG9yOjp+R1BVUmVuZGVyUGFzc0F0dGFjaG1lbnREZXNjcmlwdG9yKToK
KyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9ncHUvR1BVUmVuZGVyUGFzc0F0dGFjaG1lbnRE
ZXNjcmlwdG9yLmg6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L0dQVVJlbmRlclBh
c3NDb2xvckF0dGFjaG1lbnREZXNjcmlwdG9yLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkdQVVJl
bmRlclBhc3NDb2xvckF0dGFjaG1lbnREZXNjcmlwdG9yOjp+R1BVUmVuZGVyUGFzc0NvbG9yQXR0
YWNobWVudERlc2NyaXB0b3IpOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2dwdS9HUFVS
ZW5kZXJQYXNzQ29sb3JBdHRhY2htZW50RGVzY3JpcHRvci5oOgorICAgICAgICAqIHBsYXRmb3Jt
L2dyYXBoaWNzL2dwdS9HUFVSZW5kZXJQYXNzRGVwdGhBdHRhY2htZW50RGVzY3JpcHRvci5jcHA6
CisgICAgICAgIChXZWJDb3JlOjpHUFVSZW5kZXJQYXNzRGVwdGhBdHRhY2htZW50RGVzY3JpcHRv
cjo6fkdQVVJlbmRlclBhc3NEZXB0aEF0dGFjaG1lbnREZXNjcmlwdG9yKToKKyAgICAgICAgKiBw
bGF0Zm9ybS9ncmFwaGljcy9ncHUvR1BVUmVuZGVyUGFzc0RlcHRoQXR0YWNobWVudERlc2NyaXB0
b3IuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9ncHUvR1BVUmVuZGVyUGFzc0Rlc2Ny
aXB0b3IuY3BwOgorICAgICAgICAoV2ViQ29yZTo6R1BVUmVuZGVyUGFzc0Rlc2NyaXB0b3I6On5H
UFVSZW5kZXJQYXNzRGVzY3JpcHRvcik6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1
L0dQVVJlbmRlclBhc3NEZXNjcmlwdG9yLmg6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3Mv
Z3B1L0dQVVJlbmRlclBpcGVsaW5lQ29sb3JBdHRhY2htZW50RGVzY3JpcHRvci5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpHUFVSZW5kZXJQaXBlbGluZUNvbG9yQXR0YWNobWVudERlc2NyaXB0b3I6
On5HUFVSZW5kZXJQaXBlbGluZUNvbG9yQXR0YWNobWVudERlc2NyaXB0b3IpOgorICAgICAgICAq
IHBsYXRmb3JtL2dyYXBoaWNzL2dwdS9HUFVSZW5kZXJQaXBlbGluZUNvbG9yQXR0YWNobWVudERl
c2NyaXB0b3IuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9ncHUvR1BVUmVuZGVyUGlw
ZWxpbmVEZXNjcmlwdG9yLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkdQVVJlbmRlclBpcGVsaW5l
RGVzY3JpcHRvcjo6fkdQVVJlbmRlclBpcGVsaW5lRGVzY3JpcHRvcik6CisgICAgICAgICogcGxh
dGZvcm0vZ3JhcGhpY3MvZ3B1L0dQVVJlbmRlclBpcGVsaW5lRGVzY3JpcHRvci5oOgorICAgICAg
ICAqIHBsYXRmb3JtL2dyYXBoaWNzL2dwdS9HUFVSZW5kZXJQaXBlbGluZVN0YXRlLmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OkdQVVJlbmRlclBpcGVsaW5lU3RhdGU6On5HUFVSZW5kZXJQaXBlbGlu
ZVN0YXRlKToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9ncHUvR1BVUmVuZGVyUGlwZWxp
bmVTdGF0ZS5oOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2dwdS9HUFVTaXplLmg6Cisg
ICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L0dQVVRleHR1cmUuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6R1BVVGV4dHVyZTo6fkdQVVRleHR1cmUpOgorICAgICAgICAqIHBsYXRmb3JtL2dy
YXBoaWNzL2dwdS9HUFVUZXh0dXJlLmg6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1
L0dQVVRleHR1cmVEZXNjcmlwdG9yLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkdQVVRleHR1cmVE
ZXNjcmlwdG9yOjp+R1BVVGV4dHVyZURlc2NyaXB0b3IpOgorICAgICAgICAqIHBsYXRmb3JtL2dy
YXBoaWNzL2dwdS9HUFVUZXh0dXJlRGVzY3JpcHRvci5oOgorICAgICAgICAqIHBsYXRmb3JtL2dy
YXBoaWNzL21ldGFsL0dQVUJ1ZmZlck1ldGFsLm1tOgorICAgICAgICAoV2ViQ29yZTo6R1BVQnVm
ZmVyOjpHUFVCdWZmZXIpOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL21ldGFsL0dQVUNv
bW1hbmRCdWZmZXJNZXRhbC5tbToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9tZXRhbC9H
UFVDb21tYW5kUXVldWVNZXRhbC5tbToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9tZXRh
bC9HUFVDb21wdXRlQ29tbWFuZEVuY29kZXJNZXRhbC5tbToKKyAgICAgICAgKiBwbGF0Zm9ybS9n
cmFwaGljcy9tZXRhbC9HUFVDb21wdXRlUGlwZWxpbmVTdGF0ZU1ldGFsLm1tOgorICAgICAgICAo
V2ViQ29yZTo6R1BVQ29tcHV0ZVBpcGVsaW5lU3RhdGU6OkdQVUNvbXB1dGVQaXBlbGluZVN0YXRl
KToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9tZXRhbC9HUFVEZXB0aFN0ZW5jaWxEZXNj
cmlwdG9yTWV0YWwubW06CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvbWV0YWwvR1BVRGVw
dGhTdGVuY2lsU3RhdGVNZXRhbC5tbToKKyAgICAgICAgKFdlYkNvcmU6OkdQVURlcHRoU3RlbmNp
bFN0YXRlOjpzZXRMYWJlbCBjb25zdCk6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvbWV0
YWwvR1BVRGV2aWNlTWV0YWwubW06CisgICAgICAgIChXZWJDb3JlOjpHUFVEZXZpY2U6OnJlc2hh
cGUgY29uc3QpOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL21ldGFsL0dQVURyYXdhYmxl
TWV0YWwubW06CisgICAgICAgIChXZWJDb3JlOjpHUFVEcmF3YWJsZTo6cmVsZWFzZSk6CisgICAg
ICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvbWV0YWwvR1BVRnVuY3Rpb25NZXRhbC5tbToKKyAgICAg
ICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9tZXRhbC9HUFVMaWJyYXJ5TWV0YWwubW06CisgICAgICAg
IChXZWJDb3JlOjpHUFVMaWJyYXJ5OjpHUFVMaWJyYXJ5KToKKyAgICAgICAgKiBwbGF0Zm9ybS9n
cmFwaGljcy9tZXRhbC9HUFVSZW5kZXJDb21tYW5kRW5jb2Rlck1ldGFsLm1tOgorICAgICAgICAo
V2ViQ29yZTo6R1BVUmVuZGVyQ29tbWFuZEVuY29kZXI6OkdQVVJlbmRlckNvbW1hbmRFbmNvZGVy
KToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9tZXRhbC9HUFVSZW5kZXJQYXNzQXR0YWNo
bWVudERlc2NyaXB0b3JNZXRhbC5tbToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9tZXRh
bC9HUFVSZW5kZXJQYXNzQ29sb3JBdHRhY2htZW50RGVzY3JpcHRvck1ldGFsLm1tOgorICAgICAg
ICAqIHBsYXRmb3JtL2dyYXBoaWNzL21ldGFsL0dQVVJlbmRlclBhc3NEZXB0aEF0dGFjaG1lbnRE
ZXNjcmlwdG9yTWV0YWwubW06CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvbWV0YWwvR1BV
UmVuZGVyUGFzc0Rlc2NyaXB0b3JNZXRhbC5tbToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGlj
cy9tZXRhbC9HUFVSZW5kZXJQaXBlbGluZUNvbG9yQXR0YWNobWVudERlc2NyaXB0b3JNZXRhbC5t
bToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9tZXRhbC9HUFVSZW5kZXJQaXBlbGluZURl
c2NyaXB0b3JNZXRhbC5tbToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9tZXRhbC9HUFVS
ZW5kZXJQaXBlbGluZVN0YXRlTWV0YWwubW06CisgICAgICAgIChXZWJDb3JlOjpHUFVSZW5kZXJQ
aXBlbGluZVN0YXRlOjpzZXRMYWJlbCBjb25zdCk6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhp
Y3MvbWV0YWwvR1BVVGV4dHVyZURlc2NyaXB0b3JNZXRhbC5tbToKKyAgICAgICAgKiBwbGF0Zm9y
bS9ncmFwaGljcy9tZXRhbC9HUFVUZXh0dXJlTWV0YWwubW06CisgICAgICAgIChXZWJDb3JlOjpH
UFVUZXh0dXJlOjpHUFVUZXh0dXJlKToKKyAgICAgICAgKiB0ZXN0aW5nL0ludGVybmFsU2V0dGlu
Z3MuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SW50ZXJuYWxTZXR0aW5nczo6QmFja3VwOjpCYWNr
dXApOgorICAgICAgICAoV2ViQ29yZTo6SW50ZXJuYWxTZXR0aW5nczo6QmFja3VwOjpyZXN0b3Jl
VG8pOgorICAgICAgICAoV2ViQ29yZTo6SW50ZXJuYWxTZXR0aW5nczo6c2V0V2ViTWV0YWxFbmFi
bGVkKToKKyAgICAgICAgKFdlYkNvcmU6OkludGVybmFsU2V0dGluZ3M6OnNldFdlYkdQVUVuYWJs
ZWQpOiBEZWxldGVkLgorICAgICAgICAqIHRlc3RpbmcvSW50ZXJuYWxTZXR0aW5ncy5oOgorICAg
ICAgICAqIHRlc3RpbmcvSW50ZXJuYWxTZXR0aW5ncy5pZGw6CisKIDIwMTgtMTAtMDUgIENocmlz
IER1bWV6ICA8Y2R1bWV6QGFwcGxlLmNvbT4KIAogICAgICAgICBSZWdyZXNzaW9uKHIyMzY4NjIp
OiBDcmFzaCB1bmRlciBET01XaW5kb3dFeHRlbnNpb246OndpbGxEZXRhY2hHbG9iYWxPYmplY3RG
cm9tRnJhbWUoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvUEFML0NoYW5nZUxvZyBiL1Nv
dXJjZS9XZWJDb3JlL1BBTC9DaGFuZ2VMb2cKaW5kZXggMjc2ZDlhZTEzZDRlNWJlZTc5ZTRlZjVj
NWZjNDkxMzdiZGExMmY4OS4uY2FhZjBkZTIyNDE3YTRiZWJmODlmM2MxY2M4MmYxNzQ4ZGZhYzQz
MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvUEFML0NoYW5nZUxvZworKysgYi9Tb3VyY2Uv
V2ViQ29yZS9QQUwvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTUgQEAKKzIwMTgtMTAtMDUgIEp1c3Rp
biBGYW4gIDxqdXN0aW5fZmFuQGFwcGxlLmNvbT4KKworICAgICAgICBXZWJHUFU6IFJlbmFtZSBv
bGQgV2ViR1BVIHByb3RvdHlwZSB0byBXZWJNZXRhbAorICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTkwMzI1CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS80
NDk5MDQ0Mz4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAg
ICBSZW5hbWUgV2ViR1BVIHByb3RvdHlwZSBmaWxlcyB0byBXZWJNZXRhbCBpbiBwcmVwYXJhdGlv
biBmb3IgaW1wbGVtZW50aW5nIHRoZSBuZXcgKE9jdCAyMDE4KSBXZWJHUFUgaW50ZXJmYWNlLgor
CisgICAgICAgICogQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWc6CisKIDIw
MTgtMTAtMDUgIEplciBOb2JsZSAgPGplci5ub2JsZUBhcHBsZS5jb20+CiAKICAgICAgICAgVW5y
ZXZpZXdlZCBidWlsZCBmaXg6IGludGVybmFsIGJ1aWxkcyBjYW4ndCBmaW5kIEFWVmlkZW9QZXJm
b3JtYW5jZU1ldHJpY3MuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvQ2hhbmdl
TG9nIGIvU291cmNlL1dlYkluc3BlY3RvclVJL0NoYW5nZUxvZwppbmRleCBjNGRlN2I2OWJiMjEx
Yzk4ZmU0NDdmZDM0NmMwZjEzZjc2ZjAzN2Y0Li4xMWI4NjVkZDVlYjJmMWY1MTYwMmM4YWYyMmM1
NmRlYWJhMGE3ZGQ0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvQ2hhbmdlTG9n
CisrKyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxOSBAQAor
MjAxOC0xMC0wNSAgSnVzdGluIEZhbiAgPGp1c3Rpbl9mYW5AYXBwbGUuY29tPgorCisgICAgICAg
IFdlYkdQVTogUmVuYW1lIG9sZCBXZWJHUFUgcHJvdG90eXBlIHRvIFdlYk1ldGFsCisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xOTAzMjUKKyAgICAgICAg
PHJkYXI6Ly9wcm9ibGVtLzQ0OTkwNDQzPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAo
T09QUyEpLgorCisgICAgICAgIFJlbmFtZSBXZWJHUFUgcHJvdG90eXBlIGZpbGVzIHRvIFdlYk1l
dGFsIGluIHByZXBhcmF0aW9uIGZvciBpbXBsZW1lbnRpbmcgdGhlIG5ldyAoT2N0IDIwMTgpIFdl
YkdQVSBpbnRlcmZhY2UuCisKKyAgICAgICAgKiBVc2VySW50ZXJmYWNlL01vZGVscy9DYW52YXMu
anM6CisgICAgICAgIChXSS5DYW52YXMuZnJvbVBheWxvYWQpOgorICAgICAgICAoV0kuQ2FudmFz
LmRpc3BsYXlOYW1lRm9yQ29udGV4dFR5cGUpOgorICAgICAgICAqIFVzZXJJbnRlcmZhY2UvUHJv
dG9jb2wvTGVnYWN5LzExLjMvSW5zcGVjdG9yQmFja2VuZENvbW1hbmRzLmpzOgorICAgICAgICAq
IFVzZXJJbnRlcmZhY2UvUHJvdG9jb2wvTGVnYWN5LzEyLjAvSW5zcGVjdG9yQmFja2VuZENvbW1h
bmRzLmpzOgorCiAyMDE4LTEwLTA1ICBEZXZpbiBSb3Vzc28gIDxkcm91c3NvQGFwcGxlLmNvbT4K
IAogICAgICAgICBXZWIgSW5zcGVjdG9yOiB1c2UgaWZyYW1lJ3MgbmFtZSBhdHRyaWJ1dGUgZm9y
IEZyYW1lVHJlZUVsZW1lbnQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nIGIv
U291cmNlL1dlYktpdC9DaGFuZ2VMb2cKaW5kZXggY2NmOGNmNzFlYjI4MjQxMTk3YjA4ZDI1OTZk
MTJmZDczM2NjZjkzNS4uZTk3NTgwMDNjZDM4YmUyMTgyYzY2NTM1OGUxZDBlN2Y1ZDYwMGFlNCAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9D
aGFuZ2VMb2cKQEAgLTEsMyArMSwxOCBAQAorMjAxOC0xMC0wNSAgSnVzdGluIEZhbiAgPGp1c3Rp
bl9mYW5AYXBwbGUuY29tPgorCisgICAgICAgIFdlYkdQVTogUmVuYW1lIG9sZCBXZWJHUFUgcHJv
dG90eXBlIHRvIFdlYk1ldGFsCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD0xOTAzMjUKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzQ0OTkwNDQzPgorCisg
ICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFJlbmFtZSBXZWJH
UFUgcHJvdG90eXBlIGZpbGVzIHRvIFdlYk1ldGFsIGluIHByZXBhcmF0aW9uIGZvciBpbXBsZW1l
bnRpbmcgdGhlIG5ldyAoT2N0IDIwMTgpIFdlYkdQVSBpbnRlcmZhY2UuCisKKyAgICAgICAgKiBD
b25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZzoKKyAgICAgICAgKiBTaGFyZWQv
V2ViUHJlZmVyZW5jZXMueWFtbDoKKyAgICAgICAgKiBXZWJQcm9jZXNzL0luamVjdGVkQnVuZGxl
L0luamVjdGVkQnVuZGxlLmNwcDoKKyAgICAgICAgKFdlYktpdDo6SW5qZWN0ZWRCdW5kbGU6Om92
ZXJyaWRlQm9vbFByZWZlcmVuY2VGb3JUZXN0UnVubmVyKToKKwogMjAxOC0xMC0wNSAgQWxleCBD
aHJpc3RlbnNlbiAgPGFjaHJpc3RlbnNlbkB3ZWJraXQub3JnPgogCiAgICAgICAgIFJFR1JFU1NJ
T04ocjIzNjE1NCkgUGFnZSBsb2FkcyBhcmUgbm90IGRyYXduIHdoZW4gbG9hZGVkIGluIHNoaXBw
ZWQgU2FmYXJpMTEvMTIKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL0NoYW5nZUxvZwppbmRleCBjYTI2MzBjZjhk
ODBkYjUwZmZlYjk2ZjQyODlmZTYyMGFiNDRlZmQ1Li45NDVkYmNlNjc1N2Q2ZWEzYzg4MjZlYjhj
YWQyZmU2ZWQxMzIzYjg4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9DaGFu
Z2VMb2cKKysrIGIvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEs
MjUgQEAKKzIwMTgtMTAtMDUgIEp1c3RpbiBGYW4gIDxqdXN0aW5fZmFuQGFwcGxlLmNvbT4KKwor
ICAgICAgICBXZWJHUFU6IFJlbmFtZSBvbGQgV2ViR1BVIHByb3RvdHlwZSB0byBXZWJNZXRhbAor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTkwMzI1Cisg
ICAgICAgIDxyZGFyOi8vcHJvYmxlbS80NDk5MDQ0Mz4KKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICBSZW5hbWUgV2ViR1BVIHByb3RvdHlwZSBmaWxlcyB0
byBXZWJNZXRhbCBpbiBwcmVwYXJhdGlvbiBmb3IgaW1wbGVtZW50aW5nIHRoZSBuZXcgKE9jdCAy
MDE4KSBXZWJHUFUgaW50ZXJmYWNlLgorCisgICAgICAgICogQ29uZmlndXJhdGlvbnMvRmVhdHVy
ZURlZmluZXMueGNjb25maWc6CisgICAgICAgICogV2ViVmlldy9XZWJQcmVmZXJlbmNlS2V5c1By
aXZhdGUuaDoKKyAgICAgICAgKiBXZWJWaWV3L1dlYlByZWZlcmVuY2VzLm1tOgorICAgICAgICAo
K1tXZWJQcmVmZXJlbmNlcyBpbml0aWFsaXplXSk6CisgICAgICAgICgtW1dlYlByZWZlcmVuY2Vz
IHdlYk1ldGFsRW5hYmxlZF0pOgorICAgICAgICAoLVtXZWJQcmVmZXJlbmNlcyBzZXRXZWJNZXRh
bEVuYWJsZWQ6XSk6CisgICAgICAgICgtW1dlYlByZWZlcmVuY2VzIHdlYkdQVUVuYWJsZWRdKTog
RGVsZXRlZC4KKyAgICAgICAgKC1bV2ViUHJlZmVyZW5jZXMgc2V0V2ViR1BVRW5hYmxlZDpdKTog
RGVsZXRlZC4KKyAgICAgICAgKiBXZWJWaWV3L1dlYlByZWZlcmVuY2VzUHJpdmF0ZS5oOgorICAg
ICAgICAqIFdlYlZpZXcvV2ViVmlldy5tbToKKyAgICAgICAgKC1bV2ViVmlldyBfcHJlZmVyZW5j
ZXNDaGFuZ2VkOl0pOgorCiAyMDE4LTEwLTA0ICBEYW4gQmVybnN0ZWluICA8bWl0ekBhcHBsZS5j
b20+CiAKICAgICAgICAgTW9yZSBDYXJib24gYnVpbGQtZml4aW5nLgpkaWZmIC0tZ2l0IGEvU291
cmNlL0phdmFTY3JpcHRDb3JlL0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmln
IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhj
Y29uZmlnCmluZGV4IDY4ZWZjZTk0MmNhMGRjZGU2MjA5YTMwZmI0ZTVkMGJkODc2MGE3ODEuLjI0
MjlkZDhkYzY5MTI0MzU2ZDAxNDYzYWFiNzc5OGU3ODc3OWM5NWMgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZwor
KysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMu
eGNjb25maWcKQEAgLTM1MCwxMSArMzUwLDExIEBAIEVOQUJMRV9XRUJHTCA9IEVOQUJMRV9XRUJH
TDsKIAogRU5BQkxFX1dFQkdMMiA9IEVOQUJMRV9XRUJHTDI7CiAKLUVOQUJMRV9XRUJHUFUgPSAk
KEVOQUJMRV9XRUJHUFVfJChXS19QTEFURk9STV9OQU1FKSk7Ci1FTkFCTEVfV0VCR1BVX2lwaG9u
ZW9zID0gRU5BQkxFX1dFQkdQVTsKLUVOQUJMRV9XRUJHUFVfd2F0Y2hvcyA9IEVOQUJMRV9XRUJH
UFU7Ci1FTkFCTEVfV0VCR1BVX2FwcGxldHZvcyA9IEVOQUJMRV9XRUJHUFU7Ci1FTkFCTEVfV0VC
R1BVX21hY29zeCA9IEVOQUJMRV9XRUJHUFU7CitFTkFCTEVfV0VCTUVUQUwgPSAkKEVOQUJMRV9X
RUJNRVRBTF8kKFdLX1BMQVRGT1JNX05BTUUpKTsKK0VOQUJMRV9XRUJNRVRBTF9pcGhvbmVvcyA9
IEVOQUJMRV9XRUJNRVRBTDsKK0VOQUJMRV9XRUJNRVRBTF93YXRjaG9zID0gRU5BQkxFX1dFQk1F
VEFMOworRU5BQkxFX1dFQk1FVEFMX2FwcGxldHZvcyA9IEVOQUJMRV9XRUJNRVRBTDsKK0VOQUJM
RV9XRUJNRVRBTF9tYWNvc3ggPSBFTkFCTEVfV0VCTUVUQUw7CiAKIEVOQUJMRV9XRUJfQVVESU8g
PSBFTkFCTEVfV0VCX0FVRElPOwogCkBAIC0zNzIsNCArMzcyLDQgQEAgRU5BQkxFX1dJUkVMRVNT
X1BMQVlCQUNLX1RBUkdFVCA9IEVOQUJMRV9XSVJFTEVTU19QTEFZQkFDS19UQVJHRVQ7CiAKIEVO
QUJMRV9YU0xUID0gRU5BQkxFX1hTTFQ7CiAKLUZFQVRVUkVfREVGSU5FUyA9ICQoRU5BQkxFXzNE
X1RSQU5TRk9STVMpICQoRU5BQkxFX0FDQ0VMRVJBVEVEXzJEX0NBTlZBUykgJChFTkFCTEVfQUND
RUxFUkFURURfT1ZFUkZMT1dfU0NST0xMSU5HKSAkKEVOQUJMRV9BUFBMRV9QQVkpICQoRU5BQkxF
X0FQUExFX1BBWV9TRVNTSU9OX1YzKSAkKEVOQUJMRV9BUFBMRV9QQVlfU0VTU0lPTl9WNCkgJChF
TkFCTEVfQVBQTElDQVRJT05fTUFOSUZFU1QpICQoRU5BQkxFX0FUVEFDSE1FTlRfRUxFTUVOVCkg
JChFTkFCTEVfQVZGX0NBUFRJT05TKSAkKEVOQUJMRV9DQUNIRV9QQVJUSVRJT05JTkcpICQoRU5B
QkxFX0NIQU5ORUxfTUVTU0FHSU5HKSAkKEVOQUJMRV9DT05URU5UX0ZJTFRFUklORykgJChFTkFC
TEVfQ1NTM19URVhUKSAkKEVOQUJMRV9DU1NfQk9YX0RFQ09SQVRJT05fQlJFQUspICQoRU5BQkxF
X0NTU19DT01QT1NJVElORykgJChFTkFCTEVfQ1NTX0RFVklDRV9BREFQVEFUSU9OKSAkKEVOQUJM
RV9DU1NfSU1BR0VfT1JJRU5UQVRJT04pICQoRU5BQkxFX0NTU19JTUFHRV9SRVNPTFVUSU9OKSAk
KEVOQUJMRV9DU1NfU0NST0xMX1NOQVApICQoRU5BQkxFX0NTU19TRUxFQ1RPUlNfTEVWRUw0KSAk
KEVOQUJMRV9DU1NfVFJBSUxJTkdfV09SRCkgJChFTkFCTEVfQ1VSU09SX1ZJU0lCSUxJVFkpICQo
RU5BQkxFX0NVU1RPTV9TQ0hFTUVfSEFORExFUikgJChFTkFCTEVfREFTSEJPQVJEX1NVUFBPUlQp
ICQoRU5BQkxFX0RBVEFfSU5URVJBQ1RJT04pICQoRU5BQkxFX0RBVEFDVUVfVkFMVUUpICQoRU5B
QkxFX0RBVEFMSVNUX0VMRU1FTlQpICQoRU5BQkxFX0RFVklDRV9PUklFTlRBVElPTikgJChFTkFC
TEVfRFJBR19TVVBQT1JUKSAkKEVOQUJMRV9FTkNSWVBURURfTUVESUEpICQoRU5BQkxFX0VYUEVS
SU1FTlRBTF9GRUFUVVJFUykgJChFTkFCTEVfRkFTVF9KSVRfUEVSTUlTU0lPTlMpICQoRU5BQkxF
X0ZJTFRFUlNfTEVWRUxfMikgJChFTkFCTEVfRlRMX0pJVCkgJChFTkFCTEVfRlVMTFNDUkVFTl9B
UEkpICQoRU5BQkxFX0dBTUVQQUQpICQoRU5BQkxFX0dFT0xPQ0FUSU9OKSAkKEVOQUJMRV9JQ09O
REFUQUJBU0UpICQoRU5BQkxFX0lOREVYRURfREFUQUJBU0UpICQoRU5BQkxFX0lOREVYRURfREFU
QUJBU0VfSU5fV09SS0VSUykgJChFTkFCTEVfSU5QVVRfVFlQRV9DT0xPUikgJChFTkFCTEVfSU5Q
VVRfVFlQRV9EQVRFKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1FX0lOQ09NUExFVEUpICQo
RU5BQkxFX0lOUFVUX1RZUEVfREFURVRJTUVMT0NBTCkgJChFTkFCTEVfSU5QVVRfVFlQRV9NT05U
SCkgJChFTkFCTEVfSU5QVVRfVFlQRV9USU1FKSAkKEVOQUJMRV9JTlBVVF9UWVBFX1dFRUspICQo
RU5BQkxFX0lOVEVSU0VDVElPTl9PQlNFUlZFUikgJChFTkFCTEVfSU5UTCkgJChFTkFCTEVfSU9T
X0dFU1RVUkVfRVZFTlRTKSAkKEVOQUJMRV9JT1NfVE9VQ0hfRVZFTlRTKSAkKEVOQUJMRV9KSVQp
ICQoRU5BQkxFX0pTX0FTWU5DX0lURVJBVElPTikgJChFTkFCTEVfS0VZQk9BUkRfQ09ERV9BVFRS
SUJVVEUpICQoRU5BQkxFX0tFWUJPQVJEX0tFWV9BVFRSSUJVVEUpICQoRU5BQkxFX0xBWU9VVF9G
T1JNQVRUSU5HX0NPTlRFWFQpICQoRU5BQkxFX0xFR0FDWV9DU1NfVkVORE9SX1BSRUZJWEVTKSAk
KEVOQUJMRV9MRUdBQ1lfQ1VTVE9NX1BST1RPQ09MX01BTkFHRVIpICQoRU5BQkxFX0xFR0FDWV9F
TkNSWVBURURfTUVESUEpICQoRU5BQkxFX0xFVFRFUlBSRVNTKSAkKEVOQUJMRV9NQUNfR0VTVFVS
RV9FVkVOVFMpICQoRU5BQkxFX01BQ19WSURFT19UT09MQk9YKSAkKEVOQUJMRV9NQVRITUwpICQo
RU5BQkxFX01FRElBX0NBUFRVUkUpICQoRU5BQkxFX01FRElBX0NPTlRST0xTX1NDUklQVCkgJChF
TkFCTEVfTUVESUFfU0VTU0lPTikgJChFTkFCTEVfTUVESUFfU09VUkNFKSAkKEVOQUJMRV9NRURJ
QV9TVEFUSVNUSUNTKSAkKEVOQUJMRV9NRURJQV9TVFJFQU0pICQoRU5BQkxFX01FVEVSX0VMRU1F
TlQpICQoRU5BQkxFX01IVE1MKSAkKEVOQUJMRV9NT1VTRV9DVVJTT1JfU0NBTEUpICQoRU5BQkxF
X05BVklHQVRPUl9DT05URU5UX1VUSUxTKSAkKEVOQUJMRV9OQVZJR0FUT1JfU1RBTkRBTE9ORSkg
JChFTkFCTEVfTk9USUZJQ0FUSU9OUykgJChFTkFCTEVfUEFZTUVOVF9SRVFVRVNUKSAkKEVOQUJM
RV9QREZLSVRfUExVR0lOKSAkKEVOQUJMRV9QT0lOVEVSX0xPQ0spICQoRU5BQkxFX1BVQkxJQ19T
VUZGSVhfTElTVCkgJChFTkFCTEVfUVVPVEEpICQoRU5BQkxFX1JFTU9URV9JTlNQRUNUT1IpICQo
RU5BQkxFX1JFU09MVVRJT05fTUVESUFfUVVFUlkpICQoRU5BQkxFX1JFU09VUkNFX1VTQUdFKSAk
KEVOQUJMRV9SVUJCRVJfQkFORElORykgJChFTkFCTEVfU0VSVklDRV9DT05UUk9MUykgJChFTkFC
TEVfU0VSVklDRV9XT1JLRVIpICQoRU5BQkxFX1NQRUVDSF9TWU5USEVTSVMpICQoRU5BQkxFX1NU
UkVBTVNfQVBJKSAkKEVOQUJMRV9TVUJUTEVfQ1JZUFRPKSAkKEVOQUJMRV9TVkdfRk9OVFMpICQo
RU5BQkxFX1RFTEVQSE9ORV9OVU1CRVJfREVURUNUSU9OKSAkKEVOQUJMRV9URVhUX0FVVE9TSVpJ
TkcpICQoRU5BQkxFX1RPVUNIX0VWRU5UUykgJChFTkFCTEVfVVNFUl9NRVNTQUdFX0hBTkRMRVJT
KSAkKEVOQUJMRV9VU0VSU0VMRUNUX0FMTCkgJChFTkFCTEVfVkFSSUFUSU9OX0ZPTlRTKSAkKEVO
QUJMRV9WSURFTykgJChFTkFCTEVfVklERU9fUFJFU0VOVEFUSU9OX01PREUpICQoRU5BQkxFX1ZJ
REVPX1RSQUNLKSAkKEVOQUJMRV9WSURFT19VU0VTX0VMRU1FTlRfRlVMTFNDUkVFTikgJChFTkFC
TEVfV0VCX0FVRElPKSAkKEVOQUJMRV9XRUJfQVVUSE4pICQoRU5BQkxFX1dFQl9SVEMpICQoRU5B
QkxFX1dFQkFTU0VNQkxZKSAkKEVOQUJMRV9XRUJBU1NFTUJMWV9TVFJFQU1JTkdfQVBJKSAkKEVO
QUJMRV9XRUJHTCkgJChFTkFCTEVfV0VCR0wyKSAkKEVOQUJMRV9XRUJHUFUpICQoRU5BQkxFX1dJ
UkVMRVNTX1BMQVlCQUNLX1RBUkdFVCkgJChFTkFCTEVfWFNMVCk7CitGRUFUVVJFX0RFRklORVMg
PSAkKEVOQUJMRV8zRF9UUkFOU0ZPUk1TKSAkKEVOQUJMRV9BQ0NFTEVSQVRFRF8yRF9DQU5WQVMp
ICQoRU5BQkxFX0FDQ0VMRVJBVEVEX09WRVJGTE9XX1NDUk9MTElORykgJChFTkFCTEVfQVBQTEVf
UEFZKSAkKEVOQUJMRV9BUFBMRV9QQVlfU0VTU0lPTl9WMykgJChFTkFCTEVfQVBQTEVfUEFZX1NF
U1NJT05fVjQpICQoRU5BQkxFX0FQUExJQ0FUSU9OX01BTklGRVNUKSAkKEVOQUJMRV9BVFRBQ0hN
RU5UX0VMRU1FTlQpICQoRU5BQkxFX0FWRl9DQVBUSU9OUykgJChFTkFCTEVfQ0FDSEVfUEFSVElU
SU9OSU5HKSAkKEVOQUJMRV9DSEFOTkVMX01FU1NBR0lORykgJChFTkFCTEVfQ09OVEVOVF9GSUxU
RVJJTkcpICQoRU5BQkxFX0NTUzNfVEVYVCkgJChFTkFCTEVfQ1NTX0JPWF9ERUNPUkFUSU9OX0JS
RUFLKSAkKEVOQUJMRV9DU1NfQ09NUE9TSVRJTkcpICQoRU5BQkxFX0NTU19ERVZJQ0VfQURBUFRB
VElPTikgJChFTkFCTEVfQ1NTX0lNQUdFX09SSUVOVEFUSU9OKSAkKEVOQUJMRV9DU1NfSU1BR0Vf
UkVTT0xVVElPTikgJChFTkFCTEVfQ1NTX1NDUk9MTF9TTkFQKSAkKEVOQUJMRV9DU1NfU0VMRUNU
T1JTX0xFVkVMNCkgJChFTkFCTEVfQ1NTX1RSQUlMSU5HX1dPUkQpICQoRU5BQkxFX0NVUlNPUl9W
SVNJQklMSVRZKSAkKEVOQUJMRV9DVVNUT01fU0NIRU1FX0hBTkRMRVIpICQoRU5BQkxFX0RBU0hC
T0FSRF9TVVBQT1JUKSAkKEVOQUJMRV9EQVRBX0lOVEVSQUNUSU9OKSAkKEVOQUJMRV9EQVRBQ1VF
X1ZBTFVFKSAkKEVOQUJMRV9EQVRBTElTVF9FTEVNRU5UKSAkKEVOQUJMRV9ERVZJQ0VfT1JJRU5U
QVRJT04pICQoRU5BQkxFX0RSQUdfU1VQUE9SVCkgJChFTkFCTEVfRU5DUllQVEVEX01FRElBKSAk
KEVOQUJMRV9FWFBFUklNRU5UQUxfRkVBVFVSRVMpICQoRU5BQkxFX0ZBU1RfSklUX1BFUk1JU1NJ
T05TKSAkKEVOQUJMRV9GSUxURVJTX0xFVkVMXzIpICQoRU5BQkxFX0ZUTF9KSVQpICQoRU5BQkxF
X0ZVTExTQ1JFRU5fQVBJKSAkKEVOQUJMRV9HQU1FUEFEKSAkKEVOQUJMRV9HRU9MT0NBVElPTikg
JChFTkFCTEVfSUNPTkRBVEFCQVNFKSAkKEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNFKSAkKEVOQUJM
RV9JTkRFWEVEX0RBVEFCQVNFX0lOX1dPUktFUlMpICQoRU5BQkxFX0lOUFVUX1RZUEVfQ09MT1Ip
ICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURSkgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFVElNRV9J
TkNPTVBMRVRFKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1FTE9DQUwpICQoRU5BQkxFX0lO
UFVUX1RZUEVfTU9OVEgpICQoRU5BQkxFX0lOUFVUX1RZUEVfVElNRSkgJChFTkFCTEVfSU5QVVRf
VFlQRV9XRUVLKSAkKEVOQUJMRV9JTlRFUlNFQ1RJT05fT0JTRVJWRVIpICQoRU5BQkxFX0lOVEwp
ICQoRU5BQkxFX0lPU19HRVNUVVJFX0VWRU5UUykgJChFTkFCTEVfSU9TX1RPVUNIX0VWRU5UUykg
JChFTkFCTEVfSklUKSAkKEVOQUJMRV9KU19BU1lOQ19JVEVSQVRJT04pICQoRU5BQkxFX0tFWUJP
QVJEX0NPREVfQVRUUklCVVRFKSAkKEVOQUJMRV9LRVlCT0FSRF9LRVlfQVRUUklCVVRFKSAkKEVO
QUJMRV9MQVlPVVRfRk9STUFUVElOR19DT05URVhUKSAkKEVOQUJMRV9MRUdBQ1lfQ1NTX1ZFTkRP
Ul9QUkVGSVhFUykgJChFTkFCTEVfTEVHQUNZX0NVU1RPTV9QUk9UT0NPTF9NQU5BR0VSKSAkKEVO
QUJMRV9MRUdBQ1lfRU5DUllQVEVEX01FRElBKSAkKEVOQUJMRV9MRVRURVJQUkVTUykgJChFTkFC
TEVfTUFDX0dFU1RVUkVfRVZFTlRTKSAkKEVOQUJMRV9NQUNfVklERU9fVE9PTEJPWCkgJChFTkFC
TEVfTUFUSE1MKSAkKEVOQUJMRV9NRURJQV9DQVBUVVJFKSAkKEVOQUJMRV9NRURJQV9DT05UUk9M
U19TQ1JJUFQpICQoRU5BQkxFX01FRElBX1NFU1NJT04pICQoRU5BQkxFX01FRElBX1NPVVJDRSkg
JChFTkFCTEVfTUVESUFfU1RBVElTVElDUykgJChFTkFCTEVfTUVESUFfU1RSRUFNKSAkKEVOQUJM
RV9NRVRFUl9FTEVNRU5UKSAkKEVOQUJMRV9NSFRNTCkgJChFTkFCTEVfTU9VU0VfQ1VSU09SX1ND
QUxFKSAkKEVOQUJMRV9OQVZJR0FUT1JfQ09OVEVOVF9VVElMUykgJChFTkFCTEVfTkFWSUdBVE9S
X1NUQU5EQUxPTkUpICQoRU5BQkxFX05PVElGSUNBVElPTlMpICQoRU5BQkxFX1BBWU1FTlRfUkVR
VUVTVCkgJChFTkFCTEVfUERGS0lUX1BMVUdJTikgJChFTkFCTEVfUE9JTlRFUl9MT0NLKSAkKEVO
QUJMRV9QVUJMSUNfU1VGRklYX0xJU1QpICQoRU5BQkxFX1FVT1RBKSAkKEVOQUJMRV9SRU1PVEVf
SU5TUEVDVE9SKSAkKEVOQUJMRV9SRVNPTFVUSU9OX01FRElBX1FVRVJZKSAkKEVOQUJMRV9SRVNP
VVJDRV9VU0FHRSkgJChFTkFCTEVfUlVCQkVSX0JBTkRJTkcpICQoRU5BQkxFX1NFUlZJQ0VfQ09O
VFJPTFMpICQoRU5BQkxFX1NFUlZJQ0VfV09SS0VSKSAkKEVOQUJMRV9TUEVFQ0hfU1lOVEhFU0lT
KSAkKEVOQUJMRV9TVFJFQU1TX0FQSSkgJChFTkFCTEVfU1VCVExFX0NSWVBUTykgJChFTkFCTEVf
U1ZHX0ZPTlRTKSAkKEVOQUJMRV9URUxFUEhPTkVfTlVNQkVSX0RFVEVDVElPTikgJChFTkFCTEVf
VEVYVF9BVVRPU0laSU5HKSAkKEVOQUJMRV9UT1VDSF9FVkVOVFMpICQoRU5BQkxFX1VTRVJfTUVT
U0FHRV9IQU5ETEVSUykgJChFTkFCTEVfVVNFUlNFTEVDVF9BTEwpICQoRU5BQkxFX1ZBUklBVElP
Tl9GT05UUykgJChFTkFCTEVfVklERU8pICQoRU5BQkxFX1ZJREVPX1BSRVNFTlRBVElPTl9NT0RF
KSAkKEVOQUJMRV9WSURFT19UUkFDSykgJChFTkFCTEVfVklERU9fVVNFU19FTEVNRU5UX0ZVTExT
Q1JFRU4pICQoRU5BQkxFX1dFQl9BVURJTykgJChFTkFCTEVfV0VCX0FVVEhOKSAkKEVOQUJMRV9X
RUJfUlRDKSAkKEVOQUJMRV9XRUJBU1NFTUJMWSkgJChFTkFCTEVfV0VCQVNTRU1CTFlfU1RSRUFN
SU5HX0FQSSkgJChFTkFCTEVfV0VCR0wpICQoRU5BQkxFX1dFQkdMMikgJChFTkFCTEVfV0VCTUVU
QUwpICQoRU5BQkxFX1dJUkVMRVNTX1BMQVlCQUNLX1RBUkdFVCkgJChFTkFCTEVfWFNMVCk7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL3Byb3RvY29sL0NhbnZh
cy5qc29uIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9wcm90b2NvbC9DYW52YXMu
anNvbgppbmRleCA4Zjc4ZDkzYjAyNWFmMTk3MTcyNmY1YTExMDQ3MjIwYmI2Y2E5NDk1Li4yMDIz
MjcwZTcyODU1NmRkMDQ4NmVlNGJmMDhhM2FmMjg1ZGY0YjQ5IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL3Byb3RvY29sL0NhbnZhcy5qc29uCisrKyBiL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvcHJvdG9jb2wvQ2FudmFzLmpzb24KQEAgLTE2LDcg
KzE2LDcgQEAKICAgICAgICAgewogICAgICAgICAgICAgImlkIjogIkNvbnRleHRUeXBlIiwKICAg
ICAgICAgICAgICJ0eXBlIjogInN0cmluZyIsCi0gICAgICAgICAgICAiZW51bSI6IFsiY2FudmFz
LTJkIiwgImJpdG1hcHJlbmRlcmVyIiwgIndlYmdsIiwgIndlYmdsMiIsICJ3ZWJncHUiXSwKKyAg
ICAgICAgICAgICJlbnVtIjogWyJjYW52YXMtMmQiLCAiYml0bWFwcmVuZGVyZXIiLCAid2ViZ2wi
LCAid2ViZ2wyIiwgIndlYm1ldGFsIl0sCiAgICAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiVGhl
IHR5cGUgb2YgcmVuZGVyaW5nIGNvbnRleHQgYmFja2luZyB0aGUgY2FudmFzIGVsZW1lbnQuIgog
ICAgICAgICB9LAogICAgICAgICB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
aW5zcGVjdG9yL3NjcmlwdHMvY29kZWdlbi9nZW5lcmF0b3IucHkgYi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvaW5zcGVjdG9yL3NjcmlwdHMvY29kZWdlbi9nZW5lcmF0b3IucHkKaW5kZXggMWM5ODky
ZDAxNTMwNTY1ODU3ODIzOTBhOTliMzFmN2I5NTkxNjA1Ny4uMzhhNTk3OTJhMDQwODAxZTBkMGEx
OWVhMDA5NWFhY2E4OTQ4NzRjMSAxMDA3NTUKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2lu
c3BlY3Rvci9zY3JpcHRzL2NvZGVnZW4vZ2VuZXJhdG9yLnB5CisrKyBiL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9pbnNwZWN0b3Ivc2NyaXB0cy9jb2RlZ2VuL2dlbmVyYXRvci5weQpAQCAtNTAsNyAr
NTAsNyBAQCBfRU5VTV9JREVOVElGSUVSX1JFTkFNRV9NQVAgPSB7CiAgICAgJ2NhbnZhcy13ZWJn
bCc6ICdDYW52YXNXZWJHTCcsICAjIFJlY29yZGluZy5UeXBlLmNhbnZhcy13ZWJnbAogICAgICd3
ZWJnbCc6ICdXZWJHTCcsICAjIENhbnZhcy5Db250ZXh0VHlwZS53ZWJnbAogICAgICd3ZWJnbDIn
OiAnV2ViR0wyJywgICMgQ2FudmFzLkNvbnRleHRUeXBlLndlYmdsMgotICAgICd3ZWJncHUnOiAn
V2ViR1BVJywgICMgQ2FudmFzLkNvbnRleHRUeXBlLndlYmdwdQorICAgICd3ZWJtZXRhbCc6ICdX
ZWJNZXRhbCcsICAjIENhbnZhcy5Db250ZXh0VHlwZS53ZWJtZXRhbAogICAgICdiaXRtYXByZW5k
ZXJlcic6ICdCaXRtYXBSZW5kZXJlcicsICAjIENhbnZhcy5Db250ZXh0VHlwZS5iaXRtYXByZW5k
ZXJlcgogICAgICd3ZWJydGMnOiAnV2ViUlRDJywgICMgQ29uc29sZS5DaGFubmVsU291cmNlLndl
YnJ0YwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvQ29uZmlndXJhdGlvbnMvRmVhdHVy
ZURlZmluZXMueGNjb25maWcgYi9Tb3VyY2UvV2ViQ29yZS9Db25maWd1cmF0aW9ucy9GZWF0dXJl
RGVmaW5lcy54Y2NvbmZpZwppbmRleCA2OGVmY2U5NDJjYTBkY2RlNjIwOWEzMGZiNGU1ZDBiZDg3
NjBhNzgxLi4yNDI5ZGQ4ZGM2OTEyNDM1NmQwMTQ2M2FhYjc3OThlNzg3NzljOTVjIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZp
ZworKysgYi9Tb3VyY2UvV2ViQ29yZS9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2Nv
bmZpZwpAQCAtMzUwLDExICszNTAsMTEgQEAgRU5BQkxFX1dFQkdMID0gRU5BQkxFX1dFQkdMOwog
CiBFTkFCTEVfV0VCR0wyID0gRU5BQkxFX1dFQkdMMjsKIAotRU5BQkxFX1dFQkdQVSA9ICQoRU5B
QkxFX1dFQkdQVV8kKFdLX1BMQVRGT1JNX05BTUUpKTsKLUVOQUJMRV9XRUJHUFVfaXBob25lb3Mg
PSBFTkFCTEVfV0VCR1BVOwotRU5BQkxFX1dFQkdQVV93YXRjaG9zID0gRU5BQkxFX1dFQkdQVTsK
LUVOQUJMRV9XRUJHUFVfYXBwbGV0dm9zID0gRU5BQkxFX1dFQkdQVTsKLUVOQUJMRV9XRUJHUFVf
bWFjb3N4ID0gRU5BQkxFX1dFQkdQVTsKK0VOQUJMRV9XRUJNRVRBTCA9ICQoRU5BQkxFX1dFQk1F
VEFMXyQoV0tfUExBVEZPUk1fTkFNRSkpOworRU5BQkxFX1dFQk1FVEFMX2lwaG9uZW9zID0gRU5B
QkxFX1dFQk1FVEFMOworRU5BQkxFX1dFQk1FVEFMX3dhdGNob3MgPSBFTkFCTEVfV0VCTUVUQUw7
CitFTkFCTEVfV0VCTUVUQUxfYXBwbGV0dm9zID0gRU5BQkxFX1dFQk1FVEFMOworRU5BQkxFX1dF
Qk1FVEFMX21hY29zeCA9IEVOQUJMRV9XRUJNRVRBTDsKIAogRU5BQkxFX1dFQl9BVURJTyA9IEVO
QUJMRV9XRUJfQVVESU87CiAKQEAgLTM3Miw0ICszNzIsNCBAQCBFTkFCTEVfV0lSRUxFU1NfUExB
WUJBQ0tfVEFSR0VUID0gRU5BQkxFX1dJUkVMRVNTX1BMQVlCQUNLX1RBUkdFVDsKIAogRU5BQkxF
X1hTTFQgPSBFTkFCTEVfWFNMVDsKIAotRkVBVFVSRV9ERUZJTkVTID0gJChFTkFCTEVfM0RfVFJB
TlNGT1JNUykgJChFTkFCTEVfQUNDRUxFUkFURURfMkRfQ0FOVkFTKSAkKEVOQUJMRV9BQ0NFTEVS
QVRFRF9PVkVSRkxPV19TQ1JPTExJTkcpICQoRU5BQkxFX0FQUExFX1BBWSkgJChFTkFCTEVfQVBQ
TEVfUEFZX1NFU1NJT05fVjMpICQoRU5BQkxFX0FQUExFX1BBWV9TRVNTSU9OX1Y0KSAkKEVOQUJM
RV9BUFBMSUNBVElPTl9NQU5JRkVTVCkgJChFTkFCTEVfQVRUQUNITUVOVF9FTEVNRU5UKSAkKEVO
QUJMRV9BVkZfQ0FQVElPTlMpICQoRU5BQkxFX0NBQ0hFX1BBUlRJVElPTklORykgJChFTkFCTEVf
Q0hBTk5FTF9NRVNTQUdJTkcpICQoRU5BQkxFX0NPTlRFTlRfRklMVEVSSU5HKSAkKEVOQUJMRV9D
U1MzX1RFWFQpICQoRU5BQkxFX0NTU19CT1hfREVDT1JBVElPTl9CUkVBSykgJChFTkFCTEVfQ1NT
X0NPTVBPU0lUSU5HKSAkKEVOQUJMRV9DU1NfREVWSUNFX0FEQVBUQVRJT04pICQoRU5BQkxFX0NT
U19JTUFHRV9PUklFTlRBVElPTikgJChFTkFCTEVfQ1NTX0lNQUdFX1JFU09MVVRJT04pICQoRU5B
QkxFX0NTU19TQ1JPTExfU05BUCkgJChFTkFCTEVfQ1NTX1NFTEVDVE9SU19MRVZFTDQpICQoRU5B
QkxFX0NTU19UUkFJTElOR19XT1JEKSAkKEVOQUJMRV9DVVJTT1JfVklTSUJJTElUWSkgJChFTkFC
TEVfQ1VTVE9NX1NDSEVNRV9IQU5ETEVSKSAkKEVOQUJMRV9EQVNIQk9BUkRfU1VQUE9SVCkgJChF
TkFCTEVfREFUQV9JTlRFUkFDVElPTikgJChFTkFCTEVfREFUQUNVRV9WQUxVRSkgJChFTkFCTEVf
REFUQUxJU1RfRUxFTUVOVCkgJChFTkFCTEVfREVWSUNFX09SSUVOVEFUSU9OKSAkKEVOQUJMRV9E
UkFHX1NVUFBPUlQpICQoRU5BQkxFX0VOQ1JZUFRFRF9NRURJQSkgJChFTkFCTEVfRVhQRVJJTUVO
VEFMX0ZFQVRVUkVTKSAkKEVOQUJMRV9GQVNUX0pJVF9QRVJNSVNTSU9OUykgJChFTkFCTEVfRklM
VEVSU19MRVZFTF8yKSAkKEVOQUJMRV9GVExfSklUKSAkKEVOQUJMRV9GVUxMU0NSRUVOX0FQSSkg
JChFTkFCTEVfR0FNRVBBRCkgJChFTkFCTEVfR0VPTE9DQVRJT04pICQoRU5BQkxFX0lDT05EQVRB
QkFTRSkgJChFTkFCTEVfSU5ERVhFRF9EQVRBQkFTRSkgJChFTkFCTEVfSU5ERVhFRF9EQVRBQkFT
RV9JTl9XT1JLRVJTKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0NPTE9SKSAkKEVOQUJMRV9JTlBVVF9U
WVBFX0RBVEUpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURVRJTUVfSU5DT01QTEVURSkgJChFTkFC
TEVfSU5QVVRfVFlQRV9EQVRFVElNRUxPQ0FMKSAkKEVOQUJMRV9JTlBVVF9UWVBFX01PTlRIKSAk
KEVOQUJMRV9JTlBVVF9UWVBFX1RJTUUpICQoRU5BQkxFX0lOUFVUX1RZUEVfV0VFSykgJChFTkFC
TEVfSU5URVJTRUNUSU9OX09CU0VSVkVSKSAkKEVOQUJMRV9JTlRMKSAkKEVOQUJMRV9JT1NfR0VT
VFVSRV9FVkVOVFMpICQoRU5BQkxFX0lPU19UT1VDSF9FVkVOVFMpICQoRU5BQkxFX0pJVCkgJChF
TkFCTEVfSlNfQVNZTkNfSVRFUkFUSU9OKSAkKEVOQUJMRV9LRVlCT0FSRF9DT0RFX0FUVFJJQlVU
RSkgJChFTkFCTEVfS0VZQk9BUkRfS0VZX0FUVFJJQlVURSkgJChFTkFCTEVfTEFZT1VUX0ZPUk1B
VFRJTkdfQ09OVEVYVCkgJChFTkFCTEVfTEVHQUNZX0NTU19WRU5ET1JfUFJFRklYRVMpICQoRU5B
QkxFX0xFR0FDWV9DVVNUT01fUFJPVE9DT0xfTUFOQUdFUikgJChFTkFCTEVfTEVHQUNZX0VOQ1JZ
UFRFRF9NRURJQSkgJChFTkFCTEVfTEVUVEVSUFJFU1MpICQoRU5BQkxFX01BQ19HRVNUVVJFX0VW
RU5UUykgJChFTkFCTEVfTUFDX1ZJREVPX1RPT0xCT1gpICQoRU5BQkxFX01BVEhNTCkgJChFTkFC
TEVfTUVESUFfQ0FQVFVSRSkgJChFTkFCTEVfTUVESUFfQ09OVFJPTFNfU0NSSVBUKSAkKEVOQUJM
RV9NRURJQV9TRVNTSU9OKSAkKEVOQUJMRV9NRURJQV9TT1VSQ0UpICQoRU5BQkxFX01FRElBX1NU
QVRJU1RJQ1MpICQoRU5BQkxFX01FRElBX1NUUkVBTSkgJChFTkFCTEVfTUVURVJfRUxFTUVOVCkg
JChFTkFCTEVfTUhUTUwpICQoRU5BQkxFX01PVVNFX0NVUlNPUl9TQ0FMRSkgJChFTkFCTEVfTkFW
SUdBVE9SX0NPTlRFTlRfVVRJTFMpICQoRU5BQkxFX05BVklHQVRPUl9TVEFOREFMT05FKSAkKEVO
QUJMRV9OT1RJRklDQVRJT05TKSAkKEVOQUJMRV9QQVlNRU5UX1JFUVVFU1QpICQoRU5BQkxFX1BE
RktJVF9QTFVHSU4pICQoRU5BQkxFX1BPSU5URVJfTE9DSykgJChFTkFCTEVfUFVCTElDX1NVRkZJ
WF9MSVNUKSAkKEVOQUJMRV9RVU9UQSkgJChFTkFCTEVfUkVNT1RFX0lOU1BFQ1RPUikgJChFTkFC
TEVfUkVTT0xVVElPTl9NRURJQV9RVUVSWSkgJChFTkFCTEVfUkVTT1VSQ0VfVVNBR0UpICQoRU5B
QkxFX1JVQkJFUl9CQU5ESU5HKSAkKEVOQUJMRV9TRVJWSUNFX0NPTlRST0xTKSAkKEVOQUJMRV9T
RVJWSUNFX1dPUktFUikgJChFTkFCTEVfU1BFRUNIX1NZTlRIRVNJUykgJChFTkFCTEVfU1RSRUFN
U19BUEkpICQoRU5BQkxFX1NVQlRMRV9DUllQVE8pICQoRU5BQkxFX1NWR19GT05UUykgJChFTkFC
TEVfVEVMRVBIT05FX05VTUJFUl9ERVRFQ1RJT04pICQoRU5BQkxFX1RFWFRfQVVUT1NJWklORykg
JChFTkFCTEVfVE9VQ0hfRVZFTlRTKSAkKEVOQUJMRV9VU0VSX01FU1NBR0VfSEFORExFUlMpICQo
RU5BQkxFX1VTRVJTRUxFQ1RfQUxMKSAkKEVOQUJMRV9WQVJJQVRJT05fRk9OVFMpICQoRU5BQkxF
X1ZJREVPKSAkKEVOQUJMRV9WSURFT19QUkVTRU5UQVRJT05fTU9ERSkgJChFTkFCTEVfVklERU9f
VFJBQ0spICQoRU5BQkxFX1ZJREVPX1VTRVNfRUxFTUVOVF9GVUxMU0NSRUVOKSAkKEVOQUJMRV9X
RUJfQVVESU8pICQoRU5BQkxFX1dFQl9BVVRITikgJChFTkFCTEVfV0VCX1JUQykgJChFTkFCTEVf
V0VCQVNTRU1CTFkpICQoRU5BQkxFX1dFQkFTU0VNQkxZX1NUUkVBTUlOR19BUEkpICQoRU5BQkxF
X1dFQkdMKSAkKEVOQUJMRV9XRUJHTDIpICQoRU5BQkxFX1dFQkdQVSkgJChFTkFCTEVfV0lSRUxF
U1NfUExBWUJBQ0tfVEFSR0VUKSAkKEVOQUJMRV9YU0xUKTsKK0ZFQVRVUkVfREVGSU5FUyA9ICQo
RU5BQkxFXzNEX1RSQU5TRk9STVMpICQoRU5BQkxFX0FDQ0VMRVJBVEVEXzJEX0NBTlZBUykgJChF
TkFCTEVfQUNDRUxFUkFURURfT1ZFUkZMT1dfU0NST0xMSU5HKSAkKEVOQUJMRV9BUFBMRV9QQVkp
ICQoRU5BQkxFX0FQUExFX1BBWV9TRVNTSU9OX1YzKSAkKEVOQUJMRV9BUFBMRV9QQVlfU0VTU0lP
Tl9WNCkgJChFTkFCTEVfQVBQTElDQVRJT05fTUFOSUZFU1QpICQoRU5BQkxFX0FUVEFDSE1FTlRf
RUxFTUVOVCkgJChFTkFCTEVfQVZGX0NBUFRJT05TKSAkKEVOQUJMRV9DQUNIRV9QQVJUSVRJT05J
TkcpICQoRU5BQkxFX0NIQU5ORUxfTUVTU0FHSU5HKSAkKEVOQUJMRV9DT05URU5UX0ZJTFRFUklO
RykgJChFTkFCTEVfQ1NTM19URVhUKSAkKEVOQUJMRV9DU1NfQk9YX0RFQ09SQVRJT05fQlJFQUsp
ICQoRU5BQkxFX0NTU19DT01QT1NJVElORykgJChFTkFCTEVfQ1NTX0RFVklDRV9BREFQVEFUSU9O
KSAkKEVOQUJMRV9DU1NfSU1BR0VfT1JJRU5UQVRJT04pICQoRU5BQkxFX0NTU19JTUFHRV9SRVNP
TFVUSU9OKSAkKEVOQUJMRV9DU1NfU0NST0xMX1NOQVApICQoRU5BQkxFX0NTU19TRUxFQ1RPUlNf
TEVWRUw0KSAkKEVOQUJMRV9DU1NfVFJBSUxJTkdfV09SRCkgJChFTkFCTEVfQ1VSU09SX1ZJU0lC
SUxJVFkpICQoRU5BQkxFX0NVU1RPTV9TQ0hFTUVfSEFORExFUikgJChFTkFCTEVfREFTSEJPQVJE
X1NVUFBPUlQpICQoRU5BQkxFX0RBVEFfSU5URVJBQ1RJT04pICQoRU5BQkxFX0RBVEFDVUVfVkFM
VUUpICQoRU5BQkxFX0RBVEFMSVNUX0VMRU1FTlQpICQoRU5BQkxFX0RFVklDRV9PUklFTlRBVElP
TikgJChFTkFCTEVfRFJBR19TVVBQT1JUKSAkKEVOQUJMRV9FTkNSWVBURURfTUVESUEpICQoRU5B
QkxFX0VYUEVSSU1FTlRBTF9GRUFUVVJFUykgJChFTkFCTEVfRkFTVF9KSVRfUEVSTUlTU0lPTlMp
ICQoRU5BQkxFX0ZJTFRFUlNfTEVWRUxfMikgJChFTkFCTEVfRlRMX0pJVCkgJChFTkFCTEVfRlVM
TFNDUkVFTl9BUEkpICQoRU5BQkxFX0dBTUVQQUQpICQoRU5BQkxFX0dFT0xPQ0FUSU9OKSAkKEVO
QUJMRV9JQ09OREFUQUJBU0UpICQoRU5BQkxFX0lOREVYRURfREFUQUJBU0UpICQoRU5BQkxFX0lO
REVYRURfREFUQUJBU0VfSU5fV09SS0VSUykgJChFTkFCTEVfSU5QVVRfVFlQRV9DT0xPUikgJChF
TkFCTEVfSU5QVVRfVFlQRV9EQVRFKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1FX0lOQ09N
UExFVEUpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURVRJTUVMT0NBTCkgJChFTkFCTEVfSU5QVVRf
VFlQRV9NT05USCkgJChFTkFCTEVfSU5QVVRfVFlQRV9USU1FKSAkKEVOQUJMRV9JTlBVVF9UWVBF
X1dFRUspICQoRU5BQkxFX0lOVEVSU0VDVElPTl9PQlNFUlZFUikgJChFTkFCTEVfSU5UTCkgJChF
TkFCTEVfSU9TX0dFU1RVUkVfRVZFTlRTKSAkKEVOQUJMRV9JT1NfVE9VQ0hfRVZFTlRTKSAkKEVO
QUJMRV9KSVQpICQoRU5BQkxFX0pTX0FTWU5DX0lURVJBVElPTikgJChFTkFCTEVfS0VZQk9BUkRf
Q09ERV9BVFRSSUJVVEUpICQoRU5BQkxFX0tFWUJPQVJEX0tFWV9BVFRSSUJVVEUpICQoRU5BQkxF
X0xBWU9VVF9GT1JNQVRUSU5HX0NPTlRFWFQpICQoRU5BQkxFX0xFR0FDWV9DU1NfVkVORE9SX1BS
RUZJWEVTKSAkKEVOQUJMRV9MRUdBQ1lfQ1VTVE9NX1BST1RPQ09MX01BTkFHRVIpICQoRU5BQkxF
X0xFR0FDWV9FTkNSWVBURURfTUVESUEpICQoRU5BQkxFX0xFVFRFUlBSRVNTKSAkKEVOQUJMRV9N
QUNfR0VTVFVSRV9FVkVOVFMpICQoRU5BQkxFX01BQ19WSURFT19UT09MQk9YKSAkKEVOQUJMRV9N
QVRITUwpICQoRU5BQkxFX01FRElBX0NBUFRVUkUpICQoRU5BQkxFX01FRElBX0NPTlRST0xTX1ND
UklQVCkgJChFTkFCTEVfTUVESUFfU0VTU0lPTikgJChFTkFCTEVfTUVESUFfU09VUkNFKSAkKEVO
QUJMRV9NRURJQV9TVEFUSVNUSUNTKSAkKEVOQUJMRV9NRURJQV9TVFJFQU0pICQoRU5BQkxFX01F
VEVSX0VMRU1FTlQpICQoRU5BQkxFX01IVE1MKSAkKEVOQUJMRV9NT1VTRV9DVVJTT1JfU0NBTEUp
ICQoRU5BQkxFX05BVklHQVRPUl9DT05URU5UX1VUSUxTKSAkKEVOQUJMRV9OQVZJR0FUT1JfU1RB
TkRBTE9ORSkgJChFTkFCTEVfTk9USUZJQ0FUSU9OUykgJChFTkFCTEVfUEFZTUVOVF9SRVFVRVNU
KSAkKEVOQUJMRV9QREZLSVRfUExVR0lOKSAkKEVOQUJMRV9QT0lOVEVSX0xPQ0spICQoRU5BQkxF
X1BVQkxJQ19TVUZGSVhfTElTVCkgJChFTkFCTEVfUVVPVEEpICQoRU5BQkxFX1JFTU9URV9JTlNQ
RUNUT1IpICQoRU5BQkxFX1JFU09MVVRJT05fTUVESUFfUVVFUlkpICQoRU5BQkxFX1JFU09VUkNF
X1VTQUdFKSAkKEVOQUJMRV9SVUJCRVJfQkFORElORykgJChFTkFCTEVfU0VSVklDRV9DT05UUk9M
UykgJChFTkFCTEVfU0VSVklDRV9XT1JLRVIpICQoRU5BQkxFX1NQRUVDSF9TWU5USEVTSVMpICQo
RU5BQkxFX1NUUkVBTVNfQVBJKSAkKEVOQUJMRV9TVUJUTEVfQ1JZUFRPKSAkKEVOQUJMRV9TVkdf
Rk9OVFMpICQoRU5BQkxFX1RFTEVQSE9ORV9OVU1CRVJfREVURUNUSU9OKSAkKEVOQUJMRV9URVhU
X0FVVE9TSVpJTkcpICQoRU5BQkxFX1RPVUNIX0VWRU5UUykgJChFTkFCTEVfVVNFUl9NRVNTQUdF
X0hBTkRMRVJTKSAkKEVOQUJMRV9VU0VSU0VMRUNUX0FMTCkgJChFTkFCTEVfVkFSSUFUSU9OX0ZP
TlRTKSAkKEVOQUJMRV9WSURFTykgJChFTkFCTEVfVklERU9fUFJFU0VOVEFUSU9OX01PREUpICQo
RU5BQkxFX1ZJREVPX1RSQUNLKSAkKEVOQUJMRV9WSURFT19VU0VTX0VMRU1FTlRfRlVMTFNDUkVF
TikgJChFTkFCTEVfV0VCX0FVRElPKSAkKEVOQUJMRV9XRUJfQVVUSE4pICQoRU5BQkxFX1dFQl9S
VEMpICQoRU5BQkxFX1dFQkFTU0VNQkxZKSAkKEVOQUJMRV9XRUJBU1NFTUJMWV9TVFJFQU1JTkdf
QVBJKSAkKEVOQUJMRV9XRUJHTCkgJChFTkFCTEVfV0VCR0wyKSAkKEVOQUJMRV9XRUJNRVRBTCkg
JChFTkFCTEVfV0lSRUxFU1NfUExBWUJBQ0tfVEFSR0VUKSAkKEVOQUJMRV9YU0xUKTsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UgYi9Tb3VyY2UvV2ViQ29y
ZS9EZXJpdmVkU291cmNlcy5tYWtlCmluZGV4IDgyZjY0NThjZmVkNzk2NWIzN2UyNDU3NGM5M2I1
Y2ZhNTUzYmNmM2UuLjA5NTRjMjc2N2NkMmZjZWQ1ODAxZGEzZWJlZTM3ODA2ODMwMDM5MDkgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UKKysrIGIvU291cmNl
L1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMubWFrZQpAQCAtNzQ0LDI4ICs3NDQsMjggQEAgSlNfQklO
RElOR19JRExTID0gXAogICAgICQoV2ViQ29yZSkvaHRtbC9jYW52YXMvV2ViR0xVbmlmb3JtTG9j
YXRpb24uaWRsIFwKICAgICAkKFdlYkNvcmUpL2h0bWwvY2FudmFzL1dlYkdMVmVydGV4QXJyYXlP
YmplY3QuaWRsIFwKICAgICAkKFdlYkNvcmUpL2h0bWwvY2FudmFzL1dlYkdMVmVydGV4QXJyYXlP
YmplY3RPRVMuaWRsIFwKLSAgICAkKFdlYkNvcmUpL2h0bWwvY2FudmFzL1dlYkdQVUJ1ZmZlci5p
ZGwgXAotICAgICQoV2ViQ29yZSkvaHRtbC9jYW52YXMvV2ViR1BVQ29tbWFuZEJ1ZmZlci5pZGwg
XAotICAgICQoV2ViQ29yZSkvaHRtbC9jYW52YXMvV2ViR1BVQ29tbWFuZFF1ZXVlLmlkbCBcCi0J
JChXZWJDb3JlKS9odG1sL2NhbnZhcy9XZWJHUFVDb21wdXRlQ29tbWFuZEVuY29kZXIuaWRsIFwK
LQkkKFdlYkNvcmUpL2h0bWwvY2FudmFzL1dlYkdQVUNvbXB1dGVQaXBlbGluZVN0YXRlLmlkbCBc
Ci0gICAgJChXZWJDb3JlKS9odG1sL2NhbnZhcy9XZWJHUFVEZXB0aFN0ZW5jaWxEZXNjcmlwdG9y
LmlkbCBcCi0gICAgJChXZWJDb3JlKS9odG1sL2NhbnZhcy9XZWJHUFVEZXB0aFN0ZW5jaWxTdGF0
ZS5pZGwgXAotICAgICQoV2ViQ29yZSkvaHRtbC9jYW52YXMvV2ViR1BVRHJhd2FibGUuaWRsIFwK
LSAgICAkKFdlYkNvcmUpL2h0bWwvY2FudmFzL1dlYkdQVUZ1bmN0aW9uLmlkbCBcCi0gICAgJChX
ZWJDb3JlKS9odG1sL2NhbnZhcy9XZWJHUFVMaWJyYXJ5LmlkbCBcCi0gICAgJChXZWJDb3JlKS9o
dG1sL2NhbnZhcy9XZWJHUFVSZW5kZXJDb21tYW5kRW5jb2Rlci5pZGwgXAotICAgICQoV2ViQ29y
ZSkvaHRtbC9jYW52YXMvV2ViR1BVUmVuZGVyaW5nQ29udGV4dC5pZGwgXAotICAgICQoV2ViQ29y
ZSkvaHRtbC9jYW52YXMvV2ViR1BVUmVuZGVyUGFzc0F0dGFjaG1lbnREZXNjcmlwdG9yLmlkbCBc
Ci0gICAgJChXZWJDb3JlKS9odG1sL2NhbnZhcy9XZWJHUFVSZW5kZXJQYXNzQ29sb3JBdHRhY2ht
ZW50RGVzY3JpcHRvci5pZGwgXAotICAgICQoV2ViQ29yZSkvaHRtbC9jYW52YXMvV2ViR1BVUmVu
ZGVyUGFzc0RlcHRoQXR0YWNobWVudERlc2NyaXB0b3IuaWRsIFwKLSAgICAkKFdlYkNvcmUpL2h0
bWwvY2FudmFzL1dlYkdQVVJlbmRlclBhc3NEZXNjcmlwdG9yLmlkbCBcCi0gICAgJChXZWJDb3Jl
KS9odG1sL2NhbnZhcy9XZWJHUFVSZW5kZXJQaXBlbGluZUNvbG9yQXR0YWNobWVudERlc2NyaXB0
b3IuaWRsIFwKLSAgICAkKFdlYkNvcmUpL2h0bWwvY2FudmFzL1dlYkdQVVJlbmRlclBpcGVsaW5l
RGVzY3JpcHRvci5pZGwgXAotICAgICQoV2ViQ29yZSkvaHRtbC9jYW52YXMvV2ViR1BVUmVuZGVy
UGlwZWxpbmVTdGF0ZS5pZGwgXAotCSQoV2ViQ29yZSkvaHRtbC9jYW52YXMvV2ViR1BVU2l6ZS5p
ZGwgXAotICAgICQoV2ViQ29yZSkvaHRtbC9jYW52YXMvV2ViR1BVVGV4dHVyZS5pZGwgXAotICAg
ICQoV2ViQ29yZSkvaHRtbC9jYW52YXMvV2ViR1BVVGV4dHVyZURlc2NyaXB0b3IuaWRsIFwKKyAg
ICAkKFdlYkNvcmUpL2h0bWwvY2FudmFzL1dlYk1ldGFsQnVmZmVyLmlkbCBcCisgICAgJChXZWJD
b3JlKS9odG1sL2NhbnZhcy9XZWJNZXRhbENvbW1hbmRCdWZmZXIuaWRsIFwKKyAgICAkKFdlYkNv
cmUpL2h0bWwvY2FudmFzL1dlYk1ldGFsQ29tbWFuZFF1ZXVlLmlkbCBcCisJJChXZWJDb3JlKS9o
dG1sL2NhbnZhcy9XZWJNZXRhbENvbXB1dGVDb21tYW5kRW5jb2Rlci5pZGwgXAorCSQoV2ViQ29y
ZSkvaHRtbC9jYW52YXMvV2ViTWV0YWxDb21wdXRlUGlwZWxpbmVTdGF0ZS5pZGwgXAorICAgICQo
V2ViQ29yZSkvaHRtbC9jYW52YXMvV2ViTWV0YWxEZXB0aFN0ZW5jaWxEZXNjcmlwdG9yLmlkbCBc
CisgICAgJChXZWJDb3JlKS9odG1sL2NhbnZhcy9XZWJNZXRhbERlcHRoU3RlbmNpbFN0YXRlLmlk
bCBcCisgICAgJChXZWJDb3JlKS9odG1sL2NhbnZhcy9XZWJNZXRhbERyYXdhYmxlLmlkbCBcCisg
ICAgJChXZWJDb3JlKS9odG1sL2NhbnZhcy9XZWJNZXRhbEZ1bmN0aW9uLmlkbCBcCisgICAgJChX
ZWJDb3JlKS9odG1sL2NhbnZhcy9XZWJNZXRhbExpYnJhcnkuaWRsIFwKKyAgICAkKFdlYkNvcmUp
L2h0bWwvY2FudmFzL1dlYk1ldGFsUmVuZGVyQ29tbWFuZEVuY29kZXIuaWRsIFwKKyAgICAkKFdl
YkNvcmUpL2h0bWwvY2FudmFzL1dlYk1ldGFsUmVuZGVyaW5nQ29udGV4dC5pZGwgXAorICAgICQo
V2ViQ29yZSkvaHRtbC9jYW52YXMvV2ViTWV0YWxSZW5kZXJQYXNzQXR0YWNobWVudERlc2NyaXB0
b3IuaWRsIFwKKyAgICAkKFdlYkNvcmUpL2h0bWwvY2FudmFzL1dlYk1ldGFsUmVuZGVyUGFzc0Nv
bG9yQXR0YWNobWVudERlc2NyaXB0b3IuaWRsIFwKKyAgICAkKFdlYkNvcmUpL2h0bWwvY2FudmFz
L1dlYk1ldGFsUmVuZGVyUGFzc0RlcHRoQXR0YWNobWVudERlc2NyaXB0b3IuaWRsIFwKKyAgICAk
KFdlYkNvcmUpL2h0bWwvY2FudmFzL1dlYk1ldGFsUmVuZGVyUGFzc0Rlc2NyaXB0b3IuaWRsIFwK
KyAgICAkKFdlYkNvcmUpL2h0bWwvY2FudmFzL1dlYk1ldGFsUmVuZGVyUGlwZWxpbmVDb2xvckF0
dGFjaG1lbnREZXNjcmlwdG9yLmlkbCBcCisgICAgJChXZWJDb3JlKS9odG1sL2NhbnZhcy9XZWJN
ZXRhbFJlbmRlclBpcGVsaW5lRGVzY3JpcHRvci5pZGwgXAorICAgICQoV2ViQ29yZSkvaHRtbC9j
YW52YXMvV2ViTWV0YWxSZW5kZXJQaXBlbGluZVN0YXRlLmlkbCBcCisJJChXZWJDb3JlKS9odG1s
L2NhbnZhcy9XZWJNZXRhbFNpemUuaWRsIFwKKyAgICAkKFdlYkNvcmUpL2h0bWwvY2FudmFzL1dl
Yk1ldGFsVGV4dHVyZS5pZGwgXAorICAgICQoV2ViQ29yZSkvaHRtbC9jYW52YXMvV2ViTWV0YWxU
ZXh0dXJlRGVzY3JpcHRvci5pZGwgXAogICAgICQoV2ViQ29yZSkvaHRtbC90cmFjay9BdWRpb1Ry
YWNrLmlkbCBcCiAgICAgJChXZWJDb3JlKS9odG1sL3RyYWNrL0F1ZGlvVHJhY2tMaXN0LmlkbCBc
CiAgICAgJChXZWJDb3JlKS9odG1sL3RyYWNrL0RhdGFDdWUuaWRsIFwKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL1BBTC9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZyBi
L1NvdXJjZS9XZWJDb3JlL1BBTC9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZp
ZwppbmRleCA2OGVmY2U5NDJjYTBkY2RlNjIwOWEzMGZiNGU1ZDBiZDg3NjBhNzgxLi4yNDI5ZGQ4
ZGM2OTEyNDM1NmQwMTQ2M2FhYjc3OThlNzg3NzljOTVjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9QQUwvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWcKKysrIGIvU291
cmNlL1dlYkNvcmUvUEFML0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnCkBA
IC0zNTAsMTEgKzM1MCwxMSBAQCBFTkFCTEVfV0VCR0wgPSBFTkFCTEVfV0VCR0w7CiAKIEVOQUJM
RV9XRUJHTDIgPSBFTkFCTEVfV0VCR0wyOwogCi1FTkFCTEVfV0VCR1BVID0gJChFTkFCTEVfV0VC
R1BVXyQoV0tfUExBVEZPUk1fTkFNRSkpOwotRU5BQkxFX1dFQkdQVV9pcGhvbmVvcyA9IEVOQUJM
RV9XRUJHUFU7Ci1FTkFCTEVfV0VCR1BVX3dhdGNob3MgPSBFTkFCTEVfV0VCR1BVOwotRU5BQkxF
X1dFQkdQVV9hcHBsZXR2b3MgPSBFTkFCTEVfV0VCR1BVOwotRU5BQkxFX1dFQkdQVV9tYWNvc3gg
PSBFTkFCTEVfV0VCR1BVOworRU5BQkxFX1dFQk1FVEFMID0gJChFTkFCTEVfV0VCTUVUQUxfJChX
S19QTEFURk9STV9OQU1FKSk7CitFTkFCTEVfV0VCTUVUQUxfaXBob25lb3MgPSBFTkFCTEVfV0VC
TUVUQUw7CitFTkFCTEVfV0VCTUVUQUxfd2F0Y2hvcyA9IEVOQUJMRV9XRUJNRVRBTDsKK0VOQUJM
RV9XRUJNRVRBTF9hcHBsZXR2b3MgPSBFTkFCTEVfV0VCTUVUQUw7CitFTkFCTEVfV0VCTUVUQUxf
bWFjb3N4ID0gRU5BQkxFX1dFQk1FVEFMOwogCiBFTkFCTEVfV0VCX0FVRElPID0gRU5BQkxFX1dF
Ql9BVURJTzsKIApAQCAtMzcyLDQgKzM3Miw0IEBAIEVOQUJMRV9XSVJFTEVTU19QTEFZQkFDS19U
QVJHRVQgPSBFTkFCTEVfV0lSRUxFU1NfUExBWUJBQ0tfVEFSR0VUOwogCiBFTkFCTEVfWFNMVCA9
IEVOQUJMRV9YU0xUOwogCi1GRUFUVVJFX0RFRklORVMgPSAkKEVOQUJMRV8zRF9UUkFOU0ZPUk1T
KSAkKEVOQUJMRV9BQ0NFTEVSQVRFRF8yRF9DQU5WQVMpICQoRU5BQkxFX0FDQ0VMRVJBVEVEX09W
RVJGTE9XX1NDUk9MTElORykgJChFTkFCTEVfQVBQTEVfUEFZKSAkKEVOQUJMRV9BUFBMRV9QQVlf
U0VTU0lPTl9WMykgJChFTkFCTEVfQVBQTEVfUEFZX1NFU1NJT05fVjQpICQoRU5BQkxFX0FQUExJ
Q0FUSU9OX01BTklGRVNUKSAkKEVOQUJMRV9BVFRBQ0hNRU5UX0VMRU1FTlQpICQoRU5BQkxFX0FW
Rl9DQVBUSU9OUykgJChFTkFCTEVfQ0FDSEVfUEFSVElUSU9OSU5HKSAkKEVOQUJMRV9DSEFOTkVM
X01FU1NBR0lORykgJChFTkFCTEVfQ09OVEVOVF9GSUxURVJJTkcpICQoRU5BQkxFX0NTUzNfVEVY
VCkgJChFTkFCTEVfQ1NTX0JPWF9ERUNPUkFUSU9OX0JSRUFLKSAkKEVOQUJMRV9DU1NfQ09NUE9T
SVRJTkcpICQoRU5BQkxFX0NTU19ERVZJQ0VfQURBUFRBVElPTikgJChFTkFCTEVfQ1NTX0lNQUdF
X09SSUVOVEFUSU9OKSAkKEVOQUJMRV9DU1NfSU1BR0VfUkVTT0xVVElPTikgJChFTkFCTEVfQ1NT
X1NDUk9MTF9TTkFQKSAkKEVOQUJMRV9DU1NfU0VMRUNUT1JTX0xFVkVMNCkgJChFTkFCTEVfQ1NT
X1RSQUlMSU5HX1dPUkQpICQoRU5BQkxFX0NVUlNPUl9WSVNJQklMSVRZKSAkKEVOQUJMRV9DVVNU
T01fU0NIRU1FX0hBTkRMRVIpICQoRU5BQkxFX0RBU0hCT0FSRF9TVVBQT1JUKSAkKEVOQUJMRV9E
QVRBX0lOVEVSQUNUSU9OKSAkKEVOQUJMRV9EQVRBQ1VFX1ZBTFVFKSAkKEVOQUJMRV9EQVRBTElT
VF9FTEVNRU5UKSAkKEVOQUJMRV9ERVZJQ0VfT1JJRU5UQVRJT04pICQoRU5BQkxFX0RSQUdfU1VQ
UE9SVCkgJChFTkFCTEVfRU5DUllQVEVEX01FRElBKSAkKEVOQUJMRV9FWFBFUklNRU5UQUxfRkVB
VFVSRVMpICQoRU5BQkxFX0ZBU1RfSklUX1BFUk1JU1NJT05TKSAkKEVOQUJMRV9GSUxURVJTX0xF
VkVMXzIpICQoRU5BQkxFX0ZUTF9KSVQpICQoRU5BQkxFX0ZVTExTQ1JFRU5fQVBJKSAkKEVOQUJM
RV9HQU1FUEFEKSAkKEVOQUJMRV9HRU9MT0NBVElPTikgJChFTkFCTEVfSUNPTkRBVEFCQVNFKSAk
KEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNFKSAkKEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNFX0lOX1dP
UktFUlMpICQoRU5BQkxFX0lOUFVUX1RZUEVfQ09MT1IpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFU
RSkgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFVElNRV9JTkNPTVBMRVRFKSAkKEVOQUJMRV9JTlBV
VF9UWVBFX0RBVEVUSU1FTE9DQUwpICQoRU5BQkxFX0lOUFVUX1RZUEVfTU9OVEgpICQoRU5BQkxF
X0lOUFVUX1RZUEVfVElNRSkgJChFTkFCTEVfSU5QVVRfVFlQRV9XRUVLKSAkKEVOQUJMRV9JTlRF
UlNFQ1RJT05fT0JTRVJWRVIpICQoRU5BQkxFX0lOVEwpICQoRU5BQkxFX0lPU19HRVNUVVJFX0VW
RU5UUykgJChFTkFCTEVfSU9TX1RPVUNIX0VWRU5UUykgJChFTkFCTEVfSklUKSAkKEVOQUJMRV9K
U19BU1lOQ19JVEVSQVRJT04pICQoRU5BQkxFX0tFWUJPQVJEX0NPREVfQVRUUklCVVRFKSAkKEVO
QUJMRV9LRVlCT0FSRF9LRVlfQVRUUklCVVRFKSAkKEVOQUJMRV9MQVlPVVRfRk9STUFUVElOR19D
T05URVhUKSAkKEVOQUJMRV9MRUdBQ1lfQ1NTX1ZFTkRPUl9QUkVGSVhFUykgJChFTkFCTEVfTEVH
QUNZX0NVU1RPTV9QUk9UT0NPTF9NQU5BR0VSKSAkKEVOQUJMRV9MRUdBQ1lfRU5DUllQVEVEX01F
RElBKSAkKEVOQUJMRV9MRVRURVJQUkVTUykgJChFTkFCTEVfTUFDX0dFU1RVUkVfRVZFTlRTKSAk
KEVOQUJMRV9NQUNfVklERU9fVE9PTEJPWCkgJChFTkFCTEVfTUFUSE1MKSAkKEVOQUJMRV9NRURJ
QV9DQVBUVVJFKSAkKEVOQUJMRV9NRURJQV9DT05UUk9MU19TQ1JJUFQpICQoRU5BQkxFX01FRElB
X1NFU1NJT04pICQoRU5BQkxFX01FRElBX1NPVVJDRSkgJChFTkFCTEVfTUVESUFfU1RBVElTVElD
UykgJChFTkFCTEVfTUVESUFfU1RSRUFNKSAkKEVOQUJMRV9NRVRFUl9FTEVNRU5UKSAkKEVOQUJM
RV9NSFRNTCkgJChFTkFCTEVfTU9VU0VfQ1VSU09SX1NDQUxFKSAkKEVOQUJMRV9OQVZJR0FUT1Jf
Q09OVEVOVF9VVElMUykgJChFTkFCTEVfTkFWSUdBVE9SX1NUQU5EQUxPTkUpICQoRU5BQkxFX05P
VElGSUNBVElPTlMpICQoRU5BQkxFX1BBWU1FTlRfUkVRVUVTVCkgJChFTkFCTEVfUERGS0lUX1BM
VUdJTikgJChFTkFCTEVfUE9JTlRFUl9MT0NLKSAkKEVOQUJMRV9QVUJMSUNfU1VGRklYX0xJU1Qp
ICQoRU5BQkxFX1FVT1RBKSAkKEVOQUJMRV9SRU1PVEVfSU5TUEVDVE9SKSAkKEVOQUJMRV9SRVNP
TFVUSU9OX01FRElBX1FVRVJZKSAkKEVOQUJMRV9SRVNPVVJDRV9VU0FHRSkgJChFTkFCTEVfUlVC
QkVSX0JBTkRJTkcpICQoRU5BQkxFX1NFUlZJQ0VfQ09OVFJPTFMpICQoRU5BQkxFX1NFUlZJQ0Vf
V09SS0VSKSAkKEVOQUJMRV9TUEVFQ0hfU1lOVEhFU0lTKSAkKEVOQUJMRV9TVFJFQU1TX0FQSSkg
JChFTkFCTEVfU1VCVExFX0NSWVBUTykgJChFTkFCTEVfU1ZHX0ZPTlRTKSAkKEVOQUJMRV9URUxF
UEhPTkVfTlVNQkVSX0RFVEVDVElPTikgJChFTkFCTEVfVEVYVF9BVVRPU0laSU5HKSAkKEVOQUJM
RV9UT1VDSF9FVkVOVFMpICQoRU5BQkxFX1VTRVJfTUVTU0FHRV9IQU5ETEVSUykgJChFTkFCTEVf
VVNFUlNFTEVDVF9BTEwpICQoRU5BQkxFX1ZBUklBVElPTl9GT05UUykgJChFTkFCTEVfVklERU8p
ICQoRU5BQkxFX1ZJREVPX1BSRVNFTlRBVElPTl9NT0RFKSAkKEVOQUJMRV9WSURFT19UUkFDSykg
JChFTkFCTEVfVklERU9fVVNFU19FTEVNRU5UX0ZVTExTQ1JFRU4pICQoRU5BQkxFX1dFQl9BVURJ
TykgJChFTkFCTEVfV0VCX0FVVEhOKSAkKEVOQUJMRV9XRUJfUlRDKSAkKEVOQUJMRV9XRUJBU1NF
TUJMWSkgJChFTkFCTEVfV0VCQVNTRU1CTFlfU1RSRUFNSU5HX0FQSSkgJChFTkFCTEVfV0VCR0wp
ICQoRU5BQkxFX1dFQkdMMikgJChFTkFCTEVfV0VCR1BVKSAkKEVOQUJMRV9XSVJFTEVTU19QTEFZ
QkFDS19UQVJHRVQpICQoRU5BQkxFX1hTTFQpOworRkVBVFVSRV9ERUZJTkVTID0gJChFTkFCTEVf
M0RfVFJBTlNGT1JNUykgJChFTkFCTEVfQUNDRUxFUkFURURfMkRfQ0FOVkFTKSAkKEVOQUJMRV9B
Q0NFTEVSQVRFRF9PVkVSRkxPV19TQ1JPTExJTkcpICQoRU5BQkxFX0FQUExFX1BBWSkgJChFTkFC
TEVfQVBQTEVfUEFZX1NFU1NJT05fVjMpICQoRU5BQkxFX0FQUExFX1BBWV9TRVNTSU9OX1Y0KSAk
KEVOQUJMRV9BUFBMSUNBVElPTl9NQU5JRkVTVCkgJChFTkFCTEVfQVRUQUNITUVOVF9FTEVNRU5U
KSAkKEVOQUJMRV9BVkZfQ0FQVElPTlMpICQoRU5BQkxFX0NBQ0hFX1BBUlRJVElPTklORykgJChF
TkFCTEVfQ0hBTk5FTF9NRVNTQUdJTkcpICQoRU5BQkxFX0NPTlRFTlRfRklMVEVSSU5HKSAkKEVO
QUJMRV9DU1MzX1RFWFQpICQoRU5BQkxFX0NTU19CT1hfREVDT1JBVElPTl9CUkVBSykgJChFTkFC
TEVfQ1NTX0NPTVBPU0lUSU5HKSAkKEVOQUJMRV9DU1NfREVWSUNFX0FEQVBUQVRJT04pICQoRU5B
QkxFX0NTU19JTUFHRV9PUklFTlRBVElPTikgJChFTkFCTEVfQ1NTX0lNQUdFX1JFU09MVVRJT04p
ICQoRU5BQkxFX0NTU19TQ1JPTExfU05BUCkgJChFTkFCTEVfQ1NTX1NFTEVDVE9SU19MRVZFTDQp
ICQoRU5BQkxFX0NTU19UUkFJTElOR19XT1JEKSAkKEVOQUJMRV9DVVJTT1JfVklTSUJJTElUWSkg
JChFTkFCTEVfQ1VTVE9NX1NDSEVNRV9IQU5ETEVSKSAkKEVOQUJMRV9EQVNIQk9BUkRfU1VQUE9S
VCkgJChFTkFCTEVfREFUQV9JTlRFUkFDVElPTikgJChFTkFCTEVfREFUQUNVRV9WQUxVRSkgJChF
TkFCTEVfREFUQUxJU1RfRUxFTUVOVCkgJChFTkFCTEVfREVWSUNFX09SSUVOVEFUSU9OKSAkKEVO
QUJMRV9EUkFHX1NVUFBPUlQpICQoRU5BQkxFX0VOQ1JZUFRFRF9NRURJQSkgJChFTkFCTEVfRVhQ
RVJJTUVOVEFMX0ZFQVRVUkVTKSAkKEVOQUJMRV9GQVNUX0pJVF9QRVJNSVNTSU9OUykgJChFTkFC
TEVfRklMVEVSU19MRVZFTF8yKSAkKEVOQUJMRV9GVExfSklUKSAkKEVOQUJMRV9GVUxMU0NSRUVO
X0FQSSkgJChFTkFCTEVfR0FNRVBBRCkgJChFTkFCTEVfR0VPTE9DQVRJT04pICQoRU5BQkxFX0lD
T05EQVRBQkFTRSkgJChFTkFCTEVfSU5ERVhFRF9EQVRBQkFTRSkgJChFTkFCTEVfSU5ERVhFRF9E
QVRBQkFTRV9JTl9XT1JLRVJTKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0NPTE9SKSAkKEVOQUJMRV9J
TlBVVF9UWVBFX0RBVEUpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURVRJTUVfSU5DT01QTEVURSkg
JChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFVElNRUxPQ0FMKSAkKEVOQUJMRV9JTlBVVF9UWVBFX01P
TlRIKSAkKEVOQUJMRV9JTlBVVF9UWVBFX1RJTUUpICQoRU5BQkxFX0lOUFVUX1RZUEVfV0VFSykg
JChFTkFCTEVfSU5URVJTRUNUSU9OX09CU0VSVkVSKSAkKEVOQUJMRV9JTlRMKSAkKEVOQUJMRV9J
T1NfR0VTVFVSRV9FVkVOVFMpICQoRU5BQkxFX0lPU19UT1VDSF9FVkVOVFMpICQoRU5BQkxFX0pJ
VCkgJChFTkFCTEVfSlNfQVNZTkNfSVRFUkFUSU9OKSAkKEVOQUJMRV9LRVlCT0FSRF9DT0RFX0FU
VFJJQlVURSkgJChFTkFCTEVfS0VZQk9BUkRfS0VZX0FUVFJJQlVURSkgJChFTkFCTEVfTEFZT1VU
X0ZPUk1BVFRJTkdfQ09OVEVYVCkgJChFTkFCTEVfTEVHQUNZX0NTU19WRU5ET1JfUFJFRklYRVMp
ICQoRU5BQkxFX0xFR0FDWV9DVVNUT01fUFJPVE9DT0xfTUFOQUdFUikgJChFTkFCTEVfTEVHQUNZ
X0VOQ1JZUFRFRF9NRURJQSkgJChFTkFCTEVfTEVUVEVSUFJFU1MpICQoRU5BQkxFX01BQ19HRVNU
VVJFX0VWRU5UUykgJChFTkFCTEVfTUFDX1ZJREVPX1RPT0xCT1gpICQoRU5BQkxFX01BVEhNTCkg
JChFTkFCTEVfTUVESUFfQ0FQVFVSRSkgJChFTkFCTEVfTUVESUFfQ09OVFJPTFNfU0NSSVBUKSAk
KEVOQUJMRV9NRURJQV9TRVNTSU9OKSAkKEVOQUJMRV9NRURJQV9TT1VSQ0UpICQoRU5BQkxFX01F
RElBX1NUQVRJU1RJQ1MpICQoRU5BQkxFX01FRElBX1NUUkVBTSkgJChFTkFCTEVfTUVURVJfRUxF
TUVOVCkgJChFTkFCTEVfTUhUTUwpICQoRU5BQkxFX01PVVNFX0NVUlNPUl9TQ0FMRSkgJChFTkFC
TEVfTkFWSUdBVE9SX0NPTlRFTlRfVVRJTFMpICQoRU5BQkxFX05BVklHQVRPUl9TVEFOREFMT05F
KSAkKEVOQUJMRV9OT1RJRklDQVRJT05TKSAkKEVOQUJMRV9QQVlNRU5UX1JFUVVFU1QpICQoRU5B
QkxFX1BERktJVF9QTFVHSU4pICQoRU5BQkxFX1BPSU5URVJfTE9DSykgJChFTkFCTEVfUFVCTElD
X1NVRkZJWF9MSVNUKSAkKEVOQUJMRV9RVU9UQSkgJChFTkFCTEVfUkVNT1RFX0lOU1BFQ1RPUikg
JChFTkFCTEVfUkVTT0xVVElPTl9NRURJQV9RVUVSWSkgJChFTkFCTEVfUkVTT1VSQ0VfVVNBR0Up
ICQoRU5BQkxFX1JVQkJFUl9CQU5ESU5HKSAkKEVOQUJMRV9TRVJWSUNFX0NPTlRST0xTKSAkKEVO
QUJMRV9TRVJWSUNFX1dPUktFUikgJChFTkFCTEVfU1BFRUNIX1NZTlRIRVNJUykgJChFTkFCTEVf
U1RSRUFNU19BUEkpICQoRU5BQkxFX1NVQlRMRV9DUllQVE8pICQoRU5BQkxFX1NWR19GT05UUykg
JChFTkFCTEVfVEVMRVBIT05FX05VTUJFUl9ERVRFQ1RJT04pICQoRU5BQkxFX1RFWFRfQVVUT1NJ
WklORykgJChFTkFCTEVfVE9VQ0hfRVZFTlRTKSAkKEVOQUJMRV9VU0VSX01FU1NBR0VfSEFORExF
UlMpICQoRU5BQkxFX1VTRVJTRUxFQ1RfQUxMKSAkKEVOQUJMRV9WQVJJQVRJT05fRk9OVFMpICQo
RU5BQkxFX1ZJREVPKSAkKEVOQUJMRV9WSURFT19QUkVTRU5UQVRJT05fTU9ERSkgJChFTkFCTEVf
VklERU9fVFJBQ0spICQoRU5BQkxFX1ZJREVPX1VTRVNfRUxFTUVOVF9GVUxMU0NSRUVOKSAkKEVO
QUJMRV9XRUJfQVVESU8pICQoRU5BQkxFX1dFQl9BVVRITikgJChFTkFCTEVfV0VCX1JUQykgJChF
TkFCTEVfV0VCQVNTRU1CTFkpICQoRU5BQkxFX1dFQkFTU0VNQkxZX1NUUkVBTUlOR19BUEkpICQo
RU5BQkxFX1dFQkdMKSAkKEVOQUJMRV9XRUJHTDIpICQoRU5BQkxFX1dFQk1FVEFMKSAkKEVOQUJM
RV9XSVJFTEVTU19QTEFZQkFDS19UQVJHRVQpICQoRU5BQkxFX1hTTFQpOwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvU291cmNlcy50eHQgYi9Tb3VyY2UvV2ViQ29yZS9Tb3VyY2VzLnR4dApp
bmRleCAyMTU5YjVlMWFkZWJlMjQwNWM2MWY0MjVjOTVhZjMxMzQzYTlhM2RmLi5kYzVhZGFhNGJi
YzZlYWU2YjYyNjM1MTI1ZWFmZGZlYWY4OTIyMzYwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9Tb3VyY2VzLnR4dAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Tb3VyY2VzLnR4dApAQCAtNDU1LDgg
KzQ1NSw4IEBAIGJpbmRpbmdzL2pzL0pTVmlkZW9UcmFja0xpc3RDdXN0b20uY3BwCiBiaW5kaW5n
cy9qcy9KU1dlYkFuaW1hdGlvbkN1c3RvbS5jcHAKIGJpbmRpbmdzL2pzL0pTV2ViR0wyUmVuZGVy
aW5nQ29udGV4dEN1c3RvbS5jcHAKIGJpbmRpbmdzL2pzL0pTV2ViR0xSZW5kZXJpbmdDb250ZXh0
Q3VzdG9tLmNwcAotYmluZGluZ3MvanMvSlNXZWJHUFVSZW5kZXJQYXNzQXR0YWNobWVudERlc2Ny
aXB0b3JDdXN0b20uY3BwCi1iaW5kaW5ncy9qcy9KU1dlYkdQVVJlbmRlcmluZ0NvbnRleHRDdXN0
b20uY3BwCitiaW5kaW5ncy9qcy9KU1dlYk1ldGFsUmVuZGVyUGFzc0F0dGFjaG1lbnREZXNjcmlw
dG9yQ3VzdG9tLmNwcAorYmluZGluZ3MvanMvSlNXZWJNZXRhbFJlbmRlcmluZ0NvbnRleHRDdXN0
b20uY3BwCiBiaW5kaW5ncy9qcy9KU1dpbmRvd1Byb3h5LmNwcAogYmluZGluZ3MvanMvSlNXb3Jr
ZXJHbG9iYWxTY29wZUJhc2UuY3BwCiBiaW5kaW5ncy9qcy9KU1dvcmtlckdsb2JhbFNjb3BlQ3Vz
dG9tLmNwcApAQCAtMTExMSwyOCArMTExMSwyOCBAQCBodG1sL2NhbnZhcy9JbWFnZUJpdG1hcFJl
bmRlcmluZ0NvbnRleHQuY3BwCiBodG1sL2NhbnZhcy9PZmZzY3JlZW5DYW52YXNSZW5kZXJpbmdD
b250ZXh0MkQuY3BwCiBodG1sL2NhbnZhcy9QYXRoMkQuY3BwCiBodG1sL2NhbnZhcy9QbGFjZWhv
bGRlclJlbmRlcmluZ0NvbnRleHQuY3BwCi1odG1sL2NhbnZhcy9XZWJHUFVCdWZmZXIuY3BwCi1o
dG1sL2NhbnZhcy9XZWJHUFVDb21tYW5kQnVmZmVyLmNwcAotaHRtbC9jYW52YXMvV2ViR1BVQ29t
bWFuZFF1ZXVlLmNwcAotaHRtbC9jYW52YXMvV2ViR1BVQ29tcHV0ZUNvbW1hbmRFbmNvZGVyLmNw
cAotaHRtbC9jYW52YXMvV2ViR1BVQ29tcHV0ZVBpcGVsaW5lU3RhdGUuY3BwCi1odG1sL2NhbnZh
cy9XZWJHUFVEZXB0aFN0ZW5jaWxEZXNjcmlwdG9yLmNwcAotaHRtbC9jYW52YXMvV2ViR1BVRGVw
dGhTdGVuY2lsU3RhdGUuY3BwCi1odG1sL2NhbnZhcy9XZWJHUFVEcmF3YWJsZS5jcHAKLWh0bWwv
Y2FudmFzL1dlYkdQVUVudW1zLmNwcAotaHRtbC9jYW52YXMvV2ViR1BVRnVuY3Rpb24uY3BwCi1o
dG1sL2NhbnZhcy9XZWJHUFVMaWJyYXJ5LmNwcAotaHRtbC9jYW52YXMvV2ViR1BVUmVuZGVyQ29t
bWFuZEVuY29kZXIuY3BwCi1odG1sL2NhbnZhcy9XZWJHUFVSZW5kZXJQYXNzQXR0YWNobWVudERl
c2NyaXB0b3IuY3BwCi1odG1sL2NhbnZhcy9XZWJHUFVSZW5kZXJQYXNzQ29sb3JBdHRhY2htZW50
RGVzY3JpcHRvci5jcHAKLWh0bWwvY2FudmFzL1dlYkdQVVJlbmRlclBhc3NEZXB0aEF0dGFjaG1l
bnREZXNjcmlwdG9yLmNwcAotaHRtbC9jYW52YXMvV2ViR1BVUmVuZGVyUGFzc0Rlc2NyaXB0b3Iu
Y3BwCi1odG1sL2NhbnZhcy9XZWJHUFVSZW5kZXJQaXBlbGluZUNvbG9yQXR0YWNobWVudERlc2Ny
aXB0b3IuY3BwCi1odG1sL2NhbnZhcy9XZWJHUFVSZW5kZXJQaXBlbGluZURlc2NyaXB0b3IuY3Bw
Ci1odG1sL2NhbnZhcy9XZWJHUFVSZW5kZXJQaXBlbGluZVN0YXRlLmNwcAotaHRtbC9jYW52YXMv
V2ViR1BVUmVuZGVyaW5nQ29udGV4dC5jcHAKLWh0bWwvY2FudmFzL1dlYkdQVVRleHR1cmUuY3Bw
Ci1odG1sL2NhbnZhcy9XZWJHUFVUZXh0dXJlRGVzY3JpcHRvci5jcHAKK2h0bWwvY2FudmFzL1dl
Yk1ldGFsQnVmZmVyLmNwcAoraHRtbC9jYW52YXMvV2ViTWV0YWxDb21tYW5kQnVmZmVyLmNwcAor
aHRtbC9jYW52YXMvV2ViTWV0YWxDb21tYW5kUXVldWUuY3BwCitodG1sL2NhbnZhcy9XZWJNZXRh
bENvbXB1dGVDb21tYW5kRW5jb2Rlci5jcHAKK2h0bWwvY2FudmFzL1dlYk1ldGFsQ29tcHV0ZVBp
cGVsaW5lU3RhdGUuY3BwCitodG1sL2NhbnZhcy9XZWJNZXRhbERlcHRoU3RlbmNpbERlc2NyaXB0
b3IuY3BwCitodG1sL2NhbnZhcy9XZWJNZXRhbERlcHRoU3RlbmNpbFN0YXRlLmNwcAoraHRtbC9j
YW52YXMvV2ViTWV0YWxEcmF3YWJsZS5jcHAKK2h0bWwvY2FudmFzL1dlYk1ldGFsRW51bXMuY3Bw
CitodG1sL2NhbnZhcy9XZWJNZXRhbEZ1bmN0aW9uLmNwcAoraHRtbC9jYW52YXMvV2ViTWV0YWxM
aWJyYXJ5LmNwcAoraHRtbC9jYW52YXMvV2ViTWV0YWxSZW5kZXJDb21tYW5kRW5jb2Rlci5jcHAK
K2h0bWwvY2FudmFzL1dlYk1ldGFsUmVuZGVyUGFzc0F0dGFjaG1lbnREZXNjcmlwdG9yLmNwcAor
aHRtbC9jYW52YXMvV2ViTWV0YWxSZW5kZXJQYXNzQ29sb3JBdHRhY2htZW50RGVzY3JpcHRvci5j
cHAKK2h0bWwvY2FudmFzL1dlYk1ldGFsUmVuZGVyUGFzc0RlcHRoQXR0YWNobWVudERlc2NyaXB0
b3IuY3BwCitodG1sL2NhbnZhcy9XZWJNZXRhbFJlbmRlclBhc3NEZXNjcmlwdG9yLmNwcAoraHRt
bC9jYW52YXMvV2ViTWV0YWxSZW5kZXJQaXBlbGluZUNvbG9yQXR0YWNobWVudERlc2NyaXB0b3Iu
Y3BwCitodG1sL2NhbnZhcy9XZWJNZXRhbFJlbmRlclBpcGVsaW5lRGVzY3JpcHRvci5jcHAKK2h0
bWwvY2FudmFzL1dlYk1ldGFsUmVuZGVyUGlwZWxpbmVTdGF0ZS5jcHAKK2h0bWwvY2FudmFzL1dl
Yk1ldGFsUmVuZGVyaW5nQ29udGV4dC5jcHAKK2h0bWwvY2FudmFzL1dlYk1ldGFsVGV4dHVyZS5j
cHAKK2h0bWwvY2FudmFzL1dlYk1ldGFsVGV4dHVyZURlc2NyaXB0b3IuY3BwCiAKIGh0bWwvZm9y
bXMvRmlsZUljb25Mb2FkZXIuY3BwCiAKQEAgLTMxNDMsMjggKzMxNDMsMjggQEAgSlNWaXN1YWxW
aWV3cG9ydC5jcHAKIEpTVm9pZENhbGxiYWNrLmNwcAogSlNXYXZlU2hhcGVyTm9kZS5jcHAKIEpT
V2ViQW5pbWF0aW9uLmNwcAotSlNXZWJHUFVCdWZmZXIuY3BwCi1KU1dlYkdQVUNvbW1hbmRCdWZm
ZXIuY3BwCi1KU1dlYkdQVUNvbW1hbmRRdWV1ZS5jcHAKLUpTV2ViR1BVQ29tcHV0ZUNvbW1hbmRF
bmNvZGVyLmNwcAotSlNXZWJHUFVDb21wdXRlUGlwZWxpbmVTdGF0ZS5jcHAKLUpTV2ViR1BVRGVw
dGhTdGVuY2lsRGVzY3JpcHRvci5jcHAKLUpTV2ViR1BVRGVwdGhTdGVuY2lsU3RhdGUuY3BwCi1K
U1dlYkdQVURyYXdhYmxlLmNwcAotSlNXZWJHUFVGdW5jdGlvbi5jcHAKLUpTV2ViR1BVTGlicmFy
eS5jcHAKLUpTV2ViR1BVUmVuZGVyQ29tbWFuZEVuY29kZXIuY3BwCi1KU1dlYkdQVVJlbmRlclBh
c3NBdHRhY2htZW50RGVzY3JpcHRvci5jcHAKLUpTV2ViR1BVUmVuZGVyUGFzc0NvbG9yQXR0YWNo
bWVudERlc2NyaXB0b3IuY3BwCi1KU1dlYkdQVVJlbmRlclBhc3NEZXB0aEF0dGFjaG1lbnREZXNj
cmlwdG9yLmNwcAotSlNXZWJHUFVSZW5kZXJQYXNzRGVzY3JpcHRvci5jcHAKLUpTV2ViR1BVUmVu
ZGVyUGlwZWxpbmVDb2xvckF0dGFjaG1lbnREZXNjcmlwdG9yLmNwcAotSlNXZWJHUFVSZW5kZXJQ
aXBlbGluZURlc2NyaXB0b3IuY3BwCi1KU1dlYkdQVVJlbmRlclBpcGVsaW5lU3RhdGUuY3BwCi1K
U1dlYkdQVVJlbmRlcmluZ0NvbnRleHQuY3BwCi1KU1dlYkdQVVNpemUuY3BwCi1KU1dlYkdQVVRl
eHR1cmUuY3BwCi1KU1dlYkdQVVRleHR1cmVEZXNjcmlwdG9yLmNwcAorSlNXZWJNZXRhbEJ1ZmZl
ci5jcHAKK0pTV2ViTWV0YWxDb21tYW5kQnVmZmVyLmNwcAorSlNXZWJNZXRhbENvbW1hbmRRdWV1
ZS5jcHAKK0pTV2ViTWV0YWxDb21wdXRlQ29tbWFuZEVuY29kZXIuY3BwCitKU1dlYk1ldGFsQ29t
cHV0ZVBpcGVsaW5lU3RhdGUuY3BwCitKU1dlYk1ldGFsRGVwdGhTdGVuY2lsRGVzY3JpcHRvci5j
cHAKK0pTV2ViTWV0YWxEZXB0aFN0ZW5jaWxTdGF0ZS5jcHAKK0pTV2ViTWV0YWxEcmF3YWJsZS5j
cHAKK0pTV2ViTWV0YWxGdW5jdGlvbi5jcHAKK0pTV2ViTWV0YWxMaWJyYXJ5LmNwcAorSlNXZWJN
ZXRhbFJlbmRlckNvbW1hbmRFbmNvZGVyLmNwcAorSlNXZWJNZXRhbFJlbmRlclBhc3NBdHRhY2ht
ZW50RGVzY3JpcHRvci5jcHAKK0pTV2ViTWV0YWxSZW5kZXJQYXNzQ29sb3JBdHRhY2htZW50RGVz
Y3JpcHRvci5jcHAKK0pTV2ViTWV0YWxSZW5kZXJQYXNzRGVwdGhBdHRhY2htZW50RGVzY3JpcHRv
ci5jcHAKK0pTV2ViTWV0YWxSZW5kZXJQYXNzRGVzY3JpcHRvci5jcHAKK0pTV2ViTWV0YWxSZW5k
ZXJQaXBlbGluZUNvbG9yQXR0YWNobWVudERlc2NyaXB0b3IuY3BwCitKU1dlYk1ldGFsUmVuZGVy
UGlwZWxpbmVEZXNjcmlwdG9yLmNwcAorSlNXZWJNZXRhbFJlbmRlclBpcGVsaW5lU3RhdGUuY3Bw
CitKU1dlYk1ldGFsUmVuZGVyaW5nQ29udGV4dC5jcHAKK0pTV2ViTWV0YWxTaXplLmNwcAorSlNX
ZWJNZXRhbFRleHR1cmUuY3BwCitKU1dlYk1ldGFsVGV4dHVyZURlc2NyaXB0b3IuY3BwCiBKU1dl
YktpdEFuaW1hdGlvbkV2ZW50LmNwcAogSlNXZWJLaXRDU1NNYXRyaXguY3BwCiBKU1dlYktpdENT
U1ZpZXdwb3J0UnVsZS5jcHAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1NvdXJjZXNDb2Nv
YS50eHQgYi9Tb3VyY2UvV2ViQ29yZS9Tb3VyY2VzQ29jb2EudHh0CmluZGV4IDU4MTM2YTkzOGM0
ZTg4OTAyYWQ1NGFmZjFkMTE1MjhmZmFjNjEzYTguLmNhYTlmOWViNjFjN2EzMTMwYWZmNDJkMzZi
N2U0MGQ5NGFkMTBiZTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1NvdXJjZXNDb2NvYS50
eHQKKysrIGIvU291cmNlL1dlYkNvcmUvU291cmNlc0NvY29hLnR4dApAQCAtMzEwLDcgKzMxMCw3
IEBAIHBsYXRmb3JtL2dyYXBoaWNzL2NvY29hL1dlYkFjdGlvbkRpc2FibGluZ0NBTGF5ZXJEZWxl
Z2F0ZS5tbQogcGxhdGZvcm0vZ3JhcGhpY3MvY29jb2EvV2ViQ29yZUNBTGF5ZXJFeHRyYXMubW0K
IHBsYXRmb3JtL2dyYXBoaWNzL2NvY29hL1dlYkNvcmVEZWNvbXByZXNzaW9uU2Vzc2lvbi5tbQog
cGxhdGZvcm0vZ3JhcGhpY3MvY29jb2EvV2ViR0xMYXllci5tbQotcGxhdGZvcm0vZ3JhcGhpY3Mv
Y29jb2EvV2ViR1BVTGF5ZXIubW0KK3BsYXRmb3JtL2dyYXBoaWNzL2NvY29hL1dlYk1ldGFsTGF5
ZXIubW0KIHBsYXRmb3JtL2dyYXBoaWNzL2NvY29hL1RleHRUcmFja1JlcHJlc2VudGF0aW9uQ29j
b2EubW0KIAogcGxhdGZvcm0vZ3JhcGhpY3MvY3YvUGl4ZWxCdWZmZXJDb25mb3JtZXJDVi5jcHAK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4
cHJvaiBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpp
bmRleCBhNWYzMjZlNzFkNTNjNTMwNmRjOGFjN2JmN2Q3YjEwZWNjNzM0OWQwLi5lYmJkMjVkZTVk
ZGI5YjFiMjVmMjE2ZWZhOGM4YzRjMWQxOTk0YTdjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKKysrIGIvU291cmNlL1dlYkNvcmUv
V2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCkBAIC05MDgsNyArOTA4LDcgQEAKIAkJ
MzE0QkUzQTExQjMwRjZCNzAwMTQxOTgyIC8qIENTU05hbWVkSW1hZ2VWYWx1ZS5oIGluIEhlYWRl
cnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMzE0QkUzQTAxQjMwRjZCNzAw
MTQxOTgyIC8qIENTU05hbWVkSW1hZ2VWYWx1ZS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVT
ID0gKFByaXZhdGUsICk7IH07IH07CiAJCTMxNEJFM0E3MUIzMTAzRkIwMDE0MTk4MiAvKiBOYW1l
ZEltYWdlR2VuZXJhdGVkSW1hZ2UuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IDMxNEJFM0E1MUIzMTAzRkIwMDE0MTk4MiAvKiBOYW1lZEltYWdlR2VuZXJh
dGVkSW1hZ2UuaCAqLzsgfTsKIAkJMzE2QkRCODYxRTZFMEEyNzAwREUwRDVBIC8qIEdQVURldmlj
ZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMzE2QkRC
ODUxRTZFMEEyMTAwREUwRDVBIC8qIEdQVURldmljZS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJV
VEVTID0gKFByaXZhdGUsICk7IH07IH07Ci0JCTMxNkJEQjhDMUU2RTE1MzAwMERFMEQ1QSAvKiBX
ZWJHUFVMYXllci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gMzE2QkRCOEExRTZFMTUzMDAwREUwRDVBIC8qIFdlYkdQVUxheWVyLmggKi87IH07CisJCTMx
NkJEQjhDMUU2RTE1MzAwMERFMEQ1QSAvKiBXZWJNZXRhbExheWVyLmggaW4gSGVhZGVycyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAzMTZCREI4QTFFNkUxNTMwMDBERTBENUEg
LyogV2ViTWV0YWxMYXllci5oICovOyB9OwogCQkzMTZCREI5NTFFNzBDODk3MDBERTBENUEgLyog
R1BVRnVuY3Rpb24uaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IDMxNkJEQjkzMUU3MEM4OTcwMERFMEQ1QSAvKiBHUFVGdW5jdGlvbi5oICovOyBzZXR0aW5n
cyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTMxNkJEQjlCMUU3MENCQkYw
MERFMEQ1QSAvKiBHUFVMaWJyYXJ5LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSAzMTZCREI5OTFFNzBDQkJGMDBERTBENUEgLyogR1BVTGlicmFyeS5oICov
OyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTMxNkJEQkFB
MUU3MUZBOTMwMERFMEQ1QSAvKiBHUFVCdWZmZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDMxNkJEQkE4MUU3MUZBOTMwMERFMEQ1QSAvKiBHUFVCdWZm
ZXIuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwpAQCAt
NjgyOSw4ICs2ODI5LDcgQEAKIAkJMzE2QkRCODQxRTZFMEEyMTAwREUwRDVBIC8qIEdQVURldmlj
ZS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBHUFVEZXZpY2UuY3Bw
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkzMTZCREI4NTFFNkUwQTIxMDBERTBENUEg
LyogR1BVRGV2aWNlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEdQVURldmlj
ZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkzMTZCREI4ODFFNkUxNDFDMDBERTBE
NUEgLyogR1BVRGV2aWNlTWV0YWwubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7
IHBhdGggPSBHUFVEZXZpY2VNZXRhbC5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKLQkJ
MzE2QkRCODkxRTZFMTUzMDAwREUwRDVBIC8qIFdlYkdQVUxheWVyLm1tICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0gV2ViR1BVTGF5ZXIubW07IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07Ci0JCTMxNkJEQjhBMUU2RTE1MzAwMERFMEQ1QSAvKiBXZWJHUFVMYXllci5o
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBXZWJHUFVMYXllci5oOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OworCQkzMTZCREI4QTFFNkUxNTMwMDBERTBENUEgLyogV2ViTWV0
YWxMYXllci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBXZWJNZXRhbExheWVy
Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTMxNkJEQjkyMUU3MEM4OTcwMERFMEQ1
QSAvKiBHUFVGdW5jdGlvbi5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGgg
PSBHUFVGdW5jdGlvbi5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTMxNkJEQjkz
MUU3MEM4OTcwMERFMEQ1QSAvKiBHUFVGdW5jdGlvbi5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
Lmg7IHBhdGggPSBHUFVGdW5jdGlvbi5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkz
MTZCREI5NjFFNzBDQTI0MDBERTBENUEgLyogR1BVRnVuY3Rpb25NZXRhbC5tbSAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IEdQVUZ1bmN0aW9uTWV0YWwubW07IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0xMzU5NCw3ICsxMzU5Myw3MiBAQAogCQlEMDAwRUQy
NjExQzFCOUNEMDBDNDc3MjYgLyogU3ViZnJhbWVMb2FkZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuYy5oOyBwYXRoID0gU3ViZnJhbWVMb2FkZXIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKIAkJRDAxQTI3QUIxMEM5QkZEODAwMDI2QTQyIC8qIFNwYWNlU3BsaXRTdHJpbmcuY3BwICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gU3BhY2VTcGxpdFN0cmluZy5jcHA7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUQwMUEyN0FDMTBDOUJGRDgwMDAyNkE0MiAv
KiBTcGFjZVNwbGl0U3RyaW5nLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFNw
YWNlU3BsaXRTdHJpbmcuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJRDAyRjg1NEUy
MTY4MkE0QTAwODhFRTc0IC8qIFdlYk1ldGFsQ29tbWFuZFF1ZXVlLmlkbCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IHBhdGggPSBXZWJNZXRh
bENvbW1hbmRRdWV1ZS5pZGw7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUQwMkY4NTUw
MjE2ODJBNTYwMDg4RUU3NCAvKiBXZWJNZXRhbENvbXB1dGVDb21tYW5kRW5jb2Rlci5pZGwgKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmls
ZVR5cGUgPSB0ZXh0OyBwYXRoID0gV2ViTWV0YWxDb21wdXRlQ29tbWFuZEVuY29kZXIuaWRsOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlEMDJGODU1MTIxNjgyQTU2MDA4OEVFNzQgLyog
V2ViTWV0YWxDb21wdXRlUGlwZWxpbmVTdGF0ZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7
IHBhdGggPSBXZWJNZXRhbENvbXB1dGVQaXBlbGluZVN0YXRlLmg7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CisJCUQwMkY4NTUyMjE2ODJBOTEwMDg4RUU3NCAvKiBXZWJNZXRhbFJlbmRlclBp
cGVsaW5lU3RhdGUuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gV2ViTWV0YWxSZW5kZXJQaXBlbGluZVN0YXRl
Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUQwMkY4NTUzMjE2ODJBOTEwMDg4RUU3
NCAvKiBXZWJNZXRhbFJlbmRlclBhc3NEZXNjcmlwdG9yLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9
IFdlYk1ldGFsUmVuZGVyUGFzc0Rlc2NyaXB0b3IuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OworCQlEMDJGODU1NDIxNjgyQTkxMDA4OEVFNzQgLyogV2ViTWV0YWxSZW5kZXJpbmdDb250
ZXh0LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFdlYk1ldGFsUmVuZGVyaW5nQ29udGV4dC5oOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OworCQlEMDJGODU1NTIxNjgyQTkyMDA4OEVFNzQgLyogV2ViTWV0
YWxEZXB0aFN0ZW5jaWxEZXNjcmlwdG9yLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFdlYk1ldGFsRGVwdGhT
dGVuY2lsRGVzY3JpcHRvci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlEMDJGODU1
NjIxNjgyQTkyMDA4OEVFNzQgLyogV2ViTWV0YWxTaXplLmlkbCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IHBhdGggPSBXZWJNZXRhbFNpemUu
aWRsOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlEMDJGODU1NzIxNjgyQTkzMDA4OEVF
NzQgLyogV2ViTWV0YWxSZW5kZXJQYXNzQXR0YWNobWVudERlc2NyaXB0b3IuaCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBw
YXRoID0gV2ViTWV0YWxSZW5kZXJQYXNzQXR0YWNobWVudERlc2NyaXB0b3IuaDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKKwkJRDAyRjg1NTgyMTY4MkE5MzAwODhFRTc0IC8qIFdlYk1ldGFs
VGV4dHVyZS5pZGwgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5
cGUgPSB0ZXh0OyBwYXRoID0gV2ViTWV0YWxUZXh0dXJlLmlkbDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKKwkJRDAyRjg1NTkyMTY4MkE5NDAwODhFRTc0IC8qIFdlYk1ldGFsUmVuZGVyUGFz
c0NvbG9yQXR0YWNobWVudERlc2NyaXB0b3IuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gV2ViTWV0
YWxSZW5kZXJQYXNzQ29sb3JBdHRhY2htZW50RGVzY3JpcHRvci5jcHA7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CisJCUQwMkY4NTVBMjE2ODJBOTQwMDg4RUU3NCAvKiBXZWJNZXRhbFJlbmRl
cmluZ0NvbnRleHQuaWRsICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZp
bGVUeXBlID0gdGV4dDsgcGF0aCA9IFdlYk1ldGFsUmVuZGVyaW5nQ29udGV4dC5pZGw7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUQwMkY4NTVCMjE2ODJBOTQwMDg4RUU3NCAvKiBXZWJN
ZXRhbENvbXB1dGVQaXBlbGluZVN0YXRlLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFdlYk1ldGFs
Q29tcHV0ZVBpcGVsaW5lU3RhdGUuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlE
MDJGODU1QzIxNjgyQTk1MDA4OEVFNzQgLyogV2ViTWV0YWxUZXh0dXJlRGVzY3JpcHRvci5pZGwg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBw
YXRoID0gV2ViTWV0YWxUZXh0dXJlRGVzY3JpcHRvci5pZGw7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CisJCUQwMkY4NTVEMjE2ODJBOTUwMDg4RUU3NCAvKiBXZWJNZXRhbFJlbmRlclBhc3ND
b2xvckF0dGFjaG1lbnREZXNjcmlwdG9yLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFdlYk1ldGFsUmVuZGVy
UGFzc0NvbG9yQXR0YWNobWVudERlc2NyaXB0b3IuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKKwkJRDAyRjg1NUUyMTY4MkE5NjAwODhFRTc0IC8qIFdlYk1ldGFsUmVuZGVyUGlwZWxpbmVE
ZXNjcmlwdG9yLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFdlYk1ldGFsUmVuZGVyUGlwZWxpbmVE
ZXNjcmlwdG9yLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJRDAyRjg1NUYyMTY4
MkE5NjAwODhFRTc0IC8qIFdlYk1ldGFsUmVuZGVyUGlwZWxpbmVTdGF0ZS5jcHAgKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5j
cHA7IHBhdGggPSBXZWJNZXRhbFJlbmRlclBpcGVsaW5lU3RhdGUuY3BwOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OworCQlEMDJGODU2MDIxNjgyQTk3MDA4OEVFNzQgLyogV2ViTWV0YWxSZW5k
ZXJQYXNzQ29sb3JBdHRhY2htZW50RGVzY3JpcHRvci5pZGwgKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBwYXRoID0gV2ViTWV0YWxSZW5kZXJQ
YXNzQ29sb3JBdHRhY2htZW50RGVzY3JpcHRvci5pZGw7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CisJCUQwMkY4NTYxMjE2ODJBOTcwMDg4RUU3NCAvKiBXZWJNZXRhbFJlbmRlclBhc3NBdHRh
Y2htZW50RGVzY3JpcHRvci5pZGwgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtu
b3duRmlsZVR5cGUgPSB0ZXh0OyBwYXRoID0gV2ViTWV0YWxSZW5kZXJQYXNzQXR0YWNobWVudERl
c2NyaXB0b3IuaWRsOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlEMDJGODU2MjIxNjgy
QTk4MDA4OEVFNzQgLyogV2ViTWV0YWxSZW5kZXJDb21tYW5kRW5jb2Rlci5jcHAgKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5j
cHA7IHBhdGggPSBXZWJNZXRhbFJlbmRlckNvbW1hbmRFbmNvZGVyLmNwcDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKKwkJRDAyRjg1NjMyMTY4MkE5ODAwODhFRTc0IC8qIFdlYk1ldGFsUmVu
ZGVyQ29tbWFuZEVuY29kZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gV2ViTWV0YWxSZW5kZXJDb21tYW5k
RW5jb2Rlci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlEMDJGODU2NDIxNjgyQTk4
MDA4OEVFNzQgLyogV2ViTWV0YWxEZXB0aFN0ZW5jaWxTdGF0ZS5oICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBX
ZWJNZXRhbERlcHRoU3RlbmNpbFN0YXRlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJ
CUQwMkY4NTY1MjE2ODJBOTkwMDg4RUU3NCAvKiBXZWJNZXRhbERlcHRoU3RlbmNpbFN0YXRlLmNw
cCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFdlYk1ldGFsRGVwdGhTdGVuY2lsU3RhdGUuY3BwOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OworCQlEMDJGODU2NjIxNjgyQTk5MDA4OEVFNzQgLyogV2Vi
TWV0YWxSZW5kZXJQaXBlbGluZUNvbG9yQXR0YWNobWVudERlc2NyaXB0b3IuY3BwICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAu
Y3BwOyBwYXRoID0gV2ViTWV0YWxSZW5kZXJQaXBlbGluZUNvbG9yQXR0YWNobWVudERlc2NyaXB0
b3IuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlEMDJGODU2NzIxNjgyQTlBMDA4
OEVFNzQgLyogV2ViTWV0YWxSZW5kZXJQaXBlbGluZVN0YXRlLmlkbCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IHBhdGggPSBXZWJNZXRhbFJl
bmRlclBpcGVsaW5lU3RhdGUuaWRsOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlEMDJG
ODU2ODIxNjgyQTlBMDA4OEVFNzQgLyogV2ViTWV0YWxSZW5kZXJQYXNzRGVwdGhBdHRhY2htZW50
RGVzY3JpcHRvci5pZGwgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmls
ZVR5cGUgPSB0ZXh0OyBwYXRoID0gV2ViTWV0YWxSZW5kZXJQYXNzRGVwdGhBdHRhY2htZW50RGVz
Y3JpcHRvci5pZGw7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUQwMkY4NTY5MjE2ODJB
OUIwMDg4RUU3NCAvKiBXZWJNZXRhbFJlbmRlclBhc3NEZXB0aEF0dGFjaG1lbnREZXNjcmlwdG9y
LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFdlYk1ldGFsUmVuZGVyUGFzc0RlcHRoQXR0YWNobWVu
dERlc2NyaXB0b3IuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlEMDJGODU2QTIx
NjgyQTlCMDA4OEVFNzQgLyogV2ViTWV0YWxUZXh0dXJlRGVzY3JpcHRvci5oICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBh
dGggPSBXZWJNZXRhbFRleHR1cmVEZXNjcmlwdG9yLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CisJCUQwMkY4NTZCMjE2ODJBOUMwMDg4RUU3NCAvKiBXZWJNZXRhbFJlbmRlclBhc3NEZXNj
cmlwdG9yLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFdlYk1ldGFsUmVuZGVyUGFzc0Rlc2NyaXB0b3IuaDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJRDAyRjg1NkMyMTY4MkE5QzAwODhFRTc0IC8q
IFdlYk1ldGFsTGlicmFyeS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBXZWJNZXRhbExpYnJhcnkuaDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJRDAyRjg1NkQyMTY4MkE5QzAwODhFRTc0IC8qIFdl
Yk1ldGFsU2l6ZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBXZWJNZXRhbFNpemUuaDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKKwkJRDAyRjg1NkUyMTY4MkE5RDAwODhFRTc0IC8qIFdlYk1ldGFsVGV4
dHVyZURlc2NyaXB0b3IuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gV2ViTWV0YWxUZXh0dXJlRGVz
Y3JpcHRvci5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUQwMkY4NTZGMjE2ODJB
OUQwMDg4RUU3NCAvKiBXZWJNZXRhbERyYXdhYmxlLmlkbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IHBhdGggPSBXZWJNZXRhbERyYXdhYmxl
LmlkbDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJRDAyRjg1NzAyMTY4MkE5RTAwODhF
RTc0IC8qIFdlYk1ldGFsRW51bXMuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gV2ViTWV0YWxFbnVt
cy5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUQwMkY4NTcxMjE2ODJBOUUwMDg4
RUU3NCAvKiBXZWJNZXRhbFJlbmRlclBhc3NBdHRhY2htZW50RGVzY3JpcHRvci5jcHAgKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNw
cC5jcHA7IHBhdGggPSBXZWJNZXRhbFJlbmRlclBhc3NBdHRhY2htZW50RGVzY3JpcHRvci5jcHA7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUQwMkY4NTcyMjE2ODJBOUUwMDg4RUU3NCAv
KiBXZWJNZXRhbExpYnJhcnkuaWRsICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RL
bm93bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9IFdlYk1ldGFsTGlicmFyeS5pZGw7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CisJCUQwMkY4NTczMjE2ODJBOUYwMDg4RUU3NCAvKiBXZWJNZXRh
bFRleHR1cmUuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gV2ViTWV0YWxUZXh0dXJlLmg7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CisJCUQwMkY4NTc0MjE2ODJBOUYwMDg4RUU3NCAvKiBXZWJNZXRhbEVu
dW1zLmlkbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9
IHRleHQ7IHBhdGggPSBXZWJNZXRhbEVudW1zLmlkbDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKKwkJRDAyRjg1NzUyMTY4MkFBMDAwODhFRTc0IC8qIFdlYk1ldGFsRW51bXMuaCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5o
OyBwYXRoID0gV2ViTWV0YWxFbnVtcy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlE
MDJGODU3NjIxNjgyQUEwMDA4OEVFNzQgLyogV2ViTWV0YWxEcmF3YWJsZS5oICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBh
dGggPSBXZWJNZXRhbERyYXdhYmxlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUQw
MkY4NTc3MjE2ODJBQTEwMDg4RUU3NCAvKiBXZWJNZXRhbERlcHRoU3RlbmNpbFN0YXRlLmlkbCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IHBh
dGggPSBXZWJNZXRhbERlcHRoU3RlbmNpbFN0YXRlLmlkbDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKKwkJRDAyRjg1NzgyMTY4MkFBMTAwODhFRTc0IC8qIFdlYk1ldGFsRGVwdGhTdGVuY2ls
RGVzY3JpcHRvci5pZGwgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmls
ZVR5cGUgPSB0ZXh0OyBwYXRoID0gV2ViTWV0YWxEZXB0aFN0ZW5jaWxEZXNjcmlwdG9yLmlkbDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJRDAyRjg1NzkyMTY4MkFBMjAwODhFRTc0IC8q
IFdlYk1ldGFsRnVuY3Rpb24uY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gV2ViTWV0YWxGdW5jdGlv
bi5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUQwMkY4NTdBMjE2ODJBQTIwMDg4
RUU3NCAvKiBXZWJNZXRhbEZ1bmN0aW9uLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFdlYk1ldGFsRnVuY3Rp
b24uaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJRDAyRjg1N0IyMTY4MkFBMjAwODhF
RTc0IC8qIFdlYk1ldGFsTGlicmFyeS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBXZWJNZXRhbExp
YnJhcnkuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlEMDJGODU3QzIxNjgyQUEz
MDA4OEVFNzQgLyogV2ViTWV0YWxSZW5kZXJQaXBlbGluZURlc2NyaXB0b3IuaCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBw
YXRoID0gV2ViTWV0YWxSZW5kZXJQaXBlbGluZURlc2NyaXB0b3IuaDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKKwkJRDAyRjg1N0QyMTY4MkFBMzAwODhFRTc0IC8qIFdlYk1ldGFsUmVuZGVy
UGFzc0RlcHRoQXR0YWNobWVudERlc2NyaXB0b3IuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gV2ViTWV0YWxS
ZW5kZXJQYXNzRGVwdGhBdHRhY2htZW50RGVzY3JpcHRvci5oOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OworCQlEMDJGODU3RTIxNjgyQUE0MDA4OEVFNzQgLyogV2ViTWV0YWxSZW5kZXJQYXNz
RGVzY3JpcHRvci5pZGwgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmls
ZVR5cGUgPSB0ZXh0OyBwYXRoID0gV2ViTWV0YWxSZW5kZXJQYXNzRGVzY3JpcHRvci5pZGw7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUQwMkY4NTdGMjE2ODJBQTQwMDg4RUU3NCAvKiBX
ZWJNZXRhbERyYXdhYmxlLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFdlYk1ldGFsRHJhd2FibGUu
Y3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlEMDJGODU4MDIxNjgyQUE0MDA4OEVF
NzQgLyogV2ViTWV0YWxSZW5kZXJQaXBlbGluZURlc2NyaXB0b3IuaWRsICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9IFdlYk1ldGFs
UmVuZGVyUGlwZWxpbmVEZXNjcmlwdG9yLmlkbDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
KwkJRDAyRjg1ODEyMTY4MkFBNTAwODhFRTc0IC8qIFdlYk1ldGFsUmVuZGVyQ29tbWFuZEVuY29k
ZXIuaWRsICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0g
dGV4dDsgcGF0aCA9IFdlYk1ldGFsUmVuZGVyQ29tbWFuZEVuY29kZXIuaWRsOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OworCQlEMDJGODU4MjIxNjgyQUE1MDA4OEVFNzQgLyogV2ViTWV0YWxU
ZXh0dXJlLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFdlYk1ldGFsVGV4dHVyZS5jcHA7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUQwMkY4NTgzMjE2ODJBQTYwMDg4RUU3NCAvKiBXZWJN
ZXRhbENvbXB1dGVQaXBlbGluZVN0YXRlLmlkbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IHBhdGggPSBXZWJNZXRhbENvbXB1dGVQaXBlbGlu
ZVN0YXRlLmlkbDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJRDAyRjg1ODQyMTY4MkFB
NjAwODhFRTc0IC8qIFdlYk1ldGFsRGVwdGhTdGVuY2lsRGVzY3JpcHRvci5jcHAgKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5j
cHA7IHBhdGggPSBXZWJNZXRhbERlcHRoU3RlbmNpbERlc2NyaXB0b3IuY3BwOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OworCQlEMDJGODU4NTIxNjgyQUE3MDA4OEVFNzQgLyogV2ViTWV0YWxS
ZW5kZXJQaXBlbGluZUNvbG9yQXR0YWNobWVudERlc2NyaXB0b3IuaCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0g
V2ViTWV0YWxSZW5kZXJQaXBlbGluZUNvbG9yQXR0YWNobWVudERlc2NyaXB0b3IuaDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJRDAyRjg1ODYyMTY4MkFBNzAwODhFRTc0IC8qIFdlYk1l
dGFsUmVuZGVyUGlwZWxpbmVDb2xvckF0dGFjaG1lbnREZXNjcmlwdG9yLmlkbCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IHBhdGggPSBXZWJN
ZXRhbFJlbmRlclBpcGVsaW5lQ29sb3JBdHRhY2htZW50RGVzY3JpcHRvci5pZGw7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CisJCUQwMkY4NTg3MjE2ODJBQTcwMDg4RUU3NCAvKiBXZWJNZXRh
bFJlbmRlcmluZ0NvbnRleHQuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gV2ViTWV0YWxSZW5kZXJp
bmdDb250ZXh0LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJRDAyRjg1ODgyMTY4
MkFBODAwODhFRTc0IC8qIFdlYk1ldGFsRnVuY3Rpb24uaWRsICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9IFdlYk1ldGFsRnVuY3Rp
b24uaWRsOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlEMDM2REQ4RDIwOEZGQzBDMDBG
OUY0QjIgLyogV2ViR0xDb21wcmVzc2VkVGV4dHVyZUFTVEMuaWRsICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9IFdlYkdMQ29tcHJl
c3NlZFRleHR1cmVBU1RDLmlkbDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJRDA0NUFE
MUQyMTY4MjMwQjAwMEE2RTlCIC8qIFdlYk1ldGFsTGF5ZXIubW0gKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmNwcC5vYmpjcHA7IHBhdGggPSBXZWJNZXRhbExheWVyLm1tOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OworCQlEMDQ1QUQxRTIxNjgyNDQ5MDAwQTZFOUIgLyogSlNXZWJNZXRhbFJlbmRl
clBhc3NBdHRhY2htZW50RGVzY3JpcHRvckN1c3RvbS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBK
U1dlYk1ldGFsUmVuZGVyUGFzc0F0dGFjaG1lbnREZXNjcmlwdG9yQ3VzdG9tLmNwcDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJRDA0NUFEMUYyMTY4MjQ0OTAwMEE2RTlCIC8qIEpTV2Vi
TWV0YWxSZW5kZXJpbmdDb250ZXh0Q3VzdG9tLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEpTV2Vi
TWV0YWxSZW5kZXJpbmdDb250ZXh0Q3VzdG9tLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKKwkJRDA0NUFEMjAyMTY4MjQ3NDAwMEE2RTlCIC8qIFdlYk1ldGFsQ29tcHV0ZUNvbW1hbmRF
bmNvZGVyLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFdlYk1ldGFsQ29tcHV0ZUNvbW1hbmRFbmNvZGVyLmg7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUQwNDVBRDIxMjE2ODI0NzQwMDBBNkU5QiAv
KiBXZWJNZXRhbEJ1ZmZlci5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBXZWJNZXRhbEJ1ZmZlci5j
cHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUQwNDVBRDIyMjE2ODI0NzQwMDBBNkU5
QiAvKiBXZWJNZXRhbENvbW1hbmRCdWZmZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gV2ViTWV0YWxDb21t
YW5kQnVmZmVyLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUQwNDVBRDIzMjE2ODI0
NzUwMDBBNkU5QiAvKiBXZWJNZXRhbENvbW1hbmRRdWV1ZS5jcHAgKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGgg
PSBXZWJNZXRhbENvbW1hbmRRdWV1ZS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJ
CUQwNUNFRDI3MEE0MEJCMkMwMEM1QUYzOCAvKiBGb3JtYXRCbG9ja0NvbW1hbmQuY3BwICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDMwOyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEZvcm1hdEJsb2NrQ29tbWFuZC5jcHA7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUQwNUNFRDI4MEE0MEJCMkMwMEM1QUYzOCAv
KiBGb3JtYXRCbG9ja0NvbW1hbmQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSAzMDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9
IEZvcm1hdEJsb2NrQ29tbWFuZC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlEMDZD
MEQ4RDBDRkQxMTQ2MDA2NUY0M0YgLyogUmVtb3ZlRm9ybWF0Q29tbWFuZC5oICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jLmg7IHBhdGggPSBSZW1vdmVGb3JtYXRDb21tYW5kLmg7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CkBAIC0xMzYxMyw2ICsxMzY3NywxMiBAQAogCQlEMEJDNTQ0ODE0NDNB
QzRBMDBFMTA1REEgLyogQ2FjaGVkU3R5bGVTaGVldENsaWVudC5oICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jLmg7IHBhdGggPSBDYWNoZWRTdHlsZVNoZWV0Q2xpZW50Lmg7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CiAJCUQwQkQ0RjVBMTQwODg1MEYwMDY4MzlCNiAvKiBEaWN0YXRpb25Db21t
YW5kSU9TLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IERpY3RhdGlv
bkNvbW1hbmRJT1MuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlEMEJENEY1QjE0
MDg4NTBGMDA2ODM5QjYgLyogRGljdGF0aW9uQ29tbWFuZElPUy5oICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jLmg7IHBhdGggPSBEaWN0YXRpb25Db21tYW5kSU9TLmg7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CisJCUQwQ0FBRTk4MjE2ODI0QTYwMDFDOTFDNyAvKiBXZWJNZXRhbEJ1ZmZlci5p
ZGwgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0
OyBwYXRoID0gV2ViTWV0YWxCdWZmZXIuaWRsOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owor
CQlEMENBQUU5QTIxNjgyNEE2MDAxQzkxQzcgLyogV2ViTWV0YWxDb21tYW5kQnVmZmVyLmlkbCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IHBh
dGggPSBXZWJNZXRhbENvbW1hbmRCdWZmZXIuaWRsOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OworCQlEMENBQUU5QjIxNjgyNEE3MDAxQzkxQzcgLyogV2ViTWV0YWxDb21tYW5kUXVldWUuaCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuYy5oOyBwYXRoID0gV2ViTWV0YWxDb21tYW5kUXVldWUuaDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKKwkJRDBDQUFFOUMyMTY4MjRBNzAwMUM5MUM3IC8qIFdlYk1ldGFsQ29tcHV0ZUNv
bW1hbmRFbmNvZGVyLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFdlYk1ldGFsQ29tcHV0ZUNvbW1h
bmRFbmNvZGVyLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJRDBDQUFFOUQyMTY4
MjRBNzAwMUM5MUM3IC8qIFdlYk1ldGFsQnVmZmVyLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFdlYk1ldGFs
QnVmZmVyLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUQwQ0FBRTlFMjE2ODI0QTgw
MDFDOTFDNyAvKiBXZWJNZXRhbENvbW1hbmRCdWZmZXIuY3BwICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0g
V2ViTWV0YWxDb21tYW5kQnVmZmVyLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJ
RDBFREE3NzIxNDNFMzAzQzAwMjhFMzgzIC8qIENhY2hlZFJhd1Jlc291cmNlLmNwcCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IENhY2hlZFJhd1Jlc291cmNlLmNwcDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRDBFREE3NzMxNDNFMzAzQzAwMjhFMzgzIC8qIENh
Y2hlZFJhd1Jlc291cmNlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IENhY2hl
ZFJhd1Jlc291cmNlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUQwRkYyQTVCMTFG
OEM0NUEwMDdFNzRFMCAvKiBQaW5nTG9hZGVyLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3Bw
LmNwcDsgcGF0aCA9IFBpbmdMb2FkZXIuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpA
QCAtMTc2MjUsNiArMTc2OTUsNzQgQEAKIAkJCQkzMUEwODkwMTFFNzM3QjREMDAzQjY2MDkgLyog
V2ViR1BVVGV4dHVyZURlc2NyaXB0b3IuY3BwICovLAogCQkJCTMxQTA4OTAyMUU3MzdCNEQwMDNC
NjYwOSAvKiBXZWJHUFVUZXh0dXJlRGVzY3JpcHRvci5oICovLAogCQkJCTMxQTA4OTAzMUU3MzdC
NEQwMDNCNjYwOSAvKiBXZWJHUFVUZXh0dXJlRGVzY3JpcHRvci5pZGwgKi8sCisJCQkJRDA0NUFE
MjEyMTY4MjQ3NDAwMEE2RTlCIC8qIFdlYk1ldGFsQnVmZmVyLmNwcCAqLywKKwkJCQlEMENBQUU5
RDIxNjgyNEE3MDAxQzkxQzcgLyogV2ViTWV0YWxCdWZmZXIuaCAqLywKKwkJCQlEMENBQUU5ODIx
NjgyNEE2MDAxQzkxQzcgLyogV2ViTWV0YWxCdWZmZXIuaWRsICovLAorCQkJCUQwQ0FBRTlFMjE2
ODI0QTgwMDFDOTFDNyAvKiBXZWJNZXRhbENvbW1hbmRCdWZmZXIuY3BwICovLAorCQkJCUQwNDVB
RDIyMjE2ODI0NzQwMDBBNkU5QiAvKiBXZWJNZXRhbENvbW1hbmRCdWZmZXIuaCAqLywKKwkJCQlE
MENBQUU5QTIxNjgyNEE2MDAxQzkxQzcgLyogV2ViTWV0YWxDb21tYW5kQnVmZmVyLmlkbCAqLywK
KwkJCQlEMDQ1QUQyMzIxNjgyNDc1MDAwQTZFOUIgLyogV2ViTWV0YWxDb21tYW5kUXVldWUuY3Bw
ICovLAorCQkJCUQwQ0FBRTlCMjE2ODI0QTcwMDFDOTFDNyAvKiBXZWJNZXRhbENvbW1hbmRRdWV1
ZS5oICovLAorCQkJCUQwMkY4NTRFMjE2ODJBNEEwMDg4RUU3NCAvKiBXZWJNZXRhbENvbW1hbmRR
dWV1ZS5pZGwgKi8sCisJCQkJRDBDQUFFOUMyMTY4MjRBNzAwMUM5MUM3IC8qIFdlYk1ldGFsQ29t
cHV0ZUNvbW1hbmRFbmNvZGVyLmNwcCAqLywKKwkJCQlEMDQ1QUQyMDIxNjgyNDc0MDAwQTZFOUIg
LyogV2ViTWV0YWxDb21wdXRlQ29tbWFuZEVuY29kZXIuaCAqLywKKwkJCQlEMDJGODU1MDIxNjgy
QTU2MDA4OEVFNzQgLyogV2ViTWV0YWxDb21wdXRlQ29tbWFuZEVuY29kZXIuaWRsICovLAorCQkJ
CUQwMkY4NTVCMjE2ODJBOTQwMDg4RUU3NCAvKiBXZWJNZXRhbENvbXB1dGVQaXBlbGluZVN0YXRl
LmNwcCAqLywKKwkJCQlEMDJGODU1MTIxNjgyQTU2MDA4OEVFNzQgLyogV2ViTWV0YWxDb21wdXRl
UGlwZWxpbmVTdGF0ZS5oICovLAorCQkJCUQwMkY4NTgzMjE2ODJBQTYwMDg4RUU3NCAvKiBXZWJN
ZXRhbENvbXB1dGVQaXBlbGluZVN0YXRlLmlkbCAqLywKKwkJCQlEMDJGODU4NDIxNjgyQUE2MDA4
OEVFNzQgLyogV2ViTWV0YWxEZXB0aFN0ZW5jaWxEZXNjcmlwdG9yLmNwcCAqLywKKwkJCQlEMDJG
ODU1NTIxNjgyQTkyMDA4OEVFNzQgLyogV2ViTWV0YWxEZXB0aFN0ZW5jaWxEZXNjcmlwdG9yLmgg
Ki8sCisJCQkJRDAyRjg1NzgyMTY4MkFBMTAwODhFRTc0IC8qIFdlYk1ldGFsRGVwdGhTdGVuY2ls
RGVzY3JpcHRvci5pZGwgKi8sCisJCQkJRDAyRjg1NjUyMTY4MkE5OTAwODhFRTc0IC8qIFdlYk1l
dGFsRGVwdGhTdGVuY2lsU3RhdGUuY3BwICovLAorCQkJCUQwMkY4NTY0MjE2ODJBOTgwMDg4RUU3
NCAvKiBXZWJNZXRhbERlcHRoU3RlbmNpbFN0YXRlLmggKi8sCisJCQkJRDAyRjg1NzcyMTY4MkFB
MTAwODhFRTc0IC8qIFdlYk1ldGFsRGVwdGhTdGVuY2lsU3RhdGUuaWRsICovLAorCQkJCUQwMkY4
NTdGMjE2ODJBQTQwMDg4RUU3NCAvKiBXZWJNZXRhbERyYXdhYmxlLmNwcCAqLywKKwkJCQlEMDJG
ODU3NjIxNjgyQUEwMDA4OEVFNzQgLyogV2ViTWV0YWxEcmF3YWJsZS5oICovLAorCQkJCUQwMkY4
NTZGMjE2ODJBOUQwMDg4RUU3NCAvKiBXZWJNZXRhbERyYXdhYmxlLmlkbCAqLywKKwkJCQlEMDJG
ODU3MDIxNjgyQTlFMDA4OEVFNzQgLyogV2ViTWV0YWxFbnVtcy5jcHAgKi8sCisJCQkJRDAyRjg1
NzUyMTY4MkFBMDAwODhFRTc0IC8qIFdlYk1ldGFsRW51bXMuaCAqLywKKwkJCQlEMDJGODU3NDIx
NjgyQTlGMDA4OEVFNzQgLyogV2ViTWV0YWxFbnVtcy5pZGwgKi8sCisJCQkJRDAyRjg1NzkyMTY4
MkFBMjAwODhFRTc0IC8qIFdlYk1ldGFsRnVuY3Rpb24uY3BwICovLAorCQkJCUQwMkY4NTdBMjE2
ODJBQTIwMDg4RUU3NCAvKiBXZWJNZXRhbEZ1bmN0aW9uLmggKi8sCisJCQkJRDAyRjg1ODgyMTY4
MkFBODAwODhFRTc0IC8qIFdlYk1ldGFsRnVuY3Rpb24uaWRsICovLAorCQkJCUQwMkY4NTdCMjE2
ODJBQTIwMDg4RUU3NCAvKiBXZWJNZXRhbExpYnJhcnkuY3BwICovLAorCQkJCUQwMkY4NTZDMjE2
ODJBOUMwMDg4RUU3NCAvKiBXZWJNZXRhbExpYnJhcnkuaCAqLywKKwkJCQlEMDJGODU3MjIxNjgy
QTlFMDA4OEVFNzQgLyogV2ViTWV0YWxMaWJyYXJ5LmlkbCAqLywKKwkJCQlEMDJGODU2MjIxNjgy
QTk4MDA4OEVFNzQgLyogV2ViTWV0YWxSZW5kZXJDb21tYW5kRW5jb2Rlci5jcHAgKi8sCisJCQkJ
RDAyRjg1NjMyMTY4MkE5ODAwODhFRTc0IC8qIFdlYk1ldGFsUmVuZGVyQ29tbWFuZEVuY29kZXIu
aCAqLywKKwkJCQlEMDJGODU4MTIxNjgyQUE1MDA4OEVFNzQgLyogV2ViTWV0YWxSZW5kZXJDb21t
YW5kRW5jb2Rlci5pZGwgKi8sCisJCQkJRDAyRjg1ODcyMTY4MkFBNzAwODhFRTc0IC8qIFdlYk1l
dGFsUmVuZGVyaW5nQ29udGV4dC5jcHAgKi8sCisJCQkJRDAyRjg1NTQyMTY4MkE5MTAwODhFRTc0
IC8qIFdlYk1ldGFsUmVuZGVyaW5nQ29udGV4dC5oICovLAorCQkJCUQwMkY4NTVBMjE2ODJBOTQw
MDg4RUU3NCAvKiBXZWJNZXRhbFJlbmRlcmluZ0NvbnRleHQuaWRsICovLAorCQkJCUQwMkY4NTcx
MjE2ODJBOUUwMDg4RUU3NCAvKiBXZWJNZXRhbFJlbmRlclBhc3NBdHRhY2htZW50RGVzY3JpcHRv
ci5jcHAgKi8sCisJCQkJRDAyRjg1NTcyMTY4MkE5MzAwODhFRTc0IC8qIFdlYk1ldGFsUmVuZGVy
UGFzc0F0dGFjaG1lbnREZXNjcmlwdG9yLmggKi8sCisJCQkJRDAyRjg1NjEyMTY4MkE5NzAwODhF
RTc0IC8qIFdlYk1ldGFsUmVuZGVyUGFzc0F0dGFjaG1lbnREZXNjcmlwdG9yLmlkbCAqLywKKwkJ
CQlEMDJGODU1OTIxNjgyQTk0MDA4OEVFNzQgLyogV2ViTWV0YWxSZW5kZXJQYXNzQ29sb3JBdHRh
Y2htZW50RGVzY3JpcHRvci5jcHAgKi8sCisJCQkJRDAyRjg1NUQyMTY4MkE5NTAwODhFRTc0IC8q
IFdlYk1ldGFsUmVuZGVyUGFzc0NvbG9yQXR0YWNobWVudERlc2NyaXB0b3IuaCAqLywKKwkJCQlE
MDJGODU2MDIxNjgyQTk3MDA4OEVFNzQgLyogV2ViTWV0YWxSZW5kZXJQYXNzQ29sb3JBdHRhY2ht
ZW50RGVzY3JpcHRvci5pZGwgKi8sCisJCQkJRDAyRjg1NjkyMTY4MkE5QjAwODhFRTc0IC8qIFdl
Yk1ldGFsUmVuZGVyUGFzc0RlcHRoQXR0YWNobWVudERlc2NyaXB0b3IuY3BwICovLAorCQkJCUQw
MkY4NTdEMjE2ODJBQTMwMDg4RUU3NCAvKiBXZWJNZXRhbFJlbmRlclBhc3NEZXB0aEF0dGFjaG1l
bnREZXNjcmlwdG9yLmggKi8sCisJCQkJRDAyRjg1NjgyMTY4MkE5QTAwODhFRTc0IC8qIFdlYk1l
dGFsUmVuZGVyUGFzc0RlcHRoQXR0YWNobWVudERlc2NyaXB0b3IuaWRsICovLAorCQkJCUQwMkY4
NTUzMjE2ODJBOTEwMDg4RUU3NCAvKiBXZWJNZXRhbFJlbmRlclBhc3NEZXNjcmlwdG9yLmNwcCAq
LywKKwkJCQlEMDJGODU2QjIxNjgyQTlDMDA4OEVFNzQgLyogV2ViTWV0YWxSZW5kZXJQYXNzRGVz
Y3JpcHRvci5oICovLAorCQkJCUQwMkY4NTdFMjE2ODJBQTQwMDg4RUU3NCAvKiBXZWJNZXRhbFJl
bmRlclBhc3NEZXNjcmlwdG9yLmlkbCAqLywKKwkJCQlEMDJGODU2NjIxNjgyQTk5MDA4OEVFNzQg
LyogV2ViTWV0YWxSZW5kZXJQaXBlbGluZUNvbG9yQXR0YWNobWVudERlc2NyaXB0b3IuY3BwICov
LAorCQkJCUQwMkY4NTg1MjE2ODJBQTcwMDg4RUU3NCAvKiBXZWJNZXRhbFJlbmRlclBpcGVsaW5l
Q29sb3JBdHRhY2htZW50RGVzY3JpcHRvci5oICovLAorCQkJCUQwMkY4NTg2MjE2ODJBQTcwMDg4
RUU3NCAvKiBXZWJNZXRhbFJlbmRlclBpcGVsaW5lQ29sb3JBdHRhY2htZW50RGVzY3JpcHRvci5p
ZGwgKi8sCisJCQkJRDAyRjg1NUUyMTY4MkE5NjAwODhFRTc0IC8qIFdlYk1ldGFsUmVuZGVyUGlw
ZWxpbmVEZXNjcmlwdG9yLmNwcCAqLywKKwkJCQlEMDJGODU3QzIxNjgyQUEzMDA4OEVFNzQgLyog
V2ViTWV0YWxSZW5kZXJQaXBlbGluZURlc2NyaXB0b3IuaCAqLywKKwkJCQlEMDJGODU4MDIxNjgy
QUE0MDA4OEVFNzQgLyogV2ViTWV0YWxSZW5kZXJQaXBlbGluZURlc2NyaXB0b3IuaWRsICovLAor
CQkJCUQwMkY4NTVGMjE2ODJBOTYwMDg4RUU3NCAvKiBXZWJNZXRhbFJlbmRlclBpcGVsaW5lU3Rh
dGUuY3BwICovLAorCQkJCUQwMkY4NTUyMjE2ODJBOTEwMDg4RUU3NCAvKiBXZWJNZXRhbFJlbmRl
clBpcGVsaW5lU3RhdGUuaCAqLywKKwkJCQlEMDJGODU2NzIxNjgyQTlBMDA4OEVFNzQgLyogV2Vi
TWV0YWxSZW5kZXJQaXBlbGluZVN0YXRlLmlkbCAqLywKKwkJCQlEMDJGODU2RDIxNjgyQTlDMDA4
OEVFNzQgLyogV2ViTWV0YWxTaXplLmggKi8sCisJCQkJRDAyRjg1NTYyMTY4MkE5MjAwODhFRTc0
IC8qIFdlYk1ldGFsU2l6ZS5pZGwgKi8sCisJCQkJRDAyRjg1ODIyMTY4MkFBNTAwODhFRTc0IC8q
IFdlYk1ldGFsVGV4dHVyZS5jcHAgKi8sCisJCQkJRDAyRjg1NzMyMTY4MkE5RjAwODhFRTc0IC8q
IFdlYk1ldGFsVGV4dHVyZS5oICovLAorCQkJCUQwMkY4NTU4MjE2ODJBOTMwMDg4RUU3NCAvKiBX
ZWJNZXRhbFRleHR1cmUuaWRsICovLAorCQkJCUQwMkY4NTZFMjE2ODJBOUQwMDg4RUU3NCAvKiBX
ZWJNZXRhbFRleHR1cmVEZXNjcmlwdG9yLmNwcCAqLywKKwkJCQlEMDJGODU2QTIxNjgyQTlCMDA4
OEVFNzQgLyogV2ViTWV0YWxUZXh0dXJlRGVzY3JpcHRvci5oICovLAorCQkJCUQwMkY4NTVDMjE2
ODJBOTUwMDg4RUU3NCAvKiBXZWJNZXRhbFRleHR1cmVEZXNjcmlwdG9yLmlkbCAqLywKIAkJCSk7
CiAJCQlwYXRoID0gY2FudmFzOwogCQkJc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsKQEAgLTI0MDMw
LDggKzI0MTY4LDggQEAKIAkJCQlDRDVEMjc3NTFFODMxOEUwMDBEODBBM0QgLyogV2ViQ29yZURl
Y29tcHJlc3Npb25TZXNzaW9uLm1tICovLAogCQkJCTQ5RkZCRjNEMTFDOTNFRTMwMDZBNzExOCAv
KiBXZWJHTExheWVyLmggKi8sCiAJCQkJNDlGRkJGM0UxMUM5M0VFMzAwNkE3MTE4IC8qIFdlYkdM
TGF5ZXIubW0gKi8sCi0JCQkJMzE2QkRCOEExRTZFMTUzMDAwREUwRDVBIC8qIFdlYkdQVUxheWVy
LmggKi8sCi0JCQkJMzE2QkRCODkxRTZFMTUzMDAwREUwRDVBIC8qIFdlYkdQVUxheWVyLm1tICov
LAorCQkJCTMxNkJEQjhBMUU2RTE1MzAwMERFMEQ1QSAvKiBXZWJNZXRhbExheWVyLmggKi8sCisJ
CQkJRDA0NUFEMUQyMTY4MjMwQjAwMEE2RTlCIC8qIFdlYk1ldGFsTGF5ZXIubW0gKi8sCiAJCQkp
OwogCQkJcGF0aCA9IGNvY29hOwogCQkJc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsKQEAgLTI0MTIz
LDYgKzI0MjYxLDggQEAKIAkJCQk0NkJDQkJDMTIwODUwMDgwMDA3MTA2MzggLyogSlNSZW1vdGVE
T01XaW5kb3dCYXNlLmNwcCAqLywKIAkJCQk0NkJDQkJDMDIwODUwMDdGMDA3MTA2MzggLyogSlNS
ZW1vdGVET01XaW5kb3dCYXNlLmggKi8sCiAJCQkJOTMxQUUzQjgxRkI4MEVBRTAwRjVFRkIyIC8q
IEpTVmFsdWVJbldyYXBwZWRPYmplY3QuaCAqLywKKwkJCQlEMDQ1QUQxRjIxNjgyNDQ5MDAwQTZF
OUIgLyogSlNXZWJNZXRhbFJlbmRlcmluZ0NvbnRleHRDdXN0b20uY3BwICovLAorCQkJCUQwNDVB
RDFFMjE2ODI0NDkwMDBBNkU5QiAvKiBKU1dlYk1ldGFsUmVuZGVyUGFzc0F0dGFjaG1lbnREZXNj
cmlwdG9yQ3VzdG9tLmNwcCAqLywKIAkJCQlCQ0JGQjUzQTBEQ0QyOUNGMDAxOUIzRTUgLyogSlNX
aW5kb3dQcm94eS5jcHAgKi8sCiAJCQkJQkNCRkI1M0IwRENEMjlDRjAwMTlCM0U1IC8qIEpTV2lu
ZG93UHJveHkuaCAqLywKIAkJCQlFMUMzNkQzMjBFQjBBMDk0MDA3NDEwQkMgLyogSlNXb3JrZXJH
bG9iYWxTY29wZUJhc2UuY3BwICovLApAQCAtMzExMDIsNyArMzEyNDIsNiBAQAogCQkJCTBDM0Yx
RjVCMTBDODg3MTIwMEQ3MkNFMSAvKiBXZWJHTFVuaWZvcm1Mb2NhdGlvbi5oIGluIEhlYWRlcnMg
Ki8sCiAJCQkJNkY5OTVBMjYxQTcwNzhCMTAwQTczNUY0IC8qIFdlYkdMVmVydGV4QXJyYXlPYmpl
Y3QuaCBpbiBIZWFkZXJzICovLAogCQkJCTc3QTE3QTc4MTJGMjg2NDIwMDRFMDJGNiAvKiBXZWJH
TFZlcnRleEFycmF5T2JqZWN0T0VTLmggaW4gSGVhZGVycyAqLywKLQkJCQkzMTZCREI4QzFFNkUx
NTMwMDBERTBENUEgLyogV2ViR1BVTGF5ZXIuaCBpbiBIZWFkZXJzICovLAogCQkJCUE1QjgxQ0I3
MUZBQTQ0NjIwMDM3RDFFNiAvKiBXZWJIZWFwQWdlbnQuaCBpbiBIZWFkZXJzICovLAogCQkJCUE1
ODQwRTI1MTg3QjhBQzIwMDg0M0IxMCAvKiBXZWJJbmplY3RlZFNjcmlwdEhvc3QuaCBpbiBIZWFk
ZXJzICovLAogCQkJCUE1ODRGRTMwMTg2NENCODQwMDg0M0IxMCAvKiBXZWJJbmplY3RlZFNjcmlw
dE1hbmFnZXIuaCBpbiBIZWFkZXJzICovLApAQCAtMzExMjQsNiArMzEyNjMsNyBAQAogCQkJCTA3
MDlENzhGMUFFNTU1NTQwMDRFNDJGOCAvKiBXZWJNZWRpYVNlc3Npb25NYW5hZ2VyLmggaW4gSGVh
ZGVycyAqLywKIAkJCQkwNzA5RDc5NTFBRTU1QTI5MDA0RTQyRjggLyogV2ViTWVkaWFTZXNzaW9u
TWFuYWdlckNsaWVudC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMDcwOUQ3OTMxQUU1NTU3RTAwNEU0
MkY4IC8qIFdlYk1lZGlhU2Vzc2lvbk1hbmFnZXJNYWMuaCBpbiBIZWFkZXJzICovLAorCQkJCTMx
NkJEQjhDMUU2RTE1MzAwMERFMEQ1QSAvKiBXZWJNZXRhbExheWVyLmggaW4gSGVhZGVycyAqLywK
IAkJCQlFMUEzMTYyRDEzNEJDMzJEMDA3QzlBNEYgLyogV2ViTlNBdHRyaWJ1dGVkU3RyaW5nRXh0
cmFzLmggaW4gSGVhZGVycyAqLywKIAkJCQlDRDU4OTZFMjFDRDJCMTUxMDBCM0JDQzggLyogV2Vi
UGxheWJhY2tDb250cm9sc01hbmFnZXIuaCBpbiBIZWFkZXJzICovLAogCQkJCTFDQUYzNDgxMEE2
QzQwNTIwMEFCRTA2RSAvKiBXZWJTY3JpcHRPYmplY3QuaCBpbiBIZWFkZXJzICovLApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNXZWJHUFVSZW5kZXJQYXNzQXR0YWNo
bWVudERlc2NyaXB0b3JDdXN0b20uY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNX
ZWJHUFVSZW5kZXJQYXNzQXR0YWNobWVudERlc2NyaXB0b3JDdXN0b20uY3BwCmRlbGV0ZWQgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCA3YWY2NDM2NDkwNTRjMzI0Njg3OWU4NDdkZTMyODEyZDNjMjVl
Y2ExLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL1NvdXJj
ZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTV2ViR1BVUmVuZGVyUGFzc0F0dGFjaG1lbnREZXNjcmlw
dG9yQ3VzdG9tLmNwcAorKysgL2Rldi9udWxsCkBAIC0xLDUzICswLDAgQEAKLS8qCi0gKiBDb3B5
cmlnaHQgKEMpIDIwMTcgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgotICoKLSAqIFJl
ZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Ig
d2l0aG91dAotICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhl
IGZvbGxvd2luZyBjb25kaXRpb25zCi0gKiBhcmUgbWV0OgotICogMS4gUmVkaXN0cmlidXRpb25z
IG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5v
dGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1l
ci4KLSAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0
aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25z
IGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCi0gKiAgICBkb2N1bWVudGF0aW9u
IGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgot
ICoKLSAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBgYEFTIElTJycg
QU5EIEFOWQotICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVU
IE5PVCBMSU1JVEVEIFRPLCBUSEUKLSAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFC
SUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgotICogUFVSUE9TRSBBUkUgRElTQ0xB
SU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IKLSAqIENPTlRSSUJVVE9SUyBC
RSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAot
ICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5P
VCBMSU1JVEVEIFRPLAotICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJW
SUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCi0gKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRF
UlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCi0gKiBPRiBMSUFCSUxJ
VFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKLSAqIChJ
TkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQg
T0YgVEhFIFVTRQotICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQ
T1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KLSAqLwotCi0jaW5jbHVkZSAiY29uZmlnLmgiCi0j
aW5jbHVkZSAiSlNXZWJHUFVSZW5kZXJQYXNzQXR0YWNobWVudERlc2NyaXB0b3IuaCIKLQotI2lm
IEVOQUJMRShXRUJHUFUpCi0KLSNpbmNsdWRlICJKU0RPTUJpbmRpbmcuaCIKLSNpbmNsdWRlICJK
U1dlYkdQVVJlbmRlclBhc3NDb2xvckF0dGFjaG1lbnREZXNjcmlwdG9yLmgiCi0jaW5jbHVkZSAi
SlNXZWJHUFVSZW5kZXJQYXNzRGVwdGhBdHRhY2htZW50RGVzY3JpcHRvci5oIgotI2luY2x1ZGUg
IldlYkdQVVJlbmRlclBhc3NDb2xvckF0dGFjaG1lbnREZXNjcmlwdG9yLmgiCi0jaW5jbHVkZSAi
V2ViR1BVUmVuZGVyUGFzc0RlcHRoQXR0YWNobWVudERlc2NyaXB0b3IuaCIKLQotbmFtZXNwYWNl
IFdlYkNvcmUgewotCi1KU0M6OkpTVmFsdWUgdG9KU05ld2x5Q3JlYXRlZChKU0M6OkV4ZWNTdGF0
ZSosIEpTRE9NR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIFJlZjxXZWJHUFVSZW5kZXJQYXNz
QXR0YWNobWVudERlc2NyaXB0b3I+JiYgb2JqZWN0KQotewotICAgIGlmIChvYmplY3QtPmlzQ29s
b3JBdHRhY2htZW50RGVzY3JpcHRvcigpKQotICAgICAgICByZXR1cm4gY3JlYXRlV3JhcHBlcjxX
ZWJHUFVSZW5kZXJQYXNzQ29sb3JBdHRhY2htZW50RGVzY3JpcHRvcj4oZ2xvYmFsT2JqZWN0LCBX
VEZNb3ZlKG9iamVjdCkpOwotICAgIHJldHVybiBjcmVhdGVXcmFwcGVyPFdlYkdQVVJlbmRlclBh
c3NEZXB0aEF0dGFjaG1lbnREZXNjcmlwdG9yPihnbG9iYWxPYmplY3QsIFdURk1vdmUob2JqZWN0
KSk7Ci19Ci0KLUpTVmFsdWUgdG9KUyhFeGVjU3RhdGUqIHN0YXRlLCBKU0RPTUdsb2JhbE9iamVj
dCogZ2xvYmFsT2JqZWN0LCBXZWJHUFVSZW5kZXJQYXNzQXR0YWNobWVudERlc2NyaXB0b3ImIG9i
amVjdCkKLXsKLSAgICByZXR1cm4gd3JhcChzdGF0ZSwgZ2xvYmFsT2JqZWN0LCBvYmplY3QpOwot
fQotCi19Ci0KLSNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMv
SlNXZWJHUFVSZW5kZXJpbmdDb250ZXh0Q3VzdG9tLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRp
bmdzL2pzL0pTV2ViR1BVUmVuZGVyaW5nQ29udGV4dEN1c3RvbS5jcHAKZGVsZXRlZCBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IGFiZGQzNThlMTJhNWE0NDYxYjc0ZjFmODVhY2M3ZjgyNmZjN2RmZTYu
LjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvU291cmNlL1dl
YkNvcmUvYmluZGluZ3MvanMvSlNXZWJHUFVSZW5kZXJpbmdDb250ZXh0Q3VzdG9tLmNwcAorKysg
L2Rldi9udWxsCkBAIC0xLDQyICswLDAgQEAKLS8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTcgQXBw
bGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgotICoKLSAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1
c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAotICogbW9kaWZp
Y2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRp
b25zCi0gKiBhcmUgbWV0OgotICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11
c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9m
IGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KLSAqIDIuIFJlZGlzdHJp
YnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0
Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5n
IGRpc2NsYWltZXIgaW4gdGhlCi0gKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRl
cmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgotICoKLSAqIFRISVMgU09GVFdB
UkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBgYEFTIElTJycgQU5EIEFOWQotICogRVhQUkVT
UyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBU
SEUKLSAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1Mg
Rk9SIEEgUEFSVElDVUxBUgotICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5U
IFNIQUxMIEFQUExFIElOQy4gT1IKLSAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBE
SVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAotICogRVhFTVBMQVJZLCBPUiBD
T05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAotICog
UFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0Us
IERBVEEsIE9SCi0gKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIg
Q0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCi0gKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09O
VFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKLSAqIChJTkNMVURJTkcgTkVHTElHRU5D
RSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQotICogT0Yg
VEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNI
IERBTUFHRS4KLSAqLwotCi0jaW5jbHVkZSAiY29uZmlnLmgiCi0jaW5jbHVkZSAiSlNXZWJHUFVS
ZW5kZXJpbmdDb250ZXh0LmgiCi0KLSNpZiBFTkFCTEUoV0VCR1BVKQotCi0KLW5hbWVzcGFjZSBX
ZWJDb3JlIHsKLXVzaW5nIG5hbWVzcGFjZSBKU0M7Ci0KLXZvaWQgSlNXZWJHUFVSZW5kZXJpbmdD
b250ZXh0Ojp2aXNpdEFkZGl0aW9uYWxDaGlsZHJlbihTbG90VmlzaXRvciYgdmlzaXRvcikKLXsK
LSAgICB2aXNpdG9yLmFkZE9wYXF1ZVJvb3QoJndyYXBwZWQoKSk7Ci19Ci0KLX0gLy8gbmFtZXNw
YWNlIFdlYkNvcmUKLQotI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5n
cy9qcy9KU1dlYk1ldGFsUmVuZGVyUGFzc0F0dGFjaG1lbnREZXNjcmlwdG9yQ3VzdG9tLmNwcCBi
L1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTV2ViTWV0YWxSZW5kZXJQYXNzQXR0YWNobWVu
dERlc2NyaXB0b3JDdXN0b20uY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjkyMjM5OWI4MjNhNDk3ZTVmMjJiZTMw
NDM1MWI5NTFmYjM0MGJhZjEKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5k
aW5ncy9qcy9KU1dlYk1ldGFsUmVuZGVyUGFzc0F0dGFjaG1lbnREZXNjcmlwdG9yQ3VzdG9tLmNw
cApAQCAtMCwwICsxLDUzIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE3IEFwcGxlIEluYy4g
QWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNv
dXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwg
YXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICog
YXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFp
biB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRp
b25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMg
aW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAg
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFp
bWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHBy
b3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBS
T1ZJREVEIEJZIEFQUExFIElOQy4gYGBBUyBJUycnIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1Q
TElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisgKiBJ
TVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBB
UlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBB
UFBMRSBJTkMuIE9SCisgKiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJ
TkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKKyAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVO
VElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFBST0NVUkVN
RU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBP
UgorICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBB
TkQgT04gQU5ZIFRIRU9SWQorICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBT
VFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RI
RVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09G
VFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0Uu
CisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorI2luY2x1ZGUgIkpTV2ViTWV0YWxSZW5kZXJQ
YXNzQXR0YWNobWVudERlc2NyaXB0b3IuaCIKKworI2lmIEVOQUJMRShXRUJNRVRBTCkKKworI2lu
Y2x1ZGUgIkpTRE9NQmluZGluZy5oIgorI2luY2x1ZGUgIkpTV2ViTWV0YWxSZW5kZXJQYXNzQ29s
b3JBdHRhY2htZW50RGVzY3JpcHRvci5oIgorI2luY2x1ZGUgIkpTV2ViTWV0YWxSZW5kZXJQYXNz
RGVwdGhBdHRhY2htZW50RGVzY3JpcHRvci5oIgorI2luY2x1ZGUgIldlYk1ldGFsUmVuZGVyUGFz
c0NvbG9yQXR0YWNobWVudERlc2NyaXB0b3IuaCIKKyNpbmNsdWRlICJXZWJNZXRhbFJlbmRlclBh
c3NEZXB0aEF0dGFjaG1lbnREZXNjcmlwdG9yLmgiCisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKwor
SlNDOjpKU1ZhbHVlIHRvSlNOZXdseUNyZWF0ZWQoSlNDOjpFeGVjU3RhdGUqLCBKU0RPTUdsb2Jh
bE9iamVjdCogZ2xvYmFsT2JqZWN0LCBSZWY8V2ViTWV0YWxSZW5kZXJQYXNzQXR0YWNobWVudERl
c2NyaXB0b3I+JiYgb2JqZWN0KQoreworICAgIGlmIChvYmplY3QtPmlzQ29sb3JBdHRhY2htZW50
RGVzY3JpcHRvcigpKQorICAgICAgICByZXR1cm4gY3JlYXRlV3JhcHBlcjxXZWJNZXRhbFJlbmRl
clBhc3NDb2xvckF0dGFjaG1lbnREZXNjcmlwdG9yPihnbG9iYWxPYmplY3QsIFdURk1vdmUob2Jq
ZWN0KSk7CisgICAgcmV0dXJuIGNyZWF0ZVdyYXBwZXI8V2ViTWV0YWxSZW5kZXJQYXNzRGVwdGhB
dHRhY2htZW50RGVzY3JpcHRvcj4oZ2xvYmFsT2JqZWN0LCBXVEZNb3ZlKG9iamVjdCkpOworfQor
CitKU1ZhbHVlIHRvSlMoRXhlY1N0YXRlKiBzdGF0ZSwgSlNET01HbG9iYWxPYmplY3QqIGdsb2Jh
bE9iamVjdCwgV2ViTWV0YWxSZW5kZXJQYXNzQXR0YWNobWVudERlc2NyaXB0b3ImIG9iamVjdCkK
K3sKKyAgICByZXR1cm4gd3JhcChzdGF0ZSwgZ2xvYmFsT2JqZWN0LCBvYmplY3QpOworfQorCit9
CisKKyNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNXZWJN
ZXRhbFJlbmRlcmluZ0NvbnRleHRDdXN0b20uY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mv
anMvSlNXZWJNZXRhbFJlbmRlcmluZ0NvbnRleHRDdXN0b20uY3BwCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmE2MzRj
MjhmMmY1ZmRhZmY5ZDlmZGJkMDA0M2E2N2NkYWI1NmVkMWIKLS0tIC9kZXYvbnVsbAorKysgYi9T
b3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU1dlYk1ldGFsUmVuZGVyaW5nQ29udGV4dEN1c3Rv
bS5jcHAKQEAgLTAsMCArMSw0MiBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxNyBBcHBsZSBJ
bmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBp
biBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRp
b24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMK
KyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCBy
ZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29u
ZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRp
b25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAq
ICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlz
Y2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFs
cyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJ
UyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCisgKiBFWFBSRVNTIE9S
IElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQor
ICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1Ig
QSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hB
TEwgQVBQTEUgSU5DLiBPUgorICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVD
VCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCisgKiBFWEVNUExBUlksIE9SIENPTlNF
UVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBQUk9D
VVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFU
QSwgT1IKKyAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVT
RUQgQU5EIE9OIEFOWSBUSEVPUlkKKyAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFD
VCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9S
IE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElT
IFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFN
QUdFLgorICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJKU1dlYk1ldGFsUmVu
ZGVyaW5nQ29udGV4dC5oIgorCisjaWYgRU5BQkxFKFdFQk1FVEFMKQorCisKK25hbWVzcGFjZSBX
ZWJDb3JlIHsKK3VzaW5nIG5hbWVzcGFjZSBKU0M7CisKK3ZvaWQgSlNXZWJNZXRhbFJlbmRlcmlu
Z0NvbnRleHQ6OnZpc2l0QWRkaXRpb25hbENoaWxkcmVuKFNsb3RWaXNpdG9yJiB2aXNpdG9yKQor
eworICAgIHZpc2l0b3IuYWRkT3BhcXVlUm9vdCgmd3JhcHBlZCgpKTsKK30KKworfSAvLyBuYW1l
c3BhY2UgV2ViQ29yZQorCisjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRp
bmdzL2pzL1dlYkNvcmVCdWlsdGluTmFtZXMuaCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pz
L1dlYkNvcmVCdWlsdGluTmFtZXMuaAppbmRleCBjODUyNDE0NjVlNzMzOWE0MWQwMDA3MTFkZTU0
ZmEzMGY0NThiODJmLi45MjlkM2FhNjExMWQ1M2QxNDg2MTExZmViZTI2NDRhYzY3OWNjMWQ0IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9XZWJDb3JlQnVpbHRpbk5hbWVz
LmgKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvV2ViQ29yZUJ1aWx0aW5OYW1lcy5o
CkBAIC0xNjQsMjggKzE2NCwyOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgbWFjcm8oVmlz
dWFsVmlld3BvcnQpIFwKICAgICBtYWNybyhXZWJHTDJSZW5kZXJpbmdDb250ZXh0KSBcCiAgICAg
bWFjcm8oV2ViR0xWZXJ0ZXhBcnJheU9iamVjdCkgXAotICAgIG1hY3JvKFdlYkdQVUJ1ZmZlcikg
XAotICAgIG1hY3JvKFdlYkdQVUNvbW1hbmRCdWZmZXIpIFwKLSAgICBtYWNybyhXZWJHUFVDb21t
YW5kUXVldWUpIFwKLSAgICBtYWNybyhXZWJHUFVDb21wdXRlQ29tbWFuZEVuY29kZXIpIFwKLSAg
ICBtYWNybyhXZWJHUFVDb21wdXRlUGlwZWxpbmVTdGF0ZSkgXAotICAgIG1hY3JvKFdlYkdQVURl
cHRoU3RlbmNpbERlc2NyaXB0b3IpIFwKLSAgICBtYWNybyhXZWJHUFVEZXB0aFN0ZW5jaWxTdGF0
ZSkgXAotICAgIG1hY3JvKFdlYkdQVURyYXdhYmxlKSBcCi0gICAgbWFjcm8oV2ViR1BVRnVuY3Rp
b24pIFwKLSAgICBtYWNybyhXZWJHUFVMaWJyYXJ5KSBcCi0gICAgbWFjcm8oV2ViR1BVUmVuZGVy
Q29tbWFuZEVuY29kZXIpIFwKLSAgICBtYWNybyhXZWJHUFVSZW5kZXJQYXNzQXR0YWNobWVudERl
c2NyaXB0b3IpIFwKLSAgICBtYWNybyhXZWJHUFVSZW5kZXJQYXNzQ29sb3JBdHRhY2htZW50RGVz
Y3JpcHRvcikgXAotICAgIG1hY3JvKFdlYkdQVVJlbmRlclBhc3NEZXB0aEF0dGFjaG1lbnREZXNj
cmlwdG9yKSBcCi0gICAgbWFjcm8oV2ViR1BVUmVuZGVyUGFzc0Rlc2NyaXB0b3IpIFwKLSAgICBt
YWNybyhXZWJHUFVSZW5kZXJQaXBlbGluZUNvbG9yQXR0YWNobWVudERlc2NyaXB0b3IpIFwKLSAg
ICBtYWNybyhXZWJHUFVSZW5kZXJQaXBlbGluZURlc2NyaXB0b3IpIFwKLSAgICBtYWNybyhXZWJH
UFVSZW5kZXJQaXBlbGluZVN0YXRlKSBcCi0gICAgbWFjcm8oV2ViR1BVUmVuZGVyaW5nQ29udGV4
dCkgXAotICAgIG1hY3JvKFdlYkdQVVNpemUpIFwKLSAgICBtYWNybyhXZWJHUFVUZXh0dXJlKSBc
Ci0gICAgbWFjcm8oV2ViR1BVVGV4dHVyZURlc2NyaXB0b3IpIFwKKyAgICBtYWNybyhXZWJNZXRh
bEJ1ZmZlcikgXAorICAgIG1hY3JvKFdlYk1ldGFsQ29tbWFuZEJ1ZmZlcikgXAorICAgIG1hY3Jv
KFdlYk1ldGFsQ29tbWFuZFF1ZXVlKSBcCisgICAgbWFjcm8oV2ViTWV0YWxDb21wdXRlQ29tbWFu
ZEVuY29kZXIpIFwKKyAgICBtYWNybyhXZWJNZXRhbENvbXB1dGVQaXBlbGluZVN0YXRlKSBcCisg
ICAgbWFjcm8oV2ViTWV0YWxEZXB0aFN0ZW5jaWxEZXNjcmlwdG9yKSBcCisgICAgbWFjcm8oV2Vi
TWV0YWxEZXB0aFN0ZW5jaWxTdGF0ZSkgXAorICAgIG1hY3JvKFdlYk1ldGFsRHJhd2FibGUpIFwK
KyAgICBtYWNybyhXZWJNZXRhbEZ1bmN0aW9uKSBcCisgICAgbWFjcm8oV2ViTWV0YWxMaWJyYXJ5
KSBcCisgICAgbWFjcm8oV2ViTWV0YWxSZW5kZXJDb21tYW5kRW5jb2RlcikgXAorICAgIG1hY3Jv
KFdlYk1ldGFsUmVuZGVyUGFzc0F0dGFjaG1lbnREZXNjcmlwdG9yKSBcCisgICAgbWFjcm8oV2Vi
TWV0YWxSZW5kZXJQYXNzQ29sb3JBdHRhY2htZW50RGVzY3JpcHRvcikgXAorICAgIG1hY3JvKFdl
Yk1ldGFsUmVuZGVyUGFzc0RlcHRoQXR0YWNobWVudERlc2NyaXB0b3IpIFwKKyAgICBtYWNybyhX
ZWJNZXRhbFJlbmRlclBhc3NEZXNjcmlwdG9yKSBcCisgICAgbWFjcm8oV2ViTWV0YWxSZW5kZXJQ
aXBlbGluZUNvbG9yQXR0YWNobWVudERlc2NyaXB0b3IpIFwKKyAgICBtYWNybyhXZWJNZXRhbFJl
bmRlclBpcGVsaW5lRGVzY3JpcHRvcikgXAorICAgIG1hY3JvKFdlYk1ldGFsUmVuZGVyUGlwZWxp
bmVTdGF0ZSkgXAorICAgIG1hY3JvKFdlYk1ldGFsUmVuZGVyaW5nQ29udGV4dCkgXAorICAgIG1h
Y3JvKFdlYk1ldGFsU2l6ZSkgXAorICAgIG1hY3JvKFdlYk1ldGFsVGV4dHVyZSkgXAorICAgIG1h
Y3JvKFdlYk1ldGFsVGV4dHVyZURlc2NyaXB0b3IpIFwKICAgICBtYWNybyhXZWJLaXRNZWRpYUtl
eUVycm9yKSBcCiAgICAgbWFjcm8oV2ViS2l0TWVkaWFLZXlNZXNzYWdlRXZlbnQpIFwKICAgICBt
YWNybyhXZWJLaXRNZWRpYUtleU5lZWRlZEV2ZW50KSBcCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9kb20vRG9jdW1lbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmNwcApp
bmRleCA3NTJjODUwYzNlYjlmNjVjYzAxZjFjYjA0ZDAwNTJkYTBhNjNiNDFlLi5lYTI4NWUyMzZh
NGVjNDcxY2FiMmFkNTdjODA4ODQ5OGQ4MGUwNGJmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9kb20vRG9jdW1lbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAK
QEAgLTMwOSw4ICszMDksOCBAQAogI2lmIEVOQUJMRShXRUJHTDIpCiAjaW5jbHVkZSAiV2ViR0wy
UmVuZGVyaW5nQ29udGV4dC5oIgogI2VuZGlmCi0jaWYgRU5BQkxFKFdFQkdQVSkKLSNpbmNsdWRl
ICJXZWJHUFVSZW5kZXJpbmdDb250ZXh0LmgiCisjaWYgRU5BQkxFKFdFQk1FVEFMKQorI2luY2x1
ZGUgIldlYk1ldGFsUmVuZGVyaW5nQ29udGV4dC5oIgogI2VuZGlmCiAKIApAQCAtNTgyOSw5ICs1
ODI5LDkgQEAgc3RkOjpvcHRpb25hbDxSZW5kZXJpbmdDb250ZXh0PiBEb2N1bWVudDo6Z2V0Q1NT
Q2FudmFzQ29udGV4dChjb25zdCBTdHJpbmcmIHR5cGUKICAgICBpZiAoaXM8V2ViR0wyUmVuZGVy
aW5nQ29udGV4dD4oKmNvbnRleHQpKQogICAgICAgICByZXR1cm4gUmVuZGVyaW5nQ29udGV4dCB7
IFJlZlB0cjxXZWJHTDJSZW5kZXJpbmdDb250ZXh0PiB7ICZkb3duY2FzdDxXZWJHTDJSZW5kZXJp
bmdDb250ZXh0PigqY29udGV4dCkgfSB9OwogI2VuZGlmCi0jaWYgRU5BQkxFKFdFQkdQVSkKLSAg
ICBpZiAoaXM8V2ViR1BVUmVuZGVyaW5nQ29udGV4dD4oKmNvbnRleHQpKQotICAgICAgICByZXR1
cm4gUmVuZGVyaW5nQ29udGV4dCB7IFJlZlB0cjxXZWJHUFVSZW5kZXJpbmdDb250ZXh0PiB7ICZk
b3duY2FzdDxXZWJHUFVSZW5kZXJpbmdDb250ZXh0PigqY29udGV4dCkgfSB9OworI2lmIEVOQUJM
RShXRUJNRVRBTCkKKyAgICBpZiAoaXM8V2ViTWV0YWxSZW5kZXJpbmdDb250ZXh0PigqY29udGV4
dCkpCisgICAgICAgIHJldHVybiBSZW5kZXJpbmdDb250ZXh0IHsgUmVmUHRyPFdlYk1ldGFsUmVu
ZGVyaW5nQ29udGV4dD4geyAmZG93bmNhc3Q8V2ViTWV0YWxSZW5kZXJpbmdDb250ZXh0PigqY29u
dGV4dCkgfSB9OwogI2VuZGlmCiAKICAgICByZXR1cm4gUmVuZGVyaW5nQ29udGV4dCB7IFJlZlB0
cjxDYW52YXNSZW5kZXJpbmdDb250ZXh0MkQ+IHsgJmRvd25jYXN0PENhbnZhc1JlbmRlcmluZ0Nv
bnRleHQyRD4oKmNvbnRleHQpIH0gfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9E
b2N1bWVudC5oIGIvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmgKaW5kZXggYzZiMTVkNzc3
Y2FjMmRjMTc2NDI3YzMyNDc0ZDEyNjU0YzU5Y2M3YS4uZTJjZjYwYzJlM2VlYThkNzE3NzVjZGVi
NzE1ZWJkMzg2MTY5ODc0ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50
LmgKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmgKQEAgLTE5MCw3ICsxOTAsNyBA
QCBjbGFzcyBWaXNpdGVkTGlua1N0YXRlOwogY2xhc3MgV2ViQW5pbWF0aW9uOwogY2xhc3MgV2Vi
R0wyUmVuZGVyaW5nQ29udGV4dDsKIGNsYXNzIFdlYkdMUmVuZGVyaW5nQ29udGV4dDsKLWNsYXNz
IFdlYkdQVVJlbmRlcmluZ0NvbnRleHQ7CitjbGFzcyBXZWJNZXRhbFJlbmRlcmluZ0NvbnRleHQ7
CiBjbGFzcyBXaW5kb3dQcm94eTsKIGNsYXNzIFhQYXRoRXZhbHVhdG9yOwogY2xhc3MgWFBhdGhF
eHByZXNzaW9uOwpAQCAtMzE3LDggKzMxNyw4IEBAIHVzaW5nIFJlbmRlcmluZ0NvbnRleHQgPSBW
YXJpYW50PAogI2lmIEVOQUJMRShXRUJHTDIpCiAgICAgUmVmUHRyPFdlYkdMMlJlbmRlcmluZ0Nv
bnRleHQ+LAogI2VuZGlmCi0jaWYgRU5BQkxFKFdFQkdQVSkKLSAgICBSZWZQdHI8V2ViR1BVUmVu
ZGVyaW5nQ29udGV4dD4sCisjaWYgRU5BQkxFKFdFQk1FVEFMKQorICAgIFJlZlB0cjxXZWJNZXRh
bFJlbmRlcmluZ0NvbnRleHQ+LAogI2VuZGlmCiAgICAgUmVmUHRyPEltYWdlQml0bWFwUmVuZGVy
aW5nQ29udGV4dD4sCiAgICAgUmVmUHRyPENhbnZhc1JlbmRlcmluZ0NvbnRleHQyRD4KZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9k
b20vRG9jdW1lbnQuaWRsCmluZGV4IDQyNmEyOTQ1ODQ0ZDcwNGI3ODk3ZmZhNzc1MDM5MDBjZmEx
MjVmZDIuLjFhODg2MTk2YzI1ZTE3N2U3Y2Y5NmNmYzNkZDY2MGJkMDdkZTJiOGQgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5pZGwKKysrIGIvU291cmNlL1dlYkNvcmUv
ZG9tL0RvY3VtZW50LmlkbApAQCAtMjUsOCArMjUsOCBAQCB0eXBlZGVmICgKICNpZiBkZWZpbmVk
KEVOQUJMRV9XRUJHTDIpICYmIEVOQUJMRV9XRUJHTDIKICAgICBXZWJHTDJSZW5kZXJpbmdDb250
ZXh0IG9yCiAjZW5kaWYKLSNpZiBkZWZpbmVkKEVOQUJMRV9XRUJHUFUpICYmIEVOQUJMRV9XRUJH
UFUKLSAgICBXZWJHUFVSZW5kZXJpbmdDb250ZXh0IG9yCisjaWYgZGVmaW5lZChFTkFCTEVfV0VC
TUVUQUwpICYmIEVOQUJMRV9XRUJNRVRBTAorICAgIFdlYk1ldGFsUmVuZGVyaW5nQ29udGV4dCBv
cgogI2VuZGlmCiAgICAgSW1hZ2VCaXRtYXBSZW5kZXJpbmdDb250ZXh0IG9yIAogICAgIENhbnZh
c1JlbmRlcmluZ0NvbnRleHQyRCkgUmVuZGVyaW5nQ29udGV4dDsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2h0bWwvSFRNTENhbnZhc0VsZW1lbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvaHRt
bC9IVE1MQ2FudmFzRWxlbWVudC5jcHAKaW5kZXggOGY3MGU5Nzg5ZGU0Mjk5OGVmMTAwZjViZDVm
MDYwNDE0ODg5ZmEyOS4uYjFkZjlkN2I5NjhmODY2MDg5OTcwOGZmNGVjNWI1YTdiODhmNTEzMCAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MQ2FudmFzRWxlbWVudC5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MQ2FudmFzRWxlbWVudC5jcHAKQEAgLTc1LDggKzc1
LDggQEAKICNpbmNsdWRlICJXZWJHTDJSZW5kZXJpbmdDb250ZXh0LmgiCiAjZW5kaWYKIAotI2lm
IEVOQUJMRShXRUJHUFUpCi0jaW5jbHVkZSAiV2ViR1BVUmVuZGVyaW5nQ29udGV4dC5oIgorI2lm
IEVOQUJMRShXRUJNRVRBTCkKKyNpbmNsdWRlICJXZWJNZXRhbFJlbmRlcmluZ0NvbnRleHQuaCIK
ICNlbmRpZgogCiAjaWYgUExBVEZPUk0oQ09DT0EpCkBAIC0yMzgsMTEgKzIzOCwxMSBAQCBFeGNl
cHRpb25PcjxzdGQ6Om9wdGlvbmFsPFJlbmRlcmluZ0NvbnRleHQ+PiBIVE1MQ2FudmFzRWxlbWVu
dDo6Z2V0Q29udGV4dChKU0M6OgogICAgICAgICB9CiAjZW5kaWYKIAotI2lmIEVOQUJMRShXRUJH
UFUpCi0gICAgICAgIGlmIChtX2NvbnRleHQtPmlzV2ViR1BVKCkpIHsKLSAgICAgICAgICAgIGlm
ICghaXNXZWJHUFVUeXBlKGNvbnRleHRJZCkpCisjaWYgRU5BQkxFKFdFQk1FVEFMKQorICAgICAg
ICBpZiAobV9jb250ZXh0LT5pc1dlYk1ldGFsKCkpIHsKKyAgICAgICAgICAgIGlmICghaXNXZWJN
ZXRhbFR5cGUoY29udGV4dElkKSkKICAgICAgICAgICAgICAgICByZXR1cm4gc3RkOjpvcHRpb25h
bDxSZW5kZXJpbmdDb250ZXh0PiB7IHN0ZDo6bnVsbG9wdCB9OwotICAgICAgICAgICAgcmV0dXJu
IHN0ZDo6b3B0aW9uYWw8UmVuZGVyaW5nQ29udGV4dD4geyBSZWZQdHI8V2ViR1BVUmVuZGVyaW5n
Q29udGV4dD4geyAmZG93bmNhc3Q8V2ViR1BVUmVuZGVyaW5nQ29udGV4dD4oKm1fY29udGV4dCkg
fSB9OworICAgICAgICAgICAgcmV0dXJuIHN0ZDo6b3B0aW9uYWw8UmVuZGVyaW5nQ29udGV4dD4g
eyBSZWZQdHI8V2ViTWV0YWxSZW5kZXJpbmdDb250ZXh0PiB7ICZkb3duY2FzdDxXZWJNZXRhbFJl
bmRlcmluZ0NvbnRleHQ+KCptX2NvbnRleHQpIH0gfTsKICAgICAgICAgfQogI2VuZGlmCiAKQEAg
LTI4NywxMiArMjg3LDEyIEBAIEV4Y2VwdGlvbk9yPHN0ZDo6b3B0aW9uYWw8UmVuZGVyaW5nQ29u
dGV4dD4+IEhUTUxDYW52YXNFbGVtZW50OjpnZXRDb250ZXh0KEpTQzo6CiAgICAgfQogI2VuZGlm
CiAKLSNpZiBFTkFCTEUoV0VCR1BVKQotICAgIGlmIChpc1dlYkdQVVR5cGUoY29udGV4dElkKSkg
ewotICAgICAgICBhdXRvIGNvbnRleHQgPSBjcmVhdGVDb250ZXh0V2ViR1BVKGNvbnRleHRJZCk7
CisjaWYgRU5BQkxFKFdFQk1FVEFMKQorICAgIGlmIChpc1dlYk1ldGFsVHlwZShjb250ZXh0SWQp
KSB7CisgICAgICAgIGF1dG8gY29udGV4dCA9IGNyZWF0ZUNvbnRleHRXZWJNZXRhbChjb250ZXh0
SWQpOwogICAgICAgICBpZiAoIWNvbnRleHQpCiAgICAgICAgICAgICByZXR1cm4gc3RkOjpvcHRp
b25hbDxSZW5kZXJpbmdDb250ZXh0PiB7IHN0ZDo6bnVsbG9wdCB9OwotICAgICAgICByZXR1cm4g
c3RkOjpvcHRpb25hbDxSZW5kZXJpbmdDb250ZXh0PiB7IFJlZlB0cjxXZWJHUFVSZW5kZXJpbmdD
b250ZXh0PiB7IGNvbnRleHQgfSB9OworICAgICAgICByZXR1cm4gc3RkOjpvcHRpb25hbDxSZW5k
ZXJpbmdDb250ZXh0PiB7IFJlZlB0cjxXZWJNZXRhbFJlbmRlcmluZ0NvbnRleHQ+IHsgY29udGV4
dCB9IH07CiAgICAgfQogI2VuZGlmCiAKQEAgLTMwNyw5ICszMDcsOSBAQCBDYW52YXNSZW5kZXJp
bmdDb250ZXh0KiBIVE1MQ2FudmFzRWxlbWVudDo6Z2V0Q29udGV4dChjb25zdCBTdHJpbmcmIHR5
cGUpCiAgICAgaWYgKEhUTUxDYW52YXNFbGVtZW50Ojppc0JpdG1hcFJlbmRlcmVyVHlwZSh0eXBl
KSkKICAgICAgICAgcmV0dXJuIGdldENvbnRleHRCaXRtYXBSZW5kZXJlcih0eXBlKTsKIAotI2lm
IEVOQUJMRShXRUJHUFUpCi0gICAgaWYgKEhUTUxDYW52YXNFbGVtZW50Ojppc1dlYkdQVVR5cGUo
dHlwZSkgJiYgUnVudGltZUVuYWJsZWRGZWF0dXJlczo6c2hhcmVkRmVhdHVyZXMoKS53ZWJHUFVF
bmFibGVkKCkpCi0gICAgICAgIHJldHVybiBnZXRDb250ZXh0V2ViR1BVKHR5cGUpOworI2lmIEVO
QUJMRShXRUJNRVRBTCkKKyAgICBpZiAoSFRNTENhbnZhc0VsZW1lbnQ6OmlzV2ViTWV0YWxUeXBl
KHR5cGUpICYmIFJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6OnNoYXJlZEZlYXR1cmVzKCkud2ViTWV0
YWxFbmFibGVkKCkpCisgICAgICAgIHJldHVybiBnZXRDb250ZXh0V2ViTWV0YWwodHlwZSk7CiAj
ZW5kaWYKIAogI2lmIEVOQUJMRShXRUJHTCkKQEAgLTQzNyw0MyArNDM3LDQzIEBAIFdlYkdMUmVu
ZGVyaW5nQ29udGV4dEJhc2UqIEhUTUxDYW52YXNFbGVtZW50OjpnZXRDb250ZXh0V2ViR0woY29u
c3QgU3RyaW5nJiB0eXBlCiAKICNlbmRpZiAvLyBFTkFCTEUoV0VCR0wpCiAKLSNpZiBFTkFCTEUo
V0VCR1BVKQorI2lmIEVOQUJMRShXRUJNRVRBTCkKIAotYm9vbCBIVE1MQ2FudmFzRWxlbWVudDo6
aXNXZWJHUFVUeXBlKGNvbnN0IFN0cmluZyYgdHlwZSkKK2Jvb2wgSFRNTENhbnZhc0VsZW1lbnQ6
OmlzV2ViTWV0YWxUeXBlKGNvbnN0IFN0cmluZyYgdHlwZSkKIHsKLSAgICByZXR1cm4gdHlwZSA9
PSAid2ViZ3B1IjsKKyAgICByZXR1cm4gdHlwZSA9PSAid2VibWV0YWwiOwogfQogCi1XZWJHUFVS
ZW5kZXJpbmdDb250ZXh0KiBIVE1MQ2FudmFzRWxlbWVudDo6Y3JlYXRlQ29udGV4dFdlYkdQVShj
b25zdCBTdHJpbmcmIHR5cGUpCitXZWJNZXRhbFJlbmRlcmluZ0NvbnRleHQqIEhUTUxDYW52YXNF
bGVtZW50OjpjcmVhdGVDb250ZXh0V2ViTWV0YWwoY29uc3QgU3RyaW5nJiB0eXBlKQogewotICAg
IEFTU0VSVF9VTlVTRUQodHlwZSwgSFRNTENhbnZhc0VsZW1lbnQ6OmlzV2ViR1BVVHlwZSh0eXBl
KSk7CisgICAgQVNTRVJUX1VOVVNFRCh0eXBlLCBIVE1MQ2FudmFzRWxlbWVudDo6aXNXZWJNZXRh
bFR5cGUodHlwZSkpOwogICAgIEFTU0VSVCghbV9jb250ZXh0KTsKIAotICAgIGlmICghUnVudGlt
ZUVuYWJsZWRGZWF0dXJlczo6c2hhcmVkRmVhdHVyZXMoKS53ZWJHUFVFbmFibGVkKCkpCisgICAg
aWYgKCFSdW50aW1lRW5hYmxlZEZlYXR1cmVzOjpzaGFyZWRGZWF0dXJlcygpLndlYk1ldGFsRW5h
YmxlZCgpKQogICAgICAgICByZXR1cm4gbnVsbHB0cjsKIAotICAgIG1fY29udGV4dCA9IFdlYkdQ
VVJlbmRlcmluZ0NvbnRleHQ6OmNyZWF0ZSgqdGhpcyk7CisgICAgbV9jb250ZXh0ID0gV2ViTWV0
YWxSZW5kZXJpbmdDb250ZXh0OjpjcmVhdGUoKnRoaXMpOwogICAgIGlmIChtX2NvbnRleHQpIHsK
ICAgICAgICAgLy8gTmVlZCB0byBtYWtlIHN1cmUgYSBSZW5kZXJMYXllciBhbmQgY29tcG9zaXRp
bmcgbGF5ZXIgZ2V0IGNyZWF0ZWQgZm9yIHRoZSBDYW52YXMuCiAgICAgICAgIGludmFsaWRhdGVT
dHlsZUFuZExheWVyQ29tcG9zaXRpb24oKTsKICAgICB9CiAKLSAgICByZXR1cm4gc3RhdGljX2Nh
c3Q8V2ViR1BVUmVuZGVyaW5nQ29udGV4dCo+KG1fY29udGV4dC5nZXQoKSk7CisgICAgcmV0dXJu
IHN0YXRpY19jYXN0PFdlYk1ldGFsUmVuZGVyaW5nQ29udGV4dCo+KG1fY29udGV4dC5nZXQoKSk7
CiB9CiAKLVdlYkdQVVJlbmRlcmluZ0NvbnRleHQqIEhUTUxDYW52YXNFbGVtZW50OjpnZXRDb250
ZXh0V2ViR1BVKGNvbnN0IFN0cmluZyYgdHlwZSkKK1dlYk1ldGFsUmVuZGVyaW5nQ29udGV4dCog
SFRNTENhbnZhc0VsZW1lbnQ6OmdldENvbnRleHRXZWJNZXRhbChjb25zdCBTdHJpbmcmIHR5cGUp
CiB7Ci0gICAgQVNTRVJUX1VOVVNFRCh0eXBlLCBIVE1MQ2FudmFzRWxlbWVudDo6aXNXZWJHUFVU
eXBlKHR5cGUpKTsKKyAgICBBU1NFUlRfVU5VU0VEKHR5cGUsIEhUTUxDYW52YXNFbGVtZW50Ojpp
c1dlYk1ldGFsVHlwZSh0eXBlKSk7CiAKLSAgICBpZiAoIVJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6
OnNoYXJlZEZlYXR1cmVzKCkud2ViR1BVRW5hYmxlZCgpKQorICAgIGlmICghUnVudGltZUVuYWJs
ZWRGZWF0dXJlczo6c2hhcmVkRmVhdHVyZXMoKS53ZWJNZXRhbEVuYWJsZWQoKSkKICAgICAgICAg
cmV0dXJuIG51bGxwdHI7CiAKLSAgICBpZiAobV9jb250ZXh0ICYmICFtX2NvbnRleHQtPmlzV2Vi
R1BVKCkpCisgICAgaWYgKG1fY29udGV4dCAmJiAhbV9jb250ZXh0LT5pc1dlYk1ldGFsKCkpCiAg
ICAgICAgIHJldHVybiBudWxscHRyOwogCiAgICAgaWYgKCFtX2NvbnRleHQpCi0gICAgICAgIHJl
dHVybiBjcmVhdGVDb250ZXh0V2ViR1BVKHR5cGUpOwotICAgIHJldHVybiBzdGF0aWNfY2FzdDxX
ZWJHUFVSZW5kZXJpbmdDb250ZXh0Kj4obV9jb250ZXh0LmdldCgpKTsKKyAgICAgICAgcmV0dXJu
IGNyZWF0ZUNvbnRleHRXZWJNZXRhbCh0eXBlKTsKKyAgICByZXR1cm4gc3RhdGljX2Nhc3Q8V2Vi
TWV0YWxSZW5kZXJpbmdDb250ZXh0Kj4obV9jb250ZXh0LmdldCgpKTsKIH0KICNlbmRpZgogCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxDYW52YXNFbGVtZW50LmggYi9Tb3Vy
Y2UvV2ViQ29yZS9odG1sL0hUTUxDYW52YXNFbGVtZW50LmgKaW5kZXggZjg4ZDYxMTJkZTI5ZWUw
ZTAxYjc2NDhkMTcxMzZkZDY4MTY0NzBkZS4uMmRmOWMwYjMwZjU2MDZkOGJlZTZjMWM4MTg3Nzlj
NmIxZTQ4ZTg4YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MQ2FudmFzRWxl
bWVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTENhbnZhc0VsZW1lbnQuaApAQCAt
NTEsNyArNTEsNyBAQCBjbGFzcyBJbWFnZURhdGE7CiBjbGFzcyBNZWRpYVNhbXBsZTsKIGNsYXNz
IE1lZGlhU3RyZWFtOwogY2xhc3MgV2ViR0xSZW5kZXJpbmdDb250ZXh0QmFzZTsKLWNsYXNzIFdl
YkdQVVJlbmRlcmluZ0NvbnRleHQ7CitjbGFzcyBXZWJNZXRhbFJlbmRlcmluZ0NvbnRleHQ7CiBz
dHJ1Y3QgVW5jYWNoZWRTdHJpbmc7CiAKIG5hbWVzcGFjZSBEaXNwbGF5TGlzdCB7CkBAIC05Nywx
MCArOTcsMTAgQEAgcHVibGljOgogICAgIFdlYkdMUmVuZGVyaW5nQ29udGV4dEJhc2UqIGNyZWF0
ZUNvbnRleHRXZWJHTChjb25zdCBTdHJpbmcmLCBXZWJHTENvbnRleHRBdHRyaWJ1dGVzJiYgPSB7
IH0pOwogICAgIFdlYkdMUmVuZGVyaW5nQ29udGV4dEJhc2UqIGdldENvbnRleHRXZWJHTChjb25z
dCBTdHJpbmcmLCBXZWJHTENvbnRleHRBdHRyaWJ1dGVzJiYgPSB7IH0pOwogI2VuZGlmCi0jaWYg
RU5BQkxFKFdFQkdQVSkKLSAgICBzdGF0aWMgYm9vbCBpc1dlYkdQVVR5cGUoY29uc3QgU3RyaW5n
Jik7Ci0gICAgV2ViR1BVUmVuZGVyaW5nQ29udGV4dCogY3JlYXRlQ29udGV4dFdlYkdQVShjb25z
dCBTdHJpbmcmKTsKLSAgICBXZWJHUFVSZW5kZXJpbmdDb250ZXh0KiBnZXRDb250ZXh0V2ViR1BV
KGNvbnN0IFN0cmluZyYpOworI2lmIEVOQUJMRShXRUJNRVRBTCkKKyAgICBzdGF0aWMgYm9vbCBp
c1dlYk1ldGFsVHlwZShjb25zdCBTdHJpbmcmKTsKKyAgICBXZWJNZXRhbFJlbmRlcmluZ0NvbnRl
eHQqIGNyZWF0ZUNvbnRleHRXZWJNZXRhbChjb25zdCBTdHJpbmcmKTsKKyAgICBXZWJNZXRhbFJl
bmRlcmluZ0NvbnRleHQqIGdldENvbnRleHRXZWJNZXRhbChjb25zdCBTdHJpbmcmKTsKICNlbmRp
ZgogCiAgICAgc3RhdGljIGJvb2wgaXNCaXRtYXBSZW5kZXJlclR5cGUoY29uc3QgU3RyaW5nJik7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxDYW52YXNFbGVtZW50LmlkbCBi
L1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTENhbnZhc0VsZW1lbnQuaWRsCmluZGV4IDYxNTdlYTE2
ZjVkMTg4ZjE4Y2VmYzEzN2I1ZGMzMjZjMmY5MzU1NTMuLmZmMTIzYjIxNGZjODJmMGI0NjQ3NTUy
ZTU2NzYzMGFiYTMyNzJjNWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTENh
bnZhc0VsZW1lbnQuaWRsCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTENhbnZhc0VsZW1l
bnQuaWRsCkBAIC0zMSw4ICszMSw4IEBAIHR5cGVkZWYgKAogI2lmIGRlZmluZWQoRU5BQkxFX1dF
QkdMMikgJiYgRU5BQkxFX1dFQkdMMgogICAgIFdlYkdMMlJlbmRlcmluZ0NvbnRleHQgb3IKICNl
bmRpZgotI2lmIGRlZmluZWQoRU5BQkxFX1dFQkdQVSkgJiYgRU5BQkxFX1dFQkdQVQotICAgIFdl
YkdQVVJlbmRlcmluZ0NvbnRleHQgb3IKKyNpZiBkZWZpbmVkKEVOQUJMRV9XRUJNRVRBTCkgJiYg
RU5BQkxFX1dFQk1FVEFMCisgICAgV2ViTWV0YWxSZW5kZXJpbmdDb250ZXh0IG9yCiAjZW5kaWYK
ICAgICBJbWFnZUJpdG1hcFJlbmRlcmluZ0NvbnRleHQgb3IgCiAgICAgQ2FudmFzUmVuZGVyaW5n
Q29udGV4dDJEKSBSZW5kZXJpbmdDb250ZXh0OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
aHRtbC9jYW52YXMvQ2FudmFzUmVuZGVyaW5nQ29udGV4dC5oIGIvU291cmNlL1dlYkNvcmUvaHRt
bC9jYW52YXMvQ2FudmFzUmVuZGVyaW5nQ29udGV4dC5oCmluZGV4IDgxY2I1NWQ3N2UzMTgwNTY0
NDcwNzc3N2ExZTI5OTU2ZjQ0M2Y2NTguLjJkMmQ4ODc1NzkwMThkMGZhZmRhYWRmYWU2ZDIyYzFl
YjM5MDQxZTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL0NhbnZhc1Jl
bmRlcmluZ0NvbnRleHQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9DYW52YXNS
ZW5kZXJpbmdDb250ZXh0LmgKQEAgLTU1LDggKzU1LDggQEAgcHVibGljOgogICAgIHZpcnR1YWwg
Ym9vbCBpc1dlYkdMMSgpIGNvbnN0IHsgcmV0dXJuIGZhbHNlOyB9CiAgICAgdmlydHVhbCBib29s
IGlzV2ViR0wyKCkgY29uc3QgeyByZXR1cm4gZmFsc2U7IH0KICAgICBib29sIGlzV2ViR0woKSBj
b25zdCB7IHJldHVybiBpc1dlYkdMMSgpIHx8IGlzV2ViR0wyKCk7IH0KLSNpZiBFTkFCTEUoV0VC
R1BVKQotICAgIHZpcnR1YWwgYm9vbCBpc1dlYkdQVSgpIGNvbnN0IHsgcmV0dXJuIGZhbHNlOyB9
CisjaWYgRU5BQkxFKFdFQk1FVEFMKQorICAgIHZpcnR1YWwgYm9vbCBpc1dlYk1ldGFsKCkgY29u
c3QgeyByZXR1cm4gZmFsc2U7IH0KICNlbmRpZgogICAgIHZpcnR1YWwgYm9vbCBpc0dQVUJhc2Vk
KCkgY29uc3QgeyByZXR1cm4gZmFsc2U7IH0KICAgICB2aXJ0dWFsIGJvb2wgaXNBY2NlbGVyYXRl
ZCgpIGNvbnN0IHsgcmV0dXJuIGZhbHNlOyB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9o
dG1sL2NhbnZhcy9XZWJHUFVCdWZmZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMv
V2ViR1BVQnVmZmVyLmNwcApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggOTUzZjQ3NDY5
MzhkY2NiMDJkZjM2ZjRhMTIwMTMxOGY0NTBlOGYxMC4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHUFVC
dWZmZXIuY3BwCisrKyAvZGV2L251bGwKQEAgLTEsNDYgKzAsMCBAQAotLyoKLSAqIENvcHlyaWdo
dCAoQykgMjAxNyBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0gKgotICogUmVkaXN0
cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRo
b3V0Ci0gKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9s
bG93aW5nIGNvbmRpdGlvbnMKLSAqIGFyZSBtZXQ6Ci0gKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Yg
c291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNl
LCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgot
ICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBh
Ym92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5k
IHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKLSAqICAgIGRvY3VtZW50YXRpb24gYW5k
L29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCi0gKgot
ICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIGBgQVMgSVMnJyBBTkQg
QU5ZCi0gKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9U
IExJTUlURUQgVE8sIFRIRQotICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElU
WSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCi0gKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVE
LiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUgotICogQ09OVFJJQlVUT1JTIEJFIExJ
QUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCi0gKiBF
WEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJ
TUlURUQgVE8sCi0gKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VT
OyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKLSAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQ
VElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKLSAqIE9GIExJQUJJTElUWSwg
V0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAotICogKElOQ0xV
RElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBU
SEUgVVNFCi0gKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJ
QklMSVRZIE9GIFNVQ0ggREFNQUdFLgotICovCi0KLSNpbmNsdWRlICJjb25maWcuaCIKLSNpbmNs
dWRlICJXZWJHUFVCdWZmZXIuaCIKLQotI2lmIEVOQUJMRShXRUJHUFUpCi0KLW5hbWVzcGFjZSBX
ZWJDb3JlIHsKLQotUmVmUHRyPFdlYkdQVUJ1ZmZlcj4gV2ViR1BVQnVmZmVyOjpjcmVhdGUoR1BV
QnVmZmVyJiYgYnVmZmVyKQotewotICAgIC8vIEZJWE1FOiBDb25zaWRlciByZXR1cm5pbmcgbnVs
bCByYXRoZXIgdGhhbiBhIGJ1ZmZlciB3aXRoIGxlbmd0aCAwIGFuZCBjb250ZW50cyBudWxsIHdo
ZW4gY3JlYXRpb24gZmFpbHMuCi0gICAgcmV0dXJuIGFkb3B0UmVmKCpuZXcgV2ViR1BVQnVmZmVy
KFdURk1vdmUoYnVmZmVyKSkpOwotfQotCi1XZWJHUFVCdWZmZXI6OldlYkdQVUJ1ZmZlcihHUFVC
dWZmZXImJiBidWZmZXIpCi0gICAgOiBtX2J1ZmZlciB7IFdURk1vdmUoYnVmZmVyKSB9Ci17Ci19
Ci0KLX0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKLQotI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHUFVCdWZmZXIuaCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwv
Y2FudmFzL1dlYkdQVUJ1ZmZlci5oCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAxNmNl
NGY2ZTNmN2YyYjI2ODBmNDkyZjEyYjUxZTNhNzIwNWYxNjRjLi4wMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dl
YkdQVUJ1ZmZlci5oCisrKyAvZGV2L251bGwKQEAgLTEsNTMgKzAsMCBAQAotLyoKLSAqIENvcHly
aWdodCAoQykgMjAxNyBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0gKgotICogUmVk
aXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3
aXRob3V0Ci0gKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUg
Zm9sbG93aW5nIGNvbmRpdGlvbnMKLSAqIGFyZSBtZXQ6Ci0gKiAxLiBSZWRpc3RyaWJ1dGlvbnMg
b2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
LgotICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRo
ZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKLSAqICAgIGRvY3VtZW50YXRpb24g
YW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCi0g
KgotICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIGBgQVMgSVMnJyBB
TkQgQU5ZCi0gKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQg
Tk9UIExJTUlURUQgVE8sIFRIRQotICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJ
TElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCi0gKiBQVVJQT1NFIEFSRSBESVNDTEFJ
TUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUgotICogQ09OVFJJQlVUT1JTIEJF
IExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCi0g
KiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9U
IExJTUlURUQgVE8sCi0gKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJ
Q0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKLSAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVS
UlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKLSAqIE9GIExJQUJJTElU
WSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAotICogKElO
Q0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBP
RiBUSEUgVVNFCi0gKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBP
U1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgotICovCi0KLSNwcmFnbWEgb25jZQotCi0jaWYgRU5B
QkxFKFdFQkdQVSkKLQotI2luY2x1ZGUgIkdQVUJ1ZmZlci5oIgotI2luY2x1ZGUgPHd0Zi9SZWZD
b3VudGVkLmg+Ci0jaW5jbHVkZSA8d3RmL1JlZlB0ci5oPgotCi1uYW1lc3BhY2UgV2ViQ29yZSB7
Ci0KLWNsYXNzIFdlYkdQVUJ1ZmZlciA6IHB1YmxpYyBSZWZDb3VudGVkPFdlYkdQVUJ1ZmZlcj4g
ewotcHVibGljOgotICAgIHN0YXRpYyBSZWZQdHI8V2ViR1BVQnVmZmVyPiBjcmVhdGUoR1BVQnVm
ZmVyJiYpOwotCi0gICAgdW5zaWduZWQgbGVuZ3RoKCkgY29uc3QgeyByZXR1cm4gbV9idWZmZXIu
bGVuZ3RoKCk7IH0KLSAgICBKU0M6OkFycmF5QnVmZmVyJiBjb250ZW50cygpIGNvbnN0IHsgcmV0
dXJuICptX2J1ZmZlci5jb250ZW50cygpOyB9Ci0KLSAgICBjb25zdCBHUFVCdWZmZXImIGJ1ZmZl
cigpIGNvbnN0IHsgcmV0dXJuIG1fYnVmZmVyOyB9Ci0KLXByaXZhdGU6Ci0gICAgZXhwbGljaXQg
V2ViR1BVQnVmZmVyKEdQVUJ1ZmZlciYmKTsKLQotICAgIEdQVUJ1ZmZlciBtX2J1ZmZlcjsKLX07
Ci0KLX0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKLQotI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHUFVCdWZmZXIuaWRsIGIvU291cmNlL1dlYkNvcmUvaHRt
bC9jYW52YXMvV2ViR1BVQnVmZmVyLmlkbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
NWYxMDdkMzVkNDQwYzE0ZDgwYmZmZjQzOWZiZTE1ZDE3ZGI1Y2M1NC4uMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZh
cy9XZWJHUFVCdWZmZXIuaWRsCisrKyAvZGV2L251bGwKQEAgLTEsMzUgKzAsMCBAQAotLyoKLSAq
IENvcHlyaWdodCAoQykgMjAxNyBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0gKgot
ICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0
aCBvciB3aXRob3V0Ci0gKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhh
dCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKLSAqIGFyZSBtZXQ6Ci0gKiAxLiBSZWRpc3RyaWJ1
dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAotICog
ICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNj
bGFpbWVyLgotICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9k
dWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRp
dGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKLSAqICAgIGRvY3VtZW50
YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRp
b24uCi0gKgotICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIGBgQVMg
SVMnJyBBTkQgQU5ZCi0gKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5H
LCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQotICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNI
QU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCi0gKiBQVVJQT1NFIEFSRSBE
SVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUgotICogQ09OVFJJQlVU
T1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJ
QUwsCi0gKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBC
VVQgTk9UIExJTUlURUQgVE8sCi0gKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9S
IFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKLSAqIFBST0ZJVFM7IE9SIEJVU0lORVNT
IElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKLSAqIE9GIExJ
QUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAot
ICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZ
IE9VVCBPRiBUSEUgVVNFCi0gKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0Yg
VEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgotICovCi0KLVsKLSAgICBDb25kaXRpb25h
bD1XRUJHUFUsCi0gICAgRW5hYmxlZEF0UnVudGltZT1XZWJHUFUsCi0gICAgSW1wbGVtZW50YXRp
b25MYWNrc1ZUYWJsZQotXSBpbnRlcmZhY2UgV2ViR1BVQnVmZmVyIHsKLQotICAgIHJlYWRvbmx5
IGF0dHJpYnV0ZSB1bnNpZ25lZCBsb25nIGxlbmd0aDsKLSAgICByZWFkb25seSBhdHRyaWJ1dGUg
QXJyYXlCdWZmZXJWaWV3IGNvbnRlbnRzOwotCi19OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvaHRtbC9jYW52YXMvV2ViR1BVQ29tbWFuZEJ1ZmZlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9o
dG1sL2NhbnZhcy9XZWJHUFVDb21tYW5kQnVmZmVyLmNwcApkZWxldGVkIGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggYWU1ZDM4YjU4NTlmYWQ2YTZiNTIyYzkwN2YzODI2NmFkNDI3ZGQ2MS4uMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9o
dG1sL2NhbnZhcy9XZWJHUFVDb21tYW5kQnVmZmVyLmNwcAorKysgL2Rldi9udWxsCkBAIC0xLDg3
ICswLDAgQEAKLS8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTcgQXBwbGUgSW5jLiBBbGwgcmlnaHRz
IHJlc2VydmVkLgotICogQ29weXJpZ2h0IChDKSAyMDE3IFl1aWNoaXJvIEtpa3VyYSAoeS5raWt1
cmFAZ21haWwuY29tKQotICoKLSAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFu
ZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAotICogbW9kaWZpY2F0aW9uLCBhcmUgcGVy
bWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCi0gKiBhcmUgbWV0
OgotICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBh
Ym92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5k
IHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KLSAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5h
cnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2Us
IHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4g
dGhlCi0gKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQg
d2l0aCB0aGUgZGlzdHJpYnV0aW9uLgotICoKLSAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQg
QlkgQVBQTEUgSU5DLiBgYEFTIElTJycgQU5EIEFOWQotICogRVhQUkVTUyBPUiBJTVBMSUVEIFdB
UlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKLSAqIElNUExJRUQg
V0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxB
UgotICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElO
Qy4gT1IKLSAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNU
LCBJTkNJREVOVEFMLCBTUEVDSUFMLAotICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERB
TUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAotICogUFJPQ1VSRU1FTlQgT0Yg
U1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCi0gKiBQ
Uk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBB
TlkgVEhFT1JZCi0gKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBM
SUFCSUxJVFksIE9SIFRPUlQKLSAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0Up
IEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQotICogT0YgVEhJUyBTT0ZUV0FSRSwg
RVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KLSAqLwot
Ci0jaW5jbHVkZSAiY29uZmlnLmgiCi0jaW5jbHVkZSAiV2ViR1BVQ29tbWFuZEJ1ZmZlci5oIgot
Ci0jaWYgRU5BQkxFKFdFQkdQVSkKLQotI2luY2x1ZGUgIkdQVUNvbW1hbmRCdWZmZXIuaCIKLSNp
bmNsdWRlICJHUFVDb21tYW5kUXVldWUuaCIKLSNpbmNsdWRlICJMb2dnaW5nLmgiCi0jaW5jbHVk
ZSAiV2ViR1BVQ29tcHV0ZUNvbW1hbmRFbmNvZGVyLmgiCi0jaW5jbHVkZSAiV2ViR1BVRHJhd2Fi
bGUuaCIKLSNpbmNsdWRlICJXZWJHUFVSZW5kZXJDb21tYW5kRW5jb2Rlci5oIgotI2luY2x1ZGUg
IldlYkdQVVJlbmRlclBhc3NEZXNjcmlwdG9yLmgiCi0KLW5hbWVzcGFjZSBXZWJDb3JlIHsKLQot
UmVmPFdlYkdQVUNvbW1hbmRCdWZmZXI+IFdlYkdQVUNvbW1hbmRCdWZmZXI6OmNyZWF0ZShjb25z
dCBHUFVDb21tYW5kUXVldWUmIHF1ZXVlKQotewotICAgIHJldHVybiBhZG9wdFJlZigqbmV3IFdl
YkdQVUNvbW1hbmRCdWZmZXIocXVldWUpKTsKLX0KLQotV2ViR1BVQ29tbWFuZEJ1ZmZlcjo6V2Vi
R1BVQ29tbWFuZEJ1ZmZlcihjb25zdCBHUFVDb21tYW5kUXVldWUmIHF1ZXVlKQotICAgIDogbV9i
dWZmZXIgeyBxdWV1ZSwgW3RoaXNdICgpIHsgbV9jb21wbGV0ZWQucmVzb2x2ZSgpOyB9IH0KLXsK
LSAgICBMT0coV2ViR1BVLCAiV2ViR1BVQ29tbWFuZEJ1ZmZlcjo6V2ViR1BVQ29tbWFuZEJ1ZmZl
cigpIik7Ci19Ci0KLVdlYkdQVUNvbW1hbmRCdWZmZXI6On5XZWJHUFVDb21tYW5kQnVmZmVyKCkK
LXsKLSAgICBMT0coV2ViR1BVLCAiV2ViR1BVQ29tbWFuZEJ1ZmZlcjo6fldlYkdQVUNvbW1hbmRC
dWZmZXIoKSIpOwotfQotCi12b2lkIFdlYkdQVUNvbW1hbmRCdWZmZXI6OmNvbW1pdCgpCi17Ci0g
ICAgTE9HKFdlYkdQVSwgIldlYkdQVUNvbW1hbmRCdWZmZXI6OmNvbW1pdCgpIik7Ci0gICAgbV9i
dWZmZXIuY29tbWl0KCk7Ci19Ci0KLXZvaWQgV2ViR1BVQ29tbWFuZEJ1ZmZlcjo6cHJlc2VudERy
YXdhYmxlKFdlYkdQVURyYXdhYmxlJiBkcmF3YWJsZSkKLXsKLSAgICBMT0coV2ViR1BVLCAiV2Vi
R1BVQ29tbWFuZEJ1ZmZlcjo6cHJlc2VudERyYXdhYmxlKCkiKTsKLSAgICBtX2J1ZmZlci5wcmVz
ZW50RHJhd2FibGUoZHJhd2FibGUuZHJhd2FibGUoKSk7Ci19Ci0KLVJlZjxXZWJHUFVSZW5kZXJD
b21tYW5kRW5jb2Rlcj4gV2ViR1BVQ29tbWFuZEJ1ZmZlcjo6Y3JlYXRlUmVuZGVyQ29tbWFuZEVu
Y29kZXJXaXRoRGVzY3JpcHRvcihXZWJHUFVSZW5kZXJQYXNzRGVzY3JpcHRvciYgZGVzY3JpcHRv
cikKLXsKLSAgICByZXR1cm4gV2ViR1BVUmVuZGVyQ29tbWFuZEVuY29kZXI6OmNyZWF0ZShHUFVS
ZW5kZXJDb21tYW5kRW5jb2RlciB7IG1fYnVmZmVyLCBkZXNjcmlwdG9yLmRlc2NyaXB0b3IoKSB9
KTsKLX0KLQotUmVmPFdlYkdQVUNvbXB1dGVDb21tYW5kRW5jb2Rlcj4gV2ViR1BVQ29tbWFuZEJ1
ZmZlcjo6Y3JlYXRlQ29tcHV0ZUNvbW1hbmRFbmNvZGVyKCkKLXsKLSAgICByZXR1cm4gV2ViR1BV
Q29tcHV0ZUNvbW1hbmRFbmNvZGVyOjpjcmVhdGUoR1BVQ29tcHV0ZUNvbW1hbmRFbmNvZGVyIHsg
bV9idWZmZXIgfSk7Ci19Ci0KLURPTVByb21pc2VQcm94eTxJRExWb2lkPiYgV2ViR1BVQ29tbWFu
ZEJ1ZmZlcjo6Y29tcGxldGVkKCkKLXsKLSAgICByZXR1cm4gbV9jb21wbGV0ZWQ7Ci19Ci0KLX0g
Ly8gbmFtZXNwYWNlIFdlYkNvcmUKLQotI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9odG1sL2NhbnZhcy9XZWJHUFVDb21tYW5kQnVmZmVyLmggYi9Tb3VyY2UvV2ViQ29yZS9odG1s
L2NhbnZhcy9XZWJHUFVDb21tYW5kQnVmZmVyLmgKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IGIyMGY0YzA1Y2VhMTk1NGQ0MTcxMzJlM2ZmZTk1ODE5MTlkNGNlZWQuLjAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9j
YW52YXMvV2ViR1BVQ29tbWFuZEJ1ZmZlci5oCisrKyAvZGV2L251bGwKQEAgLTEsNjcgKzAsMCBA
QAotLyoKLSAqIENvcHlyaWdodCAoQykgMjAxNyBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2
ZWQuCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTcgWXVpY2hpcm8gS2lrdXJhICh5Lmtpa3VyYUBnbWFp
bC5jb20pCi0gKgotICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFy
eSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Ci0gKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQg
cHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKLSAqIGFyZSBtZXQ6Ci0gKiAx
LiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNv
cHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyLgotICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3Jt
IG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBs
aXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKLSAq
ICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRo
ZSBkaXN0cmlidXRpb24uCi0gKgotICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBM
RSBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCi0gKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElF
UywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQotICogSU1QTElFRCBXQVJSQU5U
SUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCi0gKiBQ
VVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUgot
ICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lE
RU5UQUwsIFNQRUNJQUwsCi0gKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAo
SU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCi0gKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElU
VVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKLSAqIFBST0ZJVFM7
IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVP
UlkKLSAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElU
WSwgT1IgVE9SVAotICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lO
RyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCi0gKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElG
IEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgotICovCi0KLSNwcmFn
bWEgb25jZQotCi0jaWYgRU5BQkxFKFdFQkdQVSkKLQotI2luY2x1ZGUgIkRPTVByb21pc2VQcm94
eS5oIgotI2luY2x1ZGUgIkdQVUNvbW1hbmRCdWZmZXIuaCIKLSNpbmNsdWRlIDx3dGYvUmVmLmg+
Ci0jaW5jbHVkZSA8d3RmL1JlZkNvdW50ZWQuaD4KLQotbmFtZXNwYWNlIFdlYkNvcmUgewotCi1j
bGFzcyBXZWJHUFVDb21wdXRlQ29tbWFuZEVuY29kZXI7Ci1jbGFzcyBXZWJHUFVEcmF3YWJsZTsK
LWNsYXNzIFdlYkdQVVJlbmRlckNvbW1hbmRFbmNvZGVyOwotY2xhc3MgV2ViR1BVUmVuZGVyUGFz
c0Rlc2NyaXB0b3I7Ci0KLWNsYXNzIFdlYkdQVUNvbW1hbmRCdWZmZXIgOiBwdWJsaWMgUmVmQ291
bnRlZDxXZWJHUFVDb21tYW5kQnVmZmVyPiB7Ci1wdWJsaWM6Ci0gICAgfldlYkdQVUNvbW1hbmRC
dWZmZXIoKTsKLSAgICBzdGF0aWMgUmVmPFdlYkdQVUNvbW1hbmRCdWZmZXI+IGNyZWF0ZShjb25z
dCBHUFVDb21tYW5kUXVldWUmKTsKLQotICAgIHZvaWQgY29tbWl0KCk7Ci0gICAgdm9pZCBwcmVz
ZW50RHJhd2FibGUoV2ViR1BVRHJhd2FibGUmKTsKLQotICAgIFJlZjxXZWJHUFVSZW5kZXJDb21t
YW5kRW5jb2Rlcj4gY3JlYXRlUmVuZGVyQ29tbWFuZEVuY29kZXJXaXRoRGVzY3JpcHRvcihXZWJH
UFVSZW5kZXJQYXNzRGVzY3JpcHRvciYpOwotICAgIFJlZjxXZWJHUFVDb21wdXRlQ29tbWFuZEVu
Y29kZXI+IGNyZWF0ZUNvbXB1dGVDb21tYW5kRW5jb2RlcigpOwotCi0gICAgRE9NUHJvbWlzZVBy
b3h5PElETFZvaWQ+JiBjb21wbGV0ZWQoKTsKLQotICAgIGNvbnN0IEdQVUNvbW1hbmRCdWZmZXIm
IGJ1ZmZlcigpIGNvbnN0IHsgcmV0dXJuIG1fYnVmZmVyOyB9Ci0KLXByaXZhdGU6Ci0gICAgZXhw
bGljaXQgV2ViR1BVQ29tbWFuZEJ1ZmZlcihjb25zdCBHUFVDb21tYW5kUXVldWUmKTsKLQotICAg
IEdQVUNvbW1hbmRCdWZmZXIgbV9idWZmZXI7Ci0gICAgRE9NUHJvbWlzZVByb3h5PElETFZvaWQ+
IG1fY29tcGxldGVkOwotfTsKLQotfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQotCi0jZW5kaWYKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdQVUNvbW1hbmRCdWZmZXIu
aWRsIGIvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR1BVQ29tbWFuZEJ1ZmZlci5pZGwK
ZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDM0ODJhNTY5NDVhMDY1OTU2Y2Y3M2M2OWVh
ZWI2MGY1NzI1OGY2OGIuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAK
LS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR1BVQ29tbWFuZEJ1ZmZlci5pZGwK
KysrIC9kZXYvbnVsbApAQCAtMSwzNyArMCwwIEBACi0vKgotICogQ29weXJpZ2h0IChDKSAyMDE3
IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLSAqIENvcHlyaWdodCAoQykgMjAxNyBZ
dWljaGlybyBLaWt1cmEgKHkua2lrdXJhQGdtYWlsLmNvbSkKLSAqCi0gKiBSZWRpc3RyaWJ1dGlv
biBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKLSAq
IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcg
Y29uZGl0aW9ucwotICogYXJlIG1ldDoKLSAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2Ug
Y29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCi0gKiAyLiBS
ZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNv
cHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQotICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3Ro
ZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KLSAqCi0gKiBUSElT
IFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gYGBBUyBJUycnIEFORCBBTlkKLSAq
IEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRF
RCBUTywgVEhFCi0gKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBG
SVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKLSAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBO
TyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SCi0gKiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZP
UiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKLSAqIEVYRU1QTEFS
WSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBU
TywKLSAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1Mg
T0YgVVNFLCBEQVRBLCBPUgotICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBI
T1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQotICogT0YgTElBQklMSVRZLCBXSEVUSEVS
IElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCi0gKiAoSU5DTFVESU5HIE5F
R0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UK
LSAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkg
T0YgU1VDSCBEQU1BR0UuCi0gKi8KLQotWwotICAgIENvbmRpdGlvbmFsPVdFQkdQVSwKLSAgICBF
bmFibGVkQXRSdW50aW1lPVdlYkdQVSwKLSAgICBJbXBsZW1lbnRhdGlvbkxhY2tzVlRhYmxlCi1d
IGludGVyZmFjZSBXZWJHUFVDb21tYW5kQnVmZmVyIHsKLSAgICBXZWJHUFVSZW5kZXJDb21tYW5k
RW5jb2RlciBjcmVhdGVSZW5kZXJDb21tYW5kRW5jb2RlcldpdGhEZXNjcmlwdG9yKFdlYkdQVVJl
bmRlclBhc3NEZXNjcmlwdG9yIGRlc2NyaXB0b3IpOwotICAgIFdlYkdQVUNvbXB1dGVDb21tYW5k
RW5jb2RlciBjcmVhdGVDb21wdXRlQ29tbWFuZEVuY29kZXIoKTsKLSAgICB2b2lkIGNvbW1pdCgp
OwotICAgIHZvaWQgcHJlc2VudERyYXdhYmxlKFdlYkdQVURyYXdhYmxlIGRyYXdhYmxlKTsKLSAg
ICByZWFkb25seSBhdHRyaWJ1dGUgUHJvbWlzZTx2b2lkPiBjb21wbGV0ZWQ7Ci19OwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR1BVQ29tbWFuZFF1ZXVlLmNwcCBi
L1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdQVUNvbW1hbmRRdWV1ZS5jcHAKZGVsZXRl
ZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDg1MDkwYWQ0ZTY5M2Q2ZTZlNjBhNTg5MzkyYjgxNmZj
YjVmMzhiYmQuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEv
U291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR1BVQ29tbWFuZFF1ZXVlLmNwcAorKysgL2Rl
di9udWxsCkBAIC0xLDU0ICswLDAgQEAKLS8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTcgQXBwbGUg
SW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgotICoKLSAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2Ug
aW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAotICogbW9kaWZpY2F0
aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25z
Ci0gKiBhcmUgbWV0OgotICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3Qg
cmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNv
bmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KLSAqIDIuIFJlZGlzdHJpYnV0
aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Ci0g
KiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRp
c2NsYWltZXIgaW4gdGhlCi0gKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlh
bHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgotICoKLSAqIFRISVMgU09GVFdBUkUg
SVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBgYEFTIElTJycgQU5EIEFOWQotICogRVhQUkVTUyBP
UiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUK
LSAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9S
IEEgUEFSVElDVUxBUgotICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNI
QUxMIEFQUExFIElOQy4gT1IKLSAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJF
Q1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAotICogRVhFTVBMQVJZLCBPUiBDT05T
RVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAotICogUFJP
Q1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERB
VEEsIE9SCi0gKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FV
U0VEIEFORCBPTiBBTlkgVEhFT1JZCi0gKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJB
Q1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKLSAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBP
UiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQotICogT0YgVEhJ
UyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERB
TUFHRS4KLSAqLwotCi0jaW5jbHVkZSAiY29uZmlnLmgiCi0jaW5jbHVkZSAiV2ViR1BVQ29tbWFu
ZFF1ZXVlLmgiCi0KLSNpZiBFTkFCTEUoV0VCR1BVKQotCi0jaW5jbHVkZSAiV2ViR1BVQ29tbWFu
ZEJ1ZmZlci5oIgotCi1uYW1lc3BhY2UgV2ViQ29yZSB7Ci0KLVJlZjxXZWJHUFVDb21tYW5kUXVl
dWU+IFdlYkdQVUNvbW1hbmRRdWV1ZTo6Y3JlYXRlKEdQVUNvbW1hbmRRdWV1ZSYmIHF1ZXVlKQot
ewotICAgIHJldHVybiBhZG9wdFJlZigqbmV3IFdlYkdQVUNvbW1hbmRRdWV1ZShXVEZNb3ZlKHF1
ZXVlKSkpOwotfQotCi1XZWJHUFVDb21tYW5kUXVldWU6OldlYkdQVUNvbW1hbmRRdWV1ZShHUFVD
b21tYW5kUXVldWUmJiBxdWV1ZSkKLSAgICA6IG1fcXVldWUgeyBXVEZNb3ZlKHF1ZXVlKSB9Ci17
Ci19Ci0KLVdlYkdQVUNvbW1hbmRRdWV1ZTo6fldlYkdQVUNvbW1hbmRRdWV1ZSgpID0gZGVmYXVs
dDsKLQotUmVmPFdlYkdQVUNvbW1hbmRCdWZmZXI+IFdlYkdQVUNvbW1hbmRRdWV1ZTo6Y3JlYXRl
Q29tbWFuZEJ1ZmZlcigpCi17Ci0gICAgcmV0dXJuIFdlYkdQVUNvbW1hbmRCdWZmZXI6OmNyZWF0
ZShtX3F1ZXVlKTsKLX0KLQotfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQotCi0jZW5kaWYKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdQVUNvbW1hbmRRdWV1ZS5oIGIv
U291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR1BVQ29tbWFuZFF1ZXVlLmgKZGVsZXRlZCBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IGQ5YjNmYzFjYTFjOWM2OWQ5MThmY2UyMmJkMmU4NDVhNjg4
ZmJlNDEuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvU291
cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR1BVQ29tbWFuZFF1ZXVlLmgKKysrIC9kZXYvbnVs
bApAQCAtMSw1NiArMCwwIEBACi0vKgotICogQ29weXJpZ2h0IChDKSAyMDE3IEFwcGxlIEluYy4g
QWxsIHJpZ2h0cyByZXNlcnZlZC4KLSAqCi0gKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNv
dXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKLSAqIG1vZGlmaWNhdGlvbiwg
YXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwotICog
YXJlIG1ldDoKLSAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFp
biB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRp
b25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCi0gKiAyLiBSZWRpc3RyaWJ1dGlvbnMg
aW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAg
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFp
bWVyIGluIHRoZQotICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHBy
b3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KLSAqCi0gKiBUSElTIFNPRlRXQVJFIElTIFBS
T1ZJREVEIEJZIEFQUExFIElOQy4gYGBBUyBJUycnIEFORCBBTlkKLSAqIEVYUFJFU1MgT1IgSU1Q
TElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCi0gKiBJ
TVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBB
UlRJQ1VMQVIKLSAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBB
UFBMRSBJTkMuIE9SCi0gKiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJ
TkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKLSAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVO
VElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKLSAqIFBST0NVUkVN
RU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBP
UgotICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBB
TkQgT04gQU5ZIFRIRU9SWQotICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBT
VFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCi0gKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RI
RVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKLSAqIE9GIFRISVMgU09G
VFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0Uu
Ci0gKi8KLQotI3ByYWdtYSBvbmNlCi0KLSNpZiBFTkFCTEUoV0VCR1BVKQotCi0jaW5jbHVkZSAi
R1BVQ29tbWFuZFF1ZXVlLmgiCi0jaW5jbHVkZSA8d3RmL1JlZi5oPgotI2luY2x1ZGUgPHd0Zi9S
ZWZDb3VudGVkLmg+Ci0KLW5hbWVzcGFjZSBXZWJDb3JlIHsKLQotY2xhc3MgV2ViR1BVQ29tbWFu
ZEJ1ZmZlcjsKLQotY2xhc3MgV2ViR1BVQ29tbWFuZFF1ZXVlIDogcHVibGljIFJlZkNvdW50ZWQ8
V2ViR1BVQ29tbWFuZFF1ZXVlPiB7Ci1wdWJsaWM6Ci0gICAgfldlYkdQVUNvbW1hbmRRdWV1ZSgp
OwotICAgIHN0YXRpYyBSZWY8V2ViR1BVQ29tbWFuZFF1ZXVlPiBjcmVhdGUoR1BVQ29tbWFuZFF1
ZXVlJiYpOwotCi0gICAgU3RyaW5nIGxhYmVsKCkgY29uc3QgeyByZXR1cm4gbV9xdWV1ZS5sYWJl
bCgpOyB9Ci0gICAgdm9pZCBzZXRMYWJlbChjb25zdCBTdHJpbmcmIGxhYmVsKSB7IG1fcXVldWUu
c2V0TGFiZWwobGFiZWwpOyB9Ci0KLSAgICBSZWY8V2ViR1BVQ29tbWFuZEJ1ZmZlcj4gY3JlYXRl
Q29tbWFuZEJ1ZmZlcigpOwotCi1wcml2YXRlOgotICAgIGV4cGxpY2l0IFdlYkdQVUNvbW1hbmRR
dWV1ZShHUFVDb21tYW5kUXVldWUmJik7Ci0KLSAgICBHUFVDb21tYW5kUXVldWUgbV9xdWV1ZTsK
LX07Ci0KLX0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKLQotI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHUFVDb21tYW5kUXVldWUuaWRsIGIvU291cmNlL1dl
YkNvcmUvaHRtbC9jYW52YXMvV2ViR1BVQ29tbWFuZFF1ZXVlLmlkbApkZWxldGVkIGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggNGI5NjUwMzc0ZDFiMmYyZDdmZDU1MzViZDJmNmZkMmU0Zjk2NTYxMi4u
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9odG1sL2NhbnZhcy9XZWJHUFVDb21tYW5kUXVldWUuaWRsCisrKyAvZGV2L251bGwKQEAg
LTEsMzYgKzAsMCBAQAotLyoKLSAqIENvcHlyaWdodCAoQykgMjAxNyBBcHBsZSBJbmMuIEFsbCBy
aWdodHMgcmVzZXJ2ZWQuCi0gKgotICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2Ug
YW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Ci0gKiBtb2RpZmljYXRpb24sIGFyZSBw
ZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKLSAqIGFyZSBt
ZXQ6Ci0gKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhl
IGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgotICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJp
bmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGlj
ZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBp
biB0aGUKLSAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRl
ZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCi0gKgotICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURF
RCBCWSBBUFBMRSBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCi0gKiBFWFBSRVNTIE9SIElNUExJRUQg
V0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQotICogSU1QTElF
RCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNV
TEFSCi0gKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUg
SU5DLiBPUgotICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJF
Q1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCi0gKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwg
REFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCi0gKiBQUk9DVVJFTUVOVCBP
RiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKLSAq
IFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9O
IEFOWSBUSEVPUlkKLSAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNU
IExJQUJJTElUWSwgT1IgVE9SVAotICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lT
RSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCi0gKiBPRiBUSElTIFNPRlRXQVJF
LCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgotICov
Ci0KLVsKLSAgICBDb25kaXRpb25hbD1XRUJHUFUsCi0gICAgRW5hYmxlZEF0UnVudGltZT1XZWJH
UFUsCi0gICAgSW1wbGVtZW50YXRpb25MYWNrc1ZUYWJsZQotXSBpbnRlcmZhY2UgV2ViR1BVQ29t
bWFuZFF1ZXVlIHsKLQotICAgIGF0dHJpYnV0ZSBET01TdHJpbmcgbGFiZWw7Ci0KLSAgICBXZWJH
UFVDb21tYW5kQnVmZmVyIGNyZWF0ZUNvbW1hbmRCdWZmZXIoKTsKLQotfTsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdQVUNvbXB1dGVDb21tYW5kRW5jb2Rlci5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHUFVDb21wdXRlQ29tbWFuZEVuY29k
ZXIuY3BwCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBmYjcyYzMyYzJiMWU4N2JhNmEy
NTkzMTQwMDc3ZjQ4YTAyNTNiNmExLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwCi0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdQVUNvbXB1dGVDb21t
YW5kRW5jb2Rlci5jcHAKKysrIC9kZXYvbnVsbApAQCAtMSw3NyArMCwwIEBACi0vKgotICogQ29w
eXJpZ2h0IChDKSAyMDE3IFl1aWNoaXJvIEtpa3VyYSAoeS5raWt1cmFAZ21haWwuY29tKQotICoK
LSAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdp
dGggb3Igd2l0aG91dAotICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRo
YXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCi0gKiBhcmUgbWV0OgotICogMS4gUmVkaXN0cmli
dXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAq
ICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlz
Y2xhaW1lci4KLSAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJv
ZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25k
aXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCi0gKiAgICBkb2N1bWVu
dGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0
aW9uLgotICoKLSAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBgYEFT
IElTJycgQU5EIEFOWQotICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElO
RywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKLSAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJD
SEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgotICogUFVSUE9TRSBBUkUg
RElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IKLSAqIENPTlRSSUJV
VE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVD
SUFMLAotICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywg
QlVUIE5PVCBMSU1JVEVEIFRPLAotICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBP
UiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCi0gKiBQUk9GSVRTOyBPUiBCVVNJTkVT
UyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCi0gKiBPRiBM
SUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQK
LSAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdB
WSBPVVQgT0YgVEhFIFVTRQotICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9G
IFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KLSAqLwotCi0jaW5jbHVkZSAiY29uZmln
LmgiCi0jaW5jbHVkZSAiV2ViR1BVQ29tcHV0ZUNvbW1hbmRFbmNvZGVyLmgiCi0KLSNpZiBFTkFC
TEUoV0VCR1BVKQotCi0jaW5jbHVkZSAiR1BVQ29tbWFuZEJ1ZmZlci5oIgotI2luY2x1ZGUgIkdQ
VUNvbXB1dGVDb21tYW5kRW5jb2Rlci5oIgotI2luY2x1ZGUgIkdQVVNpemUuaCIKLSNpbmNsdWRl
ICJXZWJHUFVCdWZmZXIuaCIKLSNpbmNsdWRlICJXZWJHUFVDb21tYW5kQnVmZmVyLmgiCi0jaW5j
bHVkZSAiV2ViR1BVQ29tcHV0ZVBpcGVsaW5lU3RhdGUuaCIKLQotbmFtZXNwYWNlIFdlYkNvcmUg
ewotCi1zdGF0aWMgaW5saW5lIEdQVVNpemUgR1BVU2l6ZU1ha2UoV2ViR1BVU2l6ZSBzaXplKQot
ewotICAgIHJldHVybiB7IHNpemUud2lkdGgsIHNpemUuaGVpZ2h0LCBzaXplLmRlcHRoIH07Ci19
Ci0KLVJlZjxXZWJHUFVDb21wdXRlQ29tbWFuZEVuY29kZXI+IFdlYkdQVUNvbXB1dGVDb21tYW5k
RW5jb2Rlcjo6Y3JlYXRlKEdQVUNvbXB1dGVDb21tYW5kRW5jb2RlciYmIGVuY29kZXIpCi17Ci0g
ICAgcmV0dXJuIGFkb3B0UmVmKCpuZXcgV2ViR1BVQ29tcHV0ZUNvbW1hbmRFbmNvZGVyKFdURk1v
dmUoZW5jb2RlcikpKTsKLX0KLSAgICAKLVdlYkdQVUNvbXB1dGVDb21tYW5kRW5jb2Rlcjo6V2Vi
R1BVQ29tcHV0ZUNvbW1hbmRFbmNvZGVyKEdQVUNvbXB1dGVDb21tYW5kRW5jb2RlciYmIGVuY29k
ZXIpCi0gICAgOiBtX2VuY29kZXIgeyBXVEZNb3ZlKGVuY29kZXIpIH0KLXsKLX0KLQotdm9pZCBX
ZWJHUFVDb21wdXRlQ29tbWFuZEVuY29kZXI6OnNldENvbXB1dGVQaXBlbGluZVN0YXRlKFdlYkdQ
VUNvbXB1dGVQaXBlbGluZVN0YXRlJiBwaXBlbGluZVN0YXRlKQotewotICAgIG1fZW5jb2Rlci5z
ZXRDb21wdXRlUGlwZWxpbmVTdGF0ZShwaXBlbGluZVN0YXRlLnN0YXRlKCkpOwotfQotCi12b2lk
IFdlYkdQVUNvbXB1dGVDb21tYW5kRW5jb2Rlcjo6c2V0QnVmZmVyKFdlYkdQVUJ1ZmZlciYgYnVm
ZmVyLCB1bnNpZ25lZCBvZmZzZXQsIHVuc2lnbmVkIGluZGV4KQotewotICAgIG1fZW5jb2Rlci5z
ZXRCdWZmZXIoYnVmZmVyLmJ1ZmZlcigpLCBvZmZzZXQsIGluZGV4KTsKLX0KLQotdm9pZCBXZWJH
UFVDb21wdXRlQ29tbWFuZEVuY29kZXI6OmRpc3BhdGNoKFdlYkdQVVNpemUgdGhyZWFkZ3JvdXBz
UGVyR3JpZCwgV2ViR1BVU2l6ZSB0aHJlYWRzUGVyVGhyZWFkZ3JvdXApCi17Ci0gICAgbV9lbmNv
ZGVyLmRpc3BhdGNoKEdQVVNpemVNYWtlKHRocmVhZGdyb3Vwc1BlckdyaWQpLCBHUFVTaXplTWFr
ZSh0aHJlYWRzUGVyVGhyZWFkZ3JvdXApKTsKLX0KLQotdm9pZCBXZWJHUFVDb21wdXRlQ29tbWFu
ZEVuY29kZXI6OmVuZEVuY29kaW5nKCkKLXsKLSAgICBtX2VuY29kZXIuZW5kRW5jb2RpbmcoKTsK
LX0KLQotfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQotCi0jZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdQVUNvbXB1dGVDb21tYW5kRW5jb2Rlci5oIGIvU291
cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR1BVQ29tcHV0ZUNvbW1hbmRFbmNvZGVyLmgKZGVs
ZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGM4MTM0ZjI2YTIyYTFhYTBkYzYxZDJiYmFlMjFm
NWQ4MTEwMmZhMzEuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0t
IGEvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR1BVQ29tcHV0ZUNvbW1hbmRFbmNvZGVy
LmgKKysrIC9kZXYvbnVsbApAQCAtMSw1NyArMCwwIEBACi0vKgotICogQ29weXJpZ2h0IChDKSAy
MDE3IFl1aWNoaXJvIEtpa3VyYSAoeS5raWt1cmFAZ21haWwuY29tKQotICoKLSAqIFJlZGlzdHJp
YnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91
dAotICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxv
d2luZyBjb25kaXRpb25zCi0gKiBhcmUgbWV0OgotICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNv
dXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwg
dGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KLSAq
IDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJv
dmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCi0gKiAgICBkb2N1bWVudGF0aW9uIGFuZC9v
ciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgotICoKLSAq
IFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBgYEFTIElTJycgQU5EIEFO
WQotICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBM
SU1JVEVEIFRPLCBUSEUKLSAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkg
QU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgotICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4g
IElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IKLSAqIENPTlRSSUJVVE9SUyBCRSBMSUFC
TEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAotICogRVhF
TVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1J
VEVEIFRPLAotICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsg
TE9TUyBPRiBVU0UsIERBVEEsIE9SCi0gKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJ
T04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCi0gKiBPRiBMSUFCSUxJVFksIFdI
RVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKLSAqIChJTkNMVURJ
TkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhF
IFVTRQotICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJ
TElUWSBPRiBTVUNIIERBTUFHRS4KLSAqLwotCi0jcHJhZ21hIG9uY2UKLQotI2lmIEVOQUJMRShX
RUJHUFUpCi0KLSNpbmNsdWRlICJHUFVDb21wdXRlQ29tbWFuZEVuY29kZXIuaCIKLSNpbmNsdWRl
ICJXZWJHUFVTaXplLmgiCi0jaW5jbHVkZSA8d3RmL1JlZi5oPgotI2luY2x1ZGUgPHd0Zi9SZWZD
b3VudGVkLmg+Ci0KLW5hbWVzcGFjZSBXZWJDb3JlIHsKLQotY2xhc3MgV2ViR1BVQnVmZmVyOwot
Y2xhc3MgV2ViR1BVQ29tcHV0ZVBpcGVsaW5lU3RhdGU7Ci0KLWNsYXNzIFdlYkdQVUNvbXB1dGVD
b21tYW5kRW5jb2RlciA6IHB1YmxpYyBSZWZDb3VudGVkPFdlYkdQVUNvbXB1dGVDb21tYW5kRW5j
b2Rlcj4gewotcHVibGljOgotICAgIHN0YXRpYyBSZWY8V2ViR1BVQ29tcHV0ZUNvbW1hbmRFbmNv
ZGVyPiBjcmVhdGUoR1BVQ29tcHV0ZUNvbW1hbmRFbmNvZGVyJiYpOwotCi0gICAgdm9pZCBzZXRD
b21wdXRlUGlwZWxpbmVTdGF0ZShXZWJHUFVDb21wdXRlUGlwZWxpbmVTdGF0ZSYpOwotICAgIHZv
aWQgc2V0QnVmZmVyKFdlYkdQVUJ1ZmZlciYsIHVuc2lnbmVkLCB1bnNpZ25lZCk7Ci0gICAgdm9p
ZCBkaXNwYXRjaChXZWJHUFVTaXplLCBXZWJHUFVTaXplKTsKLSAgICB2b2lkIGVuZEVuY29kaW5n
KCk7Ci0KLXByaXZhdGU6Ci0gICAgZXhwbGljaXQgV2ViR1BVQ29tcHV0ZUNvbW1hbmRFbmNvZGVy
KEdQVUNvbXB1dGVDb21tYW5kRW5jb2RlciYmKTsKLQotICAgIEdQVUNvbXB1dGVDb21tYW5kRW5j
b2RlciBtX2VuY29kZXI7Ci19OwotCi19IC8vIG5hbWVzcGFjZSBXZWJDb3JlCi0KLSNlbmRpZgpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR1BVQ29tcHV0ZUNvbW1h
bmRFbmNvZGVyLmlkbCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdQVUNvbXB1dGVD
b21tYW5kRW5jb2Rlci5pZGwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDE1MmZjNTIz
OGMzZmEyY2JlNzdiYTg4MjA0N2U2MmY5NDQ2ODJiODAuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR1BV
Q29tcHV0ZUNvbW1hbmRFbmNvZGVyLmlkbAorKysgL2Rldi9udWxsCkBAIC0xLDM4ICswLDAgQEAK
LS8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTcgWXVpY2hpcm8gS2lrdXJhICh5Lmtpa3VyYUBnbWFp
bC5jb20pCi0gKgotICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFy
eSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Ci0gKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQg
cHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKLSAqIGFyZSBtZXQ6Ci0gKiAx
LiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNv
cHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyLgotICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3Jt
IG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBs
aXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKLSAq
ICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRo
ZSBkaXN0cmlidXRpb24uCi0gKgotICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBM
RSBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCi0gKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElF
UywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQotICogSU1QTElFRCBXQVJSQU5U
SUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCi0gKiBQ
VVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUgot
ICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lE
RU5UQUwsIFNQRUNJQUwsCi0gKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAo
SU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCi0gKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElU
VVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKLSAqIFBST0ZJVFM7
IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVP
UlkKLSAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElU
WSwgT1IgVE9SVAotICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lO
RyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCi0gKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElG
IEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgotICovCi0KLVsKLSAg
ICBDb25kaXRpb25hbD1XRUJHUFUsCi0gICAgRW5hYmxlZEF0UnVudGltZT1XZWJHUFUsCi0gICAg
SW1wbGVtZW50YXRpb25MYWNrc1ZUYWJsZQotXSBpbnRlcmZhY2UgV2ViR1BVQ29tcHV0ZUNvbW1h
bmRFbmNvZGVyIHsKLQotICAgIHZvaWQgc2V0Q29tcHV0ZVBpcGVsaW5lU3RhdGUoV2ViR1BVQ29t
cHV0ZVBpcGVsaW5lU3RhdGUgcGlwZWxpbmVTdGF0ZSk7Ci0gICAgdm9pZCBzZXRCdWZmZXIoV2Vi
R1BVQnVmZmVyIGJ1ZmZlciwgdW5zaWduZWQgbG9uZyBvZmZzZXQsIHVuc2lnbmVkIGxvbmcgaW5k
ZXgpOwotICAgIHZvaWQgZGlzcGF0Y2goV2ViR1BVU2l6ZSB0aHJlYWRncm91cHNQZXJHcmlkLCBX
ZWJHUFVTaXplIHRocmVhZHNQZXJUaHJlYWRncm91cCk7Ci0KLSAgICB2b2lkIGVuZEVuY29kaW5n
KCk7Ci0KLX07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHUFVD
b21wdXRlUGlwZWxpbmVTdGF0ZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJH
UFVDb21wdXRlUGlwZWxpbmVTdGF0ZS5jcHAKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDVmYTMzMWU0MDY3YWVhN2RkOWZlZTlhZGE3ZTBmMGUyZTJhYWIyYmMuLjAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52
YXMvV2ViR1BVQ29tcHV0ZVBpcGVsaW5lU3RhdGUuY3BwCisrKyAvZGV2L251bGwKQEAgLTEsNDUg
KzAsMCBAQAotLyoKLSAqIENvcHlyaWdodCAoQykgMjAxNyBZdWljaGlybyBLaWt1cmEgKHkua2lr
dXJhQGdtYWlsLmNvbSkKLSAqCi0gKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBh
bmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKLSAqIG1vZGlmaWNhdGlvbiwgYXJlIHBl
cm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwotICogYXJlIG1l
dDoKLSAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUg
YWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFu
ZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCi0gKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmlu
YXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNl
LCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGlu
IHRoZQotICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVk
IHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KLSAqCi0gKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVE
IEJZIEFQUExFIElOQy4gYGBBUyBJUycnIEFORCBBTlkKLSAqIEVYUFJFU1MgT1IgSU1QTElFRCBX
QVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCi0gKiBJTVBMSUVE
IFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VM
QVIKLSAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJ
TkMuIE9SCi0gKiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVD
VCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKLSAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBE
QU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKLSAqIFBST0NVUkVNRU5UIE9G
IFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgotICog
UFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04g
QU5ZIFRIRU9SWQotICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1Qg
TElBQklMSVRZLCBPUiBUT1JUCi0gKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNF
KSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKLSAqIE9GIFRISVMgU09GVFdBUkUs
IEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCi0gKi8K
LQotI2luY2x1ZGUgImNvbmZpZy5oIgotI2luY2x1ZGUgIldlYkdQVUNvbXB1dGVQaXBlbGluZVN0
YXRlLmgiCi0KLSNpZiBFTkFCTEUoV0VCR1BVKQotCi1uYW1lc3BhY2UgV2ViQ29yZSB7Ci0KLVJl
ZjxXZWJHUFVDb21wdXRlUGlwZWxpbmVTdGF0ZT4gV2ViR1BVQ29tcHV0ZVBpcGVsaW5lU3RhdGU6
OmNyZWF0ZShHUFVDb21wdXRlUGlwZWxpbmVTdGF0ZSYmIHN0YXRlKQotewotICAgIHJldHVybiBh
ZG9wdFJlZigqbmV3IFdlYkdQVUNvbXB1dGVQaXBlbGluZVN0YXRlKFdURk1vdmUoc3RhdGUpKSk7
Ci19Ci0KLVdlYkdQVUNvbXB1dGVQaXBlbGluZVN0YXRlOjpXZWJHUFVDb21wdXRlUGlwZWxpbmVT
dGF0ZShHUFVDb21wdXRlUGlwZWxpbmVTdGF0ZSYmIHN0YXRlKQotICAgIDogbV9zdGF0ZSB7IFdU
Rk1vdmUoc3RhdGUpIH0KLXsKLX0KLQotfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQotCi0jZW5kaWYK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdQVUNvbXB1dGVQaXBl
bGluZVN0YXRlLmggYi9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHUFVDb21wdXRlUGlw
ZWxpbmVTdGF0ZS5oCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBiMWNkZWY0MGIzMmIx
YmRlZTBkOTgxYjMyOTdlY2ZlYjYwODc0YzVlLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwCi0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdQVUNvbXB1
dGVQaXBlbGluZVN0YXRlLmgKKysrIC9kZXYvbnVsbApAQCAtMSw1MiArMCwwIEBACi0vKgotICog
Q29weXJpZ2h0IChDKSAyMDE3IFl1aWNoaXJvIEtpa3VyYSAoeS5raWt1cmFAZ21haWwuY29tKQot
ICoKLSAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMs
IHdpdGggb3Igd2l0aG91dAotICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVk
IHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCi0gKiBhcmUgbWV0OgotICogMS4gUmVkaXN0
cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQK
LSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcg
ZGlzY2xhaW1lci4KLSAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJl
cHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBj
b25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCi0gKiAgICBkb2N1
bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJp
YnV0aW9uLgotICoKLSAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBg
YEFTIElTJycgQU5EIEFOWQotICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xV
RElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKLSAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBN
RVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgotICogUFVSUE9TRSBB
UkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IKLSAqIENPTlRS
SUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBT
UEVDSUFMLAotICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElO
RywgQlVUIE5PVCBMSU1JVEVEIFRPLAotICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09E
UyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCi0gKiBQUk9GSVRTOyBPUiBCVVNJ
TkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCi0gKiBP
RiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRP
UlQKLSAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5Z
IFdBWSBPVVQgT0YgVEhFIFVTRQotICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VE
IE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KLSAqLwotCi0jcHJhZ21hIG9uY2UK
LQotI2lmIEVOQUJMRShXRUJHUFUpCi0KLSNpbmNsdWRlICJHUFVDb21wdXRlUGlwZWxpbmVTdGF0
ZS5oIgotI2luY2x1ZGUgPHd0Zi9SZWYuaD4KLSNpbmNsdWRlIDx3dGYvUmVmQ291bnRlZC5oPgot
Ci1uYW1lc3BhY2UgV2ViQ29yZSB7Ci0KLWNsYXNzIFdlYkdQVUZ1bmN0aW9uOwotCi1jbGFzcyBX
ZWJHUFVDb21wdXRlUGlwZWxpbmVTdGF0ZSA6IHB1YmxpYyBSZWZDb3VudGVkPFdlYkdQVUNvbXB1
dGVQaXBlbGluZVN0YXRlPiB7Ci1wdWJsaWM6Ci0gICAgc3RhdGljIFJlZjxXZWJHUFVDb21wdXRl
UGlwZWxpbmVTdGF0ZT4gY3JlYXRlKEdQVUNvbXB1dGVQaXBlbGluZVN0YXRlJiYpOwotCi0gICAg
R1BVQ29tcHV0ZVBpcGVsaW5lU3RhdGUmIHN0YXRlKCkgeyByZXR1cm4gbV9zdGF0ZTsgfQotCi1w
cml2YXRlOgotICAgIGV4cGxpY2l0IFdlYkdQVUNvbXB1dGVQaXBlbGluZVN0YXRlKEdQVUNvbXB1
dGVQaXBlbGluZVN0YXRlJiYpOwotCi0gICAgR1BVQ29tcHV0ZVBpcGVsaW5lU3RhdGUgbV9zdGF0
ZTsKLX07Ci0KLX0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKLQotI2VuZGlmCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHUFVDb21wdXRlUGlwZWxpbmVTdGF0ZS5pZGwg
Yi9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHUFVDb21wdXRlUGlwZWxpbmVTdGF0ZS5p
ZGwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDkwOWRhYzE2NzlmOTg0MGIzZGE3NzNi
ODhiYTBiYjcyMzdjYzI0ZDUuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR1BVQ29tcHV0ZVBpcGVsaW5l
U3RhdGUuaWRsCisrKyAvZGV2L251bGwKQEAgLTEsMzEgKzAsMCBAQAotLyoKLSAqIENvcHlyaWdo
dCAoQykgMjAxNyBZdWljaGlybyBLaWt1cmEgKHkua2lrdXJhQGdtYWlsLmNvbSkKLSAqCi0gKiBS
ZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9y
IHdpdGhvdXQKLSAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRo
ZSBmb2xsb3dpbmcgY29uZGl0aW9ucwotICogYXJlIG1ldDoKLSAqIDEuIFJlZGlzdHJpYnV0aW9u
cyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBu
b3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWlt
ZXIuCi0gKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2Ug
dGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9u
cyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQotICogICAgZG9jdW1lbnRhdGlv
biBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4K
LSAqCi0gKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gYGBBUyBJUycn
IEFORCBBTlkKLSAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJV
VCBOT1QgTElNSVRFRCBUTywgVEhFCi0gKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRB
QklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKLSAqIFBVUlBPU0UgQVJFIERJU0NM
QUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SCi0gKiBDT05UUklCVVRPUlMg
QkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwK
LSAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBO
T1QgTElNSVRFRCBUTywKLSAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VS
VklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgotICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5U
RVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQotICogT0YgTElBQklM
SVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCi0gKiAo
SU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VU
IE9GIFRIRSBVU0UKLSAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUg
UE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCi0gKi8KLQotWwotICAgIENvbmRpdGlvbmFsPVdF
QkdQVSwKLSAgICBFbmFibGVkQXRSdW50aW1lPVdlYkdQVSwKLSAgICBJbXBsZW1lbnRhdGlvbkxh
Y2tzVlRhYmxlCi1dIGludGVyZmFjZSBXZWJHUFVDb21wdXRlUGlwZWxpbmVTdGF0ZSB7Ci19Owpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR1BVRGVwdGhTdGVuY2ls
RGVzY3JpcHRvci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHUFVEZXB0aFN0
ZW5jaWxEZXNjcmlwdG9yLmNwcApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNzJmZjg3
YzhkY2M0OTc2NjlmYWY5OTlkYmI5OTAyNGIxOWZjYzFhYS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJH
UFVEZXB0aFN0ZW5jaWxEZXNjcmlwdG9yLmNwcAorKysgL2Rldi9udWxsCkBAIC0xLDYxICswLDAg
QEAKLS8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTcgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2Vy
dmVkLgotICoKLSAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkg
Zm9ybXMsIHdpdGggb3Igd2l0aG91dAotICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHBy
b3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCi0gKiBhcmUgbWV0OgotICogMS4g
UmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5
cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xs
b3dpbmcgZGlzY2xhaW1lci4KLSAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBt
dXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlz
dCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCi0gKiAg
ICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUg
ZGlzdHJpYnV0aW9uLgotICoKLSAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUg
SU5DLiBgYEFTIElTJycgQU5EIEFOWQotICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMs
IElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKLSAqIElNUExJRUQgV0FSUkFOVElF
UyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgotICogUFVS
UE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IKLSAq
IENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVO
VEFMLCBTUEVDSUFMLAotICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElO
Q0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAotICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVU
RSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCi0gKiBQUk9GSVRTOyBP
UiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZ
Ci0gKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFks
IE9SIFRPUlQKLSAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcg
SU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQotICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBB
RFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KLSAqLwotCi0jaW5jbHVk
ZSAiY29uZmlnLmgiCi0jaW5jbHVkZSAiV2ViR1BVRGVwdGhTdGVuY2lsRGVzY3JpcHRvci5oIgot
Ci0jaWYgRU5BQkxFKFdFQkdQVSkKLQotbmFtZXNwYWNlIFdlYkNvcmUgewotCi1SZWY8V2ViR1BV
RGVwdGhTdGVuY2lsRGVzY3JpcHRvcj4gV2ViR1BVRGVwdGhTdGVuY2lsRGVzY3JpcHRvcjo6Y3Jl
YXRlKCkKLXsKLSAgICByZXR1cm4gYWRvcHRSZWYoKm5ldyBXZWJHUFVEZXB0aFN0ZW5jaWxEZXNj
cmlwdG9yKTsKLX0KLQotYm9vbCBXZWJHUFVEZXB0aFN0ZW5jaWxEZXNjcmlwdG9yOjpkZXB0aFdy
aXRlRW5hYmxlZCgpIGNvbnN0Ci17Ci0gICAgcmV0dXJuIG1fZGVzY3JpcHRvci5kZXB0aFdyaXRl
RW5hYmxlZCgpOwotfQotCi12b2lkIFdlYkdQVURlcHRoU3RlbmNpbERlc2NyaXB0b3I6OnNldERl
cHRoV3JpdGVFbmFibGVkKGJvb2wgbmV3RGVwdGhXcml0ZUVuYWJsZWQpCi17Ci0gICAgbV9kZXNj
cmlwdG9yLnNldERlcHRoV3JpdGVFbmFibGVkKG5ld0RlcHRoV3JpdGVFbmFibGVkKTsKLX0KLQot
V2ViR1BVQ29tcGFyZUZ1bmN0aW9uIFdlYkdQVURlcHRoU3RlbmNpbERlc2NyaXB0b3I6OmRlcHRo
Q29tcGFyZUZ1bmN0aW9uKCkgY29uc3QKLXsKLSAgICByZXR1cm4gbV9kZXB0aENvbXBhcmVGdW5j
dGlvbjsKLX0KLQotdm9pZCBXZWJHUFVEZXB0aFN0ZW5jaWxEZXNjcmlwdG9yOjpzZXREZXB0aENv
bXBhcmVGdW5jdGlvbihDb21wYXJlRnVuY3Rpb24gbmV3RGVwdGhDb21wYXJlRnVuY3Rpb24pCi17
Ci0gICAgbV9kZXB0aENvbXBhcmVGdW5jdGlvbiA9IG5ld0RlcHRoQ29tcGFyZUZ1bmN0aW9uOwot
ICAgIG1fZGVzY3JpcHRvci5zZXREZXB0aENvbXBhcmVGdW5jdGlvbih0b0dQVUNvbXBhcmVGdW5j
dGlvbihtX2RlcHRoQ29tcGFyZUZ1bmN0aW9uKSk7Ci19Ci0KLX0gLy8gbmFtZXNwYWNlIFdlYkNv
cmUKLQotI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJH
UFVEZXB0aFN0ZW5jaWxEZXNjcmlwdG9yLmggYi9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9X
ZWJHUFVEZXB0aFN0ZW5jaWxEZXNjcmlwdG9yLmgKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IGI4ZDA0ZjgyMzM1MjQ1YzdmZGNmZTI0ZWRkOTViNDk4OGI4ODgxMWEuLjAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9j
YW52YXMvV2ViR1BVRGVwdGhTdGVuY2lsRGVzY3JpcHRvci5oCisrKyAvZGV2L251bGwKQEAgLTEs
NjQgKzAsMCBAQAotLyoKLSAqIENvcHlyaWdodCAoQykgMjAxNyBBcHBsZSBJbmMuIEFsbCByaWdo
dHMgcmVzZXJ2ZWQuCi0gKgotICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5k
IGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Ci0gKiBtb2RpZmljYXRpb24sIGFyZSBwZXJt
aXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKLSAqIGFyZSBtZXQ6
Ci0gKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFi
b3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQg
dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgotICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFy
eSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwg
dGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0
aGUKLSAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3
aXRoIHRoZSBkaXN0cmlidXRpb24uCi0gKgotICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBC
WSBBUFBMRSBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCi0gKiBFWFBSRVNTIE9SIElNUExJRUQgV0FS
UkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQotICogSU1QTElFRCBX
QVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFS
Ci0gKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5D
LiBPUgotICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1Qs
IElOQ0lERU5UQUwsIFNQRUNJQUwsCi0gKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFN
QUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCi0gKiBQUk9DVVJFTUVOVCBPRiBT
VUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKLSAqIFBS
T0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFO
WSBUSEVPUlkKLSAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJ
QUJJTElUWSwgT1IgVE9SVAotICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkg
QVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCi0gKiBPRiBUSElTIFNPRlRXQVJFLCBF
VkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgotICovCi0K
LSNwcmFnbWEgb25jZQotCi0jaWYgRU5BQkxFKFdFQkdQVSkKLQotI2luY2x1ZGUgIkdQVURlcHRo
U3RlbmNpbERlc2NyaXB0b3IuaCIKLSNpbmNsdWRlICJXZWJHUFVFbnVtcy5oIgotI2luY2x1ZGUg
PHd0Zi9SZWYuaD4KLSNpbmNsdWRlIDx3dGYvUmVmQ291bnRlZC5oPgotCi1uYW1lc3BhY2UgV2Vi
Q29yZSB7Ci0KLWNsYXNzIFdlYkdQVURlcHRoU3RlbmNpbERlc2NyaXB0b3IgOiBwdWJsaWMgUmVm
Q291bnRlZDxXZWJHUFVEZXB0aFN0ZW5jaWxEZXNjcmlwdG9yPiB7Ci1wdWJsaWM6Ci0gICAgc3Rh
dGljIFJlZjxXZWJHUFVEZXB0aFN0ZW5jaWxEZXNjcmlwdG9yPiBjcmVhdGUoKTsKLQotICAgIGJv
b2wgZGVwdGhXcml0ZUVuYWJsZWQoKSBjb25zdDsKLSAgICB2b2lkIHNldERlcHRoV3JpdGVFbmFi
bGVkKGJvb2wpOwotCi0gICAgdXNpbmcgQ29tcGFyZUZ1bmN0aW9uID0gV2ViR1BVQ29tcGFyZUZ1
bmN0aW9uOwotICAgIENvbXBhcmVGdW5jdGlvbiBkZXB0aENvbXBhcmVGdW5jdGlvbigpIGNvbnN0
OwotICAgIHZvaWQgc2V0RGVwdGhDb21wYXJlRnVuY3Rpb24oQ29tcGFyZUZ1bmN0aW9uKTsKLQot
ICAgIEdQVURlcHRoU3RlbmNpbERlc2NyaXB0b3ImIGRlc2NyaXB0b3IoKSB7IHJldHVybiBtX2Rl
c2NyaXB0b3I7IH0KLQotcHJpdmF0ZToKLSAgICBXZWJHUFVEZXB0aFN0ZW5jaWxEZXNjcmlwdG9y
KCkgPSBkZWZhdWx0OwotCi0gICAgLy8gRklYTUU6IFRoZSBkZWZhdWx0IHZhbHVlIG9mICJBbHdh
eXMiIGlzIGRlZmluZWQgYm90aCBoZXJlIGFuZCBpbiB0aGUKLSAgICAvLyBHUFVEZXB0aFN0ZW5j
aWxEZXNjcmlwdG9yIGNsYXNzJ3MgaW1wbGVtZW50YXRpb24uIE1pZ2h0IGJlIGJldHRlciB0byBu
b3QKLSAgICAvLyBzdG9yZSB0aGUgY29tcGFyZSBmdW5jdGlvbiBzZXBhcmF0ZWx5IGhlcmUsIHRy
YW5zbGF0ZSBpdCBpbnN0ZWFkLCBhbmQgdGhlbgotICAgIC8vIHRoZXJlIHdvdWxkIGJlIG5vIG5l
ZWQgZm9yIGEgZGVmYXVsdCB2YWx1ZSBoZXJlLgotCi0gICAgV2ViR1BVQ29tcGFyZUZ1bmN0aW9u
IG1fZGVwdGhDb21wYXJlRnVuY3Rpb24geyBXZWJHUFVDb21wYXJlRnVuY3Rpb246OkFsd2F5cyB9
OwotICAgIEdQVURlcHRoU3RlbmNpbERlc2NyaXB0b3IgbV9kZXNjcmlwdG9yOwotfTsKLQotfSAv
LyBuYW1lc3BhY2UgV2ViQ29yZQotCi0jZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L2h0bWwvY2FudmFzL1dlYkdQVURlcHRoU3RlbmNpbERlc2NyaXB0b3IuaWRsIGIvU291cmNlL1dl
YkNvcmUvaHRtbC9jYW52YXMvV2ViR1BVRGVwdGhTdGVuY2lsRGVzY3JpcHRvci5pZGwKZGVsZXRl
ZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGUxM2M5ZTFjMGFkNDY0NjBjMjQ5NGFlODhlMTM1NjVi
NWViOTk4OTQuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEv
U291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR1BVRGVwdGhTdGVuY2lsRGVzY3JpcHRvci5p
ZGwKKysrIC9kZXYvbnVsbApAQCAtMSw1MCArMCwwIEBACi0vKgotICogQ29weXJpZ2h0IChDKSAy
MDE3IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLSAqCi0gKiBSZWRpc3RyaWJ1dGlv
biBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKLSAq
IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcg
Y29uZGl0aW9ucwotICogYXJlIG1ldDoKLSAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2Ug
Y29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCi0gKiAyLiBS
ZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNv
cHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQotICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3Ro
ZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KLSAqCi0gKiBUSElT
IFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gYGBBUyBJUycnIEFORCBBTlkKLSAq
IEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRF
RCBUTywgVEhFCi0gKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBG
SVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKLSAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBO
TyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SCi0gKiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZP
UiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKLSAqIEVYRU1QTEFS
WSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBU
TywKLSAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1Mg
T0YgVVNFLCBEQVRBLCBPUgotICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBI
T1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQotICogT0YgTElBQklMSVRZLCBXSEVUSEVS
IElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCi0gKiAoSU5DTFVESU5HIE5F
R0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UK
LSAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkg
T0YgU1VDSCBEQU1BR0UuCi0gKi8KLQotWwotICAgIENvbmRpdGlvbmFsPVdFQkdQVSwKLSAgICBF
bmFibGVkQXRSdW50aW1lPVdlYkdQVQotXSBlbnVtIFdlYkdQVUNvbXBhcmVGdW5jdGlvbiB7Ci0g
ICAgIm5ldmVyIiwKLSAgICAibGVzcyIsCi0gICAgImVxdWFsIiwKLSAgICAibGVzc2VxdWFsIiwK
LSAgICAiZ3JlYXRlciIsCi0gICAgIm5vdGVxdWFsIiwKLSAgICAiZ3JlYXRlcmVxdWFsIiwKLSAg
ICAiYWx3YXlzIgotfTsKLQotWwotICAgIENvbnN0cnVjdG9yLAotICAgIENvbmRpdGlvbmFsPVdF
QkdQVSwKLSAgICBFbmFibGVkQXRSdW50aW1lPVdlYkdQVSwKLSAgICBJbXBsZW1lbnRhdGlvbkxh
Y2tzVlRhYmxlCi1dIGludGVyZmFjZSBXZWJHUFVEZXB0aFN0ZW5jaWxEZXNjcmlwdG9yIHsKLQot
ICAgIGF0dHJpYnV0ZSBXZWJHUFVDb21wYXJlRnVuY3Rpb24gZGVwdGhDb21wYXJlRnVuY3Rpb247
Ci0gICAgYXR0cmlidXRlIGJvb2xlYW4gZGVwdGhXcml0ZUVuYWJsZWQ7Ci0KLX07CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHUFVEZXB0aFN0ZW5jaWxTdGF0ZS5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHUFVEZXB0aFN0ZW5jaWxTdGF0ZS5j
cHAKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGY0MmFkNmZmNTc2ZTAxMGY5OWEyMGQ4
Y2Y2YmRiNTUxYWU3YmE4NDMuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR1BVRGVwdGhTdGVuY2lsU3Rh
dGUuY3BwCisrKyAvZGV2L251bGwKQEAgLTEsNTggKzAsMCBAQAotLyoKLSAqIENvcHlyaWdodCAo
QykgMjAxNyBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0gKgotICogUmVkaXN0cmli
dXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0
Ci0gKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93
aW5nIGNvbmRpdGlvbnMKLSAqIGFyZSBtZXQ6Ci0gKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291
cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0
aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgotICog
Mi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92
ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRo
ZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKLSAqICAgIGRvY3VtZW50YXRpb24gYW5kL29y
IG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCi0gKgotICog
VEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIGBgQVMgSVMnJyBBTkQgQU5Z
Ci0gKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJ
TUlURUQgVE8sIFRIRQotICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBB
TkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCi0gKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAg
SU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUgotICogQ09OVFJJQlVUT1JTIEJFIExJQUJM
RSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCi0gKiBFWEVN
UExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlU
RUQgVE8sCi0gKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBM
T1NTIE9GIFVTRSwgREFUQSwgT1IKLSAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElP
TikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKLSAqIE9GIExJQUJJTElUWSwgV0hF
VEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAotICogKElOQ0xVRElO
RyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUg
VVNFCi0gKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklM
SVRZIE9GIFNVQ0ggREFNQUdFLgotICovCi0KLSNpbmNsdWRlICJjb25maWcuaCIKLSNpbmNsdWRl
ICJXZWJHUFVEZXB0aFN0ZW5jaWxTdGF0ZS5oIgotCi0jaWYgRU5BQkxFKFdFQkdQVSkKLQotI2lu
Y2x1ZGUgIldlYkdQVURlcHRoU3RlbmNpbERlc2NyaXB0b3IuaCIKLSNpbmNsdWRlIDx3dGYvdGV4
dC9XVEZTdHJpbmcuaD4KLQotbmFtZXNwYWNlIFdlYkNvcmUgewotCi1SZWY8V2ViR1BVRGVwdGhT
dGVuY2lsU3RhdGU+IFdlYkdQVURlcHRoU3RlbmNpbFN0YXRlOjpjcmVhdGUoR1BVRGVwdGhTdGVu
Y2lsU3RhdGUmJiBzdGF0ZSkKLXsKLSAgICByZXR1cm4gYWRvcHRSZWYoKm5ldyBXZWJHUFVEZXB0
aFN0ZW5jaWxTdGF0ZShXVEZNb3ZlKHN0YXRlKSkpOwotfQotCi1XZWJHUFVEZXB0aFN0ZW5jaWxT
dGF0ZTo6V2ViR1BVRGVwdGhTdGVuY2lsU3RhdGUoR1BVRGVwdGhTdGVuY2lsU3RhdGUmJiBzdGF0
ZSkKLSAgICA6IG1fc3RhdGUgeyBXVEZNb3ZlKHN0YXRlKSB9Ci17Ci19Ci0KLVN0cmluZyBXZWJH
UFVEZXB0aFN0ZW5jaWxTdGF0ZTo6bGFiZWwoKSBjb25zdAotewotICAgIHJldHVybiBtX3N0YXRl
LmxhYmVsKCk7Ci19Ci0KLXZvaWQgV2ViR1BVRGVwdGhTdGVuY2lsU3RhdGU6OnNldExhYmVsKGNv
bnN0IFN0cmluZyYgbGFiZWwpCi17Ci0gICAgbV9zdGF0ZS5zZXRMYWJlbChsYWJlbCk7Ci19Ci0K
LX0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKLQotI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9odG1sL2NhbnZhcy9XZWJHUFVEZXB0aFN0ZW5jaWxTdGF0ZS5oIGIvU291cmNlL1dlYkNv
cmUvaHRtbC9jYW52YXMvV2ViR1BVRGVwdGhTdGVuY2lsU3RhdGUuaApkZWxldGVkIGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggYTA1Y2YyZWYxMDI5YTAwZmI5NTNhNTNlZTk2ODlmNTFhMjRmZDRhMS4u
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9odG1sL2NhbnZhcy9XZWJHUFVEZXB0aFN0ZW5jaWxTdGF0ZS5oCisrKyAvZGV2L251bGwK
QEAgLTEsNTMgKzAsMCBAQAotLyoKLSAqIENvcHlyaWdodCAoQykgMjAxNyBBcHBsZSBJbmMuIEFs
bCByaWdodHMgcmVzZXJ2ZWQuCi0gKgotICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3Vy
Y2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Ci0gKiBtb2RpZmljYXRpb24sIGFy
ZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKLSAqIGFy
ZSBtZXQ6Ci0gKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4g
dGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9u
cyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgotICogMi4gUmVkaXN0cmlidXRpb25zIGlu
IGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5v
dGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1l
ciBpbiB0aGUKLSAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92
aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCi0gKgotICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9W
SURFRCBCWSBBUFBMRSBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCi0gKiBFWFBSRVNTIE9SIElNUExJ
RUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQotICogSU1Q
TElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJU
SUNVTEFSCi0gKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQ
TEUgSU5DLiBPUgotICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5E
SVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCi0gKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJ
QUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCi0gKiBQUk9DVVJFTUVO
VCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IK
LSAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5E
IE9OIEFOWSBUSEVPUlkKLSAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RS
SUNUIExJQUJJTElUWSwgT1IgVE9SVAotICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVS
V0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCi0gKiBPRiBUSElTIFNPRlRX
QVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgot
ICovCi0KLSNwcmFnbWEgb25jZQotCi0jaWYgRU5BQkxFKFdFQkdQVSkKLQotI2luY2x1ZGUgIkdQ
VURlcHRoU3RlbmNpbFN0YXRlLmgiCi0jaW5jbHVkZSA8d3RmL1JlZi5oPgotI2luY2x1ZGUgPHd0
Zi9SZWZDb3VudGVkLmg+Ci0KLW5hbWVzcGFjZSBXZWJDb3JlIHsKLQotY2xhc3MgV2ViR1BVRGVw
dGhTdGVuY2lsU3RhdGUgOiBwdWJsaWMgUmVmQ291bnRlZDxXZWJHUFVEZXB0aFN0ZW5jaWxTdGF0
ZT4gewotcHVibGljOgotICAgIHN0YXRpYyBSZWY8V2ViR1BVRGVwdGhTdGVuY2lsU3RhdGU+IGNy
ZWF0ZShHUFVEZXB0aFN0ZW5jaWxTdGF0ZSYmKTsKLQotICAgIFN0cmluZyBsYWJlbCgpIGNvbnN0
OwotICAgIHZvaWQgc2V0TGFiZWwoY29uc3QgU3RyaW5nJik7Ci0KLSAgICBHUFVEZXB0aFN0ZW5j
aWxTdGF0ZSYgc3RhdGUoKSB7IHJldHVybiBtX3N0YXRlOyB9Ci0KLXByaXZhdGU6Ci0gICAgZXhw
bGljaXQgV2ViR1BVRGVwdGhTdGVuY2lsU3RhdGUoR1BVRGVwdGhTdGVuY2lsU3RhdGUmJik7Ci0K
LSAgICBHUFVEZXB0aFN0ZW5jaWxTdGF0ZSBtX3N0YXRlOwotfTsKLSAgICAKLX0gLy8gbmFtZXNw
YWNlIFdlYkNvcmUKLQotI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL2Nh
bnZhcy9XZWJHUFVEZXB0aFN0ZW5jaWxTdGF0ZS5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL2Nh
bnZhcy9XZWJHUFVEZXB0aFN0ZW5jaWxTdGF0ZS5pZGwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDg2NmE2N2NhYTE0NDg3MzZhZDEzOGI0NjQ1YzEwNmY1NzhhMGYzYTAuLjAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRt
bC9jYW52YXMvV2ViR1BVRGVwdGhTdGVuY2lsU3RhdGUuaWRsCisrKyAvZGV2L251bGwKQEAgLTEs
MzQgKzAsMCBAQAotLyoKLSAqIENvcHlyaWdodCAoQykgMjAxNyBBcHBsZSBJbmMuIEFsbCByaWdo
dHMgcmVzZXJ2ZWQuCi0gKgotICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5k
IGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Ci0gKiBtb2RpZmljYXRpb24sIGFyZSBwZXJt
aXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKLSAqIGFyZSBtZXQ6
Ci0gKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFi
b3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQg
dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgotICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFy
eSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwg
dGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0
aGUKLSAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3
aXRoIHRoZSBkaXN0cmlidXRpb24uCi0gKgotICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBC
WSBBUFBMRSBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCi0gKiBFWFBSRVNTIE9SIElNUExJRUQgV0FS
UkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQotICogSU1QTElFRCBX
QVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFS
Ci0gKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5D
LiBPUgotICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1Qs
IElOQ0lERU5UQUwsIFNQRUNJQUwsCi0gKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFN
QUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCi0gKiBQUk9DVVJFTUVOVCBPRiBT
VUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKLSAqIFBS
T0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFO
WSBUSEVPUlkKLSAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJ
QUJJTElUWSwgT1IgVE9SVAotICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkg
QVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCi0gKiBPRiBUSElTIFNPRlRXQVJFLCBF
VkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgotICovCi0K
LVsKLSAgICBDb25kaXRpb25hbD1XRUJHUFUsCi0gICAgRW5hYmxlZEF0UnVudGltZT1XZWJHUFUs
Ci0gICAgSW1wbGVtZW50YXRpb25MYWNrc1ZUYWJsZQotXSBpbnRlcmZhY2UgV2ViR1BVRGVwdGhT
dGVuY2lsU3RhdGUgewotCi0gICAgYXR0cmlidXRlIERPTVN0cmluZyBsYWJlbDsKLQotfTsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdQVURyYXdhYmxlLmNwcCBi
L1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdQVURyYXdhYmxlLmNwcApkZWxldGVkIGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggYTk4MTU5ZmQ4NWI3ZmJlMzgyZDcwZDM2N2MxN2RlZmFhZmZl
NWU3Yi4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHUFVEcmF3YWJsZS5jcHAKKysrIC9kZXYvbnVsbApA
QCAtMSw1MSArMCwwIEBACi0vKgotICogQ29weXJpZ2h0IChDKSAyMDE3IEFwcGxlIEluYy4gQWxs
IHJpZ2h0cyByZXNlcnZlZC4KLSAqCi0gKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJj
ZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKLSAqIG1vZGlmaWNhdGlvbiwgYXJl
IHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwotICogYXJl
IG1ldDoKLSAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0
aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25z
IGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCi0gKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4g
YmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
IGluIHRoZQotICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3Zp
ZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KLSAqCi0gKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJ
REVEIEJZIEFQUExFIElOQy4gYGBBUyBJUycnIEFORCBBTlkKLSAqIEVYUFJFU1MgT1IgSU1QTElF
RCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCi0gKiBJTVBM
SUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJ
Q1VMQVIKLSAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBM
RSBJTkMuIE9SCi0gKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVE
SU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCi0gKiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBB
TlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKLSAqIFBST0NVUkVNRU5U
IE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgot
ICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQg
T04gQU5ZIFRIRU9SWQotICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJ
Q1QgTElBQklMSVRZLCBPUiBUT1JUCi0gKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJX
SVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKLSAqIE9GIFRISVMgU09GVFdB
UkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCi0g
Ki8KLQotI2luY2x1ZGUgImNvbmZpZy5oIgotI2luY2x1ZGUgIldlYkdQVURyYXdhYmxlLmgiCi0K
LSNpZiBFTkFCTEUoV0VCR1BVKQotCi0jaW5jbHVkZSAiR1BVVGV4dHVyZS5oIgotI2luY2x1ZGUg
IldlYkdQVVRleHR1cmUuaCIKLQotbmFtZXNwYWNlIFdlYkNvcmUgewotCi1SZWY8V2ViR1BVRHJh
d2FibGU+IFdlYkdQVURyYXdhYmxlOjpjcmVhdGUoR1BVRHJhd2FibGUmJiBkcmF3YWJsZSkKLXsK
LSAgICByZXR1cm4gYWRvcHRSZWYoKm5ldyBXZWJHUFVEcmF3YWJsZShXVEZNb3ZlKGRyYXdhYmxl
KSkpOwotfQotCi1XZWJHUFVEcmF3YWJsZTo6V2ViR1BVRHJhd2FibGUoR1BVRHJhd2FibGUmJiBk
cmF3YWJsZSkKLSAgICA6IG1fZHJhd2FibGUgeyBXVEZNb3ZlKGRyYXdhYmxlKSB9Ci0gICAgLCBt
X3RleHR1cmUgeyBXZWJHUFVUZXh0dXJlOjpjcmVhdGUoR1BVVGV4dHVyZSB7IG1fZHJhd2FibGUg
fSkgfQotewotfQotCi1XZWJHUFVEcmF3YWJsZTo6fldlYkdQVURyYXdhYmxlKCkgPSBkZWZhdWx0
OwotCi19IC8vIG5hbWVzcGFjZSBXZWJDb3JlCi0KLSNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR1BVRHJhd2FibGUuaCBiL1NvdXJjZS9XZWJDb3JlL2h0
bWwvY2FudmFzL1dlYkdQVURyYXdhYmxlLmgKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IGM4OWY5MjZjMTI1MTUyMmRkOWE0M2ZlODkzZTJjZjQ1MjZkYWE1NDkuLjAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52
YXMvV2ViR1BVRHJhd2FibGUuaAorKysgL2Rldi9udWxsCkBAIC0xLDU1ICswLDAgQEAKLS8qCi0g
KiBDb3B5cmlnaHQgKEMpIDIwMTcgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgotICoK
LSAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdp
dGggb3Igd2l0aG91dAotICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRo
YXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCi0gKiBhcmUgbWV0OgotICogMS4gUmVkaXN0cmli
dXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAq
ICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlz
Y2xhaW1lci4KLSAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJv
ZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25k
aXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCi0gKiAgICBkb2N1bWVu
dGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0
aW9uLgotICoKLSAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBgYEFT
IElTJycgQU5EIEFOWQotICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElO
RywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKLSAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJD
SEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgotICogUFVSUE9TRSBBUkUg
RElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IKLSAqIENPTlRSSUJV
VE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVD
SUFMLAotICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywg
QlVUIE5PVCBMSU1JVEVEIFRPLAotICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBP
UiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCi0gKiBQUk9GSVRTOyBPUiBCVVNJTkVT
UyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCi0gKiBPRiBM
SUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQK
LSAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdB
WSBPVVQgT0YgVEhFIFVTRQotICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9G
IFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KLSAqLwotCi0jcHJhZ21hIG9uY2UKLQot
I2lmIEVOQUJMRShXRUJHUFUpCi0KLSNpbmNsdWRlICJHUFVEcmF3YWJsZS5oIgotI2luY2x1ZGUg
PHd0Zi9SZWYuaD4KLSNpbmNsdWRlIDx3dGYvUmVmQ291bnRlZC5oPgotCi1uYW1lc3BhY2UgV2Vi
Q29yZSB7Ci0KLWNsYXNzIFdlYkdQVVRleHR1cmU7Ci0KLWNsYXNzIFdlYkdQVURyYXdhYmxlIDog
cHVibGljIFJlZkNvdW50ZWQ8V2ViR1BVRHJhd2FibGU+IHsKLXB1YmxpYzoKLSAgICB+V2ViR1BV
RHJhd2FibGUoKTsKLSAgICBzdGF0aWMgUmVmPFdlYkdQVURyYXdhYmxlPiBjcmVhdGUoR1BVRHJh
d2FibGUmJik7Ci0KLSAgICBHUFVEcmF3YWJsZSYgZHJhd2FibGUoKSB7IHJldHVybiBtX2RyYXdh
YmxlOyB9Ci0gICAgV2ViR1BVVGV4dHVyZSYgdGV4dHVyZSgpIHsgcmV0dXJuIG1fdGV4dHVyZS5n
ZXQoKTsgfQotCi1wcml2YXRlOgotICAgIGV4cGxpY2l0IFdlYkdQVURyYXdhYmxlKEdQVURyYXdh
YmxlJiYpOwotCi0gICAgR1BVRHJhd2FibGUgbV9kcmF3YWJsZTsKLSAgICBSZWY8V2ViR1BVVGV4
dHVyZT4gbV90ZXh0dXJlOwotfTsKLQotfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQotCi0jZW5kaWYK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdQVURyYXdhYmxlLmlk
bCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdQVURyYXdhYmxlLmlkbApkZWxldGVk
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggN2JmMjE3ZjQ5OTFlOGMwYjA5YWVjNDhlYWViZjdkNjUy
Njk3MDhjMy4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHUFVEcmF3YWJsZS5pZGwKKysrIC9kZXYvbnVs
bApAQCAtMSwzNCArMCwwIEBACi0vKgotICogQ29weXJpZ2h0IChDKSAyMDE3IEFwcGxlIEluYy4g
QWxsIHJpZ2h0cyByZXNlcnZlZC4KLSAqCi0gKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNv
dXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKLSAqIG1vZGlmaWNhdGlvbiwg
YXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwotICog
YXJlIG1ldDoKLSAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFp
biB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRp
b25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCi0gKiAyLiBSZWRpc3RyaWJ1dGlvbnMg
aW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAg
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFp
bWVyIGluIHRoZQotICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHBy
b3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KLSAqCi0gKiBUSElTIFNPRlRXQVJFIElTIFBS
T1ZJREVEIEJZIEFQUExFIElOQy4gYGBBUyBJUycnIEFORCBBTlkKLSAqIEVYUFJFU1MgT1IgSU1Q
TElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCi0gKiBJ
TVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBB
UlRJQ1VMQVIKLSAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBB
UFBMRSBJTkMuIE9SCi0gKiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJ
TkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKLSAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVO
VElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKLSAqIFBST0NVUkVN
RU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBP
UgotICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBB
TkQgT04gQU5ZIFRIRU9SWQotICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBT
VFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCi0gKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RI
RVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKLSAqIE9GIFRISVMgU09G
VFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0Uu
Ci0gKi8KLQotWwotICAgIENvbmRpdGlvbmFsPVdFQkdQVSwKLSAgICBFbmFibGVkQXRSdW50aW1l
PVdlYkdQVSwKLSAgICBJbXBsZW1lbnRhdGlvbkxhY2tzVlRhYmxlCi1dIGludGVyZmFjZSBXZWJH
UFVEcmF3YWJsZSB7Ci0KLSAgICByZWFkb25seSBhdHRyaWJ1dGUgV2ViR1BVVGV4dHVyZSB0ZXh0
dXJlOyAvLyBGSVhNRTogT25seSB0aGUgZnJhbWVidWZmZXIgc2hvdWxkIGhhdmUgdGhpcy4KLQot
fTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdQVUVudW1zLmNw
cCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdQVUVudW1zLmNwcApkZWxldGVkIGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggYzA3YmQyOGJiODM1OTFiMTFlZmQ1YWJmOWQ4NzU4ZmZhNjg4
NzY2MS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHUFVFbnVtcy5jcHAKKysrIC9kZXYvbnVsbApAQCAt
MSwxMDcgKzAsMCBAQAotLyoKLSAqIENvcHlyaWdodCAoQykgMjAxNyBBcHBsZSBJbmMuIEFsbCBy
aWdodHMgcmVzZXJ2ZWQuCi0gKgotICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2Ug
YW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Ci0gKiBtb2RpZmljYXRpb24sIGFyZSBw
ZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKLSAqIGFyZSBt
ZXQ6Ci0gKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhl
IGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgotICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJp
bmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGlj
ZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBp
biB0aGUKLSAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRl
ZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCi0gKgotICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURF
RCBCWSBBUFBMRSBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCi0gKiBFWFBSRVNTIE9SIElNUExJRUQg
V0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQotICogSU1QTElF
RCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNV
TEFSCi0gKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUg
SU5DLiBPUgotICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJF
Q1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCi0gKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwg
REFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCi0gKiBQUk9DVVJFTUVOVCBP
RiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKLSAq
IFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9O
IEFOWSBUSEVPUlkKLSAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNU
IExJQUJJTElUWSwgT1IgVE9SVAotICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lT
RSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCi0gKiBPRiBUSElTIFNPRlRXQVJF
LCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgotICov
Ci0KLSNpbmNsdWRlICJjb25maWcuaCIKLSNpbmNsdWRlICJXZWJHUFVFbnVtcy5oIgotCi0jaWYg
RU5BQkxFKFdFQkdQVSkKLQotI2luY2x1ZGUgIkdQVUVudW1zLmgiCi0jaW5jbHVkZSA8d3RmL3Rl
eHQvV1RGU3RyaW5nLmg+Ci0KLW5hbWVzcGFjZSBXZWJDb3JlIHsKLQotc3RkOjpvcHRpb25hbDxX
ZWJHUFVDb21wYXJlRnVuY3Rpb24+IHRvV2ViR1BVQ29tcGFyZUZ1bmN0aW9uKGNvbnN0IFN0cmlu
ZyYgbmFtZSkKLXsKLSAgICBpZiAoZXF1YWxMZXR0ZXJzSWdub3JpbmdBU0NJSUNhc2UobmFtZSwg
Im5ldmVyIikpCi0gICAgICAgIHJldHVybiBXZWJHUFVDb21wYXJlRnVuY3Rpb246Ok5ldmVyOwot
ICAgIGlmIChlcXVhbExldHRlcnNJZ25vcmluZ0FTQ0lJQ2FzZShuYW1lLCAibGVzcyIpKQotICAg
ICAgICByZXR1cm4gV2ViR1BVQ29tcGFyZUZ1bmN0aW9uOjpMZXNzOwotICAgIGlmIChlcXVhbExl
dHRlcnNJZ25vcmluZ0FTQ0lJQ2FzZShuYW1lLCAiZXF1YWwiKSkKLSAgICAgICAgcmV0dXJuIFdl
YkdQVUNvbXBhcmVGdW5jdGlvbjo6RXF1YWw7Ci0gICAgaWYgKGVxdWFsTGV0dGVyc0lnbm9yaW5n
QVNDSUlDYXNlKG5hbWUsICJsZXNzZXF1YWwiKSkKLSAgICAgICAgcmV0dXJuIFdlYkdQVUNvbXBh
cmVGdW5jdGlvbjo6TGVzc2VxdWFsOwotICAgIGlmIChlcXVhbExldHRlcnNJZ25vcmluZ0FTQ0lJ
Q2FzZShuYW1lLCAiZ3JlYXRlciIpKQotICAgICAgICByZXR1cm4gV2ViR1BVQ29tcGFyZUZ1bmN0
aW9uOjpHcmVhdGVyOwotICAgIGlmIChlcXVhbExldHRlcnNJZ25vcmluZ0FTQ0lJQ2FzZShuYW1l
LCAibm90ZXF1YWwiKSkKLSAgICAgICAgcmV0dXJuIFdlYkdQVUNvbXBhcmVGdW5jdGlvbjo6Tm90
ZXF1YWw7Ci0gICAgaWYgKGVxdWFsTGV0dGVyc0lnbm9yaW5nQVNDSUlDYXNlKG5hbWUsICJncmVh
dGVyZXF1YWwiKSkKLSAgICAgICAgcmV0dXJuIFdlYkdQVUNvbXBhcmVGdW5jdGlvbjo6R3JlYXRl
cmVxdWFsOwotICAgIGlmIChlcXVhbExldHRlcnNJZ25vcmluZ0FTQ0lJQ2FzZShuYW1lLCAiYWx3
YXlzIikpCi0gICAgICAgIHJldHVybiBXZWJHUFVDb21wYXJlRnVuY3Rpb246OkFsd2F5czsKLQot
ICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOwotICAgIHJldHVybiBzdGQ6Om51bGxvcHQ7Ci19Ci0K
LVN0cmluZyB3ZWIzRENvbXBhcmVGdW5jdGlvbk5hbWUoV2ViR1BVQ29tcGFyZUZ1bmN0aW9uIHZh
bHVlKQotewotICAgIGlmICh2YWx1ZSA9PSBXZWJHUFVDb21wYXJlRnVuY3Rpb246Ok5ldmVyKQot
ICAgICAgICByZXR1cm4gIm5ldmVyIl9zOwotICAgIGlmICh2YWx1ZSA9PSBXZWJHUFVDb21wYXJl
RnVuY3Rpb246Okxlc3MpCi0gICAgICAgIHJldHVybiAibGVzcyJfczsKLSAgICBpZiAodmFsdWUg
PT0gV2ViR1BVQ29tcGFyZUZ1bmN0aW9uOjpFcXVhbCkKLSAgICAgICAgcmV0dXJuICJlcXVhbCJf
czsKLSAgICBpZiAodmFsdWUgPT0gV2ViR1BVQ29tcGFyZUZ1bmN0aW9uOjpMZXNzZXF1YWwpCi0g
ICAgICAgIHJldHVybiAibGVzc2VxdWFsIl9zOwotICAgIGlmICh2YWx1ZSA9PSBXZWJHUFVDb21w
YXJlRnVuY3Rpb246OkdyZWF0ZXIpCi0gICAgICAgIHJldHVybiAiZ3JlYXRlciJfczsKLSAgICBp
ZiAodmFsdWUgPT0gV2ViR1BVQ29tcGFyZUZ1bmN0aW9uOjpOb3RlcXVhbCkKLSAgICAgICAgcmV0
dXJuICJub3RlcXVhbCJfczsKLSAgICBpZiAodmFsdWUgPT0gV2ViR1BVQ29tcGFyZUZ1bmN0aW9u
OjpHcmVhdGVyZXF1YWwpCi0gICAgICAgIHJldHVybiAiZ3JlYXRlcmVxdWFsIl9zOwotICAgIGlm
ICh2YWx1ZSA9PSBXZWJHUFVDb21wYXJlRnVuY3Rpb246OkFsd2F5cykKLSAgICAgICAgcmV0dXJu
ICJhbHdheXMiX3M7Ci0gICAgCi0gICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7Ci0gICAgcmV0dXJu
IGVtcHR5U3RyaW5nKCk7Ci19Ci0KLUdQVUNvbXBhcmVGdW5jdGlvbiB0b0dQVUNvbXBhcmVGdW5j
dGlvbihjb25zdCBXZWJHUFVDb21wYXJlRnVuY3Rpb24gdmFsdWUpCi17Ci0gICAgaWYgKHZhbHVl
ID09IFdlYkdQVUNvbXBhcmVGdW5jdGlvbjo6TmV2ZXIpCi0gICAgICAgIHJldHVybiBHUFVDb21w
YXJlRnVuY3Rpb246Ok5ldmVyOwotICAgIGlmICh2YWx1ZSA9PSBXZWJHUFVDb21wYXJlRnVuY3Rp
b246Okxlc3MpCi0gICAgICAgIHJldHVybiBHUFVDb21wYXJlRnVuY3Rpb246Okxlc3M7Ci0gICAg
aWYgKHZhbHVlID09IFdlYkdQVUNvbXBhcmVGdW5jdGlvbjo6RXF1YWwpCi0gICAgICAgIHJldHVy
biBHUFVDb21wYXJlRnVuY3Rpb246OkVxdWFsOwotICAgIGlmICh2YWx1ZSA9PSBXZWJHUFVDb21w
YXJlRnVuY3Rpb246Okxlc3NlcXVhbCkKLSAgICAgICAgcmV0dXJuIEdQVUNvbXBhcmVGdW5jdGlv
bjo6TGVzc0VxdWFsOwotICAgIGlmICh2YWx1ZSA9PSBXZWJHUFVDb21wYXJlRnVuY3Rpb246Okdy
ZWF0ZXIpCi0gICAgICAgIHJldHVybiBHUFVDb21wYXJlRnVuY3Rpb246OkdyZWF0ZXI7Ci0gICAg
aWYgKHZhbHVlID09IFdlYkdQVUNvbXBhcmVGdW5jdGlvbjo6Tm90ZXF1YWwpCi0gICAgICAgIHJl
dHVybiBHUFVDb21wYXJlRnVuY3Rpb246Ok5vdEVxdWFsOwotICAgIGlmICh2YWx1ZSA9PSBXZWJH
UFVDb21wYXJlRnVuY3Rpb246OkdyZWF0ZXJlcXVhbCkKLSAgICAgICAgcmV0dXJuIEdQVUNvbXBh
cmVGdW5jdGlvbjo6R3JlYXRlckVxdWFsOwotICAgIGlmICh2YWx1ZSA9PSBXZWJHUFVDb21wYXJl
RnVuY3Rpb246OkFsd2F5cykKLSAgICAgICAgcmV0dXJuIEdQVUNvbXBhcmVGdW5jdGlvbjo6QWx3
YXlzOwotICAgIAotICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOwotICAgIHJldHVybiBHUFVDb21w
YXJlRnVuY3Rpb246Ok5ldmVyOwotfQotCi19IC8vIG5hbWVzcGFjZSBXZWJDb3JlCi0KLSNlbmRp
ZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR1BVRW51bXMuaCBi
L1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdQVUVudW1zLmgKZGVsZXRlZCBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDQzNTA0ZTVkOGRlMjI2YmUzMzQzMzg4MjkyZTFlN2Q5Zjg5N2NlYTMu
LjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvU291cmNlL1dl
YkNvcmUvaHRtbC9jYW52YXMvV2ViR1BVRW51bXMuaAorKysgL2Rldi9udWxsCkBAIC0xLDU0ICsw
LDAgQEAKLS8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTcgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJl
c2VydmVkLgotICoKLSAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5h
cnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAotICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVk
IHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCi0gKiBhcmUgbWV0OgotICog
MS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBj
b3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBm
b2xsb3dpbmcgZGlzY2xhaW1lci4KLSAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9y
bSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCi0g
KiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0
aGUgZGlzdHJpYnV0aW9uLgotICoKLSAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQ
TEUgSU5DLiBgYEFTIElTJycgQU5EIEFOWQotICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJ
RVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKLSAqIElNUExJRUQgV0FSUkFO
VElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgotICog
UFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IK
LSAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJ
REVOVEFMLCBTUEVDSUFMLAotICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMg
KElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAotICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJ
VFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCi0gKiBQUk9GSVRT
OyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhF
T1JZCi0gKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJ
VFksIE9SIFRPUlQKLSAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJ
TkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQotICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJ
RiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KLSAqLwotCi0jcHJh
Z21hIG9uY2UKLQotI2lmIEVOQUJMRShXRUJHUFUpCi0KLSNpbmNsdWRlIDx3dGYvRm9yd2FyZC5o
PgotI2luY2x1ZGUgPHd0Zi9PcHRpb25hbC5oPgotCi1uYW1lc3BhY2UgV2ViQ29yZSB7Ci0KLWVu
dW0gY2xhc3MgR1BVQ29tcGFyZUZ1bmN0aW9uOwotCi1lbnVtIGNsYXNzIFdlYkdQVUNvbXBhcmVG
dW5jdGlvbiB7Ci0gICAgTmV2ZXIsCi0gICAgTGVzcywKLSAgICBFcXVhbCwKLSAgICBMZXNzZXF1
YWwsCi0gICAgR3JlYXRlciwKLSAgICBOb3RlcXVhbCwKLSAgICBHcmVhdGVyZXF1YWwsCi0gICAg
QWx3YXlzCi19OwotCi1zdGQ6Om9wdGlvbmFsPFdlYkdQVUNvbXBhcmVGdW5jdGlvbj4gdG9XZWJH
UFVDb21wYXJlRnVuY3Rpb24oY29uc3QgU3RyaW5nJik7Ci1TdHJpbmcgd2ViM0RDb21wYXJlRnVu
Y3Rpb25OYW1lKFdlYkdQVUNvbXBhcmVGdW5jdGlvbik7Ci1HUFVDb21wYXJlRnVuY3Rpb24gdG9H
UFVDb21wYXJlRnVuY3Rpb24oV2ViR1BVQ29tcGFyZUZ1bmN0aW9uKTsKLQotfSAvLyBuYW1lc3Bh
Y2UgV2ViQ29yZQotCi0jZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2Fu
dmFzL1dlYkdQVUVudW1zLmlkbCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdQVUVu
dW1zLmlkbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNzIxZmExNGQyZTQzMjcwNDFl
YTBhNDJmYTdmYjA5YWE4OGQxNjU2YS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHUFVFbnVtcy5pZGwK
KysrIC9kZXYvbnVsbApAQCAtMSwyNzQgKzAsMCBAQAotLyoKLSAqIENvcHlyaWdodCAoQykgMjAx
NyBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0gKgotICogUmVkaXN0cmlidXRpb24g
YW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Ci0gKiBt
b2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNv
bmRpdGlvbnMKLSAqIGFyZSBtZXQ6Ci0gKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNv
ZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxp
c3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgotICogMi4gUmVk
aXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5
cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xs
b3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKLSAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVy
IG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCi0gKgotICogVEhJUyBT
T0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCi0gKiBF
WFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQg
VE8sIFRIRQotICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklU
TkVTUyBGT1IgQSBQQVJUSUNVTEFSCi0gKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8g
RVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUgotICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1Ig
QU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCi0gKiBFWEVNUExBUlks
IE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8s
Ci0gKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9G
IFVTRSwgREFUQSwgT1IKLSAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9X
RVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKLSAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJ
TiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAotICogKElOQ0xVRElORyBORUdM
SUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCi0g
KiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9G
IFNVQ0ggREFNQUdFLgotICovCi0KLVsKLSAgICBDb25kaXRpb25hbD1XRUJHUFUsCi0gICAgRW5h
YmxlZEF0UnVudGltZT1XZWJHUFUKLV0gZW51bSBXZWJHUFVQaXhlbEZvcm1hdCB7Ci0gICAgIkJH
UkE4VW5vcm0iCi19OwotCi1bCi0gICAgQ29uZGl0aW9uYWw9V0VCR1BVLAotICAgIEVuYWJsZWRB
dFJ1bnRpbWU9V2ViR1BVCi1dIGVudW0gV2ViR1BVTG9hZEFjdGlvbiB7Ci0gICAgImRvbnRjYXJl
IiwKLSAgICAibG9hZCIsCi0gICAgImNsZWFyIgotfTsKLQotWwotICAgIENvbmRpdGlvbmFsPVdF
QkdQVSwKLSAgICBFbmFibGVkQXRSdW50aW1lPVdlYkdQVQotXSBlbnVtIFdlYkdQVVN0b3JlQWN0
aW9uIHsKLSAgICAiZG9udGNhcmUiLAotICAgICJzdG9yZSIsCi0gICAgIm11bHRpc2FtcGxlcmVz
b2x2ZSIKLX07Ci0KLVsKLSAgICBDb25kaXRpb25hbD1XRUJHUFUsCi0gICAgRW5hYmxlZEF0UnVu
dGltZT1XZWJHUFUKLV0gZW51bSBXZWJHUFVQcmltaXRpdmVUeXBlIHsKLSAgICAicG9pbnQiLAot
ICAgICJsaW5lIiwKLSAgICAibGluZXN0cmlwIiwKLSAgICAidHJpYW5nbGUiLAotICAgICJ0cmlh
bmdsZXN0cmlwIgotfTsKLQotWwotICAgIENvbmRpdGlvbmFsPVdFQkdQVSwKLSAgICBFbmFibGVk
QXRSdW50aW1lPVdlYkdQVQotXSBlbnVtIFdlYkdQVUZ1bmN0aW9uVHlwZSB7Ci0gICAgImZyYWdt
ZW50IiwKLSAgICAidmVydGV4IgotfTsKLQotWwotICAgIENvbmRpdGlvbmFsPVdFQkdQVSwKLSAg
ICBFbmFibGVkQXRSdW50aW1lPVdlYkdQVQotXSBlbnVtIFdlYkdQVVN0ZW5jaWxPcGVyYXRpb24g
ewotICAgICJrZWVwIiwKLSAgICAiemVybyIsCi0gICAgInJlcGxhY2UiLAotICAgICJpbmNyZW1l
bnRjbGFtcCIsCi0gICAgImRlY3JlbWVudGNsYW1wIiwKLSAgICAiaW52ZXJ0IiwKLSAgICAiaW5j
cmVtZW50d3JhcCIsCi0gICAgImRlY3JlbWVudHdyYXAiCi19OwotCi1bCi0gICAgQ29uZGl0aW9u
YWw9V0VCR1BVLAotICAgIEVuYWJsZWRBdFJ1bnRpbWU9V2ViR1BVCi1dIGVudW0gV2ViR1BVU3Rh
dHVzIHsKLSAgICAibm90ZW5xdWV1ZWQiLAotICAgICJlbnF1ZXVlZCIsCi0gICAgImNvbW1pdHRl
ZCIsCi0gICAgInNjaGVkdWxlZCIsCi0gICAgImNvbXBsZXRlZCIsCi0gICAgImVycm9yIgotfTsK
LQotWwotICAgIENvbmRpdGlvbmFsPVdFQkdQVSwKLSAgICBFbmFibGVkQXRSdW50aW1lPVdlYkdQ
VQotXSBlbnVtIFdlYkdQVVNhbXBsZXJBZGRyZXNzTW9kZSB7Ci0gICAgImNsYW1wdG9lZGdlIiwK
LSAgICAibWlycm9yY2xhbXB0b2VkZ2UiLAotICAgICJyZXBlYXQiLAotICAgICJtaXJyb3JyZXBl
YXQiLAotICAgICJjbGFtcHRvemVybyIKLX07Ci0KLVsKLSAgICBDb25kaXRpb25hbD1XRUJHUFUs
Ci0gICAgRW5hYmxlZEF0UnVudGltZT1XZWJHUFUKLV0gZW51bSBXZWJHUFVTYW1wbGVyTWluTWFn
RmlsdGVyIHsKLSAgICAibmVhcmVzdCIsCi0gICAgImxpbmVhciIKLX07Ci0KLVsKLSAgICBDb25k
aXRpb25hbD1XRUJHUFUsCi0gICAgRW5hYmxlZEF0UnVudGltZT1XZWJHUFUKLV0gZW51bSBXZWJH
UFVTYW1wbGVyTWlwRmlsdGVyIHsKLSAgICAibm90bWlwbWFwcGVkIiwKLSAgICAibmVhcmVzdCIs
Ci0gICAgImxpbmVhciIKLX07Ci0KLVsKLSAgICBDb25kaXRpb25hbD1XRUJHUFUsCi0gICAgRW5h
YmxlZEF0UnVudGltZT1XZWJHUFUKLV0gZW51bSBXZWJHUFVDdWxsTW9kZSB7Ci0gICAgIm5vbmUi
LAotICAgICJmcm9udCIsCi0gICAgImJhY2siCi19OwotCi1bCi0gICAgQ29uZGl0aW9uYWw9V0VC
R1BVLAotICAgIEVuYWJsZWRBdFJ1bnRpbWU9V2ViR1BVCi1dIGVudW0gV2ViR1BVSW5kZXhUeXBl
IHsKLSAgICAidWludDE2IiwKLSAgICAidWludDMyIgotfTsKLQotWwotICAgIENvbmRpdGlvbmFs
PVdFQkdQVSwKLSAgICBFbmFibGVkQXRSdW50aW1lPVdlYkdQVQotXSBlbnVtIFdlYkdQVVZpc2li
aWxpdHlSZXN1bHRNb2RlIHsKLSAgICAiZGlzYWJsZWQiLAotICAgICJib29sZWFuIiwKLSAgICAi
Y291bnRpbmciCi19OwotCi1bCi0gICAgQ29uZGl0aW9uYWw9V0VCR1BVLAotICAgIEVuYWJsZWRB
dFJ1bnRpbWU9V2ViR1BVCi1dIGVudW0gV2ViR1BVV2luZGluZyB7Ci0gICAgImNsb2Nrd2lzZSIs
Ci0gICAgImNvdW50ZXJjbG9ja3dpc2UiCi19OwotCi1bCi0gICAgQ29uZGl0aW9uYWw9V0VCR1BV
LAotICAgIEVuYWJsZWRBdFJ1bnRpbWU9V2ViR1BVCi1dIGVudW0gV2ViR1BVRGVwdGhDbGlwTW9k
ZSB7Ci0gICAgImNsaXAiLAotICAgICJjbGFtcCIKLX07Ci0KLVsKLSAgICBDb25kaXRpb25hbD1X
RUJHUFUsCi0gICAgRW5hYmxlZEF0UnVudGltZT1XZWJHUFUKLV0gZW51bSBXZWJHUFVUcmlhbmds
ZUZpbGxNb2RlIHsKLSAgICAiZmlsbCIsCi0gICAgImxpbmVzIgotfTsKLQotWwotICAgIENvbmRp
dGlvbmFsPVdFQkdQVSwKLSAgICBFbmFibGVkQXRSdW50aW1lPVdlYkdQVQotXSBlbnVtIFdlYkdQ
VUNQVUNhY2hlTW9kZSB7Ci0gICAgImRlZmF1bHRjYWNoZSIsCi0gICAgIndyaXRlY29tYmluZWQi
Ci19OwotCi1bCi0gICAgQ29uZGl0aW9uYWw9V0VCR1BVLAotICAgIEVuYWJsZWRBdFJ1bnRpbWU9
V2ViR1BVCi1dIGVudW0gV2ViR1BVU3RvcmFnZU1vZGUgewotICAgICJzaGFyZWQiLAotICAgICJt
YW5hZ2VkIiwKLSAgICAicHJpdmF0ZSIKLX07Ci0KLVsKLSAgICBDb25kaXRpb25hbD1XRUJHUFUs
Ci0gICAgRW5hYmxlZEF0UnVudGltZT1XZWJHUFUKLV0gZW51bSBXZWJHUFVSZXNvdXJjZU9wdGlv
bnMgewotICAgICJjcHVjYWNoZW1vZGVkZWZhdWx0Y2FjaGUiLAotICAgICJjcHVjYWNoZW1vZGV3
cml0ZWNvbWJpbmVkIiwKLSAgICAic3RvcmFnZW1vZGVzaGFyZWQiLAotICAgICJzdG9yYWdlbW9k
ZW1hbmFnZWQiLAotICAgICJzdG9yYWdlbW9kZXByaXZhdGUiLAotICAgICJvcHRpb25jcHVjYWNo
ZW1vZGVkZWZhdWx0Y2FjaGUiLAotICAgICJvcHRpb25jcHVjYWNoZW1vZGV3cml0ZWNvbWJpbmVk
IgotfTsKLQotWwotICAgIENvbmRpdGlvbmFsPVdFQkdQVSwKLSAgICBFbmFibGVkQXRSdW50aW1l
PVdlYkdQVQotXSBlbnVtIFdlYkdQVVRleHR1cmVVc2FnZSB7Ci0gICAgInVua25vd24iLAotICAg
ICJzaGFkZXJyZWFkIiwKLSAgICAic2hhZGVyd3JpdGUiLAotICAgICJyZW5kZXJ0YXJnZXQiLAot
ICAgICJwaXhlbGZvcm1hdHZpZXciCi19OwotCi1bCi0gICAgQ29uZGl0aW9uYWw9V0VCR1BVLAot
ICAgIEVuYWJsZWRBdFJ1bnRpbWU9V2ViR1BVCi1dIGVudW0gV2ViR1BVQmxlbmRPcGVyYXRpb24g
ewotICAgICJhZGQiLAotICAgICJzdWJ0cmFjdCIsCi0gICAgInJldmVyc2VzdWJ0cmFjdCIsCi0g
ICAgIm1pbiIsCi0gICAgIm1heCIKLX07Ci0KLVsKLSAgICBDb25kaXRpb25hbD1XRUJHUFUsCi0g
ICAgRW5hYmxlZEF0UnVudGltZT1XZWJHUFUKLV0gZW51bSBXZWJHUFVCbGVuZEZhY3RvciB7Ci0g
ICAgInplcm8iLAotICAgICJvbmUiLAotICAgICJzb3VyY2Vjb2xvciIsCi0gICAgIm9uZW1pbnVz
c291cmNlY29sb3IiLAotICAgICJzb3VyY2VhbHBoYSIsCi0gICAgIm9uZW1pbnVzc291cmNlYWxw
aGEiLAotICAgICJkZXN0aW5hdGlvbmNvbG9yIiwKLSAgICAib25lbWludXNkZXN0aW5hdGlvbmNv
bG9yIiwKLSAgICAiZGVzdGluYXRpb25hbHBoYSIsCi0gICAgIm9uZW1pbnVzZGVzdGluYXRpb25h
bHBoYSIsCi0gICAgInNvdXJjZWFscGhhc2F0dXJhdGVkIiwKLSAgICAiYmxlbmRjb2xvciIsCi0g
ICAgIm9uZW1pbnVzYmxlbmRjb2xvciIsCi0gICAgImJsZW5kYWxwaGEiLAotICAgICJvbmVtaW51
c2JsZW5kYWxwaGEiCi19OwotCi1bCi0gICAgQ29uZGl0aW9uYWw9V0VCR1BVLAotICAgIEVuYWJs
ZWRBdFJ1bnRpbWU9V2ViR1BVCi1dIGVudW0gV2ViR1BVQ29sb3JXcml0ZU1hc2sgewotICAgICJu
b25lIiwKLSAgICAicmVkIiwKLSAgICAiZ3JlZW4iLAotICAgICJibHVlIiwKLSAgICAiYWxwaGEi
LAotICAgICJhbGwiCi19OwotCi1bCi0gICAgQ29uZGl0aW9uYWw9V0VCR1BVLAotICAgIEVuYWJs
ZWRBdFJ1bnRpbWU9V2ViR1BVCi1dIGVudW0gV2ViR1BVTXVsdGlzYW1wbGVEZXB0aFJlc29sdmVG
aWx0ZXIgewotICAgICJzYW1wbGUwIiwKLSAgICAibWluIiwKLSAgICAibWF4IgotfTsKLQotWwot
ICAgIENvbmRpdGlvbmFsPVdFQkdQVSwKLSAgICBFbmFibGVkQXRSdW50aW1lPVdlYkdQVQotXSBl
bnVtIFdlYkdQVUZlYXR1cmVTZXQgewotICAgICJsZXZlbDEiLAotICAgICJsZXZlbDIiCi19Owpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR1BVRnVuY3Rpb24uY3Bw
IGIvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR1BVRnVuY3Rpb24uY3BwCmRlbGV0ZWQg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAzZWUyMzhhMzVjNTNlNWFmMmU2NmIxZDFmZTEzMzYyZjJh
ZjQ5NGU5Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdQVUZ1bmN0aW9uLmNwcAorKysgL2Rldi9udWxs
CkBAIC0xLDQ3ICswLDAgQEAKLS8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTcgQXBwbGUgSW5jLiBB
bGwgcmlnaHRzIHJlc2VydmVkLgotICoKLSAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291
cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAotICogbW9kaWZpY2F0aW9uLCBh
cmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCi0gKiBh
cmUgbWV0OgotICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWlu
IHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlv
bnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KLSAqIDIuIFJlZGlzdHJpYnV0aW9ucyBp
biBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBu
b3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWlt
ZXIgaW4gdGhlCi0gKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJv
dmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgotICoKLSAqIFRISVMgU09GVFdBUkUgSVMgUFJP
VklERUQgQlkgQVBQTEUgSU5DLiBgYEFTIElTJycgQU5EIEFOWQotICogRVhQUkVTUyBPUiBJTVBM
SUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKLSAqIElN
UExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFS
VElDVUxBUgotICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQ
UExFIElOQy4gT1IKLSAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElO
RElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAotICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5U
SUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAotICogUFJPQ1VSRU1F
TlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9S
Ci0gKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFO
RCBPTiBBTlkgVEhFT1JZCi0gKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNU
UklDVCBMSUFCSUxJVFksIE9SIFRPUlQKLSAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhF
UldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQotICogT0YgVEhJUyBTT0ZU
V0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4K
LSAqLwotCi0jaW5jbHVkZSAiY29uZmlnLmgiCi0jaW5jbHVkZSAiV2ViR1BVRnVuY3Rpb24uaCIK
LQotI2lmIEVOQUJMRShXRUJHUFUpCi0KLSNpbmNsdWRlICJXZWJHUFVMaWJyYXJ5LmgiCi0KLW5h
bWVzcGFjZSBXZWJDb3JlIHsKLQotUmVmPFdlYkdQVUZ1bmN0aW9uPiBXZWJHUFVGdW5jdGlvbjo6
Y3JlYXRlKEdQVUZ1bmN0aW9uJiYgZnVuY3Rpb24pCi17Ci0gICAgcmV0dXJuIGFkb3B0UmVmKCpu
ZXcgV2ViR1BVRnVuY3Rpb24oV1RGTW92ZShmdW5jdGlvbikpKTsKLX0KLQotV2ViR1BVRnVuY3Rp
b246OldlYkdQVUZ1bmN0aW9uKEdQVUZ1bmN0aW9uJiYgZnVuY3Rpb24pCi0gICAgOiBtX2Z1bmN0
aW9uIHsgV1RGTW92ZShmdW5jdGlvbikgfQotewotfQotCi19IC8vIG5hbWVzcGFjZSBXZWJDb3Jl
Ci0KLSNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR1BV
RnVuY3Rpb24uaCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdQVUZ1bmN0aW9uLmgK
ZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDgyZDRlZThiMjllM2Q3NTM0ZGFhODNlNGQ0
ZjY1ZGYzODZkNDU1MWUuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAK
LS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR1BVRnVuY3Rpb24uaAorKysgL2Rl
di9udWxsCkBAIC0xLDUyICswLDAgQEAKLS8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTcgQXBwbGUg
SW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgotICoKLSAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2Ug
aW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAotICogbW9kaWZpY2F0
aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25z
Ci0gKiBhcmUgbWV0OgotICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3Qg
cmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNv
bmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KLSAqIDIuIFJlZGlzdHJpYnV0
aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Ci0g
KiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRp
c2NsYWltZXIgaW4gdGhlCi0gKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlh
bHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgotICoKLSAqIFRISVMgU09GVFdBUkUg
SVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBgYEFTIElTJycgQU5EIEFOWQotICogRVhQUkVTUyBP
UiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUK
LSAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9S
IEEgUEFSVElDVUxBUgotICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNI
QUxMIEFQUExFIElOQy4gT1IKLSAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJF
Q1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAotICogRVhFTVBMQVJZLCBPUiBDT05T
RVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAotICogUFJP
Q1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERB
VEEsIE9SCi0gKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FV
U0VEIEFORCBPTiBBTlkgVEhFT1JZCi0gKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJB
Q1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKLSAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBP
UiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQotICogT0YgVEhJ
UyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERB
TUFHRS4KLSAqLwotCi0jcHJhZ21hIG9uY2UKLQotI2lmIEVOQUJMRShXRUJHUFUpCi0KLSNpbmNs
dWRlICJHUFVGdW5jdGlvbi5oIgotI2luY2x1ZGUgPHd0Zi9SZWYuaD4KLSNpbmNsdWRlIDx3dGYv
UmVmQ291bnRlZC5oPgotI2luY2x1ZGUgPHd0Zi90ZXh0L1dURlN0cmluZy5oPgotCi1uYW1lc3Bh
Y2UgV2ViQ29yZSB7Ci0KLWNsYXNzIFdlYkdQVUZ1bmN0aW9uIDogcHVibGljIFJlZkNvdW50ZWQ8
V2ViR1BVRnVuY3Rpb24+IHsKLXB1YmxpYzoKLSAgICBzdGF0aWMgUmVmPFdlYkdQVUZ1bmN0aW9u
PiBjcmVhdGUoR1BVRnVuY3Rpb24mJik7Ci0KLSAgICBTdHJpbmcgbmFtZSgpIGNvbnN0IHsgcmV0
dXJuIG1fZnVuY3Rpb24ubmFtZSgpOyB9Ci0gICAgY29uc3QgR1BVRnVuY3Rpb24mIGZ1bmN0aW9u
KCkgY29uc3QgeyByZXR1cm4gbV9mdW5jdGlvbjsgfQotCi1wcml2YXRlOgotICAgIGV4cGxpY2l0
IFdlYkdQVUZ1bmN0aW9uKEdQVUZ1bmN0aW9uJiYpOwotCi0gICAgR1BVRnVuY3Rpb24gbV9mdW5j
dGlvbjsKLX07Ci0gICAgCi19IC8vIG5hbWVzcGFjZSBXZWJDb3JlCi0KLSNlbmRpZgpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR1BVRnVuY3Rpb24uaWRsIGIvU291
cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR1BVRnVuY3Rpb24uaWRsCmRlbGV0ZWQgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCBhMTRmODNhZDJmN2Y5M2RkYTYyOWU4NGU4ZWNiYzFiYzQzZGRiZmE4
Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL1NvdXJjZS9X
ZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdQVUZ1bmN0aW9uLmlkbAorKysgL2Rldi9udWxsCkBAIC0x
LDM0ICswLDAgQEAKLS8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTcgQXBwbGUgSW5jLiBBbGwgcmln
aHRzIHJlc2VydmVkLgotICoKLSAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFu
ZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAotICogbW9kaWZpY2F0aW9uLCBhcmUgcGVy
bWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCi0gKiBhcmUgbWV0
OgotICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBh
Ym92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5k
IHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KLSAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5h
cnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2Us
IHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4g
dGhlCi0gKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQg
d2l0aCB0aGUgZGlzdHJpYnV0aW9uLgotICoKLSAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQg
QlkgQVBQTEUgSU5DLiBgYEFTIElTJycgQU5EIEFOWQotICogRVhQUkVTUyBPUiBJTVBMSUVEIFdB
UlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKLSAqIElNUExJRUQg
V0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxB
UgotICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElO
Qy4gT1IKLSAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNU
LCBJTkNJREVOVEFMLCBTUEVDSUFMLAotICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERB
TUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAotICogUFJPQ1VSRU1FTlQgT0Yg
U1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCi0gKiBQ
Uk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBB
TlkgVEhFT1JZCi0gKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBM
SUFCSUxJVFksIE9SIFRPUlQKLSAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0Up
IEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQotICogT0YgVEhJUyBTT0ZUV0FSRSwg
RVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KLSAqLwot
Ci1bCi0gICAgQ29uZGl0aW9uYWw9V0VCR1BVLAotICAgIEVuYWJsZWRBdFJ1bnRpbWU9V2ViR1BV
LAotICAgIEltcGxlbWVudGF0aW9uTGFja3NWVGFibGUKLV0gaW50ZXJmYWNlIFdlYkdQVUZ1bmN0
aW9uIHsKLQotICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBET01TdHJpbmcgbmFtZTsKLQotfTsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdQVUxpYnJhcnkuY3BwIGIv
U291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR1BVTGlicmFyeS5jcHAKZGVsZXRlZCBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDMzMjQzODdiMDYwNmM5YzI3MDJlNTgxNTA5ZWUxMDcwN2E1Y2Zk
NjcuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvU291cmNl
L1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR1BVTGlicmFyeS5jcHAKKysrIC9kZXYvbnVsbApAQCAt
MSw2MSArMCwwIEBACi0vKgotICogQ29weXJpZ2h0IChDKSAyMDE3IEFwcGxlIEluYy4gQWxsIHJp
Z2h0cyByZXNlcnZlZC4KLSAqCi0gKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBh
bmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKLSAqIG1vZGlmaWNhdGlvbiwgYXJlIHBl
cm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwotICogYXJlIG1l
dDoKLSAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUg
YWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFu
ZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCi0gKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmlu
YXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNl
LCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGlu
IHRoZQotICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVk
IHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KLSAqCi0gKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVE
IEJZIEFQUExFIElOQy4gYGBBUyBJUycnIEFORCBBTlkKLSAqIEVYUFJFU1MgT1IgSU1QTElFRCBX
QVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCi0gKiBJTVBMSUVE
IFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VM
QVIKLSAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJ
TkMuIE9SCi0gKiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVD
VCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKLSAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBE
QU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKLSAqIFBST0NVUkVNRU5UIE9G
IFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgotICog
UFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04g
QU5ZIFRIRU9SWQotICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1Qg
TElBQklMSVRZLCBPUiBUT1JUCi0gKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNF
KSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKLSAqIE9GIFRISVMgU09GVFdBUkUs
IEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCi0gKi8K
LQotI2luY2x1ZGUgImNvbmZpZy5oIgotI2luY2x1ZGUgIldlYkdQVUxpYnJhcnkuaCIKLQotI2lm
IEVOQUJMRShXRUJHUFUpCi0KLSNpbmNsdWRlICJXZWJHUFVGdW5jdGlvbi5oIgotCi1uYW1lc3Bh
Y2UgV2ViQ29yZSB7Ci0KLVJlZjxXZWJHUFVMaWJyYXJ5PiBXZWJHUFVMaWJyYXJ5OjpjcmVhdGUo
R1BVTGlicmFyeSYmIGxpYnJhcnksIGNvbnN0IFN0cmluZyYgc291cmNlQ29kZSkKLXsKLSAgICBy
ZXR1cm4gYWRvcHRSZWYoKm5ldyBXZWJHUFVMaWJyYXJ5KFdURk1vdmUobGlicmFyeSksIHNvdXJj
ZUNvZGUpKTsKLX0KLQotV2ViR1BVTGlicmFyeTo6V2ViR1BVTGlicmFyeShHUFVMaWJyYXJ5JiYg
bGlicmFyeSwgY29uc3QgU3RyaW5nJiBzb3VyY2VDb2RlKQotICAgIDogbV9zb3VyY2VDb2RlIHsg
c291cmNlQ29kZSB9Ci0gICAgLCBtX2xpYnJhcnkgeyBXVEZNb3ZlKGxpYnJhcnkpIH0KLXsKLX0K
LQotVmVjdG9yPFN0cmluZz4gV2ViR1BVTGlicmFyeTo6ZnVuY3Rpb25OYW1lcygpIGNvbnN0Ci17
Ci0gICAgcmV0dXJuIG1fbGlicmFyeS5mdW5jdGlvbk5hbWVzKCk7Ci19Ci0KLVJlZlB0cjxXZWJH
UFVGdW5jdGlvbj4gV2ViR1BVTGlicmFyeTo6ZnVuY3Rpb25XaXRoTmFtZShjb25zdCBTdHJpbmcm
IG5hbWUpIGNvbnN0Ci17Ci0gICAgR1BVRnVuY3Rpb24gZnVuY3Rpb24geyBtX2xpYnJhcnksIG5h
bWUgfTsKLSAgICBpZiAoIWZ1bmN0aW9uKQotICAgICAgICByZXR1cm4gbnVsbHB0cjsKLSAgICBy
ZXR1cm4gV2ViR1BVRnVuY3Rpb246OmNyZWF0ZShXVEZNb3ZlKGZ1bmN0aW9uKSk7Ci19Ci0KLX0g
Ly8gbmFtZXNwYWNlIFdlYkNvcmUKLQotI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9odG1sL2NhbnZhcy9XZWJHUFVMaWJyYXJ5LmggYi9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZh
cy9XZWJHUFVMaWJyYXJ5LmgKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDgyOTJmM2Iw
NWI4M2Y3MzcwMzYxNmVhZDMyOGI5ODdkNGZiMjgwZjguLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR1BV
TGlicmFyeS5oCisrKyAvZGV2L251bGwKQEAgLTEsNjAgKzAsMCBAQAotLyoKLSAqIENvcHlyaWdo
dCAoQykgMjAxNyBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0gKgotICogUmVkaXN0
cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRo
b3V0Ci0gKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9s
bG93aW5nIGNvbmRpdGlvbnMKLSAqIGFyZSBtZXQ6Ci0gKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Yg
c291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNl
LCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgot
ICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBh
Ym92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5k
IHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKLSAqICAgIGRvY3VtZW50YXRpb24gYW5k
L29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCi0gKgot
ICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIGBgQVMgSVMnJyBBTkQg
QU5ZCi0gKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9U
IExJTUlURUQgVE8sIFRIRQotICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElU
WSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCi0gKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVE
LiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUgotICogQ09OVFJJQlVUT1JTIEJFIExJ
QUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCi0gKiBF
WEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJ
TUlURUQgVE8sCi0gKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VT
OyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKLSAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQ
VElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKLSAqIE9GIExJQUJJTElUWSwg
V0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAotICogKElOQ0xV
RElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBU
SEUgVVNFCi0gKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJ
QklMSVRZIE9GIFNVQ0ggREFNQUdFLgotICovCi0KLSNwcmFnbWEgb25jZQotCi0jaWYgRU5BQkxF
KFdFQkdQVSkKLQotI2luY2x1ZGUgIkdQVUxpYnJhcnkuaCIKLSNpbmNsdWRlIDx3dGYvUmVmLmg+
Ci0jaW5jbHVkZSA8d3RmL1JlZkNvdW50ZWQuaD4KLQotbmFtZXNwYWNlIFdlYkNvcmUgewotCi1j
bGFzcyBXZWJHUFVGdW5jdGlvbjsKLQotY2xhc3MgV2ViR1BVTGlicmFyeSA6IHB1YmxpYyBSZWZD
b3VudGVkPFdlYkdQVUxpYnJhcnk+IHsKLXB1YmxpYzoKLSAgICBzdGF0aWMgUmVmPFdlYkdQVUxp
YnJhcnk+IGNyZWF0ZShHUFVMaWJyYXJ5JiYsIGNvbnN0IFN0cmluZyYgc291cmNlQ29kZSk7Ci0K
LSAgICBjb25zdCBTdHJpbmcmIHNvdXJjZUNvZGUoKSBjb25zdCB7IHJldHVybiBtX3NvdXJjZUNv
ZGU7IH0KLQotICAgIFN0cmluZyBsYWJlbCgpIGNvbnN0IHsgcmV0dXJuIG1fbGlicmFyeS5sYWJl
bCgpOyB9Ci0gICAgdm9pZCBzZXRMYWJlbChjb25zdCBTdHJpbmcmIGxhYmVsKSB7IG1fbGlicmFy
eS5zZXRMYWJlbChsYWJlbCk7IH0KLQotICAgIFZlY3RvcjxTdHJpbmc+IGZ1bmN0aW9uTmFtZXMo
KSBjb25zdDsKLQotICAgIFJlZlB0cjxXZWJHUFVGdW5jdGlvbj4gZnVuY3Rpb25XaXRoTmFtZShj
b25zdCBTdHJpbmcmKSBjb25zdDsKLQotcHJpdmF0ZToKLSAgICBXZWJHUFVMaWJyYXJ5KEdQVUxp
YnJhcnkmJiwgY29uc3QgU3RyaW5nJiBzb3VyY2VDb2RlKTsKLQotICAgIFN0cmluZyBtX3NvdXJj
ZUNvZGU7Ci0gICAgR1BVTGlicmFyeSBtX2xpYnJhcnk7Ci19OwotCi19IC8vIG5hbWVzcGFjZSBX
ZWJDb3JlCi0KLSNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMv
V2ViR1BVTGlicmFyeS5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHUFVMaWJy
YXJ5LmlkbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMzZmZjFiNjliMGM5NDE3ZDVk
NDljMzNkODUwYTUzZWY3Zjg2ZjE1Ni4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHUFVMaWJyYXJ5Lmlk
bAorKysgL2Rldi9udWxsCkBAIC0xLDM4ICswLDAgQEAKLS8qCi0gKiBDb3B5cmlnaHQgKEMpIDIw
MTcgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgotICoKLSAqIFJlZGlzdHJpYnV0aW9u
IGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAotICog
bW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBj
b25kaXRpb25zCi0gKiBhcmUgbWV0OgotICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBj
b2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBs
aXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KLSAqIDIuIFJl
ZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29w
eXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9s
bG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCi0gKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhl
ciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgotICoKLSAqIFRISVMg
U09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBgYEFTIElTJycgQU5EIEFOWQotICog
RVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVE
IFRPLCBUSEUKLSAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJ
VE5FU1MgRk9SIEEgUEFSVElDVUxBUgotICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5P
IEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IKLSAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9S
IEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAotICogRVhFTVBMQVJZ
LCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRP
LAotICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBP
RiBVU0UsIERBVEEsIE9SCi0gKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhP
V0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCi0gKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIg
SU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKLSAqIChJTkNMVURJTkcgTkVH
TElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQot
ICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBP
RiBTVUNIIERBTUFHRS4KLSAqLwotCi1bCi0gICAgQ29uZGl0aW9uYWw9V0VCR1BVLAotICAgIEVu
YWJsZWRBdFJ1bnRpbWU9V2ViR1BVLAotICAgIEltcGxlbWVudGF0aW9uTGFja3NWVGFibGUKLV0g
aW50ZXJmYWNlIFdlYkdQVUxpYnJhcnkgewotCi0gICAgcmVhZG9ubHkgYXR0cmlidXRlIERPTVN0
cmluZyBzb3VyY2VDb2RlOwotICAgIGF0dHJpYnV0ZSBET01TdHJpbmcgbGFiZWw7Ci0gICAgcmVh
ZG9ubHkgYXR0cmlidXRlIHNlcXVlbmNlPERPTVN0cmluZz4gZnVuY3Rpb25OYW1lczsKLQotICAg
IFdlYkdQVUZ1bmN0aW9uPyBmdW5jdGlvbldpdGhOYW1lKERPTVN0cmluZyBuYW1lKTsKLQotfTsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdQVVJlbmRlckNvbW1h
bmRFbmNvZGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdQVVJlbmRlckNv
bW1hbmRFbmNvZGVyLmNwcApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZWE1MDJjMGRk
ZjhiNDcyNmEwYzZlMGNhMjJlY2Q5NzZiZGZjZDNmNS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHUFVS
ZW5kZXJDb21tYW5kRW5jb2Rlci5jcHAKKysrIC9kZXYvbnVsbApAQCAtMSw4NSArMCwwIEBACi0v
KgotICogQ29weXJpZ2h0IChDKSAyMDE3IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4K
LSAqCi0gKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1z
LCB3aXRoIG9yIHdpdGhvdXQKLSAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRl
ZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwotICogYXJlIG1ldDoKLSAqIDEuIFJlZGlz
dHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0
Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5n
IGRpc2NsYWltZXIuCi0gKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCBy
ZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2Yg
Y29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQotICogICAgZG9j
dW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3Ry
aWJ1dGlvbi4KLSAqCi0gKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4g
YGBBUyBJUycnIEFORCBBTlkKLSAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNM
VURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCi0gKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0Yg
TUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKLSAqIFBVUlBPU0Ug
QVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SCi0gKiBDT05U
UklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwg
U1BFQ0lBTCwKLSAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJ
TkcsIEJVVCBOT1QgTElNSVRFRCBUTywKLSAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09P
RFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgotICogUFJPRklUUzsgT1IgQlVT
SU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQotICog
T0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBU
T1JUCi0gKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFO
WSBXQVkgT1VUIE9GIFRIRSBVU0UKLSAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNF
RCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCi0gKi8KLQotI2luY2x1ZGUgImNv
bmZpZy5oIgotI2luY2x1ZGUgIldlYkdQVVJlbmRlckNvbW1hbmRFbmNvZGVyLmgiCi0KLSNpZiBF
TkFCTEUoV0VCR1BVKQotCi0jaW5jbHVkZSAiR1BVQ29tbWFuZEJ1ZmZlci5oIgotI2luY2x1ZGUg
IkdQVVJlbmRlclBhc3NEZXNjcmlwdG9yLmgiCi0jaW5jbHVkZSAiV2ViR1BVQnVmZmVyLmgiCi0j
aW5jbHVkZSAiV2ViR1BVQ29tbWFuZEJ1ZmZlci5oIgotI2luY2x1ZGUgIldlYkdQVURlcHRoU3Rl
bmNpbFN0YXRlLmgiCi0jaW5jbHVkZSAiV2ViR1BVUmVuZGVyUGFzc0Rlc2NyaXB0b3IuaCIKLSNp
bmNsdWRlICJXZWJHUFVSZW5kZXJQaXBlbGluZVN0YXRlLmgiCi0KLW5hbWVzcGFjZSBXZWJDb3Jl
IHsKLQotUmVmPFdlYkdQVVJlbmRlckNvbW1hbmRFbmNvZGVyPiBXZWJHUFVSZW5kZXJDb21tYW5k
RW5jb2Rlcjo6Y3JlYXRlKEdQVVJlbmRlckNvbW1hbmRFbmNvZGVyJiYgZW5jb2RlcikKLXsKLSAg
ICByZXR1cm4gYWRvcHRSZWYoKm5ldyBXZWJHUFVSZW5kZXJDb21tYW5kRW5jb2RlcihXVEZNb3Zl
KGVuY29kZXIpKSk7Ci19Ci0KLVdlYkdQVVJlbmRlckNvbW1hbmRFbmNvZGVyOjpXZWJHUFVSZW5k
ZXJDb21tYW5kRW5jb2RlcihHUFVSZW5kZXJDb21tYW5kRW5jb2RlciYmIGVuY29kZXIpCi0gICAg
OiBtX2VuY29kZXIgeyBXVEZNb3ZlKGVuY29kZXIpIH0KLXsKLX0KLQotV2ViR1BVUmVuZGVyQ29t
bWFuZEVuY29kZXI6On5XZWJHUFVSZW5kZXJDb21tYW5kRW5jb2RlcigpID0gZGVmYXVsdDsKLQot
dm9pZCBXZWJHUFVSZW5kZXJDb21tYW5kRW5jb2Rlcjo6c2V0UmVuZGVyUGlwZWxpbmVTdGF0ZShX
ZWJHUFVSZW5kZXJQaXBlbGluZVN0YXRlJiBwaXBlbGluZVN0YXRlKQotewotICAgIG1fZW5jb2Rl
ci5zZXRSZW5kZXJQaXBlbGluZVN0YXRlKHBpcGVsaW5lU3RhdGUuc3RhdGUoKSk7Ci19Ci0KLXZv
aWQgV2ViR1BVUmVuZGVyQ29tbWFuZEVuY29kZXI6OnNldERlcHRoU3RlbmNpbFN0YXRlKFdlYkdQ
VURlcHRoU3RlbmNpbFN0YXRlJiBkZXB0aFN0ZW5jaWxTdGF0ZSkKLXsKLSAgICBtX2VuY29kZXIu
c2V0RGVwdGhTdGVuY2lsU3RhdGUoZGVwdGhTdGVuY2lsU3RhdGUuc3RhdGUoKSk7Ci19Ci0KLXZv
aWQgV2ViR1BVUmVuZGVyQ29tbWFuZEVuY29kZXI6OnNldFZlcnRleEJ1ZmZlcihXZWJHUFVCdWZm
ZXImIGJ1ZmZlciwgdW5zaWduZWQgb2Zmc2V0LCB1bnNpZ25lZCBpbmRleCkKLXsKLSAgICBtX2Vu
Y29kZXIuc2V0VmVydGV4QnVmZmVyKGJ1ZmZlci5idWZmZXIoKSwgb2Zmc2V0LCBpbmRleCk7Ci19
Ci0KLXZvaWQgV2ViR1BVUmVuZGVyQ29tbWFuZEVuY29kZXI6OnNldEZyYWdtZW50QnVmZmVyKFdl
YkdQVUJ1ZmZlciYgYnVmZmVyLCB1bnNpZ25lZCBvZmZzZXQsIHVuc2lnbmVkIGluZGV4KQotewot
ICAgIG1fZW5jb2Rlci5zZXRGcmFnbWVudEJ1ZmZlcihidWZmZXIuYnVmZmVyKCksIG9mZnNldCwg
aW5kZXgpOwotfQotCi12b2lkIFdlYkdQVVJlbmRlckNvbW1hbmRFbmNvZGVyOjpkcmF3UHJpbWl0
aXZlcyh1bnNpZ25lZCB0eXBlLCB1bnNpZ25lZCBzdGFydCwgdW5zaWduZWQgY291bnQpCi17Ci0g
ICAgbV9lbmNvZGVyLmRyYXdQcmltaXRpdmVzKHR5cGUsIHN0YXJ0LCBjb3VudCk7Ci19Ci0KLXZv
aWQgV2ViR1BVUmVuZGVyQ29tbWFuZEVuY29kZXI6OmVuZEVuY29kaW5nKCkKLXsKLSAgICByZXR1
cm4gbV9lbmNvZGVyLmVuZEVuY29kaW5nKCk7Ci19Ci0KLX0gLy8gbmFtZXNwYWNlIFdlYkNvcmUK
LQotI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHUFVS
ZW5kZXJDb21tYW5kRW5jb2Rlci5oIGIvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR1BV
UmVuZGVyQ29tbWFuZEVuY29kZXIuaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZTAy
Yjc5ZTgwNDJjOWMzYzQ3MDMwZTI5MjJhMzJlMjA3OGM5Yjg0ZC4uMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9X
ZWJHUFVSZW5kZXJDb21tYW5kRW5jb2Rlci5oCisrKyAvZGV2L251bGwKQEAgLTEsNjIgKzAsMCBA
QAotLyoKLSAqIENvcHlyaWdodCAoQykgMjAxNyBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2
ZWQuCi0gKgotICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBm
b3Jtcywgd2l0aCBvciB3aXRob3V0Ci0gKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJv
dmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKLSAqIGFyZSBtZXQ6Ci0gKiAxLiBS
ZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHly
aWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxv
d2luZyBkaXNjbGFpbWVyLgotICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11
c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKLSAqICAg
IGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBk
aXN0cmlidXRpb24uCi0gKgotICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJ
TkMuIGBgQVMgSVMnJyBBTkQgQU5ZCi0gKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywg
SU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQotICogSU1QTElFRCBXQVJSQU5USUVT
IE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCi0gKiBQVVJQ
T1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUgotICog
Q09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5U
QUwsIFNQRUNJQUwsCi0gKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5D
TFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCi0gKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRF
IEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKLSAqIFBST0ZJVFM7IE9S
IEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkK
LSAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwg
T1IgVE9SVAotICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJ
TiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCi0gKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFE
VklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgotICovCi0KLSNwcmFnbWEg
b25jZQotCi0jaWYgRU5BQkxFKFdFQkdQVSkKLQotI2luY2x1ZGUgIkdQVVJlbmRlckNvbW1hbmRF
bmNvZGVyLmgiCi0jaW5jbHVkZSA8d3RmL1JlZi5oPgotI2luY2x1ZGUgPHd0Zi9SZWZDb3VudGVk
Lmg+Ci0KLW5hbWVzcGFjZSBXZWJDb3JlIHsKLQotY2xhc3MgV2ViR1BVQnVmZmVyOwotY2xhc3Mg
V2ViR1BVRGVwdGhTdGVuY2lsU3RhdGU7Ci1jbGFzcyBXZWJHUFVSZW5kZXJQaXBlbGluZVN0YXRl
OwotCi1jbGFzcyBXZWJHUFVSZW5kZXJDb21tYW5kRW5jb2RlciA6IHB1YmxpYyBSZWZDb3VudGVk
PFdlYkdQVVJlbmRlckNvbW1hbmRFbmNvZGVyPiB7Ci1wdWJsaWM6Ci0gICAgfldlYkdQVVJlbmRl
ckNvbW1hbmRFbmNvZGVyKCk7Ci0gICAgc3RhdGljIFJlZjxXZWJHUFVSZW5kZXJDb21tYW5kRW5j
b2Rlcj4gY3JlYXRlKEdQVVJlbmRlckNvbW1hbmRFbmNvZGVyJiYpOwotCi0gICAgdm9pZCBzZXRS
ZW5kZXJQaXBlbGluZVN0YXRlKFdlYkdQVVJlbmRlclBpcGVsaW5lU3RhdGUmKTsKLSAgICB2b2lk
IHNldERlcHRoU3RlbmNpbFN0YXRlKFdlYkdQVURlcHRoU3RlbmNpbFN0YXRlJik7Ci0gICAgdm9p
ZCBzZXRWZXJ0ZXhCdWZmZXIoV2ViR1BVQnVmZmVyJiwgdW5zaWduZWQgb2Zmc2V0LCB1bnNpZ25l
ZCBpbmRleCk7Ci0gICAgdm9pZCBzZXRGcmFnbWVudEJ1ZmZlcihXZWJHUFVCdWZmZXImLCB1bnNp
Z25lZCBvZmZzZXQsIHVuc2lnbmVkIGluZGV4KTsKLSAgICB2b2lkIGRyYXdQcmltaXRpdmVzKHVu
c2lnbmVkIHR5cGUsIHVuc2lnbmVkIHN0YXJ0LCB1bnNpZ25lZCBjb3VudCk7Ci0gICAgdm9pZCBl
bmRFbmNvZGluZygpOwotCi0gICAgR1BVUmVuZGVyQ29tbWFuZEVuY29kZXImIGVuY29kZXIoKSB7
IHJldHVybiBtX2VuY29kZXI7IH0KLQotcHJpdmF0ZToKLSAgICBleHBsaWNpdCBXZWJHUFVSZW5k
ZXJDb21tYW5kRW5jb2RlcihHUFVSZW5kZXJDb21tYW5kRW5jb2RlciYmKTsKLQotICAgIEdQVVJl
bmRlckNvbW1hbmRFbmNvZGVyIG1fZW5jb2RlcjsKLX07Ci0KLX0gLy8gbmFtZXNwYWNlIFdlYkNv
cmUKLQotI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJH
UFVSZW5kZXJDb21tYW5kRW5jb2Rlci5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9X
ZWJHUFVSZW5kZXJDb21tYW5kRW5jb2Rlci5pZGwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDA4MDBkYzFiMDViODRmMGYyMzEwOGY3MjlhZmNkNTE4ZTdiMzg0N2QuLjAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9j
YW52YXMvV2ViR1BVUmVuZGVyQ29tbWFuZEVuY29kZXIuaWRsCisrKyAvZGV2L251bGwKQEAgLTEs
NDAgKzAsMCBAQAotLyoKLSAqIENvcHlyaWdodCAoQykgMjAxNyBBcHBsZSBJbmMuIEFsbCByaWdo
dHMgcmVzZXJ2ZWQuCi0gKgotICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5k
IGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Ci0gKiBtb2RpZmljYXRpb24sIGFyZSBwZXJt
aXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKLSAqIGFyZSBtZXQ6
Ci0gKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFi
b3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQg
dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgotICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFy
eSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwg
dGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0
aGUKLSAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3
aXRoIHRoZSBkaXN0cmlidXRpb24uCi0gKgotICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBC
WSBBUFBMRSBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCi0gKiBFWFBSRVNTIE9SIElNUExJRUQgV0FS
UkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQotICogSU1QTElFRCBX
QVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFS
Ci0gKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5D
LiBPUgotICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1Qs
IElOQ0lERU5UQUwsIFNQRUNJQUwsCi0gKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFN
QUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCi0gKiBQUk9DVVJFTUVOVCBPRiBT
VUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKLSAqIFBS
T0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFO
WSBUSEVPUlkKLSAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJ
QUJJTElUWSwgT1IgVE9SVAotICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkg
QVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCi0gKiBPRiBUSElTIFNPRlRXQVJFLCBF
VkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgotICovCi0K
LVsKLSAgICBDb25kaXRpb25hbD1XRUJHUFUsCi0gICAgRW5hYmxlZEF0UnVudGltZT1XZWJHUFUs
Ci0gICAgSW1wbGVtZW50YXRpb25MYWNrc1ZUYWJsZQotXSBpbnRlcmZhY2UgV2ViR1BVUmVuZGVy
Q29tbWFuZEVuY29kZXIgewotCi0gICAgdm9pZCBzZXRSZW5kZXJQaXBlbGluZVN0YXRlKFdlYkdQ
VVJlbmRlclBpcGVsaW5lU3RhdGUgcGlwZWxpbmVTdGF0ZSk7Ci0gICAgdm9pZCBzZXREZXB0aFN0
ZW5jaWxTdGF0ZShXZWJHUFVEZXB0aFN0ZW5jaWxTdGF0ZSBkZXB0aFN0ZW5jaWxTdGF0ZSk7Ci0g
ICAgdm9pZCBzZXRWZXJ0ZXhCdWZmZXIoV2ViR1BVQnVmZmVyIGJ1ZmZlciwgdW5zaWduZWQgbG9u
ZyBvZmZzZXQsIHVuc2lnbmVkIGxvbmcgaW5kZXgpOwotICAgIHZvaWQgc2V0RnJhZ21lbnRCdWZm
ZXIoV2ViR1BVQnVmZmVyIGJ1ZmZlciwgdW5zaWduZWQgbG9uZyBvZmZzZXQsIHVuc2lnbmVkIGxv
bmcgaW5kZXgpOwotICAgIHZvaWQgZHJhd1ByaW1pdGl2ZXModW5zaWduZWQgbG9uZyB0eXBlLCB1
bnNpZ25lZCBsb25nIHN0YXJ0LCB1bnNpZ25lZCBsb25nIGNvdW50KTsKLQotICAgIHZvaWQgZW5k
RW5jb2RpbmcoKTsKLQotfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFz
L1dlYkdQVVJlbmRlclBhc3NBdHRhY2htZW50RGVzY3JpcHRvci5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9odG1sL2NhbnZhcy9XZWJHUFVSZW5kZXJQYXNzQXR0YWNobWVudERlc2NyaXB0b3IuY3BwCmRl
bGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBjYWUzOWJiNjU5ZDNkMGMyOWY1OTQyYmQxODA2
N2EyMTMxM2E4OTMwLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0t
LSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdQVVJlbmRlclBhc3NBdHRhY2htZW50
RGVzY3JpcHRvci5jcHAKKysrIC9kZXYvbnVsbApAQCAtMSw4MSArMCwwIEBACi0vKgotICogQ29w
eXJpZ2h0IChDKSAyMDE3IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLSAqCi0gKiBS
ZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9y
IHdpdGhvdXQKLSAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRo
ZSBmb2xsb3dpbmcgY29uZGl0aW9ucwotICogYXJlIG1ldDoKLSAqIDEuIFJlZGlzdHJpYnV0aW9u
cyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBu
b3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWlt
ZXIuCi0gKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2Ug
dGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9u
cyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQotICogICAgZG9jdW1lbnRhdGlv
biBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4K
LSAqCi0gKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gYGBBUyBJUycn
IEFORCBBTlkKLSAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJV
VCBOT1QgTElNSVRFRCBUTywgVEhFCi0gKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRB
QklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKLSAqIFBVUlBPU0UgQVJFIERJU0NM
QUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SCi0gKiBDT05UUklCVVRPUlMg
QkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwK
LSAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBO
T1QgTElNSVRFRCBUTywKLSAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VS
VklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgotICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5U
RVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQotICogT0YgTElBQklM
SVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCi0gKiAo
SU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VU
IE9GIFRIRSBVU0UKLSAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUg
UE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCi0gKi8KLQotI2luY2x1ZGUgImNvbmZpZy5oIgot
I2luY2x1ZGUgIldlYkdQVVJlbmRlclBhc3NBdHRhY2htZW50RGVzY3JpcHRvci5oIgotCi0jaWYg
RU5BQkxFKFdFQkdQVSkKLQotI2luY2x1ZGUgIkdQVVJlbmRlclBhc3NBdHRhY2htZW50RGVzY3Jp
cHRvci5oIgotI2luY2x1ZGUgIkdQVVRleHR1cmUuaCIKLSNpbmNsdWRlICJXZWJHUFVUZXh0dXJl
LmgiCi0KLW5hbWVzcGFjZSBXZWJDb3JlIHsKLQotV2ViR1BVUmVuZGVyUGFzc0F0dGFjaG1lbnRE
ZXNjcmlwdG9yOjpXZWJHUFVSZW5kZXJQYXNzQXR0YWNobWVudERlc2NyaXB0b3IoKQotewotfQot
Ci1XZWJHUFVSZW5kZXJQYXNzQXR0YWNobWVudERlc2NyaXB0b3I6On5XZWJHUFVSZW5kZXJQYXNz
QXR0YWNobWVudERlc2NyaXB0b3IoKSA9IGRlZmF1bHQ7Ci0KLXVuc2lnbmVkIFdlYkdQVVJlbmRl
clBhc3NBdHRhY2htZW50RGVzY3JpcHRvcjo6bG9hZEFjdGlvbigpIGNvbnN0Ci17Ci0gICAgcmV0
dXJuIGRlc2NyaXB0b3IoKS5sb2FkQWN0aW9uKCk7Ci19Ci0KLXZvaWQgV2ViR1BVUmVuZGVyUGFz
c0F0dGFjaG1lbnREZXNjcmlwdG9yOjpzZXRMb2FkQWN0aW9uKHVuc2lnbmVkIG5ld0xvYWRBY3Rp
b24pCi17Ci0gICAgZGVzY3JpcHRvcigpLnNldExvYWRBY3Rpb24obmV3TG9hZEFjdGlvbik7Ci19
Ci0KLXVuc2lnbmVkIFdlYkdQVVJlbmRlclBhc3NBdHRhY2htZW50RGVzY3JpcHRvcjo6c3RvcmVB
Y3Rpb24oKSBjb25zdAotewotICAgIHJldHVybiBkZXNjcmlwdG9yKCkuc3RvcmVBY3Rpb24oKTsK
LX0KLQotdm9pZCBXZWJHUFVSZW5kZXJQYXNzQXR0YWNobWVudERlc2NyaXB0b3I6OnNldFN0b3Jl
QWN0aW9uKHVuc2lnbmVkIG5ld1N0b3JlQWN0aW9uKQotewotICAgIGRlc2NyaXB0b3IoKS5zZXRT
dG9yZUFjdGlvbihuZXdTdG9yZUFjdGlvbik7Ci19Ci0KLVdlYkdQVVRleHR1cmUqIFdlYkdQVVJl
bmRlclBhc3NBdHRhY2htZW50RGVzY3JpcHRvcjo6dGV4dHVyZSgpIGNvbnN0Ci17Ci0gICAgcmV0
dXJuIG1fdGV4dHVyZS5nZXQoKTsKLX0KLQotdm9pZCBXZWJHUFVSZW5kZXJQYXNzQXR0YWNobWVu
dERlc2NyaXB0b3I6OnNldFRleHR1cmUoUmVmUHRyPFdlYkdQVVRleHR1cmU+JiYgbmV3VGV4dHVy
ZSkKLXsKLSAgICAvLyBGSVhNRTogV2h5IGNhbid0IHdlIHNldCB0aGlzIHRvIG51bGw/Ci0gICAg
aWYgKCFuZXdUZXh0dXJlKQotICAgICAgICByZXR1cm47Ci0gICAgCi0gICAgbV90ZXh0dXJlID0g
V1RGTW92ZShuZXdUZXh0dXJlKTsKLQotICAgIGRlc2NyaXB0b3IoKS5zZXRUZXh0dXJlKG1fdGV4
dHVyZS0+dGV4dHVyZSgpKTsKLX0KLQotfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQotCi0jZW5kaWYK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdQVVJlbmRlclBhc3NB
dHRhY2htZW50RGVzY3JpcHRvci5oIGIvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR1BV
UmVuZGVyUGFzc0F0dGFjaG1lbnREZXNjcmlwdG9yLmgKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDA1ZjlmODA5ZjliZGFjMTA4YWI3ZDZhNjM2MDk4ZDY0NzA5MDEyODcuLjAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRt
bC9jYW52YXMvV2ViR1BVUmVuZGVyUGFzc0F0dGFjaG1lbnREZXNjcmlwdG9yLmgKKysrIC9kZXYv
bnVsbApAQCAtMSw2NCArMCwwIEBACi0vKgotICogQ29weXJpZ2h0IChDKSAyMDE3IEFwcGxlIElu
Yy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLSAqCi0gKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGlu
IHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKLSAqIG1vZGlmaWNhdGlv
biwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwot
ICogYXJlIG1ldDoKLSAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJl
dGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25k
aXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCi0gKiAyLiBSZWRpc3RyaWJ1dGlv
bnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAotICog
ICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNj
bGFpbWVyIGluIHRoZQotICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxz
IHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KLSAqCi0gKiBUSElTIFNPRlRXQVJFIElT
IFBST1ZJREVEIEJZIEFQUExFIElOQy4gYGBBUyBJUycnIEFORCBBTlkKLSAqIEVYUFJFU1MgT1Ig
SU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCi0g
KiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBB
IFBBUlRJQ1VMQVIKLSAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFM
TCBBUFBMRSBJTkMuIE9SCi0gKiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNU
LCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKLSAqIEVYRU1QTEFSWSwgT1IgQ09OU0VR
VUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKLSAqIFBST0NV
UkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRB
LCBPUgotICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNF
RCBBTkQgT04gQU5ZIFRIRU9SWQotICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNU
LCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCi0gKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1Ig
T1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKLSAqIE9GIFRISVMg
U09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1B
R0UuCi0gKi8KLQotI3ByYWdtYSBvbmNlCi0KLSNpZiBFTkFCTEUoV0VCR1BVKQotCi0jaW5jbHVk
ZSA8d3RmL1JlZi5oPgotI2luY2x1ZGUgPHd0Zi9SZWZDb3VudGVkLmg+Ci0KLW5hbWVzcGFjZSBX
ZWJDb3JlIHsKLQotY2xhc3MgR1BVUmVuZGVyUGFzc0F0dGFjaG1lbnREZXNjcmlwdG9yOwotY2xh
c3MgV2ViR1BVVGV4dHVyZTsKLQotY2xhc3MgV2ViR1BVUmVuZGVyUGFzc0F0dGFjaG1lbnREZXNj
cmlwdG9yIDogcHVibGljIFJlZkNvdW50ZWQ8V2ViR1BVUmVuZGVyUGFzc0F0dGFjaG1lbnREZXNj
cmlwdG9yPiB7Ci1wdWJsaWM6Ci0gICAgdmlydHVhbCB+V2ViR1BVUmVuZGVyUGFzc0F0dGFjaG1l
bnREZXNjcmlwdG9yKCk7Ci0KLSAgICB1bnNpZ25lZCBsb2FkQWN0aW9uKCkgY29uc3Q7Ci0gICAg
dm9pZCBzZXRMb2FkQWN0aW9uKHVuc2lnbmVkKTsKLQotICAgIHVuc2lnbmVkIHN0b3JlQWN0aW9u
KCkgY29uc3Q7Ci0gICAgdm9pZCBzZXRTdG9yZUFjdGlvbih1bnNpZ25lZCk7Ci0KLSAgICBXZWJH
UFVUZXh0dXJlKiB0ZXh0dXJlKCkgY29uc3Q7Ci0gICAgdm9pZCBzZXRUZXh0dXJlKFJlZlB0cjxX
ZWJHUFVUZXh0dXJlPiYmKTsKLQotICAgIHZpcnR1YWwgYm9vbCBpc0NvbG9yQXR0YWNobWVudERl
c2NyaXB0b3IoKSBjb25zdCA9IDA7Ci0KLXByb3RlY3RlZDoKLSAgICBXZWJHUFVSZW5kZXJQYXNz
QXR0YWNobWVudERlc2NyaXB0b3IoKTsKLQotcHJpdmF0ZToKLSAgICB2aXJ0dWFsIGNvbnN0IEdQ
VVJlbmRlclBhc3NBdHRhY2htZW50RGVzY3JpcHRvciYgZGVzY3JpcHRvcigpIGNvbnN0ID0gMDsK
LQotICAgIFJlZlB0cjxXZWJHUFVUZXh0dXJlPiBtX3RleHR1cmU7Ci19OwotCi19IC8vIG5hbWVz
cGFjZSBXZWJDb3JlCi0KLSNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9j
YW52YXMvV2ViR1BVUmVuZGVyUGFzc0F0dGFjaG1lbnREZXNjcmlwdG9yLmlkbCBiL1NvdXJjZS9X
ZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdQVVJlbmRlclBhc3NBdHRhY2htZW50RGVzY3JpcHRvci5p
ZGwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGRiODhjZmNiZGM0YjMwMDRjNmQ3ZTBj
MDEwOWQ4YjliYjZkNTRiM2MuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR1BVUmVuZGVyUGFzc0F0dGFj
aG1lbnREZXNjcmlwdG9yLmlkbAorKysgL2Rldi9udWxsCkBAIC0xLDM4ICswLDAgQEAKLS8qCi0g
KiBDb3B5cmlnaHQgKEMpIDIwMTcgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgotICoK
LSAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdp
dGggb3Igd2l0aG91dAotICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRo
YXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCi0gKiBhcmUgbWV0OgotICogMS4gUmVkaXN0cmli
dXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAq
ICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlz
Y2xhaW1lci4KLSAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJv
ZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25k
aXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCi0gKiAgICBkb2N1bWVu
dGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0
aW9uLgotICoKLSAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBgYEFT
IElTJycgQU5EIEFOWQotICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElO
RywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKLSAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJD
SEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgotICogUFVSUE9TRSBBUkUg
RElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IKLSAqIENPTlRSSUJV
VE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVD
SUFMLAotICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywg
QlVUIE5PVCBMSU1JVEVEIFRPLAotICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBP
UiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCi0gKiBQUk9GSVRTOyBPUiBCVVNJTkVT
UyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCi0gKiBPRiBM
SUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQK
LSAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdB
WSBPVVQgT0YgVEhFIFVTRQotICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9G
IFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KLSAqLwotCi1bCi0gICAgQ29uZGl0aW9u
YWw9V0VCR1BVLAotICAgIEVuYWJsZWRBdFJ1bnRpbWU9V2ViR1BVLAotICAgIEN1c3RvbVRvSlNP
YmplY3QKLV0KLWludGVyZmFjZSBXZWJHUFVSZW5kZXJQYXNzQXR0YWNobWVudERlc2NyaXB0b3Ig
ewotCi0gICAgYXR0cmlidXRlIFdlYkdQVVRleHR1cmU/IHRleHR1cmU7Ci0KLSAgICBhdHRyaWJ1
dGUgdW5zaWduZWQgbG9uZyBsb2FkQWN0aW9uOyAvLyBzaG91bGQgYmUgV2ViR1BVTG9hZEFjdGlv
bgotICAgIGF0dHJpYnV0ZSB1bnNpZ25lZCBsb25nIHN0b3JlQWN0aW9uOyAvLyBzaG91bGQgYmUg
V2ViR1BVU3RvcmVBY3Rpb24KLQotfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwv
Y2FudmFzL1dlYkdQVVJlbmRlclBhc3NDb2xvckF0dGFjaG1lbnREZXNjcmlwdG9yLmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdQVVJlbmRlclBhc3NDb2xvckF0dGFjaG1lbnRE
ZXNjcmlwdG9yLmNwcApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMWJiYTEwN2JmNGM5
ODEyMDcxYTQ5MjJiZTUxZGUyOGM2YjIzYTZmZS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHUFVSZW5k
ZXJQYXNzQ29sb3JBdHRhY2htZW50RGVzY3JpcHRvci5jcHAKKysrIC9kZXYvbnVsbApAQCAtMSw2
NiArMCwwIEBACi0vKgotICogQ29weXJpZ2h0IChDKSAyMDE3IEFwcGxlIEluYy4gQWxsIHJpZ2h0
cyByZXNlcnZlZC4KLSAqCi0gKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQg
YmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKLSAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1p
dHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwotICogYXJlIG1ldDoK
LSAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJv
dmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCi0gKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5
IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0
aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRo
ZQotICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdp
dGggdGhlIGRpc3RyaWJ1dGlvbi4KLSAqCi0gKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZ
IEFQUExFIElOQy4gYGBBUyBJUycnIEFORCBBTlkKLSAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJS
QU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCi0gKiBJTVBMSUVEIFdB
UlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIK
LSAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMu
IE9SCi0gKiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwg
SU5DSURFTlRBTCwgU1BFQ0lBTCwKLSAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1B
R0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKLSAqIFBST0NVUkVNRU5UIE9GIFNV
QlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgotICogUFJP
RklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5Z
IFRIRU9SWQotICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElB
QklMSVRZLCBPUiBUT1JUCi0gKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBB
UklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKLSAqIE9GIFRISVMgU09GVFdBUkUsIEVW
RU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCi0gKi8KLQot
I2luY2x1ZGUgImNvbmZpZy5oIgotI2luY2x1ZGUgIldlYkdQVVJlbmRlclBhc3NDb2xvckF0dGFj
aG1lbnREZXNjcmlwdG9yLmgiCi0KLSNpZiBFTkFCTEUoV0VCR1BVKQotCi0jaW5jbHVkZSAiR1BV
VGV4dHVyZS5oIgotI2luY2x1ZGUgIldlYkdQVVRleHR1cmUuaCIKLSNpbmNsdWRlIDx3dGYvVmVj
dG9yLmg+Ci0KLW5hbWVzcGFjZSBXZWJDb3JlIHsKLQotUmVmPFdlYkdQVVJlbmRlclBhc3NDb2xv
ckF0dGFjaG1lbnREZXNjcmlwdG9yPiBXZWJHUFVSZW5kZXJQYXNzQ29sb3JBdHRhY2htZW50RGVz
Y3JpcHRvcjo6Y3JlYXRlKEdQVVJlbmRlclBhc3NDb2xvckF0dGFjaG1lbnREZXNjcmlwdG9yJiYg
ZGVzY3JpcHRvcikKLXsKLSAgICByZXR1cm4gYWRvcHRSZWYoKm5ldyBXZWJHUFVSZW5kZXJQYXNz
Q29sb3JBdHRhY2htZW50RGVzY3JpcHRvcihXVEZNb3ZlKGRlc2NyaXB0b3IpKSk7Ci19Ci0KLVdl
YkdQVVJlbmRlclBhc3NDb2xvckF0dGFjaG1lbnREZXNjcmlwdG9yOjpXZWJHUFVSZW5kZXJQYXNz
Q29sb3JBdHRhY2htZW50RGVzY3JpcHRvcihHUFVSZW5kZXJQYXNzQ29sb3JBdHRhY2htZW50RGVz
Y3JpcHRvciYmIGRlc2NyaXB0b3IpCi0gICAgOiBtX2Rlc2NyaXB0b3IgeyBXVEZNb3ZlKGRlc2Ny
aXB0b3IpIH0KLXsKLX0KLQotV2ViR1BVUmVuZGVyUGFzc0NvbG9yQXR0YWNobWVudERlc2NyaXB0
b3I6On5XZWJHUFVSZW5kZXJQYXNzQ29sb3JBdHRhY2htZW50RGVzY3JpcHRvcigpID0gZGVmYXVs
dDsKLQotY29uc3QgR1BVUmVuZGVyUGFzc0F0dGFjaG1lbnREZXNjcmlwdG9yJiBXZWJHUFVSZW5k
ZXJQYXNzQ29sb3JBdHRhY2htZW50RGVzY3JpcHRvcjo6ZGVzY3JpcHRvcigpIGNvbnN0Ci17Ci0g
ICAgcmV0dXJuIG1fZGVzY3JpcHRvcjsKLX0KLQotVmVjdG9yPGZsb2F0PiBXZWJHUFVSZW5kZXJQ
YXNzQ29sb3JBdHRhY2htZW50RGVzY3JpcHRvcjo6Y2xlYXJDb2xvcigpIGNvbnN0Ci17Ci0gICAg
cmV0dXJuIG1fZGVzY3JpcHRvci5jbGVhckNvbG9yKCk7Ci19Ci0KLXZvaWQgV2ViR1BVUmVuZGVy
UGFzc0NvbG9yQXR0YWNobWVudERlc2NyaXB0b3I6OnNldENsZWFyQ29sb3IoY29uc3QgVmVjdG9y
PGZsb2F0PiYgbmV3Q2xlYXJDb2xvcikKLXsKLSAgICBtX2Rlc2NyaXB0b3Iuc2V0Q2xlYXJDb2xv
cihuZXdDbGVhckNvbG9yKTsKLX0KLQotfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQotCi0jZW5kaWYK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdQVVJlbmRlclBhc3ND
b2xvckF0dGFjaG1lbnREZXNjcmlwdG9yLmggYi9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9X
ZWJHUFVSZW5kZXJQYXNzQ29sb3JBdHRhY2htZW50RGVzY3JpcHRvci5oCmRlbGV0ZWQgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAzYTdlMGE5ZmJmN2ZjYTRmZmRlZTljNWRmYzgzZWQyOTFiNzE2M2Y0
Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL1NvdXJjZS9X
ZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdQVVJlbmRlclBhc3NDb2xvckF0dGFjaG1lbnREZXNjcmlw
dG9yLmgKKysrIC9kZXYvbnVsbApAQCAtMSw1NCArMCwwIEBACi0vKgotICogQ29weXJpZ2h0IChD
KSAyMDE3IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLSAqCi0gKiBSZWRpc3RyaWJ1
dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQK
LSAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dp
bmcgY29uZGl0aW9ucwotICogYXJlIG1ldDoKLSAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3Vy
Y2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRo
aXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCi0gKiAy
LiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3Zl
IGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhl
IGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQotICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Ig
b3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KLSAqCi0gKiBU
SElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gYGBBUyBJUycnIEFORCBBTlkK
LSAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElN
SVRFRCBUTywgVEhFCi0gKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFO
RCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKLSAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJ
TiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SCi0gKiBDT05UUklCVVRPUlMgQkUgTElBQkxF
IEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKLSAqIEVYRU1Q
TEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRF
RCBUTywKLSAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExP
U1MgT0YgVVNFLCBEQVRBLCBPUgotICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9O
KSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQotICogT0YgTElBQklMSVRZLCBXSEVU
SEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCi0gKiAoSU5DTFVESU5H
IE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBV
U0UKLSAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJ
VFkgT0YgU1VDSCBEQU1BR0UuCi0gKi8KLQotI3ByYWdtYSBvbmNlCi0KLSNpZiBFTkFCTEUoV0VC
R1BVKQotCi0jaW5jbHVkZSAiR1BVUmVuZGVyUGFzc0NvbG9yQXR0YWNobWVudERlc2NyaXB0b3Iu
aCIKLSNpbmNsdWRlICJXZWJHUFVSZW5kZXJQYXNzQXR0YWNobWVudERlc2NyaXB0b3IuaCIKLQot
bmFtZXNwYWNlIFdlYkNvcmUgewotCi1jbGFzcyBXZWJHUFVSZW5kZXJQYXNzQ29sb3JBdHRhY2ht
ZW50RGVzY3JpcHRvciBmaW5hbCA6IHB1YmxpYyBXZWJHUFVSZW5kZXJQYXNzQXR0YWNobWVudERl
c2NyaXB0b3IgewotcHVibGljOgotICAgIHZpcnR1YWwgfldlYkdQVVJlbmRlclBhc3NDb2xvckF0
dGFjaG1lbnREZXNjcmlwdG9yKCk7Ci0gICAgc3RhdGljIFJlZjxXZWJHUFVSZW5kZXJQYXNzQ29s
b3JBdHRhY2htZW50RGVzY3JpcHRvcj4gY3JlYXRlKEdQVVJlbmRlclBhc3NDb2xvckF0dGFjaG1l
bnREZXNjcmlwdG9yJiYpOwotCi0gICAgVmVjdG9yPGZsb2F0PiBjbGVhckNvbG9yKCkgY29uc3Q7
Ci0gICAgdm9pZCBzZXRDbGVhckNvbG9yKGNvbnN0IFZlY3RvcjxmbG9hdD4mKTsKLQotcHJpdmF0
ZToKLSAgICBleHBsaWNpdCBXZWJHUFVSZW5kZXJQYXNzQ29sb3JBdHRhY2htZW50RGVzY3JpcHRv
cihHUFVSZW5kZXJQYXNzQ29sb3JBdHRhY2htZW50RGVzY3JpcHRvciYmKTsKLQotICAgIGNvbnN0
IEdQVVJlbmRlclBhc3NBdHRhY2htZW50RGVzY3JpcHRvciYgZGVzY3JpcHRvcigpIGNvbnN0IGZp
bmFsOwotICAgIGJvb2wgaXNDb2xvckF0dGFjaG1lbnREZXNjcmlwdG9yKCkgY29uc3QgZmluYWwg
eyByZXR1cm4gdHJ1ZTsgfQotCi0gICAgR1BVUmVuZGVyUGFzc0NvbG9yQXR0YWNobWVudERlc2Ny
aXB0b3IgbV9kZXNjcmlwdG9yOwotfTsKLSAgICAKLX0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKLQot
I2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHUFVSZW5k
ZXJQYXNzQ29sb3JBdHRhY2htZW50RGVzY3JpcHRvci5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9odG1s
L2NhbnZhcy9XZWJHUFVSZW5kZXJQYXNzQ29sb3JBdHRhY2htZW50RGVzY3JpcHRvci5pZGwKZGVs
ZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGFkNzFkNTYyMGFjZDJjNTUyNTdiYTYwMmFmMmI4
ZGExNThhMTc5M2MuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0t
IGEvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR1BVUmVuZGVyUGFzc0NvbG9yQXR0YWNo
bWVudERlc2NyaXB0b3IuaWRsCisrKyAvZGV2L251bGwKQEAgLTEsMzMgKzAsMCBAQAotLyoKLSAq
IENvcHlyaWdodCAoQykgMjAxNyBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0gKgot
ICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0
aCBvciB3aXRob3V0Ci0gKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhh
dCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKLSAqIGFyZSBtZXQ6Ci0gKiAxLiBSZWRpc3RyaWJ1
dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAotICog
ICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNj
bGFpbWVyLgotICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9k
dWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRp
dGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKLSAqICAgIGRvY3VtZW50
YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRp
b24uCi0gKgotICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIGBgQVMg
SVMnJyBBTkQgQU5ZCi0gKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5H
LCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQotICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNI
QU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCi0gKiBQVVJQT1NFIEFSRSBE
SVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUgotICogQ09OVFJJQlVU
T1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJ
QUwsCi0gKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBC
VVQgTk9UIExJTUlURUQgVE8sCi0gKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9S
IFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKLSAqIFBST0ZJVFM7IE9SIEJVU0lORVNT
IElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKLSAqIE9GIExJ
QUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAot
ICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZ
IE9VVCBPRiBUSEUgVVNFCi0gKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0Yg
VEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgotICovCi0KLVsKLSAgICBDb25kaXRpb25h
bD1XRUJHUFUsCi0gICAgRW5hYmxlZEF0UnVudGltZT1XZWJHUFUKLV0gaW50ZXJmYWNlIFdlYkdQ
VVJlbmRlclBhc3NDb2xvckF0dGFjaG1lbnREZXNjcmlwdG9yIDogV2ViR1BVUmVuZGVyUGFzc0F0
dGFjaG1lbnREZXNjcmlwdG9yIHsKLQotICAgIGF0dHJpYnV0ZSBzZXF1ZW5jZTxmbG9hdD4gY2xl
YXJDb2xvcjsKLQotfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dl
YkdQVVJlbmRlclBhc3NEZXB0aEF0dGFjaG1lbnREZXNjcmlwdG9yLmNwcCBiL1NvdXJjZS9XZWJD
b3JlL2h0bWwvY2FudmFzL1dlYkdQVVJlbmRlclBhc3NEZXB0aEF0dGFjaG1lbnREZXNjcmlwdG9y
LmNwcApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggOGU2ZTVmMjg0ODJhMDJkZDc2NGZi
NTllY2QyZWFlODNmNWE0ZDM5Yi4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHUFVSZW5kZXJQYXNzRGVw
dGhBdHRhY2htZW50RGVzY3JpcHRvci5jcHAKKysrIC9kZXYvbnVsbApAQCAtMSw2NCArMCwwIEBA
Ci0vKgotICogQ29weXJpZ2h0IChDKSAyMDE3IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZl
ZC4KLSAqCi0gKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZv
cm1zLCB3aXRoIG9yIHdpdGhvdXQKLSAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92
aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwotICogYXJlIG1ldDoKLSAqIDEuIFJl
ZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJp
Z2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93
aW5nIGRpc2NsYWltZXIuCi0gKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVz
dCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qg
b2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQotICogICAg
ZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRp
c3RyaWJ1dGlvbi4KLSAqCi0gKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElO
Qy4gYGBBUyBJUycnIEFORCBBTlkKLSAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJ
TkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCi0gKiBJTVBMSUVEIFdBUlJBTlRJRVMg
T0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKLSAqIFBVUlBP
U0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SCi0gKiBD
T05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRB
TCwgU1BFQ0lBTCwKLSAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNM
VURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKLSAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUg
R09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgotICogUFJPRklUUzsgT1Ig
QlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQot
ICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBP
UiBUT1JUCi0gKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElO
IEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKLSAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURW
SVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCi0gKi8KLQotI2luY2x1ZGUg
ImNvbmZpZy5oIgotI2luY2x1ZGUgIldlYkdQVVJlbmRlclBhc3NEZXB0aEF0dGFjaG1lbnREZXNj
cmlwdG9yLmgiCi0KLSNpZiBFTkFCTEUoV0VCR1BVKQotCi0jaW5jbHVkZSAiV2ViR1BVVGV4dHVy
ZS5oIgotCi1uYW1lc3BhY2UgV2ViQ29yZSB7Ci0KLVJlZjxXZWJHUFVSZW5kZXJQYXNzRGVwdGhB
dHRhY2htZW50RGVzY3JpcHRvcj4gV2ViR1BVUmVuZGVyUGFzc0RlcHRoQXR0YWNobWVudERlc2Ny
aXB0b3I6OmNyZWF0ZShHUFVSZW5kZXJQYXNzRGVwdGhBdHRhY2htZW50RGVzY3JpcHRvciYmIGRl
c2NyaXB0b3IpCi17Ci0gICAgcmV0dXJuIGFkb3B0UmVmKCpuZXcgV2ViR1BVUmVuZGVyUGFzc0Rl
cHRoQXR0YWNobWVudERlc2NyaXB0b3IoV1RGTW92ZShkZXNjcmlwdG9yKSkpOwotfQotCi1XZWJH
UFVSZW5kZXJQYXNzRGVwdGhBdHRhY2htZW50RGVzY3JpcHRvcjo6V2ViR1BVUmVuZGVyUGFzc0Rl
cHRoQXR0YWNobWVudERlc2NyaXB0b3IoR1BVUmVuZGVyUGFzc0RlcHRoQXR0YWNobWVudERlc2Ny
aXB0b3ImJiBkZXNjcmlwdG9yKQotICAgIDogbV9kZXNjcmlwdG9yIHsgV1RGTW92ZShkZXNjcmlw
dG9yKSB9Ci17Ci19Ci0KLVdlYkdQVVJlbmRlclBhc3NEZXB0aEF0dGFjaG1lbnREZXNjcmlwdG9y
Ojp+V2ViR1BVUmVuZGVyUGFzc0RlcHRoQXR0YWNobWVudERlc2NyaXB0b3IoKSA9IGRlZmF1bHQ7
Ci0KLWRvdWJsZSBXZWJHUFVSZW5kZXJQYXNzRGVwdGhBdHRhY2htZW50RGVzY3JpcHRvcjo6Y2xl
YXJEZXB0aCgpIGNvbnN0Ci17Ci0gICAgcmV0dXJuIG1fZGVzY3JpcHRvci5jbGVhckRlcHRoKCk7
Ci19Ci0KLXZvaWQgV2ViR1BVUmVuZGVyUGFzc0RlcHRoQXR0YWNobWVudERlc2NyaXB0b3I6OnNl
dENsZWFyRGVwdGgoZG91YmxlIG5ld0NsZWFyRGVwdGgpCi17Ci0gICAgbV9kZXNjcmlwdG9yLnNl
dENsZWFyRGVwdGgobmV3Q2xlYXJEZXB0aCk7Ci19Ci0KLWNvbnN0IEdQVVJlbmRlclBhc3NBdHRh
Y2htZW50RGVzY3JpcHRvciYgV2ViR1BVUmVuZGVyUGFzc0RlcHRoQXR0YWNobWVudERlc2NyaXB0
b3I6OmRlc2NyaXB0b3IoKSBjb25zdAotewotICAgIHJldHVybiBtX2Rlc2NyaXB0b3I7Ci19Ci0K
LX0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKLQotI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9odG1sL2NhbnZhcy9XZWJHUFVSZW5kZXJQYXNzRGVwdGhBdHRhY2htZW50RGVzY3JpcHRv
ci5oIGIvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR1BVUmVuZGVyUGFzc0RlcHRoQXR0
YWNobWVudERlc2NyaXB0b3IuaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDk1N2Iy
YWUxNzVhMGI3YjFiMmI4OTg5OWI3MWYzZGIwOWIxNzk2Zi4uMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJH
UFVSZW5kZXJQYXNzRGVwdGhBdHRhY2htZW50RGVzY3JpcHRvci5oCisrKyAvZGV2L251bGwKQEAg
LTEsNTQgKzAsMCBAQAotLyoKLSAqIENvcHlyaWdodCAoQykgMjAxNyBBcHBsZSBJbmMuIEFsbCBy
aWdodHMgcmVzZXJ2ZWQuCi0gKgotICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2Ug
YW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Ci0gKiBtb2RpZmljYXRpb24sIGFyZSBw
ZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKLSAqIGFyZSBt
ZXQ6Ci0gKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhl
IGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgotICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJp
bmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGlj
ZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBp
biB0aGUKLSAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRl
ZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCi0gKgotICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURF
RCBCWSBBUFBMRSBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCi0gKiBFWFBSRVNTIE9SIElNUExJRUQg
V0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQotICogSU1QTElF
RCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNV
TEFSCi0gKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUg
SU5DLiBPUgotICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJF
Q1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCi0gKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwg
REFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCi0gKiBQUk9DVVJFTUVOVCBP
RiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKLSAq
IFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9O
IEFOWSBUSEVPUlkKLSAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNU
IExJQUJJTElUWSwgT1IgVE9SVAotICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lT
RSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCi0gKiBPRiBUSElTIFNPRlRXQVJF
LCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgotICov
Ci0KLSNwcmFnbWEgb25jZQotCi0jaWYgRU5BQkxFKFdFQkdQVSkKLQotI2luY2x1ZGUgIkdQVVJl
bmRlclBhc3NEZXB0aEF0dGFjaG1lbnREZXNjcmlwdG9yLmgiCi0jaW5jbHVkZSAiV2ViR1BVUmVu
ZGVyUGFzc0F0dGFjaG1lbnREZXNjcmlwdG9yLmgiCi0KLW5hbWVzcGFjZSBXZWJDb3JlIHsKLQot
Y2xhc3MgV2ViR1BVUmVuZGVyUGFzc0RlcHRoQXR0YWNobWVudERlc2NyaXB0b3IgZmluYWwgOiBw
dWJsaWMgV2ViR1BVUmVuZGVyUGFzc0F0dGFjaG1lbnREZXNjcmlwdG9yIHsKLXB1YmxpYzoKLSAg
ICB2aXJ0dWFsIH5XZWJHUFVSZW5kZXJQYXNzRGVwdGhBdHRhY2htZW50RGVzY3JpcHRvcigpOwot
ICAgIHN0YXRpYyBSZWY8V2ViR1BVUmVuZGVyUGFzc0RlcHRoQXR0YWNobWVudERlc2NyaXB0b3I+
IGNyZWF0ZShHUFVSZW5kZXJQYXNzRGVwdGhBdHRhY2htZW50RGVzY3JpcHRvciYmKTsKLQotICAg
IGRvdWJsZSBjbGVhckRlcHRoKCkgY29uc3Q7Ci0gICAgdm9pZCBzZXRDbGVhckRlcHRoKGRvdWJs
ZSk7Ci0KLXByaXZhdGU6Ci0gICAgZXhwbGljaXQgV2ViR1BVUmVuZGVyUGFzc0RlcHRoQXR0YWNo
bWVudERlc2NyaXB0b3IoR1BVUmVuZGVyUGFzc0RlcHRoQXR0YWNobWVudERlc2NyaXB0b3ImJik7
Ci0KLSAgICBjb25zdCBHUFVSZW5kZXJQYXNzQXR0YWNobWVudERlc2NyaXB0b3ImIGRlc2NyaXB0
b3IoKSBjb25zdCBmaW5hbDsKLSAgICBib29sIGlzQ29sb3JBdHRhY2htZW50RGVzY3JpcHRvcigp
IGNvbnN0IGZpbmFsIHsgcmV0dXJuIGZhbHNlOyB9Ci0KLSAgICBHUFVSZW5kZXJQYXNzRGVwdGhB
dHRhY2htZW50RGVzY3JpcHRvciBtX2Rlc2NyaXB0b3I7Ci19OwotICAgIAotfSAvLyBuYW1lc3Bh
Y2UgV2ViQ29yZQotCi0jZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2Fu
dmFzL1dlYkdQVVJlbmRlclBhc3NEZXB0aEF0dGFjaG1lbnREZXNjcmlwdG9yLmlkbCBiL1NvdXJj
ZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdQVVJlbmRlclBhc3NEZXB0aEF0dGFjaG1lbnREZXNj
cmlwdG9yLmlkbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMzAwOGJjZjMzZTg2ODFm
Y2JlM2IxNjVkMjg1ZjVhNzUzNDMyMTcwNy4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHUFVSZW5kZXJQ
YXNzRGVwdGhBdHRhY2htZW50RGVzY3JpcHRvci5pZGwKKysrIC9kZXYvbnVsbApAQCAtMSwzMyAr
MCwwIEBACi0vKgotICogQ29weXJpZ2h0IChDKSAyMDE3IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyBy
ZXNlcnZlZC4KLSAqCi0gKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmlu
YXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKLSAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRl
ZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwotICogYXJlIG1ldDoKLSAq
IDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUg
Y29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUg
Zm9sbG93aW5nIGRpc2NsYWltZXIuCi0gKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZv
cm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlz
IGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQot
ICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGgg
dGhlIGRpc3RyaWJ1dGlvbi4KLSAqCi0gKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQ
UExFIElOQy4gYGBBUyBJUycnIEFORCBBTlkKLSAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5U
SUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCi0gKiBJTVBMSUVEIFdBUlJB
TlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKLSAq
IFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9S
Ci0gKiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5D
SURFTlRBTCwgU1BFQ0lBTCwKLSAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VT
IChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKLSAqIFBST0NVUkVNRU5UIE9GIFNVQlNU
SVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgotICogUFJPRklU
UzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRI
RU9SWQotICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklM
SVRZLCBPUiBUT1JUCi0gKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklT
SU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKLSAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4g
SUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCi0gKi8KLQotWwot
ICAgIENvbmRpdGlvbmFsPVdFQkdQVSwKLSAgICBFbmFibGVkQXRSdW50aW1lPVdlYkdQVQotXSBp
bnRlcmZhY2UgV2ViR1BVUmVuZGVyUGFzc0RlcHRoQXR0YWNobWVudERlc2NyaXB0b3IgOiBXZWJH
UFVSZW5kZXJQYXNzQXR0YWNobWVudERlc2NyaXB0b3IgewotCi0gICAgYXR0cmlidXRlIHVucmVz
dHJpY3RlZCBkb3VibGUgY2xlYXJEZXB0aDsKLQotfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2h0bWwvY2FudmFzL1dlYkdQVVJlbmRlclBhc3NEZXNjcmlwdG9yLmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdQVVJlbmRlclBhc3NEZXNjcmlwdG9yLmNwcApkZWxldGVk
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZTBmNjIwNDhiNDI4YTg2YjM2YjQxYTEyZjExNWYyMzJk
NjRiYzZkYy4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHUFVSZW5kZXJQYXNzRGVzY3JpcHRvci5jcHAK
KysrIC9kZXYvbnVsbApAQCAtMSw2MyArMCwwIEBACi0vKgotICogQ29weXJpZ2h0IChDKSAyMDE3
IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLSAqCi0gKiBSZWRpc3RyaWJ1dGlvbiBh
bmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKLSAqIG1v
ZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29u
ZGl0aW9ucwotICogYXJlIG1ldDoKLSAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29k
ZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlz
dCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCi0gKiAyLiBSZWRp
c3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHly
aWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxv
d2luZyBkaXNjbGFpbWVyIGluIHRoZQotICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIg
bWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KLSAqCi0gKiBUSElTIFNP
RlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gYGBBUyBJUycnIEFORCBBTlkKLSAqIEVY
UFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBU
TywgVEhFCi0gKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRO
RVNTIEZPUiBBIFBBUlRJQ1VMQVIKLSAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBF
VkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SCi0gKiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBB
TlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKLSAqIEVYRU1QTEFSWSwg
T1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywK
LSAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0Yg
VVNFLCBEQVRBLCBPUgotICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dF
VkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQotICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElO
IENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCi0gKiAoSU5DTFVESU5HIE5FR0xJ
R0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKLSAq
IE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0Yg
U1VDSCBEQU1BR0UuCi0gKi8KLQotI2luY2x1ZGUgImNvbmZpZy5oIgotI2luY2x1ZGUgIldlYkdQ
VVJlbmRlclBhc3NEZXNjcmlwdG9yLmgiCi0KLSNpZiBFTkFCTEUoV0VCR1BVKQotCi1uYW1lc3Bh
Y2UgV2ViQ29yZSB7Ci0KLVJlZjxXZWJHUFVSZW5kZXJQYXNzRGVzY3JpcHRvcj4gV2ViR1BVUmVu
ZGVyUGFzc0Rlc2NyaXB0b3I6OmNyZWF0ZSgpCi17Ci0gICAgcmV0dXJuIGFkb3B0UmVmKCpuZXcg
V2ViR1BVUmVuZGVyUGFzc0Rlc2NyaXB0b3IpOwotfQotCi1XZWJHUFVSZW5kZXJQYXNzRGVzY3Jp
cHRvcjo6V2ViR1BVUmVuZGVyUGFzc0Rlc2NyaXB0b3IoKSA9IGRlZmF1bHQ7Ci0KLVdlYkdQVVJl
bmRlclBhc3NEZXNjcmlwdG9yOjp+V2ViR1BVUmVuZGVyUGFzc0Rlc2NyaXB0b3IoKSA9IGRlZmF1
bHQ7Ci0KLVdlYkdQVVJlbmRlclBhc3NEZXB0aEF0dGFjaG1lbnREZXNjcmlwdG9yJiBXZWJHUFVS
ZW5kZXJQYXNzRGVzY3JpcHRvcjo6ZGVwdGhBdHRhY2htZW50KCkKLXsKLSAgICBpZiAoIW1fZGVw
dGhBdHRhY2htZW50KQotICAgICAgICBtX2RlcHRoQXR0YWNobWVudCA9IFdlYkdQVVJlbmRlclBh
c3NEZXB0aEF0dGFjaG1lbnREZXNjcmlwdG9yOjpjcmVhdGUobV9kZXNjcmlwdG9yLmRlcHRoQXR0
YWNobWVudCgpKTsKLSAgICByZXR1cm4gKm1fZGVwdGhBdHRhY2htZW50OwotfQotCi1jb25zdCBW
ZWN0b3I8UmVmUHRyPFdlYkdQVVJlbmRlclBhc3NDb2xvckF0dGFjaG1lbnREZXNjcmlwdG9yPj4m
IFdlYkdQVVJlbmRlclBhc3NEZXNjcmlwdG9yOjpjb2xvckF0dGFjaG1lbnRzKCkKLXsKLSAgICBp
ZiAobV9jb2xvckF0dGFjaG1lbnRzLmlzRW1wdHkoKSkgewotICAgICAgICBhdXRvIGF0dGFjaG1l
bnRzID0gbV9kZXNjcmlwdG9yLmNvbG9yQXR0YWNobWVudHMoKTsKLSAgICAgICAgQVNTRVJUKCFh
dHRhY2htZW50cy5pc0VtcHR5KCkpOwotICAgICAgICBtX2NvbG9yQXR0YWNobWVudHMucmVzZXJ2
ZUluaXRpYWxDYXBhY2l0eShhdHRhY2htZW50cy5zaXplKCkpOwotICAgICAgICBmb3IgKGF1dG8m
IGF0dGFjaG1lbnQgOiBhdHRhY2htZW50cykKLSAgICAgICAgICAgIG1fY29sb3JBdHRhY2htZW50
cy51bmNoZWNrZWRBcHBlbmQoV2ViR1BVUmVuZGVyUGFzc0NvbG9yQXR0YWNobWVudERlc2NyaXB0
b3I6OmNyZWF0ZShXVEZNb3ZlKGF0dGFjaG1lbnQpKSk7Ci0gICAgfQotICAgIHJldHVybiBtX2Nv
bG9yQXR0YWNobWVudHM7Ci19Ci0KLX0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKLQotI2VuZGlmCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHUFVSZW5kZXJQYXNzRGVz
Y3JpcHRvci5oIGIvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR1BVUmVuZGVyUGFzc0Rl
c2NyaXB0b3IuaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZDMyZDFmYTkyYjM4ZDA2
MWJkZjA3M2NkZjViOGU4NDZkYTI3NzM5ZS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHUFVSZW5kZXJQ
YXNzRGVzY3JpcHRvci5oCisrKyAvZGV2L251bGwKQEAgLTEsNjAgKzAsMCBAQAotLyoKLSAqIENv
cHlyaWdodCAoQykgMjAxNyBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0gKgotICog
UmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBv
ciB3aXRob3V0Ci0gKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0
aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKLSAqIGFyZSBtZXQ6Ci0gKiAxLiBSZWRpc3RyaWJ1dGlv
bnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAg
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFp
bWVyLgotICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNl
IHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlv
bnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKLSAqICAgIGRvY3VtZW50YXRp
b24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24u
Ci0gKgotICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIGBgQVMgSVMn
JyBBTkQgQU5ZCi0gKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBC
VVQgTk9UIExJTUlURUQgVE8sIFRIRQotICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5U
QUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCi0gKiBQVVJQT1NFIEFSRSBESVND
TEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUgotICogQ09OVFJJQlVUT1JT
IEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUws
Ci0gKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQg
Tk9UIExJTUlURUQgVE8sCi0gKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNF
UlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKLSAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElO
VEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKLSAqIE9GIExJQUJJ
TElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAotICog
KElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9V
VCBPRiBUSEUgVVNFCi0gKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhF
IFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgotICovCi0KLSNwcmFnbWEgb25jZQotCi0jaWYg
RU5BQkxFKFdFQkdQVSkKLQotI2luY2x1ZGUgIkdQVVJlbmRlclBhc3NEZXNjcmlwdG9yLmgiCi0j
aW5jbHVkZSAiV2ViR1BVUmVuZGVyUGFzc0NvbG9yQXR0YWNobWVudERlc2NyaXB0b3IuaCIKLSNp
bmNsdWRlICJXZWJHUFVSZW5kZXJQYXNzRGVwdGhBdHRhY2htZW50RGVzY3JpcHRvci5oIgotI2lu
Y2x1ZGUgPHd0Zi9SZWYuaD4KLSNpbmNsdWRlIDx3dGYvUmVmQ291bnRlZC5oPgotI2luY2x1ZGUg
PHd0Zi9WZWN0b3IuaD4KLQotbmFtZXNwYWNlIFdlYkNvcmUgewotCi1jbGFzcyBXZWJHUFVSZW5k
ZXJQYXNzRGVzY3JpcHRvciA6IHB1YmxpYyBSZWZDb3VudGVkPFdlYkdQVVJlbmRlclBhc3NEZXNj
cmlwdG9yPiB7Ci1wdWJsaWM6Ci0gICAgfldlYkdQVVJlbmRlclBhc3NEZXNjcmlwdG9yKCk7Ci0g
ICAgc3RhdGljIFJlZjxXZWJHUFVSZW5kZXJQYXNzRGVzY3JpcHRvcj4gY3JlYXRlKCk7Ci0KLSAg
ICBXZWJHUFVSZW5kZXJQYXNzRGVwdGhBdHRhY2htZW50RGVzY3JpcHRvciYgZGVwdGhBdHRhY2ht
ZW50KCk7Ci0gICAgY29uc3QgVmVjdG9yPFJlZlB0cjxXZWJHUFVSZW5kZXJQYXNzQ29sb3JBdHRh
Y2htZW50RGVzY3JpcHRvcj4+JiBjb2xvckF0dGFjaG1lbnRzKCk7Ci0KLSAgICBjb25zdCBHUFVS
ZW5kZXJQYXNzRGVzY3JpcHRvciYgZGVzY3JpcHRvcigpIGNvbnN0IHsgcmV0dXJuIG1fZGVzY3Jp
cHRvcjsgfQotCi1wcml2YXRlOgotICAgIFdlYkdQVVJlbmRlclBhc3NEZXNjcmlwdG9yKCk7Ci0K
LSAgICBWZWN0b3I8UmVmUHRyPFdlYkdQVVJlbmRlclBhc3NDb2xvckF0dGFjaG1lbnREZXNjcmlw
dG9yPj4gbV9jb2xvckF0dGFjaG1lbnRzOwotICAgIFJlZlB0cjxXZWJHUFVSZW5kZXJQYXNzRGVw
dGhBdHRhY2htZW50RGVzY3JpcHRvcj4gbV9kZXB0aEF0dGFjaG1lbnQ7Ci0KLSAgICBHUFVSZW5k
ZXJQYXNzRGVzY3JpcHRvciBtX2Rlc2NyaXB0b3I7Ci19OwotICAgIAotfSAvLyBuYW1lc3BhY2Ug
V2ViQ29yZQotCi0jZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFz
L1dlYkdQVVJlbmRlclBhc3NEZXNjcmlwdG9yLmlkbCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2Fu
dmFzL1dlYkdQVVJlbmRlclBhc3NEZXNjcmlwdG9yLmlkbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggZDUxYzdkZGQyMzU1MWMzZDhjNWFmMWJjMmQ0YWYzMGY3OTgzNTU3YS4uMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9o
dG1sL2NhbnZhcy9XZWJHUFVSZW5kZXJQYXNzRGVzY3JpcHRvci5pZGwKKysrIC9kZXYvbnVsbApA
QCAtMSw0MCArMCwwIEBACi0vKgotICogQ29weXJpZ2h0IChDKSAyMDE3IEFwcGxlIEluYy4gQWxs
IHJpZ2h0cyByZXNlcnZlZC4KLSAqCi0gKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJj
ZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKLSAqIG1vZGlmaWNhdGlvbiwgYXJl
IHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwotICogYXJl
IG1ldDoKLSAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0
aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25z
IGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCi0gKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4g
YmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
IGluIHRoZQotICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3Zp
ZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KLSAqCi0gKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJ
REVEIEJZIEFQUExFIElOQy4gYGBBUyBJUycnIEFORCBBTlkKLSAqIEVYUFJFU1MgT1IgSU1QTElF
RCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCi0gKiBJTVBM
SUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJ
Q1VMQVIKLSAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBM
RSBJTkMuIE9SCi0gKiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJ
UkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKLSAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElB
TCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKLSAqIFBST0NVUkVNRU5U
IE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgot
ICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQg
T04gQU5ZIFRIRU9SWQotICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJ
Q1QgTElBQklMSVRZLCBPUiBUT1JUCi0gKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJX
SVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKLSAqIE9GIFRISVMgU09GVFdB
UkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCi0g
Ki8KLQotWwotICAgIENvbnN0cnVjdG9yLAotICAgIENvbmRpdGlvbmFsPVdFQkdQVSwKLSAgICBF
bmFibGVkQXRSdW50aW1lPVdlYkdQVSwKLSAgICBJbXBsZW1lbnRhdGlvbkxhY2tzVlRhYmxlCi1d
IGludGVyZmFjZSBXZWJHUFVSZW5kZXJQYXNzRGVzY3JpcHRvciB7Ci0KLSAgICByZWFkb25seSBh
dHRyaWJ1dGUgc2VxdWVuY2U8V2ViR1BVUmVuZGVyUGFzc0NvbG9yQXR0YWNobWVudERlc2NyaXB0
b3I+IGNvbG9yQXR0YWNobWVudHM7Ci0gICAgcmVhZG9ubHkgYXR0cmlidXRlIFdlYkdQVVJlbmRl
clBhc3NEZXB0aEF0dGFjaG1lbnREZXNjcmlwdG9yIGRlcHRoQXR0YWNobWVudDsKLSAgICAvL3Jl
YWRvbmx5IGF0dHJpYnV0ZSBXZWJHUFVSZW5kZXJQYXNzU3RlbmNpbEF0dGFjaG1lbnREZXNjcmlw
dG9yIHN0ZW5jaWxBdHRhY2htZW50OwotCi0gICAgLy8gcmVuZGVyVGFyZ2V0QXJyYXlMZW5ndGgK
LSAgICAvLyB2aXNpYmlsaXR5UmVzdWx0QnVmZmVyCi0KLX07CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHUFVSZW5kZXJQaXBlbGluZUNvbG9yQXR0YWNobWVudERl
c2NyaXB0b3IuY3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR1BVUmVuZGVyUGlw
ZWxpbmVDb2xvckF0dGFjaG1lbnREZXNjcmlwdG9yLmNwcApkZWxldGVkIGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggNjZjYWM2YjUwN2Y0MzA0NDgzNGZjZWZhODY0YzI2ZGM5ODM3NzFhYy4uMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9o
dG1sL2NhbnZhcy9XZWJHUFVSZW5kZXJQaXBlbGluZUNvbG9yQXR0YWNobWVudERlc2NyaXB0b3Iu
Y3BwCisrKyAvZGV2L251bGwKQEAgLTEsNTUgKzAsMCBAQAotLyoKLSAqIENvcHlyaWdodCAoQykg
MjAxNyBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0gKgotICogUmVkaXN0cmlidXRp
b24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Ci0g
KiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5n
IGNvbmRpdGlvbnMKLSAqIGFyZSBtZXQ6Ci0gKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNl
IGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlz
IGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgotICogMi4g
UmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBj
b3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBm
b2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKLSAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90
aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCi0gKgotICogVEhJ
UyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCi0g
KiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlU
RUQgVE8sIFRIRQotICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQg
RklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCi0gKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4g
Tk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUgotICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBG
T1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCi0gKiBFWEVNUExB
UlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQg
VE8sCi0gKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NT
IE9GIFVTRSwgREFUQSwgT1IKLSAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikg
SE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKLSAqIE9GIExJQUJJTElUWSwgV0hFVEhF
UiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAotICogKElOQ0xVRElORyBO
RUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNF
Ci0gKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZ
IE9GIFNVQ0ggREFNQUdFLgotICovCi0KLSNpbmNsdWRlICJjb25maWcuaCIKLSNpbmNsdWRlICJX
ZWJHUFVSZW5kZXJQaXBlbGluZUNvbG9yQXR0YWNobWVudERlc2NyaXB0b3IuaCIKLQotI2lmIEVO
QUJMRShXRUJHUFUpCi0KLW5hbWVzcGFjZSBXZWJDb3JlIHsKLQotUmVmPFdlYkdQVVJlbmRlclBp
cGVsaW5lQ29sb3JBdHRhY2htZW50RGVzY3JpcHRvcj4gV2ViR1BVUmVuZGVyUGlwZWxpbmVDb2xv
ckF0dGFjaG1lbnREZXNjcmlwdG9yOjpjcmVhdGUoR1BVUmVuZGVyUGlwZWxpbmVDb2xvckF0dGFj
aG1lbnREZXNjcmlwdG9yJiYgZGVzY3JpcHRvcikKLXsKLSAgICByZXR1cm4gYWRvcHRSZWYoKm5l
dyBXZWJHUFVSZW5kZXJQaXBlbGluZUNvbG9yQXR0YWNobWVudERlc2NyaXB0b3IoV1RGTW92ZShk
ZXNjcmlwdG9yKSkpOwotfQotCi1XZWJHUFVSZW5kZXJQaXBlbGluZUNvbG9yQXR0YWNobWVudERl
c2NyaXB0b3I6OldlYkdQVVJlbmRlclBpcGVsaW5lQ29sb3JBdHRhY2htZW50RGVzY3JpcHRvcihH
UFVSZW5kZXJQaXBlbGluZUNvbG9yQXR0YWNobWVudERlc2NyaXB0b3ImJiBkZXNjcmlwdG9yKQot
ICAgIDogbV9kZXNjcmlwdG9yIHsgV1RGTW92ZShkZXNjcmlwdG9yKSB9Ci17Ci19Ci0KLXVuc2ln
bmVkIFdlYkdQVVJlbmRlclBpcGVsaW5lQ29sb3JBdHRhY2htZW50RGVzY3JpcHRvcjo6cGl4ZWxG
b3JtYXQoKSBjb25zdAotewotICAgIHJldHVybiBtX2Rlc2NyaXB0b3IucGl4ZWxGb3JtYXQoKTsK
LX0KLQotdm9pZCBXZWJHUFVSZW5kZXJQaXBlbGluZUNvbG9yQXR0YWNobWVudERlc2NyaXB0b3I6
OnNldFBpeGVsRm9ybWF0KHVuc2lnbmVkIG5ld1BpeGVsRm9ybWF0KQotewotICAgIG1fZGVzY3Jp
cHRvci5zZXRQaXhlbEZvcm1hdChuZXdQaXhlbEZvcm1hdCk7Ci19Ci0KLX0gLy8gbmFtZXNwYWNl
IFdlYkNvcmUKLQotI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZh
cy9XZWJHUFVSZW5kZXJQaXBlbGluZUNvbG9yQXR0YWNobWVudERlc2NyaXB0b3IuaCBiL1NvdXJj
ZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdQVVJlbmRlclBpcGVsaW5lQ29sb3JBdHRhY2htZW50
RGVzY3JpcHRvci5oCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBjNjAyNTU2YjExMzcy
NmJhM2EzNzQ2MjdmNDY2NzhhM2M5ZTMzM2QwLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwCi0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdQVVJlbmRl
clBpcGVsaW5lQ29sb3JBdHRhY2htZW50RGVzY3JpcHRvci5oCisrKyAvZGV2L251bGwKQEAgLTEs
NTEgKzAsMCBAQAotLyoKLSAqIENvcHlyaWdodCAoQykgMjAxNyBBcHBsZSBJbmMuIEFsbCByaWdo
dHMgcmVzZXJ2ZWQuCi0gKgotICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5k
IGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Ci0gKiBtb2RpZmljYXRpb24sIGFyZSBwZXJt
aXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKLSAqIGFyZSBtZXQ6
Ci0gKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFi
b3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQg
dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgotICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFy
eSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwg
dGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0
aGUKLSAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3
aXRoIHRoZSBkaXN0cmlidXRpb24uCi0gKgotICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBC
WSBBUFBMRSBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCi0gKiBFWFBSRVNTIE9SIElNUExJRUQgV0FS
UkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQotICogSU1QTElFRCBX
QVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFS
Ci0gKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5D
LiBPUgotICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1Qs
IElOQ0lERU5UQUwsIFNQRUNJQUwsCi0gKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFN
QUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCi0gKiBQUk9DVVJFTUVOVCBPRiBT
VUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKLSAqIFBS
T0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFO
WSBUSEVPUlkKLSAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJ
QUJJTElUWSwgT1IgVE9SVAotICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkg
QVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCi0gKiBPRiBUSElTIFNPRlRXQVJFLCBF
VkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgotICovCi0K
LSNwcmFnbWEgb25jZQotCi0jaWYgRU5BQkxFKFdFQkdQVSkKLQotI2luY2x1ZGUgIkdQVVJlbmRl
clBpcGVsaW5lQ29sb3JBdHRhY2htZW50RGVzY3JpcHRvci5oIgotI2luY2x1ZGUgPHd0Zi9SZWYu
aD4KLSNpbmNsdWRlIDx3dGYvUmVmQ291bnRlZC5oPgotCi1uYW1lc3BhY2UgV2ViQ29yZSB7Ci0K
LWNsYXNzIFdlYkdQVVJlbmRlclBpcGVsaW5lQ29sb3JBdHRhY2htZW50RGVzY3JpcHRvciA6IHB1
YmxpYyBSZWZDb3VudGVkPFdlYkdQVVJlbmRlclBpcGVsaW5lQ29sb3JBdHRhY2htZW50RGVzY3Jp
cHRvcj4gewotcHVibGljOgotICAgIHN0YXRpYyBSZWY8V2ViR1BVUmVuZGVyUGlwZWxpbmVDb2xv
ckF0dGFjaG1lbnREZXNjcmlwdG9yPiBjcmVhdGUoR1BVUmVuZGVyUGlwZWxpbmVDb2xvckF0dGFj
aG1lbnREZXNjcmlwdG9yJiYpOwotCi0gICAgdW5zaWduZWQgcGl4ZWxGb3JtYXQoKSBjb25zdDsK
LSAgICB2b2lkIHNldFBpeGVsRm9ybWF0KHVuc2lnbmVkKTsKLQotcHJpdmF0ZToKLSAgICBleHBs
aWNpdCBXZWJHUFVSZW5kZXJQaXBlbGluZUNvbG9yQXR0YWNobWVudERlc2NyaXB0b3IoR1BVUmVu
ZGVyUGlwZWxpbmVDb2xvckF0dGFjaG1lbnREZXNjcmlwdG9yJiYpOwotCi0gICAgR1BVUmVuZGVy
UGlwZWxpbmVDb2xvckF0dGFjaG1lbnREZXNjcmlwdG9yIG1fZGVzY3JpcHRvcjsKLX07Ci0gICAg
Ci19IC8vIG5hbWVzcGFjZSBXZWJDb3JlCi0KLSNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvaHRtbC9jYW52YXMvV2ViR1BVUmVuZGVyUGlwZWxpbmVDb2xvckF0dGFjaG1lbnREZXNj
cmlwdG9yLmlkbCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdQVVJlbmRlclBpcGVs
aW5lQ29sb3JBdHRhY2htZW50RGVzY3JpcHRvci5pZGwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IGIzMTQ5M2E3YjY5YjBlMzk3M2JjN2FmNmFkYjg4ODk1MDQ0MTkwN2MuLjAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRt
bC9jYW52YXMvV2ViR1BVUmVuZGVyUGlwZWxpbmVDb2xvckF0dGFjaG1lbnREZXNjcmlwdG9yLmlk
bAorKysgL2Rldi9udWxsCkBAIC0xLDM0ICswLDAgQEAKLS8qCi0gKiBDb3B5cmlnaHQgKEMpIDIw
MTcgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgotICoKLSAqIFJlZGlzdHJpYnV0aW9u
IGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAotICog
bW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBj
b25kaXRpb25zCi0gKiBhcmUgbWV0OgotICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBj
b2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBs
aXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KLSAqIDIuIFJl
ZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29w
eXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9s
bG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCi0gKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhl
ciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgotICoKLSAqIFRISVMg
U09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBgYEFTIElTJycgQU5EIEFOWQotICog
RVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVE
IFRPLCBUSEUKLSAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJ
VE5FU1MgRk9SIEEgUEFSVElDVUxBUgotICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5P
IEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IKLSAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9S
IEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAotICogRVhFTVBMQVJZ
LCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRP
LAotICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBP
RiBVU0UsIERBVEEsIE9SCi0gKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhP
V0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCi0gKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIg
SU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKLSAqIChJTkNMVURJTkcgTkVH
TElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQot
ICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBP
RiBTVUNIIERBTUFHRS4KLSAqLwotCi1bCi0gICAgQ29uZGl0aW9uYWw9V0VCR1BVLAotICAgIEVu
YWJsZWRBdFJ1bnRpbWU9V2ViR1BVLAotICAgIEltcGxlbWVudGF0aW9uTGFja3NWVGFibGUKLV0g
aW50ZXJmYWNlIFdlYkdQVVJlbmRlclBpcGVsaW5lQ29sb3JBdHRhY2htZW50RGVzY3JpcHRvciB7
Ci0KLSAgICBhdHRyaWJ1dGUgdW5zaWduZWQgbG9uZyBwaXhlbEZvcm1hdDsgLy8gc2hvdWxkIGJl
IE1UTFBpeGVsRm9ybWF0Ci0KLX07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL2Nh
bnZhcy9XZWJHUFVSZW5kZXJQaXBlbGluZURlc2NyaXB0b3IuY3BwIGIvU291cmNlL1dlYkNvcmUv
aHRtbC9jYW52YXMvV2ViR1BVUmVuZGVyUGlwZWxpbmVEZXNjcmlwdG9yLmNwcApkZWxldGVkIGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggYzJhMDQ4MDgwNmQ0Njc1Y2E4M2VlODk2N2Y5ZTc4ZGM4YzE3
OTc1ZS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHUFVSZW5kZXJQaXBlbGluZURlc2NyaXB0b3IuY3Bw
CisrKyAvZGV2L251bGwKQEAgLTEsMTEwICswLDAgQEAKLS8qCi0gKiBDb3B5cmlnaHQgKEMpIDIw
MTcgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgotICoKLSAqIFJlZGlzdHJpYnV0aW9u
IGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAotICog
bW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBj
b25kaXRpb25zCi0gKiBhcmUgbWV0OgotICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBj
b2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBs
aXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KLSAqIDIuIFJl
ZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29w
eXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9s
bG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCi0gKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhl
ciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgotICoKLSAqIFRISVMg
U09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBgYEFTIElTJycgQU5EIEFOWQotICog
RVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVE
IFRPLCBUSEUKLSAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJ
VE5FU1MgRk9SIEEgUEFSVElDVUxBUgotICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5P
IEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IKLSAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9S
IEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAotICogRVhFTVBMQVJZ
LCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRP
LAotICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBP
RiBVU0UsIERBVEEsIE9SCi0gKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhP
V0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCi0gKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIg
SU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKLSAqIChJTkNMVURJTkcgTkVH
TElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQot
ICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBP
RiBTVUNIIERBTUFHRS4KLSAqLwotCi0jaW5jbHVkZSAiY29uZmlnLmgiCi0jaW5jbHVkZSAiV2Vi
R1BVUmVuZGVyUGlwZWxpbmVEZXNjcmlwdG9yLmgiCi0KLSNpZiBFTkFCTEUoV0VCR1BVKQotCi0j
aW5jbHVkZSAiR1BVRnVuY3Rpb24uaCIKLSNpbmNsdWRlICJHUFVSZW5kZXJQaXBlbGluZUNvbG9y
QXR0YWNobWVudERlc2NyaXB0b3IuaCIKLSNpbmNsdWRlICJXZWJHUFVGdW5jdGlvbi5oIgotI2lu
Y2x1ZGUgIldlYkdQVVJlbmRlclBpcGVsaW5lQ29sb3JBdHRhY2htZW50RGVzY3JpcHRvci5oIgot
Ci1uYW1lc3BhY2UgV2ViQ29yZSB7Ci0KLVJlZjxXZWJHUFVSZW5kZXJQaXBlbGluZURlc2NyaXB0
b3I+IFdlYkdQVVJlbmRlclBpcGVsaW5lRGVzY3JpcHRvcjo6Y3JlYXRlKCkKLXsKLSAgICByZXR1
cm4gYWRvcHRSZWYoKm5ldyBXZWJHUFVSZW5kZXJQaXBlbGluZURlc2NyaXB0b3IpOwotfQotCi1X
ZWJHUFVSZW5kZXJQaXBlbGluZURlc2NyaXB0b3I6OldlYkdQVVJlbmRlclBpcGVsaW5lRGVzY3Jp
cHRvcigpID0gZGVmYXVsdDsKLQotV2ViR1BVUmVuZGVyUGlwZWxpbmVEZXNjcmlwdG9yOjp+V2Vi
R1BVUmVuZGVyUGlwZWxpbmVEZXNjcmlwdG9yKCkgPSBkZWZhdWx0OwotCi1XZWJHUFVGdW5jdGlv
biogV2ViR1BVUmVuZGVyUGlwZWxpbmVEZXNjcmlwdG9yOjp2ZXJ0ZXhGdW5jdGlvbigpIGNvbnN0
Ci17Ci0gICAgcmV0dXJuIG1fdmVydGV4RnVuY3Rpb24uZ2V0KCk7Ci19Ci0KLXZvaWQgV2ViR1BV
UmVuZGVyUGlwZWxpbmVEZXNjcmlwdG9yOjpzZXRWZXJ0ZXhGdW5jdGlvbihSZWZQdHI8V2ViR1BV
RnVuY3Rpb24+JiYgbmV3VmVydGV4RnVuY3Rpb24pCi17Ci0gICAgLy8gRklYTUU6IFdoeSBjYW4n
dCB3ZSBzZXQgdGhpcyB0byBudWxsPwotICAgIGlmICghbmV3VmVydGV4RnVuY3Rpb24pCi0gICAg
ICAgIHJldHVybjsKLQotICAgIG1fdmVydGV4RnVuY3Rpb24gPSBXVEZNb3ZlKG5ld1ZlcnRleEZ1
bmN0aW9uKTsKLQotICAgIG1fZGVzY3JpcHRvci5zZXRWZXJ0ZXhGdW5jdGlvbihtX3ZlcnRleEZ1
bmN0aW9uLT5mdW5jdGlvbigpKTsKLX0KLQotV2ViR1BVRnVuY3Rpb24qIFdlYkdQVVJlbmRlclBp
cGVsaW5lRGVzY3JpcHRvcjo6ZnJhZ21lbnRGdW5jdGlvbigpIGNvbnN0Ci17Ci0gICAgcmV0dXJu
IG1fZnJhZ21lbnRGdW5jdGlvbi5nZXQoKTsKLX0KLQotdm9pZCBXZWJHUFVSZW5kZXJQaXBlbGlu
ZURlc2NyaXB0b3I6OnNldEZyYWdtZW50RnVuY3Rpb24oUmVmUHRyPFdlYkdQVUZ1bmN0aW9uPiYm
IG5ld0ZyYWdtZW50RnVuY3Rpb24pCi17Ci0gICAgLy8gRklYTUU6IFdoeSBjYW4ndCB3ZSBzZXQg
dGhpcyB0byBudWxsPwotICAgIGlmICghbmV3RnJhZ21lbnRGdW5jdGlvbikKLSAgICAgICAgcmV0
dXJuOwotCi0gICAgbV9mcmFnbWVudEZ1bmN0aW9uID0gV1RGTW92ZShuZXdGcmFnbWVudEZ1bmN0
aW9uKTsKLQotICAgIG1fZGVzY3JpcHRvci5zZXRGcmFnbWVudEZ1bmN0aW9uKG1fZnJhZ21lbnRG
dW5jdGlvbi0+ZnVuY3Rpb24oKSk7Ci19Ci0KLWNvbnN0IFZlY3RvcjxSZWZQdHI8V2ViR1BVUmVu
ZGVyUGlwZWxpbmVDb2xvckF0dGFjaG1lbnREZXNjcmlwdG9yPj4mIFdlYkdQVVJlbmRlclBpcGVs
aW5lRGVzY3JpcHRvcjo6Y29sb3JBdHRhY2htZW50cygpCi17Ci0gICAgaWYgKCFtX2NvbG9yQXR0
YWNobWVudHMuc2l6ZSgpKSB7Ci0gICAgICAgIGF1dG8gYXR0YWNobWVudHMgPSBtX2Rlc2NyaXB0
b3IuY29sb3JBdHRhY2htZW50cygpOwotICAgICAgICBtX2NvbG9yQXR0YWNobWVudHMucmVzZXJ2
ZUluaXRpYWxDYXBhY2l0eShhdHRhY2htZW50cy5zaXplKCkpOwotICAgICAgICBmb3IgKGF1dG8m
IGF0dGFjaG1lbnQgOiBhdHRhY2htZW50cykKLSAgICAgICAgICAgIG1fY29sb3JBdHRhY2htZW50
cy51bmNoZWNrZWRBcHBlbmQoV2ViR1BVUmVuZGVyUGlwZWxpbmVDb2xvckF0dGFjaG1lbnREZXNj
cmlwdG9yOjpjcmVhdGUoV1RGTW92ZShhdHRhY2htZW50KSkpOwotICAgIH0KLSAgICByZXR1cm4g
bV9jb2xvckF0dGFjaG1lbnRzOwotfQotCi11bnNpZ25lZCBXZWJHUFVSZW5kZXJQaXBlbGluZURl
c2NyaXB0b3I6OmRlcHRoQXR0YWNobWVudFBpeGVsRm9ybWF0KCkgY29uc3QKLXsKLSAgICByZXR1
cm4gbV9kZXNjcmlwdG9yLmRlcHRoQXR0YWNobWVudFBpeGVsRm9ybWF0KCk7Ci19Ci0KLXZvaWQg
V2ViR1BVUmVuZGVyUGlwZWxpbmVEZXNjcmlwdG9yOjpzZXREZXB0aEF0dGFjaG1lbnRQaXhlbEZv
cm1hdCh1bnNpZ25lZCBuZXdQaXhlbEZvcm1hdCkKLXsKLSAgICBtX2Rlc2NyaXB0b3Iuc2V0RGVw
dGhBdHRhY2htZW50UGl4ZWxGb3JtYXQobmV3UGl4ZWxGb3JtYXQpOwotfQotCi12b2lkIFdlYkdQ
VVJlbmRlclBpcGVsaW5lRGVzY3JpcHRvcjo6cmVzZXQoKQotewotICAgIG1fdmVydGV4RnVuY3Rp
b24gPSBudWxscHRyOwotICAgIG1fZnJhZ21lbnRGdW5jdGlvbiA9IG51bGxwdHI7Ci0KLSAgICAv
LyBGSVhNRTogV2h5IGRvZXNuJ3QgdGhpcyBjbGVhciBvdXQgdGhlIGZ1bmN0aW9ucyBvbiBtX2Rl
c2NyaXB0b3I/Ci19Ci0KLX0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKLQotI2VuZGlmCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHUFVSZW5kZXJQaXBlbGluZURlc2Ny
aXB0b3IuaCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdQVVJlbmRlclBpcGVsaW5l
RGVzY3JpcHRvci5oCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAzODM0ZjhkYzMyNjMz
YjMxNGMxYWZjMWM1MjYwZjM1ZTAzODNhNTYxLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwCi0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdQVVJlbmRl
clBpcGVsaW5lRGVzY3JpcHRvci5oCisrKyAvZGV2L251bGwKQEAgLTEsNzYgKzAsMCBAQAotLyoK
LSAqIENvcHlyaWdodCAoQykgMjAxNyBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0g
KgotICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywg
d2l0aCBvciB3aXRob3V0Ci0gKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQg
dGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKLSAqIGFyZSBtZXQ6Ci0gKiAxLiBSZWRpc3Ry
aWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAot
ICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBk
aXNjbGFpbWVyLgotICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVw
cm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNv
bmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKLSAqICAgIGRvY3Vt
ZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmli
dXRpb24uCi0gKgotICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIGBg
QVMgSVMnJyBBTkQgQU5ZCi0gKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVE
SU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQotICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1F
UkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCi0gKiBQVVJQT1NFIEFS
RSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUgotICogQ09OVFJJ
QlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQ
RUNJQUwsCi0gKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5H
LCBCVVQgTk9UIExJTUlURUQgVE8sCi0gKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RT
IE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKLSAqIFBST0ZJVFM7IE9SIEJVU0lO
RVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKLSAqIE9G
IExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9S
VAotICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkg
V0FZIE9VVCBPRiBUSEUgVVNFCi0gKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQg
T0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgotICovCi0KLSNwcmFnbWEgb25jZQot
Ci0jaWYgRU5BQkxFKFdFQkdQVSkKLQotI2luY2x1ZGUgIkdQVVJlbmRlclBpcGVsaW5lRGVzY3Jp
cHRvci5oIgotI2luY2x1ZGUgIldlYkdQVVJlbmRlclBpcGVsaW5lQ29sb3JBdHRhY2htZW50RGVz
Y3JpcHRvci5oIgotI2luY2x1ZGUgPHd0Zi9SZWYuaD4KLSNpbmNsdWRlIDx3dGYvUmVmQ291bnRl
ZC5oPgotI2luY2x1ZGUgPHd0Zi9WZWN0b3IuaD4KLQotbmFtZXNwYWNlIFdlYkNvcmUgewotCi1j
bGFzcyBHUFVGdW5jdGlvbjsKLWNsYXNzIEdQVVJlbmRlclBpcGVsaW5lRGVzY3JpcHRvcjsKLWNs
YXNzIFdlYkdQVUZ1bmN0aW9uOwotY2xhc3MgV2ViR1BVUmVuZGVyUGlwZWxpbmVDb2xvckF0dGFj
aG1lbnREZXNjcmlwdG9yOwotCi1jbGFzcyBXZWJHUFVSZW5kZXJQaXBlbGluZURlc2NyaXB0b3Ig
OiBwdWJsaWMgUmVmQ291bnRlZDxXZWJHUFVSZW5kZXJQaXBlbGluZURlc2NyaXB0b3I+IHsKLXB1
YmxpYzoKLSAgICB+V2ViR1BVUmVuZGVyUGlwZWxpbmVEZXNjcmlwdG9yKCk7Ci0gICAgc3RhdGlj
IFJlZjxXZWJHUFVSZW5kZXJQaXBlbGluZURlc2NyaXB0b3I+IGNyZWF0ZSgpOwotCi0gICAgV2Vi
R1BVRnVuY3Rpb24qIHZlcnRleEZ1bmN0aW9uKCkgY29uc3Q7Ci0gICAgdm9pZCBzZXRWZXJ0ZXhG
dW5jdGlvbihSZWZQdHI8V2ViR1BVRnVuY3Rpb24+JiYpOwotCi0gICAgV2ViR1BVRnVuY3Rpb24q
IGZyYWdtZW50RnVuY3Rpb24oKSBjb25zdDsKLSAgICB2b2lkIHNldEZyYWdtZW50RnVuY3Rpb24o
UmVmUHRyPFdlYkdQVUZ1bmN0aW9uPiYmKTsKLQotICAgIGNvbnN0IFZlY3RvcjxSZWZQdHI8V2Vi
R1BVUmVuZGVyUGlwZWxpbmVDb2xvckF0dGFjaG1lbnREZXNjcmlwdG9yPj4mIGNvbG9yQXR0YWNo
bWVudHMoKTsKLQotICAgIHVuc2lnbmVkIGRlcHRoQXR0YWNobWVudFBpeGVsRm9ybWF0KCkgY29u
c3Q7Ci0gICAgdm9pZCBzZXREZXB0aEF0dGFjaG1lbnRQaXhlbEZvcm1hdCh1bnNpZ25lZCk7Ci0K
LSAgICB2b2lkIHJlc2V0KCk7Ci0KLSAgICBjb25zdCBHUFVSZW5kZXJQaXBlbGluZURlc2NyaXB0
b3ImIGRlc2NyaXB0b3IoKSB7IHJldHVybiBtX2Rlc2NyaXB0b3I7IH0KLQotcHJpdmF0ZToKLSAg
ICBXZWJHUFVSZW5kZXJQaXBlbGluZURlc2NyaXB0b3IoKTsKLQotICAgIFJlZlB0cjxXZWJHUFVG
dW5jdGlvbj4gbV92ZXJ0ZXhGdW5jdGlvbjsKLSAgICBSZWZQdHI8V2ViR1BVRnVuY3Rpb24+IG1f
ZnJhZ21lbnRGdW5jdGlvbjsKLQotICAgIFZlY3RvcjxSZWZQdHI8V2ViR1BVUmVuZGVyUGlwZWxp
bmVDb2xvckF0dGFjaG1lbnREZXNjcmlwdG9yPj4gbV9jb2xvckF0dGFjaG1lbnRzOwotCi0gICAg
R1BVUmVuZGVyUGlwZWxpbmVEZXNjcmlwdG9yIG1fZGVzY3JpcHRvcjsKLX07Ci0KLX0gLy8gbmFt
ZXNwYWNlIFdlYkNvcmUKLQotI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1s
L2NhbnZhcy9XZWJHUFVSZW5kZXJQaXBlbGluZURlc2NyaXB0b3IuaWRsIGIvU291cmNlL1dlYkNv
cmUvaHRtbC9jYW52YXMvV2ViR1BVUmVuZGVyUGlwZWxpbmVEZXNjcmlwdG9yLmlkbApkZWxldGVk
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDE4Y2UxOTQ5NGZjYTBiMWIzYjBjMTZmZTYzY2FmZTJj
M2YxY2FlNi4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHUFVSZW5kZXJQaXBlbGluZURlc2NyaXB0b3Iu
aWRsCisrKyAvZGV2L251bGwKQEAgLTEsNDIgKzAsMCBAQAotLyoKLSAqIENvcHlyaWdodCAoQykg
MjAxNyBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0gKgotICogUmVkaXN0cmlidXRp
b24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Ci0g
KiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5n
IGNvbmRpdGlvbnMKLSAqIGFyZSBtZXQ6Ci0gKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNl
IGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlz
IGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgotICogMi4g
UmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBj
b3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBm
b2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKLSAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90
aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCi0gKgotICogVEhJ
UyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCi0g
KiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlU
RUQgVE8sIFRIRQotICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQg
RklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCi0gKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4g
Tk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUgotICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBG
T1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCi0gKiBFWEVNUExB
UlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQg
VE8sCi0gKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NT
IE9GIFVTRSwgREFUQSwgT1IKLSAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikg
SE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKLSAqIE9GIExJQUJJTElUWSwgV0hFVEhF
UiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAotICogKElOQ0xVRElORyBO
RUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNF
Ci0gKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZ
IE9GIFNVQ0ggREFNQUdFLgotICovCi0KLVsKLSAgICBDb25zdHJ1Y3RvciwKLSAgICBDb25kaXRp
b25hbD1XRUJHUFUsCi0gICAgRW5hYmxlZEF0UnVudGltZT1XZWJHUFUsCi0gICAgSW1wbGVtZW50
YXRpb25MYWNrc1ZUYWJsZQotXSBpbnRlcmZhY2UgV2ViR1BVUmVuZGVyUGlwZWxpbmVEZXNjcmlw
dG9yIHsKLQotICAgIGF0dHJpYnV0ZSBXZWJHUFVGdW5jdGlvbj8gdmVydGV4RnVuY3Rpb247Ci0g
ICAgYXR0cmlidXRlIFdlYkdQVUZ1bmN0aW9uPyBmcmFnbWVudEZ1bmN0aW9uOwotCi0gICAgcmVh
ZG9ubHkgYXR0cmlidXRlIHNlcXVlbmNlPFdlYkdQVVJlbmRlclBpcGVsaW5lQ29sb3JBdHRhY2ht
ZW50RGVzY3JpcHRvcj4gY29sb3JBdHRhY2htZW50czsKLQotICAgIGF0dHJpYnV0ZSB1bnNpZ25l
ZCBsb25nIGRlcHRoQXR0YWNobWVudFBpeGVsRm9ybWF0OwotCi0gICAgdm9pZCByZXNldCgpOwot
Ci19OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR1BVUmVuZGVy
UGlwZWxpbmVTdGF0ZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHUFVSZW5k
ZXJQaXBlbGluZVN0YXRlLmNwcApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggY2YwMGNl
YTNjNjNlNTFkMTk1ODEzMzBmZTc1MWVmYjA0YTEwNjJhNC4uMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJH
UFVSZW5kZXJQaXBlbGluZVN0YXRlLmNwcAorKysgL2Rldi9udWxsCkBAIC0xLDU1ICswLDAgQEAK
LS8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTcgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVk
LgotICoKLSAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9y
bXMsIHdpdGggb3Igd2l0aG91dAotICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3Zp
ZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCi0gKiBhcmUgbWV0OgotICogMS4gUmVk
aXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmln
aHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dp
bmcgZGlzY2xhaW1lci4KLSAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0
IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCi0gKiAgICBk
b2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlz
dHJpYnV0aW9uLgotICoKLSAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5D
LiBgYEFTIElTJycgQU5EIEFOWQotICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElO
Q0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKLSAqIElNUExJRUQgV0FSUkFOVElFUyBP
RiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgotICogUFVSUE9T
RSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IKLSAqIENP
TlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFM
LCBTUEVDSUFMLAotICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xV
RElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAotICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBH
T09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCi0gKiBQUk9GSVRTOyBPUiBC
VVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCi0g
KiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9S
IFRPUlQKLSAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4g
QU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQotICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJ
U0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KLSAqLwotCi0jaW5jbHVkZSAi
Y29uZmlnLmgiCi0jaW5jbHVkZSAiV2ViR1BVUmVuZGVyUGlwZWxpbmVTdGF0ZS5oIgotCi0jaWYg
RU5BQkxFKFdFQkdQVSkKLQotbmFtZXNwYWNlIFdlYkNvcmUgewotCi1SZWY8V2ViR1BVUmVuZGVy
UGlwZWxpbmVTdGF0ZT4gV2ViR1BVUmVuZGVyUGlwZWxpbmVTdGF0ZTo6Y3JlYXRlKEdQVVJlbmRl
clBpcGVsaW5lU3RhdGUmJiBzdGF0ZSkKLXsKLSAgICByZXR1cm4gYWRvcHRSZWYoKm5ldyBXZWJH
UFVSZW5kZXJQaXBlbGluZVN0YXRlKFdURk1vdmUoc3RhdGUpKSk7Ci19Ci0KLVdlYkdQVVJlbmRl
clBpcGVsaW5lU3RhdGU6OldlYkdQVVJlbmRlclBpcGVsaW5lU3RhdGUoR1BVUmVuZGVyUGlwZWxp
bmVTdGF0ZSYmIHN0YXRlKQotICAgIDogbV9zdGF0ZSB7IFdURk1vdmUoc3RhdGUpIH0KLXsKLX0K
LQotU3RyaW5nIFdlYkdQVVJlbmRlclBpcGVsaW5lU3RhdGU6OmxhYmVsKCkgY29uc3QKLXsKLSAg
ICByZXR1cm4gbV9zdGF0ZS5sYWJlbCgpOwotfQotCi12b2lkIFdlYkdQVVJlbmRlclBpcGVsaW5l
U3RhdGU6OnNldExhYmVsKGNvbnN0IFN0cmluZyYgbGFiZWwpCi17Ci0gICAgbV9zdGF0ZS5zZXRM
YWJlbChsYWJlbCk7Ci19Ci0KLX0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKLQotI2VuZGlmCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHUFVSZW5kZXJQaXBlbGluZVN0
YXRlLmggYi9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHUFVSZW5kZXJQaXBlbGluZVN0
YXRlLmgKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDVhNzVhYWE1YzUzZTJlOGVjYTNj
ZTFlZDJmYjI4ODc4ZWYyYjA2ZmUuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR1BVUmVuZGVyUGlwZWxp
bmVTdGF0ZS5oCisrKyAvZGV2L251bGwKQEAgLTEsNTMgKzAsMCBAQAotLyoKLSAqIENvcHlyaWdo
dCAoQykgMjAxNyBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0gKgotICogUmVkaXN0
cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRo
b3V0Ci0gKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9s
bG93aW5nIGNvbmRpdGlvbnMKLSAqIGFyZSBtZXQ6Ci0gKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Yg
c291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNl
LCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgot
ICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBh
Ym92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5k
IHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKLSAqICAgIGRvY3VtZW50YXRpb24gYW5k
L29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCi0gKgot
ICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIGBgQVMgSVMnJyBBTkQg
QU5ZCi0gKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9U
IExJTUlURUQgVE8sIFRIRQotICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElU
WSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCi0gKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVE
LiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUgotICogQ09OVFJJQlVUT1JTIEJFIExJ
QUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCi0gKiBF
WEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJ
TUlURUQgVE8sCi0gKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VT
OyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKLSAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQ
VElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKLSAqIE9GIExJQUJJTElUWSwg
V0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAotICogKElOQ0xV
RElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBU
SEUgVVNFCi0gKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJ
QklMSVRZIE9GIFNVQ0ggREFNQUdFLgotICovCi0KLSNwcmFnbWEgb25jZQotCi0jaWYgRU5BQkxF
KFdFQkdQVSkKLQotI2luY2x1ZGUgIkdQVVJlbmRlclBpcGVsaW5lU3RhdGUuaCIKLSNpbmNsdWRl
IDx3dGYvUmVmLmg+Ci0jaW5jbHVkZSA8d3RmL1JlZkNvdW50ZWQuaD4KLQotbmFtZXNwYWNlIFdl
YkNvcmUgewotCi1jbGFzcyBXZWJHUFVSZW5kZXJQaXBlbGluZVN0YXRlIDogcHVibGljIFJlZkNv
dW50ZWQ8V2ViR1BVUmVuZGVyUGlwZWxpbmVTdGF0ZT4gewotcHVibGljOgotICAgIHN0YXRpYyBS
ZWY8V2ViR1BVUmVuZGVyUGlwZWxpbmVTdGF0ZT4gY3JlYXRlKEdQVVJlbmRlclBpcGVsaW5lU3Rh
dGUmJik7Ci0KLSAgICBTdHJpbmcgbGFiZWwoKSBjb25zdDsKLSAgICB2b2lkIHNldExhYmVsKGNv
bnN0IFN0cmluZyYpOwotCi0gICAgY29uc3QgR1BVUmVuZGVyUGlwZWxpbmVTdGF0ZSYgc3RhdGUo
KSBjb25zdCB7IHJldHVybiBtX3N0YXRlOyB9Ci0KLXByaXZhdGU6Ci0gICAgZXhwbGljaXQgV2Vi
R1BVUmVuZGVyUGlwZWxpbmVTdGF0ZShHUFVSZW5kZXJQaXBlbGluZVN0YXRlJiYpOwotCi0gICAg
R1BVUmVuZGVyUGlwZWxpbmVTdGF0ZSBtX3N0YXRlOwotfTsKLSAgICAKLX0gLy8gbmFtZXNwYWNl
IFdlYkNvcmUKLQotI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZh
cy9XZWJHUFVSZW5kZXJQaXBlbGluZVN0YXRlLmlkbCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2Fu
dmFzL1dlYkdQVVJlbmRlclBpcGVsaW5lU3RhdGUuaWRsCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCBmNmZlYTk4NTFiM2UyZTE1NzQyZDIzMGJmNTlhMTYzMjg1N2ZkNmIzLi4wMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0
bWwvY2FudmFzL1dlYkdQVVJlbmRlclBpcGVsaW5lU3RhdGUuaWRsCisrKyAvZGV2L251bGwKQEAg
LTEsMzQgKzAsMCBAQAotLyoKLSAqIENvcHlyaWdodCAoQykgMjAxNyBBcHBsZSBJbmMuIEFsbCBy
aWdodHMgcmVzZXJ2ZWQuCi0gKgotICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2Ug
YW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Ci0gKiBtb2RpZmljYXRpb24sIGFyZSBw
ZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKLSAqIGFyZSBt
ZXQ6Ci0gKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhl
IGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgotICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJp
bmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGlj
ZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBp
biB0aGUKLSAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRl
ZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCi0gKgotICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURF
RCBCWSBBUFBMRSBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCi0gKiBFWFBSRVNTIE9SIElNUExJRUQg
V0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQotICogSU1QTElF
RCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNV
TEFSCi0gKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUg
SU5DLiBPUgotICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJF
Q1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCi0gKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwg
REFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCi0gKiBQUk9DVVJFTUVOVCBP
RiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKLSAq
IFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9O
IEFOWSBUSEVPUlkKLSAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNU
IExJQUJJTElUWSwgT1IgVE9SVAotICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lT
RSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCi0gKiBPRiBUSElTIFNPRlRXQVJF
LCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgotICov
Ci0KLVsKLSAgICBDb25kaXRpb25hbD1XRUJHUFUsCi0gICAgRW5hYmxlZEF0UnVudGltZT1XZWJH
UFUsCi0gICAgSW1wbGVtZW50YXRpb25MYWNrc1ZUYWJsZQotXSBpbnRlcmZhY2UgV2ViR1BVUmVu
ZGVyUGlwZWxpbmVTdGF0ZSB7Ci0KLSAgICBhdHRyaWJ1dGUgRE9NU3RyaW5nIGxhYmVsOwotCi19
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR1BVUmVuZGVyaW5n
Q29udGV4dC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHUFVSZW5kZXJpbmdD
b250ZXh0LmNwcApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYmUxYTFlNzVkZjg3YjY1
YWJkMTk5MTc1ZmQ4ODA2NTA0YzE5YTg2Mi4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHUFVSZW5kZXJp
bmdDb250ZXh0LmNwcAorKysgL2Rldi9udWxsCkBAIC0xLDE5NiArMCwwIEBACi0vKgotICogQ29w
eXJpZ2h0IChDKSAyMDE3IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLSAqIENvcHly
aWdodCAoQykgMjAxNyBZdWljaGlybyBLaWt1cmEgKHkua2lrdXJhQGdtYWlsLmNvbSkKLSAqCi0g
KiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRo
IG9yIHdpdGhvdXQKLSAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0
IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwotICogYXJlIG1ldDoKLSAqIDEuIFJlZGlzdHJpYnV0
aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAg
ICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2Ns
YWltZXIuCi0gKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1
Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0
aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQotICogICAgZG9jdW1lbnRh
dGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlv
bi4KLSAqCi0gKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gYGBBUyBJ
UycnIEFORCBBTlkKLSAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcs
IEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCi0gKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hB
TlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKLSAqIFBVUlBPU0UgQVJFIERJ
U0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SCi0gKiBDT05UUklCVVRP
UlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lB
TCwKLSAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJV
VCBOT1QgTElNSVRFRCBUTywKLSAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1Ig
U0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgotICogUFJPRklUUzsgT1IgQlVTSU5FU1Mg
SU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQotICogT0YgTElB
QklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCi0g
KiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkg
T1VUIE9GIFRIRSBVU0UKLSAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBU
SEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCi0gKi8KLQotI2luY2x1ZGUgImNvbmZpZy5o
IgotI2luY2x1ZGUgIldlYkdQVVJlbmRlcmluZ0NvbnRleHQuaCIKLQotI2lmIEVOQUJMRShXRUJH
UFUpCi0KLSNpbmNsdWRlICJEb2N1bWVudC5oIgotI2luY2x1ZGUgIkZyYW1lVmlldy5oIgotI2lu
Y2x1ZGUgIkdQVURldmljZS5oIgotI2luY2x1ZGUgIkluc3BlY3Rvckluc3RydW1lbnRhdGlvbi5o
IgotI2luY2x1ZGUgIldlYkdQVUJ1ZmZlci5oIgotI2luY2x1ZGUgIldlYkdQVUNvbW1hbmRRdWV1
ZS5oIgotI2luY2x1ZGUgIldlYkdQVUNvbXB1dGVQaXBlbGluZVN0YXRlLmgiCi0jaW5jbHVkZSAi
V2ViR1BVRGVwdGhTdGVuY2lsRGVzY3JpcHRvci5oIgotI2luY2x1ZGUgIldlYkdQVURlcHRoU3Rl
bmNpbFN0YXRlLmgiCi0jaW5jbHVkZSAiV2ViR1BVRHJhd2FibGUuaCIKLSNpbmNsdWRlICJXZWJH
UFVGdW5jdGlvbi5oIgotI2luY2x1ZGUgIldlYkdQVUxpYnJhcnkuaCIKLSNpbmNsdWRlICJXZWJH
UFVSZW5kZXJQYXNzRGVzY3JpcHRvci5oIgotI2luY2x1ZGUgIldlYkdQVVJlbmRlclBpcGVsaW5l
RGVzY3JpcHRvci5oIgotI2luY2x1ZGUgIldlYkdQVVJlbmRlclBpcGVsaW5lU3RhdGUuaCIKLSNp
bmNsdWRlICJXZWJHUFVUZXh0dXJlLmgiCi0jaW5jbHVkZSAiV2ViR1BVVGV4dHVyZURlc2NyaXB0
b3IuaCIKLSNpbmNsdWRlIDxKYXZhU2NyaXB0Q29yZS9BcnJheUJ1ZmZlci5oPgotI2luY2x1ZGUg
PEphdmFTY3JpcHRDb3JlL0pTQ0lubGluZXMuaD4KLSNpbmNsdWRlIDxKYXZhU2NyaXB0Q29yZS9U
eXBlZEFycmF5SW5saW5lcy5oPgotI2luY2x1ZGUgPEphdmFTY3JpcHRDb3JlL1VpbnQzMkFycmF5
Lmg+Ci0jaW5jbHVkZSA8d3RmL1N0ZExpYkV4dHJhcy5oPgotI2luY2x1ZGUgPHd0Zi90ZXh0L0NT
dHJpbmcuaD4KLQotbmFtZXNwYWNlIHsKLQotaW50IGNsYW1wKGludCB2YWx1ZSwgaW50IG1pbiwg
aW50IG1heCkKLXsKLSAgICBpZiAodmFsdWUgPCBtaW4pCi0gICAgICAgIHZhbHVlID0gbWluOwot
ICAgIGlmICh2YWx1ZSA+IG1heCkKLSAgICAgICAgdmFsdWUgPSBtYXg7Ci0gICAgcmV0dXJuIHZh
bHVlOwotfQotCi19Ci0KLW5hbWVzcGFjZSBXZWJDb3JlIHsKLQotc3RhdGljIGNvbnN0IGludCBr
TWF4VGV4dHVyZVNpemUgPSA0MDk2OwotCi1zdGQ6OnVuaXF1ZV9wdHI8V2ViR1BVUmVuZGVyaW5n
Q29udGV4dD4gV2ViR1BVUmVuZGVyaW5nQ29udGV4dDo6Y3JlYXRlKENhbnZhc0Jhc2UmIGNhbnZh
cykKLXsKLSAgICBHUFVEZXZpY2UgZGV2aWNlOwotCi0gICAgaWYgKCFkZXZpY2UpIHsKLSAgICAg
ICAgLy8gRklYTUU6IFdlYkdQVSAtIGRpc3BhdGNoIGFuIGV2ZW50IGhlcmUgZm9yIHRoZSBmYWls
dXJlLgotICAgICAgICByZXR1cm4gbnVsbHB0cjsKLSAgICB9Ci0KLSAgICBhdXRvIHJlbmRlcmlu
Z0NvbnRleHQgPSBzdGQ6OnVuaXF1ZV9wdHI8V2ViR1BVUmVuZGVyaW5nQ29udGV4dD4obmV3IFdl
YkdQVVJlbmRlcmluZ0NvbnRleHQoY2FudmFzLCBXVEZNb3ZlKGRldmljZSkpKTsKLSAgICByZW5k
ZXJpbmdDb250ZXh0LT5zdXNwZW5kSWZOZWVkZWQoKTsKLQotICAgIEluc3BlY3Rvckluc3RydW1l
bnRhdGlvbjo6ZGlkQ3JlYXRlQ2FudmFzUmVuZGVyaW5nQ29udGV4dCgqcmVuZGVyaW5nQ29udGV4
dCk7Ci0KLSAgICByZXR1cm4gcmVuZGVyaW5nQ29udGV4dDsKLX0KLQotV2ViR1BVUmVuZGVyaW5n
Q29udGV4dDo6V2ViR1BVUmVuZGVyaW5nQ29udGV4dChDYW52YXNCYXNlJiBjYW52YXMsIEdQVURl
dmljZSYmIGRldmljZSkKLSAgICA6IEdQVUJhc2VkQ2FudmFzUmVuZGVyaW5nQ29udGV4dChjYW52
YXMpCi0gICAgLCBtX2RldmljZShXVEZNb3ZlKGRldmljZSkpCi17Ci0gICAgaW5pdGlhbGl6ZU5l
d0NvbnRleHQoKTsKLX0KLQotSFRNTENhbnZhc0VsZW1lbnQqIFdlYkdQVVJlbmRlcmluZ0NvbnRl
eHQ6OmNhbnZhcygpIGNvbnN0Ci17Ci0gICAgYXV0byYgYmFzZSA9IGNhbnZhc0Jhc2UoKTsKLSAg
ICBpZiAoIWlzPEhUTUxDYW52YXNFbGVtZW50PihiYXNlKSkKLSAgICAgICAgcmV0dXJuIG51bGxw
dHI7Ci0gICAgcmV0dXJuICZkb3duY2FzdDxIVE1MQ2FudmFzRWxlbWVudD4oYmFzZSk7Ci19Ci0K
LXZvaWQgV2ViR1BVUmVuZGVyaW5nQ29udGV4dDo6aW5pdGlhbGl6ZU5ld0NvbnRleHQoKQotewot
ICAgIC8vIEZJWE1FOiBXZWJHUFUgLSBNYXliZSB3ZSBzaG91bGQgcmVzZXQgYSBidW5jaCBvZiBz
dHVmZiBoZXJlLgotCi0gICAgSW50U2l6ZSBjYW52YXNTaXplID0gY2xhbXBlZENhbnZhc1NpemUo
KTsKLSAgICBtX2RldmljZS5yZXNoYXBlKGNhbnZhc1NpemUud2lkdGgoKSwgY2FudmFzU2l6ZS5o
ZWlnaHQoKSk7Ci19Ci0KLUludFNpemUgV2ViR1BVUmVuZGVyaW5nQ29udGV4dDo6Y2xhbXBlZENh
bnZhc1NpemUoKSBjb25zdAotewotICAgIHJldHVybiBJbnRTaXplKGNsYW1wKGNhbnZhcygpLT53
aWR0aCgpLCAxLCBrTWF4VGV4dHVyZVNpemUpLAotICAgICAgICBjbGFtcChjYW52YXMoKS0+aGVp
Z2h0KCksIDEsIGtNYXhUZXh0dXJlU2l6ZSkpOwotfQotCi1ib29sIFdlYkdQVVJlbmRlcmluZ0Nv
bnRleHQ6Omhhc1BlbmRpbmdBY3Rpdml0eSgpIGNvbnN0Ci17Ci0gICAgcmV0dXJuIGZhbHNlOwot
fQotCi12b2lkIFdlYkdQVVJlbmRlcmluZ0NvbnRleHQ6OnN0b3AoKQotewotfQotCi1jb25zdCBj
aGFyKiBXZWJHUFVSZW5kZXJpbmdDb250ZXh0OjphY3RpdmVET01PYmplY3ROYW1lKCkgY29uc3QK
LXsKLSAgICByZXR1cm4gIldlYkdQVVJlbmRlcmluZ0NvbnRleHQiOwotfQotCi1ib29sIFdlYkdQ
VVJlbmRlcmluZ0NvbnRleHQ6OmNhblN1c3BlbmRGb3JEb2N1bWVudFN1c3BlbnNpb24oKSBjb25z
dAotewotICAgIHJldHVybiBmYWxzZTsKLX0KLQotUGxhdGZvcm1MYXllciogV2ViR1BVUmVuZGVy
aW5nQ29udGV4dDo6cGxhdGZvcm1MYXllcigpIGNvbnN0Ci17Ci0gICAgcmV0dXJuIG1fZGV2aWNl
LnBsYXRmb3JtTGF5ZXIoKTsKLX0KLQotdm9pZCBXZWJHUFVSZW5kZXJpbmdDb250ZXh0OjptYXJr
TGF5ZXJDb21wb3NpdGVkKCkKLXsKLSAgICBtX2RldmljZS5tYXJrTGF5ZXJDb21wb3NpdGVkKCk7
Ci19Ci0KLXZvaWQgV2ViR1BVUmVuZGVyaW5nQ29udGV4dDo6cmVzaGFwZShpbnQgd2lkdGgsIGlu
dCBoZWlnaHQpCi17Ci0gICAgLy8gRklYTUU6IFdlYkdQVSAtIERvIHdlIG5lZWQgdG8gcmVzZXQg
c3R1ZmYgaGVyZT8KLSAgICBtX2RldmljZS5yZXNoYXBlKHdpZHRoLCBoZWlnaHQpOwotfQotCi1S
ZWY8V2ViR1BVTGlicmFyeT4gV2ViR1BVUmVuZGVyaW5nQ29udGV4dDo6Y3JlYXRlTGlicmFyeShj
b25zdCBTdHJpbmcmIHNvdXJjZUNvZGUpCi17Ci0gICAgcmV0dXJuIFdlYkdQVUxpYnJhcnk6OmNy
ZWF0ZShHUFVMaWJyYXJ5IHsgbV9kZXZpY2UsIHNvdXJjZUNvZGUgfSwgc291cmNlQ29kZSk7Ci19
Ci0KLVJlZjxXZWJHUFVSZW5kZXJQaXBlbGluZVN0YXRlPiBXZWJHUFVSZW5kZXJpbmdDb250ZXh0
OjpjcmVhdGVSZW5kZXJQaXBlbGluZVN0YXRlKFdlYkdQVVJlbmRlclBpcGVsaW5lRGVzY3JpcHRv
ciYgZGVzY3JpcHRvcikKLXsKLSAgICByZXR1cm4gV2ViR1BVUmVuZGVyUGlwZWxpbmVTdGF0ZTo6
Y3JlYXRlKEdQVVJlbmRlclBpcGVsaW5lU3RhdGUgeyBtX2RldmljZSwgZGVzY3JpcHRvci5kZXNj
cmlwdG9yKCkgfSk7Ci19Ci0KLVJlZjxXZWJHUFVEZXB0aFN0ZW5jaWxTdGF0ZT4gV2ViR1BVUmVu
ZGVyaW5nQ29udGV4dDo6Y3JlYXRlRGVwdGhTdGVuY2lsU3RhdGUoV2ViR1BVRGVwdGhTdGVuY2ls
RGVzY3JpcHRvciYgZGVzY3JpcHRvcikKLXsKLSAgICByZXR1cm4gV2ViR1BVRGVwdGhTdGVuY2ls
U3RhdGU6OmNyZWF0ZShHUFVEZXB0aFN0ZW5jaWxTdGF0ZSB7IG1fZGV2aWNlLCBkZXNjcmlwdG9y
LmRlc2NyaXB0b3IoKSB9KTsKLX0KLQotUmVmPFdlYkdQVUNvbXB1dGVQaXBlbGluZVN0YXRlPiBX
ZWJHUFVSZW5kZXJpbmdDb250ZXh0OjpjcmVhdGVDb21wdXRlUGlwZWxpbmVTdGF0ZShXZWJHUFVG
dW5jdGlvbiYgZnVuY3Rpb24pCi17Ci0gICAgcmV0dXJuIFdlYkdQVUNvbXB1dGVQaXBlbGluZVN0
YXRlOjpjcmVhdGUoR1BVQ29tcHV0ZVBpcGVsaW5lU3RhdGUgeyBtX2RldmljZSwgZnVuY3Rpb24u
ZnVuY3Rpb24oKSB9KTsKLX0KLQotUmVmPFdlYkdQVUNvbW1hbmRRdWV1ZT4gV2ViR1BVUmVuZGVy
aW5nQ29udGV4dDo6Y3JlYXRlQ29tbWFuZFF1ZXVlKCkKLXsKLSAgICByZXR1cm4gV2ViR1BVQ29t
bWFuZFF1ZXVlOjpjcmVhdGUoR1BVQ29tbWFuZFF1ZXVlIHsgbV9kZXZpY2UgfSk7Ci19Ci0KLVJl
ZjxXZWJHUFVEcmF3YWJsZT4gV2ViR1BVUmVuZGVyaW5nQ29udGV4dDo6bmV4dERyYXdhYmxlKCkK
LXsKLSAgICByZXR1cm4gV2ViR1BVRHJhd2FibGU6OmNyZWF0ZShHUFVEcmF3YWJsZSB7IG1fZGV2
aWNlIH0pOwotfQotCi1SZWZQdHI8V2ViR1BVQnVmZmVyPiBXZWJHUFVSZW5kZXJpbmdDb250ZXh0
OjpjcmVhdGVCdWZmZXIoSlNDOjpBcnJheUJ1ZmZlclZpZXcmIGRhdGEpCi17Ci0gICAgcmV0dXJu
IFdlYkdQVUJ1ZmZlcjo6Y3JlYXRlKEdQVUJ1ZmZlciB7IG1fZGV2aWNlLCBkYXRhIH0pOwotfQot
Ci1SZWY8V2ViR1BVVGV4dHVyZT4gV2ViR1BVUmVuZGVyaW5nQ29udGV4dDo6Y3JlYXRlVGV4dHVy
ZShXZWJHUFVUZXh0dXJlRGVzY3JpcHRvciYgZGVzY3JpcHRvcikKLXsKLSAgICByZXR1cm4gV2Vi
R1BVVGV4dHVyZTo6Y3JlYXRlKEdQVVRleHR1cmUgeyBtX2RldmljZSwgZGVzY3JpcHRvci5kZXNj
cmlwdG9yKCkgfSk7Ci19Ci0KLX0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKLQotI2VuZGlmCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHUFVSZW5kZXJpbmdDb250ZXh0
LmggYi9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHUFVSZW5kZXJpbmdDb250ZXh0LmgK
ZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDc1NjU4MDQ1Y2VkMzExMzE1ZWQ3MmMwMTFj
YzEwMjVlMjJkZmY1MGIuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAK
LS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR1BVUmVuZGVyaW5nQ29udGV4dC5o
CisrKyAvZGV2L251bGwKQEAgLTEsOTUgKzAsMCBAQAotLyoKLSAqIENvcHlyaWdodCAoQykgMjAx
NyBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTcg
WXVpY2hpcm8gS2lrdXJhICh5Lmtpa3VyYUBnbWFpbC5jb20pCi0gKgotICogUmVkaXN0cmlidXRp
b24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Ci0g
KiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5n
IGNvbmRpdGlvbnMKLSAqIGFyZSBtZXQ6Ci0gKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNl
IGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlz
IGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgotICogMi4g
UmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBj
b3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBm
b2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKLSAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90
aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCi0gKgotICogVEhJ
UyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCi0g
KiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlU
RUQgVE8sIFRIRQotICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQg
RklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCi0gKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4g
Tk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUgotICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBG
T1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCi0gKiBFWEVNUExB
UlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQg
VE8sCi0gKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NT
IE9GIFVTRSwgREFUQSwgT1IKLSAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikg
SE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKLSAqIE9GIExJQUJJTElUWSwgV0hFVEhF
UiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAotICogKElOQ0xVRElORyBO
RUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNF
Ci0gKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZ
IE9GIFNVQ0ggREFNQUdFLgotICovCi0KLSNwcmFnbWEgb25jZQotCi0jaWYgRU5BQkxFKFdFQkdQ
VSkKLQotI2luY2x1ZGUgIkdQVUJhc2VkQ2FudmFzUmVuZGVyaW5nQ29udGV4dC5oIgotI2luY2x1
ZGUgIkdQVURldmljZS5oIgotCi1uYW1lc3BhY2UgSlNDIHsKLWNsYXNzIEFycmF5QnVmZmVyVmll
dzsKLX0KLQotbmFtZXNwYWNlIFdlYkNvcmUgewotCi1jbGFzcyBXZWJHUFVCdWZmZXI7Ci1jbGFz
cyBXZWJHUFVDb21tYW5kUXVldWU7Ci1jbGFzcyBXZWJHUFVDb21wdXRlUGlwZWxpbmVTdGF0ZTsK
LWNsYXNzIFdlYkdQVURlcHRoU3RlbmNpbERlc2NyaXB0b3I7Ci1jbGFzcyBXZWJHUFVEZXB0aFN0
ZW5jaWxTdGF0ZTsKLWNsYXNzIFdlYkdQVURyYXdhYmxlOwotY2xhc3MgV2ViR1BVRnVuY3Rpb247
Ci1jbGFzcyBXZWJHUFVMaWJyYXJ5OwotY2xhc3MgV2ViR1BVUmVuZGVyUGlwZWxpbmVEZXNjcmlw
dG9yOwotY2xhc3MgV2ViR1BVUmVuZGVyUGlwZWxpbmVTdGF0ZTsKLWNsYXNzIFdlYkdQVVRleHR1
cmU7Ci1jbGFzcyBXZWJHUFVUZXh0dXJlRGVzY3JpcHRvcjsKLQotY2xhc3MgV2ViR1BVUmVuZGVy
aW5nQ29udGV4dCBmaW5hbCA6IHB1YmxpYyBHUFVCYXNlZENhbnZhc1JlbmRlcmluZ0NvbnRleHQg
ewotcHVibGljOgotICAgIHN0YXRpYyBzdGQ6OnVuaXF1ZV9wdHI8V2ViR1BVUmVuZGVyaW5nQ29u
dGV4dD4gY3JlYXRlKENhbnZhc0Jhc2UmKTsKLQotICAgIC8vIEZJWE1FOiBJREwgZmlsZSBzYXlz
IHRoaXMgaXMgbm90IG51bGxhYmxlLCBidXQgdGhpcyBmdW5jdGlvbiBjYW4gcmV0dXJuIG51bGwu
Ci0gICAgSFRNTENhbnZhc0VsZW1lbnQqIGNhbnZhcygpIGNvbnN0OwotCi0gICAgUmVmPFdlYkdQ
VUxpYnJhcnk+IGNyZWF0ZUxpYnJhcnkoY29uc3QgU3RyaW5nJik7Ci0gICAgUmVmPFdlYkdQVVJl
bmRlclBpcGVsaW5lU3RhdGU+IGNyZWF0ZVJlbmRlclBpcGVsaW5lU3RhdGUoV2ViR1BVUmVuZGVy
UGlwZWxpbmVEZXNjcmlwdG9yJik7Ci0gICAgUmVmPFdlYkdQVURlcHRoU3RlbmNpbFN0YXRlPiBj
cmVhdGVEZXB0aFN0ZW5jaWxTdGF0ZShXZWJHUFVEZXB0aFN0ZW5jaWxEZXNjcmlwdG9yJik7Ci0g
ICAgUmVmPFdlYkdQVUNvbXB1dGVQaXBlbGluZVN0YXRlPiBjcmVhdGVDb21wdXRlUGlwZWxpbmVT
dGF0ZShXZWJHUFVGdW5jdGlvbiYpOwotICAgIFJlZjxXZWJHUFVDb21tYW5kUXVldWU+IGNyZWF0
ZUNvbW1hbmRRdWV1ZSgpOwotICAgIFJlZjxXZWJHUFVEcmF3YWJsZT4gbmV4dERyYXdhYmxlKCk7
Ci0gICAgUmVmUHRyPFdlYkdQVUJ1ZmZlcj4gY3JlYXRlQnVmZmVyKEpTQzo6QXJyYXlCdWZmZXJW
aWV3Jik7Ci0gICAgUmVmPFdlYkdQVVRleHR1cmU+IGNyZWF0ZVRleHR1cmUoV2ViR1BVVGV4dHVy
ZURlc2NyaXB0b3ImKTsKLQotICAgIGNvbnN0IEdQVURldmljZSYgZGV2aWNlKCkgY29uc3QgeyBy
ZXR1cm4gbV9kZXZpY2U7IH0KLQotcHJpdmF0ZToKLSAgICBXZWJHUFVSZW5kZXJpbmdDb250ZXh0
KENhbnZhc0Jhc2UmLCBHUFVEZXZpY2UmJik7Ci0KLSAgICBib29sIGhhc1BlbmRpbmdBY3Rpdml0
eSgpIGNvbnN0IGZpbmFsOwotICAgIHZvaWQgc3RvcCgpIGZpbmFsOwotICAgIGNvbnN0IGNoYXIq
IGFjdGl2ZURPTU9iamVjdE5hbWUoKSBjb25zdCBmaW5hbDsKLSAgICBib29sIGNhblN1c3BlbmRG
b3JEb2N1bWVudFN1c3BlbnNpb24oKSBjb25zdCBmaW5hbDsKLQotICAgIEludFNpemUgY2xhbXBl
ZENhbnZhc1NpemUoKSBjb25zdDsKLSAgICB2b2lkIGluaXRpYWxpemVOZXdDb250ZXh0KCk7Ci0K
LSAgICBib29sIGlzV2ViR1BVKCkgY29uc3QgZmluYWwgeyByZXR1cm4gdHJ1ZTsgfQotCi0gICAg
dm9pZCByZXNoYXBlKGludCB3aWR0aCwgaW50IGhlaWdodCkgZmluYWw7Ci0gICAgdm9pZCBtYXJr
TGF5ZXJDb21wb3NpdGVkKCkgZmluYWw7Ci0gICAgUGxhdGZvcm1MYXllciogcGxhdGZvcm1MYXll
cigpIGNvbnN0IGZpbmFsOwotCi0gICAgR1BVRGV2aWNlIG1fZGV2aWNlOwotfTsKLQotfSAvLyBu
YW1lc3BhY2UgV2ViQ29yZQotCi1TUEVDSUFMSVpFX1RZUEVfVFJBSVRTX0NBTlZBU1JFTkRFUklO
R0NPTlRFWFQoV2ViQ29yZTo6V2ViR1BVUmVuZGVyaW5nQ29udGV4dCwgaXNXZWJHUFUoKSkKLQot
I2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHUFVSZW5k
ZXJpbmdDb250ZXh0LmlkbCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdQVVJlbmRl
cmluZ0NvbnRleHQuaWRsCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBmMjA0NTRlYjJl
MDZkYWJkNWNmOWUwZDQ1NTVlNWM4MjhjYTIzY2VlLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwCi0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdQVVJl
bmRlcmluZ0NvbnRleHQuaWRsCisrKyAvZGV2L251bGwKQEAgLTEsMTE1ICswLDAgQEAKLS8qCi0g
KiBDb3B5cmlnaHQgKEMpIDIwMTcgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgotICog
Q29weXJpZ2h0IChDKSAyMDE3IFl1aWNoaXJvIEtpa3VyYSAoeS5raWt1cmFAZ21haWwuY29tKQot
ICoKLSAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMs
IHdpdGggb3Igd2l0aG91dAotICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVk
IHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCi0gKiBhcmUgbWV0OgotICogMS4gUmVkaXN0
cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQK
LSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcg
ZGlzY2xhaW1lci4KLSAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJl
cHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBj
b25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCi0gKiAgICBkb2N1
bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJp
YnV0aW9uLgotICoKLSAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBg
YEFTIElTJycgQU5EIEFOWQotICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xV
RElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKLSAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBN
RVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgotICogUFVSUE9TRSBB
UkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IKLSAqIENPTlRS
SUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBT
UEVDSUFMLAotICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElO
RywgQlVUIE5PVCBMSU1JVEVEIFRPLAotICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09E
UyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCi0gKiBQUk9GSVRTOyBPUiBCVVNJ
TkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCi0gKiBP
RiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRP
UlQKLSAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5Z
IFdBWSBPVVQgT0YgVEhFIFVTRQotICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VE
IE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KLSAqLwotCi1bCi0gICAgQ29uZGl0
aW9uYWw9V0VCR1BVLAotICAgIEVuYWJsZWRBdFJ1bnRpbWU9V2ViR1BVLAotICAgIEpTQ3VzdG9t
TWFya0Z1bmN0aW9uLAotICAgIERvTm90Q2hlY2tDb25zdGFudHMKLV0gaW50ZXJmYWNlIFdlYkdQ
VVJlbmRlcmluZ0NvbnRleHQgewotICAgIC8vIGJhY2stcmVmZXJlbmNlIHRvIHRoZSBjYW52YXMK
LSAgICByZWFkb25seSBhdHRyaWJ1dGUgSFRNTENhbnZhc0VsZW1lbnQgY2FudmFzOwotCi0gICAg
Ly8gUGl4ZWwgZm9ybWF0cwotCi0gICAgY29uc3QgdW5zaWduZWQgaW50IFBpeGVsRm9ybWF0QkdS
QThVbm9ybSA9IDgwOwotICAgIGNvbnN0IHVuc2lnbmVkIGludCBQaXhlbEZvcm1hdERlcHRoMzJG
bG9hdCA9IDI1MjsKLSAgICBjb25zdCB1bnNpZ25lZCBpbnQgUGl4ZWxGb3JtYXRTdGVuY2lsOCA9
IDI1MzsKLSAgICBjb25zdCB1bnNpZ25lZCBpbnQgUGl4ZWxGb3JtYXRJbnZhbGlkID0gMDsKLQot
ICAgIC8vIExvYWQgYWN0aW9ucwotCi0gICAgY29uc3QgdW5zaWduZWQgaW50IExvYWRBY3Rpb25E
b250Q2FyZSA9IDA7Ci0gICAgY29uc3QgdW5zaWduZWQgaW50IExvYWRBY3Rpb25Mb2FkID0gMTsK
LSAgICBjb25zdCB1bnNpZ25lZCBpbnQgTG9hZEFjdGlvbkNsZWFyID0gMjsKLQotICAgIC8vIFN0
b3JlIGFjdGlvbnMKLQotICAgIGNvbnN0IHVuc2lnbmVkIGludCBTdG9yZUFjdGlvbkRvbnRDYXJl
ID0gMDsKLSAgICBjb25zdCB1bnNpZ25lZCBpbnQgU3RvcmVBY3Rpb25TdG9yZSA9IDE7Ci0gICAg
Y29uc3QgdW5zaWduZWQgaW50IFN0b3JlQWN0aW9uTXVsdGlzYW1wbGVSZXNvbHZlID0gMjsKLQot
ICAgIC8vIFByaW1pdGl2ZSB0eXBlcwotCi0gICAgY29uc3QgdW5zaWduZWQgaW50IFByaW1pdGl2
ZVR5cGVQb2ludCA9IDA7Ci0gICAgY29uc3QgdW5zaWduZWQgaW50IFByaW1pdGl2ZVR5cGVMaW5l
ID0gMTsKLSAgICBjb25zdCB1bnNpZ25lZCBpbnQgUHJpbWl0aXZlVHlwZUxpbmVTdHJpcCA9IDI7
Ci0gICAgY29uc3QgdW5zaWduZWQgaW50IFByaW1pdGl2ZVR5cGVUcmlhbmdsZSA9IDM7Ci0gICAg
Y29uc3QgdW5zaWduZWQgaW50IFByaW1pdGl2ZVR5cGVUcmlhbmdsZVN0cmlwID0gNDsKLQotICAg
IC8vIENvbXBhcmlzb24gZnVuY3Rpb25zCi0KLSAgICBjb25zdCB1bnNpZ25lZCBpbnQgQ29tcGFy
ZUZ1bmN0aW9uTmV2ZXIgPSAwOwotICAgIGNvbnN0IHVuc2lnbmVkIGludCBDb21wYXJlRnVuY3Rp
b25MZXNzID0gMTsKLSAgICBjb25zdCB1bnNpZ25lZCBpbnQgQ29tcGFyZUZ1bmN0aW9uRXF1YWwg
PSAyOwotICAgIGNvbnN0IHVuc2lnbmVkIGludCBDb21wYXJlRnVuY3Rpb25MZXNzRXF1YWwgPSAz
OwotICAgIGNvbnN0IHVuc2lnbmVkIGludCBDb21wYXJlRnVuY3Rpb25HcmVhdGVyID0gNDsKLSAg
ICBjb25zdCB1bnNpZ25lZCBpbnQgQ29tcGFyZUZ1bmN0aW9uTm90RXF1YWwgPSA1OwotICAgIGNv
bnN0IHVuc2lnbmVkIGludCBDb21wYXJlRnVuY3Rpb25HcmVhdGVyRXF1YWwgPSA2OwotICAgIGNv
bnN0IHVuc2lnbmVkIGludCBDb21wYXJlRnVuY3Rpb25BbHdheXMgPSA3OwotCi0gICAgLy8gVGV4
dHVyZSBUeXBlcwotCi0gICAgY29uc3QgdW5zaWduZWQgaW50IFRleHR1cmVUeXBlMUQgPSAwOwot
ICAgIGNvbnN0IHVuc2lnbmVkIGludCBUZXh0dXJlVHlwZTFEQXJyYXkgPSAxOwotICAgIGNvbnN0
IHVuc2lnbmVkIGludCBUZXh0dXJlVHlwZTJEID0gMjsKLSAgICBjb25zdCB1bnNpZ25lZCBpbnQg
VGV4dHVyZVR5cGUyREFycmF5ID0gMzsKLSAgICBjb25zdCB1bnNpZ25lZCBpbnQgVGV4dHVyZVR5
cGUyRE11bHRpc2FtcGxlID0gNDsKLSAgICBjb25zdCB1bnNpZ25lZCBpbnQgVGV4dHVyZVR5cGVD
dWJlID0gNTsKLSAgICBjb25zdCB1bnNpZ25lZCBpbnQgVGV4dHVyZVR5cGVDdWJlQXJyYXkgPSA2
OwotICAgIGNvbnN0IHVuc2lnbmVkIGludCBUZXh0dXJlVHlwZTNEID0gNzsKLQotICAgIC8vIFN0
b3JhZ2UgbW9kZXMKLQotICAgIGNvbnN0IHVuc2lnbmVkIGludCBTdG9yYWdlTW9kZVNoYXJlZCAg
PSAwOwotICAgIGNvbnN0IHVuc2lnbmVkIGludCBTdG9yYWdlTW9kZU1hbmFnZWQgPSAxOwotICAg
IGNvbnN0IHVuc2lnbmVkIGludCBTdG9yYWdlTW9kZVByaXZhdGUgPSAyOwotCi0gICAgLy8gVXNh
Z2UKLQotICAgIGNvbnN0IHVuc2lnbmVkIGludCBUZXh0dXJlVXNhZ2VVbmtub3duID0gMHgwMDAw
OwotICAgIGNvbnN0IHVuc2lnbmVkIGludCBUZXh0dXJlVXNhZ2VTaGFkZXJSZWFkID0gMHgwMDAx
OwotICAgIGNvbnN0IHVuc2lnbmVkIGludCBUZXh0dXJlVXNhZ2VTaGFkZXJXcml0ZSA9IDB4MDAw
MjsKLSAgICBjb25zdCB1bnNpZ25lZCBpbnQgVGV4dHVyZVVzYWdlUmVuZGVyVGFyZ2V0ID0gMHgw
MDA0OwotICAgIGNvbnN0IHVuc2lnbmVkIGludCBUZXh0dXJlVXNhZ2VQaXhlbEZvcm1hdFZpZXcg
PSAweDAwMTA7Ci0KLSAgICAvLyBFbnRyeSBwb2ludHMKLQotICAgIFdlYkdQVUxpYnJhcnkgY3Jl
YXRlTGlicmFyeShET01TdHJpbmcgc291cmNlQ29kZSk7Ci0KLSAgICBXZWJHUFVSZW5kZXJQaXBl
bGluZVN0YXRlIGNyZWF0ZVJlbmRlclBpcGVsaW5lU3RhdGUoV2ViR1BVUmVuZGVyUGlwZWxpbmVE
ZXNjcmlwdG9yIGRlc2NyaXB0b3IpOwotICAgIFdlYkdQVURlcHRoU3RlbmNpbFN0YXRlIGNyZWF0
ZURlcHRoU3RlbmNpbFN0YXRlKFdlYkdQVURlcHRoU3RlbmNpbERlc2NyaXB0b3IgZGVzY3JpcHRv
cik7Ci0gICAgV2ViR1BVQ29tcHV0ZVBpcGVsaW5lU3RhdGUgY3JlYXRlQ29tcHV0ZVBpcGVsaW5l
U3RhdGUoV2ViR1BVRnVuY3Rpb24gZnVuY3Rpb24pOwotCi0gICAgV2ViR1BVQ29tbWFuZFF1ZXVl
IGNyZWF0ZUNvbW1hbmRRdWV1ZSgpOwotCi0gICAgV2ViR1BVRHJhd2FibGUgbmV4dERyYXdhYmxl
KCk7Ci0KLSAgICBXZWJHUFVCdWZmZXI/IGNyZWF0ZUJ1ZmZlcihBcnJheUJ1ZmZlclZpZXcgZGF0
YSk7Ci0KLSAgICBXZWJHUFVUZXh0dXJlIGNyZWF0ZVRleHR1cmUoV2ViR1BVVGV4dHVyZURlc2Ny
aXB0b3IgZGVzY3JpcHRvcik7Ci0KLX07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1s
L2NhbnZhcy9XZWJHUFVTaXplLmggYi9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHUFVT
aXplLmgKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDVjMTIxYzVkNGZkMDAzOGZkZjRi
MTRiYzk2NGRhMDI3YTA4MjcxOTQuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR1BVU2l6ZS5oCisrKyAv
ZGV2L251bGwKQEAgLTEsNDAgKzAsMCBAQAotLyoKLSAqIENvcHlyaWdodCAoQykgMjAxNyBZdWlj
aGlybyBLaWt1cmEgKHkua2lrdXJhQGdtYWlsLmNvbSkKLSAqCi0gKiBSZWRpc3RyaWJ1dGlvbiBh
bmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKLSAqIG1v
ZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29u
ZGl0aW9ucwotICogYXJlIG1ldDoKLSAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29k
ZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlz
dCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCi0gKiAyLiBSZWRp
c3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHly
aWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxv
d2luZyBkaXNjbGFpbWVyIGluIHRoZQotICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIg
bWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KLSAqCi0gKiBUSElTIFNP
RlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gYGBBUyBJUycnIEFORCBBTlkKLSAqIEVY
UFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBU
TywgVEhFCi0gKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRO
RVNTIEZPUiBBIFBBUlRJQ1VMQVIKLSAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBF
VkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SCi0gKiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBB
TlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKLSAqIEVYRU1QTEFSWSwg
T1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywK
LSAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0Yg
VVNFLCBEQVRBLCBPUgotICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dF
VkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQotICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElO
IENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCi0gKiAoSU5DTFVESU5HIE5FR0xJ
R0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKLSAq
IE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0Yg
U1VDSCBEQU1BR0UuCi0gKi8KLQotI3ByYWdtYSBvbmNlCi0KLSNpZiBFTkFCTEUoV0VCR1BVKQot
Ci1uYW1lc3BhY2UgV2ViQ29yZSB7Ci0gICAgCi1zdHJ1Y3QgV2ViR1BVU2l6ZSB7Ci0gICAgdW5z
aWduZWQgd2lkdGg7Ci0gICAgdW5zaWduZWQgaGVpZ2h0OwotICAgIHVuc2lnbmVkIGRlcHRoOwot
fTsKLSAgICAKLX0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKLQotI2VuZGlmCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHUFVTaXplLmlkbCBiL1NvdXJjZS9XZWJDb3Jl
L2h0bWwvY2FudmFzL1dlYkdQVVNpemUuaWRsCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCBiOTc4M2ZiNzYxOWIyM2E3OTAwYjg0ODMxZTkzNjdkYzVlMmViOTkwLi4wMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2Fu
dmFzL1dlYkdQVVNpemUuaWRsCisrKyAvZGV2L251bGwKQEAgLTEsMzMgKzAsMCBAQAotLyoKLSAq
IENvcHlyaWdodCAoQykgMjAxNyBZdWljaGlybyBLaWt1cmEgKHkua2lrdXJhQGdtYWlsLmNvbSkK
LSAqCi0gKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1z
LCB3aXRoIG9yIHdpdGhvdXQKLSAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRl
ZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwotICogYXJlIG1ldDoKLSAqIDEuIFJlZGlz
dHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0
Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5n
IGRpc2NsYWltZXIuCi0gKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCBy
ZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2Yg
Y29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQotICogICAgZG9j
dW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3Ry
aWJ1dGlvbi4KLSAqCi0gKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4g
YGBBUyBJUycnIEFORCBBTlkKLSAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNM
VURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCi0gKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0Yg
TUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKLSAqIFBVUlBPU0Ug
QVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SCi0gKiBDT05U
UklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwg
U1BFQ0lBTCwKLSAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJ
TkcsIEJVVCBOT1QgTElNSVRFRCBUTywKLSAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09P
RFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgotICogUFJPRklUUzsgT1IgQlVT
SU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQotICog
T0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBU
T1JUCi0gKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFO
WSBXQVkgT1VUIE9GIFRIRSBVU0UKLSAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNF
RCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCi0gKi8KLSAKLVsKLSAgICBDb25k
aXRpb25hbD1XRUJHUFUsCi0gICAgRW5hYmxlZEF0UnVudGltZT1XZWJHUFUKLV0gZGljdGlvbmFy
eSBXZWJHUFVTaXplIHsKLSAgICB1bnNpZ25lZCBsb25nIHdpZHRoOwotICAgIHVuc2lnbmVkIGxv
bmcgaGVpZ2h0OwotICAgIHVuc2lnbmVkIGxvbmcgZGVwdGg7Ci19OwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR1BVVGV4dHVyZS5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9odG1sL2NhbnZhcy9XZWJHUFVUZXh0dXJlLmNwcApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMmQwNmU5NWZhZGJiYWNhMmVjMjEyNzU5MTE0Y2EzZGFlNjdmZDI2My4uMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1s
L2NhbnZhcy9XZWJHUFVUZXh0dXJlLmNwcAorKysgL2Rldi9udWxsCkBAIC0xLDQ1ICswLDAgQEAK
LS8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTcgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVk
LgotICoKLSAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9y
bXMsIHdpdGggb3Igd2l0aG91dAotICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3Zp
ZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCi0gKiBhcmUgbWV0OgotICogMS4gUmVk
aXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmln
aHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dp
bmcgZGlzY2xhaW1lci4KLSAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0
IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCi0gKiAgICBk
b2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlz
dHJpYnV0aW9uLgotICoKLSAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5D
LiBgYEFTIElTJycgQU5EIEFOWQotICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElO
Q0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKLSAqIElNUExJRUQgV0FSUkFOVElFUyBP
RiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgotICogUFVSUE9T
RSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IKLSAqIENP
TlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFM
LCBTUEVDSUFMLAotICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xV
RElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAotICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBH
T09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCi0gKiBQUk9GSVRTOyBPUiBC
VVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCi0g
KiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9S
IFRPUlQKLSAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4g
QU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQotICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJ
U0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KLSAqLwotCi0jaW5jbHVkZSAi
Y29uZmlnLmgiCi0jaW5jbHVkZSAiV2ViR1BVVGV4dHVyZS5oIgotCi0jaWYgRU5BQkxFKFdFQkdQ
VSkKLQotbmFtZXNwYWNlIFdlYkNvcmUgewotCi1SZWY8V2ViR1BVVGV4dHVyZT4gV2ViR1BVVGV4
dHVyZTo6Y3JlYXRlKEdQVVRleHR1cmUmJiB0ZXh0dXJlKQotewotICAgIHJldHVybiBhZG9wdFJl
ZigqbmV3IFdlYkdQVVRleHR1cmUoV1RGTW92ZSh0ZXh0dXJlKSkpOwotfQotCi1XZWJHUFVUZXh0
dXJlOjpXZWJHUFVUZXh0dXJlKEdQVVRleHR1cmUmJiB0ZXh0dXJlKQotICAgIDogbV90ZXh0dXJl
IHsgV1RGTW92ZSh0ZXh0dXJlKSB9Ci17Ci19Ci0KLX0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKLQot
I2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHUFVUZXh0
dXJlLmggYi9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHUFVUZXh0dXJlLmgKZGVsZXRl
ZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDRjMmYyMzVjNjVmZDcwZTcwYjExODc3YTMwZDJkNGI4
YThkZTg5ZDkuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEv
U291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR1BVVGV4dHVyZS5oCisrKyAvZGV2L251bGwK
QEAgLTEsNTUgKzAsMCBAQAotLyoKLSAqIENvcHlyaWdodCAoQykgMjAxNyBBcHBsZSBJbmMuIEFs
bCByaWdodHMgcmVzZXJ2ZWQuCi0gKgotICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3Vy
Y2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Ci0gKiBtb2RpZmljYXRpb24sIGFy
ZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKLSAqIGFy
ZSBtZXQ6Ci0gKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4g
dGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9u
cyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgotICogMi4gUmVkaXN0cmlidXRpb25zIGlu
IGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5v
dGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1l
ciBpbiB0aGUKLSAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92
aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCi0gKgotICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9W
SURFRCBCWSBBUFBMRSBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCi0gKiBFWFBSRVNTIE9SIElNUExJ
RUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQotICogSU1Q
TElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJU
SUNVTEFSCi0gKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQ
TEUgSU5DLiBPUgotICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5E
SVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCi0gKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJ
QUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCi0gKiBQUk9DVVJFTUVO
VCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IK
LSAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5E
IE9OIEFOWSBUSEVPUlkKLSAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RS
SUNUIExJQUJJTElUWSwgT1IgVE9SVAotICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVS
V0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCi0gKiBPRiBUSElTIFNPRlRX
QVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgot
ICovCi0KLSNwcmFnbWEgb25jZQotCi0jaWYgRU5BQkxFKFdFQkdQVSkKLQotI2luY2x1ZGUgIkdQ
VVRleHR1cmUuaCIKLSNpbmNsdWRlIDx3dGYvUmVmLmg+Ci0jaW5jbHVkZSA8d3RmL1JlZkNvdW50
ZWQuaD4KLQotbmFtZXNwYWNlIFdlYkNvcmUgewotCi1jbGFzcyBHUFVUZXh0dXJlRGVzY3JpcHRv
cjsKLQotY2xhc3MgV2ViR1BVVGV4dHVyZSA6IHB1YmxpYyBSZWZDb3VudGVkPFdlYkdQVVRleHR1
cmU+IHsKLXB1YmxpYzoKLSAgICBzdGF0aWMgUmVmPFdlYkdQVVRleHR1cmU+IGNyZWF0ZShHUFVU
ZXh0dXJlJiYpOwotCi0gICAgdW5zaWduZWQgd2lkdGgoKSBjb25zdCB7IHJldHVybiBtX3RleHR1
cmUud2lkdGgoKTsgfQotICAgIHVuc2lnbmVkIGhlaWdodCgpIGNvbnN0IHsgcmV0dXJuIG1fdGV4
dHVyZS5oZWlnaHQoKTsgfQotCi0gICAgY29uc3QgR1BVVGV4dHVyZSYgdGV4dHVyZSgpIGNvbnN0
IHsgcmV0dXJuIG1fdGV4dHVyZTsgfQotCi1wcml2YXRlOgotICAgIGV4cGxpY2l0IFdlYkdQVVRl
eHR1cmUoR1BVVGV4dHVyZSYmKTsKLQotICAgIEdQVVRleHR1cmUgbV90ZXh0dXJlOwotfTsKLSAg
ICAKLX0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKLQotI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHUFVUZXh0dXJlLmlkbCBiL1NvdXJjZS9XZWJDb3JlL2h0
bWwvY2FudmFzL1dlYkdQVVRleHR1cmUuaWRsCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCA3MjNmODg4NGUwYTFlMWIxYWJhNWMzN2ZjYTBjYjQ2MDc3MzdlZmYwLi4wMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2Fu
dmFzL1dlYkdQVVRleHR1cmUuaWRsCisrKyAvZGV2L251bGwKQEAgLTEsMzUgKzAsMCBAQAotLyoK
LSAqIENvcHlyaWdodCAoQykgMjAxNyBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0g
KgotICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywg
d2l0aCBvciB3aXRob3V0Ci0gKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQg
dGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKLSAqIGFyZSBtZXQ6Ci0gKiAxLiBSZWRpc3Ry
aWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAot
ICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBk
aXNjbGFpbWVyLgotICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVw
cm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNv
bmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKLSAqICAgIGRvY3Vt
ZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmli
dXRpb24uCi0gKgotICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIGBg
QVMgSVMnJyBBTkQgQU5ZCi0gKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVE
SU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQotICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1F
UkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCi0gKiBQVVJQT1NFIEFS
RSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUgotICogQ09OVFJJ
QlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQ
RUNJQUwsCi0gKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5H
LCBCVVQgTk9UIExJTUlURUQgVE8sCi0gKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RT
IE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKLSAqIFBST0ZJVFM7IE9SIEJVU0lO
RVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKLSAqIE9G
IExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9S
VAotICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkg
V0FZIE9VVCBPRiBUSEUgVVNFCi0gKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQg
T0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgotICovCi0KLVsKLSAgICBDb25kaXRp
b25hbD1XRUJHUFUsCi0gICAgRW5hYmxlZEF0UnVudGltZT1XZWJHUFUsCi0gICAgSW1wbGVtZW50
YXRpb25MYWNrc1ZUYWJsZQotXSBpbnRlcmZhY2UgV2ViR1BVVGV4dHVyZSB7Ci0KLSAgICByZWFk
b25seSBhdHRyaWJ1dGUgdW5zaWduZWQgbG9uZyB3aWR0aDsKLSAgICByZWFkb25seSBhdHRyaWJ1
dGUgdW5zaWduZWQgbG9uZyBoZWlnaHQ7Ci0KLX07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9odG1sL2NhbnZhcy9XZWJHUFVUZXh0dXJlRGVzY3JpcHRvci5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9odG1sL2NhbnZhcy9XZWJHUFVUZXh0dXJlRGVzY3JpcHRvci5jcHAKZGVsZXRlZCBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IGI4ZDczNWJlODM5YmUwNDhmMzYzN2UzMzAzMzBlNjE3YWU1YTYyYmMu
LjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvU291cmNlL1dl
YkNvcmUvaHRtbC9jYW52YXMvV2ViR1BVVGV4dHVyZURlc2NyaXB0b3IuY3BwCisrKyAvZGV2L251
bGwKQEAgLTEsMTA1ICswLDAgQEAKLS8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTcgQXBwbGUgSW5j
LiBBbGwgcmlnaHRzIHJlc2VydmVkLgotICoKLSAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4g
c291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAotICogbW9kaWZpY2F0aW9u
LCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCi0g
KiBhcmUgbWV0OgotICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0
YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRp
dGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KLSAqIDIuIFJlZGlzdHJpYnV0aW9u
cyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAg
ICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2Ns
YWltZXIgaW4gdGhlCi0gKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMg
cHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgotICoKLSAqIFRISVMgU09GVFdBUkUgSVMg
UFJPVklERUQgQlkgQVBQTEUgSU5DLiBgYEFTIElTJycgQU5EIEFOWQotICogRVhQUkVTUyBPUiBJ
TVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKLSAq
IElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEg
UEFSVElDVUxBUgotICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxM
IEFQUExFIElOQy4gT1IKLSAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1Qs
IElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAotICogRVhFTVBMQVJZLCBPUiBDT05TRVFV
RU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAotICogUFJPQ1VS
RU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEs
IE9SCi0gKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VE
IEFORCBPTiBBTlkgVEhFT1JZCi0gKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1Qs
IFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKLSAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBP
VEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQotICogT0YgVEhJUyBT
T0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFH
RS4KLSAqLwotCi0jaW5jbHVkZSAiY29uZmlnLmgiCi0jaW5jbHVkZSAiV2ViR1BVVGV4dHVyZURl
c2NyaXB0b3IuaCIKLQotI2lmIEVOQUJMRShXRUJHUFUpCi0KLW5hbWVzcGFjZSBXZWJDb3JlIHsK
LQotUmVmPFdlYkdQVVRleHR1cmVEZXNjcmlwdG9yPiBXZWJHUFVUZXh0dXJlRGVzY3JpcHRvcjo6
Y3JlYXRlKHVuc2lnbmVkIHBpeGVsRm9ybWF0LCB1bnNpZ25lZCB3aWR0aCwgdW5zaWduZWQgaGVp
Z2h0LCBib29sIG1pcG1hcHBlZCkKLXsKLSAgICByZXR1cm4gYWRvcHRSZWYoKm5ldyBXZWJHUFVU
ZXh0dXJlRGVzY3JpcHRvcihwaXhlbEZvcm1hdCwgd2lkdGgsIGhlaWdodCwgbWlwbWFwcGVkKSk7
Ci19Ci0KLVdlYkdQVVRleHR1cmVEZXNjcmlwdG9yOjpXZWJHUFVUZXh0dXJlRGVzY3JpcHRvcih1
bnNpZ25lZCBwaXhlbEZvcm1hdCwgdW5zaWduZWQgd2lkdGgsIHVuc2lnbmVkIGhlaWdodCwgYm9v
bCBtaXBtYXBwZWQpCi0gICAgOiBtX2Rlc2NyaXB0b3IgeyBwaXhlbEZvcm1hdCwgd2lkdGgsIGhl
aWdodCwgbWlwbWFwcGVkIH0KLXsKLX0KLQotdW5zaWduZWQgV2ViR1BVVGV4dHVyZURlc2NyaXB0
b3I6OndpZHRoKCkgY29uc3QKLXsKLSAgICByZXR1cm4gbV9kZXNjcmlwdG9yLndpZHRoKCk7Ci19
Ci0KLXZvaWQgV2ViR1BVVGV4dHVyZURlc2NyaXB0b3I6OnNldFdpZHRoKHVuc2lnbmVkIHdpZHRo
KQotewotICAgIG1fZGVzY3JpcHRvci5zZXRXaWR0aCh3aWR0aCk7Ci19Ci0KLXVuc2lnbmVkIFdl
YkdQVVRleHR1cmVEZXNjcmlwdG9yOjpoZWlnaHQoKSBjb25zdAotewotICAgIHJldHVybiBtX2Rl
c2NyaXB0b3IuaGVpZ2h0KCk7Ci19Ci0KLXZvaWQgV2ViR1BVVGV4dHVyZURlc2NyaXB0b3I6OnNl
dEhlaWdodCh1bnNpZ25lZCBoZWlnaHQpCi17Ci0gICAgbV9kZXNjcmlwdG9yLnNldEhlaWdodCho
ZWlnaHQpOwotfQotCi11bnNpZ25lZCBXZWJHUFVUZXh0dXJlRGVzY3JpcHRvcjo6c2FtcGxlQ291
bnQoKSBjb25zdAotewotICAgIHJldHVybiBtX2Rlc2NyaXB0b3Iuc2FtcGxlQ291bnQoKTsKLX0K
LQotdm9pZCBXZWJHUFVUZXh0dXJlRGVzY3JpcHRvcjo6c2V0U2FtcGxlQ291bnQodW5zaWduZWQg
c2FtcGxlQ291bnQpCi17Ci0gICAgbV9kZXNjcmlwdG9yLnNldFNhbXBsZUNvdW50KHNhbXBsZUNv
dW50KTsKLX0KLQotdW5zaWduZWQgV2ViR1BVVGV4dHVyZURlc2NyaXB0b3I6OnRleHR1cmVUeXBl
KCkgY29uc3QKLXsKLSAgICByZXR1cm4gbV9kZXNjcmlwdG9yLnRleHR1cmVUeXBlKCk7Ci19Ci0K
LXZvaWQgV2ViR1BVVGV4dHVyZURlc2NyaXB0b3I6OnNldFRleHR1cmVUeXBlKHVuc2lnbmVkIHRl
eHR1cmVUeXBlKQotewotICAgIG1fZGVzY3JpcHRvci5zZXRUZXh0dXJlVHlwZSh0ZXh0dXJlVHlw
ZSk7Ci19Ci0KLXVuc2lnbmVkIFdlYkdQVVRleHR1cmVEZXNjcmlwdG9yOjpzdG9yYWdlTW9kZSgp
IGNvbnN0Ci17Ci0gICAgcmV0dXJuIG1fZGVzY3JpcHRvci5zdG9yYWdlTW9kZSgpOwotfQotCi12
b2lkIFdlYkdQVVRleHR1cmVEZXNjcmlwdG9yOjpzZXRTdG9yYWdlTW9kZSh1bnNpZ25lZCBzdG9y
YWdlTW9kZSkKLXsKLSAgICBtX2Rlc2NyaXB0b3Iuc2V0U3RvcmFnZU1vZGUoc3RvcmFnZU1vZGUp
OwotfQotCi11bnNpZ25lZCBXZWJHUFVUZXh0dXJlRGVzY3JpcHRvcjo6dXNhZ2UoKSBjb25zdAot
ewotICAgIHJldHVybiBtX2Rlc2NyaXB0b3IudXNhZ2UoKTsKLX0KLQotdm9pZCBXZWJHUFVUZXh0
dXJlRGVzY3JpcHRvcjo6c2V0VXNhZ2UodW5zaWduZWQgdXNhZ2UpCi17Ci0gICAgbV9kZXNjcmlw
dG9yLnNldFVzYWdlKHVzYWdlKTsKLX0KLSAgICAKLX0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKLQot
I2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHUFVUZXh0
dXJlRGVzY3JpcHRvci5oIGIvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR1BVVGV4dHVy
ZURlc2NyaXB0b3IuaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYzAxODkzYjcxNWI5
YTNjNDY2YWMwNjA3ODNjYjEyNmY3ZTk1ODk1ZS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHUFVUZXh0
dXJlRGVzY3JpcHRvci5oCisrKyAvZGV2L251bGwKQEAgLTEsNjggKzAsMCBAQAotLyoKLSAqIENv
cHlyaWdodCAoQykgMjAxNyBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0gKgotICog
UmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBv
ciB3aXRob3V0Ci0gKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0
aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKLSAqIGFyZSBtZXQ6Ci0gKiAxLiBSZWRpc3RyaWJ1dGlv
bnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAg
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFp
bWVyLgotICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNl
IHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlv
bnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKLSAqICAgIGRvY3VtZW50YXRp
b24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24u
Ci0gKgotICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIGBgQVMgSVMn
JyBBTkQgQU5ZCi0gKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBC
VVQgTk9UIExJTUlURUQgVE8sIFRIRQotICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5U
QUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCi0gKiBQVVJQT1NFIEFSRSBESVND
TEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUgotICogQ09OVFJJQlVUT1JT
IEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUws
Ci0gKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQg
Tk9UIExJTUlURUQgVE8sCi0gKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNF
UlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKLSAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElO
VEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKLSAqIE9GIExJQUJJ
TElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAotICog
KElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9V
VCBPRiBUSEUgVVNFCi0gKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhF
IFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgotICovCi0KLSNwcmFnbWEgb25jZQotCi0jaWYg
RU5BQkxFKFdFQkdQVSkKLQotI2luY2x1ZGUgIkdQVVRleHR1cmVEZXNjcmlwdG9yLmgiCi0jaW5j
bHVkZSA8d3RmL1JlZi5oPgotI2luY2x1ZGUgPHd0Zi9SZWZDb3VudGVkLmg+Ci0KLW5hbWVzcGFj
ZSBXZWJDb3JlIHsKLQotY2xhc3MgV2ViR1BVVGV4dHVyZURlc2NyaXB0b3IgOiBwdWJsaWMgUmVm
Q291bnRlZDxXZWJHUFVUZXh0dXJlRGVzY3JpcHRvcj4gewotcHVibGljOgotICAgIHN0YXRpYyBS
ZWY8V2ViR1BVVGV4dHVyZURlc2NyaXB0b3I+IGNyZWF0ZSh1bnNpZ25lZCBwaXhlbEZvcm1hdCwg
dW5zaWduZWQgd2lkdGgsIHVuc2lnbmVkIGhlaWdodCwgYm9vbCBtaXBtYXBwZWQpOwotCi0gICAg
dW5zaWduZWQgd2lkdGgoKSBjb25zdDsKLSAgICB2b2lkIHNldFdpZHRoKHVuc2lnbmVkKTsKLQot
ICAgIHVuc2lnbmVkIGhlaWdodCgpIGNvbnN0OwotICAgIHZvaWQgc2V0SGVpZ2h0KHVuc2lnbmVk
KTsKLQotICAgIHVuc2lnbmVkIHNhbXBsZUNvdW50KCkgY29uc3Q7Ci0gICAgdm9pZCBzZXRTYW1w
bGVDb3VudCh1bnNpZ25lZCk7Ci0KLSAgICB1bnNpZ25lZCB0ZXh0dXJlVHlwZSgpIGNvbnN0Owot
ICAgIHZvaWQgc2V0VGV4dHVyZVR5cGUodW5zaWduZWQpOwotCi0gICAgdW5zaWduZWQgc3RvcmFn
ZU1vZGUoKSBjb25zdDsKLSAgICB2b2lkIHNldFN0b3JhZ2VNb2RlKHVuc2lnbmVkKTsKLQotICAg
IHVuc2lnbmVkIHVzYWdlKCkgY29uc3Q7Ci0gICAgdm9pZCBzZXRVc2FnZSh1bnNpZ25lZCk7Ci0K
LSAgICBjb25zdCBHUFVUZXh0dXJlRGVzY3JpcHRvciYgZGVzY3JpcHRvcigpIHsgcmV0dXJuIG1f
ZGVzY3JpcHRvcjsgfQotCi1wcml2YXRlOgotICAgIFdlYkdQVVRleHR1cmVEZXNjcmlwdG9yKHVu
c2lnbmVkIHBpeGVsRm9ybWF0LCB1bnNpZ25lZCB3aWR0aCwgdW5zaWduZWQgaGVpZ2h0LCBib29s
IG1pcG1hcHBlZCk7Ci0KLSAgICBHUFVUZXh0dXJlRGVzY3JpcHRvciBtX2Rlc2NyaXB0b3I7Ci19
OwotCi19IC8vIG5hbWVzcGFjZSBXZWJDb3JlCi0KLSNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR1BVVGV4dHVyZURlc2NyaXB0b3IuaWRsIGIvU291cmNl
L1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR1BVVGV4dHVyZURlc2NyaXB0b3IuaWRsCmRlbGV0ZWQg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCBkYjZhMDYzM2ZlYmRiZTQ0ZWE3NzJiODY3M2YzNDc2Yzhm
MmMyYjljLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdQVVRleHR1cmVEZXNjcmlwdG9yLmlkbAorKysg
L2Rldi9udWxsCkBAIC0xLDQzICswLDAgQEAKLS8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTcgQXBw
bGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgotICoKLSAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1
c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAotICogbW9kaWZp
Y2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRp
b25zCi0gKiBhcmUgbWV0OgotICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11
c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9m
IGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KLSAqIDIuIFJlZGlzdHJp
YnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0
Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5n
IGRpc2NsYWltZXIgaW4gdGhlCi0gKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRl
cmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgotICoKLSAqIFRISVMgU09GVFdB
UkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBgYEFTIElTJycgQU5EIEFOWQotICogRVhQUkVT
UyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBU
SEUKLSAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1Mg
Rk9SIEEgUEFSVElDVUxBUgotICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5U
IFNIQUxMIEFQUExFIElOQy4gT1IKLSAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBE
SVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAotICogRVhFTVBMQVJZLCBPUiBD
T05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAotICog
UFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0Us
IERBVEEsIE9SCi0gKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIg
Q0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCi0gKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09O
VFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKLSAqIChJTkNMVURJTkcgTkVHTElHRU5D
RSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQotICogT0Yg
VEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNI
IERBTUFHRS4KLSAqLwotCi1bCi0gICAgQ29uc3RydWN0b3IodW5zaWduZWQgbG9uZyBwaXhlbEZv
cm1hdCwgdW5zaWduZWQgbG9uZyB3aWR0aCwgdW5zaWduZWQgbG9uZyBoZWlnaHQsIGJvb2xlYW4g
bWlwbWFwcGVkKSwKLSAgICBDb25kaXRpb25hbD1XRUJHUFUsCi0gICAgRW5hYmxlZEF0UnVudGlt
ZT1XZWJHUFUsCi0gICAgSW1wbGVtZW50YXRpb25MYWNrc1ZUYWJsZQotXSBpbnRlcmZhY2UgV2Vi
R1BVVGV4dHVyZURlc2NyaXB0b3IgewotCi0gICAgYXR0cmlidXRlIHVuc2lnbmVkIGxvbmcgdGV4
dHVyZVR5cGU7Ci0KLSAgICBhdHRyaWJ1dGUgdW5zaWduZWQgbG9uZyB3aWR0aDsKLSAgICBhdHRy
aWJ1dGUgdW5zaWduZWQgbG9uZyBoZWlnaHQ7Ci0gICAgYXR0cmlidXRlIHVuc2lnbmVkIGxvbmcg
c2FtcGxlQ291bnQ7Ci0KLSAgICBhdHRyaWJ1dGUgdW5zaWduZWQgbG9uZyBzdG9yYWdlTW9kZTsK
LQotICAgIGF0dHJpYnV0ZSB1bnNpZ25lZCBsb25nIHVzYWdlOwotCi19OwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViTWV0YWxCdWZmZXIuY3BwIGIvU291cmNlL1dl
YkNvcmUvaHRtbC9jYW52YXMvV2ViTWV0YWxCdWZmZXIuY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmJkMzAxZWU5
ODU1M2E2MTc5YjRkYjNmYTRkY2IzNGFkZGVkMmZlZGMKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJNZXRhbEJ1ZmZlci5jcHAKQEAgLTAsMCArMSw0NiBA
QAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxNyBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2
ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBm
b3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJv
dmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBS
ZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHly
aWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxv
d2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11
c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAg
IGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBk
aXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJ
TkMuIGBgQVMgSVMnJyBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywg
SU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQorICogSU1QTElFRCBXQVJSQU5USUVT
IE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQ
T1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUgorICog
Q09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5U
QUwsIFNQRUNJQUwsCisgKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5D
TFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRF
IEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKKyAqIFBST0ZJVFM7IE9S
IEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkK
KyAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwg
T1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJ
TiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFE
VklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpbmNsdWRl
ICJjb25maWcuaCIKKyNpbmNsdWRlICJXZWJNZXRhbEJ1ZmZlci5oIgorCisjaWYgRU5BQkxFKFdF
Qk1FVEFMKQorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK1JlZlB0cjxXZWJNZXRhbEJ1ZmZlcj4g
V2ViTWV0YWxCdWZmZXI6OmNyZWF0ZShHUFVCdWZmZXImJiBidWZmZXIpCit7CisgICAgLy8gRklY
TUU6IENvbnNpZGVyIHJldHVybmluZyBudWxsIHJhdGhlciB0aGFuIGEgYnVmZmVyIHdpdGggbGVu
Z3RoIDAgYW5kIGNvbnRlbnRzIG51bGwgd2hlbiBjcmVhdGlvbiBmYWlscy4KKyAgICByZXR1cm4g
YWRvcHRSZWYoKm5ldyBXZWJNZXRhbEJ1ZmZlcihXVEZNb3ZlKGJ1ZmZlcikpKTsKK30KKworV2Vi
TWV0YWxCdWZmZXI6OldlYk1ldGFsQnVmZmVyKEdQVUJ1ZmZlciYmIGJ1ZmZlcikKKyAgICA6IG1f
YnVmZmVyIHsgV1RGTW92ZShidWZmZXIpIH0KK3sKK30KKworfSAvLyBuYW1lc3BhY2UgV2ViQ29y
ZQorCisjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYk1l
dGFsQnVmZmVyLmggYi9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJNZXRhbEJ1ZmZlci5o
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjJlMzQxYTcyYWVhOTA3ZDgyYmJiYjk3M2EzNWVhYzY5ZGYwNTQ4Y2IKLS0t
IC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJNZXRhbEJ1ZmZl
ci5oCkBAIC0wLDAgKzEsNTMgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTcgQXBwbGUgSW5j
LiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4g
c291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9u
LCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisg
KiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0
YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRp
dGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9u
cyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAg
ICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2Ns
YWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMg
cHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMg
UFJPVklERUQgQlkgQVBQTEUgSU5DLiBgYEFTIElTJycgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJ
TVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKKyAq
IElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEg
UEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxM
IEFQUExFIElOQy4gT1IKKyAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1Qs
IElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAorICogRVhFTVBMQVJZLCBPUiBDT05TRVFV
RU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogUFJPQ1VS
RU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEs
IE9SCisgKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VE
IEFORCBPTiBBTlkgVEhFT1JZCisgKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1Qs
IFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBP
VEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBT
T0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFH
RS4KKyAqLworCisjcHJhZ21hIG9uY2UKKworI2lmIEVOQUJMRShXRUJNRVRBTCkKKworI2luY2x1
ZGUgIkdQVUJ1ZmZlci5oIgorI2luY2x1ZGUgPHd0Zi9SZWZDb3VudGVkLmg+CisjaW5jbHVkZSA8
d3RmL1JlZlB0ci5oPgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK2NsYXNzIFdlYk1ldGFsQnVm
ZmVyIDogcHVibGljIFJlZkNvdW50ZWQ8V2ViTWV0YWxCdWZmZXI+IHsKK3B1YmxpYzoKKyAgICBz
dGF0aWMgUmVmUHRyPFdlYk1ldGFsQnVmZmVyPiBjcmVhdGUoR1BVQnVmZmVyJiYpOworCisgICAg
dW5zaWduZWQgbGVuZ3RoKCkgY29uc3QgeyByZXR1cm4gbV9idWZmZXIubGVuZ3RoKCk7IH0KKyAg
ICBKU0M6OkFycmF5QnVmZmVyJiBjb250ZW50cygpIGNvbnN0IHsgcmV0dXJuICptX2J1ZmZlci5j
b250ZW50cygpOyB9CisKKyAgICBjb25zdCBHUFVCdWZmZXImIGJ1ZmZlcigpIGNvbnN0IHsgcmV0
dXJuIG1fYnVmZmVyOyB9CisKK3ByaXZhdGU6CisgICAgZXhwbGljaXQgV2ViTWV0YWxCdWZmZXIo
R1BVQnVmZmVyJiYpOworCisgICAgR1BVQnVmZmVyIG1fYnVmZmVyOworfTsKKworfSAvLyBuYW1l
c3BhY2UgV2ViQ29yZQorCisjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwv
Y2FudmFzL1dlYk1ldGFsQnVmZmVyLmlkbCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dl
Yk1ldGFsQnVmZmVyLmlkbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5hMjc1MzU2NmRiMjE1ZDQwNThjNGFkNTIyZjgy
NDdmODMxOGZhMzNlCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52
YXMvV2ViTWV0YWxCdWZmZXIuaWRsCkBAIC0wLDAgKzEsMzUgQEAKKy8qCisgKiBDb3B5cmlnaHQg
KEMpIDIwMTcgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJp
YnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91
dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxv
d2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNv
dXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwg
dGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAq
IDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJv
dmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9v
ciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAq
IFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBgYEFTIElTJycgQU5EIEFO
WQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBM
SU1JVEVEIFRPLCBUSEUKKyAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkg
QU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4g
IElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IKKyAqIENPTlRSSUJVVE9SUyBCRSBMSUFC
TEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAorICogRVhF
TVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1J
VEVEIFRPLAorICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsg
TE9TUyBPRiBVU0UsIERBVEEsIE9SCisgKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJ
T04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCisgKiBPRiBMSUFCSUxJVFksIFdI
RVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJ
TkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhF
IFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJ
TElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCitbCisgICAgQ29uZGl0aW9uYWw9V0VCTUVUQUws
CisgICAgRW5hYmxlZEF0UnVudGltZT1XZWJNZXRhbCwKKyAgICBJbXBsZW1lbnRhdGlvbkxhY2tz
VlRhYmxlCitdIGludGVyZmFjZSBXZWJNZXRhbEJ1ZmZlciB7CisKKyAgICByZWFkb25seSBhdHRy
aWJ1dGUgdW5zaWduZWQgbG9uZyBsZW5ndGg7CisgICAgcmVhZG9ubHkgYXR0cmlidXRlIEFycmF5
QnVmZmVyVmlldyBjb250ZW50czsKKworfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0
bWwvY2FudmFzL1dlYk1ldGFsQ29tbWFuZEJ1ZmZlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1s
L2NhbnZhcy9XZWJNZXRhbENvbW1hbmRCdWZmZXIuY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmQxYmJlMWE2NDhj
MTQ1M2M4MzAwYjQ4MzE1NzY2NzQ2MjQwZGVlOTAKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9odG1sL2NhbnZhcy9XZWJNZXRhbENvbW1hbmRCdWZmZXIuY3BwCkBAIC0wLDAgKzEs
ODcgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTcgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJl
c2VydmVkLgorICogQ29weXJpZ2h0IChDKSAyMDE3IFl1aWNoaXJvIEtpa3VyYSAoeS5raWt1cmFA
Z21haWwuY29tKQorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBi
aW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0
dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0Ogor
ICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92
ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRo
ZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkg
Zm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRo
aXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhl
CisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0
aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkg
QVBQTEUgSU5DLiBgYEFTIElTJycgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJB
TlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKKyAqIElNUExJRUQgV0FS
UkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgor
ICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4g
T1IKKyAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJ
TkNJREVOVEFMLCBTUEVDSUFMLAorICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFH
RVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogUFJPQ1VSRU1FTlQgT0YgU1VC
U1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCisgKiBQUk9G
SVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkg
VEhFT1JZCisgKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFC
SUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFS
SVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZF
TiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisj
aW5jbHVkZSAiY29uZmlnLmgiCisjaW5jbHVkZSAiV2ViTWV0YWxDb21tYW5kQnVmZmVyLmgiCisK
KyNpZiBFTkFCTEUoV0VCTUVUQUwpCisKKyNpbmNsdWRlICJHUFVDb21tYW5kQnVmZmVyLmgiCisj
aW5jbHVkZSAiR1BVQ29tbWFuZFF1ZXVlLmgiCisjaW5jbHVkZSAiTG9nZ2luZy5oIgorI2luY2x1
ZGUgIldlYk1ldGFsQ29tcHV0ZUNvbW1hbmRFbmNvZGVyLmgiCisjaW5jbHVkZSAiV2ViTWV0YWxE
cmF3YWJsZS5oIgorI2luY2x1ZGUgIldlYk1ldGFsUmVuZGVyQ29tbWFuZEVuY29kZXIuaCIKKyNp
bmNsdWRlICJXZWJNZXRhbFJlbmRlclBhc3NEZXNjcmlwdG9yLmgiCisKK25hbWVzcGFjZSBXZWJD
b3JlIHsKKworUmVmPFdlYk1ldGFsQ29tbWFuZEJ1ZmZlcj4gV2ViTWV0YWxDb21tYW5kQnVmZmVy
OjpjcmVhdGUoY29uc3QgR1BVQ29tbWFuZFF1ZXVlJiBxdWV1ZSkKK3sKKyAgICByZXR1cm4gYWRv
cHRSZWYoKm5ldyBXZWJNZXRhbENvbW1hbmRCdWZmZXIocXVldWUpKTsKK30KKworV2ViTWV0YWxD
b21tYW5kQnVmZmVyOjpXZWJNZXRhbENvbW1hbmRCdWZmZXIoY29uc3QgR1BVQ29tbWFuZFF1ZXVl
JiBxdWV1ZSkKKyAgICA6IG1fYnVmZmVyIHsgcXVldWUsIFt0aGlzXSAoKSB7IG1fY29tcGxldGVk
LnJlc29sdmUoKTsgfSB9Cit7CisgICAgTE9HKFdlYk1ldGFsLCAiV2ViTWV0YWxDb21tYW5kQnVm
ZmVyOjpXZWJNZXRhbENvbW1hbmRCdWZmZXIoKSIpOworfQorCitXZWJNZXRhbENvbW1hbmRCdWZm
ZXI6On5XZWJNZXRhbENvbW1hbmRCdWZmZXIoKQoreworICAgIExPRyhXZWJNZXRhbCwgIldlYk1l
dGFsQ29tbWFuZEJ1ZmZlcjo6fldlYk1ldGFsQ29tbWFuZEJ1ZmZlcigpIik7Cit9CisKK3ZvaWQg
V2ViTWV0YWxDb21tYW5kQnVmZmVyOjpjb21taXQoKQoreworICAgIExPRyhXZWJNZXRhbCwgIldl
Yk1ldGFsQ29tbWFuZEJ1ZmZlcjo6Y29tbWl0KCkiKTsKKyAgICBtX2J1ZmZlci5jb21taXQoKTsK
K30KKwordm9pZCBXZWJNZXRhbENvbW1hbmRCdWZmZXI6OnByZXNlbnREcmF3YWJsZShXZWJNZXRh
bERyYXdhYmxlJiBkcmF3YWJsZSkKK3sKKyAgICBMT0coV2ViTWV0YWwsICJXZWJNZXRhbENvbW1h
bmRCdWZmZXI6OnByZXNlbnREcmF3YWJsZSgpIik7CisgICAgbV9idWZmZXIucHJlc2VudERyYXdh
YmxlKGRyYXdhYmxlLmRyYXdhYmxlKCkpOworfQorCitSZWY8V2ViTWV0YWxSZW5kZXJDb21tYW5k
RW5jb2Rlcj4gV2ViTWV0YWxDb21tYW5kQnVmZmVyOjpjcmVhdGVSZW5kZXJDb21tYW5kRW5jb2Rl
cldpdGhEZXNjcmlwdG9yKFdlYk1ldGFsUmVuZGVyUGFzc0Rlc2NyaXB0b3ImIGRlc2NyaXB0b3Ip
Cit7CisgICAgcmV0dXJuIFdlYk1ldGFsUmVuZGVyQ29tbWFuZEVuY29kZXI6OmNyZWF0ZShHUFVS
ZW5kZXJDb21tYW5kRW5jb2RlciB7IG1fYnVmZmVyLCBkZXNjcmlwdG9yLmRlc2NyaXB0b3IoKSB9
KTsKK30KKworUmVmPFdlYk1ldGFsQ29tcHV0ZUNvbW1hbmRFbmNvZGVyPiBXZWJNZXRhbENvbW1h
bmRCdWZmZXI6OmNyZWF0ZUNvbXB1dGVDb21tYW5kRW5jb2RlcigpCit7CisgICAgcmV0dXJuIFdl
Yk1ldGFsQ29tcHV0ZUNvbW1hbmRFbmNvZGVyOjpjcmVhdGUoR1BVQ29tcHV0ZUNvbW1hbmRFbmNv
ZGVyIHsgbV9idWZmZXIgfSk7Cit9CisKK0RPTVByb21pc2VQcm94eTxJRExWb2lkPiYgV2ViTWV0
YWxDb21tYW5kQnVmZmVyOjpjb21wbGV0ZWQoKQoreworICAgIHJldHVybiBtX2NvbXBsZXRlZDsK
K30KKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorCisjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYk1ldGFsQ29tbWFuZEJ1ZmZlci5oIGIvU291cmNlL1dl
YkNvcmUvaHRtbC9jYW52YXMvV2ViTWV0YWxDb21tYW5kQnVmZmVyLmgKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYjM4
NGYyZDEyODcxZjkxYjVmYjJmYjI1ZTA2MDA3MTBhYWY2Nzg3ZQotLS0gL2Rldi9udWxsCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYk1ldGFsQ29tbWFuZEJ1ZmZlci5oCkBAIC0w
LDAgKzEsNjcgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTcgQXBwbGUgSW5jLiBBbGwgcmln
aHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0IChDKSAyMDE3IFl1aWNoaXJvIEtpa3VyYSAoeS5r
aWt1cmFAZ21haWwuY29tKQorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNl
IGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUg
cGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUg
bWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRo
ZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBi
aW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3Rp
Y2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIg
aW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlk
ZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklE
RUQgQlkgQVBQTEUgSU5DLiBgYEFTIElTJycgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVE
IFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKKyAqIElNUExJ
RUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElD
VUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExF
IElOQy4gT1IKKyAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElS
RUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAorICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFM
IERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogUFJPQ1VSRU1FTlQg
T0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCisg
KiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBP
TiBBTlkgVEhFT1JZCisgKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklD
VCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJ
U0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FS
RSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAq
LworCisjcHJhZ21hIG9uY2UKKworI2lmIEVOQUJMRShXRUJNRVRBTCkKKworI2luY2x1ZGUgIkRP
TVByb21pc2VQcm94eS5oIgorI2luY2x1ZGUgIkdQVUNvbW1hbmRCdWZmZXIuaCIKKyNpbmNsdWRl
IDx3dGYvUmVmLmg+CisjaW5jbHVkZSA8d3RmL1JlZkNvdW50ZWQuaD4KKworbmFtZXNwYWNlIFdl
YkNvcmUgeworCitjbGFzcyBXZWJNZXRhbENvbXB1dGVDb21tYW5kRW5jb2RlcjsKK2NsYXNzIFdl
Yk1ldGFsRHJhd2FibGU7CitjbGFzcyBXZWJNZXRhbFJlbmRlckNvbW1hbmRFbmNvZGVyOworY2xh
c3MgV2ViTWV0YWxSZW5kZXJQYXNzRGVzY3JpcHRvcjsKKworY2xhc3MgV2ViTWV0YWxDb21tYW5k
QnVmZmVyIDogcHVibGljIFJlZkNvdW50ZWQ8V2ViTWV0YWxDb21tYW5kQnVmZmVyPiB7CitwdWJs
aWM6CisgICAgfldlYk1ldGFsQ29tbWFuZEJ1ZmZlcigpOworICAgIHN0YXRpYyBSZWY8V2ViTWV0
YWxDb21tYW5kQnVmZmVyPiBjcmVhdGUoY29uc3QgR1BVQ29tbWFuZFF1ZXVlJik7CisKKyAgICB2
b2lkIGNvbW1pdCgpOworICAgIHZvaWQgcHJlc2VudERyYXdhYmxlKFdlYk1ldGFsRHJhd2FibGUm
KTsKKworICAgIFJlZjxXZWJNZXRhbFJlbmRlckNvbW1hbmRFbmNvZGVyPiBjcmVhdGVSZW5kZXJD
b21tYW5kRW5jb2RlcldpdGhEZXNjcmlwdG9yKFdlYk1ldGFsUmVuZGVyUGFzc0Rlc2NyaXB0b3Im
KTsKKyAgICBSZWY8V2ViTWV0YWxDb21wdXRlQ29tbWFuZEVuY29kZXI+IGNyZWF0ZUNvbXB1dGVD
b21tYW5kRW5jb2RlcigpOworCisgICAgRE9NUHJvbWlzZVByb3h5PElETFZvaWQ+JiBjb21wbGV0
ZWQoKTsKKworICAgIGNvbnN0IEdQVUNvbW1hbmRCdWZmZXImIGJ1ZmZlcigpIGNvbnN0IHsgcmV0
dXJuIG1fYnVmZmVyOyB9CisKK3ByaXZhdGU6CisgICAgZXhwbGljaXQgV2ViTWV0YWxDb21tYW5k
QnVmZmVyKGNvbnN0IEdQVUNvbW1hbmRRdWV1ZSYpOworCisgICAgR1BVQ29tbWFuZEJ1ZmZlciBt
X2J1ZmZlcjsKKyAgICBET01Qcm9taXNlUHJveHk8SURMVm9pZD4gbV9jb21wbGV0ZWQ7Cit9Owor
Cit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKKyNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvaHRtbC9jYW52YXMvV2ViTWV0YWxDb21tYW5kQnVmZmVyLmlkbCBiL1NvdXJjZS9XZWJD
b3JlL2h0bWwvY2FudmFzL1dlYk1ldGFsQ29tbWFuZEJ1ZmZlci5pZGwKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uY2Mx
YTAwZjViYmViMWEzYmViZmU2ODA1ZGZlMTM1MDA4MTI3YWM5NQotLS0gL2Rldi9udWxsCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYk1ldGFsQ29tbWFuZEJ1ZmZlci5pZGwKQEAg
LTAsMCArMSwzNyBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxNyBBcHBsZSBJbmMuIEFsbCBy
aWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIwMTcgWXVpY2hpcm8gS2lrdXJhICh5
Lmtpa3VyYUBnbWFpbC5jb20pCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3Vy
Y2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFy
ZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFy
ZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4g
dGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9u
cyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGlu
IGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5v
dGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1l
ciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92
aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9W
SURFRCBCWSBBUFBMRSBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJ
RUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQorICogSU1Q
TElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJU
SUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQ
TEUgSU5DLiBPUgorICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5E
SVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCisgKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJ
QUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBQUk9DVVJFTUVO
VCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IK
KyAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5E
IE9OIEFOWSBUSEVPUlkKKyAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RS
SUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVS
V0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRX
QVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgor
ICovCisKK1sKKyAgICBDb25kaXRpb25hbD1XRUJNRVRBTCwKKyAgICBFbmFibGVkQXRSdW50aW1l
PVdlYk1ldGFsLAorICAgIEltcGxlbWVudGF0aW9uTGFja3NWVGFibGUKK10gaW50ZXJmYWNlIFdl
Yk1ldGFsQ29tbWFuZEJ1ZmZlciB7CisgICAgV2ViTWV0YWxSZW5kZXJDb21tYW5kRW5jb2RlciBj
cmVhdGVSZW5kZXJDb21tYW5kRW5jb2RlcldpdGhEZXNjcmlwdG9yKFdlYk1ldGFsUmVuZGVyUGFz
c0Rlc2NyaXB0b3IgZGVzY3JpcHRvcik7CisgICAgV2ViTWV0YWxDb21wdXRlQ29tbWFuZEVuY29k
ZXIgY3JlYXRlQ29tcHV0ZUNvbW1hbmRFbmNvZGVyKCk7CisgICAgdm9pZCBjb21taXQoKTsKKyAg
ICB2b2lkIHByZXNlbnREcmF3YWJsZShXZWJNZXRhbERyYXdhYmxlIGRyYXdhYmxlKTsKKyAgICBy
ZWFkb25seSBhdHRyaWJ1dGUgUHJvbWlzZTx2b2lkPiBjb21wbGV0ZWQ7Cit9OwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViTWV0YWxDb21tYW5kUXVldWUuY3BwIGIv
U291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViTWV0YWxDb21tYW5kUXVldWUuY3BwCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLmE0OWIyM2I1ZTJkNGNmNDI4NThhZjZjYTY4MDJiNDJjODliNzI5NjMKLS0tIC9kZXYv
bnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJNZXRhbENvbW1hbmRRdWV1
ZS5jcHAKQEAgLTAsMCArMSw1NCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxNyBBcHBsZSBJ
bmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBp
biBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRp
b24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMK
KyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCBy
ZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29u
ZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRp
b25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAq
ICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlz
Y2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFs
cyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJ
UyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCisgKiBFWFBSRVNTIE9S
IElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQor
ICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1Ig
QSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hB
TEwgQVBQTEUgSU5DLiBPUgorICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVD
VCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCisgKiBFWEVNUExBUlksIE9SIENPTlNF
UVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBQUk9D
VVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFU
QSwgT1IKKyAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVT
RUQgQU5EIE9OIEFOWSBUSEVPUlkKKyAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFD
VCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9S
IE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElT
IFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFN
QUdFLgorICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJXZWJNZXRhbENvbW1h
bmRRdWV1ZS5oIgorCisjaWYgRU5BQkxFKFdFQk1FVEFMKQorCisjaW5jbHVkZSAiV2ViTWV0YWxD
b21tYW5kQnVmZmVyLmgiCisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworUmVmPFdlYk1ldGFsQ29t
bWFuZFF1ZXVlPiBXZWJNZXRhbENvbW1hbmRRdWV1ZTo6Y3JlYXRlKEdQVUNvbW1hbmRRdWV1ZSYm
IHF1ZXVlKQoreworICAgIHJldHVybiBhZG9wdFJlZigqbmV3IFdlYk1ldGFsQ29tbWFuZFF1ZXVl
KFdURk1vdmUocXVldWUpKSk7Cit9CisKK1dlYk1ldGFsQ29tbWFuZFF1ZXVlOjpXZWJNZXRhbENv
bW1hbmRRdWV1ZShHUFVDb21tYW5kUXVldWUmJiBxdWV1ZSkKKyAgICA6IG1fcXVldWUgeyBXVEZN
b3ZlKHF1ZXVlKSB9Cit7Cit9CisKK1dlYk1ldGFsQ29tbWFuZFF1ZXVlOjp+V2ViTWV0YWxDb21t
YW5kUXVldWUoKSA9IGRlZmF1bHQ7CisKK1JlZjxXZWJNZXRhbENvbW1hbmRCdWZmZXI+IFdlYk1l
dGFsQ29tbWFuZFF1ZXVlOjpjcmVhdGVDb21tYW5kQnVmZmVyKCkKK3sKKyAgICByZXR1cm4gV2Vi
TWV0YWxDb21tYW5kQnVmZmVyOjpjcmVhdGUobV9xdWV1ZSk7Cit9CisKK30gLy8gbmFtZXNwYWNl
IFdlYkNvcmUKKworI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZh
cy9XZWJNZXRhbENvbW1hbmRRdWV1ZS5oIGIvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2Vi
TWV0YWxDb21tYW5kUXVldWUuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mNTA3YjIzNjEwNmVlYTJkNTg2NzA3NWM2
OTNiNjQ4Y2M4ZDg0NGI2Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9j
YW52YXMvV2ViTWV0YWxDb21tYW5kUXVldWUuaApAQCAtMCwwICsxLDU2IEBACisvKgorICogQ29w
eXJpZ2h0IChDKSAyMDE3IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBS
ZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9y
IHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRo
ZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9u
cyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBu
b3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWlt
ZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2Ug
dGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9u
cyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlv
biBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4K
KyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gYGBBUyBJUycn
IEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJV
VCBOT1QgTElNSVRFRCBUTywgVEhFCisgKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRB
QklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NM
QUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SCisgKiBDT05UUklCVVRPUlMg
QkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwK
KyAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBO
T1QgTElNSVRFRCBUTywKKyAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VS
VklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgorICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5U
RVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQorICogT0YgTElBQklM
SVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAo
SU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VU
IE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUg
UE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI3ByYWdtYSBvbmNlCisKKyNpZiBF
TkFCTEUoV0VCTUVUQUwpCisKKyNpbmNsdWRlICJHUFVDb21tYW5kUXVldWUuaCIKKyNpbmNsdWRl
IDx3dGYvUmVmLmg+CisjaW5jbHVkZSA8d3RmL1JlZkNvdW50ZWQuaD4KKworbmFtZXNwYWNlIFdl
YkNvcmUgeworCitjbGFzcyBXZWJNZXRhbENvbW1hbmRCdWZmZXI7CisKK2NsYXNzIFdlYk1ldGFs
Q29tbWFuZFF1ZXVlIDogcHVibGljIFJlZkNvdW50ZWQ8V2ViTWV0YWxDb21tYW5kUXVldWU+IHsK
K3B1YmxpYzoKKyAgICB+V2ViTWV0YWxDb21tYW5kUXVldWUoKTsKKyAgICBzdGF0aWMgUmVmPFdl
Yk1ldGFsQ29tbWFuZFF1ZXVlPiBjcmVhdGUoR1BVQ29tbWFuZFF1ZXVlJiYpOworCisgICAgU3Ry
aW5nIGxhYmVsKCkgY29uc3QgeyByZXR1cm4gbV9xdWV1ZS5sYWJlbCgpOyB9CisgICAgdm9pZCBz
ZXRMYWJlbChjb25zdCBTdHJpbmcmIGxhYmVsKSB7IG1fcXVldWUuc2V0TGFiZWwobGFiZWwpOyB9
CisKKyAgICBSZWY8V2ViTWV0YWxDb21tYW5kQnVmZmVyPiBjcmVhdGVDb21tYW5kQnVmZmVyKCk7
CisKK3ByaXZhdGU6CisgICAgZXhwbGljaXQgV2ViTWV0YWxDb21tYW5kUXVldWUoR1BVQ29tbWFu
ZFF1ZXVlJiYpOworCisgICAgR1BVQ29tbWFuZFF1ZXVlIG1fcXVldWU7Cit9OworCit9IC8vIG5h
bWVzcGFjZSBXZWJDb3JlCisKKyNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRt
bC9jYW52YXMvV2ViTWV0YWxDb21tYW5kUXVldWUuaWRsIGIvU291cmNlL1dlYkNvcmUvaHRtbC9j
YW52YXMvV2ViTWV0YWxDb21tYW5kUXVldWUuaWRsCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmY2YjMwN2I0MGFmODQ2
ZDQ4ZjQxZWFhMGY2MGY4N2YxMTUxNjEzZDUKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9odG1sL2NhbnZhcy9XZWJNZXRhbENvbW1hbmRRdWV1ZS5pZGwKQEAgLTAsMCArMSwzNiBA
QAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxNyBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2
ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBm
b3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJv
dmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBS
ZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHly
aWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxv
d2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11
c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAg
IGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBk
aXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJ
TkMuIGBgQVMgSVMnJyBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywg
SU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQorICogSU1QTElFRCBXQVJSQU5USUVT
IE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQ
T1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUgorICog
Q09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5U
QUwsIFNQRUNJQUwsCisgKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5D
TFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRF
IEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKKyAqIFBST0ZJVFM7IE9S
IEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkK
KyAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwg
T1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJ
TiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFE
VklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKK1sKKyAgICBD
b25kaXRpb25hbD1XRUJNRVRBTCwKKyAgICBFbmFibGVkQXRSdW50aW1lPVdlYk1ldGFsLAorICAg
IEltcGxlbWVudGF0aW9uTGFja3NWVGFibGUKK10gaW50ZXJmYWNlIFdlYk1ldGFsQ29tbWFuZFF1
ZXVlIHsKKworICAgIGF0dHJpYnV0ZSBET01TdHJpbmcgbGFiZWw7CisKKyAgICBXZWJNZXRhbENv
bW1hbmRCdWZmZXIgY3JlYXRlQ29tbWFuZEJ1ZmZlcigpOworCit9OwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViTWV0YWxDb21wdXRlQ29tbWFuZEVuY29kZXIuY3Bw
IGIvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViTWV0YWxDb21wdXRlQ29tbWFuZEVuY29k
ZXIuY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLmI0NjAzZjQ3NzUyMWQ1NjIxZGQ5YjQ0YjIyMzBiZGUxMmE5YWI3
YzkKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJNZXRh
bENvbXB1dGVDb21tYW5kRW5jb2Rlci5jcHAKQEAgLTAsMCArMSw3NyBAQAorLyoKKyAqIENvcHly
aWdodCAoQykgMjAxNyBZdWljaGlybyBLaWt1cmEgKHkua2lrdXJhQGdtYWlsLmNvbSkKKyAqCisg
KiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRo
IG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0
IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0
aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAg
ICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2Ns
YWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1
Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0
aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRh
dGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlv
bi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gYGBBUyBJ
UycnIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcs
IEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisgKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hB
TlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJ
U0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SCisgKiBDT05UUklCVVRP
UlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lB
TCwKKyAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJV
VCBOT1QgTElNSVRFRCBUTywKKyAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1Ig
U0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgorICogUFJPRklUUzsgT1IgQlVTSU5FU1Mg
SU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQorICogT0YgTElB
QklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisg
KiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkg
T1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBU
SEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5o
IgorI2luY2x1ZGUgIldlYk1ldGFsQ29tcHV0ZUNvbW1hbmRFbmNvZGVyLmgiCisKKyNpZiBFTkFC
TEUoV0VCTUVUQUwpCisKKyNpbmNsdWRlICJHUFVDb21tYW5kQnVmZmVyLmgiCisjaW5jbHVkZSAi
R1BVQ29tcHV0ZUNvbW1hbmRFbmNvZGVyLmgiCisjaW5jbHVkZSAiR1BVU2l6ZS5oIgorI2luY2x1
ZGUgIldlYk1ldGFsQnVmZmVyLmgiCisjaW5jbHVkZSAiV2ViTWV0YWxDb21tYW5kQnVmZmVyLmgi
CisjaW5jbHVkZSAiV2ViTWV0YWxDb21wdXRlUGlwZWxpbmVTdGF0ZS5oIgorCituYW1lc3BhY2Ug
V2ViQ29yZSB7CisKK3N0YXRpYyBpbmxpbmUgR1BVU2l6ZSBHUFVTaXplTWFrZShXZWJNZXRhbFNp
emUgc2l6ZSkKK3sKKyAgICByZXR1cm4geyBzaXplLndpZHRoLCBzaXplLmhlaWdodCwgc2l6ZS5k
ZXB0aCB9OworfQorCitSZWY8V2ViTWV0YWxDb21wdXRlQ29tbWFuZEVuY29kZXI+IFdlYk1ldGFs
Q29tcHV0ZUNvbW1hbmRFbmNvZGVyOjpjcmVhdGUoR1BVQ29tcHV0ZUNvbW1hbmRFbmNvZGVyJiYg
ZW5jb2RlcikKK3sKKyAgICByZXR1cm4gYWRvcHRSZWYoKm5ldyBXZWJNZXRhbENvbXB1dGVDb21t
YW5kRW5jb2RlcihXVEZNb3ZlKGVuY29kZXIpKSk7Cit9CisgICAgCitXZWJNZXRhbENvbXB1dGVD
b21tYW5kRW5jb2Rlcjo6V2ViTWV0YWxDb21wdXRlQ29tbWFuZEVuY29kZXIoR1BVQ29tcHV0ZUNv
bW1hbmRFbmNvZGVyJiYgZW5jb2RlcikKKyAgICA6IG1fZW5jb2RlciB7IFdURk1vdmUoZW5jb2Rl
cikgfQoreworfQorCit2b2lkIFdlYk1ldGFsQ29tcHV0ZUNvbW1hbmRFbmNvZGVyOjpzZXRDb21w
dXRlUGlwZWxpbmVTdGF0ZShXZWJNZXRhbENvbXB1dGVQaXBlbGluZVN0YXRlJiBwaXBlbGluZVN0
YXRlKQoreworICAgIG1fZW5jb2Rlci5zZXRDb21wdXRlUGlwZWxpbmVTdGF0ZShwaXBlbGluZVN0
YXRlLnN0YXRlKCkpOworfQorCit2b2lkIFdlYk1ldGFsQ29tcHV0ZUNvbW1hbmRFbmNvZGVyOjpz
ZXRCdWZmZXIoV2ViTWV0YWxCdWZmZXImIGJ1ZmZlciwgdW5zaWduZWQgb2Zmc2V0LCB1bnNpZ25l
ZCBpbmRleCkKK3sKKyAgICBtX2VuY29kZXIuc2V0QnVmZmVyKGJ1ZmZlci5idWZmZXIoKSwgb2Zm
c2V0LCBpbmRleCk7Cit9CisKK3ZvaWQgV2ViTWV0YWxDb21wdXRlQ29tbWFuZEVuY29kZXI6OmRp
c3BhdGNoKFdlYk1ldGFsU2l6ZSB0aHJlYWRncm91cHNQZXJHcmlkLCBXZWJNZXRhbFNpemUgdGhy
ZWFkc1BlclRocmVhZGdyb3VwKQoreworICAgIG1fZW5jb2Rlci5kaXNwYXRjaChHUFVTaXplTWFr
ZSh0aHJlYWRncm91cHNQZXJHcmlkKSwgR1BVU2l6ZU1ha2UodGhyZWFkc1BlclRocmVhZGdyb3Vw
KSk7Cit9CisKK3ZvaWQgV2ViTWV0YWxDb21wdXRlQ29tbWFuZEVuY29kZXI6OmVuZEVuY29kaW5n
KCkKK3sKKyAgICBtX2VuY29kZXIuZW5kRW5jb2RpbmcoKTsKK30KKworfSAvLyBuYW1lc3BhY2Ug
V2ViQ29yZQorCisjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFz
L1dlYk1ldGFsQ29tcHV0ZUNvbW1hbmRFbmNvZGVyLmggYi9Tb3VyY2UvV2ViQ29yZS9odG1sL2Nh
bnZhcy9XZWJNZXRhbENvbXB1dGVDb21tYW5kRW5jb2Rlci5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmJmYmE4YzVj
NDBhZjMwYjA3MGQ3NTA0NzQ2ODA5MDllZGU2NGJjNjEKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJNZXRhbENvbXB1dGVDb21tYW5kRW5jb2Rlci5oCkBA
IC0wLDAgKzEsNTcgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTcgWXVpY2hpcm8gS2lrdXJh
ICh5Lmtpa3VyYUBnbWFpbC5jb20pCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBz
b3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24s
IGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAq
IGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRh
aW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0
aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25z
IGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAg
IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xh
aW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBw
cm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQ
Uk9WSURFRCBCWSBBUFBMRSBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElN
UExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQorICog
SU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQ
QVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwg
QVBQTEUgSU5DLiBPUgorICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwg
SU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCisgKiBFWEVNUExBUlksIE9SIENPTlNFUVVF
TlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBQUk9DVVJF
TUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwg
T1IKKyAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQg
QU5EIE9OIEFOWSBUSEVPUlkKKyAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwg
U1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9U
SEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNP
RlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdF
LgorICovCisKKyNwcmFnbWEgb25jZQorCisjaWYgRU5BQkxFKFdFQk1FVEFMKQorCisjaW5jbHVk
ZSAiR1BVQ29tcHV0ZUNvbW1hbmRFbmNvZGVyLmgiCisjaW5jbHVkZSAiV2ViTWV0YWxTaXplLmgi
CisjaW5jbHVkZSA8d3RmL1JlZi5oPgorI2luY2x1ZGUgPHd0Zi9SZWZDb3VudGVkLmg+CisKK25h
bWVzcGFjZSBXZWJDb3JlIHsKKworY2xhc3MgV2ViTWV0YWxCdWZmZXI7CitjbGFzcyBXZWJNZXRh
bENvbXB1dGVQaXBlbGluZVN0YXRlOworCitjbGFzcyBXZWJNZXRhbENvbXB1dGVDb21tYW5kRW5j
b2RlciA6IHB1YmxpYyBSZWZDb3VudGVkPFdlYk1ldGFsQ29tcHV0ZUNvbW1hbmRFbmNvZGVyPiB7
CitwdWJsaWM6CisgICAgc3RhdGljIFJlZjxXZWJNZXRhbENvbXB1dGVDb21tYW5kRW5jb2Rlcj4g
Y3JlYXRlKEdQVUNvbXB1dGVDb21tYW5kRW5jb2RlciYmKTsKKworICAgIHZvaWQgc2V0Q29tcHV0
ZVBpcGVsaW5lU3RhdGUoV2ViTWV0YWxDb21wdXRlUGlwZWxpbmVTdGF0ZSYpOworICAgIHZvaWQg
c2V0QnVmZmVyKFdlYk1ldGFsQnVmZmVyJiwgdW5zaWduZWQsIHVuc2lnbmVkKTsKKyAgICB2b2lk
IGRpc3BhdGNoKFdlYk1ldGFsU2l6ZSwgV2ViTWV0YWxTaXplKTsKKyAgICB2b2lkIGVuZEVuY29k
aW5nKCk7CisKK3ByaXZhdGU6CisgICAgZXhwbGljaXQgV2ViTWV0YWxDb21wdXRlQ29tbWFuZEVu
Y29kZXIoR1BVQ29tcHV0ZUNvbW1hbmRFbmNvZGVyJiYpOworCisgICAgR1BVQ29tcHV0ZUNvbW1h
bmRFbmNvZGVyIG1fZW5jb2RlcjsKK307CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKworI2Vu
ZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJNZXRhbENvbXB1
dGVDb21tYW5kRW5jb2Rlci5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJNZXRh
bENvbXB1dGVDb21tYW5kRW5jb2Rlci5pZGwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjA1ZGI3OTMwZTZiNGVjODVh
ZTc3ODNkZDkyMTI0MGUwZWNhYzMxYgotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L2h0bWwvY2FudmFzL1dlYk1ldGFsQ29tcHV0ZUNvbW1hbmRFbmNvZGVyLmlkbApAQCAtMCwwICsx
LDM4IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE3IFl1aWNoaXJvIEtpa3VyYSAoeS5raWt1
cmFAZ21haWwuY29tKQorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFu
ZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVy
bWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0
OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBh
Ym92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5k
IHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5h
cnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2Us
IHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4g
dGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQg
d2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQg
QlkgQVBQTEUgSU5DLiBgYEFTIElTJycgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdB
UlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKKyAqIElNUExJRUQg
V0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxB
UgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElO
Qy4gT1IKKyAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNU
LCBJTkNJREVOVEFMLCBTUEVDSUFMLAorICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERB
TUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogUFJPQ1VSRU1FTlQgT0Yg
U1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCisgKiBQ
Uk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBB
TlkgVEhFT1JZCisgKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBM
SUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0Up
IEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwg
RVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLwor
CitbCisgICAgQ29uZGl0aW9uYWw9V0VCTUVUQUwsCisgICAgRW5hYmxlZEF0UnVudGltZT1XZWJN
ZXRhbCwKKyAgICBJbXBsZW1lbnRhdGlvbkxhY2tzVlRhYmxlCitdIGludGVyZmFjZSBXZWJNZXRh
bENvbXB1dGVDb21tYW5kRW5jb2RlciB7CisKKyAgICB2b2lkIHNldENvbXB1dGVQaXBlbGluZVN0
YXRlKFdlYk1ldGFsQ29tcHV0ZVBpcGVsaW5lU3RhdGUgcGlwZWxpbmVTdGF0ZSk7CisgICAgdm9p
ZCBzZXRCdWZmZXIoV2ViTWV0YWxCdWZmZXIgYnVmZmVyLCB1bnNpZ25lZCBsb25nIG9mZnNldCwg
dW5zaWduZWQgbG9uZyBpbmRleCk7CisgICAgdm9pZCBkaXNwYXRjaChXZWJNZXRhbFNpemUgdGhy
ZWFkZ3JvdXBzUGVyR3JpZCwgV2ViTWV0YWxTaXplIHRocmVhZHNQZXJUaHJlYWRncm91cCk7CisK
KyAgICB2b2lkIGVuZEVuY29kaW5nKCk7CisKK307CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9odG1sL2NhbnZhcy9XZWJNZXRhbENvbXB1dGVQaXBlbGluZVN0YXRlLmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL2h0bWwvY2FudmFzL1dlYk1ldGFsQ29tcHV0ZVBpcGVsaW5lU3RhdGUuY3BwCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjExYjUzYjU1YTAwZjQzZTNiM2RkMjVjOWIzZGNmZWVkYzk2ODk2NjgKLS0tIC9kZXYv
bnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJNZXRhbENvbXB1dGVQaXBl
bGluZVN0YXRlLmNwcApAQCAtMCwwICsxLDQ1IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE3
IFl1aWNoaXJvIEtpa3VyYSAoeS5raWt1cmFAZ21haWwuY29tKQorICoKKyAqIFJlZGlzdHJpYnV0
aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAor
ICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2lu
ZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJj
ZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhp
cyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIu
IFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUg
Y29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUg
Zm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBv
dGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRI
SVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBgYEFTIElTJycgQU5EIEFOWQor
ICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1J
VEVEIFRPLCBUSEUKKyAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5E
IEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElO
IE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IKKyAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUg
Rk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAorICogRVhFTVBM
QVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVE
IFRPLAorICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9T
UyBPRiBVU0UsIERBVEEsIE9SCisgKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04p
IEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCisgKiBPRiBMSUFCSUxJVFksIFdIRVRI
RVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcg
TkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVT
RQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElU
WSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgiCisjaW5jbHVkZSAi
V2ViTWV0YWxDb21wdXRlUGlwZWxpbmVTdGF0ZS5oIgorCisjaWYgRU5BQkxFKFdFQk1FVEFMKQor
CituYW1lc3BhY2UgV2ViQ29yZSB7CisKK1JlZjxXZWJNZXRhbENvbXB1dGVQaXBlbGluZVN0YXRl
PiBXZWJNZXRhbENvbXB1dGVQaXBlbGluZVN0YXRlOjpjcmVhdGUoR1BVQ29tcHV0ZVBpcGVsaW5l
U3RhdGUmJiBzdGF0ZSkKK3sKKyAgICByZXR1cm4gYWRvcHRSZWYoKm5ldyBXZWJNZXRhbENvbXB1
dGVQaXBlbGluZVN0YXRlKFdURk1vdmUoc3RhdGUpKSk7Cit9CisKK1dlYk1ldGFsQ29tcHV0ZVBp
cGVsaW5lU3RhdGU6OldlYk1ldGFsQ29tcHV0ZVBpcGVsaW5lU3RhdGUoR1BVQ29tcHV0ZVBpcGVs
aW5lU3RhdGUmJiBzdGF0ZSkKKyAgICA6IG1fc3RhdGUgeyBXVEZNb3ZlKHN0YXRlKSB9Cit7Cit9
CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKworI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9odG1sL2NhbnZhcy9XZWJNZXRhbENvbXB1dGVQaXBlbGluZVN0YXRlLmggYi9Tb3Vy
Y2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJNZXRhbENvbXB1dGVQaXBlbGluZVN0YXRlLmgKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uYmNlNDc4ZjJiNTI4N2NmYjI3ZTFlYjJjZDc4MDkxM2Y3MzExNTg2OQotLS0gL2Rl
di9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYk1ldGFsQ29tcHV0ZVBp
cGVsaW5lU3RhdGUuaApAQCAtMCwwICsxLDUyIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE3
IFl1aWNoaXJvIEtpa3VyYSAoeS5raWt1cmFAZ21haWwuY29tKQorICoKKyAqIFJlZGlzdHJpYnV0
aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAor
ICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2lu
ZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJj
ZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhp
cyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIu
IFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUg
Y29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUg
Zm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBv
dGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRI
SVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBgYEFTIElTJycgQU5EIEFOWQor
ICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1J
VEVEIFRPLCBUSEUKKyAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5E
IEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElO
IE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IKKyAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUg
Rk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAorICogRVhFTVBM
QVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVE
IFRPLAorICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9T
UyBPRiBVU0UsIERBVEEsIE9SCisgKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04p
IEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCisgKiBPRiBMSUFCSUxJVFksIFdIRVRI
RVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcg
TkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVT
RQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElU
WSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjcHJhZ21hIG9uY2UKKworI2lmIEVOQUJMRShXRUJN
RVRBTCkKKworI2luY2x1ZGUgIkdQVUNvbXB1dGVQaXBlbGluZVN0YXRlLmgiCisjaW5jbHVkZSA8
d3RmL1JlZi5oPgorI2luY2x1ZGUgPHd0Zi9SZWZDb3VudGVkLmg+CisKK25hbWVzcGFjZSBXZWJD
b3JlIHsKKworY2xhc3MgV2ViTWV0YWxGdW5jdGlvbjsKKworY2xhc3MgV2ViTWV0YWxDb21wdXRl
UGlwZWxpbmVTdGF0ZSA6IHB1YmxpYyBSZWZDb3VudGVkPFdlYk1ldGFsQ29tcHV0ZVBpcGVsaW5l
U3RhdGU+IHsKK3B1YmxpYzoKKyAgICBzdGF0aWMgUmVmPFdlYk1ldGFsQ29tcHV0ZVBpcGVsaW5l
U3RhdGU+IGNyZWF0ZShHUFVDb21wdXRlUGlwZWxpbmVTdGF0ZSYmKTsKKworICAgIEdQVUNvbXB1
dGVQaXBlbGluZVN0YXRlJiBzdGF0ZSgpIHsgcmV0dXJuIG1fc3RhdGU7IH0KKworcHJpdmF0ZToK
KyAgICBleHBsaWNpdCBXZWJNZXRhbENvbXB1dGVQaXBlbGluZVN0YXRlKEdQVUNvbXB1dGVQaXBl
bGluZVN0YXRlJiYpOworCisgICAgR1BVQ29tcHV0ZVBpcGVsaW5lU3RhdGUgbV9zdGF0ZTsKK307
CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKworI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9odG1sL2NhbnZhcy9XZWJNZXRhbENvbXB1dGVQaXBlbGluZVN0YXRlLmlkbCBiL1Nv
dXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYk1ldGFsQ29tcHV0ZVBpcGVsaW5lU3RhdGUuaWRs
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLmMzMTEyNDMyODg2M2Q4N2VmNTczMTllZTUwZGFkZmEwNTIwMWRmNWQKLS0t
IC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJNZXRhbENvbXB1
dGVQaXBlbGluZVN0YXRlLmlkbApAQCAtMCwwICsxLDMxIEBACisvKgorICogQ29weXJpZ2h0IChD
KSAyMDE3IFl1aWNoaXJvIEtpa3VyYSAoeS5raWt1cmFAZ21haWwuY29tKQorICoKKyAqIFJlZGlz
dHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0
aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZv
bGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9m
IHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGlj
ZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4K
KyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUg
YWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFu
ZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFu
ZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoK
KyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBgYEFTIElTJycgQU5E
IEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5P
VCBMSU1JVEVEIFRPLCBUSEUKKyAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJ
VFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1F
RC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IKKyAqIENPTlRSSUJVVE9SUyBCRSBM
SUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAorICog
RVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBM
SU1JVEVEIFRPLAorICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNF
UzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCisgKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJV
UFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCisgKiBPRiBMSUFCSUxJVFks
IFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNM
VURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0Yg
VEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NT
SUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCitbCisgICAgQ29uZGl0aW9uYWw9V0VCTUVU
QUwsCisgICAgRW5hYmxlZEF0UnVudGltZT1XZWJNZXRhbCwKKyAgICBJbXBsZW1lbnRhdGlvbkxh
Y2tzVlRhYmxlCitdIGludGVyZmFjZSBXZWJNZXRhbENvbXB1dGVQaXBlbGluZVN0YXRlIHsKK307
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJNZXRhbERlcHRoU3Rl
bmNpbERlc2NyaXB0b3IuY3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViTWV0YWxE
ZXB0aFN0ZW5jaWxEZXNjcmlwdG9yLmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yNTliNzAzMDk3ZDA3ZTZhZTY1
MWViMGM5NWUxMzA1NjJiMzQwNjRhCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUv
aHRtbC9jYW52YXMvV2ViTWV0YWxEZXB0aFN0ZW5jaWxEZXNjcmlwdG9yLmNwcApAQCAtMCwwICsx
LDYxIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE3IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyBy
ZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmlu
YXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRl
ZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAq
IDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUg
Y29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUg
Zm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZv
cm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlz
IGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQor
ICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGgg
dGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQ
UExFIElOQy4gYGBBUyBJUycnIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5U
SUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisgKiBJTVBMSUVEIFdBUlJB
TlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAq
IFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9S
CisgKiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5D
SURFTlRBTCwgU1BFQ0lBTCwKKyAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VT
IChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFBST0NVUkVNRU5UIE9GIFNVQlNU
SVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgorICogUFJPRklU
UzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRI
RU9SWQorICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklM
SVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklT
SU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4g
SUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2lu
Y2x1ZGUgImNvbmZpZy5oIgorI2luY2x1ZGUgIldlYk1ldGFsRGVwdGhTdGVuY2lsRGVzY3JpcHRv
ci5oIgorCisjaWYgRU5BQkxFKFdFQk1FVEFMKQorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK1Jl
ZjxXZWJNZXRhbERlcHRoU3RlbmNpbERlc2NyaXB0b3I+IFdlYk1ldGFsRGVwdGhTdGVuY2lsRGVz
Y3JpcHRvcjo6Y3JlYXRlKCkKK3sKKyAgICByZXR1cm4gYWRvcHRSZWYoKm5ldyBXZWJNZXRhbERl
cHRoU3RlbmNpbERlc2NyaXB0b3IpOworfQorCitib29sIFdlYk1ldGFsRGVwdGhTdGVuY2lsRGVz
Y3JpcHRvcjo6ZGVwdGhXcml0ZUVuYWJsZWQoKSBjb25zdAoreworICAgIHJldHVybiBtX2Rlc2Ny
aXB0b3IuZGVwdGhXcml0ZUVuYWJsZWQoKTsKK30KKwordm9pZCBXZWJNZXRhbERlcHRoU3RlbmNp
bERlc2NyaXB0b3I6OnNldERlcHRoV3JpdGVFbmFibGVkKGJvb2wgbmV3RGVwdGhXcml0ZUVuYWJs
ZWQpCit7CisgICAgbV9kZXNjcmlwdG9yLnNldERlcHRoV3JpdGVFbmFibGVkKG5ld0RlcHRoV3Jp
dGVFbmFibGVkKTsKK30KKworV2ViTWV0YWxDb21wYXJlRnVuY3Rpb24gV2ViTWV0YWxEZXB0aFN0
ZW5jaWxEZXNjcmlwdG9yOjpkZXB0aENvbXBhcmVGdW5jdGlvbigpIGNvbnN0Cit7CisgICAgcmV0
dXJuIG1fZGVwdGhDb21wYXJlRnVuY3Rpb247Cit9CisKK3ZvaWQgV2ViTWV0YWxEZXB0aFN0ZW5j
aWxEZXNjcmlwdG9yOjpzZXREZXB0aENvbXBhcmVGdW5jdGlvbihDb21wYXJlRnVuY3Rpb24gbmV3
RGVwdGhDb21wYXJlRnVuY3Rpb24pCit7CisgICAgbV9kZXB0aENvbXBhcmVGdW5jdGlvbiA9IG5l
d0RlcHRoQ29tcGFyZUZ1bmN0aW9uOworICAgIG1fZGVzY3JpcHRvci5zZXREZXB0aENvbXBhcmVG
dW5jdGlvbih0b0dQVUNvbXBhcmVGdW5jdGlvbihtX2RlcHRoQ29tcGFyZUZ1bmN0aW9uKSk7Cit9
CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKworI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9odG1sL2NhbnZhcy9XZWJNZXRhbERlcHRoU3RlbmNpbERlc2NyaXB0b3IuaCBiL1Nv
dXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYk1ldGFsRGVwdGhTdGVuY2lsRGVzY3JpcHRvci5o
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLmEzYjc5NTBiNTJlODgzZjliYTVmMzdmMTlkYTIwNzUzY2IyNTBkOTMKLS0t
IC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJNZXRhbERlcHRo
U3RlbmNpbERlc2NyaXB0b3IuaApAQCAtMCwwICsxLDY0IEBACisvKgorICogQ29weXJpZ2h0IChD
KSAyMDE3IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1
dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQK
KyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dp
bmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3Vy
Y2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRo
aXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAy
LiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3Zl
IGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhl
IGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Ig
b3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBU
SElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gYGBBUyBJUycnIEFORCBBTlkK
KyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElN
SVRFRCBUTywgVEhFCisgKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFO
RCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJ
TiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SCisgKiBDT05UUklCVVRPUlMgQkUgTElBQkxF
IEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKKyAqIEVYRU1Q
TEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRF
RCBUTywKKyAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExP
U1MgT0YgVVNFLCBEQVRBLCBPUgorICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9O
KSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQorICogT0YgTElBQklMSVRZLCBXSEVU
SEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5H
IE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBV
U0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJ
VFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI3ByYWdtYSBvbmNlCisKKyNpZiBFTkFCTEUoV0VC
TUVUQUwpCisKKyNpbmNsdWRlICJHUFVEZXB0aFN0ZW5jaWxEZXNjcmlwdG9yLmgiCisjaW5jbHVk
ZSAiV2ViTWV0YWxFbnVtcy5oIgorI2luY2x1ZGUgPHd0Zi9SZWYuaD4KKyNpbmNsdWRlIDx3dGYv
UmVmQ291bnRlZC5oPgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK2NsYXNzIFdlYk1ldGFsRGVw
dGhTdGVuY2lsRGVzY3JpcHRvciA6IHB1YmxpYyBSZWZDb3VudGVkPFdlYk1ldGFsRGVwdGhTdGVu
Y2lsRGVzY3JpcHRvcj4geworcHVibGljOgorICAgIHN0YXRpYyBSZWY8V2ViTWV0YWxEZXB0aFN0
ZW5jaWxEZXNjcmlwdG9yPiBjcmVhdGUoKTsKKworICAgIGJvb2wgZGVwdGhXcml0ZUVuYWJsZWQo
KSBjb25zdDsKKyAgICB2b2lkIHNldERlcHRoV3JpdGVFbmFibGVkKGJvb2wpOworCisgICAgdXNp
bmcgQ29tcGFyZUZ1bmN0aW9uID0gV2ViTWV0YWxDb21wYXJlRnVuY3Rpb247CisgICAgQ29tcGFy
ZUZ1bmN0aW9uIGRlcHRoQ29tcGFyZUZ1bmN0aW9uKCkgY29uc3Q7CisgICAgdm9pZCBzZXREZXB0
aENvbXBhcmVGdW5jdGlvbihDb21wYXJlRnVuY3Rpb24pOworCisgICAgR1BVRGVwdGhTdGVuY2ls
RGVzY3JpcHRvciYgZGVzY3JpcHRvcigpIHsgcmV0dXJuIG1fZGVzY3JpcHRvcjsgfQorCitwcml2
YXRlOgorICAgIFdlYk1ldGFsRGVwdGhTdGVuY2lsRGVzY3JpcHRvcigpID0gZGVmYXVsdDsKKwor
ICAgIC8vIEZJWE1FOiBUaGUgZGVmYXVsdCB2YWx1ZSBvZiAiQWx3YXlzIiBpcyBkZWZpbmVkIGJv
dGggaGVyZSBhbmQgaW4gdGhlCisgICAgLy8gR1BVRGVwdGhTdGVuY2lsRGVzY3JpcHRvciBjbGFz
cydzIGltcGxlbWVudGF0aW9uLiBNaWdodCBiZSBiZXR0ZXIgdG8gbm90CisgICAgLy8gc3RvcmUg
dGhlIGNvbXBhcmUgZnVuY3Rpb24gc2VwYXJhdGVseSBoZXJlLCB0cmFuc2xhdGUgaXQgaW5zdGVh
ZCwgYW5kIHRoZW4KKyAgICAvLyB0aGVyZSB3b3VsZCBiZSBubyBuZWVkIGZvciBhIGRlZmF1bHQg
dmFsdWUgaGVyZS4KKworICAgIFdlYk1ldGFsQ29tcGFyZUZ1bmN0aW9uIG1fZGVwdGhDb21wYXJl
RnVuY3Rpb24geyBXZWJNZXRhbENvbXBhcmVGdW5jdGlvbjo6QWx3YXlzIH07CisgICAgR1BVRGVw
dGhTdGVuY2lsRGVzY3JpcHRvciBtX2Rlc2NyaXB0b3I7Cit9OworCit9IC8vIG5hbWVzcGFjZSBX
ZWJDb3JlCisKKyNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMv
V2ViTWV0YWxEZXB0aFN0ZW5jaWxEZXNjcmlwdG9yLmlkbCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwv
Y2FudmFzL1dlYk1ldGFsRGVwdGhTdGVuY2lsRGVzY3JpcHRvci5pZGwKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMDlh
ZDk0NWFlODgwODQxMjNiYTk1MzIyNzcyYTU3NWVlNGI4ZDljNQotLS0gL2Rldi9udWxsCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYk1ldGFsRGVwdGhTdGVuY2lsRGVzY3JpcHRv
ci5pZGwKQEAgLTAsMCArMSw1MCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxNyBBcHBsZSBJ
bmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBp
biBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRp
b24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMK
KyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCBy
ZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29u
ZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRp
b25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAq
ICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlz
Y2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFs
cyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJ
UyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCisgKiBFWFBSRVNTIE9S
IElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQor
ICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1Ig
QSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hB
TEwgQVBQTEUgSU5DLiBPUgorICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVD
VCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCisgKiBFWEVNUExBUlksIE9SIENPTlNF
UVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBQUk9D
VVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFU
QSwgT1IKKyAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVT
RUQgQU5EIE9OIEFOWSBUSEVPUlkKKyAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFD
VCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9S
IE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElT
IFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFN
QUdFLgorICovCisKK1sKKyAgICBDb25kaXRpb25hbD1XRUJNRVRBTCwKKyAgICBFbmFibGVkQXRS
dW50aW1lPVdlYk1ldGFsCitdIGVudW0gV2ViTWV0YWxDb21wYXJlRnVuY3Rpb24geworICAgICJu
ZXZlciIsCisgICAgImxlc3MiLAorICAgICJlcXVhbCIsCisgICAgImxlc3NlcXVhbCIsCisgICAg
ImdyZWF0ZXIiLAorICAgICJub3RlcXVhbCIsCisgICAgImdyZWF0ZXJlcXVhbCIsCisgICAgImFs
d2F5cyIKK307CisKK1sKKyAgICBDb25zdHJ1Y3RvciwKKyAgICBDb25kaXRpb25hbD1XRUJNRVRB
TCwKKyAgICBFbmFibGVkQXRSdW50aW1lPVdlYk1ldGFsLAorICAgIEltcGxlbWVudGF0aW9uTGFj
a3NWVGFibGUKK10gaW50ZXJmYWNlIFdlYk1ldGFsRGVwdGhTdGVuY2lsRGVzY3JpcHRvciB7CisK
KyAgICBhdHRyaWJ1dGUgV2ViTWV0YWxDb21wYXJlRnVuY3Rpb24gZGVwdGhDb21wYXJlRnVuY3Rp
b247CisgICAgYXR0cmlidXRlIGJvb2xlYW4gZGVwdGhXcml0ZUVuYWJsZWQ7CisKK307CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJNZXRhbERlcHRoU3RlbmNpbFN0
YXRlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYk1ldGFsRGVwdGhTdGVuY2ls
U3RhdGUuY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjZhOTQ3ZWI0ZDcwN2MyM2ExNzlhMzkzM2RiODY3NWM3ZjEy
YmQ5MDAKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJN
ZXRhbERlcHRoU3RlbmNpbFN0YXRlLmNwcApAQCAtMCwwICsxLDU4IEBACisvKgorICogQ29weXJp
Z2h0IChDKSAyMDE3IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRp
c3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdp
dGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBm
b2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBv
ZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3Rp
Y2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIu
CisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhl
IGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBh
bmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAq
CisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gYGBBUyBJUycnIEFO
RCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBO
T1QgTElNSVRFRCBUTywgVEhFCisgKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklM
SVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlN
RUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SCisgKiBDT05UUklCVVRPUlMgQkUg
TElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKKyAq
IEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1Qg
TElNSVRFRCBUTywKKyAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklD
RVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgorICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJS
VVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQorICogT0YgTElBQklMSVRZ
LCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5D
TFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9G
IFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9T
U0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorI2lu
Y2x1ZGUgIldlYk1ldGFsRGVwdGhTdGVuY2lsU3RhdGUuaCIKKworI2lmIEVOQUJMRShXRUJNRVRB
TCkKKworI2luY2x1ZGUgIldlYk1ldGFsRGVwdGhTdGVuY2lsRGVzY3JpcHRvci5oIgorI2luY2x1
ZGUgPHd0Zi90ZXh0L1dURlN0cmluZy5oPgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK1JlZjxX
ZWJNZXRhbERlcHRoU3RlbmNpbFN0YXRlPiBXZWJNZXRhbERlcHRoU3RlbmNpbFN0YXRlOjpjcmVh
dGUoR1BVRGVwdGhTdGVuY2lsU3RhdGUmJiBzdGF0ZSkKK3sKKyAgICByZXR1cm4gYWRvcHRSZWYo
Km5ldyBXZWJNZXRhbERlcHRoU3RlbmNpbFN0YXRlKFdURk1vdmUoc3RhdGUpKSk7Cit9CisKK1dl
Yk1ldGFsRGVwdGhTdGVuY2lsU3RhdGU6OldlYk1ldGFsRGVwdGhTdGVuY2lsU3RhdGUoR1BVRGVw
dGhTdGVuY2lsU3RhdGUmJiBzdGF0ZSkKKyAgICA6IG1fc3RhdGUgeyBXVEZNb3ZlKHN0YXRlKSB9
Cit7Cit9CisKK1N0cmluZyBXZWJNZXRhbERlcHRoU3RlbmNpbFN0YXRlOjpsYWJlbCgpIGNvbnN0
Cit7CisgICAgcmV0dXJuIG1fc3RhdGUubGFiZWwoKTsKK30KKwordm9pZCBXZWJNZXRhbERlcHRo
U3RlbmNpbFN0YXRlOjpzZXRMYWJlbChjb25zdCBTdHJpbmcmIGxhYmVsKQoreworICAgIG1fc3Rh
dGUuc2V0TGFiZWwobGFiZWwpOworfQorCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKKyNlbmRp
ZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViTWV0YWxEZXB0aFN0
ZW5jaWxTdGF0ZS5oIGIvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViTWV0YWxEZXB0aFN0
ZW5jaWxTdGF0ZS5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmY0NWMyZDZkOGQ1YTk3MjZjMWM5ZTYxNTAwOTFlZGNl
NTk4MzhjOTcKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9X
ZWJNZXRhbERlcHRoU3RlbmNpbFN0YXRlLmgKQEAgLTAsMCArMSw1MyBAQAorLyoKKyAqIENvcHly
aWdodCAoQykgMjAxNyBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVk
aXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3
aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUg
Zm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMg
b2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
LgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRo
ZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24g
YW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisg
KgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIGBgQVMgSVMnJyBB
TkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQg
Tk9UIExJTUlURUQgVE8sIFRIRQorICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJ
TElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJ
TUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUgorICogQ09OVFJJQlVUT1JTIEJF
IExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCisg
KiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9U
IExJTUlURUQgVE8sCisgKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJ
Q0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKKyAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVS
UlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKKyAqIE9GIExJQUJJTElU
WSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElO
Q0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBP
RiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBP
U1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNwcmFnbWEgb25jZQorCisjaWYgRU5B
QkxFKFdFQk1FVEFMKQorCisjaW5jbHVkZSAiR1BVRGVwdGhTdGVuY2lsU3RhdGUuaCIKKyNpbmNs
dWRlIDx3dGYvUmVmLmg+CisjaW5jbHVkZSA8d3RmL1JlZkNvdW50ZWQuaD4KKworbmFtZXNwYWNl
IFdlYkNvcmUgeworCitjbGFzcyBXZWJNZXRhbERlcHRoU3RlbmNpbFN0YXRlIDogcHVibGljIFJl
ZkNvdW50ZWQ8V2ViTWV0YWxEZXB0aFN0ZW5jaWxTdGF0ZT4geworcHVibGljOgorICAgIHN0YXRp
YyBSZWY8V2ViTWV0YWxEZXB0aFN0ZW5jaWxTdGF0ZT4gY3JlYXRlKEdQVURlcHRoU3RlbmNpbFN0
YXRlJiYpOworCisgICAgU3RyaW5nIGxhYmVsKCkgY29uc3Q7CisgICAgdm9pZCBzZXRMYWJlbChj
b25zdCBTdHJpbmcmKTsKKworICAgIEdQVURlcHRoU3RlbmNpbFN0YXRlJiBzdGF0ZSgpIHsgcmV0
dXJuIG1fc3RhdGU7IH0KKworcHJpdmF0ZToKKyAgICBleHBsaWNpdCBXZWJNZXRhbERlcHRoU3Rl
bmNpbFN0YXRlKEdQVURlcHRoU3RlbmNpbFN0YXRlJiYpOworCisgICAgR1BVRGVwdGhTdGVuY2ls
U3RhdGUgbV9zdGF0ZTsKK307CisgICAgCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKKyNlbmRp
ZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViTWV0YWxEZXB0aFN0
ZW5jaWxTdGF0ZS5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJNZXRhbERlcHRo
U3RlbmNpbFN0YXRlLmlkbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4wMDgyYjQyMGE3NDkyODc2YjMwYzY2ZGNjYmVj
MTc3MWU3OGI3Y2NjCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52
YXMvV2ViTWV0YWxEZXB0aFN0ZW5jaWxTdGF0ZS5pZGwKQEAgLTAsMCArMSwzNCBAQAorLyoKKyAq
IENvcHlyaWdodCAoQykgMjAxNyBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgor
ICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0
aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhh
dCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1
dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICog
ICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNj
bGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9k
dWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRp
dGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50
YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRp
b24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIGBgQVMg
SVMnJyBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5H
LCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQorICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNI
QU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBE
SVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUgorICogQ09OVFJJQlVU
T1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJ
QUwsCisgKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBC
VVQgTk9UIExJTUlURUQgVE8sCisgKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9S
IFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKKyAqIFBST0ZJVFM7IE9SIEJVU0lORVNT
IElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKKyAqIE9GIExJ
QUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAor
ICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZ
IE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0Yg
VEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKK1sKKyAgICBDb25kaXRpb25h
bD1XRUJNRVRBTCwKKyAgICBFbmFibGVkQXRSdW50aW1lPVdlYk1ldGFsLAorICAgIEltcGxlbWVu
dGF0aW9uTGFja3NWVGFibGUKK10gaW50ZXJmYWNlIFdlYk1ldGFsRGVwdGhTdGVuY2lsU3RhdGUg
eworCisgICAgYXR0cmlidXRlIERPTVN0cmluZyBsYWJlbDsKKworfTsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYk1ldGFsRHJhd2FibGUuY3BwIGIvU291cmNlL1dl
YkNvcmUvaHRtbC9jYW52YXMvV2ViTWV0YWxEcmF3YWJsZS5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTdmNzky
MTc4MTAwYzhhYTE3OTIzYTNiYmMzZTM3Y2YwYzU0NGMwNQotLS0gL2Rldi9udWxsCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYk1ldGFsRHJhd2FibGUuY3BwCkBAIC0wLDAgKzEs
NTEgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTcgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJl
c2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5h
cnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVk
IHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICog
MS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBj
b3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBm
b2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9y
bSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisg
KiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0
aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQ
TEUgSU5DLiBgYEFTIElTJycgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJ
RVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKKyAqIElNUExJRUQgV0FSUkFO
VElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICog
UFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IK
KyAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBO
T1QgTElNSVRFRCBUTywKKyAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1Qs
IElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAorICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJ
VFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCisgKiBQUk9GSVRT
OyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhF
T1JZCisgKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJ
VFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJ
TkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJ
RiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5j
bHVkZSAiY29uZmlnLmgiCisjaW5jbHVkZSAiV2ViTWV0YWxEcmF3YWJsZS5oIgorCisjaWYgRU5B
QkxFKFdFQk1FVEFMKQorCisjaW5jbHVkZSAiR1BVVGV4dHVyZS5oIgorI2luY2x1ZGUgIldlYk1l
dGFsVGV4dHVyZS5oIgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK1JlZjxXZWJNZXRhbERyYXdh
YmxlPiBXZWJNZXRhbERyYXdhYmxlOjpjcmVhdGUoR1BVRHJhd2FibGUmJiBkcmF3YWJsZSkKK3sK
KyAgICByZXR1cm4gYWRvcHRSZWYoKm5ldyBXZWJNZXRhbERyYXdhYmxlKFdURk1vdmUoZHJhd2Fi
bGUpKSk7Cit9CisKK1dlYk1ldGFsRHJhd2FibGU6OldlYk1ldGFsRHJhd2FibGUoR1BVRHJhd2Fi
bGUmJiBkcmF3YWJsZSkKKyAgICA6IG1fZHJhd2FibGUgeyBXVEZNb3ZlKGRyYXdhYmxlKSB9Cisg
ICAgLCBtX3RleHR1cmUgeyBXZWJNZXRhbFRleHR1cmU6OmNyZWF0ZShHUFVUZXh0dXJlIHsgbV9k
cmF3YWJsZSB9KSB9Cit7Cit9CisKK1dlYk1ldGFsRHJhd2FibGU6On5XZWJNZXRhbERyYXdhYmxl
KCkgPSBkZWZhdWx0OworCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKKyNlbmRpZgpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViTWV0YWxEcmF3YWJsZS5oIGIvU291
cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViTWV0YWxEcmF3YWJsZS5oCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjUz
N2FiNWI4Njc3NGE1NTMwNGQ2MDBkZDlkNmVmN2M3NjlhYzQ3YWMKLS0tIC9kZXYvbnVsbAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJNZXRhbERyYXdhYmxlLmgKQEAgLTAsMCAr
MSw1NSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxNyBBcHBsZSBJbmMuIEFsbCByaWdodHMg
cmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJp
bmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0
ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6Cisg
KiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3Zl
IGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhl
IGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBm
b3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhp
cyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUK
KyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRo
IHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBB
UFBMRSBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFO
VElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQorICogSU1QTElFRCBXQVJS
QU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisg
KiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBP
UgorICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElO
Q0lERU5UQUwsIFNQRUNJQUwsCisgKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdF
UyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBQUk9DVVJFTUVOVCBPRiBTVUJT
VElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKKyAqIFBST0ZJ
VFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBU
SEVPUlkKKyAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJ
TElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJ
U0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVO
IElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNw
cmFnbWEgb25jZQorCisjaWYgRU5BQkxFKFdFQk1FVEFMKQorCisjaW5jbHVkZSAiR1BVRHJhd2Fi
bGUuaCIKKyNpbmNsdWRlIDx3dGYvUmVmLmg+CisjaW5jbHVkZSA8d3RmL1JlZkNvdW50ZWQuaD4K
KworbmFtZXNwYWNlIFdlYkNvcmUgeworCitjbGFzcyBXZWJNZXRhbFRleHR1cmU7CisKK2NsYXNz
IFdlYk1ldGFsRHJhd2FibGUgOiBwdWJsaWMgUmVmQ291bnRlZDxXZWJNZXRhbERyYXdhYmxlPiB7
CitwdWJsaWM6CisgICAgfldlYk1ldGFsRHJhd2FibGUoKTsKKyAgICBzdGF0aWMgUmVmPFdlYk1l
dGFsRHJhd2FibGU+IGNyZWF0ZShHUFVEcmF3YWJsZSYmKTsKKworICAgIEdQVURyYXdhYmxlJiBk
cmF3YWJsZSgpIHsgcmV0dXJuIG1fZHJhd2FibGU7IH0KKyAgICBXZWJNZXRhbFRleHR1cmUmIHRl
eHR1cmUoKSB7IHJldHVybiBtX3RleHR1cmUuZ2V0KCk7IH0KKworcHJpdmF0ZToKKyAgICBleHBs
aWNpdCBXZWJNZXRhbERyYXdhYmxlKEdQVURyYXdhYmxlJiYpOworCisgICAgR1BVRHJhd2FibGUg
bV9kcmF3YWJsZTsKKyAgICBSZWY8V2ViTWV0YWxUZXh0dXJlPiBtX3RleHR1cmU7Cit9OworCit9
IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKKyNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvaHRtbC9jYW52YXMvV2ViTWV0YWxEcmF3YWJsZS5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9odG1s
L2NhbnZhcy9XZWJNZXRhbERyYXdhYmxlLmlkbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5hNzZkNjkxZTJkNzg2MGRj
ZjRmOGU5OTU1Y2MyNGQ2ZjJiZTdlOTkyCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNv
cmUvaHRtbC9jYW52YXMvV2ViTWV0YWxEcmF3YWJsZS5pZGwKQEAgLTAsMCArMSwzNCBAQAorLyoK
KyAqIENvcHlyaWdodCAoQykgMjAxNyBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisg
KgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywg
d2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQg
dGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3Ry
aWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAor
ICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBk
aXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVw
cm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNv
bmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3Vt
ZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmli
dXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIGBg
QVMgSVMnJyBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVE
SU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQorICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1F
UkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFS
RSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUgorICogQ09OVFJJ
QlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQ
RUNJQUwsCisgKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5H
LCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RT
IE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKKyAqIFBST0ZJVFM7IE9SIEJVU0lO
RVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKKyAqIE9G
IExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9S
VAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkg
V0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQg
T0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKK1sKKyAgICBDb25kaXRp
b25hbD1XRUJNRVRBTCwKKyAgICBFbmFibGVkQXRSdW50aW1lPVdlYk1ldGFsLAorICAgIEltcGxl
bWVudGF0aW9uTGFja3NWVGFibGUKK10gaW50ZXJmYWNlIFdlYk1ldGFsRHJhd2FibGUgeworCisg
ICAgcmVhZG9ubHkgYXR0cmlidXRlIFdlYk1ldGFsVGV4dHVyZSB0ZXh0dXJlOyAvLyBGSVhNRTog
T25seSB0aGUgZnJhbWVidWZmZXIgc2hvdWxkIGhhdmUgdGhpcy4KKworfTsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYk1ldGFsRW51bXMuY3BwIGIvU291cmNlL1dl
YkNvcmUvaHRtbC9jYW52YXMvV2ViTWV0YWxFbnVtcy5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNmFkMGE0NmVj
MjcyZDM1ZDk1MzkxMDgyMzJiYzdlMDhiZjcyOGU5MgotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYk1ldGFsRW51bXMuY3BwCkBAIC0wLDAgKzEsMTA3IEBA
CisvKgorICogQ29weXJpZ2h0IChDKSAyMDE3IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZl
ZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZv
cm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92
aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJl
ZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJp
Z2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93
aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVz
dCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qg
b2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAg
ZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRp
c3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElO
Qy4gYGBBUyBJUycnIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJ
TkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisgKiBJTVBMSUVEIFdBUlJBTlRJRVMg
T0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBP
U0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SCisgKiBD
T05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRB
TCwgU1BFQ0lBTCwKKyAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNM
VURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUg
R09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgorICogUFJPRklUUzsgT1Ig
QlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQor
ICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBP
UiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElO
IEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURW
SVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUg
ImNvbmZpZy5oIgorI2luY2x1ZGUgIldlYk1ldGFsRW51bXMuaCIKKworI2lmIEVOQUJMRShXRUJN
RVRBTCkKKworI2luY2x1ZGUgIkdQVUVudW1zLmgiCisjaW5jbHVkZSA8d3RmL3RleHQvV1RGU3Ry
aW5nLmg+CisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworc3RkOjpvcHRpb25hbDxXZWJNZXRhbENv
bXBhcmVGdW5jdGlvbj4gdG9XZWJNZXRhbENvbXBhcmVGdW5jdGlvbihjb25zdCBTdHJpbmcmIG5h
bWUpCit7CisgICAgaWYgKGVxdWFsTGV0dGVyc0lnbm9yaW5nQVNDSUlDYXNlKG5hbWUsICJuZXZl
ciIpKQorICAgICAgICByZXR1cm4gV2ViTWV0YWxDb21wYXJlRnVuY3Rpb246Ok5ldmVyOworICAg
IGlmIChlcXVhbExldHRlcnNJZ25vcmluZ0FTQ0lJQ2FzZShuYW1lLCAibGVzcyIpKQorICAgICAg
ICByZXR1cm4gV2ViTWV0YWxDb21wYXJlRnVuY3Rpb246Okxlc3M7CisgICAgaWYgKGVxdWFsTGV0
dGVyc0lnbm9yaW5nQVNDSUlDYXNlKG5hbWUsICJlcXVhbCIpKQorICAgICAgICByZXR1cm4gV2Vi
TWV0YWxDb21wYXJlRnVuY3Rpb246OkVxdWFsOworICAgIGlmIChlcXVhbExldHRlcnNJZ25vcmlu
Z0FTQ0lJQ2FzZShuYW1lLCAibGVzc2VxdWFsIikpCisgICAgICAgIHJldHVybiBXZWJNZXRhbENv
bXBhcmVGdW5jdGlvbjo6TGVzc2VxdWFsOworICAgIGlmIChlcXVhbExldHRlcnNJZ25vcmluZ0FT
Q0lJQ2FzZShuYW1lLCAiZ3JlYXRlciIpKQorICAgICAgICByZXR1cm4gV2ViTWV0YWxDb21wYXJl
RnVuY3Rpb246OkdyZWF0ZXI7CisgICAgaWYgKGVxdWFsTGV0dGVyc0lnbm9yaW5nQVNDSUlDYXNl
KG5hbWUsICJub3RlcXVhbCIpKQorICAgICAgICByZXR1cm4gV2ViTWV0YWxDb21wYXJlRnVuY3Rp
b246Ok5vdGVxdWFsOworICAgIGlmIChlcXVhbExldHRlcnNJZ25vcmluZ0FTQ0lJQ2FzZShuYW1l
LCAiZ3JlYXRlcmVxdWFsIikpCisgICAgICAgIHJldHVybiBXZWJNZXRhbENvbXBhcmVGdW5jdGlv
bjo6R3JlYXRlcmVxdWFsOworICAgIGlmIChlcXVhbExldHRlcnNJZ25vcmluZ0FTQ0lJQ2FzZShu
YW1lLCAiYWx3YXlzIikpCisgICAgICAgIHJldHVybiBXZWJNZXRhbENvbXBhcmVGdW5jdGlvbjo6
QWx3YXlzOworCisgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CisgICAgcmV0dXJuIHN0ZDo6bnVs
bG9wdDsKK30KKworU3RyaW5nIHdlYjNEQ29tcGFyZUZ1bmN0aW9uTmFtZShXZWJNZXRhbENvbXBh
cmVGdW5jdGlvbiB2YWx1ZSkKK3sKKyAgICBpZiAodmFsdWUgPT0gV2ViTWV0YWxDb21wYXJlRnVu
Y3Rpb246Ok5ldmVyKQorICAgICAgICByZXR1cm4gIm5ldmVyIl9zOworICAgIGlmICh2YWx1ZSA9
PSBXZWJNZXRhbENvbXBhcmVGdW5jdGlvbjo6TGVzcykKKyAgICAgICAgcmV0dXJuICJsZXNzIl9z
OworICAgIGlmICh2YWx1ZSA9PSBXZWJNZXRhbENvbXBhcmVGdW5jdGlvbjo6RXF1YWwpCisgICAg
ICAgIHJldHVybiAiZXF1YWwiX3M7CisgICAgaWYgKHZhbHVlID09IFdlYk1ldGFsQ29tcGFyZUZ1
bmN0aW9uOjpMZXNzZXF1YWwpCisgICAgICAgIHJldHVybiAibGVzc2VxdWFsIl9zOworICAgIGlm
ICh2YWx1ZSA9PSBXZWJNZXRhbENvbXBhcmVGdW5jdGlvbjo6R3JlYXRlcikKKyAgICAgICAgcmV0
dXJuICJncmVhdGVyIl9zOworICAgIGlmICh2YWx1ZSA9PSBXZWJNZXRhbENvbXBhcmVGdW5jdGlv
bjo6Tm90ZXF1YWwpCisgICAgICAgIHJldHVybiAibm90ZXF1YWwiX3M7CisgICAgaWYgKHZhbHVl
ID09IFdlYk1ldGFsQ29tcGFyZUZ1bmN0aW9uOjpHcmVhdGVyZXF1YWwpCisgICAgICAgIHJldHVy
biAiZ3JlYXRlcmVxdWFsIl9zOworICAgIGlmICh2YWx1ZSA9PSBXZWJNZXRhbENvbXBhcmVGdW5j
dGlvbjo6QWx3YXlzKQorICAgICAgICByZXR1cm4gImFsd2F5cyJfczsKKyAgICAKKyAgICBBU1NF
UlRfTk9UX1JFQUNIRUQoKTsKKyAgICByZXR1cm4gZW1wdHlTdHJpbmcoKTsKK30KKworR1BVQ29t
cGFyZUZ1bmN0aW9uIHRvR1BVQ29tcGFyZUZ1bmN0aW9uKGNvbnN0IFdlYk1ldGFsQ29tcGFyZUZ1
bmN0aW9uIHZhbHVlKQoreworICAgIGlmICh2YWx1ZSA9PSBXZWJNZXRhbENvbXBhcmVGdW5jdGlv
bjo6TmV2ZXIpCisgICAgICAgIHJldHVybiBHUFVDb21wYXJlRnVuY3Rpb246Ok5ldmVyOworICAg
IGlmICh2YWx1ZSA9PSBXZWJNZXRhbENvbXBhcmVGdW5jdGlvbjo6TGVzcykKKyAgICAgICAgcmV0
dXJuIEdQVUNvbXBhcmVGdW5jdGlvbjo6TGVzczsKKyAgICBpZiAodmFsdWUgPT0gV2ViTWV0YWxD
b21wYXJlRnVuY3Rpb246OkVxdWFsKQorICAgICAgICByZXR1cm4gR1BVQ29tcGFyZUZ1bmN0aW9u
OjpFcXVhbDsKKyAgICBpZiAodmFsdWUgPT0gV2ViTWV0YWxDb21wYXJlRnVuY3Rpb246Okxlc3Nl
cXVhbCkKKyAgICAgICAgcmV0dXJuIEdQVUNvbXBhcmVGdW5jdGlvbjo6TGVzc0VxdWFsOworICAg
IGlmICh2YWx1ZSA9PSBXZWJNZXRhbENvbXBhcmVGdW5jdGlvbjo6R3JlYXRlcikKKyAgICAgICAg
cmV0dXJuIEdQVUNvbXBhcmVGdW5jdGlvbjo6R3JlYXRlcjsKKyAgICBpZiAodmFsdWUgPT0gV2Vi
TWV0YWxDb21wYXJlRnVuY3Rpb246Ok5vdGVxdWFsKQorICAgICAgICByZXR1cm4gR1BVQ29tcGFy
ZUZ1bmN0aW9uOjpOb3RFcXVhbDsKKyAgICBpZiAodmFsdWUgPT0gV2ViTWV0YWxDb21wYXJlRnVu
Y3Rpb246OkdyZWF0ZXJlcXVhbCkKKyAgICAgICAgcmV0dXJuIEdQVUNvbXBhcmVGdW5jdGlvbjo6
R3JlYXRlckVxdWFsOworICAgIGlmICh2YWx1ZSA9PSBXZWJNZXRhbENvbXBhcmVGdW5jdGlvbjo6
QWx3YXlzKQorICAgICAgICByZXR1cm4gR1BVQ29tcGFyZUZ1bmN0aW9uOjpBbHdheXM7CisgICAg
CisgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CisgICAgcmV0dXJuIEdQVUNvbXBhcmVGdW5jdGlv
bjo6TmV2ZXI7Cit9CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKworI2VuZGlmCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJNZXRhbEVudW1zLmggYi9Tb3VyY2Uv
V2ViQ29yZS9odG1sL2NhbnZhcy9XZWJNZXRhbEVudW1zLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjgyYzUwNjNh
ZmMxNzkwM2RhZDhmNGQ0NDlkM2FiN2MzZTQ2NTkwZAotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYk1ldGFsRW51bXMuaApAQCAtMCwwICsxLDU0IEBACisv
KgorICogQ29weXJpZ2h0IChDKSAyMDE3IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4K
KyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1z
LCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRl
ZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlz
dHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0
CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5n
IGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCBy
ZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2Yg
Y29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9j
dW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3Ry
aWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4g
YGBBUyBJUycnIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNM
VURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisgKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0Yg
TUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0Ug
QVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SCisgKiBDT05U
UklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwg
U1BFQ0lBTCwKKyAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJ
TkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09P
RFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgorICogUFJPRklUUzsgT1IgQlVT
SU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQorICog
T0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBU
T1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFO
WSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNF
RCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI3ByYWdtYSBvbmNl
CisKKyNpZiBFTkFCTEUoV0VCTUVUQUwpCisKKyNpbmNsdWRlIDx3dGYvRm9yd2FyZC5oPgorI2lu
Y2x1ZGUgPHd0Zi9PcHRpb25hbC5oPgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK2VudW0gY2xh
c3MgR1BVQ29tcGFyZUZ1bmN0aW9uOworCitlbnVtIGNsYXNzIFdlYk1ldGFsQ29tcGFyZUZ1bmN0
aW9uIHsKKyAgICBOZXZlciwKKyAgICBMZXNzLAorICAgIEVxdWFsLAorICAgIExlc3NlcXVhbCwK
KyAgICBHcmVhdGVyLAorICAgIE5vdGVxdWFsLAorICAgIEdyZWF0ZXJlcXVhbCwKKyAgICBBbHdh
eXMKK307CisKK3N0ZDo6b3B0aW9uYWw8V2ViTWV0YWxDb21wYXJlRnVuY3Rpb24+IHRvV2ViTWV0
YWxDb21wYXJlRnVuY3Rpb24oY29uc3QgU3RyaW5nJik7CitTdHJpbmcgd2ViM0RDb21wYXJlRnVu
Y3Rpb25OYW1lKFdlYk1ldGFsQ29tcGFyZUZ1bmN0aW9uKTsKK0dQVUNvbXBhcmVGdW5jdGlvbiB0
b0dQVUNvbXBhcmVGdW5jdGlvbihXZWJNZXRhbENvbXBhcmVGdW5jdGlvbik7CisKK30gLy8gbmFt
ZXNwYWNlIFdlYkNvcmUKKworI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1s
L2NhbnZhcy9XZWJNZXRhbEVudW1zLmlkbCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dl
Yk1ldGFsRW51bXMuaWRsCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjU1ZWE0NTE5NTg3ZjZjOWJmZWI4MTZlMDVlYzlk
OWY1NjhmMzE4YWYKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZh
cy9XZWJNZXRhbEVudW1zLmlkbApAQCAtMCwwICsxLDI3NCBAQAorLyoKKyAqIENvcHlyaWdodCAo
QykgMjAxNyBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmli
dXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0
CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93
aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291
cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0
aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICog
Mi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92
ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRo
ZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29y
IG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICog
VEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIGBgQVMgSVMnJyBBTkQgQU5Z
CisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJ
TUlURUQgVE8sIFRIRQorICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBB
TkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAg
SU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUgorICogQ09OVFJJQlVUT1JTIEJFIExJQUJM
RSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCisgKiBFWEVN
UExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlU
RUQgVE8sCisgKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBM
T1NTIE9GIFVTRSwgREFUQSwgT1IKKyAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElP
TikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKKyAqIE9GIExJQUJJTElUWSwgV0hF
VEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElO
RyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUg
VVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklM
SVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKK1sKKyAgICBDb25kaXRpb25hbD1XRUJNRVRBTCwK
KyAgICBFbmFibGVkQXRSdW50aW1lPVdlYk1ldGFsCitdIGVudW0gV2ViTWV0YWxQaXhlbEZvcm1h
dCB7CisgICAgIkJHUkE4VW5vcm0iCit9OworCitbCisgICAgQ29uZGl0aW9uYWw9V0VCTUVUQUws
CisgICAgRW5hYmxlZEF0UnVudGltZT1XZWJNZXRhbAorXSBlbnVtIFdlYk1ldGFsTG9hZEFjdGlv
biB7CisgICAgImRvbnRjYXJlIiwKKyAgICAibG9hZCIsCisgICAgImNsZWFyIgorfTsKKworWwor
ICAgIENvbmRpdGlvbmFsPVdFQk1FVEFMLAorICAgIEVuYWJsZWRBdFJ1bnRpbWU9V2ViTWV0YWwK
K10gZW51bSBXZWJNZXRhbFN0b3JlQWN0aW9uIHsKKyAgICAiZG9udGNhcmUiLAorICAgICJzdG9y
ZSIsCisgICAgIm11bHRpc2FtcGxlcmVzb2x2ZSIKK307CisKK1sKKyAgICBDb25kaXRpb25hbD1X
RUJNRVRBTCwKKyAgICBFbmFibGVkQXRSdW50aW1lPVdlYk1ldGFsCitdIGVudW0gV2ViTWV0YWxQ
cmltaXRpdmVUeXBlIHsKKyAgICAicG9pbnQiLAorICAgICJsaW5lIiwKKyAgICAibGluZXN0cmlw
IiwKKyAgICAidHJpYW5nbGUiLAorICAgICJ0cmlhbmdsZXN0cmlwIgorfTsKKworWworICAgIENv
bmRpdGlvbmFsPVdFQk1FVEFMLAorICAgIEVuYWJsZWRBdFJ1bnRpbWU9V2ViTWV0YWwKK10gZW51
bSBXZWJNZXRhbEZ1bmN0aW9uVHlwZSB7CisgICAgImZyYWdtZW50IiwKKyAgICAidmVydGV4Igor
fTsKKworWworICAgIENvbmRpdGlvbmFsPVdFQk1FVEFMLAorICAgIEVuYWJsZWRBdFJ1bnRpbWU9
V2ViTWV0YWwKK10gZW51bSBXZWJNZXRhbFN0ZW5jaWxPcGVyYXRpb24geworICAgICJrZWVwIiwK
KyAgICAiemVybyIsCisgICAgInJlcGxhY2UiLAorICAgICJpbmNyZW1lbnRjbGFtcCIsCisgICAg
ImRlY3JlbWVudGNsYW1wIiwKKyAgICAiaW52ZXJ0IiwKKyAgICAiaW5jcmVtZW50d3JhcCIsCisg
ICAgImRlY3JlbWVudHdyYXAiCit9OworCitbCisgICAgQ29uZGl0aW9uYWw9V0VCTUVUQUwsCisg
ICAgRW5hYmxlZEF0UnVudGltZT1XZWJNZXRhbAorXSBlbnVtIFdlYk1ldGFsU3RhdHVzIHsKKyAg
ICAibm90ZW5xdWV1ZWQiLAorICAgICJlbnF1ZXVlZCIsCisgICAgImNvbW1pdHRlZCIsCisgICAg
InNjaGVkdWxlZCIsCisgICAgImNvbXBsZXRlZCIsCisgICAgImVycm9yIgorfTsKKworWworICAg
IENvbmRpdGlvbmFsPVdFQk1FVEFMLAorICAgIEVuYWJsZWRBdFJ1bnRpbWU9V2ViTWV0YWwKK10g
ZW51bSBXZWJNZXRhbFNhbXBsZXJBZGRyZXNzTW9kZSB7CisgICAgImNsYW1wdG9lZGdlIiwKKyAg
ICAibWlycm9yY2xhbXB0b2VkZ2UiLAorICAgICJyZXBlYXQiLAorICAgICJtaXJyb3JyZXBlYXQi
LAorICAgICJjbGFtcHRvemVybyIKK307CisKK1sKKyAgICBDb25kaXRpb25hbD1XRUJNRVRBTCwK
KyAgICBFbmFibGVkQXRSdW50aW1lPVdlYk1ldGFsCitdIGVudW0gV2ViTWV0YWxTYW1wbGVyTWlu
TWFnRmlsdGVyIHsKKyAgICAibmVhcmVzdCIsCisgICAgImxpbmVhciIKK307CisKK1sKKyAgICBD
b25kaXRpb25hbD1XRUJNRVRBTCwKKyAgICBFbmFibGVkQXRSdW50aW1lPVdlYk1ldGFsCitdIGVu
dW0gV2ViTWV0YWxTYW1wbGVyTWlwRmlsdGVyIHsKKyAgICAibm90bWlwbWFwcGVkIiwKKyAgICAi
bmVhcmVzdCIsCisgICAgImxpbmVhciIKK307CisKK1sKKyAgICBDb25kaXRpb25hbD1XRUJNRVRB
TCwKKyAgICBFbmFibGVkQXRSdW50aW1lPVdlYk1ldGFsCitdIGVudW0gV2ViTWV0YWxDdWxsTW9k
ZSB7CisgICAgIm5vbmUiLAorICAgICJmcm9udCIsCisgICAgImJhY2siCit9OworCitbCisgICAg
Q29uZGl0aW9uYWw9V0VCTUVUQUwsCisgICAgRW5hYmxlZEF0UnVudGltZT1XZWJNZXRhbAorXSBl
bnVtIFdlYk1ldGFsSW5kZXhUeXBlIHsKKyAgICAidWludDE2IiwKKyAgICAidWludDMyIgorfTsK
KworWworICAgIENvbmRpdGlvbmFsPVdFQk1FVEFMLAorICAgIEVuYWJsZWRBdFJ1bnRpbWU9V2Vi
TWV0YWwKK10gZW51bSBXZWJNZXRhbFZpc2liaWxpdHlSZXN1bHRNb2RlIHsKKyAgICAiZGlzYWJs
ZWQiLAorICAgICJib29sZWFuIiwKKyAgICAiY291bnRpbmciCit9OworCitbCisgICAgQ29uZGl0
aW9uYWw9V0VCTUVUQUwsCisgICAgRW5hYmxlZEF0UnVudGltZT1XZWJNZXRhbAorXSBlbnVtIFdl
Yk1ldGFsV2luZGluZyB7CisgICAgImNsb2Nrd2lzZSIsCisgICAgImNvdW50ZXJjbG9ja3dpc2Ui
Cit9OworCitbCisgICAgQ29uZGl0aW9uYWw9V0VCTUVUQUwsCisgICAgRW5hYmxlZEF0UnVudGlt
ZT1XZWJNZXRhbAorXSBlbnVtIFdlYk1ldGFsRGVwdGhDbGlwTW9kZSB7CisgICAgImNsaXAiLAor
ICAgICJjbGFtcCIKK307CisKK1sKKyAgICBDb25kaXRpb25hbD1XRUJNRVRBTCwKKyAgICBFbmFi
bGVkQXRSdW50aW1lPVdlYk1ldGFsCitdIGVudW0gV2ViTWV0YWxUcmlhbmdsZUZpbGxNb2RlIHsK
KyAgICAiZmlsbCIsCisgICAgImxpbmVzIgorfTsKKworWworICAgIENvbmRpdGlvbmFsPVdFQk1F
VEFMLAorICAgIEVuYWJsZWRBdFJ1bnRpbWU9V2ViTWV0YWwKK10gZW51bSBXZWJNZXRhbENQVUNh
Y2hlTW9kZSB7CisgICAgImRlZmF1bHRjYWNoZSIsCisgICAgIndyaXRlY29tYmluZWQiCit9Owor
CitbCisgICAgQ29uZGl0aW9uYWw9V0VCTUVUQUwsCisgICAgRW5hYmxlZEF0UnVudGltZT1XZWJN
ZXRhbAorXSBlbnVtIFdlYk1ldGFsU3RvcmFnZU1vZGUgeworICAgICJzaGFyZWQiLAorICAgICJt
YW5hZ2VkIiwKKyAgICAicHJpdmF0ZSIKK307CisKK1sKKyAgICBDb25kaXRpb25hbD1XRUJNRVRB
TCwKKyAgICBFbmFibGVkQXRSdW50aW1lPVdlYk1ldGFsCitdIGVudW0gV2ViTWV0YWxSZXNvdXJj
ZU9wdGlvbnMgeworICAgICJjcHVjYWNoZW1vZGVkZWZhdWx0Y2FjaGUiLAorICAgICJjcHVjYWNo
ZW1vZGV3cml0ZWNvbWJpbmVkIiwKKyAgICAic3RvcmFnZW1vZGVzaGFyZWQiLAorICAgICJzdG9y
YWdlbW9kZW1hbmFnZWQiLAorICAgICJzdG9yYWdlbW9kZXByaXZhdGUiLAorICAgICJvcHRpb25j
cHVjYWNoZW1vZGVkZWZhdWx0Y2FjaGUiLAorICAgICJvcHRpb25jcHVjYWNoZW1vZGV3cml0ZWNv
bWJpbmVkIgorfTsKKworWworICAgIENvbmRpdGlvbmFsPVdFQk1FVEFMLAorICAgIEVuYWJsZWRB
dFJ1bnRpbWU9V2ViTWV0YWwKK10gZW51bSBXZWJNZXRhbFRleHR1cmVVc2FnZSB7CisgICAgInVu
a25vd24iLAorICAgICJzaGFkZXJyZWFkIiwKKyAgICAic2hhZGVyd3JpdGUiLAorICAgICJyZW5k
ZXJ0YXJnZXQiLAorICAgICJwaXhlbGZvcm1hdHZpZXciCit9OworCitbCisgICAgQ29uZGl0aW9u
YWw9V0VCTUVUQUwsCisgICAgRW5hYmxlZEF0UnVudGltZT1XZWJNZXRhbAorXSBlbnVtIFdlYk1l
dGFsQmxlbmRPcGVyYXRpb24geworICAgICJhZGQiLAorICAgICJzdWJ0cmFjdCIsCisgICAgInJl
dmVyc2VzdWJ0cmFjdCIsCisgICAgIm1pbiIsCisgICAgIm1heCIKK307CisKK1sKKyAgICBDb25k
aXRpb25hbD1XRUJNRVRBTCwKKyAgICBFbmFibGVkQXRSdW50aW1lPVdlYk1ldGFsCitdIGVudW0g
V2ViTWV0YWxCbGVuZEZhY3RvciB7CisgICAgInplcm8iLAorICAgICJvbmUiLAorICAgICJzb3Vy
Y2Vjb2xvciIsCisgICAgIm9uZW1pbnVzc291cmNlY29sb3IiLAorICAgICJzb3VyY2VhbHBoYSIs
CisgICAgIm9uZW1pbnVzc291cmNlYWxwaGEiLAorICAgICJkZXN0aW5hdGlvbmNvbG9yIiwKKyAg
ICAib25lbWludXNkZXN0aW5hdGlvbmNvbG9yIiwKKyAgICAiZGVzdGluYXRpb25hbHBoYSIsCisg
ICAgIm9uZW1pbnVzZGVzdGluYXRpb25hbHBoYSIsCisgICAgInNvdXJjZWFscGhhc2F0dXJhdGVk
IiwKKyAgICAiYmxlbmRjb2xvciIsCisgICAgIm9uZW1pbnVzYmxlbmRjb2xvciIsCisgICAgImJs
ZW5kYWxwaGEiLAorICAgICJvbmVtaW51c2JsZW5kYWxwaGEiCit9OworCitbCisgICAgQ29uZGl0
aW9uYWw9V0VCTUVUQUwsCisgICAgRW5hYmxlZEF0UnVudGltZT1XZWJNZXRhbAorXSBlbnVtIFdl
Yk1ldGFsQ29sb3JXcml0ZU1hc2sgeworICAgICJub25lIiwKKyAgICAicmVkIiwKKyAgICAiZ3Jl
ZW4iLAorICAgICJibHVlIiwKKyAgICAiYWxwaGEiLAorICAgICJhbGwiCit9OworCitbCisgICAg
Q29uZGl0aW9uYWw9V0VCTUVUQUwsCisgICAgRW5hYmxlZEF0UnVudGltZT1XZWJNZXRhbAorXSBl
bnVtIFdlYk1ldGFsTXVsdGlzYW1wbGVEZXB0aFJlc29sdmVGaWx0ZXIgeworICAgICJzYW1wbGUw
IiwKKyAgICAibWluIiwKKyAgICAibWF4IgorfTsKKworWworICAgIENvbmRpdGlvbmFsPVdFQk1F
VEFMLAorICAgIEVuYWJsZWRBdFJ1bnRpbWU9V2ViTWV0YWwKK10gZW51bSBXZWJNZXRhbEZlYXR1
cmVTZXQgeworICAgICJsZXZlbDEiLAorICAgICJsZXZlbDIiCit9OwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViTWV0YWxGdW5jdGlvbi5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9odG1sL2NhbnZhcy9XZWJNZXRhbEZ1bmN0aW9uLmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi40N2JkM2Fk
ZDBlNzZlODY4OWUxZDZhNzczN2ViNDBlN2I2OGI2ODU0Ci0tLSAvZGV2L251bGwKKysrIGIvU291
cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViTWV0YWxGdW5jdGlvbi5jcHAKQEAgLTAsMCArMSw0
NyBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxNyBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVz
ZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFy
eSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQg
cHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAx
LiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNv
cHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3Jt
IG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBs
aXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAq
ICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRo
ZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBM
RSBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElF
UywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQorICogSU1QTElFRCBXQVJSQU5U
SUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQ
VVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUgor
ICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lE
RU5UQUwsIFNQRUNJQUwsCisgKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAo
SU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElU
VVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKKyAqIFBST0ZJVFM7
IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVP
UlkKKyAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElU
WSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lO
RyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElG
IEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpbmNs
dWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJXZWJNZXRhbEZ1bmN0aW9uLmgiCisKKyNpZiBFTkFC
TEUoV0VCTUVUQUwpCisKKyNpbmNsdWRlICJXZWJNZXRhbExpYnJhcnkuaCIKKworbmFtZXNwYWNl
IFdlYkNvcmUgeworCitSZWY8V2ViTWV0YWxGdW5jdGlvbj4gV2ViTWV0YWxGdW5jdGlvbjo6Y3Jl
YXRlKEdQVUZ1bmN0aW9uJiYgZnVuY3Rpb24pCit7CisgICAgcmV0dXJuIGFkb3B0UmVmKCpuZXcg
V2ViTWV0YWxGdW5jdGlvbihXVEZNb3ZlKGZ1bmN0aW9uKSkpOworfQorCitXZWJNZXRhbEZ1bmN0
aW9uOjpXZWJNZXRhbEZ1bmN0aW9uKEdQVUZ1bmN0aW9uJiYgZnVuY3Rpb24pCisgICAgOiBtX2Z1
bmN0aW9uIHsgV1RGTW92ZShmdW5jdGlvbikgfQoreworfQorCit9IC8vIG5hbWVzcGFjZSBXZWJD
b3JlCisKKyNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2Vi
TWV0YWxGdW5jdGlvbi5oIGIvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViTWV0YWxGdW5j
dGlvbi5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjJiYTY5MmMxNDMzYjg4NzM4NTFiZGM1OTUxMjY2YWI3ZjQxMmI4
YjcKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJNZXRh
bEZ1bmN0aW9uLmgKQEAgLTAsMCArMSw1MiBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxNyBB
cHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5k
IHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2Rp
ZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRp
dGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUg
bXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qg
b2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0
cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmln
aHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dp
bmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1h
dGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZU
V0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCisgKiBFWFBS
RVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8s
IFRIRQorICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVT
UyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZF
TlQgU0hBTEwgQVBQTEUgSU5DLiBPUgorICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5Z
IERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCisgKiBFWEVNUExBUlksIE9S
IENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisg
KiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVT
RSwgREFUQSwgT1IKKyAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZF
UiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKKyAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBD
T05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdF
TkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBP
RiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNV
Q0ggREFNQUdFLgorICovCisKKyNwcmFnbWEgb25jZQorCisjaWYgRU5BQkxFKFdFQk1FVEFMKQor
CisjaW5jbHVkZSAiR1BVRnVuY3Rpb24uaCIKKyNpbmNsdWRlIDx3dGYvUmVmLmg+CisjaW5jbHVk
ZSA8d3RmL1JlZkNvdW50ZWQuaD4KKyNpbmNsdWRlIDx3dGYvdGV4dC9XVEZTdHJpbmcuaD4KKwor
bmFtZXNwYWNlIFdlYkNvcmUgeworCitjbGFzcyBXZWJNZXRhbEZ1bmN0aW9uIDogcHVibGljIFJl
ZkNvdW50ZWQ8V2ViTWV0YWxGdW5jdGlvbj4geworcHVibGljOgorICAgIHN0YXRpYyBSZWY8V2Vi
TWV0YWxGdW5jdGlvbj4gY3JlYXRlKEdQVUZ1bmN0aW9uJiYpOworCisgICAgU3RyaW5nIG5hbWUo
KSBjb25zdCB7IHJldHVybiBtX2Z1bmN0aW9uLm5hbWUoKTsgfQorICAgIGNvbnN0IEdQVUZ1bmN0
aW9uJiBmdW5jdGlvbigpIGNvbnN0IHsgcmV0dXJuIG1fZnVuY3Rpb247IH0KKworcHJpdmF0ZToK
KyAgICBleHBsaWNpdCBXZWJNZXRhbEZ1bmN0aW9uKEdQVUZ1bmN0aW9uJiYpOworCisgICAgR1BV
RnVuY3Rpb24gbV9mdW5jdGlvbjsKK307CisgICAgCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisK
KyNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViTWV0YWxG
dW5jdGlvbi5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJNZXRhbEZ1bmN0aW9u
LmlkbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi43YmNhNTg5ODAzMTE4ODVmZTYwYjM0YmQyOTBmOTZmMTI1ZmQzOGMx
Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViTWV0YWxG
dW5jdGlvbi5pZGwKQEAgLTAsMCArMSwzNCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxNyBB
cHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5k
IHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2Rp
ZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRp
dGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUg
bXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qg
b2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0
cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmln
aHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dp
bmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1h
dGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZU
V0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCisgKiBFWFBS
RVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8s
IFRIRQorICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVT
UyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZF
TlQgU0hBTEwgQVBQTEUgSU5DLiBPUgorICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5Z
IERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCisgKiBFWEVNUExBUlksIE9S
IENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisg
KiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVT
RSwgREFUQSwgT1IKKyAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZF
UiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKKyAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBD
T05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdF
TkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBP
RiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNV
Q0ggREFNQUdFLgorICovCisKK1sKKyAgICBDb25kaXRpb25hbD1XRUJNRVRBTCwKKyAgICBFbmFi
bGVkQXRSdW50aW1lPVdlYk1ldGFsLAorICAgIEltcGxlbWVudGF0aW9uTGFja3NWVGFibGUKK10g
aW50ZXJmYWNlIFdlYk1ldGFsRnVuY3Rpb24geworCisgICAgcmVhZG9ubHkgYXR0cmlidXRlIERP
TVN0cmluZyBuYW1lOworCit9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52
YXMvV2ViTWV0YWxMaWJyYXJ5LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYk1l
dGFsTGlicmFyeS5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYjc5MTU2YmVlMzgwNGY4YTgxNGJjOGQ0MGY1YTZk
YzFlNjIxMWM2MgotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFz
L1dlYk1ldGFsTGlicmFyeS5jcHAKQEAgLTAsMCArMSw2MSBAQAorLyoKKyAqIENvcHlyaWdodCAo
QykgMjAxNyBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmli
dXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0
CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93
aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291
cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0
aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICog
Mi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92
ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRo
ZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29y
IG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICog
VEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIGBgQVMgSVMnJyBBTkQgQU5Z
CisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJ
TUlURUQgVE8sIFRIRQorICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBB
TkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAg
SU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUgorICogQ09OVFJJQlVUT1JTIEJFIExJQUJM
RSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCisgKiBFWEVN
UExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlU
RUQgVE8sCisgKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBM
T1NTIE9GIFVTRSwgREFUQSwgT1IKKyAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElP
TikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKKyAqIE9GIExJQUJJTElUWSwgV0hF
VEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElO
RyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUg
VVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklM
SVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRl
ICJXZWJNZXRhbExpYnJhcnkuaCIKKworI2lmIEVOQUJMRShXRUJNRVRBTCkKKworI2luY2x1ZGUg
IldlYk1ldGFsRnVuY3Rpb24uaCIKKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitSZWY8V2ViTWV0
YWxMaWJyYXJ5PiBXZWJNZXRhbExpYnJhcnk6OmNyZWF0ZShHUFVMaWJyYXJ5JiYgbGlicmFyeSwg
Y29uc3QgU3RyaW5nJiBzb3VyY2VDb2RlKQoreworICAgIHJldHVybiBhZG9wdFJlZigqbmV3IFdl
Yk1ldGFsTGlicmFyeShXVEZNb3ZlKGxpYnJhcnkpLCBzb3VyY2VDb2RlKSk7Cit9CisKK1dlYk1l
dGFsTGlicmFyeTo6V2ViTWV0YWxMaWJyYXJ5KEdQVUxpYnJhcnkmJiBsaWJyYXJ5LCBjb25zdCBT
dHJpbmcmIHNvdXJjZUNvZGUpCisgICAgOiBtX3NvdXJjZUNvZGUgeyBzb3VyY2VDb2RlIH0KKyAg
ICAsIG1fbGlicmFyeSB7IFdURk1vdmUobGlicmFyeSkgfQoreworfQorCitWZWN0b3I8U3RyaW5n
PiBXZWJNZXRhbExpYnJhcnk6OmZ1bmN0aW9uTmFtZXMoKSBjb25zdAoreworICAgIHJldHVybiBt
X2xpYnJhcnkuZnVuY3Rpb25OYW1lcygpOworfQorCitSZWZQdHI8V2ViTWV0YWxGdW5jdGlvbj4g
V2ViTWV0YWxMaWJyYXJ5OjpmdW5jdGlvbldpdGhOYW1lKGNvbnN0IFN0cmluZyYgbmFtZSkgY29u
c3QKK3sKKyAgICBHUFVGdW5jdGlvbiBmdW5jdGlvbiB7IG1fbGlicmFyeSwgbmFtZSB9OworICAg
IGlmICghZnVuY3Rpb24pCisgICAgICAgIHJldHVybiBudWxscHRyOworICAgIHJldHVybiBXZWJN
ZXRhbEZ1bmN0aW9uOjpjcmVhdGUoV1RGTW92ZShmdW5jdGlvbikpOworfQorCit9IC8vIG5hbWVz
cGFjZSBXZWJDb3JlCisKKyNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9j
YW52YXMvV2ViTWV0YWxMaWJyYXJ5LmggYi9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJN
ZXRhbExpYnJhcnkuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5lOGUxMWQ5ZWYwOTZmOTZjYTc5YmY0ZjhjMTliOGZh
OTdjYjYyMmE4Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMv
V2ViTWV0YWxMaWJyYXJ5LmgKQEAgLTAsMCArMSw2MCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykg
MjAxNyBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRp
b24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Cisg
KiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5n
IGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNl
IGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlz
IGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4g
UmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBj
b3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBm
b2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90
aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJ
UyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCisg
KiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlU
RUQgVE8sIFRIRQorICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQg
RklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4g
Tk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUgorICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBG
T1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCisgKiBFWEVNUExB
UlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQg
VE8sCisgKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NT
IE9GIFVTRSwgREFUQSwgT1IKKyAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikg
SE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKKyAqIE9GIExJQUJJTElUWSwgV0hFVEhF
UiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBO
RUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNF
CisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZ
IE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNwcmFnbWEgb25jZQorCisjaWYgRU5BQkxFKFdFQk1F
VEFMKQorCisjaW5jbHVkZSAiR1BVTGlicmFyeS5oIgorI2luY2x1ZGUgPHd0Zi9SZWYuaD4KKyNp
bmNsdWRlIDx3dGYvUmVmQ291bnRlZC5oPgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK2NsYXNz
IFdlYk1ldGFsRnVuY3Rpb247CisKK2NsYXNzIFdlYk1ldGFsTGlicmFyeSA6IHB1YmxpYyBSZWZD
b3VudGVkPFdlYk1ldGFsTGlicmFyeT4geworcHVibGljOgorICAgIHN0YXRpYyBSZWY8V2ViTWV0
YWxMaWJyYXJ5PiBjcmVhdGUoR1BVTGlicmFyeSYmLCBjb25zdCBTdHJpbmcmIHNvdXJjZUNvZGUp
OworCisgICAgY29uc3QgU3RyaW5nJiBzb3VyY2VDb2RlKCkgY29uc3QgeyByZXR1cm4gbV9zb3Vy
Y2VDb2RlOyB9CisKKyAgICBTdHJpbmcgbGFiZWwoKSBjb25zdCB7IHJldHVybiBtX2xpYnJhcnku
bGFiZWwoKTsgfQorICAgIHZvaWQgc2V0TGFiZWwoY29uc3QgU3RyaW5nJiBsYWJlbCkgeyBtX2xp
YnJhcnkuc2V0TGFiZWwobGFiZWwpOyB9CisKKyAgICBWZWN0b3I8U3RyaW5nPiBmdW5jdGlvbk5h
bWVzKCkgY29uc3Q7CisKKyAgICBSZWZQdHI8V2ViTWV0YWxGdW5jdGlvbj4gZnVuY3Rpb25XaXRo
TmFtZShjb25zdCBTdHJpbmcmKSBjb25zdDsKKworcHJpdmF0ZToKKyAgICBXZWJNZXRhbExpYnJh
cnkoR1BVTGlicmFyeSYmLCBjb25zdCBTdHJpbmcmIHNvdXJjZUNvZGUpOworCisgICAgU3RyaW5n
IG1fc291cmNlQ29kZTsKKyAgICBHUFVMaWJyYXJ5IG1fbGlicmFyeTsKK307CisKK30gLy8gbmFt
ZXNwYWNlIFdlYkNvcmUKKworI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1s
L2NhbnZhcy9XZWJNZXRhbExpYnJhcnkuaWRsIGIvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMv
V2ViTWV0YWxMaWJyYXJ5LmlkbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMWQzMDJiZWZkNDNmMWY4MDRiMTAzMTIy
ZWRjYzgyNjVhODcyZTg0Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9j
YW52YXMvV2ViTWV0YWxMaWJyYXJ5LmlkbApAQCAtMCwwICsxLDM4IEBACisvKgorICogQ29weXJp
Z2h0IChDKSAyMDE3IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRp
c3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdp
dGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBm
b2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBv
ZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3Rp
Y2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIu
CisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhl
IGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBh
bmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAq
CisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gYGBBUyBJUycnIEFO
RCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBO
T1QgTElNSVRFRCBUTywgVEhFCisgKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklM
SVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlN
RUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SCisgKiBDT05UUklCVVRPUlMgQkUg
TElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKKyAq
IEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1Qg
TElNSVRFRCBUTywKKyAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklD
RVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgorICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJS
VVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQorICogT0YgTElBQklMSVRZ
LCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5D
TFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9G
IFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9T
U0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworWworICAgIENvbmRpdGlvbmFsPVdFQk1F
VEFMLAorICAgIEVuYWJsZWRBdFJ1bnRpbWU9V2ViTWV0YWwsCisgICAgSW1wbGVtZW50YXRpb25M
YWNrc1ZUYWJsZQorXSBpbnRlcmZhY2UgV2ViTWV0YWxMaWJyYXJ5IHsKKworICAgIHJlYWRvbmx5
IGF0dHJpYnV0ZSBET01TdHJpbmcgc291cmNlQ29kZTsKKyAgICBhdHRyaWJ1dGUgRE9NU3RyaW5n
IGxhYmVsOworICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBzZXF1ZW5jZTxET01TdHJpbmc+IGZ1bmN0
aW9uTmFtZXM7CisKKyAgICBXZWJNZXRhbEZ1bmN0aW9uPyBmdW5jdGlvbldpdGhOYW1lKERPTVN0
cmluZyBuYW1lKTsKKworfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFz
L1dlYk1ldGFsUmVuZGVyQ29tbWFuZEVuY29kZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9j
YW52YXMvV2ViTWV0YWxSZW5kZXJDb21tYW5kRW5jb2Rlci5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZThlNjE4
YzYyMWU0Y2NiN2Q4Mzk5MmUwZTc4MzZmNGQ5MjYzZjExNQotLS0gL2Rldi9udWxsCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYk1ldGFsUmVuZGVyQ29tbWFuZEVuY29kZXIuY3Bw
CkBAIC0wLDAgKzEsODUgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTcgQXBwbGUgSW5jLiBB
bGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291
cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBh
cmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBh
cmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWlu
IHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlv
bnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBp
biBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBu
b3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWlt
ZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJv
dmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJP
VklERUQgQlkgQVBQTEUgSU5DLiBgYEFTIElTJycgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBM
SUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKKyAqIElN
UExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFS
VElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQ
UExFIElOQy4gT1IKKyAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElO
RElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAorICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5U
SUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogUFJPQ1VSRU1F
TlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9S
CisgKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFO
RCBPTiBBTlkgVEhFT1JZCisgKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNU
UklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhF
UldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZU
V0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4K
KyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgiCisjaW5jbHVkZSAiV2ViTWV0YWxSZW5kZXJDb21t
YW5kRW5jb2Rlci5oIgorCisjaWYgRU5BQkxFKFdFQk1FVEFMKQorCisjaW5jbHVkZSAiR1BVQ29t
bWFuZEJ1ZmZlci5oIgorI2luY2x1ZGUgIkdQVVJlbmRlclBhc3NEZXNjcmlwdG9yLmgiCisjaW5j
bHVkZSAiV2ViTWV0YWxCdWZmZXIuaCIKKyNpbmNsdWRlICJXZWJNZXRhbENvbW1hbmRCdWZmZXIu
aCIKKyNpbmNsdWRlICJXZWJNZXRhbERlcHRoU3RlbmNpbFN0YXRlLmgiCisjaW5jbHVkZSAiV2Vi
TWV0YWxSZW5kZXJQYXNzRGVzY3JpcHRvci5oIgorI2luY2x1ZGUgIldlYk1ldGFsUmVuZGVyUGlw
ZWxpbmVTdGF0ZS5oIgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK1JlZjxXZWJNZXRhbFJlbmRl
ckNvbW1hbmRFbmNvZGVyPiBXZWJNZXRhbFJlbmRlckNvbW1hbmRFbmNvZGVyOjpjcmVhdGUoR1BV
UmVuZGVyQ29tbWFuZEVuY29kZXImJiBlbmNvZGVyKQoreworICAgIHJldHVybiBhZG9wdFJlZigq
bmV3IFdlYk1ldGFsUmVuZGVyQ29tbWFuZEVuY29kZXIoV1RGTW92ZShlbmNvZGVyKSkpOworfQor
CitXZWJNZXRhbFJlbmRlckNvbW1hbmRFbmNvZGVyOjpXZWJNZXRhbFJlbmRlckNvbW1hbmRFbmNv
ZGVyKEdQVVJlbmRlckNvbW1hbmRFbmNvZGVyJiYgZW5jb2RlcikKKyAgICA6IG1fZW5jb2RlciB7
IFdURk1vdmUoZW5jb2RlcikgfQoreworfQorCitXZWJNZXRhbFJlbmRlckNvbW1hbmRFbmNvZGVy
Ojp+V2ViTWV0YWxSZW5kZXJDb21tYW5kRW5jb2RlcigpID0gZGVmYXVsdDsKKwordm9pZCBXZWJN
ZXRhbFJlbmRlckNvbW1hbmRFbmNvZGVyOjpzZXRSZW5kZXJQaXBlbGluZVN0YXRlKFdlYk1ldGFs
UmVuZGVyUGlwZWxpbmVTdGF0ZSYgcGlwZWxpbmVTdGF0ZSkKK3sKKyAgICBtX2VuY29kZXIuc2V0
UmVuZGVyUGlwZWxpbmVTdGF0ZShwaXBlbGluZVN0YXRlLnN0YXRlKCkpOworfQorCit2b2lkIFdl
Yk1ldGFsUmVuZGVyQ29tbWFuZEVuY29kZXI6OnNldERlcHRoU3RlbmNpbFN0YXRlKFdlYk1ldGFs
RGVwdGhTdGVuY2lsU3RhdGUmIGRlcHRoU3RlbmNpbFN0YXRlKQoreworICAgIG1fZW5jb2Rlci5z
ZXREZXB0aFN0ZW5jaWxTdGF0ZShkZXB0aFN0ZW5jaWxTdGF0ZS5zdGF0ZSgpKTsKK30KKwordm9p
ZCBXZWJNZXRhbFJlbmRlckNvbW1hbmRFbmNvZGVyOjpzZXRWZXJ0ZXhCdWZmZXIoV2ViTWV0YWxC
dWZmZXImIGJ1ZmZlciwgdW5zaWduZWQgb2Zmc2V0LCB1bnNpZ25lZCBpbmRleCkKK3sKKyAgICBt
X2VuY29kZXIuc2V0VmVydGV4QnVmZmVyKGJ1ZmZlci5idWZmZXIoKSwgb2Zmc2V0LCBpbmRleCk7
Cit9CisKK3ZvaWQgV2ViTWV0YWxSZW5kZXJDb21tYW5kRW5jb2Rlcjo6c2V0RnJhZ21lbnRCdWZm
ZXIoV2ViTWV0YWxCdWZmZXImIGJ1ZmZlciwgdW5zaWduZWQgb2Zmc2V0LCB1bnNpZ25lZCBpbmRl
eCkKK3sKKyAgICBtX2VuY29kZXIuc2V0RnJhZ21lbnRCdWZmZXIoYnVmZmVyLmJ1ZmZlcigpLCBv
ZmZzZXQsIGluZGV4KTsKK30KKwordm9pZCBXZWJNZXRhbFJlbmRlckNvbW1hbmRFbmNvZGVyOjpk
cmF3UHJpbWl0aXZlcyh1bnNpZ25lZCB0eXBlLCB1bnNpZ25lZCBzdGFydCwgdW5zaWduZWQgY291
bnQpCit7CisgICAgbV9lbmNvZGVyLmRyYXdQcmltaXRpdmVzKHR5cGUsIHN0YXJ0LCBjb3VudCk7
Cit9CisKK3ZvaWQgV2ViTWV0YWxSZW5kZXJDb21tYW5kRW5jb2Rlcjo6ZW5kRW5jb2RpbmcoKQor
eworICAgIHJldHVybiBtX2VuY29kZXIuZW5kRW5jb2RpbmcoKTsKK30KKworfSAvLyBuYW1lc3Bh
Y2UgV2ViQ29yZQorCisjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2Fu
dmFzL1dlYk1ldGFsUmVuZGVyQ29tbWFuZEVuY29kZXIuaCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwv
Y2FudmFzL1dlYk1ldGFsUmVuZGVyQ29tbWFuZEVuY29kZXIuaApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi45ZGVkN2Fi
ZTQ1NzMyMTNlYjk1MzNlNjlmNDJiMGI4ZDllNzUxODYwCi0tLSAvZGV2L251bGwKKysrIGIvU291
cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViTWV0YWxSZW5kZXJDb21tYW5kRW5jb2Rlci5oCkBA
IC0wLDAgKzEsNjIgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTcgQXBwbGUgSW5jLiBBbGwg
cmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNl
IGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUg
cGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUg
bWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRo
ZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBi
aW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3Rp
Y2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIg
aW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlk
ZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklE
RUQgQlkgQVBQTEUgSU5DLiBgYEFTIElTJycgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVE
IFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKKyAqIElNUExJ
RUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElD
VUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExF
IElOQy4gT1IKKyAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElS
RUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAorICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFM
IERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogUFJPQ1VSRU1FTlQg
T0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCisg
KiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBP
TiBBTlkgVEhFT1JZCisgKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklD
VCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJ
U0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FS
RSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAq
LworCisjcHJhZ21hIG9uY2UKKworI2lmIEVOQUJMRShXRUJNRVRBTCkKKworI2luY2x1ZGUgIkdQ
VVJlbmRlckNvbW1hbmRFbmNvZGVyLmgiCisjaW5jbHVkZSA8d3RmL1JlZi5oPgorI2luY2x1ZGUg
PHd0Zi9SZWZDb3VudGVkLmg+CisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworY2xhc3MgV2ViTWV0
YWxCdWZmZXI7CitjbGFzcyBXZWJNZXRhbERlcHRoU3RlbmNpbFN0YXRlOworY2xhc3MgV2ViTWV0
YWxSZW5kZXJQaXBlbGluZVN0YXRlOworCitjbGFzcyBXZWJNZXRhbFJlbmRlckNvbW1hbmRFbmNv
ZGVyIDogcHVibGljIFJlZkNvdW50ZWQ8V2ViTWV0YWxSZW5kZXJDb21tYW5kRW5jb2Rlcj4gewor
cHVibGljOgorICAgIH5XZWJNZXRhbFJlbmRlckNvbW1hbmRFbmNvZGVyKCk7CisgICAgc3RhdGlj
IFJlZjxXZWJNZXRhbFJlbmRlckNvbW1hbmRFbmNvZGVyPiBjcmVhdGUoR1BVUmVuZGVyQ29tbWFu
ZEVuY29kZXImJik7CisKKyAgICB2b2lkIHNldFJlbmRlclBpcGVsaW5lU3RhdGUoV2ViTWV0YWxS
ZW5kZXJQaXBlbGluZVN0YXRlJik7CisgICAgdm9pZCBzZXREZXB0aFN0ZW5jaWxTdGF0ZShXZWJN
ZXRhbERlcHRoU3RlbmNpbFN0YXRlJik7CisgICAgdm9pZCBzZXRWZXJ0ZXhCdWZmZXIoV2ViTWV0
YWxCdWZmZXImLCB1bnNpZ25lZCBvZmZzZXQsIHVuc2lnbmVkIGluZGV4KTsKKyAgICB2b2lkIHNl
dEZyYWdtZW50QnVmZmVyKFdlYk1ldGFsQnVmZmVyJiwgdW5zaWduZWQgb2Zmc2V0LCB1bnNpZ25l
ZCBpbmRleCk7CisgICAgdm9pZCBkcmF3UHJpbWl0aXZlcyh1bnNpZ25lZCB0eXBlLCB1bnNpZ25l
ZCBzdGFydCwgdW5zaWduZWQgY291bnQpOworICAgIHZvaWQgZW5kRW5jb2RpbmcoKTsKKworICAg
IEdQVVJlbmRlckNvbW1hbmRFbmNvZGVyJiBlbmNvZGVyKCkgeyByZXR1cm4gbV9lbmNvZGVyOyB9
CisKK3ByaXZhdGU6CisgICAgZXhwbGljaXQgV2ViTWV0YWxSZW5kZXJDb21tYW5kRW5jb2RlcihH
UFVSZW5kZXJDb21tYW5kRW5jb2RlciYmKTsKKworICAgIEdQVVJlbmRlckNvbW1hbmRFbmNvZGVy
IG1fZW5jb2RlcjsKK307CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKworI2VuZGlmCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJNZXRhbFJlbmRlckNvbW1hbmRF
bmNvZGVyLmlkbCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYk1ldGFsUmVuZGVyQ29t
bWFuZEVuY29kZXIuaWRsCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmJmYjNiOTg4OTA3OGIzYWVhODQ1Mzc1ZDZiZjZm
NTc5MGM0YTQ3M2YKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZh
cy9XZWJNZXRhbFJlbmRlckNvbW1hbmRFbmNvZGVyLmlkbApAQCAtMCwwICsxLDQwIEBACisvKgor
ICogQ29weXJpZ2h0IChDKSAyMDE3IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAq
CisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3
aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0
aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJp
YnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Cisg
KiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRp
c2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXBy
b2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29u
ZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1l
bnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1
dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gYGBB
UyBJUycnIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJ
TkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisgKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVS
Q0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJF
IERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SCisgKiBDT05UUklC
VVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BF
Q0lBTCwKKyAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcs
IEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMg
T1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgorICogUFJPRklUUzsgT1IgQlVTSU5F
U1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQorICogT0Yg
TElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JU
CisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBX
QVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBP
RiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworWworICAgIENvbmRpdGlv
bmFsPVdFQk1FVEFMLAorICAgIEVuYWJsZWRBdFJ1bnRpbWU9V2ViTWV0YWwsCisgICAgSW1wbGVt
ZW50YXRpb25MYWNrc1ZUYWJsZQorXSBpbnRlcmZhY2UgV2ViTWV0YWxSZW5kZXJDb21tYW5kRW5j
b2RlciB7CisKKyAgICB2b2lkIHNldFJlbmRlclBpcGVsaW5lU3RhdGUoV2ViTWV0YWxSZW5kZXJQ
aXBlbGluZVN0YXRlIHBpcGVsaW5lU3RhdGUpOworICAgIHZvaWQgc2V0RGVwdGhTdGVuY2lsU3Rh
dGUoV2ViTWV0YWxEZXB0aFN0ZW5jaWxTdGF0ZSBkZXB0aFN0ZW5jaWxTdGF0ZSk7CisgICAgdm9p
ZCBzZXRWZXJ0ZXhCdWZmZXIoV2ViTWV0YWxCdWZmZXIgYnVmZmVyLCB1bnNpZ25lZCBsb25nIG9m
ZnNldCwgdW5zaWduZWQgbG9uZyBpbmRleCk7CisgICAgdm9pZCBzZXRGcmFnbWVudEJ1ZmZlcihX
ZWJNZXRhbEJ1ZmZlciBidWZmZXIsIHVuc2lnbmVkIGxvbmcgb2Zmc2V0LCB1bnNpZ25lZCBsb25n
IGluZGV4KTsKKyAgICB2b2lkIGRyYXdQcmltaXRpdmVzKHVuc2lnbmVkIGxvbmcgdHlwZSwgdW5z
aWduZWQgbG9uZyBzdGFydCwgdW5zaWduZWQgbG9uZyBjb3VudCk7CisKKyAgICB2b2lkIGVuZEVu
Y29kaW5nKCk7CisKK307CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9X
ZWJNZXRhbFJlbmRlclBhc3NBdHRhY2htZW50RGVzY3JpcHRvci5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9odG1sL2NhbnZhcy9XZWJNZXRhbFJlbmRlclBhc3NBdHRhY2htZW50RGVzY3JpcHRvci5jcHAK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uMGZjNGJhYWE2MGZhYzc5ZDViYWJjNGFjMmY5ODYzYjc2OThhZGYzYgotLS0g
L2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYk1ldGFsUmVuZGVy
UGFzc0F0dGFjaG1lbnREZXNjcmlwdG9yLmNwcApAQCAtMCwwICsxLDgxIEBACisvKgorICogQ29w
eXJpZ2h0IChDKSAyMDE3IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBS
ZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9y
IHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRo
ZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9u
cyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBu
b3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWlt
ZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2Ug
dGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9u
cyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlv
biBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4K
KyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gYGBBUyBJUycn
IEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJV
VCBOT1QgTElNSVRFRCBUTywgVEhFCisgKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRB
QklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NM
QUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SCisgKiBDT05UUklCVVRPUlMg
QkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwK
KyAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBO
T1QgTElNSVRFRCBUTywKKyAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VS
VklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgorICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5U
RVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQorICogT0YgTElBQklM
SVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAo
SU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VU
IE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUg
UE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgor
I2luY2x1ZGUgIldlYk1ldGFsUmVuZGVyUGFzc0F0dGFjaG1lbnREZXNjcmlwdG9yLmgiCisKKyNp
ZiBFTkFCTEUoV0VCTUVUQUwpCisKKyNpbmNsdWRlICJHUFVSZW5kZXJQYXNzQXR0YWNobWVudERl
c2NyaXB0b3IuaCIKKyNpbmNsdWRlICJHUFVUZXh0dXJlLmgiCisjaW5jbHVkZSAiV2ViTWV0YWxU
ZXh0dXJlLmgiCisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworV2ViTWV0YWxSZW5kZXJQYXNzQXR0
YWNobWVudERlc2NyaXB0b3I6OldlYk1ldGFsUmVuZGVyUGFzc0F0dGFjaG1lbnREZXNjcmlwdG9y
KCkKK3sKK30KKworV2ViTWV0YWxSZW5kZXJQYXNzQXR0YWNobWVudERlc2NyaXB0b3I6On5XZWJN
ZXRhbFJlbmRlclBhc3NBdHRhY2htZW50RGVzY3JpcHRvcigpID0gZGVmYXVsdDsKKwordW5zaWdu
ZWQgV2ViTWV0YWxSZW5kZXJQYXNzQXR0YWNobWVudERlc2NyaXB0b3I6OmxvYWRBY3Rpb24oKSBj
b25zdAoreworICAgIHJldHVybiBkZXNjcmlwdG9yKCkubG9hZEFjdGlvbigpOworfQorCit2b2lk
IFdlYk1ldGFsUmVuZGVyUGFzc0F0dGFjaG1lbnREZXNjcmlwdG9yOjpzZXRMb2FkQWN0aW9uKHVu
c2lnbmVkIG5ld0xvYWRBY3Rpb24pCit7CisgICAgZGVzY3JpcHRvcigpLnNldExvYWRBY3Rpb24o
bmV3TG9hZEFjdGlvbik7Cit9CisKK3Vuc2lnbmVkIFdlYk1ldGFsUmVuZGVyUGFzc0F0dGFjaG1l
bnREZXNjcmlwdG9yOjpzdG9yZUFjdGlvbigpIGNvbnN0Cit7CisgICAgcmV0dXJuIGRlc2NyaXB0
b3IoKS5zdG9yZUFjdGlvbigpOworfQorCit2b2lkIFdlYk1ldGFsUmVuZGVyUGFzc0F0dGFjaG1l
bnREZXNjcmlwdG9yOjpzZXRTdG9yZUFjdGlvbih1bnNpZ25lZCBuZXdTdG9yZUFjdGlvbikKK3sK
KyAgICBkZXNjcmlwdG9yKCkuc2V0U3RvcmVBY3Rpb24obmV3U3RvcmVBY3Rpb24pOworfQorCitX
ZWJNZXRhbFRleHR1cmUqIFdlYk1ldGFsUmVuZGVyUGFzc0F0dGFjaG1lbnREZXNjcmlwdG9yOjp0
ZXh0dXJlKCkgY29uc3QKK3sKKyAgICByZXR1cm4gbV90ZXh0dXJlLmdldCgpOworfQorCit2b2lk
IFdlYk1ldGFsUmVuZGVyUGFzc0F0dGFjaG1lbnREZXNjcmlwdG9yOjpzZXRUZXh0dXJlKFJlZlB0
cjxXZWJNZXRhbFRleHR1cmU+JiYgbmV3VGV4dHVyZSkKK3sKKyAgICAvLyBGSVhNRTogV2h5IGNh
bid0IHdlIHNldCB0aGlzIHRvIG51bGw/CisgICAgaWYgKCFuZXdUZXh0dXJlKQorICAgICAgICBy
ZXR1cm47CisgICAgCisgICAgbV90ZXh0dXJlID0gV1RGTW92ZShuZXdUZXh0dXJlKTsKKworICAg
IGRlc2NyaXB0b3IoKS5zZXRUZXh0dXJlKG1fdGV4dHVyZS0+dGV4dHVyZSgpKTsKK30KKworfSAv
LyBuYW1lc3BhY2UgV2ViQ29yZQorCisjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L2h0bWwvY2FudmFzL1dlYk1ldGFsUmVuZGVyUGFzc0F0dGFjaG1lbnREZXNjcmlwdG9yLmggYi9T
b3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJNZXRhbFJlbmRlclBhc3NBdHRhY2htZW50RGVz
Y3JpcHRvci5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjI2YmMzZTBjNzVhMjIxMTE0NmM0M2VlYWZjY2FmYmQ3ZTA5
ODMzMWMKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJN
ZXRhbFJlbmRlclBhc3NBdHRhY2htZW50RGVzY3JpcHRvci5oCkBAIC0wLDAgKzEsNjQgQEAKKy8q
CisgKiBDb3B5cmlnaHQgKEMpIDIwMTcgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgor
ICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMs
IHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVk
IHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0
cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQK
KyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcg
ZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJl
cHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBj
b25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1
bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJp
YnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBg
YEFTIElTJycgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xV
RElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKKyAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBN
RVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBB
UkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IKKyAqIENPTlRS
SUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBT
UEVDSUFMLAorICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElO
RywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09E
UyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCisgKiBQUk9GSVRTOyBPUiBCVVNJ
TkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCisgKiBP
RiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRP
UlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5Z
IFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VE
IE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjcHJhZ21hIG9uY2UK
KworI2lmIEVOQUJMRShXRUJNRVRBTCkKKworI2luY2x1ZGUgPHd0Zi9SZWYuaD4KKyNpbmNsdWRl
IDx3dGYvUmVmQ291bnRlZC5oPgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK2NsYXNzIEdQVVJl
bmRlclBhc3NBdHRhY2htZW50RGVzY3JpcHRvcjsKK2NsYXNzIFdlYk1ldGFsVGV4dHVyZTsKKwor
Y2xhc3MgV2ViTWV0YWxSZW5kZXJQYXNzQXR0YWNobWVudERlc2NyaXB0b3IgOiBwdWJsaWMgUmVm
Q291bnRlZDxXZWJNZXRhbFJlbmRlclBhc3NBdHRhY2htZW50RGVzY3JpcHRvcj4geworcHVibGlj
OgorICAgIHZpcnR1YWwgfldlYk1ldGFsUmVuZGVyUGFzc0F0dGFjaG1lbnREZXNjcmlwdG9yKCk7
CisKKyAgICB1bnNpZ25lZCBsb2FkQWN0aW9uKCkgY29uc3Q7CisgICAgdm9pZCBzZXRMb2FkQWN0
aW9uKHVuc2lnbmVkKTsKKworICAgIHVuc2lnbmVkIHN0b3JlQWN0aW9uKCkgY29uc3Q7CisgICAg
dm9pZCBzZXRTdG9yZUFjdGlvbih1bnNpZ25lZCk7CisKKyAgICBXZWJNZXRhbFRleHR1cmUqIHRl
eHR1cmUoKSBjb25zdDsKKyAgICB2b2lkIHNldFRleHR1cmUoUmVmUHRyPFdlYk1ldGFsVGV4dHVy
ZT4mJik7CisKKyAgICB2aXJ0dWFsIGJvb2wgaXNDb2xvckF0dGFjaG1lbnREZXNjcmlwdG9yKCkg
Y29uc3QgPSAwOworCitwcm90ZWN0ZWQ6CisgICAgV2ViTWV0YWxSZW5kZXJQYXNzQXR0YWNobWVu
dERlc2NyaXB0b3IoKTsKKworcHJpdmF0ZToKKyAgICB2aXJ0dWFsIGNvbnN0IEdQVVJlbmRlclBh
c3NBdHRhY2htZW50RGVzY3JpcHRvciYgZGVzY3JpcHRvcigpIGNvbnN0ID0gMDsKKworICAgIFJl
ZlB0cjxXZWJNZXRhbFRleHR1cmU+IG1fdGV4dHVyZTsKK307CisKK30gLy8gbmFtZXNwYWNlIFdl
YkNvcmUKKworI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9X
ZWJNZXRhbFJlbmRlclBhc3NBdHRhY2htZW50RGVzY3JpcHRvci5pZGwgYi9Tb3VyY2UvV2ViQ29y
ZS9odG1sL2NhbnZhcy9XZWJNZXRhbFJlbmRlclBhc3NBdHRhY2htZW50RGVzY3JpcHRvci5pZGwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uYTkxNDA4NWU5YTM3MzZlMTZhMGVjNjk3Y2JjZGMxZGViZGEyZDdiMAotLS0g
L2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYk1ldGFsUmVuZGVy
UGFzc0F0dGFjaG1lbnREZXNjcmlwdG9yLmlkbApAQCAtMCwwICsxLDM4IEBACisvKgorICogQ29w
eXJpZ2h0IChDKSAyMDE3IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBS
ZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9y
IHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRo
ZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9u
cyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBu
b3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWlt
ZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2Ug
dGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9u
cyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlv
biBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4K
KyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gYGBBUyBJUycn
IEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJV
VCBOT1QgTElNSVRFRCBUTywgVEhFCisgKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRB
QklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NM
QUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SCisgKiBDT05UUklCVVRPUlMg
QkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwK
KyAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBO
T1QgTElNSVRFRCBUTywKKyAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VS
VklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgorICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5U
RVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQorICogT0YgTElBQklM
SVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAo
SU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VU
IE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUg
UE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworWworICAgIENvbmRpdGlvbmFsPVdF
Qk1FVEFMLAorICAgIEVuYWJsZWRBdFJ1bnRpbWU9V2ViTWV0YWwsCisgICAgQ3VzdG9tVG9KU09i
amVjdAorXQoraW50ZXJmYWNlIFdlYk1ldGFsUmVuZGVyUGFzc0F0dGFjaG1lbnREZXNjcmlwdG9y
IHsKKworICAgIGF0dHJpYnV0ZSBXZWJNZXRhbFRleHR1cmU/IHRleHR1cmU7CisKKyAgICBhdHRy
aWJ1dGUgdW5zaWduZWQgbG9uZyBsb2FkQWN0aW9uOyAvLyBzaG91bGQgYmUgV2ViTWV0YWxMb2Fk
QWN0aW9uCisgICAgYXR0cmlidXRlIHVuc2lnbmVkIGxvbmcgc3RvcmVBY3Rpb247IC8vIHNob3Vs
ZCBiZSBXZWJNZXRhbFN0b3JlQWN0aW9uCisKK307CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9odG1sL2NhbnZhcy9XZWJNZXRhbFJlbmRlclBhc3NDb2xvckF0dGFjaG1lbnREZXNjcmlwdG9y
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYk1ldGFsUmVuZGVyUGFzc0NvbG9y
QXR0YWNobWVudERlc2NyaXB0b3IuY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY2MjhmZjk2NzRiOTY2YTVhZGE0
OGE1MzNlZmI0ZDU2NTJiMzE2OWEKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9o
dG1sL2NhbnZhcy9XZWJNZXRhbFJlbmRlclBhc3NDb2xvckF0dGFjaG1lbnREZXNjcmlwdG9yLmNw
cApAQCAtMCwwICsxLDY2IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE3IEFwcGxlIEluYy4g
QWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNv
dXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwg
YXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICog
YXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFp
biB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRp
b25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMg
aW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAg
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFp
bWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHBy
b3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBS
T1ZJREVEIEJZIEFQUExFIElOQy4gYGBBUyBJUycnIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1Q
TElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisgKiBJ
TVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBB
UlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBB
UFBMRSBJTkMuIE9SCisgKiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJ
TkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKKyAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVO
VElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFBST0NVUkVN
RU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBP
UgorICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBB
TkQgT04gQU5ZIFRIRU9SWQorICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBT
VFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RI
RVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09G
VFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0Uu
CisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorI2luY2x1ZGUgIldlYk1ldGFsUmVuZGVyUGFz
c0NvbG9yQXR0YWNobWVudERlc2NyaXB0b3IuaCIKKworI2lmIEVOQUJMRShXRUJNRVRBTCkKKwor
I2luY2x1ZGUgIkdQVVRleHR1cmUuaCIKKyNpbmNsdWRlICJXZWJNZXRhbFRleHR1cmUuaCIKKyNp
bmNsdWRlIDx3dGYvVmVjdG9yLmg+CisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworUmVmPFdlYk1l
dGFsUmVuZGVyUGFzc0NvbG9yQXR0YWNobWVudERlc2NyaXB0b3I+IFdlYk1ldGFsUmVuZGVyUGFz
c0NvbG9yQXR0YWNobWVudERlc2NyaXB0b3I6OmNyZWF0ZShHUFVSZW5kZXJQYXNzQ29sb3JBdHRh
Y2htZW50RGVzY3JpcHRvciYmIGRlc2NyaXB0b3IpCit7CisgICAgcmV0dXJuIGFkb3B0UmVmKCpu
ZXcgV2ViTWV0YWxSZW5kZXJQYXNzQ29sb3JBdHRhY2htZW50RGVzY3JpcHRvcihXVEZNb3ZlKGRl
c2NyaXB0b3IpKSk7Cit9CisKK1dlYk1ldGFsUmVuZGVyUGFzc0NvbG9yQXR0YWNobWVudERlc2Ny
aXB0b3I6OldlYk1ldGFsUmVuZGVyUGFzc0NvbG9yQXR0YWNobWVudERlc2NyaXB0b3IoR1BVUmVu
ZGVyUGFzc0NvbG9yQXR0YWNobWVudERlc2NyaXB0b3ImJiBkZXNjcmlwdG9yKQorICAgIDogbV9k
ZXNjcmlwdG9yIHsgV1RGTW92ZShkZXNjcmlwdG9yKSB9Cit7Cit9CisKK1dlYk1ldGFsUmVuZGVy
UGFzc0NvbG9yQXR0YWNobWVudERlc2NyaXB0b3I6On5XZWJNZXRhbFJlbmRlclBhc3NDb2xvckF0
dGFjaG1lbnREZXNjcmlwdG9yKCkgPSBkZWZhdWx0OworCitjb25zdCBHUFVSZW5kZXJQYXNzQXR0
YWNobWVudERlc2NyaXB0b3ImIFdlYk1ldGFsUmVuZGVyUGFzc0NvbG9yQXR0YWNobWVudERlc2Ny
aXB0b3I6OmRlc2NyaXB0b3IoKSBjb25zdAoreworICAgIHJldHVybiBtX2Rlc2NyaXB0b3I7Cit9
CisKK1ZlY3RvcjxmbG9hdD4gV2ViTWV0YWxSZW5kZXJQYXNzQ29sb3JBdHRhY2htZW50RGVzY3Jp
cHRvcjo6Y2xlYXJDb2xvcigpIGNvbnN0Cit7CisgICAgcmV0dXJuIG1fZGVzY3JpcHRvci5jbGVh
ckNvbG9yKCk7Cit9CisKK3ZvaWQgV2ViTWV0YWxSZW5kZXJQYXNzQ29sb3JBdHRhY2htZW50RGVz
Y3JpcHRvcjo6c2V0Q2xlYXJDb2xvcihjb25zdCBWZWN0b3I8ZmxvYXQ+JiBuZXdDbGVhckNvbG9y
KQoreworICAgIG1fZGVzY3JpcHRvci5zZXRDbGVhckNvbG9yKG5ld0NsZWFyQ29sb3IpOworfQor
Cit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKKyNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvaHRtbC9jYW52YXMvV2ViTWV0YWxSZW5kZXJQYXNzQ29sb3JBdHRhY2htZW50RGVzY3Jp
cHRvci5oIGIvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViTWV0YWxSZW5kZXJQYXNzQ29s
b3JBdHRhY2htZW50RGVzY3JpcHRvci5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmQxMDFlN2JlNTAxMDg0NTdkOGU1
NmQ2NzI0Y2RhNjNkMWRmZDMwNDUKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9o
dG1sL2NhbnZhcy9XZWJNZXRhbFJlbmRlclBhc3NDb2xvckF0dGFjaG1lbnREZXNjcmlwdG9yLmgK
QEAgLTAsMCArMSw1NCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxNyBBcHBsZSBJbmMuIEFs
bCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3Vy
Y2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFy
ZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFy
ZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4g
dGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9u
cyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGlu
IGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5v
dGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1l
ciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92
aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9W
SURFRCBCWSBBUFBMRSBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJ
RUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQorICogSU1Q
TElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJU
SUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQ
TEUgSU5DLiBPUgorICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5E
SVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCisgKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJ
QUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBQUk9DVVJFTUVO
VCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IK
KyAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5E
IE9OIEFOWSBUSEVPUlkKKyAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RS
SUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVS
V0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRX
QVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgor
ICovCisKKyNwcmFnbWEgb25jZQorCisjaWYgRU5BQkxFKFdFQk1FVEFMKQorCisjaW5jbHVkZSAi
R1BVUmVuZGVyUGFzc0NvbG9yQXR0YWNobWVudERlc2NyaXB0b3IuaCIKKyNpbmNsdWRlICJXZWJN
ZXRhbFJlbmRlclBhc3NBdHRhY2htZW50RGVzY3JpcHRvci5oIgorCituYW1lc3BhY2UgV2ViQ29y
ZSB7CisKK2NsYXNzIFdlYk1ldGFsUmVuZGVyUGFzc0NvbG9yQXR0YWNobWVudERlc2NyaXB0b3Ig
ZmluYWwgOiBwdWJsaWMgV2ViTWV0YWxSZW5kZXJQYXNzQXR0YWNobWVudERlc2NyaXB0b3Igewor
cHVibGljOgorICAgIHZpcnR1YWwgfldlYk1ldGFsUmVuZGVyUGFzc0NvbG9yQXR0YWNobWVudERl
c2NyaXB0b3IoKTsKKyAgICBzdGF0aWMgUmVmPFdlYk1ldGFsUmVuZGVyUGFzc0NvbG9yQXR0YWNo
bWVudERlc2NyaXB0b3I+IGNyZWF0ZShHUFVSZW5kZXJQYXNzQ29sb3JBdHRhY2htZW50RGVzY3Jp
cHRvciYmKTsKKworICAgIFZlY3RvcjxmbG9hdD4gY2xlYXJDb2xvcigpIGNvbnN0OworICAgIHZv
aWQgc2V0Q2xlYXJDb2xvcihjb25zdCBWZWN0b3I8ZmxvYXQ+Jik7CisKK3ByaXZhdGU6CisgICAg
ZXhwbGljaXQgV2ViTWV0YWxSZW5kZXJQYXNzQ29sb3JBdHRhY2htZW50RGVzY3JpcHRvcihHUFVS
ZW5kZXJQYXNzQ29sb3JBdHRhY2htZW50RGVzY3JpcHRvciYmKTsKKworICAgIGNvbnN0IEdQVVJl
bmRlclBhc3NBdHRhY2htZW50RGVzY3JpcHRvciYgZGVzY3JpcHRvcigpIGNvbnN0IGZpbmFsOwor
ICAgIGJvb2wgaXNDb2xvckF0dGFjaG1lbnREZXNjcmlwdG9yKCkgY29uc3QgZmluYWwgeyByZXR1
cm4gdHJ1ZTsgfQorCisgICAgR1BVUmVuZGVyUGFzc0NvbG9yQXR0YWNobWVudERlc2NyaXB0b3Ig
bV9kZXNjcmlwdG9yOworfTsKKyAgICAKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKworI2VuZGlm
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJNZXRhbFJlbmRlclBh
c3NDb2xvckF0dGFjaG1lbnREZXNjcmlwdG9yLmlkbCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2Fu
dmFzL1dlYk1ldGFsUmVuZGVyUGFzc0NvbG9yQXR0YWNobWVudERlc2NyaXB0b3IuaWRsCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLmU3ODRhMTQwYWM4YWY0NWI1NGZjZDdjY2IwMDRlY2Y5Yjc5NTU4NDUKLS0tIC9kZXYv
bnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJNZXRhbFJlbmRlclBhc3ND
b2xvckF0dGFjaG1lbnREZXNjcmlwdG9yLmlkbApAQCAtMCwwICsxLDMzIEBACisvKgorICogQ29w
eXJpZ2h0IChDKSAyMDE3IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBS
ZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9y
IHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRo
ZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9u
cyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBu
b3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWlt
ZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2Ug
dGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9u
cyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlv
biBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4K
KyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gYGBBUyBJUycn
IEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJV
VCBOT1QgTElNSVRFRCBUTywgVEhFCisgKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRB
QklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NM
QUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SCisgKiBDT05UUklCVVRPUlMg
QkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwK
KyAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBO
T1QgTElNSVRFRCBUTywKKyAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VS
VklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgorICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5U
RVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQorICogT0YgTElBQklM
SVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAo
SU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VU
IE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUg
UE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworWworICAgIENvbmRpdGlvbmFsPVdF
Qk1FVEFMLAorICAgIEVuYWJsZWRBdFJ1bnRpbWU9V2ViTWV0YWwKK10gaW50ZXJmYWNlIFdlYk1l
dGFsUmVuZGVyUGFzc0NvbG9yQXR0YWNobWVudERlc2NyaXB0b3IgOiBXZWJNZXRhbFJlbmRlclBh
c3NBdHRhY2htZW50RGVzY3JpcHRvciB7CisKKyAgICBhdHRyaWJ1dGUgc2VxdWVuY2U8ZmxvYXQ+
IGNsZWFyQ29sb3I7CisKK307CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZh
cy9XZWJNZXRhbFJlbmRlclBhc3NEZXB0aEF0dGFjaG1lbnREZXNjcmlwdG9yLmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYk1ldGFsUmVuZGVyUGFzc0RlcHRoQXR0YWNobWVudERl
c2NyaXB0b3IuY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjA1YzVmYjIwNGU1YWRiZTI0NmU4OWRkNWEyNDkxYjI4
Mzk5NDdjMGYKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9X
ZWJNZXRhbFJlbmRlclBhc3NEZXB0aEF0dGFjaG1lbnREZXNjcmlwdG9yLmNwcApAQCAtMCwwICsx
LDY0IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE3IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyBy
ZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmlu
YXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRl
ZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAq
IDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUg
Y29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUg
Zm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZv
cm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlz
IGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQor
ICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGgg
dGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQ
UExFIElOQy4gYGBBUyBJUycnIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5U
SUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisgKiBJTVBMSUVEIFdBUlJB
TlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAq
IFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9S
CisgKiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5D
SURFTlRBTCwgU1BFQ0lBTCwKKyAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VT
IChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFBST0NVUkVNRU5UIE9GIFNVQlNU
SVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgorICogUFJPRklU
UzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRI
RU9SWQorICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklM
SVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklT
SU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4g
SUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2lu
Y2x1ZGUgImNvbmZpZy5oIgorI2luY2x1ZGUgIldlYk1ldGFsUmVuZGVyUGFzc0RlcHRoQXR0YWNo
bWVudERlc2NyaXB0b3IuaCIKKworI2lmIEVOQUJMRShXRUJNRVRBTCkKKworI2luY2x1ZGUgIldl
Yk1ldGFsVGV4dHVyZS5oIgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK1JlZjxXZWJNZXRhbFJl
bmRlclBhc3NEZXB0aEF0dGFjaG1lbnREZXNjcmlwdG9yPiBXZWJNZXRhbFJlbmRlclBhc3NEZXB0
aEF0dGFjaG1lbnREZXNjcmlwdG9yOjpjcmVhdGUoR1BVUmVuZGVyUGFzc0RlcHRoQXR0YWNobWVu
dERlc2NyaXB0b3ImJiBkZXNjcmlwdG9yKQoreworICAgIHJldHVybiBhZG9wdFJlZigqbmV3IFdl
Yk1ldGFsUmVuZGVyUGFzc0RlcHRoQXR0YWNobWVudERlc2NyaXB0b3IoV1RGTW92ZShkZXNjcmlw
dG9yKSkpOworfQorCitXZWJNZXRhbFJlbmRlclBhc3NEZXB0aEF0dGFjaG1lbnREZXNjcmlwdG9y
OjpXZWJNZXRhbFJlbmRlclBhc3NEZXB0aEF0dGFjaG1lbnREZXNjcmlwdG9yKEdQVVJlbmRlclBh
c3NEZXB0aEF0dGFjaG1lbnREZXNjcmlwdG9yJiYgZGVzY3JpcHRvcikKKyAgICA6IG1fZGVzY3Jp
cHRvciB7IFdURk1vdmUoZGVzY3JpcHRvcikgfQoreworfQorCitXZWJNZXRhbFJlbmRlclBhc3NE
ZXB0aEF0dGFjaG1lbnREZXNjcmlwdG9yOjp+V2ViTWV0YWxSZW5kZXJQYXNzRGVwdGhBdHRhY2ht
ZW50RGVzY3JpcHRvcigpID0gZGVmYXVsdDsKKworZG91YmxlIFdlYk1ldGFsUmVuZGVyUGFzc0Rl
cHRoQXR0YWNobWVudERlc2NyaXB0b3I6OmNsZWFyRGVwdGgoKSBjb25zdAoreworICAgIHJldHVy
biBtX2Rlc2NyaXB0b3IuY2xlYXJEZXB0aCgpOworfQorCit2b2lkIFdlYk1ldGFsUmVuZGVyUGFz
c0RlcHRoQXR0YWNobWVudERlc2NyaXB0b3I6OnNldENsZWFyRGVwdGgoZG91YmxlIG5ld0NsZWFy
RGVwdGgpCit7CisgICAgbV9kZXNjcmlwdG9yLnNldENsZWFyRGVwdGgobmV3Q2xlYXJEZXB0aCk7
Cit9CisKK2NvbnN0IEdQVVJlbmRlclBhc3NBdHRhY2htZW50RGVzY3JpcHRvciYgV2ViTWV0YWxS
ZW5kZXJQYXNzRGVwdGhBdHRhY2htZW50RGVzY3JpcHRvcjo6ZGVzY3JpcHRvcigpIGNvbnN0Cit7
CisgICAgcmV0dXJuIG1fZGVzY3JpcHRvcjsKK30KKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQor
CisjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYk1ldGFs
UmVuZGVyUGFzc0RlcHRoQXR0YWNobWVudERlc2NyaXB0b3IuaCBiL1NvdXJjZS9XZWJDb3JlL2h0
bWwvY2FudmFzL1dlYk1ldGFsUmVuZGVyUGFzc0RlcHRoQXR0YWNobWVudERlc2NyaXB0b3IuaApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi5iYTA5MDI5M2VlNDBmNmNkOGUxNzkzNTQ2OWU3ODk0MDE1MDkyNGUwCi0tLSAv
ZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViTWV0YWxSZW5kZXJQ
YXNzRGVwdGhBdHRhY2htZW50RGVzY3JpcHRvci5oCkBAIC0wLDAgKzEsNTQgQEAKKy8qCisgKiBD
b3B5cmlnaHQgKEMpIDIwMTcgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAq
IFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGgg
b3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQg
dGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRp
b25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAg
IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xh
aW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVj
ZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRp
b25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0
aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9u
LgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBgYEFTIElT
JycgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywg
QlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKKyAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFO
VEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElT
Q0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IKKyAqIENPTlRSSUJVVE9S
UyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFM
LAorICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVU
IE5PVCBMSU1JVEVEIFRPLAorICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBT
RVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCisgKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJ
TlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCisgKiBPRiBMSUFC
SUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAq
IChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBP
VVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRI
RSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjcHJhZ21hIG9uY2UKKworI2lm
IEVOQUJMRShXRUJNRVRBTCkKKworI2luY2x1ZGUgIkdQVVJlbmRlclBhc3NEZXB0aEF0dGFjaG1l
bnREZXNjcmlwdG9yLmgiCisjaW5jbHVkZSAiV2ViTWV0YWxSZW5kZXJQYXNzQXR0YWNobWVudERl
c2NyaXB0b3IuaCIKKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitjbGFzcyBXZWJNZXRhbFJlbmRl
clBhc3NEZXB0aEF0dGFjaG1lbnREZXNjcmlwdG9yIGZpbmFsIDogcHVibGljIFdlYk1ldGFsUmVu
ZGVyUGFzc0F0dGFjaG1lbnREZXNjcmlwdG9yIHsKK3B1YmxpYzoKKyAgICB2aXJ0dWFsIH5XZWJN
ZXRhbFJlbmRlclBhc3NEZXB0aEF0dGFjaG1lbnREZXNjcmlwdG9yKCk7CisgICAgc3RhdGljIFJl
ZjxXZWJNZXRhbFJlbmRlclBhc3NEZXB0aEF0dGFjaG1lbnREZXNjcmlwdG9yPiBjcmVhdGUoR1BV
UmVuZGVyUGFzc0RlcHRoQXR0YWNobWVudERlc2NyaXB0b3ImJik7CisKKyAgICBkb3VibGUgY2xl
YXJEZXB0aCgpIGNvbnN0OworICAgIHZvaWQgc2V0Q2xlYXJEZXB0aChkb3VibGUpOworCitwcml2
YXRlOgorICAgIGV4cGxpY2l0IFdlYk1ldGFsUmVuZGVyUGFzc0RlcHRoQXR0YWNobWVudERlc2Ny
aXB0b3IoR1BVUmVuZGVyUGFzc0RlcHRoQXR0YWNobWVudERlc2NyaXB0b3ImJik7CisKKyAgICBj
b25zdCBHUFVSZW5kZXJQYXNzQXR0YWNobWVudERlc2NyaXB0b3ImIGRlc2NyaXB0b3IoKSBjb25z
dCBmaW5hbDsKKyAgICBib29sIGlzQ29sb3JBdHRhY2htZW50RGVzY3JpcHRvcigpIGNvbnN0IGZp
bmFsIHsgcmV0dXJuIGZhbHNlOyB9CisKKyAgICBHUFVSZW5kZXJQYXNzRGVwdGhBdHRhY2htZW50
RGVzY3JpcHRvciBtX2Rlc2NyaXB0b3I7Cit9OworICAgIAorfSAvLyBuYW1lc3BhY2UgV2ViQ29y
ZQorCisjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYk1l
dGFsUmVuZGVyUGFzc0RlcHRoQXR0YWNobWVudERlc2NyaXB0b3IuaWRsIGIvU291cmNlL1dlYkNv
cmUvaHRtbC9jYW52YXMvV2ViTWV0YWxSZW5kZXJQYXNzRGVwdGhBdHRhY2htZW50RGVzY3JpcHRv
ci5pZGwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uZjU1YjA5NDg5ZGY4NDA4MzFhZTllZjM0YmJlMThmNmIxYjJjYzY1
YgotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYk1ldGFs
UmVuZGVyUGFzc0RlcHRoQXR0YWNobWVudERlc2NyaXB0b3IuaWRsCkBAIC0wLDAgKzEsMzMgQEAK
Ky8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTcgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVk
LgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9y
bXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3Zp
ZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVk
aXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmln
aHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dp
bmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0
IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBk
b2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlz
dHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5D
LiBgYEFTIElTJycgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElO
Q0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKKyAqIElNUExJRUQgV0FSUkFOVElFUyBP
RiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9T
RSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IKKyAqIENP
TlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFM
LCBTUEVDSUFMLAorICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xV
RElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBH
T09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCisgKiBQUk9GSVRTOyBPUiBC
VVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCisg
KiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9S
IFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4g
QU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJ
U0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCitbCisgICAgQ29u
ZGl0aW9uYWw9V0VCTUVUQUwsCisgICAgRW5hYmxlZEF0UnVudGltZT1XZWJNZXRhbAorXSBpbnRl
cmZhY2UgV2ViTWV0YWxSZW5kZXJQYXNzRGVwdGhBdHRhY2htZW50RGVzY3JpcHRvciA6IFdlYk1l
dGFsUmVuZGVyUGFzc0F0dGFjaG1lbnREZXNjcmlwdG9yIHsKKworICAgIGF0dHJpYnV0ZSB1bnJl
c3RyaWN0ZWQgZG91YmxlIGNsZWFyRGVwdGg7CisKK307CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9odG1sL2NhbnZhcy9XZWJNZXRhbFJlbmRlclBhc3NEZXNjcmlwdG9yLmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYk1ldGFsUmVuZGVyUGFzc0Rlc2NyaXB0b3IuY3BwCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLmNmZGEzOGI3NTJlNmY1YTZiMjZlMjgxM2FhZTAyYjkzYzVmZjk4ZTUKLS0tIC9k
ZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJNZXRhbFJlbmRlclBh
c3NEZXNjcmlwdG9yLmNwcApAQCAtMCwwICsxLDYzIEBACisvKgorICogQ29weXJpZ2h0IChDKSAy
MDE3IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlv
biBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAq
IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcg
Y29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2Ug
Y29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBS
ZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNv
cHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3Ro
ZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElT
IFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gYGBBUyBJUycnIEFORCBBTlkKKyAq
IEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRF
RCBUTywgVEhFCisgKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBG
SVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBO
TyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SCisgKiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZP
UiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKKyAqIEVYRU1QTEFS
WSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBU
TywKKyAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1Mg
T0YgVVNFLCBEQVRBLCBPUgorICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBI
T1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQorICogT0YgTElBQklMSVRZLCBXSEVUSEVS
IElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5F
R0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UK
KyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkg
T0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorI2luY2x1ZGUgIldl
Yk1ldGFsUmVuZGVyUGFzc0Rlc2NyaXB0b3IuaCIKKworI2lmIEVOQUJMRShXRUJNRVRBTCkKKwor
bmFtZXNwYWNlIFdlYkNvcmUgeworCitSZWY8V2ViTWV0YWxSZW5kZXJQYXNzRGVzY3JpcHRvcj4g
V2ViTWV0YWxSZW5kZXJQYXNzRGVzY3JpcHRvcjo6Y3JlYXRlKCkKK3sKKyAgICByZXR1cm4gYWRv
cHRSZWYoKm5ldyBXZWJNZXRhbFJlbmRlclBhc3NEZXNjcmlwdG9yKTsKK30KKworV2ViTWV0YWxS
ZW5kZXJQYXNzRGVzY3JpcHRvcjo6V2ViTWV0YWxSZW5kZXJQYXNzRGVzY3JpcHRvcigpID0gZGVm
YXVsdDsKKworV2ViTWV0YWxSZW5kZXJQYXNzRGVzY3JpcHRvcjo6fldlYk1ldGFsUmVuZGVyUGFz
c0Rlc2NyaXB0b3IoKSA9IGRlZmF1bHQ7CisKK1dlYk1ldGFsUmVuZGVyUGFzc0RlcHRoQXR0YWNo
bWVudERlc2NyaXB0b3ImIFdlYk1ldGFsUmVuZGVyUGFzc0Rlc2NyaXB0b3I6OmRlcHRoQXR0YWNo
bWVudCgpCit7CisgICAgaWYgKCFtX2RlcHRoQXR0YWNobWVudCkKKyAgICAgICAgbV9kZXB0aEF0
dGFjaG1lbnQgPSBXZWJNZXRhbFJlbmRlclBhc3NEZXB0aEF0dGFjaG1lbnREZXNjcmlwdG9yOjpj
cmVhdGUobV9kZXNjcmlwdG9yLmRlcHRoQXR0YWNobWVudCgpKTsKKyAgICByZXR1cm4gKm1fZGVw
dGhBdHRhY2htZW50OworfQorCitjb25zdCBWZWN0b3I8UmVmUHRyPFdlYk1ldGFsUmVuZGVyUGFz
c0NvbG9yQXR0YWNobWVudERlc2NyaXB0b3I+PiYgV2ViTWV0YWxSZW5kZXJQYXNzRGVzY3JpcHRv
cjo6Y29sb3JBdHRhY2htZW50cygpCit7CisgICAgaWYgKG1fY29sb3JBdHRhY2htZW50cy5pc0Vt
cHR5KCkpIHsKKyAgICAgICAgYXV0byBhdHRhY2htZW50cyA9IG1fZGVzY3JpcHRvci5jb2xvckF0
dGFjaG1lbnRzKCk7CisgICAgICAgIEFTU0VSVCghYXR0YWNobWVudHMuaXNFbXB0eSgpKTsKKyAg
ICAgICAgbV9jb2xvckF0dGFjaG1lbnRzLnJlc2VydmVJbml0aWFsQ2FwYWNpdHkoYXR0YWNobWVu
dHMuc2l6ZSgpKTsKKyAgICAgICAgZm9yIChhdXRvJiBhdHRhY2htZW50IDogYXR0YWNobWVudHMp
CisgICAgICAgICAgICBtX2NvbG9yQXR0YWNobWVudHMudW5jaGVja2VkQXBwZW5kKFdlYk1ldGFs
UmVuZGVyUGFzc0NvbG9yQXR0YWNobWVudERlc2NyaXB0b3I6OmNyZWF0ZShXVEZNb3ZlKGF0dGFj
aG1lbnQpKSk7CisgICAgfQorICAgIHJldHVybiBtX2NvbG9yQXR0YWNobWVudHM7Cit9CisKK30g
Ly8gbmFtZXNwYWNlIFdlYkNvcmUKKworI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9odG1sL2NhbnZhcy9XZWJNZXRhbFJlbmRlclBhc3NEZXNjcmlwdG9yLmggYi9Tb3VyY2UvV2Vi
Q29yZS9odG1sL2NhbnZhcy9XZWJNZXRhbFJlbmRlclBhc3NEZXNjcmlwdG9yLmgKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uMmUyMzg5YzlhNDczZTY3ZDdjNTBiZTMyNGI2ZWMzNTFjMjYzNDY1ZgotLS0gL2Rldi9udWxs
CisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYk1ldGFsUmVuZGVyUGFzc0Rlc2Ny
aXB0b3IuaApAQCAtMCwwICsxLDYwIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE3IEFwcGxl
IEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNl
IGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNh
dGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9u
cworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0
IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBj
b25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1
dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAor
ICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBk
aXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJp
YWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJF
IElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gYGBBUyBJUycnIEFORCBBTlkKKyAqIEVYUFJFU1Mg
T1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhF
CisgKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZP
UiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBT
SEFMTCBBUFBMRSBJTkMuIE9SCisgKiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElS
RUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKKyAqIEVYRU1QTEFSWSwgT1IgQ09O
U0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFBS
T0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBE
QVRBLCBPUgorICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENB
VVNFRCBBTkQgT04gQU5ZIFRIRU9SWQorICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRS
QUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0Ug
T1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRI
SVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBE
QU1BR0UuCisgKi8KKworI3ByYWdtYSBvbmNlCisKKyNpZiBFTkFCTEUoV0VCTUVUQUwpCisKKyNp
bmNsdWRlICJHUFVSZW5kZXJQYXNzRGVzY3JpcHRvci5oIgorI2luY2x1ZGUgIldlYk1ldGFsUmVu
ZGVyUGFzc0NvbG9yQXR0YWNobWVudERlc2NyaXB0b3IuaCIKKyNpbmNsdWRlICJXZWJNZXRhbFJl
bmRlclBhc3NEZXB0aEF0dGFjaG1lbnREZXNjcmlwdG9yLmgiCisjaW5jbHVkZSA8d3RmL1JlZi5o
PgorI2luY2x1ZGUgPHd0Zi9SZWZDb3VudGVkLmg+CisjaW5jbHVkZSA8d3RmL1ZlY3Rvci5oPgor
CituYW1lc3BhY2UgV2ViQ29yZSB7CisKK2NsYXNzIFdlYk1ldGFsUmVuZGVyUGFzc0Rlc2NyaXB0
b3IgOiBwdWJsaWMgUmVmQ291bnRlZDxXZWJNZXRhbFJlbmRlclBhc3NEZXNjcmlwdG9yPiB7Citw
dWJsaWM6CisgICAgfldlYk1ldGFsUmVuZGVyUGFzc0Rlc2NyaXB0b3IoKTsKKyAgICBzdGF0aWMg
UmVmPFdlYk1ldGFsUmVuZGVyUGFzc0Rlc2NyaXB0b3I+IGNyZWF0ZSgpOworCisgICAgV2ViTWV0
YWxSZW5kZXJQYXNzRGVwdGhBdHRhY2htZW50RGVzY3JpcHRvciYgZGVwdGhBdHRhY2htZW50KCk7
CisgICAgY29uc3QgVmVjdG9yPFJlZlB0cjxXZWJNZXRhbFJlbmRlclBhc3NDb2xvckF0dGFjaG1l
bnREZXNjcmlwdG9yPj4mIGNvbG9yQXR0YWNobWVudHMoKTsKKworICAgIGNvbnN0IEdQVVJlbmRl
clBhc3NEZXNjcmlwdG9yJiBkZXNjcmlwdG9yKCkgY29uc3QgeyByZXR1cm4gbV9kZXNjcmlwdG9y
OyB9CisKK3ByaXZhdGU6CisgICAgV2ViTWV0YWxSZW5kZXJQYXNzRGVzY3JpcHRvcigpOworCisg
ICAgVmVjdG9yPFJlZlB0cjxXZWJNZXRhbFJlbmRlclBhc3NDb2xvckF0dGFjaG1lbnREZXNjcmlw
dG9yPj4gbV9jb2xvckF0dGFjaG1lbnRzOworICAgIFJlZlB0cjxXZWJNZXRhbFJlbmRlclBhc3NE
ZXB0aEF0dGFjaG1lbnREZXNjcmlwdG9yPiBtX2RlcHRoQXR0YWNobWVudDsKKworICAgIEdQVVJl
bmRlclBhc3NEZXNjcmlwdG9yIG1fZGVzY3JpcHRvcjsKK307CisgICAgCit9IC8vIG5hbWVzcGFj
ZSBXZWJDb3JlCisKKyNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52
YXMvV2ViTWV0YWxSZW5kZXJQYXNzRGVzY3JpcHRvci5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9odG1s
L2NhbnZhcy9XZWJNZXRhbFJlbmRlclBhc3NEZXNjcmlwdG9yLmlkbApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yZjNm
ZWVjYjljZjUzYzU5MDkzODIzODVmZjU5MTg4MDhhMmZmMDIxCi0tLSAvZGV2L251bGwKKysrIGIv
U291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViTWV0YWxSZW5kZXJQYXNzRGVzY3JpcHRvci5p
ZGwKQEAgLTAsMCArMSw0MCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxNyBBcHBsZSBJbmMu
IEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBz
b3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24s
IGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAq
IGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRh
aW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0
aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25z
IGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAg
IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xh
aW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBw
cm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQ
Uk9WSURFRCBCWSBBUFBMRSBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElN
UExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQorICog
SU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQ
QVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwg
QVBQTEUgSU5DLiBPUgorICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwg
SU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCisgKiBFWEVNUExBUlksIE9SIENPTlNFUVVF
TlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBQUk9DVVJF
TUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwg
T1IKKyAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQg
QU5EIE9OIEFOWSBUSEVPUlkKKyAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwg
U1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9U
SEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNP
RlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdF
LgorICovCisKK1sKKyAgICBDb25zdHJ1Y3RvciwKKyAgICBDb25kaXRpb25hbD1XRUJNRVRBTCwK
KyAgICBFbmFibGVkQXRSdW50aW1lPVdlYk1ldGFsLAorICAgIEltcGxlbWVudGF0aW9uTGFja3NW
VGFibGUKK10gaW50ZXJmYWNlIFdlYk1ldGFsUmVuZGVyUGFzc0Rlc2NyaXB0b3IgeworCisgICAg
cmVhZG9ubHkgYXR0cmlidXRlIHNlcXVlbmNlPFdlYk1ldGFsUmVuZGVyUGFzc0NvbG9yQXR0YWNo
bWVudERlc2NyaXB0b3I+IGNvbG9yQXR0YWNobWVudHM7CisgICAgcmVhZG9ubHkgYXR0cmlidXRl
IFdlYk1ldGFsUmVuZGVyUGFzc0RlcHRoQXR0YWNobWVudERlc2NyaXB0b3IgZGVwdGhBdHRhY2ht
ZW50OworICAgIC8vcmVhZG9ubHkgYXR0cmlidXRlIFdlYk1ldGFsUmVuZGVyUGFzc1N0ZW5jaWxB
dHRhY2htZW50RGVzY3JpcHRvciBzdGVuY2lsQXR0YWNobWVudDsKKworICAgIC8vIHJlbmRlclRh
cmdldEFycmF5TGVuZ3RoCisgICAgLy8gdmlzaWJpbGl0eVJlc3VsdEJ1ZmZlcgorCit9OwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViTWV0YWxSZW5kZXJQaXBlbGlu
ZUNvbG9yQXR0YWNobWVudERlc2NyaXB0b3IuY3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52
YXMvV2ViTWV0YWxSZW5kZXJQaXBlbGluZUNvbG9yQXR0YWNobWVudERlc2NyaXB0b3IuY3BwCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjVjNmQ5NjIwZjNhOThlMmI5MWExMTRlMGZkMGZmYzhlZmMxYWNlODkKLS0tIC9k
ZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJNZXRhbFJlbmRlclBp
cGVsaW5lQ29sb3JBdHRhY2htZW50RGVzY3JpcHRvci5jcHAKQEAgLTAsMCArMSw1NSBAQAorLyoK
KyAqIENvcHlyaWdodCAoQykgMjAxNyBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisg
KgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywg
d2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQg
dGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3Ry
aWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAor
ICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBk
aXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVw
cm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNv
bmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3Vt
ZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmli
dXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIGBg
QVMgSVMnJyBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVE
SU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQorICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1F
UkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFS
RSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUgorICogQ09OVFJJ
QlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQ
RUNJQUwsCisgKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5H
LCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RT
IE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKKyAqIFBST0ZJVFM7IE9SIEJVU0lO
RVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKKyAqIE9G
IExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9S
VAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkg
V0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQg
T0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpbmNsdWRlICJjb25m
aWcuaCIKKyNpbmNsdWRlICJXZWJNZXRhbFJlbmRlclBpcGVsaW5lQ29sb3JBdHRhY2htZW50RGVz
Y3JpcHRvci5oIgorCisjaWYgRU5BQkxFKFdFQk1FVEFMKQorCituYW1lc3BhY2UgV2ViQ29yZSB7
CisKK1JlZjxXZWJNZXRhbFJlbmRlclBpcGVsaW5lQ29sb3JBdHRhY2htZW50RGVzY3JpcHRvcj4g
V2ViTWV0YWxSZW5kZXJQaXBlbGluZUNvbG9yQXR0YWNobWVudERlc2NyaXB0b3I6OmNyZWF0ZShH
UFVSZW5kZXJQaXBlbGluZUNvbG9yQXR0YWNobWVudERlc2NyaXB0b3ImJiBkZXNjcmlwdG9yKQor
eworICAgIHJldHVybiBhZG9wdFJlZigqbmV3IFdlYk1ldGFsUmVuZGVyUGlwZWxpbmVDb2xvckF0
dGFjaG1lbnREZXNjcmlwdG9yKFdURk1vdmUoZGVzY3JpcHRvcikpKTsKK30KKworV2ViTWV0YWxS
ZW5kZXJQaXBlbGluZUNvbG9yQXR0YWNobWVudERlc2NyaXB0b3I6OldlYk1ldGFsUmVuZGVyUGlw
ZWxpbmVDb2xvckF0dGFjaG1lbnREZXNjcmlwdG9yKEdQVVJlbmRlclBpcGVsaW5lQ29sb3JBdHRh
Y2htZW50RGVzY3JpcHRvciYmIGRlc2NyaXB0b3IpCisgICAgOiBtX2Rlc2NyaXB0b3IgeyBXVEZN
b3ZlKGRlc2NyaXB0b3IpIH0KK3sKK30KKwordW5zaWduZWQgV2ViTWV0YWxSZW5kZXJQaXBlbGlu
ZUNvbG9yQXR0YWNobWVudERlc2NyaXB0b3I6OnBpeGVsRm9ybWF0KCkgY29uc3QKK3sKKyAgICBy
ZXR1cm4gbV9kZXNjcmlwdG9yLnBpeGVsRm9ybWF0KCk7Cit9CisKK3ZvaWQgV2ViTWV0YWxSZW5k
ZXJQaXBlbGluZUNvbG9yQXR0YWNobWVudERlc2NyaXB0b3I6OnNldFBpeGVsRm9ybWF0KHVuc2ln
bmVkIG5ld1BpeGVsRm9ybWF0KQoreworICAgIG1fZGVzY3JpcHRvci5zZXRQaXhlbEZvcm1hdChu
ZXdQaXhlbEZvcm1hdCk7Cit9CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKworI2VuZGlmCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJNZXRhbFJlbmRlclBpcGVs
aW5lQ29sb3JBdHRhY2htZW50RGVzY3JpcHRvci5oIGIvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52
YXMvV2ViTWV0YWxSZW5kZXJQaXBlbGluZUNvbG9yQXR0YWNobWVudERlc2NyaXB0b3IuaApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi5iNjZlZjUyNWM1MTExNzAxYmI1N2Y3MzU1MGU2ZTJmNjY2NGU0NGRlCi0tLSAvZGV2
L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViTWV0YWxSZW5kZXJQaXBl
bGluZUNvbG9yQXR0YWNobWVudERlc2NyaXB0b3IuaApAQCAtMCwwICsxLDUxIEBACisvKgorICog
Q29weXJpZ2h0IChDKSAyMDE3IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisg
KiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRo
IG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0
IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0
aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAg
ICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2Ns
YWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1
Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0
aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRh
dGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlv
bi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gYGBBUyBJ
UycnIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcs
IEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisgKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hB
TlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJ
U0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SCisgKiBDT05UUklCVVRP
UlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lB
TCwKKyAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJV
VCBOT1QgTElNSVRFRCBUTywKKyAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1Ig
U0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgorICogUFJPRklUUzsgT1IgQlVTSU5FU1Mg
SU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQorICogT0YgTElB
QklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisg
KiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkg
T1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBU
SEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI3ByYWdtYSBvbmNlCisKKyNp
ZiBFTkFCTEUoV0VCTUVUQUwpCisKKyNpbmNsdWRlICJHUFVSZW5kZXJQaXBlbGluZUNvbG9yQXR0
YWNobWVudERlc2NyaXB0b3IuaCIKKyNpbmNsdWRlIDx3dGYvUmVmLmg+CisjaW5jbHVkZSA8d3Rm
L1JlZkNvdW50ZWQuaD4KKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitjbGFzcyBXZWJNZXRhbFJl
bmRlclBpcGVsaW5lQ29sb3JBdHRhY2htZW50RGVzY3JpcHRvciA6IHB1YmxpYyBSZWZDb3VudGVk
PFdlYk1ldGFsUmVuZGVyUGlwZWxpbmVDb2xvckF0dGFjaG1lbnREZXNjcmlwdG9yPiB7CitwdWJs
aWM6CisgICAgc3RhdGljIFJlZjxXZWJNZXRhbFJlbmRlclBpcGVsaW5lQ29sb3JBdHRhY2htZW50
RGVzY3JpcHRvcj4gY3JlYXRlKEdQVVJlbmRlclBpcGVsaW5lQ29sb3JBdHRhY2htZW50RGVzY3Jp
cHRvciYmKTsKKworICAgIHVuc2lnbmVkIHBpeGVsRm9ybWF0KCkgY29uc3Q7CisgICAgdm9pZCBz
ZXRQaXhlbEZvcm1hdCh1bnNpZ25lZCk7CisKK3ByaXZhdGU6CisgICAgZXhwbGljaXQgV2ViTWV0
YWxSZW5kZXJQaXBlbGluZUNvbG9yQXR0YWNobWVudERlc2NyaXB0b3IoR1BVUmVuZGVyUGlwZWxp
bmVDb2xvckF0dGFjaG1lbnREZXNjcmlwdG9yJiYpOworCisgICAgR1BVUmVuZGVyUGlwZWxpbmVD
b2xvckF0dGFjaG1lbnREZXNjcmlwdG9yIG1fZGVzY3JpcHRvcjsKK307CisgICAgCit9IC8vIG5h
bWVzcGFjZSBXZWJDb3JlCisKKyNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRt
bC9jYW52YXMvV2ViTWV0YWxSZW5kZXJQaXBlbGluZUNvbG9yQXR0YWNobWVudERlc2NyaXB0b3Iu
aWRsIGIvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViTWV0YWxSZW5kZXJQaXBlbGluZUNv
bG9yQXR0YWNobWVudERlc2NyaXB0b3IuaWRsCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5OGNkNWFhOTNmYjIxOTQ2
YjNiNzg1OTMxY2Q4NzZkMjJmNTNhNmUKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9odG1sL2NhbnZhcy9XZWJNZXRhbFJlbmRlclBpcGVsaW5lQ29sb3JBdHRhY2htZW50RGVzY3Jp
cHRvci5pZGwKQEAgLTAsMCArMSwzNCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxNyBBcHBs
ZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVz
ZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmlj
YXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlv
bnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVz
dCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2Yg
Y29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmli
dXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQK
KyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcg
ZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVy
aWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FS
RSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCisgKiBFWFBSRVNT
IE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRI
RQorICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBG
T1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQg
U0hBTEwgQVBQTEUgSU5DLiBPUgorICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJ
UkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCisgKiBFWEVNUExBUlksIE9SIENP
TlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBQ
Uk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwg
REFUQSwgT1IKKyAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBD
QVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKKyAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05U
UkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNF
IE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBU
SElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0gg
REFNQUdFLgorICovCisKK1sKKyAgICBDb25kaXRpb25hbD1XRUJNRVRBTCwKKyAgICBFbmFibGVk
QXRSdW50aW1lPVdlYk1ldGFsLAorICAgIEltcGxlbWVudGF0aW9uTGFja3NWVGFibGUKK10gaW50
ZXJmYWNlIFdlYk1ldGFsUmVuZGVyUGlwZWxpbmVDb2xvckF0dGFjaG1lbnREZXNjcmlwdG9yIHsK
KworICAgIGF0dHJpYnV0ZSB1bnNpZ25lZCBsb25nIHBpeGVsRm9ybWF0OyAvLyBzaG91bGQgYmUg
TVRMUGl4ZWxGb3JtYXQKKworfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2Fu
dmFzL1dlYk1ldGFsUmVuZGVyUGlwZWxpbmVEZXNjcmlwdG9yLmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L2h0bWwvY2FudmFzL1dlYk1ldGFsUmVuZGVyUGlwZWxpbmVEZXNjcmlwdG9yLmNwcApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi4wYzcxMjgwMWRlMjMzMjAwMTM5Y2M0ZGYxMGMxMWIwMmYyNWVjZDdlCi0tLSAvZGV2L251
bGwKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViTWV0YWxSZW5kZXJQaXBlbGlu
ZURlc2NyaXB0b3IuY3BwCkBAIC0wLDAgKzEsMTEwIEBACisvKgorICogQ29weXJpZ2h0IChDKSAy
MDE3IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlv
biBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAq
IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcg
Y29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2Ug
Y29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBS
ZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNv
cHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3Ro
ZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElT
IFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gYGBBUyBJUycnIEFORCBBTlkKKyAq
IEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRF
RCBUTywgVEhFCisgKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBG
SVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBO
TyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SCisgKiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZP
UiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKKyAqIEVYRU1QTEFS
WSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBU
TywKKyAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1Mg
T0YgVVNFLCBEQVRBLCBPUgorICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBI
T1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQorICogT0YgTElBQklMSVRZLCBXSEVUSEVS
IElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5F
R0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UK
KyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkg
T0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorI2luY2x1ZGUgIldl
Yk1ldGFsUmVuZGVyUGlwZWxpbmVEZXNjcmlwdG9yLmgiCisKKyNpZiBFTkFCTEUoV0VCTUVUQUwp
CisKKyNpbmNsdWRlICJHUFVGdW5jdGlvbi5oIgorI2luY2x1ZGUgIkdQVVJlbmRlclBpcGVsaW5l
Q29sb3JBdHRhY2htZW50RGVzY3JpcHRvci5oIgorI2luY2x1ZGUgIldlYk1ldGFsRnVuY3Rpb24u
aCIKKyNpbmNsdWRlICJXZWJNZXRhbFJlbmRlclBpcGVsaW5lQ29sb3JBdHRhY2htZW50RGVzY3Jp
cHRvci5oIgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK1JlZjxXZWJNZXRhbFJlbmRlclBpcGVs
aW5lRGVzY3JpcHRvcj4gV2ViTWV0YWxSZW5kZXJQaXBlbGluZURlc2NyaXB0b3I6OmNyZWF0ZSgp
Cit7CisgICAgcmV0dXJuIGFkb3B0UmVmKCpuZXcgV2ViTWV0YWxSZW5kZXJQaXBlbGluZURlc2Ny
aXB0b3IpOworfQorCitXZWJNZXRhbFJlbmRlclBpcGVsaW5lRGVzY3JpcHRvcjo6V2ViTWV0YWxS
ZW5kZXJQaXBlbGluZURlc2NyaXB0b3IoKSA9IGRlZmF1bHQ7CisKK1dlYk1ldGFsUmVuZGVyUGlw
ZWxpbmVEZXNjcmlwdG9yOjp+V2ViTWV0YWxSZW5kZXJQaXBlbGluZURlc2NyaXB0b3IoKSA9IGRl
ZmF1bHQ7CisKK1dlYk1ldGFsRnVuY3Rpb24qIFdlYk1ldGFsUmVuZGVyUGlwZWxpbmVEZXNjcmlw
dG9yOjp2ZXJ0ZXhGdW5jdGlvbigpIGNvbnN0Cit7CisgICAgcmV0dXJuIG1fdmVydGV4RnVuY3Rp
b24uZ2V0KCk7Cit9CisKK3ZvaWQgV2ViTWV0YWxSZW5kZXJQaXBlbGluZURlc2NyaXB0b3I6OnNl
dFZlcnRleEZ1bmN0aW9uKFJlZlB0cjxXZWJNZXRhbEZ1bmN0aW9uPiYmIG5ld1ZlcnRleEZ1bmN0
aW9uKQoreworICAgIC8vIEZJWE1FOiBXaHkgY2FuJ3Qgd2Ugc2V0IHRoaXMgdG8gbnVsbD8KKyAg
ICBpZiAoIW5ld1ZlcnRleEZ1bmN0aW9uKQorICAgICAgICByZXR1cm47CisKKyAgICBtX3ZlcnRl
eEZ1bmN0aW9uID0gV1RGTW92ZShuZXdWZXJ0ZXhGdW5jdGlvbik7CisKKyAgICBtX2Rlc2NyaXB0
b3Iuc2V0VmVydGV4RnVuY3Rpb24obV92ZXJ0ZXhGdW5jdGlvbi0+ZnVuY3Rpb24oKSk7Cit9CisK
K1dlYk1ldGFsRnVuY3Rpb24qIFdlYk1ldGFsUmVuZGVyUGlwZWxpbmVEZXNjcmlwdG9yOjpmcmFn
bWVudEZ1bmN0aW9uKCkgY29uc3QKK3sKKyAgICByZXR1cm4gbV9mcmFnbWVudEZ1bmN0aW9uLmdl
dCgpOworfQorCit2b2lkIFdlYk1ldGFsUmVuZGVyUGlwZWxpbmVEZXNjcmlwdG9yOjpzZXRGcmFn
bWVudEZ1bmN0aW9uKFJlZlB0cjxXZWJNZXRhbEZ1bmN0aW9uPiYmIG5ld0ZyYWdtZW50RnVuY3Rp
b24pCit7CisgICAgLy8gRklYTUU6IFdoeSBjYW4ndCB3ZSBzZXQgdGhpcyB0byBudWxsPworICAg
IGlmICghbmV3RnJhZ21lbnRGdW5jdGlvbikKKyAgICAgICAgcmV0dXJuOworCisgICAgbV9mcmFn
bWVudEZ1bmN0aW9uID0gV1RGTW92ZShuZXdGcmFnbWVudEZ1bmN0aW9uKTsKKworICAgIG1fZGVz
Y3JpcHRvci5zZXRGcmFnbWVudEZ1bmN0aW9uKG1fZnJhZ21lbnRGdW5jdGlvbi0+ZnVuY3Rpb24o
KSk7Cit9CisKK2NvbnN0IFZlY3RvcjxSZWZQdHI8V2ViTWV0YWxSZW5kZXJQaXBlbGluZUNvbG9y
QXR0YWNobWVudERlc2NyaXB0b3I+PiYgV2ViTWV0YWxSZW5kZXJQaXBlbGluZURlc2NyaXB0b3I6
OmNvbG9yQXR0YWNobWVudHMoKQoreworICAgIGlmICghbV9jb2xvckF0dGFjaG1lbnRzLnNpemUo
KSkgeworICAgICAgICBhdXRvIGF0dGFjaG1lbnRzID0gbV9kZXNjcmlwdG9yLmNvbG9yQXR0YWNo
bWVudHMoKTsKKyAgICAgICAgbV9jb2xvckF0dGFjaG1lbnRzLnJlc2VydmVJbml0aWFsQ2FwYWNp
dHkoYXR0YWNobWVudHMuc2l6ZSgpKTsKKyAgICAgICAgZm9yIChhdXRvJiBhdHRhY2htZW50IDog
YXR0YWNobWVudHMpCisgICAgICAgICAgICBtX2NvbG9yQXR0YWNobWVudHMudW5jaGVja2VkQXBw
ZW5kKFdlYk1ldGFsUmVuZGVyUGlwZWxpbmVDb2xvckF0dGFjaG1lbnREZXNjcmlwdG9yOjpjcmVh
dGUoV1RGTW92ZShhdHRhY2htZW50KSkpOworICAgIH0KKyAgICByZXR1cm4gbV9jb2xvckF0dGFj
aG1lbnRzOworfQorCit1bnNpZ25lZCBXZWJNZXRhbFJlbmRlclBpcGVsaW5lRGVzY3JpcHRvcjo6
ZGVwdGhBdHRhY2htZW50UGl4ZWxGb3JtYXQoKSBjb25zdAoreworICAgIHJldHVybiBtX2Rlc2Ny
aXB0b3IuZGVwdGhBdHRhY2htZW50UGl4ZWxGb3JtYXQoKTsKK30KKwordm9pZCBXZWJNZXRhbFJl
bmRlclBpcGVsaW5lRGVzY3JpcHRvcjo6c2V0RGVwdGhBdHRhY2htZW50UGl4ZWxGb3JtYXQodW5z
aWduZWQgbmV3UGl4ZWxGb3JtYXQpCit7CisgICAgbV9kZXNjcmlwdG9yLnNldERlcHRoQXR0YWNo
bWVudFBpeGVsRm9ybWF0KG5ld1BpeGVsRm9ybWF0KTsKK30KKwordm9pZCBXZWJNZXRhbFJlbmRl
clBpcGVsaW5lRGVzY3JpcHRvcjo6cmVzZXQoKQoreworICAgIG1fdmVydGV4RnVuY3Rpb24gPSBu
dWxscHRyOworICAgIG1fZnJhZ21lbnRGdW5jdGlvbiA9IG51bGxwdHI7CisKKyAgICAvLyBGSVhN
RTogV2h5IGRvZXNuJ3QgdGhpcyBjbGVhciBvdXQgdGhlIGZ1bmN0aW9ucyBvbiBtX2Rlc2NyaXB0
b3I/Cit9CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKworI2VuZGlmCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJNZXRhbFJlbmRlclBpcGVsaW5lRGVzY3JpcHRv
ci5oIGIvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViTWV0YWxSZW5kZXJQaXBlbGluZURl
c2NyaXB0b3IuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44YTA2MjAwMDAxY2ZmNTQ5ODUxNzczOTIyZmMxOGU4Mjk1
YzY3MTI2Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2Vi
TWV0YWxSZW5kZXJQaXBlbGluZURlc2NyaXB0b3IuaApAQCAtMCwwICsxLDc2IEBACisvKgorICog
Q29weXJpZ2h0IChDKSAyMDE3IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisg
KiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRo
IG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0
IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0
aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAg
ICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2Ns
YWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1
Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0
aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRh
dGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlv
bi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gYGBBUyBJ
UycnIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcs
IEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisgKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hB
TlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJ
U0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SCisgKiBDT05UUklCVVRP
UlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lB
TCwKKyAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJV
VCBOT1QgTElNSVRFRCBUTywKKyAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1Ig
U0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgorICogUFJPRklUUzsgT1IgQlVTSU5FU1Mg
SU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQorICogT0YgTElB
QklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisg
KiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkg
T1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBU
SEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI3ByYWdtYSBvbmNlCisKKyNp
ZiBFTkFCTEUoV0VCTUVUQUwpCisKKyNpbmNsdWRlICJHUFVSZW5kZXJQaXBlbGluZURlc2NyaXB0
b3IuaCIKKyNpbmNsdWRlICJXZWJNZXRhbFJlbmRlclBpcGVsaW5lQ29sb3JBdHRhY2htZW50RGVz
Y3JpcHRvci5oIgorI2luY2x1ZGUgPHd0Zi9SZWYuaD4KKyNpbmNsdWRlIDx3dGYvUmVmQ291bnRl
ZC5oPgorI2luY2x1ZGUgPHd0Zi9WZWN0b3IuaD4KKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitj
bGFzcyBHUFVGdW5jdGlvbjsKK2NsYXNzIEdQVVJlbmRlclBpcGVsaW5lRGVzY3JpcHRvcjsKK2Ns
YXNzIFdlYk1ldGFsRnVuY3Rpb247CitjbGFzcyBXZWJNZXRhbFJlbmRlclBpcGVsaW5lQ29sb3JB
dHRhY2htZW50RGVzY3JpcHRvcjsKKworY2xhc3MgV2ViTWV0YWxSZW5kZXJQaXBlbGluZURlc2Ny
aXB0b3IgOiBwdWJsaWMgUmVmQ291bnRlZDxXZWJNZXRhbFJlbmRlclBpcGVsaW5lRGVzY3JpcHRv
cj4geworcHVibGljOgorICAgIH5XZWJNZXRhbFJlbmRlclBpcGVsaW5lRGVzY3JpcHRvcigpOwor
ICAgIHN0YXRpYyBSZWY8V2ViTWV0YWxSZW5kZXJQaXBlbGluZURlc2NyaXB0b3I+IGNyZWF0ZSgp
OworCisgICAgV2ViTWV0YWxGdW5jdGlvbiogdmVydGV4RnVuY3Rpb24oKSBjb25zdDsKKyAgICB2
b2lkIHNldFZlcnRleEZ1bmN0aW9uKFJlZlB0cjxXZWJNZXRhbEZ1bmN0aW9uPiYmKTsKKworICAg
IFdlYk1ldGFsRnVuY3Rpb24qIGZyYWdtZW50RnVuY3Rpb24oKSBjb25zdDsKKyAgICB2b2lkIHNl
dEZyYWdtZW50RnVuY3Rpb24oUmVmUHRyPFdlYk1ldGFsRnVuY3Rpb24+JiYpOworCisgICAgY29u
c3QgVmVjdG9yPFJlZlB0cjxXZWJNZXRhbFJlbmRlclBpcGVsaW5lQ29sb3JBdHRhY2htZW50RGVz
Y3JpcHRvcj4+JiBjb2xvckF0dGFjaG1lbnRzKCk7CisKKyAgICB1bnNpZ25lZCBkZXB0aEF0dGFj
aG1lbnRQaXhlbEZvcm1hdCgpIGNvbnN0OworICAgIHZvaWQgc2V0RGVwdGhBdHRhY2htZW50UGl4
ZWxGb3JtYXQodW5zaWduZWQpOworCisgICAgdm9pZCByZXNldCgpOworCisgICAgY29uc3QgR1BV
UmVuZGVyUGlwZWxpbmVEZXNjcmlwdG9yJiBkZXNjcmlwdG9yKCkgeyByZXR1cm4gbV9kZXNjcmlw
dG9yOyB9CisKK3ByaXZhdGU6CisgICAgV2ViTWV0YWxSZW5kZXJQaXBlbGluZURlc2NyaXB0b3Io
KTsKKworICAgIFJlZlB0cjxXZWJNZXRhbEZ1bmN0aW9uPiBtX3ZlcnRleEZ1bmN0aW9uOworICAg
IFJlZlB0cjxXZWJNZXRhbEZ1bmN0aW9uPiBtX2ZyYWdtZW50RnVuY3Rpb247CisKKyAgICBWZWN0
b3I8UmVmUHRyPFdlYk1ldGFsUmVuZGVyUGlwZWxpbmVDb2xvckF0dGFjaG1lbnREZXNjcmlwdG9y
Pj4gbV9jb2xvckF0dGFjaG1lbnRzOworCisgICAgR1BVUmVuZGVyUGlwZWxpbmVEZXNjcmlwdG9y
IG1fZGVzY3JpcHRvcjsKK307CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKworI2VuZGlmCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJNZXRhbFJlbmRlclBpcGVs
aW5lRGVzY3JpcHRvci5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJNZXRhbFJl
bmRlclBpcGVsaW5lRGVzY3JpcHRvci5pZGwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjU2ZDFiZWQ5YjY2NTMyY2Qw
MGJjZWQ3ZjI4MmI2OGYxYTdkMTJiMQotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L2h0bWwvY2FudmFzL1dlYk1ldGFsUmVuZGVyUGlwZWxpbmVEZXNjcmlwdG9yLmlkbApAQCAtMCww
ICsxLDQyIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE3IEFwcGxlIEluYy4gQWxsIHJpZ2h0
cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQg
YmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1p
dHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoK
KyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJv
dmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5
IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0
aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRo
ZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdp
dGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZ
IEFQUExFIElOQy4gYGBBUyBJUycnIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJS
QU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisgKiBJTVBMSUVEIFdB
UlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIK
KyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMu
IE9SCisgKiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwg
SU5DSURFTlRBTCwgU1BFQ0lBTCwKKyAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1B
R0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFBST0NVUkVNRU5UIE9GIFNV
QlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgorICogUFJP
RklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5Z
IFRIRU9SWQorICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElB
QklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBB
UklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVW
RU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKwor
WworICAgIENvbnN0cnVjdG9yLAorICAgIENvbmRpdGlvbmFsPVdFQk1FVEFMLAorICAgIEVuYWJs
ZWRBdFJ1bnRpbWU9V2ViTWV0YWwsCisgICAgSW1wbGVtZW50YXRpb25MYWNrc1ZUYWJsZQorXSBp
bnRlcmZhY2UgV2ViTWV0YWxSZW5kZXJQaXBlbGluZURlc2NyaXB0b3IgeworCisgICAgYXR0cmli
dXRlIFdlYk1ldGFsRnVuY3Rpb24/IHZlcnRleEZ1bmN0aW9uOworICAgIGF0dHJpYnV0ZSBXZWJN
ZXRhbEZ1bmN0aW9uPyBmcmFnbWVudEZ1bmN0aW9uOworCisgICAgcmVhZG9ubHkgYXR0cmlidXRl
IHNlcXVlbmNlPFdlYk1ldGFsUmVuZGVyUGlwZWxpbmVDb2xvckF0dGFjaG1lbnREZXNjcmlwdG9y
PiBjb2xvckF0dGFjaG1lbnRzOworCisgICAgYXR0cmlidXRlIHVuc2lnbmVkIGxvbmcgZGVwdGhB
dHRhY2htZW50UGl4ZWxGb3JtYXQ7CisKKyAgICB2b2lkIHJlc2V0KCk7CisKK307CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJNZXRhbFJlbmRlclBpcGVsaW5lU3Rh
dGUuY3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViTWV0YWxSZW5kZXJQaXBlbGlu
ZVN0YXRlLmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yMTM4YmZmZGYyZDgxNDJkMzAzMWJlMzhmNjEzM2RjZGFi
MjE5NGRmCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2Vi
TWV0YWxSZW5kZXJQaXBlbGluZVN0YXRlLmNwcApAQCAtMCwwICsxLDU1IEBACisvKgorICogQ29w
eXJpZ2h0IChDKSAyMDE3IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBS
ZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9y
IHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRo
ZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9u
cyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBu
b3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWlt
ZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2Ug
dGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9u
cyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlv
biBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4K
KyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gYGBBUyBJUycn
IEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJV
VCBOT1QgTElNSVRFRCBUTywgVEhFCisgKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRB
QklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NM
QUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SCisgKiBDT05UUklCVVRPUlMg
QkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwK
KyAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBO
T1QgTElNSVRFRCBUTywKKyAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VS
VklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgorICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5U
RVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQorICogT0YgTElBQklM
SVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAo
SU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VU
IE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUg
UE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgor
I2luY2x1ZGUgIldlYk1ldGFsUmVuZGVyUGlwZWxpbmVTdGF0ZS5oIgorCisjaWYgRU5BQkxFKFdF
Qk1FVEFMKQorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK1JlZjxXZWJNZXRhbFJlbmRlclBpcGVs
aW5lU3RhdGU+IFdlYk1ldGFsUmVuZGVyUGlwZWxpbmVTdGF0ZTo6Y3JlYXRlKEdQVVJlbmRlclBp
cGVsaW5lU3RhdGUmJiBzdGF0ZSkKK3sKKyAgICByZXR1cm4gYWRvcHRSZWYoKm5ldyBXZWJNZXRh
bFJlbmRlclBpcGVsaW5lU3RhdGUoV1RGTW92ZShzdGF0ZSkpKTsKK30KKworV2ViTWV0YWxSZW5k
ZXJQaXBlbGluZVN0YXRlOjpXZWJNZXRhbFJlbmRlclBpcGVsaW5lU3RhdGUoR1BVUmVuZGVyUGlw
ZWxpbmVTdGF0ZSYmIHN0YXRlKQorICAgIDogbV9zdGF0ZSB7IFdURk1vdmUoc3RhdGUpIH0KK3sK
K30KKworU3RyaW5nIFdlYk1ldGFsUmVuZGVyUGlwZWxpbmVTdGF0ZTo6bGFiZWwoKSBjb25zdAor
eworICAgIHJldHVybiBtX3N0YXRlLmxhYmVsKCk7Cit9CisKK3ZvaWQgV2ViTWV0YWxSZW5kZXJQ
aXBlbGluZVN0YXRlOjpzZXRMYWJlbChjb25zdCBTdHJpbmcmIGxhYmVsKQoreworICAgIG1fc3Rh
dGUuc2V0TGFiZWwobGFiZWwpOworfQorCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKKyNlbmRp
ZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViTWV0YWxSZW5kZXJQ
aXBlbGluZVN0YXRlLmggYi9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJNZXRhbFJlbmRl
clBpcGVsaW5lU3RhdGUuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44OGY3OTlkZjRlMGM1Yjg5ZmFhNTgzNmI0MzQy
NDkwMDRkMzczMGMyCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52
YXMvV2ViTWV0YWxSZW5kZXJQaXBlbGluZVN0YXRlLmgKQEAgLTAsMCArMSw1MyBAQAorLyoKKyAq
IENvcHlyaWdodCAoQykgMjAxNyBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgor
ICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0
aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhh
dCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1
dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICog
ICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNj
bGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9k
dWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRp
dGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50
YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRp
b24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIGBgQVMg
SVMnJyBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5H
LCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQorICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNI
QU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBE
SVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUgorICogQ09OVFJJQlVU
T1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJ
QUwsCisgKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBC
VVQgTk9UIExJTUlURUQgVE8sCisgKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9S
IFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKKyAqIFBST0ZJVFM7IE9SIEJVU0lORVNT
IElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKKyAqIE9GIExJ
QUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAor
ICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZ
IE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0Yg
VEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNwcmFnbWEgb25jZQorCisj
aWYgRU5BQkxFKFdFQk1FVEFMKQorCisjaW5jbHVkZSAiR1BVUmVuZGVyUGlwZWxpbmVTdGF0ZS5o
IgorI2luY2x1ZGUgPHd0Zi9SZWYuaD4KKyNpbmNsdWRlIDx3dGYvUmVmQ291bnRlZC5oPgorCitu
YW1lc3BhY2UgV2ViQ29yZSB7CisKK2NsYXNzIFdlYk1ldGFsUmVuZGVyUGlwZWxpbmVTdGF0ZSA6
IHB1YmxpYyBSZWZDb3VudGVkPFdlYk1ldGFsUmVuZGVyUGlwZWxpbmVTdGF0ZT4geworcHVibGlj
OgorICAgIHN0YXRpYyBSZWY8V2ViTWV0YWxSZW5kZXJQaXBlbGluZVN0YXRlPiBjcmVhdGUoR1BV
UmVuZGVyUGlwZWxpbmVTdGF0ZSYmKTsKKworICAgIFN0cmluZyBsYWJlbCgpIGNvbnN0OworICAg
IHZvaWQgc2V0TGFiZWwoY29uc3QgU3RyaW5nJik7CisKKyAgICBjb25zdCBHUFVSZW5kZXJQaXBl
bGluZVN0YXRlJiBzdGF0ZSgpIGNvbnN0IHsgcmV0dXJuIG1fc3RhdGU7IH0KKworcHJpdmF0ZToK
KyAgICBleHBsaWNpdCBXZWJNZXRhbFJlbmRlclBpcGVsaW5lU3RhdGUoR1BVUmVuZGVyUGlwZWxp
bmVTdGF0ZSYmKTsKKworICAgIEdQVVJlbmRlclBpcGVsaW5lU3RhdGUgbV9zdGF0ZTsKK307Cisg
ICAgCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKKyNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViTWV0YWxSZW5kZXJQaXBlbGluZVN0YXRlLmlkbCBiL1Nv
dXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYk1ldGFsUmVuZGVyUGlwZWxpbmVTdGF0ZS5pZGwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uMGMxZThhY2I0ZjIwZDJhZWMzODA5N2E5Mjg5ZWMwNGYyN2Q1ZGQxMQotLS0g
L2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYk1ldGFsUmVuZGVy
UGlwZWxpbmVTdGF0ZS5pZGwKQEAgLTAsMCArMSwzNCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykg
MjAxNyBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRp
b24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Cisg
KiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5n
IGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNl
IGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlz
IGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4g
UmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBj
b3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBm
b2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90
aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJ
UyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCisg
KiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlU
RUQgVE8sIFRIRQorICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQg
RklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4g
Tk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUgorICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBG
T1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCisgKiBFWEVNUExB
UlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQg
VE8sCisgKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NT
IE9GIFVTRSwgREFUQSwgT1IKKyAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikg
SE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKKyAqIE9GIExJQUJJTElUWSwgV0hFVEhF
UiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBO
RUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNF
CisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZ
IE9GIFNVQ0ggREFNQUdFLgorICovCisKK1sKKyAgICBDb25kaXRpb25hbD1XRUJNRVRBTCwKKyAg
ICBFbmFibGVkQXRSdW50aW1lPVdlYk1ldGFsLAorICAgIEltcGxlbWVudGF0aW9uTGFja3NWVGFi
bGUKK10gaW50ZXJmYWNlIFdlYk1ldGFsUmVuZGVyUGlwZWxpbmVTdGF0ZSB7CisKKyAgICBhdHRy
aWJ1dGUgRE9NU3RyaW5nIGxhYmVsOworCit9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
aHRtbC9jYW52YXMvV2ViTWV0YWxSZW5kZXJpbmdDb250ZXh0LmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L2h0bWwvY2FudmFzL1dlYk1ldGFsUmVuZGVyaW5nQ29udGV4dC5jcHAKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTY5
ZWFiZDQ3ZGY2MmJkNTZkYTE3M2M2ZDQyODUyMzcwZTM2ZjYyMAotLS0gL2Rldi9udWxsCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYk1ldGFsUmVuZGVyaW5nQ29udGV4dC5jcHAK
QEAgLTAsMCArMSwxOTYgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTcgQXBwbGUgSW5jLiBB
bGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0IChDKSAyMDE3IFl1aWNoaXJvIEtpa3Vy
YSAoeS5raWt1cmFAZ21haWwuY29tKQorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4g
c291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9u
LCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisg
KiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0
YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRp
dGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9u
cyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAg
ICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2Ns
YWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMg
cHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMg
UFJPVklERUQgQlkgQVBQTEUgSU5DLiBgYEFTIElTJycgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJ
TVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKKyAq
IElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEg
UEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxM
IEFQUExFIElOQy4gT1IKKyAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1Qs
IElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAorICogRVhFTVBMQVJZLCBPUiBDT05TRVFV
RU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogUFJPQ1VS
RU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEs
IE9SCisgKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VE
IEFORCBPTiBBTlkgVEhFT1JZCisgKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1Qs
IFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBP
VEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBT
T0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFH
RS4KKyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgiCisjaW5jbHVkZSAiV2ViTWV0YWxSZW5kZXJp
bmdDb250ZXh0LmgiCisKKyNpZiBFTkFCTEUoV0VCTUVUQUwpCisKKyNpbmNsdWRlICJEb2N1bWVu
dC5oIgorI2luY2x1ZGUgIkZyYW1lVmlldy5oIgorI2luY2x1ZGUgIkdQVURldmljZS5oIgorI2lu
Y2x1ZGUgIkluc3BlY3Rvckluc3RydW1lbnRhdGlvbi5oIgorI2luY2x1ZGUgIldlYk1ldGFsQnVm
ZmVyLmgiCisjaW5jbHVkZSAiV2ViTWV0YWxDb21tYW5kUXVldWUuaCIKKyNpbmNsdWRlICJXZWJN
ZXRhbENvbXB1dGVQaXBlbGluZVN0YXRlLmgiCisjaW5jbHVkZSAiV2ViTWV0YWxEZXB0aFN0ZW5j
aWxEZXNjcmlwdG9yLmgiCisjaW5jbHVkZSAiV2ViTWV0YWxEZXB0aFN0ZW5jaWxTdGF0ZS5oIgor
I2luY2x1ZGUgIldlYk1ldGFsRHJhd2FibGUuaCIKKyNpbmNsdWRlICJXZWJNZXRhbEZ1bmN0aW9u
LmgiCisjaW5jbHVkZSAiV2ViTWV0YWxMaWJyYXJ5LmgiCisjaW5jbHVkZSAiV2ViTWV0YWxSZW5k
ZXJQYXNzRGVzY3JpcHRvci5oIgorI2luY2x1ZGUgIldlYk1ldGFsUmVuZGVyUGlwZWxpbmVEZXNj
cmlwdG9yLmgiCisjaW5jbHVkZSAiV2ViTWV0YWxSZW5kZXJQaXBlbGluZVN0YXRlLmgiCisjaW5j
bHVkZSAiV2ViTWV0YWxUZXh0dXJlLmgiCisjaW5jbHVkZSAiV2ViTWV0YWxUZXh0dXJlRGVzY3Jp
cHRvci5oIgorI2luY2x1ZGUgPEphdmFTY3JpcHRDb3JlL0FycmF5QnVmZmVyLmg+CisjaW5jbHVk
ZSA8SmF2YVNjcmlwdENvcmUvSlNDSW5saW5lcy5oPgorI2luY2x1ZGUgPEphdmFTY3JpcHRDb3Jl
L1R5cGVkQXJyYXlJbmxpbmVzLmg+CisjaW5jbHVkZSA8SmF2YVNjcmlwdENvcmUvVWludDMyQXJy
YXkuaD4KKyNpbmNsdWRlIDx3dGYvU3RkTGliRXh0cmFzLmg+CisjaW5jbHVkZSA8d3RmL3RleHQv
Q1N0cmluZy5oPgorCituYW1lc3BhY2UgeworCitpbnQgY2xhbXAoaW50IHZhbHVlLCBpbnQgbWlu
LCBpbnQgbWF4KQoreworICAgIGlmICh2YWx1ZSA8IG1pbikKKyAgICAgICAgdmFsdWUgPSBtaW47
CisgICAgaWYgKHZhbHVlID4gbWF4KQorICAgICAgICB2YWx1ZSA9IG1heDsKKyAgICByZXR1cm4g
dmFsdWU7Cit9CisKK30KKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitzdGF0aWMgY29uc3QgaW50
IGtNYXhUZXh0dXJlU2l6ZSA9IDQwOTY7CisKK3N0ZDo6dW5pcXVlX3B0cjxXZWJNZXRhbFJlbmRl
cmluZ0NvbnRleHQ+IFdlYk1ldGFsUmVuZGVyaW5nQ29udGV4dDo6Y3JlYXRlKENhbnZhc0Jhc2Um
IGNhbnZhcykKK3sKKyAgICBHUFVEZXZpY2UgZGV2aWNlOworCisgICAgaWYgKCFkZXZpY2UpIHsK
KyAgICAgICAgLy8gRklYTUU6IFdlYk1ldGFsIC0gZGlzcGF0Y2ggYW4gZXZlbnQgaGVyZSBmb3Ig
dGhlIGZhaWx1cmUuCisgICAgICAgIHJldHVybiBudWxscHRyOworICAgIH0KKworICAgIGF1dG8g
cmVuZGVyaW5nQ29udGV4dCA9IHN0ZDo6dW5pcXVlX3B0cjxXZWJNZXRhbFJlbmRlcmluZ0NvbnRl
eHQ+KG5ldyBXZWJNZXRhbFJlbmRlcmluZ0NvbnRleHQoY2FudmFzLCBXVEZNb3ZlKGRldmljZSkp
KTsKKyAgICByZW5kZXJpbmdDb250ZXh0LT5zdXNwZW5kSWZOZWVkZWQoKTsKKworICAgIEluc3Bl
Y3Rvckluc3RydW1lbnRhdGlvbjo6ZGlkQ3JlYXRlQ2FudmFzUmVuZGVyaW5nQ29udGV4dCgqcmVu
ZGVyaW5nQ29udGV4dCk7CisKKyAgICByZXR1cm4gcmVuZGVyaW5nQ29udGV4dDsKK30KKworV2Vi
TWV0YWxSZW5kZXJpbmdDb250ZXh0OjpXZWJNZXRhbFJlbmRlcmluZ0NvbnRleHQoQ2FudmFzQmFz
ZSYgY2FudmFzLCBHUFVEZXZpY2UmJiBkZXZpY2UpCisgICAgOiBHUFVCYXNlZENhbnZhc1JlbmRl
cmluZ0NvbnRleHQoY2FudmFzKQorICAgICwgbV9kZXZpY2UoV1RGTW92ZShkZXZpY2UpKQorewor
ICAgIGluaXRpYWxpemVOZXdDb250ZXh0KCk7Cit9CisKK0hUTUxDYW52YXNFbGVtZW50KiBXZWJN
ZXRhbFJlbmRlcmluZ0NvbnRleHQ6OmNhbnZhcygpIGNvbnN0Cit7CisgICAgYXV0byYgYmFzZSA9
IGNhbnZhc0Jhc2UoKTsKKyAgICBpZiAoIWlzPEhUTUxDYW52YXNFbGVtZW50PihiYXNlKSkKKyAg
ICAgICAgcmV0dXJuIG51bGxwdHI7CisgICAgcmV0dXJuICZkb3duY2FzdDxIVE1MQ2FudmFzRWxl
bWVudD4oYmFzZSk7Cit9CisKK3ZvaWQgV2ViTWV0YWxSZW5kZXJpbmdDb250ZXh0Ojppbml0aWFs
aXplTmV3Q29udGV4dCgpCit7CisgICAgLy8gRklYTUU6IFdlYk1ldGFsIC0gTWF5YmUgd2Ugc2hv
dWxkIHJlc2V0IGEgYnVuY2ggb2Ygc3R1ZmYgaGVyZS4KKworICAgIEludFNpemUgY2FudmFzU2l6
ZSA9IGNsYW1wZWRDYW52YXNTaXplKCk7CisgICAgbV9kZXZpY2UucmVzaGFwZShjYW52YXNTaXpl
LndpZHRoKCksIGNhbnZhc1NpemUuaGVpZ2h0KCkpOworfQorCitJbnRTaXplIFdlYk1ldGFsUmVu
ZGVyaW5nQ29udGV4dDo6Y2xhbXBlZENhbnZhc1NpemUoKSBjb25zdAoreworICAgIHJldHVybiBJ
bnRTaXplKGNsYW1wKGNhbnZhcygpLT53aWR0aCgpLCAxLCBrTWF4VGV4dHVyZVNpemUpLAorICAg
ICAgICBjbGFtcChjYW52YXMoKS0+aGVpZ2h0KCksIDEsIGtNYXhUZXh0dXJlU2l6ZSkpOworfQor
Citib29sIFdlYk1ldGFsUmVuZGVyaW5nQ29udGV4dDo6aGFzUGVuZGluZ0FjdGl2aXR5KCkgY29u
c3QKK3sKKyAgICByZXR1cm4gZmFsc2U7Cit9CisKK3ZvaWQgV2ViTWV0YWxSZW5kZXJpbmdDb250
ZXh0OjpzdG9wKCkKK3sKK30KKworY29uc3QgY2hhciogV2ViTWV0YWxSZW5kZXJpbmdDb250ZXh0
OjphY3RpdmVET01PYmplY3ROYW1lKCkgY29uc3QKK3sKKyAgICByZXR1cm4gIldlYk1ldGFsUmVu
ZGVyaW5nQ29udGV4dCI7Cit9CisKK2Jvb2wgV2ViTWV0YWxSZW5kZXJpbmdDb250ZXh0OjpjYW5T
dXNwZW5kRm9yRG9jdW1lbnRTdXNwZW5zaW9uKCkgY29uc3QKK3sKKyAgICByZXR1cm4gZmFsc2U7
Cit9CisKK1BsYXRmb3JtTGF5ZXIqIFdlYk1ldGFsUmVuZGVyaW5nQ29udGV4dDo6cGxhdGZvcm1M
YXllcigpIGNvbnN0Cit7CisgICAgcmV0dXJuIG1fZGV2aWNlLnBsYXRmb3JtTGF5ZXIoKTsKK30K
Kwordm9pZCBXZWJNZXRhbFJlbmRlcmluZ0NvbnRleHQ6Om1hcmtMYXllckNvbXBvc2l0ZWQoKQor
eworICAgIG1fZGV2aWNlLm1hcmtMYXllckNvbXBvc2l0ZWQoKTsKK30KKwordm9pZCBXZWJNZXRh
bFJlbmRlcmluZ0NvbnRleHQ6OnJlc2hhcGUoaW50IHdpZHRoLCBpbnQgaGVpZ2h0KQoreworICAg
IC8vIEZJWE1FOiBXZWJNZXRhbCAtIERvIHdlIG5lZWQgdG8gcmVzZXQgc3R1ZmYgaGVyZT8KKyAg
ICBtX2RldmljZS5yZXNoYXBlKHdpZHRoLCBoZWlnaHQpOworfQorCitSZWY8V2ViTWV0YWxMaWJy
YXJ5PiBXZWJNZXRhbFJlbmRlcmluZ0NvbnRleHQ6OmNyZWF0ZUxpYnJhcnkoY29uc3QgU3RyaW5n
JiBzb3VyY2VDb2RlKQoreworICAgIHJldHVybiBXZWJNZXRhbExpYnJhcnk6OmNyZWF0ZShHUFVM
aWJyYXJ5IHsgbV9kZXZpY2UsIHNvdXJjZUNvZGUgfSwgc291cmNlQ29kZSk7Cit9CisKK1JlZjxX
ZWJNZXRhbFJlbmRlclBpcGVsaW5lU3RhdGU+IFdlYk1ldGFsUmVuZGVyaW5nQ29udGV4dDo6Y3Jl
YXRlUmVuZGVyUGlwZWxpbmVTdGF0ZShXZWJNZXRhbFJlbmRlclBpcGVsaW5lRGVzY3JpcHRvciYg
ZGVzY3JpcHRvcikKK3sKKyAgICByZXR1cm4gV2ViTWV0YWxSZW5kZXJQaXBlbGluZVN0YXRlOjpj
cmVhdGUoR1BVUmVuZGVyUGlwZWxpbmVTdGF0ZSB7IG1fZGV2aWNlLCBkZXNjcmlwdG9yLmRlc2Ny
aXB0b3IoKSB9KTsKK30KKworUmVmPFdlYk1ldGFsRGVwdGhTdGVuY2lsU3RhdGU+IFdlYk1ldGFs
UmVuZGVyaW5nQ29udGV4dDo6Y3JlYXRlRGVwdGhTdGVuY2lsU3RhdGUoV2ViTWV0YWxEZXB0aFN0
ZW5jaWxEZXNjcmlwdG9yJiBkZXNjcmlwdG9yKQoreworICAgIHJldHVybiBXZWJNZXRhbERlcHRo
U3RlbmNpbFN0YXRlOjpjcmVhdGUoR1BVRGVwdGhTdGVuY2lsU3RhdGUgeyBtX2RldmljZSwgZGVz
Y3JpcHRvci5kZXNjcmlwdG9yKCkgfSk7Cit9CisKK1JlZjxXZWJNZXRhbENvbXB1dGVQaXBlbGlu
ZVN0YXRlPiBXZWJNZXRhbFJlbmRlcmluZ0NvbnRleHQ6OmNyZWF0ZUNvbXB1dGVQaXBlbGluZVN0
YXRlKFdlYk1ldGFsRnVuY3Rpb24mIGZ1bmN0aW9uKQoreworICAgIHJldHVybiBXZWJNZXRhbENv
bXB1dGVQaXBlbGluZVN0YXRlOjpjcmVhdGUoR1BVQ29tcHV0ZVBpcGVsaW5lU3RhdGUgeyBtX2Rl
dmljZSwgZnVuY3Rpb24uZnVuY3Rpb24oKSB9KTsKK30KKworUmVmPFdlYk1ldGFsQ29tbWFuZFF1
ZXVlPiBXZWJNZXRhbFJlbmRlcmluZ0NvbnRleHQ6OmNyZWF0ZUNvbW1hbmRRdWV1ZSgpCit7Cisg
ICAgcmV0dXJuIFdlYk1ldGFsQ29tbWFuZFF1ZXVlOjpjcmVhdGUoR1BVQ29tbWFuZFF1ZXVlIHsg
bV9kZXZpY2UgfSk7Cit9CisKK1JlZjxXZWJNZXRhbERyYXdhYmxlPiBXZWJNZXRhbFJlbmRlcmlu
Z0NvbnRleHQ6Om5leHREcmF3YWJsZSgpCit7CisgICAgcmV0dXJuIFdlYk1ldGFsRHJhd2FibGU6
OmNyZWF0ZShHUFVEcmF3YWJsZSB7IG1fZGV2aWNlIH0pOworfQorCitSZWZQdHI8V2ViTWV0YWxC
dWZmZXI+IFdlYk1ldGFsUmVuZGVyaW5nQ29udGV4dDo6Y3JlYXRlQnVmZmVyKEpTQzo6QXJyYXlC
dWZmZXJWaWV3JiBkYXRhKQoreworICAgIHJldHVybiBXZWJNZXRhbEJ1ZmZlcjo6Y3JlYXRlKEdQ
VUJ1ZmZlciB7IG1fZGV2aWNlLCBkYXRhIH0pOworfQorCitSZWY8V2ViTWV0YWxUZXh0dXJlPiBX
ZWJNZXRhbFJlbmRlcmluZ0NvbnRleHQ6OmNyZWF0ZVRleHR1cmUoV2ViTWV0YWxUZXh0dXJlRGVz
Y3JpcHRvciYgZGVzY3JpcHRvcikKK3sKKyAgICByZXR1cm4gV2ViTWV0YWxUZXh0dXJlOjpjcmVh
dGUoR1BVVGV4dHVyZSB7IG1fZGV2aWNlLCBkZXNjcmlwdG9yLmRlc2NyaXB0b3IoKSB9KTsKK30K
KworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorCisjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2h0bWwvY2FudmFzL1dlYk1ldGFsUmVuZGVyaW5nQ29udGV4dC5oIGIvU291cmNlL1dl
YkNvcmUvaHRtbC9jYW52YXMvV2ViTWV0YWxSZW5kZXJpbmdDb250ZXh0LmgKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
Y2ZjNzBiZDA5NmFmZDkxMTgxZDNjNWZkZDRhMTc1MmMwNTYxY2MwMwotLS0gL2Rldi9udWxsCisr
KyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYk1ldGFsUmVuZGVyaW5nQ29udGV4dC5o
CkBAIC0wLDAgKzEsOTUgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTcgQXBwbGUgSW5jLiBB
bGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0IChDKSAyMDE3IFl1aWNoaXJvIEtpa3Vy
YSAoeS5raWt1cmFAZ21haWwuY29tKQorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4g
c291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9u
LCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisg
KiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0
YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRp
dGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9u
cyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAg
ICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2Ns
YWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMg
cHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMg
UFJPVklERUQgQlkgQVBQTEUgSU5DLiBgYEFTIElTJycgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJ
TVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKKyAq
IElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEg
UEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxM
IEFQUExFIElOQy4gT1IKKyAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1Qs
IElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAorICogRVhFTVBMQVJZLCBPUiBDT05TRVFV
RU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogUFJPQ1VS
RU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEs
IE9SCisgKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VE
IEFORCBPTiBBTlkgVEhFT1JZCisgKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1Qs
IFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBP
VEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBT
T0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFH
RS4KKyAqLworCisjcHJhZ21hIG9uY2UKKworI2lmIEVOQUJMRShXRUJNRVRBTCkKKworI2luY2x1
ZGUgIkdQVUJhc2VkQ2FudmFzUmVuZGVyaW5nQ29udGV4dC5oIgorI2luY2x1ZGUgIkdQVURldmlj
ZS5oIgorCituYW1lc3BhY2UgSlNDIHsKK2NsYXNzIEFycmF5QnVmZmVyVmlldzsKK30KKworbmFt
ZXNwYWNlIFdlYkNvcmUgeworCitjbGFzcyBXZWJNZXRhbEJ1ZmZlcjsKK2NsYXNzIFdlYk1ldGFs
Q29tbWFuZFF1ZXVlOworY2xhc3MgV2ViTWV0YWxDb21wdXRlUGlwZWxpbmVTdGF0ZTsKK2NsYXNz
IFdlYk1ldGFsRGVwdGhTdGVuY2lsRGVzY3JpcHRvcjsKK2NsYXNzIFdlYk1ldGFsRGVwdGhTdGVu
Y2lsU3RhdGU7CitjbGFzcyBXZWJNZXRhbERyYXdhYmxlOworY2xhc3MgV2ViTWV0YWxGdW5jdGlv
bjsKK2NsYXNzIFdlYk1ldGFsTGlicmFyeTsKK2NsYXNzIFdlYk1ldGFsUmVuZGVyUGlwZWxpbmVE
ZXNjcmlwdG9yOworY2xhc3MgV2ViTWV0YWxSZW5kZXJQaXBlbGluZVN0YXRlOworY2xhc3MgV2Vi
TWV0YWxUZXh0dXJlOworY2xhc3MgV2ViTWV0YWxUZXh0dXJlRGVzY3JpcHRvcjsKKworY2xhc3Mg
V2ViTWV0YWxSZW5kZXJpbmdDb250ZXh0IGZpbmFsIDogcHVibGljIEdQVUJhc2VkQ2FudmFzUmVu
ZGVyaW5nQ29udGV4dCB7CitwdWJsaWM6CisgICAgc3RhdGljIHN0ZDo6dW5pcXVlX3B0cjxXZWJN
ZXRhbFJlbmRlcmluZ0NvbnRleHQ+IGNyZWF0ZShDYW52YXNCYXNlJik7CisKKyAgICAvLyBGSVhN
RTogSURMIGZpbGUgc2F5cyB0aGlzIGlzIG5vdCBudWxsYWJsZSwgYnV0IHRoaXMgZnVuY3Rpb24g
Y2FuIHJldHVybiBudWxsLgorICAgIEhUTUxDYW52YXNFbGVtZW50KiBjYW52YXMoKSBjb25zdDsK
KworICAgIFJlZjxXZWJNZXRhbExpYnJhcnk+IGNyZWF0ZUxpYnJhcnkoY29uc3QgU3RyaW5nJik7
CisgICAgUmVmPFdlYk1ldGFsUmVuZGVyUGlwZWxpbmVTdGF0ZT4gY3JlYXRlUmVuZGVyUGlwZWxp
bmVTdGF0ZShXZWJNZXRhbFJlbmRlclBpcGVsaW5lRGVzY3JpcHRvciYpOworICAgIFJlZjxXZWJN
ZXRhbERlcHRoU3RlbmNpbFN0YXRlPiBjcmVhdGVEZXB0aFN0ZW5jaWxTdGF0ZShXZWJNZXRhbERl
cHRoU3RlbmNpbERlc2NyaXB0b3ImKTsKKyAgICBSZWY8V2ViTWV0YWxDb21wdXRlUGlwZWxpbmVT
dGF0ZT4gY3JlYXRlQ29tcHV0ZVBpcGVsaW5lU3RhdGUoV2ViTWV0YWxGdW5jdGlvbiYpOworICAg
IFJlZjxXZWJNZXRhbENvbW1hbmRRdWV1ZT4gY3JlYXRlQ29tbWFuZFF1ZXVlKCk7CisgICAgUmVm
PFdlYk1ldGFsRHJhd2FibGU+IG5leHREcmF3YWJsZSgpOworICAgIFJlZlB0cjxXZWJNZXRhbEJ1
ZmZlcj4gY3JlYXRlQnVmZmVyKEpTQzo6QXJyYXlCdWZmZXJWaWV3Jik7CisgICAgUmVmPFdlYk1l
dGFsVGV4dHVyZT4gY3JlYXRlVGV4dHVyZShXZWJNZXRhbFRleHR1cmVEZXNjcmlwdG9yJik7CisK
KyAgICBjb25zdCBHUFVEZXZpY2UmIGRldmljZSgpIGNvbnN0IHsgcmV0dXJuIG1fZGV2aWNlOyB9
CisKK3ByaXZhdGU6CisgICAgV2ViTWV0YWxSZW5kZXJpbmdDb250ZXh0KENhbnZhc0Jhc2UmLCBH
UFVEZXZpY2UmJik7CisKKyAgICBib29sIGhhc1BlbmRpbmdBY3Rpdml0eSgpIGNvbnN0IGZpbmFs
OworICAgIHZvaWQgc3RvcCgpIGZpbmFsOworICAgIGNvbnN0IGNoYXIqIGFjdGl2ZURPTU9iamVj
dE5hbWUoKSBjb25zdCBmaW5hbDsKKyAgICBib29sIGNhblN1c3BlbmRGb3JEb2N1bWVudFN1c3Bl
bnNpb24oKSBjb25zdCBmaW5hbDsKKworICAgIEludFNpemUgY2xhbXBlZENhbnZhc1NpemUoKSBj
b25zdDsKKyAgICB2b2lkIGluaXRpYWxpemVOZXdDb250ZXh0KCk7CisKKyAgICBib29sIGlzV2Vi
TWV0YWwoKSBjb25zdCBmaW5hbCB7IHJldHVybiB0cnVlOyB9CisKKyAgICB2b2lkIHJlc2hhcGUo
aW50IHdpZHRoLCBpbnQgaGVpZ2h0KSBmaW5hbDsKKyAgICB2b2lkIG1hcmtMYXllckNvbXBvc2l0
ZWQoKSBmaW5hbDsKKyAgICBQbGF0Zm9ybUxheWVyKiBwbGF0Zm9ybUxheWVyKCkgY29uc3QgZmlu
YWw7CisKKyAgICBHUFVEZXZpY2UgbV9kZXZpY2U7Cit9OworCit9IC8vIG5hbWVzcGFjZSBXZWJD
b3JlCisKK1NQRUNJQUxJWkVfVFlQRV9UUkFJVFNfQ0FOVkFTUkVOREVSSU5HQ09OVEVYVChXZWJD
b3JlOjpXZWJNZXRhbFJlbmRlcmluZ0NvbnRleHQsIGlzV2ViTWV0YWwoKSkKKworI2VuZGlmCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJNZXRhbFJlbmRlcmluZ0Nv
bnRleHQuaWRsIGIvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViTWV0YWxSZW5kZXJpbmdD
b250ZXh0LmlkbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42NmI4YjA5YmMxM2E3ZjRlMTljZGZhMDM4Y2RiNjE0Mjhm
N2U3YzI3Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2Vi
TWV0YWxSZW5kZXJpbmdDb250ZXh0LmlkbApAQCAtMCwwICsxLDExNSBAQAorLyoKKyAqIENvcHly
aWdodCAoQykgMjAxNyBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmln
aHQgKEMpIDIwMTcgWXVpY2hpcm8gS2lrdXJhICh5Lmtpa3VyYUBnbWFpbC5jb20pCisgKgorICog
UmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBv
ciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0
aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlv
bnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAg
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFp
bWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNl
IHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlv
bnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRp
b24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24u
CisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIGBgQVMgSVMn
JyBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBC
VVQgTk9UIExJTUlURUQgVE8sIFRIRQorICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5U
QUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVND
TEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUgorICogQ09OVFJJQlVUT1JT
IEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUws
CisgKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQg
Tk9UIExJTUlURUQgVE8sCisgKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNF
UlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKKyAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElO
VEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKKyAqIE9GIExJQUJJ
TElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICog
KElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9V
VCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhF
IFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKK1sKKyAgICBDb25kaXRpb25hbD1X
RUJNRVRBTCwKKyAgICBFbmFibGVkQXRSdW50aW1lPVdlYk1ldGFsLAorICAgIEpTQ3VzdG9tTWFy
a0Z1bmN0aW9uLAorICAgIERvTm90Q2hlY2tDb25zdGFudHMKK10gaW50ZXJmYWNlIFdlYk1ldGFs
UmVuZGVyaW5nQ29udGV4dCB7CisgICAgLy8gYmFjay1yZWZlcmVuY2UgdG8gdGhlIGNhbnZhcwor
ICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBIVE1MQ2FudmFzRWxlbWVudCBjYW52YXM7CisKKyAgICAv
LyBQaXhlbCBmb3JtYXRzCisKKyAgICBjb25zdCB1bnNpZ25lZCBpbnQgUGl4ZWxGb3JtYXRCR1JB
OFVub3JtID0gODA7CisgICAgY29uc3QgdW5zaWduZWQgaW50IFBpeGVsRm9ybWF0RGVwdGgzMkZs
b2F0ID0gMjUyOworICAgIGNvbnN0IHVuc2lnbmVkIGludCBQaXhlbEZvcm1hdFN0ZW5jaWw4ID0g
MjUzOworICAgIGNvbnN0IHVuc2lnbmVkIGludCBQaXhlbEZvcm1hdEludmFsaWQgPSAwOworCisg
ICAgLy8gTG9hZCBhY3Rpb25zCisKKyAgICBjb25zdCB1bnNpZ25lZCBpbnQgTG9hZEFjdGlvbkRv
bnRDYXJlID0gMDsKKyAgICBjb25zdCB1bnNpZ25lZCBpbnQgTG9hZEFjdGlvbkxvYWQgPSAxOwor
ICAgIGNvbnN0IHVuc2lnbmVkIGludCBMb2FkQWN0aW9uQ2xlYXIgPSAyOworCisgICAgLy8gU3Rv
cmUgYWN0aW9ucworCisgICAgY29uc3QgdW5zaWduZWQgaW50IFN0b3JlQWN0aW9uRG9udENhcmUg
PSAwOworICAgIGNvbnN0IHVuc2lnbmVkIGludCBTdG9yZUFjdGlvblN0b3JlID0gMTsKKyAgICBj
b25zdCB1bnNpZ25lZCBpbnQgU3RvcmVBY3Rpb25NdWx0aXNhbXBsZVJlc29sdmUgPSAyOworCisg
ICAgLy8gUHJpbWl0aXZlIHR5cGVzCisKKyAgICBjb25zdCB1bnNpZ25lZCBpbnQgUHJpbWl0aXZl
VHlwZVBvaW50ID0gMDsKKyAgICBjb25zdCB1bnNpZ25lZCBpbnQgUHJpbWl0aXZlVHlwZUxpbmUg
PSAxOworICAgIGNvbnN0IHVuc2lnbmVkIGludCBQcmltaXRpdmVUeXBlTGluZVN0cmlwID0gMjsK
KyAgICBjb25zdCB1bnNpZ25lZCBpbnQgUHJpbWl0aXZlVHlwZVRyaWFuZ2xlID0gMzsKKyAgICBj
b25zdCB1bnNpZ25lZCBpbnQgUHJpbWl0aXZlVHlwZVRyaWFuZ2xlU3RyaXAgPSA0OworCisgICAg
Ly8gQ29tcGFyaXNvbiBmdW5jdGlvbnMKKworICAgIGNvbnN0IHVuc2lnbmVkIGludCBDb21wYXJl
RnVuY3Rpb25OZXZlciA9IDA7CisgICAgY29uc3QgdW5zaWduZWQgaW50IENvbXBhcmVGdW5jdGlv
bkxlc3MgPSAxOworICAgIGNvbnN0IHVuc2lnbmVkIGludCBDb21wYXJlRnVuY3Rpb25FcXVhbCA9
IDI7CisgICAgY29uc3QgdW5zaWduZWQgaW50IENvbXBhcmVGdW5jdGlvbkxlc3NFcXVhbCA9IDM7
CisgICAgY29uc3QgdW5zaWduZWQgaW50IENvbXBhcmVGdW5jdGlvbkdyZWF0ZXIgPSA0OworICAg
IGNvbnN0IHVuc2lnbmVkIGludCBDb21wYXJlRnVuY3Rpb25Ob3RFcXVhbCA9IDU7CisgICAgY29u
c3QgdW5zaWduZWQgaW50IENvbXBhcmVGdW5jdGlvbkdyZWF0ZXJFcXVhbCA9IDY7CisgICAgY29u
c3QgdW5zaWduZWQgaW50IENvbXBhcmVGdW5jdGlvbkFsd2F5cyA9IDc7CisKKyAgICAvLyBUZXh0
dXJlIFR5cGVzCisKKyAgICBjb25zdCB1bnNpZ25lZCBpbnQgVGV4dHVyZVR5cGUxRCA9IDA7Cisg
ICAgY29uc3QgdW5zaWduZWQgaW50IFRleHR1cmVUeXBlMURBcnJheSA9IDE7CisgICAgY29uc3Qg
dW5zaWduZWQgaW50IFRleHR1cmVUeXBlMkQgPSAyOworICAgIGNvbnN0IHVuc2lnbmVkIGludCBU
ZXh0dXJlVHlwZTJEQXJyYXkgPSAzOworICAgIGNvbnN0IHVuc2lnbmVkIGludCBUZXh0dXJlVHlw
ZTJETXVsdGlzYW1wbGUgPSA0OworICAgIGNvbnN0IHVuc2lnbmVkIGludCBUZXh0dXJlVHlwZUN1
YmUgPSA1OworICAgIGNvbnN0IHVuc2lnbmVkIGludCBUZXh0dXJlVHlwZUN1YmVBcnJheSA9IDY7
CisgICAgY29uc3QgdW5zaWduZWQgaW50IFRleHR1cmVUeXBlM0QgPSA3OworCisgICAgLy8gU3Rv
cmFnZSBtb2RlcworCisgICAgY29uc3QgdW5zaWduZWQgaW50IFN0b3JhZ2VNb2RlU2hhcmVkICA9
IDA7CisgICAgY29uc3QgdW5zaWduZWQgaW50IFN0b3JhZ2VNb2RlTWFuYWdlZCA9IDE7CisgICAg
Y29uc3QgdW5zaWduZWQgaW50IFN0b3JhZ2VNb2RlUHJpdmF0ZSA9IDI7CisKKyAgICAvLyBVc2Fn
ZQorCisgICAgY29uc3QgdW5zaWduZWQgaW50IFRleHR1cmVVc2FnZVVua25vd24gPSAweDAwMDA7
CisgICAgY29uc3QgdW5zaWduZWQgaW50IFRleHR1cmVVc2FnZVNoYWRlclJlYWQgPSAweDAwMDE7
CisgICAgY29uc3QgdW5zaWduZWQgaW50IFRleHR1cmVVc2FnZVNoYWRlcldyaXRlID0gMHgwMDAy
OworICAgIGNvbnN0IHVuc2lnbmVkIGludCBUZXh0dXJlVXNhZ2VSZW5kZXJUYXJnZXQgPSAweDAw
MDQ7CisgICAgY29uc3QgdW5zaWduZWQgaW50IFRleHR1cmVVc2FnZVBpeGVsRm9ybWF0VmlldyA9
IDB4MDAxMDsKKworICAgIC8vIEVudHJ5IHBvaW50cworCisgICAgV2ViTWV0YWxMaWJyYXJ5IGNy
ZWF0ZUxpYnJhcnkoRE9NU3RyaW5nIHNvdXJjZUNvZGUpOworCisgICAgV2ViTWV0YWxSZW5kZXJQ
aXBlbGluZVN0YXRlIGNyZWF0ZVJlbmRlclBpcGVsaW5lU3RhdGUoV2ViTWV0YWxSZW5kZXJQaXBl
bGluZURlc2NyaXB0b3IgZGVzY3JpcHRvcik7CisgICAgV2ViTWV0YWxEZXB0aFN0ZW5jaWxTdGF0
ZSBjcmVhdGVEZXB0aFN0ZW5jaWxTdGF0ZShXZWJNZXRhbERlcHRoU3RlbmNpbERlc2NyaXB0b3Ig
ZGVzY3JpcHRvcik7CisgICAgV2ViTWV0YWxDb21wdXRlUGlwZWxpbmVTdGF0ZSBjcmVhdGVDb21w
dXRlUGlwZWxpbmVTdGF0ZShXZWJNZXRhbEZ1bmN0aW9uIGZ1bmN0aW9uKTsKKworICAgIFdlYk1l
dGFsQ29tbWFuZFF1ZXVlIGNyZWF0ZUNvbW1hbmRRdWV1ZSgpOworCisgICAgV2ViTWV0YWxEcmF3
YWJsZSBuZXh0RHJhd2FibGUoKTsKKworICAgIFdlYk1ldGFsQnVmZmVyPyBjcmVhdGVCdWZmZXIo
QXJyYXlCdWZmZXJWaWV3IGRhdGEpOworCisgICAgV2ViTWV0YWxUZXh0dXJlIGNyZWF0ZVRleHR1
cmUoV2ViTWV0YWxUZXh0dXJlRGVzY3JpcHRvciBkZXNjcmlwdG9yKTsKKworfTsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYk1ldGFsU2l6ZS5oIGIvU291cmNlL1dl
YkNvcmUvaHRtbC9jYW52YXMvV2ViTWV0YWxTaXplLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNGU0MjVhZDk2Njc4
ZmExY2JhNmNhZDAzZDhkYzQ2ZjA1YjczMDU4MwotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2h0bWwvY2FudmFzL1dlYk1ldGFsU2l6ZS5oCkBAIC0wLDAgKzEsNDAgQEAKKy8qCisg
KiBDb3B5cmlnaHQgKEMpIDIwMTcgWXVpY2hpcm8gS2lrdXJhICh5Lmtpa3VyYUBnbWFpbC5jb20p
CisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jt
cywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlk
ZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRp
c3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdo
dAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2lu
ZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3Qg
cmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9m
IGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRv
Y3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0
cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMu
IGBgQVMgSVMnJyBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5D
TFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQorICogSU1QTElFRCBXQVJSQU5USUVTIE9G
IE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NF
IEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUgorICogQ09O
VFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUws
IFNQRUNJQUwsCisgKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVE
SU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdP
T0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKKyAqIFBST0ZJVFM7IE9SIEJV
U0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKKyAq
IE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1Ig
VE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBB
TlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklT
RUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNwcmFnbWEgb25j
ZQorCisjaWYgRU5BQkxFKFdFQk1FVEFMKQorCituYW1lc3BhY2UgV2ViQ29yZSB7CisgICAgCitz
dHJ1Y3QgV2ViTWV0YWxTaXplIHsKKyAgICB1bnNpZ25lZCB3aWR0aDsKKyAgICB1bnNpZ25lZCBo
ZWlnaHQ7CisgICAgdW5zaWduZWQgZGVwdGg7Cit9OworICAgIAorfSAvLyBuYW1lc3BhY2UgV2Vi
Q29yZQorCisjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dl
Yk1ldGFsU2l6ZS5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJNZXRhbFNpemUu
aWRsCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLmZhZThjN2QwZGJhMWEwNmM5MzZjM2VkYjA2MjQ0ZTU2NzI0ZmRiYzMK
LS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJNZXRhbFNp
emUuaWRsCkBAIC0wLDAgKzEsMzMgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTcgWXVpY2hp
cm8gS2lrdXJhICh5Lmtpa3VyYUBnbWFpbC5jb20pCisgKgorICogUmVkaXN0cmlidXRpb24gYW5k
IHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2Rp
ZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRp
dGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUg
bXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qg
b2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0
cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmln
aHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dp
bmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1h
dGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZU
V0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCisgKiBFWFBS
RVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8s
IFRIRQorICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVT
UyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZF
TlQgU0hBTEwgQVBQTEUgSU5DLiBPUgorICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5Z
IERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCisgKiBFWEVNUExBUlksIE9S
IENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisg
KiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVT
RSwgREFUQSwgT1IKKyAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZF
UiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKKyAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBD
T05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdF
TkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBP
RiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNV
Q0ggREFNQUdFLgorICovCisgCitbCisgICAgQ29uZGl0aW9uYWw9V0VCTUVUQUwsCisgICAgRW5h
YmxlZEF0UnVudGltZT1XZWJNZXRhbAorXSBkaWN0aW9uYXJ5IFdlYk1ldGFsU2l6ZSB7CisgICAg
dW5zaWduZWQgbG9uZyB3aWR0aDsKKyAgICB1bnNpZ25lZCBsb25nIGhlaWdodDsKKyAgICB1bnNp
Z25lZCBsb25nIGRlcHRoOworfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2Fu
dmFzL1dlYk1ldGFsVGV4dHVyZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJN
ZXRhbFRleHR1cmUuY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmNkYzNlMTZkM2U4ZjBlNjc4OTNkY2Y2N2I4ODBm
NWU1YzMxMWFmM2IKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZh
cy9XZWJNZXRhbFRleHR1cmUuY3BwCkBAIC0wLDAgKzEsNDUgQEAKKy8qCisgKiBDb3B5cmlnaHQg
KEMpIDIwMTcgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJp
YnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91
dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxv
d2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNv
dXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwg
dGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAq
IDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJv
dmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9v
ciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAq
IFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBgYEFTIElTJycgQU5EIEFO
WQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBM
SU1JVEVEIFRPLCBUSEUKKyAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkg
QU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4g
IElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IKKyAqIENPTlRSSUJVVE9SUyBCRSBMSUFC
TEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAorICogRVhF
TVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1J
VEVEIFRPLAorICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsg
TE9TUyBPRiBVU0UsIERBVEEsIE9SCisgKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJ
T04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCisgKiBPRiBMSUFCSUxJVFksIFdI
RVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJ
TkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhF
IFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJ
TElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgiCisjaW5jbHVk
ZSAiV2ViTWV0YWxUZXh0dXJlLmgiCisKKyNpZiBFTkFCTEUoV0VCTUVUQUwpCisKK25hbWVzcGFj
ZSBXZWJDb3JlIHsKKworUmVmPFdlYk1ldGFsVGV4dHVyZT4gV2ViTWV0YWxUZXh0dXJlOjpjcmVh
dGUoR1BVVGV4dHVyZSYmIHRleHR1cmUpCit7CisgICAgcmV0dXJuIGFkb3B0UmVmKCpuZXcgV2Vi
TWV0YWxUZXh0dXJlKFdURk1vdmUodGV4dHVyZSkpKTsKK30KKworV2ViTWV0YWxUZXh0dXJlOjpX
ZWJNZXRhbFRleHR1cmUoR1BVVGV4dHVyZSYmIHRleHR1cmUpCisgICAgOiBtX3RleHR1cmUgeyBX
VEZNb3ZlKHRleHR1cmUpIH0KK3sKK30KKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorCisjZW5k
aWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYk1ldGFsVGV4dHVy
ZS5oIGIvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViTWV0YWxUZXh0dXJlLmgKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uYmVjYjRhYTNmMWIwOTdmMzRkZDlkNmUyNDdmYTE4ZmZmZTBlOWJmNwotLS0gL2Rldi9u
dWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYk1ldGFsVGV4dHVyZS5oCkBA
IC0wLDAgKzEsNTUgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTcgQXBwbGUgSW5jLiBBbGwg
cmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNl
IGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUg
cGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUg
bWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRo
ZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBi
aW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3Rp
Y2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIg
aW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlk
ZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklE
RUQgQlkgQVBQTEUgSU5DLiBgYEFTIElTJycgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVE
IFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKKyAqIElNUExJ
RUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElD
VUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExF
IElOQy4gT1IKKyAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElS
RUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAorICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFM
IERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogUFJPQ1VSRU1FTlQg
T0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCisg
KiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBP
TiBBTlkgVEhFT1JZCisgKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklD
VCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJ
U0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FS
RSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAq
LworCisjcHJhZ21hIG9uY2UKKworI2lmIEVOQUJMRShXRUJNRVRBTCkKKworI2luY2x1ZGUgIkdQ
VVRleHR1cmUuaCIKKyNpbmNsdWRlIDx3dGYvUmVmLmg+CisjaW5jbHVkZSA8d3RmL1JlZkNvdW50
ZWQuaD4KKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitjbGFzcyBHUFVUZXh0dXJlRGVzY3JpcHRv
cjsKKworY2xhc3MgV2ViTWV0YWxUZXh0dXJlIDogcHVibGljIFJlZkNvdW50ZWQ8V2ViTWV0YWxU
ZXh0dXJlPiB7CitwdWJsaWM6CisgICAgc3RhdGljIFJlZjxXZWJNZXRhbFRleHR1cmU+IGNyZWF0
ZShHUFVUZXh0dXJlJiYpOworCisgICAgdW5zaWduZWQgd2lkdGgoKSBjb25zdCB7IHJldHVybiBt
X3RleHR1cmUud2lkdGgoKTsgfQorICAgIHVuc2lnbmVkIGhlaWdodCgpIGNvbnN0IHsgcmV0dXJu
IG1fdGV4dHVyZS5oZWlnaHQoKTsgfQorCisgICAgY29uc3QgR1BVVGV4dHVyZSYgdGV4dHVyZSgp
IGNvbnN0IHsgcmV0dXJuIG1fdGV4dHVyZTsgfQorCitwcml2YXRlOgorICAgIGV4cGxpY2l0IFdl
Yk1ldGFsVGV4dHVyZShHUFVUZXh0dXJlJiYpOworCisgICAgR1BVVGV4dHVyZSBtX3RleHR1cmU7
Cit9OworICAgIAorfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorCisjZW5kaWYKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYk1ldGFsVGV4dHVyZS5pZGwgYi9Tb3VyY2Uv
V2ViQ29yZS9odG1sL2NhbnZhcy9XZWJNZXRhbFRleHR1cmUuaWRsCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjc5Y2Y0
ZDVjMjk3YjI1MmQ4YWRjNGRiOWFiMDUyOTk0ZjgzNjJmNDYKLS0tIC9kZXYvbnVsbAorKysgYi9T
b3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJNZXRhbFRleHR1cmUuaWRsCkBAIC0wLDAgKzEs
MzUgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTcgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJl
c2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5h
cnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVk
IHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICog
MS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBj
b3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBm
b2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9y
bSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisg
KiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0
aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQ
TEUgSU5DLiBgYEFTIElTJycgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJ
RVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKKyAqIElNUExJRUQgV0FSUkFO
VElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICog
UFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IK
KyAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJ
REVOVEFMLCBTUEVDSUFMLAorICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMg
KElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJ
VFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCisgKiBQUk9GSVRT
OyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhF
T1JZCisgKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJ
VFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJ
TkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJ
RiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCitbCisg
ICAgQ29uZGl0aW9uYWw9V0VCTUVUQUwsCisgICAgRW5hYmxlZEF0UnVudGltZT1XZWJNZXRhbCwK
KyAgICBJbXBsZW1lbnRhdGlvbkxhY2tzVlRhYmxlCitdIGludGVyZmFjZSBXZWJNZXRhbFRleHR1
cmUgeworCisgICAgcmVhZG9ubHkgYXR0cmlidXRlIHVuc2lnbmVkIGxvbmcgd2lkdGg7CisgICAg
cmVhZG9ubHkgYXR0cmlidXRlIHVuc2lnbmVkIGxvbmcgaGVpZ2h0OworCit9OwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViTWV0YWxUZXh0dXJlRGVzY3JpcHRvci5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJNZXRhbFRleHR1cmVEZXNjcmlwdG9y
LmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi42MjA3YmRlZjRlYTZkZDIxODBiNGM2YWU1ZTQxNWE3OGE2ZmI5ODMx
Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViTWV0YWxU
ZXh0dXJlRGVzY3JpcHRvci5jcHAKQEAgLTAsMCArMSwxMDUgQEAKKy8qCisgKiBDb3B5cmlnaHQg
KEMpIDIwMTcgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJp
YnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91
dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxv
d2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNv
dXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwg
dGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAq
IDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJv
dmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9v
ciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAq
IFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBgYEFTIElTJycgQU5EIEFO
WQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBM
SU1JVEVEIFRPLCBUSEUKKyAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkg
QU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4g
IElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IKKyAqIENPTlRSSUJVVE9SUyBCRSBMSUFC
TEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAorICogRVhF
TVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1J
VEVEIFRPLAorICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsg
TE9TUyBPRiBVU0UsIERBVEEsIE9SCisgKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJ
T04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCisgKiBPRiBMSUFCSUxJVFksIFdI
RVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJ
TkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhF
IFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJ
TElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgiCisjaW5jbHVk
ZSAiV2ViTWV0YWxUZXh0dXJlRGVzY3JpcHRvci5oIgorCisjaWYgRU5BQkxFKFdFQk1FVEFMKQor
CituYW1lc3BhY2UgV2ViQ29yZSB7CisKK1JlZjxXZWJNZXRhbFRleHR1cmVEZXNjcmlwdG9yPiBX
ZWJNZXRhbFRleHR1cmVEZXNjcmlwdG9yOjpjcmVhdGUodW5zaWduZWQgcGl4ZWxGb3JtYXQsIHVu
c2lnbmVkIHdpZHRoLCB1bnNpZ25lZCBoZWlnaHQsIGJvb2wgbWlwbWFwcGVkKQoreworICAgIHJl
dHVybiBhZG9wdFJlZigqbmV3IFdlYk1ldGFsVGV4dHVyZURlc2NyaXB0b3IocGl4ZWxGb3JtYXQs
IHdpZHRoLCBoZWlnaHQsIG1pcG1hcHBlZCkpOworfQorCitXZWJNZXRhbFRleHR1cmVEZXNjcmlw
dG9yOjpXZWJNZXRhbFRleHR1cmVEZXNjcmlwdG9yKHVuc2lnbmVkIHBpeGVsRm9ybWF0LCB1bnNp
Z25lZCB3aWR0aCwgdW5zaWduZWQgaGVpZ2h0LCBib29sIG1pcG1hcHBlZCkKKyAgICA6IG1fZGVz
Y3JpcHRvciB7IHBpeGVsRm9ybWF0LCB3aWR0aCwgaGVpZ2h0LCBtaXBtYXBwZWQgfQoreworfQor
Cit1bnNpZ25lZCBXZWJNZXRhbFRleHR1cmVEZXNjcmlwdG9yOjp3aWR0aCgpIGNvbnN0Cit7Cisg
ICAgcmV0dXJuIG1fZGVzY3JpcHRvci53aWR0aCgpOworfQorCit2b2lkIFdlYk1ldGFsVGV4dHVy
ZURlc2NyaXB0b3I6OnNldFdpZHRoKHVuc2lnbmVkIHdpZHRoKQoreworICAgIG1fZGVzY3JpcHRv
ci5zZXRXaWR0aCh3aWR0aCk7Cit9CisKK3Vuc2lnbmVkIFdlYk1ldGFsVGV4dHVyZURlc2NyaXB0
b3I6OmhlaWdodCgpIGNvbnN0Cit7CisgICAgcmV0dXJuIG1fZGVzY3JpcHRvci5oZWlnaHQoKTsK
K30KKwordm9pZCBXZWJNZXRhbFRleHR1cmVEZXNjcmlwdG9yOjpzZXRIZWlnaHQodW5zaWduZWQg
aGVpZ2h0KQoreworICAgIG1fZGVzY3JpcHRvci5zZXRIZWlnaHQoaGVpZ2h0KTsKK30KKwordW5z
aWduZWQgV2ViTWV0YWxUZXh0dXJlRGVzY3JpcHRvcjo6c2FtcGxlQ291bnQoKSBjb25zdAorewor
ICAgIHJldHVybiBtX2Rlc2NyaXB0b3Iuc2FtcGxlQ291bnQoKTsKK30KKwordm9pZCBXZWJNZXRh
bFRleHR1cmVEZXNjcmlwdG9yOjpzZXRTYW1wbGVDb3VudCh1bnNpZ25lZCBzYW1wbGVDb3VudCkK
K3sKKyAgICBtX2Rlc2NyaXB0b3Iuc2V0U2FtcGxlQ291bnQoc2FtcGxlQ291bnQpOworfQorCit1
bnNpZ25lZCBXZWJNZXRhbFRleHR1cmVEZXNjcmlwdG9yOjp0ZXh0dXJlVHlwZSgpIGNvbnN0Cit7
CisgICAgcmV0dXJuIG1fZGVzY3JpcHRvci50ZXh0dXJlVHlwZSgpOworfQorCit2b2lkIFdlYk1l
dGFsVGV4dHVyZURlc2NyaXB0b3I6OnNldFRleHR1cmVUeXBlKHVuc2lnbmVkIHRleHR1cmVUeXBl
KQoreworICAgIG1fZGVzY3JpcHRvci5zZXRUZXh0dXJlVHlwZSh0ZXh0dXJlVHlwZSk7Cit9CisK
K3Vuc2lnbmVkIFdlYk1ldGFsVGV4dHVyZURlc2NyaXB0b3I6OnN0b3JhZ2VNb2RlKCkgY29uc3QK
K3sKKyAgICByZXR1cm4gbV9kZXNjcmlwdG9yLnN0b3JhZ2VNb2RlKCk7Cit9CisKK3ZvaWQgV2Vi
TWV0YWxUZXh0dXJlRGVzY3JpcHRvcjo6c2V0U3RvcmFnZU1vZGUodW5zaWduZWQgc3RvcmFnZU1v
ZGUpCit7CisgICAgbV9kZXNjcmlwdG9yLnNldFN0b3JhZ2VNb2RlKHN0b3JhZ2VNb2RlKTsKK30K
KwordW5zaWduZWQgV2ViTWV0YWxUZXh0dXJlRGVzY3JpcHRvcjo6dXNhZ2UoKSBjb25zdAorewor
ICAgIHJldHVybiBtX2Rlc2NyaXB0b3IudXNhZ2UoKTsKK30KKwordm9pZCBXZWJNZXRhbFRleHR1
cmVEZXNjcmlwdG9yOjpzZXRVc2FnZSh1bnNpZ25lZCB1c2FnZSkKK3sKKyAgICBtX2Rlc2NyaXB0
b3Iuc2V0VXNhZ2UodXNhZ2UpOworfQorICAgIAorfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorCisj
ZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYk1ldGFsVGV4
dHVyZURlc2NyaXB0b3IuaCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYk1ldGFsVGV4
dHVyZURlc2NyaXB0b3IuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5jNDUwMDIyM2UxYTU0YTZmNmQ2ZWE0Y2E0MTIx
NmNiODI2NjRhYjQ3Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52
YXMvV2ViTWV0YWxUZXh0dXJlRGVzY3JpcHRvci5oCkBAIC0wLDAgKzEsNjggQEAKKy8qCisgKiBD
b3B5cmlnaHQgKEMpIDIwMTcgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAq
IFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGgg
b3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQg
dGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRp
b25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAg
IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xh
aW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVj
ZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRp
b25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0
aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9u
LgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBgYEFTIElT
JycgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywg
QlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKKyAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFO
VEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElT
Q0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IKKyAqIENPTlRSSUJVVE9S
UyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFM
LAorICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVU
IE5PVCBMSU1JVEVEIFRPLAorICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBT
RVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCisgKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJ
TlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCisgKiBPRiBMSUFC
SUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAq
IChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBP
VVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRI
RSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjcHJhZ21hIG9uY2UKKworI2lm
IEVOQUJMRShXRUJNRVRBTCkKKworI2luY2x1ZGUgIkdQVVRleHR1cmVEZXNjcmlwdG9yLmgiCisj
aW5jbHVkZSA8d3RmL1JlZi5oPgorI2luY2x1ZGUgPHd0Zi9SZWZDb3VudGVkLmg+CisKK25hbWVz
cGFjZSBXZWJDb3JlIHsKKworY2xhc3MgV2ViTWV0YWxUZXh0dXJlRGVzY3JpcHRvciA6IHB1Ymxp
YyBSZWZDb3VudGVkPFdlYk1ldGFsVGV4dHVyZURlc2NyaXB0b3I+IHsKK3B1YmxpYzoKKyAgICBz
dGF0aWMgUmVmPFdlYk1ldGFsVGV4dHVyZURlc2NyaXB0b3I+IGNyZWF0ZSh1bnNpZ25lZCBwaXhl
bEZvcm1hdCwgdW5zaWduZWQgd2lkdGgsIHVuc2lnbmVkIGhlaWdodCwgYm9vbCBtaXBtYXBwZWQp
OworCisgICAgdW5zaWduZWQgd2lkdGgoKSBjb25zdDsKKyAgICB2b2lkIHNldFdpZHRoKHVuc2ln
bmVkKTsKKworICAgIHVuc2lnbmVkIGhlaWdodCgpIGNvbnN0OworICAgIHZvaWQgc2V0SGVpZ2h0
KHVuc2lnbmVkKTsKKworICAgIHVuc2lnbmVkIHNhbXBsZUNvdW50KCkgY29uc3Q7CisgICAgdm9p
ZCBzZXRTYW1wbGVDb3VudCh1bnNpZ25lZCk7CisKKyAgICB1bnNpZ25lZCB0ZXh0dXJlVHlwZSgp
IGNvbnN0OworICAgIHZvaWQgc2V0VGV4dHVyZVR5cGUodW5zaWduZWQpOworCisgICAgdW5zaWdu
ZWQgc3RvcmFnZU1vZGUoKSBjb25zdDsKKyAgICB2b2lkIHNldFN0b3JhZ2VNb2RlKHVuc2lnbmVk
KTsKKworICAgIHVuc2lnbmVkIHVzYWdlKCkgY29uc3Q7CisgICAgdm9pZCBzZXRVc2FnZSh1bnNp
Z25lZCk7CisKKyAgICBjb25zdCBHUFVUZXh0dXJlRGVzY3JpcHRvciYgZGVzY3JpcHRvcigpIHsg
cmV0dXJuIG1fZGVzY3JpcHRvcjsgfQorCitwcml2YXRlOgorICAgIFdlYk1ldGFsVGV4dHVyZURl
c2NyaXB0b3IodW5zaWduZWQgcGl4ZWxGb3JtYXQsIHVuc2lnbmVkIHdpZHRoLCB1bnNpZ25lZCBo
ZWlnaHQsIGJvb2wgbWlwbWFwcGVkKTsKKworICAgIEdQVVRleHR1cmVEZXNjcmlwdG9yIG1fZGVz
Y3JpcHRvcjsKK307CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKworI2VuZGlmCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJNZXRhbFRleHR1cmVEZXNjcmlwdG9y
LmlkbCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYk1ldGFsVGV4dHVyZURlc2NyaXB0
b3IuaWRsCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjFhNWY3ZjFmMjgxYmY1YTc5MzBmNGJiZWJkNzczZTUwZjI2YzI5
MjEKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJNZXRh
bFRleHR1cmVEZXNjcmlwdG9yLmlkbApAQCAtMCwwICsxLDQzIEBACisvKgorICogQ29weXJpZ2h0
IChDKSAyMDE3IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3Ry
aWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhv
dXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xs
b3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBz
b3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2Us
IHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisg
KiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFi
b3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQg
dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQv
b3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisg
KiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gYGBBUyBJUycnIEFORCBB
TlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1Qg
TElNSVRFRCBUTywgVEhFCisgKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZ
IEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQu
ICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SCisgKiBDT05UUklCVVRPUlMgQkUgTElB
QkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKKyAqIEVY
RU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElN
SVRFRCBUTywKKyAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7
IExPU1MgT0YgVVNFLCBEQVRBLCBPUgorICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBU
SU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQorICogT0YgTElBQklMSVRZLCBX
SEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVE
SU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRI
RSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lC
SUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworWworICAgIENvbnN0cnVjdG9yKHVuc2lnbmVk
IGxvbmcgcGl4ZWxGb3JtYXQsIHVuc2lnbmVkIGxvbmcgd2lkdGgsIHVuc2lnbmVkIGxvbmcgaGVp
Z2h0LCBib29sZWFuIG1pcG1hcHBlZCksCisgICAgQ29uZGl0aW9uYWw9V0VCTUVUQUwsCisgICAg
RW5hYmxlZEF0UnVudGltZT1XZWJNZXRhbCwKKyAgICBJbXBsZW1lbnRhdGlvbkxhY2tzVlRhYmxl
CitdIGludGVyZmFjZSBXZWJNZXRhbFRleHR1cmVEZXNjcmlwdG9yIHsKKworICAgIGF0dHJpYnV0
ZSB1bnNpZ25lZCBsb25nIHRleHR1cmVUeXBlOworCisgICAgYXR0cmlidXRlIHVuc2lnbmVkIGxv
bmcgd2lkdGg7CisgICAgYXR0cmlidXRlIHVuc2lnbmVkIGxvbmcgaGVpZ2h0OworICAgIGF0dHJp
YnV0ZSB1bnNpZ25lZCBsb25nIHNhbXBsZUNvdW50OworCisgICAgYXR0cmlidXRlIHVuc2lnbmVk
IGxvbmcgc3RvcmFnZU1vZGU7CisKKyAgICBhdHRyaWJ1dGUgdW5zaWduZWQgbG9uZyB1c2FnZTsK
KworfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JDYW52
YXMuY3BwIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckNhbnZhcy5jcHAKaW5k
ZXggN2VjNTc1MTY2NzJmMTNkNzJkYzQ3MzAzMmY0NTMyNmEyMDQzZGU3Yy4uNTVhNTZmNWVlMDQ0
MjVjYjFmZDhiMGM3NjAxNWUwMDkwODg1Yjk3ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
aW5zcGVjdG9yL0luc3BlY3RvckNhbnZhcy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVj
dG9yL0luc3BlY3RvckNhbnZhcy5jcHAKQEAgLTY0LDggKzY0LDggQEAKICNpZiBFTkFCTEUoV0VC
R0wyKQogI2luY2x1ZGUgIldlYkdMMlJlbmRlcmluZ0NvbnRleHQuaCIKICNlbmRpZgotI2lmIEVO
QUJMRShXRUJHUFUpCi0jaW5jbHVkZSAiV2ViR1BVUmVuZGVyaW5nQ29udGV4dC5oIgorI2lmIEVO
QUJMRShXRUJNRVRBTCkKKyNpbmNsdWRlICJXZWJNZXRhbFJlbmRlcmluZ0NvbnRleHQuaCIKICNl
bmRpZgogI2luY2x1ZGUgPEphdmFTY3JpcHRDb3JlL0lkZW50aWZpZXJzRmFjdG9yeS5oPgogI2lu
Y2x1ZGUgPEphdmFTY3JpcHRDb3JlL1NjcmlwdENhbGxTdGFjay5oPgpAQCAtMjMyLDkgKzIzMiw5
IEBAIFJlZjxJbnNwZWN0b3I6OlByb3RvY29sOjpDYW52YXM6OkNhbnZhcz4gSW5zcGVjdG9yQ2Fu
dmFzOjpidWlsZE9iamVjdEZvckNhbnZhcyhJCiAgICAgZWxzZSBpZiAoaXM8V2ViR0wyUmVuZGVy
aW5nQ29udGV4dD4obV9jb250ZXh0KSkKICAgICAgICAgY29udGV4dFR5cGUgPSBJbnNwZWN0b3I6
OlByb3RvY29sOjpDYW52YXM6OkNvbnRleHRUeXBlOjpXZWJHTDI7CiAjZW5kaWYKLSNpZiBFTkFC
TEUoV0VCR1BVKQotICAgIGVsc2UgaWYgKGlzPFdlYkdQVVJlbmRlcmluZ0NvbnRleHQ+KG1fY29u
dGV4dCkpCi0gICAgICAgIGNvbnRleHRUeXBlID0gSW5zcGVjdG9yOjpQcm90b2NvbDo6Q2FudmFz
OjpDb250ZXh0VHlwZTo6V2ViR1BVOworI2lmIEVOQUJMRShXRUJNRVRBTCkKKyAgICBlbHNlIGlm
IChpczxXZWJNZXRhbFJlbmRlcmluZ0NvbnRleHQ+KG1fY29udGV4dCkpCisgICAgICAgIGNvbnRl
eHRUeXBlID0gSW5zcGVjdG9yOjpQcm90b2NvbDo6Q2FudmFzOjpDb250ZXh0VHlwZTo6V2ViTWV0
YWw7CiAjZW5kaWYKICAgICBlbHNlIHsKICAgICAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvYWdlbnRzL0luc3BlY3RvckNhbnZh
c0FnZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9hZ2VudHMvSW5zcGVjdG9yQ2Fu
dmFzQWdlbnQuY3BwCmluZGV4IDE1NDZkNTA4NzFlM2QwNDNlZjM4YTdjYTk0YjY0ODhjOGQ2NmMx
MDIuLjlmMzMzYzY4YjZhMGFjNmQ2MzhiMTE5ODA3N2I0MmU5ZGZlMDFlNDcgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9hZ2VudHMvSW5zcGVjdG9yQ2FudmFzQWdlbnQuY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9hZ2VudHMvSW5zcGVjdG9yQ2FudmFzQWdl
bnQuY3BwCkBAIC01Niw4ICs1Niw4IEBACiAjaW5jbHVkZSAiSlNXZWJHTDJSZW5kZXJpbmdDb250
ZXh0LmgiCiAjZW5kaWYKIAotI2lmIEVOQUJMRShXRUJHUFUpCi0jaW5jbHVkZSAiSlNXZWJHUFVS
ZW5kZXJpbmdDb250ZXh0LmgiCisjaWYgRU5BQkxFKFdFQk1FVEFMKQorI2luY2x1ZGUgIkpTV2Vi
TWV0YWxSZW5kZXJpbmdDb250ZXh0LmgiCiAjZW5kaWYKIAogCkBAIC0xOTksNyArMTk5LDcgQEAg
dm9pZCBJbnNwZWN0b3JDYW52YXNBZ2VudDo6cmVxdWVzdENvbnRlbnQoRXJyb3JTdHJpbmcmIGVy
cm9yU3RyaW5nLCBjb25zdCBTdHJpbmcKICNlbmRpZgogICAgIH0KIAotICAgIC8vIEZJWE1FOiA8
aHR0cHM6Ly93ZWJraXQub3JnL2IvMTczNjIxPiBXZWIgSW5zcGVjdG9yOiBTdXBwb3J0IGdldHRp
bmcgdGhlIGNvbnRlbnQgb2YgV2ViR1BVIGNvbnRleHQ7CisgICAgLy8gRklYTUU6IDxodHRwczov
L3dlYmtpdC5vcmcvYi8xNzM2MjE+IFdlYiBJbnNwZWN0b3I6IFN1cHBvcnQgZ2V0dGluZyB0aGUg
Y29udGVudCBvZiBXZWJNZXRhbCBjb250ZXh0OwogICAgIGVycm9yU3RyaW5nID0gIlVuc3VwcG9y
dGVkIGNhbnZhcyBjb250ZXh0IHR5cGUiX3M7CiB9CiAKQEAgLTIzMCw5ICsyMzAsOSBAQCBzdGF0
aWMgSlNDOjpKU1ZhbHVlIGNvbnRleHRBc1NjcmlwdFZhbHVlKEpTQzo6RXhlY1N0YXRlJiBzdGF0
ZSwgQ2FudmFzUmVuZGVyaW5nQwogICAgIGlmIChpczxXZWJHTDJSZW5kZXJpbmdDb250ZXh0Pihj
b250ZXh0KSkKICAgICAgICAgcmV0dXJuIHRvSlMoJnN0YXRlLCBkZXByZWNhdGVkR2xvYmFsT2Jq
ZWN0Rm9yUHJvdG90eXBlKCZzdGF0ZSksIGRvd25jYXN0PFdlYkdMMlJlbmRlcmluZ0NvbnRleHQ+
KGNvbnRleHQpKTsKICNlbmRpZgotI2lmIEVOQUJMRShXRUJHUFUpCi0gICAgaWYgKGlzPFdlYkdQ
VVJlbmRlcmluZ0NvbnRleHQ+KGNvbnRleHQpKQotICAgICAgICByZXR1cm4gdG9KUygmc3RhdGUs
IGRlcHJlY2F0ZWRHbG9iYWxPYmplY3RGb3JQcm90b3R5cGUoJnN0YXRlKSwgZG93bmNhc3Q8V2Vi
R1BVUmVuZGVyaW5nQ29udGV4dD4oY29udGV4dCkpOworI2lmIEVOQUJMRShXRUJNRVRBTCkKKyAg
ICBpZiAoaXM8V2ViTWV0YWxSZW5kZXJpbmdDb250ZXh0Pihjb250ZXh0KSkKKyAgICAgICAgcmV0
dXJuIHRvSlMoJnN0YXRlLCBkZXByZWNhdGVkR2xvYmFsT2JqZWN0Rm9yUHJvdG90eXBlKCZzdGF0
ZSksIGRvd25jYXN0PFdlYk1ldGFsUmVuZGVyaW5nQ29udGV4dD4oY29udGV4dCkpOwogI2VuZGlm
CiAgICAgaWYgKGlzPEltYWdlQml0bWFwUmVuZGVyaW5nQ29udGV4dD4oY29udGV4dCkpCiAgICAg
ICAgIHJldHVybiB0b0pTKCZzdGF0ZSwgZGVwcmVjYXRlZEdsb2JhbE9iamVjdEZvclByb3RvdHlw
ZSgmc3RhdGUpLCBkb3duY2FzdDxJbWFnZUJpdG1hcFJlbmRlcmluZ0NvbnRleHQ+KGNvbnRleHQp
KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUnVudGltZUVuYWJsZWRGZWF0dXJl
cy5oIGIvU291cmNlL1dlYkNvcmUvcGFnZS9SdW50aW1lRW5hYmxlZEZlYXR1cmVzLmgKaW5kZXgg
NzFlNjJlNWU2NTVjMDM5YzIxYTc5Njk2OWIzNGRlN2RiODkyOWIyMC4uZTNjMDRjZDRmM2IzMmY4
NTc4OTFkZmVmNjJmZGZmNWI1MWIwZjliMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFn
ZS9SdW50aW1lRW5hYmxlZEZlYXR1cmVzLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9SdW50
aW1lRW5hYmxlZEZlYXR1cmVzLmgKQEAgLTI0Nyw5ICsyNDcsOSBAQCBwdWJsaWM6CiAgICAgYm9v
bCB3ZWJHTDJFbmFibGVkKCkgY29uc3QgeyByZXR1cm4gbV9pc1dlYkdMMkVuYWJsZWQ7IH0KICNl
bmRpZgogCi0jaWYgRU5BQkxFKFdFQkdQVSkKLSAgICB2b2lkIHNldFdlYkdQVUVuYWJsZWQoYm9v
bCBpc0VuYWJsZWQpIHsgbV9pc1dlYkdQVUVuYWJsZWQgPSBpc0VuYWJsZWQ7IH0KLSAgICBib29s
IHdlYkdQVUVuYWJsZWQoKSBjb25zdCB7IHJldHVybiBtX2lzV2ViR1BVRW5hYmxlZDsgfQorI2lm
IEVOQUJMRShXRUJNRVRBTCkKKyAgICB2b2lkIHNldFdlYk1ldGFsRW5hYmxlZChib29sIGlzRW5h
YmxlZCkgeyBtX2lzV2ViTWV0YWxFbmFibGVkID0gaXNFbmFibGVkOyB9CisgICAgYm9vbCB3ZWJN
ZXRhbEVuYWJsZWQoKSBjb25zdCB7IHJldHVybiBtX2lzV2ViTWV0YWxFbmFibGVkOyB9CiAjZW5k
aWYKIAogI2lmIEVOQUJMRShTVFJFQU1TX0FQSSkKQEAgLTQwMCw4ICs0MDAsOCBAQCBwcml2YXRl
OgogICAgIGJvb2wgbV9pc1dlYkdMMkVuYWJsZWQgeyBmYWxzZSB9OwogI2VuZGlmCiAKLSNpZiBF
TkFCTEUoV0VCR1BVKQotICAgIGJvb2wgbV9pc1dlYkdQVUVuYWJsZWQgeyBmYWxzZSB9OworI2lm
IEVOQUJMRShXRUJNRVRBTCkKKyAgICBib29sIG1faXNXZWJNZXRhbEVuYWJsZWQgeyBmYWxzZSB9
OwogI2VuZGlmCiAKICNpZiBFTkFCTEUoRE9XTkxPQURfQVRUUklCVVRFKQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vTG9nZ2luZy5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vTG9nZ2luZy5oCmluZGV4IDM5MGUzNzVmN2ZmZDY4ZjRkN2I3NGYwMWY1OWVmMWFmZGNlYzM4
ZjEuLmYxMDU2N2Q2YzI0MmUwZDA5NDJhMjg1ODBjMGIzOTAwMmI0MDIwMGQgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL0xvZ2dpbmcuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9Mb2dnaW5nLmgKQEAgLTk5LDcgKzk5LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewog
ICAgIE0oVmlld3BvcnRzKSBcCiAgICAgTShXZWJBdWRpbykgXAogICAgIE0oV2ViR0wpIFwKLSAg
ICBNKFdlYkdQVSkgXAorICAgIE0oV2ViTWV0YWwpIFwKICAgICBNKFdlYlJUQykgXAogICAgIE0o
V2hlZWxFdmVudFRlc3RUcmlnZ2VycykgXAogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9jYS9jb2NvYS9QbGF0Zm9ybUNBTGF5ZXJDb2NvYS5tbSBiL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NhL2NvY29hL1BsYXRmb3JtQ0FMYXllckNvY29h
Lm1tCmluZGV4IGNlMDJlMDlhMjI1N2E1Y2Q0NzcyMDdhNGE1MmIxODYxYjgyNjMyMmEuLjZiZTFl
Zjc5MzYyMDE1NmI4ZTUxN2VhNDg3OGQzMjgzMGFiOTM3NDAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NhL2NvY29hL1BsYXRmb3JtQ0FMYXllckNvY29hLm1t
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NhL2NvY29hL1BsYXRmb3Jt
Q0FMYXllckNvY29hLm1tCkBAIC00MCw4ICs0MCw4IEBACiAjaW1wb3J0ICJXZWJHTExheWVyLmgi
CiAjaW1wb3J0IDxwYWwvc3BpL2NvY29hL1F1YXJ0ekNvcmVTUEkuaD4KICNpbXBvcnQgPHd0Zi9T
b2Z0TGlua2luZy5oPgotI2lmIEVOQUJMRShXRUJHUFUpCi0jaW1wb3J0ICJXZWJHUFVMYXllci5o
IgorI2lmIEVOQUJMRShXRUJNRVRBTCkKKyNpbXBvcnQgIldlYk1ldGFsTGF5ZXIuaCIKICNlbmRp
ZgogI2ltcG9ydCAiV2ViTGF5ZXIuaCIKICNpbXBvcnQgIldlYlN5c3RlbUJhY2tkcm9wTGF5ZXIu
aCIKQEAgLTIwMyw4ICsyMDMsOCBAQCBQbGF0Zm9ybUNBTGF5ZXI6OkxheWVyVHlwZSBQbGF0Zm9y
bUNBTGF5ZXJDb2NvYTo6bGF5ZXJUeXBlRm9yUGxhdGZvcm1MYXllcihQbGF0ZgogICAgIGlmIChb
bGF5ZXIgaXNLaW5kT2ZDbGFzczpbV2ViR0xMYXllciBjbGFzc11dKQogICAgICAgICByZXR1cm4g
TGF5ZXJUeXBlQ29udGVudHNQcm92aWRlZExheWVyOwogCi0jaWYgRU5BQkxFKFdFQkdQVSkKLSAg
ICBpZiAoW2xheWVyIGlzS2luZE9mQ2xhc3M6W1dlYkdQVUxheWVyIGNsYXNzXV0pCisjaWYgRU5B
QkxFKFdFQk1FVEFMKQorICAgIGlmIChbbGF5ZXIgaXNLaW5kT2ZDbGFzczpbV2ViTWV0YWxMYXll
ciBjbGFzc11dKQogICAgICAgICByZXR1cm4gTGF5ZXJUeXBlQ29udGVudHNQcm92aWRlZExheWVy
OwogI2VuZGlmCiAKQEAgLTI1OSw3ICsyNTksNyBAQCBQbGF0Zm9ybUNBTGF5ZXJDb2NvYTo6UGxh
dGZvcm1DQUxheWVyQ29jb2EoTGF5ZXJUeXBlIGxheWVyVHlwZSwgUGxhdGZvcm1DQUxheWVyQwog
ICAgICAgICBsYXllckNsYXNzID0gZ2V0QVZQbGF5ZXJMYXllckNsYXNzKCk7CiAgICAgICAgIGJy
ZWFrOwogICAgIGNhc2UgTGF5ZXJUeXBlQ29udGVudHNQcm92aWRlZExheWVyOgotICAgICAgICAv
LyBXZSBkb24ndCBjcmVhdGUgUGxhdGZvcm1DQUxheWVyQ29jb2FzIHdyYXBwZWQgYXJvdW5kIFdl
YkdMTGF5ZXJzIG9yIFdlYkdQVUxheWVycy4KKyAgICAgICAgLy8gV2UgZG9uJ3QgY3JlYXRlIFBs
YXRmb3JtQ0FMYXllckNvY29hcyB3cmFwcGVkIGFyb3VuZCBXZWJHTExheWVycyBvciBXZWJNZXRh
bExheWVycy4KICAgICAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CiAgICAgICAgIGJyZWFrOwog
ICAgIGNhc2UgTGF5ZXJUeXBlU2hhcGVMYXllcjoKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL2NvY29hL1dlYkdQVUxheWVyLmggYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9jb2NvYS9XZWJHUFVMYXllci5oCmRlbGV0ZWQgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAzOTM2MmU0ZDAwOGU5MjE4NzIwNjg4Zjc2Nzg4MmU1NTkxY2U2MWI1Li4wMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL2NvY29hL1dlYkdQVUxheWVyLmgKKysrIC9kZXYvbnVsbApAQCAt
MSw1NCArMCwwIEBACi0vKgotICogQ29weXJpZ2h0IChDKSAyMDE3IEFwcGxlIEluYy4gQWxsIHJp
Z2h0cyByZXNlcnZlZC4KLSAqCi0gKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBh
bmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKLSAqIG1vZGlmaWNhdGlvbiwgYXJlIHBl
cm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwotICogYXJlIG1l
dDoKLSAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUg
YWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFu
ZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCi0gKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmlu
YXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNl
LCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGlu
IHRoZQotICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVk
IHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KLSAqCi0gKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVE
IEJZIEFQUExFIElOQy4gYGBBUyBJUycnIEFORCBBTlkKLSAqIEVYUFJFU1MgT1IgSU1QTElFRCBX
QVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCi0gKiBJTVBMSUVE
IFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VM
QVIKLSAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJ
TkMuIE9SCi0gKiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVD
VCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKLSAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBE
QU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKLSAqIFBST0NVUkVNRU5UIE9G
IFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgotICog
UFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04g
QU5ZIFRIRU9SWQotICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1Qg
TElBQklMSVRZLCBPUiBUT1JUCi0gKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNF
KSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKLSAqIE9GIFRISVMgU09GVFdBUkUs
IEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCi0gKi8K
LQotI3ByYWdtYSBvbmNlCi0KLSNpZiBFTkFCTEUoV0VCR1BVKQotCi0jaW1wb3J0IDxNZXRhbC9N
ZXRhbC5oPgotI2ltcG9ydCA8UXVhcnR6Q29yZS9RdWFydHpDb3JlLmg+Ci0KLW5hbWVzcGFjZSBX
ZWJDb3JlIHsKLWNsYXNzIEdQVURldmljZTsKLX0KLQotI2lmICFQTEFURk9STShJT1NfU0lNVUxB
VE9SKQotQGludGVyZmFjZSBXZWJHUFVMYXllciA6IENBTWV0YWxMYXllciB7Ci0jZWxzZQotQGlu
dGVyZmFjZSBXZWJHUFVMYXllciA6IENBTGF5ZXIgeyAvLyBGSVhNRTogV2ViR1BVIC0gRGlzYWJs
ZSBXZWJHUFUgb24gaU9TIHNpbXVsYXRvcj8KLSNlbmRpZgotICAgIFdlYkNvcmU6OkdQVURldmlj
ZSogX2NvbnRleHQ7Ci0gICAgZmxvYXQgX2RldmljZVBpeGVsUmF0aW87Ci19Ci0KLUBwcm9wZXJ0
eSAobm9uYXRvbWljKSBXZWJDb3JlOjpHUFVEZXZpY2UqIGNvbnRleHQ7Ci0KLS0gKGlkKWluaXRX
aXRoR1BVRGV2aWNlOihXZWJDb3JlOjpHUFVEZXZpY2UqKWNvbnRleHQ7Ci0KLS0gKENHSW1hZ2VS
ZWYpY29weUltYWdlU25hcHNob3RXaXRoQ29sb3JTcGFjZTooQ0dDb2xvclNwYWNlUmVmKWNvbG9y
U3BhY2U7Ci0KLUBlbmQKLQotI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9jb2NvYS9XZWJHUFVMYXllci5tbSBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL2NvY29hL1dlYkdQVUxheWVyLm1tCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAyNWVmYjhiNzQ3NjgwMjQ1NThkYmNkZjMwZjc0MzE4NzE0Njk1NWE4Li4wMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL2NvY29hL1dlYkdQVUxheWVyLm1tCisrKyAvZGV2L251bGwKQEAgLTEs
NzQgKzAsMCBAQAotLyoKLSAqIENvcHlyaWdodCAoQykgMjAxNSBBcHBsZSBJbmMuIEFsbCByaWdo
dHMgcmVzZXJ2ZWQuCi0gKgotICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5k
IGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Ci0gKiBtb2RpZmljYXRpb24sIGFyZSBwZXJt
aXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKLSAqIGFyZSBtZXQ6
Ci0gKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFi
b3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQg
dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgotICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFy
eSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwg
dGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0
aGUKLSAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3
aXRoIHRoZSBkaXN0cmlidXRpb24uCi0gKgotICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBC
WSBBUFBMRSBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCi0gKiBFWFBSRVNTIE9SIElNUExJRUQgV0FS
UkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQotICogSU1QTElFRCBX
QVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFS
Ci0gKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5D
LiBPUgotICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1Qs
IElOQ0lERU5UQUwsIFNQRUNJQUwsCi0gKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFN
QUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCi0gKiBQUk9DVVJFTUVOVCBPRiBT
VUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKLSAqIFBS
T0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFO
WSBUSEVPUlkKLSAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJ
QUJJTElUWSwgT1IgVE9SVAotICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkg
QVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCi0gKiBPRiBUSElTIFNPRlRXQVJFLCBF
VkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgotICovCi0K
LSNpbmNsdWRlICJjb25maWcuaCIKLSNpbXBvcnQgIldlYkdQVUxheWVyLmgiCi0KLSNpZiBFTkFC
TEUoV0VCR1BVKQotCi0jaW1wb3J0ICJHUFVEZXZpY2UuaCIKLSNpbXBvcnQgIkdyYXBoaWNzQ29u
dGV4dENHLmgiCi0jaW1wb3J0ICJHcmFwaGljc0xheWVyLmgiCi0jaW1wb3J0IDx3dGYvRmFzdE1h
bGxvYy5oPgotI2ltcG9ydCA8d3RmL1JldGFpblB0ci5oPgotCi1AaW1wbGVtZW50YXRpb24gV2Vi
R1BVTGF5ZXIKLQotQHN5bnRoZXNpemUgY29udGV4dD1fY29udGV4dDsKLQotLSAoaWQpaW5pdFdp
dGhHUFVEZXZpY2U6KFdlYkNvcmU6OkdQVURldmljZSopY29udGV4dAotewotICAgIHNlbGYgPSBb
c3VwZXIgaW5pdF07Ci0gICAgX2NvbnRleHQgPSBjb250ZXh0OwotCi0gICAgLy8gRklYTUU6IFdl
YkdQVSAtIGhhbmRsZSByZXRpbmEgY29ycmVjdGx5LgotICAgIF9kZXZpY2VQaXhlbFJhdGlvID0g
MTsKLQotI2lmIFBMQVRGT1JNKE1BQykKLSAgICBzZWxmLmNvbnRlbnRzU2NhbGUgPSBfZGV2aWNl
UGl4ZWxSYXRpbzsKLSAgICBzZWxmLmNvbG9yc3BhY2UgPSBXZWJDb3JlOjpzUkdCQ29sb3JTcGFj
ZVJlZigpOwotI2VuZGlmCi0gICAgcmV0dXJuIHNlbGY7Ci19Ci0KLS0gKENHSW1hZ2VSZWYpY29w
eUltYWdlU25hcHNob3RXaXRoQ29sb3JTcGFjZTooQ0dDb2xvclNwYWNlUmVmKWNvbG9yU3BhY2UK
LXsKLSAgICBpZiAoIV9jb250ZXh0KQotICAgICAgICByZXR1cm4gbnVsbHB0cjsKLQotICAgIFVO
VVNFRF9QQVJBTShjb2xvclNwYWNlKTsKLSAgICByZXR1cm4gbnVsbHB0cjsKLX0KLQotLSAodm9p
ZClkaXNwbGF5Ci17Ci0gICAgLy8gVGhpcyBpcyBhIG5vLW9wLiBXZSBkb24ndCBuZWVkIHRvCi0g
ICAgLy8gY2FsbCBkaXNwbGF5IC0gaW5zdGVhZCB3ZSBwcmVzZW50Ci0gICAgLy8gYSBkcmF3YWJs
ZSBmcm9tIG91ciBjb250ZXh0LgotfQotCi1AZW5kCi0KLSNlbmRpZgpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY29jb2EvV2ViTWV0YWxMYXllci5oIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY29jb2EvV2ViTWV0YWxMYXllci5oCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjk4MDlhNzdkZjk0NWU0M2E1MDYxODE1ZTkwYjliZGI1ZTU3ZDcxMWUKLS0tIC9kZXYv
bnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jb2NvYS9XZWJNZXRh
bExheWVyLmgKQEAgLTAsMCArMSw1NCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxNyBBcHBs
ZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVz
ZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmlj
YXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlv
bnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVz
dCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2Yg
Y29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmli
dXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQK
KyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcg
ZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVy
aWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FS
RSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCisgKiBFWFBSRVNT
IE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRI
RQorICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBG
T1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQg
U0hBTEwgQVBQTEUgSU5DLiBPUgorICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJ
UkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCisgKiBFWEVNUExBUlksIE9SIENP
TlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBQ
Uk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwg
REFUQSwgT1IKKyAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBD
QVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKKyAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05U
UkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNF
IE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBU
SElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0gg
REFNQUdFLgorICovCisKKyNwcmFnbWEgb25jZQorCisjaWYgRU5BQkxFKFdFQk1FVEFMKQorCisj
aW1wb3J0IDxNZXRhbC9NZXRhbC5oPgorI2ltcG9ydCA8UXVhcnR6Q29yZS9RdWFydHpDb3JlLmg+
CisKK25hbWVzcGFjZSBXZWJDb3JlIHsKK2NsYXNzIEdQVURldmljZTsKK30KKworI2lmICFQTEFU
Rk9STShJT1NfU0lNVUxBVE9SKQorQGludGVyZmFjZSBXZWJNZXRhbExheWVyIDogQ0FNZXRhbExh
eWVyIHsKKyNlbHNlCitAaW50ZXJmYWNlIFdlYk1ldGFsTGF5ZXIgOiBDQUxheWVyIHsgLy8gRklY
TUU6IFdlYk1ldGFsIC0gRGlzYWJsZSBXZWJNZXRhbCBvbiBpT1Mgc2ltdWxhdG9yPworI2VuZGlm
CisgICAgV2ViQ29yZTo6R1BVRGV2aWNlKiBfY29udGV4dDsKKyAgICBmbG9hdCBfZGV2aWNlUGl4
ZWxSYXRpbzsKK30KKworQHByb3BlcnR5IChub25hdG9taWMpIFdlYkNvcmU6OkdQVURldmljZSog
Y29udGV4dDsKKworLSAoaWQpaW5pdFdpdGhHUFVEZXZpY2U6KFdlYkNvcmU6OkdQVURldmljZSop
Y29udGV4dDsKKworLSAoQ0dJbWFnZVJlZiljb3B5SW1hZ2VTbmFwc2hvdFdpdGhDb2xvclNwYWNl
OihDR0NvbG9yU3BhY2VSZWYpY29sb3JTcGFjZTsKKworQGVuZAorCisjZW5kaWYKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NvY29hL1dlYk1ldGFsTGF5ZXIu
bW0gYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jb2NvYS9XZWJNZXRhbExheWVy
Lm1tCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjkxYzAyMzM1NzM3Njg0MDEzMjFjZDM4ZGNhODk2Njc5N2UzZmFkYzQK
LS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jb2Nv
YS9XZWJNZXRhbExheWVyLm1tCkBAIC0wLDAgKzEsNzQgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMp
IDIwMTUgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0
aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAor
ICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2lu
ZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJj
ZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhp
cyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIu
IFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUg
Y29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUg
Zm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBv
dGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRI
SVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBgYEFTIElTJycgQU5EIEFOWQor
ICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1J
VEVEIFRPLCBUSEUKKyAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5E
IEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElO
IE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IKKyAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUg
Rk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAorICogRVhFTVBM
QVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVE
IFRPLAorICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9T
UyBPRiBVU0UsIERBVEEsIE9SCisgKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04p
IEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCisgKiBPRiBMSUFCSUxJVFksIFdIRVRI
RVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcg
TkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVT
RQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElU
WSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgiCisjaW1wb3J0ICJX
ZWJNZXRhbExheWVyLmgiCisKKyNpZiBFTkFCTEUoV0VCTUVUQUwpCisKKyNpbXBvcnQgIkdQVURl
dmljZS5oIgorI2ltcG9ydCAiR3JhcGhpY3NDb250ZXh0Q0cuaCIKKyNpbXBvcnQgIkdyYXBoaWNz
TGF5ZXIuaCIKKyNpbXBvcnQgPHd0Zi9GYXN0TWFsbG9jLmg+CisjaW1wb3J0IDx3dGYvUmV0YWlu
UHRyLmg+CisKK0BpbXBsZW1lbnRhdGlvbiBXZWJNZXRhbExheWVyCisKK0BzeW50aGVzaXplIGNv
bnRleHQ9X2NvbnRleHQ7CisKKy0gKGlkKWluaXRXaXRoR1BVRGV2aWNlOihXZWJDb3JlOjpHUFVE
ZXZpY2UqKWNvbnRleHQKK3sKKyAgICBzZWxmID0gW3N1cGVyIGluaXRdOworICAgIF9jb250ZXh0
ID0gY29udGV4dDsKKworICAgIC8vIEZJWE1FOiBXZWJNZXRhbCAtIGhhbmRsZSByZXRpbmEgY29y
cmVjdGx5LgorICAgIF9kZXZpY2VQaXhlbFJhdGlvID0gMTsKKworI2lmIFBMQVRGT1JNKE1BQykK
KyAgICBzZWxmLmNvbnRlbnRzU2NhbGUgPSBfZGV2aWNlUGl4ZWxSYXRpbzsKKyAgICBzZWxmLmNv
bG9yc3BhY2UgPSBXZWJDb3JlOjpzUkdCQ29sb3JTcGFjZVJlZigpOworI2VuZGlmCisgICAgcmV0
dXJuIHNlbGY7Cit9CisKKy0gKENHSW1hZ2VSZWYpY29weUltYWdlU25hcHNob3RXaXRoQ29sb3JT
cGFjZTooQ0dDb2xvclNwYWNlUmVmKWNvbG9yU3BhY2UKK3sKKyAgICBpZiAoIV9jb250ZXh0KQor
ICAgICAgICByZXR1cm4gbnVsbHB0cjsKKworICAgIFVOVVNFRF9QQVJBTShjb2xvclNwYWNlKTsK
KyAgICByZXR1cm4gbnVsbHB0cjsKK30KKworLSAodm9pZClkaXNwbGF5Cit7CisgICAgLy8gVGhp
cyBpcyBhIG5vLW9wLiBXZSBkb24ndCBuZWVkIHRvCisgICAgLy8gY2FsbCBkaXNwbGF5IC0gaW5z
dGVhZCB3ZSBwcmVzZW50CisgICAgLy8gYSBkcmF3YWJsZSBmcm9tIG91ciBjb250ZXh0LgorfQor
CitAZW5kCisKKyNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvZ3B1L0dQVUJ1ZmZlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9ncHUvR1BVQnVmZmVyLmNwcAppbmRleCAwMWIxZWU3MzU0M2EwMzYwNDI2ZWIwMjEwOTI0OGMx
ODM2ZGEwNDg2Li42NTgxMGI2NjJmNzg0MWQ3YmM1NDE1MmQwN2JlM2Q3ZmQxZWU5Y2IxIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9ncHUvR1BVQnVmZmVyLmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9ncHUvR1BVQnVmZmVyLmNw
cApAQCAtMjYsNyArMjYsNyBAQAogI2luY2x1ZGUgImNvbmZpZy5oIgogI2luY2x1ZGUgIkdQVUJ1
ZmZlci5oIgogCi0jaWYgRU5BQkxFKFdFQkdQVSkKKyNpZiBFTkFCTEUoV0VCTUVUQUwpCiAKICNp
bmNsdWRlICJMb2dnaW5nLmgiCiAjaW5jbHVkZSA8SmF2YVNjcmlwdENvcmUvQXJyYXlCdWZmZXIu
aD4KQEAgLTM1LDcgKzM1LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogCiBHUFVCdWZmZXI6On5H
UFVCdWZmZXIoKQogewotICAgIExPRyhXZWJHUFUsICJHUFVCdWZmZXI6On5HUFVCdWZmZXIoKSIp
OworICAgIExPRyhXZWJNZXRhbCwgIkdQVUJ1ZmZlcjo6fkdQVUJ1ZmZlcigpIik7CiB9CiAKIHVu
c2lnbmVkIEdQVUJ1ZmZlcjo6bGVuZ3RoKCkgY29uc3QKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dwdS9HUFVCdWZmZXIuaCBiL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL2dwdS9HUFVCdWZmZXIuaAppbmRleCBiNTcyMTMzY2EyODhlYjA4NWQ5
MzljYjUwNzk4Y2VlODI3MDQxMTYyLi5lODJlNjk0YTIxOTcyNjcyMjlhYjcyYTdmMGQ2M2M3MGVk
MzhhZTFkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9ncHUv
R1BVQnVmZmVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L0dQ
VUJ1ZmZlci5oCkBAIC0yNSw3ICsyNSw3IEBACiAKICNwcmFnbWEgb25jZQogCi0jaWYgRU5BQkxF
KFdFQkdQVSkKKyNpZiBFTkFCTEUoV0VCTUVUQUwpCiAKICNpbmNsdWRlIDx3dGYvUmVmUHRyLmg+
CiAjaW5jbHVkZSA8d3RmL1JldGFpblB0ci5oPgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L0dQVUNvbW1hbmRCdWZmZXIuY3BwIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L0dQVUNvbW1hbmRCdWZmZXIuY3BwCmluZGV4IDI4MmM4
MjkwODMzMzg1ZWFmN2ZhYzJlZmNhODNhNmY3ZTE3Y2RiMjkuLjAyMWRmYjJjNWM2ODNhZWVkZDYy
M2M5MTFiZWNkMGMzOGMwYThkOWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL2dwdS9HUFVDb21tYW5kQnVmZmVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9ncHUvR1BVQ29tbWFuZEJ1ZmZlci5jcHAKQEAgLTI3LDcgKzI3LDcg
QEAKICNpbmNsdWRlICJjb25maWcuaCIKICNpbmNsdWRlICJHUFVDb21tYW5kQnVmZmVyLmgiCiAK
LSNpZiBFTkFCTEUoV0VCR1BVKQorI2lmIEVOQUJMRShXRUJNRVRBTCkKIAogI2luY2x1ZGUgIkxv
Z2dpbmcuaCIKIApAQCAtMzUsNyArMzUsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIEdQVUNv
bW1hbmRCdWZmZXI6On5HUFVDb21tYW5kQnVmZmVyKCkKIHsKLSAgICBMT0coV2ViR1BVLCAiR1BV
Q29tbWFuZEJ1ZmZlcjo6fkdQVUNvbW1hbmRCdWZmZXIoKSIpOworICAgIExPRyhXZWJNZXRhbCwg
IkdQVUNvbW1hbmRCdWZmZXI6On5HUFVDb21tYW5kQnVmZmVyKCkiKTsKIH0KIAogfSAvLyBuYW1l
c3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvZ3B1L0dQVUNvbW1hbmRCdWZmZXIuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL2dwdS9HUFVDb21tYW5kQnVmZmVyLmgKaW5kZXggNDU2Y2Y0ODk5Y2NkZDRkYWJjYzc5ZTE2
MjIzMDk4NjgwMTZmYmE2NS4uY2JlNjU5ZmRmYmNjNzA3NDA5NjUyZWE2MmNjY2I5ZDM2MGJmOTIw
OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L0dQVUNv
bW1hbmRCdWZmZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9ncHUv
R1BVQ29tbWFuZEJ1ZmZlci5oCkBAIC0yNiw3ICsyNiw3IEBACiAKICNwcmFnbWEgb25jZQogCi0j
aWYgRU5BQkxFKFdFQkdQVSkKKyNpZiBFTkFCTEUoV0VCTUVUQUwpCiAKICNpbmNsdWRlIDx3dGYv
RnVuY3Rpb24uaD4KICNpbmNsdWRlIDx3dGYvUmV0YWluUHRyLmg+CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9ncHUvR1BVQ29tbWFuZFF1ZXVlLmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dwdS9HUFVDb21tYW5kUXVldWUuY3BwCmlu
ZGV4IDgyMjJhY2U4OGM1NGFiYmI4MWU4YTQyY2Y3NzQwOTNjMGIwYmFmNjkuLmRkZTE0OGVlYmYw
Y2IwZWE4NmZmNmQ5MDVjYjQxOGJiOGZkNWQ2M2YgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL2dwdS9HUFVDb21tYW5kUXVldWUuY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dwdS9HUFVDb21tYW5kUXVldWUuY3BwCkBAIC0yNiw3
ICsyNiw3IEBACiAjaW5jbHVkZSAiY29uZmlnLmgiCiAjaW5jbHVkZSAiR1BVQ29tbWFuZFF1ZXVl
LmgiCiAKLSNpZiBFTkFCTEUoV0VCR1BVKQorI2lmIEVOQUJMRShXRUJNRVRBTCkKIAogI2luY2x1
ZGUgIkxvZ2dpbmcuaCIKIApAQCAtMzQsNyArMzQsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAK
IEdQVUNvbW1hbmRRdWV1ZTo6fkdQVUNvbW1hbmRRdWV1ZSgpCiB7Ci0gICAgTE9HKFdlYkdQVSwg
IkdQVUNvbW1hbmRRdWV1ZTo6fkdQVUNvbW1hbmRRdWV1ZSgpIik7CisgICAgTE9HKFdlYk1ldGFs
LCAiR1BVQ29tbWFuZFF1ZXVlOjp+R1BVQ29tbWFuZFF1ZXVlKCkiKTsKIH0KIAogfSAvLyBuYW1l
c3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvZ3B1L0dQVUNvbW1hbmRRdWV1ZS5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvZ3B1L0dQVUNvbW1hbmRRdWV1ZS5oCmluZGV4IGUzZDFlNGM4NWIxYWFjN2MwMzE3YWRhM2Uz
YWViNDU1OGRlMTdkNzEuLjlmZDk2YjY4NTBlYWI3NDRiYTdmNGM0MTNkYzlhYmJiMmRjMTc1MTkg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dwdS9HUFVDb21t
YW5kUXVldWUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9ncHUvR1BV
Q29tbWFuZFF1ZXVlLmgKQEAgLTI1LDcgKzI1LDcgQEAKIAogI3ByYWdtYSBvbmNlCiAKLSNpZiBF
TkFCTEUoV0VCR1BVKQorI2lmIEVOQUJMRShXRUJNRVRBTCkKIAogI2luY2x1ZGUgPHd0Zi9SZXRh
aW5QdHIuaD4KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
Z3B1L0dQVUNvbXB1dGVDb21tYW5kRW5jb2Rlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9ncHUvR1BVQ29tcHV0ZUNvbW1hbmRFbmNvZGVyLmNwcAppbmRleCBjMWI4MzUz
NjIwNTE1ODVjYzUwNDg1OGQxOWRmYjkxZjA0MGNkMjQ2Li5hNTE2ZWM0NzE2MzVkZGZmZDQ1ZGYy
NzFlYTc3NTVjZjlmYTQxMzFjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9ncHUvR1BVQ29tcHV0ZUNvbW1hbmRFbmNvZGVyLmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9ncHUvR1BVQ29tcHV0ZUNvbW1hbmRFbmNvZGVyLmNwcApA
QCAtMjYsNyArMjYsNyBAQAogI2luY2x1ZGUgImNvbmZpZy5oIgogI2luY2x1ZGUgIkdQVUNvbXB1
dGVDb21tYW5kRW5jb2Rlci5oIgogCi0jaWYgRU5BQkxFKFdFQkdQVSkKKyNpZiBFTkFCTEUoV0VC
TUVUQUwpCiAKICNpbmNsdWRlICJMb2dnaW5nLmgiCiAKQEAgLTM0LDcgKzM0LDcgQEAgbmFtZXNw
YWNlIFdlYkNvcmUgewogICAgIAogR1BVQ29tcHV0ZUNvbW1hbmRFbmNvZGVyOjp+R1BVQ29tcHV0
ZUNvbW1hbmRFbmNvZGVyKCkKIHsKLSAgICBMT0coV2ViR1BVLCAiR1BVQ29tcHV0ZUNvbW1hbmRF
bmNvZGVyOjp+R1BVQ29tcHV0ZUNvbW1hbmRFbmNvZGVyKCkiKTsKKyAgICBMT0coV2ViTWV0YWws
ICJHUFVDb21wdXRlQ29tbWFuZEVuY29kZXI6On5HUFVDb21wdXRlQ29tbWFuZEVuY29kZXIoKSIp
OwogfQogICAgIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L0dQVUNvbXB1dGVDb21tYW5kRW5jb2Rlci5oIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L0dQVUNvbXB1dGVDb21tYW5kRW5j
b2Rlci5oCmluZGV4IGNmMTY3YzM0YTZjMzZjYzQxMmIyMDFmNTdlMTBhZDdhYzc2MmNlYWUuLjcx
MDdlMzA4ZjNkOTUxZGEwZTYzMTg4YWRhZjQ4ODFiYTVmNGIxMDEgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dwdS9HUFVDb21wdXRlQ29tbWFuZEVuY29kZXIu
aAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9ncHUvR1BVQ29tcHV0ZUNv
bW1hbmRFbmNvZGVyLmgKQEAgLTI1LDcgKzI1LDcgQEAKIAogI3ByYWdtYSBvbmNlCiAKLSNpZiBF
TkFCTEUoV0VCR1BVKQorI2lmIEVOQUJMRShXRUJNRVRBTCkKIAogI2luY2x1ZGUgPHd0Zi9SZXRh
aW5QdHIuaD4KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
Z3B1L0dQVUNvbXB1dGVQaXBlbGluZVN0YXRlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL2dwdS9HUFVDb21wdXRlUGlwZWxpbmVTdGF0ZS5jcHAKaW5kZXggYzE1ODI5YTk0
YWI0MDIzYmNmYTcxN2YyOWNmMmIyOWQ0YzI0NjZlZC4uNGJiNjY3MjNiODNiMjI2Y2NlZmRlZWQ2
YTc4ODIzZDVhMjFiMDVkMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvZ3B1L0dQVUNvbXB1dGVQaXBlbGluZVN0YXRlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9ncHUvR1BVQ29tcHV0ZVBpcGVsaW5lU3RhdGUuY3BwCkBAIC0y
Niw3ICsyNiw3IEBACiAjaW5jbHVkZSAiY29uZmlnLmgiCiAjaW5jbHVkZSAiR1BVQ29tcHV0ZVBp
cGVsaW5lU3RhdGUuaCIKIAotI2lmIEVOQUJMRShXRUJHUFUpCisjaWYgRU5BQkxFKFdFQk1FVEFM
KQogCiAjaW5jbHVkZSAiTG9nZ2luZy5oIgogCkBAIC0zNCw3ICszNCw3IEBAIG5hbWVzcGFjZSBX
ZWJDb3JlIHsKICAgICAKIEdQVUNvbXB1dGVQaXBlbGluZVN0YXRlOjp+R1BVQ29tcHV0ZVBpcGVs
aW5lU3RhdGUoKQogewotICAgIExPRyhXZWJHUFUsICJHUFVDb21wdXRlUGlwZWxpbmVTdGF0ZTo6
fkdQVUNvbXB1dGVQaXBlbGluZVN0YXRlKCkiKTsKKyAgICBMT0coV2ViTWV0YWwsICJHUFVDb21w
dXRlUGlwZWxpbmVTdGF0ZTo6fkdQVUNvbXB1dGVQaXBlbGluZVN0YXRlKCkiKTsKIH0KIAogfSAv
LyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvZ3B1L0dQVUNvbXB1dGVQaXBlbGluZVN0YXRlLmggYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9ncHUvR1BVQ29tcHV0ZVBpcGVsaW5lU3RhdGUuaAppbmRleCAxMGUw
YjRkNzZlZDI0ZWFmNTNlNDI4ZWIyZGJiNDg4NDU1Njg2YzgwLi43OTc0YzUxODI0YjQxNDdhNmQ1
YTNiNWE3ODIxNzkwNGVjNWYyNzQ4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9ncHUvR1BVQ29tcHV0ZVBpcGVsaW5lU3RhdGUuaAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9ncHUvR1BVQ29tcHV0ZVBpcGVsaW5lU3RhdGUuaApAQCAt
MjUsNyArMjUsNyBAQAogCiAjcHJhZ21hIG9uY2UKIAotI2lmIEVOQUJMRShXRUJHUFUpCisjaWYg
RU5BQkxFKFdFQk1FVEFMKQogCiAjaW5jbHVkZSA8d3RmL1JldGFpblB0ci5oPgogCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9ncHUvR1BVRGVwdGhTdGVuY2ls
RGVzY3JpcHRvci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9ncHUvR1BV
RGVwdGhTdGVuY2lsRGVzY3JpcHRvci5jcHAKaW5kZXggODUyNTQ2OGYyYWU2ZTA3NDkxZmU5ZTRj
YjE2MTUyNTIwZjEzZTcyOS4uNjI4YjIwNDU1ZGE5N2I2Y2FiMmYwMDY4YTBlMGU4NTRjNDdmMGI0
YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L0dQVURl
cHRoU3RlbmNpbERlc2NyaXB0b3IuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL2dwdS9HUFVEZXB0aFN0ZW5jaWxEZXNjcmlwdG9yLmNwcApAQCAtMjYsNyArMjYsNyBA
QAogI2luY2x1ZGUgImNvbmZpZy5oIgogI2luY2x1ZGUgIkdQVURlcHRoU3RlbmNpbERlc2NyaXB0
b3IuaCIKIAotI2lmIEVOQUJMRShXRUJHUFUpCisjaWYgRU5BQkxFKFdFQk1FVEFMKQogCiAjaW5j
bHVkZSAiTG9nZ2luZy5oIgogCkBAIC0zNCw3ICszNCw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsK
IAogR1BVRGVwdGhTdGVuY2lsRGVzY3JpcHRvcjo6fkdQVURlcHRoU3RlbmNpbERlc2NyaXB0b3Io
KQogewotICAgIExPRyhXZWJHUFUsICJHUFVEZXB0aFN0ZW5jaWxEZXNjcmlwdG9yOjp+R1BVRGVw
dGhTdGVuY2lsRGVzY3JpcHRvcigpIik7CisgICAgTE9HKFdlYk1ldGFsLCAiR1BVRGVwdGhTdGVu
Y2lsRGVzY3JpcHRvcjo6fkdQVURlcHRoU3RlbmNpbERlc2NyaXB0b3IoKSIpOwogfQogCiB9IC8v
IG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9ncHUvR1BVRGVwdGhTdGVuY2lsRGVzY3JpcHRvci5oIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L0dQVURlcHRoU3RlbmNpbERlc2NyaXB0b3IuaAppbmRleCAw
NTc5YTY2YjgxYzY5YzRkZGEyOTc1ZTdiYmE3ZmExOGFmM2Q1MmM5Li5jZmEwMTk5ZTY0MTYxYzkz
MzViODYwODgzNGNiOGE4MjliYTE1NGZlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9ncHUvR1BVRGVwdGhTdGVuY2lsRGVzY3JpcHRvci5oCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dwdS9HUFVEZXB0aFN0ZW5jaWxEZXNjcmlwdG9y
LmgKQEAgLTI1LDcgKzI1LDcgQEAKIAogI3ByYWdtYSBvbmNlCiAKLSNpZiBFTkFCTEUoV0VCR1BV
KQorI2lmIEVOQUJMRShXRUJNRVRBTCkKIAogI2luY2x1ZGUgPHd0Zi9SZXRhaW5QdHIuaD4KIApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L0dQVURlcHRo
U3RlbmNpbFN0YXRlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dwdS9H
UFVEZXB0aFN0ZW5jaWxTdGF0ZS5jcHAKaW5kZXggNTcxZWRhZWIxZDczZjUwNjdkYTY1NjZjNDJl
NTg4N2U3YWJmMTg4Yi4uNmMwMGY5Nzg1NTlmMmI0OTU1NmFjZDQ0ZmYwZWUwNjJhODJjNGUwMyAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L0dQVURlcHRo
U3RlbmNpbFN0YXRlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9n
cHUvR1BVRGVwdGhTdGVuY2lsU3RhdGUuY3BwCkBAIC0yNiw3ICsyNiw3IEBACiAjaW5jbHVkZSAi
Y29uZmlnLmgiCiAjaW5jbHVkZSAiR1BVRGVwdGhTdGVuY2lsU3RhdGUuaCIKIAotI2lmIEVOQUJM
RShXRUJHUFUpCisjaWYgRU5BQkxFKFdFQk1FVEFMKQogCiAjaW5jbHVkZSAiTG9nZ2luZy5oIgog
CkBAIC0zNCw3ICszNCw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogR1BVRGVwdGhTdGVuY2ls
U3RhdGU6On5HUFVEZXB0aFN0ZW5jaWxTdGF0ZSgpCiB7Ci0gICAgTE9HKFdlYkdQVSwgIkdQVURl
cHRoU3RlbmNpbFN0YXRlOjp+R1BVRGVwdGhTdGVuY2lsU3RhdGUoKSIpOworICAgIExPRyhXZWJN
ZXRhbCwgIkdQVURlcHRoU3RlbmNpbFN0YXRlOjp+R1BVRGVwdGhTdGVuY2lsU3RhdGUoKSIpOwog
fQogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9ncHUvR1BVRGVwdGhTdGVuY2lsU3RhdGUuaCBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dwdS9HUFVEZXB0aFN0ZW5jaWxTdGF0ZS5oCmluZGV4IDNm
NTczMjM0OGJiZmM1ZDM3MThiZjdiOGFlZjFiOTFiOWRjNTJhOWMuLmQ1YmYzZTMyMmI3MjAxNGEz
MDU4MDE4NzE3N2YzMzhmMmQxNzQyNTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL2dwdS9HUFVEZXB0aFN0ZW5jaWxTdGF0ZS5oCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dwdS9HUFVEZXB0aFN0ZW5jaWxTdGF0ZS5oCkBAIC0yNSw3
ICsyNSw3IEBACiAKICNwcmFnbWEgb25jZQogCi0jaWYgRU5BQkxFKFdFQkdQVSkKKyNpZiBFTkFC
TEUoV0VCTUVUQUwpCiAKICNpbmNsdWRlIDx3dGYvRm9yd2FyZC5oPgogI2luY2x1ZGUgPHd0Zi9S
ZXRhaW5QdHIuaD4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L2dwdS9HUFVEZXZpY2UuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1
L0dQVURldmljZS5jcHAKaW5kZXggNTQ0OGZiY2MzZDg0NWFmOGJiZTZmMzZhYjI1ODkxMjBiZjlk
ZTJlZC4uN2RmYjU1MTZhNDZiZDgyZDAyOTg3NzA1MDUyNzdjYzIwNTg1ZDQ5NyAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L0dQVURldmljZS5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L0dQVURldmljZS5jcHAKQEAg
LTI2LDcgKzI2LDcgQEAKICNpbmNsdWRlICJjb25maWcuaCIKICNpbmNsdWRlICJHUFVEZXZpY2Uu
aCIKIAotI2lmIEVOQUJMRShXRUJHUFUpCisjaWYgRU5BQkxFKFdFQk1FVEFMKQogCiAjaW5jbHVk
ZSAiTG9nZ2luZy5oIgogCkBAIC0zNCw3ICszNCw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAog
R1BVRGV2aWNlOjp+R1BVRGV2aWNlKCkKIHsKLSAgICBMT0coV2ViR1BVLCAiR1BVRGV2aWNlOjp+
R1BVRGV2aWNlKCkiKTsKKyAgICBMT0coV2ViTWV0YWwsICJHUFVEZXZpY2U6On5HUFVEZXZpY2Uo
KSIpOwogICAgIGRpc2Nvbm5lY3QoKTsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L0dQVURldmljZS5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvZ3B1L0dQVURldmljZS5oCmluZGV4IGQ5ODcwZjkyOThjM2JkNmVjN2M1ZTIx
MDgwOTI3ZmYxZWU2ZTAwNTkuLjQzMmZlMWEzZTg3ZGIyN2M3ZmYyOTFlMjgwZjM0MzFiZTk4MTU5
NjMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dwdS9HUFVE
ZXZpY2UuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9ncHUvR1BVRGV2
aWNlLmgKQEAgLTI1LDEyICsyNSwxMiBAQAogCiAjcHJhZ21hIG9uY2UKIAotI2lmIEVOQUJMRShX
RUJHUFUpCisjaWYgRU5BQkxFKFdFQk1FVEFMKQogCiAjaW5jbHVkZSA8d3RmL1JldGFpblB0ci5o
PgogCiBPQkpDX0NMQVNTIENBTGF5ZXI7Ci1PQkpDX0NMQVNTIFdlYkdQVUxheWVyOworT0JKQ19D
TEFTUyBXZWJNZXRhbExheWVyOwogCiBPQkpDX1BST1RPQ09MKE1UTERldmljZSk7CiAKQEAgLTQ2
LDcgKzQ2LDcgQEAgcHVibGljOgogICAgIHZvaWQgcmVzaGFwZShpbnQgd2lkdGgsIGludCBoZWln
aHQpIGNvbnN0OwogCiAjaWYgVVNFKE1FVEFMKQotICAgIFdlYkdQVUxheWVyICpsYXllcigpIGNv
bnN0IHsgcmV0dXJuIG1fbGF5ZXIuZ2V0KCk7IH0KKyAgICBXZWJNZXRhbExheWVyICpsYXllcigp
IGNvbnN0IHsgcmV0dXJuIG1fbGF5ZXIuZ2V0KCk7IH0KICAgICBXRUJDT1JFX0VYUE9SVCBDQUxh
eWVyICpwbGF0Zm9ybUxheWVyKCkgY29uc3Q7CiAgICAgTVRMRGV2aWNlICptZXRhbCgpIGNvbnN0
IHsgcmV0dXJuIG1fbWV0YWwuZ2V0KCk7IH0KICNlbmRpZgpAQCAtNTcsNyArNTcsNyBAQCBwcml2
YXRlOgogICAgIHZvaWQgZGlzY29ubmVjdCgpOwogCiAjaWYgVVNFKE1FVEFMKQotICAgIFJldGFp
blB0cjxXZWJHUFVMYXllcj4gbV9sYXllcjsKKyAgICBSZXRhaW5QdHI8V2ViTWV0YWxMYXllcj4g
bV9sYXllcjsKICAgICBSZXRhaW5QdHI8TVRMRGV2aWNlPiBtX21ldGFsOwogI2VuZGlmCiB9Owpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L0dQVURyYXdh
YmxlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dwdS9HUFVEcmF3YWJs
ZS5jcHAKaW5kZXggOGQ4ZWE0YzNjZmZlYjFkNzg4MDM1NTE0YTFlNzJjZWM4MTI3MzhiNy4uNzJm
YTc1MGFiZjE5MzEwYmRhZjVlYmU0ZTRkZjIyNmEyM2UyNjZmZiAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L0dQVURyYXdhYmxlLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9ncHUvR1BVRHJhd2FibGUuY3BwCkBAIC0yNiw3
ICsyNiw3IEBACiAjaW5jbHVkZSAiY29uZmlnLmgiCiAjaW5jbHVkZSAiR1BVRHJhd2FibGUuaCIK
IAotI2lmIEVOQUJMRShXRUJHUFUpCisjaWYgRU5BQkxFKFdFQk1FVEFMKQogCiAjaW5jbHVkZSAi
TG9nZ2luZy5oIgogCkBAIC0zNCw3ICszNCw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogR1BV
RHJhd2FibGU6On5HUFVEcmF3YWJsZSgpCiB7Ci0gICAgTE9HKFdlYkdQVSwgIkdQVURyYXdhYmxl
Ojp+R1BVRHJhd2FibGUoKSIpOworICAgIExPRyhXZWJNZXRhbCwgIkdQVURyYXdhYmxlOjp+R1BV
RHJhd2FibGUoKSIpOwogfQogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9ncHUvR1BVRHJhd2FibGUuaCBiL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dwdS9HUFVEcmF3YWJsZS5oCmluZGV4IDZmNDMy
OTIzM2Y3MjRlNjcyNzE0NmM5NWE3ZmM5NDkwN2Y5ZGQ1MzIuLmI2Nzk4Y2VkYmI0YTkyMjhjMzZi
MzRmZDcyMGVjNzk4Nzc5MWNlYjUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL2dwdS9HUFVEcmF3YWJsZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL2dwdS9HUFVEcmF3YWJsZS5oCkBAIC0yNSw3ICsyNSw3IEBACiAKICNwcmFnbWEg
b25jZQogCi0jaWYgRU5BQkxFKFdFQkdQVSkKKyNpZiBFTkFCTEUoV0VCTUVUQUwpCiAKICNpbmNs
dWRlIDx3dGYvUmV0YWluUHRyLmg+CiAKQEAgLTQ2LDcgKzQ2LDcgQEAgcHVibGljOgogI2lmIFVT
RShNRVRBTCkKICAgICBNVExEcmF3YWJsZSAqbWV0YWwoKSBjb25zdDsKIAotICAgIC8vIEZJWE1F
OiBXZWJHUFUgLSBub3QgYWxsIGRyYXdhYmxlcyBzaG91bGQgaGF2ZSB0aGlzLiBPbmx5IHRoZSBm
cmFtZWJ1ZmZlci4KKyAgICAvLyBGSVhNRTogV2ViTWV0YWwgLSBub3QgYWxsIGRyYXdhYmxlcyBz
aG91bGQgaGF2ZSB0aGlzLiBPbmx5IHRoZSBmcmFtZWJ1ZmZlci4KICAgICBNVExUZXh0dXJlICp0
ZXh0dXJlKCkgY29uc3Q7CiAjZW5kaWYKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvZ3B1L0dQVUVudW1zLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9ncHUvR1BVRW51bXMuaAppbmRleCA2ZGVmNjBhYTMxZjc3MTQ1NzFiOGNmMDZlOTIz
MTVkZGNiZjI3YTE4Li4xMjRmZjQzZGE2MzI2OWEzYTI3NWJiM2YyMDE1NTJmZWM3NDkwYjlhIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9ncHUvR1BVRW51bXMu
aAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9ncHUvR1BVRW51bXMuaApA
QCAtMjUsNyArMjUsNyBAQAogCiAjcHJhZ21hIG9uY2UKIAotI2lmIEVOQUJMRShXRUJHUFUpCisj
aWYgRU5BQkxFKFdFQk1FVEFMKQogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dwdS9HUFVGdW5jdGlvbi5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9ncHUvR1BVRnVuY3Rpb24uY3BwCmluZGV4
IDBkMGIzOTk0NTBjYjdiYTA5YmYyNmQ3MDg3MmY5M2ZkZTcyMjViZTguLjljODA3Nzc0MzMzM2Zj
OGRiZTg2MDA1OGI0YzQyOGFkZDQ1MGY3N2EgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL2dwdS9HUFVGdW5jdGlvbi5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L0dQVUZ1bmN0aW9uLmNwcApAQCAtMjYsNyArMjYsNyBAQAog
I2luY2x1ZGUgImNvbmZpZy5oIgogI2luY2x1ZGUgIkdQVUZ1bmN0aW9uLmgiCiAKLSNpZiBFTkFC
TEUoV0VCR1BVKQorI2lmIEVOQUJMRShXRUJNRVRBTCkKIAogI2luY2x1ZGUgIkxvZ2dpbmcuaCIK
IApAQCAtMzQsNyArMzQsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIEdQVUZ1bmN0aW9uOjp+
R1BVRnVuY3Rpb24oKQogewotICAgIExPRyhXZWJHUFUsICJHUFVGdW5jdGlvbjo6fkdQVUZ1bmN0
aW9uKCkiKTsKKyAgICBMT0coV2ViTWV0YWwsICJHUFVGdW5jdGlvbjo6fkdQVUZ1bmN0aW9uKCki
KTsKIH0KIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L0dQVUZ1bmN0aW9uLmggYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9ncHUvR1BVRnVuY3Rpb24uaAppbmRleCA5NmZhNDkyZTE4MmExYmUz
Y2FiNzg1ZWM0MDkyMTZjMzY4YTQ2NDc1Li5kNDYwNDAyMGI3OWQ4YTc5YmI5NjBlNzQxMDU4ZWUx
ZDM4YTMyYzNmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9n
cHUvR1BVRnVuY3Rpb24uaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9n
cHUvR1BVRnVuY3Rpb24uaApAQCAtMjUsNyArMjUsNyBAQAogCiAjcHJhZ21hIG9uY2UKIAotI2lm
IEVOQUJMRShXRUJHUFUpCisjaWYgRU5BQkxFKFdFQk1FVEFMKQogCiAjaW5jbHVkZSA8d3RmL1Jl
dGFpblB0ci5oPgogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9ncHUvR1BVTGlicmFyeS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9n
cHUvR1BVTGlicmFyeS5jcHAKaW5kZXggOTA2MjQ4ODU5MjY1NGQ5MDBhNTAyZjFhY2I0MjE5Njcz
MzRmZmY1OC4uNDhjNmMzYzM2ZjQxZGM0N2U0YzRhNTliMjA2OTJmMDQ0ZmE3NTUzNyAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L0dQVUxpYnJhcnkuY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dwdS9HUFVMaWJyYXJ5LmNw
cApAQCAtMjYsNyArMjYsNyBAQAogI2luY2x1ZGUgImNvbmZpZy5oIgogI2luY2x1ZGUgIkdQVUxp
YnJhcnkuaCIKIAotI2lmIEVOQUJMRShXRUJHUFUpCisjaWYgRU5BQkxFKFdFQk1FVEFMKQogCiAj
aW5jbHVkZSAiTG9nZ2luZy5oIgogCkBAIC0zNCw3ICszNCw3IEBAIG5hbWVzcGFjZSBXZWJDb3Jl
IHsKIAogR1BVTGlicmFyeTo6fkdQVUxpYnJhcnkoKQogewotICAgIExPRyhXZWJHUFUsICJHUFVM
aWJyYXJ5Ojp+R1BVTGlicmFyeSgpIik7CisgICAgTE9HKFdlYk1ldGFsLCAiR1BVTGlicmFyeTo6
fkdQVUxpYnJhcnkoKSIpOwogfQogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9ncHUvR1BVTGlicmFyeS5oIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L0dQVUxpYnJhcnkuaAppbmRleCBmMzVk
NWJhMTQ2YTk0YmQ1YmI1MGYyZDE4NDE1NDBlNmVjZjZjOGY1Li43NGFjNDQ2NGU4NDJiYzdmNGQw
MjdiMmJmMDQ1NDk0ZTJkYWI1N2YzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9ncHUvR1BVTGlicmFyeS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL2dwdS9HUFVMaWJyYXJ5LmgKQEAgLTI1LDcgKzI1LDcgQEAKIAogI3ByYWdtYSBv
bmNlCiAKLSNpZiBFTkFCTEUoV0VCR1BVKQorI2lmIEVOQUJMRShXRUJNRVRBTCkKIAogI2luY2x1
ZGUgPHd0Zi9SZXRhaW5QdHIuaD4KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvZ3B1L0dQVVJlbmRlckNvbW1hbmRFbmNvZGVyLmNwcCBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dwdS9HUFVSZW5kZXJDb21tYW5kRW5jb2Rlci5jcHAKaW5k
ZXggNmQxZjUzYjk0NzJlMTczNTA1ODdmNzc0MzJiNGRhMjM1ZTNhYTFmOS4uNDc0NjFhOGZlYzQ0
YjkzNzk2YWYyODYwMjcxMzM0NzVmNDEyMGQ1ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L0dQVVJlbmRlckNvbW1hbmRFbmNvZGVyLmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9ncHUvR1BVUmVuZGVyQ29tbWFuZEVuY29k
ZXIuY3BwCkBAIC0yNiw3ICsyNiw3IEBACiAjaW5jbHVkZSAiY29uZmlnLmgiCiAjaW5jbHVkZSAi
R1BVUmVuZGVyQ29tbWFuZEVuY29kZXIuaCIKIAotI2lmIEVOQUJMRShXRUJHUFUpCisjaWYgRU5B
QkxFKFdFQk1FVEFMKQogCiAjaW5jbHVkZSAiTG9nZ2luZy5oIgogCkBAIC0zNCw3ICszNCw3IEBA
IG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogR1BVUmVuZGVyQ29tbWFuZEVuY29kZXI6On5HUFVSZW5k
ZXJDb21tYW5kRW5jb2RlcigpCiB7Ci0gICAgTE9HKFdlYkdQVSwgIkdQVVJlbmRlckNvbW1hbmRF
bmNvZGVyOjp+R1BVUmVuZGVyQ29tbWFuZEVuY29kZXIoKSIpOworICAgIExPRyhXZWJNZXRhbCwg
IkdQVVJlbmRlckNvbW1hbmRFbmNvZGVyOjp+R1BVUmVuZGVyQ29tbWFuZEVuY29kZXIoKSIpOwog
fQogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9ncHUvR1BVUmVuZGVyQ29tbWFuZEVuY29kZXIuaCBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dwdS9HUFVSZW5kZXJDb21tYW5kRW5jb2Rlci5oCmlu
ZGV4IGY5MDUzY2VjNWIwYzliOTYzMGI1ZDdiNjMyYzZkOWI3YjMxYmY0OWUuLjI5ZTIwNGE4Zjll
MzI2YTQzYzFlY2JlODkxNjNiYzgzMGE3OTQxMWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL2dwdS9HUFVSZW5kZXJDb21tYW5kRW5jb2Rlci5oCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dwdS9HUFVSZW5kZXJDb21tYW5kRW5jb2Rl
ci5oCkBAIC0yNSw3ICsyNSw3IEBACiAKICNwcmFnbWEgb25jZQogCi0jaWYgRU5BQkxFKFdFQkdQ
VSkKKyNpZiBFTkFCTEUoV0VCTUVUQUwpCiAKICNpbmNsdWRlIDx3dGYvUmV0YWluUHRyLmg+CiAK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dwdS9HUFVSZW5k
ZXJQYXNzQXR0YWNobWVudERlc2NyaXB0b3IuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvZ3B1L0dQVVJlbmRlclBhc3NBdHRhY2htZW50RGVzY3JpcHRvci5jcHAKaW5kZXgg
NzVkODllOTk4NDRjZTA0YjNmYjhhNTYyNjRhNjU0MzhhOWM1NWEwNS4uNzE2MmY3ZmU3NzNmNWIy
MDk5ZWE0NmQ4YmM5ZDAwOWVhOTk3N2RmNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvZ3B1L0dQVVJlbmRlclBhc3NBdHRhY2htZW50RGVzY3JpcHRvci5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L0dQVVJlbmRlclBhc3NB
dHRhY2htZW50RGVzY3JpcHRvci5jcHAKQEAgLTI2LDcgKzI2LDcgQEAKICNpbmNsdWRlICJjb25m
aWcuaCIKICNpbmNsdWRlICJHUFVSZW5kZXJQYXNzQXR0YWNobWVudERlc2NyaXB0b3IuaCIKIAot
I2lmIEVOQUJMRShXRUJHUFUpCisjaWYgRU5BQkxFKFdFQk1FVEFMKQogCiAjaW5jbHVkZSAiR1BV
VGV4dHVyZS5oIgogI2luY2x1ZGUgIkxvZ2dpbmcuaCIKQEAgLTM1LDcgKzM1LDcgQEAgbmFtZXNw
YWNlIFdlYkNvcmUgewogCiBHUFVSZW5kZXJQYXNzQXR0YWNobWVudERlc2NyaXB0b3I6On5HUFVS
ZW5kZXJQYXNzQXR0YWNobWVudERlc2NyaXB0b3IoKQogewotICAgIExPRyhXZWJHUFUsICJHUFVS
ZW5kZXJQYXNzQXR0YWNobWVudERlc2NyaXB0b3I6On5HUFVSZW5kZXJQYXNzQXR0YWNobWVudERl
c2NyaXB0b3IoKSIpOworICAgIExPRyhXZWJNZXRhbCwgIkdQVVJlbmRlclBhc3NBdHRhY2htZW50
RGVzY3JpcHRvcjo6fkdQVVJlbmRlclBhc3NBdHRhY2htZW50RGVzY3JpcHRvcigpIik7CiB9CiAK
IH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL2dwdS9HUFVSZW5kZXJQYXNzQXR0YWNobWVudERlc2NyaXB0b3IuaCBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dwdS9HUFVSZW5kZXJQYXNzQXR0YWNobWVu
dERlc2NyaXB0b3IuaAppbmRleCBmZWY3MDk0YTljZTMyOTljNDA5Njc0YzlhN2Y1NzQ2OWJhZDlh
NmI4Li40NmQ5MjM4NWEzODYzNTlkMzUxMjM2Yjk4OTg3OGJlYTQ4M2MwZjIxIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9ncHUvR1BVUmVuZGVyUGFzc0F0dGFj
aG1lbnREZXNjcmlwdG9yLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
Z3B1L0dQVVJlbmRlclBhc3NBdHRhY2htZW50RGVzY3JpcHRvci5oCkBAIC0yNSw3ICsyNSw3IEBA
CiAKICNwcmFnbWEgb25jZQogCi0jaWYgRU5BQkxFKFdFQkdQVSkKKyNpZiBFTkFCTEUoV0VCTUVU
QUwpCiAKICNpbmNsdWRlIDx3dGYvUmV0YWluUHRyLmg+CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dwdS9HUFVSZW5kZXJQYXNzQ29sb3JBdHRhY2htZW50
RGVzY3JpcHRvci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9ncHUvR1BV
UmVuZGVyUGFzc0NvbG9yQXR0YWNobWVudERlc2NyaXB0b3IuY3BwCmluZGV4IDJmNWFjNzg4ZjIx
OGRiM2NhNzFhNTAxYWQxMTEzZTgzOWQxZDc0YjkuLmRmYjE1NTlhNmJhN2JjZDg4ODZiYWEyZjI2
NjAwMGFkMmRjMDE3YjIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL2dwdS9HUFVSZW5kZXJQYXNzQ29sb3JBdHRhY2htZW50RGVzY3JpcHRvci5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L0dQVVJlbmRlclBhc3NDb2xvckF0
dGFjaG1lbnREZXNjcmlwdG9yLmNwcApAQCAtMjYsNyArMjYsNyBAQAogI2luY2x1ZGUgImNvbmZp
Zy5oIgogI2luY2x1ZGUgIkdQVVJlbmRlclBhc3NDb2xvckF0dGFjaG1lbnREZXNjcmlwdG9yLmgi
CiAKLSNpZiBFTkFCTEUoV0VCR1BVKQorI2lmIEVOQUJMRShXRUJNRVRBTCkKIAogI2luY2x1ZGUg
IkxvZ2dpbmcuaCIKIApAQCAtMzQsNyArMzQsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIEdQ
VVJlbmRlclBhc3NDb2xvckF0dGFjaG1lbnREZXNjcmlwdG9yOjp+R1BVUmVuZGVyUGFzc0NvbG9y
QXR0YWNobWVudERlc2NyaXB0b3IoKQogewotICAgIExPRyhXZWJHUFUsICJHUFVSZW5kZXJQYXNz
Q29sb3JBdHRhY2htZW50RGVzY3JpcHRvcjo6fkdQVVJlbmRlclBhc3NDb2xvckF0dGFjaG1lbnRE
ZXNjcmlwdG9yKCkiKTsKKyAgICBMT0coV2ViTWV0YWwsICJHUFVSZW5kZXJQYXNzQ29sb3JBdHRh
Y2htZW50RGVzY3JpcHRvcjo6fkdQVVJlbmRlclBhc3NDb2xvckF0dGFjaG1lbnREZXNjcmlwdG9y
KCkiKTsKIH0KIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L0dQVVJlbmRlclBhc3NDb2xvckF0dGFjaG1lbnRE
ZXNjcmlwdG9yLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9ncHUvR1BVUmVu
ZGVyUGFzc0NvbG9yQXR0YWNobWVudERlc2NyaXB0b3IuaAppbmRleCAzMWFlZThmYjYyYmM5NzFk
YTAyYzk2ZTU4YzQ0YWFjZDUzODhhZmY2Li43MjQ0NjEzZWY2YzBiODYwYjBlN2Y3MDVlN2U3MzY3
MzBkZGJmZDk3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9n
cHUvR1BVUmVuZGVyUGFzc0NvbG9yQXR0YWNobWVudERlc2NyaXB0b3IuaAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9ncHUvR1BVUmVuZGVyUGFzc0NvbG9yQXR0YWNobWVu
dERlc2NyaXB0b3IuaApAQCAtMjUsNyArMjUsNyBAQAogCiAjcHJhZ21hIG9uY2UKIAotI2lmIEVO
QUJMRShXRUJHUFUpCisjaWYgRU5BQkxFKFdFQk1FVEFMKQogCiAjaW5jbHVkZSAiR1BVUmVuZGVy
UGFzc0F0dGFjaG1lbnREZXNjcmlwdG9yLmgiCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL2dwdS9HUFVSZW5kZXJQYXNzRGVwdGhBdHRhY2htZW50RGVzY3Jp
cHRvci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9ncHUvR1BVUmVuZGVy
UGFzc0RlcHRoQXR0YWNobWVudERlc2NyaXB0b3IuY3BwCmluZGV4IDRjMWNhNjcxNjdhMWZmNWYw
OWZhN2IwNTVkNDcyNWE4NmYxODY5MWEuLmU5NDU3ZTcyMzRmY2E1Nzg3Yzk5MTM2MmQ1ZjcwMDAy
NzU4YWViNWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dw
dS9HUFVSZW5kZXJQYXNzRGVwdGhBdHRhY2htZW50RGVzY3JpcHRvci5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L0dQVVJlbmRlclBhc3NEZXB0aEF0dGFjaG1l
bnREZXNjcmlwdG9yLmNwcApAQCAtMjYsNyArMjYsNyBAQAogI2luY2x1ZGUgImNvbmZpZy5oIgog
I2luY2x1ZGUgIkdQVVJlbmRlclBhc3NEZXB0aEF0dGFjaG1lbnREZXNjcmlwdG9yLmgiCiAKLSNp
ZiBFTkFCTEUoV0VCR1BVKQorI2lmIEVOQUJMRShXRUJNRVRBTCkKIAogI2luY2x1ZGUgIkxvZ2dp
bmcuaCIKIApAQCAtMzQsNyArMzQsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIEdQVVJlbmRl
clBhc3NEZXB0aEF0dGFjaG1lbnREZXNjcmlwdG9yOjp+R1BVUmVuZGVyUGFzc0RlcHRoQXR0YWNo
bWVudERlc2NyaXB0b3IoKQogewotICAgIExPRyhXZWJHUFUsICJHUFVSZW5kZXJQYXNzRGVwdGhB
dHRhY2htZW50RGVzY3JpcHRvcjo6fkdQVVJlbmRlclBhc3NEZXB0aEF0dGFjaG1lbnREZXNjcmlw
dG9yKCkiKTsKKyAgICBMT0coV2ViTWV0YWwsICJHUFVSZW5kZXJQYXNzRGVwdGhBdHRhY2htZW50
RGVzY3JpcHRvcjo6fkdQVVJlbmRlclBhc3NEZXB0aEF0dGFjaG1lbnREZXNjcmlwdG9yKCkiKTsK
IH0KIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L0dQVVJlbmRlclBhc3NEZXB0aEF0dGFjaG1lbnREZXNjcmlw
dG9yLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9ncHUvR1BVUmVuZGVyUGFz
c0RlcHRoQXR0YWNobWVudERlc2NyaXB0b3IuaAppbmRleCBiNGM1MTcyODk3MTQ2NzBmYmFkNzU4
MmU2ZTU5MGQ3NjM4MDgyODFlLi43MmZkNzkyMDJkN2MyNmJmMjA0ZjA1NjJjMGFjYTM5YThiMmM5
MGU3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9ncHUvR1BV
UmVuZGVyUGFzc0RlcHRoQXR0YWNobWVudERlc2NyaXB0b3IuaAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9ncHUvR1BVUmVuZGVyUGFzc0RlcHRoQXR0YWNobWVudERlc2Ny
aXB0b3IuaApAQCAtMjUsNyArMjUsNyBAQAogCiAjcHJhZ21hIG9uY2UKIAotI2lmIEVOQUJMRShX
RUJHUFUpCisjaWYgRU5BQkxFKFdFQk1FVEFMKQogCiAjaW5jbHVkZSAiR1BVUmVuZGVyUGFzc0F0
dGFjaG1lbnREZXNjcmlwdG9yLmgiCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL2dwdS9HUFVSZW5kZXJQYXNzRGVzY3JpcHRvci5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9ncHUvR1BVUmVuZGVyUGFzc0Rlc2NyaXB0b3IuY3BwCmlu
ZGV4IGZhNGFiYzllMWM5ZDI2NjdjOTg5N2NiMWY2NjA2NzQzMGE1YjZjMDguLjczOTcxYmZmODc4
YWRjZTYxYmJkYmRhY2JkNmEwNTVjNTQ4Mzc5NTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL2dwdS9HUFVSZW5kZXJQYXNzRGVzY3JpcHRvci5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L0dQVVJlbmRlclBhc3NEZXNjcmlw
dG9yLmNwcApAQCAtMjYsNyArMjYsNyBAQAogI2luY2x1ZGUgImNvbmZpZy5oIgogI2luY2x1ZGUg
IkdQVVJlbmRlclBhc3NEZXNjcmlwdG9yLmgiCiAKLSNpZiBFTkFCTEUoV0VCR1BVKQorI2lmIEVO
QUJMRShXRUJNRVRBTCkKIAogI2luY2x1ZGUgIkdQVVJlbmRlclBhc3NEZXB0aEF0dGFjaG1lbnRE
ZXNjcmlwdG9yLmgiCiAjaW5jbHVkZSAiTG9nZ2luZy5oIgpAQCAtMzUsNyArMzUsNyBAQCBuYW1l
c3BhY2UgV2ViQ29yZSB7CiAKIEdQVVJlbmRlclBhc3NEZXNjcmlwdG9yOjp+R1BVUmVuZGVyUGFz
c0Rlc2NyaXB0b3IoKQogewotICAgIExPRyhXZWJHUFUsICJHUFVSZW5kZXJQYXNzRGVzY3JpcHRv
cjo6fkdQVVJlbmRlclBhc3NEZXNjcmlwdG9yKCkiKTsKKyAgICBMT0coV2ViTWV0YWwsICJHUFVS
ZW5kZXJQYXNzRGVzY3JpcHRvcjo6fkdQVVJlbmRlclBhc3NEZXNjcmlwdG9yKCkiKTsKIH0KIAog
fSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvZ3B1L0dQVVJlbmRlclBhc3NEZXNjcmlwdG9yLmggYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9ncHUvR1BVUmVuZGVyUGFzc0Rlc2NyaXB0b3IuaAppbmRleCA1
NGRhZTI0MmZiNWU0ZjgxMTA4NDZhOGMyYWQ4ZjBjY2U0NjBmODAyLi4yOWQ0ZTNkZDk4NTBhZWI4
Y2I2OThiY2IwMTAyNDdhYTI0Y2Q4Mjc5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9ncHUvR1BVUmVuZGVyUGFzc0Rlc2NyaXB0b3IuaAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9ncHUvR1BVUmVuZGVyUGFzc0Rlc2NyaXB0b3IuaApA
QCAtMjUsNyArMjUsNyBAQAogCiAjcHJhZ21hIG9uY2UKIAotI2lmIEVOQUJMRShXRUJHUFUpCisj
aWYgRU5BQkxFKFdFQk1FVEFMKQogCiAjaW5jbHVkZSA8d3RmL1JldGFpblB0ci5oPgogCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9ncHUvR1BVUmVuZGVyUGlw
ZWxpbmVDb2xvckF0dGFjaG1lbnREZXNjcmlwdG9yLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL2dwdS9HUFVSZW5kZXJQaXBlbGluZUNvbG9yQXR0YWNobWVudERlc2NyaXB0
b3IuY3BwCmluZGV4IGE3NTg3ODAwOTQ0MTFjMDdmNzExNjVjYmEyMTRkNGNhMjQ3ODA3ODUuLmQ4
M2JhMTExZDM2ZDNhMDgyMzk2YzM4YzNjZmI0N2QyZGVlMDMxYWEgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dwdS9HUFVSZW5kZXJQaXBlbGluZUNvbG9yQXR0
YWNobWVudERlc2NyaXB0b3IuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL2dwdS9HUFVSZW5kZXJQaXBlbGluZUNvbG9yQXR0YWNobWVudERlc2NyaXB0b3IuY3BwCkBA
IC0yNiw3ICsyNiw3IEBACiAjaW5jbHVkZSAiY29uZmlnLmgiCiAjaW5jbHVkZSAiR1BVUmVuZGVy
UGlwZWxpbmVDb2xvckF0dGFjaG1lbnREZXNjcmlwdG9yLmgiCiAKLSNpZiBFTkFCTEUoV0VCR1BV
KQorI2lmIEVOQUJMRShXRUJNRVRBTCkKIAogI2luY2x1ZGUgIkxvZ2dpbmcuaCIKIApAQCAtMzQs
NyArMzQsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIEdQVVJlbmRlclBpcGVsaW5lQ29sb3JB
dHRhY2htZW50RGVzY3JpcHRvcjo6fkdQVVJlbmRlclBpcGVsaW5lQ29sb3JBdHRhY2htZW50RGVz
Y3JpcHRvcigpCiB7Ci0gICAgTE9HKFdlYkdQVSwgIkdQVVJlbmRlclBpcGVsaW5lQ29sb3JBdHRh
Y2htZW50RGVzY3JpcHRvcjo6fkdQVVJlbmRlclBpcGVsaW5lQ29sb3JBdHRhY2htZW50RGVzY3Jp
cHRvcigpIik7CisgICAgTE9HKFdlYk1ldGFsLCAiR1BVUmVuZGVyUGlwZWxpbmVDb2xvckF0dGFj
aG1lbnREZXNjcmlwdG9yOjp+R1BVUmVuZGVyUGlwZWxpbmVDb2xvckF0dGFjaG1lbnREZXNjcmlw
dG9yKCkiKTsKIH0KIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L0dQVVJlbmRlclBpcGVsaW5lQ29sb3JBdHRh
Y2htZW50RGVzY3JpcHRvci5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1
L0dQVVJlbmRlclBpcGVsaW5lQ29sb3JBdHRhY2htZW50RGVzY3JpcHRvci5oCmluZGV4IGE4MGE1
ZDAwZTZiMDZkM2U3Y2M4MjkwNDFiODk5NTlkNzgxZWM1NWEuLmE4MzZjZmYxNTU2MGY3ZGQ3Y2E2
OWM1NjQzOTE2ZGRhYWYwNjYzMzAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL2dwdS9HUFVSZW5kZXJQaXBlbGluZUNvbG9yQXR0YWNobWVudERlc2NyaXB0b3Iu
aAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9ncHUvR1BVUmVuZGVyUGlw
ZWxpbmVDb2xvckF0dGFjaG1lbnREZXNjcmlwdG9yLmgKQEAgLTI1LDcgKzI1LDcgQEAKIAogI3By
YWdtYSBvbmNlCiAKLSNpZiBFTkFCTEUoV0VCR1BVKQorI2lmIEVOQUJMRShXRUJNRVRBTCkKIAog
I2luY2x1ZGUgPHd0Zi9SZXRhaW5QdHIuaD4KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L0dQVVJlbmRlclBpcGVsaW5lRGVzY3JpcHRvci5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9ncHUvR1BVUmVuZGVyUGlwZWxpbmVEZXNj
cmlwdG9yLmNwcAppbmRleCA5NjhjYzQ1MzYxZWIwMDY0MjM1ZmVlZjBkY2Y4YTgzNDIwYTU2MzRk
Li42NGMxYzRjOWZiMTAxNDExOGFiZGJkYjEzZDdkOTc3YTliMTM2OWVmIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9ncHUvR1BVUmVuZGVyUGlwZWxpbmVEZXNj
cmlwdG9yLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9ncHUvR1BV
UmVuZGVyUGlwZWxpbmVEZXNjcmlwdG9yLmNwcApAQCAtMjYsNyArMjYsNyBAQAogI2luY2x1ZGUg
ImNvbmZpZy5oIgogI2luY2x1ZGUgIkdQVVJlbmRlclBpcGVsaW5lRGVzY3JpcHRvci5oIgogCi0j
aWYgRU5BQkxFKFdFQkdQVSkKKyNpZiBFTkFCTEUoV0VCTUVUQUwpCiAKICNpbmNsdWRlICJMb2dn
aW5nLmgiCiAKQEAgLTM0LDcgKzM0LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogCiBHUFVSZW5k
ZXJQaXBlbGluZURlc2NyaXB0b3I6On5HUFVSZW5kZXJQaXBlbGluZURlc2NyaXB0b3IoKQogewot
ICAgIExPRyhXZWJHUFUsICJHUFVSZW5kZXJQaXBlbGluZURlc2NyaXB0b3I6On5HUFVSZW5kZXJQ
aXBlbGluZURlc2NyaXB0b3IoKSIpOworICAgIExPRyhXZWJNZXRhbCwgIkdQVVJlbmRlclBpcGVs
aW5lRGVzY3JpcHRvcjo6fkdQVVJlbmRlclBpcGVsaW5lRGVzY3JpcHRvcigpIik7CiB9CiAKIH0g
Ly8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL2dwdS9HUFVSZW5kZXJQaXBlbGluZURlc2NyaXB0b3IuaCBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dwdS9HUFVSZW5kZXJQaXBlbGluZURlc2NyaXB0b3IuaApp
bmRleCAxZmRlOTI3ODhmNTVkYTRmZDc4ODUxODJkN2NhYjNiNDg4ZTM2MjhiLi4wNGM1ZTY4YTdm
NzAyMzc4OTMzNWZiZDJlMGUyNWM4ZDdhODZjMTJmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9ncHUvR1BVUmVuZGVyUGlwZWxpbmVEZXNjcmlwdG9yLmgKKysr
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L0dQVVJlbmRlclBpcGVsaW5l
RGVzY3JpcHRvci5oCkBAIC0yNSw3ICsyNSw3IEBACiAKICNwcmFnbWEgb25jZQogCi0jaWYgRU5B
QkxFKFdFQkdQVSkKKyNpZiBFTkFCTEUoV0VCTUVUQUwpCiAKICNpbmNsdWRlIDx3dGYvUmV0YWlu
UHRyLmg+CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dw
dS9HUFVSZW5kZXJQaXBlbGluZVN0YXRlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL2dwdS9HUFVSZW5kZXJQaXBlbGluZVN0YXRlLmNwcAppbmRleCA2OWRjNDEwNWQxZmUw
ZjQ0M2QxYzM2YjI0NmUwZjc3ZjMxYWY5NGRjLi5hYWIyYjNlODIzNDJjZGI1OWM3ZDk3YmVlODM5
MTNiOTlkNjk4ODIzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9ncHUvR1BVUmVuZGVyUGlwZWxpbmVTdGF0ZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvZ3B1L0dQVVJlbmRlclBpcGVsaW5lU3RhdGUuY3BwCkBAIC0yNiw3ICsy
Niw3IEBACiAjaW5jbHVkZSAiY29uZmlnLmgiCiAjaW5jbHVkZSAiR1BVUmVuZGVyUGlwZWxpbmVT
dGF0ZS5oIgogCi0jaWYgRU5BQkxFKFdFQkdQVSkKKyNpZiBFTkFCTEUoV0VCTUVUQUwpCiAKICNp
bmNsdWRlICJMb2dnaW5nLmgiCiAKQEAgLTM0LDcgKzM0LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUg
ewogCiBHUFVSZW5kZXJQaXBlbGluZVN0YXRlOjp+R1BVUmVuZGVyUGlwZWxpbmVTdGF0ZSgpCiB7
Ci0gICAgTE9HKFdlYkdQVSwgIkdQVVJlbmRlclBpcGVsaW5lU3RhdGU6On5HUFVSZW5kZXJQaXBl
bGluZVN0YXRlKCkiKTsKKyAgICBMT0coV2ViTWV0YWwsICJHUFVSZW5kZXJQaXBlbGluZVN0YXRl
Ojp+R1BVUmVuZGVyUGlwZWxpbmVTdGF0ZSgpIik7CiB9CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNv
cmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dwdS9HUFVS
ZW5kZXJQaXBlbGluZVN0YXRlLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9n
cHUvR1BVUmVuZGVyUGlwZWxpbmVTdGF0ZS5oCmluZGV4IGM4ODMyNDk2ZTg3YTVkZjY3YTEwODk4
ZTE3MmQwNjgzM2YxYzE3YjQuLmM2NGFmZWQxNzBkZGNjODgxYmJhNDJlZmUyNTA2NGQ4M2FlN2E3
MmQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dwdS9HUFVS
ZW5kZXJQaXBlbGluZVN0YXRlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvZ3B1L0dQVVJlbmRlclBpcGVsaW5lU3RhdGUuaApAQCAtMjUsNyArMjUsNyBAQAogCiAjcHJh
Z21hIG9uY2UKIAotI2lmIEVOQUJMRShXRUJHUFUpCisjaWYgRU5BQkxFKFdFQk1FVEFMKQogCiAj
aW5jbHVkZSA8d3RmL1JldGFpblB0ci5oPgogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9ncHUvR1BVU2l6ZS5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvZ3B1L0dQVVNpemUuaAppbmRleCAzOTU4ZTgzYmYzYmU4YzgxNDNiNjkyNTU1ZDgy
NjgwNjViOTU5NGNiLi4wNjU4ZjA4NzhlNWQ3YTdiMmYxYWU4N2NjNjFmM2Y3ZTM4ZGVjOTIyIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9ncHUvR1BVU2l6ZS5o
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dwdS9HUFVTaXplLmgKQEAg
LTI1LDcgKzI1LDcgQEAKIAogI3ByYWdtYSBvbmNlCiAKLSNpZiBFTkFCTEUoV0VCR1BVKQorI2lm
IEVOQUJMRShXRUJNRVRBTCkKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogICAgIApkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L0dQVVRleHR1cmUuY3BwIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L0dQVVRleHR1cmUuY3BwCmluZGV4
IGJjYzVlOGEzMWRiZTcxZDMzMjZiMTRhYjFkYTQ4M2UzZDM1MmJmM2QuLmJmMTE0NjlkNGYyYTFh
Mzg4M2U0ZmFlZjYxODRjZTgzNGIzNDkyOTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL2dwdS9HUFVUZXh0dXJlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9ncHUvR1BVVGV4dHVyZS5jcHAKQEAgLTI2LDcgKzI2LDcgQEAKICNp
bmNsdWRlICJjb25maWcuaCIKICNpbmNsdWRlICJHUFVUZXh0dXJlLmgiCiAKLSNpZiBFTkFCTEUo
V0VCR1BVKQorI2lmIEVOQUJMRShXRUJNRVRBTCkKIAogI2luY2x1ZGUgIkxvZ2dpbmcuaCIKIApA
QCAtMzQsNyArMzQsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIEdQVVRleHR1cmU6On5HUFVU
ZXh0dXJlKCkKIHsKLSAgICBMT0coV2ViR1BVLCAiR1BVVGV4dHVyZTo6fkdQVVRleHR1cmUoKSIp
OworICAgIExPRyhXZWJNZXRhbCwgIkdQVVRleHR1cmU6On5HUFVUZXh0dXJlKCkiKTsKIH0KIAog
fSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvZ3B1L0dQVVRleHR1cmUuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL2dwdS9HUFVUZXh0dXJlLmgKaW5kZXggZDAzNjc5MWNlZTZjMmU1MjM1M2M5OGU2YTg1
MWEyODQxMzM2Zjc0Ny4uNmI3YTMxN2IyMmUyZmVhOTI2NmEzOGQwNDc1ODA3YzVmYmFmZDk5MiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L0dQVVRleHR1
cmUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9ncHUvR1BVVGV4dHVy
ZS5oCkBAIC0yNSw3ICsyNSw3IEBACiAKICNwcmFnbWEgb25jZQogCi0jaWYgRU5BQkxFKFdFQkdQ
VSkKKyNpZiBFTkFCTEUoV0VCTUVUQUwpCiAKICNpbmNsdWRlIDx3dGYvUmV0YWluUHRyLmg+CiAK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dwdS9HUFVUZXh0
dXJlRGVzY3JpcHRvci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9ncHUv
R1BVVGV4dHVyZURlc2NyaXB0b3IuY3BwCmluZGV4IGRmNjc1YTRjZDE0OTRjYWU2MjA2MGI3Mzky
ZTRkOTA2YTZkY2U2YzkuLjAyY2NmNDIzMTY1NjQ4ZTA0ZTg2NGJlYmMxMWJkMzVjOTk1NjI3Yzgg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dwdS9HUFVUZXh0
dXJlRGVzY3JpcHRvci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
Z3B1L0dQVVRleHR1cmVEZXNjcmlwdG9yLmNwcApAQCAtMjYsNyArMjYsNyBAQAogI2luY2x1ZGUg
ImNvbmZpZy5oIgogI2luY2x1ZGUgIkdQVVRleHR1cmVEZXNjcmlwdG9yLmgiCiAKLSNpZiBFTkFC
TEUoV0VCR1BVKQorI2lmIEVOQUJMRShXRUJNRVRBTCkKIAogI2luY2x1ZGUgIkxvZ2dpbmcuaCIK
IApAQCAtMzQsNyArMzQsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIEdQVVRleHR1cmVEZXNj
cmlwdG9yOjp+R1BVVGV4dHVyZURlc2NyaXB0b3IoKQogewotICAgIExPRyhXZWJHUFUsICJHUFVU
ZXh0dXJlRGVzY3JpcHRvcjo6fkdQVVRleHR1cmVEZXNjcmlwdG9yKCkiKTsKKyAgICBMT0coV2Vi
TWV0YWwsICJHUFVUZXh0dXJlRGVzY3JpcHRvcjo6fkdQVVRleHR1cmVEZXNjcmlwdG9yKCkiKTsK
IH0KIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L0dQVVRleHR1cmVEZXNjcmlwdG9yLmggYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9ncHUvR1BVVGV4dHVyZURlc2NyaXB0b3IuaAppbmRleCAy
NDExMWZjZmFmMjZjNDU3YzAwNTJiYmI1ZThiZjdkMTFlZDUzMzYyLi4zMzU4NzFkNjZlZDlhMjE2
Nzc1YjIyOTBiZDY4ZTBlMzFhYjJmNTBmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9ncHUvR1BVVGV4dHVyZURlc2NyaXB0b3IuaAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9ncHUvR1BVVGV4dHVyZURlc2NyaXB0b3IuaApAQCAtMjUs
NyArMjUsNyBAQAogCiAjcHJhZ21hIG9uY2UKIAotI2lmIEVOQUJMRShXRUJHUFUpCisjaWYgRU5B
QkxFKFdFQk1FVEFMKQogCiAjaW5jbHVkZSA8d3RmL1JldGFpblB0ci5oPgogCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9tZXRhbC9HUFVCdWZmZXJNZXRhbC5t
bSBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL21ldGFsL0dQVUJ1ZmZlck1ldGFs
Lm1tCmluZGV4IDRhMTE5YzdkOWY0ZmM1OWU2Yzk2NGQyZmJlYTAzYjI3NTNjY2JiY2QuLmFhMzBk
OTMwM2IyNmE3MGFhMTFmMjQ5OTRjMzJiY2Q3ZTAyOWRhYWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL21ldGFsL0dQVUJ1ZmZlck1ldGFsLm1tCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL21ldGFsL0dQVUJ1ZmZlck1ldGFsLm1tCkBA
IC0yNiw3ICsyNiw3IEBACiAjaW1wb3J0ICJjb25maWcuaCIKICNpbXBvcnQgIkdQVUJ1ZmZlci5o
IgogCi0jaWYgRU5BQkxFKFdFQkdQVSkKKyNpZiBFTkFCTEUoV0VCTUVUQUwpCiAKICNpbXBvcnQg
IkdQVURldmljZS5oIgogI2ltcG9ydCAiTG9nZ2luZy5oIgpAQCAtMzksNyArMzksNyBAQCBuYW1l
c3BhY2UgV2ViQ29yZSB7CiAKIEdQVUJ1ZmZlcjo6R1BVQnVmZmVyKGNvbnN0IEdQVURldmljZSYg
ZGV2aWNlLCBjb25zdCBKU0M6OkFycmF5QnVmZmVyVmlldyYgZGF0YSkKIHsKLSAgICBMT0coV2Vi
R1BVLCAiR1BVQnVmZmVyOjpHUFVCdWZmZXIoKSIpOworICAgIExPRyhXZWJNZXRhbCwgIkdQVUJ1
ZmZlcjo6R1BVQnVmZmVyKCkiKTsKIAogICAgIGlmICghZGV2aWNlLm1ldGFsKCkpCiAgICAgICAg
IHJldHVybjsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL21l
dGFsL0dQVUNvbW1hbmRCdWZmZXJNZXRhbC5tbSBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL21ldGFsL0dQVUNvbW1hbmRCdWZmZXJNZXRhbC5tbQppbmRleCA2ZGY2MzYxYWI0ZGNh
MDkxZTk0YmY5OTVjNGMzODk5ZWNlYmJkN2Q5Li5mY2QzZGMyMzZlMTIzZmQ3OGZlNTU2MThkMjAz
ODgwN2MxNDVlMGY2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9tZXRhbC9HUFVDb21tYW5kQnVmZmVyTWV0YWwubW0KKysrIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvbWV0YWwvR1BVQ29tbWFuZEJ1ZmZlck1ldGFsLm1tCkBAIC0yNiw3ICsy
Niw3IEBACiAjaW1wb3J0ICJjb25maWcuaCIKICNpbXBvcnQgIkdQVUNvbW1hbmRCdWZmZXIuaCIK
IAotI2lmIEVOQUJMRShXRUJHUFUpCisjaWYgRU5BQkxFKFdFQk1FVEFMKQogCiAjaW1wb3J0ICJH
UFVDb21tYW5kUXVldWUuaCIKICNpbXBvcnQgIkdQVURyYXdhYmxlLmgiCkBAIC00MCw3ICs0MCw3
IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIEdQVUNvbW1hbmRCdWZmZXI6OkdQVUNvbW1hbmRCdWZm
ZXIoY29uc3QgR1BVQ29tbWFuZFF1ZXVlJiBxdWV1ZSwgRnVuY3Rpb248dm9pZCgpPiYmIGNvbXBs
ZXRlZENhbGxiYWNrKQogICAgIDogbV9tZXRhbCB7IFtxdWV1ZS5tZXRhbCgpIGNvbW1hbmRCdWZm
ZXJdIH0KIHsKLSAgICBMT0coV2ViR1BVLCAiR1BVQ29tbWFuZEJ1ZmZlcjo6R1BVQ29tbWFuZEJ1
ZmZlcigpIik7CisgICAgTE9HKFdlYk1ldGFsLCAiR1BVQ29tbWFuZEJ1ZmZlcjo6R1BVQ29tbWFu
ZEJ1ZmZlcigpIik7CiAKICAgICBbbV9tZXRhbCBhZGRDb21wbGV0ZWRIYW5kbGVyOkJsb2NrUHRy
PHZvaWQgKGlkPE1UTENvbW1hbmRCdWZmZXI+KT46OmZyb21DYWxsYWJsZShbY29tcGxldGVkQ2Fs
bGJhY2sgPSBXVEZNb3ZlKGNvbXBsZXRlZENhbGxiYWNrKV0gKGlkPE1UTENvbW1hbmRCdWZmZXI+
KSBtdXRhYmxlIHsKICAgICAgICAgY2FsbE9uTWFpblRocmVhZChXVEZNb3ZlKGNvbXBsZXRlZENh
bGxiYWNrKSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9t
ZXRhbC9HUFVDb21tYW5kUXVldWVNZXRhbC5tbSBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL21ldGFsL0dQVUNvbW1hbmRRdWV1ZU1ldGFsLm1tCmluZGV4IDMwM2IyNWRhM2Q0YTY0
ZWQxYjAwMzBiNzJiOWZkYmM2Zjk2NWMzM2QuLjllMmEwMGE3ZmY4NzBiZDhkM2Y5Mjg5NjMxYTI2
ZWZkOGEyNTRmZDIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L21ldGFsL0dQVUNvbW1hbmRRdWV1ZU1ldGFsLm1tCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL21ldGFsL0dQVUNvbW1hbmRRdWV1ZU1ldGFsLm1tCkBAIC0yNiw3ICsyNiw3
IEBACiAjaW1wb3J0ICJjb25maWcuaCIKICNpbXBvcnQgIkdQVUNvbW1hbmRRdWV1ZS5oIgogCi0j
aWYgRU5BQkxFKFdFQkdQVSkKKyNpZiBFTkFCTEUoV0VCTUVUQUwpCiAKICNpbXBvcnQgIkdQVURl
dmljZS5oIgogI2ltcG9ydCAiTG9nZ2luZy5oIgpAQCAtNDEsNyArNDEsNyBAQCBzdGF0aWMgTlNT
dHJpbmcgKiBjb25zdCBjb21tYW5kUXVldWVMYWJlbFByZWZpeCA9IEAiY29tLmFwcGxlLldlYktp
dC4iOwogR1BVQ29tbWFuZFF1ZXVlOjpHUFVDb21tYW5kUXVldWUoY29uc3QgR1BVRGV2aWNlJiBk
ZXZpY2UpCiAgICAgOiBtX21ldGFsIHsgYWRvcHROUyhbZGV2aWNlLm1ldGFsKCkgbmV3Q29tbWFu
ZFF1ZXVlXSkgfQogewotICAgIExPRyhXZWJHUFUsICJHUFVDb21tYW5kUXVldWU6OkdQVUNvbW1h
bmRRdWV1ZSgpIik7CisgICAgTE9HKFdlYk1ldGFsLCAiR1BVQ29tbWFuZFF1ZXVlOjpHUFVDb21t
YW5kUXVldWUoKSIpOwogCiAgICAgW21fbWV0YWwgc2V0TGFiZWw6Y29tbWFuZFF1ZXVlRGVmYXVs
dExhYmVsXTsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L21ldGFsL0dQVUNvbXB1dGVDb21tYW5kRW5jb2Rlck1ldGFsLm1tIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvbWV0YWwvR1BVQ29tcHV0ZUNvbW1hbmRFbmNvZGVyTWV0YWwubW0K
aW5kZXggMWEwNWJiZGI5ZTc4YTI3MDY5MzQxNjkwZTM1NDcwZmE1NzllYTQ5Mi4uY2Y5NDRkN2Y4
NGE1Yjk1MTQxODgwYWM0MjJmNGI4NmE0Zjg2YjVkZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvbWV0YWwvR1BVQ29tcHV0ZUNvbW1hbmRFbmNvZGVyTWV0YWwu
bW0KKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvbWV0YWwvR1BVQ29tcHV0
ZUNvbW1hbmRFbmNvZGVyTWV0YWwubW0KQEAgLTI2LDcgKzI2LDcgQEAKICNpbXBvcnQgImNvbmZp
Zy5oIgogI2ltcG9ydCAiR1BVQ29tcHV0ZUNvbW1hbmRFbmNvZGVyLmgiCiAKLSNpZiBFTkFCTEUo
V0VCR1BVKQorI2lmIEVOQUJMRShXRUJNRVRBTCkKIAogI2ltcG9ydCAiR1BVQnVmZmVyLmgiCiAj
aW1wb3J0ICJHUFVDb21tYW5kQnVmZmVyLmgiCkBAIC00NSw3ICs0NSw3IEBAIHN0YXRpYyBpbmxp
bmUgTVRMU2l6ZSBNVExTaXplTWFrZShHUFVTaXplIHNpemUpCiBHUFVDb21wdXRlQ29tbWFuZEVu
Y29kZXI6OkdQVUNvbXB1dGVDb21tYW5kRW5jb2Rlcihjb25zdCBHUFVDb21tYW5kQnVmZmVyJiBi
dWZmZXIpCiAgICAgOiBtX21ldGFsIHsgW2J1ZmZlci5tZXRhbCgpIGNvbXB1dGVDb21tYW5kRW5j
b2Rlcl0gfQogewotICAgIExPRyhXZWJHUFUsICJHUFVDb21wdXRlQ29tbWFuZEVuY29kZXI6OkdQ
VUNvbXB1dGVDb21tYW5kRW5jb2RlcigpIik7CisgICAgTE9HKFdlYk1ldGFsLCAiR1BVQ29tcHV0
ZUNvbW1hbmRFbmNvZGVyOjpHUFVDb21wdXRlQ29tbWFuZEVuY29kZXIoKSIpOwogfQogCiB2b2lk
IEdQVUNvbXB1dGVDb21tYW5kRW5jb2Rlcjo6c2V0Q29tcHV0ZVBpcGVsaW5lU3RhdGUoY29uc3Qg
R1BVQ29tcHV0ZVBpcGVsaW5lU3RhdGUmIGNvbXB1dGVQaXBlbGluZVN0YXRlKSBjb25zdApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvbWV0YWwvR1BVQ29tcHV0
ZVBpcGVsaW5lU3RhdGVNZXRhbC5tbSBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L21ldGFsL0dQVUNvbXB1dGVQaXBlbGluZVN0YXRlTWV0YWwubW0KaW5kZXggNTAxYmVlZTdkMWM0
YzNiNGEyZmM3ZWYwM2EwZGE5ZTU5MDU5YjYxYi4uMTU3ODJlOTc3ZmRiMGUxNGM3M2ZkNjFkMTgy
ZGE0ZGVjZGYwNWZhOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvbWV0YWwvR1BVQ29tcHV0ZVBpcGVsaW5lU3RhdGVNZXRhbC5tbQorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9tZXRhbC9HUFVDb21wdXRlUGlwZWxpbmVTdGF0ZU1ldGFs
Lm1tCkBAIC0yNiw3ICsyNiw3IEBACiAjaW1wb3J0ICJjb25maWcuaCIKICNpbXBvcnQgIkdQVUNv
bXB1dGVQaXBlbGluZVN0YXRlLmgiCiAKLSNpZiBFTkFCTEUoV0VCR1BVKQorI2lmIEVOQUJMRShX
RUJNRVRBTCkKIAogI2ltcG9ydCAiR1BVRGV2aWNlLmgiCiAjaW1wb3J0ICJHUFVGdW5jdGlvbi5o
IgpAQCAtMzcsNyArMzcsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIEdQVUNvbXB1dGVQaXBl
bGluZVN0YXRlOjpHUFVDb21wdXRlUGlwZWxpbmVTdGF0ZShjb25zdCBHUFVEZXZpY2UmIGRldmlj
ZSwgY29uc3QgR1BVRnVuY3Rpb24mIGZ1bmN0aW9uKQogewotICAgIExPRyhXZWJHUFUsICJHUFVD
b21wdXRlUGlwZWxpbmVTdGF0ZTo6R1BVQ29tcHV0ZVBpcGVsaW5lU3RhdGUoKSIpOworICAgIExP
RyhXZWJNZXRhbCwgIkdQVUNvbXB1dGVQaXBlbGluZVN0YXRlOjpHUFVDb21wdXRlUGlwZWxpbmVT
dGF0ZSgpIik7CiAKICAgICBpZiAoIWZ1bmN0aW9uLm1ldGFsKCkpCiAgICAgICAgIHJldHVybjsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL21ldGFsL0dQVURl
cHRoU3RlbmNpbERlc2NyaXB0b3JNZXRhbC5tbSBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL21ldGFsL0dQVURlcHRoU3RlbmNpbERlc2NyaXB0b3JNZXRhbC5tbQppbmRleCBkNGE5
ODgyY2QyOTEwZDVmYjZjMzc4MWRjZmY5Yjc5MzBhMjIyYjJmLi41ZTg1YmM3MWM5N2E4NjUzMTM4
NmVlMDQyZWVhMzVhYjczY2Q5NDgyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9tZXRhbC9HUFVEZXB0aFN0ZW5jaWxEZXNjcmlwdG9yTWV0YWwubW0KKysrIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvbWV0YWwvR1BVRGVwdGhTdGVuY2lsRGVz
Y3JpcHRvck1ldGFsLm1tCkBAIC0yNiw3ICsyNiw3IEBACiAjaW1wb3J0ICJjb25maWcuaCIKICNp
bXBvcnQgIkdQVURlcHRoU3RlbmNpbERlc2NyaXB0b3IuaCIKIAotI2lmIEVOQUJMRShXRUJHUFUp
CisjaWYgRU5BQkxFKFdFQk1FVEFMKQogCiAjaW1wb3J0ICJHUFVFbnVtcy5oIgogI2ltcG9ydCAi
TG9nZ2luZy5oIgpAQCAtMzcsNyArMzcsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiBHUFVEZXB0
aFN0ZW5jaWxEZXNjcmlwdG9yOjpHUFVEZXB0aFN0ZW5jaWxEZXNjcmlwdG9yKCkKICAgICA6IG1f
bWV0YWwgeyBhZG9wdE5TKFtNVExEZXB0aFN0ZW5jaWxEZXNjcmlwdG9yIG5ld10pIH0KIHsKLSAg
ICBMT0coV2ViR1BVLCAiR1BVRGVwdGhTdGVuY2lsRGVzY3JpcHRvcjo6R1BVRGVwdGhTdGVuY2ls
RGVzY3JpcHRvcigpIik7CisgICAgTE9HKFdlYk1ldGFsLCAiR1BVRGVwdGhTdGVuY2lsRGVzY3Jp
cHRvcjo6R1BVRGVwdGhTdGVuY2lsRGVzY3JpcHRvcigpIik7CiB9CiAKIGJvb2wgR1BVRGVwdGhT
dGVuY2lsRGVzY3JpcHRvcjo6ZGVwdGhXcml0ZUVuYWJsZWQoKSBjb25zdApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvbWV0YWwvR1BVRGVwdGhTdGVuY2lsU3Rh
dGVNZXRhbC5tbSBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL21ldGFsL0dQVURl
cHRoU3RlbmNpbFN0YXRlTWV0YWwubW0KaW5kZXggNzI1ZjI1YWU2MzQzMDU0MGViMGFhODkzZmJm
YTAwNzE1NjI4NzQ0NS4uNTU4MGM3NGNlNTQ2N2RiOWI1OTI3NTk5YTM3MTE0MzdhY2ZjODUzNSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvbWV0YWwvR1BVRGVw
dGhTdGVuY2lsU3RhdGVNZXRhbC5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9tZXRhbC9HUFVEZXB0aFN0ZW5jaWxTdGF0ZU1ldGFsLm1tCkBAIC0yNiw3ICsyNiw3IEBA
CiAjaW1wb3J0ICJjb25maWcuaCIKICNpbXBvcnQgIkdQVURlcHRoU3RlbmNpbFN0YXRlLmgiCiAK
LSNpZiBFTkFCTEUoV0VCR1BVKQorI2lmIEVOQUJMRShXRUJNRVRBTCkKIAogI2ltcG9ydCAiR1BV
RGVwdGhTdGVuY2lsRGVzY3JpcHRvci5oIgogI2ltcG9ydCAiR1BVRGV2aWNlLmgiCkBAIC0zOSw3
ICszOSw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIEdQVURlcHRoU3RlbmNpbFN0YXRlOjpHUFVE
ZXB0aFN0ZW5jaWxTdGF0ZShjb25zdCBHUFVEZXZpY2UmIGRldmljZSwgY29uc3QgR1BVRGVwdGhT
dGVuY2lsRGVzY3JpcHRvciYgZGVzY3JpcHRvcikKICAgICA6IG1fbWV0YWwgeyBhZG9wdE5TKFtk
ZXZpY2UubWV0YWwoKSBuZXdEZXB0aFN0ZW5jaWxTdGF0ZVdpdGhEZXNjcmlwdG9yOmRlc2NyaXB0
b3IubWV0YWwoKV0pIH0KIHsKLSAgICBMT0coV2ViR1BVLCAiR1BVRGVwdGhTdGVuY2lsU3RhdGU6
OkdQVURlcHRoU3RlbmNpbFN0YXRlKCkiKTsKKyAgICBMT0coV2ViTWV0YWwsICJHUFVEZXB0aFN0
ZW5jaWxTdGF0ZTo6R1BVRGVwdGhTdGVuY2lsU3RhdGUoKSIpOwogfQogCiBTdHJpbmcgR1BVRGVw
dGhTdGVuY2lsU3RhdGU6OmxhYmVsKCkgY29uc3QKQEAgLTU0LDcgKzU0LDcgQEAgdm9pZCBHUFVE
ZXB0aFN0ZW5jaWxTdGF0ZTo6c2V0TGFiZWwoY29uc3QgU3RyaW5nJikgY29uc3QKIHsKICAgICAv
LyBGSVhNRTogVGhlIE1UTERlcHRoU3RlbmNpbFN0YXRlIHByb3RvY29sIGRvZXMgbm90IGFsbG93
IHNldHRpbmcgdGhlIGxhYmVsLgogICAgIC8vIFRoZSBsYWJlbCBoYXMgdG8gYmUgc2V0IG9uIHRo
ZSBkZXNjcmlwdG9yIHdoZW4gY3JlYXRpbmcgdGhlIHN0YXRlIG9iamVjdC4KLSAgICAvLyBXZSBz
aG91bGQgY29uc2lkZXIgY2hhbmdpbmcgdGhlIFdlYkdQVSBpbnRlcmZhY2UgdG8gbm90IHJlcXVp
cmUgdGhpcyEKKyAgICAvLyBXZSBzaG91bGQgY29uc2lkZXIgY2hhbmdpbmcgdGhlIFdlYk1ldGFs
IGludGVyZmFjZSB0byBub3QgcmVxdWlyZSB0aGlzIQogfQogICAgIAogfSAvLyBuYW1lc3BhY2Ug
V2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvbWV0
YWwvR1BVRGV2aWNlTWV0YWwubW0gYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9t
ZXRhbC9HUFVEZXZpY2VNZXRhbC5tbQppbmRleCA4YWRkZmU5YWNjZmM3ZDk0OWRkNmM5ZTBmNTk4
OGI4NTNiMTAyMmNlLi5iY2VhM2Y3NzQ0NjRkZTM3ODU0N2NjNzU2MjczMWJjZmNlNzYxMjFkIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9tZXRhbC9HUFVEZXZp
Y2VNZXRhbC5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9tZXRhbC9H
UFVEZXZpY2VNZXRhbC5tbQpAQCAtMjYsMTAgKzI2LDEwIEBACiAjaW1wb3J0ICJjb25maWcuaCIK
ICNpbXBvcnQgIkdQVURldmljZS5oIgogCi0jaWYgRU5BQkxFKFdFQkdQVSkKKyNpZiBFTkFCTEUo
V0VCTUVUQUwpCiAKICNpbXBvcnQgIkxvZ2dpbmcuaCIKLSNpbXBvcnQgIldlYkdQVUxheWVyLmgi
CisjaW1wb3J0ICJXZWJNZXRhbExheWVyLmgiCiAjaW1wb3J0IDxKYXZhU2NyaXB0Q29yZS9BcnJh
eUJ1ZmZlci5oPgogI2ltcG9ydCA8TWV0YWwvTWV0YWwuaD4KICNpbXBvcnQgPHd0Zi9CbG9ja09i
akNFeGNlcHRpb25zLmg+CkBAIC00MSwxOSArNDEsMTkgQEAgR1BVRGV2aWNlOjpHUFVEZXZpY2Uo
KQogewogCiAgICAgaWYgKCFtX21ldGFsKSB7Ci0gICAgICAgIExPRyhXZWJHUFUsICJHUFVEZXZp
Y2U6OkdQVURldmljZSAtLSBjb3VsZCBub3QgY3JlYXRlIHRoZSBkZXZpY2UuIFRoaXMgdXN1YWxs
eSBtZWFucyBNZXRhbCBpcyBub3QgYXZhaWxhYmxlIG9uIHRoaXMgaGFyZHdhcmUuIik7CisgICAg
ICAgIExPRyhXZWJNZXRhbCwgIkdQVURldmljZTo6R1BVRGV2aWNlIC0tIGNvdWxkIG5vdCBjcmVh
dGUgdGhlIGRldmljZS4gVGhpcyB1c3VhbGx5IG1lYW5zIE1ldGFsIGlzIG5vdCBhdmFpbGFibGUg
b24gdGhpcyBoYXJkd2FyZS4iKTsKICAgICAgICAgcmV0dXJuOwogICAgIH0KIAotICAgIExPRyhX
ZWJHUFUsICJHUFVEZXZpY2U6OkdQVURldmljZSBNZXRhbCBkZXZpY2UgaXMgJXAiLCBtX21ldGFs
LmdldCgpKTsKKyAgICBMT0coV2ViTWV0YWwsICJHUFVEZXZpY2U6OkdQVURldmljZSBNZXRhbCBk
ZXZpY2UgaXMgJXAiLCBtX21ldGFsLmdldCgpKTsKIAogICAgIEJFR0lOX0JMT0NLX09CSkNfRVhD
RVBUSU9OUwogCi0gICAgbV9sYXllciA9IGFkb3B0TlMoW1tXZWJHUFVMYXllciBhbGxvY10gaW5p
dFdpdGhHUFVEZXZpY2U6dGhpc10pOworICAgIG1fbGF5ZXIgPSBhZG9wdE5TKFtbV2ViTWV0YWxM
YXllciBhbGxvY10gaW5pdFdpdGhHUFVEZXZpY2U6dGhpc10pOwogICAgIFttX2xheWVyIHNldE9w
YXF1ZTowXTsKLSAgICBbbV9sYXllciBzZXROYW1lOkAiV2ViR1BVIExheWVyIl07CisgICAgW21f
bGF5ZXIgc2V0TmFtZTpAIldlYk1ldGFsIExheWVyIl07CiAKLSAgICAvLyBGSVhNRTogV2ViR1BV
IC0gU2hvdWxkIHRoaXMgYmUgaW4gdGhlIFdlYkdQVUxheWVyIGluaXRpYWxpemVyPworICAgIC8v
IEZJWE1FOiBXZWJNZXRhbCAtIFNob3VsZCB0aGlzIGJlIGluIHRoZSBXZWJNZXRhbExheWVyIGlu
aXRpYWxpemVyPwogICAgIFttX2xheWVyIHNldERldmljZTptX21ldGFsLmdldCgpXTsKICAgICBb
bV9sYXllciBzZXRQaXhlbEZvcm1hdDpNVExQaXhlbEZvcm1hdEJHUkE4VW5vcm1dOwogICAgIFtt
X2xheWVyIHNldEZyYW1lYnVmZmVyT25seTpZRVNdOwpAQCAtNzIsNyArNzIsNyBAQCB2b2lkIEdQ
VURldmljZTo6cmVzaGFwZShpbnQgd2lkdGgsIGludCBoZWlnaHQpIGNvbnN0CiAgICAgW21fbGF5
ZXIgc2V0Qm91bmRzOkNHUmVjdE1ha2UoMCwgMCwgd2lkdGgsIGhlaWdodCldOwogICAgIFttX2xh
eWVyIHNldERyYXdhYmxlU2l6ZTpDR1NpemVNYWtlKHdpZHRoLCBoZWlnaHQpXTsKIAotICAgIC8v
IEZJWE1FOiBXZWJHUFUgLSBMb3RzIG9mIHJlc2hhcGUgc3R1ZmYgc2hvdWxkIGdvIGhlcmUuIFNl
ZSBHQzNELgorICAgIC8vIEZJWE1FOiBXZWJNZXRhbCAtIExvdHMgb2YgcmVzaGFwZSBzdHVmZiBz
aG91bGQgZ28gaGVyZS4gU2VlIEdDM0QuCiB9CiAKIENBTGF5ZXIgKkdQVURldmljZTo6cGxhdGZv
cm1MYXllcigpIGNvbnN0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9tZXRhbC9HUFVEcmF3YWJsZU1ldGFsLm1tIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvbWV0YWwvR1BVRHJhd2FibGVNZXRhbC5tbQppbmRleCBmYjMyNjhjODRhN2U3ZWE5
NDAyODFkNzA5OWU3ZWUzYmU4NDU4NjdlLi41Y2FkOThhY2FjMDE0YTFkYWQ2Mjc2MzA5YjQ3MmJl
MWEwMWM3YmQyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9t
ZXRhbC9HUFVEcmF3YWJsZU1ldGFsLm1tCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL21ldGFsL0dQVURyYXdhYmxlTWV0YWwubW0KQEAgLTI2LDIzICsyNiwyMyBAQAogI2lt
cG9ydCAiY29uZmlnLmgiCiAjaW1wb3J0ICJHUFVEcmF3YWJsZS5oIgogCi0jaWYgRU5BQkxFKFdF
QkdQVSkKKyNpZiBFTkFCTEUoV0VCTUVUQUwpCiAKICNpbXBvcnQgIkdQVURldmljZS5oIgogI2lt
cG9ydCAiTG9nZ2luZy5oIgotI2ltcG9ydCAiV2ViR1BVTGF5ZXIuaCIKKyNpbXBvcnQgIldlYk1l
dGFsTGF5ZXIuaCIKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCiBHUFVEcmF3YWJsZTo6R1BVRHJh
d2FibGUoY29uc3QgR1BVRGV2aWNlJiBkZXZpY2UpCiAgICAgOiBtX21ldGFsIHsgW2RldmljZS5s
YXllcigpIG5leHREcmF3YWJsZV0gfQogewotICAgIExPRyhXZWJHUFUsICJHUFVEcmF3YWJsZTo6
R1BVRHJhd2FibGUoKSIpOworICAgIExPRyhXZWJNZXRhbCwgIkdQVURyYXdhYmxlOjpHUFVEcmF3
YWJsZSgpIik7CiB9CiAKIHZvaWQgR1BVRHJhd2FibGU6OnJlbGVhc2UoKQogewotICAgIExPRyhX
ZWJHUFUsICJHUFVEcmF3YWJsZTo6cmVsZWFzZSgpIik7CisgICAgTE9HKFdlYk1ldGFsLCAiR1BV
RHJhd2FibGU6OnJlbGVhc2UoKSIpOwogICAgIG1fbWV0YWwgPSBuaWw7CiB9CiAgICAgCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9tZXRhbC9HUFVGdW5jdGlv
bk1ldGFsLm1tIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvbWV0YWwvR1BVRnVu
Y3Rpb25NZXRhbC5tbQppbmRleCAwODIzMjA5OWFmNjU4ZTk5NGZhYTljODE1ODA3OThkMjM3ZjM3
MjRhLi43YTRiZTNiZjNhYTgyNGU3MGQ3NmU2NzRjOGNlNjA5MTY5MGQxYmZjIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9tZXRhbC9HUFVGdW5jdGlvbk1ldGFs
Lm1tCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL21ldGFsL0dQVUZ1bmN0
aW9uTWV0YWwubW0KQEAgLTI2LDcgKzI2LDcgQEAKICNpbXBvcnQgImNvbmZpZy5oIgogI2ltcG9y
dCAiR1BVRnVuY3Rpb24uaCIKIAotI2lmIEVOQUJMRShXRUJHUFUpCisjaWYgRU5BQkxFKFdFQk1F
VEFMKQogCiAjaW1wb3J0ICJHUFVMaWJyYXJ5LmgiCiAjaW1wb3J0ICJMb2dnaW5nLmgiCkBAIC0z
OCw3ICszOCw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIEdQVUZ1bmN0aW9uOjpHUFVGdW5jdGlv
bihjb25zdCBHUFVMaWJyYXJ5JiBsaWJyYXJ5LCBjb25zdCBTdHJpbmcmIG5hbWUpCiAgICAgOiBt
X21ldGFsIHsgYWRvcHROUyhbbGlicmFyeS5tZXRhbCgpIG5ld0Z1bmN0aW9uV2l0aE5hbWU6bmFt
ZV0pIH0KIHsKLSAgICBMT0coV2ViR1BVLCAiR1BVRnVuY3Rpb246OkdQVUZ1bmN0aW9uKCkiKTsK
KyAgICBMT0coV2ViTWV0YWwsICJHUFVGdW5jdGlvbjo6R1BVRnVuY3Rpb24oKSIpOwogfQogCiBT
dHJpbmcgR1BVRnVuY3Rpb246Om5hbWUoKSBjb25zdApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvbWV0YWwvR1BVTGlicmFyeU1ldGFsLm1tIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvbWV0YWwvR1BVTGlicmFyeU1ldGFsLm1tCmluZGV4IDhh
ZTg4N2FmMjg2MGU5M2E5ZWYwYzc2ODJlZmFkZWZjYjA5NGJiNzYuLmUyYWRiMWFhNDVlYWFjYWQ5
MDczNmQ4OTk0NDk2YjczMmZkM2E0ZTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL21ldGFsL0dQVUxpYnJhcnlNZXRhbC5tbQorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9tZXRhbC9HUFVMaWJyYXJ5TWV0YWwubW0KQEAgLTI2LDcgKzI2
LDcgQEAKICNpbXBvcnQgImNvbmZpZy5oIgogI2ltcG9ydCAiR1BVTGlicmFyeS5oIgogCi0jaWYg
RU5BQkxFKFdFQkdQVSkKKyNpZiBFTkFCTEUoV0VCTUVUQUwpCiAKICNpbXBvcnQgIkdQVURldmlj
ZS5oIgogI2ltcG9ydCAiTG9nZ2luZy5oIgpAQCAtMzgsNyArMzgsNyBAQCBuYW1lc3BhY2UgV2Vi
Q29yZSB7CiAKIEdQVUxpYnJhcnk6OkdQVUxpYnJhcnkoY29uc3QgR1BVRGV2aWNlJiBkZXZpY2Us
IGNvbnN0IFN0cmluZyYgc291cmNlQ29kZSkKIHsKLSAgICBMT0coV2ViR1BVLCAiR1BVTGlicmFy
eTo6R1BVTGlicmFyeSgpIik7CisgICAgTE9HKFdlYk1ldGFsLCAiR1BVTGlicmFyeTo6R1BVTGli
cmFyeSgpIik7CiAKICAgICBpZiAoIWRldmljZS5tZXRhbCgpKQogICAgICAgICByZXR1cm47CkBA
IC00Niw3ICs0Niw3IEBAIEdQVUxpYnJhcnk6OkdQVUxpYnJhcnkoY29uc3QgR1BVRGV2aWNlJiBk
ZXZpY2UsIGNvbnN0IFN0cmluZyYgc291cmNlQ29kZSkKICAgICBOU0Vycm9yICplcnJvciA9IFtO
U0Vycm9yIGVycm9yV2l0aERvbWFpbjpAImNvbS5hcHBsZS5XZWJLaXQuR1BVIiBjb2RlOjEgdXNl
ckluZm86bmlsXTsKICAgICBtX21ldGFsID0gYWRvcHROUyhbZGV2aWNlLm1ldGFsKCkgbmV3TGli
cmFyeVdpdGhTb3VyY2U6c291cmNlQ29kZSBvcHRpb25zOm5pbCBlcnJvcjomZXJyb3JdKTsKICAg
ICBpZiAoIW1fbWV0YWwpCi0gICAgICAgIExPRyhXZWJHUFUsICJDb21waWxhdGlvbiBlcnJvcjog
JXMiLCBbW2Vycm9yIGxvY2FsaXplZERlc2NyaXB0aW9uXSBVVEY4U3RyaW5nXSk7CisgICAgICAg
IExPRyhXZWJNZXRhbCwgIkNvbXBpbGF0aW9uIGVycm9yOiAlcyIsIFtbZXJyb3IgbG9jYWxpemVk
RGVzY3JpcHRpb25dIFVURjhTdHJpbmddKTsKIH0KIAogU3RyaW5nIEdQVUxpYnJhcnk6OmxhYmVs
KCkgY29uc3QKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL21l
dGFsL0dQVVJlbmRlckNvbW1hbmRFbmNvZGVyTWV0YWwubW0gYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9tZXRhbC9HUFVSZW5kZXJDb21tYW5kRW5jb2Rlck1ldGFsLm1tCmluZGV4
IGMxZTYyYjNlMTdhNmYyMWM3NDc2MzNiNDk4Nzk5YWE2MmY4NWMzZGMuLmI3NzU4M2IyNTY3OWZh
YTg0MmMxMGIwNzI1YWJkNTJlZDQxNTY2MjUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL21ldGFsL0dQVVJlbmRlckNvbW1hbmRFbmNvZGVyTWV0YWwubW0KKysr
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvbWV0YWwvR1BVUmVuZGVyQ29tbWFu
ZEVuY29kZXJNZXRhbC5tbQpAQCAtMjYsNyArMjYsNyBAQAogI2ltcG9ydCAiY29uZmlnLmgiCiAj
aW1wb3J0ICJHUFVSZW5kZXJDb21tYW5kRW5jb2Rlci5oIgogCi0jaWYgRU5BQkxFKFdFQkdQVSkK
KyNpZiBFTkFCTEUoV0VCTUVUQUwpCiAKICNpbXBvcnQgIkdQVUJ1ZmZlci5oIgogI2ltcG9ydCAi
R1BVQ29tbWFuZEJ1ZmZlci5oIgpAQCAtNDAsNyArNDAsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7
CiAKIEdQVVJlbmRlckNvbW1hbmRFbmNvZGVyOjpHUFVSZW5kZXJDb21tYW5kRW5jb2Rlcihjb25z
dCBHUFVDb21tYW5kQnVmZmVyJiBidWZmZXIsIGNvbnN0IEdQVVJlbmRlclBhc3NEZXNjcmlwdG9y
JiBkZXNjcmlwdG9yKQogewotICAgIExPRyhXZWJHUFUsICJHUFVSZW5kZXJDb21tYW5kRW5jb2Rl
cjo6R1BVUmVuZGVyQ29tbWFuZEVuY29kZXIoKSIpOworICAgIExPRyhXZWJNZXRhbCwgIkdQVVJl
bmRlckNvbW1hbmRFbmNvZGVyOjpHUFVSZW5kZXJDb21tYW5kRW5jb2RlcigpIik7CiAKICAgICBp
ZiAoIWRlc2NyaXB0b3IubWV0YWwoKSkKICAgICAgICAgcmV0dXJuOwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvbWV0YWwvR1BVUmVuZGVyUGFzc0F0dGFjaG1l
bnREZXNjcmlwdG9yTWV0YWwubW0gYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9t
ZXRhbC9HUFVSZW5kZXJQYXNzQXR0YWNobWVudERlc2NyaXB0b3JNZXRhbC5tbQppbmRleCA3MzBl
NzBmMzc4NjVlY2E0NGU4NWZhMGZiNWJjNDkxYjAwZTZmMjcwLi45MjQ5MzlhOGJjMjgzYzEyNGQ4
MjUxZTM0ZDUyNWE3OWQ2ZDA5OGNhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9tZXRhbC9HUFVSZW5kZXJQYXNzQXR0YWNobWVudERlc2NyaXB0b3JNZXRhbC5t
bQorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9tZXRhbC9HUFVSZW5kZXJQ
YXNzQXR0YWNobWVudERlc2NyaXB0b3JNZXRhbC5tbQpAQCAtMjYsNyArMjYsNyBAQAogI2ltcG9y
dCAiY29uZmlnLmgiCiAjaW1wb3J0ICJHUFVSZW5kZXJQYXNzQXR0YWNobWVudERlc2NyaXB0b3Iu
aCIKIAotI2lmIEVOQUJMRShXRUJHUFUpCisjaWYgRU5BQkxFKFdFQk1FVEFMKQogCiAjaW1wb3J0
ICJHUFVUZXh0dXJlLmgiCiAjaW1wb3J0ICJMb2dnaW5nLmgiCkBAIC0zOCw3ICszOCw3IEBAIG5h
bWVzcGFjZSBXZWJDb3JlIHsKIEdQVVJlbmRlclBhc3NBdHRhY2htZW50RGVzY3JpcHRvcjo6R1BV
UmVuZGVyUGFzc0F0dGFjaG1lbnREZXNjcmlwdG9yKE1UTFJlbmRlclBhc3NBdHRhY2htZW50RGVz
Y3JpcHRvciAqbWV0YWwpCiAgICAgOiBtX21ldGFsIHsgbWV0YWwgfQogewotICAgIExPRyhXZWJH
UFUsICJHUFVSZW5kZXJQYXNzQXR0YWNobWVudERlc2NyaXB0b3I6OkdQVVJlbmRlclBhc3NBdHRh
Y2htZW50RGVzY3JpcHRvcigpIik7CisgICAgTE9HKFdlYk1ldGFsLCAiR1BVUmVuZGVyUGFzc0F0
dGFjaG1lbnREZXNjcmlwdG9yOjpHUFVSZW5kZXJQYXNzQXR0YWNobWVudERlc2NyaXB0b3IoKSIp
OwogfQogCiB1bnNpZ25lZCBHUFVSZW5kZXJQYXNzQXR0YWNobWVudERlc2NyaXB0b3I6OmxvYWRB
Y3Rpb24oKSBjb25zdApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvbWV0YWwvR1BVUmVuZGVyUGFzc0NvbG9yQXR0YWNobWVudERlc2NyaXB0b3JNZXRhbC5tbSBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL21ldGFsL0dQVVJlbmRlclBhc3NDb2xv
ckF0dGFjaG1lbnREZXNjcmlwdG9yTWV0YWwubW0KaW5kZXggMWY1YTM2OTUzMjQ5YTI2Mzc2YTVi
YTU4ZjBlY2IyODgxNjZhYWEwNC4uY2NkMGY0OTA5NWM0NzRiNjJhYzdlOTk4YmM2ZWZhYTFmYjNl
ZmJlNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvbWV0YWwv
R1BVUmVuZGVyUGFzc0NvbG9yQXR0YWNobWVudERlc2NyaXB0b3JNZXRhbC5tbQorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9tZXRhbC9HUFVSZW5kZXJQYXNzQ29sb3JBdHRh
Y2htZW50RGVzY3JpcHRvck1ldGFsLm1tCkBAIC0yNiw3ICsyNiw3IEBACiAjaW1wb3J0ICJjb25m
aWcuaCIKICNpbXBvcnQgIkdQVVJlbmRlclBhc3NDb2xvckF0dGFjaG1lbnREZXNjcmlwdG9yLmgi
CiAKLSNpZiBFTkFCTEUoV0VCR1BVKQorI2lmIEVOQUJMRShXRUJNRVRBTCkKIAogI2ltcG9ydCAi
RmxvYXRDb252ZXJzaW9uLmgiCiAjaW1wb3J0ICJMb2dnaW5nLmgiCkBAIC0zOCw3ICszOCw3IEBA
IG5hbWVzcGFjZSBXZWJDb3JlIHsKIEdQVVJlbmRlclBhc3NDb2xvckF0dGFjaG1lbnREZXNjcmlw
dG9yOjpHUFVSZW5kZXJQYXNzQ29sb3JBdHRhY2htZW50RGVzY3JpcHRvcihNVExSZW5kZXJQYXNz
Q29sb3JBdHRhY2htZW50RGVzY3JpcHRvciAqbWV0YWwpCiAgICAgOiBHUFVSZW5kZXJQYXNzQXR0
YWNobWVudERlc2NyaXB0b3IgeyBtZXRhbCB9CiB7Ci0gICAgTE9HKFdlYkdQVSwgIkdQVVJlbmRl
clBhc3NDb2xvckF0dGFjaG1lbnREZXNjcmlwdG9yOjpHUFVSZW5kZXJQYXNzQ29sb3JBdHRhY2ht
ZW50RGVzY3JpcHRvcigpIik7CisgICAgTE9HKFdlYk1ldGFsLCAiR1BVUmVuZGVyUGFzc0NvbG9y
QXR0YWNobWVudERlc2NyaXB0b3I6OkdQVVJlbmRlclBhc3NDb2xvckF0dGFjaG1lbnREZXNjcmlw
dG9yKCkiKTsKIH0KIAogVmVjdG9yPGZsb2F0PiBHUFVSZW5kZXJQYXNzQ29sb3JBdHRhY2htZW50
RGVzY3JpcHRvcjo6Y2xlYXJDb2xvcigpIGNvbnN0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9tZXRhbC9HUFVSZW5kZXJQYXNzRGVwdGhBdHRhY2htZW50RGVz
Y3JpcHRvck1ldGFsLm1tIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvbWV0YWwv
R1BVUmVuZGVyUGFzc0RlcHRoQXR0YWNobWVudERlc2NyaXB0b3JNZXRhbC5tbQppbmRleCAzNzY1
YjFhMmE5NDlkNjEyYTgzYzBlMDlmYTVmZjBmZjc1YThhNzg1Li43NjQ3MmU5M2U0YjNiZmQ3OGUz
ZDRmODdhMGI4YzM3ODI3ZWMyNDg5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9tZXRhbC9HUFVSZW5kZXJQYXNzRGVwdGhBdHRhY2htZW50RGVzY3JpcHRvck1l
dGFsLm1tCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL21ldGFsL0dQVVJl
bmRlclBhc3NEZXB0aEF0dGFjaG1lbnREZXNjcmlwdG9yTWV0YWwubW0KQEAgLTI2LDcgKzI2LDcg
QEAKICNpbXBvcnQgImNvbmZpZy5oIgogI2ltcG9ydCAiR1BVUmVuZGVyUGFzc0RlcHRoQXR0YWNo
bWVudERlc2NyaXB0b3IuaCIKIAotI2lmIEVOQUJMRShXRUJHUFUpCisjaWYgRU5BQkxFKFdFQk1F
VEFMKQogCiAjaW1wb3J0ICJHUFVSZW5kZXJQYXNzQXR0YWNobWVudERlc2NyaXB0b3IuaCIKICNp
bXBvcnQgIkxvZ2dpbmcuaCIKQEAgLTM3LDcgKzM3LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewog
R1BVUmVuZGVyUGFzc0RlcHRoQXR0YWNobWVudERlc2NyaXB0b3I6OkdQVVJlbmRlclBhc3NEZXB0
aEF0dGFjaG1lbnREZXNjcmlwdG9yKE1UTFJlbmRlclBhc3NEZXB0aEF0dGFjaG1lbnREZXNjcmlw
dG9yICptZXRhbCkKICAgICA6IEdQVVJlbmRlclBhc3NBdHRhY2htZW50RGVzY3JpcHRvciB7IG1l
dGFsIH0KIHsKLSAgICBMT0coV2ViR1BVLCAiR1BVUmVuZGVyUGFzc0RlcHRoQXR0YWNobWVudERl
c2NyaXB0b3I6OkdQVVJlbmRlclBhc3NEZXB0aEF0dGFjaG1lbnREZXNjcmlwdG9yKCkiKTsKKyAg
ICBMT0coV2ViTWV0YWwsICJHUFVSZW5kZXJQYXNzRGVwdGhBdHRhY2htZW50RGVzY3JpcHRvcjo6
R1BVUmVuZGVyUGFzc0RlcHRoQXR0YWNobWVudERlc2NyaXB0b3IoKSIpOwogfQogCiBkb3VibGUg
R1BVUmVuZGVyUGFzc0RlcHRoQXR0YWNobWVudERlc2NyaXB0b3I6OmNsZWFyRGVwdGgoKSBjb25z
dApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvbWV0YWwvR1BV
UmVuZGVyUGFzc0Rlc2NyaXB0b3JNZXRhbC5tbSBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL21ldGFsL0dQVVJlbmRlclBhc3NEZXNjcmlwdG9yTWV0YWwubW0KaW5kZXggYjdhZTE4
YmYxNjZkZGFkMTg1MmE4N2M5OGIwMTQ4YjgzMDQ4MDZmMy4uZWE4ZGQ3MTU3NzMzNTZmNGM3OGRl
NjRjNGI1ZmUzY2Q0NDVmNTJkOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvbWV0YWwvR1BVUmVuZGVyUGFzc0Rlc2NyaXB0b3JNZXRhbC5tbQorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9tZXRhbC9HUFVSZW5kZXJQYXNzRGVzY3JpcHRv
ck1ldGFsLm1tCkBAIC0yNiw3ICsyNiw3IEBACiAjaW1wb3J0ICJjb25maWcuaCIKICNpbXBvcnQg
IkdQVVJlbmRlclBhc3NEZXNjcmlwdG9yLmgiCiAKLSNpZiBFTkFCTEUoV0VCR1BVKQorI2lmIEVO
QUJMRShXRUJNRVRBTCkKIAogI2ltcG9ydCAiR1BVUmVuZGVyUGFzc0NvbG9yQXR0YWNobWVudERl
c2NyaXB0b3IuaCIKICNpbXBvcnQgIkdQVVJlbmRlclBhc3NEZXB0aEF0dGFjaG1lbnREZXNjcmlw
dG9yLmgiCkBAIC0zOSw3ICszOSw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIEdQVVJlbmRlclBh
c3NEZXNjcmlwdG9yOjpHUFVSZW5kZXJQYXNzRGVzY3JpcHRvcigpCiAgICAgOiBtX21ldGFsIHsg
YWRvcHROUyhbTVRMUmVuZGVyUGFzc0Rlc2NyaXB0b3IgbmV3XSkgfQogewotICAgIExPRyhXZWJH
UFUsICJHUFVSZW5kZXJQYXNzRGVzY3JpcHRvcjo6R1BVUmVuZGVyUGFzc0Rlc2NyaXB0b3IoKSIp
OworICAgIExPRyhXZWJNZXRhbCwgIkdQVVJlbmRlclBhc3NEZXNjcmlwdG9yOjpHUFVSZW5kZXJQ
YXNzRGVzY3JpcHRvcigpIik7CiB9CiAKIFZlY3RvcjxHUFVSZW5kZXJQYXNzQ29sb3JBdHRhY2ht
ZW50RGVzY3JpcHRvcj4gR1BVUmVuZGVyUGFzc0Rlc2NyaXB0b3I6OmNvbG9yQXR0YWNobWVudHMo
KSBjb25zdApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvbWV0
YWwvR1BVUmVuZGVyUGlwZWxpbmVDb2xvckF0dGFjaG1lbnREZXNjcmlwdG9yTWV0YWwubW0gYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9tZXRhbC9HUFVSZW5kZXJQaXBlbGluZUNv
bG9yQXR0YWNobWVudERlc2NyaXB0b3JNZXRhbC5tbQppbmRleCBkYjhlNTJkNmZjOTcxZWY3ZjI1
MjQzODJkZmU3ZjY2NzY0ODBmMTdmLi5hOWNhZjE1NTNkMDFkMTk3NGYzNTkyZjU3YmM3OGQxMWRh
OTFjODdkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9tZXRh
bC9HUFVSZW5kZXJQaXBlbGluZUNvbG9yQXR0YWNobWVudERlc2NyaXB0b3JNZXRhbC5tbQorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9tZXRhbC9HUFVSZW5kZXJQaXBlbGlu
ZUNvbG9yQXR0YWNobWVudERlc2NyaXB0b3JNZXRhbC5tbQpAQCAtMjYsNyArMjYsNyBAQAogI2lt
cG9ydCAiY29uZmlnLmgiCiAjaW1wb3J0ICJHUFVSZW5kZXJQaXBlbGluZUNvbG9yQXR0YWNobWVu
dERlc2NyaXB0b3IuaCIKIAotI2lmIEVOQUJMRShXRUJHUFUpCisjaWYgRU5BQkxFKFdFQk1FVEFM
KQogCiAjaW1wb3J0ICJMb2dnaW5nLmgiCiAjaW1wb3J0IDxNZXRhbC9NZXRhbC5oPgpAQCAtMzYs
NyArMzYsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiBHUFVSZW5kZXJQaXBlbGluZUNvbG9yQXR0
YWNobWVudERlc2NyaXB0b3I6OkdQVVJlbmRlclBpcGVsaW5lQ29sb3JBdHRhY2htZW50RGVzY3Jp
cHRvcihNVExSZW5kZXJQaXBlbGluZUNvbG9yQXR0YWNobWVudERlc2NyaXB0b3IgKm1ldGFsKQog
ICAgIDogbV9tZXRhbCB7IG1ldGFsIH0KIHsKLSAgICBMT0coV2ViR1BVLCAiR1BVUmVuZGVyUGlw
ZWxpbmVDb2xvckF0dGFjaG1lbnREZXNjcmlwdG9yOjpHUFVSZW5kZXJQaXBlbGluZUNvbG9yQXR0
YWNobWVudERlc2NyaXB0b3IoKSIpOworICAgIExPRyhXZWJNZXRhbCwgIkdQVVJlbmRlclBpcGVs
aW5lQ29sb3JBdHRhY2htZW50RGVzY3JpcHRvcjo6R1BVUmVuZGVyUGlwZWxpbmVDb2xvckF0dGFj
aG1lbnREZXNjcmlwdG9yKCkiKTsKIH0KIAogdW5zaWduZWQgR1BVUmVuZGVyUGlwZWxpbmVDb2xv
ckF0dGFjaG1lbnREZXNjcmlwdG9yOjpwaXhlbEZvcm1hdCgpIGNvbnN0CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9tZXRhbC9HUFVSZW5kZXJQaXBlbGluZURl
c2NyaXB0b3JNZXRhbC5tbSBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL21ldGFs
L0dQVVJlbmRlclBpcGVsaW5lRGVzY3JpcHRvck1ldGFsLm1tCmluZGV4IDI2MzMzNzc2YjBhOGI4
OWM4M2E1MzRkYTM5OTcyYjE3MDU3M2VjNjEuLjZhZDAwMjk5NzJmZmQwMDU0ZmRkZWY0YzA5MmRi
ZTcwMWFiZGQyMjggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L21ldGFsL0dQVVJlbmRlclBpcGVsaW5lRGVzY3JpcHRvck1ldGFsLm1tCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL21ldGFsL0dQVVJlbmRlclBpcGVsaW5lRGVzY3JpcHRv
ck1ldGFsLm1tCkBAIC0yNiw3ICsyNiw3IEBACiAjaW1wb3J0ICJjb25maWcuaCIKICNpbXBvcnQg
IkdQVVJlbmRlclBpcGVsaW5lRGVzY3JpcHRvci5oIgogCi0jaWYgRU5BQkxFKFdFQkdQVSkKKyNp
ZiBFTkFCTEUoV0VCTUVUQUwpCiAKICNpbXBvcnQgIkdQVUZ1bmN0aW9uLmgiCiAjaW1wb3J0ICJH
UFVSZW5kZXJQaXBlbGluZUNvbG9yQXR0YWNobWVudERlc2NyaXB0b3IuaCIKQEAgLTM5LDcgKzM5
LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogR1BVUmVuZGVyUGlwZWxpbmVEZXNjcmlwdG9yOjpH
UFVSZW5kZXJQaXBlbGluZURlc2NyaXB0b3IoKQogICAgIDogbV9tZXRhbCB7IGFkb3B0TlMoW01U
TFJlbmRlclBpcGVsaW5lRGVzY3JpcHRvciBuZXddKSB9CiB7Ci0gICAgTE9HKFdlYkdQVSwgIkdQ
VVJlbmRlclBpcGVsaW5lRGVzY3JpcHRvcjo6R1BVUmVuZGVyUGlwZWxpbmVEZXNjcmlwdG9yKCki
KTsKKyAgICBMT0coV2ViTWV0YWwsICJHUFVSZW5kZXJQaXBlbGluZURlc2NyaXB0b3I6OkdQVVJl
bmRlclBpcGVsaW5lRGVzY3JpcHRvcigpIik7CiB9CiAKIHVuc2lnbmVkIEdQVVJlbmRlclBpcGVs
aW5lRGVzY3JpcHRvcjo6ZGVwdGhBdHRhY2htZW50UGl4ZWxGb3JtYXQoKSBjb25zdApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvbWV0YWwvR1BVUmVuZGVyUGlw
ZWxpbmVTdGF0ZU1ldGFsLm1tIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvbWV0
YWwvR1BVUmVuZGVyUGlwZWxpbmVTdGF0ZU1ldGFsLm1tCmluZGV4IGVlNzc5ODY4M2MyY2ExZjdj
N2EyMzcxMDQ2YzQ1ZjM4ZjU0ZDJmZDEuLmNlMmRmNmEwMWJkMGQzZDc3NzIzMTRjN2Q5ODhlYTRj
YzJjN2NhNTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL21l
dGFsL0dQVVJlbmRlclBpcGVsaW5lU3RhdGVNZXRhbC5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9tZXRhbC9HUFVSZW5kZXJQaXBlbGluZVN0YXRlTWV0YWwubW0KQEAg
LTI2LDcgKzI2LDcgQEAKICNpbXBvcnQgImNvbmZpZy5oIgogI2ltcG9ydCAiR1BVUmVuZGVyUGlw
ZWxpbmVTdGF0ZS5oIgogCi0jaWYgRU5BQkxFKFdFQkdQVSkKKyNpZiBFTkFCTEUoV0VCTUVUQUwp
CiAKICNpbXBvcnQgIkdQVURldmljZS5oIgogI2ltcG9ydCAiR1BVUmVuZGVyUGlwZWxpbmVEZXNj
cmlwdG9yLmgiCkBAIC0zOSw3ICszOSw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIEdQVVJlbmRl
clBpcGVsaW5lU3RhdGU6OkdQVVJlbmRlclBpcGVsaW5lU3RhdGUoY29uc3QgR1BVRGV2aWNlJiBk
ZXZpY2UsIGNvbnN0IEdQVVJlbmRlclBpcGVsaW5lRGVzY3JpcHRvciYgZGVzY3JpcHRvcikKICAg
ICA6IG1fbWV0YWwgeyBhZG9wdE5TKFtkZXZpY2UubWV0YWwoKSBuZXdSZW5kZXJQaXBlbGluZVN0
YXRlV2l0aERlc2NyaXB0b3I6ZGVzY3JpcHRvci5tZXRhbCgpIGVycm9yOm5pbF0pIH0KIHsKLSAg
ICBMT0coV2ViR1BVLCAiR1BVUmVuZGVyUGlwZWxpbmVTdGF0ZTo6R1BVUmVuZGVyUGlwZWxpbmVT
dGF0ZSgpIik7CisgICAgTE9HKFdlYk1ldGFsLCAiR1BVUmVuZGVyUGlwZWxpbmVTdGF0ZTo6R1BV
UmVuZGVyUGlwZWxpbmVTdGF0ZSgpIik7CiB9CiAKIFN0cmluZyBHUFVSZW5kZXJQaXBlbGluZVN0
YXRlOjpsYWJlbCgpIGNvbnN0CkBAIC01Myw3ICs1Myw3IEBAIHZvaWQgR1BVUmVuZGVyUGlwZWxp
bmVTdGF0ZTo6c2V0TGFiZWwoY29uc3QgU3RyaW5nJikgY29uc3QKIHsKICAgICAvLyBGSVhNRTog
VGhlIE1UTFJlbmRlclBpcGVsaW5lU3RhdGUgcHJvdG9jb2wgZG9lcyBub3QgYWxsb3cgc2V0dGlu
ZyB0aGUgbGFiZWwuCiAgICAgLy8gVGhlIGxhYmVsIGhhcyB0byBiZSBzZXQgb24gdGhlIGRlc2Ny
aXB0b3Igd2hlbiBjcmVhdGluZyB0aGUgc3RhdGUgb2JqZWN0LgotICAgIC8vIFdlIHNob3VsZCBj
b25zaWRlciBjaGFuZ2luZyB0aGUgV2ViR1BVIGludGVyZmFjZSB0byBub3QgcmVxdWlyZSB0aGlz
IQorICAgIC8vIFdlIHNob3VsZCBjb25zaWRlciBjaGFuZ2luZyB0aGUgV2ViTWV0YWwgaW50ZXJm
YWNlIHRvIG5vdCByZXF1aXJlIHRoaXMhCiB9CiAgICAgCiBNVExSZW5kZXJQaXBlbGluZVN0YXRl
ICpHUFVSZW5kZXJQaXBlbGluZVN0YXRlOjptZXRhbCgpIGNvbnN0CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9tZXRhbC9HUFVUZXh0dXJlRGVzY3JpcHRvck1l
dGFsLm1tIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvbWV0YWwvR1BVVGV4dHVy
ZURlc2NyaXB0b3JNZXRhbC5tbQppbmRleCA3MzI4MDZmNzQyNTI0NGM5ZTRhZjZiNTI3Yjc0ODgx
MWQwMDNmYjlmLi5iYTczMDUzZWRhODdmZjY4NmFjZDA3YmUwOGRkYjkxYmQ1OWUyYjZmIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9tZXRhbC9HUFVUZXh0dXJl
RGVzY3JpcHRvck1ldGFsLm1tCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L21ldGFsL0dQVVRleHR1cmVEZXNjcmlwdG9yTWV0YWwubW0KQEAgLTI2LDcgKzI2LDcgQEAKICNp
bXBvcnQgImNvbmZpZy5oIgogI2ltcG9ydCAiR1BVVGV4dHVyZURlc2NyaXB0b3IuaCIKIAotI2lm
IEVOQUJMRShXRUJHUFUpCisjaWYgRU5BQkxFKFdFQk1FVEFMKQogCiAjaW1wb3J0ICJMb2dnaW5n
LmgiCiAjaW1wb3J0IDxNZXRhbC9NZXRhbC5oPgpAQCAtMzYsNyArMzYsNyBAQCBuYW1lc3BhY2Ug
V2ViQ29yZSB7CiBHUFVUZXh0dXJlRGVzY3JpcHRvcjo6R1BVVGV4dHVyZURlc2NyaXB0b3IodW5z
aWduZWQgcGl4ZWxGb3JtYXQsIHVuc2lnbmVkIHdpZHRoLCB1bnNpZ25lZCBoZWlnaHQsIGJvb2wg
bWlwbWFwcGVkKQogICAgIDogbV9tZXRhbCB7IFtNVExUZXh0dXJlRGVzY3JpcHRvciB0ZXh0dXJl
MkREZXNjcmlwdG9yV2l0aFBpeGVsRm9ybWF0OnN0YXRpY19jYXN0PE1UTFBpeGVsRm9ybWF0Pihw
aXhlbEZvcm1hdCkgd2lkdGg6d2lkdGggaGVpZ2h0OmhlaWdodCBtaXBtYXBwZWQ6bWlwbWFwcGVk
XSB9CiB7Ci0gICAgTE9HKFdlYkdQVSwgIkdQVVRleHR1cmVEZXNjcmlwdG9yOjpHUFVUZXh0dXJl
RGVzY3JpcHRvcigpIik7CisgICAgTE9HKFdlYk1ldGFsLCAiR1BVVGV4dHVyZURlc2NyaXB0b3I6
OkdQVVRleHR1cmVEZXNjcmlwdG9yKCkiKTsKIH0KIAogdW5zaWduZWQgR1BVVGV4dHVyZURlc2Ny
aXB0b3I6OndpZHRoKCkgY29uc3QKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL21ldGFsL0dQVVRleHR1cmVNZXRhbC5tbSBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL21ldGFsL0dQVVRleHR1cmVNZXRhbC5tbQppbmRleCAxMTA3ZmMzYmMyZDFj
N2Q4MTk3OTA0MzY5ODQ5MzIyNTgxMzYyMjcwLi5iY2VmY2ZkMWMwNjRkZjVkZDhjYjZlYmNiNTg5
ZWM1OGQxMzg5ZDJhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9tZXRhbC9HUFVUZXh0dXJlTWV0YWwubW0KKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvbWV0YWwvR1BVVGV4dHVyZU1ldGFsLm1tCkBAIC0yNiw3ICsyNiw3IEBACiAjaW1w
b3J0ICJjb25maWcuaCIKICNpbXBvcnQgIkdQVVRleHR1cmUuaCIKIAotI2lmIEVOQUJMRShXRUJH
UFUpCisjaWYgRU5BQkxFKFdFQk1FVEFMKQogCiAjaW1wb3J0ICJHUFVEZXZpY2UuaCIKICNpbXBv
cnQgIkdQVURyYXdhYmxlLmgiCkBAIC0zOCw3ICszOCw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsK
IAogR1BVVGV4dHVyZTo6R1BVVGV4dHVyZShjb25zdCBHUFVEZXZpY2UmIGRldmljZSwgY29uc3Qg
R1BVVGV4dHVyZURlc2NyaXB0b3ImIGRlc2NyaXB0b3IpCiB7Ci0gICAgTE9HKFdlYkdQVSwgIkdQ
VVRleHR1cmU6OkdQVVRleHR1cmUoKSIpOworICAgIExPRyhXZWJNZXRhbCwgIkdQVVRleHR1cmU6
OkdQVVRleHR1cmUoKSIpOwogCiAgICAgaWYgKCFkZXNjcmlwdG9yLm1ldGFsKCkpCiAgICAgICAg
IHJldHVybjsKQEAgLTQ5LDcgKzQ5LDcgQEAgR1BVVGV4dHVyZTo6R1BVVGV4dHVyZShjb25zdCBH
UFVEZXZpY2UmIGRldmljZSwgY29uc3QgR1BVVGV4dHVyZURlc2NyaXB0b3ImIGRlc2MKIEdQVVRl
eHR1cmU6OkdQVVRleHR1cmUoY29uc3QgR1BVRHJhd2FibGUmIG90aGVyKQogICAgIDogbV9tZXRh
bCB7IG90aGVyLnRleHR1cmUoKSB9CiB7Ci0gICAgTE9HKFdlYkdQVSwgIkdQVVRleHR1cmU6OkdQ
VVRleHR1cmUoKSIpOworICAgIExPRyhXZWJNZXRhbCwgIkdQVVRleHR1cmU6OkdQVVRleHR1cmUo
KSIpOwogfQogCiB1bnNpZ25lZCBHUFVUZXh0dXJlOjp3aWR0aCgpIGNvbnN0CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFsU2V0dGluZ3MuY3BwIGIvU291cmNlL1dl
YkNvcmUvdGVzdGluZy9JbnRlcm5hbFNldHRpbmdzLmNwcAppbmRleCAyN2ZmOTA5YjAyMjBlYTA5
ZGFiN2Q1YmM2NDQ0M2ZiN2RiY2VhMGE1Li5iZDFmYTMxMTIxNmJjMmYwZjM0MDFmMWRkYjBkZjY0
NmFmODZlYjg2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFsU2V0
dGluZ3MuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxTZXR0aW5ncy5j
cHAKQEAgLTExMSw4ICsxMTEsOCBAQCBJbnRlcm5hbFNldHRpbmdzOjpCYWNrdXA6OkJhY2t1cChT
ZXR0aW5ncyYgc2V0dGluZ3MpCiAjaWYgRU5BQkxFKFdFQkdMMikKICAgICAsIG1fd2ViR0wyRW5h
YmxlZChSdW50aW1lRW5hYmxlZEZlYXR1cmVzOjpzaGFyZWRGZWF0dXJlcygpLndlYkdMMkVuYWJs
ZWQoKSkKICNlbmRpZgotI2lmIEVOQUJMRShXRUJHUFUpCi0gICAgLCBtX3dlYkdQVUVuYWJsZWQo
UnVudGltZUVuYWJsZWRGZWF0dXJlczo6c2hhcmVkRmVhdHVyZXMoKS53ZWJHUFVFbmFibGVkKCkp
CisjaWYgRU5BQkxFKFdFQk1FVEFMKQorICAgICwgbV93ZWJNZXRhbEVuYWJsZWQoUnVudGltZUVu
YWJsZWRGZWF0dXJlczo6c2hhcmVkRmVhdHVyZXMoKS53ZWJNZXRhbEVuYWJsZWQoKSkKICNlbmRp
ZgogICAgICwgbV93ZWJWUkVuYWJsZWQoUnVudGltZUVuYWJsZWRGZWF0dXJlczo6c2hhcmVkRmVh
dHVyZXMoKS53ZWJWUkVuYWJsZWQoKSkKICNpZiBFTkFCTEUoTUVESUFfU1RSRUFNKQpAQCAtMjE2
LDggKzIxNiw4IEBAIHZvaWQgSW50ZXJuYWxTZXR0aW5nczo6QmFja3VwOjpyZXN0b3JlVG8oU2V0
dGluZ3MmIHNldHRpbmdzKQogI2lmIEVOQUJMRShXRUJHTDIpCiAgICAgUnVudGltZUVuYWJsZWRG
ZWF0dXJlczo6c2hhcmVkRmVhdHVyZXMoKS5zZXRXZWJHTDJFbmFibGVkKG1fd2ViR0wyRW5hYmxl
ZCk7CiAjZW5kaWYKLSNpZiBFTkFCTEUoV0VCR1BVKQotICAgIFJ1bnRpbWVFbmFibGVkRmVhdHVy
ZXM6OnNoYXJlZEZlYXR1cmVzKCkuc2V0V2ViR1BVRW5hYmxlZChtX3dlYkdQVUVuYWJsZWQpOwor
I2lmIEVOQUJMRShXRUJNRVRBTCkKKyAgICBSdW50aW1lRW5hYmxlZEZlYXR1cmVzOjpzaGFyZWRG
ZWF0dXJlcygpLnNldFdlYk1ldGFsRW5hYmxlZChtX3dlYk1ldGFsRW5hYmxlZCk7CiAjZW5kaWYK
ICAgICBSdW50aW1lRW5hYmxlZEZlYXR1cmVzOjpzaGFyZWRGZWF0dXJlcygpLnNldFdlYlZSRW5h
YmxlZChtX3dlYlZSRW5hYmxlZCk7CiAjaWYgRU5BQkxFKE1FRElBX1NUUkVBTSkKQEAgLTc1OCwx
MCArNzU4LDEwIEBAIHZvaWQgSW50ZXJuYWxTZXR0aW5nczo6c2V0V2ViR0wyRW5hYmxlZChib29s
IGVuYWJsZWQpCiAjZW5kaWYKIH0KIAotdm9pZCBJbnRlcm5hbFNldHRpbmdzOjpzZXRXZWJHUFVF
bmFibGVkKGJvb2wgZW5hYmxlZCkKK3ZvaWQgSW50ZXJuYWxTZXR0aW5nczo6c2V0V2ViTWV0YWxF
bmFibGVkKGJvb2wgZW5hYmxlZCkKIHsKLSNpZiBFTkFCTEUoV0VCR1BVKQotICAgIFJ1bnRpbWVF
bmFibGVkRmVhdHVyZXM6OnNoYXJlZEZlYXR1cmVzKCkuc2V0V2ViR1BVRW5hYmxlZChlbmFibGVk
KTsKKyNpZiBFTkFCTEUoV0VCTUVUQUwpCisgICAgUnVudGltZUVuYWJsZWRGZWF0dXJlczo6c2hh
cmVkRmVhdHVyZXMoKS5zZXRXZWJNZXRhbEVuYWJsZWQoZW5hYmxlZCk7CiAjZWxzZQogICAgIFVO
VVNFRF9QQVJBTShlbmFibGVkKTsKICNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
dGVzdGluZy9JbnRlcm5hbFNldHRpbmdzLmggYi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVy
bmFsU2V0dGluZ3MuaAppbmRleCA2NzA3ZmU2YWExOTJmYjg3NDVhMmE3ZDgzNTY0NDgwMzYyNzI4
YTM3Li4zNTU2N2Y4N2NmZTA0NTRkOWY0ZTZmNTEyYzYxNWY3MjMwNTc3Yjk3IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFsU2V0dGluZ3MuaAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS90ZXN0aW5nL0ludGVybmFsU2V0dGluZ3MuaApAQCAtMTIyLDcgKzEyMiw3IEBAIHB1
YmxpYzoKICAgICAvLyBSdW50aW1lRW5hYmxlZEZlYXR1cmVzLgogICAgIHN0YXRpYyB2b2lkIHNl
dEluZGV4ZWREQldvcmtlcnNFbmFibGVkKGJvb2wpOwogICAgIHN0YXRpYyB2b2lkIHNldFdlYkdM
MkVuYWJsZWQoYm9vbCk7Ci0gICAgc3RhdGljIHZvaWQgc2V0V2ViR1BVRW5hYmxlZChib29sKTsK
KyAgICBzdGF0aWMgdm9pZCBzZXRXZWJNZXRhbEVuYWJsZWQoYm9vbCk7CiAgICAgc3RhdGljIHZv
aWQgc2V0V2ViVlJFbmFibGVkKGJvb2wpOwogICAgIHN0YXRpYyB2b2lkIHNldFNjcmVlbkNhcHR1
cmVFbmFibGVkKGJvb2wpOwogCkBAIC0yMDksNyArMjA5LDcgQEAgcHJpdmF0ZToKICAgICAgICAg
Ly8gUnVudGltZSBlbmFibGVkIHNldHRpbmdzLgogICAgICAgICBib29sIG1faW5kZXhlZERCV29y
a2Vyc0VuYWJsZWQ7CiAgICAgICAgIGJvb2wgbV93ZWJHTDJFbmFibGVkOwotICAgICAgICBib29s
IG1fd2ViR1BVRW5hYmxlZDsKKyAgICAgICAgYm9vbCBtX3dlYk1ldGFsRW5hYmxlZDsKICAgICAg
ICAgYm9vbCBtX3dlYlZSRW5hYmxlZDsKICAgICAgICAgYm9vbCBtX3NldFNjcmVlbkNhcHR1cmVF
bmFibGVkOwogICAgICAgICAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50
ZXJuYWxTZXR0aW5ncy5pZGwgYi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFsU2V0dGlu
Z3MuaWRsCmluZGV4IGQxNjk4NmU4YzI4ZDlkZjMzMjM2OWVjM2UxYWQ2ZDIwMTk3ODgzZjEuLjUx
ZWIyNDYwNTEwZDZjMmEwMmJjYmJiMzE2MjVhMmNmYmNmZWVkMDQgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxTZXR0aW5ncy5pZGwKKysrIGIvU291cmNlL1dlYkNv
cmUvdGVzdGluZy9JbnRlcm5hbFNldHRpbmdzLmlkbApAQCAtOTAsNyArOTAsNyBAQCBlbnVtIEZv
bnRMb2FkVGltaW5nT3ZlcnJpZGUgeyAiQmxvY2siLCAiU3dhcCIsICJGYWlsdXJlIiB9OwogICAg
IC8vIFJ1bnRpbWVFbmFibGVkRmVhdHVyZXMuCiAgICAgdm9pZCBzZXRJbmRleGVkREJXb3JrZXJz
RW5hYmxlZChib29sZWFuIGVuYWJsZWQpOwogICAgIHZvaWQgc2V0V2ViR0wyRW5hYmxlZChib29s
ZWFuIGVuYWJsZWQpOwotICAgIHZvaWQgc2V0V2ViR1BVRW5hYmxlZChib29sZWFuIGVuYWJsZWQp
OworICAgIHZvaWQgc2V0V2ViTWV0YWxFbmFibGVkKGJvb2xlYW4gZW5hYmxlZCk7CiAgICAgdm9p
ZCBzZXRXZWJWUkVuYWJsZWQoYm9vbGVhbiBlbmFibGVkKTsKICAgICB2b2lkIHNldFNjcmVlbkNh
cHR1cmVFbmFibGVkKGJvb2xlYW4gZW5hYmxlZCk7CiAgICAgdm9pZCBzZXRTdG9yYWdlQWNjZXNz
UHJvbXB0c0VuYWJsZWQoYm9vbGVhbiBlbmFibGVkKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJ
bnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL01vZGVscy9DYW52YXMuanMgYi9Tb3VyY2UvV2ViSW5z
cGVjdG9yVUkvVXNlckludGVyZmFjZS9Nb2RlbHMvQ2FudmFzLmpzCmluZGV4IDRlZmRjNTEyZWI4
NWJhNjRmYzM0Y2Q1YjEwNjU2ZWVmYjFkYjVkYzQuLjMzNDRhMDMwYjQ2ODgwNmExYWZlODE2Mzc3
ZTEyZmFkNzlhOTdiZWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50
ZXJmYWNlL01vZGVscy9DYW52YXMuanMKKysrIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJ
bnRlcmZhY2UvTW9kZWxzL0NhbnZhcy5qcwpAQCAtNjgsOCArNjgsOCBAQCBXSS5DYW52YXMgPSBj
bGFzcyBDYW52YXMgZXh0ZW5kcyBXSS5PYmplY3QKICAgICAgICAgY2FzZSBDYW52YXNBZ2VudC5D
b250ZXh0VHlwZS5XZWJHTDI6CiAgICAgICAgICAgICBjb250ZXh0VHlwZSA9IFdJLkNhbnZhcy5D
b250ZXh0VHlwZS5XZWJHTDI7CiAgICAgICAgICAgICBicmVhazsKLSAgICAgICAgY2FzZSBDYW52
YXNBZ2VudC5Db250ZXh0VHlwZS5XZWJHUFU6Ci0gICAgICAgICAgICBjb250ZXh0VHlwZSA9IFdJ
LkNhbnZhcy5Db250ZXh0VHlwZS5XZWJHUFU7CisgICAgICAgIGNhc2UgQ2FudmFzQWdlbnQuQ29u
dGV4dFR5cGUuV2ViTWV0YWw6CisgICAgICAgICAgICBjb250ZXh0VHlwZSA9IFdJLkNhbnZhcy5D
b250ZXh0VHlwZS5XZWJNZXRhbDsKICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICBkZWZhdWx0
OgogICAgICAgICAgICAgY29uc29sZS5lcnJvcigiSW52YWxpZCBjYW52YXMgY29udGV4dCB0eXBl
IiwgcGF5bG9hZC5jb250ZXh0VHlwZSk7CkBAIC05NSw4ICs5NSw4IEBAIFdJLkNhbnZhcyA9IGNs
YXNzIENhbnZhcyBleHRlbmRzIFdJLk9iamVjdAogICAgICAgICAgICAgcmV0dXJuIFdJLnVubG9j
YWxpemVkU3RyaW5nKCJXZWJHTCIpOwogICAgICAgICBjYXNlIFdJLkNhbnZhcy5Db250ZXh0VHlw
ZS5XZWJHTDI6CiAgICAgICAgICAgICByZXR1cm4gV0kudW5sb2NhbGl6ZWRTdHJpbmcoIldlYkdM
MiIpOwotICAgICAgICBjYXNlIFdJLkNhbnZhcy5Db250ZXh0VHlwZS5XZWJHUFU6Ci0gICAgICAg
ICAgICByZXR1cm4gV0kudW5sb2NhbGl6ZWRTdHJpbmcoIldlYkdQVSIpOworICAgICAgICBjYXNl
IFdJLkNhbnZhcy5Db250ZXh0VHlwZS5XZWJNZXRhbDoKKyAgICAgICAgICAgIHJldHVybiBXSS51
bmxvY2FsaXplZFN0cmluZygiV2ViTWV0YWwiKTsKICAgICAgICAgZGVmYXVsdDoKICAgICAgICAg
ICAgIGNvbnNvbGUuZXJyb3IoIkludmFsaWQgY2FudmFzIGNvbnRleHQgdHlwZSIsIGNvbnRleHRU
eXBlKTsKICAgICAgICAgfQpAQCAtMzA1LDcgKzMwNSw3IEBAIFdJLkNhbnZhcy5Db250ZXh0VHlw
ZSA9IHsKICAgICBCaXRtYXBSZW5kZXJlcjogImJpdG1hcHJlbmRlcmVyIiwKICAgICBXZWJHTDog
IndlYmdsIiwKICAgICBXZWJHTDI6ICJ3ZWJnbDIiLAotICAgIFdlYkdQVTogIndlYmdwdSIsCisg
ICAgV2ViTWV0YWw6ICJ3ZWJtZXRhbCIsCiB9OwogCiBXSS5DYW52YXMuRXZlbnQgPSB7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9Qcm90b2NvbC9MZWdh
Y3kvMTEuMy9JbnNwZWN0b3JCYWNrZW5kQ29tbWFuZHMuanMgYi9Tb3VyY2UvV2ViSW5zcGVjdG9y
VUkvVXNlckludGVyZmFjZS9Qcm90b2NvbC9MZWdhY3kvMTEuMy9JbnNwZWN0b3JCYWNrZW5kQ29t
bWFuZHMuanMKaW5kZXggYWNmMWMwNWY1ZDcwMmQ3NTAwY2IwMzEwNjkyZGUzYjkzOWE3YTM0Yi4u
ZmU0YjhhOGQ3OWUxMmI4MWExNGYxOGNiNmQ4MzViMWVhNjc3MWRlYyAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvUHJvdG9jb2wvTGVnYWN5LzExLjMvSW5z
cGVjdG9yQmFja2VuZENvbW1hbmRzLmpzCisrKyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2Vy
SW50ZXJmYWNlL1Byb3RvY29sL0xlZ2FjeS8xMS4zL0luc3BlY3RvckJhY2tlbmRDb21tYW5kcy5q
cwpAQCAtNjcsNyArNjcsNyBAQCBJbnNwZWN0b3JCYWNrZW5kLmFjdGl2YXRlRG9tYWluKCJDU1Mi
LCBbIndlYiJdKTsKIAogLy8gQ2FudmFzLgogSW5zcGVjdG9yQmFja2VuZC5yZWdpc3RlckNhbnZh
c0Rpc3BhdGNoZXIgPSBJbnNwZWN0b3JCYWNrZW5kLnJlZ2lzdGVyRG9tYWluRGlzcGF0Y2hlci5i
aW5kKEluc3BlY3RvckJhY2tlbmQsICJDYW52YXMiKTsKLUluc3BlY3RvckJhY2tlbmQucmVnaXN0
ZXJFbnVtKCJDYW52YXMuQ29udGV4dFR5cGUiLCB7Q2FudmFzMkQ6ICJjYW52YXMtMmQiLCBCaXRt
YXBSZW5kZXJlcjogImJpdG1hcHJlbmRlcmVyIiwgV2ViR0w6ICJ3ZWJnbCIsIFdlYkdMMjogIndl
YmdsMiIsIFdlYkdQVTogIndlYmdwdSJ9KTsKK0luc3BlY3RvckJhY2tlbmQucmVnaXN0ZXJFbnVt
KCJDYW52YXMuQ29udGV4dFR5cGUiLCB7Q2FudmFzMkQ6ICJjYW52YXMtMmQiLCBCaXRtYXBSZW5k
ZXJlcjogImJpdG1hcHJlbmRlcmVyIiwgV2ViR0w6ICJ3ZWJnbCIsIFdlYkdMMjogIndlYmdsMiIs
IFdlYk1ldGFsOiAid2VibWV0YWwifSk7CiBJbnNwZWN0b3JCYWNrZW5kLnJlZ2lzdGVyRW51bSgi
Q2FudmFzLlNoYWRlclR5cGUiLCB7RnJhZ21lbnQ6ICJmcmFnbWVudCIsIFZlcnRleDogInZlcnRl
eCJ9KTsKIEluc3BlY3RvckJhY2tlbmQucmVnaXN0ZXJFdmVudCgiQ2FudmFzLmNhbnZhc0FkZGVk
IiwgWyJjYW52YXMiXSk7CiBJbnNwZWN0b3JCYWNrZW5kLnJlZ2lzdGVyRXZlbnQoIkNhbnZhcy5j
YW52YXNSZW1vdmVkIiwgWyJjYW52YXNJZCJdKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJbnNw
ZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1Byb3RvY29sL0xlZ2FjeS8xMi4wL0luc3BlY3RvckJhY2tl
bmRDb21tYW5kcy5qcyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1Byb3Rv
Y29sL0xlZ2FjeS8xMi4wL0luc3BlY3RvckJhY2tlbmRDb21tYW5kcy5qcwppbmRleCAwMDBkZjg1
MWY5ZGJiN2E3YTVlYTQ0ODA4YTU5MzA2ZDFkN2Q0YWU2Li4xYWUwOWRmNWVjZDNiY2RjNTBmMjkw
ODRiMzM4YWJiZDFlYzUwODE2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNl
ckludGVyZmFjZS9Qcm90b2NvbC9MZWdhY3kvMTIuMC9JbnNwZWN0b3JCYWNrZW5kQ29tbWFuZHMu
anMKKysrIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvUHJvdG9jb2wvTGVn
YWN5LzEyLjAvSW5zcGVjdG9yQmFja2VuZENvbW1hbmRzLmpzCkBAIC02Nyw3ICs2Nyw3IEBAIElu
c3BlY3RvckJhY2tlbmQuYWN0aXZhdGVEb21haW4oIkNTUyIsIFsid2ViIl0pOwogCiAvLyBDYW52
YXMuCiBJbnNwZWN0b3JCYWNrZW5kLnJlZ2lzdGVyQ2FudmFzRGlzcGF0Y2hlciA9IEluc3BlY3Rv
ckJhY2tlbmQucmVnaXN0ZXJEb21haW5EaXNwYXRjaGVyLmJpbmQoSW5zcGVjdG9yQmFja2VuZCwg
IkNhbnZhcyIpOwotSW5zcGVjdG9yQmFja2VuZC5yZWdpc3RlckVudW0oIkNhbnZhcy5Db250ZXh0
VHlwZSIsIHtDYW52YXMyRDogImNhbnZhcy0yZCIsIEJpdG1hcFJlbmRlcmVyOiAiYml0bWFwcmVu
ZGVyZXIiLCBXZWJHTDogIndlYmdsIiwgV2ViR0wyOiAid2ViZ2wyIiwgV2ViR1BVOiAid2ViZ3B1
In0pOworSW5zcGVjdG9yQmFja2VuZC5yZWdpc3RlckVudW0oIkNhbnZhcy5Db250ZXh0VHlwZSIs
IHtDYW52YXMyRDogImNhbnZhcy0yZCIsIEJpdG1hcFJlbmRlcmVyOiAiYml0bWFwcmVuZGVyZXIi
LCBXZWJHTDogIndlYmdsIiwgV2ViR0wyOiAid2ViZ2wyIiwgV2ViTWV0YWw6ICJ3ZWJtZXRhbCJ9
KTsKIEluc3BlY3RvckJhY2tlbmQucmVnaXN0ZXJFbnVtKCJDYW52YXMuU2hhZGVyVHlwZSIsIHtG
cmFnbWVudDogImZyYWdtZW50IiwgVmVydGV4OiAidmVydGV4In0pOwogSW5zcGVjdG9yQmFja2Vu
ZC5yZWdpc3RlckV2ZW50KCJDYW52YXMuY2FudmFzQWRkZWQiLCBbImNhbnZhcyJdKTsKIEluc3Bl
Y3RvckJhY2tlbmQucmVnaXN0ZXJFdmVudCgiQ2FudmFzLmNhbnZhc1JlbW92ZWQiLCBbImNhbnZh
c0lkIl0pOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9Db25maWd1cmF0aW9ucy9GZWF0dXJl
RGVmaW5lcy54Y2NvbmZpZyBiL1NvdXJjZS9XZWJLaXQvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURl
ZmluZXMueGNjb25maWcKaW5kZXggNjhlZmNlOTQyY2EwZGNkZTYyMDlhMzBmYjRlNWQwYmQ4NzYw
YTc4MS4uMjQyOWRkOGRjNjkxMjQzNTZkMDE0NjNhYWI3Nzk4ZTc4Nzc5Yzk1YyAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdC9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZwor
KysgYi9Tb3VyY2UvV2ViS2l0L0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmln
CkBAIC0zNTAsMTEgKzM1MCwxMSBAQCBFTkFCTEVfV0VCR0wgPSBFTkFCTEVfV0VCR0w7CiAKIEVO
QUJMRV9XRUJHTDIgPSBFTkFCTEVfV0VCR0wyOwogCi1FTkFCTEVfV0VCR1BVID0gJChFTkFCTEVf
V0VCR1BVXyQoV0tfUExBVEZPUk1fTkFNRSkpOwotRU5BQkxFX1dFQkdQVV9pcGhvbmVvcyA9IEVO
QUJMRV9XRUJHUFU7Ci1FTkFCTEVfV0VCR1BVX3dhdGNob3MgPSBFTkFCTEVfV0VCR1BVOwotRU5B
QkxFX1dFQkdQVV9hcHBsZXR2b3MgPSBFTkFCTEVfV0VCR1BVOwotRU5BQkxFX1dFQkdQVV9tYWNv
c3ggPSBFTkFCTEVfV0VCR1BVOworRU5BQkxFX1dFQk1FVEFMID0gJChFTkFCTEVfV0VCTUVUQUxf
JChXS19QTEFURk9STV9OQU1FKSk7CitFTkFCTEVfV0VCTUVUQUxfaXBob25lb3MgPSBFTkFCTEVf
V0VCTUVUQUw7CitFTkFCTEVfV0VCTUVUQUxfd2F0Y2hvcyA9IEVOQUJMRV9XRUJNRVRBTDsKK0VO
QUJMRV9XRUJNRVRBTF9hcHBsZXR2b3MgPSBFTkFCTEVfV0VCTUVUQUw7CitFTkFCTEVfV0VCTUVU
QUxfbWFjb3N4ID0gRU5BQkxFX1dFQk1FVEFMOwogCiBFTkFCTEVfV0VCX0FVRElPID0gRU5BQkxF
X1dFQl9BVURJTzsKIApAQCAtMzcyLDQgKzM3Miw0IEBAIEVOQUJMRV9XSVJFTEVTU19QTEFZQkFD
S19UQVJHRVQgPSBFTkFCTEVfV0lSRUxFU1NfUExBWUJBQ0tfVEFSR0VUOwogCiBFTkFCTEVfWFNM
VCA9IEVOQUJMRV9YU0xUOwogCi1GRUFUVVJFX0RFRklORVMgPSAkKEVOQUJMRV8zRF9UUkFOU0ZP
Uk1TKSAkKEVOQUJMRV9BQ0NFTEVSQVRFRF8yRF9DQU5WQVMpICQoRU5BQkxFX0FDQ0VMRVJBVEVE
X09WRVJGTE9XX1NDUk9MTElORykgJChFTkFCTEVfQVBQTEVfUEFZKSAkKEVOQUJMRV9BUFBMRV9Q
QVlfU0VTU0lPTl9WMykgJChFTkFCTEVfQVBQTEVfUEFZX1NFU1NJT05fVjQpICQoRU5BQkxFX0FQ
UExJQ0FUSU9OX01BTklGRVNUKSAkKEVOQUJMRV9BVFRBQ0hNRU5UX0VMRU1FTlQpICQoRU5BQkxF
X0FWRl9DQVBUSU9OUykgJChFTkFCTEVfQ0FDSEVfUEFSVElUSU9OSU5HKSAkKEVOQUJMRV9DSEFO
TkVMX01FU1NBR0lORykgJChFTkFCTEVfQ09OVEVOVF9GSUxURVJJTkcpICQoRU5BQkxFX0NTUzNf
VEVYVCkgJChFTkFCTEVfQ1NTX0JPWF9ERUNPUkFUSU9OX0JSRUFLKSAkKEVOQUJMRV9DU1NfQ09N
UE9TSVRJTkcpICQoRU5BQkxFX0NTU19ERVZJQ0VfQURBUFRBVElPTikgJChFTkFCTEVfQ1NTX0lN
QUdFX09SSUVOVEFUSU9OKSAkKEVOQUJMRV9DU1NfSU1BR0VfUkVTT0xVVElPTikgJChFTkFCTEVf
Q1NTX1NDUk9MTF9TTkFQKSAkKEVOQUJMRV9DU1NfU0VMRUNUT1JTX0xFVkVMNCkgJChFTkFCTEVf
Q1NTX1RSQUlMSU5HX1dPUkQpICQoRU5BQkxFX0NVUlNPUl9WSVNJQklMSVRZKSAkKEVOQUJMRV9D
VVNUT01fU0NIRU1FX0hBTkRMRVIpICQoRU5BQkxFX0RBU0hCT0FSRF9TVVBQT1JUKSAkKEVOQUJM
RV9EQVRBX0lOVEVSQUNUSU9OKSAkKEVOQUJMRV9EQVRBQ1VFX1ZBTFVFKSAkKEVOQUJMRV9EQVRB
TElTVF9FTEVNRU5UKSAkKEVOQUJMRV9ERVZJQ0VfT1JJRU5UQVRJT04pICQoRU5BQkxFX0RSQUdf
U1VQUE9SVCkgJChFTkFCTEVfRU5DUllQVEVEX01FRElBKSAkKEVOQUJMRV9FWFBFUklNRU5UQUxf
RkVBVFVSRVMpICQoRU5BQkxFX0ZBU1RfSklUX1BFUk1JU1NJT05TKSAkKEVOQUJMRV9GSUxURVJT
X0xFVkVMXzIpICQoRU5BQkxFX0ZUTF9KSVQpICQoRU5BQkxFX0ZVTExTQ1JFRU5fQVBJKSAkKEVO
QUJMRV9HQU1FUEFEKSAkKEVOQUJMRV9HRU9MT0NBVElPTikgJChFTkFCTEVfSUNPTkRBVEFCQVNF
KSAkKEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNFKSAkKEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNFX0lO
X1dPUktFUlMpICQoRU5BQkxFX0lOUFVUX1RZUEVfQ09MT1IpICQoRU5BQkxFX0lOUFVUX1RZUEVf
REFURSkgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFVElNRV9JTkNPTVBMRVRFKSAkKEVOQUJMRV9J
TlBVVF9UWVBFX0RBVEVUSU1FTE9DQUwpICQoRU5BQkxFX0lOUFVUX1RZUEVfTU9OVEgpICQoRU5B
QkxFX0lOUFVUX1RZUEVfVElNRSkgJChFTkFCTEVfSU5QVVRfVFlQRV9XRUVLKSAkKEVOQUJMRV9J
TlRFUlNFQ1RJT05fT0JTRVJWRVIpICQoRU5BQkxFX0lOVEwpICQoRU5BQkxFX0lPU19HRVNUVVJF
X0VWRU5UUykgJChFTkFCTEVfSU9TX1RPVUNIX0VWRU5UUykgJChFTkFCTEVfSklUKSAkKEVOQUJM
RV9KU19BU1lOQ19JVEVSQVRJT04pICQoRU5BQkxFX0tFWUJPQVJEX0NPREVfQVRUUklCVVRFKSAk
KEVOQUJMRV9LRVlCT0FSRF9LRVlfQVRUUklCVVRFKSAkKEVOQUJMRV9MQVlPVVRfRk9STUFUVElO
R19DT05URVhUKSAkKEVOQUJMRV9MRUdBQ1lfQ1NTX1ZFTkRPUl9QUkVGSVhFUykgJChFTkFCTEVf
TEVHQUNZX0NVU1RPTV9QUk9UT0NPTF9NQU5BR0VSKSAkKEVOQUJMRV9MRUdBQ1lfRU5DUllQVEVE
X01FRElBKSAkKEVOQUJMRV9MRVRURVJQUkVTUykgJChFTkFCTEVfTUFDX0dFU1RVUkVfRVZFTlRT
KSAkKEVOQUJMRV9NQUNfVklERU9fVE9PTEJPWCkgJChFTkFCTEVfTUFUSE1MKSAkKEVOQUJMRV9N
RURJQV9DQVBUVVJFKSAkKEVOQUJMRV9NRURJQV9DT05UUk9MU19TQ1JJUFQpICQoRU5BQkxFX01F
RElBX1NFU1NJT04pICQoRU5BQkxFX01FRElBX1NPVVJDRSkgJChFTkFCTEVfTUVESUFfU1RBVElT
VElDUykgJChFTkFCTEVfTUVESUFfU1RSRUFNKSAkKEVOQUJMRV9NRVRFUl9FTEVNRU5UKSAkKEVO
QUJMRV9NSFRNTCkgJChFTkFCTEVfTU9VU0VfQ1VSU09SX1NDQUxFKSAkKEVOQUJMRV9OQVZJR0FU
T1JfQ09OVEVOVF9VVElMUykgJChFTkFCTEVfTkFWSUdBVE9SX1NUQU5EQUxPTkUpICQoRU5BQkxF
X05PVElGSUNBVElPTlMpICQoRU5BQkxFX1BBWU1FTlRfUkVRVUVTVCkgJChFTkFCTEVfUERGS0lU
X1BMVUdJTikgJChFTkFCTEVfUE9JTlRFUl9MT0NLKSAkKEVOQUJMRV9QVUJMSUNfU1VGRklYX0xJ
U1QpICQoRU5BQkxFX1FVT1RBKSAkKEVOQUJMRV9SRU1PVEVfSU5TUEVDVE9SKSAkKEVOQUJMRV9S
RVNPTFVUSU9OX01FRElBX1FVRVJZKSAkKEVOQUJMRV9SRVNPVVJDRV9VU0FHRSkgJChFTkFCTEVf
UlVCQkVSX0JBTkRJTkcpICQoRU5BQkxFX1NFUlZJQ0VfQ09OVFJPTFMpICQoRU5BQkxFX1NFUlZJ
Q0VfV09SS0VSKSAkKEVOQUJMRV9TUEVFQ0hfU1lOVEhFU0lTKSAkKEVOQUJMRV9TVFJFQU1TX0FQ
SSkgJChFTkFCTEVfU1VCVExFX0NSWVBUTykgJChFTkFCTEVfU1ZHX0ZPTlRTKSAkKEVOQUJMRV9U
RUxFUEhPTkVfTlVNQkVSX0RFVEVDVElPTikgJChFTkFCTEVfVEVYVF9BVVRPU0laSU5HKSAkKEVO
QUJMRV9UT1VDSF9FVkVOVFMpICQoRU5BQkxFX1VTRVJfTUVTU0FHRV9IQU5ETEVSUykgJChFTkFC
TEVfVVNFUlNFTEVDVF9BTEwpICQoRU5BQkxFX1ZBUklBVElPTl9GT05UUykgJChFTkFCTEVfVklE
RU8pICQoRU5BQkxFX1ZJREVPX1BSRVNFTlRBVElPTl9NT0RFKSAkKEVOQUJMRV9WSURFT19UUkFD
SykgJChFTkFCTEVfVklERU9fVVNFU19FTEVNRU5UX0ZVTExTQ1JFRU4pICQoRU5BQkxFX1dFQl9B
VURJTykgJChFTkFCTEVfV0VCX0FVVEhOKSAkKEVOQUJMRV9XRUJfUlRDKSAkKEVOQUJMRV9XRUJB
U1NFTUJMWSkgJChFTkFCTEVfV0VCQVNTRU1CTFlfU1RSRUFNSU5HX0FQSSkgJChFTkFCTEVfV0VC
R0wpICQoRU5BQkxFX1dFQkdMMikgJChFTkFCTEVfV0VCR1BVKSAkKEVOQUJMRV9XSVJFTEVTU19Q
TEFZQkFDS19UQVJHRVQpICQoRU5BQkxFX1hTTFQpOworRkVBVFVSRV9ERUZJTkVTID0gJChFTkFC
TEVfM0RfVFJBTlNGT1JNUykgJChFTkFCTEVfQUNDRUxFUkFURURfMkRfQ0FOVkFTKSAkKEVOQUJM
RV9BQ0NFTEVSQVRFRF9PVkVSRkxPV19TQ1JPTExJTkcpICQoRU5BQkxFX0FQUExFX1BBWSkgJChF
TkFCTEVfQVBQTEVfUEFZX1NFU1NJT05fVjMpICQoRU5BQkxFX0FQUExFX1BBWV9TRVNTSU9OX1Y0
KSAkKEVOQUJMRV9BUFBMSUNBVElPTl9NQU5JRkVTVCkgJChFTkFCTEVfQVRUQUNITUVOVF9FTEVN
RU5UKSAkKEVOQUJMRV9BVkZfQ0FQVElPTlMpICQoRU5BQkxFX0NBQ0hFX1BBUlRJVElPTklORykg
JChFTkFCTEVfQ0hBTk5FTF9NRVNTQUdJTkcpICQoRU5BQkxFX0NPTlRFTlRfRklMVEVSSU5HKSAk
KEVOQUJMRV9DU1MzX1RFWFQpICQoRU5BQkxFX0NTU19CT1hfREVDT1JBVElPTl9CUkVBSykgJChF
TkFCTEVfQ1NTX0NPTVBPU0lUSU5HKSAkKEVOQUJMRV9DU1NfREVWSUNFX0FEQVBUQVRJT04pICQo
RU5BQkxFX0NTU19JTUFHRV9PUklFTlRBVElPTikgJChFTkFCTEVfQ1NTX0lNQUdFX1JFU09MVVRJ
T04pICQoRU5BQkxFX0NTU19TQ1JPTExfU05BUCkgJChFTkFCTEVfQ1NTX1NFTEVDVE9SU19MRVZF
TDQpICQoRU5BQkxFX0NTU19UUkFJTElOR19XT1JEKSAkKEVOQUJMRV9DVVJTT1JfVklTSUJJTElU
WSkgJChFTkFCTEVfQ1VTVE9NX1NDSEVNRV9IQU5ETEVSKSAkKEVOQUJMRV9EQVNIQk9BUkRfU1VQ
UE9SVCkgJChFTkFCTEVfREFUQV9JTlRFUkFDVElPTikgJChFTkFCTEVfREFUQUNVRV9WQUxVRSkg
JChFTkFCTEVfREFUQUxJU1RfRUxFTUVOVCkgJChFTkFCTEVfREVWSUNFX09SSUVOVEFUSU9OKSAk
KEVOQUJMRV9EUkFHX1NVUFBPUlQpICQoRU5BQkxFX0VOQ1JZUFRFRF9NRURJQSkgJChFTkFCTEVf
RVhQRVJJTUVOVEFMX0ZFQVRVUkVTKSAkKEVOQUJMRV9GQVNUX0pJVF9QRVJNSVNTSU9OUykgJChF
TkFCTEVfRklMVEVSU19MRVZFTF8yKSAkKEVOQUJMRV9GVExfSklUKSAkKEVOQUJMRV9GVUxMU0NS
RUVOX0FQSSkgJChFTkFCTEVfR0FNRVBBRCkgJChFTkFCTEVfR0VPTE9DQVRJT04pICQoRU5BQkxF
X0lDT05EQVRBQkFTRSkgJChFTkFCTEVfSU5ERVhFRF9EQVRBQkFTRSkgJChFTkFCTEVfSU5ERVhF
RF9EQVRBQkFTRV9JTl9XT1JLRVJTKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0NPTE9SKSAkKEVOQUJM
RV9JTlBVVF9UWVBFX0RBVEUpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURVRJTUVfSU5DT01QTEVU
RSkgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFVElNRUxPQ0FMKSAkKEVOQUJMRV9JTlBVVF9UWVBF
X01PTlRIKSAkKEVOQUJMRV9JTlBVVF9UWVBFX1RJTUUpICQoRU5BQkxFX0lOUFVUX1RZUEVfV0VF
SykgJChFTkFCTEVfSU5URVJTRUNUSU9OX09CU0VSVkVSKSAkKEVOQUJMRV9JTlRMKSAkKEVOQUJM
RV9JT1NfR0VTVFVSRV9FVkVOVFMpICQoRU5BQkxFX0lPU19UT1VDSF9FVkVOVFMpICQoRU5BQkxF
X0pJVCkgJChFTkFCTEVfSlNfQVNZTkNfSVRFUkFUSU9OKSAkKEVOQUJMRV9LRVlCT0FSRF9DT0RF
X0FUVFJJQlVURSkgJChFTkFCTEVfS0VZQk9BUkRfS0VZX0FUVFJJQlVURSkgJChFTkFCTEVfTEFZ
T1VUX0ZPUk1BVFRJTkdfQ09OVEVYVCkgJChFTkFCTEVfTEVHQUNZX0NTU19WRU5ET1JfUFJFRklY
RVMpICQoRU5BQkxFX0xFR0FDWV9DVVNUT01fUFJPVE9DT0xfTUFOQUdFUikgJChFTkFCTEVfTEVH
QUNZX0VOQ1JZUFRFRF9NRURJQSkgJChFTkFCTEVfTEVUVEVSUFJFU1MpICQoRU5BQkxFX01BQ19H
RVNUVVJFX0VWRU5UUykgJChFTkFCTEVfTUFDX1ZJREVPX1RPT0xCT1gpICQoRU5BQkxFX01BVEhN
TCkgJChFTkFCTEVfTUVESUFfQ0FQVFVSRSkgJChFTkFCTEVfTUVESUFfQ09OVFJPTFNfU0NSSVBU
KSAkKEVOQUJMRV9NRURJQV9TRVNTSU9OKSAkKEVOQUJMRV9NRURJQV9TT1VSQ0UpICQoRU5BQkxF
X01FRElBX1NUQVRJU1RJQ1MpICQoRU5BQkxFX01FRElBX1NUUkVBTSkgJChFTkFCTEVfTUVURVJf
RUxFTUVOVCkgJChFTkFCTEVfTUhUTUwpICQoRU5BQkxFX01PVVNFX0NVUlNPUl9TQ0FMRSkgJChF
TkFCTEVfTkFWSUdBVE9SX0NPTlRFTlRfVVRJTFMpICQoRU5BQkxFX05BVklHQVRPUl9TVEFOREFM
T05FKSAkKEVOQUJMRV9OT1RJRklDQVRJT05TKSAkKEVOQUJMRV9QQVlNRU5UX1JFUVVFU1QpICQo
RU5BQkxFX1BERktJVF9QTFVHSU4pICQoRU5BQkxFX1BPSU5URVJfTE9DSykgJChFTkFCTEVfUFVC
TElDX1NVRkZJWF9MSVNUKSAkKEVOQUJMRV9RVU9UQSkgJChFTkFCTEVfUkVNT1RFX0lOU1BFQ1RP
UikgJChFTkFCTEVfUkVTT0xVVElPTl9NRURJQV9RVUVSWSkgJChFTkFCTEVfUkVTT1VSQ0VfVVNB
R0UpICQoRU5BQkxFX1JVQkJFUl9CQU5ESU5HKSAkKEVOQUJMRV9TRVJWSUNFX0NPTlRST0xTKSAk
KEVOQUJMRV9TRVJWSUNFX1dPUktFUikgJChFTkFCTEVfU1BFRUNIX1NZTlRIRVNJUykgJChFTkFC
TEVfU1RSRUFNU19BUEkpICQoRU5BQkxFX1NVQlRMRV9DUllQVE8pICQoRU5BQkxFX1NWR19GT05U
UykgJChFTkFCTEVfVEVMRVBIT05FX05VTUJFUl9ERVRFQ1RJT04pICQoRU5BQkxFX1RFWFRfQVVU
T1NJWklORykgJChFTkFCTEVfVE9VQ0hfRVZFTlRTKSAkKEVOQUJMRV9VU0VSX01FU1NBR0VfSEFO
RExFUlMpICQoRU5BQkxFX1VTRVJTRUxFQ1RfQUxMKSAkKEVOQUJMRV9WQVJJQVRJT05fRk9OVFMp
ICQoRU5BQkxFX1ZJREVPKSAkKEVOQUJMRV9WSURFT19QUkVTRU5UQVRJT05fTU9ERSkgJChFTkFC
TEVfVklERU9fVFJBQ0spICQoRU5BQkxFX1ZJREVPX1VTRVNfRUxFTUVOVF9GVUxMU0NSRUVOKSAk
KEVOQUJMRV9XRUJfQVVESU8pICQoRU5BQkxFX1dFQl9BVVRITikgJChFTkFCTEVfV0VCX1JUQykg
JChFTkFCTEVfV0VCQVNTRU1CTFkpICQoRU5BQkxFX1dFQkFTU0VNQkxZX1NUUkVBTUlOR19BUEkp
ICQoRU5BQkxFX1dFQkdMKSAkKEVOQUJMRV9XRUJHTDIpICQoRU5BQkxFX1dFQk1FVEFMKSAkKEVO
QUJMRV9XSVJFTEVTU19QTEFZQkFDS19UQVJHRVQpICQoRU5BQkxFX1hTTFQpOwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdC9TaGFyZWQvV2ViUHJlZmVyZW5jZXMueWFtbCBiL1NvdXJjZS9XZWJL
aXQvU2hhcmVkL1dlYlByZWZlcmVuY2VzLnlhbWwKaW5kZXggMTMwOWZiMTMyN2ZiODA3MjU3NmY5
OWZlOWJlOTFjZDQyODZkM2E5OS4uNjNjNGI5M2Q1MzI1ZGYxODE2YjI3MjRkZjQ2MDlkODA0YTVk
ZjE4ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9TaGFyZWQvV2ViUHJlZmVyZW5jZXMueWFt
bAorKysgYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJQcmVmZXJlbmNlcy55YW1sCkBAIC0xMjM4
LDE0ICsxMjM4LDE0IEBAIFdlYkdMMkVuYWJsZWQ6CiAgIHdlYmNvcmVCaW5kaW5nOiBSdW50aW1l
RW5hYmxlZEZlYXR1cmVzCiAgIGNvbmRpdGlvbjogRU5BQkxFKFdFQkdMMikKIAotV2ViR1BVRW5h
YmxlZDoKK1dlYk1ldGFsRW5hYmxlZDoKICAgdHlwZTogYm9vbAogICBkZWZhdWx0VmFsdWU6IGZh
bHNlCi0gIGh1bWFuUmVhZGFibGVOYW1lOiAiV2ViR1BVIgotICBodW1hblJlYWRhYmxlRGVzY3Jp
cHRpb246ICJXZWJHUFUgcHJvdG90eXBlIgorICBodW1hblJlYWRhYmxlTmFtZTogIldlYk1ldGFs
IgorICBodW1hblJlYWRhYmxlRGVzY3JpcHRpb246ICJXZWJNZXRhbCBwcm90b3R5cGUiCiAgIGNh
dGVnb3J5OiBleHBlcmltZW50YWwKICAgd2ViY29yZUJpbmRpbmc6IFJ1bnRpbWVFbmFibGVkRmVh
dHVyZXMKLSAgY29uZGl0aW9uOiBFTkFCTEUoV0VCR1BVKQorICBjb25kaXRpb246IEVOQUJMRShX
RUJNRVRBTCkKIAogQWNjZXNzaWJpbGl0eU9iamVjdE1vZGVsRW5hYmxlZDoKICAgdHlwZTogYm9v
bApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0lu
amVjdGVkQnVuZGxlLmNwcCBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRs
ZS9JbmplY3RlZEJ1bmRsZS5jcHAKaW5kZXggMWI0YTRmNDY0YTllYTRmOGRhMzViNDkzYTk3NGRj
NzFjOTUxM2Y3OC4uZWUwZDRiY2ViYzE1ZmQ5MWU3NTFhYzc4OWM3ZWI4ZTQ5NDQyMDc5MyAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0luamVjdGVk
QnVuZGxlLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUv
SW5qZWN0ZWRCdW5kbGUuY3BwCkBAIC0yMTEsOSArMjExLDkgQEAgdm9pZCBJbmplY3RlZEJ1bmRs
ZTo6b3ZlcnJpZGVCb29sUHJlZmVyZW5jZUZvclRlc3RSdW5uZXIoV2ViUGFnZUdyb3VwUHJveHkq
IHBhZ2UKICAgICAgICAgUnVudGltZUVuYWJsZWRGZWF0dXJlczo6c2hhcmVkRmVhdHVyZXMoKS5z
ZXRXZWJHTDJFbmFibGVkKGVuYWJsZWQpOwogI2VuZGlmCiAKLSNpZiBFTkFCTEUoV0VCR1BVKQot
ICAgIGlmIChwcmVmZXJlbmNlID09ICJXZWJLaXRXZWJHUFVFbmFibGVkIikKLSAgICAgICAgUnVu
dGltZUVuYWJsZWRGZWF0dXJlczo6c2hhcmVkRmVhdHVyZXMoKS5zZXRXZWJHUFVFbmFibGVkKGVu
YWJsZWQpOworI2lmIEVOQUJMRShXRUJNRVRBTCkKKyAgICBpZiAocHJlZmVyZW5jZSA9PSAiV2Vi
S2l0V2ViTWV0YWxFbmFibGVkIikKKyAgICAgICAgUnVudGltZUVuYWJsZWRGZWF0dXJlczo6c2hh
cmVkRmVhdHVyZXMoKS5zZXRXZWJNZXRhbEVuYWJsZWQoZW5hYmxlZCk7CiAjZW5kaWYKIAogICAg
IGlmIChwcmVmZXJlbmNlID09ICJXZWJLaXRNb2Rlcm5NZWRpYUNvbnRyb2xzRW5hYmxlZCIpCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9Db25maWd1cmF0aW9ucy9GZWF0dXJl
RGVmaW5lcy54Y2NvbmZpZyBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL0NvbmZpZ3VyYXRpb25z
L0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnCmluZGV4IDY4ZWZjZTk0MmNhMGRjZGU2MjA5YTMwZmI0
ZTVkMGJkODc2MGE3ODEuLjI0MjlkZDhkYzY5MTI0MzU2ZDAxNDYzYWFiNzc5OGU3ODc3OWM5NWMg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL0NvbmZpZ3VyYXRpb25zL0ZlYXR1
cmVEZWZpbmVzLnhjY29uZmlnCisrKyBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL0NvbmZpZ3Vy
YXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnCkBAIC0zNTAsMTEgKzM1MCwxMSBAQCBFTkFC
TEVfV0VCR0wgPSBFTkFCTEVfV0VCR0w7CiAKIEVOQUJMRV9XRUJHTDIgPSBFTkFCTEVfV0VCR0wy
OwogCi1FTkFCTEVfV0VCR1BVID0gJChFTkFCTEVfV0VCR1BVXyQoV0tfUExBVEZPUk1fTkFNRSkp
OwotRU5BQkxFX1dFQkdQVV9pcGhvbmVvcyA9IEVOQUJMRV9XRUJHUFU7Ci1FTkFCTEVfV0VCR1BV
X3dhdGNob3MgPSBFTkFCTEVfV0VCR1BVOwotRU5BQkxFX1dFQkdQVV9hcHBsZXR2b3MgPSBFTkFC
TEVfV0VCR1BVOwotRU5BQkxFX1dFQkdQVV9tYWNvc3ggPSBFTkFCTEVfV0VCR1BVOworRU5BQkxF
X1dFQk1FVEFMID0gJChFTkFCTEVfV0VCTUVUQUxfJChXS19QTEFURk9STV9OQU1FKSk7CitFTkFC
TEVfV0VCTUVUQUxfaXBob25lb3MgPSBFTkFCTEVfV0VCTUVUQUw7CitFTkFCTEVfV0VCTUVUQUxf
d2F0Y2hvcyA9IEVOQUJMRV9XRUJNRVRBTDsKK0VOQUJMRV9XRUJNRVRBTF9hcHBsZXR2b3MgPSBF
TkFCTEVfV0VCTUVUQUw7CitFTkFCTEVfV0VCTUVUQUxfbWFjb3N4ID0gRU5BQkxFX1dFQk1FVEFM
OwogCiBFTkFCTEVfV0VCX0FVRElPID0gRU5BQkxFX1dFQl9BVURJTzsKIApAQCAtMzcyLDQgKzM3
Miw0IEBAIEVOQUJMRV9XSVJFTEVTU19QTEFZQkFDS19UQVJHRVQgPSBFTkFCTEVfV0lSRUxFU1Nf
UExBWUJBQ0tfVEFSR0VUOwogCiBFTkFCTEVfWFNMVCA9IEVOQUJMRV9YU0xUOwogCi1GRUFUVVJF
X0RFRklORVMgPSAkKEVOQUJMRV8zRF9UUkFOU0ZPUk1TKSAkKEVOQUJMRV9BQ0NFTEVSQVRFRF8y
RF9DQU5WQVMpICQoRU5BQkxFX0FDQ0VMRVJBVEVEX09WRVJGTE9XX1NDUk9MTElORykgJChFTkFC
TEVfQVBQTEVfUEFZKSAkKEVOQUJMRV9BUFBMRV9QQVlfU0VTU0lPTl9WMykgJChFTkFCTEVfQVBQ
TEVfUEFZX1NFU1NJT05fVjQpICQoRU5BQkxFX0FQUExJQ0FUSU9OX01BTklGRVNUKSAkKEVOQUJM
RV9BVFRBQ0hNRU5UX0VMRU1FTlQpICQoRU5BQkxFX0FWRl9DQVBUSU9OUykgJChFTkFCTEVfQ0FD
SEVfUEFSVElUSU9OSU5HKSAkKEVOQUJMRV9DSEFOTkVMX01FU1NBR0lORykgJChFTkFCTEVfQ09O
VEVOVF9GSUxURVJJTkcpICQoRU5BQkxFX0NTUzNfVEVYVCkgJChFTkFCTEVfQ1NTX0JPWF9ERUNP
UkFUSU9OX0JSRUFLKSAkKEVOQUJMRV9DU1NfQ09NUE9TSVRJTkcpICQoRU5BQkxFX0NTU19ERVZJ
Q0VfQURBUFRBVElPTikgJChFTkFCTEVfQ1NTX0lNQUdFX09SSUVOVEFUSU9OKSAkKEVOQUJMRV9D
U1NfSU1BR0VfUkVTT0xVVElPTikgJChFTkFCTEVfQ1NTX1NDUk9MTF9TTkFQKSAkKEVOQUJMRV9D
U1NfU0VMRUNUT1JTX0xFVkVMNCkgJChFTkFCTEVfQ1NTX1RSQUlMSU5HX1dPUkQpICQoRU5BQkxF
X0NVUlNPUl9WSVNJQklMSVRZKSAkKEVOQUJMRV9DVVNUT01fU0NIRU1FX0hBTkRMRVIpICQoRU5B
QkxFX0RBU0hCT0FSRF9TVVBQT1JUKSAkKEVOQUJMRV9EQVRBX0lOVEVSQUNUSU9OKSAkKEVOQUJM
RV9EQVRBQ1VFX1ZBTFVFKSAkKEVOQUJMRV9EQVRBTElTVF9FTEVNRU5UKSAkKEVOQUJMRV9ERVZJ
Q0VfT1JJRU5UQVRJT04pICQoRU5BQkxFX0RSQUdfU1VQUE9SVCkgJChFTkFCTEVfRU5DUllQVEVE
X01FRElBKSAkKEVOQUJMRV9FWFBFUklNRU5UQUxfRkVBVFVSRVMpICQoRU5BQkxFX0ZBU1RfSklU
X1BFUk1JU1NJT05TKSAkKEVOQUJMRV9GSUxURVJTX0xFVkVMXzIpICQoRU5BQkxFX0ZUTF9KSVQp
ICQoRU5BQkxFX0ZVTExTQ1JFRU5fQVBJKSAkKEVOQUJMRV9HQU1FUEFEKSAkKEVOQUJMRV9HRU9M
T0NBVElPTikgJChFTkFCTEVfSUNPTkRBVEFCQVNFKSAkKEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNF
KSAkKEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNFX0lOX1dPUktFUlMpICQoRU5BQkxFX0lOUFVUX1RZ
UEVfQ09MT1IpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURSkgJChFTkFCTEVfSU5QVVRfVFlQRV9E
QVRFVElNRV9JTkNPTVBMRVRFKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1FTE9DQUwpICQo
RU5BQkxFX0lOUFVUX1RZUEVfTU9OVEgpICQoRU5BQkxFX0lOUFVUX1RZUEVfVElNRSkgJChFTkFC
TEVfSU5QVVRfVFlQRV9XRUVLKSAkKEVOQUJMRV9JTlRFUlNFQ1RJT05fT0JTRVJWRVIpICQoRU5B
QkxFX0lOVEwpICQoRU5BQkxFX0lPU19HRVNUVVJFX0VWRU5UUykgJChFTkFCTEVfSU9TX1RPVUNI
X0VWRU5UUykgJChFTkFCTEVfSklUKSAkKEVOQUJMRV9KU19BU1lOQ19JVEVSQVRJT04pICQoRU5B
QkxFX0tFWUJPQVJEX0NPREVfQVRUUklCVVRFKSAkKEVOQUJMRV9LRVlCT0FSRF9LRVlfQVRUUklC
VVRFKSAkKEVOQUJMRV9MQVlPVVRfRk9STUFUVElOR19DT05URVhUKSAkKEVOQUJMRV9MRUdBQ1lf
Q1NTX1ZFTkRPUl9QUkVGSVhFUykgJChFTkFCTEVfTEVHQUNZX0NVU1RPTV9QUk9UT0NPTF9NQU5B
R0VSKSAkKEVOQUJMRV9MRUdBQ1lfRU5DUllQVEVEX01FRElBKSAkKEVOQUJMRV9MRVRURVJQUkVT
UykgJChFTkFCTEVfTUFDX0dFU1RVUkVfRVZFTlRTKSAkKEVOQUJMRV9NQUNfVklERU9fVE9PTEJP
WCkgJChFTkFCTEVfTUFUSE1MKSAkKEVOQUJMRV9NRURJQV9DQVBUVVJFKSAkKEVOQUJMRV9NRURJ
QV9DT05UUk9MU19TQ1JJUFQpICQoRU5BQkxFX01FRElBX1NFU1NJT04pICQoRU5BQkxFX01FRElB
X1NPVVJDRSkgJChFTkFCTEVfTUVESUFfU1RBVElTVElDUykgJChFTkFCTEVfTUVESUFfU1RSRUFN
KSAkKEVOQUJMRV9NRVRFUl9FTEVNRU5UKSAkKEVOQUJMRV9NSFRNTCkgJChFTkFCTEVfTU9VU0Vf
Q1VSU09SX1NDQUxFKSAkKEVOQUJMRV9OQVZJR0FUT1JfQ09OVEVOVF9VVElMUykgJChFTkFCTEVf
TkFWSUdBVE9SX1NUQU5EQUxPTkUpICQoRU5BQkxFX05PVElGSUNBVElPTlMpICQoRU5BQkxFX1BB
WU1FTlRfUkVRVUVTVCkgJChFTkFCTEVfUERGS0lUX1BMVUdJTikgJChFTkFCTEVfUE9JTlRFUl9M
T0NLKSAkKEVOQUJMRV9QVUJMSUNfU1VGRklYX0xJU1QpICQoRU5BQkxFX1FVT1RBKSAkKEVOQUJM
RV9SRU1PVEVfSU5TUEVDVE9SKSAkKEVOQUJMRV9SRVNPTFVUSU9OX01FRElBX1FVRVJZKSAkKEVO
QUJMRV9SRVNPVVJDRV9VU0FHRSkgJChFTkFCTEVfUlVCQkVSX0JBTkRJTkcpICQoRU5BQkxFX1NF
UlZJQ0VfQ09OVFJPTFMpICQoRU5BQkxFX1NFUlZJQ0VfV09SS0VSKSAkKEVOQUJMRV9TUEVFQ0hf
U1lOVEhFU0lTKSAkKEVOQUJMRV9TVFJFQU1TX0FQSSkgJChFTkFCTEVfU1VCVExFX0NSWVBUTykg
JChFTkFCTEVfU1ZHX0ZPTlRTKSAkKEVOQUJMRV9URUxFUEhPTkVfTlVNQkVSX0RFVEVDVElPTikg
JChFTkFCTEVfVEVYVF9BVVRPU0laSU5HKSAkKEVOQUJMRV9UT1VDSF9FVkVOVFMpICQoRU5BQkxF
X1VTRVJfTUVTU0FHRV9IQU5ETEVSUykgJChFTkFCTEVfVVNFUlNFTEVDVF9BTEwpICQoRU5BQkxF
X1ZBUklBVElPTl9GT05UUykgJChFTkFCTEVfVklERU8pICQoRU5BQkxFX1ZJREVPX1BSRVNFTlRB
VElPTl9NT0RFKSAkKEVOQUJMRV9WSURFT19UUkFDSykgJChFTkFCTEVfVklERU9fVVNFU19FTEVN
RU5UX0ZVTExTQ1JFRU4pICQoRU5BQkxFX1dFQl9BVURJTykgJChFTkFCTEVfV0VCX0FVVEhOKSAk
KEVOQUJMRV9XRUJfUlRDKSAkKEVOQUJMRV9XRUJBU1NFTUJMWSkgJChFTkFCTEVfV0VCQVNTRU1C
TFlfU1RSRUFNSU5HX0FQSSkgJChFTkFCTEVfV0VCR0wpICQoRU5BQkxFX1dFQkdMMikgJChFTkFC
TEVfV0VCR1BVKSAkKEVOQUJMRV9XSVJFTEVTU19QTEFZQkFDS19UQVJHRVQpICQoRU5BQkxFX1hT
TFQpOworRkVBVFVSRV9ERUZJTkVTID0gJChFTkFCTEVfM0RfVFJBTlNGT1JNUykgJChFTkFCTEVf
QUNDRUxFUkFURURfMkRfQ0FOVkFTKSAkKEVOQUJMRV9BQ0NFTEVSQVRFRF9PVkVSRkxPV19TQ1JP
TExJTkcpICQoRU5BQkxFX0FQUExFX1BBWSkgJChFTkFCTEVfQVBQTEVfUEFZX1NFU1NJT05fVjMp
ICQoRU5BQkxFX0FQUExFX1BBWV9TRVNTSU9OX1Y0KSAkKEVOQUJMRV9BUFBMSUNBVElPTl9NQU5J
RkVTVCkgJChFTkFCTEVfQVRUQUNITUVOVF9FTEVNRU5UKSAkKEVOQUJMRV9BVkZfQ0FQVElPTlMp
ICQoRU5BQkxFX0NBQ0hFX1BBUlRJVElPTklORykgJChFTkFCTEVfQ0hBTk5FTF9NRVNTQUdJTkcp
ICQoRU5BQkxFX0NPTlRFTlRfRklMVEVSSU5HKSAkKEVOQUJMRV9DU1MzX1RFWFQpICQoRU5BQkxF
X0NTU19CT1hfREVDT1JBVElPTl9CUkVBSykgJChFTkFCTEVfQ1NTX0NPTVBPU0lUSU5HKSAkKEVO
QUJMRV9DU1NfREVWSUNFX0FEQVBUQVRJT04pICQoRU5BQkxFX0NTU19JTUFHRV9PUklFTlRBVElP
TikgJChFTkFCTEVfQ1NTX0lNQUdFX1JFU09MVVRJT04pICQoRU5BQkxFX0NTU19TQ1JPTExfU05B
UCkgJChFTkFCTEVfQ1NTX1NFTEVDVE9SU19MRVZFTDQpICQoRU5BQkxFX0NTU19UUkFJTElOR19X
T1JEKSAkKEVOQUJMRV9DVVJTT1JfVklTSUJJTElUWSkgJChFTkFCTEVfQ1VTVE9NX1NDSEVNRV9I
QU5ETEVSKSAkKEVOQUJMRV9EQVNIQk9BUkRfU1VQUE9SVCkgJChFTkFCTEVfREFUQV9JTlRFUkFD
VElPTikgJChFTkFCTEVfREFUQUNVRV9WQUxVRSkgJChFTkFCTEVfREFUQUxJU1RfRUxFTUVOVCkg
JChFTkFCTEVfREVWSUNFX09SSUVOVEFUSU9OKSAkKEVOQUJMRV9EUkFHX1NVUFBPUlQpICQoRU5B
QkxFX0VOQ1JZUFRFRF9NRURJQSkgJChFTkFCTEVfRVhQRVJJTUVOVEFMX0ZFQVRVUkVTKSAkKEVO
QUJMRV9GQVNUX0pJVF9QRVJNSVNTSU9OUykgJChFTkFCTEVfRklMVEVSU19MRVZFTF8yKSAkKEVO
QUJMRV9GVExfSklUKSAkKEVOQUJMRV9GVUxMU0NSRUVOX0FQSSkgJChFTkFCTEVfR0FNRVBBRCkg
JChFTkFCTEVfR0VPTE9DQVRJT04pICQoRU5BQkxFX0lDT05EQVRBQkFTRSkgJChFTkFCTEVfSU5E
RVhFRF9EQVRBQkFTRSkgJChFTkFCTEVfSU5ERVhFRF9EQVRBQkFTRV9JTl9XT1JLRVJTKSAkKEVO
QUJMRV9JTlBVVF9UWVBFX0NPTE9SKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEUpICQoRU5BQkxF
X0lOUFVUX1RZUEVfREFURVRJTUVfSU5DT01QTEVURSkgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRF
VElNRUxPQ0FMKSAkKEVOQUJMRV9JTlBVVF9UWVBFX01PTlRIKSAkKEVOQUJMRV9JTlBVVF9UWVBF
X1RJTUUpICQoRU5BQkxFX0lOUFVUX1RZUEVfV0VFSykgJChFTkFCTEVfSU5URVJTRUNUSU9OX09C
U0VSVkVSKSAkKEVOQUJMRV9JTlRMKSAkKEVOQUJMRV9JT1NfR0VTVFVSRV9FVkVOVFMpICQoRU5B
QkxFX0lPU19UT1VDSF9FVkVOVFMpICQoRU5BQkxFX0pJVCkgJChFTkFCTEVfSlNfQVNZTkNfSVRF
UkFUSU9OKSAkKEVOQUJMRV9LRVlCT0FSRF9DT0RFX0FUVFJJQlVURSkgJChFTkFCTEVfS0VZQk9B
UkRfS0VZX0FUVFJJQlVURSkgJChFTkFCTEVfTEFZT1VUX0ZPUk1BVFRJTkdfQ09OVEVYVCkgJChF
TkFCTEVfTEVHQUNZX0NTU19WRU5ET1JfUFJFRklYRVMpICQoRU5BQkxFX0xFR0FDWV9DVVNUT01f
UFJPVE9DT0xfTUFOQUdFUikgJChFTkFCTEVfTEVHQUNZX0VOQ1JZUFRFRF9NRURJQSkgJChFTkFC
TEVfTEVUVEVSUFJFU1MpICQoRU5BQkxFX01BQ19HRVNUVVJFX0VWRU5UUykgJChFTkFCTEVfTUFD
X1ZJREVPX1RPT0xCT1gpICQoRU5BQkxFX01BVEhNTCkgJChFTkFCTEVfTUVESUFfQ0FQVFVSRSkg
JChFTkFCTEVfTUVESUFfQ09OVFJPTFNfU0NSSVBUKSAkKEVOQUJMRV9NRURJQV9TRVNTSU9OKSAk
KEVOQUJMRV9NRURJQV9TT1VSQ0UpICQoRU5BQkxFX01FRElBX1NUQVRJU1RJQ1MpICQoRU5BQkxF
X01FRElBX1NUUkVBTSkgJChFTkFCTEVfTUVURVJfRUxFTUVOVCkgJChFTkFCTEVfTUhUTUwpICQo
RU5BQkxFX01PVVNFX0NVUlNPUl9TQ0FMRSkgJChFTkFCTEVfTkFWSUdBVE9SX0NPTlRFTlRfVVRJ
TFMpICQoRU5BQkxFX05BVklHQVRPUl9TVEFOREFMT05FKSAkKEVOQUJMRV9OT1RJRklDQVRJT05T
KSAkKEVOQUJMRV9QQVlNRU5UX1JFUVVFU1QpICQoRU5BQkxFX1BERktJVF9QTFVHSU4pICQoRU5B
QkxFX1BPSU5URVJfTE9DSykgJChFTkFCTEVfUFVCTElDX1NVRkZJWF9MSVNUKSAkKEVOQUJMRV9R
VU9UQSkgJChFTkFCTEVfUkVNT1RFX0lOU1BFQ1RPUikgJChFTkFCTEVfUkVTT0xVVElPTl9NRURJ
QV9RVUVSWSkgJChFTkFCTEVfUkVTT1VSQ0VfVVNBR0UpICQoRU5BQkxFX1JVQkJFUl9CQU5ESU5H
KSAkKEVOQUJMRV9TRVJWSUNFX0NPTlRST0xTKSAkKEVOQUJMRV9TRVJWSUNFX1dPUktFUikgJChF
TkFCTEVfU1BFRUNIX1NZTlRIRVNJUykgJChFTkFCTEVfU1RSRUFNU19BUEkpICQoRU5BQkxFX1NV
QlRMRV9DUllQVE8pICQoRU5BQkxFX1NWR19GT05UUykgJChFTkFCTEVfVEVMRVBIT05FX05VTUJF
Ul9ERVRFQ1RJT04pICQoRU5BQkxFX1RFWFRfQVVUT1NJWklORykgJChFTkFCTEVfVE9VQ0hfRVZF
TlRTKSAkKEVOQUJMRV9VU0VSX01FU1NBR0VfSEFORExFUlMpICQoRU5BQkxFX1VTRVJTRUxFQ1Rf
QUxMKSAkKEVOQUJMRV9WQVJJQVRJT05fRk9OVFMpICQoRU5BQkxFX1ZJREVPKSAkKEVOQUJMRV9W
SURFT19QUkVTRU5UQVRJT05fTU9ERSkgJChFTkFCTEVfVklERU9fVFJBQ0spICQoRU5BQkxFX1ZJ
REVPX1VTRVNfRUxFTUVOVF9GVUxMU0NSRUVOKSAkKEVOQUJMRV9XRUJfQVVESU8pICQoRU5BQkxF
X1dFQl9BVVRITikgJChFTkFCTEVfV0VCX1JUQykgJChFTkFCTEVfV0VCQVNTRU1CTFkpICQoRU5B
QkxFX1dFQkFTU0VNQkxZX1NUUkVBTUlOR19BUEkpICQoRU5BQkxFX1dFQkdMKSAkKEVOQUJMRV9X
RUJHTDIpICQoRU5BQkxFX1dFQk1FVEFMKSAkKEVOQUJMRV9XSVJFTEVTU19QTEFZQkFDS19UQVJH
RVQpICQoRU5BQkxFX1hTTFQpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdExlZ2FjeS9tYWMv
V2ViVmlldy9XZWJQcmVmZXJlbmNlS2V5c1ByaXZhdGUuaCBiL1NvdXJjZS9XZWJLaXRMZWdhY3kv
bWFjL1dlYlZpZXcvV2ViUHJlZmVyZW5jZUtleXNQcml2YXRlLmgKaW5kZXggYjg5ZmZmNjAwOGNh
Y2M5NjNkMjJhYzIxZmQwZjYwNzJhMDJjODY5Mi4uNmM5ZmZhMTUxNWE3MWEyMzZjYjdiNzQxN2M4
NjY5ODYzMmYyM2UyZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViVmll
dy9XZWJQcmVmZXJlbmNlS2V5c1ByaXZhdGUuaAorKysgYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L21h
Yy9XZWJWaWV3L1dlYlByZWZlcmVuY2VLZXlzUHJpdmF0ZS5oCkBAIC0xMTMsNyArMTEzLDcgQEAK
ICNkZWZpbmUgV2ViS2l0V2ViQXVkaW9FbmFibGVkUHJlZmVyZW5jZUtleSBAIldlYktpdFdlYkF1
ZGlvRW5hYmxlZCIKICNkZWZpbmUgV2ViS2l0V2ViR0xFbmFibGVkUHJlZmVyZW5jZUtleSBAIldl
YktpdFdlYkdMRW5hYmxlZCIKICNkZWZpbmUgV2ViS2l0V2ViR0wyRW5hYmxlZFByZWZlcmVuY2VL
ZXkgQCJXZWJLaXRXZWJHTDJFbmFibGVkIgotI2RlZmluZSBXZWJLaXRXZWJHUFVFbmFibGVkUHJl
ZmVyZW5jZUtleSBAIldlYktpdFdlYkdQVUVuYWJsZWQiCisjZGVmaW5lIFdlYktpdFdlYk1ldGFs
RW5hYmxlZFByZWZlcmVuY2VLZXkgQCJXZWJLaXRXZWJNZXRhbEVuYWJsZWQiCiAjZGVmaW5lIFdl
YktpdEZvcmNlU29mdHdhcmVXZWJHTFJlbmRlcmluZ1ByZWZlcmVuY2VLZXkgQCJXZWJLaXRGb3Jj
ZVNvZnR3YXJlV2ViR0xSZW5kZXJpbmciCiAjZGVmaW5lIFdlYktpdEZvcmNlV2ViR0xVc2VzTG93
UG93ZXJQcmVmZXJlbmNlS2V5IEAiV2ViS2l0Rm9yY2VXZWJHTFVzZXNMb3dQb3dlciIKICNkZWZp
bmUgV2ViS2l0QWNjZWxlcmF0ZWQyZENhbnZhc0VuYWJsZWRQcmVmZXJlbmNlS2V5IEAiV2ViS2l0
QWNjZWxlcmF0ZWQyZENhbnZhc0VuYWJsZWQiCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0TGVn
YWN5L21hYy9XZWJWaWV3L1dlYlByZWZlcmVuY2VzLm1tIGIvU291cmNlL1dlYktpdExlZ2FjeS9t
YWMvV2ViVmlldy9XZWJQcmVmZXJlbmNlcy5tbQppbmRleCBjNjZmYTk1M2RmYTQzM2JkYzZlZWQx
MWEyOGIxNGU2ZGRmMzRiOGVhLi4xODExMTZmMTIzM2UyNjkzODgzNWRhMjYyZTYzMTM0MzJjNTRi
YWZiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJWaWV3L1dlYlByZWZl
cmVuY2VzLm1tCisrKyBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYlZpZXcvV2ViUHJlZmVy
ZW5jZXMubW0KQEAgLTYzMCw4ICs2MzAsOCBAQCArICh2b2lkKWluaXRpYWxpemUKICNpZiBFTkFC
TEUoV0VCR0wyKQogICAgICAgICBbTlNOdW1iZXIgbnVtYmVyV2l0aEJvb2w6Tk9dLCBXZWJLaXRX
ZWJHTDJFbmFibGVkUHJlZmVyZW5jZUtleSwKICNlbmRpZgotI2lmIEVOQUJMRShXRUJHUFUpCi0g
ICAgICAgIFtOU051bWJlciBudW1iZXJXaXRoQm9vbDpOT10sIFdlYktpdFdlYkdQVUVuYWJsZWRQ
cmVmZXJlbmNlS2V5LAorI2lmIEVOQUJMRShXRUJNRVRBTCkKKyAgICAgICAgW05TTnVtYmVyIG51
bWJlcldpdGhCb29sOk5PXSwgV2ViS2l0V2ViTWV0YWxFbmFibGVkUHJlZmVyZW5jZUtleSwKICNl
bmRpZgogICAgICAgICBbTlNOdW1iZXIgbnVtYmVyV2l0aEJvb2w6Tk9dLCBXZWJLaXRDYWNoZUFQ
SUVuYWJsZWRQcmVmZXJlbmNlS2V5LAogICAgICAgICBbTlNOdW1iZXIgbnVtYmVyV2l0aEJvb2w6
WUVTXSwgV2ViS2l0RmV0Y2hBUElFbmFibGVkUHJlZmVyZW5jZUtleSwKQEAgLTIxMDksMTQgKzIx
MDksMTQgQEAgLSAodm9pZClzZXRGb3JjZVdlYkdMVXNlc0xvd1Bvd2VyOihCT09MKWZvcmNlTG93
UG93ZXIKICAgICBbc2VsZiBfc2V0Qm9vbFZhbHVlOmZvcmNlTG93UG93ZXIgZm9yS2V5OldlYktp
dEZvcmNlV2ViR0xVc2VzTG93UG93ZXJQcmVmZXJlbmNlS2V5XTsKIH0KIAotLSAoQk9PTCl3ZWJH
UFVFbmFibGVkCistIChCT09MKXdlYk1ldGFsRW5hYmxlZAogewotICAgIHJldHVybiBbc2VsZiBf
Ym9vbFZhbHVlRm9yS2V5OldlYktpdFdlYkdQVUVuYWJsZWRQcmVmZXJlbmNlS2V5XTsKKyAgICBy
ZXR1cm4gW3NlbGYgX2Jvb2xWYWx1ZUZvcktleTpXZWJLaXRXZWJNZXRhbEVuYWJsZWRQcmVmZXJl
bmNlS2V5XTsKIH0KIAotLSAodm9pZClzZXRXZWJHUFVFbmFibGVkOihCT09MKWVuYWJsZWQKKy0g
KHZvaWQpc2V0V2ViTWV0YWxFbmFibGVkOihCT09MKWVuYWJsZWQKIHsKLSAgICBbc2VsZiBfc2V0
Qm9vbFZhbHVlOmVuYWJsZWQgZm9yS2V5OldlYktpdFdlYkdQVUVuYWJsZWRQcmVmZXJlbmNlS2V5
XTsKKyAgICBbc2VsZiBfc2V0Qm9vbFZhbHVlOmVuYWJsZWQgZm9yS2V5OldlYktpdFdlYk1ldGFs
RW5hYmxlZFByZWZlcmVuY2VLZXldOwogfQogCiAtIChCT09MKWFjY2VsZXJhdGVkMmRDYW52YXNF
bmFibGVkCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJWaWV3L1dlYlBy
ZWZlcmVuY2VzUHJpdmF0ZS5oIGIvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViVmlldy9XZWJQ
cmVmZXJlbmNlc1ByaXZhdGUuaAppbmRleCA0NzBhNmZkOTUzOGRmMzI5ZDM4ZDE5YTVmYWIzOTMy
OTE3Yzc3MWJlLi5lMmY4NDA3MjQ4Y2VhNWRmOWNkM2FiYjgwZjFjODEwZDI1MmNkYWFjIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJWaWV3L1dlYlByZWZlcmVuY2VzUHJp
dmF0ZS5oCisrKyBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYlZpZXcvV2ViUHJlZmVyZW5j
ZXNQcml2YXRlLmgKQEAgLTI3Miw4ICsyNzIsOCBAQCBleHRlcm4gTlNTdHJpbmcgKldlYlByZWZl
cmVuY2VzQ2FjaGVNb2RlbENoYW5nZWRJbnRlcm5hbE5vdGlmaWNhdGlvbiBXRUJLSVRfREVQUgog
LSAoQk9PTClmb3JjZUxvd1Bvd2VyR1BVRm9yV2ViR0w7CiAtICh2b2lkKXNldEZvcmNlV2ViR0xV
c2VzTG93UG93ZXI6KEJPT0wpZm9yY2VMb3dQb3dlcjsKIAotLSAoQk9PTCl3ZWJHUFVFbmFibGVk
OwotLSAodm9pZClzZXRXZWJHUFVFbmFibGVkOihCT09MKWVuYWJsZWQ7CistIChCT09MKXdlYk1l
dGFsRW5hYmxlZDsKKy0gKHZvaWQpc2V0V2ViTWV0YWxFbmFibGVkOihCT09MKWVuYWJsZWQ7CiAK
IC0gKEJPT0wpYWNjZWxlcmF0ZWQyZENhbnZhc0VuYWJsZWQ7CiAtICh2b2lkKXNldEFjY2VsZXJh
dGVkMmRDYW52YXNFbmFibGVkOihCT09MKWVuYWJsZWQ7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0TGVnYWN5L21hYy9XZWJWaWV3L1dlYlZpZXcubW0gYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L21h
Yy9XZWJWaWV3L1dlYlZpZXcubW0KaW5kZXggODUyZGViZjE5ZWJjYzIzOGM4ZDM4MzdlZTc4YzBl
NDEyMWY1MjE1MC4uOWRlYjZlZWNlYTNjMTcyZmQ5YTkxOGU1OTVmNzBlMTYyNmZmNTMxYiAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViVmlldy9XZWJWaWV3Lm1tCisrKyBi
L1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYlZpZXcvV2ViVmlldy5tbQpAQCAtMzExMSw4ICsz
MTExLDggQEAgLSAodm9pZClfcHJlZmVyZW5jZXNDaGFuZ2VkOihXZWJQcmVmZXJlbmNlcyAqKXBy
ZWZlcmVuY2VzCiAgICAgUnVudGltZUVuYWJsZWRGZWF0dXJlczo6c2hhcmVkRmVhdHVyZXMoKS5z
ZXRXZWJHTDJFbmFibGVkKFtwcmVmZXJlbmNlcyB3ZWJHTDJFbmFibGVkXSk7CiAjZW5kaWYKIAot
I2lmIEVOQUJMRShXRUJHUFUpCi0gICAgUnVudGltZUVuYWJsZWRGZWF0dXJlczo6c2hhcmVkRmVh
dHVyZXMoKS5zZXRXZWJHUFVFbmFibGVkKFtwcmVmZXJlbmNlcyB3ZWJHUFVFbmFibGVkXSk7Cisj
aWYgRU5BQkxFKFdFQk1FVEFMKQorICAgIFJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6OnNoYXJlZEZl
YXR1cmVzKCkuc2V0V2ViTWV0YWxFbmFibGVkKFtwcmVmZXJlbmNlcyB3ZWJNZXRhbEVuYWJsZWRd
KTsKICNlbmRpZgogCiAjaWYgRU5BQkxFKERPV05MT0FEX0FUVFJJQlVURSkKZGlmZiAtLWdpdCBh
L1Rvb2xzL0NoYW5nZUxvZyBiL1Rvb2xzL0NoYW5nZUxvZwppbmRleCA5M2YwY2E2NDE1ZjZjZjhk
ZTJhNmYxYTE0YzE2ZDQ3NTNmOWY0ZmFkLi5hYzg1YjI0NjdjYTBiZjRiOTc2ODQ0Zjc0MWNmNzA2
ZjA1NTU4MWI2IDEwMDY0NAotLS0gYS9Ub29scy9DaGFuZ2VMb2cKKysrIGIvVG9vbHMvQ2hhbmdl
TG9nCkBAIC0xLDMgKzEsMjkgQEAKKzIwMTgtMTAtMDUgIEp1c3RpbiBGYW4gIDxqdXN0aW5fZmFu
QGFwcGxlLmNvbT4KKworICAgICAgICBXZWJHUFU6IFJlbmFtZSBvbGQgV2ViR1BVIHByb3RvdHlw
ZSB0byBXZWJNZXRhbAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9MTkwMzI1CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS80NDk5MDQ0Mz4KKworICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBSZW5hbWUgV2ViR1BVIHBy
b3RvdHlwZSBmaWxlcyB0byBXZWJNZXRhbCBpbiBwcmVwYXJhdGlvbiBmb3IgaW1wbGVtZW50aW5n
IHRoZSBuZXcgKE9jdCAyMDE4KSBXZWJHUFUgaW50ZXJmYWNlLgorCisgICAgICAgICogRHVtcFJl
bmRlclRyZWUvbWFjL0R1bXBSZW5kZXJUcmVlLm1tOgorICAgICAgICAoZW5hYmxlRXhwZXJpbWVu
dGFsRmVhdHVyZXMpOgorICAgICAgICAocmVzZXRXZWJQcmVmZXJlbmNlc1RvQ29uc2lzdGVudFZh
bHVlcyk6CisgICAgICAgICogVGVzdFdlYktpdEFQSS9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVm
aW5lcy54Y2NvbmZpZzoKKyAgICAgICAgKiBUZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYkNvcmUvbWFj
L0dQVUJ1ZmZlci5tbToKKyAgICAgICAgKiBUZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYkNvcmUvbWFj
L0dQVUNvbW1hbmRRdWV1ZS5tbToKKyAgICAgICAgKiBUZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYkNv
cmUvbWFjL0dQVURldmljZS5tbToKKyAgICAgICAgKiBUZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYkNv
cmUvbWFjL0dQVUZ1bmN0aW9uLm1tOgorICAgICAgICAqIFRlc3RXZWJLaXRBUEkvVGVzdHMvV2Vi
Q29yZS9tYWMvR1BVTGlicmFyeS5tbToKKyAgICAgICAgKiBXZWJLaXRUZXN0UnVubmVyL0luamVj
dGVkQnVuZGxlL0luamVjdGVkQnVuZGxlLmNwcDoKKyAgICAgICAgKFdUUjo6SW5qZWN0ZWRCdW5k
bGU6OmJlZ2luVGVzdGluZyk6CisgICAgICAgICogV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1
bmRsZS9UZXN0UnVubmVyLmNwcDoKKyAgICAgICAgKFdUUjo6VGVzdFJ1bm5lcjo6c2V0V2ViTWV0
YWxFbmFibGVkKToKKyAgICAgICAgKFdUUjo6VGVzdFJ1bm5lcjo6c2V0V2ViR1BVRW5hYmxlZCk6
IERlbGV0ZWQuCisgICAgICAgICogV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9UZXN0
UnVubmVyLmg6CisKIDIwMTgtMTAtMDUgIENocmlzIER1bWV6ICA8Y2R1bWV6QGFwcGxlLmNvbT4K
IAogICAgICAgICBSZWdyZXNzaW9uKHIyMzY4NjIpOiBDcmFzaCB1bmRlciBET01XaW5kb3dFeHRl
bnNpb246OndpbGxEZXRhY2hHbG9iYWxPYmplY3RGcm9tRnJhbWUoKQpkaWZmIC0tZ2l0IGEvVG9v
bHMvRHVtcFJlbmRlclRyZWUvbWFjL0R1bXBSZW5kZXJUcmVlLm1tIGIvVG9vbHMvRHVtcFJlbmRl
clRyZWUvbWFjL0R1bXBSZW5kZXJUcmVlLm1tCmluZGV4IDBiYmFkM2M1YzAzNTVmMmM4NGE0ZGI5
ODdjNmZmYTliODA0YmNiYzcuLjZlMGQ1OWIzYjI2OTlhZjkzMzA0M2JiYjAwZDQzZmUzZTg4ODBk
YWIgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL21hYy9EdW1wUmVuZGVyVHJlZS5t
bQorKysgYi9Ub29scy9EdW1wUmVuZGVyVHJlZS9tYWMvRHVtcFJlbmRlclRyZWUubW0KQEAgLTg1
NCw3ICs4NTQsNyBAQCBzdGF0aWMgdm9pZCBlbmFibGVFeHBlcmltZW50YWxGZWF0dXJlcyhXZWJQ
cmVmZXJlbmNlcyogcHJlZmVyZW5jZXMpCiAgICAgW3ByZWZlcmVuY2VzIHNldEZldGNoQVBJS2Vl
cEFsaXZlRW5hYmxlZDpZRVNdOwogICAgIFtwcmVmZXJlbmNlcyBzZXRXZWJBbmltYXRpb25zRW5h
YmxlZDpZRVNdOwogICAgIFtwcmVmZXJlbmNlcyBzZXRXZWJHTDJFbmFibGVkOllFU107Ci0gICAg
W3ByZWZlcmVuY2VzIHNldFdlYkdQVUVuYWJsZWQ6WUVTXTsKKyAgICBbcHJlZmVyZW5jZXMgc2V0
V2ViTWV0YWxFbmFibGVkOllFU107CiAgICAgLy8gRklYTUU6IEFzeW5jRnJhbWVTY3JvbGxpbmdF
bmFibGVkCiAgICAgW3ByZWZlcmVuY2VzIHNldFdlYkF1dGhlbnRpY2F0aW9uRW5hYmxlZDpOT107
CiAgICAgW3ByZWZlcmVuY2VzIHNldENhY2hlQVBJRW5hYmxlZDpOT107CkBAIC05NzEsNyArOTcx
LDcgQEAgc3RhdGljIHZvaWQgcmVzZXRXZWJQcmVmZXJlbmNlc1RvQ29uc2lzdGVudFZhbHVlcygp
CiAgICAgW3ByZWZlcmVuY2VzIHNldEN1c3RvbVBhc3RlYm9hcmREYXRhRW5hYmxlZDpZRVNdOwog
CiAgICAgW3ByZWZlcmVuY2VzIHNldFdlYkdMMkVuYWJsZWQ6WUVTXTsKLSAgICBbcHJlZmVyZW5j
ZXMgc2V0V2ViR1BVRW5hYmxlZDpZRVNdOworICAgIFtwcmVmZXJlbmNlcyBzZXRXZWJNZXRhbEVu
YWJsZWQ6WUVTXTsKIAogICAgIFtwcmVmZXJlbmNlcyBzZXREb3dubG9hZEF0dHJpYnV0ZUVuYWJs
ZWQ6WUVTXTsKICAgICBbcHJlZmVyZW5jZXMgc2V0RGlyZWN0b3J5VXBsb2FkRW5hYmxlZDpZRVNd
OwpkaWZmIC0tZ2l0IGEvVG9vbHMvVGVzdFdlYktpdEFQSS9Db25maWd1cmF0aW9ucy9GZWF0dXJl
RGVmaW5lcy54Y2NvbmZpZyBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvQ29uZmlndXJhdGlvbnMvRmVh
dHVyZURlZmluZXMueGNjb25maWcKaW5kZXggNjhlZmNlOTQyY2EwZGNkZTYyMDlhMzBmYjRlNWQw
YmQ4NzYwYTc4MS4uMjQyOWRkOGRjNjkxMjQzNTZkMDE0NjNhYWI3Nzk4ZTc4Nzc5Yzk1YyAxMDA2
NDQKLS0tIGEvVG9vbHMvVGVzdFdlYktpdEFQSS9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5l
cy54Y2NvbmZpZworKysgYi9Ub29scy9UZXN0V2ViS2l0QVBJL0NvbmZpZ3VyYXRpb25zL0ZlYXR1
cmVEZWZpbmVzLnhjY29uZmlnCkBAIC0zNTAsMTEgKzM1MCwxMSBAQCBFTkFCTEVfV0VCR0wgPSBF
TkFCTEVfV0VCR0w7CiAKIEVOQUJMRV9XRUJHTDIgPSBFTkFCTEVfV0VCR0wyOwogCi1FTkFCTEVf
V0VCR1BVID0gJChFTkFCTEVfV0VCR1BVXyQoV0tfUExBVEZPUk1fTkFNRSkpOwotRU5BQkxFX1dF
QkdQVV9pcGhvbmVvcyA9IEVOQUJMRV9XRUJHUFU7Ci1FTkFCTEVfV0VCR1BVX3dhdGNob3MgPSBF
TkFCTEVfV0VCR1BVOwotRU5BQkxFX1dFQkdQVV9hcHBsZXR2b3MgPSBFTkFCTEVfV0VCR1BVOwot
RU5BQkxFX1dFQkdQVV9tYWNvc3ggPSBFTkFCTEVfV0VCR1BVOworRU5BQkxFX1dFQk1FVEFMID0g
JChFTkFCTEVfV0VCTUVUQUxfJChXS19QTEFURk9STV9OQU1FKSk7CitFTkFCTEVfV0VCTUVUQUxf
aXBob25lb3MgPSBFTkFCTEVfV0VCTUVUQUw7CitFTkFCTEVfV0VCTUVUQUxfd2F0Y2hvcyA9IEVO
QUJMRV9XRUJNRVRBTDsKK0VOQUJMRV9XRUJNRVRBTF9hcHBsZXR2b3MgPSBFTkFCTEVfV0VCTUVU
QUw7CitFTkFCTEVfV0VCTUVUQUxfbWFjb3N4ID0gRU5BQkxFX1dFQk1FVEFMOwogCiBFTkFCTEVf
V0VCX0FVRElPID0gRU5BQkxFX1dFQl9BVURJTzsKIApAQCAtMzcyLDQgKzM3Miw0IEBAIEVOQUJM
RV9XSVJFTEVTU19QTEFZQkFDS19UQVJHRVQgPSBFTkFCTEVfV0lSRUxFU1NfUExBWUJBQ0tfVEFS
R0VUOwogCiBFTkFCTEVfWFNMVCA9IEVOQUJMRV9YU0xUOwogCi1GRUFUVVJFX0RFRklORVMgPSAk
KEVOQUJMRV8zRF9UUkFOU0ZPUk1TKSAkKEVOQUJMRV9BQ0NFTEVSQVRFRF8yRF9DQU5WQVMpICQo
RU5BQkxFX0FDQ0VMRVJBVEVEX09WRVJGTE9XX1NDUk9MTElORykgJChFTkFCTEVfQVBQTEVfUEFZ
KSAkKEVOQUJMRV9BUFBMRV9QQVlfU0VTU0lPTl9WMykgJChFTkFCTEVfQVBQTEVfUEFZX1NFU1NJ
T05fVjQpICQoRU5BQkxFX0FQUExJQ0FUSU9OX01BTklGRVNUKSAkKEVOQUJMRV9BVFRBQ0hNRU5U
X0VMRU1FTlQpICQoRU5BQkxFX0FWRl9DQVBUSU9OUykgJChFTkFCTEVfQ0FDSEVfUEFSVElUSU9O
SU5HKSAkKEVOQUJMRV9DSEFOTkVMX01FU1NBR0lORykgJChFTkFCTEVfQ09OVEVOVF9GSUxURVJJ
TkcpICQoRU5BQkxFX0NTUzNfVEVYVCkgJChFTkFCTEVfQ1NTX0JPWF9ERUNPUkFUSU9OX0JSRUFL
KSAkKEVOQUJMRV9DU1NfQ09NUE9TSVRJTkcpICQoRU5BQkxFX0NTU19ERVZJQ0VfQURBUFRBVElP
TikgJChFTkFCTEVfQ1NTX0lNQUdFX09SSUVOVEFUSU9OKSAkKEVOQUJMRV9DU1NfSU1BR0VfUkVT
T0xVVElPTikgJChFTkFCTEVfQ1NTX1NDUk9MTF9TTkFQKSAkKEVOQUJMRV9DU1NfU0VMRUNUT1JT
X0xFVkVMNCkgJChFTkFCTEVfQ1NTX1RSQUlMSU5HX1dPUkQpICQoRU5BQkxFX0NVUlNPUl9WSVNJ
QklMSVRZKSAkKEVOQUJMRV9DVVNUT01fU0NIRU1FX0hBTkRMRVIpICQoRU5BQkxFX0RBU0hCT0FS
RF9TVVBQT1JUKSAkKEVOQUJMRV9EQVRBX0lOVEVSQUNUSU9OKSAkKEVOQUJMRV9EQVRBQ1VFX1ZB
TFVFKSAkKEVOQUJMRV9EQVRBTElTVF9FTEVNRU5UKSAkKEVOQUJMRV9ERVZJQ0VfT1JJRU5UQVRJ
T04pICQoRU5BQkxFX0RSQUdfU1VQUE9SVCkgJChFTkFCTEVfRU5DUllQVEVEX01FRElBKSAkKEVO
QUJMRV9FWFBFUklNRU5UQUxfRkVBVFVSRVMpICQoRU5BQkxFX0ZBU1RfSklUX1BFUk1JU1NJT05T
KSAkKEVOQUJMRV9GSUxURVJTX0xFVkVMXzIpICQoRU5BQkxFX0ZUTF9KSVQpICQoRU5BQkxFX0ZV
TExTQ1JFRU5fQVBJKSAkKEVOQUJMRV9HQU1FUEFEKSAkKEVOQUJMRV9HRU9MT0NBVElPTikgJChF
TkFCTEVfSUNPTkRBVEFCQVNFKSAkKEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNFKSAkKEVOQUJMRV9J
TkRFWEVEX0RBVEFCQVNFX0lOX1dPUktFUlMpICQoRU5BQkxFX0lOUFVUX1RZUEVfQ09MT1IpICQo
RU5BQkxFX0lOUFVUX1RZUEVfREFURSkgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFVElNRV9JTkNP
TVBMRVRFKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1FTE9DQUwpICQoRU5BQkxFX0lOUFVU
X1RZUEVfTU9OVEgpICQoRU5BQkxFX0lOUFVUX1RZUEVfVElNRSkgJChFTkFCTEVfSU5QVVRfVFlQ
RV9XRUVLKSAkKEVOQUJMRV9JTlRFUlNFQ1RJT05fT0JTRVJWRVIpICQoRU5BQkxFX0lOVEwpICQo
RU5BQkxFX0lPU19HRVNUVVJFX0VWRU5UUykgJChFTkFCTEVfSU9TX1RPVUNIX0VWRU5UUykgJChF
TkFCTEVfSklUKSAkKEVOQUJMRV9KU19BU1lOQ19JVEVSQVRJT04pICQoRU5BQkxFX0tFWUJPQVJE
X0NPREVfQVRUUklCVVRFKSAkKEVOQUJMRV9LRVlCT0FSRF9LRVlfQVRUUklCVVRFKSAkKEVOQUJM
RV9MQVlPVVRfRk9STUFUVElOR19DT05URVhUKSAkKEVOQUJMRV9MRUdBQ1lfQ1NTX1ZFTkRPUl9Q
UkVGSVhFUykgJChFTkFCTEVfTEVHQUNZX0NVU1RPTV9QUk9UT0NPTF9NQU5BR0VSKSAkKEVOQUJM
RV9MRUdBQ1lfRU5DUllQVEVEX01FRElBKSAkKEVOQUJMRV9MRVRURVJQUkVTUykgJChFTkFCTEVf
TUFDX0dFU1RVUkVfRVZFTlRTKSAkKEVOQUJMRV9NQUNfVklERU9fVE9PTEJPWCkgJChFTkFCTEVf
TUFUSE1MKSAkKEVOQUJMRV9NRURJQV9DQVBUVVJFKSAkKEVOQUJMRV9NRURJQV9DT05UUk9MU19T
Q1JJUFQpICQoRU5BQkxFX01FRElBX1NFU1NJT04pICQoRU5BQkxFX01FRElBX1NPVVJDRSkgJChF
TkFCTEVfTUVESUFfU1RBVElTVElDUykgJChFTkFCTEVfTUVESUFfU1RSRUFNKSAkKEVOQUJMRV9N
RVRFUl9FTEVNRU5UKSAkKEVOQUJMRV9NSFRNTCkgJChFTkFCTEVfTU9VU0VfQ1VSU09SX1NDQUxF
KSAkKEVOQUJMRV9OQVZJR0FUT1JfQ09OVEVOVF9VVElMUykgJChFTkFCTEVfTkFWSUdBVE9SX1NU
QU5EQUxPTkUpICQoRU5BQkxFX05PVElGSUNBVElPTlMpICQoRU5BQkxFX1BBWU1FTlRfUkVRVUVT
VCkgJChFTkFCTEVfUERGS0lUX1BMVUdJTikgJChFTkFCTEVfUE9JTlRFUl9MT0NLKSAkKEVOQUJM
RV9QVUJMSUNfU1VGRklYX0xJU1QpICQoRU5BQkxFX1FVT1RBKSAkKEVOQUJMRV9SRU1PVEVfSU5T
UEVDVE9SKSAkKEVOQUJMRV9SRVNPTFVUSU9OX01FRElBX1FVRVJZKSAkKEVOQUJMRV9SRVNPVVJD
RV9VU0FHRSkgJChFTkFCTEVfUlVCQkVSX0JBTkRJTkcpICQoRU5BQkxFX1NFUlZJQ0VfQ09OVFJP
TFMpICQoRU5BQkxFX1NFUlZJQ0VfV09SS0VSKSAkKEVOQUJMRV9TUEVFQ0hfU1lOVEhFU0lTKSAk
KEVOQUJMRV9TVFJFQU1TX0FQSSkgJChFTkFCTEVfU1VCVExFX0NSWVBUTykgJChFTkFCTEVfU1ZH
X0ZPTlRTKSAkKEVOQUJMRV9URUxFUEhPTkVfTlVNQkVSX0RFVEVDVElPTikgJChFTkFCTEVfVEVY
VF9BVVRPU0laSU5HKSAkKEVOQUJMRV9UT1VDSF9FVkVOVFMpICQoRU5BQkxFX1VTRVJfTUVTU0FH
RV9IQU5ETEVSUykgJChFTkFCTEVfVVNFUlNFTEVDVF9BTEwpICQoRU5BQkxFX1ZBUklBVElPTl9G
T05UUykgJChFTkFCTEVfVklERU8pICQoRU5BQkxFX1ZJREVPX1BSRVNFTlRBVElPTl9NT0RFKSAk
KEVOQUJMRV9WSURFT19UUkFDSykgJChFTkFCTEVfVklERU9fVVNFU19FTEVNRU5UX0ZVTExTQ1JF
RU4pICQoRU5BQkxFX1dFQl9BVURJTykgJChFTkFCTEVfV0VCX0FVVEhOKSAkKEVOQUJMRV9XRUJf
UlRDKSAkKEVOQUJMRV9XRUJBU1NFTUJMWSkgJChFTkFCTEVfV0VCQVNTRU1CTFlfU1RSRUFNSU5H
X0FQSSkgJChFTkFCTEVfV0VCR0wpICQoRU5BQkxFX1dFQkdMMikgJChFTkFCTEVfV0VCR1BVKSAk
KEVOQUJMRV9XSVJFTEVTU19QTEFZQkFDS19UQVJHRVQpICQoRU5BQkxFX1hTTFQpOworRkVBVFVS
RV9ERUZJTkVTID0gJChFTkFCTEVfM0RfVFJBTlNGT1JNUykgJChFTkFCTEVfQUNDRUxFUkFURURf
MkRfQ0FOVkFTKSAkKEVOQUJMRV9BQ0NFTEVSQVRFRF9PVkVSRkxPV19TQ1JPTExJTkcpICQoRU5B
QkxFX0FQUExFX1BBWSkgJChFTkFCTEVfQVBQTEVfUEFZX1NFU1NJT05fVjMpICQoRU5BQkxFX0FQ
UExFX1BBWV9TRVNTSU9OX1Y0KSAkKEVOQUJMRV9BUFBMSUNBVElPTl9NQU5JRkVTVCkgJChFTkFC
TEVfQVRUQUNITUVOVF9FTEVNRU5UKSAkKEVOQUJMRV9BVkZfQ0FQVElPTlMpICQoRU5BQkxFX0NB
Q0hFX1BBUlRJVElPTklORykgJChFTkFCTEVfQ0hBTk5FTF9NRVNTQUdJTkcpICQoRU5BQkxFX0NP
TlRFTlRfRklMVEVSSU5HKSAkKEVOQUJMRV9DU1MzX1RFWFQpICQoRU5BQkxFX0NTU19CT1hfREVD
T1JBVElPTl9CUkVBSykgJChFTkFCTEVfQ1NTX0NPTVBPU0lUSU5HKSAkKEVOQUJMRV9DU1NfREVW
SUNFX0FEQVBUQVRJT04pICQoRU5BQkxFX0NTU19JTUFHRV9PUklFTlRBVElPTikgJChFTkFCTEVf
Q1NTX0lNQUdFX1JFU09MVVRJT04pICQoRU5BQkxFX0NTU19TQ1JPTExfU05BUCkgJChFTkFCTEVf
Q1NTX1NFTEVDVE9SU19MRVZFTDQpICQoRU5BQkxFX0NTU19UUkFJTElOR19XT1JEKSAkKEVOQUJM
RV9DVVJTT1JfVklTSUJJTElUWSkgJChFTkFCTEVfQ1VTVE9NX1NDSEVNRV9IQU5ETEVSKSAkKEVO
QUJMRV9EQVNIQk9BUkRfU1VQUE9SVCkgJChFTkFCTEVfREFUQV9JTlRFUkFDVElPTikgJChFTkFC
TEVfREFUQUNVRV9WQUxVRSkgJChFTkFCTEVfREFUQUxJU1RfRUxFTUVOVCkgJChFTkFCTEVfREVW
SUNFX09SSUVOVEFUSU9OKSAkKEVOQUJMRV9EUkFHX1NVUFBPUlQpICQoRU5BQkxFX0VOQ1JZUFRF
RF9NRURJQSkgJChFTkFCTEVfRVhQRVJJTUVOVEFMX0ZFQVRVUkVTKSAkKEVOQUJMRV9GQVNUX0pJ
VF9QRVJNSVNTSU9OUykgJChFTkFCTEVfRklMVEVSU19MRVZFTF8yKSAkKEVOQUJMRV9GVExfSklU
KSAkKEVOQUJMRV9GVUxMU0NSRUVOX0FQSSkgJChFTkFCTEVfR0FNRVBBRCkgJChFTkFCTEVfR0VP
TE9DQVRJT04pICQoRU5BQkxFX0lDT05EQVRBQkFTRSkgJChFTkFCTEVfSU5ERVhFRF9EQVRBQkFT
RSkgJChFTkFCTEVfSU5ERVhFRF9EQVRBQkFTRV9JTl9XT1JLRVJTKSAkKEVOQUJMRV9JTlBVVF9U
WVBFX0NPTE9SKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEUpICQoRU5BQkxFX0lOUFVUX1RZUEVf
REFURVRJTUVfSU5DT01QTEVURSkgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFVElNRUxPQ0FMKSAk
KEVOQUJMRV9JTlBVVF9UWVBFX01PTlRIKSAkKEVOQUJMRV9JTlBVVF9UWVBFX1RJTUUpICQoRU5B
QkxFX0lOUFVUX1RZUEVfV0VFSykgJChFTkFCTEVfSU5URVJTRUNUSU9OX09CU0VSVkVSKSAkKEVO
QUJMRV9JTlRMKSAkKEVOQUJMRV9JT1NfR0VTVFVSRV9FVkVOVFMpICQoRU5BQkxFX0lPU19UT1VD
SF9FVkVOVFMpICQoRU5BQkxFX0pJVCkgJChFTkFCTEVfSlNfQVNZTkNfSVRFUkFUSU9OKSAkKEVO
QUJMRV9LRVlCT0FSRF9DT0RFX0FUVFJJQlVURSkgJChFTkFCTEVfS0VZQk9BUkRfS0VZX0FUVFJJ
QlVURSkgJChFTkFCTEVfTEFZT1VUX0ZPUk1BVFRJTkdfQ09OVEVYVCkgJChFTkFCTEVfTEVHQUNZ
X0NTU19WRU5ET1JfUFJFRklYRVMpICQoRU5BQkxFX0xFR0FDWV9DVVNUT01fUFJPVE9DT0xfTUFO
QUdFUikgJChFTkFCTEVfTEVHQUNZX0VOQ1JZUFRFRF9NRURJQSkgJChFTkFCTEVfTEVUVEVSUFJF
U1MpICQoRU5BQkxFX01BQ19HRVNUVVJFX0VWRU5UUykgJChFTkFCTEVfTUFDX1ZJREVPX1RPT0xC
T1gpICQoRU5BQkxFX01BVEhNTCkgJChFTkFCTEVfTUVESUFfQ0FQVFVSRSkgJChFTkFCTEVfTUVE
SUFfQ09OVFJPTFNfU0NSSVBUKSAkKEVOQUJMRV9NRURJQV9TRVNTSU9OKSAkKEVOQUJMRV9NRURJ
QV9TT1VSQ0UpICQoRU5BQkxFX01FRElBX1NUQVRJU1RJQ1MpICQoRU5BQkxFX01FRElBX1NUUkVB
TSkgJChFTkFCTEVfTUVURVJfRUxFTUVOVCkgJChFTkFCTEVfTUhUTUwpICQoRU5BQkxFX01PVVNF
X0NVUlNPUl9TQ0FMRSkgJChFTkFCTEVfTkFWSUdBVE9SX0NPTlRFTlRfVVRJTFMpICQoRU5BQkxF
X05BVklHQVRPUl9TVEFOREFMT05FKSAkKEVOQUJMRV9OT1RJRklDQVRJT05TKSAkKEVOQUJMRV9Q
QVlNRU5UX1JFUVVFU1QpICQoRU5BQkxFX1BERktJVF9QTFVHSU4pICQoRU5BQkxFX1BPSU5URVJf
TE9DSykgJChFTkFCTEVfUFVCTElDX1NVRkZJWF9MSVNUKSAkKEVOQUJMRV9RVU9UQSkgJChFTkFC
TEVfUkVNT1RFX0lOU1BFQ1RPUikgJChFTkFCTEVfUkVTT0xVVElPTl9NRURJQV9RVUVSWSkgJChF
TkFCTEVfUkVTT1VSQ0VfVVNBR0UpICQoRU5BQkxFX1JVQkJFUl9CQU5ESU5HKSAkKEVOQUJMRV9T
RVJWSUNFX0NPTlRST0xTKSAkKEVOQUJMRV9TRVJWSUNFX1dPUktFUikgJChFTkFCTEVfU1BFRUNI
X1NZTlRIRVNJUykgJChFTkFCTEVfU1RSRUFNU19BUEkpICQoRU5BQkxFX1NVQlRMRV9DUllQVE8p
ICQoRU5BQkxFX1NWR19GT05UUykgJChFTkFCTEVfVEVMRVBIT05FX05VTUJFUl9ERVRFQ1RJT04p
ICQoRU5BQkxFX1RFWFRfQVVUT1NJWklORykgJChFTkFCTEVfVE9VQ0hfRVZFTlRTKSAkKEVOQUJM
RV9VU0VSX01FU1NBR0VfSEFORExFUlMpICQoRU5BQkxFX1VTRVJTRUxFQ1RfQUxMKSAkKEVOQUJM
RV9WQVJJQVRJT05fRk9OVFMpICQoRU5BQkxFX1ZJREVPKSAkKEVOQUJMRV9WSURFT19QUkVTRU5U
QVRJT05fTU9ERSkgJChFTkFCTEVfVklERU9fVFJBQ0spICQoRU5BQkxFX1ZJREVPX1VTRVNfRUxF
TUVOVF9GVUxMU0NSRUVOKSAkKEVOQUJMRV9XRUJfQVVESU8pICQoRU5BQkxFX1dFQl9BVVRITikg
JChFTkFCTEVfV0VCX1JUQykgJChFTkFCTEVfV0VCQVNTRU1CTFkpICQoRU5BQkxFX1dFQkFTU0VN
QkxZX1NUUkVBTUlOR19BUEkpICQoRU5BQkxFX1dFQkdMKSAkKEVOQUJMRV9XRUJHTDIpICQoRU5B
QkxFX1dFQk1FVEFMKSAkKEVOQUJMRV9XSVJFTEVTU19QTEFZQkFDS19UQVJHRVQpICQoRU5BQkxF
X1hTTFQpOwpkaWZmIC0tZ2l0IGEvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJDb3JlL21h
Yy9HUFVCdWZmZXIubW0gYi9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYkNvcmUvbWFjL0dQ
VUJ1ZmZlci5tbQppbmRleCA3ZmUzZWI2Yjg3MjMzMWRkYmU0M2I5MWFiN2M1Mjk4Mjc3NjcxMzg0
Li43N2FjNTllNmNjZjJkM2YzOTgyMzY3MjZmMjc1OWNmZjYxMDBlMzIwIDEwMDY0NAotLS0gYS9U
b29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYkNvcmUvbWFjL0dQVUJ1ZmZlci5tbQorKysgYi9U
b29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYkNvcmUvbWFjL0dQVUJ1ZmZlci5tbQpAQCAtMjUs
NyArMjUsNyBAQAogCiAjaW1wb3J0ICJjb25maWcuaCIKIAotI2lmIEVOQUJMRShXRUJHUFUpCisj
aWYgRU5BQkxFKFdFQk1FVEFMKQogCiAjaW1wb3J0ICJHUFVUZXN0LmgiCiAjaW1wb3J0IDxKYXZh
U2NyaXB0Q29yZS9BcnJheUJ1ZmZlci5oPgpkaWZmIC0tZ2l0IGEvVG9vbHMvVGVzdFdlYktpdEFQ
SS9UZXN0cy9XZWJDb3JlL21hYy9HUFVDb21tYW5kUXVldWUubW0gYi9Ub29scy9UZXN0V2ViS2l0
QVBJL1Rlc3RzL1dlYkNvcmUvbWFjL0dQVUNvbW1hbmRRdWV1ZS5tbQppbmRleCA1MDdiODdlNWI0
ZTQyNjRjMjNhOTBlYzY1YTEwNjRiZmU3YWMwZjVmLi4yZjViMTY1YjdkOGQ1MzU4NWE0ZDNiZTZk
NGFkYTljNTkzNDlkNjgyIDEwMDY0NAotLS0gYS9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dl
YkNvcmUvbWFjL0dQVUNvbW1hbmRRdWV1ZS5tbQorKysgYi9Ub29scy9UZXN0V2ViS2l0QVBJL1Rl
c3RzL1dlYkNvcmUvbWFjL0dQVUNvbW1hbmRRdWV1ZS5tbQpAQCAtMjUsNyArMjUsNyBAQAogCiAj
aW1wb3J0ICJjb25maWcuaCIKIAotI2lmIEVOQUJMRShXRUJHUFUpCisjaWYgRU5BQkxFKFdFQk1F
VEFMKQogCiAjaW1wb3J0ICJHUFVUZXN0LmgiCiAjaW1wb3J0ICJQbGF0Zm9ybVV0aWxpdGllcy5o
IgpkaWZmIC0tZ2l0IGEvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJDb3JlL21hYy9HUFVE
ZXZpY2UubW0gYi9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYkNvcmUvbWFjL0dQVURldmlj
ZS5tbQppbmRleCA2YTYxZjBkMjBjMmZlYTU4MGViZjc5ODk5YjM1MDU1YTcwNmFjOTQxLi5hMDQ0
OTRiZmZlMTYzMDgyYzA0ZGQxMmZlNTZiYTAwZmY2OGYzMWNmIDEwMDY0NAotLS0gYS9Ub29scy9U
ZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYkNvcmUvbWFjL0dQVURldmljZS5tbQorKysgYi9Ub29scy9U
ZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYkNvcmUvbWFjL0dQVURldmljZS5tbQpAQCAtMjUsNyArMjUs
NyBAQAogCiAjaW1wb3J0ICJjb25maWcuaCIKIAotI2lmIEVOQUJMRShXRUJHUFUpCisjaWYgRU5B
QkxFKFdFQk1FVEFMKQogCiAjaW1wb3J0ICJHUFVUZXN0LmgiCiAjaW1wb3J0IDxNZXRhbC9NZXRh
bC5oPgpkaWZmIC0tZ2l0IGEvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJDb3JlL21hYy9H
UFVGdW5jdGlvbi5tbSBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViQ29yZS9tYWMvR1BV
RnVuY3Rpb24ubW0KaW5kZXggM2Y5NWFmMmY2Y2Q5ZGY3ZDEwZmQzYTZlMDg2ZDliMDg2OTVmZmYy
YS4uZmMwMjc0YTYwZjI5OThjMTg1NmZhMWM1NDYzY2QxYTQ3ODEzMGM4ZCAxMDA2NDQKLS0tIGEv
VG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJDb3JlL21hYy9HUFVGdW5jdGlvbi5tbQorKysg
Yi9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYkNvcmUvbWFjL0dQVUZ1bmN0aW9uLm1tCkBA
IC0yNiw3ICsyNiw3IEBACiAKICNpbXBvcnQgImNvbmZpZy5oIgogCi0jaWYgRU5BQkxFKFdFQkdQ
VSkKKyNpZiBFTkFCTEUoV0VCTUVUQUwpCiAKICNpbXBvcnQgIkdQVVRlc3QuaCIKICNpbXBvcnQg
IlBsYXRmb3JtVXRpbGl0aWVzLmgiCmRpZmYgLS1naXQgYS9Ub29scy9UZXN0V2ViS2l0QVBJL1Rl
c3RzL1dlYkNvcmUvbWFjL0dQVUxpYnJhcnkubW0gYi9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3Rz
L1dlYkNvcmUvbWFjL0dQVUxpYnJhcnkubW0KaW5kZXggYmQxMjkyOTVmMjA1MmQxNDJjNWI4ZDE4
NjVkMjRhNjgyYmE1MTk5Ny4uYzkwNjUwYTE3ZGNjOWFkZjY2NTExMTIzNDBhYzBjMTA5MDk0NTQz
MSAxMDA2NDQKLS0tIGEvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJDb3JlL21hYy9HUFVM
aWJyYXJ5Lm1tCisrKyBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViQ29yZS9tYWMvR1BV
TGlicmFyeS5tbQpAQCAtMjUsNyArMjUsNyBAQAogCiAjaW1wb3J0ICJjb25maWcuaCIKIAotI2lm
IEVOQUJMRShXRUJHUFUpCisjaWYgRU5BQkxFKFdFQk1FVEFMKQogCiAjaW1wb3J0ICJHUFVUZXN0
LmgiCiAjaW1wb3J0ICJQbGF0Zm9ybVV0aWxpdGllcy5oIgpkaWZmIC0tZ2l0IGEvVG9vbHMvV2Vi
S2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9JbmplY3RlZEJ1bmRsZS5jcHAgYi9Ub29scy9X
ZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL0luamVjdGVkQnVuZGxlLmNwcAppbmRleCAx
ZDc1MTM2Y2VlNmI4NjM0ZDgwZjI4OWZhNGVjNTBjMDUwOGEwZjk2Li45Y2YzMWEyNDU1NjE0YTg2
NWVlOWY1YTQ1YWZlNDJkNWU5YjY3NmRkIDEwMDY0NAotLS0gYS9Ub29scy9XZWJLaXRUZXN0UnVu
bmVyL0luamVjdGVkQnVuZGxlL0luamVjdGVkQnVuZGxlLmNwcAorKysgYi9Ub29scy9XZWJLaXRU
ZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL0luamVjdGVkQnVuZGxlLmNwcApAQCAtNDk2LDcgKzQ5
Niw3IEBAIHZvaWQgSW5qZWN0ZWRCdW5kbGU6OmJlZ2luVGVzdGluZyhXS0RpY3Rpb25hcnlSZWYg
c2V0dGluZ3MsIEJlZ2luZ1Rlc3RpbmdNb2RlIHRlCiAgICAgbV90ZXN0UnVubmVyLT5zZXRYU1NB
dWRpdG9yRW5hYmxlZChmYWxzZSk7CiAKICAgICBtX3Rlc3RSdW5uZXItPnNldFdlYkdMMkVuYWJs
ZWQodHJ1ZSk7Ci0gICAgbV90ZXN0UnVubmVyLT5zZXRXZWJHUFVFbmFibGVkKHRydWUpOworICAg
IG1fdGVzdFJ1bm5lci0+c2V0V2ViTWV0YWxFbmFibGVkKHRydWUpOwogCiAgICAgbV90ZXN0UnVu
bmVyLT5zZXRXcml0YWJsZVN0cmVhbUFQSUVuYWJsZWQodHJ1ZSk7CiAgICAgbV90ZXN0UnVubmVy
LT5zZXRSZWFkYWJsZUJ5dGVTdHJlYW1BUElFbmFibGVkKHRydWUpOwpkaWZmIC0tZ2l0IGEvVG9v
bHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9UZXN0UnVubmVyLmNwcCBiL1Rvb2xz
L1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvVGVzdFJ1bm5lci5jcHAKaW5kZXggMjVh
MDIxMmY2NzMwNmEzNzAxOTJhMGQwODg4MTQ2NTQxYjk3YWE5NC4uYzg0M2JjNzI2MjE5MjIzZjU3
NGJiZjIyOWQyNTkwN2FlM2NhODVhNSAxMDA2NDQKLS0tIGEvVG9vbHMvV2ViS2l0VGVzdFJ1bm5l
ci9JbmplY3RlZEJ1bmRsZS9UZXN0UnVubmVyLmNwcAorKysgYi9Ub29scy9XZWJLaXRUZXN0UnVu
bmVyL0luamVjdGVkQnVuZGxlL1Rlc3RSdW5uZXIuY3BwCkBAIC00NzYsOSArNDc2LDkgQEAgdm9p
ZCBUZXN0UnVubmVyOjpzZXRXZWJHTDJFbmFibGVkKGJvb2wgZW5hYmxlZCkKICAgICBXS0J1bmRs
ZU92ZXJyaWRlQm9vbFByZWZlcmVuY2VGb3JUZXN0UnVubmVyKGluamVjdGVkQnVuZGxlLmJ1bmRs
ZSgpLCBpbmplY3RlZEJ1bmRsZS5wYWdlR3JvdXAoKSwga2V5LmdldCgpLCBlbmFibGVkKTsKIH0K
IAotdm9pZCBUZXN0UnVubmVyOjpzZXRXZWJHUFVFbmFibGVkKGJvb2wgZW5hYmxlZCkKK3ZvaWQg
VGVzdFJ1bm5lcjo6c2V0V2ViTWV0YWxFbmFibGVkKGJvb2wgZW5hYmxlZCkKIHsKLSAgICBXS1Jl
dGFpblB0cjxXS1N0cmluZ1JlZj4ga2V5KEFkb3B0V0ssIFdLU3RyaW5nQ3JlYXRlV2l0aFVURjhD
U3RyaW5nKCJXZWJLaXRXZWJHUFVFbmFibGVkIikpOworICAgIFdLUmV0YWluUHRyPFdLU3RyaW5n
UmVmPiBrZXkoQWRvcHRXSywgV0tTdHJpbmdDcmVhdGVXaXRoVVRGOENTdHJpbmcoIldlYktpdFdl
Yk1ldGFsRW5hYmxlZCIpKTsKICAgICBhdXRvJiBpbmplY3RlZEJ1bmRsZSA9IEluamVjdGVkQnVu
ZGxlOjpzaW5nbGV0b24oKTsKICAgICBXS0J1bmRsZU92ZXJyaWRlQm9vbFByZWZlcmVuY2VGb3JU
ZXN0UnVubmVyKGluamVjdGVkQnVuZGxlLmJ1bmRsZSgpLCBpbmplY3RlZEJ1bmRsZS5wYWdlR3Jv
dXAoKSwga2V5LmdldCgpLCBlbmFibGVkKTsKIH0KZGlmZiAtLWdpdCBhL1Rvb2xzL1dlYktpdFRl
c3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvVGVzdFJ1bm5lci5oIGIvVG9vbHMvV2ViS2l0VGVzdFJ1
bm5lci9JbmplY3RlZEJ1bmRsZS9UZXN0UnVubmVyLmgKaW5kZXggODlmZWQ3YmIxNjIyMzg5MzE5
ZWZhODczNTVjZDg2Mzg1MzhkYTcxYS4uMTIxNWIzY2EwYmVhMTA1ZTQyZWFlOTMwZTJhYjBiODU3
Y2NkMGMxNCAxMDA2NDQKLS0tIGEvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRs
ZS9UZXN0UnVubmVyLmgKKysrIGIvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRs
ZS9UZXN0UnVubmVyLmgKQEAgLTEwNCw3ICsxMDQsNyBAQCBwdWJsaWM6CiAgICAgdm9pZCBzZXRY
U1NBdWRpdG9yRW5hYmxlZChib29sKTsKICAgICB2b2lkIHNldE1vZGVybk1lZGlhQ29udHJvbHNF
bmFibGVkKGJvb2wpOwogICAgIHZvaWQgc2V0V2ViR0wyRW5hYmxlZChib29sKTsKLSAgICB2b2lk
IHNldFdlYkdQVUVuYWJsZWQoYm9vbCk7CisgICAgdm9pZCBzZXRXZWJNZXRhbEVuYWJsZWQoYm9v
bCk7CiAgICAgdm9pZCBzZXRXcml0YWJsZVN0cmVhbUFQSUVuYWJsZWQoYm9vbCk7CiAgICAgdm9p
ZCBzZXRSZWFkYWJsZUJ5dGVTdHJlYW1BUElFbmFibGVkKGJvb2wpOwogCmRpZmYgLS1naXQgYS9X
ZWJzaXRlcy93ZWJraXQub3JnL0NoYW5nZUxvZyBiL1dlYnNpdGVzL3dlYmtpdC5vcmcvQ2hhbmdl
TG9nCmluZGV4IDIyZjVlMzIyN2ExMTRiNGZhMjZkM2IzYzA4NTM3Y2E0NmFhMGMyNWMuLjlhZmUy
YjBkYzQ4MzU5MmZjOTg3NDA5MGY3ZDNiNzkxMjEyZWYwOGEgMTAwNjQ0Ci0tLSBhL1dlYnNpdGVz
L3dlYmtpdC5vcmcvQ2hhbmdlTG9nCisrKyBiL1dlYnNpdGVzL3dlYmtpdC5vcmcvQ2hhbmdlTG9n
CkBAIC0xLDMgKzEsMzggQEAKKzIwMTgtMTAtMDUgIEp1c3RpbiBGYW4gIDxqdXN0aW5fZmFuQGFw
cGxlLmNvbT4KKworICAgICAgICBXZWJHUFU6IFJlbmFtZSBvbGQgV2ViR1BVIHByb3RvdHlwZSB0
byBXZWJNZXRhbAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9MTkwMzI1CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS80NDk5MDQ0Mz4KKworICAgICAgICBS
ZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBSZW5hbWUgV2ViR1BVIHByb3Rv
dHlwZSBmaWxlcyB0byBXZWJNZXRhbCBpbiBwcmVwYXJhdGlvbiBmb3IgaW1wbGVtZW50aW5nIHRo
ZSBuZXcgKE9jdCAyMDE4KSBXZWJHUFUgaW50ZXJmYWNlLgorCisgICAgICAgICogZGVtb3Mvd2Vi
Z3B1L3NoYXJlZC5qczogUmVtb3ZlZC4KKyAgICAgICAgKiBkZW1vcy93ZWJtZXRhbC8yZC5odG1s
OiBSZW5hbWVkIGZyb20gV2Vic2l0ZXMvd2Via2l0Lm9yZy9kZW1vcy93ZWJncHUvMmQuaHRtbC4K
KyAgICAgICAgKiBkZW1vcy93ZWJtZXRhbC8yZC5qcGc6IFJlbmFtZWQgZnJvbSBXZWJzaXRlcy93
ZWJraXQub3JnL2RlbW9zL3dlYmdwdS8yZC5qcGcuCisgICAgICAgICogZGVtb3Mvd2VibWV0YWwv
MmQuanM6IFJlbmFtZWQgZnJvbSBXZWJzaXRlcy93ZWJraXQub3JnL2RlbW9zL3dlYmdwdS8yZC5q
cy4KKyAgICAgICAgKGluaXQpOgorICAgICAgICAqIGRlbW9zL3dlYm1ldGFsL2NpcmNsZS5zdmc6
IFJlbmFtZWQgZnJvbSBXZWJzaXRlcy93ZWJraXQub3JnL2RlbW9zL3dlYmdwdS9jaXJjbGUuc3Zn
LgorICAgICAgICAqIGRlbW9zL3dlYm1ldGFsL2N1YmVzLmh0bWw6IFJlbmFtZWQgZnJvbSBXZWJz
aXRlcy93ZWJraXQub3JnL2RlbW9zL3dlYmdwdS9jdWJlcy5odG1sLgorICAgICAgICAqIGRlbW9z
L3dlYm1ldGFsL2N1YmVzLmpwZzogUmVuYW1lZCBmcm9tIFdlYnNpdGVzL3dlYmtpdC5vcmcvZGVt
b3Mvd2ViZ3B1L2N1YmVzLmpwZy4KKyAgICAgICAgKiBkZW1vcy93ZWJtZXRhbC9jdWJlcy5qczog
UmVuYW1lZCBmcm9tIFdlYnNpdGVzL3dlYmtpdC5vcmcvZGVtb3Mvd2ViZ3B1L2N1YmVzLmpzLgor
ICAgICAgICAoaW5pdCk6CisgICAgICAgICogZGVtb3Mvd2VibWV0YWwvZ2wtbWF0cml4LW1pbi5q
czogUmVuYW1lZCBmcm9tIFdlYnNpdGVzL3dlYmtpdC5vcmcvZGVtb3Mvd2ViZ3B1L2dsLW1hdHJp
eC1taW4uanMuCisgICAgICAgICogZGVtb3Mvd2VibWV0YWwvaGVsbG8uaHRtbDogUmVuYW1lZCBm
cm9tIFdlYnNpdGVzL3dlYmtpdC5vcmcvZGVtb3Mvd2ViZ3B1L2hlbGxvLmh0bWwuCisgICAgICAg
ICogZGVtb3Mvd2VibWV0YWwvaGVsbG8uanBnOiBSZW5hbWVkIGZyb20gV2Vic2l0ZXMvd2Via2l0
Lm9yZy9kZW1vcy93ZWJncHUvaGVsbG8uanBnLgorICAgICAgICAqIGRlbW9zL3dlYm1ldGFsL2hl
bGxvLmpzOiBSZW5hbWVkIGZyb20gV2Vic2l0ZXMvd2Via2l0Lm9yZy9kZW1vcy93ZWJncHUvaGVs
bG8uanMuCisgICAgICAgIChpbml0KToKKyAgICAgICAgKiBkZW1vcy93ZWJtZXRhbC9pbmRleC5o
dG1sOiBSZW5hbWVkIGZyb20gV2Vic2l0ZXMvd2Via2l0Lm9yZy9kZW1vcy93ZWJncHUvaW5kZXgu
aHRtbC4KKyAgICAgICAgKiBkZW1vcy93ZWJtZXRhbC9zaGFyZWQuY3NzOiBSZW5hbWVkIGZyb20g
V2Vic2l0ZXMvd2Via2l0Lm9yZy9kZW1vcy93ZWJncHUvc2hhcmVkLmNzcy4KKyAgICAgICAgKiBk
ZW1vcy93ZWJtZXRhbC9zaGFyZWQuanM6IEFkZGVkLgorICAgICAgICAoY29uc3QuaGFzV2ViTWV0
YWwpOgorICAgICAgICAoY29uc3QuY2hlY2tGb3JXZWJNZXRhbCk6CisgICAgICAgICogZGVtb3Mv
d2VibWV0YWwvc2ltcGxlLmh0bWw6IFJlbmFtZWQgZnJvbSBXZWJzaXRlcy93ZWJraXQub3JnL2Rl
bW9zL3dlYmdwdS9zaW1wbGUuaHRtbC4KKyAgICAgICAgKiBkZW1vcy93ZWJtZXRhbC9zaW1wbGUu
anBnOiBSZW5hbWVkIGZyb20gV2Vic2l0ZXMvd2Via2l0Lm9yZy9kZW1vcy93ZWJncHUvc2ltcGxl
LmpwZy4KKyAgICAgICAgKiBkZW1vcy93ZWJtZXRhbC9zaW1wbGUuanM6IFJlbmFtZWQgZnJvbSBX
ZWJzaXRlcy93ZWJraXQub3JnL2RlbW9zL3dlYmdwdS9zaW1wbGUuanMuCisgICAgICAgIChpbml0
KToKKwogMjAxOC0wOS0wNSAgRnVqaWkgSGlyb25vcmkgIDxIaXJvbm9yaS5GdWppaUBzb255LmNv
bT4KIAogICAgICAgICBVcGRhdGUgY29kZSBzdHlsZSBndWlkZWxpbmVzIGZvciB1c2luZyBuYW1l
c3BhY2UgaW5zaWRlIGEgbmFtZXNwYWNlIGRlZmluaXRpb24KZGlmZiAtLWdpdCBhL1dlYnNpdGVz
L3dlYmtpdC5vcmcvZGVtb3Mvd2ViZ3B1LzJkLmh0bWwgYi9XZWJzaXRlcy93ZWJraXQub3JnL2Rl
bW9zL3dlYmdwdS8yZC5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA4YzYyNTJl
OTZlYjhlN2Q4N2UzYzIyYzJkZWVkZmZkNTJhNTQ0MGRkLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL1dlYnNpdGVzL3dlYmtpdC5vcmcvZGVtb3Mvd2ViZ3B1
LzJkLmh0bWwKKysrIC9kZXYvbnVsbApAQCAtMSw2MSArMCwwIEBACi08IURPQ1RZUEUgaHRtbD4K
LTxodG1sPgotPGhlYWQ+Ci08bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9NjAw
Ij4KLTxtZXRhIGh0dHAtZXF1aXY9IkNvbnRlbnQtdHlwZSIgY29udGVudD0idGV4dC9odG1sOyBj
aGFyc2V0PXV0Zi04Ij4KLTx0aXRsZT5XZWJHUFUgMkQgZGVtbzwvdGl0bGU+Ci08bGluayByZWw9
InN0eWxlc2hlZXQiIGhyZWY9InNoYXJlZC5jc3MiPgotPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBo
cmVmPSJodHRwczovL3dlYmtpdC5vcmcvd3AtY29udGVudC90aGVtZXMvd2Via2l0L3N0eWxlLmNz
cyI+Ci08bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS93
c3MvZm9udHM/ZmFtaWx5PU15cmlhZCtTZXQrUHJvJmFtcDt2PTEiPgotPHNjcmlwdCBzcmM9InNo
YXJlZC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0iMmQuanMiPjwvc2NyaXB0PgotPHNjcmlw
dCBpZD0ibGlicmFyeSIgdHlwZT0ieC1zaGFkZXIveC1tZXRhbCI+Ci0jaW5jbHVkZSA8bWV0YWxf
c3RkbGliPgotCi11c2luZyBuYW1lc3BhY2UgbWV0YWw7Ci0KLXN0cnVjdCBWZXJ0ZXgKLXsKLSAg
ICBmbG9hdDQgcG9zaXRpb24gW1twb3NpdGlvbl1dOwotfTsKLQotc3RydWN0IFVuaWZvcm0KLXsK
LSAgICBmbG9hdDIgcmVzb2x1dGlvbjsKLSAgICBmbG9hdCB0aW1lOwotfTsKLQotdmVydGV4IFZl
cnRleCB2ZXJ0ZXhfbWFpbihkZXZpY2UgVmVydGV4ICp2ZXJ0aWNlcyBbW2J1ZmZlcigwKV1dLAot
ICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdGFudCBVbmlmb3JtICp1bmlmb3JtcyBbW2J1
ZmZlcigxKV1dLAotICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50IHZpZCBbW3ZlcnRleF9p
ZF1dKQotewotICAgIHJldHVybiB2ZXJ0aWNlc1t2aWRdOwotfQotCi1mcmFnbWVudCBmbG9hdDQg
ZnJhZ21lbnRfbWFpbihWZXJ0ZXggdmVydGV4SW4gW1tzdGFnZV9pbl1dLCBjb25zdGFudCBVbmlm
b3JtICp1bmlmb3JtcyBbW2J1ZmZlcigwKV1dKQotewotICAgIGZsb2F0MiBwb3NpdGlvbiA9IHZl
cnRleEluLnBvc2l0aW9uLnh5IC8gdW5pZm9ybXMtPnJlc29sdXRpb24ueHk7Ci0KLSAgICBmbG9h
dCBjb2xvciA9IDAuMDsKLSAgICBmbG9hdCB0aW1lID0gdW5pZm9ybXMtPnRpbWU7Ci0gICAgY29s
b3IgKz0gc2luKHBvc2l0aW9uLnggKiBjb3ModGltZSAvIDcuMCkgKiA5MC4wKSArIGNvcyhwb3Np
dGlvbi55ICogY29zKHRpbWUgLyAxNy4wKSAqIDE1LjApOwotICAgIGNvbG9yICs9IHNpbihwb3Np
dGlvbi55ICogc2luKHRpbWUgLyAxMy4wKSAqIDM1LjApICsgY29zKHBvc2l0aW9uLnggKiBzaW4o
dGltZSAvIDI3LjApICogMzUuMCk7Ci0gICAgY29sb3IgKz0gc2luKHBvc2l0aW9uLnggKiBzaW4o
dGltZSAvIDUuMCkgKiAxNS4wKSArIHNpbihwb3NpdGlvbi55ICogc2luKHRpbWUgLyAzMS4wKSAq
IDkwLjApOwotICAgIGNvbG9yICo9IHNpbih0aW1lIC8gMTAuMCkgKiAwLjU7Ci0KLSAgICByZXR1
cm4gZmxvYXQ0KGNvbG9yLCBjb2xvciAqIDAuNSArIHNpbih0aW1lIC8gMTApLCBzaW4oY29sb3Ig
KyB0aW1lIC8gMy4wKSAqIDAuNzUsIDEuMCk7Ci19Ci08L3NjcmlwdD4KLTwvaGVhZD4KLTxib2R5
PgotPGNhbnZhcz48L2NhbnZhcz4KLTxkaXYgaWQ9ImVycm9yIj4KLSAgICA8aDI+V2ViR1BVIG5v
dCBhdmFpbGFibGU8L2gyPgotICAgIDxwPgotICAgICAgICBNYWtlIHN1cmUgeW91IGFyZSBvbiBh
IHN5c3RlbSB3aXRoIFdlYkdQVSBlbmFibGVkLiBJbgotICAgICAgICBTYWZhcmksIGZpcnN0IG1h
a2Ugc3VyZSB0aGUgRGV2ZWxvcGVyIE1lbnUgaXMgdmlzaWJsZSAoUHJlZmVyZW5jZXMg4oaSCi0g
ICAgICAgIEFkdmFuY2VkKSwgdGhlbiBEZXZlbG9wIOKGkiBFeHBlcmltZW50YWwgRmVhdHVyZXMg
4oaSIEVuYWJsZSBXZWJHUFUuCi0gICAgPC9wPgotPC9kaXY+Ci08L2JvZHk+Ci08L2h0bWw+CmRp
ZmYgLS1naXQgYS9XZWJzaXRlcy93ZWJraXQub3JnL2RlbW9zL3dlYmdwdS8yZC5qcGcgYi9XZWJz
aXRlcy93ZWJraXQub3JnL2RlbW9zL3dlYmdwdS8yZC5qcGcKZGVsZXRlZCBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDhhZTZiNDJkYjkyYTZiYWExM2Y1MWQwMDQ2ZDg4MmY3YmE0OTRmOTEuLjAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKR0lUIGJpbmFyeSBwYXRjaApsaXRl
cmFsIDAKSGNtVj9kMDAwMDEKCmxpdGVyYWwgMzA0MDcKemNtZUZZY1ReUDVfQWZmKkVFMUtSKH54
dEpBWCRieUZicz9ZVlRkIzI5MjZCMWEzbzAxSVdyNitWVVREKmt8M0RACnpRNEhqJGZgRWQ4elNl
V1RvX3BfRmNkZyVnPjszbW00Yy0wZT5nd3YrUmVNK017cHNle3Q2dntMPU9JUVdNaiNScgp6NWE8
ZjwxTn5ZOG5IZmc8YyFFSVk8eyZUIzFmbTkha30ha0YwN0xAKEsjNHZlQDs/e141KFNQUjVOUjNk
S1JHMGEKeldufS1zemMybjtxN20+ODRHcStnbUd1dmlhZGkpSF5OPkxYX3ttMVAyRmw5SSRqTzI8
YnNfXkBrIVgpbGVtNCY8CnpBQWM+dSYpclcxYEYtNUExbVZpJmFeYHtoOV5PN3pxSnVxYnFBaEha
KFAqVCl5UCVGWHpoPE9IcStnKClOMm5gKgp6cUBTO1VoKEBIQTtHZkRoMFFAXiFSKj9Uc2t4O2Fq
cHVNPmp6a1djbDJmd242bDhsQG5hQ2ZrfnJ2fXUoPS0+QU8KelhJZ14pWmUmRDZnaU01QE9oQi1n
dGh+Q3F4fiFhbnRiJjN4UChuSCslMEpYS1FyYlU2PSR7JTRKVktEY0s3cFk9Cnowc2oySVlqa3hC
Mm4qRWA2cUUmP0FwN3F9e0R5enFzP0dvM154cSElWng4JnAybWFkd3xMdVlRX1EzIURkZi0zYQp6
ail5PHM7elIoeDRDdlFLa2VaY3VLeGphU2NSKFAmcUtxNiFQMHolZntJYDxAcSg0flg0P0k4MWxl
fn15WTlaZ2MKek1VJUlDdFFZJWhgUWpAUmVTSEB6c0hLc0tuYypLRj8mN2QoVjR5R1FjQFc2WUtR
dEk+dGpCTmZmWihURTAkZXZ7Cnp6P0c4JSQre3YjMChHc2Qlem9HVCYrJCtGZXxLTiFlbWk7figy
VnImeThkU1cmajZEPDsxJlZDcTdfaXclez5JXgp6MmpEaGZkeDtEVDRoNGI4WlVPbTE1dXQmPGFU
UzFCZ01rSkR4Wl5rV2BXSnJyOEB2NHJmQX58ejdPREBGSVJ2fj4KemRSTnpBRkEjX3gkT2lGO0Jm
V3JuPT1uaClOQGptfEFBYjt0U3FaP31OTi1ubjVhPVJzNEo3NX43d3tYRzBhKURhCnpmMnFnb2Y1
RVA8Wmh6fV5iQGxwLXwwTjQ+Qy03aGNwTzhSYipRaEB5fDZsST5lOFloTGBqWjVLSi12N0U2KTEy
Tgp6Mkt1Wkg5Ym96d2BAMzBLeyomKG1OYzBjKDQhWipUMk9+ckRmeGk2THozIzNDcnZLbkRHKShz
Jj4+M1E5ZjB5d0kKekhMPzglMk0wal4qNjs2WUBtb0xzdzg3aU08UytJSkZ8XyQ3LV95cyk8UjJY
RVo0M1ZnaHheIUJ7RFZXI0hoPGQ/Cno/WENZZUtSNjhmeDZQaXhNdF4xVzNqeXhAX2o4ZjF8OU11
Wnc9RUV3e0hyfTRBQCthVTxMK1QjXyY0N2xfUDE/Owp6cD9aSm80RHxoQD53amVOQEhQSU05fTtm
IV91a044K3JSbEpTSUJTT3tabD9MKWFxfmxmWHFPS0FPakZUTkZVP18KekAmfGM8ezZNYjJuRWBN
WDB0eThBMCV1WDc5K0FJdzR4fUZ0NyF+Wn08c0hoZTNze2ZgemxsRm1NdjdsU1BGQHVSCnpgZlpR
RCVZWi0hJl84eFkhYW5oenlkZEN5NFJzKUBEKmpLTnQwVn4yQj9Ydjc8QTNzbVJYYHhSTEorOFgx
c042YAp6ezsmR1RlOys3N3Y+LStoRH5KUWMzbGFpfWdRUChVQVFqTGgmfUU/WTVSZkl2N1VUZU8x
fGRQLUs+TEcxNXVvZCEKeituQHh7ZWI1Nj9IbUNxcDNhU0x2ZnBETX0mPzhVfT1veDRiR3p5dm81
a1lUMkEzJHJNOW5jPT1FOWVJYTI/LVNtCnowfF5UVzJNSGdFMiNGKyMwKk0tbEhpO3BMODN+bGNm
I2UjQTdsfVZmN3xDXiNKMCRsPkdEciRZJTFQPTtubl5sSQp6b3tfdkRuSWMmclN0OGpZYDlrdVls
I0c7fmwkRGYrUkZxVmZSRTw9WilSZmVnKVFReEtHPjl+c0dAZGstRz5eMWAKencyYCEoXmNtP1dE
VXRMOD0/PmA7OEhrTElqR2F0P09xeHVNT3JPaz4zXzwyZTdFQmdQaDlTISNzfn5HND5tbk4+Cnpu
PDR1XndvNyhHUEQjIX0mUUM1KWV1P31GSWdBYGg5ei01WG89amRxVVBzPGUtY0xTNXpDXng5eyoh
YCVmfTI4Owp6TFc5REQhaylzNUI3ITE7QjhRQGVmPFE0cUw4TXJ0XykxQWgkeGJPb3NZLWM7KHQj
MzE4QUYqJlN4a3dpZGBkWSoKenhrN25GTU1jRnlCfXRgNFdsN35xNi10I3JsfjJgM15ATTdnWUtg
aWNudlItfVQ3bFkjOGJSJCg5WT51Ki05WWBBCnpkWVhFSmBVbE48OFc5PXw4Y1B+P25rYnF5bmt0
JHVuaEJhVW5qZkBHdnxfWWN3Nj9TOytTe353dmB3QEZ3MlFPewp6YmFacnJibjB+MGJVdCpxPTw/
X3UoaGJ1cyhWZnNVKH1VXnQ9XmczQT11XyF5PjdVWHMmPnRgYEZvLWYtVzxXNTYKekdOZHhwR2R5
UV8kOGRhKDwoJGtwbFhMRnBaa3tWVipNNHNMKyRUbUZNaUU5YE1yWCFvI3ZJMDAjdEZ2Vl5FQnMw
CnomK0RJZUpzKjMlQE88YV9gU1Y5aUVLS3JEbVB+JDMkeElEUUZQSnUmc2hDQlg0Vm00VTxDIWEm
cEVJd3BrZyo3ewp6PSg4WU0/eXl2YDQ2di1SUW5IRyVueXtpK0AzWjFxJDY1RS1uQXchcj9BUmpO
M2ZYJHVLQ3FMcWk/Vy1yYD85QzgKengzSkgjZjR7KFVMSEJ+a2c/a3M4RT0qdGVjOUhBaTwlPUV7
RiZGVXtpNUlfZkBOKmIpcGdHYng5Jng8b0I8QlFrCnpUNjBFbG1UKFNtP3NCbm1VRSlHPVZZcGhq
VVVRUmpnU255SEcyRTVoRlMoQytjektMQDAodFV6cDdaU1R2aCFaJQp6TWUlMHdLSVl4eFc4dV4w
XlduP2xkJjBOUCYmSUZJQDVgVVotX080JXolNmheQVdXY0tVfGlzYnBxTDtgRmlzRkoKel8qUkhr
TktNRjdDYCtoTVhpdTA9KmopSSFGam59cjIjdHVFaF9eX3QkZEpmNFE4N2B0WHJreU4oTV8/N1Zr
VG5JCnpWcHk/N2FSelo2QGdWVUVAbVVFPDJ7ajN7TTZ0dnFtPXZyR182OFMlQ25RTkZSVX5+Uml6
VE98RDVUVi17R30/Uwp6PUI0U1NiKjAwbHZDPk8yPkBzRkRhV2FvJktGSkVwQjRwRUxoaCVAc0Rh
LWxGUm1yYFBYT0BTXiRIe2xlZV5DR3sKekFRY0p+VykmRn1qVENQeGJ8fiZFTmgqMExsXzxTWlc+
R2QqUEVfdHdLMnVSdTMwNyVSKi17bCZ5ezF+RUk8TG02CnpXfkcqX0htcHZldUJVIWV5K3syLUxx
I0swcWViS01DRng3KE9BVkpjSE5gWU5HXjtkTXY7PyhXd2FUP1ZYIUMxZAp6KD1PQmdwZCtCO3Mj
QnF9ZHxCd1Nge2tPOzhAZHZAREJWV2dQa001QyFGbUx9Wn43WWdIfXN6eGtRbz5vVTx9MyQKem5H
SW92MSV+ZzgxZFk2bXV0c352JUVtRnFQcD9wMUZ9OyQwVyF7OXgxWmglbHZJa0x4KzxeMygod298
dDdNTCFaCnpmejUpPXkzOSQ8QT9CSXBpeHdnbHt1WWxjTDYjPCNuVS0mQCNIQG0+eH4oYSN0Kmle
SipQLSZ6PihDKF43OEA2dgp6MkFpKzhkYlZre1ooIW9FRmokYCpxbilFJnoxPXNzMFh6ZiMhQ3V6
PmhXKTRtci1QM30yWjlQPWhwMGd1VHtYTyMKemVSYSlJKiloUiEmUG1LRSgmPmRXcj9hbmZ1TTRB
I3Q0ciVPaWZpeXw0Y0FVeEVuTz5Ja0s5YiRpcm5eKWBwOGA1CnpqezlaekVjWSFCRXNxUzM0Tm9v
NDQ5YHQzRXc0PGtFcEh2fjlQZUVwZVYrb0tlYmcwSERlND5BNT96Yl88cVAtNAp6YCUoS3teWHYz
eV9EQjJvMmstXyYyMjJHPzF8fGY0Mit8MTM0JSFQZzRYejB4MzJfU1AyeFNFdnBPPDBjVlJ5cnAK
eiFuTU4tITtkNUVCM2RKdkJLOyNATXVEVTVNUXViSU1PVmo9I35APyt0X3hoaGVTUFZNP3YzKFRs
MzJJY3pNRGNmCno8OFE5ckdRTCVKb0F4JlBfRT8tO1R0P2pDOXImSERjJUp4TUBoZitZP192fHFC
P0txVEN0Z1l7TyhJWTdOZ0JWVwp6Y3JYOW5QbURXZTxpNmJmb2NwS0EkbUVkfWBJTmtyVSNYc3s8
N3B+c0JAWlljXyY9Q1MqR2FGLVY5SlFqU2pqWmMKell8ckEpIWVrdzB5Sld3fVFPWVVKck9nZT97
Zzd2dCpPNCFye34tVWd6YEtCMHM4QChEO3g0Klpec1UmdmMpSHxyCnpObUQ2TD5IWDYwV2o8eEUl
OGtxMEQ/fUBERGsmPyZFN3o7K3Mpbmw3c19TYndZd3AqYSkldz9kc0Rzd14qUT9nbwp6SCpoemtW
TSghSipzVnMjI3p+dzN1QUBvMXNUfExhenlBPlFGem4lV15SPyE9N1NvbyNSPCtpcUhqJWE+MHQq
NHQKelBTUElMelcyIWMoVDVJKWo7VCZhWEo2TilFPCgzVmNXc1lBUGhsQHhaYHh6cCRNS0pVSiZB
c0ReZmQ3ND9sWjR2CnpEfTYzflo9VHlmcFk2QnFBMElGczcjPWhsZF9KVCpea2k2VHhhV24maV9R
X1hrdz5Fe3F3TyExVWxQV1kjfFl5cAp6PEx3aXc2Q0lRNGxVLUFxUTsoOzBya345aSVuWigmJSNJ
USpoKk5YMHhtV1ghXkItUWh6dUh7elVEJHNle2AkdzgKelRaPEhubjc4Tk89RGcjNlNNZ3JySl5x
OHJodSRURnJJKlYjJVdxYllEPzYocHRFWCU2PmtSOFQ4KztxfW4rbHNmCnpUU2kteCtnRz5PYl4+
PlA+P1Y5PGBkSVd5ezhRV0slYiNFRiszJjZHMmsteS1sNj01JVA8eUMhKm1xPWdeek4oUQp6KkJ7
PzcjfmpDWEN1JTF7LXtJZGtlbmd5N28jdmZNb09TJil7a2l6ZEA3SiREKkk/SF96UUF2fm1lZG08
YWxoMXAKektueEJiNVgmUzhNMEBVRXtfPnZeZklDZUJsbVcwRWk0NGdPWCkmMkl4ZGE2aiNYalgw
KWphaWtua0N3QV5iYCFECno9UyYkeCZ6Q1hIdihUfD52cWlKeEZLbHB0SWJGR094aEhyal8+fW9R
MVgyWkNncjxjKmlJUiQpNks5bTUxN15NeAp6JCZYUz8obGF2OFdlSVhzQCgmYmxENTh8P2xyTzcq
UmFzT3wpejtLc1lQNE17KCE4VUUodVY0MlV6WEQ0KF9ffl4KelokTSo2WmdeKCYmM056MXJwWDck
RTdOaGEwck1WPFIhZnshZ0xPVCQhM0psR2hjKC1eIWR2YXo5Tkd9QVM2ZHZMCnpvJCRfaG16SFpD
dUZ1P0ZBe1g0KEpxfHM4ZERIb0BxWGZ+Q3pSRz8me3c0dmlLIyFuXjtGT1M+Jj9qTjkhdUtPLQp6
cVdHZyNWPVMmQ1okIXBvWnN5KTl5SW1ldmRNN1ZGP1FUTHNPa3oteT1SRXwqOz1YUk9hKkI4PWNO
KzVweF4kV2gKenkzRiVnN3FiTyZCeSpNV3dESnVMJW5NO2ZTQnNHKT0rZS0jVGpkV2IkfTAmfkJo
fkx+NChxN3Z4Zl43JGRXfHJnCnpTNXFXRD4wd1RETUdMbUl3WEtXcnE8IUdnaTtsNipzVi12b3RE
Wk4jPztvIXwqP0RAQE5Be2VwVXdsQXcmfXMtZAp6OVB0NyhRWiROeGBEfD16e0tMZUAkKWw8Nyky
QX4oV3stKFNiTmxsajBjfjQoe3FEYEgjcCQ8Vz99cHpHZD5DOUIKelMpTntieVNsWUB2X1l+LXpq
YmsyWGgmdk97aUZVVGxoM0FtMkt4JE1FYDBmTkZtI3hJZyNOMWU/Y0JIYiRNfTw1CnotPnJXTHtN
Ykt6YzkjRDArQXEwWnp5NyFKbSFhVU5Ifl98Zm58aGdNcE5eSlpndShFZkgpR29RS0JmWn1YO3Y0
dQp6ZUQ+TGszPkBhMWNlJFEmZjh+fHJiS3lAR1hjTD9oSXV2MFA8cldoYTdtJkNKclVNXktFPSFG
fGNnYS1CQ2QtQSgKelVzRXRxbHZCRShiZiZ6akdOT3VDJVRrWmxhSzVDY0RYSy1Td1dCP3koe1pe
e0goZjdJS2Y9SiooOU91cyp6fTZGCnppOUFIZWwrQkZGP0FVelVWJHBLU1lTXzlEYHEteDF3Z1gx
NmRrRHdjKkVwMFQzYSh+M3JaXj0hJEdQMFJjR0VTXgp6NFRIPmRGWT43TWVDWEJUe25UZHxIR3dB
akY4WnpkPyo8JFBRM2hXS2txWHJkdmsmKT14RCVOaClmb0xHWDhRVy0KemppWn5Td2BneWxpPSkz
b2RGTjtSO29Zci13fjEzcDFOUztHKiF2flA0XnJZJUJodmdIYyVeJH5wZlpFQXFPPFNoCnorfFNM
LUU2bEdiczRzazJMQDRlbD1fPyZBbj00PGZJSTV6b3pFfWdVKXZVOXFjV0RVMy1mRGIrRHtJMnpk
bW9OOAp6Nkk8VDVabm9fYWpAeTVBUDxBcU92MzdJekBiYCo3bVVeUTJSTz1hfSYqOGFtfElMQlMh
UD1wJjtqdEdWTSF2aXgKekE3ZFhFb2x1X0NuPStmV25Tc3dEaD5tbTReRGVLaEVuSXU7YG8/dzle
e3drVypaMFR8LWI7YlkqSDx2QjEjOCYjCno/djBuNVo/YF5mcFlHQ3M8b3FRMVMhUGRtVWt1UUlV
azZLdiZ5TEV6IyhyfT0pO1BJJV43WkA3a0I2cnpYUS1iPgp6emw4cGVAJkNXdXwyUFhSdDByM3JW
RT47MWAkdXZXYT9rUUlATS1kKzEjJCUrM29RJSg2bEQ/PDVDPTwwZlc7JlEKenEmVEl8JWgxU3pX
RG4jdjxYPFRhRTRDfXVDfSpxT1E0TGFhUWE5QzV5KEZaMFBWLW82TVNEYGA+RSV9NEk9d1JlCnpM
VzY5PlJISD1XVFVSMVkwd0c/ZSZTdGplQ0tsUzNEcHM9QTU+UWJhVk92MyVmRV4jNCtuJlJMOWw/
QistalR8UQp6I09jaVcjTzIkeVc3aSlAUWc+PChNbylHeFpmXmt9UTR8PDA+I058Vz81YGY2NktF
Vns5cWJZazc8d3gjSi1qQGsKeklyM0BMTUQqTDNvJEpUM3EmSTFBKGNoK3RCTFA7PyklZS1GZUZe
eCk7dn4keUZwVFNjXkpLTFlwO1g0eXYkVCY3CnptZVV0QVVTLVpfeX48dzVkNm9NclokNXZuVjc3
M2tYc1VSa1dVTz8mWV5yPiY7d2BZIT9OeHVUQzloK3NYS1VjYQp6aVo7c05sJHRjfkl1R0BtNE8k
RmE0Y2hid20pb0AtWD5fUHxEdDVfc09aSkhOM08/cTIhdTZFdjhFPkVQYkxvRTcKejBsaCk8QV41
UHszKlY5TyhWSCltIz9yXzBDUTJzRHJ6KW4pV3tQSFdpUnA5cT1pXmA5U2NySFhAV3ktYitGT1Ry
CnpIdCglSVNURGhzLUJ5QkQ8SlBqKj5vJlNLJEZARmZmN3ZEZiRvZmg2diU7UiV6UUdyeDFFV0x6
QmJ+Mzh6TnM5YAp6cEdiWmV7bFMwQWFtTW5LO1RQcmFAJjZaWkBfUzk3MVkqaTZWNFoqXmY8UntK
QVcrRkE7Mmo/PUt1TWVmZnZneG4KekFYe30xc2FfaDBSOGJLYERwJmI7e1U4QmVgTyQjUmdEISN1
SyQwTDtBVT9KUnhxdCNkSC1WVjQwej80NDBLRWtyCnpra0ZDe2taNiREa18zPW9OTlB6Mk4hQ2F5
TnlTT2NmTEpkTmkwXmpFSUxOTSRNVSZ5bEhwenY3TlVlJXxsUl5mRgp6I3JofjJEWCZxc1FjK1Z+
cXcxITxORjdRMm5uczdGN0tvRSNYK1A0ciZgckBCJl83fVRHbkFaVEpEMCpwJjNOfWIKeiNyWkBn
ZFp0V2Y5X0QlJFJoQSlFSU9fJm02Z3dTeiojKkBMbE5XdENYZ1JRKTdNekQlTWNsXlIyUnZvRz1E
Z3FlCnpZV1pPVDZhd3ZuQz9OciUqVFVIJVAqRTA5cUY5MFdIMz4wXmtLazZ4Q0BDRmpPNmR1aUxS
b0opSEYtTXVfWF9RYgp6NTByZUIlflRYcmREVTNkJnVOXiRiVXstPE9JQk0pJEwyQ2hIKHN3P3xD
enl4NXRUOWNpbThiWTxnUkklUy0xSHMKemkqSHNPKT49PnhuPjU+USpiYm59bUpWQDx3eVNHUz85
TjZtNSFiTTtBQ01nR0hYaUFvUXtGNS1fTlglU3VIUG05CnopUFJqMyF7RkxiaE9taDYpa3hjQHAl
fF59P1hlMHNBS3NSYVlsJkM5K25ndyFSRDxFWXBPP2F0bipNKyhKdTh6bAp6dDBHNF93PiNnd1Y1
UjcwaUJSY2VgUTF3MFlPPE9hYnJ9c1ZqZEQkN199OSZDdD83aUlON2tLay1FPSs2anxvb2AKemB0
MTlxMjEkcUJ5bDVaSTl0KXA5T3pGK1k1eWpeZjdHUTdrLXYwT3l6ST9pdHhPcmlfQHVTaF8paH4l
aHZmbWNKCnpyPUEpN25McXYre3xrU3tVai1Pe0R9WjZ9MUtqfG5nMzNVeDBFaDRmdjxFTi15ZDxo
NVJ3UVZXMWQ+WEMzSFUldAp6TE1sWFJNMmFUT0FuaGh5Q3UxU2dCTVQjSUFYX0NEQWFeQ05DZn10
e3FQUiZoTSMpMU5LLW97bE8lK1p4MUh7cjwKeilGKDk4WGh2dk5YPX5ePj11K3MoPSVlWlA4R0lP
KSZSc24+JnVHVXVmQngkRVdoT00hSHxEITY+QDQtSCtOPzhkCnpLNVcwKGIxJXFXN3owTkM5N2hZ
TUpyXmxnNlNwR3wxSjR1UVVfS0dQU05zP09FckJuQmJ3YU1mSmk+MjgzUHFqOAp6Z3ZFQm0yQDwh
IVd8OXtxU0VRUHhxaHlSXlMhTEpjSV48SW9KUU9jMGFWen4kZXlqMnZTa0tEVTNwNUhaUmNKUDgK
el4jYiRSYHNIN0dUPjJVWWopdTM1PlchemFvSXJSQGI8QUFNWiYoeXRLREp0aCglMn4yST5TPXo5
PldoREJvSjtfCnozbXM+aVg8Yy0kTVk9WS0/WU43M2N6TT0pZWVfWDYjaUI/MklRLUU4UGxHc3Uh
JGFvN0d7ZFZSOEtaN1FmNGM1Xgp6PEpDPjtUVnJ1JWNnRjVvQn1ed2w/QGlzZU5GR1ZPa35XbFhr
fTtrSSVZSylPJmloYEZUcUlFM1VGdU53dmpTVj8KelR5dnB6d211dCt6ekg8JUtKMEE0dl5scGNi
dWVecGJVKjNNZGdBZCs9e2N4PllfTXE5WnsrZ0ozdUFpfEZRPjNHCnpzbEBQa3VMWjkrKFFqK3Q/
PTApQ1ImM0MyaDMlfDtMaE1aK1NSUEZ0K2tKbjMyNiZ2bndESGdRfEtJS1otNT5pRwp6e0EyKEFm
OSF0JXV6dzB0RkBXKDJCK1ZzI0xiP3JiSSktRXNXTFVDZ2F2cEw3enxreUgybW94JUx5QSpNMnhU
R1YKelhEVU9nVnRgU0JRND9xYCZ8SWZrcCo1JU5xNyRkZnFvKVFtVjMpeSNWZkxLYXhqe3hmIyVK
Z0MmSlF3fkYlZyt2CnpuTG8ze3ZZdWx0Vl5kJW9XT3JtZ3lwVlFMPmYlY2RlQCsoOFpZfmRRWDZ+
bXZmeFBeQGxZRj1ONzVMVyQzSSVQMQp6Jkl5ZVEteG8wI1dmRU53c31UMi1Qek9faHJ6REd8ZTU2
JW5zQUx2b284PDF3SjFifT9hd3ZYUmRaIz8zTFF1dTMKeil1fWdXYllGVUB4dW9AN2h5QWokdUR4
RVlleXpjYjV0Kl4jNntOYG5OU0VvZElnTiQ5Q0JpRHZgVm4tP21LTyVNCnolWWFXaG9KWkpQJjJm
Qz8lO3xGVlQ5TkJKcT53d3hxc0AhTitzZFpgXzA4QVA0O3clbT1vZHJgKEY8KH03bUZ5MQp6OypL
dTcmVjhmZUNpb1UxUFhFc0FVR0lkYHF6NCMqYHd2c0pRZVFsPE9KQzI3JSU7eiYlRzF0JlF5NWRz
VGhkPF4KelB7Q0lAU0Rqc3BzMjZFQ1k4LUFWZUhoZ09aJlBqTz5MQmdoP1ZqJl9fTjRZJSFnSDRh
YDV9X3ckJnM+YCFRO2wwCnpke1pZZ2JIdylmZmAhe317Tks5MGNVa2dVaUNXOXRYeCkwWDM7SEN2
aHhuM3cqIVQ2dmlSekU9dihEZStBTDZOfgp6QE8kK0RrPGpZX155OWw8elljJjhMI1ElOXB0Sk59
emtYRXdgZ0srYjFSSU1XJntOLWthcSsoa1E9U0tiR0RPK1cKelhIJDtpcFo/REgtX296QUFTUDso
THl8KT41PHc2dDZBMmo7JCorRDhBTWd3Y2ZQNGhmS2N6YFgkO2NAdnNpPGphCno+M3stK15UNCsl
V01yaHxXRTIjP1UhYWlPMElxfGBuSkFiQTxhSEBvdFgtKURnSUU9QXI8WVI7PWB9eE5nSEcpVQp6
RTRsXjgoYV5HQXhYOGdOQX1TXj4wYWo5MFFCX21kJl5JdE5HUU1JMHY5WDJPITIjTTg+RihqXzw/
VndDMkBNTzYKemg+Vks5Nk1yYCRHM2cjQUJRcTtJQ3BSeUBwclcjPnh+OF9Tek0tWUhqbk13NnFx
RDI7ZEg9eFIoQ358cT42dXlMCnotMkFKQipHdFBRdDg0MlVuX0p1YVVrKG5Ceko1RENgVGtvajVA
MFI7QztkeVp8M2ZZJktyVHtwYXghd04tKlM8Vgp6TWdTV2I2RkclfEpTRFRQSEktYCtpPWVgN1lG
NTRVXjUkbldMVzxCbUhuLXBAVDZTVGpDNldFI3FXektWZTxvUG0Kenwwfko8M2ljbmwtVCheJD43
UFZLM1hCcE44OEF9aEttdWFTLXc5YUt8MEw+dkMpeiY9cGdRVTMwMmNHIz1AKEU1Cnoyflk9Y0di
UWxIS3RvMEkmIXp3UUB6LTB4TEUtPVA4Ymw5N3lyZktJT2R1VzU+NUkxZSluVipHaG1CbWkoX0p6
MAp6KEApcz9PLWdyaSYkK0lZUGRXQHRLVnJRYDs/UkNBMm9iaEM4e3pkeS05djtFe0xHTm0mWn5t
ZSs3UkA2Vj1Jb2gKemh+dmJDZF96P25zcWI0c3Q3Zz1HNDFiQE9rS2pZPiUyRlpMV2ZCb2JkdFk9
b21vK3VSKUd5X0lwSHIlTFZqRklCCnpOTDJwcDNSZGY3Pn5BZlN5NlNtVk05fkFgWUtFX195X1lN
byZuRE5yJkxvN1JNIXNrbW1OV3Q+TkRkRmRHYmdfVgp6X2VsQXRUKCQzbG9CRXR6ZSkjZCRhdS1e
NjcrKFo1XytqOHpVUjkmQnE4cE9jY2YtcFhQMzVOXyY2blpOd2ElV3MKejdwa2crWSRDKWZuemJl
P0Z5ZiRwWnpQU1hebWZYI0hfLW1Beyl3VihITTxpIUA+UjhfSGFRKD5JSFdtR1hhbzxNCnotRjI+
NDFGOGNhK25lZl5UZzVhZXhlPGk5aUZSeW5JUVZFViZ5Q2h9cS1eVlh1Mjc9ZioofVdaYShHcVEp
JFkyYQp6WUdDQnltMjRDMGVFTTxFNFJYe0Q7ODF6OVdaSTVmYUgtWGEjeTswZCo5cnxJNERPY3Zt
Q0ZNakZRZH5LeGoyRmkKekJ2cmgzZl57Ny1ZMk92NFFPUTN5OGQ0NzdMdX5rMD9sXmYyYkkrQFhR
emBHYmRkX3N8TktFV2F3V2BPJkA3VHxYCnpBdlJedSUmMFQzZ2wyYHdwT01Rd1FlcEJRaD4ye3Bv
JTJ5Q0ttS2o3cmRlYSEyQ3MwUihRZWZfd1IlO35sbXJSTQp6JnpyPlN3UUl6ITtFfn1kUjQ2KnJJ
c3oqWFhWPm53QCshfTlvb3hedWVUZWdZUXd0ZVFvTm1Wckt+QjllSz8tWj4KelhCNXZtdHtmUD1a
P1EwcChEMSNYKX0lMzEqWXckKDREJk5eOU11V1NeIWg0R3g+V2g4KnJOd0khZnBHYHs7OzBrCnpk
SlIrUGpuNTVeJj8oPHEkYCNjNEhGLU1PPUFTKzVAQ2RTdTZXTWFvc19LPjhfY2RUViFZQXlmUGsh
OGVRO21rSgp6ZGRXZ0lrJHhpI2twIWU/Pl8qblNPfGBvPU0hWWYyVWMzU1dgbmBkeE1fcSZMQ2I7
SmU3a2cxM24jTUs1VT4yRmEKentYUERLbXJmN1kreF4kTDBpQlp0Ylp1WWYhbV80Jm1fbjAlaDx5
dmV1YEBUKmYlJTBDRmRtKE52Vn1ESStDLTsjCnoqNyg8UExhc2Y0JilQZ1ElfCRNNEJQKylgRF5k
e1c8JVN5I0dWc3NFbHZqfl44SGtkdkBZRlBnKj1eal8+ZF5MLQp6PjVmcnstPk40SUlSUDV+RGwm
cUR0TVhCKz5wLVlAYTc4RFZkTmtaSkt5KzsmR0pDfXtfVGElWFFzYTdjZnB8c2QKekw8T3lRI2pV
XkZYczdGI09MaWE1KXAyeUx0KEwyR1dLNW94Yj1QeEk2KX45S01JNX5zSnRzOWlVa3s7TDw5SUNa
CnpsenhTMVU2M3pLdSYhPn1keyM8PjhJO1Q9diNtU0lVIU5WN1J5OGo9WXt2WDNXT3w2KkMlNnR0
SkV0TnhpV3RrRQp6QT5JNTNpOXd2ciRlYm8mOytReiEpJVpiNCZoa3lLMjBfOz1wMWcheWYkYmk1
emZQJFhoZkhOdFZQZGAjcDt3S1UKejV9QV5jWj9yYX5KbnItZUxGfi1NaDBINmc3OTh6bTY9cXlI
dHhTP3taZExmaWc+IW91SiRKWGlYaWpzJjFzXnleCnppe1A4IWhOcT09V21QS3xPVlNifj9MdCNC
VUFvKk9CXj56MVBFR1FSYzJpUSN4eTtxPXNAfUxuOFFwMDwhNkFDNAp6SkV7MUlOZlN6YVpOeTYh
bDlAYVMhRk1oTnBUYit+biRVZXsmJG5IMDlsQXJAe1JzVHZhVj9kTTFLKlFDUGdoPj0Kejt2NHRy
RmB3R3p4MTdWZyMwMHhqUlEkNn43bTZuWHZCREYodUByKj9iPSVTMGo2YSVmMHZiQysmUih0ODlR
NXcyCnpJZm0mfU5VVTR7UkIhNE9PREg5V1RZM2RlX3h5WXBUUXFPejZPdjNuenNgfEVZRmptOXs5
WDZDYGdadjJWVEBeTgp6X0FGdkNseDsmTCpHYU81KDZ1I29lTyZPfjhRSnN2PChBcHFYWE5oQ0ls
dGFYQXIyaEh3ZGFAdk41dFpwTFZfUzAKemEqUyEjK0U2STRBfShtSSFDY015d3oqX0Z3Q1ktQylk
ZHlgQ2BDdl8xUD58KCt0ZjMhNyFtVD5zWkczO3RlQGt4Cnp3VH1ZZj9HUiReKDxrdVEraihibkwx
KUshMiV3JlE1SV5CcWl2SWo8X15rVXVGan5nTXJgNWIqSk9nbmlEPm5TYgp6UkRaQU5BY15mPWJ4
dXpISSpjOUklYGVPaHBTP31IZ1k3cGgzfj47X1BNTz0mTm5jR3g/MXlOa2VDY0pwRFk0QTwKemxB
eko7MUg2Y3NjMzJFO1Z5MVoqSkAqa2VQUihgX2o/TmokRG9PbjRzOUd4S1hLQ0VwdXs5UUU3cmBT
cio3JklfCnojTDJ2Ui1VN1dRdVZsSFkle2pxZFBgdnl3REJZcWw9NHctUlc4KzE0YygoWExEUStw
cThoNmZKMTAhQ3FwQCRKSwp6QlRkZn1lXktRe3RBTGhTLUAofTshJGFKSDxTS2M2N2BpJWs5NiFF
MWk+aF5VM1J+fnxRQ1FNNVUjQHJXcX51MTQKemJRdHNVM2RlZUxaTzZgLVZObG92VnhWOXtlWjNj
UihldSFGPD5ZWj4ofjxPeHBmUS13akBISnZoVnwlZzslaGI7Cnp1YTJkaFoqcU0/TTsrSk90LU8y
S15GN19gOF9wfXNUJk4pVHl5VTBRXnUtd0JhZyl8Z3cjbkp7VnVhZGZYUSU2fAp6RF96PXxXRi1T
ZjhrP1dNJVpfantwN354VSh9c2YkLUJQRmMzQVJUWHR+JEwhN0Z1WD5yPGxvaz1jQythRSNuZU4K
emY3RlloJmttVzNWR1k0ZkwzNkY1b254V1U9azI/Wj5aeV45TXw+ZVZ5ez9ZdG1MOykwYXxVMUxV
JU4rWCkoWEdZCno1bT9zZEhfXklNbn5RVEY2RVJVRFdHZk1WM15BKyptQH1eYmx3TVpxQm5haTA/
U1lqWWl6YnVvU0JkP3BQZHJCegp6LWQoOWk/d0prQVdrKz0/Q197Mysyb0NuIUY1dCUlSWFLQ3B5
cytkMDk9cGdMcjszSU5vezs1MDRQUGdYKkk5MUMKendVcTdCdDZUUDhNOSYjbzJGUEFVQTJeRz1J
UWo2fWMoWF5PTDw0M2tKbDszJCRtRW4tOUg+akN5cGh2IyppPHZQCnpMSnQ0KHstT3RTdCpUUG0/
cWtyeiUtWllgd1R3PEVJR35NbHl7IUF9UnNHfDZtd1hNKih5N0EoIVoxUFMqWXMoMAp6TGlDJlYo
cHUlQT1nUjEzcz1jQjZWdkdVaFhDezNgbU5CU154bStqcHJoPlZoVElLYnheVz9+YUVvdUwqNVNP
JS0KemhZR2J+Pn1pe3l4UnhjVz5vP295b3ohdTR7JTFTNEE5WmJFVU0xfGo+ajhJIWRAWlU+M1Bs
dUd5YlhmKi13bHhyCnpgKXJ7YWRvKj93dlImRUZgKVBnbFFTNEQ+UH1xRHl4JUImOTRAVz57K0d7
V0dnOylyRGJGTyo+Y00zKXFiYShISgp6TmZRQzFEZVVTVGtIVU09IzBVRWIkNz1PRThkbERGNVhW
RjhaTn16QmJDIWVBeWd0fD9aSndwQ3lSVVZNSkZ4ZFkKei1ZXzsqTVU7SitnXnQ9ZmA9aGAxbHFS
K1ReSD05TCo0TEtNSD5OeDAyZmY8fmp6NnB1QHkhWEJKSHhlVVlndH41Cno+WUlDRHQ7ZyhMN292
JUk+diVxZXJPI29URig8fXNGKGJRTTB0TX5UcENtSWVDfUlOWUclPXxvIzw9YFBGNVNLbgp6KX4y
KHE+bHhlWllwMmxsb19EV1RzemJ3cD8hcGhXWUlmT3ImS011MihGZ0hOJm1MbTBIV2tnQ159ZUAy
UGV9V0IKemFMKm19MHllamZ3ZmdPQEVjMzl9Mkl0Wn5GVVpwPE4kQikkSV5NQXhuQ31mN3hvYFlf
YShxZEFKSyUhI3lSdytPCnopJm9ld2RtZEVMQmotYi1gfGl0JSEtZz82QCF3KlA/dUpDblZKRV5x
K2VmSjBLekY1KGVRMGVHbkEkYzhpSV58Zwp6WCExfGZvUTs0Um0hSyhRa35hI3okd2YrNypqK2pH
KHBpPnRmaldFJkRGSjRrWjVwcX1FbThkQm1zRFE9dkM0aGwKeiYtWnJVUlgte3lRLXJZPmxxPH0/
VUZ3SzFQYTYqXnZUajswRWlRO0dYZCE9aHhVVT12VFk5VWE/ITlsK1U1SGxnCnpNVlJjNmN3Kl80
dVlYY2F5cTtHN0d7YHVBTkBUI3tZRWVXfTc/N2B5Jmx1UHt1dGF7OGIyUDhuKDM3I20zM1JJTQp6
KnRATjthLX5IZD1zY19yblpJc1l2dEdJQSlvWXp8R3JIPTRYZDtTX2tYYyReWlBOfT5URH0+IVo3
TX5+UmhyRWgKemJJM0g0SmkyfS1GJH0/WGVfeGUjS30qakVSWiQ8M2Q2YGxfNkpDTE47YGJzciVt
T184Xlg3TyspR3x1dC1FQ0dfCnp0WGxuKUEqTGdKZSQkQCZAJGQ8UGtkJml3R3VKTjhyayZBcHhf
M0tMVDFBfSlueDJhN2Z6PzZGQlh7VkhzTFV+VQp6aytrKyQle3lHfmE5eWRXIz9BX1MlMj48bkB7
QlBxZW44RXtMP09uZjN2VFNBUDJIcnhGNWY8THdZfXZLem1jbEMKel5ySyFXWlN5XiZUSmJ4SCoy
ZjdPT3QrekQ0Vnx4UVBjJnY5TTsrbGVVZ3ZZcTdVPE0mMTw3XzBIZ0VvI0lraWJaCno1RUJwXjNE
Jig+SnFgYHtyJHhoem4hQEhvWmkjKmNiSG1vVUlBNkMlZW9nWTJSc1AmK1V0TCtxRE9KKUpRPFo2
Kgp6bnZTYlVQQzIjY2ZVcUlOMCRedHlkN3xITmteVU1YRV9yVCZzUzIkK0F0UT0mJUxFTiNYUlkh
P1peJnA2VjA3eEEKejlrcmpePjxFPTtKQj5OV2JUcjwtLT1za1Z7Xj8pYDlRQzU5O0cqWi1ebjtV
ez1vOURpa2Y1Umlgdj99IWozX0x4CnpQeFNuenJjVEN6aUF2ZilNYDtwSU50S1BjMTlUSz5GNSlw
TmZWfVBVY3lIYVBaU3RyMF4wLWohKkdneC00YnA2Ngp6dHg8TjY1UHQzPE08fGp0TCs4UkUoITxV
ST5RMVQ9a3FhamV7VmRiRmAycDZoYE9QNjgkOCZpRW97cXJyKmt4I1oKejdgVm9BbD8mUTUoPE9q
JDl3WjNsRyY/fHdoO3tCO0YyeCVzTio/VWZJdEVNMEtXKjE1TU1MK0BCNXxXVzZLcFReCnpNYk9X
clc2QW0jSUorbCo3QSRFQ2dkPlV4SUtaZjQtdks+eEhMQTtRXiNhPztJYVNJZihmbCktYlQ1MjFE
bT5qTwp6aFMoZjc1WnZxdDlFMDh7dVItcDg3cm1mKXl9TktNJXl6QndUak9CSXd9Iy13bjMpdmpB
Y3ZMcXdmYXZUbnNZcDMKel45YzhFUk90blNDOCM2MEpZI2o/djxiellxbEltZWZ4IV5fOFN8bjhp
dm5qdHRgeTxCemtZZnh4Xm5OUSZAd3h8CnomUSNodSVCUkp8KTs7SG0+eGhEKE5CT2FIT3V3SU15
YHJmIzJkWF55dCVNeDwpNThVQHNjbyNee2JoK3hANmxMNAp6SEI7TksxKHRic00rKUFBPH11U0d1
dm1SZjNvJDtZSVkqRGQtVVIpMGFQQHhrNWt+fmBDN2dNN1BPU3IpJE5nTFYKejlPT2pHKiRDaEtP
XnNKNWR+eD1gVFZYQ1I8Qm5NTG10VVpWKjxaRENgej4+V1M0PzVUSXBzY1Q0SnteXlohTm5pCnpQ
VHRxWXtyVXM0dz4yRDR4aVVCRVg9RzVkQ044eGU5RlJCIS12Y2w4b18lSzJjU2VsSDNgUWVXZGBD
fFNLaD81Rwp6WW9+NDBZclVFNjFDMit0Kzs+NlY/Vzs8WXNuKjQwb3lGRENTLWg1PE9YYnRnZjd0
Km5jZ0w9dypiKEZISm9hQGoKek43RSVXQjlDIzg1YW5SXyVYUEkmSDQmMnlBdlU1aj4yXjRlRWxW
S292UUV5cjRxdFYmJlRoekJFQzElR21fTiNwCnpicExWa0hacGdXXiVxRj5UfXglPVREfDdURFko
WCVIPV9LRSR1I01gO0MlVjcqO0JKQEFBI1U9NEVFV20oem1GZQp6P1BHaVExfWZLRGRRN1dmQ1J9
cDhYdVlHYGJmR3dWI0ZLTiZueHVlIUJyY2hhejFBcSlkeDVZWHdVPHxnT3I+RD0KemVjeXZSXk1B
WkUmKTBfNHgzcUV3Nj1FamYpelVqSWEoaGkqd01XJE51WmQ8TCN0UkBaeTtqLVNIPX1ZQUZaZmdv
CnpKIVB9RT9GdHx4YFArK1E0azYwMTFKNjRzIXBlXldTbDJCa3BqaXtKMmt6QFJIa3BfVjVnO0Jq
PDRrNXhKVj1PMQp6JlBJJXtCfjNSfipqblM5NERuQiVFZkxlUXV5Uy0zWj1mV21aU1pESlBWUjlK
UFk3MWY/akJEPUQ9dWhSVCN7NEkKeilBbH5oSFhBalNqQEgoXzxIRER9V01qX3pfKns0Vlk8ZX1f
VCRgLUBkMVhgfEB3a0B4MUE3LT0/X1ByRT4ocDkoCnpAQHpha1ZaODZIcX0+STRwVztpPmIrNXch
IyZ5ZVZSSChlVVR8RHN+KkRfOGpkbWtwQEBhanlGRT5HTFd1dHdSIQp6cEBCVzRWZmIqJXkxUFpf
TGYkMlI8S0s9PHd4P1pWQyp0dnA9dV5xYzFLKTI3O25DU14oSiE7TlUqYTVFMihlPWkKektDbDw/
LVB4Q01LYm5uJEhATjMkJnUoI3Z2RE9qM3VmeVo0Rl9XaX5zelo9IXFiNHY4IWQheGRRWEp1SHQx
cTh5CnpuSShHMjtTakdTcz9pUWhGSlFGMzFZUVdTOWRTM09YWE15QHlhNDl0Rz5IfGxYbzFOamw7
QipuRmkjQit3ZU9TVgp6endsbSZSSGtVQzN4TG8/Jip2VWQrKC0qclBzPEg5JUReaEp0Q2JnSVFe
ZSVhR2gxd29kOClfUFI9KkhKT3heP2MKenBiPD5jSD0wfSQ7bzdMNFFGKXc4M2FaRGdzU014b2Jn
RnNQRT9xJHkwanFsZSVWcyt+bCZESjY0clhPVUlNTn57CnordlZqdTslJntxREQ9NF8jaVpwQ3NJ
K3g5K0krekowc0xNe1JwYT1HIXQ2a1lnKFNPYyFkUiN4cDdQPFIzJUZReAp6aVIrQm54NGtlPHA5
PTVRNkdOU3MrNWApZ3o1fm01bDN4JmM2eXR8Rm1YIXNqM3EjSUh6bGYqc29Zd2J1NURJaEcKemk7
ODBBelohWD02Xyozd1JMcUtEaTFCbF9TYDtXZmhGSUJ0QUUobGV5fl4tPV4tTVZHRnxQc20zZnU5
WmYzQmlWCno+PGd8bkx4UiRCa2h3TClAT3EoWC1WZ0NkQmYwXyYlbXEqUTg8Xip4V0xMalREOyNe
WD1JSn13RHZERkB2VTZPVgp6LSp3Yz9vO3I0NmVkT3UrPXNuaCZ3KGZtd2xMN2tjWm5jYzxPYFVi
VntgNlJSXz1SZlFXYTBxNnFZcDgzKkRDQVcKej5+ZkVkP3FeRzN4OEJJejVDeFNqKmRweENiWGth
RlVWTXJ+bUl6ejF2PTBRV2ZqSHFGa1dgIzBKSV9nc0tXeG1DCnpMQD5GZT9TbTFlNUJGbGlAOE18
MVA8bSlFdU95VWRgVSVZaHZ8RmUwSVA5Xmx3KlZGIyopVD1DckdfOGhId29kWgp6VUUqNCFSN1U5
QWFialA8O3Z1VUB0fkpGcTx6bUB0Py01QkE3c01IKDJ4UmtnTGRYQipTa18hPEV6V3o/cCNeaTYK
ekQqeXlVJlo1RHM7dzZZJFU4XykzRisoaXdtVDVMJHZmSm02SmZwTj10NHAoSlhsbk43WCtvTmMt
VkY1Kz52en1ICnp4dDM7bUtfU0JCekZNKlJJei1Sd3VOd1Q5YHx7TTN6U2N6R2RBcDF+Kmd1IzMw
IyNHcEhudEdnIzJpZSt3TTVeRwp6S1lMTD5VQi1oNyNiMmRPVSRhfjZ6S0VtN1lBWWdgO0J6MEND
JV4xbVNZWm5TN2xqMiRlaGo/STN4aDd4N05mfHEKemJrbVA5SVlhYVYrX1BFRj0xUUg9TkUheExH
Y0FkYT0yfkV7V14yaF9YYS0pKEl1alNBSGtSNkQ8bytEZi0qSXV3CnotYHFZfGBEODh2dCs/M3Qk
O0tqVTh4P3gkTHA7ZWc9dj9eOVREYTwqXy1wUEltUEtTPXlNPWBrVjN6c1Y/PnwmPAp6LXRFXkRO
T1A0OT9vWHk+VzJxYT88NH00NHZCRTNWemRpQigqb057V15QJVo8OHhtMVpKQ311YXgkays1azFC
b2EKei1lRWtGKmY1PTRQbjNYZ298dzRaU2xMflB6Z3x1Q24+JXV2dDF9fVVheVd+PEdhbUROMXN7
M29ra2hpeE1vXmZ1Cno5ZCZ1UV9lbCk3SCFrdDRUYWk7WXA/K0VFI2F4Q2NlejY3aEVsI0k2Qj5F
ZyVmd0I7KUUxP3lNPlBtNW1pTFdtfAp6Mnk7VkY1aX1+T2xuNlY2T15LMzhScU5RIWBpbiMjJlc/
UkhDRk5TP3d3bCZ6PHpTLSpzbys9bV5wXzJyNkwxRX4KeipNPjxIWGd4XntIa2BOSmxaKHJhNzh7
PjUxQDQ2M0UycVg/JCpKcT5sfCthRGxpOHcwPEltS2tVNzxCWVZEKHs3CnpuI1JUQj9faTt5SG51
djxXVj51Vjhke2BMM05VcU9GPXRPcD1mIyhqWXd+TXxtc3hoUlNjZ3BNOH1DZHBhTzNzLQp6dVNe
U2gpMG5YPXlCQDU9RyFCQD5tY3c8Wm1MMGlmVWoqR0xOTjE0M1NfPSVzNV8wQnl0ZEdPSmJvO099
Njd7LT0KejRJYCtfPSo9eWRyakozUFhyNSlZcz96a2s/OGZhKU5Sb1dyI2hMc0RjR0xseXMyWHE3
VHkxQCZRZHQ4UlkyT0dqCnpab1NqamlCYil+UVFRRHUlVklzbSVlI2VYPDtHcEYpe2BIKmw4fktL
WD4ka2picV9ZMVJ4LUc+JFRQWk1GcUpmQwp6PnhXPWN6TER3ek5BfX1icG8oeS14bG04TTBSR1hf
UzxRa2VTcGxyMT9JYlo8YExJby1kfUVBeGRVZXtgRExwK1kKenRWJkQ1QzsyQWktbXVVNCZJU2R9
X1Z2MTledzhqaGVwQU01eCUhN1dvQGF3LT1hMno2aXlNKiQqU3xDK2V8d2xOCnpxPz12KVFSejUk
Xjx1cG9gYiRHej41YkN6c2JATX5kPEhqdiY3WWNQKldFPl9zO2dsR2FXfTB1SV9+UzFTVFpqNAp6
Uj1iYng7VVJOKFFTcCs5TmomNn5GS0l1ZmJoPTApJmR6WXR1NUFUXnJKYnZpYTdwJmUlVVBmTEY+
WmU2bzdHeHMKejVmVGZAU311WW9qXkJ0NkVaTkV3YlpjRWxFTWBrOGM7SFAqb0Nkd2RKendkQjwq
fj5qTSlKfCZWVTcyNG87V1NOCnpiUkpzZnd1emd7M3o0P2Z6a2B8MU42VUFoJk9Sc1p0NzQxfmJY
WjswIVJpLVFQI3F9XyU+XjleUG1HQHRDeXpDbgp6WEx+cXtFUExVMHdmPTBvZXtebWcpJGtGajI9
aGBOeFE4dlRSP0EqUkhRb3VhU3ctMn5KKGdBTk42PiQjWiVFV34KelBvY0lXbHNSWFkoJDRpcnk0
PkFZa3EhQi04dmhWc0ZuSnM4JShgV0o0WUJZRGF3QDZiQTdXbmxVNiVqWmsyKFVnCno4JWA+OEda
V0xze01hKk9fRHFRRz9xdG1yUVFiIVE7UzFYfU5NUWNPOT8/VnsxLUYoTyRmZykleEVRP15vTk5r
aAp6S0FEVFRHbkVJJGN8cilTM1VqXyNtbGspbVVaIUo5PTQrMT5MPWFVKkdsKmM/TzJQU142Qys4
M1NjY01UMVlaO1oKeiFabjhfISN2PnBLP2Bmczc3VDF7NjxMJl52cilDNyFISGVmdm8tWHJBO35u
RW9nRT5weGl6eUpSfDJ7PXZLeCVFCnpoYUZiST5pZ3pMbWlNRGV7Y2Iob2RpYjs9anYmWCUyNTI4
YVliZnFwSTlQKmRkfnY8YTBhYlAxYElGT3FCQTt+Twp6d0h0RlBEbWR6Ym1kT3Z4Y213cTNGV1li
VUQ0ZnxSVSleZ3NebFRNR0o+a0gyS1pROzE/LSlFenopM1YqTDUmb0EKej9AXmppQG9xVU1hZGNr
MjhuM0hKblY0eFV8RnFXRDM/KEtoU2RrPkdZLUQzczE/LSREd1FHXztSPGRYO1ZjQmhSCnpOQ2A1
V0VuVU1Edjk2X2FaQ0FBYyQ4aWlRRktoSGZ5bW5WLSluPih9ejNNZjN6YWo2KmpuWCNqWFI9Oz1g
VCYxeQp6dzAlQGJ6MikleXZ0NT4hO1o1VHAqNVo2ZU4lRDtsQz0rNmpifGl1RGFjN1RMeE4hRG87
Z1k/aTVRMSRCdjQ+fk4KenI5Y243ZWorZTxYe0B3K2I8KGt9OWN2KjgkdlQrc25ifjI1VkhCaTJF
Q3xpZz9oe1V0O1YwPUlKUmRxWDRpd29MCnpedEYzNi1yRzVuO1ZKQ1dWT21hLVJPRURaMnU/KktQ
JFB4NypkTmJCIWleNzlGVzRhTmI2fUhEU3ZNTSU7b0o3QQp6PHRJK0k0cGhBfEU5VEJ3Z3gjOW07
MW5kUmg/d3ZoPUc/SV90Qjs3dTdGUENUZzFPK1hDUlNlO2pTKCVJWGoqekQKelc+MzZqKkYjcUF7
dFdaI1A5NlNmTT9yd2ljZHopZS1XZk5OdDJ4ezlfSCQ/RztQPjN7PF4xSCpIbV5lP1U1YiR1CnpA
dGhfdyhZeFcqbWIzN31jVHJCZEVUcHRlSHRKLXt3emAobTAhKWBSUkUqe2Z4fCheWW9UM3hgXiZ2
dzsoJj5SXwp6VCZ1aCVUZHBgUnMleUBjQGNvXnhZV2NBanZvNllXN0BRbzNBR05LKnpZNHkwTm9Y
KG1KTUNgT15JcCgkKGZoZVAKejRmdEV2SCl9ZGQxRypDNG0lQH4kT3hfVSshX31BQWYoX1hgc0dA
SjlgYTx6XlQldEZPdTl8eVdSTWUwVzNeWm9ACno5LUNmSjRmKnM/aUl7bHpzN2tRKE47RXVzezhQ
KzF4fiR1Rz9IJlojeXtVI31tZ0NEdFlkKW5Gak1YPlVTISpnXgp6TyhHaW9BZm11JExRPEo2SV5l
K3BpOGpEciZ7SzRIXyFXMD89a3UyPlViYXZ0Tkx3JHMwIz0yYEo9YkVDRE9jMGwKemg5cmc3USRk
YWQ1N2skTmMhX2twMWNARTFONzB5V0hzO29YYXRaOCZ0O2k7Tkx5QFpUUWVGTjlzIVdJZDB9Kz9i
CnomJGUjQUt2IUx8X1BJLWkoOzhwRWNBbjFaZSE7e3RGcjdfVjtgPnFOMmQmPm10UV54MWYzdzkj
biMkZ0soSitZJQp6WSlZfiZHZmBqSk14PWB6UnF0Q2hXVTV8TSMqXjhSJU9XT3dWYD0qSFJPYD49
YCNMcmtQQCg0XjByTWYybHRhPSYKekxVTy1uaCo1bTNeOz5jd1hReT5MWmF8SVQpbVR5RmFTPDt0
R3lEQmBNUUI3RGFIYjF0YX1aKyU3S0hiQSR+S2dkCno4ekdMVUg0bGs1SUNuR0Q7ZT4tQ0EtNDUt
aGxGPm0oNz9zYmcpQzN5WT41fDd1YEBifDJ8aCo3Q294TmxMTURuUQp6Z18hKllYcHE0YXJYI0xB
MStePzRuOyUhUDh5ak0kY04+VCE/JC1MQEooV1YkOVdqa3lFTjBUOXBAfWVYdVZOUSUKelZkTmd5
c09Rcm5aT24zUWBMVTR0YjlMUVAoK29HNSM+bzFyREIqKkRfTVA5c2dpQ3lvNDghKEtsZjR7bTRP
Rk89CnpEcngpMlMzIT04JXkjfEVeR2x1VzlEe3pQUXxnb3xuc3U5JXNDTjdTYXpPZWpHdjtKVi17
I08pTW17KX5xb0R7dAp6QU9yeXl3YW1vUjQ2SXlgYTFMK3VkRUkwIzt5eGpBZ0EkJClUO1IxNF4r
YHA9TG42ZiFmP0F3IyRtb3JJe0B9eUEKeiMzZkNXKVlQdFFWN2t6Xjg5cCs2QmxfZ3BoQEFpTXNn
VTsyO0FpV1U3dTlxLTVGbWNRdypqQjxBUD0/KWo+V0BZCnpGfE9wV2wqaEJ2Z3ZRTm9qek09NllE
QyNpR0J2Qj1DdChGQ214NXpObGNaUk9kJlUqeW4/dkZDJiozOShkJUBacAp6V045Z25xJCNWVTMq
d2IydSVxNyNKM25mTU1uJGx0KmdlPntebFpxYGlkaEl9YypgZVc9KmhHZW9xbU1zSmxgLT8KemtL
TEQhUDBYMUA0WHF5KzZwZ2o0PmFfezYqQDxCSGFXfmRvT2NyPlJlT1N0ezVWYm1NKUhMcGZDbnFQ
YmA+UT5QCnpMeX1pRT9la1I/Kkl4QnFudzBgU3lJN1p4MF8qRWxqTDNrS0U4NDBNbUVpZGE8a3Nm
K1lYIU1hUkVUajRWTy00Sgp6Iz41angmZUtPcDs7SX0lVFZFTykqcE5hRitNQmdSPz5CNFElY1cx
PUp6PWxFbFkyPWdzNSZpOF95IX11KUl6aHQKeldnP3ZJKXRGWTEpRiY7aVcpdzRhK0NudDwweThx
Q3BOcFhNcjk7dj9aU0Vqfk9zQWk0RT0jMyVaXmtiNDYmYlhkCno3WWpxQGwwKUY/dGkmaSR7R2co
NSU3R1QrYChPKEozclUrWWhtSVlIWEplMktrSSFLQWlNbzRRQSMhKTZwRHM3fQp6JEMkJkhRTDcj
eiMwMCZtJn54dnRfd343ZWV4USV5VGtMRzdaOEp1VDx7WVFMdmkpRUB4MCtfbyptc09ncz5xeTgK
emd9LT1PZU5VcGZUdWlpMDVjMzJ6Njh5PSZEKmFkbW5IdHVoLWFJdH54MFhQcjs9dTRsUzIrWVAx
RWZtVj1NOHVtCno7KmBCSkx7PEtCbj44UVlUSjRpbiRFJmcwZjkrOER0X31OQD9LfH4wMSNmZX08
MmYyOStAb1puaGd3b3ZGLW51Swp6KztRSVNQMWlrRHpUJjdvd3BgTUtjdWhsSjh9SWFwXmxSZGJF
TnlCTUFPS0loRXxBayFRU2dMekxPflReNHx0dzAKej5UXmszNnNZZ3A8dCVydW1jRlpIblNUbCZA
IzY0S258WVhqOFdve1p1LXNzeFleNnhfRHQoNyMlKEFld3dOVFZhCnpsVWU7VEhzQ1FURSE9OCV5
PURIcmRuWkBkPG1zc1BeMkxSMTYkZVFUMk1MZHkpfld+MVB3QC1FLTA1NTgkRmpgKAp6KytubEEh
SXJFOFc7ND9ZKFpzZ1lDKVE2cjdWQ3g2aFVHaTlWM31ELUZ0QW0maGctYj8+QGY3OWhIcTRHQlhy
XjgKemNOPlVaVilqUktkRHRqZk8mPV9JNU9PITg/S1N2ckMwXnEoI2FHcTRORjZESDswdEo1Nyps
R0duVVFefHsmYWJzCnoxKCQtUT5mRDEtdEtCa1ZOMVgtUWpxKT1CYmRHITR0NkgjTHRSUTtHNHl0
aCFtPihmQ3tIMGxLIUZKQmYqOVhDNQp6WXtDc05xQn1jKjdiV2ZZY1ZLKit1dnZ0PTRfcFpIITt6
aFJQUDJoUEJ9bUxodSVXQ1pIfHdUYilWJDxEKXo0fjQKekZvPk5MTVA0QHpBNEVYYGU3WXVkdW5I
UjFwZGdKX1NjT1NJZHkra1FIK1FOUCZ4SX5HJWRsfEluPTlCVV9sS1JWCnpoc0FZOF5TKXptcy18
OCZMMFFWZGpPQHM3bjxWMDJaZS1TcVBQRWgoemMzVTZOWUtDeGpmbiNBeVU2WFZeIWVgOwp6Y149
PWNeNXQ0TGg2RTMhOG1nJCU3STZ7X0lMQzlxJE1vfiFIcyhxPEN8JlhfbEMjUTIpNXFSNVJTX289
eXZIMCYKemNEfGc+Q3A1amVhJUxtRXs2bn08d2cwZHRkV1ojQGs2amFhRT9iRUZTVUlxaHlSNzds
c3VkPCQxTWlrXzUmKDZuCnpwQSRJViVfbXpGNnRAPDtGVnp9dGQqeURiSVNxJHEhNmIoQj8yYEQ0
Tl57fSM2SyRgODJffWAqTCtUM0wjZ3pkbQp6WWQ1QGIqbXF1K1RuQX4hZTRIYzcqcDNac283eEQ1
Nko3VFp5cko5S3toXlBZdUZfYTZJTEd4PkBfQWR5JnFgJWkKektgWHA+TzRedz5KQlNMcjhzJD4z
aih3dUs1V2FabW5vUjFwYSUjQUpMcSQmViFTdGl3X0tiTjxyI3hidFkwa1MmCnoje358Qy1XUzJS
QkFDVjtlfVRxMHpHQUg+VChVTUNSbHtFIVo9WSVuR19mYV8pRVpeWl9RaCg8KFQ+XkJvYjRSRQp6
Z3d5fGMhJmlVcHhIdElKc0klfjBkRE0+NSNBbT5LQlB9QFEtUTtfbUo3V2JHR2hzQkliOzJjQm9A
cVlSOEpYQnAKenc/a1gzT0tESUBfTjtTN2NkaT1pQCR2KkJMI15SN2FESj1QQTZmeXQ0RFJNaUR8
UUdtUGQ4P0J5d1ZWZ1g+MUpwCnpZSCMqdmMpdE5JKiUtIzNpbGc0djwlek1+PE1hKmc4anpLO0Yk
PXBuYG40dStkK3BZWVlZYjl0JFZ2JjtmVUpBMQp6djRxUCM7VCZ2RW90IWxTJiYkdHhmKUJ1SmtC
dHFgYEohTlFTZEQ5JHEyclQ8JDN+QUElYkg8WDdAUVBMVzYwXiUKel4rJl5mVlojfDM/ZGRicThn
MSRHUSVpQ3hufU5oZXJYam0qQURFI1QjU0k+TXRATE5tR0t5TWohKVc8OUJaZnViCnp2dz55YFJf
bl9RZkBOVzI0bUEmKFBfcz88O35RVnpMcEloZ2tBKjdLcGpFdVQmeVREfSVEN0toR1RJRig+fGRY
cQp6a2JGJWprdTR9KGdaRzxDNkV+d3JwNXl9elZ7K3RuO1Nrfl8wWEY/KU0jX1RDZ2ZDXkwmZ30p
OFJTeElkKDFyaz4Kej5vcSNFbWdRVDNxRTczPjVQfStaaHZfaDUld3dHaysxVENhdFkhdWQ3cSFY
Xz4+eVp8RXM5WXI8dWtHcXhzNnlICnprVn00eDNRWWpTTCNkJnNgcW9mQ3hVKysjdy1ATkc9OH1W
S0RwUSs7Wih3Jkdhcz1BfUw8NXw5MSQmUTJEcmd4OAp6b31ZSU95ZUJrUFopKnQybDIoKCZZNGw9
M0Vsa1koVSNyYTI7bSEmS2NsfT17PElIdEE+YXFwdVM+SXtZP2EkPlMKelpjcTB0OGdWRkF1K2pT
bkhKLVRQN0s5cTAjeEJ4blBzSnQ9ejMwQG8xUkJnYXMwNiFjMWpucDFJRkIyez9NbjZNCnolSX4z
VkoqaGwpcGZxRVVETypxUTNGYnRZaV4lKHllen1KJkQ8T1lPdTJtVCNTWkBiejtFKXBoJTY5IS0r
Z3l1ZQp6cWs5UXpGPnJRXiVfJFo5LUkzaWNTQVBJXiZsalZIYGVKQiNXJjU/VWklWjwtXmshNXhu
eUUzJjY8SDZ9Y3YkYVoKenRXVE10PTRFQCEqeihLdlEtbzdSRlpJJjJUb348N0MjNH5+dVJveEVZ
IS0xQis5WkpnPkVROFp0Nl49NVRDITFzCnooWGEzckEjdSN2OUh8YH1hWlZ7bit3ISVrd2VRNkRH
UGlrTGtBeio/IUFhWDVza0tiQUJpVGUjRHheQTBAWEdjYAp6OXFSYEl8MyRuLTNWRXUtRUopdGVr
blIxJkRtUFhyM25yT2h1cX58QXEhVXBzeD8rOHlDVipgV3l4eCVTNigrOVUKekBORH1zKFcrNjU2
ZVU0MkNMTHgzeGlYeFJRKlgtU0okdFVSTmVWX0c+PDA8PTZmeiFEOXI9bypPZStZO2I8eH1kCnpa
djsybzFYI1dUQSFST1UoPD9ea0dmMkl+PUJiZyl6eShPbjc5elA1QFcpbyU5JlN9TzZ9QH19WGBH
clhsIWtsWQp6aX5FPEAjPCM9RlJAbFV7O1NsU1Zve2Mrail2d2lJJCp9bTs2MEErYnlnd2dobFpR
c3hKPEtDY3MzNVRsQHRzP1MKekxueHRZMnQ0flZMSjE+cl5sYGN0bkZ7VCZIZXtRPVk7RE5lYlBH
YGFZcGlffGhoZEV5Ym1nXmZse2pjOVBLQ3szCnp1QlhWSGUyUXF7WDtXPCp4bm4odClxdVpULWI/
eWlaOUMlS0FqSWE9R0pCT0dHRTVHIztmfjZSaGsqeXxea356ZQp6I1p0X1ZgPzhAKnNXP0dzMTJH
SG5iKzV4OSp0UCpJZi10QnUjRFdRal9TWkc4RUVQU290MEtMblhvLWd3M2wlX0YKek5PTGZmPCVa
e2haXlgyMU4mUSUtQkBYUl5ZYzhjPHZ3X1VebGJPRnApN1ZIfk4lWjRGQTs0UGNqPVNFN0s7RW5t
CnprSzRCQVNkKVUhKD9oMldMI3kzTDl+NDBrPitVcitTVWlVO0U4NVpAVVY/ZHt6VTw2NTZSODx4
dHhybWhYaSVQPwp6cVl1T3x2enhZfnVHPTJiNkFVKHpjNVRmWG5QQVRoZzRzQ35NKXw2Wl5CQzxU
YitBRTNkVi1JNCh9SWs8OF9iPWYKej5KPk94eV5eJH1TalptPFAtfSUxN3xBbkJ1Y2EwMGhFTCM4
VGpfVGxYb0pePDUqb0FRO2FGZEFEP0JBQlBVRktjCno/ZjBvUitqITRnXjNFfX1eXmZGaypeYWI1
bzIhTkZSKzQrRG44aHtYQSRQJCt1WGBLaEMpV3l2eHEqUyQ5UGtkZwp6JVc0ZlZCTnQ7V3RZPF8o
MjhKSSlBcmU+JW9adCZAVjBiMz11ZztZUipfMzNuejxJbjJiaEM8NHQrWDlTRmw+TVMKekdvQSs/
b34oVFljXipTIVhEeHtMJlY1ZXlsOFRJSz1lRGg5aiFAKCpFRExjTEgzRypjI3UtYTNDfThyPSU/
e01WCnphV1A2MiFERmRfREQ5SF49UE5LMHcqV2w9e2NCXkI0ZzxiPzFOOzhnaW5pYW9pd3BzZito
YjxZI0UzME48dGpnTwp6d25kXkhzejR1QighKmBMQFd6fWVyXmE4Mm0leGkydGhaaj1QQnl0P0pB
JGd5d0I0QyZGSU5yclYmMyhHVGRsV0YKejxCZVNtPEl8czh2bH5NWWhGaGwyaUBiP2tpK1lNaVE+
S1FaNTFNfEhOZE1+QzBSNnB2KyswfSpsbSskezhgbjFXCnpBKnFOTWVwdVRMM3JGb3M1eyhATkNB
NzB7JjNlPzYjbXR2JVp3SExuUX10UlRHKVVUeDVFdHxzPGNteSlRQk9iRwp6UEJufWFlQkp6aWRO
fVd9cm5hRDg+IzxoXmpSbkMqUFhNSnYwUkBnQ0VpQHF7QSkhZiFBUlFEPzw1MmA4RyR9I3AKelFi
SGg9N0o1LTJEN198aGdhOFJla1NmeXI/KUpPU3k/XllUdmh6STJ0VVh6NCYyUWNyPEpwLU1zcUZW
eFdaWmlyCnp0NW8wTXJBWlJyIW4obThgcX5ieXM5WFFwMTNzdE1eZDJ6dkdxNUZjRmpMNEVyUWww
RDk9e1Z8SjN9RSVnZnJ2Qgp6UyVoZFE3YUZhWWcyQEBQZnheZ3FiOSpCKm5WKk9kYkExMEM4Kzko
KjV7YFZ0bWNTTjkrY1hRNFJiN051R1lIWlAKemgmWnlocEFCMGt0PmpeOyo/fDx5UWVAUkYwUDQj
Qj1QJjs5ZX4oVkUkYlpzI09Yc1JYTyV6MnhtWVFsP1NwZEl9Cnp7UEA7Sno2Y143ZD4rKEBrdH1w
TmJfaSpRTzI8Ozwwc35XP0VSdF5Jb1poJUhULTtfanZTXzBgaFlnU3NkXzdEdQp6SDk3JFliTlhm
TyM7S213MHNwWTRHJjRPOEx1THlMaSZlO2EkLSFwYkQlcklrQSEyYyU9WCEmPDM2ZmJZTWBRcXYK
ekJzRVdnREVhOWI+czNBKkpHY3V8NUY5NG8/ZnoqIzRxSUxjJSM5aUxVczReWGw9UGNPQWx4V0NB
Qz45a0A1VHxYCnp3VVhPaU5AaFhoOEAhc31Je3QmNEVIVlI1O1hMUi0jJHkmNnJgWVhTUSl0e2c3
d1JaWkBLdUcoYz9YdHU5IzQjaAp6TFRfVTdWdiEpcV9aJHJXKz1SYU5KfDZ5dUc0SDxpSXIjdExt
QU8qcSZmKzZkTDd9aUR1dEcpREFqb3QpP0klOGEKejYlfm5SaU8wMTFlO0ZyTl9jX0tGKUcke28r
SV83fWJPPUp1QGl+aDQrfT9nMiVyY3BHZD8hNkYrd0lzUFNUUnlCCnppSExVVlozaWAmOHhld3dW
PWQ8N3RuP3ZjNEdzek9LOFMzMEYqWHN+c3RAa2Z4NzgxME55WjIjeyV7U01HZFRoXgp6d2FHaFch
JjNWeXs+ZSFEbUk4Nmk4bDBeKDxCJCpCOF8mRz9ZYkIhaz9gN1doODZlSGJYNzUmd0IoWFI4OCNk
bGoKemdyJn57KkZseXFGRTQwNSFCNUtfbUBfI3s0bGcpPj4/U3xfV1RKZndzIT10bStANFloS1Q3
SShJTyVfRWtoKnxLCnoyNSheXmw0fERyPC1MdzJ2dCZ8VmwyPjVQdCFwISgwfWZmeztMdzZOQE04
aik9d0ApaipecW9SNV8hJUgrKXRTQQp6QXZ6QGFSKyNxVXFmQEcrPGpvKFRnZV9DPDJ2ZlR7P3pD
PypwYWFwSnZDZ2ptQl9pJF8lUkM8RCZ8KkhGUk53bz0Kek1wWWJsQU5HRHVvVUNZTStJQWFxOCU+
JD1KSnwhNzReSCUrVU51NHBXOWdtay1aSUdacDNEYENBTSotaDhCMXFuCnpEWDU3RCRwIWFAKD0y
O2FnT3tDfXltX09XVnZRPXttanxQckRmJj16KlEwWiRGSl4tbm1XTUpQbkNKd2wpTVBWbgp6O3c5
SnBvRWN4YHs3Z0dBM1AhZj5BOXd7TEBYeGV4d1MpMD1hWUJSJEdlRGVDXjJNUVZKX3pCT0BgWT9Q
JmIlKlAKenorVSlIajQrJWNDfn53eE45fVlidC0rTmF1RkdwSEdqKilZMFgjdE1ta2VDbzxzV2oz
Z3UqbUFSdzc3K2lxKUdaCno+R3tWYUU9ak55KE05T3VGNTlhZ2QyWTd3ek5+UEdCPCFhKF5QMiFz
MDRwcjxXaUtiazFZR3AmZFVZVmxvVnN9TQp6KTtBTkZOZzh7bXs4eiEtRTl7bHVGX1FSVHJHQDJE
RihoX1hAc0UkT1AjbVkhNVlVQ2JFRiF8VnVIX1VkUHleeDwKekxvZm5yOWZOSWlPJThyazN7cnRe
NEItTVVKP1Y7WGM0QTZiODtQRnQ8cEd2Oz18WEt8dXNlcFFUe0dkMGw8KyZ9CnpWVEh4VzJMe09W
dTxmWVo+ZDtEbFhHRmRAPkV8WU9RbVhjenpEPSR8THs1NnwmODV3fVdOPkQobyliQitebXlFcAp6
N1d9JndnZHNzTno3cCYzIUI0TU9FKlkjT1ZYb05rakZ+OS1EOWBLcFdXQTw3eVFhUk4qfEdrfnp+
WXJfX1RLOX0KekBxIzIrdDVBUU5NMWJqNlFoJSR6UTl5N3FyWl5yfTdMUV9Ub2w5PDAoX1NoeWhx
MTR6MD9YPmRQTTZDa2ozOUh5CnoqPnFGRylIdVJNLWVOKWlYUjVWT3xGPCVIQVNNODBuKWBPVDBX
V2ltPHZOVFAqOHlfO0UlK0MpdWhHNDJLVyZXZgp6b1hkX09EPSMmZHJ1RHNPJjBieU9yMUdCK3c2
IVVxKUl0OU9RaTZYeHJZaXs+Z1FscFZqYjhjbFJFWWB3eVMlVX4KelFeWFZzeGltWkBhWFBCOWco
bSYhN28qKjteTS1qfWlOQE9YJHBXcTtRNmxUMEg9X1J5VUhnISYhN0o9OyRaYW1vCnp3Z3h2Nz9+
UiRVbmZvWD1YOXl9UT4oM2ooWl5gKUIpPmkmMW5xYXByciE4M1NBb1E+T3E5LXJ6a3JOOTg3K0l+
cQp6RGRVKC1yOElCKjhRZmYzaXkpa2t0KldPMld5cGUobH50eHUzcWNveldRSzB6dH5jRzJRNHtp
Z0JoUH1tPkJfc08Kej1tUX5QSHtMNkYmcVNgbkdsfDMtakRpXkQjZXxBZVBEbldEJTM7dERwdm5q
RD8kPWlFWkAtWSk3VTVyZzEwRWBgCnpYeFAqNGhkfihaYnVPNilkcCU5WntAIyZtM2woeG4lNVFf
fWluRyZZKntlZmdaakt4MyQ1byFrQnpaRlJsSE8wNAp6byRBZlJjODQ5YDlsNilWN1Q/Zmw2Wjsw
WCZueFo1THhRX3cxaDZHMXVkcz1yVEFXO2w1MFV9anRQYERKdyR9RSgKejhRQyMhXyYhYEZSYCNv
YVJXMXJ5dDNpUEBKaTdZNVVrRiM/Jmg3KVEzVjJ5N1ZPRHg2YFd9bUB4N19sTU58bngyCnokbHR+
YGRmPk4oJnJ4dT5kWnRVO0F6V3lKNTRAXj53X2JDaXZ+U2JjSDdzZmVAczNDRntqIU11REZ+MFZy
OTE5dwp6M3JBUkl6SF9tSCFVWklgck9IeiZibiVBRF5+OUp7Nz02bW08c2NlfC07OEtQcilGYWtJ
O2E2RCNJdllzMUVvSHsKejd6O21tTV8jaH4tT2p2WmlvUD8+ayRoLVA/bS1fd2RWTy1FYmtTMFJR
b28rSWJ0OWl1Y1BWOEhDZUBAMkZfUWFFCnpEJiN0RWVscSVyJmFsZ0FocW1sZDhJPXNTWGM/NClF
bHpNUU91YGY8cG0zTD0xQWZPcEkoKld7NChuUzhjQSV6YAp6PlQoVngrWk9QVnBGRzcwWm5uQF5B
a3E8TVAjZFA/VntnK1MhcTw0fDI9QEZWX0shWkFVO0x4T1o1aFE9YS1PO0cKemohV2t5dHJLTig/
O2JZPlV3SEFUISNwPj5YNG0rfXhBQW1eO3VmQERUVTM5RXpRdz48UjE8RzI3OTU7V0NMRyMpCno/
PmtoZmxZRnhNPnh+M0g8RyY8dGBpQTxxMzhGX1ZwZXpfQ1ZIfHh2czQ2I15AZysrcVc5c3V0TXlH
fll4dCskTQp6LV5QT1JXKkM3bVZOUkhecWFkPkIlKXJFYGVyOWNlWDZ8b1BTYXpibihCKVR7ekw9
Mz0od21jMF8oQTswYVEpU0cKenJKKCtWNjN3OE5pbDw8Um1WIXMlb2JoZHZEQ0RJX1pOWnxLalN7
UFI+N35FIyhiWFRtQHNgaCN7K3ZKVCE4VlVZCnpHPDsrckMhfEJsKmZSNU8lSlJDRU99TURDMjBL
OSslSU9sb2U5ZSQmWlpsNXZtbG9oRlNFTUtOaGh9fkl3OGxUXwp6ZzF6MEhUYDZHS2xAOG9TPEpO
YSZ2blBNQlQtKzdeSnBNc1U0NWxLVWIzXnNXVlBPOCtjME9eZCZ1PE9pRldjY0cKemFrcmg/MURx
SUdtQSV1YmhaVmhTbSF3Wl87RjE8QWkhQHdWPjE8M3FoN3hsOVNGV254QkZaaWp2Xj49NV5ARj5p
CnprdDVOMTx3a2JqMTNrTXJPdCk1ViZLdk9IOHt1ODRoPn1lQFkyRTlYY1JOWnhXRmthYDdVKXI4
VHBtSUtSZU8yWgp6elQraj0lPEIoal9NbmZQVz1Va2hBU1Qhe0lpPXlVOClYeSZrN2ZtMSlxNGd7
X083MElGSy0+PUxzS1dgQ2VeVkEKenB5Zjw+KCNZXlRkK1Fkfl56amk5Ykl1P3pIdW5lY2kmQUEx
RDs2YlJAWjB4Rj94ZD9pTzRpYWchfG5VSnJ9TSV9CnpCKkg9Y0NhMENxVy1NRVZxdn1ve2UzPnBq
TnUtQ1hpZmEmVGQ5ZE1sYVBBNmZWYXFzcDgwOWpGPUFaSXlzbUx5Rgp6R2RxU285fUJ2MjVqRkl2
MTgkamwhZEFaRWg7dDspTCU5dTZoa2YqUmdHUDNDbFdXZzxvJSZRU0NAREQhT1IlUyQKekkwTkV4
T05nTSMjbUIzY2BmKTRmNF4xIzF3TlU1UGt7dVd5U3AyVGFVbipCRk13ZHl5KD5eU1N1fFp0TipE
eTJoCnpFPEx4TVp4NEVeQ0BsUHpCSnJkJjBJNWVBWihITEhTOEtRXlBiTWIjWHVIbChSdChVZHB7
S1BDTDxybGIoYUM8fAp6ZVZUV2hDdVUmQWlmUnskbHk0aU1Da1oqMTJnWVo5a0JxPEBYbkYmPjYh
NkIhWGU0NGA7bnBBfXI9I0dYLSZqRD0Kejd0WEEhbUY5R1JgSkMjVktTV21DSUhCJWhSKlIyMTZn
TUJtRm5MTm9zeyFHIW93UUU0PilLbjEyP0J9PD0rPWNgCnpjMmhjKjNicm8pdDFTQ3o9O0BEY04w
SShuS3R4MFBpJHJYdE5uMTgtb0p0KWdwO2QkTXlUZnBBdD00NDMmQVRaYAp6akhDcSFBTWo4SkAq
TFNtNCpRdzg5VjxBTW88VykkbH1oP0wpP0kldnB3akNDdGgzeVBQPlc1NkVNS3xTdFAxMnUKelR8
IXJYNTRwTm9IdWpjWDUySUwwIUc8REs4MUU9Pl9eOzhOMURFOXZUNDx7QGYjLT1iIypoITBAY0Y2
TlJARTFLCno4X31wVTh9eWB5KVlQfU1JVEpYND9jVld7P3JCZl5GVklrKnRDJDcoMWZVK18xZ0RO
NiFLeUlWK3gzZ143SWQ1Uwp6T0NVUDc2NnpIPmhIYlZyLXM3cjYqaktsR1klSCVuKkFtaG1fSW0q
UlVsdDZ5cWspUl8jY084ek1HMkVrT1JXVHEKeiN9S2JjJlVKV3xhRUM5YFMyX0BiKF9CSkkrK2t6
KWtWX0YqeHBXSlIkZUxjIUBuPHdXdngyNHlualclVm1NaHsxCno2Y0skMF4mUU1CejRANj8/czFW
QDt4UTElQCl+QmBzTmNzbV5pUmR8KjlWVHh0UTI/bUdzQjVxQk1tQyNeOTgtLQp6NlVLKmRKfnFM
Yl5eU29jcnp9fWhNM0RlVVItYXtRJmRgOHNLNVVwayR2NjlIQXRkbCtMKlRSbVY8b1cqdWFTZDEK
emVwbiZoZSE8I3RqJTdEVyF1LXJwVEttQzJBbkxDd0dlciVgcChvOSNRcWkyYz9fJGpAJUNSaCEk
ZVNAJDd0TSZLCnp7PEkpdXo4LVY/azc+K1BPbEcpQ3JOOEk4NT9iTldOMHlEPEJMYnRrVkpme2Be
TERkUzVwUiVzMkh2cFdZKkJmYwp6KkBGYEs7b0g7WkBHXntTS0wzJHVpV0dGYGAmOTVweDZ8dDdW
XldTNXp+NjM9ITJSPmcpeGE5UnJJJlJsPGZGQE8KejlKX0NWRXh7ak13NlByKz52OTRGbSUmZGhF
SlBme0QyYzRje09MNXZfa1kyMHxEYTJsYiVaNjhIM01vWEhtMndWCnpgQk9NYm9QJVl0PH5pPEBU
QWZ3QmxDI0ooQmEwJjgtaVJ2SGUyfipLTjFWSU87YkpIVE5mdH5nMyMlSkFXfnRSbQp6NWdOcWU9
SUtDTWA5fWppVHJBPWBIWiZ6TUJ7YlJ6TGwxMmJTQUBENFp9QDdWe1c2JVZtRlhfZCE3NzI1YHBO
PH4KekN7R0p8XlVEP09uWTBmPzlFQTB8VD0+YkopfCo/Znl6QlpZTVBDVVpzVSltTHt9WWhwbXB8
SUx7Y3V0Rlg5YXN1CnoxTnFuK0stIVBKWWxDTV9mWl95Y3UwfTd2M3V6QiFHUUhDWEo+e05pIW4x
T2FqQi1fJHw5UDVpaD5POHkpU3R4Mwp6Rmx0UTkyPWhzazhkOVBmKns9S0FSPnBqPExeXiYoPWdv
MVNJbnh8P3E+bUs/QWxmQmJrJT5zZT1Ycj4rNzgtU20KelF6ZiQkY3EjMXo8UTZeRHVVdmlNUTxi
YCgpa1loel5KJTtBUX1GanNBKmkhbVMzayMpUDA8VylgSDBfWjRDXmJfCnpPI013YWZVQjgpQXEj
TEF1dDJoRzVNeEJxZjZIYHRDOX1tKDBmQFF4RWdGUV9udTQtY2VuZ1drd3A4KjU7WnNvRgp6Uk51
NXFLQHhPUGtheipwQTZBQHdnTHhnZ0MzU2BiUjg9KDtxaldtekZ8JUBOY3NefT07NjdHSTg+bCFy
d3dCb14KejArRGRefENSSUZ2VUArdj8tdmQ1VXIpbUYjLWBAO1pgMEsxITA+LSlgRDliNTx3NSVq
YWE/Izx7MHR9Km9gfWZ2CnoxZ0RZa0g7aVRJYTc4OyM7Z1VQez40TD5HSVpvfHlEZ0lEOUFeRWxN
NW9tPEVoZ0NWSUY+Um9LMktic3RwT1o7Pgp6akBrS287UHQkR3oySmRgV1ZOVGQrKUxBaEFxNHBi
U08rUXktMylhNmYlQSV2dWlvRTZJX35XRG5YX1U0IT8hIXAKeiheIXA3NWFFKFQjO0chbCV3fD81
ezZtVz8rSl5aVTtSSm13eWR+bUB7YEZmMUI0by0qJj9yNFNYOUZ8bDdmeDV8CnpqUyRWX1h7dWJa
cDhLcUN8S0cmM1Y8bFMwaEw4KyhnOVRFRHFIKG5NK0dBSm9KYFg9WSMzR0FtKGlGQXB5YHxacAp6
P0ltPmdacGF6ZXVnR3xFR2s2JWs2THNabDA/T0J9SHw/fntwP2ZEJEM4dUlrNiRvZWhvOXdmRig1
UyhSYkpOczwKenRxJHhyaGBiTXsmT2pOWClaMTdhKSRed2kkPENqJXMxPktCIWg3cGFPKH0wKCtC
dmNoeGA9YiQpc2l2dSRqe2x5CnomYX58ISt9SWwwKH1FZXFZeTFWZ0ZjQjJ3O1c+LTxPemRhJl82
TmE5ZjB3eCRzYzQoSWRRV3llYntFZms+YDVzMQp6LTF8RyNIbWJDZ1kmKFJtO0orPSVlSjRJPyp5
eWxxPWBGTDF1ZSh0aXB5fURfNkQ7T3JsVU5IISVRVkFnVztFejMKejQxZUBoZGBtP3pRPGd5Ums7
MDU4MjU3dWVYMVRVa2xOS3k0b1o+TCRaQj9tfGEwYUV0ZHpYRHleRF81fGVUazlfCnp3Z3NxMitl
I0BXVil2JVBtUSUjR083SlVAV3tFVUp4Um1taXJRfT04VU04ZSpffkBVUG9lSzloRmR+TyMyOS1C
Mwp6UGx2WkpfSTU5aTtAZjVMLWFnMW4qdXhpOT1fMXhBU1VFV1lzM2YtIVR1JWImMVg1TkdeQiFQ
b081Uy1fRGdFKlUKekhQY1FsSmV7LVRibzVye1VuWTg1WVFwfSE7I3h0QkdXKUQjcUl5STxEQ0BN
SFhXVTh5dj5OS1ptbFNONVM3WStNCnpfI1gxej8yWHtFRTUhfjhBWGp9PiZ9emk/bD94WkxKVGVN
ZSpPZHVveTRlYSs3YjNmOWNSOFQ4NGNldlkxcSttNwp6ME9MV0ZLJGpvWUNhU0glKTV5Vj9vcHFP
VXVmeF9PWnFteyU2VGZtXiR2Mkg9RXstak5BVEQ2eyFsZkgjVjtsWTIKekoqbSt0Kl4rVDcqI0hl
MzVaVyt7Xk40RHUrZ3RVJENodnNhMH0zQStXX14yX0RNez5WIzlMM2NIaWltOGJ2YnhiCnp4Mmc1
UXI4Z253Xks1LSM1KXZxUW08LVN1SVRZUkpKM2p3X3kkPWZqdFZ4OV84R1gmcWJDU3VxKEV5e1Fp
YGB1UAp6QSltak1IZ0l7VnhGKVp9Ml9VY0hwXnIzYFExaSpCJnZYOUhwSDUyPVRvNmYhRWUrJWBG
K2p2YUVaVjlLSXpJKlMKeklQfnV1bmx5dmkwUGtLVWUrIU9Ue35gUGNZJCpLZWBobUQmQXRscFc2
bWZHfDIpTWdEVW9Zbnh3U35pKzJCb1NFCnp2Xm8yaXgpOCZZXjJDPDhPcGpFZXYrKnJJNiE3P1c+
VWBla0dQZiVqRzJMVl9KTFEjVm8qRypWcX1sSkFkMG18egp6bTtsfHY/UCVyfElIM05iKjh7c29w
JW1vI0lnNnErQzspRzQjKXZnZ2wqVDRTKzxVQ1hVUk5SNikkOD0mXlIoMmIKempMI3x3Q24lYkV6
ZnFVNillTTV2a25Nezhia0RJTyVVaVdMJVhjS19vfUR+WHtFUGV7NnpLdlB3b1k3I1AyOF5GCno/
KUNKeHB6akM7UHxSdV9OMV5fdlZXY2tKTUBCJk1mQj5oKyNnaj9BaSZXOy1ZZlg7ST1rTUFedGZW
TlpJYTNRIwp6ODB+Qz0wXkBzeS0tJkZeV01CPjA8SktjN04xNld8dVhzfiRgTmd6WVp4PHk5UGNl
ISlWTmpPKVBrTTtXc0dGO2cKekRpLU5QP3FtanFCN0xrWlFaU2R7YVIqKEZmQi1pfD5DbGNeNV4+
TChFO3t6UCUtKWxXIXM9Z3M0fUNJSDQmelRpCnpPRllAWDE8dStiTiRkUCRRXzh3Vip4eEwjayRU
dCtaR2BBS1FqMWZNQigrSiMmUldHQCRYMl9VSz98cFQlKXxxewp6TTM4UmBZNClRUHN0ViZtX0hC
VzZuYT4zS001eHB0TCh6YlRLRCleJmJxUWB0dU5va1FsN2hyPkxGeEFDJD8xMUYKemhCT29qK2VX
QXduNz8hdzxjaG82NnhoK34lUVNzVDVmYVdfdkBNKnVYZXxpVDZHWEcpcz84N09KTGVrJjB8MVhW
CnpgNzYoMilRPm0lQXdWNU5hcU1HTHZnc2c7blZqZm5AKVc9O3dKaj9zVjBWNXwxJDtzQWhiTjFU
T30yeUA4NXkyLQp6cERxZnRIbVVnSHBlKk85ZF9Nb2NCVFAqX2RIJVZ7I1Z1Vz5yeSNefHRePmtx
cCNGbmhmTm5kbDsoTmU2bDBaSiUKelowelEhM0tmNClaXz17LTMkSDJLc2M8Pn4/SkdmMzBnejI1
QGdrJGdjaSFAPG9RLXhPJFc4bWY4fG8pVVFBNDl2Cno4QFhqND4yZEd0bCRYSlVWY3wtUzUxcTVA
a25lc3pzLVRoXjBaMm1lY3ZvXkQ/R0VVSG9ofGZaVXIra0Zfflh1Ngp6SHhFcDFTXiR+REtkRnQ9
WkNYRHw1P2ZOaVIpPkxRWExHI1hKTGlzcWI2c1hZbEctPkJ7Q01UaS1kVGdvT1MlOSMKejMoI1gl
Z0c7bTJBPDhmM2QqMXFrX0FXSylxZHpvNnVMJjwtQXIkUzAjLTRLalYqQjY5NFYyM3x8OUg5TWxo
NDcoCno4bDlwXjVhVEdmVWFWUTdeOVN4eyFreU9XTGpaR2FuJXwqYj4peFNKYmpPfWJMJkg9MC15
X1owPjwwdDd1VCNvZgp6K2FvJDBqNGFSTXpoPX4lUEJ6aEZuKnlfe2xfVlh8MDBZUFZhMSpuKTZF
ME0mbk9zcTJAK2dMV2pxSX5kaUxmbnIKeisqYERURmJtaXFuVmttRUY8USg2QVZiNSNWNXopezZe
SXRiTm9vT2c5Y3J9QXJHMnFJbDBwMnxSWEV3YVJ+QS0hCnpnIXRyTjZIeDNDJXdQeDtjY2lIV2Be
cz1SO2J9enF7eUVFfSNtYGpmQmxqKHpQSF5rYndGfmA8YFY7PWBAe0NUQwp6NGxUci0zd3ErdUlQ
V3JCO2s8UH04bEsyNTZHNW96ViFXbCFqWVNvLWU0KUJeSlRWekJhc21CI0VYM0Y0Q3I+P2YKekh2
R3lkb2BJNVhAayU1Wm9Zak0rbmtUdEI4JW51UW09PztCdGNkITdldF5gU3l0TVlyMzhtY1hoeGQ1
ZERHSXJvCnpWbjR6PXR8bHheO31LJThVZ0h2UTxlMyNqNjc/Rmw8fEowUGV9Kj1UaFFrWjsmLW9Y
R3pRflhoVFV3U0lPYllwJgp6e2VHUHgqfitLU0ttLS1ZXmd6bEBLb1JNITN6NWZIWD9XZkNBfCQ1
JU0wX0x7Pn0md0VtPXB4fFo4dH53ZCs5VWYKekVLdHJ4PlRtWjRZQ0Y0P1BYZUtCNXh8Tn4jMjZE
YzIwZGFHdnVAM3E/S2gxZiRPWHBAXjR+V29KWXBJS19zZmwhCnpQenQkLTtIO2FseHtVYG1ndGc/
Yl9NaDFmcW8+KEFII2FefkhidD4tWjVQfkVHc0Z6eWJ2ZV9+ZC1mKj5xanN9MQp6PDRpeEApeikt
bEc9WWhvVUVnSyZTOHIrbzA8R0AtQiFGLVNONkJDY1h9SGElSyRpMSFEfmJPSWVNUHVLYkMlfjkK
emRQXnBaKi1TNmRTREd1NTNmN3JAWF57VihWbEdUejIxQ0tiOGYlRjIjUl44NzBfZGg+Kk8rM3xT
eVJrRUc/Z3J0CnpsfEAxR08pUXJXRVpJYDY0eX1YKT97eFJ2QnlkWWJCbT5sXjZQJjQ7Xjd1UE1I
RFo5flY5NHdsKXM1b0YmUDVIKAp6cnJuSn4+MmdPK3w5azN1dSN4NnUkZ0VVRW56d1E0YWcqKSNm
OXRWRTQtN209YkVhUGhIcyQwN0QzMUIyTml5enQKei1IbjgoRzwxTmAtMmxgbjxGVEpNcXdXdzlg
MiEhPkYzUHtLKUowJChvTnctKiY8Vm9VOSR6UT4oMlpaWjgtb35LCnpEazB8K0ZgRUJRSn4+SCpM
akt6Rkl2RHhsbkMwITJmcikhWVE1ZThUaVB1anQhY1B9XiVSVHl0RXwlSzg8dW9xaQp6c31DVjRj
V0NjSyt+ZjIoWEtebT1BYytPQzZ4PjA1a2pjIXBeWSUqbylQaihKNFl8Jno2YDVXLTh+TFJVb3xY
O34KejNSdGk8VG5WN3dlT0h2U2FmPXpgbkVhT0BAbFotaGNiNypqU29RJik9PiolO3oxQSF6KEQq
eGMtJHIteWQmQzdSCno0ejxBQzh1Q2pkUTx4Z3RQJT9VdXpPTUFxVHdEOzk0KnJMXjhFOW8rdzNU
JHs8X0NvJSVIJXF4e0JTVlEzdzRwfAp6WFdCTzcxSHZ9b0xEJkd5KSg9bUd0RWRsN2l4dm50ZF9O
dzZOajlyOXhlJGZZOzItKyQ+MHM+UEglQlNnampxRmkKejVEMyllSGdRIytDNWZTT09EfTstQlct
P0oxMFFwTWUlMyVgQzB6VGBWSSlXLWZHPjhRaE9GPUEyb2NaV0d9Ryo/CnopIyR0JCR4O1ZzP0I1
e0JIcnQ3djZ5QW80JFBTfWpDcmgqNEZtO1Y1UCtEeVRMV0FsQj80d3dtUUUrIWJSJWJVYgp6Pml8
c2MqQFpfK05DZnRAYlpFejsjMGBvcylUTW5DKSFfe0ZjZ2NGN21pKzdwNGVfNTRGU28rOHcyYWJR
RlVFWlYKemkmbmtyKEhRcyk0bXlXenU5d3A8Zy1AOVBFQlRRdiZ+Sm54bWhaQXxCenNed0NqQm8l
V2BTMkB6ZnBVMGt6I1h7Cnp2USZ8dmlWVihWRUB3UjQ4I3s0KCNoPHB8Plc4T3o5R2srPUYzTjQ2
TGBgMW13NGQqd1djSm81I0ZyKyR7bmQ/Wgp6ZkFyakpXVyslUCo/IypFZG97clFEc3g4bFpnRj5S
O1l4M3M5Z1I+PHh7UU4tN3x1a0FxXzYoKUd5OChSYjAmYl4KelZDald6JV4yTkF1Rm5ITD9ZUHZY
Njt9MGomRWtTITBHJjdnVTZvcnxvdilDeEV6MXlAR2c0WF43akxuUT80RmoyCnoxIX04QntSaHIk
UCRSTSNCTmJrJU5LOXNAMnI1cVZ4bUhHIStKOGJTUD5PaUsxM2sod0QoU1d2LVlCeXhoXkgmdgp6
KEpGblF1Ymt+bVJXcDBSLWd4eDJjX2owP3RheDleTCtad3Z3djxQMjBiYW9lXiZ6JT4+U0M9ND5T
aWt6a3kwZ2sKekV8OHw7RmI1PVh2RypeKWJ+RTRrZ31NfiVKVWMhdTJoRE9teTZ8KlptUEB3Tz5h
RHRLZko7TTcxcFJTWWw8YWpgCnp1UmxIPUVzXkVQSVpkZWQ1YGV7VXpMUCs7VVM4aXAlTnZ4ZHdi
TWJzaHtRO1BkJXJBVjZhZVd2JVkpPyZEKzJiYgp6UWNuaylULUN7R2ZZQHV5VlokdDZWWnwpY1k+
WEYrekxefGgrRjNQbnMpSDd7UzFnfDAtVjNCfUxydUU7KCRhQCEKenowMSFgTDhJP2smfEJ4Zkdl
OUJ0RTs3aWllcGcrQFEtUWA4QjF4T3dKYyplNmR4NW1BRWI3KGAyQi1NTjM+dTVPCnpwNWJXeFF8
blRFd2hTZzNedVFqRjFeQ0JER0U9NyVGTFZAWHhzPWJEOTdGRWJWKn5NM1VfTip4dDw/OXpPTUlL
Qwp6aDJER3NvK151Mjh5dVp7cmFgJitFaEZXT1k9R0tWcSE3NVVhTnJ3dmpxdExvPzJEdUUkaGp1
fWl3aDY2XnowYU4KekY1c1B2IyYyVX5pV29LRWM5YnImUmN8bX0kI3RSPmA/c2hBSChvSGJqJDE2
S19HZmk/d1NrO0ZLdEslVWElPT4/CnpWazdtPEkjbi1CaVlBPj1yMkIxPCh4WSFuY005ejliPT9n
Qy1FVElROWdRWHJHbzVyTHRhS1JfVSR+e1p2Qj1+WAp6UHxXfnkwaDNZNE5aNTZZWTUkZnNiSl9t
aGpSVW1+d3I4Xio8PXhoeXd2MUVUQnEzbG8kbj1fX1F2dmBBRHBKRyEKej5gUTRtYjctS2JaYDNg
UUJUeEE0YSowUjJoMntUdmFVY09rTTNgcHBgbE0mKXU2RWVxdWY4fFdGblhuNy11Wkh+CnpVe0Jw
Wj5fd3o7SUdgZHczekhgPkomcVdJQSVRe2tIQClBKmVRWl5tRjE0bGw4MiVaYV50ezM+bUJtPjRi
RX0/UAp6ZFdNNHo1ekFxN0c+LX1xNmhBTyEoYDgtcnZ9M1RgNXo3Jk9URTBndSsxPWZmSyNjP0FT
QWs2TFVNamY3KyYoUSUKeit2ODxIXlQ9P2lEXishOTlkYlkpViRtMnNUPGxVZEc0U3tzalo/eGVg
diM/ZzJVbkYmVysrQWFzOWRJYSl9V04wCnpjYFZ2UTI2JWtvUiNLe2cqT1lLN1BQKyt4QzA0N2Be
S3JCTD18Q1VyajxJcVpOTG9iKj9QWjtBcyt5VTgkPGApYgp6MS1JRWY8QWwkekwzQTV7OT5zKEFR
WUV8bUZgMkpqWUUqeCFwRzNaY3pzU09QZlJ0SylGLWt9byYjTj17cXJ3Sm0KenYhSWRQaHpmMiY2
MVpGaCFSNFgoUlR+OzFHTHYwRnVIcCh2UipnRFgjamFDQFImQWxFMykmSm0hfWwxSSM3I0RlCnpz
NV9VKzRxTmc7e1ROR3hgKDRqODZ4X3xqXzlKKVlSTjJyVHM4UktOPE81KFIodlcrIzwpU2hrOSN6
T3VwTSMpRAp6NHl8QSgkdFhVYnJGIUd5OyVBWTVFKSptSVk4fXhpSjcpKVNlQWY9Y21YLX5QQWNt
IWxMU2JpOE5fNms0R2kpRy0KemNfUiRhbjcmWWoxfmJ5blYqbyEtd0FobEprfSErKChhanRrM0Ul
PF5EMVpVX1djQn1fKGpIWClVVjBoI0d3VnkmCnpWSXtQJG1VVTxjRmo3fXNadn14aSZgO2dMIU1B
YSRZMEc7Zi1NbiR8VGI4QWwwMjZpVkljaiopWnxufUItRnBBMwp6ekp4PWxYay0zNFBPemluRH1T
WT9eO2JOJSN6UjE4Sj95Knx2UjQyTEVHSSFZUXMwRWleS1pIRCpAUVF4NHJQPUcKems0ME9rdHkw
PUpmOVViKnNvUlBOdWs/b3JWODVVNXpsQCNRez11a1JjPWVkXyNQOC0ycmZISiFkflZxPD5KVil1
CnpXcWxiPCY1fWN9NFBePzktXyMtYGYha0JTXk85bDNsOTRuVnYya21PMCQtc15PcGNKVStCK0B+
P19VT3pvSkduQQp6Zl40OEZYczJGKTU3dzlMO3c/I2tiQW95TFhuJmlndGhBJncjJVBWeHplP2FU
fE5INzErWCpxZjRWdjNvUDxKZjIKeipBPWBpOTV7QWJPMFVkQFFiUmJha0kwUUxZP3xeMXBKTks0
QTwpNVU1MEg0Vj18UlZ8bDsyTiZEbjFKRiRrYS1sCnpTIUUjWlV5I2U1dmxoKSZodWp7UEMtZTx6
I1k0Nn1NNlkjNCFuZk5SSjRNVW8hYHxLIWRQQ2UlckcxcEVmMnZZWQp6KlJnMERXXmhTTGFfTjt9
QDMjKih4JmZeQHJ6fUpxVyNzMTdodEZ+b2ZYeXZsMlQweTJoMHtpNXVTbU9oNUBeY0cKenZXd2Uz
KjRvNStTZEkmRHthT141U0JJO0daIVRTRiZBRkpAMUhOe2pyR2JZOz9LczlHMFQkdVd0PXd5WkFx
THZ9CnpvVUpZU2I1PFFRXilgXzVmUmghX2tSU29mVCNpfWkqRVc5ZzZZVHZLdWBZKChfS0ZwWVUz
WkxJejRJKj9YZEAobQp6Kn1UUDA+RUZFP3AlX1hKMmc9b3cjU3dqMFQ1c0lKNzdJKGhYKzZ5P0ND
bHc9NX4kI2QoVilOVipaRylfVnZKJV4Kem51Y3soQz8jSXIxSyRSKyFwcG5PZm8kPmU/eVVCYlhL
akB+b3pQJCYoNkZeSiZCcSE5bV9UdnxPejszcSV5MXwmCnpfVnZndFM+X29OTnxtMjFabG1CWHp6
fXFuZ2NBZDkkTCYrSFJlZVcoXnsrUl9qOU16RWJ5MGg+QVYwZmlaUVlmbgp6alJ3JWhgK3A3SFop
JE1TJEVAZVJCMGohRWJ0R1NIMChJQlZpJklUYDdqaEVNcmB3NFBjcE43K0BoZjReKyhmaWwKel80
IW1aWkZ8TDwoNF83ejlPJXhARzJlWjRyeGkzRkUrdFdtYmJVJDVqdSsxRjl2flc9bF89M1QzcmZp
UXJCSVUrCnpYR2M+d1Qze3lKOCgzTDgpTVgldjhZR0k9K1FmVnhyczx4dGpTPVArU1pzQCZIPihD
WWx2NShTN0V4a2hiYUNpYwp6Rm9gcCU4MHJ4PD4yPCQrbyVaX0ZWZDFYZjNgIzRnT20jQF5fWiZL
NVdQQDgoZDdVfm1OdDxLZUpOWj1fODd5TW0KemJkam4qTiQ9emRjS0JAeTF+Nz1OS0Mye1ghUFpT
ZCN9P01DWnZxUmdxfDIjN1BxNz5nMnxGSzdJc1lePTttZ2FtCnpvVWFtRGVgaGBvQDBzdUs7cEdk
SzRsSGl6SUNZKCl6ZiQ3fFM+fjlRbWZvWmlxPnt9K15HM1k3dkx1RFV0cTN6Jgp6MDQ9WURXQE0+
NDtRMV5FV2hoWis9Xk50RUZxMVlsWEZkclZEbU54PCpgOU1RaSE5TiFvQGtGPkhPaGVqaV5ZSzMK
enZMcFVXTmk2WWMpZjA4ZCleb2h5NWhPK1RtJjw7fjdVQH5mRlopKSVnNl9PbWhyb2AkZEoyOWVT
JEN8enw0JFN0CnpRQz5SPjVTWkliamUmb34qV1N0PFZ8TCVyWVpneENveSNgQShjZEFmMm1RNlQ/
N3o8fVhXKDc4Zm9SaXQrKkh6aQp6OWVnM018NDUkd09SeFUjQHU+UD05cWI7bWEpKVU7JTRjY0E1
X0g5YXReJj1+cldVTVVQQXBpfTRydGxiVUQySS0KenB7dHtvTXIjZUF5MWBSczwpM3E4OCZmdkRP
V1lffEJscyEtUG8wYjV7fipIaVBgei1QSmUmKSpuYCNHM3hJUmNACnpLV3VpX2BKVEBaNkdoWXRK
Y0JlZyZraXU3ZTV+Ymk5cTxpaGlgSF9WPTR8aTJpYHpMT1YyYVkhYT1CXkAkJkNQZAp6dGxpYU0q
VlBeaEJ4STE1d2pgaiFzUGpPI0V8VnQhVERJXjE5Uzs7MEVIK0l5WGVwZ2xeVnFwczxDNl8zMVVY
fVMKejl4eSNDMkdHTiVYIWFmYjEwPE80T2k9Qzd2NSY+TjJ3fUNwX3JCUGl7bmtacyVPQTt0bUZC
dXxhc1FrSV8lKlZ4Cno+ZkVFfjdPQHpINCZoKXh1ITRvTFpxTVdWOC1ZYGxlOE1AUG98fSM/Uy02
ITVkTWsrNjU9RHpqK3hfaldtY2c+PAp6aCp4VipSPktkIUtpPlpGfDI5fDR4LTdFVDhiSjQqUXlX
MHxqYVJsNmFjWnJVKTBjNFklPGt5cWJ9S21gdUIhSk4KekZPcDwlUklvTHJuaSt1JTBhMyNzV0M7
PHx8QUZTeFZwfXlHRnlyYDIjWWdoVzlWaHYpR35xYmI/ZlFRSzdzRlpGCnpxKG82PXlrSlJDVWUt
XmZ7aH0yKjYjMSEzN219VSthMG15WXIzVEVRNl9EKDU/NStjeih3M3lWZSZPKXNSTDl3QAp6ViM3
Rz0mZVdeMERjTkJCKHQxeUNlVlNpSElURUU9Nm5PcnYkNjVMdCY5TkE7KlVqUGRlT0R8QjNMIWla
Q2VUdT8Kekl+TTNgI282c0NtQlA+Yz16YDVHLWhKdHdVb3NDX3hwKTZod0tyZGpUJXJ5XjdDK2ZS
RzZVSW5HYC1xaHkjWCteCnp7SlJiUms1blUlVyt1QFBtVz1BKDJ3Z3VCLVF9VVN2NGpyNEl7fCZ4
bns/LSZ3QlVZJD1ISm12ZSRTNG1RciUxPgp6JVV0SCYmKWVrSGpeM1cjTVg4UEBqP2l3Ml5afTs7
PT0hN0lDZ0omZVR0e2Z1ZXBPSCFBP0p2eDROXyYobS1KSUMKenhJWTd1Uzk8VFlSUl9iPVQ4P0Iy
Xz5aUlQ8WUVzU29rOGZuSVJAJClgYkJAT0cwUEM1Xk91SGhGNiNvbTk9R2BhCnplZl9WYEpCXjdy
R2E+UXx3YnRzTHZhZ250VXdhIUgqfChjT09NTG57dlNTT3F4ajF5SFhaejRHOT1WN3woO3B7YQp6
VlVDQGhSNF5LS1JWe2QqQCozOzdYdmlafmBXKS05aUREbUlLdXU5NFUhRmhxZmgkU0I0dXlmTTJ5
SjJ1LWxeeUoKenRLXkR2VS0hT1dyJmVYODtecl9+PSE3ZHdsN3pGN1cjMnRuKSgqOT8oeEpueis7
S24pQFJYNk5qbHotNE0zKV88Cnolbkg+R2B3bU9eMX5kfGlxY21DekBhZj1yQ3hjRVNtb3wqaEl5
Q2JwWTtRenQ9eFhPWntjNCRWMz1HYlIyUnZqcwp6bFZHb0xpPXZRJFdtPzRNWng1V2VUaDUzdmA9
NVAqWlYlakBON3BSNkgpeUZpPUk/c1kzKXclUjY5WWZSTlgwNjQKeio1ZkhBcGElNUlObyE4KGFE
Q2NaRUxaUE8oKiRaY3oyQE1TSjwhR1krVytpQmcwV2xBRCkmd3EpZDRsVEw7blpVCkM9RGNTQgoK
ZGlmZiAtLWdpdCBhL1dlYnNpdGVzL3dlYmtpdC5vcmcvZGVtb3Mvd2ViZ3B1LzJkLmpzIGIvV2Vi
c2l0ZXMvd2Via2l0Lm9yZy9kZW1vcy93ZWJncHUvMmQuanMKZGVsZXRlZCBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDNmYjNjOGIyYmVhZmFmMDkwM2IxMzg3YmQzYTFjN2E2ZWM5MjRhNjkuLjAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvV2Vic2l0ZXMvd2Via2l0
Lm9yZy9kZW1vcy93ZWJncHUvMmQuanMKKysrIC9kZXYvbnVsbApAQCAtMSwxNDIgKzAsMCBAQAot
Y2xhc3MgVW5pZm9ybSB7Ci0gICAgY29uc3RydWN0b3IoZmxvYXQzMkFycmF5KSB7Ci0gICAgICAg
IGlmIChmbG9hdDMyQXJyYXkgJiYgZmxvYXQzMkFycmF5Lmxlbmd0aCAhPSA2NCkgewotICAgICAg
ICAgICAgY29uc29sZS5sb2coIkluY29ycmVjdCBiYWNraW5nIHN0b3JlIGZvciBVbmlmb3JtIik7
Ci0gICAgICAgICAgICByZXR1cm47Ci0gICAgICAgIH0KLQotICAgICAgICB0aGlzLmFycmF5ID0g
ZmxvYXQzMkFycmF5IHx8IG5ldyBGbG9hdDMyQXJyYXkoNjQpOwotICAgIH0KLSAgICAvLyBMYXlv
dXQgaXMKLSAgICAvLyAwLTEgPSByZXNvbHV0aW9uIChmbG9hdDIpCi0gICAgLy8gMiA9IHRpbWUg
KGZsb2F0KQotICAgIGdldCBidWZmZXIoKSB7Ci0gICAgICAgIHJldHVybiB0aGlzLmFycmF5Owot
ICAgIH0KLSAgICBnZXQgcmVzb2x1dGlvbigpIHsKLSAgICAgICAgcmV0dXJuIHRoaXMuYXJyYXku
c3ViYXJyYXkoMCwgMik7Ci0gICAgfQotICAgIGdldCB0aW1lKCkgewotICAgICAgICByZXR1cm4g
dGhpcy5hcnJheVsyXTsKLSAgICB9Ci0gICAgc2V0IHJlc29sdXRpb24odmFsdWUpIHsKLSAgICAg
ICAgdGhpcy5hcnJheVswXSA9IHZhbHVlWzBdOwotICAgICAgICB0aGlzLmFycmF5WzFdID0gdmFs
dWVbMV07Ci0gICAgfQotICAgIHNldCB0aW1lKHZhbHVlKSB7Ci0gICAgICAgIHRoaXMuYXJyYXlb
Ml0gPSB2YWx1ZTsKLSAgICB9Ci0gICAgY29weVZhbHVlc1RvKGJ1ZmZlcikgewotICAgICAgICB2
YXIgYnVmZmVyRGF0YSA9IG5ldyBGbG9hdDMyQXJyYXkoYnVmZmVyLmNvbnRlbnRzKTsKLSAgICAg
ICAgZm9yIChsZXQgaSA9IDA7IGkgPCAzOyBpKyspIHsKLSAgICAgICAgICAgIGJ1ZmZlckRhdGFb
aV0gPSB0aGlzLmFycmF5W2ldOwotICAgICAgICB9Ci0gICAgfQotfQotCi1jb25zdCB2ZXJ0ZXhE
YXRhID0gbmV3IEZsb2F0MzJBcnJheSgKLVsKLSAgICAtMSwgLTEsIDAsIDEsCi0gICAgMSwgLTEs
IDAsIDEsCi0gICAgMSwgMSwgMCwgMSwKLSAgICAtMSwgLTEsIDAsIDEsCi0gICAgLTEsIDEsIDAs
IDEsCi0gICAgMSwgMSwgMCwgMSwKLV0pOwotCi1sZXQgZ3B1OwotbGV0IGNvbW1hbmRRdWV1ZTsK
LWxldCByZW5kZXJQYXNzRGVzY3JpcHRvcjsKLWxldCByZW5kZXJQaXBlbGluZVN0YXRlOwotCi1j
b25zdCBOdW1BY3RpdmVVbmlmb3JtQnVmZmVycyA9IDM7Ci1sZXQgdW5pZm9ybXMgPSBuZXcgQXJy
YXkoTnVtQWN0aXZlVW5pZm9ybUJ1ZmZlcnMpOwotbGV0IHVuaWZvcm1CdWZmZXJzID0gbmV3IEFy
cmF5KE51bUFjdGl2ZVVuaWZvcm1CdWZmZXJzKTsKLWxldCBjdXJyZW50VW5pZm9ybUJ1ZmZlcklu
ZGV4ID0gMDsKLQotd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBpbml0LCBmYWxzZSk7
Ci0KLWZ1bmN0aW9uIGluaXQoKSB7Ci0KLSAgICBpZiAoIWNoZWNrRm9yV2ViR1BVKCkpIHsKLSAg
ICAgICAgcmV0dXJuOwotICAgIH0KLQotICAgIGxldCBjYW52YXMgPSBkb2N1bWVudC5xdWVyeVNl
bGVjdG9yKCJjYW52YXMiKTsKLSAgICBsZXQgY2FudmFzU2l6ZSA9IGNhbnZhcy5nZXRCb3VuZGlu
Z0NsaWVudFJlY3QoKTsKLSAgICBjYW52YXMud2lkdGggPSBjYW52YXNTaXplLndpZHRoOwotICAg
IGNhbnZhcy5oZWlnaHQgPSBjYW52YXNTaXplLmhlaWdodDsKLQotICAgIGdwdSA9IGNhbnZhcy5n
ZXRDb250ZXh0KCJ3ZWJncHUiKTsKLSAgICBjb21tYW5kUXVldWUgPSBncHUuY3JlYXRlQ29tbWFu
ZFF1ZXVlKCk7Ci0KLSAgICBsZXQgbGlicmFyeSA9IGdwdS5jcmVhdGVMaWJyYXJ5KGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJsaWJyYXJ5IikudGV4dCk7Ci0gICAgbGV0IHZlcnRleEZ1bmN0aW9u
ID0gbGlicmFyeS5mdW5jdGlvbldpdGhOYW1lKCJ2ZXJ0ZXhfbWFpbiIpOwotICAgIGxldCBmcmFn
bWVudEZ1bmN0aW9uID0gbGlicmFyeS5mdW5jdGlvbldpdGhOYW1lKCJmcmFnbWVudF9tYWluIik7
Ci0KLSAgICBpZiAoIWxpYnJhcnkgfHwgIWZyYWdtZW50RnVuY3Rpb24gfHwgIXZlcnRleEZ1bmN0
aW9uKSB7Ci0gICAgICAgIHJldHVybjsKLSAgICB9Ci0KLSAgICBsZXQgcGlwZWxpbmVEZXNjcmlw
dG9yID0gbmV3IFdlYkdQVVJlbmRlclBpcGVsaW5lRGVzY3JpcHRvcigpOwotICAgIHBpcGVsaW5l
RGVzY3JpcHRvci52ZXJ0ZXhGdW5jdGlvbiA9IHZlcnRleEZ1bmN0aW9uOwotICAgIHBpcGVsaW5l
RGVzY3JpcHRvci5mcmFnbWVudEZ1bmN0aW9uID0gZnJhZ21lbnRGdW5jdGlvbjsKLSAgICAvLyBO
T1RFOiBPdXIgQVBJIHByb3Bvc2FsIGhhcyB0aGVzZSB2YWx1ZXMgYXMgZW51bXMsIG5vdCBjb25z
dGFudCBudW1iZXJzLgotICAgIC8vIFdlIGhhdmVuJ3QgZ290IGFyb3VuZCB0byBpbXBsZW1lbnRp
bmcgdGhlIGVudW1zIHlldC4KLSAgICBwaXBlbGluZURlc2NyaXB0b3IuY29sb3JBdHRhY2htZW50
c1swXS5waXhlbEZvcm1hdCA9IGdwdS5QaXhlbEZvcm1hdEJHUkE4VW5vcm07Ci0KLSAgICByZW5k
ZXJQaXBlbGluZVN0YXRlID0gZ3B1LmNyZWF0ZVJlbmRlclBpcGVsaW5lU3RhdGUocGlwZWxpbmVE
ZXNjcmlwdG9yKTsKLQotICAgIGZvciAobGV0IGkgPSAwOyBpIDwgTnVtQWN0aXZlVW5pZm9ybUJ1
ZmZlcnM7IGkrKykgewotICAgICAgICBsZXQgdW5pZm9ybSA9IG5ldyBVbmlmb3JtKCk7Ci0gICAg
ICAgIHVuaWZvcm0ucmVzb2x1dGlvbiA9IG5ldyBGbG9hdDMyQXJyYXkoW2NhbnZhc1NpemUud2lk
dGgsIGNhbnZhc1NpemUuaGVpZ2h0XSk7Ci0gICAgICAgIHVuaWZvcm1zW2ldID0gdW5pZm9ybTsK
LSAgICAgICAgdW5pZm9ybUJ1ZmZlcnNbaV0gPSBncHUuY3JlYXRlQnVmZmVyKHVuaWZvcm0uYnVm
ZmVyKTsKLSAgICB9Ci0KLSAgICByZW5kZXJQYXNzRGVzY3JpcHRvciA9IG5ldyBXZWJHUFVSZW5k
ZXJQYXNzRGVzY3JpcHRvcigpOwotICAgIC8vIE5PVEU6IE91ciBBUEkgcHJvcG9zYWwgaGFzIHNv
bWUgb2YgdGhlc2UgdmFsdWVzIGFzIGVudW1zLCBub3QgY29uc3RhbnQgbnVtYmVycy4KLSAgICAv
LyBXZSBoYXZlbid0IGdvdCBhcm91bmQgdG8gaW1wbGVtZW50aW5nIHRoZSBlbnVtcyB5ZXQuCi0g
ICAgcmVuZGVyUGFzc0Rlc2NyaXB0b3IuY29sb3JBdHRhY2htZW50c1swXS5sb2FkQWN0aW9uID0g
Z3B1LkxvYWRBY3Rpb25DbGVhcjsKLSAgICByZW5kZXJQYXNzRGVzY3JpcHRvci5jb2xvckF0dGFj
aG1lbnRzWzBdLnN0b3JlQWN0aW9uID0gZ3B1LlN0b3JlQWN0aW9uU3RvcmU7Ci0gICAgcmVuZGVy
UGFzc0Rlc2NyaXB0b3IuY29sb3JBdHRhY2htZW50c1swXS5jbGVhckNvbG9yID0gWzAuMzUsIDAu
NjUsIDAuODUsIDEuMF07Ci0KLSAgICB2ZXJ0ZXhCdWZmZXIgPSBncHUuY3JlYXRlQnVmZmVyKHZl
cnRleERhdGEpOwotICAgIHJlbmRlcigpOwotfQotCi1mdW5jdGlvbiByZW5kZXIoKSB7Ci0KLSAg
ICB1cGRhdGVVbmlmb3JtRGF0YShjdXJyZW50VW5pZm9ybUJ1ZmZlckluZGV4KTsKLQotICAgIGxl
dCBjb21tYW5kQnVmZmVyID0gY29tbWFuZFF1ZXVlLmNyZWF0ZUNvbW1hbmRCdWZmZXIoKTsKLQot
ICAgIGxldCBkcmF3YWJsZSA9IGdwdS5uZXh0RHJhd2FibGUoKTsKLQotICAgIHJlbmRlclBhc3NE
ZXNjcmlwdG9yLmNvbG9yQXR0YWNobWVudHNbMF0udGV4dHVyZSA9IGRyYXdhYmxlLnRleHR1cmU7
Ci0KLSAgICBsZXQgY29tbWFuZEVuY29kZXIgPSBjb21tYW5kQnVmZmVyLmNyZWF0ZVJlbmRlckNv
bW1hbmRFbmNvZGVyV2l0aERlc2NyaXB0b3IocmVuZGVyUGFzc0Rlc2NyaXB0b3IpOwotICAgIGNv
bW1hbmRFbmNvZGVyLnNldFJlbmRlclBpcGVsaW5lU3RhdGUocmVuZGVyUGlwZWxpbmVTdGF0ZSk7
Ci0gICAgY29tbWFuZEVuY29kZXIuc2V0VmVydGV4QnVmZmVyKHZlcnRleEJ1ZmZlciwgMCwgMCk7
Ci0gICAgY29tbWFuZEVuY29kZXIuc2V0VmVydGV4QnVmZmVyKHVuaWZvcm1CdWZmZXJzW2N1cnJl
bnRVbmlmb3JtQnVmZmVySW5kZXhdLCAwLCAxKTsKLSAgICBjb21tYW5kRW5jb2Rlci5zZXRGcmFn
bWVudEJ1ZmZlcih1bmlmb3JtQnVmZmVyc1tjdXJyZW50VW5pZm9ybUJ1ZmZlckluZGV4XSwgMCwg
MCk7Ci0KLSAgICAvLyBOT1RFOiBPdXIgQVBJIHByb3Bvc2FsIHVzZXMgdGhlIGVudW0gdmFsdWUg
InRyaWFuZ2xlIiBoZXJlLiBXZSBoYXZlbid0IGdvdCBhcm91bmQgdG8gaW1wbGVtZW50aW5nIHRo
ZSBlbnVtcyB5ZXQuCi0gICAgY29tbWFuZEVuY29kZXIuZHJhd1ByaW1pdGl2ZXMoZ3B1LlByaW1p
dGl2ZVR5cGVUcmlhbmdsZSwgMCwgNik7Ci0KLSAgICBjb21tYW5kRW5jb2Rlci5lbmRFbmNvZGlu
ZygpOwotICAgIGNvbW1hbmRCdWZmZXIucHJlc2VudERyYXdhYmxlKGRyYXdhYmxlKTsKLSAgICBj
b21tYW5kQnVmZmVyLmNvbW1pdCgpOwotCi0gICAgY3VycmVudFVuaWZvcm1CdWZmZXJJbmRleCA9
IChjdXJyZW50VW5pZm9ybUJ1ZmZlckluZGV4ICsgMSkgJSBOdW1BY3RpdmVVbmlmb3JtQnVmZmVy
czsKLSAgICByZXF1ZXN0QW5pbWF0aW9uRnJhbWUocmVuZGVyKTsKLX0KLQotZnVuY3Rpb24gdXBk
YXRlVW5pZm9ybURhdGEoaW5kZXgpIHsKLSAgICB2YXIgbm93ID0gRGF0ZS5ub3coKSAlIDEwMDAw
MCAvIDUwMDsKLSAgICBsZXQgdW5pZm9ybSA9IHVuaWZvcm1zW2luZGV4XTsKLSAgICB1bmlmb3Jt
LnRpbWUgPSBub3c7Ci0KLSAgICB1bmlmb3JtLmNvcHlWYWx1ZXNUbyh1bmlmb3JtQnVmZmVyc1tp
bmRleF0pOwotCi19CmRpZmYgLS1naXQgYS9XZWJzaXRlcy93ZWJraXQub3JnL2RlbW9zL3dlYmdw
dS9jaXJjbGUuc3ZnIGIvV2Vic2l0ZXMvd2Via2l0Lm9yZy9kZW1vcy93ZWJncHUvY2lyY2xlLnN2
ZwpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZWI3YTBlOTEyODRlYjI2NzQyZDNhZTEw
Njc0N2FlNjcyMWY4MTk3NC4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MAotLS0gYS9XZWJzaXRlcy93ZWJraXQub3JnL2RlbW9zL3dlYmdwdS9jaXJjbGUuc3ZnCisrKyAv
ZGV2L251bGwKQEAgLTEsNiArMCwwIEBACi08c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8y
MDAwL3N2ZyIgdmlld0JveD0iMCAwIDEwMCAxMDAiPgotCi08Y2lyY2xlIGZpbGw9InJnYigyMjQs
IDIyNCwgMjI0KSIgY3g9IjUwIiBjeT0iNTAiIHI9IjQwIi8+Ci08Y2lyY2xlIGZpbGw9Im5vbmUi
IHN0cm9rZT0icmdiKDIyNCwgMjI0LCAyMjQpIiBzdHJva2Utd2lkdGg9IjAuNSIgc3Ryb2tlLWRh
c2hhcnJheT0iMi41IDIiIGN4PSI1MCIgY3k9IjUwIiByPSI0MSIvPgotCi08L3N2Zz4KXCBObyBu
ZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9XZWJzaXRlcy93ZWJraXQub3JnL2Rl
bW9zL3dlYmdwdS9jdWJlcy5odG1sIGIvV2Vic2l0ZXMvd2Via2l0Lm9yZy9kZW1vcy93ZWJncHUv
Y3ViZXMuaHRtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYjY5MzFhMWMzYzkzOTRj
MWRhZmY1Mzc0NzMwY2I0NjUxNjJlMTk1My4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMAotLS0gYS9XZWJzaXRlcy93ZWJraXQub3JnL2RlbW9zL3dlYmdwdS9jdWJlcy5o
dG1sCisrKyAvZGV2L251bGwKQEAgLTEsNzggKzAsMCBAQAotPCFET0NUWVBFIGh0bWw+Ci08aHRt
bD4KLTxoZWFkPgotPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPTYwMCI+Ci08
bWV0YSBodHRwLWVxdWl2PSJDb250ZW50LXR5cGUiIGNvbnRlbnQ9InRleHQvaHRtbDsgY2hhcnNl
dD11dGYtOCI+Ci08dGl0bGU+V2ViR1BVIEN1YmVzIGRlbW88L3RpdGxlPgotPGxpbmsgcmVsPSJz
dHlsZXNoZWV0IiBocmVmPSJzaGFyZWQuY3NzIj4KLTxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJl
Zj0iaHR0cHM6Ly93ZWJraXQub3JnL3dwLWNvbnRlbnQvdGhlbWVzL3dlYmtpdC9zdHlsZS5jc3Mi
PgotPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSJodHRwczovL3d3dy5hcHBsZS5jb20vd3Nz
L2ZvbnRzP2ZhbWlseT1NeXJpYWQrU2V0K1BybyZhbXA7dj0xIj4KLTxzY3JpcHQgc3JjPSJnbC1t
YXRyaXgtbWluLmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSJzaGFyZWQuanMiPjwvc2NyaXB0
PgotPHNjcmlwdCBzcmM9ImN1YmVzLmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgaWQ9ImxpYnJhcnki
IHR5cGU9Ingtc2hhZGVyL3gtbWV0YWwiPgotI2luY2x1ZGUgPG1ldGFsX3N0ZGxpYj4KLSNpbmNs
dWRlIDxzaW1kL3NpbWQuaD4KLQotdXNpbmcgbmFtZXNwYWNlIG1ldGFsOwotCi1zdHJ1Y3QgdW5p
Zm9ybV90Ci17Ci0gICAgZmxvYXQ0eDQgbW9kZWx2aWV3X3Byb2plY3Rpb25fbWF0cml4OwotICAg
IGZsb2F0NHg0IG5vcm1hbF9tYXRyaXg7Ci0gICAgZmxvYXQ0IGFtYmllbnRfY29sb3I7Ci0gICAg
ZmxvYXQgbXVsdGlwbGllcjsKLX0gX19hdHRyaWJ1dGVfXyAoKGFsaWduZWQgKDI1NikpKTsKLQot
Y29uc3RhbnQgZmxvYXQzIGxpZ2h0X3Bvc2l0aW9uID0gZmxvYXQzKDAuMCwgLTEuMCwgMS4wKTsK
LWNvbnN0YW50IGZsb2F0NCBsaWdodF9jb2xvciA9IGZsb2F0NCgxLCAxLCAxLCAxKTsKLQotc3Ry
dWN0IHZlcnRleF90Ci17Ci0gICAgcGFja2VkX2Zsb2F0MyBwb3NpdGlvbjsKLSAgICBwYWNrZWRf
ZmxvYXQzIG5vcm1hbDsKLX07Ci0KLXN0cnVjdCB2YXJ5aW5nX3QgewotICAgIGZsb2F0NCBwb3Np
dGlvbiBbW3Bvc2l0aW9uXV07Ci0gICAgaGFsZjQgY29sb3I7Ci19OwotCi12ZXJ0ZXggdmFyeWlu
Z190IHZlcnRleF9mdW5jdGlvbihkZXZpY2UgdmVydGV4X3QqIHZlcnRleF9hcnJheSBbWyBidWZm
ZXIoMCkgXV0sCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3RhbnQgdW5pZm9y
bV90JiB1bmlmb3JtcyBbWyBidWZmZXIoMSkgXV0sCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgdW5zaWduZWQgaW50IHZpZCBbWyB2ZXJ0ZXhfaWQgXV0pCi17Ci0gICAgdmFyeWluZ190
IG91dDsKLQotICAgIGZsb2F0NCBwb3NpdGlvbiA9IGZsb2F0NChmbG9hdDModmVydGV4X2FycmF5
W3ZpZF0ucG9zaXRpb24pLCAxLjApOwotICAgIG91dC5wb3NpdGlvbiA9IHVuaWZvcm1zLm1vZGVs
dmlld19wcm9qZWN0aW9uX21hdHJpeCAqIHBvc2l0aW9uOwotCi0gICAgZmxvYXQzIG5vcm1hbCA9
IHZlcnRleF9hcnJheVt2aWRdLm5vcm1hbDsKLSAgICBmbG9hdDQgZXllX25vcm1hbCA9IG5vcm1h
bGl6ZSh1bmlmb3Jtcy5ub3JtYWxfbWF0cml4ICogZmxvYXQ0KG5vcm1hbCwgMC4wKSk7Ci0KLSAg
ICBmbG9hdCBuX2RvdF9sID0gZG90KGV5ZV9ub3JtYWwucmdiLCBub3JtYWxpemUobGlnaHRfcG9z
aXRpb24pKTsKLSAgICBuX2RvdF9sID0gZm1heCgwLjAsIG5fZG90X2wpOwotCi0gICAgb3V0LmNv
bG9yID0gaGFsZjQodW5pZm9ybXMuYW1iaWVudF9jb2xvciArIGxpZ2h0X2NvbG9yICogbl9kb3Rf
bCk7Ci0KLSAgICByZXR1cm4gb3V0OwotfQotCi1mcmFnbWVudCBoYWxmNCBmcmFnbWVudF9mdW5j
dGlvbih2YXJ5aW5nX3QgaW4gW1tzdGFnZV9pbl1dKQotewotICAgIHJldHVybiBpbi5jb2xvcjsK
LX07Ci08L3NjcmlwdD4KLTwvaGVhZD4KLTxib2R5PgotPGNhbnZhcz48L2NhbnZhcz4KLTxkaXYg
aWQ9ImVycm9yIj4KLSAgICA8aDI+V2ViR1BVIG5vdCBhdmFpbGFibGU8L2gyPgotICAgIDxwPgot
ICAgICAgICBNYWtlIHN1cmUgeW91IGFyZSBvbiBhIHN5c3RlbSB3aXRoIFdlYkdQVSBlbmFibGVk
LiBJbgotICAgICAgICBTYWZhcmksIGZpcnN0IG1ha2Ugc3VyZSB0aGUgRGV2ZWxvcGVyIE1lbnUg
aXMgdmlzaWJsZSAoUHJlZmVyZW5jZXMg4oaSCi0gICAgICAgIEFkdmFuY2VkKSwgdGhlbiBEZXZl
bG9wIOKGkiBFeHBlcmltZW50YWwgRmVhdHVyZXMg4oaSIEVuYWJsZSBXZWJHUFUuCi0gICAgPC9w
PgotPC9kaXY+Ci08L2JvZHk+Ci08L2h0bWw+CmRpZmYgLS1naXQgYS9XZWJzaXRlcy93ZWJraXQu
b3JnL2RlbW9zL3dlYmdwdS9jdWJlcy5qcGcgYi9XZWJzaXRlcy93ZWJraXQub3JnL2RlbW9zL3dl
YmdwdS9jdWJlcy5qcGcKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDhhM2ViMWVjNmU0
ZWNjYTc5ZjNhOTBkNTlmY2E5NjVlYmRiZTI1OTYuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAKR0lUIGJpbmFyeSBwYXRjaApsaXRlcmFsIDAKSGNtVj9kMDAwMDEKCmxp
dGVyYWwgNDIyOTUKemNtZUZYMXlvJG0obDVHKSFRSXs2LThIem8xfTh2cGNQRWdMMVB2cmVmTUNJ
R0xVNmE+N00kU2o/I2BYJG9kNXNhCnpgPnByZ159WUEqVEpLeHlvdTFqVmY0aXI7YzIjJVI/eUJu
akgxbzYhVUBGTmUkXmpxezA0UDh8enwjczREKGg/YQp6NSYlP0gwY0hSSTVDSiQ0SFVOZXE1Y0M2
cGh5bDFpN3l5KCZCITZRcTVhVH4tVTt5Qik5UlR9SjhiaiMkY1kkKkwKei1USSRybUBKc1RDX3Z7
fjtENiFZcSkjaElSSk5YO3VFSER+Jkt+UipSeFU1QiopM2gxSUQ5USFJaz96NElSSEAhCnpVc25y
RDJXd0J0N3VHZyomU0tPQGpqaHlfYzI7ODRgaDJSS3M7PCkzd3NzMnM/JCtBPVlDNHd3NHdnYnop
RHEmOQp6cVExaHVQT2VWWW8pKG44UEw5cVYhb0ZoRWYwenFIQCRZSTVZUlckKG8oXkt2MkM1cEEo
a3x9U2x6aTtHPzN+b2wKeio2dm0+Z3wlZWx7QEU2S0J9VjtFQSRAIyYqbk4xfFVFRk9yeFAqaitJ
NUBkRXhWaFAmNmxALVQmWWwqJll8Yjd1Cnple3FucF9PTnVmYk0+QHlhaTt2dShjKj1SbSF9dnRI
MyMkIzlSSXc8Wn1fKlk7KnxkYHxMJWMqX3JTazw7Tkx5KQp6PztpTWY1QiZlSDJtYTtsU1VXPnE5
M1FBSjEzVm83ZipRNmlvLVE3P0YwUGIzPzN7cTBsJWd1Xlo+SX1keyRSUjQKejVPYWJvYGQxd0E5
ZDspYURQe2ohRCk/IVlhN0l5RCtEdD1CVH4xTCZfSyk5MypsWGVIPklqMWcwOFktSD9wcEZ2Cnps
bV5jWURHXnFuNGpWU3F7YkwwPEVHI2AtQntlaXVlKUloNntEPVNGS2JLUX4rJmZeTD9LaUsjdE4m
e04lTD9paQp6TEgkRHdERVNMMzRAKU5+dTdWemVtYWd1ZTAwMGghKjM8WlN5OGd6d1A+a3lpNiVk
TitlcSk8fDtLQVNjI1hzPSEKejl+dkRrWCgtSigpUHFIfXV5RDVsMDkwci1LPFJDMTFMY0VDMj58
ZmUmUV5CTDBEI1I0I3AwSD43RkdhMjI+bE9XCnpiI2lqfmprQlBiQHh9a2QkTDQ+Kzc4V281PTRv
TUpeRWR2N0YzXl9IOF9VPnZ4SD8rK3traXgqYFF6bTExP3tndAp6ZyZPKmNZVXszYDF3R1MzYD5m
RXhNZnE+K3s2YkNydVg7UEVNdEA7akY5cUdkdSUoQ2VaenVndlRQcTcwPC1mMygKemdSYk9YKnVv
dSh7eityIXNpXlo4YzZaVkdvND5ROCtWQT1DaG1XbmI7QHtaWExzdDgqYGo+V2NpaHA1JFRPSXdz
Cnp1KHpGXytGI2hpTEhsblJ7QjVRR3U2T3MrYGRqOWc/czkrWT07USV5YE9vYFdUS3d4P3AwK3hf
Z057RylTYkdAIQp6RXN2RzhqT15kXyZib2lnPUlTWitIJjBpYEtYZCZiWjVgJFJ1SmBjUHs9MlFH
eVV5U0JfNytPTj1rNmJSUzVKKzwKemB2Kl9+V0MwbX41fDlTJDBCNjcmWn5gbyNTMkVCbTU1Tl8w
Z2tKZjFUS29RPGJBWXNxdERuMV9qamJvOEItRGJlCnpESFdZOSo7eSZNSWteTT87SX0+Z3JVOEk2
dHZffUshWE5vcG9nMXtodW4rKmllRUM8TTFxJVEpdXRINnVean4kZgp6YH5aTkcxXnxzfm1SfDFP
fEtKRHZgdmVDZDB+aTE8S20/RWpHeW8mTzI1PHhYZkMlc21EIW1lKjQoSV5TMGFMJmQKenUhWUwr
NClfM3B6JCtqRWh5cCRVaTlqbGwzNDg/I2ZpbURiUHp5OHg/TGFwJDBRPnxkZmpNOXEqWn1yYFc4
ZjBGCnoxQSN5WUFUJHNUaHpMWGhxNjR2anhJdXktYWdaIVgxKjhSZjRsKVBYZlNmXklwZz5TS0M8
PkdTTihFKHVpYS1eaAp6ZFFkeTQ0PlN0OzF6R3teZktFWlRGa2whfDcrZUBLNzx3MkU3KHAwRzct
Yms4NyF3Izk3JmpQeW5BYjN8RmV4eE8KekZyX2R4Rnpxa3tGcTFJTEZuY2Y7VTt2Qikjc15iQCp9
I0hlWHxPdWo1ZDBHQzRoe3hLZnxJfkc7QnMmU3hDY0JBCnpVSXk9alooIWtKYWJQSzcqPGVMcjY8
fkU/RW4oZVlnSkdqI1EoKzVYWWhadUNqPkUzTjk+WUd1cH1+PkR2QV93Iwp6RFomfVIqfShiME1a
aEomPC09OU9iLV8pLVpOT2NeIV43amxHciRZTEU1Slg4d30lZ2FrQjB2TzR9b3VrQUJBNm8Kenpk
JTRoQVZPZTQ1Sk9OJHV0NHhjaChQI15QPlJyc0ZvdiohYUUqdzlOUCk8V0QySGY+PSFfVktuMW9v
MipuJjhRCnp4UF5GIWdvIzlsQiNma3ZXUUY5MTZvLV9IKVBPWEN3MUlTb2pEXmdBRVFZTHVZPiln
M0lSJntLeGVJdzdgM3dhRwp6ZyZJVyZNSDlzaUJAYHRFPHJfKmIkX21PMkRtRSVKc3grIUdzdXla
M1k1ezUrPk16dFlHJkQ0TnZ9YjZCWHI1QFgKelhobXE5WHAzbXE9czQpPz0hKW84PXBwRTc9ciFu
TD0hWTBjNzwzcXQ3XldFaDcpY25GNyRYP19tYElyUG45YFVRCnpuOEJFN25EdjtgbT17PCRTWEB9
QFNXWn5jU2pBWDxTbGllTCohMC00KmpDdUR2QTwkPlZ6MSRWYWNGUilhViZBZAp6YWRMNkdhNWl3
XmFUI3pHYXFWJVZhTGFJcWFnWHReQHAkcHtATzwmb0BTNT9LQHhsMT9fPUA8Ql87TDgoQHUlPV8K
ejNDSVd9MzlKZDs2TzxFLTVuS19INUkhVGNDWDZKNjVLYT1fNT5YUCM1OytqWDZWKHplNVdeQlA2
S2ZMdDVOOGx+Cno1JH1gV2w4Qkk0bDA9ZXhDeiZPTUEhUjFqQWBLd0BOOypoLUt9SnB7UHYlUFlu
WEhwK3BCJGgzOE0hX0FDLU41Wgp6OVNSJUBhU0EoJVBaWF5ieU9lbThsOVl+PURVPzRia0V1d2g2
c1d3WXZaO290P3gtMjRiKmFPc0E9Qz5yJFRXZzkKekZLSXJ9YmtIMnJRcVpjPjJHVyskJmU5PiMz
RFZpcENEWmxMVUN9ZXA+KGpyYnVjaEIrQVlAUXZATWtEdG19Zip8Cnpsd2ZwWSV3ZTJoZkBjekJh
JHgkeF5waEVlblVDMylJZ05SUTElYCM2I2c2MyolUDE9eHN9UVIqWVl5dSk4IURTNQp6bj5Ta3Qr
WF8yQXk5Iz80ZG9CQVIyUTd5b00/Nk9sJDBIe25yejItQj1OdU97bWw5VlBSfEQ1NkgjNF4tY04r
SHUKejQ7cWdnUFk2I1Aman5MSnVRaEs1PytoT2ZwRE4jNXo3RDx6ZWdTQFd7Jk1+dTBhXmliZnBt
ZHNMMG14JSFEenU9CnpBdmhyXnAlOUBhcCZNYS1WTmM9aiFiYykoQWBUK09CSE4tMnFTbTZocUhB
SypWaXNjQVYkMCVgO155TDY7PiF8TAp6NSo4OVU2MDZUPm8+QEsxZjNfdmJCeHheTUR0UmN5RGRq
RnpFcDtVPUVGQzE+Q0lnbXtteCtgYW1jXkZVbH0oamgKemwldGxqa3Q+bHFtZ2tjWGtaKTZmUSYz
aWpTRDAyTFE/eWhwUWFufT9QenFBfHBeVTFtdCg+YTdzPX08fHVGe3xpCnpxcEdDKFFGVUk4UFIm
YFpSdmwxUlJSNV5IcHV3UXdycVFTZ3VjQEojcm4jeGJyNF57dnFtODMmcmRfT2tzVXhLbQp6ciEl
TF5zT3pRTXBAKlNvdFhISVdyN3hxT3B1Y1J1Vkd2fDZAU09PJC1TYXZfMVZjVDtlOFVTUFMpKVh3
NFAhcHoKejI7KFVlMWB9VkNLMnVeLU43SDZBM15OT31OXj59S2VlK2BUZGtifW85RSp6PWlaOVkl
OTl2M1RDUl5AVkordH5gCnp3UFApMm9uWEU3UXRWfkklV1dHbW5+eWQtd2kzMlV3KT1Me2NCeXRK
XzZxaXlfRSEkLTRoMFRSansxJWVDcXlUNgp6citRfj5YOXdwV0Y2MXUwRX5CbjJ0YFYtd1pvK1Bm
WnBaRyo/KWVAZDQtPTAlUGg2PHVHdzgrV15+UCgoVGlpUiUKemBgU20ocl92WTgqViVXX2tKPDBO
LTxIM2VlX2pBPWZNcX5PQVhWVjJ6P0M0JHB6TDUhQFFkSiU1U296SkFzZUNjCnpwQHB4SVVwYyVR
M2daayoycztuZzR7dngpX0IhPFMrOGc7ZEJAeVRtP2goXihNYyF0PGdNRFpCWnVtWFZgX0p6bQp6
QmRzRilxZDIzSXFWQShEcXgpbUhWcDN3QlZxZUElJE1NSHllMVFNcHs5ITZ5QkVCI0lFNVNjdT9X
NXwpbm9wRlUKekIwcnJjbmtEdW5AZ2AqXkJQViskRlE9JWEpUDFKP3tOZUxgcyVgM0lucDdHam9p
elBAYHFkWSFGSmw/Y0dSaVpfCnpHTlVxWXYrU35GdmdOYURhX0RvQ3pRVFg/ezxAaX5tKW55a217
Kmlmb0ZBM3tQfmNwIVQmUHZ9cWUhNXJzRjxgawp6dF59c1V0N05DdHhiJGI0T2oldHlUWHtBRjl9
QEtxX34hTCh4NUIoKT5idnN5aiFNREdAKyFLal5sRl55JFFuP00KelUoSW8/WlM4WDFeU2FTYHJU
VUhyayVzQzxfUXJ4SHM7MEROeXltelQ8ZClZaFBwJHJ+N2ozUj5gfFVSRVlhTTFDCnpiRGFqQTZG
KVM2NDBrRGFePilqM2NsSnAzd0R5WWlIdVZZaiklT2ViKkFET3gpQ30/c1J1QXpGUlMpd0kqTmd+
Xgp6KWNxOXQqKVM/UCtBPTBGKTs9eVgtYVZsPkYpKm4lSVhhfn5IOFg4SXkqeSh6djtFOFEqVTdC
Kz9BPWBHSmx1VGIKejBfSC19Qkkjbno2NE1mN25TWiU/TVBfQWlSZU49QSYybnZULURDWko8TWsl
bVgzYGVMUj8jOzFjR0hnQiZkKig9CnotSGtvaHl9U0wwMUZWRGVMJm4zWnFpMDhoI3xGbjZDKztV
dHJfcENiWDllZkg9TiVVczdtSnJwbXY+aUAqRkBLYQp6SC1hfWt4QjluUmNSdSRCX2JDcmQ0LUpw
WGtNbURYUGZ4QkU/aVBRMWYhYEAhbjN2R1I/YFopNXBnaml3b1N5KUkKempRJFVRYDQwdXVvZCFX
XnBqWiNZNCUmbkgweWMkWmY8dTVpZiF7JXhNcUVOI0xCMndUTCEoRG0jXytfPCFrV2ZHCnohND0y
eiRBPUpYNWl0ezZrUiszaWtpJHslUUNkXlFRaCVvenFkbGFEVkwpZlpVX3lhRGBFRlBhU1hiRF8q
KmlJXgp6SWRpIV9hMGxfJl5YbDxFPDdYRFk1eDV1SjVFPk0mNT1qPmc3cWJgRmtgUkIhRG9HKVFG
TzRhS0JudkQxQWFeQnkKenRneC1QdFRkeE10a1J8MHEqa2UzcmN0YX1xKmJoNHJVVEtmKDV1dzFH
XmwhQldtc3dTLU1HUjhWaFM8KVplQ342Cnp7JGtNYm0oYH5BYE83Qzs2Z3p4LVk2bGlhSnxfdWhN
SGdMSFlkMFZGNz58NjxSPDlaRjZKSTFoTmBIWD53THJAdAp6LXs4b1E8anx+Rio8cVJDRFgtKCtM
X2BGPGIkaj5ueTx3elVsdz5xdDN9WTs1OVFGczRjJSVmQmtDPmtiNlJEQ3wKemw2aDBhS0ZnLTZy
czx7fGVYLTFOJG4/dyMmSGoqK3trMXhgS1d7MWp5YiFVN3czd3FycyNMZWtycmEwdT9wc250Cnom
aTloYSVCcUl5KXwjJWB6UGgzTShUMiYhbldua3NySXoqOXl8Iy1FYTN8Z20jeEJ1cmpVTE5ocFQ1
WmNeYTAzVgp6YF9TbXteMm91QGlfelAkYHwtUHA+JmM2JGxqI0hLWStJWE1vU1ReK1ROcW1HVUZ1
cnlVZz0qUVRVJUopKnxedk8KelpLTGlHPyRZZUI/K1lEQkExV1J4QUlxRkBwQXd2JnA3b3I2ekhx
bnt5K1hmUXhgeTBALWZHQGEtSlJVR0tnMihwCnpLWEU9aXtWKElzNG8zLWgxfDkhaCM4c3BkNmw3
RjdHK0FfOGo1eTI9dFRQLW9Ucjw0U18hRVJeTTVAR1pOWkxwKgp6JHlxNE9ENUkmV3NIYlNvPWBp
Uj84UiF8UW08WDlzbjZGdEBTJT12Zyp1UWNfYjkhQGBiMVUrMkApR2JxQFU4UnIKejNxUy12M0hi
fH5pYiNwbGl5P35iaUh9T3VKXkx5ZEZCSzszQmpZSWhMUVlSIVN3VVFwT05tQXFQWCQ1Y1Q2SUAj
CnpVVlQpZlNGPU5fTVl+YV9QUGJhYG58X0h3e198fFpSSElNRUYoeitLIV59ZD1Mb0M4eEx8VDVk
TzFDYX1gT1Qpegp6dyN9fkJlI0J3WWFvJWEmZEVlI1E0Yz91PWdWal5ZJWZRPiZDKV92THVoaFJh
VUBVTXc9cHFDcjYhe2Y7Ny1+M3QKel9+WXlJSCMtcHZaJTV5Q3l8MFRiaU9QdW41RUI7YjZYKjI3
Q2YrOCZ7LWdVUnxIU2E1c058MCtYYGdkYWlfKlRPCnpTQVN7Qj0qUyQlbiN4fCF4eVhnakJnfCht
NUdfPElHQW5qMTJgJjlsbVFAYWNHPUotX25FYnZ9eG18VCFlTz5jWgp6MlZhbFlmWklzaU1BPU49
IXJJRXlDZjJVaEB4MFVWTUBaTWw/dC0zJS1sNHdiez9rRiZBXmMoYjV4JD5OcWJnKEMKejxONmJa
bGcza34oYEdafnpzelNYPH1CdGQ3QXpKbW1Nb1dUUzZvKkUqQ04rYkglY31ldys2UXRiYEV5JF9m
WmRzCno1OXlFQ2syeXtscGZsajxZfntUREJJYDJ2JUpeRk5oVmJVe2NLcSghZWF3VVhxdWRrQ2U7
RUomLTJSN2drYTAhdgp6SmZRWX0xaHMhbGt+R29AYXhAQjJOKFpXQj5LMisrK0RDZFUxfWE4b0NN
SVNFN0FqVV5IY1dPVDR1SW9+YkJrKysKenlPKmJpSD1pJCZLVX1+fiZfcWFDU1Vga0U2a1lVTVkp
JDs5TUJCNFUkd0h8dD1gQCl7Kjt1KV5AfVVhOGltcG1GCnolQkN0aHMpfW1qPmlpbFVub0xecytP
I148eD5SfTtgbEpSIyYrIWVoalpscGRPaDZfTnJaOzkrPUdQVz9tTX5VYAp6KSkrN0daQWZqWT9D
OTs4OVhLNGhvJW8hRVRxSW9PLTg5fEpKWH0zUHoyZCNJZUpYdDB7Nl9wMjBgPnkwZ0pEOUQKekxz
NEhMZ0BLQH09PSRyNEh5c2c+d19ufnh6VzBpPmgqRklmakc+OWVoPCU3Vl9ePXYzcERePXJgcU5D
fXVjVnBlCnpuVXZ8elE+aGJhPExSU2NNbHl5bmhxRmVyciphbWNFOFRKNFoyQGN7U2BsNmBjP28/
ZmRsXyVKRmh0XjtiY01gIQp6Ki1EdXpzcEBBblZ6dDZgMGApdSU5RX5oWl52JT5RPGdGeGFCPDx1
S3c0SDF9MWlHWlVSZVNWJVUtVVdsZGs9JlIKeno4aWBrUDhyR2duTFV+X21ObEx9a3Z0aGM2KmN7
T0NnXypYdGpuRDN5IXBjT01lUVl4V3o3fSspZmExUz50UCMtCnpufXU3QStlMTZjeVFsbEcyZV5s
e044SENeQ28tcFVYTDlHIzdaUjV1U056dnBIIVFkR2NhLS07ND4qciNQdz5DVAp6e352amktKWpP
cUdeV2dqdGBvWCUwWURgbDA1VWBYZkYyb3xsMFhMbDRLeDdJNWR2Vk87czYqUDlzcXsoPiktMUsK
ejIpZ0JtMVlpUCQwMlJPajJ0ZWF3T340RnIwWWFjTFdlIWpjXlpeVU44My05ZjFyaTQ3Zkx1VjRw
YU1gZ1hhZmN3CnpoN20+dTh0YkolPEdYekA1bSo4MjR+QnJaVlFIYX1TfXlFMTk2S30/Pnd3M0FI
OzFvOEt0d1B7WGhiQUxeaEtPUwp6bDBZaGUjITExKjJQa0dKcW9ee2R3UD8mfThSJlRFRiZLeSNa
IXFDNy0oc08rZVooZmlGMldKTz5BfV48LU5OKDMKek41UmhgNUZxJFQ9dHpXMlI2P3ZxZGBeOzFE
bz1Wd21QTXtnZW9JazZzWT9ZJVJZUHIwTHEjKTduQEZjY2szJkRuCnpramlNeiNLM2dHVCo+MGNE
IX5UTkhvfjY5VmFxQVZnfkdNT1VCbU4lKk81PCFwSWQtajVKdzFJNyptOG1sdUM/NAp6VHRZKG9u
WjR2fHNjaCtYbktkfkNkMWVKPU1MVlQ4JTJfSW5zeHhYPThicTM2VEdyWmVJKnF6fSg3Q01zSmp9
NGwKelh1fH5HUkw7IUR5dUBQSmxFX05pSXt4TFRFc21YbWVVYCglbFpiUHklYSl0MGR4MG1LbXlo
P2x1Wn58JmZMTEhuCnpGbjdxZVM2cEc9VS1QYEZjKzIpS0theEJ1Qj9jIXB7c1VKMHI7byYrYSsy
N1I4JFlZMnVCQ0AkJn05RDFlKUNsXwp6NTFpanVtezRxMSUyXkpFJXZNeFkjI2cpNVlTd2MkcUJP
MHhSSlRRUjgybilFaFV1Qj5zfkpjZkAqWGk5bF5XLXEKeldTcip5cjh9M2hhSlRIZWRjV35Abl8j
IX1LPDtTJF56OC01KSU8UGpnVXB9aiQ2dz01QE1yd19xMnNScyVgaTl0CnpLfG1+ITF5bitGMnk/
KE9HLUUmeDUmJnN7OTYlQUV1aDJ9dUc3SmNZMjFYOVgwVlY7YTVvUXlOMUN8MU5mczRXRwp6dXZE
LVh1ejlmaWFKK0NLYTZ8QjlAR2tIXzVKKFpjNXlxamheZTRte0J5KiZHV0M3JVM2ZTUldVI0fVNQ
PklzQDEKeis2dVo2YFpSX2YjeCRsODx8PnYwKSluPn05REpOMlR5ZmxTSlVoSDZ7QTI8eWYrNlZX
cVo1NTZIWHdsXkRKTH4xCnpMbkNWP2NjLUFFbjR5Zk01fkRoJEV+SyViQzhNM0FPUVNic3BrPiUm
dFkhKmpSJChEdlN6fDN7XkpBQ2V6fiRLQgp6dG1CSTF3JnI9cE9VaXI0eDRfPkNVQyorR1FpYW4q
YXp4OTtueFc2TCYxWCtpQit8ayUjPEgqRWlzVk5YWmp7S0MKekJ+OzgqZ1Zlc0x3YGk8dEEhJjIj
bkNpeXB3ZGtLY1hFSjxZbHg5M2BpZmtybj9yVHg7ViRYYHYrVTh9RSY0Q0BTCnplWHY4bjZPcHJu
T1BkPiF5U0stKm0jQkJIRk5SLWB8NiFtLSZgZ01DPXVudFNffE99VGhfUUVDPz88RTVxV2ZiTgp6
OyhGcDA2TlckT0NOM3NCcX0tLVByJkUxdCV6VTJwbXtYRSNub20kTFFJdUY+U1ZtUjh8RT5PZVdS
KzxSWnlqM3cKelIlMmBQciZqQkItY0kxaFA8TUstUX4kRjtmfSFKKSFPQGNPKmgla2NuX282X3t0
RT81ZCNqU2BJYXxtKFVWOXNkCnpoUjApUD5LOHcrXj1fOVFwZEtnbXZHTGRWfEw2OTxfe2FYS3xK
Yzl0QU4laXUrQ0xsJjEycDV+M1g9QGUzYlBCJQp6PkJ4ZTh6JE1eU1NUYX5jWHBVd2NqdFpLTWAz
ODNudUxQZTRlfW97NUBDQk10KE03Q0FCMHZnNlQwPlN2WmFgcn4Kek5rSyh+JlZZUzFHcWVlRzc0
JldsRFU1YlpEYT52eDZ8Nn5ZMyt5QURVfGUrRUVJZSshWmhUfD5iQW1XUlI+RENkCnpYSlE9VU1p
T2dNWXw9SXxTOF9gN3BBQGVzeGhYZlAoeHxtKiZ9anh9cXYleFd2Rkx2PjxTO3JoMntGU2xrRnRE
Vwp6d1BPPXRNX35XT1FPQH4+JWFtSn5obHVCdmNhZzckemduT351dSFPNnhLVShLYlZja3wwezxE
R3E9OGhoYmItdmMKejk5Vyk1IUJYKnFRaUpsVUR2fXpQeH1uQmYmMDRKOzlkY2NMeSMpUUEmb0s/
UGpncExLT29gMm0lK29DdkVvclJtCnp0KmRONndpPFJoX0UoUFRQOS1rTHUxOz1+OSNXcCl5JX5K
Nns3QylOMCFmMiVMWVBDViE9JUZ9LXE9Um16eHhuTAp6NzQ8RGZFVmwyMVVpe2BxLSRjfTsrIVhR
OGI3PXV6JFROT3F4I1VvTW95dG9yRmY1YGd6OXtXMiYtfnsxVUI2MTgKemhOS1JyZSFwP0x4eEta
WkopK2FCaT5uOUpgP0VpNSgweTNgQyZsUV5ffCM8MGJuMzVIYkl1RGRtZHNYYyo4RGE7CnpaZExC
Zz47czFeJEEraVQ9TipAS0h2KUl3NUIweXQte1UwQF93VXNNMEhJMWoofnBaIVBpT1ExZlJGJEg1
QWpiPQp6Y1I1Y180X34zZCN5a01ESXNQTFR8Qzw7ZDY5NXdFQGk3ek8yT3c+fkVCPUBBKUNPUTdn
M2R3YlU9VEZgZzlRUigKemZ1NFE8NndySVhMNmVXckApdEQtMWBHPWFrQVI0VGl+PVI3I3Nwd01V
QCMwVTchTDBEMV9+JCRgYWJ9UjEmMis9CnpCPyp0Q1hATmxQaFJnamJKe3lybnMtaGlGWXhKMHc9
WUBNMTU7OHNrQXJVYmhKcCZeWEdjTzslZlN7MUR3Mlo4cgp6eW4+PlZ3dk1pekp+WnVXWD1WTT0j
QDVjPiFfJiojJEpmdDR7UG1sTng5e0ZaQ1ZjI3FuM1NDSUlXXn5OWmVEJnQKelZOdm4tJUJ0I2Ar
UGVDTmo/TiFsLTk1ZDF7YlM9M2xUKl8oemgrbGYqVlo+U3gzK2g3UGZwTHlGRHxkSFoqRzY8Cnox
JWpAbmYwY2h8Xzg7YFpnNmFoVzNrIXh0X15sVFIjc18rVXYwJmsteFp0clJINCFZX2FIelJvQT52
QktYSUhjJQp6KGVQKjs8R3BZbk1hSE0pVTc8VnF0PWI+V3slZVlie1hmI3xaXml6bCpCbz5xZmNh
Q3ZGd2p1fmdQfGhAM29YelgKel5MSyRSPjM8NjFLTVY0bzAhPytJcGdeO2p8MTN7WENMa3llWGsm
UWo3WXp2az45ND4zPip1RWhzRG5jSkd6KnxZCnpCVkhJUkZjdSZJVHRxVkZ3Qn0pS2FPT2xaMHs8
VCE7SFJKZUo7V0lPPzsqejZlLUFPbnw5Z2xyQCF2eT8kXlYwNQp6TUF+SzducHxQaUQofiomMjNN
c2ludU9ga0J0QD9CUU1gTFo4MCkhSnQ4aExEbTNwUSFDQEh1ZGRWWFhXT25tYjQKej9kcEpCPDdt
TWQ0M35hUGNiYFZ3NSFFXylnOGEzOXJte2ZXMW13Y3JEYClHTXFRSTUkYmBwQSUjUWAxcypUdW1k
CnojKz1BPUhQYD19TWgkK05gaFRKNmBufj58RG8lVU4kLUR5X0N5dyohNmspMVZtc0A7JSRIbjJa
QDwyV0lTbUtZNgp6Y2Q2MCUyYVBtSnlmJTlGVS0tT2xYLWFjaVRxaC1MTVJleT0+RW1mJVRkXmk8
IUReMm4qZ0ZmLU9vWHc3UDZpQTMKenU0eWRSQnBCYFZ7c1E7TGQ0JFNlRXM0aFZ6X2pvWHRAMH5O
P2MjV1pFSldRZUIoRGExXjBndDtVWDY/XmM+LTg2CnpaT0d4KEM2e1dxR2BpZWlILTIhX00pMSR4
NSVOIVV5U2wyTzMkO1Q9T3lxd28ob0R7YDZjbjJwPEReRz80IWQ4Rgp6bzF9Nkw7KS1scyE2NFh1
TTRqbCkmSikreyNoSSZrbkN9PGkrP1JqM0Uxc19aTzEmI2t2O3IlLWtXY05sYVdeP3cKenJ9Z3E2
UFJeSzBRYDw+TCY3YGJnRGRndF54RXhePjxOYnZoJTErWGl1bmd2aT1vem5YZGQqS2Y2dGBOXjJq
NE9tCnpCO1F1fmxjVz9ySG82O1EpfUlwQzlaJGY1K3hAJWNTWHNaTHU4elAzUjt4OX5Fd2FpX2tk
b0VYampgVGglVlJ0Tgp6JjVlWSExb0BhbV5aSlVEPzAwYmkxPyEoeld8TzxqRDMpcXxAekdiIWBZ
R0VeVklyPXp0WCp1QERHJUhvJGt5JT4KekBSKlFHT2U+NmU/cChkIU4hYEM3cWJGSW1HRH5vRFU1
Sn5pXklKKW5tNWNEMjloZXx+Ym1gaE9Yd3R0TWRhaSEyCnorQiVmXlJqWDRvQDE4TWx5SG9+Vip2
KEtfdUJfMTNGan19Z2t3Py00PkJifT1jREopM1dCQ2FYRjJTb0YrYF5QTwp6d1VPe3IrJk1CbF9J
MSFwT00zcjs7KFJwcDBiYlI4eW9nYXo0U21ReWJeQVdYOGpwNjMmVTIoQm5CcmJ6e045OU8KeiMq
MmN6TV8ydkV4KUV5LUwrKUtoIUs2QShqWGQ5T14+S0NVWXZrYHVTMkVsbUl7T0pKVjxwa2ohXkdz
TlRZZWt8CnpicSE1TmwrcmdRWmhoKkJOS25DZCRfLVdIYHVKKzlIRTVaZl5UJGk0PCUtQyYkV3tU
YjBRPCg+biRhN3RZdHw9Iwp6QXAoRExDeTtHK3AmMzBYa2BYZUZAZm4jaEMtbEYxTklYc2QqTmg+
JnQjMjlxcChKaE0tZVNkc2docHF3XmRKUloKemd4cUBSXnI5bjdrIUhOaShnO2ZfK0hYJSQqMmo3
MmJEcHF2O2Y7QSh1KUx6SXBWWW5HRj19Y3F1YHoqcnpzKUR2Cnp0I3tBTzxzOU1ZPTdfWV54SXNP
RSRRUy13P0pvXmYlbWdPd25OR0wmJDd8PjktZ1czQHlFcXxgOUMoPSo9R1RTSQp6XjA1N1FrQnlv
eislOFg9cHtpXn5lc0JKPns3X1VyIzVYfmFPSkR2SmcocGlZOThNPTQ5eSUram8xQj9mblhHMEUK
elJ4UTt0UEIjeyhNalE5PCRacSljRGtpQCR1cDYtKTFUU3B7VkhGMXxBRzNlKFVmQU93eWhnQk0r
WS1sK2VtI1A+CnopJHNOSlZJez19amwxSj18MEtmbzhgRnFjbFFMP001Rnxibm5HK3IlWWM7OHJx
MSFodGIjZzIrbmpvUl5aZWU7awp6Qz1uZn16NEpPfFY5UkNUZSNDUilRUjJGMGVOQ242ZHhmZF5Y
PzNTdGBlXyR9c1EyMWI8SSRUWmZCP09rPEJ9a1gKejluV1JgTHorPW9qXkdCYE5SbkhkK3I5WUwq
eT5YIXltai1zQzR1YjdTbyQpMzVmfVYoaGYmK2ltcXs0YFdZeU9wCnphOVVBJGdwNDwzKH1OR1o1
VGZoNF90WlAxejFmTEx1OUU5bXImOTxXbk5kaFpRNlZWVGk1O2UpNl4xNnskcDkqQgp6aCQ3ZTAq
OHA7c3FVI0VtRyF4LUhwTUBsYW56ZyV1TXhpR2xiYjZPbUljPz80bCZJYHxoWH0tYnVRK2hEQSFN
cXQKejxtPWskSmV+QDwxRn4qJWZaejZ8eGFPM25LbjRCazQxVFNjeWpHQH1pfnA5eE9mTT8od19Y
fXBeNXRwSE1lTGV7CnptdEo0aS1lcTZ7M2lzO1FgZSFAMClIVm84QWo+emZuVVp9RikkbVMzNiR5
VkRyaT1MWjR9eTNWYytFezxPdTZ7RAp6T0M0bHtMRHh0OCN1TjNvKWRtK1BOVkppPEheemNMK3pV
KSUoWVh1RyNuMnJWbm1vIyQwMmpNa3tIJjlwNDc7cSkKej4qM3hIWmB+bzk2V0hpelplKThkcmVX
NWo9Z1FxdWx5fClHSDw9dzJMelojbkxYWkcoKz5nPnF5em5VSkcpP2RRCnppNHtuND1CaSZ4Rj5Y
dFJRbG5udFowa2VBeHNaUG5paTJQNzhDP3c3Q3YkdWFTQiRDUigmSSkpZWJfc19uNT9ePQp6OVcl
a3kwSjM8eWVQZEVvYmNDJDAxJWBwUHZ+RVBiWGcjRkZaSWgxOVdmVUhiaVlPRmBhVzBsfjYyc3Jo
T3RpZiMKekI0fWBuTD00Nmc0cmtmUENJMlgxYWIxd1RlSmhzdHJZIWRneUEhISY4UyFKdGlNeVk4
ZUdsTEF4cWglX20qOVQ2CnpNXlR0UGNTN31TVzZpQ1pkZk4ldHA8ckYxdHw2UGNMKE8lY0A5Z1dC
WFhAYCtKPko3UTRsejxKIVktNWc3emQjUgp6YyY4UUgtOFNiZT9ve1VlVX45N3lZQTJJQ3I+V3lS
O3F3JEhJfXRCaTNDT1A+Q3NYUXMjbVd0MWAyajtpU2x9elYKemU1PXgoRGRDQWFTdyM2LW4mTHpP
ZHlWbnZ4bCYqRy1lI3UhPmdzOHZONmh5Mk5YMiUhUTcxWTNTZkhqT2RFY2NtCnpiNDJRfGt0M1FC
aWV0SkZEVjhHMHdqO2c+TSlYJXdJZWRHSzBLU0t5ejNla3hyaGFVPClKb3tIcnMzVXg8JCl2ZAp6
ZjlWRUMxVmpiYyZLaUJ6cVNae1lCVitgOFh2ZHVCeW09d2VveTlzYXZzSXRhYkUlV1hKLXMxajgh
bzl1JihHYSUKeilqV008VmgrUTY5SjM0XlErTFZBLTxxMiNTRHRzWXl8I281RHRvT0Y0KjkwRShE
ZmU9NjtIMEZaaHUqdEZNazVTCnpXMVpfV3YkeH45MlJxaFJtRHxEeVZuVm4yLTNeJXM3XmB6aC1O
YG9BRlM1M19eeShaZjt9Yk56KT1CbGg/MXRjbwp6MjkkNipHYGstPlcwcT5gZlA/Y1ZsX1IrNTcz
JklZO3JQKz9KPndHJSh8ditqUk9AbnByPVMzZG1efmxHbW5WUXQKejBfUipmXjdRRDlzaEIjNkUl
P0I+YiskJEBfNWVZVDRCT2FXRipYMW1SPTtxMS1rZld+RXllZG1wLTh2Vi1oSCMpCnokbHkpNzkp
M1B+WTJsPXY/YipAME1lZGVrd0soIVQzLWpkdFF6dEohUlFxQEUlQV8jcjEkYncyQmA0IU97dDxl
Xgp6JTElUClBcnJGQUp3ZzxzcFZ2TF9ucmAqU3A4IW5yR2YmS1FuMk56U3VNU0NBOy0qPntQRTEy
UjloVWZrOzY1UkcKem9gPiRreDM+WDdFR0xLSkJScnopUj51PCNPMSQmaGlndFUmKTFKNFBld3s/
bD1ydmZuTVhFdzMxd2tRYkhCN3N2CnolcVJSNkB4fUpGJDs+fDEjNG5Nfit+cD1JdkcoT3lHNjVJ
XjBFUDc5ZH1mSERBPEckWmIrSy07Km1NNTdUQSE7LQp6T1NOPiRkaF5ueig2aX4oK3N0TGlrQl4/
eiQxZlklVSY+TjxfJU5gU151Mz9TWT8yNnthR1VUcko/RWIkSyE3ZjwKekkxaUtiKW4pZiRDSD1h
dTx3IUI1Y15zSn5tIXNWZ01QblptY2h7ZFUxZVZ9ZT08cHBqQFhnKDQkfWQ/KUBlQ0JMCnoqJFZU
Q3Q1LUBXdXh3Pmd1eTh+PUU1aXVUJUdsSit6e3tfKWowS2JJM0ZsWEB5dnYoPFBUTiVEVTdIfDdo
eiQjTgp6ejxNfnliLW9hdE1tUy0zbCVzbkJBT0B7emBnXjFTayRFdkl4NHNRI0Q0el4oQCZnNlhI
OFYoZno5MWNiRz5hNHUKekl1VXBxP0ttM344TjdlU1lGV3J8OWVSRiZIXylFRHN9R0E8bWZQT0wk
eyFtdiVyYXxxbkM/JmYpJDkjTFIpIXpLCno+IWJEZDQyNHpsJiNXUDg1ezVKMzllUnI0Wm1iQ3ol
TkZ1R0x0YjhuJF4qN19lKCpzRTRDbEcpTiRkVEomYj5+Jgp6VyNZcCEwbHMpOUw8KyZCaD0paT1X
fER6QVByd0s5JXFQR007UiVvPnpGRH5OKXA8TjFzK2QxISR2WUFGNW83ZUQKelgyKnVFdGgkTS09
NnNmRFR8MyV9aXhRbjFnTEpiY2loMEQ8KkFZVlVyaTNGbj1QazMrOXNnbkBQNVlwSlJoTEV5Cnpu
dlAzSXMkN3N0cmd3Iy0lbCo3OFNMZFp6OG5oPmo2dDVnTXNyY3dUe2VQdz1HK151Nz1HY1l0NnVa
dl9VfXpzMAp6akZoekFTNEx5RmR6aSF+ZiY0KTBQTmklZlFrZHx+LXpnZU44JHh7TTB8TEN1UyFN
MElqZj5JPU9KJng/NEp0RE8Kej9yTHs4Znw0VWsjfXcob2podFdycEJBSyZRJXx+bldySko1NnNW
JTFBVmk3PFU4alFNP21vd29ve1BtajBqQmowCnpOclZodkRxS2k8THVPIX4wT24jWlFuRkZjO3Mp
cEthfWY+SHktV3xvP3tXIyp2OWhTOG9SWnUyOElrbUglQz53Ywp6VjZ3M35DZU5WKElzYV54Vnxo
WUtjajN2fmFpVzFDMHdVOExAZGxUI3QtNHA8RkFhKHByK2shcGFFZmgqWSo4PE4KemBMQDNFVnRK
KGdIZmt0YyFeYXdnWVh6TlcxfCNJdndXd0luVWNIYzIhQl8kR2FsQ35fbX0tdDZBcyU1aDhATChZ
CnokdWhJSSZkVkFAO01IYVhecURpVkw2JGVeJG1jTjYqMypPUjVnTXhCKll4cSkxYClNTTNANlRE
VU9STHE9QEVDTwp6VXY2NCpfdCUtUGxUdEt5dFZNZ2x4NGVSJmtNY2RoRWFeb2ttJndpSXktJXN8
Z1RCQlFaTGBFVHQ5JkJUY0pmdGwKekIxdE9pT0EkI1dzVztlIz97NFcwUTdpXnIob19hX2xsZ2Bp
WmY7VH1pOz0rQUhIQWRsJmwwVXRVQk8hR1FMK1FQCnpPYDZyTWFGcCZTekhZTFBCd0kzRiY/N3k9
eDEoNXh2RnVjcWNMfX5eUnh4ZVgpPFN2K2I9MGxLMUNeIWxWdHdXJQp6YXN9LTdXZz0halBmOUZg
JDctdmheYlp3ZmFyTmBmYVchUnV8SkBQdDFrRUNfWSVQJW5kV0luRkM3Vip6ezxLYkEKejlpOEEh
PTZVemspOGIxbm1kUUlJTFJ5YnVTQkQteHYkeihDMl8kP015WmkhRE4lU2tJT0Mybj1BZ0BfXzNZ
bj54CnpfeHJSYHotJkNNcjhkT2FsSG9qWFhtaSRyXk0oaWNNMC1PfnliTG43ZjB2eHF4OW1VN1NM
ezJgO20+R1V5bkN0Rgp6clNHUXkqfmUwRl9eMENEZm16MEVXPmt9SVgtcT9UTVN5MnJfdz9zUHhB
Y2RKKiNkLSNtLVRKTXhycVJfeTg+eEsKeno9T2t2VFFIOzh3PD5ZPmtlbnhBSnVVPkp0O0dLI2M7
bU05UlF5NmM8X1c7cW9NYnlNYWo0SUNjclFiM2Z4Xmw+CnpJNDVVUChKcUR2dDYjM2E7a1J5bjEh
O1VsXzEjbl94T1NZaT1TRyt+Wn5pdnlQZWQpVHlXVWVyVilUJTAzUEMpewp6R3cjNypXI14ofUQw
Ung4RD5JcmR6RFh5UT9jX2M3cSVsTURQRCpIOXpCSjhyK3ZpKGZCNVkhemghb3xsVV5KXlQKelFm
fFJfX007NEltRF9maGEkcW9kUm5EODFHRU10PjUhaDhhR3Q+VzNyKFV8QHdMTjxrYnZJUlZCMHBq
XmA0QjZkCnpzTHByMkp1PGpQQkJpM3pAPzEpJW9HVk4/SSlHVHwwYGgqNTI7V0VnMmZoTDwwVzRi
XjhOVCp0T1dlfVpvfmJTXwp6JmFmTSozKUtAfnRxOXFhcHQoJDdXXnR4Sy0jeFJ1NTtxV0FIKlp+
YWMhN2FYenF6QE5WTEw1Ul5hT3Bldnx0NFQKemNiNlB9eTZqPnxWdmBIfGR4c2puWlE3Qlh1YjVs
PUYyLThzJmpTK3VaYDA/RVBMP1ZrbCR8X1pqbFF+WHp0VjBlCnomdVBJQT8tYlMle216Pms1PiQ1
fDBUO3d+WV9FX3IzaHx0Zz5rMzt8RDFedDspN18lYmdIMyY0PjVOYDJXMz9QdQp6S1NFbDdGd3U9
cXZJUC0qSzU0UUBtaCR6QUdRKU11T2J1QmR6VSFKPVVGKXBQRHRoc2JSenBsOTN9ZU1pV05CdEAK
elMxO2swYW07OHgqQ0VDV3YzNXY3d1YtTnVud0sqPT5XQUw/Wm5zM2ZHeEtkVTQlfV9gSFFUOHB7
RmJkSlYyO1N1CnojQXN6I2Q7alBQYSpkR0N3U3BwOzY3QGQhUSZEPzJyZloxc096bWhAcWEkSjJO
MUUlalAwPTYrYHdqMjstYmpoKQp6d1VnNUs3bGN7Zj9ARXJPYllCcytsZl5vbV9OajRRZjQ7O2lB
cS1VT0kpO2ZVMkVnQnp3V2QmWiQxKlEkMzNmZW4Keil8KHFYOXd8SUtIKVRQM3YwTzg7byp8dyhy
QGRxTD1DJipeRFpZXkhWVVlqME9TcTFeQXp5Jjh1VFMoOFBXejtKCnpGPlJJSkx8ZHZjPnswfm8p
Y0d9QXtUa35NM3MkVXRqWCZ+RFMqUzwtO3xxfXReKnRrRWUyOEU2dUk0VTJCQFpLNAp6OX0mQFcz
ckNsamhVM210KGRvJUAwazd7ZlJAYWY8eG1FNnM/dSRFbElwYTA4TzRJdHxuO0NmV0ImPE9LQnxH
QnwKejYwUDtLOEh1djRnIW57Nk1DM1d1VUxzfExSWCtZa2lENFV9P1QrX0QmaTtmOzc0NiN8ejIk
LVAoZjdxNiM1YU11CnpOOz1ISz95MjZwVSZoYk9DaHN6P0Y1alRiR08jX0t3IVpXSGUxNmxrSmF7
PmxgNXs1a15pS1ZwWiY8JSpXfHdwSwp6cjF7TSlxWVckfCUtUTMzUEYqS3ZzZ1J+dmU+IVo2emJW
OHVKIyFhJWY/SG9MU34jSVMoVkcoOyszMXdOd0QxSjwKelI1ISZQKXE+OWlhcj5Ge14+YjkraXN0
Mz55Q2FsOHF0Q1E7OHtjfW9OX0E+fCY4Tyk0bEItUShSd1FtK3FQcWRiCnozfUlHa2ZPWjxZdT9R
OEpmJjxuRUhuMShjU0UjSHxNPGRtSjRwT2pvIX5Jb0hWflJvazJ8Iz0tJFNHRFhsQSNnKwp6X0Vw
PHoyIzkpI2Rkdilran55eWNXRD1DflpOSUF3cDdOcVRQZG1hbkpxX0I2aFVtWmw9RSsoQXheTTsz
WFVpOTAKencpb24qdFpMVjxzc2FaPlZXJURCSnR1R1pzcms1fno3RTVEMEsxbUdFUzttUz1kPVg+
NSNfYntmXm50KXlFZV82Cnped2l5aG1ZWkFNeyRuKWY3anhHRV4wancwe2FhSGl0IUhKZ1d1bCM4
cSVkUiZEZX14MHVhbmcpNXxgdHg/SiQ9TQp6UmN6KzVwTEpPZHQ/P3FAVSo8KyVgMURYbnJuMGtx
WCo4VFNrJFZEY3FJK0x4KTQ7OTJBO3BRazk8dElHdXslTEEKejh+P25kaig9UGc/dG1aTipSflRL
QUFWJUtGalpmPyZfQXh+K01iPjsyUnV7VT5qLTdadVgxaEdlX2htZnJ8UzFuCnpYO0lJb1dpQ0pa
SyE3MnJmJjQ9X2R2UVIjKGQ2MiNVYlI/RWY3U2syaGsqO0tCQmcoditzPE9NR2c0MGRkeik5Qwp6
LUR9TDkqPzg/Iylze1RRJSNKRTUrfX1DMU02amxzekd7eDY2PiliOXswUT02eHd3Uj1QRSV8fXZN
PUxII05tWkwKekduWFZuQ0BpemM7ZzVLQyozYSE9c1gwISo1ZDk1cDZ6MzxwekYxNDVCckFrZ1Z8
MT4rP1ZPNCpab19iWHFSZUN8CnpFWUtybGcoWmB6KjRTPlcjPTNUN2Z1Vz0pQlc3MXZVXjtia1Q1
YCVIRUpfR0ktfihfIVdFOXVZRiNtWl9EZHE3agp6SGlVS0IqKF96MVF9RXNEeDV8eGw/fnQjRG5M
NV5ucFAxVl9hdkUlQVc9KUdNTkB1elhjUGQkcm1BRmZyPDZQeDYKejxYISNzLVVOMG4mamhOa0k4
M0lfRHdxPEBBUlJuVURHZTl3ckYzMVpwcFpUfC0oRyomVElrQ1lXcyRMQkpudl5PCnopdnVpMiRh
Xk91Q1NjfGZmfElnTFBWQykwSl9GNF8tcTgmST99OHRScj9FNCRTJjl4Kk40KngjJH5YPm13ajt6
Ugp6QWo5VXRERUBJRXV6bnc3PDF7OFgle05AUlgzOF98My18RiRsRVBVY0c0SHg9YE1PPH12dkd9
TT1qc0FgQTRCOCMKej0tSSpKQlg/WCo9fXlhWExpMHp5VSk/aGxCYCtfdVc9JjZUajtgbkxtbTtg
S20pUD9jUHAqT3dUMlY7ekBQMHxJCnpBZ0shb2ZQeXwpSi0pMGxLa2lOPlYyNXgkMFohMjhHUnlp
JW1neDl3R3MjTHpXeSFVQTdrfXlte34yR0F4YSNiMwp6VlNvPmZrMT5wUDFjalJMKUlQcz1RWVpk
I1pwZExGIWRWSGVHb2pkWiszYCRkaWhsKH1jMj82NHFHTjZQbm5nUjIKeklkWjNqPWFBMFkzO2l1
fjgpbEg/STxYP0FCMXZ+QSlrRzE2V0BQKHVNd1hYNCtSaypUdmRDUFB5SVZwKGZCSVQlCnpQNlAy
e1VndU9TXj10ZEcrPmJaQiFEeG8qZ19EVF9PKHJkQ1RNd3B2PzJoSDdGSiliSUtiNHJyNDIrKnJI
QCgrawp6PjxJbigpNkdva0ktKzBNTTlGMER1MEV4SylLJUp4OztzTWpkcS0haHEpUWUpNDdUcUJq
TCpiUnlNeFdlK0lHJCUKejh8ZWRSdG1NPnIkZFNXcmtqREVmMzgmODB1WD9XPzNjbCh5WTR7Un1W
KSQ+R1gqR1FPM1dzbylRIUpYRztKJENQCno+dFFOV0Y/ej8/e3JvalNNe0lgam9XVUAkV2MtWkJl
TSNZUUAoK3NAaERJKCF6T25nWUFuJnl+SCVefSpMLXZsVAp6aypxMChhRisjMzRefjduWXRsJjJX
V3ohKkxTfVR5TVhHYSo+fHkwVCNAa2piP1FYZiV7ITc5R2p4M1RYLVdQZmIKemFiNjM8SXU5I3tY
amEhRm92cHVXQzEmO0JNP0loMDFuMFVfdGRyQz4yTSo9Z0NxdiheZ0QpeWorP1k0MlNyPn5kCnp7
c3VMfkZwPGJSQmlZRisyKzZlPGAmVXAtejNOQX47QiRBM3JkRDBpQE9rczstNVlYQ2FeP1lzcV93
PXFhV3FSZAp6eSEtUkp5IUAkdmdWVn4qZW1CaEBxaF5nc0YoR0ZEOyNMIXExUk5SNVNVMCpPYy11
QEttaVlETnQoLTlgeVlTRjAKekBSMnlwclA9QzApcytLal4obk00WTFWIUQhJnpSb1gxYGZFMVQh
PUx5P3g1TStLUHpUT0J+ZH5TRWQ0X3VfQUc5CnpXfWpaeEZgc2h+fDh6K0Z3S0hBMjlPVFgyRUxe
b0I/QjBCRkxtQENWe1BGOGhhZ1ByeDwrc1doWWNEZFRrNzRyVAp6TVZEbkVjLUwtS0JeNj8rSmNo
JTs4WHlzcGhPNCFAYDt3dy1ZWD84NEI5b3c7Zyl5Tmx1dHpqJWlEJiF6N1Q9MUYKemxXZGlybXl3
MU9EZlJPPzIkamQ3VWtSMTI5NF9kKmU2SCh9T3hVRW93YVY7VmFXM2wjTk9CR2MhZkAlWUQ/WGJ+
CnpuP0l2dDV9VlBLI2VJK1dKVGFWIT5ReWdJN31QNkUjIW8jY3MlKDhXIypTcFhvRjBPQ2J5M2It
eyE2a0B3MW49cAp6UiVIPks1fGZ6ay1aLTlYQ0pTJFlYNGpYRW1nRUElQyFudzxNIWtHS2I4ekNM
Kj5qX35DM1J4MjwhPlk4My0tM2IKejxMbFh0dWlMNEo3PVBIRG16clUybzd1K1FOJWN3aTE3fSRC
T1hSSlp4Nj4qRyl9Q0kmYz9xYGtDLWk5cVNkfmc0CnpHb30oZWtwcFI2RCF5VSFweHVLPHlndHE2
IVo5ZmdXNVVoUTlLflk9dUV1O0h1ezsyUilxRnooQ1IwLXZ5VkUwVQp6RGUhWDwlcDl+NEJqb0Mo
ODd0SEBkUW5rKiFZNVdrP1d9ZFV1JFZeSiZSOE5aSiNqdXoyJSRNITVyVENXRExVc1gKekY7Jm1z
PCp9PVVAdlliSCU9Zmk7NnB2YHVZUntjeWprKS13UEFoM3AwWHtxK3FSYT89cjU0U2dkI1dBZkA/
RD5RCnpPSylQTVQyKXZ+aVcoa1l2Ul88NmRmI0VoQ2R8bXI1R21PS3FHPysyKyVXJCQtbn5wSHpC
TDduPVNhbjZzan0jNAp6PFYyazhXRkQ9JjlnRiNMeF9QaC1RSkh9I01YNkdWRlVATmsxUGBsNlg8
cEVQeldtQmkkUX1MKEBneyRMPDsjYkMKelApJmxFJlpXZi1gOSY/bHRGJityWi1sfl9rUnBrKFlW
JXt+an0qNyN0T2VpX0MhJXtlSkVnQSRlMCgtZVVXJC1aCnpmND1vREk8Sj0hS0x+RDNeTkw3ZjIq
WWhReHtLUGlLWENzVjUkZkJsYThUREEtfWhYTnwwUEFlbD1LMmdzMFVwMwp6UWVUYipgdmZufnEp
WXlEdHlPOF9FIWA7bDh8XnEmb2RBTldicT9RKnMzZUl1VWJeOTVkKElTQF9GPnw+WWZJOTwKekxB
Ukh7YHFGUH5DZC1uZnZhdmNWRU1MOVo4TDRrMHp1MTJRNDZpR0gleCt6TmY7IWY8NjVHYyQ5dUhS
KFVGVCUyCnohc25TdHo5VDt4X3xnQE5hRWdyOS1oSFdYQmZneFl4PzhMWjQhWUNkQlBWbDlMU1RH
LW9ZR3NCZT43YVo8R3xPUAp6Pj1rNlhwbXNrVVQ4WE1nRUxoQVlXVkd4cjsocmpyOzlgXzF0Nyh3
UkB5QGQ+Nz5FN358Q2FqMmhxXmdkbn08Qm4Kek09PWNoSW1vcyNLWWM4OVlNR1JoVyZyUXU9Tm9T
dDQ4MXE8Tj4jPkl3ZCEpdk5ZNDRpZS1fUyNKZEl5R0MtQ1JLCnpqbEI3fD5YclBmPX49UipEfD9v
bj1vNWZWUjxKWU1rXiFOPEYzOEtCYiF3aC10K18mfTRgcCFsMnJQOSl5ZW1LYAp6ZH5pNiZ6O1dN
RWBvaWktKENPUW5RRjc5ezcpO1luSTd5X18oUldtUTw4bTkrR2xCPTZwWDwzPSo5aFh0KyVSYVUK
eiZVO0tOR2A0R2E8cyRyUiY9Rn5RRXR+OUhDdXspbUFtb1IyYmNpKkQ0UXU8dUNyXiZ6SW1rVGY2
T2dBSldONyhWCnpoOE51UTFpWjE8RypISVR5YiMpbURxJH0kJURyQ3VhbSQ7T0dqKGZMWCpmdWFV
eXAqNWUlfkduZH0jYU51Q09LOAp6MyNzdTgoaT1BKEpFKFRSVXgxcjxBJHZpemklfTteZTE4TVU1
PVhxUStgcjwhUnl1aENkfFZBM0xAeiZ9SGVnKFoKeiZPLXg8RjtTc2FgOzxWUjJ7JnpMSmw0ZDgx
Rz98fXpyQE94S0hhY1c0PHM1Jjc9JkZWTDU5NFowRXdvbjEwUipnCnpAZH5iZChlMl51ektjVCVF
SG1ObWtqaUB9bHk1NT0jdH1FcXUtVjVqJUYlKXBPPzZrfS1kXzArSHsleC1qRyM0SAp6PXc9UzBF
O1o/bUFkOFJ9V0s+QFUyNlpJNTRHVDhtM0thKShuQHIxfXs8PC0kODBadlE1WFFfUHorc1gxeXo/
PUcKeit6WHZPMGRlPklvQDZFa3dXPjhmKFdiMVBgbiFEeDtrfXBRbE82aWc8YTlxUnJxQW9vPVIj
ckFRIT8pb0Frc0ktCnpLXyMycGZtRyM2ciErc1B4ZWp8UmxTRnZGNm16UXNuUW1zbzw1NXhlQ0sh
MVEpeCQzJHc9Rzk0bTswRHB1SCtFNQp6XncrKnMjdlQ0QlNaSHljSVdpdlcodzFrZnNHNkVoUG1y
ZkF6JCRYZDh1SXQpJSo1TyEkQ2B7WEUrWTF0OWBPOTQKekZnR1R2ZDlPVWE1UTV4P2pCRGA+SlFy
eT0yZy1RQ1heYF5ieEl2QTU/ezxHR3U2TzBmczs8M3JgcSFgR3A+ZUElCnpGPkxxemRrJihtM2pH
aV9EcVRjJHpnWismYTlsXko/Pm92I0U4ODNOIVcjdDIxbVdyN2l8cXszc2xgKm9eTU17Vgp6dyhr
ZThRWGFQRE1TQEdfOXkwVFM8T0V7NT5idWM+Uy1UM0B0ckBFbHN6MGc7YC12Ml4jRiM3P2dAWXBz
cSNEd0IKejghRFE4ZDdLdyNjbyl6dm1xSjZ7Nk5aQFdYdzhTMzJqMSQ2KE91ZU9ycldyJis9UUZh
WCRGKkQqfFQoZyRzNEw3CnpfI2pyQGp9Wkd6X3RQIUstaXwzbjtrQSk9PCVEN1hCMC0oPm5jU2Aq
cWRMal5IZHI1c1BqUnhDVWVucnVzUVg7SQp6ZjcxKzQlMGNfJSReNm9YQ3hDZEhFZkQycGBsN0tT
KUE9KEBvNHZtQi1BR3RWQml8Nlk+UDs0Zno2LWFlTjJrO28KemZOfU9LOzd5OGIkT3J+JkwmeF5q
PDk0MlVVOHwlfihhUE14M3czZSRTaSFmdyYtO2V1enYwRVBuI3dAbmVmJTh6CnpHRUVBSTkkMlAt
WjFeQDFEajc2UCUpV2xhenJGUmsqfCQ1YD0/ZjVTKjR4VlBPX24tVXcmITteI2t1UjkycFdHXwp6
KiQ8Y3xGeGBBYzhRdj8zclE+d1ptbT9Ge1plT1l7QTtiekYxWHt6fTFnJXh7Jj14bzw0Rn09a09Y
TjhrVTMoYlQKejNvN2V0PyRLaWdTTU9JeXFvVUxoUEh9QiNWUWdxPUFiZyY/Q08kY0tFfmswdFBz
dHZWUlghJkBJYGEwUW4jaFUkCnpyQntJZCokWnpOe3h4VXNSfShoaj1+TEJhNzMwPkVURCQjQnFC
K08kdCViWFkyczNNYG12I1BNezZEYER2flU/ZAp6YTxEej5LWXMjNWJ7ditabkdjIUtNbDZTZy1G
OVQ1Jnh3cndSYmB7WlUkam91Wj9GQnNYQ35jN0BIVFl7bkI2QCQKek9RJk1JTVF+SjIkVmUkbTg0
SkVnQ2RKRF4xTXN7O0xPdF5PUld5bXQ2SXImKSVkPDU1UWdpJlpxSVF+Qk0lOz58CnpucE5NdyR2
a19Xa2A1cWZJY3o9d1NiSiNZX0c2MUA4eUU/ZzBkbWF9O3N0dn5LbDZxIVg3PGB3bm9GeUhRRHw7
bwp6SzJuXnR6RSFmamEmNnVmWHxmU2FxSU5yTmFHZil2bX07ODY/S28weDJvUllXKWF2I18kUj5M
eSoxcXIxb2xgeEAKekk+bnxucWx8R3ZKSWJZSjdGZzY8VVV4NCQjbz81JldUSERralEyeDtWWkJj
Q1ZhbEFwQT00R3swI2VwOUhFQCFgCno/NWd3ZCNva1NHKTNEbnZMX244KU0wZk87VmMmLUNqKmZj
KXlLU0BNeHhASFpHcSt0c0V2Rzg5aGY5V0F5K2xpMgp6WlFaZFpzclg7TjdMRGZTTHhJfGM1UENW
V3skcHY2WjRjOC1pWkolODtNLWszIWJlPSUkR1VSVCtTZ319OXB2SygKenZpKUwqM0hPR0FaaTIt
SWUocUQ9SGFOeHRrciRtWHtLQHU5Tz5URW42ZGVXRSFNUkBOYy14RDdWTGN0aDhsTWtTCno5cm5W
czdCUkQhZGkwIWduUFZTQDtlNXEydEArRCp5WDl6WTA+Nl9OTks4IVEra0lTaHBNMylLeF5mR3dX
PnJQWgp6biRyfC15ZWxyN0M9eHF+OXZBcTA4NEEpJmYoVypAaHRSO3ZYWTsxUnRxc3pyO0wjTUhU
alliQ2Awalk+OT5VcFQKelBHQkVTeWxMKEhCdWlLK25nM0xqMFA2YFROdXs1bzQjSUhUY2dKdXVq
bVpnPU88S1pWcTxeTzIlMyl5JlkmfCR5Cnooenl6TVUmb296fDF4VSZERTtHQ2dyQCRpYElnbUgp
RCp7TGFQaTNDMn5SbSQrdmNZbUY0eVZZcXkqRXJiMDFVcgp6YWxJPXs2UkJHS0cxZHlme3N6b2Bg
M2dMfnorYnVjMHU2WXgzdzgtOSk4MUNLdj8rQTNYUD5xU3A4I0w7dD85Z2cKekA+aT1VQ2N6VSFt
fFV2bHUtX3tCcjJOZ1Z2fWQzVHxLcjtnYW5iZklpVFpAfnZpcXs1TX1xMGBrZmVlWVFUMkE7Cnpy
aD09e3RETys7b2t6T3lYX3QoTTN0VVl6JnA+bWk/K05eZTFNfiFhX2gmMG1La29AfV5iTmxLZiFn
I3pQJjR8egp6JkJ8PnJ6Tmd0IUMmJi1GP0tTe2JDd1leQnBGZ0d0LVJ3WDAmbTU+QEg5bnFQRih2
Nip5MWZ2V3kkO1dQWG5wcWMKei1wenNOMn5kM0gyKVNIQ2FkWU9VcU8+OVQxYndTd28kbzUtcDBk
R1k8VmBnUGEhS0YxbmRuRk1SVzk2ZUFFc3dPCnpuO3gqMWRWPl4qUTxPVmB3alNSeCtESFJSNjRE
TmomM3FIV1hoVVN9KmgoWnk9WEU0c283IStzYlE/cGVEPUhJSQp6UDRPbihpQTtEcGNrV3QxSnF+
e0xJbFdrJDIqUz9EcDMmNTsrLUhZeXhHSDtqX3J8eWFaQnZWKWI/QDd0aShnJDsKeipvdWReWWlC
enFebDIrWXs8Rkl6K2FeeCpWWF9HVlkpTnxCQTZ6OUtXWlg8WTk+QHl6PClgfDsmejx+eT9pfVRO
Cno4fVpSRGZKdkxTZjw7MDVATXdHSGU2d21WPlg+WV8/eCFBM2c0MmZZdCt4Y3s/WGcxQFdIMD9L
QHlUWnxSQW5GYwp6TlNDU0VNKiNgdTk/ZVVHX3Ywb2NmX3ZOZGpyQlVIWHVsfXBfX2gpUlcmJXxi
NX5Mb28zRGEkdSpLS3l1NihFTF8KeldqK1A3K0Q5QntoaGliZnJ8UV5XV2tYMUpLMEY1QEptZ0FA
TT9QQXdpS2diOHJBfmUySk02Mk16dnAmZEA/TjRqCnphdnhOMkJRJlU8OWh1a15eO2BMeFdrMUIk
MFFiR3xyTFdzNDskN2NDXmc0OHA/SmNDWmBWME0xbW5yJDNYdTlZcQp6PiRsI3tQc3peR0F5RUgk
VzNKQCtlenxwM2dLOSNAMjNaaTF8TVhVamtAUyVMRVolbVd1OHE/PjZzfj1FXj52bVAKeikxOXxu
T0koSHh2NW1QbTJ6dl4wZTlFd0FNaz5rcGAmdEd3Kz8+MEo8eHxzYihgLVc8OWRjcWNCeXBSckVa
SF4zCnohNz1jdEA2SXhCWlJkbGZWYlpOdUN2eF9HQjNUd243dGFKMFEtYU0pRGBMSUhnQFo3M0ZZ
dUkqUVd2ZWhfKm5ATgp6TDhNMXtvNWpffHlRbWZQM3tMcU8lfkhzbHtCQEZBVX17WldvSE52ZjQ3
JUdoaX4xbT0rIV5TRG00U1NzcnBRZCkKemBzekJMNDg0Nlc3TV9iOyZQK3BoJjNSWHpAM3Z5MklK
YFR8ZSFqWkJsemt8SD85e3VXPmJaMHJgXihWcXlJcnM1CnpTens4YihId24hJHBgUH4qdGVQWEN4
VTVqeFBGbkBqJjxjdUIjIUliVUZxQXxIezNVLXBMNk4jblQjYHklSG9+VAp6dWdIP0FBdXg8VnIx
T3tOJjNuTStTMXpBfHRFWFNMeT5RZE1edEU/U0pIVEM5UzFCTVk+Nl9VSjxYeFVzXyVmeXoKemcy
XiYrcTNxe1dqcSt+T0IpNH4xWjFPJGpibmY7UGopNSVvdStDPmZ0ZzA8UyF1JmwkQ0h0ZnEhc2x5
IUY+JCpYCno2XzYjamR5PCR6VXVgcncjcU1VQCp7SSN9XkhYbzdNU3Jvd0NTaWphP1hKRnUmdDlW
VzVRY2ZQdFlXQXlxJkJMUQp6TjJXJWs0b2g1PD1AfHFVQkhxdT0pfnolfEF0VV9aTHNwVT9JNj5W
KSsxTXI0RD9FMndpJmFIMHBtbn1tYV4yPkwKenFDR0BnaEkpTldjMDRAJmxWKF5aJk9aTEJ0eGFf
Wm02ZGdAP0Z8MTAwd14td1lwPSl0IVVnUXgqcVFvZno2a0RLCnpuZjZfXzwpPDVHSEdnMkhaYH42
VD1rS1BWWWhWI2R2eV4lcDlZeSRrRm8tb3NASnZ1Mz87cyQqY0RqQ2heP1J7eQp6ays5d0QpP3g8
ekB4SzNMWjY/Tm03amBDRnF1XmR1cnU1N3VnYX1nXj9gTjFVNlNlcjEtZzIwNXhHN1dhYno+SlgK
emBRK0d6YXY+SkZPdDZMVG9tPDVmSjExQURjdUlONkJmZldtcEJ2ZTVnYEpDTlFSZV9taW1Cd3h3
Pn5YLTJ6bGI2CnpUZCs7aTdSVE88enc/KW5zdyVoU0ZYdz4rTG81KVU7U090cWJjd144UGhYKm4q
TDJaN3VBYmJoKWg3VVVjTGMzQAp6PDk8cFhKNWlJZyFwVVRkKUd5cTlgUXhpYGBlcTVrJUh5TDUt
bCgjZDU1eCl3OFpGY0FLRER5WDFZcytkXzNeZGEKelF0cEZAVWY1MEtYT2tJdXMwfEZzZT1aWjU+
QXtNUUF1ODYyKzY9STNVOSNNUXlsWXNCY1Q2UWt5WCFrWFRkVDUhCnpadTdMb1pMPHVWTX1aMyRP
VzdYRmc2JU53WGxtRVNOfHFLIWlwPG5RK35XOUc8PkpINk4jYztqS0RtbSRAbj9UdQp6ZkZ8QjI5
azx3YnJWdyFVR1o9NDAzT1VfUl5IUl9ySVVRSGtUMn5oRkQ+NktBaVRCWWoraXY+diVlVm9MZCQ7
PzcKeikxNnpyRT9uYlgoY1FhRmZ0bmolRTtxdWhTVkdJV2R6UCVAcWFSMHZ6QmMlTT8jPjZ9YWd+
ZUs5Wnh7UlFjd3VECnpTVj4tU3ZMMyFxTnpFbypOTn18SCtjTktFNF5sUHNmfGB6QFpqPHJhcjNG
N1JeZ3VjTSNRI0NvZHE9YlYjKCkxJgp6Wk1DSXpwZVdNVC1uQlBYd1d+SUBUYnROPkNRNENpdn1W
b05OKVVWUlMkbTU7VnBEX3wzNmI5VXtMWCFUPWw8VUoKekEzNkNhfDhVOyM+dn4/Vj1pflhqPmB3
S2ZLKksjVndURFc1T153c2V7TSNkNlZfRGQmbHg0ciNSX3RxZGpDa3UpCnpZa2YyPmVULWdDWnc0
OV90Jk5mSF54VV5+OSE0IzVhWGtAMDlvfiowJHVVYGJFd3hjM3lnKWN9UE0+S1Q/TXNqRQp6K19L
dURLczRjbkRoLWBLTTsxdVVZSSVldlkkc20/RysoUitIVGVOOzZLJXlQYjVhVShncCVAVlhCVGBI
byZFcz8Kejl9dzZ3dk1iSHBENzVUMWk5PnR9T0otZkJKNCZqVU4lPCl+OU47Y0BvUnc3amZWWHI7
Pnw2a0RzMiFSU3ImbSttCnoqeHNPfkNiblFgQzhublpFdGNzbmg2aFl8cm1Obz9hR1hoMHAwaFhv
YzR6NWEzTFBoQm8qcXx6OzB9MU0peDdhVAp6LTtXYVMmQHByV2g/alJzI1lkPX57NFZocihfbnxj
Xj89eUxEQXlWSVFVQ1k9OH4zfjQqUSlTJCN+P2wpTW1YJVMKekM7JClYNjtzOHdTaVRrWjwwdnoj
VD9HND1KeVpBeHhWMmpOJSMwSD82NzQ/WjFOKyRaQmdCZiZqYl5kRjlQQWl2CnohMCZZZVQ1cndQ
VmYpNk56b2c4bG1pbiMjX1p2NDFWI2g5dU1LVzI0V1NYND5UYFVqO2BzPzdFNURuP2hxdU82Mgp6
U2NlKTNNSUI7I0lNcGd9QnArSiM0TUR2fGdOYkhwbzFJOEx2P1R8OFo9X343YmxOO2tvcUtaazZ1
YGlMNCVkVmEKenNZd29mQ3Y5KiF7OClOMSR2cDlNVEZRfFlxSj1eMXdNQ1hKOTs4VnBTS0lsPjJp
KjNeeHAxWEchJU5yanRZdjhkCnpBMSQ9Q1c3MkE4PDdRZisraV97Z0VNUCVPZmNXfk5vNm08RSNE
TDJjVTgwc2tRMDNgTTF4aWgjfE5TQlBfeH1VRAp6MHMlSVE/M2MpdnIrcFdTTHB9QUQmZUl2QzJa
KzJffExmNFNPTT5zdEshN2xOT3ZUfFdRQGs1UT98YU1DOShgYkYKenBWP3N1V2xYfUBNcSVae3tR
V1loPDR4YypydG50dEJibGppe19wY2M8ZDtUcGpSVWspTktRUVJVaTw3SCp0emlGCnppclZqUEg9
Y3FHMntxQ2haOHI3dDJvU21TeV5gRFU/dGEzVWpMTTxFZDVnKVArNkU8eGd9PVhCN1p0eXQwaFpZ
Zwp6bG51ezZSeENkOWxieCgmRlpaKzltbmpsRE53U3twYDs4RHpqOWQlOUBVezM2R1Z0X1FDc1Bq
QSlkUGM9JXB5SiEKeno8Z0piNlNUUCk9UWJkb3tzJG45dm11dTBmN1BhNlVldmtyKCZnZDdrQ248
LTNtVkhOYVVVMWtYRWJDcGdQXnpFCnpvSj9RPnA+VURpcTI7OUlOclE+PENBaGZ+WnxNbnxqSVh8
TWJ6JGpoS0poaUBRcGp1MktwQEVTIVh+VlBNZWlHbAp6WX1lOTEwS1p2UFg/ZjBneElRMzY7Km1l
eUBKdm1CeTNNbEZRUHIpNlBlYXtxKTN6KF47RWg7bntDcD9lKGdwTzsKelZwYUZqMEtHY0gpSVRU
KUVTYjUpS1dvUCgySio9KzJ0NX1hdT11VCt1PlVuYHlHM1djbTJwUXFQQ0lLIXNFUVl7Cno4UWtq
QEBANmY9JjluXyN4TTs3UkoyQF96ZHx5X09UM2l8PStIKmhNWmdYUVJGeU5GNlliIUh3TFRlYENF
MlVrTgp6Oyp7b0oqcXBaPDxFd1lHQzdzJTl5a0tNJFRzUGtUMilMeGwqLUwyPGAoTTYrKmooTjxF
czdZWUkmQGB3VyNDfkoKelIzTlVkeEQ8Tz5rR3xWX3g0a2clSWVhV1p3K0w0WStAT0tWcnRfXjda
Qm1VTSgzI1llak1pdXhlcF9rbS1AcHFgCnpYcWppKjskKiokekskYl9IWnQyUW49O2tNWEdKX0Rk
JCY4NU1lPns/e0t6PFVPWmdeY1RYdE4oTWd+fEIkN3FBcQp6eEs8KVFyNzBXQ0RPdjM9Kmg/YD1F
Vj5VTzlyUl44eTUmI3FrTjZVVHh7aCRpTldfTEQpakdTUkpKKjRhKkYxKzkKenpMajhnUng3cyp7
c0V8NF99NmJOaitJaEFHeXR2QjJockomdDM9Z0RWbWNlN0VFRD9JamxJcE9hVT1vdDV8UT1YCnol
RHBgciljaX5GX1coRGIlQH1QSlhLVEBmajNHaDZLUzc0MDgmP1UyVVJYMD0mK3IlcDh5JFp7YiNz
bDBsWGNMdQp6cmo0cDgtNX0yZnBOSChfSHBlVWYwNlFNWEZ8c2A/M15SSmg+ZUZTO3FQOWU9Kzg8
VjB0UWZoUmwpY0N6VCV8KDkKek5seExUUlY1I2tZMEY0VzRmSEJyJSZqYWY5LTQqQHJjVTJFMUpE
emwhRT9HVyY1fHNVLUYkam47REBycSRsfFZ2CnplfUVKKG5Ye20zcSZraE1xRHh1STx3OyFUbzls
aHEtLWliI2k2U1dtRz5fZ01wWHRQbjc1THRQXzhjP0oxNUA8bAp6S0w/QTlNIXB+bGxGe0AjOXRH
fEcxQjhReFF1XnFtIz1zV0YqRDkqLWV7dnx5RSVrTGdAbnZFdi1aYzJoLVRuJk0KenZpdT5zTllQ
ej16KEB2ZHM8Wjl3SitwZlpJdTYqOzU5Y0MhZHMtOEpLODBjcD9NX1NWLV9pVCgmRmlrUUNUSzJ6
CnpRPDxoZD0kVj82VkBvSGBPbjI/ezR0PXJ4Ul5sV31fUTYkdUFPNGpGRGFQaGZwVkBDUCVke3ky
aGFOYzEtZEtmeAp6OyMjTStfMiV3cnU0R09hdXdpNHFRR3JYd188Qz4qbX55aXw2eEYrKU93MyNg
WDBmKTB3WDV4SWBfb0hIJXErcEMKej1qfmVrMl5eMkRgZyN6cjxVdU4xO35Qe0xmNlhjRkI0U3Mo
SmI5PGYkZlcwJlNfZm9hR1VaZnUhXm51fCt0a0BeCnpIcSNETUFvTiZOd24lamJ7IzdPJDRUOWc+
ZjMjSlckITR6NnU9O2MzeXhicXpjUkNLTz17VlZGe098dTRwIWJwfQp6b1d7elo0dUktVi1oNHR+
TDROT3c/cCpkYzJCdmtRXmlAalFqWE9RPk9GQDBCUi1jUWRSJU0oUzllMmckaCspJlgKekMjKXMp
I2wzel45K3FPU2VAfGJpbyFEJCYhbHRzJnt7N1REUk19d1ArTFFYJShCJmo0X2tCWigtKjZCYz58
MDgwCnpoaTNDZFdvP1E5KDlpeX5LMFpPNXBUQ0chezt+R1QhTkU9Kj8pWCZkdmZJZU12R0xqcGNL
c1dDPFMrT1NhMUkrVQp6ezwtSkFKNWlWXnEoUiNFVDM+Oyk9VGMwajVOZjhOSlNnQjZVIyhQNG96
X0chNDcwT3lEfGxOfTNLdUlDYyh7MXcKej91cT81T28tfXRwKXUqX1JDOTg5R31qck4hYj92Nj03
blhQKE1zbGg3MShhPGZ9aSYqaGthUmEjNElCYj5pRUptCno7diMwKyU1PDQqP09lSShfWFMlcTR3
Z1N0T0pHXns5elFLelUwN3JhJXZYT0VlYkZiKjI2ZSF8YnVlRXhxfElHaAp6WDNCNGdLeiF+JCVL
cDx5Xk07JiVGMk4pflAleER+Kj9ZNTYrIythVDZMQiEtRVpNYStDJHtGa0IpdmZlOFl1N34Kejcp
PTRLSzF5UzczSj88MUA8RjBDZVVBemZANFY+R2MjVWtRIVE1ZjdNV0w2fWMpP2ImdVBXIy1eI2RQ
fDYpTSRRCno/SmwkIV47VzxDekV2Znp8OSYlMDl1c3hxZUBebEJEa2s1SThRKEwjVmR5MDZiKmsq
TG1NU24mbURPYDljbV5MbQp6YDF+PyRMcCQxMVJtWGNtXzwzdGhiTTB+aFh0c1k+dEMramApfXM2
R1kmaChMelZVJXwwOVAkVUVpPXFGclQ2SjgKemtoa2pxP1J6OGNEMileNVFkaFVkQldQTEJSfmd7
RHZeMTMrbWtMQE4wXkJwfUhYJTQzeGBZQzRAeF9VPHhfckNUCnpVI0VJOUl5dCsxPm1SX0EhfGZq
K1hKZU9aQkpSJEhgK3tLYTI3KmdsRHtBRlp5PylRUzJudTJwWU4pXmVPRTNKewp6WkVRbEVQfVhk
PDNaTDtZTENUJj1hMWl8JjtjLXZETCNnJVZQRWhOJCUpeTIoTzI9TkgoZiV3dzt5Y09qYVB1ckYK
el9ZWmVmKFhvbnYtYXZWP3k9eiVhPXJ2YmdreEhgWmtBME1vb1hYblJ2b1Juei08amRRR31wZWJE
RGQyNUhyKylmCnowS1FZZFZZd3ApempLflo9ZTs2eGlnbSU1VCEjP1UqWG1kZztWYipyfE5jPD9B
MkY3NHBXZk5OPEwoc0lNbHtkRwp6UWxGQ00jRSVhWSZWblBKZGkwZ3Q2SDxKR2UrbzJjKlRXP2t4
JSFZfnh3S2o0SXdVLXNISyFuNUpWN1NeP1hid0EKellqRyR+encobXQhe3A/S3JLX0k9PHMwKk9F
IXU3Vl8hNylKPEhwOE58RTBuSTZmXzdyUkJPTXgwREAzQng5flclCnpkc1cmeThPQ2x1PD19MCh5
dUUyVGpfNTY1dTtMZl5gNnxBRUFBT2hQdyZnUzw3dj9+OGh8M3g/Xz4xISZmUlo3egp6P2lkUitl
bypuZGFxbjs2Z2ZWcCthRiRPemU1UFltUlE4WG9pR2MhVyZBNldrJmlqTjxQcCQ8WV95RGFZV344
VUAKelFBPWRHZHNrITJ0UW9YK05WbDQqY1NIYF4lNSVmPS10cEFHTlVyLXtIJW8mQXskKTRJSXdQ
dEBBKyp+WUNobGV5CnpFNCkmJTR2V21FO2skcGA+Tmp8e1FeeiN7YC0oYSVsdmM4fSo5PCtVazIq
VEk4dFEmTz4tI3E8ejJ1bChsO283NAp6P3BXLXcrQG4hTnJpLT99eS1IKGoxZy0penRqZUc3aDBm
T1EqS1VISFlBUUQqZX0rckAhbnR+UnNxaG1XTEV3O14KekxsKCRLRkxOSG1oIS1ERSYjNllkdkZ0
RTlEcjk/bVd0NjA7PjR5VFBDSExWdGc/fX1qM2RiVHtpY0ZMczQjdzhvCno2ZzJJQjg7TmAhJF5X
cnBDIXUtVllsOHxtQTNvJEpqTkczclYhSCNnN2x9cylGenYxblpmQ0QtelEpQTgkJn50Mgp6T0tR
PkJGRj1HbChKOE9aWXJkXl47QjZ4WVA7RiNHITs/fjdsfFRPeDZLNzBKSHk4KU1oMyZmP2BNZERO
ZEhqOTsKentNKlIxMklWKFo8XjBUe1Y4S3pwR3FfNlokQVVYS1VPJE1WVlJ3TkFWMUcqYVBBJSsl
V0RlJEZzdH4xYlB2ZT1xCnotKUl5K2NyeVp5PW5TO1IhellVNncwM2xTen5gbTJYfWt0I005JDhK
MEU9blM3fDBMT0RmYHdBS0d4Z1BzIXZ1Zwp6M0pBRjs8QyNJMitURFReRUdpS0NBZDU9M0NBRn16
R08yOVMkNnxFb0A8KmpxTGUyUzM1b14yMnk3e0FHVGJsbVIKekJ0e2ooK0dEZWVKeWUrIWQ/MVVf
R0cye1RaSzJySXxLcipJPkRjJENxUFo1bjNyWiQlanpEaUhWbmAjaTU9KFRMCnpifW9UVSp8PU5r
QkJlbjdFOF4xbzVxaipkTn1GWSQrWWJPXk9XSWlqTEErZlJzdSZnPlliPT54VD5KeElkNHtXYAp6
V05aNXJ1WChgNzchaiEtM25QSUZIS2M3eXZoMF5zVzxldyQ+dCRQTmVuZkF1aXhPalBuaDMmakZf
TCQpO1dOSjIKelJpPSF2WT9TWX1yXkhRWTVYVzxUVz4kXjxDNUJDbTRIQm5mbC1vMUl6ajNBXktC
cH50WUE8Mig0eyVXUyglRUI+Cnp5bEMkWUJoVn1wbTAqaFJLbHdeTURlX2BFYWlQNXNqYUd5bD1m
dzR1a0Y0YGhvOVQ8aiFJI2BnV0tDdSplT1h6Jgp6O3p5NWtmOE1qPSZSKEQxKHhCLWg9VzZFflg4
WTJvKTJGbFlQfWJQRjRXeUE4YHpvWU5Sa3hzODMzNzR+RmZKNkoKeklhZFJiYyQrNlIqISpWOW5L
QTxgeXh6dThhcVhSLS1lKHpjOEZ3NVRpaVF7QmBTdHwmV3AyZUBkflZ1Tnd7dkZaCnpCblB9O0V+
NCFLaTEtbnZ4UCp3Mk9tODhxcChnPiNVLWtNOHt4S0ZKYVpUfn5fWHBhZ2VLcT8mMGtoPVZ3ekUt
Mgp6aEdOPUppM1c7TypUK3x4NCskZzhkalZlKkQ0JnE5MjIrIzs/MVQhMTdURW9uRUgqcjw8UEpX
azErd0dyMXBXZ00KekshcFdVQzche1d6MnxyQkhyREReLVZDZitveSNOQG1FeDM3Nyl1eXduMnFs
fSQyajVmKHFzfFBLUmlNOGNXbil3Cnp3WH1WNHJkISZ4VSR1eyRvI3VITFJ9RkZ5PTNtZyEzO2NQ
aVFpJl8mK0ViSDVLQzIrNzs9Pml6WCZpQCg8MldXPAp6blltdiVaajJXKXVaMVNZOGV8JiMlQm02
RV5jJmR2X2xSJUxKWVNvaiEqIS15SHtDKTZ2JCo8Ymt9ZHdLM0RQSUMKekYrJk9HbDNmVjdsKV9D
Kz19cXswQj96bzlHTnpEe0U0cCMxdjJJcF5UdylBSj9UV1JKaF8rVy1abyh1NGkxRy12CnpDRCt6
QSZ0MDcwPjgxeldxbW9YcVBCWk5TWDEleFUxNjdudm95ck11ZjxgNm5AcEdxX1FUeD1CPytEQzZY
YGlMNgp6QkU3elBrbUYhXjBzVVFfUEhoMi1YIy1MaVBHLVhFaUZNN2dDQzRVS28qIy1LU185TC0p
Zyh8UXQmLUQyNGp6MTQKeiQjSSgoNUpfUEFDKlFWPSkrSnIxP09KcDFlfUw0SjxhKEQpaGJOWUtA
IWJiMlJhX0grZW1PKD1gPVROT0thTCZ0CnplU1dfWFhiU3hhZz5RMz4hcTV2ZjQlK0RqZFBaOF9w
bFZ9aT9LK29ZP0xFRUZyZyk4R0lSIzJ4MXxuPyo/aDRnfQp6anojOWtxPXtEQTU0IWw8eH1LVX1W
N3BgRUsrPU4+T3Y7PDgqX0AzLXsjeXJ+VHJid0FIeVM+SEhaJkZ9Uk83cG0Kek1DfSZ1e2dkKV9T
bHdwJW1LeSpiVXJ4YEA7ZjVGcjxjbypMVk1rVTZfIU5oSHtGQzFzeVFgNmY7Sz8tM3ZHcDUxCnpe
RWJydnJxQkgtMEtibCYjbTxYKShjMk87Qk13dWB4dnRIX3NyZTUzTXl+byp6el5IaTFXYEVaWFYr
fXN3IVU1cQp6Rz9+U0gjRVkySyVQM1Y8dzZ6VitGQWoqYENhelFpWHVRdH5zZWdydl9fbDQ0K2RE
LXA/cGA3Kmg0NGJuSzEkUEAKenpFLXk5NzFfeW5SS2tEUSQ9WFdTJkxzT0BOYGpCYkh8bVdWdih+
M0dLZj16REhXOVp6VERUYXZgMWA1WTYyT0tECnpGKHYkJFFqX0dEMCYxUVpEMEIwenwyWSQyPVkr
TUhnMmVhaz11fVVXLWJuM0N8SDl7JXNDVFk8QiFsaXNmT0NgMwp6ZVIze3Z0cX1CKS0zb1ArMWlx
MVZDX3M3bkMqQHJ+WW8+ZU9XTHc8Yl9NKT4wRllpfnw9PXtSSmpZK0ZrblR1R2EKemd4QnNMOVd0
VmhNdShhfj99Rn5iRnJvNn07OEN5aVUyY1dWRT5laGVtdFZaLU85U1otVCRYVEUrfmYmNyN0VGxy
CnpmOWx8MFEjNW9aZDEyMHReNn1ISXV1Vz5GPWpya05pdlMtOElhbWs7Q1l2dkdYdE9FS1hNYnM3
Ykp0aEU8SldRewp6ciNPfm8xTCh1UmJ2YFcxdSlZPFFCPU5JV0NqSjB6K0ExUExAXnBRY2xTWC1f
S3l2MVE1ejRsVDBOPnpHYjFNUVIKemt4bXI3e3tIKUU0PH04SEQ7SEV6ZjRXUFdHTl9vQV52e0U0
QnpfY0FOalVHRkVBMXJOZUBJLUdoI0dPdVQzNFhkCnpPQVJCYTlwTHxyMz0oSWZ7eDAoN044dFRn
bTFaQ31VUnlHK0N3WVg5cERZakRYPnEkTDI8ekxAaW5qdnRrNG5UcAp6XmhyankqNmN9bSR3UGwx
YW1NeDdKPCojd1NCfS0yJHZxJSE5bCtXNF5wO05wSk1zZUlwUSg8Zl4mIWFFdkA0a0wKeiNEej0o
VGlKO0VSNnlSKVpifCkhZ3lIQiNETkxhNlomO3UxPilYK0JzO0thans+WGdFLVp7O3M7TDZ7YGRw
fCZACnpNeEdnVSh0b3R3PWRTS1hWWWZBQ0Z2K0BlaCo2QFdrYG12YFRaSDZubWxoSXViPFlIe3N0
M156OGomZ0UtSSsyOQp6X3l4flNBYy1XWUh7K1U4V2BhfHBFRHQxRlZ5eXhlTHgkWm8oej5BP2xP
dHN5KFp8MmFgSHU0Q3FoVnVBPFB4cSUKej9XJHxCIWlJTWwlTmFjenJfKF5qaDZgaFB0TWEzTG81
em4/U2h6bDNjZlhpQ040RHU+PGpSS1prPzt6MnJXWElOCnpKVHpweiFTUFp9OFQxIVJnNjZ1MlY9
MH48UGptfiM+O30xaGBnZW9ZRzw0T24oMWk+TDd+KlR4SHF2fWZeUnU2Mwp6a3VIcTVmKDk7dk5m
UDF5YD5CNT02KUtaJTBHdz9WWGFPUExiKUZsNFJQPG5JV0UoJHJtUUNfQWRwUjJtak0ocGIKemZZ
XiNNemN7XmxEJmVsfHZHSG5FdC1TK1ZxI3lEM0R5Y2BsQFUlTXZNVk5JTWpseSpzUUtiPytQeylB
cXVOJDhxCno8VyRHdld8VUMzald0c0k3bl99PEVsKVp9QWdgZz5TeHlUNjZ1MXxIa2c8S3BZQmdT
JUtJPktzeikjZG97SjdCJgp6KGliZW9jPnhTcl8pfkVydnx2KkQmT2VieFpnSiNtR0I4cUdZMjVe
bGR5eGprVTUyN3ZAVH0kYjtBZT1NQWhSTHUKellDRHp5YCQ7WGQ8eCFScipPSFkxe0QrTXxobURa
aV9yQys/UX0qRDg4RkxFe1lWU2A1OFF9T1lHKXhTN3olTkA8Cnp2PUhhZD1RfENPX2Y1azBaJmhr
YWtPen5gVDxvKzRMTj8weSVMMUsjOH1gWD1BaWF8QTlgLSpDVWMhclNSS1Z3UAp6I3N5a3ljRGZx
TitWKmdmOFZHWTU3UnVqczhkV0NOZFUqOEAoRVNXMj45VjwzdmlaNXRWck9xMG9ZZWUyTjtwYT0K
eigqSVEkRmlmV1hqPzZkIz8qd29LYm42MmJCdH19ODFIWXwrMnM3TGFkPVhXc0RRajQxZUA/JWZs
cDhpaGQ7Sm1QCnpWX2tRWl5NT09OTEtVNitXST4kMl9LWHJ1U0pSOVptUiYlQnFvdXJSenFTTUMw
XylOPFIrciFmaX5oX2xjJV9Rewp6R19TKFNCOWxGenB8K0pIa3RsXnhmd0l8X1FTXkgwTnhBMWl1
ZDQqfVB8ZTI4KX1JP0xYb341cVJTUjhrbGJaeEUKejtXYC1OVzI7YDJhfT93Ozt4R0NZWFglMGol
ITtia0VoTjUzZUt8JitodUlqQCtxQ2tjeWBzQWJBbmg+YD9mbkhVCnpMR0NyXjhwK2skdlRSTmY0
djA8MVRSe3B2VV4rSnYob2VHejg4ZlFoRW0lRlFkNzN7I0s9flB1QGJHT0p2Xl8oVgp6NjUwUlZX
UzVQVlVFI3deQ1MyKTF6UmdlK0JGUntMRV5XSkZGSlk3Mj9CYk4wdlljb1lMfTZxWUB3SH1vPCEt
Wj8KendnRkRCb2kkSiY3YDBYRjg/P0lsND17fD9LaFMoczg2YFlLUEJgWWdHRU9jMDJsJl8lQylZ
dlBLNFI3dWQzWXpLCnpaQl5nP2pDZWQ2X01ORGloe209XjNSdmNRMTZJbn5vR1hQcjw3VlZzOFhR
d2szKHtaN0R1enkpa1g0bk1uUTh6LQp6QlUtQ25eei1ZX2o+O3lvYkVDTldXT210YVdISmNCbF8w
ZT5eRzkpeT9BJSgpKHdpT1MjZzNHTFQjJHxrU3JkZTwKekloUVk2NF9vKWJyakZgZFo5fFZKYWZQ
PDgzK0RkTFVmTmFtcWM8LSQ4Umcqbmo2X0pqIX1xbkV2Rkc7SlJwPiokCnp3QUIkbz85LWxEOGhy
blYpZ0c2MnY3Z2RWM3N9UjJINGZWTCtWMHhydT1kbWEqZHhCYGZ4am5ieE19RU1uXm0kJQp6bHd4
RjQmST4lJUJ7VzlKOFgrYV9XQjFIK0F9NVcpb0BvPG8kI2VwYl41VCklTXM2OTYtZTxMY21KfnhP
JUoydH0KemhGazMrZ1lQJXlsPngoeFRHOGAoM0VXdUE4dldGUHArejJGNnR3d3Q4QjctIzN5d047
WXk8a3txVkpUMlJiYDxZCnpiUHp5S3Q4MFlxWEhAUD53MWR5enJKJVd8RjAjaVdrZmNFVmk9RlE/
LSQ4MjRlZk1xMjUtUD1kPzk4RFoyOXhAWAp6Y1RsfCUhKnYhbXFkcChyTjEoPWwxenhXXkEyI2BV
cE9oLWdoRWNOUCFUYFE7QXZtNTUyQ2cxREYjSnh7QjM3e2MKelNtc1QwbytEUUBGVmExS1c2NTl3
Tj9HR2s/bmBXMzg2IUdhSHpMTEswKD9yNT1fbFUqQXFXPDdCS248TT5MdXZtCnolPnIlYW1LXj1Q
SC00fD5FQ2wtcCNkcjF5YT1ZZC1CLWJXbk1gYjJsP2x4dF81NkVGNTE9Vz1nQHJMVm8yaHoxKwp6
RnJ6WG4zVTZQQ1NPWXV0VmEqOERZWk90UCtVfCl5XiRGXkghKU9obntfMVgjJHkrcTxDc29eem4l
enVlezZyIzgKem43VHhZOEdsODMqZ0hwZUdOO095entIdXt3RUtobyNOY19KYWtyTmJ7R0hsaE1Y
UUR5UE0jc2tgQkN6bTV+NDR7Cnp3TCpXSXZ4RS12fDApKnl5dFgtZUE+SENGNT5DJFBUa0t2YEpJ
V2glRjRqZ2ZsN3hualF5fWx0dlowdGEmaG02bgp6dyY2SkchbGVWY2koK24oPGh7bnR1NTlgPl4z
N3heZkgtVUdGTy0/ZjtGZzJ+aG5JVUNIY0pyTVFsMHZpaWF2ZHcKemVhTzd5PFZJZXpYN2JTTjsh
MktRMXJyfHRrVzgyfTcrYiklYEBxZDt3Xj1eRmVhRylqdXF1I285eWdxcS0mPlMhCnorS1VIZyE0
Q0Vsam5+fVQ4QF5gZ1A8amBzOHhxRmEwWXV+anNoQ3kkcG1PU0ArYD9IbmlaRGN+bTU0YmVfbDI2
RQp6dmh0aGl6SVp5N1EmTEdlJDEyRW56aFdlcTQwQlB9MkoxVjBuSXdIP1d+cyRhbGpqfkNWVC1U
RmYoMHlvdFhjZzcKenhLKnNBKGp6KChBS21MREJ4SzZXaj97Wi1OfUo0XmQ/RyUhd3dYZXFzfiRU
WkUzfT40S1U/K2UmKkUyaW1pPlo4CnpmVXJiXktKJGxRQCU8fnUqIyhMeVlTUnhCXkE9SS1MOz00
V3h7NVVnKn5mN0EweHFyQFNDRyR0WWFeR3RgKEYlSgp6PzFJajVjflZ7NXVlWTtyd3dlT3E3KUQj
OV8kbWVSdj8tJEA/NUgpcjR1VDVJJUFlTCEycHxjRXs5aDVfQjhTenoKendyOTtYUW13X3QtKV83
XihWaHB2OGFzc0xrQ3Q9UVliTVgtKCZRN05yMio/S0BKSFZ6YWkqKV84MTY1TkchREE8Cno3bGhx
MHBQU0wlbj9DJihFUlpifkAmPXliQ0Z4O2JZLSQ5PlQxIVI3XkpubilHciRnJSZqUVllVjtIQlM7
fCpnNAp6bzs1Snw5aCE/YHVCSTAtQ0Z0OzVLPyUxNGo8cXJadFNzNlNjMmJaUCNvVCkwXjY3ZlJY
LSF6RFM3YEQ1cVFONyMKejhaOEM2SVpBQ1N8QjBWKD1wO1U1VXd3ZXRtTUM0OHZCZiZ+aGtlZCFh
Y2B1JHtIbVJRIWhHXio7OGxiK3h0dTtOCnp7U0RVfFd6NlFFY2Vkdlhfd2psYzJIaTJMPktkSTNm
ZUZzJlB4NE56eEZlcVhpd1FwQHFKZ1M2MzAtOVVETm9HLQp6dDM4UCsxTUBlUj01RlhmMXd+WXQt
anFmPXA1fTxGMTRxRHNkK0p8KXRjYkxYQmRPRklBVStYM1BGbGxEKT43a04KekJ+MVpMNnlzMCE2
KD08c2R4SCQzUEpXO0lpWEQhXkZWKVYpOG9jMTglQDtSWD17Qyh5UT4pTz9HOTR6PHBDeEE8Cnp4
MWk+dU1OOXdieWdUOzA8SWlKXkNWQm1tUlFmLSlgfiM+Q20mSDhRbm1QOzg7YEs1KClsfUBndVBA
Rjw5RnUpOQp6OyV+QFQ7VEx1JUdBJnY+JndEdXVVSm4xV2tZeWEociZDT0poZ0xVVUx6IVRwNCt0
KUJiPm8/S0ghKUU0OEJ9MGgKenl7Q20rZVcyMTdXOD0jS29MS29Le14+c2U4U09AfU5nZVlHemJ1
X14yLXl7anlFM2dAPC1UaFRhQCgmfFROVCU2CnpmKXFobDhYfmRnSj1oPTxhKzBVQ0xiSF8pQ2dx
cDJWPG0qc2QkPGcxb2xlPiYpIXl1SSNaK05fVytRVUxZWmhURAp6QjslVWZkSjNWfk88XylUJXdk
VURBKzFSYEhfPk1+NCNrUG5LVXE/MW59NzdvX0ROPDVpUD5gfER5KnwkU0ljMHUKeiQrfHV7bSNN
SykmQDRfdmhvVlE5YjN7aW9NUjAtezQlQEE1ejl3WHxgI3whVj5jWUgrcDhkKG5Oe1lYVHB4Tnty
CnoyWE9gM0BJbjVoQilhJGw+aXBUMTQrb285Jl5BfGkqaiUpKFd6LTEjMUJJREolPyVgRjNMKiNT
PClKaTQ1TzArSAp6YkY7YGg8bDY5bml7ZmlZdzFFUCl0cWp9eHcpI2s2SWtVJjhAN0lkeWFgOTVX
PU9AV1c1Xi04ZmBlQnJOKTB5SE4Kem8lM1puI3pqbH1GamNEMG9PKmk1blh+fCpPTzFpN2dZX0h0
c1U4VXZxb21AI159MlZgK0gjaSFFP0dscyMwZkQ8CnpNXyRlTFJyc2c3ZmFnSjxaaUN6ZWcpTVA1
N2REOT9rQEI9QS14KUd9OHRrQ0A8YklEcHojZTF+Qmo8TDBrdnBYNgp6aGJOZFByWDtxTGMrSSEz
e1IyR3ByNEFITDZWcGFlWGRoOWF6b1RSRDRyNUp2VVpsXjFLSiozMjlRdyQraEtuLXgKekgoVzko
MVYpdFhQMSh+V15gKkxjdSspVXokRGA7JkYoRDZ3ZXdxb01uN2AydjJSPTUyazEpUHk9LUFLNE1T
fjthCnphXk9yb3hYPVVOSjh9N35TSHtAaDw0YyE0azctbX5xKWZyRG1ac3tQV3Y3PEh5NmY0akl3
PXZ0Nzw5Ky1Ed3NXUQp6clRIT2cyYmtsOHl1WUgjPmRRYUM3ODBfbzVOREY1dkd4JCljNzdKb1pU
Xl9TVHVIKksrcXJRSG1DREFGRTktaXIKenZARU9JbmpKX3o7bjx9UCpJPmJRQyh3Y1NEVDt1U1V9
b0ZOUilNMV9tNUd7XlF8KjwkKj9Bd1VKNWZTZjIoflglCnoofTtOI3FaQGEtU1YzOGk9biFBbHN6
PzNjUEE0V05VUzRwMzZLM1gja09DWFMpMCpsN1hsdjElTWkjcWZWJC1GUgp6Ukl6ciQ7e2thVWtu
djQwUlNtPXI3KjFAOEA1V0VNaX4yenZBR09jbmhCcHxVQl9RPmUoZyVlbiFVYmhwcXY9UlYKelIr
VDlWTjJ8IXRKbXglaWt1fSNoVChMS3gzdiNpZEBacVdme2pMI0otT1QwOHYteTdqPXBXcChrYjxa
b0xINWFCCnp4anRkTnEkIzdMX012VFNFdUMmQkgjZEJ0MnFjPlRUTiNhRzB5R21DWlQ+YERFM3V0
WVZKPThuYHpfQTl3R3ZaMgp6R3V2K0I1ZDVpcUI9Xy1YZWcyP3lnWHtYJkM5VFdUKWNUVnZDS2J2
I1o7JCRgZWgtdSVROUx2KnpLaGdQbTxNYSEKenMwVmhRNiFwJlA1YlUkQW1wTSs/KHN7JUlvYm00
eTtMMjQyWV9+VUhMMGsqSHVIS1VPQmQrQFJgJCQxJXJ7THIhCnpvQ1goaD89Tm18dyo1S2c/TXZy
YjZ+QzErbHZHfFhtPGlmKilzcSQtb2QzcXBSU149eEtQN3Z9U2hVaDhld2Zwdwp6IVJ0alB0OTIk
Xzs/SUBGdWNmY2w9N3cwe3AyZnptM0tZNUYpYlBUTVl0VjBJOUg9e2NqaX5lYVNoaz80MShsUyMK
el5xLWolSjREfVRSdkpGPGB8Rm9rdWlBQFQxfjxqPW5qZSEjPmBNfiVobExwYk00Si1yMVpgOFRt
X1RYSHZ0YForCno/ZUVMZFQ5P25kcHxOPUNsbTRWNF45YGswOGxucm9DN01GWnhOYHkyYkdGPEo4
UyEzVXBNSUM4ekUjJmY+TikkIwp6WCFgfFNsQXclLUc0KEhmKGVzSChWRFJxUEFPMFdyO2xHP3El
ZWZhRmh4JTw4RDg+O21qNGlUZj9eN0VNQ2UkJWQKekRTTn13PkAoMjBpakIxR3t1ckNYbmE8ZD9E
UXE5KyMkcDB+eTZAWH4rUC1acCVmU0w0M0ZgMEhUMn5jITdDZXt9CnpeTUcjIXp6SXdiNG15ekdN
MT9xRHFeKmtgeCg/ezctIVBlPVNaI1I2QSlST0dsajF8TTUqaE50PU14N1o4V2A7Tgp6MEJiYk9y
Zk8xY1VWO19RIXZaYmtBM3ZEYkEqZ018bU5mc08mOHtmKyh3TEJ9Wj5MVERiU2Q2MV4+blNge1J1
UnoKemVLeiQ9LTZ0dj8jUEtUZD83O2hMVlV2JUFXOFR8ZjUmVjdyWiVRU3Y4anR0Sntsezt3a2V+
PF8zckYkMyozcT1kCno2Uk81WCNCLTF1QzdzMT14WT1ZYT8ydTlXcUFieStefF5adCMjO3RpMShI
e3ZhYHJNVnNIcjcoK3htNGdxY3NnaAp6azlkNzVfIWleYSFoPTA3czI0anliKm9WYmVeO0FkRyhO
UFA8JmlTVFUzeSFrQks5UzJNTWRuektZLVM7SzRoSkYKem9aIUArQHtKWnUzNHdTN0NVfkB7LS1f
Rk0tQVJxcElzN1k0YTEtWDhBVWp7cEZGVzlpP0VUXndaYWF5NSk8S0t9CnpMZWRoWWl2SDdALTxz
aUliaEw4ampxTXtHWVdfPkN8SVple1RlVWtsZXw3dUBnITY+JjNDMlRaeTdxUVVZaD9iOQp6b35P
cUBVZ3ZLRkRAaF5obXg9QFk5PVJua294ITxnOGp9VV9XOVJVV21RU0d7bSF6NysrQl5STkkrYlFv
OCNtTDQKeilOWnp+Zmx8QCpNI1FuaGY5MC0xOUw4YD1Na0Z8bEplRj1UeEJaMW9eciRKNXN3U21q
WFlneFRAQWg/bCVqJWopCnpaLXZgLXQqKCFWYTMjSHpmWmtaND51PDJFMjdwMTR1TVM/MDNFd247
SX5kYGIzZ29ucWMjQ3pXJEh1a1hCQTtjOwp6IUV2M25LWHxwYHk/UF49dmglY2U/RCpVfj9kQyZs
M21ocSZWfUV2Q2FpMWlSRW1yVkhIXkNMcUV3fUE4KHB7K2kKenM8cF85JX11cV5ZUEtXMyZEaHIw
Wm9BPnc8aHp2SWBhcjl0Ryk+SkxJYU82fVY3WG1ZdlkqV1BHK18haSMqJGx+CnprTHFpckFeRj5q
elVrQXNhcDEhISlzQTZMNmFFMWgyeThwdjRvYjI4R3E5PiNtKjU8KztGVlVub2YtQl5fKiFZRQp6
ejE5ZnI0Nz5nPD57ZStyNkN9Kj51VnN4WVVGPzN+TXV4NX5mVHx+R19MK2BhdmlJfj49UEhISkA+
WXRid1F7b0YKejZCZ1Rae1VyOHd8QTJ6Yz1EfXJ8aTwlZDhtODZsWm85Q29ePWpYLW4od3cmN1BX
RkVRdWdYRUZtSHw2RnNtI2RCCnpkUE1OKkdRIXR8REVfbmxRekJBY3hEVlRNYHlPdjNxcF9jQGFQ
Oz1kQ2pzJT5vfWMjI2xUeGFVcnckWGxTMXM5Wgp6VDxjRWpRSCsyMzNzPkx6R2ZIeV5saXNWbk4y
Y3hDb2Z6bXxneVMwSkV3aXBrSnVJaG1XKFd3T0kxflFzZGk+WkAKenp7Slh9TEVORVUhPUFTbzMp
YXZmPVV3TStqfStNM24qWnQ8QWJnQHwlSk9VI1o2cjs1WllSRX0heUxtSmxseFBpCnpEV3NJKk1X
fnNeOGs4b1pASF5+SkhoX0E7Vy1ZNmVoSlhvcVVoV35fV3J6ITxoaTxILUc5OUk2JnUjTl9GVGR9
bgp6O2hNYGQoQ3lLX3ZpJDNUQldyRmp5OzNXPEojWU1YLTBhQDJ1WVBNQCtqcD1OeGBfP0Q/enxP
NShVY3wydntLMm4KelR6bUxSK01AR3ReZm5DclpVPHVta3NuOGR0M0JeIz5nRylIdj8hJn1sPFMw
VnVSaWlzKj0pYyZhOXMtWFpmdmN7CnpAQERCRGN3Q3tvJHxYJHtsMWBEcFlYdlMyPjstZlRacUdL
Xk8mRH13aHxlRzhNelA9R1NYY1gmTXRmSDtWKFp1eAp6Tj1TUFFJUHV8TDg2fiZ9KlFSSE1rPklM
djY2S09zLXNTRm5VNihxfHZFM2crKVk0Tzk9YTcrViV9QElRLWpgRDMKej1mQEgqZWBqRihPYGxx
M3khMGwkeXYhdj1YQDAwJGN5O1A8OUNVbCMmdFRqczJxR2FueGY3VFVCPWNnPm8+YXI7CnpVWWMq
cyZxTWs4cSZVS25eeVApNy16SGl1YExeUWNAaUFXTnhtJFd8UnJTLTMrbSVoNHNMYDBgcH1YQ3sw
ej4+TAp6O3clbzZmPU5VQ01OQyskYVNSS1ZXWmJ1Sy1kKH1HS3E+RypFSXpxNEkxWjd9RD9BKGQw
NzM7NlZURGcrZzlXOVUKelglajdYelY7TTdzOTlaXzlnJUc7U3tUTSRZZml1JnkmfSlfVnojcXIt
I2gjY09ZUFR0Sz9NRWZWSFROPFY+c2IwCnpkPWpMVUBjdjZ2RE8zdFdJNXFoS3pre2pIb0QqTmZC
SVVRVGxRamlqWHduPystWTBPSXk5OG48JUFJM05KbXgoWQp6I14/TC12LTsmfnc5QChJSnZVMGhq
UGZsMEt3fWx9X3xAWk9LT3Q4TWlmOzQheUR5cDU8YX1KZTAlWj1LaCRzPGMKelYwJj0rYnVmVzFu
U2BuTis/SkJgKmNCSFpeaUFsaytAJXhWdUk1Qj9EV3w+bnZTQio8ZUhpYmBXZGFMRHpZbWx5Cnps
TClMaTFsIXZgX2NfOT17SWFFWU53bDgyNU96VDh3azkkaXRLS3k4cjdMQ1BeZjJlXnRLbm07MzNw
blczYWN4QQp6eTNvdiVhbGhmKFFUMygkQldkN2FTeGN4ezkqYiVkIz41Q2h4KWNKentYY1h4PmhE
VXZUV317SWp7aHIkJkIjKUcKekxwQUc9O3NGdihGPEFKQ0VAPTY9bEAxdzZfRERjZj5gSTVaOFFg
aEl3WEdeI0lOQlNRaW13PVJuPTJaPEk3dDxKCnpSPEd2SkMjamleXjN+cFBGNmJqeXVRYGxUe3xZ
QmMzaHhwRGZBMG90MmZhbytuUDtGTXphWSohQVNCbSZYT2Q8VAp6e3gtKF4qYTFNQnohNW5td1JA
OD0zSFAxQ3pxbU5nU357OyE+LXJxISFgSjtDP0tSTV8rSGFGJWVWazFYKlR2OSYKejBqIXEtcEo9
TGdIeUYzdWUkK005d2JzV1RqcH1DSVNLTGZ5QzZBVnRDa3IpP28wLVNSQlBxVilOWkROOz9tdjtj
CnpkcEt0STU3MUhAYzxTLWdSZDcwSyFERTI2P1UtWXVXViVkKWZ6al5MTkglUkE0LWBhfj9zTnxk
eUJQNExhSk1Kegp6d2BxN2BhQj1ObTkkJjF+XlBGQHc0dHwpIXkjZEYmZj1AaXt6ZSVUTEEwI3U/
MkVIQ1B7TGFyRHVmbmBaeE1uOXYKelVEb3ZFMWArTW1jd1BwMkgwSnV8TEhANWkxc1l3R1FeNGhz
YG4hOWRYcThgX3k9c0dlXkMtM3ZELXVUV3lsUUVfCnpZUjUyODZzPD54aTw+PnhmJUdJLWZyREN+
VmNUKkVPIU9NP3plRkVFYyFGNndwNTBwTmtzcmFScXpHaH40bTVEUQp6TzNHYUY1MmB5WC1jZytO
YHw4Qz5XUzswYnN2KUh9YmBOOC0oSk43OSRmfl59clEtR2llLUF3bHNhWW8zUyFrPVQKenNqYVc5
aXlFRHs/Yj87fG5EV3lkTitSQDUxcGU7KzA/WD5mUzRJfClhUkhYdFhifWdlLU9QX1ZrfXNDbDRK
biF1Cnp1MEBVb09TREw2Z0pjLSZqK34jb0xXbjRienJ0KF5hVCozJjI+dj1IeHBXKTlWYXVeXnhC
RnJDVWU8PmVEfkQkVgp6anpjNjRWUTBLXz52bCp+SlNANT94e1llX2RSNFhgRXwyRXJMU2pFdns+
PU1Rb2R7LUl5PjkyaFd6QTBHM2FtWFgKelZvUmZvJFZ3a25GI1VlOTc5dmR7dzlAazY4alYheVZ0
QyVxZXc5PkFFaXVAcSQ0ZCE1YWBaR3pea045NV8hV1RvCnppbV9leXgocSp4KkAtJVF5VWNgS2s7
NDhZZ0R8ZCVSR3l0TlJHVyl0eD9ac0hMZmhjdkB5M0RJdlU/XzFyNGY7Kwp6KU9fandBKVFqUWUq
aSpTJjcwSHJYLUVKMiNabk1eO2E+M1RGMiVxZmtaJV8mNVJFZWJHQWlmMyE0MXRPSDh0eXsKekJN
NCFUXk92aXE9enxffSZLPlZGckV4dmoxNk1Dak5md3g4c25CKVZoYjw/a3J5bGolO1FjcyM+OTdG
KHBaUHw2CnopTHItUGVxOCZyYjFWc28kUyZNbmtaeXxzWk5Cd3NyWFA1QEtYTD4zJVZwTVh3VnAq
NmR5OD9RdUdTb3t3JUtsUQp6QmluX2tqQG43cHlgV19INGFjUkFWNzwqbkg/PFV+JlduMTF8Tmg/
fFR7IXpKIWdeZmU9bT5+OF9peXp9aUYjQysKekFKbGd8K1d6dGNMT0skWF5VZDV3OWtRblM0eyZY
TlcrRT1CbW12dXMhcWV7JW1WZXlzdEZfVl9kN1laNk43NiZ8CnpiPjY+ZWQ3PnQ2V2o5eVZ3TUcx
Q2RiMm19e28qUWdxNEJfQVlyK30pckVgZ2pkK0cqODx2VT9vcEt5OT1ZQ2htcQp6cFh0RUorfTFN
ZTNhIyQoP1lofUdjUn5GWWw3e0dAJlhGdGpSZiMoUz9eTzUpQl9xc21wMytMWXJaNzdMMn1AZCUK
elY7KiFFZnZLen1Vb31nTEZnZkcqYGFLKXRGV3tEOEklT21ATWdVTzZ5fH1xNkgxbU1BRUgtNVVT
RX4/JTsmVnQ/CnolalpIJj8lbWZtcWB3Rip5PmE4NmgtKzB5cXtlUj9zMDwkVURHT3Y2azZjaVVC
N2BJKT1tbVoqKE9yPnR1MENGeQp6TnN8XmRVVWMhUnh0JVQrWWF4NGZfaEw3fC17OCNsd2w3by1J
UF8pMkQ4QDlnRSpjNnw5endaKk0xSkN5YCZYWG8KejQ+ZVh8QnxQJClWXjJkKTU3X1k+RT8oYUwx
PV85Y2Jyb0BlaFhkQ282N2BlaUgoYUNWYn1wfSl5XztGO3BIPzxnCnp7VXNAc2pKbEcyKUJ2T1VY
KzhBI1lyelBJcT15VFEtdz91al4xM3pRQiM/RUBrPmN0MEAlXn4rb098V1l4YCpPZQp6ckduKHNm
Sk4pKFhpKUB1YiFjMUZIU1pgfWlWcCt6JnJfaG4xO3o5c2BWNWxVczY7c2ltZ300R1AyVGdzVTAm
bmwKemIkNlc1WWhPK1clQyp3P2RBPFhtWDgrYz1RUzlZOUhDJj1QUUBQV2g9M0p9em1MTTd+SWMx
I2UjRGx5fW47fVlkCno0Sk5QR1YpSUF7d0E/P3k5cDY5OGp1WXA4bDx4cl9TKUhZWkEqOXwqQj1S
ZDJ3V2hxJWlvbkQ+bmMkNm8wUW9+KQp6TmtseyY5Un1VMjVrc1FUKURTSCk8QHpSUyo7UD5eWkE8
cXsjK0okcipQZ0ZJPFZoLXt1bXZpdUNfaXNmdEA7TTIKendCP0RIakt2N0BBUlZoZGEoNkYtSzh9
XkxFYz9tOE8zPkEyU1RtbXVRP2ZyckE4WEIxNzFAWjN3RnUtU2RCb3pMCnpYPlcyVy0wdEtienk9
Y3dsS2tGcUQ/RU53aHg2Plpke05IX3VERjthKDs4TiFAUlE3JG5Dc1IoPjNoT0FabUhINwp6WE87
bjdQSzkxd1JqcUNQTH58dDwtZDRLUyV2Mm1IcEA/OVY5TFhqajdgQENQSGs3bT83XmUkYGVrZjVm
SFR7VX4Kemlgb3JUJUJfbjdZWVdUVHIxMEU3Vj9mfUU3Wio9cFMoR1QqJFV1OXEzI1NMO2V9YSl9
a3VxdyY/SkklNjBYZGwmCnpUeDY+QzQycV9CP1N5a0d2Pk0rbWpxcnJ7Uzx7dzM3d253c1Updmhf
O0lNfn10Slk5IzV9RndCcT9MTWJBeG4mLQp6SzlUKVMlWEB5P2lBfG1QRGZqTlhOan44SWhMfV93
KHdYUWxYbXxBJT9pbVg0SEwmPl9DMlhxWWhifVo8ZXokcnkKekRFTEU2WS15ZnRwJnNYUEJIT2g+
Sm1wO2ImfWZmalViN3xDXis4dHBWeiVfX0pubiE4MD1XOTh2OVEwZGY0SFpsCnpDQGk8ZW47UDN3
MiM9cil0d3wjTHIjMGlDMko8fE5LfkwxJWBsVnFlZmcoM3F4VGlrSWZiKG1mKzZMdG5fY29gawp6
clBJTDVvfXl5RT1LJUp1KmNPOGdMfG1IPz1DWGY5R05tOEFaKHlYYnRNeEYkLStGcD4mKDwrb148
NWFmXlRCbD0KeihgREhaKiZWKDFsajtyZyRUbVN0IW5LbUZjaW0qXjVObD07Nk9AJmJkMFVhKklr
akozKS14fjxDPXpKYUhwRCUhCnpAbH0xS1Nta2ByZyt+QFhifUdZIU9pTjlpd2xmbyY5WE1MYGFi
QTk9aiFUKEhkdisqKCFaXyk9IWomNFJgbjd6SQp6X2s/UDZxTy1mX21TO2NYJERRSUdyZDFzT3dT
MXM3cUQlZ18yNVkyeU18P2BoejNOPzdsUmxOZDB1UkNkVElLPUMKelpaQEFvcUtmV3cka2A8cnYy
MX40KWc3Q0ckPWZYfkRIfVZTR2YjRT04YClxJSVTWGBrK0V0SjlxdUc3WlV6N1d6Cnp4QG0mcERv
bWdEbHtEb0A9eDR2eUJjN20pP2FzXygmMSRoNip9bXxlSHRKcyo+JnFXQEd7bmpEcFdRNHY7bT5U
QAp6QSYrblAmcVR2eT9RaCZDXjZFfXZHcFRkUFRAbWBgNEg+dW1mQnBLa05MKV48QD5kJCVPd3NF
bkJUfmI7T3t0eVgKej9jfjclOXp+ZFlYTzZ8ZXlCY1MyI2kpdXFkRzhIKnJob1Q3ZzQ8cG0ldzBS
USo8dWNtYVV2a3wyU3pHTS09QiRvCnpmKUhxJDV9aCt6M3UhbWdpfWFKYF47dmt+bEtJRGQyZSRl
ekowZCF2ND0zKT1GJE1qRjUtSkxyX25WU050Qlh3Pwp6PlZLaCt3KFFMcmglQ25naCZyd2VsJURP
SlMlPkpwUFNEPDJFKCZeOTFSMn44cjBBfHFtaVUtcUxMWmJoMDFGc0gKelIzVD5qZihVUj1HTytV
VDVUI0NeTUpqUjVleUlSZ1ZtcXFUYEYlM1E3OEpYXjFZaCV5SXZeeH5mc0hrZCllem9vCnprKGcl
Tm9HWnB+N0B+Nkl3a1ckcm1oZXZ2OGB8PT80Iz5UbCl1O1A+enM7cUozbHswNippfT5XblR8K0N3
PX41YQp6SjtyWWxtWjI3Z0hCKDZjdit6fT1afShvZyk8NHNCQk5JUEE4aWB3e0tOfT94VWlGMXtF
eDNmYnRmUzY8Qjw8QUsKekQ+WEdIUWxVM2Z3d0p6Vi0wTjYoSkM2U1ZJJj5uSXVjKFQ4JG8wTkhj
NDZga0s8UD1DQ2FtOCV8MClhUSkzZnBqCnpeJCttZlE5WldTRTxUSzhGITVuaypXMyNNU3hyVE0m
a0swYmZVakFiV2tqYTA+ZzxGJD58ayVvUk85RFpMby1GUAp6TWUrSSRCanx3M0lZcTspJHF3djNW
RnVxQWBgVUNJWUlAOGd6Yn5RNV9LZHdUVVlIbmZ7M0BGN2RndjdEYTJrY0cKentLYmhlaWNObVNE
YDFXb3pUemdBckhJYWx0cnIkTnk4K0UoVWwkKmk2fTI9KlAwby1keWtCUk1uQE1lWTVZaVRiCnpG
PCgyYkZwaGlkcHo9TEU/QTA9ajJmWSZKK3V5TShpWmJgaTJxKGdibUNQN3B0ZkhwU3kpK1FmbWBL
cnY0e2UqLQp6ejJoU2hsKDQjViZtZkd4KmBFKVNSIXJ+MFJxN1RxK3olayVNQzkoKGFlUWBzTWM9
ciFOWFNKNUFEWExvKD5AKk0KemUrRVR1dl9uKEk7MzxFd0E5Iz5kJClCQ25AZllTNERiUyVKQTJl
Xzg2TTRFYG51WHU1Tm9yLUh4R3ZeOzcxKDxYCnpuTmFyIXdHJEZFN2F4UW03Z21tX0wkLXlKTUY+
eFY+e2I2dFFFcC0kRWdMT1k7aUhUazdJc00/enRRM35fbTR5UQp6ZV9rdSFPY3hiUndDOXZwem5s
MHBRVDkkSEpUK0tnQW9rLXd6I0dYMjMlTT1QSyNEY2poS1JAPFFrOSNiMn5UfDQKel5kPGsyK0Fr
eXVjSz0oa0ZUQ31sYE0/RGV1dUc3JTBjO2B2M0VUZX5EZ0xpZjRXUWhgYVF3TW1nVWFNKj5nZmVK
CnopQT0ybCskTDQ3O2dQQzlSQDtjSGF1S1FWQ2h1az14WF9lbkhffH45RCRRbyY3VFFee2t6Tz0q
OWcxXiF7dlEhZAp6PVQoe0lTMTZyJHRJXzYrLW9Wbnc+dFcoVUglVFd3VjVDZ3c1K1o1ZUQwKDVP
R2ZuJkwqfUpnXnZpO01ETyVvNUwKejJtdnpEcyt7bT4qaG9OZXFhQCQ5NTUjPlJtbXNUKUxXaU5y
VS1rdyNweHdHVnVnNFVJe3tmUWgra0diZFlIU0d0Cno5ZncmeXc+PllRNldYMjlFI158Tmk9VGc0
OXtHeDlsUEQ/dG8+YSZ+U08ya2FCT1ppPSNuQnNxM0VRNz5NXnx5cQp6d1gwZ24pMk9SXnc/OVJQ
UEJTWF9uXm1zUXglPmtfS3lANn5DdChuSCZMdnp0am4tKykmUT8xJTsqTDdOS1EwdV4KeldVPzJ8
ei1QPH47eT5seVZPNVRCQnV1JFR3eHRpMjg2MVYxRFUpZlJfJWM2N0NYMHxzTkJ1T1hMcmclKDFO
bzVaCnpQbG5DKkolcjB6KlBpciRlcX12YWZ6JShrYClXQ2JfVldPNylKOytNM1JqPEhWRkx1SHV7
YVNBR0J3ZF9CRHt+JQp6MjVQJTtVNGhFJFdVUikoXkF2OF94ailLJkZFPGY+O1p5QG5qeHBQRj1y
PihaeDhASVZMbGdaX1FlQDE5OFJZTCUKektRYH5NYlI/bkEraEViYTkrPiZMeCR1O1otMG1pQ3xI
K3VRKERwUEFMdFE1cXhsYGN4ZEhaSkc4IzBKUEQ5IWo0CnpyWDAzV1ZXMUpuKHF+bT1jRjQ2PiUl
eEdsJCpHSWlnO3xfcGROXlY1S2MrR0p3en01VFR5NmFDWGlsa1Z4M3l5Xwp6PCZmbXBIek9VaUdQ
VSpBbUkxfTROfHJeUEVGKFNyaiZBUD9tTHQhSXYxYmVpVFlMK29oU256bTcrJXRfUjNZbHEKelY9
XldGbzBobmhTTV5HI2FgISZFd04mZ0V3bzFXeGxMZVpKWUo2UCZWQjZTe2dlIXtLJSN9cCo0U2V0
XzQpfjM7Cnomfj5HNXI+Qk4+YWVhJnwpNyp0cU9wSzJEPDRnVSNyK0lGSWlJejMmb2c5U01rNk9h
T2RQRFp4TlFwNTZZND0xcgp6NTVLX0ktKmMxTXlIdHVJWjFwOzszfHkhWih0clROLWtFJW1pYGMt
RUV+I1E3WTFoNWxAQnM5UHxBJnxwT1FjTkwKejdmYmtaJU9gcFRjWkVTdVYhVG5mR2hwcDVAanw9
ZCtUVjhlIUFlPWZ6UnV9KmpDVTJmK1BgaHwlRGIleTlSWU14Cno0MWopYWdOMF87Xik5UUp1Qmc9
Pjx7bFRVOGFQbypYI3hQYGZaYVAoQ3dKcW5IOEFDaV9zalA1TUd3WUNOVHNWVQp6YGhoTHgjbThw
UTBgT0dVeT1GLS1WK0pNbE88WFZheTZhdCE+cztmNjRqVENLPm19Pk5Td2c2IzElNXBNP3wxM0oK
emQtYjVhb3N7c1Y5KCtlTnt7Um1PdDspTHI+Q1pffD0+MjF3bVU/MT1McElpQTI5PXowb3lWYm47
Ml4/RSsjXmtACnpRNjJYbztSQWomZ3NPfERCO3VScCVAMU8kdEJybG93KThXa1pFKWI1eEFzUGRp
U2hMSyE+ent5OWsrNHQmPC1odAp6ZCVuYzZkfUVMajZQanUpIT9qUWUzZFhuUzdKeGh5amN5Szwo
Q15QMTAlOT83O1JaOVAxaD1yYDBrSVdQdSFpMkwKei1JQDYjb2N3Z0hgc342ZDUmaXo/KENaej5Q
MW4zUitYTTVBZSpuaGc3OFBXeHlFPTZqbDZBN0N8Rzg3ZDtIMWVICnpecSpueTNHRzUmT2M3aFc/
PXxufjdJenQyT1R2LWReVEIxejg7dnR+IzhKNmJPSm14cGgxd1hDWUVRPUxXPiEodwp6SWh0Tjh2
fnZebHp8WXpBJkspKSVydj54ak9DSn13PChgO30oNkF0YHVNbXszPiYwQCVacT0/SDJlWTxuOzty
fEcKemlZKiYxJiYjSXhrIztTPUs4VWBka2pMbWJUblQpJSRSelc0XihVZ0Y7eEBRO3o9ODRwV08+
eV5kS3F2K1Q7bVZICnpaTj1eMGtleG9AYGFMYzZ2aD9IRGhNV2Z0P2VhNzhVSmNwTiMkLWlCX0I5
eEpjSnlObTlsKGp3S3o8IVVadGU+Kwp6ajhMdzh7dklrNlpePWFveTNEd2RCO084fXB0JDJ9ZTY5
SyV7Ji0pQGN9aSZGTjJ4JmRRcX5paDIrc1ZGfDkoKF4KenUqK2MzTDA1YEA4bWZRX3Q3PEwjJldq
bGVPSUZXZ3FGdykka1VUJk96dWkjWkBaV2VlKlZqNkZlZERLVTcxWSVnCnpSSiN0K0RXYT9YdTla
Qk5jbElpckdlJWBGa3VAVylzU1Amc2hfREwmb2MoVnh8NSNKZyhBRT9fSUhOV3FTISRRcAp6JS0/
fk40dWJ1Q05UTCtfWDQyYGJMSHJTWGJhbUJaTkU4WGAxNV41WDlFeGlETXJ9Y1M5TiY5bWsyISNY
a1BmK3kKek9XYHZjRENtTjQmOEV5ZFoySTBEU2F7LVYqTDJUcCVtY05SZ3Z6MHEtbD93ZnRYSWBG
N1VkJnt0YyFvQCRoI0B7CnpoQ1RNP15iMDVyJmQ3O0wkWEZSXmB+d3Q+QGYyZW9TUXZsNVpsOHMx
NnMoMCUpOyRvSTk2fkBKSFd7LUshSTxsewp6YUErQj1tLXokNyU2NytRV0J4QGFMSCtecFBYMm5j
UTJRZ1UpIWtBd1NAcHgxZzE/b0lue1duc0xQTFUlYHNOMFUKenBSSHtYKXUqNmgpTWNtKUVsNT0y
dFFnNTQ8Tkk8ZF81RHU/K1l4WHtjNjlqclB3YD8qYVY5fmNqNHtRcHlCNGQwCno/K1MqfFR4Xz99
TVBWTytmJEtWZj1UP1pNNmY5byhJeDM2QmwzdSQ9a3BzSm9objxWeDBGXjxrX0Q5flM4VmB2Ngp6
WHlJODJuSVUtUChDTCpKPVl6MDJSJkFIdFc4dVNTMkBGb1kyV2gmQS1gV2Z6OVI4LXAydSNUVHhj
Zm8memxNcWIKelg/Kn5HN2lEcVRyVE5YaGROSUlTUDsja1h2R1FoPyhDemc2SCRIRXJxRX0pdDhW
YDM0a1RFXzRyX3xOOD9JPUZoCnpeamZQX3ptX2FfSGEwYGRBfEB7dWMyWXJmckQ+VWMkSVdDYFNr
UDRIKGx2Q2xpcCQ0ZmUweiVHU047JnVFQG4kMwp6Jmt9bzklOEJQZzh1PXYoKHpQIVBsI0RFfHFV
ek8qTEgxNCpOMkFvUnElclAtbzlMPFJxQD8hZT1pNj1OU0Y4R2oKelhVMTEpe1FwYlRYdHFzUSUh
Vng5OH5WYDB0dGg8QXgta3dBY2Y4VU1mbDEhaFJPMUgjMVhRRX0jS3JMMzdPd1NYCnpteHZ9JEdw
M210Pnl3OHxrbGtkTCRxNjg9VlB+ZyppaDt6IzZsLUdgSW40ak0+b2UxY3hGcEx9K2tsclhHO089
Vgp6cUBHbURTczxfP3N1X31kdzVsK1owU1N8I3d1Z31FR3F7LWZkVEJnU2o9SEdwXnwlWGRmUnRM
eGcwJl8qZntVe0UKekxGJHxGMktMckFLSkpGOHY0KVpSRG58fD1Tbjt2NWIjcyNrXkF4fDI8I2RB
SCFQUlBMZ0JyIXBQZEFDZSNlQWAqCnp0SmElTUxCfjNuP2lrRzIoO2wlXkMhT1ZqPWY5UHpqdEh+
SXREQipCUkg/OyNtSFVxbCpSOVI4RHpBVytNeEYtYQp6SGlwajZVdzNQZWUyKWBpRT04UEluKnRS
QmtKS3xaMVdLS3h4YHx7fER9MjwhdHlBK3djfTkhfCt9aVI/M2hiUE4KenU1I3R5eVJ4M2wyM29e
ZDZZPjtWVzliWnl6cGNrTEh+eTYtKGV8WXBIQERZc2l2SFFNSFRDJjxudl5wfm1YZWgxCnpjdmkl
emJaZEpRcEolSm85d1U3ZTU5NyE7P3olPkYhMyZ9JCF9TSkkbkxIPG11bVE/azcoYkVwOzdNRz92
VSohdwp6TEREazleaHdiOSlIUGtpcSMhZj9QZElBfSVYdns9NW1oYi1FP0Joe0I8JHA1PnR2MEFC
MyglRkwreFpQYUdgO1gKeil7fHR8YkVBKlMyazZARihEMjJLe0BZQnZpdGFyPSVtJkVvbWE2NnZz
V19wa1cpPCEjYGomV2M/eFglQCR0U31CCnpAdF81fkcta1FRYS07ZCVyJCozczl5WEU2Tn5iT3Je
Zmd2NnA/UkF+UDZ9NjQzNGMtP3RgUlkwRDwjNWNHVkFUVwp6YU9pRWMqSU1oZFQ5el9vaUFpfnVk
QWg7eHckOz1XYjhMMHAlNnJpa3dQPnRYNn4kaHJBQHZ7RTJgVygqYElGUDEKek1AQV5oUHFAazg1
aGpJRy07eyV6RHtWbiFlUFU4cnNmYl59X3hZMUt5XkdJQTNIP0s4IW40UXVWcmxzOD97bnJnCnpp
cVNTQz0yPm9re0BgcGNROVNBVTx9ZHhKT2I/Zj8mI29SXmlySilSKn57XjVufS0qTF4tTzZGOXQ7
cmY+Y00mNQp6WGxQJngyLVY4QTcpMiEyM3pmaGokNXo0R1NhYk9HaSZGYE0hSzZiNz9LeipJWDJz
Oz1oN2leVUh+ZSZqIXYlZzwKemBrPEY8WDJhMzhldDMoaj0xSlQ+O1IrRiNwV1BpOCswUkxlOGgt
VkI2WDFKPEtMeUtsJntjaDBRem9meFZ6IXVICnpMXz8tREVFNnEkMTl9PztLJHBwUCohMnQpajJj
WEdgMGIzcC1hKEg5KFZgQUktRnpoI05KUzlTeWo9cmN1VEk2Ygp6RU9tbGElWUR6cWg1eSk1RC0h
eUE+TypOWTdncms9R042Uks8eUtoenFSWiNIemVqPitedzchTEpYSmpoI1lGMHwKens4cXl4fEF+
U1JkYlR3PkUpJEZ+SVNjOVAweUp9PGY0Ujg4MndqPHlKI0ZPdzltaWdyKX40JmxEYDswUEBlTjVD
Cno7dHlnVyM2SiZCckt4VkgpY0VxfnhuMUw8VHZmUGFuWHFsOylAQzBZRW5sK0gpLTZ2UjElQEo1
TDtkbUxYMiVNbgp6I2E4NVI8aH5+WTRfflpUP3pib1RxQi08QUoze2g5Q35pTlZlbXNaUnk+Vl5o
ITElMWtRRjg8PUxhTFgmbzllc04KejJ0QGU/eCU0a09PeUtJNSZzQF9UcyQqRVFSa289ZWglUHVa
OXVwfk1seCtQUnpITip7bT95UTtxREc3PXN+VjxWCnpVSnxCWFF5LTgqakU2VFFJJVorVylpNXYl
c19wdk0pVXslI29UWnl7NXhlWU96OHwrdDlAQ3p3UGlPbCpIVUNySgp6U25EcGJacyM2WE55I2BK
OTBCaFAmZURxeGZCRCYzOW88SVFXWXFsclM4LVAhKUlfJVI1cCk4R012PSU0QkZKSXsKejZjOEE7
STVIJUZrZyNXMUdsR0pFPzRZY1BmVSsrdEFoSE4zNkoqYUlBUFB1OG1hcXJgU3Q5ISQwKkN9cTJx
RUN0CnpgaDlROFo9Tjt2cnJ4VzFle31jbHVJe1ErX3RyZ3EmK3E9dWBNdC1jQEdOaj5EWXdDa3tm
QWEtbVR+ZkE+cHVVTwp6c3hEeTxOdDk4az8yK0o8QCNLTVo8Q35rdTllWUhoNTRAWD9gT0t6V2U5
MmI3T21iTFk/dnY5JVc7TEtRTyp1JX4Keng3VE1zayZpakd4VWpHYkJmVEtSJnU4RSZGQW87VVle
MnB+K05YREsxTzc4Q29ETEI2fDBvS3U/PnBecDNJJS0wCno4VUtlUy1hZ0pScUF1RCRsPyhxdT9+
Nkc8bHlnd2dEIXp6Z0g8ISpUc2VSSUxHZ2pTKzxJJnw7UTNASl9DOyU1egp6OTBXb1IjZSErOXsy
TF9eXnczJGVLOSh0dEMqNmc0ekljYnNjT3ZQfnNiRk05by1WRi1XXihKTTAxJXV1WG91fjcKeldf
dUpnKUAkcX41JDcrdkphQ3FAJjdgYzhBcG1iZ2xGKHVBWE84MDtBX009Xm9oK01OTzE0RFhIdHh2
Zlo5NGhFCno2R3E7YSF5fTR3ITtONmIrJnppSmc0QWhBdm9+UTdJQkYzaUc5QyhGYjg9ST1jfCE9
X1ZscmsjN1BATH1yRyN2Sgp6OUp6ME9fTmZnTUpYMm4tTElCeXJPUmEzejwoKWAmRnZWQHpeWHJH
O3h7KFAqb24/OTxpLWh6fjM9dTYlaFEqejAKekNpJjgoPD9seChKJjB1fWxVXk89UCZqPzQ9eTJ1
SkMwRl9HMXx5N25PO1hAc3ZoZWZFKnZzITA7K0ZCZF8mdW5ECno4P1QjOSo/OEs9YEA3U3AzaVVT
SStWJnJLdU4rNGdmLWNiXlMwZjZTRk47ZyVxfSNaVEJCUHRBezNKNkFwUnlqZwp6aU1KamxUTkZh
Wk08WkFqRzNtWlYoRUY7NmUyfjBBbDcxSzFjeXZfVVBVdjB5PGBjXjhMUWdIJjcwMzFvVWFJa0UK
eiRnRXJmUHspMT1JK2hIZnR9JVNUYlg9eE9xei0+NHs/ITJucChCNiFAczFmT0NzZyRfOHs7XlVX
Z0pYdENNRjF9Cnp3YjtYI2pWZFo/RDt8cy1nKXVMfGV+IUd0WGBldXZwVVIjc0I9cHA3QzVQS1la
XjlEJURiNW4tSXBpeEBPPmlrcAp6YGkrbnVPaTZ4bVRmVXgzWihJYGJzQUZkSSljZTUtd2ZfMlJl
bzA1V1crUkt0IU5+cU40PnpYIVV+Vlh5WVlsMlQKel87RDQ0WF41PXdTfV50Q05nQjBNUl93JjZZ
WmRsQCVBc31UOzJBWW1lRHEjfSNHVyhKak9eQyl6fV45YD1LU1JTCno5KWtLM0I0R0xFVDdPfUFi
e2dka1lxNmcwNjxacFZgNUpBP0dDZDBIYDshYns0JCFRNzQke0wpNEBZOyh4cFRzagp6NHUjI1p7
Mih1e0spRWAwP29HcGVTdWY4Uzt2K0NFZUArOXNDYEBKeGJsNW9NcTA+WEU9UH5nbzhPP3F5SHs2
O3cKel5jQE08N0tfKCNzV0krSytGaVJLcmx4bjNwOXQxTXh1JUc0YDJ4KDtzZyZlUlRNKWg2WXtQ
aXFqNm02XnNAfGo3CnorYzZocjNGQHRFMGEqNjhpRj9sIXJSPHVvc0hHKEZNMU0kTFd9cnVMVG9R
byNHR20pNz5afjcyU0g3Ujc3ZGt6Qwp6PSl8SXNpZk1adTNidS11RVZzPWd8SzNPXyt+WFU0YDAt
Tjd7byFNRmNZbnxiYXN3QEFHQUZxMzxTZ15CNmtIXngKelh4K3tPb2kwfmNfa3okMD4hbHxQeGdv
Njlrb2NTVEVzJX5UQSFqZnIxVWc3M0Qya1k/P2hhciZ3TCEzMlNhIXJwCnpWNTllWER5fWdkdzl5
QE95cWZPMGUpMjdpLSg2IzA/JjthTlEwNU9EdUgrWEcrSmM/diE/dm9tQmhgQSs2SW5+RQp6bUFr
P31EKE5WOW9xYEpscngob0pyKzdlV0Z2VztpUT04MCEqYj5AKCZUNGw5NH0mUXxlKHApUUFaVmtz
bVhWcUkKejZwNGYhR3hpU19fZH1NUik8YjMpPnklZ2tQUjd9cWhUVUlEclMzLW1yak43UU9JeXcx
Pz5DZWl4SHxQYVI2eXNeCno9LVBATUVKRWRZaF5ETy1vMFF3Qj4+Wip5R2JlM0B5U054fmZzS2J2
Z0FNdS0zMkZ+M0wjPVJralZDdSNjVVZOMgp6P25hVShkR0l1RGNtVlRDRn1+eCpfTVhGKz9NYE9Y
X0tgMCYpNjZCfilKK2gpI2o+PHdfSFlKdzcrLTBQPXkpayQKeiVESnpyI1Y+NXR6Y3xGZE50T1Bf
PDkrcGZyUT9XOClkUkIhKXRlUV4xRSRraWgtejAwZXptakt3cH5IS08lbVprCnoxX0llXkYtajtj
ZUBJN0MpQVg5ZnNwIV85NDhpYEpkcWx9Zk1VdGE7Vjlib1NwSEdvITx8SzF7REhPYW12RUFRNwp6
WFpZKWpgblQ1QFJJdiZTPW08fkYzcmZuOTh9eX4mSEw8RWFOeTthQXRrSHI9P1NtPUxve0sraj9g
c0UxdXFPcE8KektAdUA8KjdHbD47ISlnWCMlZilaT0Vlc1U0MmYrU2NgaVNaZTxeYldJeExlMWJq
NFNwQnxpMlIqKERAcykqJk9gCnpVUX0kZT9VVD5tOVRnPjN2LWZXUTRfWDEqOGZjRCEpJis7US0+
JTR3O2tafXkkKUh5alM3a2Q0SEpgWFpXTTZiUwp6Vl5kcENjSm1yI20mUz9RbjJ0aGgwOXQtVj9V
XzhAKiZpTkkmbzw8cUlPRTUjQnVDckN5RVRDTnloSXxYZVVoUTcKekdoJksmPVc9ZlB2fTszVVde
Uz9+TmBic3IrR2pTfWJIYiRaN2BuUUIyXzV3fDB3LXQ3QkRWbXpTdFZKbkgrTUxOCnpyTVFRUDJS
MTdpYXkjdWBoZiN7Vnl7WWtYUXVJQWtmdVdERXhFb3QlbGgoY3pua0hwWD57d3IwYmwjfS0qJW9+
MAp6YTdFNypFTlpAeTEkfHg1bTRDPm88d3p7cnwyVURERGktYSFqaExEMll7KCFDdShaNDYxIXQp
PlRqKnRgVmhaZl4KejhjNGJSYWRfbkQxbiVrNS1aZnhWdzUhN0V7YS1BenJaIWVPdylWRjtMRFpC
bHY+UTwwK1k9ZTY+MytKfXxJYHphCnp3eE9GRk5IKkZ6PmhNXzRkKTlZTUt8JCs5cmtnX0BEfkdu
KU5QU29AXjc4alZrdWNUbXZXKWVwOGhUZiYjKmVOaQp6WigkbnFiKnxQKGYmRjE7Uzt9XjhrQClV
bl9aemoyWkxKZH5xVVIjbSpMfWdyWS0rPCRhcWgxYkpISFRqdkBvdTAKemclM31GcXVTc2Y+Wmox
SGp4MyQjJkw8RFZAKU52QGdCTzc7blZ5QlFVcy14QkBUP14xJSsjYGM4K1IoUGJLLVdlCnokOERR
ezshelQlcS1IQ04yeE15IWB0LXQ5eGNPLVBpOSZ7Ymg4Xk8kal5gbEkhOEV0PmI8WSltdjI3fj1v
Yz9rbQp6e0NTZjZEVjZVWk9NJE9mZiZnUH0yRkV+UCNtOCtnP2tINT5JRFhWR1lHZil5cDl1I09Z
JkxedXY7d0FBNnolJkAKemg5UD9ud3BPTmU+KmJ1a3Qxdy00bXM0RkdtS0lvI0k5PF5OdHJoMm8/
JHF2ZlpmWWxxLTtyfithSSY0SVZzTk43Cno1Pi1faiNEXllIV0AqeShUQjU4fispWVM9QDktZTgm
SWBMeDErVXVeMlFxYkstWl5MaW1eaG1FQj18YGI7TigjPgp6aj05cyZyNk1kKHBwSnB5WSlFX1JO
ND1+UVZGJUA0OEtwMD1wbGdZZURqSTJYKkhFMiFyfGFNJXdvSkN8ZjtpQDMKenVXK3wzRnl8cjhX
WDh7VCooWVBJSTZqdGtWMUhPPGhhWWkhUCRvYEtQaXopMStAQ3lqT1JNPihjPTxDRTReM0lpCnpQ
byh5eF4haXpPdlMyPmJAZmoqMU1aRElJNSpmMlNMbGE4cGF1NSpRZ30xcU9scnQqK19IRkFrPk0/
RURpQHZOWQp6e3c0K3NjelhAc3FWcWBNU050VT5AJXBiMWB3aEU9NSRPeTE4c1pXREB0fmhYaCVW
THpgKT1lYWN8RDIrRjx2ZkEKeldYLS0zSHlLaEg0ZzUlfVV4Pm47T1pOdTNuJF4xcSZRYVYmVD4w
R2pvSCpra2gmPEQ5cnVpfmN3Y0gkRHpfRnUpCnpIa34pXjUwbD9SWTx2PEtEbSNPdCUkQWw8KUIj
eShoZUltQDNZSnU1XyNhZzJfT0N3WCRQSVArUkQyO3E9YGYtPwp6PnteaDNSPGRxO3NxcEdTbm95
R1FWMWl5bkIyRFcjaXoyRnRVU0pScEo2QVZicCpqc0c8QWAoRUBZYCFiVT9hPXAKel4pc3NzT3tg
MHwzYzdrQ1JPS3pjJWk3TV42WHsoUiVOSEViPzZnKkh3bCZATSh6OWhtT1lQRj1xNH1EKnorSEUw
CnpNV31kWT9fZlVfR2Z0c1Qoc2k9OVREUHF2XzBWYWIqK05oTmZWamJvQHs3clF6TiNZYyskX0Rg
ODh7SCZhVkxHbAp6RS1xZmJ8OFJBJiYwO1peSEQxaDk2YUomcTNUY0REXj1yd193TygmRzw2LUh0
bW1lKyg+Yn5vJiZHYSNOLXJxb34KelY1Iy0+V2FhSFhHbVo1Yz9Wa0hKcnR2aituTCl8eEh8MTZO
V21lZGQlfklAXkgpdE03cGs+el87MU40NmFMb2hhCnp3U2lNQlZ5JEYyeGdAbHJqJW0tVzBgIVYx
MDQ9RlFwN2BARztjd3BtbUFHQEU9WlEtWHJEfHw+Qyh+ZXcjKEdCNgp6Zn5+SSY3dF4+cGRDbFZv
I1QzdD1jbkNiWCFLJGFSY3tCT3QkdHt+dmxjdmhhYj40TnZEYyM2alhmfWNScmhoKkAKenU9YihM
clklTXhIK1d6I3JwcVV1fElYN0dqSH1HWEApb2R1aHUtP3wxQHFCRCUlcjhLN1k7OVJ0N2wzbENn
SXxnCno/fihlN1NET3lXMSY5bWQkQkpJNmowVllvMWxpJVFXd2V2IWxreHItLXNeaykpNkwjcylr
PipIS0Z5KWcrWjZMMQp6bkNuR1JWWTh0fUlfQFJtP0JfXndvQ19lcnF8fWorSTN8KyFiKG9WWHA4
cmBXY147dFBGOWVxR2UrbiV4ZVghIVkKeiVmekJ9QV48fn1ZJUhsU2FyS3UmKTJSaztXZVppd1Rg
fTEydUZBUT1lKFJtfkdvM1cmeFF2VFJIQTwoSVFAdUwzCnowSjk3NHs+e0dyZTsoQHB6VUJDNWNK
SF5aYVkrOTFIbVpkRVhBeVljXlFqaD5oX2VXe2BOYE0oO2whSS0qUn1OfQp6Uz88SXE0TEdJZyZe
bDJ8TntqQTluN08tRzxKUzVJWTBefkRYfShoKiRgZlVYR2VMRU1YaUpgcCtlVnRBQDVxYW0KenFz
X3NNans3QWwjPytnMy0zTWR8TFJqJnVfbEcrfERORCU/QXxWLXl2M2pncjhkK0xIcTRjbSRteUMk
Tl9eZjYzCno5ZVIoKUpQLSF+PX1MRCg0bmJPQmh0Q3FHJTEkaS15anNhO1ZpSnlNbEEmVD5eYDEr
bCt0NDgjZXRmdzhgcD49awp6dVEtPlVpcChhdF9oQ2dCVyVURylfbmJ+JVBrK0NCcmE1OHo4RWQ2
fHhyMD93d2NNMmRsPkhTfWJYeHRZPHZlREAKelBxblBOdFpiKSZsK3EkJWV4QGhrK0shSUpxcGVw
ISQoaz9HVmJKPko/P2k7KGl4VTZOR3RoVTROZEpMPntkTkBwCnVse1V3Ql83NDltWDhiZWNgZD1+
UWs5dlVMaFdZPFdOQiQ/QGBTO1llfDNEfUhVNlZMSTVDMERyUmJ1ZX4KCmRpZmYgLS1naXQgYS9X
ZWJzaXRlcy93ZWJraXQub3JnL2RlbW9zL3dlYmdwdS9jdWJlcy5qcyBiL1dlYnNpdGVzL3dlYmtp
dC5vcmcvZGVtb3Mvd2ViZ3B1L2N1YmVzLmpzCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCA2ZjUyYTI0MjE1ODk4ZmFmNmYxNjY2OGFiZTgzYWEyOWE5MWU0MDQ4Li4wMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL1dlYnNpdGVzL3dlYmtpdC5vcmcvZGVt
b3Mvd2ViZ3B1L2N1YmVzLmpzCisrKyAvZGV2L251bGwKQEAgLTEsMzQ0ICswLDAgQEAKLWNsYXNz
IFVuaWZvcm0gewotICAgIGNvbnN0cnVjdG9yKGZsb2F0MzJBcnJheSkgewotICAgICAgICBpZiAo
ZmxvYXQzMkFycmF5ICYmIGZsb2F0MzJBcnJheS5sZW5ndGggIT0gNjQpIHsKLSAgICAgICAgICAg
IGNvbnNvbGUubG9nKCJJbmNvcnJlY3QgYmFja2luZyBzdG9yZSBmb3IgVW5pZm9ybSIpOwotICAg
ICAgICAgICAgcmV0dXJuOwotICAgICAgICB9Ci0KLSAgICAgICAgdGhpcy5hcnJheSA9IGZsb2F0
MzJBcnJheSB8fCBuZXcgRmxvYXQzMkFycmF5KDY0KTsKLSAgICB9Ci0gICAgLy8gTGF5b3V0IGlz
Ci0gICAgLy8gMC0xNSA9IG1vZGVsX3ZpZXdfcHJvamVjdGlvbl9tYXRyaXggKGZsb2F0NHg0KQot
ICAgIC8vIDE2LTMxID0gbm9ybWFsIG1hdHJpeCAoZmxvYXQ0eDQpCi0gICAgLy8gMzItMzUgPSBh
bWJpZW50IGNvbG9yIChmbG9hdDQpCi0gICAgLy8gMzYgPSBtdWx0aXBsaWVyIChpbnQpCi0gICAg
Z2V0IGJ1ZmZlcigpIHsKLSAgICAgICAgcmV0dXJuIHRoaXMuYXJyYXk7Ci0gICAgfQotICAgIGdl
dCBtdnAoKSB7Ci0gICAgICAgIHJldHVybiB0aGlzLmFycmF5LnN1YmFycmF5KDAsIDE2KTsKLSAg
ICB9Ci0gICAgZ2V0IG5vcm1hbCgpIHsKLSAgICAgICAgcmV0dXJuIHRoaXMuYXJyYXkuc3ViYXJy
YXkoMTYsIDMyKTsKLSAgICB9Ci0gICAgZ2V0IGFtYmllbnRDb2xvcigpIHsKLSAgICAgICAgcmV0
dXJuIHRoaXMuYXJyYXkuc3ViYXJyYXkoMzIsIDM2KTsKLSAgICB9Ci0gICAgZ2V0IG11bHRpcGxp
ZXIoKSB7Ci0gICAgICAgIHJldHVybiB0aGlzLmFycmF5WzQwXTsKLSAgICB9Ci0gICAgc2V0IG12
cCh2YWx1ZSkgewotICAgICAgICB0aGlzLl9jb3B5TWF0cml4KHZhbHVlLCAwKTsKLSAgICB9Ci0g
ICAgc2V0IG5vcm1hbCh2YWx1ZSkgewotICAgICAgICB0aGlzLl9jb3B5TWF0cml4KHZhbHVlLCAx
Nik7Ci0gICAgfQotICAgIHNldCBhbWJpZW50Q29sb3IodmFsdWUpIHsKLSAgICAgICAgdGhpcy5h
cnJheVszMl0gPSB2YWx1ZVswXTsKLSAgICAgICAgdGhpcy5hcnJheVszM10gPSB2YWx1ZVsxXTsK
LSAgICAgICAgdGhpcy5hcnJheVszNF0gPSB2YWx1ZVsyXTsKLSAgICAgICAgdGhpcy5hcnJheVsz
NV0gPSB2YWx1ZVszXTsKLSAgICB9Ci0gICAgc2V0IG11bHRpcGxpZXIodmFsdWUpIHsKLSAgICAg
ICAgdGhpcy5hcnJheVszNl0gPSB2YWx1ZTsKLSAgICB9Ci0gICAgX2NvcHlNYXRyaXgobWF0cml4
LCBvZmZzZXQpIHsKLSAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCAxNjsgaSsrKSB7Ci0gICAg
ICAgICAgICB0aGlzLmFycmF5W29mZnNldCArIGldID0gbWF0cml4W2ldOwotICAgICAgICB9Ci0g
ICAgfQotfQotCi1jb25zdCBzbW9vdGhzdGVwID0gKG1pbiwgbWF4LCB2YWx1ZSkgPT4gewotICAg
IGxldCB4ID0gTWF0aC5tYXgoMCwgTWF0aC5taW4oMSwgKHZhbHVlIC0gbWluKSAvIChtYXggLSBt
aW4pKSk7Ci0gICAgcmV0dXJuIHggKiB4ICogKDMgLSAyICogeCk7Ci19OwotCi1jb25zdCBpblRp
bWVSYW5nZSA9IChub3csIHN0YXJ0LCBlbmQsIHBlcmlvZCkgPT4gewotICAgIGxldCBvZmZzZXQg
PSBub3cgJSBwZXJpb2Q7Ci0gICAgcmV0dXJuIG9mZnNldCA+PSBzdGFydCAmJiBvZmZzZXQgPD0g
ZW5kOwotfTsKLQotY29uc3QgdGltZVJhbmdlT2Zmc2V0ID0gKG5vdywgc3RhcnQsIGVuZCwgcGVy
aW9kKSA9PiB7Ci0gICAgaWYgKCFpblRpbWVSYW5nZShub3csIHN0YXJ0LCBlbmQsIHBlcmlvZCkp
IHsKLSAgICAgICAgcmV0dXJuIDA7Ci0gICAgfQotICAgIGxldCBvZmZzZXQgPSBub3cgJSBwZXJp
b2Q7Ci0gICAgcmV0dXJuIE1hdGgubWluKDEsIE1hdGgubWF4KDAsIChvZmZzZXQgLSBzdGFydCkg
LyAoZW5kIC0gc3RhcnQpKSk7Ci19OwotCi1jb25zdCBtaWRkbGVQZWFrVGltZVJhbmdlT2Zmc2V0
ID0gKG5vdywgc3RhcnQsIGVuZCwgcGVyaW9kKSA9PiB7Ci0gICAgbGV0IG9mZnNldCA9IHRpbWVS
YW5nZU9mZnNldChub3csIHN0YXJ0LCBlbmQsIHBlcmlvZCk7Ci0gICAgcmV0dXJuIDEgLSBNYXRo
LmFicygwLjUgLSBvZmZzZXQpICogMjsKLX07Ci0KLWNvbnN0IGtOdW1BY3RpdmVVbmlmb3JtQnVm
ZmVycyA9IDM7Ci1jb25zdCBrTnVtYmVyT2ZCb3hlc1BlckF4aXMgPSA2OwotY29uc3Qga051bWJl
ck9mQm94ZXMgPSBrTnVtYmVyT2ZCb3hlc1BlckF4aXMgKiBrTnVtYmVyT2ZCb3hlc1BlckF4aXM7
Ci1jb25zdCBrQm94QmFzZUFtYmllbnRDb2xvciA9IFswLjIsIDAuMiwgMC4yLCAxLjBdOwotY29u
c3Qga0ZPVlkgPSA0NS4wIC8gMTgwICogTWF0aC5QSTsKLWNvbnN0IGtFeWUgPSB2ZWMzLmZyb21W
YWx1ZXMoMC4wLCAyLjc1LCAtMik7Ci1jb25zdCBrQ2VudGVyID0gdmVjMy5mcm9tVmFsdWVzKDAu
MCwgMS41LCAxLjApOwotY29uc3Qga1VwID0gdmVjMy5mcm9tVmFsdWVzKDAuMCwgMS4wLCAwLjAp
OwotY29uc3Qga0VkZ2UgPSAxLjUgLyBrTnVtYmVyT2ZCb3hlc1BlckF4aXMgOwotCi1jb25zdCBr
Q3ViZVZlcnRleERhdGEgPSBuZXcgRmxvYXQzMkFycmF5KAotWwotICAgIGtFZGdlLCAta0VkZ2Us
IGtFZGdlLCAwLjAsIC0xLjAsIDAuMCwKLSAgICAta0VkZ2UsIC1rRWRnZSwga0VkZ2UsIDAuMCwg
LTEuMCwgMC4wLAotICAgIC1rRWRnZSwgLWtFZGdlLCAta0VkZ2UsIDAuMCwgLTEuMCwgMC4wLAot
ICAgIGtFZGdlLCAta0VkZ2UsIC1rRWRnZSwgMC4wLCAtMS4wLCAwLjAsCi0gICAga0VkZ2UsIC1r
RWRnZSwga0VkZ2UsIDAuMCwgLTEuMCwgMC4wLAotICAgIC1rRWRnZSwgLWtFZGdlLCAta0VkZ2Us
IDAuMCwgLTEuMCwgMC4wLAotCi0gICAga0VkZ2UsIGtFZGdlLCBrRWRnZSwgMS4wLCAwLjAsIDAu
MCwKLSAgICBrRWRnZSwgLWtFZGdlLCBrRWRnZSwgMS4wLCAwLjAsIDAuMCwKLSAgICBrRWRnZSwg
LWtFZGdlLCAta0VkZ2UsIDEuMCwgMC4wLCAwLjAsCi0gICAga0VkZ2UsIGtFZGdlLCAta0VkZ2Us
IDEuMCwgMC4wLCAwLjAsCi0gICAga0VkZ2UsIGtFZGdlLCBrRWRnZSwgMS4wLCAwLjAsIDAuMCwK
LSAgICBrRWRnZSwgLWtFZGdlLCAta0VkZ2UsIDEuMCwgMC4wLCAwLjAsCi0KLSAgICAta0VkZ2Us
IGtFZGdlLCBrRWRnZSwgMC4wLCAxLjAsIDAuMCwKLSAgICBrRWRnZSwga0VkZ2UsIGtFZGdlLCAw
LjAsIDEuMCwgMC4wLAotICAgIGtFZGdlLCBrRWRnZSwgLWtFZGdlLCAwLjAsIDEuMCwgMC4wLAot
ICAgIC1rRWRnZSwga0VkZ2UsIC1rRWRnZSwgMC4wLCAxLjAsIDAuMCwKLSAgICAta0VkZ2UsIGtF
ZGdlLCBrRWRnZSwgMC4wLCAxLjAsIDAuMCwKLSAgICBrRWRnZSwga0VkZ2UsIC1rRWRnZSwgMC4w
LCAxLjAsIDAuMCwKLQotICAgIC1rRWRnZSwgLWtFZGdlLCBrRWRnZSwgLTEuMCwgMC4wLCAwLjAs
Ci0gICAgLWtFZGdlLCBrRWRnZSwga0VkZ2UsIC0xLjAsIDAuMCwgMC4wLAotICAgIC1rRWRnZSwg
a0VkZ2UsIC1rRWRnZSwgLTEuMCwgMC4wLCAwLjAsCi0gICAgLWtFZGdlLCAta0VkZ2UsIC1rRWRn
ZSwgLTEuMCwgMC4wLCAwLjAsCi0gICAgLWtFZGdlLCAta0VkZ2UsIGtFZGdlLCAtMS4wLCAwLjAs
IDAuMCwKLSAgICAta0VkZ2UsIGtFZGdlLCAta0VkZ2UsIC0xLjAsIDAuMCwgMC4wLAotCi0gICAg
a0VkZ2UsIGtFZGdlLCBrRWRnZSwgMC4wLCAwLjAsIDEuMCwKLSAgICAta0VkZ2UsIGtFZGdlLCBr
RWRnZSwgMC4wLCAwLjAsIDEuMCwKLSAgICAta0VkZ2UsIC1rRWRnZSwga0VkZ2UsIDAuMCwgMC4w
LCAxLjAsCi0gICAgLWtFZGdlLCAta0VkZ2UsIGtFZGdlLCAwLjAsIDAuMCwgMS4wLAotICAgIGtF
ZGdlLCAta0VkZ2UsIGtFZGdlLCAwLjAsIDAuMCwgMS4wLAotICAgIGtFZGdlLCBrRWRnZSwga0Vk
Z2UsIDAuMCwgMC4wLCAxLjAsCi0KLSAgICBrRWRnZSwgLWtFZGdlLCAta0VkZ2UsIDAuMCwgMC4w
LCAtMS4wLAotICAgIC1rRWRnZSwgLWtFZGdlLCAta0VkZ2UsIDAuMCwgMC4wLCAtMS4wLAotICAg
IC1rRWRnZSwga0VkZ2UsIC1rRWRnZSwgMC4wLCAwLjAsIC0xLjAsCi0gICAga0VkZ2UsIGtFZGdl
LCAta0VkZ2UsIDAuMCwgMC4wLCAtMS4wLAotICAgIGtFZGdlLCAta0VkZ2UsIC1rRWRnZSwgMC4w
LCAwLjAsIC0xLjAsCi0gICAgLWtFZGdlLCBrRWRnZSwgLWtFZGdlLCAwLjAsIDAuMCwgLTEuMAot
XSk7Ci0KLWxldCBncHU7Ci1sZXQgY29tbWFuZFF1ZXVlOwotbGV0IHJlbmRlclBhc3NEZXNjcmlw
dG9yOwotbGV0IHJlbmRlclBpcGVsaW5lU3RhdGU7Ci1sZXQgZGVwdGhTdGVuY2lsU3RhdGU7Ci0K
LWxldCBwcm9qZWN0aW9uTWF0cml4ID0gbWF0NC5jcmVhdGUoKTsKLWxldCB2aWV3TWF0cml4ID0g
bWF0NC5jcmVhdGUoKTsKLQotdmFyIHN0YXJ0VGltZTsKLXZhciBlbGFwc2VkVGltZTsKLWxldCBj
YW1lcmFSb3RhdGlvbiA9IDA7Ci1sZXQgY2FtZXJhQWx0aXR1ZGUgPSAwOwotCi1jb25zdCB1bmlm
b3JtQnVmZmVycyA9IG5ldyBBcnJheShrTnVtQWN0aXZlVW5pZm9ybUJ1ZmZlcnMpOwotdmFyIGN1
cnJlbnRVbmlmb3JtQnVmZmVySW5kZXggPSAwOwotCi13aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigi
bG9hZCIsIGluaXQsIGZhbHNlKTsKLQotZnVuY3Rpb24gaW5pdCgpIHsKLQotICAgIGlmICghY2hl
Y2tGb3JXZWJHUFUoKSkgewotICAgICAgICByZXR1cm47Ci0gICAgfQotCi0gICAgbGV0IGNhbnZh
cyA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoImNhbnZhcyIpOwotICAgIGxldCBjYW52YXNTaXpl
ID0gY2FudmFzLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpOwotICAgIGNhbnZhcy53aWR0aCA9IGNh
bnZhc1NpemUud2lkdGg7Ci0gICAgY2FudmFzLmhlaWdodCA9IGNhbnZhc1NpemUuaGVpZ2h0Owot
Ci0gICAgbGV0IGFzcGVjdCA9IE1hdGguYWJzKGNhbnZhc1NpemUud2lkdGggLyBjYW52YXNTaXpl
LmhlaWdodCk7Ci0gICAgbWF0NC5wZXJzcGVjdGl2ZShwcm9qZWN0aW9uTWF0cml4LCBrRk9WWSwg
YXNwZWN0LCAwLjEsIDEwMC4wKTsKLSAgICBtYXQ0Lmxvb2tBdCh2aWV3TWF0cml4LCBrRXllLCBr
Q2VudGVyLCBrVXApOwotCi0gICAgZ3B1ID0gY2FudmFzLmdldENvbnRleHQoIndlYmdwdSIpOwot
ICAgIGNvbW1hbmRRdWV1ZSA9IGdwdS5jcmVhdGVDb21tYW5kUXVldWUoKTsKLQotICAgIGxldCBs
aWJyYXJ5ID0gZ3B1LmNyZWF0ZUxpYnJhcnkoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImxpYnJh
cnkiKS50ZXh0KTsKLSAgICBsZXQgdmVydGV4RnVuY3Rpb24gPSBsaWJyYXJ5LmZ1bmN0aW9uV2l0
aE5hbWUoInZlcnRleF9mdW5jdGlvbiIpOwotICAgIGxldCBmcmFnbWVudEZ1bmN0aW9uID0gbGli
cmFyeS5mdW5jdGlvbldpdGhOYW1lKCJmcmFnbWVudF9mdW5jdGlvbiIpOwotCi0gICAgaWYgKCFs
aWJyYXJ5IHx8ICFmcmFnbWVudEZ1bmN0aW9uIHx8ICF2ZXJ0ZXhGdW5jdGlvbikgewotICAgICAg
ICByZXR1cm47Ci0gICAgfQotCi0gICAgdmFyIHBpcGVsaW5lRGVzY3JpcHRvciA9IG5ldyBXZWJH
UFVSZW5kZXJQaXBlbGluZURlc2NyaXB0b3IoKTsKLSAgICBwaXBlbGluZURlc2NyaXB0b3IudmVy
dGV4RnVuY3Rpb24gPSB2ZXJ0ZXhGdW5jdGlvbjsKLSAgICBwaXBlbGluZURlc2NyaXB0b3IuZnJh
Z21lbnRGdW5jdGlvbiA9IGZyYWdtZW50RnVuY3Rpb247Ci0gICAgLy8gTk9URTogT3VyIEFQSSBw
cm9wb3NhbCBoYXMgdGhlc2UgdmFsdWVzIGFzIGVudW1zLCBub3QgY29uc3RhbnQgbnVtYmVycy4K
LSAgICAvLyBXZSBoYXZlbid0IGdvdCBhcm91bmQgdG8gaW1wbGVtZW50aW5nIHRoZSBlbnVtcyB5
ZXQuCi0gICAgcGlwZWxpbmVEZXNjcmlwdG9yLmNvbG9yQXR0YWNobWVudHNbMF0ucGl4ZWxGb3Jt
YXQgPSBncHUuUGl4ZWxGb3JtYXRCR1JBOFVub3JtOwotICAgIHBpcGVsaW5lRGVzY3JpcHRvci5k
ZXB0aEF0dGFjaG1lbnRQaXhlbEZvcm1hdCA9IGdwdS5QaXhlbEZvcm1hdERlcHRoMzJGbG9hdDsK
LQotICAgIHJlbmRlclBpcGVsaW5lU3RhdGUgPSBncHUuY3JlYXRlUmVuZGVyUGlwZWxpbmVTdGF0
ZShwaXBlbGluZURlc2NyaXB0b3IpOwotCi0gICAgbGV0IGRlcHRoU3RlbmNpbERlc2NyaXB0b3Ig
PSBuZXcgV2ViR1BVRGVwdGhTdGVuY2lsRGVzY3JpcHRvcigpOwotICAgIGRlcHRoU3RlbmNpbERl
c2NyaXB0b3IuZGVwdGhXcml0ZUVuYWJsZWQgPSB0cnVlOwotICAgIGRlcHRoU3RlbmNpbERlc2Ny
aXB0b3IuZGVwdGhDb21wYXJlRnVuY3Rpb24gPSAibGVzcyI7Ci0KLSAgICBkZXB0aFN0ZW5jaWxT
dGF0ZSA9IGdwdS5jcmVhdGVEZXB0aFN0ZW5jaWxTdGF0ZShkZXB0aFN0ZW5jaWxEZXNjcmlwdG9y
KTsKLQotICAgIGZvciAobGV0IGkgPSAwOyBpIDwga051bUFjdGl2ZVVuaWZvcm1CdWZmZXJzOyBp
KyspIHsKLSAgICAgICAgdW5pZm9ybUJ1ZmZlcnNbaV0gPSBbXTsKLSAgICAgICAgZm9yIChsZXQg
aiA9IDA7IGogPCBrTnVtYmVyT2ZCb3hlczsgaisrKSB7Ci0gICAgICAgICAgICBsZXQgdW5pZm9y
bSA9IG5ldyBVbmlmb3JtKCk7Ci0gICAgICAgICAgICB1bmlmb3JtLm11bHRpcGxpZXIgPSAoaiAl
IDIpID8gLTEgOiAxOwotICAgICAgICAgICAgdW5pZm9ybS5hbWJpZW50Q29sb3IgPSBrQm94QmFz
ZUFtYmllbnRDb2xvcjsKLSAgICAgICAgICAgIHVuaWZvcm1CdWZmZXJzW2ldLnB1c2goZ3B1LmNy
ZWF0ZUJ1ZmZlcih1bmlmb3JtLmJ1ZmZlcikpOwotICAgICAgICB9Ci0gICAgfQotCi0gICAgbGV0
IGRlcHRoVGV4dHVyZURlc2NyaXB0b3IgPSBuZXcgV2ViR1BVVGV4dHVyZURlc2NyaXB0b3IoZ3B1
LlBpeGVsRm9ybWF0RGVwdGgzMkZsb2F0LCBjYW52YXNTaXplLndpZHRoLCBjYW52YXNTaXplLmhl
aWdodCwgZmFsc2UpOwotICAgIC8vIE5PVEU6IE91ciBBUEkgcHJvcG9zYWwgaGFzIHNvbWUgb2Yg
dGhlc2UgdmFsdWVzIGFzIGVudW1zLCBub3QgY29uc3RhbnQgbnVtYmVycy4KLSAgICAvLyBXZSBo
YXZlbid0IGdvdCBhcm91bmQgdG8gaW1wbGVtZW50aW5nIHRoZSBlbnVtcyB5ZXQuCi0gICAgZGVw
dGhUZXh0dXJlRGVzY3JpcHRvci50ZXh0dXJlVHlwZSA9IGdwdS5UZXh0dXJlVHlwZTJEOwotICAg
IGRlcHRoVGV4dHVyZURlc2NyaXB0b3Iuc2FtcGxlQ291bnQgPSAxOwotICAgIGRlcHRoVGV4dHVy
ZURlc2NyaXB0b3IudXNhZ2UgPSBncHUuVGV4dHVyZVVzYWdlVW5rbm93bjsKLSAgICBkZXB0aFRl
eHR1cmVEZXNjcmlwdG9yLnN0b3JhZ2VNb2RlID0gZ3B1LlN0b3JhZ2VNb2RlUHJpdmF0ZTsKLQot
ICAgIGxldCBkZXB0aFRleHR1cmUgPSBncHUuY3JlYXRlVGV4dHVyZShkZXB0aFRleHR1cmVEZXNj
cmlwdG9yKTsKLQotICAgIHJlbmRlclBhc3NEZXNjcmlwdG9yID0gbmV3IFdlYkdQVVJlbmRlclBh
c3NEZXNjcmlwdG9yKCk7Ci0gICAgLy8gTk9URTogT3VyIEFQSSBwcm9wb3NhbCBoYXMgc29tZSBv
ZiB0aGVzZSB2YWx1ZXMgYXMgZW51bXMsIG5vdCBjb25zdGFudCBudW1iZXJzLgotICAgIC8vIFdl
IGhhdmVuJ3QgZ290IGFyb3VuZCB0byBpbXBsZW1lbnRpbmcgdGhlIGVudW1zIHlldC4KLSAgICBy
ZW5kZXJQYXNzRGVzY3JpcHRvci5jb2xvckF0dGFjaG1lbnRzWzBdLmxvYWRBY3Rpb24gPSBncHUu
TG9hZEFjdGlvbkNsZWFyOwotICAgIHJlbmRlclBhc3NEZXNjcmlwdG9yLmNvbG9yQXR0YWNobWVu
dHNbMF0uc3RvcmVBY3Rpb24gPSBncHUuU3RvcmVBY3Rpb25TdG9yZTsKLSAgICByZW5kZXJQYXNz
RGVzY3JpcHRvci5jb2xvckF0dGFjaG1lbnRzWzBdLmNsZWFyQ29sb3IgPSBbMC4zNSwgMC42NSwg
MC44NSwgMS4wXTsKLSAgICByZW5kZXJQYXNzRGVzY3JpcHRvci5kZXB0aEF0dGFjaG1lbnQubG9h
ZEFjdGlvbiA9IGdwdS5Mb2FkQWN0aW9uQ2xlYXI7Ci0gICAgcmVuZGVyUGFzc0Rlc2NyaXB0b3Iu
ZGVwdGhBdHRhY2htZW50LnN0b3JlQWN0aW9uID0gZ3B1LlN0b3JlQWN0aW9uRG9udENhcmU7Ci0g
ICAgcmVuZGVyUGFzc0Rlc2NyaXB0b3IuZGVwdGhBdHRhY2htZW50LmNsZWFyRGVwdGggPSAxLjA7
Ci0gICAgcmVuZGVyUGFzc0Rlc2NyaXB0b3IuZGVwdGhBdHRhY2htZW50LnRleHR1cmUgPSBkZXB0
aFRleHR1cmU7Ci0KLSAgICB2ZXJ0ZXhCdWZmZXIgPSBncHUuY3JlYXRlQnVmZmVyKGtDdWJlVmVy
dGV4RGF0YSk7Ci0KLSAgICBzdGFydFRpbWUgPSBEYXRlLm5vdygpOwotICAgIHJlbmRlcigpOwot
fQotCi1mdW5jdGlvbiByZW5kZXIoKSB7Ci0KLSAgICBlbGFwc2VkVGltZSA9IChEYXRlLm5vdygp
IC0gc3RhcnRUaW1lKSAvIDEwMDA7Ci0KLSAgICBjYW1lcmFSb3RhdGlvbiA9IE1hdGguUEkgKiAy
ICogKDEgLSB0aW1lUmFuZ2VPZmZzZXQoZWxhcHNlZFRpbWUsIDAsIDExLCAxMSkpOwotICAgIGNh
bWVyYUFsdGl0dWRlID0gTWF0aC5zaW4oZWxhcHNlZFRpbWUgLyA2ICogTWF0aC5QSSkgKyAxOwot
Ci0gICAgbGV0IGV5ZSA9IHZlYzMuY3JlYXRlKCk7Ci0gICAgdmVjMy5hZGQoZXllLCBrRXllLCB2
ZWMzLmZyb21WYWx1ZXMoMCwgY2FtZXJhQWx0aXR1ZGUsIDApKTsKLSAgICBtYXQ0Lmxvb2tBdCh2
aWV3TWF0cml4LCBleWUsIGtDZW50ZXIsIGtVcCk7Ci0KLSAgICB1cGRhdGVVbmlmb3JtRGF0YShj
dXJyZW50VW5pZm9ybUJ1ZmZlckluZGV4KTsKLQotICAgIGxldCBjb21tYW5kQnVmZmVyID0gY29t
bWFuZFF1ZXVlLmNyZWF0ZUNvbW1hbmRCdWZmZXIoKTsKLQotICAgIGxldCBkcmF3YWJsZSA9IGdw
dS5uZXh0RHJhd2FibGUoKTsKLQotICAgIHJlbmRlclBhc3NEZXNjcmlwdG9yLmNvbG9yQXR0YWNo
bWVudHNbMF0udGV4dHVyZSA9IGRyYXdhYmxlLnRleHR1cmU7Ci0KLSAgICBsZXQgY29tbWFuZEVu
Y29kZXIgPSBjb21tYW5kQnVmZmVyLmNyZWF0ZVJlbmRlckNvbW1hbmRFbmNvZGVyV2l0aERlc2Ny
aXB0b3IocmVuZGVyUGFzc0Rlc2NyaXB0b3IpOwotICAgIGNvbW1hbmRFbmNvZGVyLnNldERlcHRo
U3RlbmNpbFN0YXRlKGRlcHRoU3RlbmNpbFN0YXRlKTsKLSAgICBjb21tYW5kRW5jb2Rlci5zZXRS
ZW5kZXJQaXBlbGluZVN0YXRlKHJlbmRlclBpcGVsaW5lU3RhdGUpOwotICAgIGNvbW1hbmRFbmNv
ZGVyLnNldFZlcnRleEJ1ZmZlcih2ZXJ0ZXhCdWZmZXIsIDAsIDApOwotCi0gICAgZm9yIChsZXQg
Z2VvbWV0cnlCdWZmZXIgb2YgdW5pZm9ybUJ1ZmZlcnNbY3VycmVudFVuaWZvcm1CdWZmZXJJbmRl
eF0pIHsKLSAgICAgICAgY29tbWFuZEVuY29kZXIuc2V0VmVydGV4QnVmZmVyKGdlb21ldHJ5QnVm
ZmVyLCAwLCAxKTsKLSAgICAgICAgLy8gTk9URTogT3VyIEFQSSBwcm9wb3NhbCB1c2VzIHRoZSBl
bnVtIHZhbHVlICJ0cmlhbmdsZSIgaGVyZS4gV2UgaGF2ZW4ndCBnb3QgYXJvdW5kIHRvIGltcGxl
bWVudGluZyB0aGUgZW51bXMgeWV0LgotICAgICAgICBjb21tYW5kRW5jb2Rlci5kcmF3UHJpbWl0
aXZlcyhncHUuUHJpbWl0aXZlVHlwZVRyaWFuZ2xlLCAwLCBrQ3ViZVZlcnRleERhdGEubGVuZ3Ro
KTsKLSAgICB9Ci0KLSAgICBjb21tYW5kRW5jb2Rlci5lbmRFbmNvZGluZygpOwotICAgIGNvbW1h
bmRCdWZmZXIucHJlc2VudERyYXdhYmxlKGRyYXdhYmxlKTsKLSAgICBjb21tYW5kQnVmZmVyLmNv
bW1pdCgpOwotCi0gICAgY3VycmVudFVuaWZvcm1CdWZmZXJJbmRleCA9IChjdXJyZW50VW5pZm9y
bUJ1ZmZlckluZGV4ICsgMSkgJSBrTnVtQWN0aXZlVW5pZm9ybUJ1ZmZlcnM7Ci0gICAgcmVxdWVz
dEFuaW1hdGlvbkZyYW1lKHJlbmRlcik7Ci19Ci0KLWZ1bmN0aW9uIHVwZGF0ZVVuaWZvcm1EYXRh
KGluZGV4KSB7Ci0KLSAgICBsZXQgYmFzZU1vZGVsVmlld01hdHJpeCA9IG1hdDQuY3JlYXRlKCk7
Ci0gICAgbWF0NC50cmFuc2xhdGUoYmFzZU1vZGVsVmlld01hdHJpeCwgYmFzZU1vZGVsVmlld01h
dHJpeCwgdmVjMy5mcm9tVmFsdWVzKDAsIC0xICogY2FtZXJhQWx0aXR1ZGUsIDUpKTsKLSAgICBt
YXQ0LnJvdGF0ZShiYXNlTW9kZWxWaWV3TWF0cml4LCBiYXNlTW9kZWxWaWV3TWF0cml4LCBjYW1l
cmFSb3RhdGlvbiwgdmVjMy5mcm9tVmFsdWVzKDAsIDEsIDApKTsKLQotICAgIG1hdDQubXVsdGlw
bHkoYmFzZU1vZGVsVmlld01hdHJpeCwgdmlld01hdHJpeCwgYmFzZU1vZGVsVmlld01hdHJpeCk7
Ci0KLSAgICBmb3IgKGxldCBpID0gMDsgaSA8IGtOdW1iZXJPZkJveGVzUGVyQXhpczsgaSsrKSB7
Ci0gICAgICAgIGZvciAobGV0IGogPSAwOyBqIDwga051bWJlck9mQm94ZXNQZXJBeGlzOyBqKysp
IHsKLQotICAgICAgICAgICAgbGV0IGJveEluZGV4ID0gaSAqIGtOdW1iZXJPZkJveGVzUGVyQXhp
cyArIGo7Ci0KLSAgICAgICAgICAgIGxldCBtb2RlbFZpZXdNYXRyaXggPSBtYXQ0LmNyZWF0ZSgp
OwotCi0gICAgICAgICAgICAvLyBQb3NpdGlvbiB0aGUgY3ViZSBpbiBYLFkuCi0gICAgICAgICAg
ICBsZXQgdHJhbnNsYXRpb25NYXRyaXggPSBtYXQ0LmNyZWF0ZSgpOwotICAgICAgICAgICAgaWYg
KGtOdW1iZXJPZkJveGVzUGVyQXhpcyA+IDEpIHsKLSAgICAgICAgICAgICAgICBsZXQgc3RlcCA9
IDQgLyAoa051bWJlck9mQm94ZXNQZXJBeGlzIC0gMSk7Ci0gICAgICAgICAgICAgICAgbWF0NC50
cmFuc2xhdGUodHJhbnNsYXRpb25NYXRyaXgsIHRyYW5zbGF0aW9uTWF0cml4LCB2ZWMzLmZyb21W
YWx1ZXMoaiAqIHN0ZXAgLSAyLCAwLCBpICogc3RlcCAtIDIpKTsKLSAgICAgICAgICAgIH0gZWxz
ZSB7Ci0gICAgICAgICAgICAgICAgbWF0NC50cmFuc2xhdGUodHJhbnNsYXRpb25NYXRyaXgsIHRy
YW5zbGF0aW9uTWF0cml4LCB2ZWMzLmZyb21WYWx1ZXMoMCwgMCwgMCkpOwotICAgICAgICAgICAg
fQotCi0gICAgICAgICAgICBsZXQgdHJhbnNsYXRlRWxhcHNlZE9mZnNldCA9IGVsYXBzZWRUaW1l
ICsgYm94SW5kZXggKiAwLjY7Ci0gICAgICAgICAgICBpZiAoaW5UaW1lUmFuZ2UodHJhbnNsYXRl
RWxhcHNlZE9mZnNldCwgMTAsIDEyLCAyMykpIHsKLSAgICAgICAgICAgICAgICBsZXQgdHJhbnNs
YXRlID0gc21vb3Roc3RlcCgwLCAxLCBtaWRkbGVQZWFrVGltZVJhbmdlT2Zmc2V0KHRyYW5zbGF0
ZUVsYXBzZWRPZmZzZXQsIDEwLCAxMiwgMjMpKSAqIDAuNDsKLSAgICAgICAgICAgICAgICBtYXQ0
LnRyYW5zbGF0ZSh0cmFuc2xhdGlvbk1hdHJpeCwgdHJhbnNsYXRpb25NYXRyaXgsIHZlYzMuZnJv
bVZhbHVlcygwLCB0cmFuc2xhdGUsIDApKTsKLSAgICAgICAgICAgIH0KLQotICAgICAgICAgICAg
bGV0IHNjYWxlTWF0cml4ID0gbWF0NC5jcmVhdGUoKTsKLSAgICAgICAgICAgIGxldCBzY2FsZUVs
YXBzZWRPZmZzZXQgPSBlbGFwc2VkVGltZSArIGJveEluZGV4ICogMC4xOwotICAgICAgICAgICAg
aWYgKGluVGltZVJhbmdlKHNjYWxlRWxhcHNlZE9mZnNldCwgMiwgNiwgMTkpKSB7Ci0gICAgICAg
ICAgICAgICAgbGV0IHNjYWxlID0gc21vb3Roc3RlcCgwLCAxLCBtaWRkbGVQZWFrVGltZVJhbmdl
T2Zmc2V0KHNjYWxlRWxhcHNlZE9mZnNldCwgMiwgNiwgMTkpKSAqIDAuNSArIDE7Ci0gICAgICAg
ICAgICAgICAgbWF0NC5zY2FsZShzY2FsZU1hdHJpeCwgc2NhbGVNYXRyaXgsIHZlYzMuZnJvbVZh
bHVlcyhzY2FsZSwgc2NhbGUsIHNjYWxlKSk7Ci0gICAgICAgICAgICB9Ci0gICAgICAgICAgICBt
YXQ0Lm11bHRpcGx5KG1vZGVsVmlld01hdHJpeCwgdHJhbnNsYXRpb25NYXRyaXgsIHNjYWxlTWF0
cml4KTsKLQotICAgICAgICAgICAgLy8gUm90YXRlIHRoZSBjdWJlLgotICAgICAgICAgICAgbGV0
IHJvdGF0aW9uTWF0cml4ID0gbWF0NC5jcmVhdGUoKTsKLSAgICAgICAgICAgIGxldCByb3RhdGlv
bkVsYXBzZWRPZmZzZXQgPSBlbGFwc2VkVGltZSArIChrTnVtYmVyT2ZCb3hlcyAtIGJveEluZGV4
KSAqIDAuMTsKLSAgICAgICAgICAgIGlmIChpblRpbWVSYW5nZShyb3RhdGlvbkVsYXBzZWRPZmZz
ZXQsIDMsIDcsIDExKSkgewotICAgICAgICAgICAgICAgIHZhciByb3RhdGlvbiA9IHNtb290aHN0
ZXAoMCwgMSwgdGltZVJhbmdlT2Zmc2V0KHJvdGF0aW9uRWxhcHNlZE9mZnNldCwgMywgNywgMTEp
KSAqIE1hdGguUEkgKiAyOwotICAgICAgICAgICAgICAgIG1hdDQucm90YXRlKHJvdGF0aW9uTWF0
cml4LCByb3RhdGlvbk1hdHJpeCwgcm90YXRpb24sIHZlYzMuZnJvbVZhbHVlcygwLjUsIDEsIDEp
KTsKLSAgICAgICAgICAgIH0KLSAgICAgICAgICAgIG1hdDQubXVsdGlwbHkobW9kZWxWaWV3TWF0
cml4LCBtb2RlbFZpZXdNYXRyaXgsIHJvdGF0aW9uTWF0cml4KTsKLQotICAgICAgICAgICAgbWF0
NC5tdWx0aXBseShtb2RlbFZpZXdNYXRyaXgsIGJhc2VNb2RlbFZpZXdNYXRyaXgsIG1vZGVsVmll
d01hdHJpeCk7Ci0KLSAgICAgICAgICAgIGxldCBub3JtYWxNYXRyaXggPSBtYXQ0LmNsb25lKG1v
ZGVsVmlld01hdHJpeCk7Ci0gICAgICAgICAgICBtYXQ0LnRyYW5zcG9zZShub3JtYWxNYXRyaXgs
IG5vcm1hbE1hdHJpeCk7Ci0gICAgICAgICAgICBtYXQ0LmludmVydChub3JtYWxNYXRyaXgsIG5v
cm1hbE1hdHJpeCk7Ci0KLSAgICAgICAgICAgIGxldCB1bmlmb3JtID0gbmV3IFVuaWZvcm0obmV3
IEZsb2F0MzJBcnJheSh1bmlmb3JtQnVmZmVyc1tpbmRleF1baSAqIGtOdW1iZXJPZkJveGVzUGVy
QXhpcyArIGpdLmNvbnRlbnRzKSk7Ci0KLSAgICAgICAgICAgIHVuaWZvcm0ubm9ybWFsID0gbm9y
bWFsTWF0cml4OwotCi0gICAgICAgICAgICBsZXQgbW9kZWxWaWV3UHJvamVjdGlvbk1hdHJpeCA9
IG1hdDQuY3JlYXRlKCk7Ci0gICAgICAgICAgICBtYXQ0Lm11bHRpcGx5KG1vZGVsVmlld1Byb2pl
Y3Rpb25NYXRyaXgsIHByb2plY3Rpb25NYXRyaXgsIG1vZGVsVmlld01hdHJpeCk7Ci0KLSAgICAg
ICAgICAgIHVuaWZvcm0ubXZwID0gbW9kZWxWaWV3UHJvamVjdGlvbk1hdHJpeDsKLQotICAgICAg
ICAgICAgbGV0IGNvbG9yRWxhcHNlZE9mZnNldCA9IGVsYXBzZWRUaW1lICsgYm94SW5kZXggKiAw
LjE1OwotICAgICAgICAgICAgaWYgKGluVGltZVJhbmdlKGNvbG9yRWxhcHNlZE9mZnNldCwgMiwg
MywgMTApKSB7Ci0gICAgICAgICAgICAgICAgbGV0IHJlZEJvb3N0ID0gbWlkZGxlUGVha1RpbWVS
YW5nZU9mZnNldChjb2xvckVsYXBzZWRPZmZzZXQsIDIsIDMsIDEwKSAqIDAuNTsKLSAgICAgICAg
ICAgICAgICB1bmlmb3JtLmFtYmllbnRDb2xvclswXSA9IE1hdGgubWluKDEuMCwgTWF0aC5tYXgo
MCwga0JveEJhc2VBbWJpZW50Q29sb3JbMF0gKyByZWRCb29zdCkpOwotICAgICAgICAgICAgfSBl
bHNlIHsKLSAgICAgICAgICAgICAgICB1bmlmb3JtLmFtYmllbnRDb2xvclswXSA9IGtCb3hCYXNl
QW1iaWVudENvbG9yWzBdOwotICAgICAgICAgICAgfQotICAgICAgICAgICAgY29sb3JFbGFwc2Vk
T2Zmc2V0ID0gZWxhcHNlZFRpbWUgKyAoa051bWJlck9mQm94ZXMgLSBib3hJbmRleCkgKiAwLjE7
Ci0gICAgICAgICAgICBpZiAoaW5UaW1lUmFuZ2UoY29sb3JFbGFwc2VkT2Zmc2V0LCA3LCAxMSwg
MjEpKSB7Ci0gICAgICAgICAgICAgICAgbGV0IGdyZWVuQm9vc3QgPSBtaWRkbGVQZWFrVGltZVJh
bmdlT2Zmc2V0KGNvbG9yRWxhcHNlZE9mZnNldCwgNywgMTEsIDIxKSAqIDAuMzsKLSAgICAgICAg
ICAgICAgICB1bmlmb3JtLmFtYmllbnRDb2xvclsxXSA9IE1hdGgubWluKDEuMCwgTWF0aC5tYXgo
MCwga0JveEJhc2VBbWJpZW50Q29sb3JbMV0gKyBncmVlbkJvb3N0KSk7Ci0gICAgICAgICAgICB9
IGVsc2UgewotICAgICAgICAgICAgICAgIHVuaWZvcm0uYW1iaWVudENvbG9yWzFdID0ga0JveEJh
c2VBbWJpZW50Q29sb3JbMV07Ci0gICAgICAgICAgICB9Ci0gICAgICAgIH0KLSAgICB9Ci19CmRp
ZmYgLS1naXQgYS9XZWJzaXRlcy93ZWJraXQub3JnL2RlbW9zL3dlYmdwdS9nbC1tYXRyaXgtbWlu
LmpzIGIvV2Vic2l0ZXMvd2Via2l0Lm9yZy9kZW1vcy93ZWJncHUvZ2wtbWF0cml4LW1pbi5qcwpk
ZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMWM1NmQ2Y2NhN2ZmZTdjNDlmN2NmY2YwZTk3
YjVkYzgzNzdhNjZiNy4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAot
LS0gYS9XZWJzaXRlcy93ZWJraXQub3JnL2RlbW9zL3dlYmdwdS9nbC1tYXRyaXgtbWluLmpzCisr
KyAvZGV2L251bGwKQEAgLTEsMjggKzAsMCBAQAotLyoqCi0gKiBAZmlsZW92ZXJ2aWV3IGdsLW1h
dHJpeCAtIEhpZ2ggcGVyZm9ybWFuY2UgbWF0cml4IGFuZCB2ZWN0b3Igb3BlcmF0aW9ucwotICog
QGF1dGhvciBCcmFuZG9uIEpvbmVzCi0gKiBAYXV0aG9yIENvbGluIE1hY0tlbnppZSBJVgotICog
QHZlcnNpb24gMi40LjAKLSAqLwotCi0vKiBDb3B5cmlnaHQgKGMpIDIwMTUsIEJyYW5kb24gSm9u
ZXMsIENvbGluIE1hY0tlbnppZSBJVi4KLQotUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwg
ZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5nIGEgY29weQotb2YgdGhpcyBz
b2Z0d2FyZSBhbmQgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGUgIlNvZnR3YXJl
IiksIHRvIGRlYWwKLWluIHRoZSBTb2Z0d2FyZSB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRp
bmcgd2l0aG91dCBsaW1pdGF0aW9uIHRoZSByaWdodHMKLXRvIHVzZSwgY29weSwgbW9kaWZ5LCBt
ZXJnZSwgcHVibGlzaCwgZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwgYW5kL29yIHNlbGwKLWNvcGll
cyBvZiB0aGUgU29mdHdhcmUsIGFuZCB0byBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZSBTb2Z0
d2FyZSBpcwotZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvIHRoZSBmb2xsb3dpbmcgY29u
ZGl0aW9uczoKLQotVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lv
biBub3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWQgaW4KLWFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwg
cG9ydGlvbnMgb2YgdGhlIFNvZnR3YXJlLgotCi1USEUgU09GVFdBUkUgSVMgUFJPVklERUQgIkFT
IElTIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwgRVhQUkVTUyBPUgotSU1QTElFRCwg
SU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFC
SUxJVFksCi1GSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VN
RU5ULiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUKLUFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMg
QkUgTElBQkxFIEZPUiBBTlkgQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVIKLUxJQUJJTElUWSwgV0hF
VEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5H
IEZST00sCi1PVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEUg
VVNFIE9SIE9USEVSIERFQUxJTkdTIElOCi1USEUgU09GVFdBUkUuICovCi0KLSFmdW5jdGlvbih0
LG4pe2lmKCJvYmplY3QiPT10eXBlb2YgZXhwb3J0cyYmIm9iamVjdCI9PXR5cGVvZiBtb2R1bGUp
bW9kdWxlLmV4cG9ydHM9bigpO2Vsc2UgaWYoImZ1bmN0aW9uIj09dHlwZW9mIGRlZmluZSYmZGVm
aW5lLmFtZClkZWZpbmUoW10sbik7ZWxzZXt2YXIgcj1uKCk7Zm9yKHZhciBhIGluIHIpKCJvYmpl
Y3QiPT10eXBlb2YgZXhwb3J0cz9leHBvcnRzOnQpW2FdPXJbYV19fSh0aGlzLGZ1bmN0aW9uKCl7
cmV0dXJuIGZ1bmN0aW9uKHQpe2Z1bmN0aW9uIG4oYSl7aWYoclthXSlyZXR1cm4gclthXS5leHBv
cnRzO3ZhciBlPXJbYV09e2k6YSxsOiExLGV4cG9ydHM6e319O3JldHVybiB0W2FdLmNhbGwoZS5l
eHBvcnRzLGUsZS5leHBvcnRzLG4pLGUubD0hMCxlLmV4cG9ydHN9dmFyIHI9e307cmV0dXJuIG4u
bT10LG4uYz1yLG4uZD1mdW5jdGlvbih0LHIsYSl7bi5vKHQscil8fE9iamVjdC5kZWZpbmVQcm9w
ZXJ0eSh0LHIse2NvbmZpZ3VyYWJsZTohMSxlbnVtZXJhYmxlOiEwLGdldDphfSl9LG4ubj1mdW5j
dGlvbih0KXt2YXIgcj10JiZ0Ll9fZXNNb2R1bGU/ZnVuY3Rpb24oKXtyZXR1cm4gdC5kZWZhdWx0
fTpmdW5jdGlvbigpe3JldHVybiB0fTtyZXR1cm4gbi5kKHIsImEiLHIpLHJ9LG4ubz1mdW5jdGlv
bih0LG4pe3JldHVybiBPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwodCxuKX0s
bi5wPSIiLG4obi5zPTQpfShbZnVuY3Rpb24odCxuLHIpeyJ1c2Ugc3RyaWN0IjtmdW5jdGlvbiBh
KHQpe24uQVJSQVlfVFlQRT1pPXR9ZnVuY3Rpb24gZSh0KXtyZXR1cm4gdCpzfWZ1bmN0aW9uIHUo
dCxuKXtyZXR1cm4gTWF0aC5hYnModC1uKTw9bypNYXRoLm1heCgxLE1hdGguYWJzKHQpLE1hdGgu
YWJzKG4pKX1PYmplY3QuZGVmaW5lUHJvcGVydHkobiwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSks
bi5zZXRNYXRyaXhBcnJheVR5cGU9YSxuLnRvUmFkaWFuPWUsbi5lcXVhbHM9dTt2YXIgbz1uLkVQ
U0lMT049MWUtNixpPW4uQVJSQVlfVFlQRT0idW5kZWZpbmVkIiE9dHlwZW9mIEZsb2F0MzJBcnJh
eT9GbG9hdDMyQXJyYXk6QXJyYXkscz0obi5SQU5ET009TWF0aC5yYW5kb20sTWF0aC5QSS8xODAp
fSxmdW5jdGlvbih0LG4scil7InVzZSBzdHJpY3QiO2Z1bmN0aW9uIGEoKXt2YXIgdD1uZXcgZy5B
UlJBWV9UWVBFKDkpO3JldHVybiB0WzBdPTEsdFsxXT0wLHRbMl09MCx0WzNdPTAsdFs0XT0xLHRb
NV09MCx0WzZdPTAsdFs3XT0wLHRbOF09MSx0fWZ1bmN0aW9uIGUodCxuKXtyZXR1cm4gdFswXT1u
WzBdLHRbMV09blsxXSx0WzJdPW5bMl0sdFszXT1uWzRdLHRbNF09bls1XSx0WzVdPW5bNl0sdFs2
XT1uWzhdLHRbN109bls5XSx0WzhdPW5bMTBdLHR9ZnVuY3Rpb24gdSh0KXt2YXIgbj1uZXcgZy5B
UlJBWV9UWVBFKDkpO3JldHVybiBuWzBdPXRbMF0sblsxXT10WzFdLG5bMl09dFsyXSxuWzNdPXRb
M10sbls0XT10WzRdLG5bNV09dFs1XSxuWzZdPXRbNl0sbls3XT10WzddLG5bOF09dFs4XSxufWZ1
bmN0aW9uIG8odCxuKXtyZXR1cm4gdFswXT1uWzBdLHRbMV09blsxXSx0WzJdPW5bMl0sdFszXT1u
WzNdLHRbNF09bls0XSx0WzVdPW5bNV0sdFs2XT1uWzZdLHRbN109bls3XSx0WzhdPW5bOF0sdH1m
dW5jdGlvbiBpKHQsbixyLGEsZSx1LG8saSxzKXt2YXIgYz1uZXcgZy5BUlJBWV9UWVBFKDkpO3Jl
dHVybiBjWzBdPXQsY1sxXT1uLGNbMl09cixjWzNdPWEsY1s0XT1lLGNbNV09dSxjWzZdPW8sY1s3
XT1pLGNbOF09cyxjfWZ1bmN0aW9uIHModCxuLHIsYSxlLHUsbyxpLHMsYyl7cmV0dXJuIHRbMF09
bix0WzFdPXIsdFsyXT1hLHRbM109ZSx0WzRdPXUsdFs1XT1vLHRbNl09aSx0WzddPXMsdFs4XT1j
LHR9ZnVuY3Rpb24gYyh0KXtyZXR1cm4gdFswXT0xLHRbMV09MCx0WzJdPTAsdFszXT0wLHRbNF09
MSx0WzVdPTAsdFs2XT0wLHRbN109MCx0WzhdPTEsdH1mdW5jdGlvbiBmKHQsbil7aWYodD09PW4p
e3ZhciByPW5bMV0sYT1uWzJdLGU9bls1XTt0WzFdPW5bM10sdFsyXT1uWzZdLHRbM109cix0WzVd
PW5bN10sdFs2XT1hLHRbN109ZX1lbHNlIHRbMF09blswXSx0WzFdPW5bM10sdFsyXT1uWzZdLHRb
M109blsxXSx0WzRdPW5bNF0sdFs1XT1uWzddLHRbNl09blsyXSx0WzddPW5bNV0sdFs4XT1uWzhd
O3JldHVybiB0fWZ1bmN0aW9uIE0odCxuKXt2YXIgcj1uWzBdLGE9blsxXSxlPW5bMl0sdT1uWzNd
LG89bls0XSxpPW5bNV0scz1uWzZdLGM9bls3XSxmPW5bOF0sTT1mKm8taSpjLGg9LWYqdStpKnMs
bD1jKnUtbypzLHY9cipNK2EqaCtlKmw7cmV0dXJuIHY/KHY9MS92LHRbMF09TSp2LHRbMV09KC1m
KmErZSpjKSp2LHRbMl09KGkqYS1lKm8pKnYsdFszXT1oKnYsdFs0XT0oZipyLWUqcykqdix0WzVd
PSgtaSpyK2UqdSkqdix0WzZdPWwqdix0WzddPSgtYypyK2Eqcykqdix0WzhdPShvKnItYSp1KSp2
LHQpOm51bGx9ZnVuY3Rpb24gaCh0LG4pe3ZhciByPW5bMF0sYT1uWzFdLGU9blsyXSx1PW5bM10s
bz1uWzRdLGk9bls1XSxzPW5bNl0sYz1uWzddLGY9bls4XTtyZXR1cm4gdFswXT1vKmYtaSpjLHRb
MV09ZSpjLWEqZix0WzJdPWEqaS1lKm8sdFszXT1pKnMtdSpmLHRbNF09cipmLWUqcyx0WzVdPWUq
dS1yKmksdFs2XT11KmMtbypzLHRbN109YSpzLXIqYyx0WzhdPXIqby1hKnUsdH1mdW5jdGlvbiBs
KHQpe3ZhciBuPXRbMF0scj10WzFdLGE9dFsyXSxlPXRbM10sdT10WzRdLG89dFs1XSxpPXRbNl0s
cz10WzddLGM9dFs4XTtyZXR1cm4gbiooYyp1LW8qcykrciooLWMqZStvKmkpK2EqKHMqZS11Kmkp
fWZ1bmN0aW9uIHYodCxuLHIpe3ZhciBhPW5bMF0sZT1uWzFdLHU9blsyXSxvPW5bM10saT1uWzRd
LHM9bls1XSxjPW5bNl0sZj1uWzddLE09bls4XSxoPXJbMF0sbD1yWzFdLHY9clsyXSxkPXJbM10s
Yj1yWzRdLG09cls1XSxwPXJbNl0sUD1yWzddLEU9cls4XTtyZXR1cm4gdFswXT1oKmErbCpvK3Yq
Yyx0WzFdPWgqZStsKmkrdipmLHRbMl09aCp1K2wqcyt2Kk0sdFszXT1kKmErYipvK20qYyx0WzRd
PWQqZStiKmkrbSpmLHRbNV09ZCp1K2IqcyttKk0sdFs2XT1wKmErUCpvK0UqYyx0WzddPXAqZStQ
KmkrRSpmLHRbOF09cCp1K1AqcytFKk0sdH1mdW5jdGlvbiBkKHQsbixyKXt2YXIgYT1uWzBdLGU9
blsxXSx1PW5bMl0sbz1uWzNdLGk9bls0XSxzPW5bNV0sYz1uWzZdLGY9bls3XSxNPW5bOF0saD1y
WzBdLGw9clsxXTtyZXR1cm4gdFswXT1hLHRbMV09ZSx0WzJdPXUsdFszXT1vLHRbNF09aSx0WzVd
PXMsdFs2XT1oKmErbCpvK2MsdFs3XT1oKmUrbCppK2YsdFs4XT1oKnUrbCpzK00sdH1mdW5jdGlv
biBiKHQsbixyKXt2YXIgYT1uWzBdLGU9blsxXSx1PW5bMl0sbz1uWzNdLGk9bls0XSxzPW5bNV0s
Yz1uWzZdLGY9bls3XSxNPW5bOF0saD1NYXRoLnNpbihyKSxsPU1hdGguY29zKHIpO3JldHVybiB0
WzBdPWwqYStoKm8sdFsxXT1sKmUraCppLHRbMl09bCp1K2gqcyx0WzNdPWwqby1oKmEsdFs0XT1s
KmktaCplLHRbNV09bCpzLWgqdSx0WzZdPWMsdFs3XT1mLHRbOF09TSx0fWZ1bmN0aW9uIG0odCxu
LHIpe3ZhciBhPXJbMF0sZT1yWzFdO3JldHVybiB0WzBdPWEqblswXSx0WzFdPWEqblsxXSx0WzJd
PWEqblsyXSx0WzNdPWUqblszXSx0WzRdPWUqbls0XSx0WzVdPWUqbls1XSx0WzZdPW5bNl0sdFs3
XT1uWzddLHRbOF09bls4XSx0fWZ1bmN0aW9uIHAodCxuKXtyZXR1cm4gdFswXT0xLHRbMV09MCx0
WzJdPTAsdFszXT0wLHRbNF09MSx0WzVdPTAsdFs2XT1uWzBdLHRbN109blsxXSx0WzhdPTEsdH1m
dW5jdGlvbiBQKHQsbil7dmFyIHI9TWF0aC5zaW4obiksYT1NYXRoLmNvcyhuKTtyZXR1cm4gdFsw
XT1hLHRbMV09cix0WzJdPTAsdFszXT0tcix0WzRdPWEsdFs1XT0wLHRbNl09MCx0WzddPTAsdFs4
XT0xLHR9ZnVuY3Rpb24gRSh0LG4pe3JldHVybiB0WzBdPW5bMF0sdFsxXT0wLHRbMl09MCx0WzNd
PTAsdFs0XT1uWzFdLHRbNV09MCx0WzZdPTAsdFs3XT0wLHRbOF09MSx0fWZ1bmN0aW9uIE8odCxu
KXtyZXR1cm4gdFswXT1uWzBdLHRbMV09blsxXSx0WzJdPTAsdFszXT1uWzJdLHRbNF09blszXSx0
WzVdPTAsdFs2XT1uWzRdLHRbN109bls1XSx0WzhdPTEsdH1mdW5jdGlvbiB4KHQsbil7dmFyIHI9
blswXSxhPW5bMV0sZT1uWzJdLHU9blszXSxvPXIrcixpPWErYSxzPWUrZSxjPXIqbyxmPWEqbyxN
PWEqaSxoPWUqbyxsPWUqaSx2PWUqcyxkPXUqbyxiPXUqaSxtPXUqcztyZXR1cm4gdFswXT0xLU0t
dix0WzNdPWYtbSx0WzZdPWgrYix0WzFdPWYrbSx0WzRdPTEtYy12LHRbN109bC1kLHRbMl09aC1i
LHRbNV09bCtkLHRbOF09MS1jLU0sdH1mdW5jdGlvbiBBKHQsbil7dmFyIHI9blswXSxhPW5bMV0s
ZT1uWzJdLHU9blszXSxvPW5bNF0saT1uWzVdLHM9bls2XSxjPW5bN10sZj1uWzhdLE09bls5XSxo
PW5bMTBdLGw9blsxMV0sdj1uWzEyXSxkPW5bMTNdLGI9blsxNF0sbT1uWzE1XSxwPXIqaS1hKm8s
UD1yKnMtZSpvLEU9cipjLXUqbyxPPWEqcy1lKmkseD1hKmMtdSppLEE9ZSpjLXUqcyxxPWYqZC1N
KnYseT1mKmItaCp2LHc9ZiptLWwqdixSPU0qYi1oKmQsTD1NKm0tbCpkLFM9aCptLWwqYixfPXAq
Uy1QKkwrRSpSK08qdy14KnkrQSpxO3JldHVybiBfPyhfPTEvXyx0WzBdPShpKlMtcypMK2MqUikq
Xyx0WzFdPShzKnctbypTLWMqeSkqXyx0WzJdPShvKkwtaSp3K2MqcSkqXyx0WzNdPShlKkwtYSpT
LXUqUikqXyx0WzRdPShyKlMtZSp3K3UqeSkqXyx0WzVdPShhKnctcipMLXUqcSkqXyx0WzZdPShk
KkEtYip4K20qTykqXyx0WzddPShiKkUtdipBLW0qUCkqXyx0WzhdPSh2KngtZCpFK20qcCkqXyx0
KTpudWxsfWZ1bmN0aW9uIHEodCxuLHIpe3JldHVybiB0WzBdPTIvbix0WzFdPTAsdFsyXT0wLHRb
M109MCx0WzRdPS0yL3IsdFs1XT0wLHRbNl09LTEsdFs3XT0xLHRbOF09MSx0fWZ1bmN0aW9uIHko
dCl7cmV0dXJuIm1hdDMoIit0WzBdKyIsICIrdFsxXSsiLCAiK3RbMl0rIiwgIit0WzNdKyIsICIr
dFs0XSsiLCAiK3RbNV0rIiwgIit0WzZdKyIsICIrdFs3XSsiLCAiK3RbOF0rIikifWZ1bmN0aW9u
IHcodCl7cmV0dXJuIE1hdGguc3FydChNYXRoLnBvdyh0WzBdLDIpK01hdGgucG93KHRbMV0sMikr
TWF0aC5wb3codFsyXSwyKStNYXRoLnBvdyh0WzNdLDIpK01hdGgucG93KHRbNF0sMikrTWF0aC5w
b3codFs1XSwyKStNYXRoLnBvdyh0WzZdLDIpK01hdGgucG93KHRbN10sMikrTWF0aC5wb3codFs4
XSwyKSl9ZnVuY3Rpb24gUih0LG4scil7cmV0dXJuIHRbMF09blswXStyWzBdLHRbMV09blsxXSty
WzFdLHRbMl09blsyXStyWzJdLHRbM109blszXStyWzNdLHRbNF09bls0XStyWzRdLHRbNV09bls1
XStyWzVdLHRbNl09bls2XStyWzZdLHRbN109bls3XStyWzddLHRbOF09bls4XStyWzhdLHR9ZnVu
Y3Rpb24gTCh0LG4scil7cmV0dXJuIHRbMF09blswXS1yWzBdLHRbMV09blsxXS1yWzFdLHRbMl09
blsyXS1yWzJdLHRbM109blszXS1yWzNdLHRbNF09bls0XS1yWzRdLHRbNV09bls1XS1yWzVdLHRb
Nl09bls2XS1yWzZdLHRbN109bls3XS1yWzddLHRbOF09bls4XS1yWzhdLHR9ZnVuY3Rpb24gUyh0
LG4scil7cmV0dXJuIHRbMF09blswXSpyLHRbMV09blsxXSpyLHRbMl09blsyXSpyLHRbM109blsz
XSpyLHRbNF09bls0XSpyLHRbNV09bls1XSpyLHRbNl09bls2XSpyLHRbN109bls3XSpyLHRbOF09
bls4XSpyLHR9ZnVuY3Rpb24gXyh0LG4scixhKXtyZXR1cm4gdFswXT1uWzBdK3JbMF0qYSx0WzFd
PW5bMV0rclsxXSphLHRbMl09blsyXStyWzJdKmEsdFszXT1uWzNdK3JbM10qYSx0WzRdPW5bNF0r
cls0XSphLHRbNV09bls1XStyWzVdKmEsdFs2XT1uWzZdK3JbNl0qYSx0WzddPW5bN10rcls3XSph
LHRbOF09bls4XStyWzhdKmEsdH1mdW5jdGlvbiBJKHQsbil7cmV0dXJuIHRbMF09PT1uWzBdJiZ0
WzFdPT09blsxXSYmdFsyXT09PW5bMl0mJnRbM109PT1uWzNdJiZ0WzRdPT09bls0XSYmdFs1XT09
PW5bNV0mJnRbNl09PT1uWzZdJiZ0WzddPT09bls3XSYmdFs4XT09PW5bOF19ZnVuY3Rpb24gTih0
LG4pe3ZhciByPXRbMF0sYT10WzFdLGU9dFsyXSx1PXRbM10sbz10WzRdLGk9dFs1XSxzPXRbNl0s
Yz10WzddLGY9dFs4XSxNPW5bMF0saD1uWzFdLGw9blsyXSx2PW5bM10sZD1uWzRdLGI9bls1XSxt
PW5bNl0scD1uWzddLFA9bls4XTtyZXR1cm4gTWF0aC5hYnMoci1NKTw9Zy5FUFNJTE9OKk1hdGgu
bWF4KDEsTWF0aC5hYnMociksTWF0aC5hYnMoTSkpJiZNYXRoLmFicyhhLWgpPD1nLkVQU0lMT04q
TWF0aC5tYXgoMSxNYXRoLmFicyhhKSxNYXRoLmFicyhoKSkmJk1hdGguYWJzKGUtbCk8PWcuRVBT
SUxPTipNYXRoLm1heCgxLE1hdGguYWJzKGUpLE1hdGguYWJzKGwpKSYmTWF0aC5hYnModS12KTw9
Zy5FUFNJTE9OKk1hdGgubWF4KDEsTWF0aC5hYnModSksTWF0aC5hYnModikpJiZNYXRoLmFicyhv
LWQpPD1nLkVQU0lMT04qTWF0aC5tYXgoMSxNYXRoLmFicyhvKSxNYXRoLmFicyhkKSkmJk1hdGgu
YWJzKGktYik8PWcuRVBTSUxPTipNYXRoLm1heCgxLE1hdGguYWJzKGkpLE1hdGguYWJzKGIpKSYm
TWF0aC5hYnMocy1tKTw9Zy5FUFNJTE9OKk1hdGgubWF4KDEsTWF0aC5hYnMocyksTWF0aC5hYnMo
bSkpJiZNYXRoLmFicyhjLXApPD1nLkVQU0lMT04qTWF0aC5tYXgoMSxNYXRoLmFicyhjKSxNYXRo
LmFicyhwKSkmJk1hdGguYWJzKGYtUCk8PWcuRVBTSUxPTipNYXRoLm1heCgxLE1hdGguYWJzKGYp
LE1hdGguYWJzKFApKX1PYmplY3QuZGVmaW5lUHJvcGVydHkobiwiX19lc01vZHVsZSIse3ZhbHVl
OiEwfSksbi5zdWI9bi5tdWw9dm9pZCAwLG4uY3JlYXRlPWEsbi5mcm9tTWF0ND1lLG4uY2xvbmU9
dSxuLmNvcHk9byxuLmZyb21WYWx1ZXM9aSxuLnNldD1zLG4uaWRlbnRpdHk9YyxuLnRyYW5zcG9z
ZT1mLG4uaW52ZXJ0PU0sbi5hZGpvaW50PWgsbi5kZXRlcm1pbmFudD1sLG4ubXVsdGlwbHk9dixu
LnRyYW5zbGF0ZT1kLG4ucm90YXRlPWIsbi5zY2FsZT1tLG4uZnJvbVRyYW5zbGF0aW9uPXAsbi5m
cm9tUm90YXRpb249UCxuLmZyb21TY2FsaW5nPUUsbi5mcm9tTWF0MmQ9TyxuLmZyb21RdWF0PXgs
bi5ub3JtYWxGcm9tTWF0ND1BLG4ucHJvamVjdGlvbj1xLG4uc3RyPXksbi5mcm9iPXcsbi5hZGQ9
UixuLnN1YnRyYWN0PUwsbi5tdWx0aXBseVNjYWxhcj1TLG4ubXVsdGlwbHlTY2FsYXJBbmRBZGQ9
XyxuLmV4YWN0RXF1YWxzPUksbi5lcXVhbHM9Tjt2YXIgWT1yKDApLGc9ZnVuY3Rpb24odCl7aWYo
dCYmdC5fX2VzTW9kdWxlKXJldHVybiB0O3ZhciBuPXt9O2lmKG51bGwhPXQpZm9yKHZhciByIGlu
IHQpT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKHQscikmJihuW3JdPXRbcl0p
O3JldHVybiBuLmRlZmF1bHQ9dCxufShZKTtuLm11bD12LG4uc3ViPUx9LGZ1bmN0aW9uKHQsbixy
KXsidXNlIHN0cmljdCI7ZnVuY3Rpb24gYSgpe3ZhciB0PW5ldyBaLkFSUkFZX1RZUEUoMyk7cmV0
dXJuIHRbMF09MCx0WzFdPTAsdFsyXT0wLHR9ZnVuY3Rpb24gZSh0KXt2YXIgbj1uZXcgWi5BUlJB
WV9UWVBFKDMpO3JldHVybiBuWzBdPXRbMF0sblsxXT10WzFdLG5bMl09dFsyXSxufWZ1bmN0aW9u
IHUodCl7dmFyIG49dFswXSxyPXRbMV0sYT10WzJdO3JldHVybiBNYXRoLnNxcnQobipuK3Iqcith
KmEpfWZ1bmN0aW9uIG8odCxuLHIpe3ZhciBhPW5ldyBaLkFSUkFZX1RZUEUoMyk7cmV0dXJuIGFb
MF09dCxhWzFdPW4sYVsyXT1yLGF9ZnVuY3Rpb24gaSh0LG4pe3JldHVybiB0WzBdPW5bMF0sdFsx
XT1uWzFdLHRbMl09blsyXSx0fWZ1bmN0aW9uIHModCxuLHIsYSl7cmV0dXJuIHRbMF09bix0WzFd
PXIsdFsyXT1hLHR9ZnVuY3Rpb24gYyh0LG4scil7cmV0dXJuIHRbMF09blswXStyWzBdLHRbMV09
blsxXStyWzFdLHRbMl09blsyXStyWzJdLHR9ZnVuY3Rpb24gZih0LG4scil7cmV0dXJuIHRbMF09
blswXS1yWzBdLHRbMV09blsxXS1yWzFdLHRbMl09blsyXS1yWzJdLHR9ZnVuY3Rpb24gTSh0LG4s
cil7cmV0dXJuIHRbMF09blswXSpyWzBdLHRbMV09blsxXSpyWzFdLHRbMl09blsyXSpyWzJdLHR9
ZnVuY3Rpb24gaCh0LG4scil7cmV0dXJuIHRbMF09blswXS9yWzBdLHRbMV09blsxXS9yWzFdLHRb
Ml09blsyXS9yWzJdLHR9ZnVuY3Rpb24gbCh0LG4pe3JldHVybiB0WzBdPU1hdGguY2VpbChuWzBd
KSx0WzFdPU1hdGguY2VpbChuWzFdKSx0WzJdPU1hdGguY2VpbChuWzJdKSx0fWZ1bmN0aW9uIHYo
dCxuKXtyZXR1cm4gdFswXT1NYXRoLmZsb29yKG5bMF0pLHRbMV09TWF0aC5mbG9vcihuWzFdKSx0
WzJdPU1hdGguZmxvb3IoblsyXSksdH1mdW5jdGlvbiBkKHQsbixyKXtyZXR1cm4gdFswXT1NYXRo
Lm1pbihuWzBdLHJbMF0pLHRbMV09TWF0aC5taW4oblsxXSxyWzFdKSx0WzJdPU1hdGgubWluKG5b
Ml0sclsyXSksdH1mdW5jdGlvbiBiKHQsbixyKXtyZXR1cm4gdFswXT1NYXRoLm1heChuWzBdLHJb
MF0pLHRbMV09TWF0aC5tYXgoblsxXSxyWzFdKSx0WzJdPU1hdGgubWF4KG5bMl0sclsyXSksdH1m
dW5jdGlvbiBtKHQsbil7cmV0dXJuIHRbMF09TWF0aC5yb3VuZChuWzBdKSx0WzFdPU1hdGgucm91
bmQoblsxXSksdFsyXT1NYXRoLnJvdW5kKG5bMl0pLHR9ZnVuY3Rpb24gcCh0LG4scil7cmV0dXJu
IHRbMF09blswXSpyLHRbMV09blsxXSpyLHRbMl09blsyXSpyLHR9ZnVuY3Rpb24gUCh0LG4scixh
KXtyZXR1cm4gdFswXT1uWzBdK3JbMF0qYSx0WzFdPW5bMV0rclsxXSphLHRbMl09blsyXStyWzJd
KmEsdH1mdW5jdGlvbiBFKHQsbil7dmFyIHI9blswXS10WzBdLGE9blsxXS10WzFdLGU9blsyXS10
WzJdO3JldHVybiBNYXRoLnNxcnQocipyK2EqYStlKmUpfWZ1bmN0aW9uIE8odCxuKXt2YXIgcj1u
WzBdLXRbMF0sYT1uWzFdLXRbMV0sZT1uWzJdLXRbMl07cmV0dXJuIHIqcithKmErZSplfWZ1bmN0
aW9uIHgodCl7dmFyIG49dFswXSxyPXRbMV0sYT10WzJdO3JldHVybiBuKm4rcipyK2EqYX1mdW5j
dGlvbiBBKHQsbil7cmV0dXJuIHRbMF09LW5bMF0sdFsxXT0tblsxXSx0WzJdPS1uWzJdLHR9ZnVu
Y3Rpb24gcSh0LG4pe3JldHVybiB0WzBdPTEvblswXSx0WzFdPTEvblsxXSx0WzJdPTEvblsyXSx0
fWZ1bmN0aW9uIHkodCxuKXt2YXIgcj1uWzBdLGE9blsxXSxlPW5bMl0sdT1yKnIrYSphK2UqZTty
ZXR1cm4gdT4wJiYodT0xL01hdGguc3FydCh1KSx0WzBdPW5bMF0qdSx0WzFdPW5bMV0qdSx0WzJd
PW5bMl0qdSksdH1mdW5jdGlvbiB3KHQsbil7cmV0dXJuIHRbMF0qblswXSt0WzFdKm5bMV0rdFsy
XSpuWzJdfWZ1bmN0aW9uIFIodCxuLHIpe3ZhciBhPW5bMF0sZT1uWzFdLHU9blsyXSxvPXJbMF0s
aT1yWzFdLHM9clsyXTtyZXR1cm4gdFswXT1lKnMtdSppLHRbMV09dSpvLWEqcyx0WzJdPWEqaS1l
Km8sdH1mdW5jdGlvbiBMKHQsbixyLGEpe3ZhciBlPW5bMF0sdT1uWzFdLG89blsyXTtyZXR1cm4g
dFswXT1lK2EqKHJbMF0tZSksdFsxXT11K2EqKHJbMV0tdSksdFsyXT1vK2EqKHJbMl0tbyksdH1m
dW5jdGlvbiBTKHQsbixyLGEsZSx1KXt2YXIgbz11KnUsaT1vKigyKnUtMykrMSxzPW8qKHUtMikr
dSxjPW8qKHUtMSksZj1vKigzLTIqdSk7cmV0dXJuIHRbMF09blswXSppK3JbMF0qcythWzBdKmMr
ZVswXSpmLHRbMV09blsxXSppK3JbMV0qcythWzFdKmMrZVsxXSpmLHRbMl09blsyXSppK3JbMl0q
cythWzJdKmMrZVsyXSpmLHR9ZnVuY3Rpb24gXyh0LG4scixhLGUsdSl7dmFyIG89MS11LGk9bypv
LHM9dSp1LGM9aSpvLGY9Myp1KmksTT0zKnMqbyxoPXMqdTtyZXR1cm4gdFswXT1uWzBdKmMrclsw
XSpmK2FbMF0qTStlWzBdKmgsdFsxXT1uWzFdKmMrclsxXSpmK2FbMV0qTStlWzFdKmgsdFsyXT1u
WzJdKmMrclsyXSpmK2FbMl0qTStlWzJdKmgsdH1mdW5jdGlvbiBJKHQsbil7bj1ufHwxO3ZhciBy
PTIqWi5SQU5ET00oKSpNYXRoLlBJLGE9MipaLlJBTkRPTSgpLTEsZT1NYXRoLnNxcnQoMS1hKmEp
Km47cmV0dXJuIHRbMF09TWF0aC5jb3MocikqZSx0WzFdPU1hdGguc2luKHIpKmUsdFsyXT1hKm4s
dH1mdW5jdGlvbiBOKHQsbixyKXt2YXIgYT1uWzBdLGU9blsxXSx1PW5bMl0sbz1yWzNdKmErcls3
XSplK3JbMTFdKnUrclsxNV07cmV0dXJuIG89b3x8MSx0WzBdPShyWzBdKmErcls0XSplK3JbOF0q
dStyWzEyXSkvbyx0WzFdPShyWzFdKmErcls1XSplK3JbOV0qdStyWzEzXSkvbyx0WzJdPShyWzJd
KmErcls2XSplK3JbMTBdKnUrclsxNF0pL28sdH1mdW5jdGlvbiBZKHQsbixyKXt2YXIgYT1uWzBd
LGU9blsxXSx1PW5bMl07cmV0dXJuIHRbMF09YSpyWzBdK2UqclszXSt1KnJbNl0sdFsxXT1hKnJb
MV0rZSpyWzRdK3Uqcls3XSx0WzJdPWEqclsyXStlKnJbNV0rdSpyWzhdLHR9ZnVuY3Rpb24gZyh0
LG4scil7dmFyIGE9blswXSxlPW5bMV0sdT1uWzJdLG89clswXSxpPXJbMV0scz1yWzJdLGM9clsz
XSxmPWMqYStpKnUtcyplLE09YyplK3MqYS1vKnUsaD1jKnUrbyplLWkqYSxsPS1vKmEtaSplLXMq
dTtyZXR1cm4gdFswXT1mKmMrbCotbytNKi1zLWgqLWksdFsxXT1NKmMrbCotaStoKi1vLWYqLXMs
dFsyXT1oKmMrbCotcytmKi1pLU0qLW8sdH1mdW5jdGlvbiBUKHQsbixyLGEpe3ZhciBlPVtdLHU9
W107cmV0dXJuIGVbMF09blswXS1yWzBdLGVbMV09blsxXS1yWzFdLGVbMl09blsyXS1yWzJdLHVb
MF09ZVswXSx1WzFdPWVbMV0qTWF0aC5jb3MoYSktZVsyXSpNYXRoLnNpbihhKSx1WzJdPWVbMV0q
TWF0aC5zaW4oYSkrZVsyXSpNYXRoLmNvcyhhKSx0WzBdPXVbMF0rclswXSx0WzFdPXVbMV0rclsx
XSx0WzJdPXVbMl0rclsyXSx0fWZ1bmN0aW9uIGoodCxuLHIsYSl7dmFyIGU9W10sdT1bXTtyZXR1
cm4gZVswXT1uWzBdLXJbMF0sZVsxXT1uWzFdLXJbMV0sZVsyXT1uWzJdLXJbMl0sdVswXT1lWzJd
Kk1hdGguc2luKGEpK2VbMF0qTWF0aC5jb3MoYSksdVsxXT1lWzFdLHVbMl09ZVsyXSpNYXRoLmNv
cyhhKS1lWzBdKk1hdGguc2luKGEpLHRbMF09dVswXStyWzBdLHRbMV09dVsxXStyWzFdLHRbMl09
dVsyXStyWzJdLHR9ZnVuY3Rpb24gRCh0LG4scixhKXt2YXIgZT1bXSx1PVtdO3JldHVybiBlWzBd
PW5bMF0tclswXSxlWzFdPW5bMV0tclsxXSxlWzJdPW5bMl0tclsyXSx1WzBdPWVbMF0qTWF0aC5j
b3MoYSktZVsxXSpNYXRoLnNpbihhKSx1WzFdPWVbMF0qTWF0aC5zaW4oYSkrZVsxXSpNYXRoLmNv
cyhhKSx1WzJdPWVbMl0sdFswXT11WzBdK3JbMF0sdFsxXT11WzFdK3JbMV0sdFsyXT11WzJdK3Jb
Ml0sdH1mdW5jdGlvbiBWKHQsbil7dmFyIHI9byh0WzBdLHRbMV0sdFsyXSksYT1vKG5bMF0sblsx
XSxuWzJdKTt5KHIscikseShhLGEpO3ZhciBlPXcocixhKTtyZXR1cm4gZT4xPzA6ZTwtMT9NYXRo
LlBJOk1hdGguYWNvcyhlKX1mdW5jdGlvbiB6KHQpe3JldHVybiJ2ZWMzKCIrdFswXSsiLCAiK3Rb
MV0rIiwgIit0WzJdKyIpIn1mdW5jdGlvbiBGKHQsbil7cmV0dXJuIHRbMF09PT1uWzBdJiZ0WzFd
PT09blsxXSYmdFsyXT09PW5bMl19ZnVuY3Rpb24gUSh0LG4pe3ZhciByPXRbMF0sYT10WzFdLGU9
dFsyXSx1PW5bMF0sbz1uWzFdLGk9blsyXTtyZXR1cm4gTWF0aC5hYnMoci11KTw9Wi5FUFNJTE9O
Kk1hdGgubWF4KDEsTWF0aC5hYnMociksTWF0aC5hYnModSkpJiZNYXRoLmFicyhhLW8pPD1aLkVQ
U0lMT04qTWF0aC5tYXgoMSxNYXRoLmFicyhhKSxNYXRoLmFicyhvKSkmJk1hdGguYWJzKGUtaSk8
PVouRVBTSUxPTipNYXRoLm1heCgxLE1hdGguYWJzKGUpLE1hdGguYWJzKGkpKX1PYmplY3QuZGVm
aW5lUHJvcGVydHkobiwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksbi5mb3JFYWNoPW4uc3FyTGVu
PW4ubGVuPW4uc3FyRGlzdD1uLmRpc3Q9bi5kaXY9bi5tdWw9bi5zdWI9dm9pZCAwLG4uY3JlYXRl
PWEsbi5jbG9uZT1lLG4ubGVuZ3RoPXUsbi5mcm9tVmFsdWVzPW8sbi5jb3B5PWksbi5zZXQ9cyxu
LmFkZD1jLG4uc3VidHJhY3Q9ZixuLm11bHRpcGx5PU0sbi5kaXZpZGU9aCxuLmNlaWw9bCxuLmZs
b29yPXYsbi5taW49ZCxuLm1heD1iLG4ucm91bmQ9bSxuLnNjYWxlPXAsbi5zY2FsZUFuZEFkZD1Q
LG4uZGlzdGFuY2U9RSxuLnNxdWFyZWREaXN0YW5jZT1PLG4uc3F1YXJlZExlbmd0aD14LG4ubmVn
YXRlPUEsbi5pbnZlcnNlPXEsbi5ub3JtYWxpemU9eSxuLmRvdD13LG4uY3Jvc3M9UixuLmxlcnA9
TCxuLmhlcm1pdGU9UyxuLmJlemllcj1fLG4ucmFuZG9tPUksbi50cmFuc2Zvcm1NYXQ0PU4sbi50
cmFuc2Zvcm1NYXQzPVksbi50cmFuc2Zvcm1RdWF0PWcsbi5yb3RhdGVYPVQsbi5yb3RhdGVZPWos
bi5yb3RhdGVaPUQsbi5hbmdsZT1WLG4uc3RyPXosbi5leGFjdEVxdWFscz1GLG4uZXF1YWxzPVE7
dmFyIFg9cigwKSxaPWZ1bmN0aW9uKHQpe2lmKHQmJnQuX19lc01vZHVsZSlyZXR1cm4gdDt2YXIg
bj17fTtpZihudWxsIT10KWZvcih2YXIgciBpbiB0KU9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJv
cGVydHkuY2FsbCh0LHIpJiYobltyXT10W3JdKTtyZXR1cm4gbi5kZWZhdWx0PXQsbn0oWCk7bi5z
dWI9ZixuLm11bD1NLG4uZGl2PWgsbi5kaXN0PUUsbi5zcXJEaXN0PU8sbi5sZW49dSxuLnNxckxl
bj14LG4uZm9yRWFjaD1mdW5jdGlvbigpe3ZhciB0PWEoKTtyZXR1cm4gZnVuY3Rpb24obixyLGEs
ZSx1LG8pe3ZhciBpPXZvaWQgMCxzPXZvaWQgMDtmb3Iocnx8KHI9MyksYXx8KGE9MCkscz1lP01h
dGgubWluKGUqcithLG4ubGVuZ3RoKTpuLmxlbmd0aCxpPWE7aTxzO2krPXIpdFswXT1uW2ldLHRb
MV09bltpKzFdLHRbMl09bltpKzJdLHUodCx0LG8pLG5baV09dFswXSxuW2krMV09dFsxXSxuW2kr
Ml09dFsyXTtyZXR1cm4gbn19KCl9LGZ1bmN0aW9uKHQsbixyKXsidXNlIHN0cmljdCI7ZnVuY3Rp
b24gYSgpe3ZhciB0PW5ldyBULkFSUkFZX1RZUEUoNCk7cmV0dXJuIHRbMF09MCx0WzFdPTAsdFsy
XT0wLHRbM109MCx0fWZ1bmN0aW9uIGUodCl7dmFyIG49bmV3IFQuQVJSQVlfVFlQRSg0KTtyZXR1
cm4gblswXT10WzBdLG5bMV09dFsxXSxuWzJdPXRbMl0sblszXT10WzNdLG59ZnVuY3Rpb24gdSh0
LG4scixhKXt2YXIgZT1uZXcgVC5BUlJBWV9UWVBFKDQpO3JldHVybiBlWzBdPXQsZVsxXT1uLGVb
Ml09cixlWzNdPWEsZX1mdW5jdGlvbiBvKHQsbil7cmV0dXJuIHRbMF09blswXSx0WzFdPW5bMV0s
dFsyXT1uWzJdLHRbM109blszXSx0fWZ1bmN0aW9uIGkodCxuLHIsYSxlKXtyZXR1cm4gdFswXT1u
LHRbMV09cix0WzJdPWEsdFszXT1lLHR9ZnVuY3Rpb24gcyh0LG4scil7cmV0dXJuIHRbMF09blsw
XStyWzBdLHRbMV09blsxXStyWzFdLHRbMl09blsyXStyWzJdLHRbM109blszXStyWzNdLHR9ZnVu
Y3Rpb24gYyh0LG4scil7cmV0dXJuIHRbMF09blswXS1yWzBdLHRbMV09blsxXS1yWzFdLHRbMl09
blsyXS1yWzJdLHRbM109blszXS1yWzNdLHR9ZnVuY3Rpb24gZih0LG4scil7cmV0dXJuIHRbMF09
blswXSpyWzBdLHRbMV09blsxXSpyWzFdLHRbMl09blsyXSpyWzJdLHRbM109blszXSpyWzNdLHR9
ZnVuY3Rpb24gTSh0LG4scil7cmV0dXJuIHRbMF09blswXS9yWzBdLHRbMV09blsxXS9yWzFdLHRb
Ml09blsyXS9yWzJdLHRbM109blszXS9yWzNdLHR9ZnVuY3Rpb24gaCh0LG4pe3JldHVybiB0WzBd
PU1hdGguY2VpbChuWzBdKSx0WzFdPU1hdGguY2VpbChuWzFdKSx0WzJdPU1hdGguY2VpbChuWzJd
KSx0WzNdPU1hdGguY2VpbChuWzNdKSx0fWZ1bmN0aW9uIGwodCxuKXtyZXR1cm4gdFswXT1NYXRo
LmZsb29yKG5bMF0pLHRbMV09TWF0aC5mbG9vcihuWzFdKSx0WzJdPU1hdGguZmxvb3IoblsyXSks
dFszXT1NYXRoLmZsb29yKG5bM10pLHR9ZnVuY3Rpb24gdih0LG4scil7cmV0dXJuIHRbMF09TWF0
aC5taW4oblswXSxyWzBdKSx0WzFdPU1hdGgubWluKG5bMV0sclsxXSksdFsyXT1NYXRoLm1pbihu
WzJdLHJbMl0pLHRbM109TWF0aC5taW4oblszXSxyWzNdKSx0fWZ1bmN0aW9uIGQodCxuLHIpe3Jl
dHVybiB0WzBdPU1hdGgubWF4KG5bMF0sclswXSksdFsxXT1NYXRoLm1heChuWzFdLHJbMV0pLHRb
Ml09TWF0aC5tYXgoblsyXSxyWzJdKSx0WzNdPU1hdGgubWF4KG5bM10sclszXSksdH1mdW5jdGlv
biBiKHQsbil7cmV0dXJuIHRbMF09TWF0aC5yb3VuZChuWzBdKSx0WzFdPU1hdGgucm91bmQoblsx
XSksdFsyXT1NYXRoLnJvdW5kKG5bMl0pLHRbM109TWF0aC5yb3VuZChuWzNdKSx0fWZ1bmN0aW9u
IG0odCxuLHIpe3JldHVybiB0WzBdPW5bMF0qcix0WzFdPW5bMV0qcix0WzJdPW5bMl0qcix0WzNd
PW5bM10qcix0fWZ1bmN0aW9uIHAodCxuLHIsYSl7cmV0dXJuIHRbMF09blswXStyWzBdKmEsdFsx
XT1uWzFdK3JbMV0qYSx0WzJdPW5bMl0rclsyXSphLHRbM109blszXStyWzNdKmEsdH1mdW5jdGlv
biBQKHQsbil7dmFyIHI9blswXS10WzBdLGE9blsxXS10WzFdLGU9blsyXS10WzJdLHU9blszXS10
WzNdO3JldHVybiBNYXRoLnNxcnQocipyK2EqYStlKmUrdSp1KX1mdW5jdGlvbiBFKHQsbil7dmFy
IHI9blswXS10WzBdLGE9blsxXS10WzFdLGU9blsyXS10WzJdLHU9blszXS10WzNdO3JldHVybiBy
KnIrYSphK2UqZSt1KnV9ZnVuY3Rpb24gTyh0KXt2YXIgbj10WzBdLHI9dFsxXSxhPXRbMl0sZT10
WzNdO3JldHVybiBNYXRoLnNxcnQobipuK3IqcithKmErZSplKX1mdW5jdGlvbiB4KHQpe3ZhciBu
PXRbMF0scj10WzFdLGE9dFsyXSxlPXRbM107cmV0dXJuIG4qbityKnIrYSphK2UqZX1mdW5jdGlv
biBBKHQsbil7cmV0dXJuIHRbMF09LW5bMF0sdFsxXT0tblsxXSx0WzJdPS1uWzJdLHRbM109LW5b
M10sdH1mdW5jdGlvbiBxKHQsbil7cmV0dXJuIHRbMF09MS9uWzBdLHRbMV09MS9uWzFdLHRbMl09
MS9uWzJdLHRbM109MS9uWzNdLHR9ZnVuY3Rpb24geSh0LG4pe3ZhciByPW5bMF0sYT1uWzFdLGU9
blsyXSx1PW5bM10sbz1yKnIrYSphK2UqZSt1KnU7cmV0dXJuIG8+MCYmKG89MS9NYXRoLnNxcnQo
byksdFswXT1yKm8sdFsxXT1hKm8sdFsyXT1lKm8sdFszXT11Km8pLHR9ZnVuY3Rpb24gdyh0LG4p
e3JldHVybiB0WzBdKm5bMF0rdFsxXSpuWzFdK3RbMl0qblsyXSt0WzNdKm5bM119ZnVuY3Rpb24g
Uih0LG4scixhKXt2YXIgZT1uWzBdLHU9blsxXSxvPW5bMl0saT1uWzNdO3JldHVybiB0WzBdPWUr
YSooclswXS1lKSx0WzFdPXUrYSooclsxXS11KSx0WzJdPW8rYSooclsyXS1vKSx0WzNdPWkrYSoo
clszXS1pKSx0fWZ1bmN0aW9uIEwodCxuKXtyZXR1cm4gbj1ufHwxLHRbMF09VC5SQU5ET00oKSx0
WzFdPVQuUkFORE9NKCksdFsyXT1ULlJBTkRPTSgpLHRbM109VC5SQU5ET00oKSx5KHQsdCksbSh0
LHQsbiksdH1mdW5jdGlvbiBTKHQsbixyKXt2YXIgYT1uWzBdLGU9blsxXSx1PW5bMl0sbz1uWzNd
O3JldHVybiB0WzBdPXJbMF0qYStyWzRdKmUrcls4XSp1K3JbMTJdKm8sdFsxXT1yWzFdKmErcls1
XSplK3JbOV0qdStyWzEzXSpvLHRbMl09clsyXSphK3JbNl0qZStyWzEwXSp1K3JbMTRdKm8sdFsz
XT1yWzNdKmErcls3XSplK3JbMTFdKnUrclsxNV0qbyx0fWZ1bmN0aW9uIF8odCxuLHIpe3ZhciBh
PW5bMF0sZT1uWzFdLHU9blsyXSxvPXJbMF0saT1yWzFdLHM9clsyXSxjPXJbM10sZj1jKmEraSp1
LXMqZSxNPWMqZStzKmEtbyp1LGg9Yyp1K28qZS1pKmEsbD0tbyphLWkqZS1zKnU7cmV0dXJuIHRb
MF09ZipjK2wqLW8rTSotcy1oKi1pLHRbMV09TSpjK2wqLWkraCotby1mKi1zLHRbMl09aCpjK2wq
LXMrZiotaS1NKi1vLHRbM109blszXSx0fWZ1bmN0aW9uIEkodCl7cmV0dXJuInZlYzQoIit0WzBd
KyIsICIrdFsxXSsiLCAiK3RbMl0rIiwgIit0WzNdKyIpIn1mdW5jdGlvbiBOKHQsbil7cmV0dXJu
IHRbMF09PT1uWzBdJiZ0WzFdPT09blsxXSYmdFsyXT09PW5bMl0mJnRbM109PT1uWzNdfWZ1bmN0
aW9uIFkodCxuKXt2YXIgcj10WzBdLGE9dFsxXSxlPXRbMl0sdT10WzNdLG89blswXSxpPW5bMV0s
cz1uWzJdLGM9blszXTtyZXR1cm4gTWF0aC5hYnMoci1vKTw9VC5FUFNJTE9OKk1hdGgubWF4KDEs
TWF0aC5hYnMociksTWF0aC5hYnMobykpJiZNYXRoLmFicyhhLWkpPD1ULkVQU0lMT04qTWF0aC5t
YXgoMSxNYXRoLmFicyhhKSxNYXRoLmFicyhpKSkmJk1hdGguYWJzKGUtcyk8PVQuRVBTSUxPTipN
YXRoLm1heCgxLE1hdGguYWJzKGUpLE1hdGguYWJzKHMpKSYmTWF0aC5hYnModS1jKTw9VC5FUFNJ
TE9OKk1hdGgubWF4KDEsTWF0aC5hYnModSksTWF0aC5hYnMoYykpfU9iamVjdC5kZWZpbmVQcm9w
ZXJ0eShuLCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSxuLmZvckVhY2g9bi5zcXJMZW49bi5sZW49
bi5zcXJEaXN0PW4uZGlzdD1uLmRpdj1uLm11bD1uLnN1Yj12b2lkIDAsbi5jcmVhdGU9YSxuLmNs
b25lPWUsbi5mcm9tVmFsdWVzPXUsbi5jb3B5PW8sbi5zZXQ9aSxuLmFkZD1zLG4uc3VidHJhY3Q9
YyxuLm11bHRpcGx5PWYsbi5kaXZpZGU9TSxuLmNlaWw9aCxuLmZsb29yPWwsbi5taW49dixuLm1h
eD1kLG4ucm91bmQ9YixuLnNjYWxlPW0sbi5zY2FsZUFuZEFkZD1wLG4uZGlzdGFuY2U9UCxuLnNx
dWFyZWREaXN0YW5jZT1FLG4ubGVuZ3RoPU8sbi5zcXVhcmVkTGVuZ3RoPXgsbi5uZWdhdGU9QSxu
LmludmVyc2U9cSxuLm5vcm1hbGl6ZT15LG4uZG90PXcsbi5sZXJwPVIsbi5yYW5kb209TCxuLnRy
YW5zZm9ybU1hdDQ9UyxuLnRyYW5zZm9ybVF1YXQ9XyxuLnN0cj1JLG4uZXhhY3RFcXVhbHM9Tixu
LmVxdWFscz1ZO3ZhciBnPXIoMCksVD1mdW5jdGlvbih0KXtpZih0JiZ0Ll9fZXNNb2R1bGUpcmV0
dXJuIHQ7dmFyIG49e307aWYobnVsbCE9dClmb3IodmFyIHIgaW4gdClPYmplY3QucHJvdG90eXBl
Lmhhc093blByb3BlcnR5LmNhbGwodCxyKSYmKG5bcl09dFtyXSk7cmV0dXJuIG4uZGVmYXVsdD10
LG59KGcpO24uc3ViPWMsbi5tdWw9ZixuLmRpdj1NLG4uZGlzdD1QLG4uc3FyRGlzdD1FLG4ubGVu
PU8sbi5zcXJMZW49eCxuLmZvckVhY2g9ZnVuY3Rpb24oKXt2YXIgdD1hKCk7cmV0dXJuIGZ1bmN0
aW9uKG4scixhLGUsdSxvKXt2YXIgaT12b2lkIDAscz12b2lkIDA7Zm9yKHJ8fChyPTQpLGF8fChh
PTApLHM9ZT9NYXRoLm1pbihlKnIrYSxuLmxlbmd0aCk6bi5sZW5ndGgsaT1hO2k8cztpKz1yKXRb
MF09bltpXSx0WzFdPW5baSsxXSx0WzJdPW5baSsyXSx0WzNdPW5baSszXSx1KHQsdCxvKSxuW2ld
PXRbMF0sbltpKzFdPXRbMV0sbltpKzJdPXRbMl0sbltpKzNdPXRbM107cmV0dXJuIG59fSgpfSxm
dW5jdGlvbih0LG4scil7InVzZSBzdHJpY3QiO2Z1bmN0aW9uIGEodCl7aWYodCYmdC5fX2VzTW9k
dWxlKXJldHVybiB0O3ZhciBuPXt9O2lmKG51bGwhPXQpZm9yKHZhciByIGluIHQpT2JqZWN0LnBy
b3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKHQscikmJihuW3JdPXRbcl0pO3JldHVybiBuLmRl
ZmF1bHQ9dCxufU9iamVjdC5kZWZpbmVQcm9wZXJ0eShuLCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9
KSxuLnZlYzQ9bi52ZWMzPW4udmVjMj1uLnF1YXQ9bi5tYXQ0PW4ubWF0Mz1uLm1hdDJkPW4ubWF0
Mj1uLmdsTWF0cml4PXZvaWQgMDt2YXIgZT1yKDApLHU9YShlKSxvPXIoNSksaT1hKG8pLHM9cig2
KSxjPWEocyksZj1yKDEpLE09YShmKSxoPXIoNyksbD1hKGgpLHY9cig4KSxkPWEodiksYj1yKDkp
LG09YShiKSxwPXIoMiksUD1hKHApLEU9cigzKSxPPWEoRSk7bi5nbE1hdHJpeD11LG4ubWF0Mj1p
LG4ubWF0MmQ9YyxuLm1hdDM9TSxuLm1hdDQ9bCxuLnF1YXQ9ZCxuLnZlYzI9bSxuLnZlYzM9UCxu
LnZlYzQ9T30sZnVuY3Rpb24odCxuLHIpeyJ1c2Ugc3RyaWN0IjtmdW5jdGlvbiBhKCl7dmFyIHQ9
bmV3IEwuQVJSQVlfVFlQRSg0KTtyZXR1cm4gdFswXT0xLHRbMV09MCx0WzJdPTAsdFszXT0xLHR9
ZnVuY3Rpb24gZSh0KXt2YXIgbj1uZXcgTC5BUlJBWV9UWVBFKDQpO3JldHVybiBuWzBdPXRbMF0s
blsxXT10WzFdLG5bMl09dFsyXSxuWzNdPXRbM10sbn1mdW5jdGlvbiB1KHQsbil7cmV0dXJuIHRb
MF09blswXSx0WzFdPW5bMV0sdFsyXT1uWzJdLHRbM109blszXSx0fWZ1bmN0aW9uIG8odCl7cmV0
dXJuIHRbMF09MSx0WzFdPTAsdFsyXT0wLHRbM109MSx0fWZ1bmN0aW9uIGkodCxuLHIsYSl7dmFy
IGU9bmV3IEwuQVJSQVlfVFlQRSg0KTtyZXR1cm4gZVswXT10LGVbMV09bixlWzJdPXIsZVszXT1h
LGV9ZnVuY3Rpb24gcyh0LG4scixhLGUpe3JldHVybiB0WzBdPW4sdFsxXT1yLHRbMl09YSx0WzNd
PWUsdH1mdW5jdGlvbiBjKHQsbil7aWYodD09PW4pe3ZhciByPW5bMV07dFsxXT1uWzJdLHRbMl09
cn1lbHNlIHRbMF09blswXSx0WzFdPW5bMl0sdFsyXT1uWzFdLHRbM109blszXTtyZXR1cm4gdH1m
dW5jdGlvbiBmKHQsbil7dmFyIHI9blswXSxhPW5bMV0sZT1uWzJdLHU9blszXSxvPXIqdS1lKmE7
cmV0dXJuIG8/KG89MS9vLHRbMF09dSpvLHRbMV09LWEqbyx0WzJdPS1lKm8sdFszXT1yKm8sdCk6
bnVsbH1mdW5jdGlvbiBNKHQsbil7dmFyIHI9blswXTtyZXR1cm4gdFswXT1uWzNdLHRbMV09LW5b
MV0sdFsyXT0tblsyXSx0WzNdPXIsdH1mdW5jdGlvbiBoKHQpe3JldHVybiB0WzBdKnRbM10tdFsy
XSp0WzFdfWZ1bmN0aW9uIGwodCxuLHIpe3ZhciBhPW5bMF0sZT1uWzFdLHU9blsyXSxvPW5bM10s
aT1yWzBdLHM9clsxXSxjPXJbMl0sZj1yWzNdO3JldHVybiB0WzBdPWEqaSt1KnMsdFsxXT1lKmkr
bypzLHRbMl09YSpjK3UqZix0WzNdPWUqYytvKmYsdH1mdW5jdGlvbiB2KHQsbixyKXt2YXIgYT1u
WzBdLGU9blsxXSx1PW5bMl0sbz1uWzNdLGk9TWF0aC5zaW4ocikscz1NYXRoLmNvcyhyKTtyZXR1
cm4gdFswXT1hKnMrdSppLHRbMV09ZSpzK28qaSx0WzJdPWEqLWkrdSpzLHRbM109ZSotaStvKnMs
dH1mdW5jdGlvbiBkKHQsbixyKXt2YXIgYT1uWzBdLGU9blsxXSx1PW5bMl0sbz1uWzNdLGk9clsw
XSxzPXJbMV07cmV0dXJuIHRbMF09YSppLHRbMV09ZSppLHRbMl09dSpzLHRbM109bypzLHR9ZnVu
Y3Rpb24gYih0LG4pe3ZhciByPU1hdGguc2luKG4pLGE9TWF0aC5jb3Mobik7cmV0dXJuIHRbMF09
YSx0WzFdPXIsdFsyXT0tcix0WzNdPWEsdH1mdW5jdGlvbiBtKHQsbil7cmV0dXJuIHRbMF09blsw
XSx0WzFdPTAsdFsyXT0wLHRbM109blsxXSx0fWZ1bmN0aW9uIHAodCl7cmV0dXJuIm1hdDIoIit0
WzBdKyIsICIrdFsxXSsiLCAiK3RbMl0rIiwgIit0WzNdKyIpIn1mdW5jdGlvbiBQKHQpe3JldHVy
biBNYXRoLnNxcnQoTWF0aC5wb3codFswXSwyKStNYXRoLnBvdyh0WzFdLDIpK01hdGgucG93KHRb
Ml0sMikrTWF0aC5wb3codFszXSwyKSl9ZnVuY3Rpb24gRSh0LG4scixhKXtyZXR1cm4gdFsyXT1h
WzJdL2FbMF0sclswXT1hWzBdLHJbMV09YVsxXSxyWzNdPWFbM10tdFsyXSpyWzFdLFt0LG4scl19
ZnVuY3Rpb24gTyh0LG4scil7cmV0dXJuIHRbMF09blswXStyWzBdLHRbMV09blsxXStyWzFdLHRb
Ml09blsyXStyWzJdLHRbM109blszXStyWzNdLHR9ZnVuY3Rpb24geCh0LG4scil7cmV0dXJuIHRb
MF09blswXS1yWzBdLHRbMV09blsxXS1yWzFdLHRbMl09blsyXS1yWzJdLHRbM109blszXS1yWzNd
LHR9ZnVuY3Rpb24gQSh0LG4pe3JldHVybiB0WzBdPT09blswXSYmdFsxXT09PW5bMV0mJnRbMl09
PT1uWzJdJiZ0WzNdPT09blszXX1mdW5jdGlvbiBxKHQsbil7dmFyIHI9dFswXSxhPXRbMV0sZT10
WzJdLHU9dFszXSxvPW5bMF0saT1uWzFdLHM9blsyXSxjPW5bM107cmV0dXJuIE1hdGguYWJzKHIt
byk8PUwuRVBTSUxPTipNYXRoLm1heCgxLE1hdGguYWJzKHIpLE1hdGguYWJzKG8pKSYmTWF0aC5h
YnMoYS1pKTw9TC5FUFNJTE9OKk1hdGgubWF4KDEsTWF0aC5hYnMoYSksTWF0aC5hYnMoaSkpJiZN
YXRoLmFicyhlLXMpPD1MLkVQU0lMT04qTWF0aC5tYXgoMSxNYXRoLmFicyhlKSxNYXRoLmFicyhz
KSkmJk1hdGguYWJzKHUtYyk8PUwuRVBTSUxPTipNYXRoLm1heCgxLE1hdGguYWJzKHUpLE1hdGgu
YWJzKGMpKX1mdW5jdGlvbiB5KHQsbixyKXtyZXR1cm4gdFswXT1uWzBdKnIsdFsxXT1uWzFdKnIs
dFsyXT1uWzJdKnIsdFszXT1uWzNdKnIsdH1mdW5jdGlvbiB3KHQsbixyLGEpe3JldHVybiB0WzBd
PW5bMF0rclswXSphLHRbMV09blsxXStyWzFdKmEsdFsyXT1uWzJdK3JbMl0qYSx0WzNdPW5bM10r
clszXSphLHR9T2JqZWN0LmRlZmluZVByb3BlcnR5KG4sIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0p
LG4uc3ViPW4ubXVsPXZvaWQgMCxuLmNyZWF0ZT1hLG4uY2xvbmU9ZSxuLmNvcHk9dSxuLmlkZW50
aXR5PW8sbi5mcm9tVmFsdWVzPWksbi5zZXQ9cyxuLnRyYW5zcG9zZT1jLG4uaW52ZXJ0PWYsbi5h
ZGpvaW50PU0sbi5kZXRlcm1pbmFudD1oLG4ubXVsdGlwbHk9bCxuLnJvdGF0ZT12LG4uc2NhbGU9
ZCxuLmZyb21Sb3RhdGlvbj1iLG4uZnJvbVNjYWxpbmc9bSxuLnN0cj1wLG4uZnJvYj1QLG4uTERV
PUUsbi5hZGQ9TyxuLnN1YnRyYWN0PXgsbi5leGFjdEVxdWFscz1BLG4uZXF1YWxzPXEsbi5tdWx0
aXBseVNjYWxhcj15LG4ubXVsdGlwbHlTY2FsYXJBbmRBZGQ9dzt2YXIgUj1yKDApLEw9ZnVuY3Rp
b24odCl7aWYodCYmdC5fX2VzTW9kdWxlKXJldHVybiB0O3ZhciBuPXt9O2lmKG51bGwhPXQpZm9y
KHZhciByIGluIHQpT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKHQscikmJihu
W3JdPXRbcl0pO3JldHVybiBuLmRlZmF1bHQ9dCxufShSKTtuLm11bD1sLG4uc3ViPXh9LGZ1bmN0
aW9uKHQsbixyKXsidXNlIHN0cmljdCI7ZnVuY3Rpb24gYSgpe3ZhciB0PW5ldyBSLkFSUkFZX1RZ
UEUoNik7cmV0dXJuIHRbMF09MSx0WzFdPTAsdFsyXT0wLHRbM109MSx0WzRdPTAsdFs1XT0wLHR9
ZnVuY3Rpb24gZSh0KXt2YXIgbj1uZXcgUi5BUlJBWV9UWVBFKDYpO3JldHVybiBuWzBdPXRbMF0s
blsxXT10WzFdLG5bMl09dFsyXSxuWzNdPXRbM10sbls0XT10WzRdLG5bNV09dFs1XSxufWZ1bmN0
aW9uIHUodCxuKXtyZXR1cm4gdFswXT1uWzBdLHRbMV09blsxXSx0WzJdPW5bMl0sdFszXT1uWzNd
LHRbNF09bls0XSx0WzVdPW5bNV0sdH1mdW5jdGlvbiBvKHQpe3JldHVybiB0WzBdPTEsdFsxXT0w
LHRbMl09MCx0WzNdPTEsdFs0XT0wLHRbNV09MCx0fWZ1bmN0aW9uIGkodCxuLHIsYSxlLHUpe3Zh
ciBvPW5ldyBSLkFSUkFZX1RZUEUoNik7cmV0dXJuIG9bMF09dCxvWzFdPW4sb1syXT1yLG9bM109
YSxvWzRdPWUsb1s1XT11LG99ZnVuY3Rpb24gcyh0LG4scixhLGUsdSxvKXtyZXR1cm4gdFswXT1u
LHRbMV09cix0WzJdPWEsdFszXT1lLHRbNF09dSx0WzVdPW8sdH1mdW5jdGlvbiBjKHQsbil7dmFy
IHI9blswXSxhPW5bMV0sZT1uWzJdLHU9blszXSxvPW5bNF0saT1uWzVdLHM9cip1LWEqZTtyZXR1
cm4gcz8ocz0xL3MsdFswXT11KnMsdFsxXT0tYSpzLHRbMl09LWUqcyx0WzNdPXIqcyx0WzRdPShl
KmktdSpvKSpzLHRbNV09KGEqby1yKmkpKnMsdCk6bnVsbH1mdW5jdGlvbiBmKHQpe3JldHVybiB0
WzBdKnRbM10tdFsxXSp0WzJdfWZ1bmN0aW9uIE0odCxuLHIpe3ZhciBhPW5bMF0sZT1uWzFdLHU9
blsyXSxvPW5bM10saT1uWzRdLHM9bls1XSxjPXJbMF0sZj1yWzFdLE09clsyXSxoPXJbM10sbD1y
WzRdLHY9cls1XTtyZXR1cm4gdFswXT1hKmMrdSpmLHRbMV09ZSpjK28qZix0WzJdPWEqTSt1Kmgs
dFszXT1lKk0rbypoLHRbNF09YSpsK3UqditpLHRbNV09ZSpsK28qditzLHR9ZnVuY3Rpb24gaCh0
LG4scil7dmFyIGE9blswXSxlPW5bMV0sdT1uWzJdLG89blszXSxpPW5bNF0scz1uWzVdLGM9TWF0
aC5zaW4ociksZj1NYXRoLmNvcyhyKTtyZXR1cm4gdFswXT1hKmYrdSpjLHRbMV09ZSpmK28qYyx0
WzJdPWEqLWMrdSpmLHRbM109ZSotYytvKmYsdFs0XT1pLHRbNV09cyx0fWZ1bmN0aW9uIGwodCxu
LHIpe3ZhciBhPW5bMF0sZT1uWzFdLHU9blsyXSxvPW5bM10saT1uWzRdLHM9bls1XSxjPXJbMF0s
Zj1yWzFdO3JldHVybiB0WzBdPWEqYyx0WzFdPWUqYyx0WzJdPXUqZix0WzNdPW8qZix0WzRdPWks
dFs1XT1zLHR9ZnVuY3Rpb24gdih0LG4scil7dmFyIGE9blswXSxlPW5bMV0sdT1uWzJdLG89blsz
XSxpPW5bNF0scz1uWzVdLGM9clswXSxmPXJbMV07cmV0dXJuIHRbMF09YSx0WzFdPWUsdFsyXT11
LHRbM109byx0WzRdPWEqYyt1KmYraSx0WzVdPWUqYytvKmYrcyx0fWZ1bmN0aW9uIGQodCxuKXt2
YXIgcj1NYXRoLnNpbihuKSxhPU1hdGguY29zKG4pO3JldHVybiB0WzBdPWEsdFsxXT1yLHRbMl09
LXIsdFszXT1hLHRbNF09MCx0WzVdPTAsdH1mdW5jdGlvbiBiKHQsbil7cmV0dXJuIHRbMF09blsw
XSx0WzFdPTAsdFsyXT0wLHRbM109blsxXSx0WzRdPTAsdFs1XT0wLHR9ZnVuY3Rpb24gbSh0LG4p
e3JldHVybiB0WzBdPTEsdFsxXT0wLHRbMl09MCx0WzNdPTEsdFs0XT1uWzBdLHRbNV09blsxXSx0
fWZ1bmN0aW9uIHAodCl7cmV0dXJuIm1hdDJkKCIrdFswXSsiLCAiK3RbMV0rIiwgIit0WzJdKyIs
ICIrdFszXSsiLCAiK3RbNF0rIiwgIit0WzVdKyIpIn1mdW5jdGlvbiBQKHQpe3JldHVybiBNYXRo
LnNxcnQoTWF0aC5wb3codFswXSwyKStNYXRoLnBvdyh0WzFdLDIpK01hdGgucG93KHRbMl0sMikr
TWF0aC5wb3codFszXSwyKStNYXRoLnBvdyh0WzRdLDIpK01hdGgucG93KHRbNV0sMikrMSl9ZnVu
Y3Rpb24gRSh0LG4scil7cmV0dXJuIHRbMF09blswXStyWzBdLHRbMV09blsxXStyWzFdLHRbMl09
blsyXStyWzJdLHRbM109blszXStyWzNdLHRbNF09bls0XStyWzRdLHRbNV09bls1XStyWzVdLHR9
ZnVuY3Rpb24gTyh0LG4scil7cmV0dXJuIHRbMF09blswXS1yWzBdLHRbMV09blsxXS1yWzFdLHRb
Ml09blsyXS1yWzJdLHRbM109blszXS1yWzNdLHRbNF09bls0XS1yWzRdLHRbNV09bls1XS1yWzVd
LHR9ZnVuY3Rpb24geCh0LG4scil7cmV0dXJuIHRbMF09blswXSpyLHRbMV09blsxXSpyLHRbMl09
blsyXSpyLHRbM109blszXSpyLHRbNF09bls0XSpyLHRbNV09bls1XSpyLHR9ZnVuY3Rpb24gQSh0
LG4scixhKXtyZXR1cm4gdFswXT1uWzBdK3JbMF0qYSx0WzFdPW5bMV0rclsxXSphLHRbMl09blsy
XStyWzJdKmEsdFszXT1uWzNdK3JbM10qYSx0WzRdPW5bNF0rcls0XSphLHRbNV09bls1XStyWzVd
KmEsdH1mdW5jdGlvbiBxKHQsbil7cmV0dXJuIHRbMF09PT1uWzBdJiZ0WzFdPT09blsxXSYmdFsy
XT09PW5bMl0mJnRbM109PT1uWzNdJiZ0WzRdPT09bls0XSYmdFs1XT09PW5bNV19ZnVuY3Rpb24g
eSh0LG4pe3ZhciByPXRbMF0sYT10WzFdLGU9dFsyXSx1PXRbM10sbz10WzRdLGk9dFs1XSxzPW5b
MF0sYz1uWzFdLGY9blsyXSxNPW5bM10saD1uWzRdLGw9bls1XTtyZXR1cm4gTWF0aC5hYnMoci1z
KTw9Ui5FUFNJTE9OKk1hdGgubWF4KDEsTWF0aC5hYnMociksTWF0aC5hYnMocykpJiZNYXRoLmFi
cyhhLWMpPD1SLkVQU0lMT04qTWF0aC5tYXgoMSxNYXRoLmFicyhhKSxNYXRoLmFicyhjKSkmJk1h
dGguYWJzKGUtZik8PVIuRVBTSUxPTipNYXRoLm1heCgxLE1hdGguYWJzKGUpLE1hdGguYWJzKGYp
KSYmTWF0aC5hYnModS1NKTw9Ui5FUFNJTE9OKk1hdGgubWF4KDEsTWF0aC5hYnModSksTWF0aC5h
YnMoTSkpJiZNYXRoLmFicyhvLWgpPD1SLkVQU0lMT04qTWF0aC5tYXgoMSxNYXRoLmFicyhvKSxN
YXRoLmFicyhoKSkmJk1hdGguYWJzKGktbCk8PVIuRVBTSUxPTipNYXRoLm1heCgxLE1hdGguYWJz
KGkpLE1hdGguYWJzKGwpKX1PYmplY3QuZGVmaW5lUHJvcGVydHkobiwiX19lc01vZHVsZSIse3Zh
bHVlOiEwfSksbi5zdWI9bi5tdWw9dm9pZCAwLG4uY3JlYXRlPWEsbi5jbG9uZT1lLG4uY29weT11
LG4uaWRlbnRpdHk9byxuLmZyb21WYWx1ZXM9aSxuLnNldD1zLG4uaW52ZXJ0PWMsbi5kZXRlcm1p
bmFudD1mLG4ubXVsdGlwbHk9TSxuLnJvdGF0ZT1oLG4uc2NhbGU9bCxuLnRyYW5zbGF0ZT12LG4u
ZnJvbVJvdGF0aW9uPWQsbi5mcm9tU2NhbGluZz1iLG4uZnJvbVRyYW5zbGF0aW9uPW0sbi5zdHI9
cCxuLmZyb2I9UCxuLmFkZD1FLG4uc3VidHJhY3Q9TyxuLm11bHRpcGx5U2NhbGFyPXgsbi5tdWx0
aXBseVNjYWxhckFuZEFkZD1BLG4uZXhhY3RFcXVhbHM9cSxuLmVxdWFscz15O3ZhciB3PXIoMCks
Uj1mdW5jdGlvbih0KXtpZih0JiZ0Ll9fZXNNb2R1bGUpcmV0dXJuIHQ7dmFyIG49e307aWYobnVs
bCE9dClmb3IodmFyIHIgaW4gdClPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwo
dCxyKSYmKG5bcl09dFtyXSk7cmV0dXJuIG4uZGVmYXVsdD10LG59KHcpO24ubXVsPU0sbi5zdWI9
T30sZnVuY3Rpb24odCxuLHIpeyJ1c2Ugc3RyaWN0IjtmdW5jdGlvbiBhKCl7dmFyIHQ9bmV3IEMu
QVJSQVlfVFlQRSgxNik7cmV0dXJuIHRbMF09MSx0WzFdPTAsdFsyXT0wLHRbM109MCx0WzRdPTAs
dFs1XT0xLHRbNl09MCx0WzddPTAsdFs4XT0wLHRbOV09MCx0WzEwXT0xLHRbMTFdPTAsdFsxMl09
MCx0WzEzXT0wLHRbMTRdPTAsdFsxNV09MSx0fWZ1bmN0aW9uIGUodCl7dmFyIG49bmV3IEMuQVJS
QVlfVFlQRSgxNik7cmV0dXJuIG5bMF09dFswXSxuWzFdPXRbMV0sblsyXT10WzJdLG5bM109dFsz
XSxuWzRdPXRbNF0sbls1XT10WzVdLG5bNl09dFs2XSxuWzddPXRbN10sbls4XT10WzhdLG5bOV09
dFs5XSxuWzEwXT10WzEwXSxuWzExXT10WzExXSxuWzEyXT10WzEyXSxuWzEzXT10WzEzXSxuWzE0
XT10WzE0XSxuWzE1XT10WzE1XSxufWZ1bmN0aW9uIHUodCxuKXtyZXR1cm4gdFswXT1uWzBdLHRb
MV09blsxXSx0WzJdPW5bMl0sdFszXT1uWzNdLHRbNF09bls0XSx0WzVdPW5bNV0sdFs2XT1uWzZd
LHRbN109bls3XSx0WzhdPW5bOF0sdFs5XT1uWzldLHRbMTBdPW5bMTBdLHRbMTFdPW5bMTFdLHRb
MTJdPW5bMTJdLHRbMTNdPW5bMTNdLHRbMTRdPW5bMTRdLHRbMTVdPW5bMTVdLHR9ZnVuY3Rpb24g
byh0LG4scixhLGUsdSxvLGkscyxjLGYsTSxoLGwsdixkKXt2YXIgYj1uZXcgQy5BUlJBWV9UWVBF
KDE2KTtyZXR1cm4gYlswXT10LGJbMV09bixiWzJdPXIsYlszXT1hLGJbNF09ZSxiWzVdPXUsYls2
XT1vLGJbN109aSxiWzhdPXMsYls5XT1jLGJbMTBdPWYsYlsxMV09TSxiWzEyXT1oLGJbMTNdPWws
YlsxNF09dixiWzE1XT1kLGJ9ZnVuY3Rpb24gaSh0LG4scixhLGUsdSxvLGkscyxjLGYsTSxoLGws
dixkLGIpe3JldHVybiB0WzBdPW4sdFsxXT1yLHRbMl09YSx0WzNdPWUsdFs0XT11LHRbNV09byx0
WzZdPWksdFs3XT1zLHRbOF09Yyx0WzldPWYsdFsxMF09TSx0WzExXT1oLHRbMTJdPWwsdFsxM109
dix0WzE0XT1kLHRbMTVdPWIsdH1mdW5jdGlvbiBzKHQpe3JldHVybiB0WzBdPTEsdFsxXT0wLHRb
Ml09MCx0WzNdPTAsdFs0XT0wLHRbNV09MSx0WzZdPTAsdFs3XT0wLHRbOF09MCx0WzldPTAsdFsx
MF09MSx0WzExXT0wLHRbMTJdPTAsdFsxM109MCx0WzE0XT0wLHRbMTVdPTEsdH1mdW5jdGlvbiBj
KHQsbil7aWYodD09PW4pe3ZhciByPW5bMV0sYT1uWzJdLGU9blszXSx1PW5bNl0sbz1uWzddLGk9
blsxMV07dFsxXT1uWzRdLHRbMl09bls4XSx0WzNdPW5bMTJdLHRbNF09cix0WzZdPW5bOV0sdFs3
XT1uWzEzXSx0WzhdPWEsdFs5XT11LHRbMTFdPW5bMTRdLHRbMTJdPWUsdFsxM109byx0WzE0XT1p
fWVsc2UgdFswXT1uWzBdLHRbMV09bls0XSx0WzJdPW5bOF0sdFszXT1uWzEyXSx0WzRdPW5bMV0s
dFs1XT1uWzVdLHRbNl09bls5XSx0WzddPW5bMTNdLHRbOF09blsyXSx0WzldPW5bNl0sdFsxMF09
blsxMF0sdFsxMV09blsxNF0sdFsxMl09blszXSx0WzEzXT1uWzddLHRbMTRdPW5bMTFdLHRbMTVd
PW5bMTVdO3JldHVybiB0fWZ1bmN0aW9uIGYodCxuKXt2YXIgcj1uWzBdLGE9blsxXSxlPW5bMl0s
dT1uWzNdLG89bls0XSxpPW5bNV0scz1uWzZdLGM9bls3XSxmPW5bOF0sTT1uWzldLGg9blsxMF0s
bD1uWzExXSx2PW5bMTJdLGQ9blsxM10sYj1uWzE0XSxtPW5bMTVdLHA9cippLWEqbyxQPXIqcy1l
Km8sRT1yKmMtdSpvLE89YSpzLWUqaSx4PWEqYy11KmksQT1lKmMtdSpzLHE9ZipkLU0qdix5PWYq
Yi1oKnYsdz1mKm0tbCp2LFI9TSpiLWgqZCxMPU0qbS1sKmQsUz1oKm0tbCpiLF89cCpTLVAqTCtF
KlIrTyp3LXgqeStBKnE7cmV0dXJuIF8/KF89MS9fLHRbMF09KGkqUy1zKkwrYypSKSpfLHRbMV09
KGUqTC1hKlMtdSpSKSpfLHRbMl09KGQqQS1iKngrbSpPKSpfLHRbM109KGgqeC1NKkEtbCpPKSpf
LHRbNF09KHMqdy1vKlMtYyp5KSpfLHRbNV09KHIqUy1lKncrdSp5KSpfLHRbNl09KGIqRS12KkEt
bSpQKSpfLHRbN109KGYqQS1oKkUrbCpQKSpfLHRbOF09KG8qTC1pKncrYypxKSpfLHRbOV09KGEq
dy1yKkwtdSpxKSpfLHRbMTBdPSh2KngtZCpFK20qcCkqXyx0WzExXT0oTSpFLWYqeC1sKnApKl8s
dFsxMl09KGkqeS1vKlItcypxKSpfLHRbMTNdPShyKlItYSp5K2UqcSkqXyx0WzE0XT0oZCpQLXYq
Ty1iKnApKl8sdFsxNV09KGYqTy1NKlAraCpwKSpfLHQpOm51bGx9ZnVuY3Rpb24gTSh0LG4pe3Zh
ciByPW5bMF0sYT1uWzFdLGU9blsyXSx1PW5bM10sbz1uWzRdLGk9bls1XSxzPW5bNl0sYz1uWzdd
LGY9bls4XSxNPW5bOV0saD1uWzEwXSxsPW5bMTFdLHY9blsxMl0sZD1uWzEzXSxiPW5bMTRdLG09
blsxNV07cmV0dXJuIHRbMF09aSooaCptLWwqYiktTSoocyptLWMqYikrZCoocypsLWMqaCksdFsx
XT0tKGEqKGgqbS1sKmIpLU0qKGUqbS11KmIpK2QqKGUqbC11KmgpKSx0WzJdPWEqKHMqbS1jKmIp
LWkqKGUqbS11KmIpK2QqKGUqYy11KnMpLHRbM109LShhKihzKmwtYypoKS1pKihlKmwtdSpoKStN
KihlKmMtdSpzKSksdFs0XT0tKG8qKGgqbS1sKmIpLWYqKHMqbS1jKmIpK3YqKHMqbC1jKmgpKSx0
WzVdPXIqKGgqbS1sKmIpLWYqKGUqbS11KmIpK3YqKGUqbC11KmgpLHRbNl09LShyKihzKm0tYypi
KS1vKihlKm0tdSpiKSt2KihlKmMtdSpzKSksdFs3XT1yKihzKmwtYypoKS1vKihlKmwtdSpoKStm
KihlKmMtdSpzKSx0WzhdPW8qKE0qbS1sKmQpLWYqKGkqbS1jKmQpK3YqKGkqbC1jKk0pLHRbOV09
LShyKihNKm0tbCpkKS1mKihhKm0tdSpkKSt2KihhKmwtdSpNKSksdFsxMF09ciooaSptLWMqZCkt
byooYSptLXUqZCkrdiooYSpjLXUqaSksdFsxMV09LShyKihpKmwtYypNKS1vKihhKmwtdSpNKStm
KihhKmMtdSppKSksdFsxMl09LShvKihNKmItaCpkKS1mKihpKmItcypkKSt2KihpKmgtcypNKSks
dFsxM109ciooTSpiLWgqZCktZiooYSpiLWUqZCkrdiooYSpoLWUqTSksdFsxNF09LShyKihpKmIt
cypkKS1vKihhKmItZSpkKSt2KihhKnMtZSppKSksdFsxNV09ciooaSpoLXMqTSktbyooYSpoLWUq
TSkrZiooYSpzLWUqaSksdH1mdW5jdGlvbiBoKHQpe3ZhciBuPXRbMF0scj10WzFdLGE9dFsyXSxl
PXRbM10sdT10WzRdLG89dFs1XSxpPXRbNl0scz10WzddLGM9dFs4XSxmPXRbOV0sTT10WzEwXSxo
PXRbMTFdLGw9dFsxMl0sdj10WzEzXSxkPXRbMTRdLGI9dFsxNV07cmV0dXJuKG4qby1yKnUpKihN
KmItaCpkKS0obippLWEqdSkqKGYqYi1oKnYpKyhuKnMtZSp1KSooZipkLU0qdikrKHIqaS1hKm8p
KihjKmItaCpsKS0ocipzLWUqbykqKGMqZC1NKmwpKyhhKnMtZSppKSooYyp2LWYqbCl9ZnVuY3Rp
b24gbCh0LG4scil7dmFyIGE9blswXSxlPW5bMV0sdT1uWzJdLG89blszXSxpPW5bNF0scz1uWzVd
LGM9bls2XSxmPW5bN10sTT1uWzhdLGg9bls5XSxsPW5bMTBdLHY9blsxMV0sZD1uWzEyXSxiPW5b
MTNdLG09blsxNF0scD1uWzE1XSxQPXJbMF0sRT1yWzFdLE89clsyXSx4PXJbM107cmV0dXJuIHRb
MF09UCphK0UqaStPKk0reCpkLHRbMV09UCplK0UqcytPKmgreCpiLHRbMl09UCp1K0UqYytPKmwr
eCptLHRbM109UCpvK0UqZitPKnYreCpwLFA9cls0XSxFPXJbNV0sTz1yWzZdLHg9cls3XSx0WzRd
PVAqYStFKmkrTypNK3gqZCx0WzVdPVAqZStFKnMrTypoK3gqYix0WzZdPVAqdStFKmMrTypsK3gq
bSx0WzddPVAqbytFKmYrTyp2K3gqcCxQPXJbOF0sRT1yWzldLE89clsxMF0seD1yWzExXSx0Wzhd
PVAqYStFKmkrTypNK3gqZCx0WzldPVAqZStFKnMrTypoK3gqYix0WzEwXT1QKnUrRSpjK08qbCt4
Km0sdFsxMV09UCpvK0UqZitPKnYreCpwLFA9clsxMl0sRT1yWzEzXSxPPXJbMTRdLHg9clsxNV0s
dFsxMl09UCphK0UqaStPKk0reCpkLHRbMTNdPVAqZStFKnMrTypoK3gqYix0WzE0XT1QKnUrRSpj
K08qbCt4Km0sdFsxNV09UCpvK0UqZitPKnYreCpwLHR9ZnVuY3Rpb24gdih0LG4scil7dmFyIGE9
clswXSxlPXJbMV0sdT1yWzJdLG89dm9pZCAwLGk9dm9pZCAwLHM9dm9pZCAwLGM9dm9pZCAwLGY9
dm9pZCAwLE09dm9pZCAwLGg9dm9pZCAwLGw9dm9pZCAwLHY9dm9pZCAwLGQ9dm9pZCAwLGI9dm9p
ZCAwLG09dm9pZCAwO3JldHVybiBuPT09dD8odFsxMl09blswXSphK25bNF0qZStuWzhdKnUrblsx
Ml0sdFsxM109blsxXSphK25bNV0qZStuWzldKnUrblsxM10sdFsxNF09blsyXSphK25bNl0qZStu
WzEwXSp1K25bMTRdLHRbMTVdPW5bM10qYStuWzddKmUrblsxMV0qdStuWzE1XSk6KG89blswXSxp
PW5bMV0scz1uWzJdLGM9blszXSxmPW5bNF0sTT1uWzVdLGg9bls2XSxsPW5bN10sdj1uWzhdLGQ9
bls5XSxiPW5bMTBdLG09blsxMV0sdFswXT1vLHRbMV09aSx0WzJdPXMsdFszXT1jLHRbNF09Zix0
WzVdPU0sdFs2XT1oLHRbN109bCx0WzhdPXYsdFs5XT1kLHRbMTBdPWIsdFsxMV09bSx0WzEyXT1v
KmErZiplK3YqdStuWzEyXSx0WzEzXT1pKmErTSplK2QqdStuWzEzXSx0WzE0XT1zKmEraCplK2Iq
dStuWzE0XSx0WzE1XT1jKmErbCplK20qdStuWzE1XSksdH1mdW5jdGlvbiBkKHQsbixyKXt2YXIg
YT1yWzBdLGU9clsxXSx1PXJbMl07cmV0dXJuIHRbMF09blswXSphLHRbMV09blsxXSphLHRbMl09
blsyXSphLHRbM109blszXSphLHRbNF09bls0XSplLHRbNV09bls1XSplLHRbNl09bls2XSplLHRb
N109bls3XSplLHRbOF09bls4XSp1LHRbOV09bls5XSp1LHRbMTBdPW5bMTBdKnUsdFsxMV09blsx
MV0qdSx0WzEyXT1uWzEyXSx0WzEzXT1uWzEzXSx0WzE0XT1uWzE0XSx0WzE1XT1uWzE1XSx0fWZ1
bmN0aW9uIGIodCxuLHIsYSl7dmFyIGU9YVswXSx1PWFbMV0sbz1hWzJdLGk9TWF0aC5zcXJ0KGUq
ZSt1KnUrbypvKSxzPXZvaWQgMCxjPXZvaWQgMCxmPXZvaWQgMCxNPXZvaWQgMCxoPXZvaWQgMCxs
PXZvaWQgMCx2PXZvaWQgMCxkPXZvaWQgMCxiPXZvaWQgMCxtPXZvaWQgMCxwPXZvaWQgMCxQPXZv
aWQgMCxFPXZvaWQgMCxPPXZvaWQgMCx4PXZvaWQgMCxBPXZvaWQgMCxxPXZvaWQgMCx5PXZvaWQg
MCx3PXZvaWQgMCxSPXZvaWQgMCxMPXZvaWQgMCxTPXZvaWQgMCxfPXZvaWQgMCxJPXZvaWQgMDty
ZXR1cm4gTWF0aC5hYnMoaSk8Qy5FUFNJTE9OP251bGw6KGk9MS9pLGUqPWksdSo9aSxvKj1pLHM9
TWF0aC5zaW4ociksYz1NYXRoLmNvcyhyKSxmPTEtYyxNPW5bMF0saD1uWzFdLGw9blsyXSx2PW5b
M10sZD1uWzRdLGI9bls1XSxtPW5bNl0scD1uWzddLFA9bls4XSxFPW5bOV0sTz1uWzEwXSx4PW5b
MTFdLEE9ZSplKmYrYyxxPXUqZSpmK28qcyx5PW8qZSpmLXUqcyx3PWUqdSpmLW8qcyxSPXUqdSpm
K2MsTD1vKnUqZitlKnMsUz1lKm8qZit1KnMsXz11Km8qZi1lKnMsST1vKm8qZitjLHRbMF09TSpB
K2QqcStQKnksdFsxXT1oKkErYipxK0UqeSx0WzJdPWwqQSttKnErTyp5LHRbM109dipBK3AqcSt4
KnksdFs0XT1NKncrZCpSK1AqTCx0WzVdPWgqdytiKlIrRSpMLHRbNl09bCp3K20qUitPKkwsdFs3
XT12KncrcCpSK3gqTCx0WzhdPU0qUytkKl8rUCpJLHRbOV09aCpTK2IqXytFKkksdFsxMF09bCpT
K20qXytPKkksdFsxMV09dipTK3AqXyt4KkksbiE9PXQmJih0WzEyXT1uWzEyXSx0WzEzXT1uWzEz
XSx0WzE0XT1uWzE0XSx0WzE1XT1uWzE1XSksdCl9ZnVuY3Rpb24gbSh0LG4scil7dmFyIGE9TWF0
aC5zaW4ociksZT1NYXRoLmNvcyhyKSx1PW5bNF0sbz1uWzVdLGk9bls2XSxzPW5bN10sYz1uWzhd
LGY9bls5XSxNPW5bMTBdLGg9blsxMV07cmV0dXJuIG4hPT10JiYodFswXT1uWzBdLHRbMV09blsx
XSx0WzJdPW5bMl0sdFszXT1uWzNdLHRbMTJdPW5bMTJdLHRbMTNdPW5bMTNdLHRbMTRdPW5bMTRd
LHRbMTVdPW5bMTVdKSx0WzRdPXUqZStjKmEsdFs1XT1vKmUrZiphLHRbNl09aSplK00qYSx0Wzdd
PXMqZStoKmEsdFs4XT1jKmUtdSphLHRbOV09ZiplLW8qYSx0WzEwXT1NKmUtaSphLHRbMTFdPWgq
ZS1zKmEsdH1mdW5jdGlvbiBwKHQsbixyKXt2YXIgYT1NYXRoLnNpbihyKSxlPU1hdGguY29zKHIp
LHU9blswXSxvPW5bMV0saT1uWzJdLHM9blszXSxjPW5bOF0sZj1uWzldLE09blsxMF0saD1uWzEx
XTtyZXR1cm4gbiE9PXQmJih0WzRdPW5bNF0sdFs1XT1uWzVdLHRbNl09bls2XSx0WzddPW5bN10s
dFsxMl09blsxMl0sdFsxM109blsxM10sdFsxNF09blsxNF0sdFsxNV09blsxNV0pLHRbMF09dSpl
LWMqYSx0WzFdPW8qZS1mKmEsdFsyXT1pKmUtTSphLHRbM109cyplLWgqYSx0WzhdPXUqYStjKmUs
dFs5XT1vKmErZiplLHRbMTBdPWkqYStNKmUsdFsxMV09cyphK2gqZSx0fWZ1bmN0aW9uIFAodCxu
LHIpe3ZhciBhPU1hdGguc2luKHIpLGU9TWF0aC5jb3MociksdT1uWzBdLG89blsxXSxpPW5bMl0s
cz1uWzNdLGM9bls0XSxmPW5bNV0sTT1uWzZdLGg9bls3XTtyZXR1cm4gbiE9PXQmJih0WzhdPW5b
OF0sdFs5XT1uWzldLHRbMTBdPW5bMTBdLHRbMTFdPW5bMTFdLHRbMTJdPW5bMTJdLHRbMTNdPW5b
MTNdLHRbMTRdPW5bMTRdLHRbMTVdPW5bMTVdKSx0WzBdPXUqZStjKmEsdFsxXT1vKmUrZiphLHRb
Ml09aSplK00qYSx0WzNdPXMqZStoKmEsdFs0XT1jKmUtdSphLHRbNV09ZiplLW8qYSx0WzZdPU0q
ZS1pKmEsdFs3XT1oKmUtcyphLHR9ZnVuY3Rpb24gRSh0LG4pe3JldHVybiB0WzBdPTEsdFsxXT0w
LHRbMl09MCx0WzNdPTAsdFs0XT0wLHRbNV09MSx0WzZdPTAsdFs3XT0wLHRbOF09MCx0WzldPTAs
dFsxMF09MSx0WzExXT0wLHRbMTJdPW5bMF0sdFsxM109blsxXSx0WzE0XT1uWzJdLHRbMTVdPTEs
dH1mdW5jdGlvbiBPKHQsbil7cmV0dXJuIHRbMF09blswXSx0WzFdPTAsdFsyXT0wLHRbM109MCx0
WzRdPTAsdFs1XT1uWzFdLHRbNl09MCx0WzddPTAsdFs4XT0wLHRbOV09MCx0WzEwXT1uWzJdLHRb
MTFdPTAsdFsxMl09MCx0WzEzXT0wLHRbMTRdPTAsdFsxNV09MSx0fWZ1bmN0aW9uIHgodCxuLHIp
e3ZhciBhPXJbMF0sZT1yWzFdLHU9clsyXSxvPU1hdGguc3FydChhKmErZSplK3UqdSksaT12b2lk
IDAscz12b2lkIDAsYz12b2lkIDA7cmV0dXJuIE1hdGguYWJzKG8pPEMuRVBTSUxPTj9udWxsOihv
PTEvbyxhKj1vLGUqPW8sdSo9byxpPU1hdGguc2luKG4pLHM9TWF0aC5jb3MobiksYz0xLXMsdFsw
XT1hKmEqYytzLHRbMV09ZSphKmMrdSppLHRbMl09dSphKmMtZSppLHRbM109MCx0WzRdPWEqZSpj
LXUqaSx0WzVdPWUqZSpjK3MsdFs2XT11KmUqYythKmksdFs3XT0wLHRbOF09YSp1KmMrZSppLHRb
OV09ZSp1KmMtYSppLHRbMTBdPXUqdSpjK3MsdFsxMV09MCx0WzEyXT0wLHRbMTNdPTAsdFsxNF09
MCx0WzE1XT0xLHQpfWZ1bmN0aW9uIEEodCxuKXt2YXIgcj1NYXRoLnNpbihuKSxhPU1hdGguY29z
KG4pO3JldHVybiB0WzBdPTEsdFsxXT0wLHRbMl09MCx0WzNdPTAsdFs0XT0wLHRbNV09YSx0WzZd
PXIsdFs3XT0wLHRbOF09MCx0WzldPS1yLHRbMTBdPWEsdFsxMV09MCx0WzEyXT0wLHRbMTNdPTAs
dFsxNF09MCx0WzE1XT0xLHR9ZnVuY3Rpb24gcSh0LG4pe3ZhciByPU1hdGguc2luKG4pLGE9TWF0
aC5jb3Mobik7cmV0dXJuIHRbMF09YSx0WzFdPTAsdFsyXT0tcix0WzNdPTAsdFs0XT0wLHRbNV09
MSx0WzZdPTAsdFs3XT0wLHRbOF09cix0WzldPTAsdFsxMF09YSx0WzExXT0wLHRbMTJdPTAsdFsx
M109MCx0WzE0XT0wLHRbMTVdPTEsdH1mdW5jdGlvbiB5KHQsbil7dmFyIHI9TWF0aC5zaW4obiks
YT1NYXRoLmNvcyhuKTtyZXR1cm4gdFswXT1hLHRbMV09cix0WzJdPTAsdFszXT0wLHRbNF09LXIs
dFs1XT1hLHRbNl09MCx0WzddPTAsdFs4XT0wLHRbOV09MCx0WzEwXT0xLHRbMTFdPTAsdFsxMl09
MCx0WzEzXT0wLHRbMTRdPTAsdFsxNV09MSx0fWZ1bmN0aW9uIHcodCxuLHIpe3ZhciBhPW5bMF0s
ZT1uWzFdLHU9blsyXSxvPW5bM10saT1hK2Escz1lK2UsYz11K3UsZj1hKmksTT1hKnMsaD1hKmMs
bD1lKnMsdj1lKmMsZD11KmMsYj1vKmksbT1vKnMscD1vKmM7cmV0dXJuIHRbMF09MS0obCtkKSx0
WzFdPU0rcCx0WzJdPWgtbSx0WzNdPTAsdFs0XT1NLXAsdFs1XT0xLShmK2QpLHRbNl09ditiLHRb
N109MCx0WzhdPWgrbSx0WzldPXYtYix0WzEwXT0xLShmK2wpLHRbMTFdPTAsdFsxMl09clswXSx0
WzEzXT1yWzFdLHRbMTRdPXJbMl0sdFsxNV09MSx0fWZ1bmN0aW9uIFIodCxuKXtyZXR1cm4gdFsw
XT1uWzEyXSx0WzFdPW5bMTNdLHRbMl09blsxNF0sdH1mdW5jdGlvbiBMKHQsbil7dmFyIHI9blsw
XSxhPW5bMV0sZT1uWzJdLHU9bls0XSxvPW5bNV0saT1uWzZdLHM9bls4XSxjPW5bOV0sZj1uWzEw
XTtyZXR1cm4gdFswXT1NYXRoLnNxcnQocipyK2EqYStlKmUpLHRbMV09TWF0aC5zcXJ0KHUqdStv
Km8raSppKSx0WzJdPU1hdGguc3FydChzKnMrYypjK2YqZiksdH1mdW5jdGlvbiBTKHQsbil7dmFy
IHI9blswXStuWzVdK25bMTBdLGE9MDtyZXR1cm4gcj4wPyhhPTIqTWF0aC5zcXJ0KHIrMSksdFsz
XT0uMjUqYSx0WzBdPShuWzZdLW5bOV0pL2EsdFsxXT0obls4XS1uWzJdKS9hLHRbMl09KG5bMV0t
bls0XSkvYSk6blswXT5uWzVdJm5bMF0+blsxMF0/KGE9MipNYXRoLnNxcnQoMStuWzBdLW5bNV0t
blsxMF0pLHRbM109KG5bNl0tbls5XSkvYSx0WzBdPS4yNSphLHRbMV09KG5bMV0rbls0XSkvYSx0
WzJdPShuWzhdK25bMl0pL2EpOm5bNV0+blsxMF0/KGE9MipNYXRoLnNxcnQoMStuWzVdLW5bMF0t
blsxMF0pLHRbM109KG5bOF0tblsyXSkvYSx0WzBdPShuWzFdK25bNF0pL2EsdFsxXT0uMjUqYSx0
WzJdPShuWzZdK25bOV0pL2EpOihhPTIqTWF0aC5zcXJ0KDErblsxMF0tblswXS1uWzVdKSx0WzNd
PShuWzFdLW5bNF0pL2EsdFswXT0obls4XStuWzJdKS9hLHRbMV09KG5bNl0rbls5XSkvYSx0WzJd
PS4yNSphKSx0fWZ1bmN0aW9uIF8odCxuLHIsYSl7dmFyIGU9blswXSx1PW5bMV0sbz1uWzJdLGk9
blszXSxzPWUrZSxjPXUrdSxmPW8rbyxNPWUqcyxoPWUqYyxsPWUqZix2PXUqYyxkPXUqZixiPW8q
ZixtPWkqcyxwPWkqYyxQPWkqZixFPWFbMF0sTz1hWzFdLHg9YVsyXTtyZXR1cm4gdFswXT0oMS0o
ditiKSkqRSx0WzFdPShoK1ApKkUsdFsyXT0obC1wKSpFLHRbM109MCx0WzRdPShoLVApKk8sdFs1
XT0oMS0oTStiKSkqTyx0WzZdPShkK20pKk8sdFs3XT0wLHRbOF09KGwrcCkqeCx0WzldPShkLW0p
KngsdFsxMF09KDEtKE0rdikpKngsdFsxMV09MCx0WzEyXT1yWzBdLHRbMTNdPXJbMV0sdFsxNF09
clsyXSx0WzE1XT0xLHR9ZnVuY3Rpb24gSSh0LG4scixhLGUpe3ZhciB1PW5bMF0sbz1uWzFdLGk9
blsyXSxzPW5bM10sYz11K3UsZj1vK28sTT1pK2ksaD11KmMsbD11KmYsdj11Kk0sZD1vKmYsYj1v
Kk0sbT1pKk0scD1zKmMsUD1zKmYsRT1zKk0sTz1hWzBdLHg9YVsxXSxBPWFbMl0scT1lWzBdLHk9
ZVsxXSx3PWVbMl07cmV0dXJuIHRbMF09KDEtKGQrbSkpKk8sdFsxXT0obCtFKSpPLHRbMl09KHYt
UCkqTyx0WzNdPTAsdFs0XT0obC1FKSp4LHRbNV09KDEtKGgrbSkpKngsdFs2XT0oYitwKSp4LHRb
N109MCx0WzhdPSh2K1ApKkEsdFs5XT0oYi1wKSpBLHRbMTBdPSgxLShoK2QpKSpBLHRbMTFdPTAs
dFsxMl09clswXStxLSh0WzBdKnErdFs0XSp5K3RbOF0qdyksdFsxM109clsxXSt5LSh0WzFdKnEr
dFs1XSp5K3RbOV0qdyksdFsxNF09clsyXSt3LSh0WzJdKnErdFs2XSp5K3RbMTBdKncpLHRbMTVd
PTEsdH1mdW5jdGlvbiBOKHQsbil7dmFyIHI9blswXSxhPW5bMV0sZT1uWzJdLHU9blszXSxvPXIr
cixpPWErYSxzPWUrZSxjPXIqbyxmPWEqbyxNPWEqaSxoPWUqbyxsPWUqaSx2PWUqcyxkPXUqbyxi
PXUqaSxtPXUqcztyZXR1cm4gdFswXT0xLU0tdix0WzFdPWYrbSx0WzJdPWgtYix0WzNdPTAsdFs0
XT1mLW0sdFs1XT0xLWMtdix0WzZdPWwrZCx0WzddPTAsdFs4XT1oK2IsdFs5XT1sLWQsdFsxMF09
MS1jLU0sdFsxMV09MCx0WzEyXT0wLHRbMTNdPTAsdFsxNF09MCx0WzE1XT0xLHR9ZnVuY3Rpb24g
WSh0LG4scixhLGUsdSxvKXt2YXIgaT0xLyhyLW4pLHM9MS8oZS1hKSxjPTEvKHUtbyk7cmV0dXJu
IHRbMF09Mip1KmksdFsxXT0wLHRbMl09MCx0WzNdPTAsdFs0XT0wLHRbNV09Mip1KnMsdFs2XT0w
LHRbN109MCx0WzhdPShyK24pKmksdFs5XT0oZSthKSpzLHRbMTBdPShvK3UpKmMsdFsxMV09LTEs
dFsxMl09MCx0WzEzXT0wLHRbMTRdPW8qdSoyKmMsdFsxNV09MCx0fWZ1bmN0aW9uIGcodCxuLHIs
YSxlKXt2YXIgdT0xL01hdGgudGFuKG4vMiksbz0xLyhhLWUpO3JldHVybiB0WzBdPXUvcix0WzFd
PTAsdFsyXT0wLHRbM109MCx0WzRdPTAsdFs1XT11LHRbNl09MCx0WzddPTAsdFs4XT0wLHRbOV09
MCx0WzEwXT0oZSthKSpvLHRbMTFdPS0xLHRbMTJdPTAsdFsxM109MCx0WzE0XT0yKmUqYSpvLHRb
MTVdPTAsdH1mdW5jdGlvbiBUKHQsbixyLGEpe3ZhciBlPU1hdGgudGFuKG4udXBEZWdyZWVzKk1h
dGguUEkvMTgwKSx1PU1hdGgudGFuKG4uZG93bkRlZ3JlZXMqTWF0aC5QSS8xODApLG89TWF0aC50
YW4obi5sZWZ0RGVncmVlcypNYXRoLlBJLzE4MCksaT1NYXRoLnRhbihuLnJpZ2h0RGVncmVlcypN
YXRoLlBJLzE4MCkscz0yLyhvK2kpLGM9Mi8oZSt1KTtyZXR1cm4gdFswXT1zLHRbMV09MCx0WzJd
PTAsdFszXT0wLHRbNF09MCx0WzVdPWMsdFs2XT0wLHRbN109MCx0WzhdPS0oby1pKSpzKi41LHRb
OV09KGUtdSkqYyouNSx0WzEwXT1hLyhyLWEpLHRbMTFdPS0xLHRbMTJdPTAsdFsxM109MCx0WzE0
XT1hKnIvKHItYSksdFsxNV09MCx0fWZ1bmN0aW9uIGoodCxuLHIsYSxlLHUsbyl7dmFyIGk9MS8o
bi1yKSxzPTEvKGEtZSksYz0xLyh1LW8pO3JldHVybiB0WzBdPS0yKmksdFsxXT0wLHRbMl09MCx0
WzNdPTAsdFs0XT0wLHRbNV09LTIqcyx0WzZdPTAsdFs3XT0wLHRbOF09MCx0WzldPTAsdFsxMF09
MipjLHRbMTFdPTAsdFsxMl09KG4rcikqaSx0WzEzXT0oZSthKSpzLHRbMTRdPShvK3UpKmMsdFsx
NV09MSx0fWZ1bmN0aW9uIEQodCxuLHIsYSl7dmFyIGU9dm9pZCAwLHU9dm9pZCAwLG89dm9pZCAw
LGk9dm9pZCAwLHM9dm9pZCAwLGM9dm9pZCAwLGY9dm9pZCAwLE09dm9pZCAwLGg9dm9pZCAwLGw9
dm9pZCAwLHY9blswXSxkPW5bMV0sYj1uWzJdLG09YVswXSxwPWFbMV0sUD1hWzJdLEU9clswXSxP
PXJbMV0seD1yWzJdO3JldHVybiBNYXRoLmFicyh2LUUpPEMuRVBTSUxPTiYmTWF0aC5hYnMoZC1P
KTxDLkVQU0lMT04mJk1hdGguYWJzKGIteCk8Qy5FUFNJTE9OP21hdDQuaWRlbnRpdHkodCk6KGY9
di1FLE09ZC1PLGg9Yi14LGw9MS9NYXRoLnNxcnQoZipmK00qTStoKmgpLGYqPWwsTSo9bCxoKj1s
LGU9cCpoLVAqTSx1PVAqZi1tKmgsbz1tKk0tcCpmLGw9TWF0aC5zcXJ0KGUqZSt1KnUrbypvKSxs
PyhsPTEvbCxlKj1sLHUqPWwsbyo9bCk6KGU9MCx1PTAsbz0wKSxpPU0qby1oKnUscz1oKmUtZipv
LGM9Zip1LU0qZSxsPU1hdGguc3FydChpKmkrcypzK2MqYyksbD8obD0xL2wsaSo9bCxzKj1sLGMq
PWwpOihpPTAscz0wLGM9MCksdFswXT1lLHRbMV09aSx0WzJdPWYsdFszXT0wLHRbNF09dSx0WzVd
PXMsdFs2XT1NLHRbN109MCx0WzhdPW8sdFs5XT1jLHRbMTBdPWgsdFsxMV09MCx0WzEyXT0tKGUq
dit1KmQrbypiKSx0WzEzXT0tKGkqditzKmQrYypiKSx0WzE0XT0tKGYqditNKmQraCpiKSx0WzE1
XT0xLHQpfWZ1bmN0aW9uIFYodCxuLHIsYSl7dmFyIGU9blswXSx1PW5bMV0sbz1uWzJdLGk9YVsw
XSxzPWFbMV0sYz1hWzJdLGY9ZS1yWzBdLE09dS1yWzFdLGg9by1yWzJdLGw9ZipmK00qTStoKmg7
bD4wJiYobD0xL01hdGguc3FydChsKSxmKj1sLE0qPWwsaCo9bCk7dmFyIHY9cypoLWMqTSxkPWMq
Zi1pKmgsYj1pKk0tcypmO3JldHVybiB0WzBdPXYsdFsxXT1kLHRbMl09Yix0WzNdPTAsdFs0XT1N
KmItaCpkLHRbNV09aCp2LWYqYix0WzZdPWYqZC1NKnYsdFs3XT0wLHRbOF09Zix0WzldPU0sdFsx
MF09aCx0WzExXT0wLHRbMTJdPWUsdFsxM109dSx0WzE0XT1vLHRbMTVdPTEsdH1mdW5jdGlvbiB6
KHQpe3JldHVybiJtYXQ0KCIrdFswXSsiLCAiK3RbMV0rIiwgIit0WzJdKyIsICIrdFszXSsiLCAi
K3RbNF0rIiwgIit0WzVdKyIsICIrdFs2XSsiLCAiK3RbN10rIiwgIit0WzhdKyIsICIrdFs5XSsi
LCAiK3RbMTBdKyIsICIrdFsxMV0rIiwgIit0WzEyXSsiLCAiK3RbMTNdKyIsICIrdFsxNF0rIiwg
Iit0WzE1XSsiKSJ9ZnVuY3Rpb24gRih0KXtyZXR1cm4gTWF0aC5zcXJ0KE1hdGgucG93KHRbMF0s
MikrTWF0aC5wb3codFsxXSwyKStNYXRoLnBvdyh0WzJdLDIpK01hdGgucG93KHRbM10sMikrTWF0
aC5wb3codFs0XSwyKStNYXRoLnBvdyh0WzVdLDIpK01hdGgucG93KHRbNl0sMikrTWF0aC5wb3co
dFs3XSwyKStNYXRoLnBvdyh0WzhdLDIpK01hdGgucG93KHRbOV0sMikrTWF0aC5wb3codFsxMF0s
MikrTWF0aC5wb3codFsxMV0sMikrTWF0aC5wb3codFsxMl0sMikrTWF0aC5wb3codFsxM10sMikr
TWF0aC5wb3codFsxNF0sMikrTWF0aC5wb3codFsxNV0sMikpfWZ1bmN0aW9uIFEodCxuLHIpe3Jl
dHVybiB0WzBdPW5bMF0rclswXSx0WzFdPW5bMV0rclsxXSx0WzJdPW5bMl0rclsyXSx0WzNdPW5b
M10rclszXSx0WzRdPW5bNF0rcls0XSx0WzVdPW5bNV0rcls1XSx0WzZdPW5bNl0rcls2XSx0Wzdd
PW5bN10rcls3XSx0WzhdPW5bOF0rcls4XSx0WzldPW5bOV0rcls5XSx0WzEwXT1uWzEwXStyWzEw
XSx0WzExXT1uWzExXStyWzExXSx0WzEyXT1uWzEyXStyWzEyXSx0WzEzXT1uWzEzXStyWzEzXSx0
WzE0XT1uWzE0XStyWzE0XSx0WzE1XT1uWzE1XStyWzE1XSx0fWZ1bmN0aW9uIFgodCxuLHIpe3Jl
dHVybiB0WzBdPW5bMF0tclswXSx0WzFdPW5bMV0tclsxXSx0WzJdPW5bMl0tclsyXSx0WzNdPW5b
M10tclszXSx0WzRdPW5bNF0tcls0XSx0WzVdPW5bNV0tcls1XSx0WzZdPW5bNl0tcls2XSx0Wzdd
PW5bN10tcls3XSx0WzhdPW5bOF0tcls4XSx0WzldPW5bOV0tcls5XSx0WzEwXT1uWzEwXS1yWzEw
XSx0WzExXT1uWzExXS1yWzExXSx0WzEyXT1uWzEyXS1yWzEyXSx0WzEzXT1uWzEzXS1yWzEzXSx0
WzE0XT1uWzE0XS1yWzE0XSx0WzE1XT1uWzE1XS1yWzE1XSx0fWZ1bmN0aW9uIFoodCxuLHIpe3Jl
dHVybiB0WzBdPW5bMF0qcix0WzFdPW5bMV0qcix0WzJdPW5bMl0qcix0WzNdPW5bM10qcix0WzRd
PW5bNF0qcix0WzVdPW5bNV0qcix0WzZdPW5bNl0qcix0WzddPW5bN10qcix0WzhdPW5bOF0qcix0
WzldPW5bOV0qcix0WzEwXT1uWzEwXSpyLHRbMTFdPW5bMTFdKnIsdFsxMl09blsxMl0qcix0WzEz
XT1uWzEzXSpyLHRbMTRdPW5bMTRdKnIsdFsxNV09blsxNV0qcix0fWZ1bmN0aW9uIGsodCxuLHIs
YSl7cmV0dXJuIHRbMF09blswXStyWzBdKmEsdFsxXT1uWzFdK3JbMV0qYSx0WzJdPW5bMl0rclsy
XSphLHRbM109blszXStyWzNdKmEsdFs0XT1uWzRdK3JbNF0qYSx0WzVdPW5bNV0rcls1XSphLHRb
Nl09bls2XStyWzZdKmEsdFs3XT1uWzddK3JbN10qYSx0WzhdPW5bOF0rcls4XSphLHRbOV09bls5
XStyWzldKmEsdFsxMF09blsxMF0rclsxMF0qYSx0WzExXT1uWzExXStyWzExXSphLHRbMTJdPW5b
MTJdK3JbMTJdKmEsdFsxM109blsxM10rclsxM10qYSx0WzE0XT1uWzE0XStyWzE0XSphLHRbMTVd
PW5bMTVdK3JbMTVdKmEsdH1mdW5jdGlvbiBVKHQsbil7cmV0dXJuIHRbMF09PT1uWzBdJiZ0WzFd
PT09blsxXSYmdFsyXT09PW5bMl0mJnRbM109PT1uWzNdJiZ0WzRdPT09bls0XSYmdFs1XT09PW5b
NV0mJnRbNl09PT1uWzZdJiZ0WzddPT09bls3XSYmdFs4XT09PW5bOF0mJnRbOV09PT1uWzldJiZ0
WzEwXT09PW5bMTBdJiZ0WzExXT09PW5bMTFdJiZ0WzEyXT09PW5bMTJdJiZ0WzEzXT09PW5bMTNd
JiZ0WzE0XT09PW5bMTRdJiZ0WzE1XT09PW5bMTVdfWZ1bmN0aW9uIFcodCxuKXt2YXIgcj10WzBd
LGE9dFsxXSxlPXRbMl0sdT10WzNdLG89dFs0XSxpPXRbNV0scz10WzZdLGM9dFs3XSxmPXRbOF0s
TT10WzldLGg9dFsxMF0sbD10WzExXSx2PXRbMTJdLGQ9dFsxM10sYj10WzE0XSxtPXRbMTVdLHA9
blswXSxQPW5bMV0sRT1uWzJdLE89blszXSx4PW5bNF0sQT1uWzVdLHE9bls2XSx5PW5bN10sdz1u
WzhdLFI9bls5XSxMPW5bMTBdLFM9blsxMV0sXz1uWzEyXSxJPW5bMTNdLE49blsxNF0sWT1uWzE1
XTtyZXR1cm4gTWF0aC5hYnMoci1wKTw9Qy5FUFNJTE9OKk1hdGgubWF4KDEsTWF0aC5hYnMociks
TWF0aC5hYnMocCkpJiZNYXRoLmFicyhhLVApPD1DLkVQU0lMT04qTWF0aC5tYXgoMSxNYXRoLmFi
cyhhKSxNYXRoLmFicyhQKSkmJk1hdGguYWJzKGUtRSk8PUMuRVBTSUxPTipNYXRoLm1heCgxLE1h
dGguYWJzKGUpLE1hdGguYWJzKEUpKSYmTWF0aC5hYnModS1PKTw9Qy5FUFNJTE9OKk1hdGgubWF4
KDEsTWF0aC5hYnModSksTWF0aC5hYnMoTykpJiZNYXRoLmFicyhvLXgpPD1DLkVQU0lMT04qTWF0
aC5tYXgoMSxNYXRoLmFicyhvKSxNYXRoLmFicyh4KSkmJk1hdGguYWJzKGktQSk8PUMuRVBTSUxP
TipNYXRoLm1heCgxLE1hdGguYWJzKGkpLE1hdGguYWJzKEEpKSYmTWF0aC5hYnMocy1xKTw9Qy5F
UFNJTE9OKk1hdGgubWF4KDEsTWF0aC5hYnMocyksTWF0aC5hYnMocSkpJiZNYXRoLmFicyhjLXkp
PD1DLkVQU0lMT04qTWF0aC5tYXgoMSxNYXRoLmFicyhjKSxNYXRoLmFicyh5KSkmJk1hdGguYWJz
KGYtdyk8PUMuRVBTSUxPTipNYXRoLm1heCgxLE1hdGguYWJzKGYpLE1hdGguYWJzKHcpKSYmTWF0
aC5hYnMoTS1SKTw9Qy5FUFNJTE9OKk1hdGgubWF4KDEsTWF0aC5hYnMoTSksTWF0aC5hYnMoUikp
JiZNYXRoLmFicyhoLUwpPD1DLkVQU0lMT04qTWF0aC5tYXgoMSxNYXRoLmFicyhoKSxNYXRoLmFi
cyhMKSkmJk1hdGguYWJzKGwtUyk8PUMuRVBTSUxPTipNYXRoLm1heCgxLE1hdGguYWJzKGwpLE1h
dGguYWJzKFMpKSYmTWF0aC5hYnModi1fKTw9Qy5FUFNJTE9OKk1hdGgubWF4KDEsTWF0aC5hYnMo
diksTWF0aC5hYnMoXykpJiZNYXRoLmFicyhkLUkpPD1DLkVQU0lMT04qTWF0aC5tYXgoMSxNYXRo
LmFicyhkKSxNYXRoLmFicyhJKSkmJk1hdGguYWJzKGItTik8PUMuRVBTSUxPTipNYXRoLm1heCgx
LE1hdGguYWJzKGIpLE1hdGguYWJzKE4pKSYmTWF0aC5hYnMobS1ZKTw9Qy5FUFNJTE9OKk1hdGgu
bWF4KDEsTWF0aC5hYnMobSksTWF0aC5hYnMoWSkpfU9iamVjdC5kZWZpbmVQcm9wZXJ0eShuLCJf
X2VzTW9kdWxlIix7dmFsdWU6ITB9KSxuLnN1Yj1uLm11bD12b2lkIDAsbi5jcmVhdGU9YSxuLmNs
b25lPWUsbi5jb3B5PXUsbi5mcm9tVmFsdWVzPW8sbi5zZXQ9aSxuLmlkZW50aXR5PXMsbi50cmFu
c3Bvc2U9YyxuLmludmVydD1mLG4uYWRqb2ludD1NLG4uZGV0ZXJtaW5hbnQ9aCxuLm11bHRpcGx5
PWwsbi50cmFuc2xhdGU9dixuLnNjYWxlPWQsbi5yb3RhdGU9YixuLnJvdGF0ZVg9bSxuLnJvdGF0
ZVk9cCxuLnJvdGF0ZVo9UCxuLmZyb21UcmFuc2xhdGlvbj1FLG4uZnJvbVNjYWxpbmc9TyxuLmZy
b21Sb3RhdGlvbj14LG4uZnJvbVhSb3RhdGlvbj1BLG4uZnJvbVlSb3RhdGlvbj1xLG4uZnJvbVpS
b3RhdGlvbj15LG4uZnJvbVJvdGF0aW9uVHJhbnNsYXRpb249dyxuLmdldFRyYW5zbGF0aW9uPVIs
bi5nZXRTY2FsaW5nPUwsbi5nZXRSb3RhdGlvbj1TLG4uZnJvbVJvdGF0aW9uVHJhbnNsYXRpb25T
Y2FsZT1fLG4uZnJvbVJvdGF0aW9uVHJhbnNsYXRpb25TY2FsZU9yaWdpbj1JLG4uZnJvbVF1YXQ9
TixuLmZydXN0dW09WSxuLnBlcnNwZWN0aXZlPWcsbi5wZXJzcGVjdGl2ZUZyb21GaWVsZE9mVmll
dz1ULG4ub3J0aG89aixuLmxvb2tBdD1ELG4udGFyZ2V0VG89VixuLnN0cj16LG4uZnJvYj1GLG4u
YWRkPVEsbi5zdWJ0cmFjdD1YLG4ubXVsdGlwbHlTY2FsYXI9WixuLm11bHRpcGx5U2NhbGFyQW5k
QWRkPWssbi5leGFjdEVxdWFscz1VLG4uZXF1YWxzPVc7dmFyIEI9cigwKSxDPWZ1bmN0aW9uKHQp
e2lmKHQmJnQuX19lc01vZHVsZSlyZXR1cm4gdDt2YXIgbj17fTtpZihudWxsIT10KWZvcih2YXIg
ciBpbiB0KU9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbCh0LHIpJiYobltyXT10
W3JdKTtyZXR1cm4gbi5kZWZhdWx0PXQsbn0oQik7bi5tdWw9bCxuLnN1Yj1YfSxmdW5jdGlvbih0
LG4scil7InVzZSBzdHJpY3QiO2Z1bmN0aW9uIGEodCl7aWYodCYmdC5fX2VzTW9kdWxlKXJldHVy
biB0O3ZhciBuPXt9O2lmKG51bGwhPXQpZm9yKHZhciByIGluIHQpT2JqZWN0LnByb3RvdHlwZS5o
YXNPd25Qcm9wZXJ0eS5jYWxsKHQscikmJihuW3JdPXRbcl0pO3JldHVybiBuLmRlZmF1bHQ9dCxu
fWZ1bmN0aW9uIGUoKXt2YXIgdD1uZXcgRS5BUlJBWV9UWVBFKDQpO3JldHVybiB0WzBdPTAsdFsx
XT0wLHRbMl09MCx0WzNdPTEsdH1mdW5jdGlvbiB1KHQpe3JldHVybiB0WzBdPTAsdFsxXT0wLHRb
Ml09MCx0WzNdPTEsdH1mdW5jdGlvbiBvKHQsbixyKXtyKj0uNTt2YXIgYT1NYXRoLnNpbihyKTty
ZXR1cm4gdFswXT1hKm5bMF0sdFsxXT1hKm5bMV0sdFsyXT1hKm5bMl0sdFszXT1NYXRoLmNvcyhy
KSx0fWZ1bmN0aW9uIGkodCxuKXt2YXIgcj0yKk1hdGguYWNvcyhuWzNdKSxhPU1hdGguc2luKHIv
Mik7cmV0dXJuIDAhPWE/KHRbMF09blswXS9hLHRbMV09blsxXS9hLHRbMl09blsyXS9hKToodFsw
XT0xLHRbMV09MCx0WzJdPTApLHJ9ZnVuY3Rpb24gcyh0LG4scil7dmFyIGE9blswXSxlPW5bMV0s
dT1uWzJdLG89blszXSxpPXJbMF0scz1yWzFdLGM9clsyXSxmPXJbM107cmV0dXJuIHRbMF09YSpm
K28qaStlKmMtdSpzLHRbMV09ZSpmK28qcyt1KmktYSpjLHRbMl09dSpmK28qYythKnMtZSppLHRb
M109bypmLWEqaS1lKnMtdSpjLHR9ZnVuY3Rpb24gYyh0LG4scil7cio9LjU7dmFyIGE9blswXSxl
PW5bMV0sdT1uWzJdLG89blszXSxpPU1hdGguc2luKHIpLHM9TWF0aC5jb3Mocik7cmV0dXJuIHRb
MF09YSpzK28qaSx0WzFdPWUqcyt1KmksdFsyXT11KnMtZSppLHRbM109bypzLWEqaSx0fWZ1bmN0
aW9uIGYodCxuLHIpe3IqPS41O3ZhciBhPW5bMF0sZT1uWzFdLHU9blsyXSxvPW5bM10saT1NYXRo
LnNpbihyKSxzPU1hdGguY29zKHIpO3JldHVybiB0WzBdPWEqcy11KmksdFsxXT1lKnMrbyppLHRb
Ml09dSpzK2EqaSx0WzNdPW8qcy1lKmksdH1mdW5jdGlvbiBNKHQsbixyKXtyKj0uNTt2YXIgYT1u
WzBdLGU9blsxXSx1PW5bMl0sbz1uWzNdLGk9TWF0aC5zaW4ocikscz1NYXRoLmNvcyhyKTtyZXR1
cm4gdFswXT1hKnMrZSppLHRbMV09ZSpzLWEqaSx0WzJdPXUqcytvKmksdFszXT1vKnMtdSppLHR9
ZnVuY3Rpb24gaCh0LG4pe3ZhciByPW5bMF0sYT1uWzFdLGU9blsyXTtyZXR1cm4gdFswXT1yLHRb
MV09YSx0WzJdPWUsdFszXT1NYXRoLnNxcnQoTWF0aC5hYnMoMS1yKnItYSphLWUqZSkpLHR9ZnVu
Y3Rpb24gbCh0LG4scixhKXt2YXIgZT1uWzBdLHU9blsxXSxvPW5bMl0saT1uWzNdLHM9clswXSxj
PXJbMV0sZj1yWzJdLE09clszXSxoPXZvaWQgMCxsPXZvaWQgMCx2PXZvaWQgMCxkPXZvaWQgMCxi
PXZvaWQgMDtyZXR1cm4gbD1lKnMrdSpjK28qZitpKk0sbDwwJiYobD0tbCxzPS1zLGM9LWMsZj0t
ZixNPS1NKSwxLWw+MWUtNj8oaD1NYXRoLmFjb3MobCksdj1NYXRoLnNpbihoKSxkPU1hdGguc2lu
KCgxLWEpKmgpL3YsYj1NYXRoLnNpbihhKmgpL3YpOihkPTEtYSxiPWEpLHRbMF09ZCplK2Iqcyx0
WzFdPWQqdStiKmMsdFsyXT1kKm8rYipmLHRbM109ZCppK2IqTSx0fWZ1bmN0aW9uIHYodCxuKXt2
YXIgcj1uWzBdLGE9blsxXSxlPW5bMl0sdT1uWzNdLG89cipyK2EqYStlKmUrdSp1LGk9bz8xL286
MDtyZXR1cm4gdFswXT0tcippLHRbMV09LWEqaSx0WzJdPS1lKmksdFszXT11KmksdH1mdW5jdGlv
biBkKHQsbil7cmV0dXJuIHRbMF09LW5bMF0sdFsxXT0tblsxXSx0WzJdPS1uWzJdLHRbM109blsz
XSx0fWZ1bmN0aW9uIGIodCxuKXt2YXIgcj1uWzBdK25bNF0rbls4XSxhPXZvaWQgMDtpZihyPjAp
YT1NYXRoLnNxcnQocisxKSx0WzNdPS41KmEsYT0uNS9hLHRbMF09KG5bNV0tbls3XSkqYSx0WzFd
PShuWzZdLW5bMl0pKmEsdFsyXT0oblsxXS1uWzNdKSphO2Vsc2V7dmFyIGU9MDtuWzRdPm5bMF0m
JihlPTEpLG5bOF0+blszKmUrZV0mJihlPTIpO3ZhciB1PShlKzEpJTMsbz0oZSsyKSUzO2E9TWF0
aC5zcXJ0KG5bMyplK2VdLW5bMyp1K3VdLW5bMypvK29dKzEpLHRbZV09LjUqYSxhPS41L2EsdFsz
XT0oblszKnUrb10tblszKm8rdV0pKmEsdFt1XT0oblszKnUrZV0rblszKmUrdV0pKmEsdFtvXT0o
blszKm8rZV0rblszKmUrb10pKmF9cmV0dXJuIHR9ZnVuY3Rpb24gbSh0LG4scixhKXt2YXIgZT0u
NSpNYXRoLlBJLzE4MDtuKj1lLHIqPWUsYSo9ZTt2YXIgdT1NYXRoLnNpbihuKSxvPU1hdGguY29z
KG4pLGk9TWF0aC5zaW4ocikscz1NYXRoLmNvcyhyKSxjPU1hdGguc2luKGEpLGY9TWF0aC5jb3Mo
YSk7cmV0dXJuIHRbMF09dSpzKmYtbyppKmMsdFsxXT1vKmkqZit1KnMqYyx0WzJdPW8qcypjLXUq
aSpmLHRbM109bypzKmYrdSppKmMsdH1mdW5jdGlvbiBwKHQpe3JldHVybiJxdWF0KCIrdFswXSsi
LCAiK3RbMV0rIiwgIit0WzJdKyIsICIrdFszXSsiKSJ9T2JqZWN0LmRlZmluZVByb3BlcnR5KG4s
Il9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLG4uc2V0QXhlcz1uLnNxbGVycD1uLnJvdGF0aW9uVG89
bi5lcXVhbHM9bi5leGFjdEVxdWFscz1uLm5vcm1hbGl6ZT1uLnNxckxlbj1uLnNxdWFyZWRMZW5n
dGg9bi5sZW49bi5sZW5ndGg9bi5sZXJwPW4uZG90PW4uc2NhbGU9bi5tdWw9bi5hZGQ9bi5zZXQ9
bi5jb3B5PW4uZnJvbVZhbHVlcz1uLmNsb25lPXZvaWQgMCxuLmNyZWF0ZT1lLG4uaWRlbnRpdHk9
dSxuLnNldEF4aXNBbmdsZT1vLG4uZ2V0QXhpc0FuZ2xlPWksbi5tdWx0aXBseT1zLG4ucm90YXRl
WD1jLG4ucm90YXRlWT1mLG4ucm90YXRlWj1NLG4uY2FsY3VsYXRlVz1oLG4uc2xlcnA9bCxuLmlu
dmVydD12LG4uY29uanVnYXRlPWQsbi5mcm9tTWF0Mz1iLG4uZnJvbUV1bGVyPW0sbi5zdHI9cDt2
YXIgUD1yKDApLEU9YShQKSxPPXIoMSkseD1hKE8pLEE9cigyKSxxPWEoQSkseT1yKDMpLHc9YSh5
KSxSPShuLmNsb25lPXcuY2xvbmUsbi5mcm9tVmFsdWVzPXcuZnJvbVZhbHVlcyxuLmNvcHk9dy5j
b3B5LG4uc2V0PXcuc2V0LG4uYWRkPXcuYWRkLG4ubXVsPXMsbi5zY2FsZT13LnNjYWxlLG4uZG90
PXcuZG90LG4ubGVycD13LmxlcnAsbi5sZW5ndGg9dy5sZW5ndGgpLEw9KG4ubGVuPVIsbi5zcXVh
cmVkTGVuZ3RoPXcuc3F1YXJlZExlbmd0aCksUz0obi5zcXJMZW49TCxuLm5vcm1hbGl6ZT13Lm5v
cm1hbGl6ZSk7bi5leGFjdEVxdWFscz13LmV4YWN0RXF1YWxzLG4uZXF1YWxzPXcuZXF1YWxzLG4u
cm90YXRpb25Ubz1mdW5jdGlvbigpe3ZhciB0PXEuY3JlYXRlKCksbj1xLmZyb21WYWx1ZXMoMSww
LDApLHI9cS5mcm9tVmFsdWVzKDAsMSwwKTtyZXR1cm4gZnVuY3Rpb24oYSxlLHUpe3ZhciBpPXEu
ZG90KGUsdSk7cmV0dXJuIGk8LS45OTk5OTk/KHEuY3Jvc3ModCxuLGUpLHEubGVuKHQpPDFlLTYm
JnEuY3Jvc3ModCxyLGUpLHEubm9ybWFsaXplKHQsdCksbyhhLHQsTWF0aC5QSSksYSk6aT4uOTk5
OTk5PyhhWzBdPTAsYVsxXT0wLGFbMl09MCxhWzNdPTEsYSk6KHEuY3Jvc3ModCxlLHUpLGFbMF09
dFswXSxhWzFdPXRbMV0sYVsyXT10WzJdLGFbM109MStpLFMoYSxhKSl9fSgpLG4uc3FsZXJwPWZ1
bmN0aW9uKCl7dmFyIHQ9ZSgpLG49ZSgpO3JldHVybiBmdW5jdGlvbihyLGEsZSx1LG8saSl7cmV0
dXJuIGwodCxhLG8saSksbChuLGUsdSxpKSxsKHIsdCxuLDIqaSooMS1pKSkscn19KCksbi5zZXRB
eGVzPWZ1bmN0aW9uKCl7dmFyIHQ9eC5jcmVhdGUoKTtyZXR1cm4gZnVuY3Rpb24obixyLGEsZSl7
cmV0dXJuIHRbMF09YVswXSx0WzNdPWFbMV0sdFs2XT1hWzJdLHRbMV09ZVswXSx0WzRdPWVbMV0s
dFs3XT1lWzJdLHRbMl09LXJbMF0sdFs1XT0tclsxXSx0WzhdPS1yWzJdLFMobixiKG4sdCkpfX0o
KX0sZnVuY3Rpb24odCxuLHIpeyJ1c2Ugc3RyaWN0IjtmdW5jdGlvbiBhKCl7dmFyIHQ9bmV3IFYu
QVJSQVlfVFlQRSgyKTtyZXR1cm4gdFswXT0wLHRbMV09MCx0fWZ1bmN0aW9uIGUodCl7dmFyIG49
bmV3IFYuQVJSQVlfVFlQRSgyKTtyZXR1cm4gblswXT10WzBdLG5bMV09dFsxXSxufWZ1bmN0aW9u
IHUodCxuKXt2YXIgcj1uZXcgVi5BUlJBWV9UWVBFKDIpO3JldHVybiByWzBdPXQsclsxXT1uLHJ9
ZnVuY3Rpb24gbyh0LG4pe3JldHVybiB0WzBdPW5bMF0sdFsxXT1uWzFdLHR9ZnVuY3Rpb24gaSh0
LG4scil7cmV0dXJuIHRbMF09bix0WzFdPXIsdH1mdW5jdGlvbiBzKHQsbixyKXtyZXR1cm4gdFsw
XT1uWzBdK3JbMF0sdFsxXT1uWzFdK3JbMV0sdH1mdW5jdGlvbiBjKHQsbixyKXtyZXR1cm4gdFsw
XT1uWzBdLXJbMF0sdFsxXT1uWzFdLXJbMV0sdH1mdW5jdGlvbiBmKHQsbixyKXtyZXR1cm4gdFsw
XT1uWzBdKnJbMF0sdFsxXT1uWzFdKnJbMV0sdH1mdW5jdGlvbiBNKHQsbixyKXtyZXR1cm4gdFsw
XT1uWzBdL3JbMF0sdFsxXT1uWzFdL3JbMV0sdH1mdW5jdGlvbiBoKHQsbil7cmV0dXJuIHRbMF09
TWF0aC5jZWlsKG5bMF0pLHRbMV09TWF0aC5jZWlsKG5bMV0pLHR9ZnVuY3Rpb24gbCh0LG4pe3Jl
dHVybiB0WzBdPU1hdGguZmxvb3IoblswXSksdFsxXT1NYXRoLmZsb29yKG5bMV0pLHR9ZnVuY3Rp
b24gdih0LG4scil7cmV0dXJuIHRbMF09TWF0aC5taW4oblswXSxyWzBdKSx0WzFdPU1hdGgubWlu
KG5bMV0sclsxXSksdH1mdW5jdGlvbiBkKHQsbixyKXtyZXR1cm4gdFswXT1NYXRoLm1heChuWzBd
LHJbMF0pLHRbMV09TWF0aC5tYXgoblsxXSxyWzFdKSx0fWZ1bmN0aW9uIGIodCxuKXtyZXR1cm4g
dFswXT1NYXRoLnJvdW5kKG5bMF0pLHRbMV09TWF0aC5yb3VuZChuWzFdKSx0fWZ1bmN0aW9uIG0o
dCxuLHIpe3JldHVybiB0WzBdPW5bMF0qcix0WzFdPW5bMV0qcix0fWZ1bmN0aW9uIHAodCxuLHIs
YSl7cmV0dXJuIHRbMF09blswXStyWzBdKmEsdFsxXT1uWzFdK3JbMV0qYSx0fWZ1bmN0aW9uIFAo
dCxuKXt2YXIgcj1uWzBdLXRbMF0sYT1uWzFdLXRbMV07cmV0dXJuIE1hdGguc3FydChyKnIrYSph
KX1mdW5jdGlvbiBFKHQsbil7dmFyIHI9blswXS10WzBdLGE9blsxXS10WzFdO3JldHVybiByKnIr
YSphfWZ1bmN0aW9uIE8odCl7dmFyIG49dFswXSxyPXRbMV07cmV0dXJuIE1hdGguc3FydChuKm4r
cipyKX1mdW5jdGlvbiB4KHQpe3ZhciBuPXRbMF0scj10WzFdO3JldHVybiBuKm4rcipyfWZ1bmN0
aW9uIEEodCxuKXtyZXR1cm4gdFswXT0tblswXSx0WzFdPS1uWzFdLHR9ZnVuY3Rpb24gcSh0LG4p
e3JldHVybiB0WzBdPTEvblswXSx0WzFdPTEvblsxXSx0fWZ1bmN0aW9uIHkodCxuKXt2YXIgcj1u
WzBdLGE9blsxXSxlPXIqcithKmE7cmV0dXJuIGU+MCYmKGU9MS9NYXRoLnNxcnQoZSksdFswXT1u
WzBdKmUsdFsxXT1uWzFdKmUpLHR9ZnVuY3Rpb24gdyh0LG4pe3JldHVybiB0WzBdKm5bMF0rdFsx
XSpuWzFdfWZ1bmN0aW9uIFIodCxuLHIpe3ZhciBhPW5bMF0qclsxXS1uWzFdKnJbMF07cmV0dXJu
IHRbMF09dFsxXT0wLHRbMl09YSx0fWZ1bmN0aW9uIEwodCxuLHIsYSl7dmFyIGU9blswXSx1PW5b
MV07cmV0dXJuIHRbMF09ZSthKihyWzBdLWUpLHRbMV09dSthKihyWzFdLXUpLHR9ZnVuY3Rpb24g
Uyh0LG4pe249bnx8MTt2YXIgcj0yKlYuUkFORE9NKCkqTWF0aC5QSTtyZXR1cm4gdFswXT1NYXRo
LmNvcyhyKSpuLHRbMV09TWF0aC5zaW4ocikqbix0fWZ1bmN0aW9uIF8odCxuLHIpe3ZhciBhPW5b
MF0sZT1uWzFdO3JldHVybiB0WzBdPXJbMF0qYStyWzJdKmUsdFsxXT1yWzFdKmErclszXSplLHR9
ZnVuY3Rpb24gSSh0LG4scil7dmFyIGE9blswXSxlPW5bMV07cmV0dXJuIHRbMF09clswXSphK3Jb
Ml0qZStyWzRdLHRbMV09clsxXSphK3JbM10qZStyWzVdLHR9ZnVuY3Rpb24gTih0LG4scil7dmFy
IGE9blswXSxlPW5bMV07cmV0dXJuIHRbMF09clswXSphK3JbM10qZStyWzZdLHRbMV09clsxXSph
K3JbNF0qZStyWzddLHR9ZnVuY3Rpb24gWSh0LG4scil7dmFyIGE9blswXSxlPW5bMV07cmV0dXJu
IHRbMF09clswXSphK3JbNF0qZStyWzEyXSx0WzFdPXJbMV0qYStyWzVdKmUrclsxM10sdH1mdW5j
dGlvbiBnKHQpe3JldHVybiJ2ZWMyKCIrdFswXSsiLCAiK3RbMV0rIikifWZ1bmN0aW9uIFQodCxu
KXtyZXR1cm4gdFswXT09PW5bMF0mJnRbMV09PT1uWzFdfWZ1bmN0aW9uIGoodCxuKXt2YXIgcj10
WzBdLGE9dFsxXSxlPW5bMF0sdT1uWzFdO3JldHVybiBNYXRoLmFicyhyLWUpPD1WLkVQU0lMT04q
TWF0aC5tYXgoMSxNYXRoLmFicyhyKSxNYXRoLmFicyhlKSkmJk1hdGguYWJzKGEtdSk8PVYuRVBT
SUxPTipNYXRoLm1heCgxLE1hdGguYWJzKGEpLE1hdGguYWJzKHUpKX1PYmplY3QuZGVmaW5lUHJv
cGVydHkobiwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksbi5mb3JFYWNoPW4uc3FyTGVuPW4uc3Fy
RGlzdD1uLmRpc3Q9bi5kaXY9bi5tdWw9bi5zdWI9bi5sZW49dm9pZCAwLG4uY3JlYXRlPWEsbi5j
bG9uZT1lLG4uZnJvbVZhbHVlcz11LG4uY29weT1vLG4uc2V0PWksbi5hZGQ9cyxuLnN1YnRyYWN0
PWMsbi5tdWx0aXBseT1mLG4uZGl2aWRlPU0sbi5jZWlsPWgsbi5mbG9vcj1sLG4ubWluPXYsbi5t
YXg9ZCxuLnJvdW5kPWIsbi5zY2FsZT1tLG4uc2NhbGVBbmRBZGQ9cCxuLmRpc3RhbmNlPVAsbi5z
cXVhcmVkRGlzdGFuY2U9RSxuLmxlbmd0aD1PLG4uc3F1YXJlZExlbmd0aD14LG4ubmVnYXRlPUEs
bi5pbnZlcnNlPXEsbi5ub3JtYWxpemU9eSxuLmRvdD13LG4uY3Jvc3M9UixuLmxlcnA9TCxuLnJh
bmRvbT1TLG4udHJhbnNmb3JtTWF0Mj1fLG4udHJhbnNmb3JtTWF0MmQ9SSxuLnRyYW5zZm9ybU1h
dDM9TixuLnRyYW5zZm9ybU1hdDQ9WSxuLnN0cj1nLG4uZXhhY3RFcXVhbHM9VCxuLmVxdWFscz1q
O3ZhciBEPXIoMCksVj1mdW5jdGlvbih0KXtpZih0JiZ0Ll9fZXNNb2R1bGUpcmV0dXJuIHQ7dmFy
IG49e307aWYobnVsbCE9dClmb3IodmFyIHIgaW4gdClPYmplY3QucHJvdG90eXBlLmhhc093blBy
b3BlcnR5LmNhbGwodCxyKSYmKG5bcl09dFtyXSk7cmV0dXJuIG4uZGVmYXVsdD10LG59KEQpO24u
bGVuPU8sbi5zdWI9YyxuLm11bD1mLG4uZGl2PU0sbi5kaXN0PVAsbi5zcXJEaXN0PUUsbi5zcXJM
ZW49eCxuLmZvckVhY2g9ZnVuY3Rpb24oKXt2YXIgdD1hKCk7cmV0dXJuIGZ1bmN0aW9uKG4scixh
LGUsdSxvKXt2YXIgaT12b2lkIDAscz12b2lkIDA7Zm9yKHJ8fChyPTIpLGF8fChhPTApLHM9ZT9N
YXRoLm1pbihlKnIrYSxuLmxlbmd0aCk6bi5sZW5ndGgsaT1hO2k8cztpKz1yKXRbMF09bltpXSx0
WzFdPW5baSsxXSx1KHQsdCxvKSxuW2ldPXRbMF0sbltpKzFdPXRbMV07cmV0dXJuIG59fSgpfV0p
fSk7ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvV2Vic2l0ZXMvd2Vi
a2l0Lm9yZy9kZW1vcy93ZWJncHUvaGVsbG8uaHRtbCBiL1dlYnNpdGVzL3dlYmtpdC5vcmcvZGVt
b3Mvd2ViZ3B1L2hlbGxvLmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDJlMGQx
ZDg0ZTVlMGI2YWE4MzcxNGVkNzM3OGQ3ZTZhODA2NTA0MTcuLjAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvV2Vic2l0ZXMvd2Via2l0Lm9yZy9kZW1vcy93ZWJn
cHUvaGVsbG8uaHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDU4ICswLDAgQEAKLTwhRE9DVFlQRSBo
dG1sPgotPGh0bWw+Ci08aGVhZD4KLTxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0
aD02MDAiPgotPG1ldGEgaHR0cC1lcXVpdj0iQ29udGVudC10eXBlIiBjb250ZW50PSJ0ZXh0L2h0
bWw7IGNoYXJzZXQ9dXRmLTgiPgotPHRpdGxlPldlYkdQVSBIZWxsbyBXb3JsZCBkZW1vPC90aXRs
ZT4KLTxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0ic2hhcmVkLmNzcyI+Ci08bGluayByZWw9
InN0eWxlc2hlZXQiIGhyZWY9Imh0dHBzOi8vd2Via2l0Lm9yZy93cC1jb250ZW50L3RoZW1lcy93
ZWJraXQvc3R5bGUuY3NzIj4KLTxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iaHR0cHM6Ly93
d3cuYXBwbGUuY29tL3dzcy9mb250cz9mYW1pbHk9TXlyaWFkK1NldCtQcm8mYW1wO3Y9MSI+Ci08
c2NyaXB0IHNyYz0ic2hhcmVkLmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSJoZWxsby5qcyI+
PC9zY3JpcHQ+Ci08c2NyaXB0IGlkPSJsaWJyYXJ5IiB0eXBlPSJ4LXNoYWRlci94LW1ldGFsIj4K
LSNpbmNsdWRlIDxtZXRhbF9zdGRsaWI+Ci0KLXVzaW5nIG5hbWVzcGFjZSBtZXRhbDsKLQotc3Ry
dWN0IFZlcnRleAotewotICAgIGZsb2F0NCBwb3NpdGlvbiBbW3Bvc2l0aW9uXV07Ci19OwotCi12
ZXJ0ZXggVmVydGV4IHZlcnRleF9tYWluKHVpbnQgdmlkIFtbdmVydGV4X2lkXV0pCi17Ci0gICAg
VmVydGV4IHY7Ci0gICAgc3dpdGNoICh2aWQpIHsKLSAgICBjYXNlIDA6Ci0gICAgICAgIHYucG9z
aXRpb24gPSBmbG9hdDQoLS43NSwgLS43NSwgMCwgMSk7Ci0gICAgICAgIGJyZWFrOwotICAgIGNh
c2UgMToKLSAgICAgICAgdi5wb3NpdGlvbiA9IGZsb2F0NCguNzUsIC0uNzUsIDAsIDEpOwotICAg
ICAgICBicmVhazsKLSAgICBjYXNlIDI6Ci0gICAgICAgIHYucG9zaXRpb24gPSBmbG9hdDQoMCwg
Ljc1LCAwLCAxKTsKLSAgICAgICAgYnJlYWs7Ci0gICAgZGVmYXVsdDoKLSAgICAgICAgdi5wb3Np
dGlvbiA9IGZsb2F0NCgwLCAwLCAwLCAxKTsKLSAgICB9Ci0gICAgcmV0dXJuIHY7Ci19Ci0KLWZy
YWdtZW50IGZsb2F0NCBmcmFnbWVudF9tYWluKFZlcnRleCB2ZXJ0ZXhJbiBbW3N0YWdlX2luXV0p
Ci17Ci0gICAgcmV0dXJuIGZsb2F0NCgxLjAsIDAuMCwgMC4wLCAxLjApOwotfQotPC9zY3JpcHQ+
Ci08L2hlYWQ+Ci08Ym9keT4KLTxjYW52YXM+PC9jYW52YXM+Ci08ZGl2IGlkPSJlcnJvciI+Ci0g
ICAgPGgyPldlYkdQVSBub3QgYXZhaWxhYmxlPC9oMj4KLSAgICA8cD4KLSAgICAgICAgTWFrZSBz
dXJlIHlvdSBhcmUgb24gYSBzeXN0ZW0gd2l0aCBXZWJHUFUgZW5hYmxlZC4gSW4KLSAgICAgICAg
U2FmYXJpLCBmaXJzdCBtYWtlIHN1cmUgdGhlIERldmVsb3BlciBNZW51IGlzIHZpc2libGUgKFBy
ZWZlcmVuY2VzIOKGkgotICAgICAgICBBZHZhbmNlZCksIHRoZW4gRGV2ZWxvcCDihpIgRXhwZXJp
bWVudGFsIEZlYXR1cmVzIOKGkiBFbmFibGUgV2ViR1BVLgotICAgIDwvcD4KLTwvZGl2PgotPC9i
b2R5PgotPC9odG1sPgpkaWZmIC0tZ2l0IGEvV2Vic2l0ZXMvd2Via2l0Lm9yZy9kZW1vcy93ZWJn
cHUvaGVsbG8uanBnIGIvV2Vic2l0ZXMvd2Via2l0Lm9yZy9kZW1vcy93ZWJncHUvaGVsbG8uanBn
CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA4NzEwMDM5ZGE3ZjI4ZjYzNjk5MmQzYmJl
YWI5Zjc0ZjUxMDUyZjM2Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
CkdJVCBiaW5hcnkgcGF0Y2gKbGl0ZXJhbCAwCkhjbVY/ZDAwMDAxCgpsaXRlcmFsIDM4NjMzCnpj
bWVGWjF6MjI1d2ckUXpjaF45MGNNVDIhZihIb2hHIUJpc1RPZmYxY00+MldjPD07d210WX15YUVG
aXQ0WCRzSwp6blJEajhgYHRUcD1GQjxzelZGP3NYN15yUXlRO2NZKXY4KSt7azU4IyZvQGZ8ai1z
ckJFQzdLM2ZJUnBEWmtCPEUKekdUdHlOMDhteTJTTzVTKDBwSzhiMDZhKVJ6IXdrPjB9eWBGMEtm
cD0wUlpqfCslR3hzJik+bFJqbE8rJnZ5NGhACno8TD5TKCUqcEJLIyRqc1ZXTTtgPj8mUUdmWlIq
VSkmQjRWOWgpUUBubzB7OE14PksyMVRFaVUwWG0lVDBYe2NacAp6VmwrRFolM1I5TSh2fihiZDAk
c2M0UE87YWI2LTFpQXF5R19hVmstN1ZRJlgjMlRPTlREc0ttU00+azxfRmBBIV4KejN4bzcrSFlX
fCQmbSEpMlZsPXdTa0VvPWJUckh7aUlydW9aWHUjVTg3Rk5SUTRgbHlaN3lLa2ZeVmQjI2Qza1lv
CnpAcDNyMVQ2MXk+Mj89cD5Ab0A2K3UhQU1vLUZ6SX5PfSpKMi1EclBsO2VuLV94aHVAczlwPmFu
Yj0jdDtuVWphUgp6NyEzXzRfemokWXtmYi1pKlM/QlZ7VWBscjFwWUd1e34zWSpqS0ZfSjs2RWVx
ZXtUZi1YNjt4eWYrbWdeWHYrWE0Keitrb0lCOHoqLXNIeWJCc0RxYXBRS3V9NlM4UjZFKjBARntM
e3dJa3VlbTgxNTdOfGhqM1B5ZUx7WnVPT1dgKlJsCnpnMHdYQmstRG1eIWI2IyNIWE8rWlEpZyM7
STItX1FhQ0NRN215QEU+KXpoYSFVSXRBIUprWFM1MTJ8MzEtSkImSwp6SiRpV0M8fWRmMz9mPzNB
SmI3I0EwbCptaFpDayUpfDI2e0cweUsrMlRrI1FDK3wwdHcreVNKa3otIVJsKzBgOFkKejtEZjxA
U30lOSFUUkluezMwJVByZl5eKzJaVCVOfEBSbTBGMyUmSFNqSGJGWVNtcUc0TWxub0hVOUFCQzFJ
en1mCnpKazcxYWJ9KjtfMDE0MDAwX0YkK2N6aHImWmY7fDAwUlNaNkdsMCMoIVJlTk0xSlg9cHxE
XyU0fDNhSVpuKkd8UQp6c2oybV5ean4tWllsMl89ME9zYXdafGR7JiF5b3pQVkRBQnIqVXYtKXpH
Sys5JUJ6RVNJJmpTMStCcXJ4Tjt7Z1YKenNRIWA8MTNDSkl3KCplSGBoXy1rbExwN35GTGY8VUEx
TTdvZClSNDd7ejk5Jmc0QUVqen15dXlmMXpFUylQSFQ/CnooTyVfTks3UkpXIyF9JXwrUnt4JTxD
bENabjVARHR3NkJlKCZNJmtsT2szcF8rUmFZbSpGTn4jTmRLRGU+WUBIPwp6cFJIVkZmOTI3XjRY
cFhzPz0/NjUranFJIVhvOVpFVTsxT3xydSVEdUVHIT8ke0Y/OG1ePXNkcC1LQm5RKTdrIX4KenRw
RFcyKHE4VkBkXmI7eFUrY1FOWVd8dlVZcFFyRnlGYmYyeUZkRE1lMU0wNTREYk07MDtCO0w7MFJh
KDR1QzI2Cno9PmhvMzRSOGtSIUIwTiFtZnA4QTJTX19QYD8kaWFaUVE5TyE0K2dsclFtNEohQTha
eSNWcjU7eDlqbj8zO19JNAp6fEdDWn1NOGtpfWF7PW9NM3hRdE10SDAlJHZJME5AOEBNRCZ7KzM1
fjQqPH45MGliYyErezR4TEZZT2BSLVZneWEKejAyPzN4TkM2NmY3R01JezBVcUVVQU9oUzZkIz96
bjAtQXN4VTx7WjhIZW1sPDBXWktHY25wTEFrdzZAZjQ1Ul4+CnpLbzBPMEM8UThqVEEmR04yWVBA
MzsxZShiJW1QY21JYDlxSDFDRF9VMm4yISohR3ojTE5Ga0lFZEkmM28yTzxhJgp6aHNaITRMZXdG
ODVFRjxzIzFZfkZAclEmJEF8Vk5vRylOWXQ1Yl8+VTR7Mys9S31JMGNrWSZnZzxOJElHMk0+bjwK
ek0qdyNoanNjRG5QN3FFS1A2PHZFJklyeUwmSVFnRj9nP0JCK3pZc0R4RHZQO3hPVFYheEN5dT14
Tm1TckBCbG5JCnpKUHx4S0pVaEd+eWZuTmp5Z3N9WXllb1ZsZDwxKzdkXlVVO2Q7QCRoezIyVGF7
Q0RePjFTQUF9MVMka30xUTcmegp6MVQ2JH0xUSYhcmdlWmhHZ3RySmEyd2V6YzIrSWgyMi1rPzFo
fiRXQGh7QXtwaGBOWkBoK2M/Y2gkKUVxaH1EU1EKemghY3FHaHtzNHNOSkwxQ05DSFVtTlAwLU5O
UGI5Qk5VeEJ9az1sPyhrWERoN2tkY3V8a3koKyZrWDRhUWs9PkVRCnprWTZIfkFoI2xxQkNqSyNx
TSlOdHFWUy18cVVmVklxSipITnBjSjlCcHAycXlxRmtXanB3Z29YcXBHND5wISVUMwp6cVVOR0Rw
Ym4kMXFoNnJscUF7WTBwPXFNb3FDR30/Zm1WanJqVyZuJjEwNVptMjMtaFU0SVBGYWpRI0BzOXJf
M0sKelclTSUpSlBafkxYJChVUTR+IVUkMCpwM3tYXmJEM24zeFFoX2M4U2AtNyNZQDNvJHp9N2Nm
dDtAVWJ8czZ0RkM/CnpnMFJ4RFlPcUdKY0NiO2c+OUhsVGpqP15QUT9NKHNocTFyb3B5RHYjTmFM
OHwxbWRMUSlaPEx5OU8yXlFhXnRHdgp6SV5hZyg3VUF+Y2UhKVk9VzVBUWF2JXFfVG14SUBkd343
eXNQbTM+Jlo7bF58cE5ycCh6Zk9RZXoofUEjVWByNTUKelApaEtUVjI9PXdrZElLQygzPiF3dSRn
ZCkyJWQ8Nk5QKTxuRDMrKiNYcC1vaF8lNSp8dV9mX3k7eGdoPDt1OGB3CnpsS1VpPEJvUVIjQm9p
ZChxKlNDYnE7e243cV93MjtjTSRIZCspPXlaYj81Yis/bU9TZjIqXmFwJSppNmlEIyZLWQp6O21C
RlkpeWUoSGJJMXFEa00yXzNtQW1WRl92UEtyeVdjNUBEREczKFFZMkJkUDs2MStRO0ppPEQzZDUj
RFpmJD8KelFifChUUUB4PC1xU35WLXI8U01vcHc2UUhOUFIpV05UV3ApTFFfc05QbTR3P05OWXUj
TUI3MlRNQExEZ095XkhtCnpPZ0JUMU4tcyFuTCFWMERPTWsrXiRlX2F6JlFRem5nXmAzJmZ6Zyst
bX5vQj9sU3pXZmcoO2g5b0VlRShrbEJ2Owp6NzRzKCtJMkx7dTg8dXBJVk9CV1NkI29fbFNGOXMh
aC1eWV5qJT9YJVF8dVYqbEkpKUIjcTclKkw+dnp9TE81elUKemJ+eCFjXipRND9kcFdQVV9fXiU0
YT1CKT9Ad2dTYUwlMThiNHxySTMlejRzeiMoNlAkV3FFXm0+djtHMVNvdGpaCnpVaHtxQyRMQ2so
NTlqYVR6cSUpSSYtR3J9eSk2TWMwVFkxP2Zoaj0oIUFGOG9mKip0c2dgfFhuZ3Fub1RnenBLdgp6
M3MoczVpbTsyPWk0PSleNW9IdiQ2d01WfjZ7OFV8NzBWSl41fm1WMzVxfjRUQnRiMTxEdj5SKmEt
YTZUI3JeI0kKem8wODB1d3ZyezFKNXBSeXUyUilmQyhePncwbiUqYDsyKzM2aDxOWigyMlZ5eUNR
VzhSbVBYY0V3cGV5Z2okaDdDCnp1MXl8TVVQKFMpZW9FbzRnMUpKVyFrKGdsVnRgX281ezhuN1Fr
djRyTHphaUc0O3olPmxvZ2N8bUZIQ0dSVUIxbgp6UlJMODYpa018I01+c2hMOXlPe1ZzWGJDbFNL
Q25NUmAqeCQpeGcoKVk3fVc0WWY1UnhZUittZ1g/YlhNWGslKnwKelk4UHNzPXNlSSMme0AqdSlE
NiViKDdVNHQpMnFgKio0TmgwKkZRM2xGLVNJOEh7PkBBR25fUEhIMWFtO0dyblZOCnpaYD0mVWhN
R2J2TyVQM1ZPb35oe087dF5eT14/aEolcmVhTyUlI20hJkEoYVB3QDkrc3ZKfHNTdS12b352cjRl
fgp6Vmw4SCFYdVZ9NFZVdUY+OVZRSitnWURiTytoKkZIKnMwblQqeGxJYypxMXc/SUc4eHBKS3tP
b0lkKFp3SUMocGIKeklJfXYzSVdNXmd5Q2wycHhobEVseUZ1S0gtMEl2M0sqTUx5Z1VSRW0kRmly
bVhTKE85bSRwfT5IP0ZzJV9uOzRwCnomdlR6bVVzPk5nS0xrSD56WWMkRHxIdUJ6MGc/ZShmc2pE
Nno+WGw9cGVJND0hRShXR0FFUTBDZHBzMXY2X09CZwp6N14pTjZAWnwyMzszdW4zPCg/TFlWVEhN
ZE9AKWh1WEZmeEMyN0M3TElxJm5BJiN4bWFCS2prX0IyeXdTcXMqaUYKenFxKERCTUJsXyUjZTlz
dDd5Q0w2RGI2dSZHRn5HN1ozMXFCWl5DTSNhJC0jcVJaPkxLVktPd2lGTkg1OUdaaWg+CnpCWCNN
OyF4d2NnPjBaWFl5aUJ1Nm5ART5SRlY3JiljJUVfYyVIcX1OPi0oP0VHVmYrYVd9ZCUrejRARmFt
c09MXgp6a2UhbClsO2ZHUmsqbDVDbjx0bzhuMTNmZkdYSlc7djAmK35gckVFVGZ4Xk5mQH1rJmN4
TUdqdXRyRWtNUG8pbl4Kej4mbj42dmRXM2RCaXtrPEpsPWhNWn1OViFMYUN5b1FuMGVEaW9Qbk44
b3hUQzIyJGZ3dnNZX1Z5SHV4RkgmVS15CnotX2FuX1B+RkpVU2tPZT5sLV45KDlOVTd7QH0lWGEp
d2xKaSZBSUoreUxKMCYyZWYwaFFAMy14T1JlaTt3Xkh8cQp6OUAoREdVZGk2cDRgTHNoYGhAJUhg
dnY9SjJrczVqNER0X0Y1QWhGR2Y0dWp4Vz57ZGo/dnYxYGg3citgbVFqaCgKel9PUzxKSj52QEYw
fjBDfUJhPlFfcFFqOWBtT2ZqMnt4V1NweSs3a1FiMUBxe2hkMzg4azI5YUxLKSNUQCRoPXMtCnpi
WkBEN2BOOHR3aXBJKzlzYD1gLUhNaDBQXihQeWM4ITROVm59dUleekJGeWdaaGlWe0BPQXkwXlM2
dWRWY1dSZAp6ODlQaW5SbEUwaDJsc1VNKjdzZmFad3toPGtwM3QqPFU4eSpkVVVqSz5+TVQ+NV4r
ajtgdTBybHRvS34hZURsS1YKejY4WkFRNzR1Y1l3YkokNmpsPDIydiNHMTtQZ34jP3U3JEcjTEVN
N14wS243KDBRXnE/ZlFJIUtkLS1QeCg0MjtWCnpXazZhUiFVNmRQX1heJF5mZio0UWFVVz81Yz94
OV9iczZtaDB9K3p9Tzl8VEA9TUMtQEswMUxvcClYTjZAZ156RAp6OWFGTVlAP2k9QE5gNUwhPktL
e3wrRUtiNDF+Xjc2Q1R3UE9hT1hRPy1EWD42QUxIb2N0bWV3KWpeaGQ3d2RLPzEKenpraVFLMEFK
dXphOXdDbnhKbzJMRypyeDFUd094XktBUiteNnA9S30xNV9DVm5KZHs3eGpwJFczUUxOZ2x8RFl+
CnpSJkcrTVI0c2l9cSprYjJxKjFDX3VKdkJLUW0wYjRPMFA9NCh4QWZkeS1+U3dJa2R2MCZhflpa
KDB0bHIhfThHVAp6I3MoY21XSl9ibVlSflQ9O2kleEc8IXRIVjxyP2psQDgwVjEqPm0zOylyWlBn
eikhe0JKaXQzSkF9QlRaJkV1PykKeiUrTUU0VnhOWUVgR3ZiWXZ3RSV7cCVOKD4jVUlUU0xtckQ0
aGFRaWJmUyFueE0zUExNIWtXdFdMaFBrWG5zVH5VCnpoUVRaSSpMSW9pWi1UU3B2YUBva2JObGxh
XkFGI202cHxObDdFNl9BbTBGajFtcF4tI0A7PHd3eFUjYVVwfU11RQp6eVNBQHhzRDdranFWYVJu
WjFaQnZUSTt2QXFZbjVeIVktejYoVmo9Vzx7IU5KQktrODEkX0x3ck1te2JMWit8KSgKeklVbF9v
eUJJJjZJR1dzXys2Slg8YiFLN3FeVzVuQyg4N25zP3htalB7Kn0/eWBMKFV9cWZOKmNqNGhJe3dC
STxzCnozdkVtOURDe2NqSj1vX3RBVS0odyhSPXZ2JG5JRzUxblhxK3dFUWdpVDx3RFRWKmolSkQq
b0UhaFVAMCR8MjYqewp6aCpYRl8hMUAxKnZWeXZnailwO3hEVDhIJDlnRVh9YHZhZXkwODAzaFhx
KkktUlFiK1J2TnJOIzNSWCVlUlRPbTwKeiVfUXcxSnZJWTVCTGZwUEdZSmJpJVBIIyQrZWh7V2p2
VVM/RT5DVX45dEI9NUs0UUtyezxWQWswX0IyOUxjWVNyCnpCMnVDWlZrbHpZIzc4OVI/Jm5DeE9O
Ql4jSitQTkNsaHV8fWt7NEl0Ui17IVRlMkR6O1JRYXBRb2EpRzw0ezlDaQp6RWdGclFiejBUaD97
dGNGXll5YXkoK3JYZnFtOUNpTCFkej5MOGMqUTUkMV4mOEl9Y0JAMnUtPStGJjFTaHdVY3AKej1O
IzQ/emROMH1BaHtCfHZBSWltPXoyUE9nP2d2QGw9IXkjanJ5K3o5MGtEenFkbXE3ITNhZVB5PyUx
fGJTckU9CnplQkBkOF5TWCVRJGskUEUoSUdLanU/fSg4QHp4MnBpTE9iJCQpUEVjc2ZqUHJVdUxI
anJvWVJtZSUxODRCWGkpKgp6V1kke3RRNyUjKk5qXih+PXYkUlNYcHdWcWE3a1MwbzNpcnE9NkMo
P0NuXj56emZ8cDJwVnIqZUE9UDZ4NUgjTHQKenFIMVBuVlFifVc2S2h4TyhDZjdDM2hHWW1EZD10
WkZ4MG95ZT12d0pNRCZxaW5FI1gxJGlxPk1GYGFTITNCeVVfCnpEZD1hRFhfRmIjUzxeWXdkRDh7
Y01lYCtfVyM8K0QpcmhzVV8yUH1qJkF+NzhUaWFoUnpoaTlRKjxza18qeUclMQp6MVNSMCskTVJ3
TyhWT0dJNlQ/JkNHbV45OF5SYkl9bShmP1kqUm5VWHw4NCZOX3gxa35BQntraSY8JE13eVdzamEK
ekNyYytFckAqOFhyTHY8PXJEPnNFcH1TX2xXdSNfZVZQPEF3V1RqQGkhO1pzJiRfYTQoO00oTj0l
PTNZX2hBKkUjCnpgQ2gxaWk9ZEhebENYZFh0dGdpMHNvMUxjQ3lCUUVtNkM2ei1ia2xFTlMyOV80
Vk1kK19mfkxMdntve0hzSHY9PQp6QkNkTXg1dkxsbkkpZXRDQ1hFKWdIbCtAXkV+eUBvS0FyKUZB
K2l5fj0qc3ZFZFNZXkZkU01Qe2ZudGVtTVB5QkcKekxrKGxGV3dHUDU9VypiNzZtcFZxbVVCXmFn
fU9QcjJZYllPV19pOCRadTElVG8lajNaZTtOb0VnY2drUDcmUWF9CnpZU0ZiUDw0LSVuJUVNbmhp
K0p1NFZIJjklQl5YVGBnQl4xZnlCKVVAS2JQPTFhVnFJXkBeczRRKVh5KWJVUVZXcwp6cjtsWmZ5
YyZLemw9PDxeTlktVGJKZ0RqUl4zRHFvLWVNTEs3RXUmNGx5SD50bD9qKGl5cHcrYXBoQmtkTDZ1
YlgKentUaWBhO1d+a08tVWlNXykrVUIjbmloJnl2TnAxSWlWbkk/X0FZXkxzVUdFQ29leVN4X1do
bSVMNChoUjt5PUNeCnplKkd6SEJ6eUdEU2pLcWpNRXFwcilSV0h2KF9TLTl2bz49a15MaCYhaTt0
R25tVVVMbFIkYk9ZKXt7NWhaWj5geQp6K0ZKVTBARXV7QlYyNXMoWEhSVlohR1lgIyorYzBnaURR
d0lkI0J1SXRtaDBEUkZ8WXpffTc+Pk5Wb0k8N3VAN2wKekNtP303V2lGXkV3ODg9NFZMU2w1NzZI
JXImX0dCNjNqaUtyMClWQ3YwNEVnLSExM3x8YTlsYVI+SkpFYjxjQTkyCnowMy1sNHp6UFV9ezs/
VlcxKVA4Jig1Szc+cykwVVc5ezIlNGdIU18rQSh7eztOQ2N6KyhnUnRDTHhOKzFka0ZlXgp6RkZe
bjlKM0p9OEppSVNfSXM2dntJP3orZ01maWZxMHMzTWNOWjNkd05SYE1hJFJAfipDP3FKfUNeTSlN
czBFOygKejZvfEhzNG4tZnFjent1aCQlNlNCaXg0WHM4d0w5KjRrQXVDRShVSFEtZCgmeGQ7JERr
MHYmPSlMTFZZQHFCcTA+CnojR2dwKU56cTcpQDJLMjRCK0RSfEJtWiZ0NFRVbnJJYntLcjdCd1B1
NFVIYD1IU0cqdEdRQnpqS0VuaUs4an1lIwp6Qmw5KihDOTRtYzFVbk1ARmhARzQ0Vk5He0lgPCte
NFIwS3VKXiNhZEpPVUpnXyhFOTFJM21RTilNQXxDNSl2QnMKelo2JSpiV2w2VWBTZH5TVlcwNi08
ZkdJdnpkaEBWUmBMb0smQlRfWG5ieFZ5eyV8QCtucGUoRUVoM0hvcXRRISMtCnolUjs/T2ljT2N5
Tmk4JWk8RT0oKUBMe15QWnx1SDFoJmFZTFpNdyp+N1B3PTJjekxkUVl4P3kxaVRUJEFAJnZ0bQp6
JXBGcWtnIWskRGFRMHtVNWZxVXhxVlokbTw4YjRYNjdNOHNyPzk2c3pFbjxJJT9OcjtvQjFqMFhe
dnpiZTE2fkMKemdkJTdPUn5kWnklPUBhIV8tZEQwd1IpfmJecm5AVD5iOV5CLTdkQnN4WmNebW50
fGpZJnRkJSRzV0drenJZVzlqCnp0PVNqejdmWVRpbStScVFoYCpMPiVrSGluZ2RjSTklJD4odkpA
fm5RezQpUTxLajs0KklSQjQ4Z3V3dl8wQWhlUQp6S3FaSkYlbVJCTFZuNntBZklOY09MQmIkOEFR
Rz95Mlo1dTdsWkNUYE9NcSpIK2tuVDFteEF8ekZNP2t+cGhocjcKeiRWMiMhJGNHcSZJRH5XOyRx
QV9vbkg8PkBjP3xUV2xUZ2wzTztHI00xa20hKU56dFAqOzR5cUxfQXowWSVVQXxqCnpRYHArclEj
Yn1WRTRYJkpDd05jc2lTUD52IzBrYS1WVDNuQ3NsP3BHTCpWUlZreWhOJUM0KGE/QlI5TkBkQUY2
cQp6bTZEJEZHZ1NuJjgxKF9vVFV0fVB5TDdZaz0/dW48YmQyQWFzK29nWDk8bWEldUNrU31gKjZy
fDVeJTBfKXA1dTAKelNufVRJQmo+eHxwVEV9JD5hIzROR35zbFNZfCUyWVdeZ34teFBLIT5DTjJF
SFEwQjMwcTE9ZjRuSWVVZiM2emZaCnpmWFhZP21QYWU8czJWKCkjIysoWkVqbUIrbkR4eUooaGJM
cShWJnRoLWxwJSh6RjlDP1QzWiFiWl5RVSgxTVRgOQp6TkZEOCorRlZGb0o+OH19TF9Lcjh2MyZ4
M2NsPUVRSl9vNDw0fjBBbzllVm1HWjFrRD5eTn5vRXNRd3VGKnhxPUIKemdwV3lEJHFUNz1GVjU0
VkdOQGxRWDZuN1UmTXdZMSZMPUp5RkhBMWhGUXFRfns7c3x2cVJQMDJ1TVY/KnYkM0B+CnpzbnhR
YnVNX0FSPmRFLXYoMF9sQmN4WjJVYUhNIUZYMk5zSWRmSXh7Y2ZNZnArbHU1YF85b2h2JEc3enp7
a19wMgp6c3o7d3J3YSp1P0sjTFJISGghN158OSQ7MHs5T011S2k5d0cmLUxGOHU3NTswTWlCOUZo
RChLT2g1SEkoSXhfSEgKekBXdD5lMnpMP21MNXlZJmtzM3J9LVhVSGhESSVwSz9JT3p7elhBfnpF
dEcwaFZwTTxCUld4T14yNlFJJDdaQG1ACnoxYm9NWVZ2YmB5I09sRzghZndaciFzKT8laCZ6RjJp
bm9nJk5QdER+aExER19oc2NvVmtUe2x2amJ4RDJAZWNsLQp6TWx3cnNKbzJgPyZKPEo+cEN9KHdA
bGI3MHJfKlRBViRseEpNYmF4WDs0KH16Vy1+YzMzJFktd2pJaDM5Z1J1KjYKekFhaEp9bVReN2hI
cyVyTENGTVFtVGoxfSNTMW5MMV8qU1MpeEtVKEtiWG58Tmc2S1pLcV4/dztiaXNvJFMkSHtLCnpk
MkB3MCNSakRuV21GWXpSc0JjZFlQSVRIbmlOXygrNmcrSl5sPGJ3M3tuZ344e2RIJW19SG5QbkEy
TD1UMkAmQAp6WSN6YX5aQk9ofjlnM2FNb0U9O3krQCN6cUpRPTstXz5sWGlgOyFNYDJlQVpLaGUo
SHhLZVkrRmQ9P2kkOXItUj0KekVUJTZgSkFOYjRJfmdNLV9sNVkmKj50fkc2dEJEOUlBdjRqT3ko
c1E9b2l1IzloSDEyJVk1ZmtwO0lNTExza2JACnp8R2phbHh4S1paSioqU2omRHsoNkBUdmRKcHpC
QXVQbjA4UFcwTW0jUSkkeldYQzNGdzdOTmA1dDNLPEFvMFZJaQp6elhMbjBkLT99YWhhSlprWDk1
P1ZTTXw1Xj9gRmx6YkVgYzcyITwzMEtRNyRkYH5VKyhrUGBzbEQqb28/Qkt6aiUKekRoRzVuPF5a
NzB7eDRZa1pEQXhGMDd6Z1UhYndJTkN+diNYXzx5Q0ZIVUpqfHt5RiU5JjtXM181T2BlM08mMzUz
CnplZ2A1NUs3IzMmKGh4WCExVmtpYzZqVV5IdXN9NXE3Xj95ZzR+R0RjaDxKTnwwdG89MDB8Plo/
Yyt9aklOY2RgfAp6JFRUaGxKZGZrRVAtdnl6dy1jKDU/OXVVPnhyVSZrNWZQSistbDFuO1dNWEZG
PEcmeyRDP3FXWEt0QChoVU9gYnEKelElaFMxZ2s4LW9FVW0wPFY3Nn1WOS1keV9LRTl6KG9gIWAj
ZG1mUkhuM1NCN2ByPjY7YzF+X3llITwocXFLZTlACno+WUNjUmBpNzNxdUlgQFI0fUpaa1c4KUso
UT1nfTJtUkRCUyk7Qmk0WTw9QjdfO0dsMmR+JGtyZSM7akcpVE9fcQp6eml7XjdfYChKR2Y8cilu
TT9rKmkzaipmX1VodWRHaH03SWpjIz4rIXJZYHQySmRhVGJxfmYjUXgxLVlYc196aysKenhzSVJf
KGVXK1FAODdjYWxlNkUoU2pnfDw+e3JKQSNAOCZVMjtoRHVjc092RDtOaWlVTEk0eCFXOE5sRXJU
PEpRCnplQCRwVjY5eyNwcWt8fnNVKCpmUDJuMXtjdGMoUXlWV0p8VntfXk96LSo0dFkxNFphJjJF
WUo0VU5+SE1UdEVVaQp6aWVTb2EmQkk+aiU4cDxIeyhwU0ktK2NQTiF8S1RZOWFjeUdAMzE9ZHt8
JjF4UntPUXhlcGVFYFQpbGFpJE5GcCkKeih0TzRpJnVVZkwqc14telBiPihkbDEpZzYmS3w/SCM4
byFjajxZU2JSdEU4KXpaa1gyTH52OTlFQ3MxPjw5dTxgCnomaW9ASUQ9dWU9cFNMZzVgPX0qbld+
U31iQ3FuNnRaRXR8YCk1eFYlZH1uUnRxfEtLVDlRd05Ge2A8U2dlczVMSgp6RVZrLTJEe0gkfV9v
Wk5aKiU3UT91fEwyP0Z1blBBVUQhOXt8TXV9TjdkP0hzaW5KRlZ1SjAkSEhTUmR1U0I9MngKekFa
RHpiOH0tRWEpUCgja1JqQVNCbjZ2eyVEbHMwTCtKbjZMeHU7ck1xLTxTIzBDfEdsR1c3MGdYX05V
MWJHNDt4CnolKUZMcVA0d31PeWF0YClqQnE4OThJTWFOREhZbn5hNW8ze2IhWSE4VlozVkorOS16
eHM0Ykt8SFFuZ3RtRUVFRQp6OXtjSWo5YDBAe3pUTVFOR2gzfCY3MmYwPHopUGx9UllaOX13d3sq
bWAjUlp2XjxqRDI0TTQmZCRyeEp4PmklPG0KekpNeVJNbDRoZzU4Nm15dyY5Yjh8dCY5TlZobjhN
dFF7Qzd1Nih8UUJlbFReTE9rbXNsMTFKWmZBO1AjMypWOz9oCnpecmk3dU5rN25aVUAtZDI1eD8+
WXBXTllOaUMjKzdKITR3dUstTXI5JiMzaVhePm0kTTVBIzVVdlN2ZHwyU2EtTAp6QGhqciZgY35B
X3dCaGFzQDtlaTBYTXRBUXg9UDQ0ZEQzQjBhdk1BbDdSazFjdGh3Ym9nQV9iNTk4YjZmZWNZc0EK
emQ9fntwNX1WUnVlY2FSYyUlUk1LVE1ac3hgWDZOJj88WDBoamMhZXNqPV5AKUMxblY3NnhJPDUp
YjlUfkYzT3ZVCnpmM3I7V08/Zm1AVnI+eCVQditfeCUpR1Z3LTFzN2VUMShUbjUoaTExe05SMmMk
cU1VT21aRGElZi1KWGsmOVE+Kgp6PzFCOURmYXsjTFg9R2stK241S2RSKzFAN3gzUExzbnAlWEJm
ZGdHYjxwKio4KTklQSZBeUlaUzd4NnEmemlgQ2wKem9aOShkQnJmYlV0KXpwJU4wUUpOeENlUEt5
RX47RF4raVV1QykqOHZfNDt5YWFySXd7Pms8Zk0zMXc5WEFiUW84CnorJnp+WEl1YitIKEo2OEls
QWFOPjglSXQ8dmxnLUVeeWxLPEIyVl5hTCFIa01TcnI/dilfdXhyd1k2S1g4V0VDYwp6P2ZsKj1t
c3ZDUEdpQTVqenA2V3kyeU5qR0tzUGkoYG0hO2dvczVJMGQhfER8anJSNyMpaU8yTjw0ZH1DPSVH
ajMKemZsZ0MxbmRxVj5FekVtZ0M3cipZJER8Y3ZqK2lWODNnUHpFck9YLVdZfHczYm4rS3h8OX5P
aWRuaHo2cW8pKzRjCnp2dl9TYzxzM3taMXFlMEoxdG1lTihBJW58c3pqQ2duSis1VzMhVz44RiNH
ZDs2UTVoeVgxMT9TbVopWX0ldlh+awp6eXV0fWVlSm4lcDI9Wl5aa1omZ2N0d0wwdUIrbD5NVWFm
NUNaOUZ0bGE9NC1NQkRmJTY1PURaR0AhM1NwPk5Ab2EKejkyU3o7KUN5JX0pP1JHNWIlVFBJKCsq
KkZnX1BfbmJzR21uOHtxLWdZSkFsYUd1NkF7Jk17XkYhQkltKWBPeUpaCnpWbFAqe21vTF5UQCUh
aXc2dzJFfj9OXlJ1cFNaSHxISntDQilYRT01OXtFO0piMGtRTj9vTUFWYE0qRGxSPmdJKgp6aDFU
Y3pkVkEzQ1ltTDNtWmtVaTFLPFA3YnRKZmRSbWpUIUM1OFVoZXBEV20tMSRBR21IfXB+eHNnIXNL
LUhhQEUKemhOUVdYQ2x4KVImTk50YSZBLWgkRHpzMHskUSM0TXBOTjVeaUxjJW9ESntAdS0jYSRF
O19geUUlVk41ZVU7VXt+CnpvZUYxQkxna15JYC0jZXNaUzJTZ3RGUjR7OXJpVW52dDtSPEVSMiM4
OSNaK0c1RnJIMzxSdUEyUVB9YVV6K1FmIwp6VGZAcE1ydWx9ejsyen0xZ0NANmliMUVXNlNRfHRt
SG40bmBmX1F+byskJntsKEQ/PnsqfHclQXhuS0t2WCRQcEQKemI/Km10VmhuVSV2dnhjOFNkP3V3
YzQmfDAzRTgyUm8jPX18USo2fjEqcUV7LSZmJE9qSkIpTXFvMmhASlNuYkN+CnpFcFJ6dCVOUVli
an5qaDArVHhJVXVjVklGaW0/OWgkK2t2UzZtbU5UZ2hCdmteTSF2VlhZcUBiS29hKGIrNnR3aQp6
WDYmWkQtcDt2ITd7TkBgangrNkt5WipVaDh5VkoqdUM/O3JfYno0enc3b2dJb0pkLXV7T19PT2xJ
IVhfaEt4d3MKel5CQFQmaDR0Sn5LfFBhMUJVRGpiK2Fwa2V3IWJYMWVtM2FoIVRxX3dYSzROZ0Zp
SUt0YTBCRkFWPWMyKUswU0NTCnpmVzNCaiMmdC1PTWM3I0pieH1gWUt8UjMwOS1ONkUhK0JeLSp9
PUNMVXNadGk1OXRZWjQ/bTw/dkR7KUIqWmNNIQp6K0IxP1lvaCtUU0ViYD98bWpZITVyLXs7KVF8
eitpalp4ZXhEIW1CQmBTT099b3BsNihSb2FObF5LekZ7KT5XakAKekJlIU0wVWFpVjt6MU1oQihX
JHpDZV4oNWgpQDx5SClFUihPPXFrTVpuKTc7YUBDSy1TazlSZD5tNzA0VGNeSEkjCnpDTFhAR0lG
e0lzKmdaI29VMWdjSDh7TmpwKnR7dDxHIy17LUMkUylWTEM7cW1lLXJAbkljMHFzTXhaN0d7TWxF
fgp6enQ2ZFg3dG8hc0tOUkVtcnFrOzFQRzVGWmZ7TGhEIzs2TiEoN0F8KnJ3aT9ydzx+U0VfY3tO
LWtuMHgqempgSHYKenJTSkZRdk1tcmxjMHReTlJke15MWkJDYjB3KD9xSEpNTzdoYmkkUj9XK31p
YVAtNVFVbiZIODl6VHtUZHdYajY9CnpLWkV3WT01K309NGx9KDwze1R5OCt3QXw8e3MhMTF0Ml9W
VUwlQSpTTnVuTEcofiM/UWlucVl0Tn1NJih1TT15PQp6I2ktU0h2QG1aTStxJHY9bCNmOy1pNTk4
PFd+XmVAMShLaDNpPCZQVikrTWM2a0olSTNEejBaUmItbSU+cyZKTC0KejJUYn5UaCM2YlUhJilm
Mzg9TyMxQmhVK3lRI3pKWVNqUTJ6eGlmOy01WH5NdypkWlp7Sz97Sz16WiF0ZnllMHVWCnp4VERf
T1JCb0p7Qk8kUyNkZXppUWE4OXxUR3JIVDN4Vig1clZnMnlUXzBzNjtxdn54a3sldk52OCRmKCpP
dT5sNwp6RXYmWGQxezk1NCVLa3JGVklrbEFkO0hLY3JKZTxyK1AkRmcmNTY5VGVFVXdAYlMzMEVP
Uzh4Q2JrTWt6JFlZYnAKei1HWTUqUEFnWTNxc1kzJlh9c0N6cCg8bH4laGZFem5+WlBAMCZ1Z1Q2
Xz5mPl9HciRpTFp7ZmNyfVktMzR+eGN2CnpTfjQ1NGpWbGYjclh+bDxHRGpDPmYpRmZNUlBTaUN1
U3tLRlFCMnNpPzVvYl9TMXNnTGBSU3Ylc19aTUFISHw1fAp6QHF1PFpVcXlmU3s5S0JhbEBNRmtm
cjRtKUVlbGltaWpZRkJTTiNvZXw4VDFaX2ZiZk5LMyRER3hTaHk2e3FKVUgKemZhI3UyNHwpKnt4
I0p7ZSRmdGwrbHJCdFUrWjh4X0Y0ezl4T1VaOzwxdnRBTDFsV0RpcEZhdXJATj0rSlg1bkRoCnp0
PUtpe214ZTFUNWhHUFZNeGdNZlQ4ZSRZV1gkcWZHRl9VcVN6dT8jRHteN00mU1JyPXtFfk1JZWAk
bFZzfD0mZAp6TFM+eyY/aih1c1BfM0JZT3ZCU05ZRyt5T1pjPHF5ajUzUSkrY0NDaWBkZ1kmUy1I
dlZvNXBBaDYtbjBETVk5VCEKenE7Kn0zPDtSNDEoNzhpOXNaem0tKys5Ky12N09pOD1KYVlWNUUo
YjVZcks3Qlg8MG9aITsmfkJEKk9BRyhVPngqCnp3cGdYKEt1Jj1fPiQ+QE94Y3tYLUsyOFBHISRJ
RUhoRDBNeHFiO2EyQGdhbEc1SnRjcW99Vnx2bHZ0PmR6TDdzbQp6cz9fJj1qeDJ7cHE1QHNudFM/
PXtNOXJaQmgwKHJLUHYmMHE3aTtDUUdYR05UOHZ5T0tmdGp2Si15KX1VKVQmdVYKelZJTnhvaV84
OXlgKWpzK3s+P35fek42eXFnVWRtLU1gMFpBQUIzVT5YQVVqX3hgfmY3Yk9mTkMqVkhjZG02dFFS
CnombWB0TD1SPkJKVGFJX3g3WSsycFYkYm88eGxiQThJKmw9TVFZSiZyeDl2MiRsd199Umw7K2U4
ZGVUbkp0eVRrbAp6JUFARE5zYVJKMTY4eWcpZURJNGNYeD9NcmJ6K3k1KWkpaVFLaT1zYmJWX0Rx
Kzw1TjJJYHJ7QThgNSR4eGBjJDkKeiZMJG5OdklDek4oRSo9JlNOcTdQV0pebVNqOWdhfihHYj8x
YXlhaSZmQWkoZjkjJTNqJVgoUyQoRTwoJWkzcjxzCnohYVRfKXg4NWgrbyRLczlqVk5QQWl+fns0
PTV5UDxSXjIxJEBpJC0yYnpkMCVXJDx+UkglVWR0Qm45PV9WV343ZQp6Si1MKjJtN1QlLXRDYXBD
KXQ1NjFCZ1UjfSp7JFpGb3dxQUAqN1JwO3YhSShsQTd2Pnx6WlVpYHpaU2Nzd1B3czQKeitMXm9v
VEdlWEV1OTVsJlpVRThHY2FEZE55d2lwfF52VGFCUj9jMTw2RVI2NnolMVJLLWRFamxNbnl3eT9f
cGdVCno3I042X0lgRiZie2xRcUR5cGc8enY+QklUOXRAQiZ6OUF7XllfZUg3M1Q8YWcja3Y3fXcy
WH0od08tRjE5OyNnQQp6VHckQ2VjdkZnPUpmcldlJnlialFjQ0R0SE9lfnhIKSpvVDNRYF5nPWNU
ckpvM281UTs/QmhwJlo/Jj9IMXJtOTsKekg/Z25LZylDMy1aN1U+QFd3IUBQQHo1cl51dlhDdTNA
WT89XmRkWnQ8O2lYcU9+MlA9YFFvZVlDMlE1dlBPSWkrCnpUMEB8NkNWajZ6WTBBRDZfUjZWfktz
WjBmMTlJY2skXns7c2kkQDY+a3l9ZyFwUlRCfm83fFJtcWNuXkBPLVZLZwp6SGprUD1LdUQlPVhw
eHNIO3RLS3ZXUzRGTFI1bTNPenE+KStZb3JVNTBzfnVDQi1UNGEjYEJxKW10emY9UlQ3KEkKelU5
SCRaIzhGcjVwJV8qSkNzbE00PVBEdXtFe3BSU2BVd1diKTZAQyFwYikrRFhIdF9QMFJEc3ZAfjRB
RktPYGFvCnp4dUVGWTkhc15KJTV2JkRWZEhPfDt4SklAPUZxbThOKU9gUG5oTSoyKXhuUSRfVHFZ
dmkofFYqcXxrTmBtNCtKVwp6SCU1K3tQfV5VbzY3M2A1aGFFZ34pOUYle2YlJm5vR2Rma0c2Yk9t
T00rUlZ7b3AhRWxSUylBVFdYfiF0bnZCbCYKemU/fjwrVlU0R2EoXkFuKUI+NTxaUH1vVStoRGV+
Wj1OUnpIak11KVMlPUNIUztqSEtQMXtvanY+X2RxIUtSTl45CnoyRH59TC11ZCQ7JVp8VTVscyZH
QFhxaV9xKmpDWD1ZRmJERy03e20hPEs9KGdBdE9zSiRLcGMwNGZKYSMrNExTaQp6NF5IOEMkaEp7
SFQodTcpRiVlIWBTYE1ldVN2ZEFlSWUoZiNlQylJIz4yXm1NZTxgfDszWm5vNGp0NShjN3k2M3UK
eihFMWptVnNwNX5zR2NYTSpeITV0cHMwZndSYV8yd3YrTzZ7UnpeRGJpPWE/KSg8NUBYekl+cG5k
RiEzfEY5b3lMCnppP2I3UV8xRkdhVipjMVNmVWRXJXM5VnhsM285Yj13eC10SDd2dD9seU5ndHg8
NDRKfGl3JmlSZDd1RmBRRT1NLQp6WFlFOG1lPWJmMEN6S3lITCgwS0hyPD9zO3NqKGlkc0U5fUpg
NFMqUkhgUElMNUE+ZCtMP3kqYklTMEAtJFRWak4KekApe30kRmhpIXo2TGktdXlIPXdoSkZSeXZW
YUtkfGQtPHR1SDdsRiEwcWVEY2Frdkx2YjFvYTNiViRmSD9URkNLCnpSSiR7YG8pJThzNT4zfktZ
fFpfP0E3X1EhcH5xaHJGRnd4WlQhb3hOeWVaam9tPG1ecm9EP1ZDRTJWX2tFa3FNNgp6QCpVfj5Y
e1dNJlEoLU9geEhUTzElJiNiWkB3V2MlejAlc3ByQz5vYSRtLWhnY3I8cko5NVM7WCpZN05lak5u
ZDcKenMyfWxHPHh4ViQtTCZiS0kkNFUlJXhhfkNPYlVFc0k/N15xVXwrYGNgRyM5V05tdTBrYihV
dzlQMF5ra2NeY0JKCnpwMTJpWSl5O0tGTzdNaVp5KDwqNmRzYGs4aTAzX2Fqb2EpRFlsdDNCJlYj
Tikya203clBSWiFNeE1iTHlDekRYVwp6U2U2eTxEY2A7VXVtdmtma0pacGRnUE93fGA4UUlvNlh0
IzktS3tUQXU5IXJMJTluZXxibFRMUHpTRyooIURlXigKekZ4eEQkSiowM15ZSkF6MDVPZkZSdTt1
JTtgYD1+c3VkZTRtVFNucWYjRVZLKUAkNkVyJHYqQSE0YGtKfCkzVnttCnpIfXwxRWswVD9TZC1A
VER2flEqNitnZlhNQW5Xenk2bl5LVnQ3Ry0oa0J4Mm47PDxOY20wPkxZKW5+SHpFek1TMQp6Y3dA
Y3VnXjwpVk5McnM9ZWRnUjElZ21sWHNqak5PNyM/WURwSn0wVVgoNk0xSEY8fSFzaG9aXk54dztC
YlRyKS0KekheXzF6WkFkMWsmbSZzPGh2NVdBd2NxaSkqank+P2Z4T3xOKXw+KWI0cTZUKThjO0lC
Uks4cF5RSnxlJEd+dHokCno/cmBHZDhUNHJmOXpNTD92flghSj9vb2pYM3dPa2JFVnM0LU07fjFy
Mjs7cFJ8RSgqVUBIblU9bVpVWUpOISgjcQp6I3AhVUUxMnZ0a04wYXJVVWJpT0RkWnhYXyUhfUMo
OXModU4oTzRTQlEoamlaKXdlXkA/VFc1Z0NZRVM9ZUNwQSYKemomYzdpMnxzI1NWR0hXRkpWbVRU
SihRI0ViaSNYTCl6cUxnJHFEODY3ezdLcFJ8Q3p1dHtDKnZrU3htTT9feXN+CnoqUkt3bnp4dEsz
Ymh+PTB1Y3g9TlhEJUZTSXVCdEVhP2NyanNPVi0xbXk7c1opM3hBPFolMSVORFArQ3k8eHdgVwp6
NDtvSFpiYlhTK1AlO0BVSFVeNSQlUmReVE1FPih8Qmx6SWM9djlJfXVrZUt4K1ZxUiZQeD8lKCQq
dSlGYW50PzEKej9HbnQwNXJ1OGB2RWp2eXJ7T0RHTy0zdXNJfDxyJD0kPHd1YWZ3eTNUPEYxQ0A7
dmMlWW1USTczVFdJTkl7VHs2CnpvMWo7WD1AUkN3cFlwc3JodEtrRTA0TSV9MVM4ZHgtN2txdEEk
IzlLbWZud194blYlcjYpelRxQzlEOzBmVF8yQQp6aDN3Nl8xeSZPO0s7YnkreUhmbkU7Xyp3bDBO
eT82OSVsQU5aPU9TTm85WCpMbWtmIUU4XiQ1JEh0RWc/U2tiSiMKenBDY2hYd2R0NSUyISM9VWBs
QGR+PG1CYyF5QmFTWElAWEdTK20xe1hCOGhQNFZ6SllBejRiWXRoP3dpUmdIbH41CnohUDw5YyNS
aUx+QUExcXFnMFhsNiVmRGVHM0FTRUgwfCF3TFRtNTc+cHUmRWZteCRCOGZAaGc0Q3U3NjZTY00k
TAp6ejVjQ1ApUkBITWwtOTspbGo9Xl90Kms/T3QtayE2bVVpMUNHSzNlVm13en0kXmstcDA8PUNl
YXRCOWtBa0MqKWYKekVTdHUpakxxT05RfGhUTStoUXklTEV3eUY0dXpFVFh4bSg/XjMhMnNzcXN9
IUpCJj5KR1Q3aVFwJSlIMWNnTmNnCnoxMzBXcChPdzJFYCRYayNyTTVFNC1ENX0maz02R2Y1bypi
MHpYZEUzZCs5T35QantuNE98TWNAWlVDJDAjYSVtdwp6WDZua29hIVhLUCNLVFZ7S0gwVkg5eUxa
fTU/WjwzMEFfODlKVzZOWmMyVHlpTmpMLWI3cHtsJjNQbWhIWH1PRkQKenMtXngxdyRBXiE2cGNz
cnRiNVMyekEzKzE2aFQra2lsPUZfTFVvdGRUcTArUnlJYk8hODI2R3xsRDdMeHhtfGVXCnpwc2Va
KF4rRCVGMCpkKU4oKjxqajtxOWxkbVVqJCMkKzt0IXtpaFZRUnZqJnk9dzItZ0V8eXAlOGZ7eldO
WFJwUgp6MmFNTE1OYyV6SStKMyMtO3xecWY0RkpvSW43Wjx0M31vWmVNfX1NZyM1ZiRmQWZ5NWRB
QUlNJnw1P1hkblc0NHMKenRUZ2xHNElwUjs+bVdAPCtwSF9RSkc0M2cjVEd5e3UkbWw9Z2I5JGNE
c3VHaSEjO3l2IT1kVm5lXnh2Rno0OCkmCnozVl5pUTxoND1fWllvdzIkd1ckRm1TSG1qXlZKKnZA
cl5jTGliJFYqXyY4XlEjflJEa2A+QWNZJGVmI31pWW5jeQp6RlIoZFBDdT9WfjdqcntZR1RwUjdH
KFNfRXJmQyZMdHx8OT4qfENELT4/cmZTOEhMd2BgPm94ZHpVcUFQSGRqcnkKejI8d2lqbHxlQipl
eXojaXhvNThLN0RtZTwzNnklWEVBZnBQNCQqZ2FNWUMxQl93dTVEYDclYXtUUW90SEUtailwCnp2
QFlgKj4hI2ktIT05RHtVeWMhZGBVOFUjdUs/OV47bDBTdGhwb1pocz5tSEBwNn5OMGVUfVR1Um55
IThEOyliUwp6eHp9VSpadFpId3glfV8rVysxY3ZWKjMpOEc9V1VqPDlZVl8xSnwpJEp3WXppcT5o
Qj9ZYktPdkpmN1JUUCZhOGwKejBqXiNiQ3o9NipxUHVyZEVHPHByYHNFT0NLaFUlYWUqNC1RQHxy
dDlMblIwdU48Tig1TG93ZkgxIUYlazNDKCFDCnpQTlc1YlpeNlh0YmtgUzRzbC09TVQoKEdqUEVV
dF4zaVg9emhjRnxidklCYEJyeTJPQSg3fXFDSyQ+O1VUPzRGUwp6UTdQQG88VkFXViQyb2NxSnV4
VTxxR3o7N3hkJih0cDhNWWJHPUpwVEtsWSExOWhFPTdXKEdaYnlqVEx8VzA9NWEKelU4fFd7SjQt
VXkqJjJ6Sk1zb3ZLJmwrbGN5eiNnRiRSNmVfODszVkQ4NEYpVzh0fjlFU3IofjtFUUtWUjVWSDNx
CnpvYG9TZzJUR04xbCN8c3BZaTc3JkBRJlV+bWZKaXdLUkNAQ0Q2JjNwell4RX5lb1lhcmlkU2kp
SD9DZH5yV313eQp6bGN6UU52T3E7ZGd0O3xMJV5uPTlHdGY8Yl5lPkg3KSEja2RENEFoWjxTJFVu
d0hAX0wodVc8fVMtR3o2M0htJFUKeiQ7VCF9NiF4SDVXb3AqVXB8P3U9Sl9nSW9uaGBJeUVgeGJD
Rz4xQmQ/Q3s0NkEoWihSSkoyQyVCJTNDTkEhc04yCno3dyYyRkZ6MD5jVCgoPCUjP0xIMFRoQ0hf
d2BVSD1FeVZ2KlFCTDl5MFBlQ1l3Jj5lTUw1Tl59Tj5IKmkqPEZVSgp6dn5Cdjx6QXNhV0g3NjNB
JkBKU3A5bk1aaW8tUFlRQ2w+NkpCIT1zR1g1Kz08ISNtRSYrcSpKVl5AYXhFekk2VSQKekFMb0JU
elcmKm1IfjJwb0FTJSpOJHVyTkA5ViljZFV+akgmKmlEZjhmfishXnBiQjZsJE9Dd2AreH1EZ29q
dkhaCnphIWNRY1AwVEZRRSs5I0dudFc9VFI5dX0tcmQzaGorZG9rR3gwMzkkdnFpRUx6RUdKUGtT
e3BTSiUkJDdKe1g/NQp6TUJtRkhVZzBEKTZ8fT0xRWJSTkNvdVJZJHJEeUotSVphaUlxXjVNM3Np
MXgoa2EzXnpCKkxSTytVKUdiT1drS1YKelImJiUoQFlNTyspU2U9akEqdHZkRDd6aTFLfDgjZ3dD
dDUoRThLWGw4Ui10cXZ3b0c9a3E3cGZoKUdMSz5ufFBYCnpSaH19dm1FIShzTSpDOE0od0FgPF41
MEhBeyNqOChIQkdhRjw8ITsyWFF3Yj0jWEtveVcmVTdFOHo7R2ozdzZFfQp6LUZGd34qIXhiYiUy
SXZSUEA/a3xXc1omJUAmV0EpPmlzI2NkcmA+PCQlM2E9JkdeZmlRTiRlLUc8diZ0USZrJEYKejN9
MWt1RGk0S3dBdnxpMCVnPzBSO0ZKVENteEc5IzY3Tk5eRHZxPHZAVXskOHdXeFlzbVl6fWUtMmg2
dkBUKTc+CnpofndxS2N8JEt1SW5gclhuKHw5YE4yWTUoUiE4VkojRH4+MTFVWjVWe3dnPTxAam43
SHt6bkQ+S050bmJlPUtZUwp6cFNxdjxvTy1WeS0wPikhI1pxUzRGKjxmWjwmdExBSDNoZ0ZnblZy
NGF4Wl92JDtyV3ctblk5O0lyd0AqQ3J6aH4Kej82czYkMzs8Wlg0bU44UlNsTnVzKzgyMTFHTnFi
cV49P2VGOCRBbzdMaklKZTtua1p9RHlIP00/e2Z2MSN2MElgCnpZY311PHM+Z1Frdnlic3B2VG5V
Qz03MilhTVZYZH1aKkV1OT1mdkszdVhDTDMtUndXVXM+RT5CVilURyU2Zl9JIwp6ZXw/b0hJO0sh
S2tYLUlePipYSSpVWGNHaXhiZEhQY0R9aFo5N1NlMFZqJFYjQT5nWj9FZlpYMUpQczdMMzdNMFUK
ej4yQVgjQCtqZXtSIShoQmcmaHNWVnR6flVVNEpgd29Eanlgdyh4fHx5JD5fYGl7ZDZpKVM0VUFB
SiZpQFEqTXJ4CnptcEBvYkc9PChHZ3I5WCs8TiFxISQ1fDJxMmNgVm00Uz9kXmRaRUwxOXomeTNE
bSRRNGw2NEZuU29TK354YWQ5Zwp6SWI3VG14bCYkUEpjP3YzdXR5VEJYSndVcldtemZAJVR+WHB5
VnR4KVFta1IkMnFLVyozaWZlK3JeNWNQdXFFVVYKeiNFSHJ8UFJtemBfc1lZJm84IUIkM3BPT3RF
dDkkKTJsPW9oX1lTNWZhU21jX1YxN18lOXAmVT9LZkRrRTx6XnNjCnpNaiViNlR8fUo9bHBER3d0
WUU3YVR1fCY3X015K3BqPjZlIUpWQ0xgb052cFpTIz85Q15CO3V0OUNVZTw0flhpbAp6UWhxbHF8
OWF9OS0pdXplLU1nKUhYelh+ITdHIXBYKFMmYTMofVRgQyNKdEdhdUo2fDFTKlVTc0d9PHpJQGs5
VU8KentXe0RvenVwI3ZyPXcjfVpjcE8+dW1kSTVGRl8jYCt9PnFtP1dxT2FMbVI0QVl3dVo+a2kz
Sn1ySUltTGNZQG0rCnpRYl44TF4xQClIYDd0WEN2SnR2M2dvV2ArTighaXhWa0Q4e1dDRG9NVDwt
ZUVAKW8+IUgySEI5SXotJDYrUkFkKQp6cERyN0ZweTtsPElDVjtkb3Vwd2crMDg7VCpCP3RYKT9R
VUxYTGdtPFhSbmhMWFhkITsmQFd7WThrfX1ePyU5c2AKelM4YEF7RENiRVR2Sl5Wa3ZuTEI3cztL
dE1gaDIrUzVhaE1RSjxrMlkjJXluTjxIOyFPalE4NUxFO2hVcEJiQEl4CnpTVmNna25OKDFQR2Jn
aDBOWSh3PWNGM2s5Zn5sO3NgfGxhbXp2YkI8Mk58e1BPRlMjX1hWMEZxQk9aTTdBWGtSJAp6LVdY
cE9VVklybWBUTSloJk9FKXJjQTNOeElia18kdk5WY1o1ZXtJR2hvYFVKSj1OJTtfbEteN0hIbjRC
Qn12cEkKelUpUHlNPSRpRmJaVUN9TnZ2YEJAUF9gSjBebnVzPT9kcFVPd3NfbkRCc1JqfmQxfFI2
NDN7N0wjXmNxaitzNVkoCnpPNm83bUkyXzZSNkN+N3FKKG1ETXp5JG1+MFl1YThSM29ZYHR0PXBJ
eW0hMUlXPClodGR0Z2Q/RzJReCM9b0VMRQp6MUdfVEB0SjhVYjskelh0SClaM29RbzghSmElJT95
Yk41VS1hfVUzI0FuTUImKnp0PlJ8M30/QFY/aVhUO0htJDgKejVKX1U9bWpJQ0BtVFg0TVRPPihi
YkZSSWA8bGNLbiNtNytWc2cwfEU9KUZZbkk1RU0tVHpUQmxlX3Akajw9V2d6CnpANkNzNFBSUl53
Yk1wNWVGblpafHVTbDB0TnBqY1klPD5qQWNUZjV5QiVUTSZGMzZxMUY3N3ZCeE1eTjBfSDd4Sgp6
PjNpcHZge35JaD54fWwlRTI+Xk1QYUNgfSpTfEhnQDgxOXt8RWwpSnsofUlhXjd3MEI/ezwkTm1e
Jkc8SVZfSmkKenc7bSZGPVB9REFlaS1pS1lMIW99UD1yRStpfUoydjVgaWI4IWVpNDdXalVTOyU1
U0wrVXwkYSQ9cXpZWEkpUVolCnpKdm9oTmVjan0raWZ5ZVRnaGN2e1JrMHZwZiV8T2R2VUdtLU81
YGZEMXYkV3VQQH03NE10b2c+I29PWmk8Qig9eQp6JjRfOU9yaHQjbyFiakFLMiZWRmwmQDBRfHZT
JEEyR0dGfmtSfWA5PFM2RyF6KE1qVEszfjRxYDt2XyltSXFNbEUKelBsIXRzdmx3ZWljRWRadHs/
ODh8YU8tLSgrVmVCaHl5UmxMTlVfakcyRG5NWkV3T3dGbXpoKz1SX1ZyfFpYPGBqCnpuYzA4bVNW
WUB5UX15dlI3bVA/MTg3bGwzdVdDe1ZFak9lKUZJRVVLIz10aV5jUXNIMmZkQTVQeX1pc3FvQWNW
egp6eSVKNlRVTWM7SSh1IzVGZ3FKZSF3T2Y8QFVPQ3pGQ1crYXBJbXVaTEB7bWY8dSVpQ2g+ajQ4
OFV6TFY+Z2FobUMKek5hYVp8e25MWitVb2RUbktPbChjP001MXpqWVZCdXlqY1cyJEljb3soYzM7
TiMkYUdBUUM7ViR6dWtXMW1hblV+CnplJURIWEJGX21ISTspJmhCWTxILSR5ZHowY0tJZnhtNWE4
MCNyYEA+RFA+fk5aa3NUQm1vWm1vPSZGQyRBfjFIRAp6R2kqQVIhbz9XLT5BfVJWYzR7KzZUeisr
LXp9UzMqMTd8Zz5qSXB9PnAzXkBKekZ4Si1aVmgkQTI9TW8wJD4rc3EKentwZTcweHd0aiR1MXxY
JURgKn5ldXRWQUpKV1pqWW51c2xoYC1GQ2VUVSpEaz1FVUl9IT5tS2k/VmlwJXxFfjx+CnotPmJf
dXk8aUFDaUd4bkpyaXhWK0B+SC1VSGQqanc7N0dSTE1kPVJNVCRhR3NKRlMldCl2dHRkNCl6YkFu
cnN1aQp6Yl5haUsqPmomPlVYWmxnQUtBRWYmI1ErcyVQI1dHSm8mV2tYZn5WQENDZSVUd0g3STU2
Q0pJeSNGRz89YkNCTCUKelktRFNOOD88blItaj1eNCh+YDV8dmJKKW9iWVVpbD07fmUqOXZGWTsm
QTw4NWZ4fHUhcVVjaWRCZDF3NiRSe15oCnpwNTE2PTcxTF8kezF9dzJANFQxWGV+KmlRXnowOVNs
SGVKUUNjcGNPPFFqZ3trMmlJKSV9T2BoRzFHbWpyU142Mwp6Sn1IJTNBM1U4dWM4UDZtK0Q0JkFA
blglXiZOX0BUTDI1SSpZKC12K00ybDRMNXV6VnVQYioxJjtvRXx6QmBQTGsKem1ZbUtAI2NaaSQm
T25kK0tgNzVfeGp9aT5nQWpqfio3em5mUHw8Q1I0cU9PZXZYMH53bHc2TTsjJiRIRnlfJkpQCnow
VVRPRnUySURDbWdUempAPGh5Q3cpa0ZecW1oam5zfSRfaG12P09DQ3VRJHxwMl9MKilvKHQ+X2BP
T2pwbTQ5VQp6MlluP0lFMC04K2AwWjl2KyZtSEhrSTtEWF55ZCFVNk08JGJVU1diailWWlpVP1VF
e0NaRF5BV1I+X0FeZ05pQnYKej8pPj4tXnJjc2c7YVZtb05WMS0qUlFPUGp7fW8tVF5rPXlwaWpx
OV9hP1p0KEQkOStRITReQllqcjArfHBpcWcyCnp1P1VwRmUocnZLZlFhU2tmXkFZdzY9VHJDPSQ0
fSVLTkc5TF5oWXF7bEUpJVJPKHlWbDVEbG9mZV4rPXY8LVo2Swp6bEBiNGpzQXZ4O3chaUZ0PFl7
amd3aE0wZSlCRz4mMVZvKXc8fWM7I08+PnRybFc/KiQqVUQ1ayNUb1g0ail+Ti0KenFEcVpSU0Z0
JWFRbS0wYnpqa24hQz03ZnFqdnw1VUomSng7SEohNz1iLWNWZnVsVSRLXkN9PW9LVmZtWSN9aFc0
CnohUz9xOygrWTF4KTI9VHkzUEB6NihFNGw9cmE+MjtuZHRZNSNjIT1nY3RxVDtkTUJWfT0jc2d9
YUhwPU9RfS08VAp6aGJaN2IhYnlJbmB2TEwhajVEQ1F4O2BeSGElMz1zdHl3K3NveWA2P3EyemZW
PG8kI0o0NTFqSzckZDVYcmxtNVoKekYxdClSWkxGdHJYfndSfV95KnVfX0BSX19Te3U4N3Z2ZXU5
R15kSV5ySnokUU0hTXkjNiQ3SEpSaEFgO1NBQnw7CnpvXzJAQTVuWCE9Xi1lM3dTaV4/WldhPkx5
LTlqU2RjeDVsQy1RS3F3RjJQNXx1c1hJaklEYnlsam98ODFPSjFmKwp6M21EVDstSDFLPUpYQkYp
dFFTKzd2YnQ1TG95UlFZO0A5S2kkUEBXUG5HZjhnT05UeyZrOEFRVDBaSyFZezAzcyEKek4ofmRj
di1VKnNSazBycy07ZTBIMEZ+cXtRQm0qVkRvZ2JWM2owZlNZYFg2KVRHVXpfIV4xIThTJUhCXnBL
Z1dmCnppcmYoc3tweXx5OU5TZyM+cm0xcmxOcE1MMkYlRX1qVDJnPGhFTDU+YXRRLWJgKEw4WTZ1
P05aTHJDRG5XbExNfQp6PnsyUHtyWn5afi1zK3VvSHZHYHswQz82KkVQe2poNWhCPlBAdCpiNkRi
fkJwPWh7SjMtRCNUQjZUTTBZJUUtUTAKelRLKWI4a2NQX00wN3kzODQoO0NsWClzWWtGZ0QzcGFi
X1o2UWViakZ6eGhMUm51QGxIRzYtWnRpMnsjKnN8QHxDCno8QHtwWHAoT1dHaSE7I3xnaUJ2JTVB
RyFwKmYrR25aX3Y1V2wrRjJmd1J7NWxoOXsyQlQwemlCWGd8V2N3e3kjZAp6eCUoPnJHc2slSGZT
fXMqYC1ZfCNZcTNje2R5KWwqPmZ1eX56eG5wdHJmQDx8VSpSekB2QFEwa3ZFamhVNjh8I2MKekpt
ezJZUHhySFRZfnQ5fWduPXwoZj5LS1Vye2N8UjsoQTYpbUBJcUVTSil6VzAoWFRGXnohbGxmREhY
MzFuRk52CnpqPj0hUTIlTDdXKkZsbD0kbU90OCNhMlZ3RCZ6RU1YckhuVzZsWFN9Nk1vVSRvRTNG
Z0RHb3dENEdocVNyZGJXJQp6RTNBNnc3cEJjYmhVbER3QGN6U0BXVW5DZEdISEk9MWBHQClmbXRS
O0hyQkhaNCFZXytVclg/em5fOHllK21EXiMKekR5SGlnU2JTUzkhUV4/QWMhX14pZW5vbD8/QGQl
JHZKeXlUTz5oSERAMEYqN3otQnhlaFF4fiFYNjFKS197UT9iCnpCMCFiRG9edXVja0pTMWZgaDUy
cWpMKktqeU1qPWN3OSZCKCMlQyo7SzYoZW5YUzxGWiRuYDZ6X2o0SzAyNF4+OAp6NiFVZ2plczF2
b3t4aHp2WX1rNnVlfk0lO01YI0hiZmllNj9nI1c0VXpIYEYjXnBSP0FfQks7WEcoJXZWbmxhQCsK
ejQocl9eeWp0I2pjfXl1WlAtckM+a1lCQ1MlS0Q5WEJYaEE7PEp6VDNWe2VzYk5ya0M8dUxvQjBy
R0YmM3EpNzRgCnpURDwtaSlBWT5GJDk9fndQe0EyNXBNQ2khNXZBWGM5dndnPDFObS0lQ3I7QUJq
PDRMLVpFSF84NGAlVD9reU9ybgp6JCpzdTwpPlJaTmcqMExyI1hkU3V0SDcwK010RFhNVWUxMD1Q
NH1oVV83XzxhOWc4fVJNRDVmUWI8JUgyYXdeU2sKejhERj1uQ1hxY3pSQV4rIV9tbTZ1KlZxc0JG
NmRINFklSmNJdUBrK1FDdn5+RHFgPEliO09xJWEzWE9pTzAkfilsCnoxVyNCPUdkNGEpNGQyekZq
UFN+c1U7TDdxcHNteWdUR01zLXAqI3pDJWFARnA+cDFJSztVTipEUS0xdl9pPyooZwp6dF50K3w9
ZUp7SmRYKTckKjRqVD5pK31HcVFwP2xRTVE8O2luI3Jvcz8zSVp+ai0kQztFfCZoemspJHxoJDt9
V2YKemwjNH5WM0h6ZlZqd3pqWTR4ZnlBRGoyRGZocVdBWGdab2BlYyUwaUpGODlqPVBubE8kLXky
SWo8eVUlRGIwVE8qCnokPSN4dmsob3huOFk+X0t5ZHcoKCplPFYhbWxsYWpZUG8hajhNTzJDd3go
NEp0YFZCMkhVfmFrcW5+QDhRZ1NkYQp6S2lken5QKWE5I3Rvbis2Un42ZkAmIStsVngjNzdPZnN1
ampYcHFgMXRaZj88VmZzJUYmaFB3MThlSH1JZFB9Q1kKeip3eU5wdndgZG4jWnlMR1MjPDY7Z2Jj
X2hqSCZqMjZjU3hgPkFXOCpgfkZuOGQ7R2JVUlpFKlQ2JXI8YVBhbGhHCno8N1dxQ0dBP0klMzRX
Yn1AQFBAJChWJVVnXlhTeilxbVIjVVpMYXB+KHNgU2cqTD93eUNMQkU/TnBaMHUqYlB2JQp6Tzg5
bys8U0R8Km1iSmQoUmx0WSN7UTVOejF9WDFVSnJ3KnNEKmEhciE9aGBJSGUmPCs7PjslUmQxeWAr
T01reUIKenNyKHZfNH16d3FNcFQtWUxBLWl+SDhFOyZMNWB8Yll+djtCTzcodGh4YXFgOEI5Vyl5
RlYqPHdzfkh+UipFKWFjCnoqOXp8SWBFQyhzX3I1JCp7NUomY1IoLXAwPlUzbitKNjV9czRCYWlm
c1FlSz81NV8jT2BgV296JHo1SXJ1IWBhYgp6bERqazthJHBnKXR2S21tdz5BPThlYnFuODxNZ25k
NFNrWntscUxmekBIZG8kJW0wTTx7R1JCY0dOPG0+NDMmRSsKejtve1phRSFMP3xCWEhYOT1vdjBR
IWF2Sl5sTH5RbWlQJk9ZLUhqNkdOSF5Sa05Nby1tSjtyMmpEaC1ZK2NkZkAwCnpMZXlNVztFcX56
Uj9PZlk/bVB8Y2p7bV4oZTh1RGpAWjxFUFQoUkA+akZfdGEtak1sZVFDMWM0dDlONDB4TkZoPQp6
NFBjJmdGKD0mIVpIIWNrPWRVV2RtdDhVantgMXlsPiFieF5MdEVtKyNSWjklVnVSJjs8LXIxP1Bi
JGQpcGlkMHcKeiozT1Emek1IV3dCczRWTkpiZVI1UldZZSZEZX5FTCVpPTF+Ql99OTdOWUpOQ2NA
Q1B8RVhxPjw7JGEhd0AyJWdgCnpkQDhhXkZ5K3F3JHVXbDB7bHk0YFVNfTQhMGpEVTZheX1UaFBO
Rzh6Pz12Tn0mT1oqdm9wbllnUWxjOGxpYnhGWAp6SH52MCMwKV5AfT5salVHMlQyNmJgeEVEXj1w
YXReR3NeQHhYNnx3d0k4R0s0VCE4YGFEWSp1ckV6aGYyamFlNG8KejVOTyRuMzxPQWhNODZSREt+
KjJrQE8pMnBFZT1UfDFWVzBPTU93XiUpclo+U3E3bUJRJDl3SCNfWCslO2w1Wnk/CnpxZ0d+TSNl
OT58ZGBEbSlDJTlXX2slRzQ0Wip1Vnt8N25tWjI5e001cldFO3toJCZsclhHZn4yQ0BSSXc4XkJX
Rgp6JWNEelA9cEhMej92cH4+eypvfFhJZHNpQCtWMFEzSlFYck8mM3srSG1gcHZaPHZ0ZihxQkNu
JWM1VDFwJEFiYXsKel99R1lWclRldUpXdW00bHM3SjZzVF4rOE97Ny1yODZFRUpfNkFoM2peZkdR
UmxBQjtEd20hUipUaU1McTclZik1Cnota3xze0NPbU5jfDgjZlZRQjdzKkgtYU9lRDJmNmlDNShV
fHE0emRxbG1RRn5RQSRGT2ppTnt3Mip1RCowWU83awp6ZFcjNGNxQlFBOTdvO2U0NDgxcGomO3h8
PEY3c1AmdCREdl5uPldzem5VfXdeP29DY14mT1BWKnpPJkVYYHduPCkKejhyXzBVZnV7JlZwPGMy
PkMxXz5pOWd0bkVHMlZAKz9Vfjtscnh6Q1ArMHFJbCFjR0VsJUxqQEIhcTxQekQmYj44CnprU1JA
dGokQyMxeC15czdoeDUtbTQ5QkVFWFFRSykjeyFSPSZCKiNEWSQpKTZhZ2dRSSl9PksrbklFLTxR
YXAhKQp6ckZ6ajhqRDg8RTFmO18kYjt2eGhWbkFjVEVNKFVYIT9VU0t2bCNsSz9ZYC1uOTY1OyNA
YUUrQjQ/PUtiWTlgNGYKelJIZk04VTZofT9nZX4oTD8oRylZMFMkP2BUOUpvVyRSd3BMclhSdz07
fS0hTVNHYHRyRjNQZXpabGQ+R1M4eWVBCno/cFFCb04kVio5ZDlPPVI9RClVentILTdvVkdwP25O
WkNkaWZ6cVczRldENHE3RE90cGBHaU5HK0QrTCE7ITVpRAp6TFg8NXFBWGZBfklPUF5RezxiZ3JW
S2w/KmZ3OTEhVUxVK2FlfEI7JjxKY2w8LSlFKXRzMVJ+dnlfbzFMO3BfdHQKemdKJVd2RExwJE44
az9Bb0lER2htY1hFdHhOSDd7fVk3d1Y5UUZYfjtVY2ljZExeeGcjP2dFcCFJSmNuYW5WbHZKCno0
M0BGSD9hWigzZmp7KGZ0QXYyV1UjZCNlNkx4OU48SlhaSiRZcVdyc3coPiRjZE4/ZDxMZE81QCl5
SlRRX0Y5TAp6REF0YjRaeUUpJDVIR2tiKjxAan50PW1FdGtOUFpDTkRjUik0cTY+NEtlNmFvNWZp
Y3tiJD5vRzEpP2VQQiZSXnoKejQ0aSVwOFJJMWdLclB1ZDY5WCN+SkR+R1JMeXZRdEV6VlkhTXVr
e1MrPHdMfUE+YjR9QitmRDt2cHRUVEFiV010CnpZS2QydVJeT09pdmd1T0YwRzl2TnF4MUM1V2F3
US1GUFY2YT1uOElBTExOZCM1KFM3JEJFNGRQekEwQjdgYEJGZwp6fEhwbkNePUw/aTdoUnshSE4w
TVFjWT9aYmkjMiV2eE1ebHt4fiRVKzYxP2ZtbGBJRGlVVm9XcCh1T1BaNkQxWjEKenAhZTlFVW8q
RkFDJUd8TGRSPEh5RjdnKTBYdUNfYHJeaVBQQX53fjltTGpHaXRhaWIwKUxMT3RCNm5WZE9ITkZa
CnpvUTtMfl8/P3pgM0I3U2JsTyEjS2piLUUoQWRAYXJPR0xJeG9oVDBEKXNYWGFIUWBARXB6aUh9
RyFvZys/bEJ+fQp6MUREN3M1d300NF9mNmYtYW94XjA9M0FaWTVUeWxrcDFVbE5TezJJZ3QlQVBR
X3JKVyt2TE9FbmcrRnFWPm5rWHsKenJEI2FxRUx9Km4pOy1LUDY3M0Z1eHZSeUUoVzZYbi1YPz5V
N2Z4an55Z3g2N1YmRkR6NnRPcnZtJH0mPDtmQ2x3Cno4ZXVERnc5TiNOMGFoaWJpb21NbWl9PyV1
ODt+TUVOQmxqeCNHVlp1PzNvQEZUaXFXRTtwM1ktNT10fH5xUldfVwp6ckAjPyg3SkR8LWxUYzRN
RSpnezBibGBvZCRWNiheXjVOcSozbVdNcl9CISo1X0liVH1HVzZyP3cjSFJUPEVUQmAKeil7Uz9z
OWRnJCVGWC1uRG5ER0xjWFRIYV4mPUswaDFvJCghYiZBVilza2NtMSpLJSk+WDAhfUR3cDxLMEoy
N0wlCnp1JjMoQU1WLUxCczd3bDlkRylQcz1lS0FfWHpqQzw+b2hlcHB9WShrLU1BYURld2o0d247
ckFjQmN3PFBlU3lIYgp6R2RsNGRwPW9eYTdPYy1ZO09lcE9HU1pCdFJAZ3F6KDhpWitmQnxYPm5g
KEY1bkY/M2QqekEqUEtGIVFpND5EaUwKelUqdTZUb0Q9dzdAfm9kbTU2a3dPU0Vma0Q5bmszQGt6
T0xmKWgwajI8ZCR4fll4eXBNcmlfOXk/WHd9PCk7fGkzCnpXaG1uVjBKTzZAeig4dTM+dDFAWS1T
fFZWQ1BFVmk2aFNDITRFPmpZRzRIUXI4JElqKUVRP3lSIWlZUkxHVVdvOQp6UWtLWVElMm1CbVo7
fjF5ejZCUkxzKVV4dlJIISk7IXtkWGYoN0kxZk87bkJTWXx3MT1KbVZKOEpONk8tT0RlbiMKekY1
e15+S2RlWEZmaXFsR05BYzFYYCE5QnpodU9VaVVyJiNGQylGVStaP3shelQ7NXVjJHMpJmdwMW59
Q1l0TjRjCnoySGU1UGQkNGQkdGRrQmZZZTxEQiVRYVVtalB2N2hyK1YjTzJrQDEkWkpQcHNjYTEx
MlZBczF3ZjJ1dGNAVUFoSQp6Mi1POT1ZbldrdENBKHFpWCNUZXRLSHN0cCRsUEVNTSU8b18+fCN+
c1Z5cGhIRUgwVFFYUzlvdCRuZVQjQUBJOHoKejVRdEB3I2RWTyQzbDAjRWw3ZEJDUE1mZ2kwJWpI
Y2klRVV3KUoqfntIOyZVKWhiRU1JX0RtKFJGRkw9QEx6ZldOCnpXa2xINWpIa3U2VHo1ZHV1NjxQ
MHJWKkpSZDwxPDhyXzNvOVVjR0ZQSm0oST5Fd3IwP2R0aE88enoldzwlMW1sbgp6a2hSQHFmYVJo
VmVPZ35wQG8tYTk0WncxdD1ZNjBDTGxHQ1RIKWdMPVhma3khTDxEcEpnVDRlUHk3aFFJKjl+OUMK
ek9yaX4yOTFRTk04c0xnVT1vXlckTXtgJll5N29MP1FsQ3BwZVFMP2V0S3w2TDkzanYkKjUrfEt1
JjBaUU1nVilkCnpjflRPPG8tUChQN0dadjhRTEUwSTZwMm8/JngySnwqVHtERm5oNXM3K2p3ZHU2
WHhDcCQ/PT5JNFBOJTNOLVYtZAp6MjMrRDReLT1USTB9PnpseDJMXzwld2NYO1RrbHBCTmgrTVFS
UylWJVEqTDVwKU52O0clTip0alZxMT1Lcj4mRWUKeigtUyhjVUlGVChYODVkNj5SOzB3a0Bqb1kq
SVJmRGRUSjl0YVZOYG9YNjwwMUNrKmtebjl0OE1fPFRRdUFjRyl2Cnp7Zjgpd14oSD5DNylKejdt
bURiU3slTVQ0NyYhZmFVQkA2dT1sQnMrNUJIJSgmKnI3Yz1uPUQtY1FBbmdFK2AyYwp6eE05M209
elkmeUN5OTJyK0VsbFFBUWJvPHkjWl9GJDBeUGw1ajB+dndKSF4xPlplY1cxM1BmOXklfDIyLW9S
Zz4KelBhXj14P0M3eiNgTGJfcWI/alpOYHgoQjJONytCJSUjQllQcHQqPCEqUShNS3NvKm5qQVFh
VT9pUDFSOC1kPlpPCno0TCojfHQrX0AlNX56e1NYVjBrJE11M1MjREFVODYwISphWnJkb2lCR3xi
M0BlVjlXTkQpQHRncSpEWGRXKG0kRgp6VXVVNlUpIzxRUWFIQTF0SklhKyNBPl5ZeDMhY0h9eWk+
JHshfCUlJUkzQlhuQnMxPCE2WXdQQlleU1NrVk04PXMKelNoSmNXdW0jJWduP1J4cTRgMWl8K19k
PCEmcTRZemBfWG1NPCFUZldGVU5nMkt+RmIrZ1I0Y29ldW9fM3VgSyNkCnptYGZua3FsZCE9IWte
T2w0LUNnc0UzX1cjSGUxYFhXaTdDISRGJHNUWk0laFc5TygmcUA1YiUkTEBJRVpmNCkxcwp6UlBf
MU5mKCk2U2V5bGQzZlRNMGUodDRYQ3dGcUA1UVM/c1QwR0hxTklIS35VTEdiRHhqc1NsaTE7N2hr
a1J4Y3sKeko4VXZHZ1I5Rk1aU2dvN0VNQmN3S1dxV1dQbSYxVUdJP2ZQP3srezZvTXpSPEYkYiot
cFpVdldHflB7LVY8MVNjCnpCTVYwUHVkQURBaW9tU2owX2JJKipRWUA2SnpyIWNqWj5AdWpuP1Zt
LXR4OyRrMXg4S3ErTU4pc0g4OUkhfSZtXgp6SytleDR4RjlpSHA9a2olWjdnP1AxQ0g4bUBWazAp
TExaRGVtJGZsUGo2YV93bV4lalc0KE1MelVvU19nV3NaMXIKekRxcVQjI3ZGUiN5Nj08YDtXXyZt
ZXBOTVlDdDYwP0hJOCR3Jjc2TDh0dUJeSk9RUlJjNX4rKW4jKDR7T29ZJFY+CnpHNSR3R3BuYjVa
ZUxAQV40MzJJYHk0JDJRaXYhSiR4KDNnJmtPKEY+d2g5MyhObk00M2pQeFRkYDsrMSZ7SnEtIQp6
Q05pT3UqJjtYSzdQdThaa0Vlb2xnPGJEfl53PEs8e0BrUGtOYClgaG59NzZZeGJLbkw+SkpQdjlU
OHArZHlgPkMKemhgMHJeQnIyeElvbmFVM0MpSXZgMzdFOGZncUY+KHE0bG5hYEklbitGciZwJlRo
OHlVdz5vZmZXND4mbUEzUHkyCnpNPytHWUg4alRYVFMlLT1La2NaK2IrYyhFWHVrfmNpbSl4TXRN
MHlGeVkmTjVHX19BfE5QbnRvYGpVPX5hMzNSegp6RSYoNCEtP1AyN2Z2YEMhYk4paWY7V3ZFWXsq
WC1LQXhXQXJCYn1CZWhwcSlFMypgIXhnK3pYdERfX30zZEh3eSgKeisoIT9AN1dqM0dIWEB0P0gr
PWk1aXViRXxUfUhLPCVQbkZhNHBYRXtIOFVvVVErMik5NzlMWmRQfT5ONSE3fWlwCnpRcE8maG91
cm9xQ0RuTD85X3tPRDFIPik+MDBVd1EpZEFXQyg1ZTZXNCEtIXhnUj9RKjk2aUZUWiFRK2tAaVhm
QQp6bWVVSk9WPnZrOU16dTFxem4qdkBoJHNDVlRqY1E7Km1sb2dqbENWfjF8TXNLJH5IWkpvVmMm
aEI+WUsrYFpFaUwKeng7YTZaZTNNdz9sTWQpbEVCJUBjJFFPNVhKMWs4P1l5dDs0QDRYRjYqeDFX
V0ZWRXZnenRAMWM1alMpdilFcDgtCnp2WTJqbWM4Xz5wRVVhMHlDeV9fdDAhfiRhRF9QdFE3b19y
LUZ5REdgPGM4NmowVVdIO1dDOWIjbmdFYFooJSE5aQp6IWw9eG4lSlFSfUBQaXx3KF8peT1ldUFR
O0p5eGUxYEt9JVRiRk4xcW8mekNnUmJhSTBCWV5rayUjWDVxVnhsKjEKeiRGSHg0azV9MXB2X09V
dUdMSCo0ZlM0V1ZldnxeM2RnMXF9NjZmJGVSblohZitUKDVMcTBJZTAoZFhgdGA/S3ohCnpvUFV0
dzVoVENTRG08ZDd6PlAkVFhPfCM/N1goT3p4V1V7fnM2TlQweTNnJmRESm96JW9+NkBAWndCVzVy
c1NkeAp6NXBFYCRNIz9EYnlWXjxHMGtNO0BfQUtQITF3Kkg1MG8mLVFfdUc5OCl1TTlaeCpFLXxJ
UEhac2pLYG0qUnQ4QT8Kei0xS3dWUG02fGsrKj05PDxKXyNhUGRIRmp7VGR+a1JwOE16KmckJnEh
e09GLWRAKzNteDZNPDRTYWJUcjl+fjtiCnpScnx+fSglbF56amBxQjIhc29mVDchVXxPSypgNEF8
TjNPYkdSZi1SX2x1fUl3bFY9aXs0VmJ1TGM7cjc7fXU3cAp6U0B1JHo3K1J+LVJ8JnFlb3RSPyk1
KDYyYndmQXRtb1ZucH17PUxCd2RIZXBSeCkpMU5DSnJ2fERGfGBXLUBtT0AKejlWVFdaWVYkJGpQ
XlhRdDxkVX1+M0tRTnFtX3FTZlgoZyQ2Y34oXnQqLWdkNVVvR29EIUZEXml1SHxuVllkUWByCnpg
MzBNQSo/aWI3QSMlZT4wVXMrOUsyMWlWckxDbyZkX2dKPGFlUmk3XmtzZns+fUshemo+RFNqTVR9
MGhFPipBSQp6YVBKfWIlSyktd1dKUjJBPU0kVGR4UyZENEBYb305Qkc0aD1TdFk7PWlUQVF4XnFZ
LXNwT09gPUA2ZmJASWtCdHUKeigtQEVpNzxwLUxCcVdiakZ6N05ZZFFoUUBvKkBHXnY5fnB0QW4j
SSUyJV8jNXltZkhATXo4YUJ7cEp4Z25FVClgCnpPUlo2cXMzfUlfdzJILW9VVFYmQ202Xkc2O30k
RmpVajtMIzJtVFojbHVHPFZGfm5jLU54Iythc01NMlRxaWB9egp6VEg/dSFvUWhyYzx0VDU3Sm1J
KDNacEl8SE8xJWcoOU5Udl9udGU1ayV2K1ZuN2d3RWxHUWEhcWkrZGF2KXVQXysKenc0fllsT34t
d2cxcUM+JkJpYndHS1Z5KGdaNkwqazNeKyNKSGFRQ0VQUDQ5PGhnekUzcmBfJXZtP1oxMWJkWGUo
Cno1N3Z2eEctV3lzTiVWRWBUM0E9KDdqJEVEYkNFWTMhdFNZP1d9bE82MG4lN2pRYXZ5b3xIWHVx
P2h9fk4/e1hTVwp6eEAjQH4/RWRHfnVeQzVkI35EXz5vMEQmdD1NXn5FbDxvQ0ZZZEE9S3R+YDRn
ZWhnaSsjZE8qczEla3sqKlNHMUgKenljeTQzd3g7SDdnMn5fPSY9ST1PVlUkRWhPVSUlbUYxfkEy
JlpTWHBXeGM7STskNXwqTnhxfT5NS3kwV0BQaFNrCno8VEx6UThTfCZUTjQ4aGVRWkJVJUNteVBC
cTJhJiYlIXZpfFU1Rk85KCplJUhSU3NBXkJfMmZBVnFwMjFaSTVYKAp6XnEkUSVCYjsofDZ3dyZ3
RXAweCNZSk9kNjNDaWd1UD0mcjxNYjJUYkJUQmBUWXVjalRjaXJET1JrRz9CUnAxYUEKenFxa3hu
e0VFfjdoJU5MfGR1TGdOKD4wVHxQODV6WnpNQCR5SlI2QDBFT0VxWnsyLVhoUWluJWJeMDUtTm0m
YjRuCnpkPnRtellnVXdyTmQqPFQoKyVCa3E9YS01SmFpcjZFcSphQFRMSVNpJFRKZ3h6cDUwJEE0
UUotY1Jod2I3S1o7MAp6JE50alokYUVpcGg2cXRBZlVVSFF3aTtrNz9ZdUFVRystLWpiZ2loQFhQ
PX0tQnp4cU4lOVMmeSRmTlZuIXhTXjcKejA1N0U8K0JMSmk5cT1xelc7eW1sZG1RI1pLZ3J8OWN8
VChoPzdKV2dja0p+WE9ZRiNxZGJFKllYKF9oM3hxPCZ0CnpCMXswUWppRFgySS1ZZm1SVyZmQ1Fj
MG1WLTl3fFhGbFByO1k2ckxzUzA+Wj5oS25+X2ppfWdidHhJI0orfGkrfgp6bmkjdDx6cHN4czJ7
cTNxJTY4JTQ9YmkjKF9HTV8jZ30rMFl7aSRvcmRHamd9Vm8hJC08fSFNaXs/ZndRP3k3Y2EKekIz
cVNgK283eH5MJm5nI2BYNWdmNWd+YkU0THo/JEdEcFNSXk1eWCVFdHJISmdFVkRQZiNJXiF5T1F4
YjhnWTcpCnpIOVl8LV42UX5kMzVuREE0JiVEPzRzRzVRQy0jKSRBZipzQFJ6dXV7c1ZQK21nZlUy
MG8rcz1LM3FQOWElVmdpZAp6PzUmeldAKlNweEAlJntAREFBWk9qX3JwZ19JRC1lUUpzYGdxIzgr
fWJgNCVNbTNSeSh1X0h6MFhYK1NOK212XlEKel5eQ194eGBoQyN6UVR2bntMaVdSWi1DTXQ8dTs1
MilKSXw9bCVHMUBtJnp0c1J7LWp4Nz44WjsoTkwqZEhQLWhHCnpEMHNPPGtUQkhPRF92YDgqITFY
d1VmRCNpX2dMQmduR0Z2ZDctb0RLPXAtejVYI0JgN08pYkVfUkxkUWY5dWIpXgp6RUAwczxgdkYq
d3g7SiRFSXtKUkFCS1dgQSZJeDBjWjE8RnpYaDhwT283aXNmUD1RQlFHMjUwVz5UPVpPaGYjZFUK
eiE0c0A2dWExYkU+XjFKdDtfJD0/bS1nN3VxLVI1ejNAKTlpO3RnWHNGMGtCUC1ZYFQ2PDxSUEMz
dFpxcnZ8WTRCCnohfWlPWFVEfnRFRWRMTmByKlp7bDRaMWVEQ1ByNk92bjNgO1pLO0whQmQmWUV1
V2ZVO1FUdU4qNFRvb2xgM315eQp6P2F2VzwhJU9ZOzJ+Rj09ZW1tZXVvV0ZwZnhEPUc5PH5ib1lE
KiVqbEhqU2VHJnczSTF1U243Rkg1fFQ0OXZvJGgKejlgPDZ0PUUkakh4Km0zYnJ1RUZWeUo1JGs+
Z0hmYiFwSWM4cShzUHVRb1d0JUNpUE5veWZRJkVXVzgrV01pUH1LCnple30qJWdlVGtrcD1KZ2Qt
YHRuZE1BVklAbU01JS11QGVEQ0xsc15xeXYqUS0wXnE3RWszbFBHeyQjcXh4QkM2Qgp6R2ZCUXZA
a09UWXswVjlvc1VmOERyRFc2YCZTTTQ3elY3YC1ZfENBJlQjNz1zWC1XbyZaSEpmZFRkblJsRXlq
cWgKejNZdThZJjdDR311QWhkOGpZVFQ8MGZBKGpsWnhDTzV4LVdZZVZ4JjglfThhYVVZJDcpPnph
bl8zOUg5QE1XUVo0CnpxUE5HZ2tXazNuZy1RdHllWXgtTTVffWdxTEorRXZPP2JKaj44PERId143
P0ExKl5GOy1tcTt9dWNKeCNJQm00KAp6ZzhldHxBSkRJcnA9NDI+dVYoVjRee1hhbzRKKUBeZV5N
TF4oMi02VVN6TVcpKk9IUnJqSzFRfG1rNSgjSWZoKDMKem1mbDwxdyp5TWZ4OzBBd15vKUBSdms0
eSVNb3cxJGp8PmkpaXN5aTdgZ2RLQHsoeHpeV20hajVCQ3smalN9fGFuCnpvX04pPUgjfkFMNWhP
M2FwOzhFI3ViWk9uTz9TPUxDLVdtRWJvUTxBME9zcEE/YXcwUmBLKStqdz95fWpKUlZhaAp6U0dK
OypWZ1NPTDJAO2UyaSRTdSRIMmNzaDZTS1UpKFQ2eHskQVFrfDYkQnBlTjRCP2Fvb0J2JWo4TEw2
Q0JoUHkKekhkRSpeNW80NDZ2K1JgVXNMe359bnYrP0Q/TFMmNUFsVChFc2E7MnwlYmErZHRzYD8/
c1U4TUFlPFRrJj1AMGc7Cnp6NFNzeDk5PC1AcENRMW1IWj58KEQmMkZkPDIqM1AtajRsTk4+Uz9I
ME9SfF9IUFVfPnp5TipYRH1VR0gtYFhWUgp6Rldmen1BNipqdV4/flVCcGk1fiN2VCpxaW4peTJu
WVRBRCpxNW1pRT08Y29mPz5faEJQd2h0OW8lakMkbzY7b1MKCmRpZmYgLS1naXQgYS9XZWJzaXRl
cy93ZWJraXQub3JnL2RlbW9zL3dlYmdwdS9oZWxsby5qcyBiL1dlYnNpdGVzL3dlYmtpdC5vcmcv
ZGVtb3Mvd2ViZ3B1L2hlbGxvLmpzCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA0NjE5
YjE5MTNlYmQ1NTg5MGNjYTRmZmE2MzU5NDRjOTY2ZDY2OThhLi4wMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL1dlYnNpdGVzL3dlYmtpdC5vcmcvZGVtb3Mvd2Vi
Z3B1L2hlbGxvLmpzCisrKyAvZGV2L251bGwKQEAgLTEsNjcgKzAsMCBAQAotbGV0IGdwdTsKLWxl
dCBjb21tYW5kUXVldWU7Ci1sZXQgcmVuZGVyUGFzc0Rlc2NyaXB0b3I7Ci1sZXQgcmVuZGVyUGlw
ZWxpbmVTdGF0ZTsKLQotd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBpbml0LCBmYWxz
ZSk7Ci0KLWZ1bmN0aW9uIGluaXQoKSB7Ci0KLSAgICBpZiAoIWNoZWNrRm9yV2ViR1BVKCkpIHsK
LSAgICAgICAgcmV0dXJuOwotICAgIH0KLQotICAgIGxldCBjYW52YXMgPSBkb2N1bWVudC5xdWVy
eVNlbGVjdG9yKCJjYW52YXMiKTsKLSAgICBsZXQgY2FudmFzU2l6ZSA9IGNhbnZhcy5nZXRCb3Vu
ZGluZ0NsaWVudFJlY3QoKTsKLSAgICBjYW52YXMud2lkdGggPSBjYW52YXNTaXplLndpZHRoOwot
ICAgIGNhbnZhcy5oZWlnaHQgPSBjYW52YXNTaXplLmhlaWdodDsKLQotICAgIGdwdSA9IGNhbnZh
cy5nZXRDb250ZXh0KCJ3ZWJncHUiKTsKLSAgICBjb21tYW5kUXVldWUgPSBncHUuY3JlYXRlQ29t
bWFuZFF1ZXVlKCk7Ci0KLSAgICBsZXQgbGlicmFyeSA9IGdwdS5jcmVhdGVMaWJyYXJ5KGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJsaWJyYXJ5IikudGV4dCk7Ci0gICAgbGV0IHZlcnRleEZ1bmN0
aW9uID0gbGlicmFyeS5mdW5jdGlvbldpdGhOYW1lKCJ2ZXJ0ZXhfbWFpbiIpOwotICAgIGxldCBm
cmFnbWVudEZ1bmN0aW9uID0gbGlicmFyeS5mdW5jdGlvbldpdGhOYW1lKCJmcmFnbWVudF9tYWlu
Iik7Ci0KLSAgICBpZiAoIWxpYnJhcnkgfHwgIWZyYWdtZW50RnVuY3Rpb24gfHwgIXZlcnRleEZ1
bmN0aW9uKSB7Ci0gICAgICAgIHJldHVybjsKLSAgICB9Ci0KLSAgICBsZXQgcGlwZWxpbmVEZXNj
cmlwdG9yID0gbmV3IFdlYkdQVVJlbmRlclBpcGVsaW5lRGVzY3JpcHRvcigpOwotICAgIHBpcGVs
aW5lRGVzY3JpcHRvci52ZXJ0ZXhGdW5jdGlvbiA9IHZlcnRleEZ1bmN0aW9uOwotICAgIHBpcGVs
aW5lRGVzY3JpcHRvci5mcmFnbWVudEZ1bmN0aW9uID0gZnJhZ21lbnRGdW5jdGlvbjsKLSAgICAv
LyBOT1RFOiBPdXIgQVBJIHByb3Bvc2FsIGhhcyB0aGVzZSB2YWx1ZXMgYXMgZW51bXMsIG5vdCBj
b25zdGFudCBudW1iZXJzLgotICAgIC8vIFdlIGhhdmVuJ3QgZ290IGFyb3VuZCB0byBpbXBsZW1l
bnRpbmcgdGhlIGVudW1zIHlldC4KLSAgICBwaXBlbGluZURlc2NyaXB0b3IuY29sb3JBdHRhY2ht
ZW50c1swXS5waXhlbEZvcm1hdCA9IGdwdS5QaXhlbEZvcm1hdEJHUkE4VW5vcm07Ci0KLSAgICBy
ZW5kZXJQaXBlbGluZVN0YXRlID0gZ3B1LmNyZWF0ZVJlbmRlclBpcGVsaW5lU3RhdGUocGlwZWxp
bmVEZXNjcmlwdG9yKTsKLQotICAgIHJlbmRlclBhc3NEZXNjcmlwdG9yID0gbmV3IFdlYkdQVVJl
bmRlclBhc3NEZXNjcmlwdG9yKCk7Ci0gICAgLy8gTk9URTogT3VyIEFQSSBwcm9wb3NhbCBoYXMg
c29tZSBvZiB0aGVzZSB2YWx1ZXMgYXMgZW51bXMsIG5vdCBjb25zdGFudCBudW1iZXJzLgotICAg
IC8vIFdlIGhhdmVuJ3QgZ290IGFyb3VuZCB0byBpbXBsZW1lbnRpbmcgdGhlIGVudW1zIHlldC4K
LSAgICByZW5kZXJQYXNzRGVzY3JpcHRvci5jb2xvckF0dGFjaG1lbnRzWzBdLmxvYWRBY3Rpb24g
PSBncHUuTG9hZEFjdGlvbkNsZWFyOwotICAgIHJlbmRlclBhc3NEZXNjcmlwdG9yLmNvbG9yQXR0
YWNobWVudHNbMF0uc3RvcmVBY3Rpb24gPSBncHUuU3RvcmVBY3Rpb25TdG9yZTsKLSAgICByZW5k
ZXJQYXNzRGVzY3JpcHRvci5jb2xvckF0dGFjaG1lbnRzWzBdLmNsZWFyQ29sb3IgPSBbMC4zNSwg
MC42NSwgMC44NSwgMS4wXTsKLQotICAgIHJlbmRlcigpOwotfQotCi1mdW5jdGlvbiByZW5kZXIo
KSB7Ci0KLSAgICBsZXQgY29tbWFuZEJ1ZmZlciA9IGNvbW1hbmRRdWV1ZS5jcmVhdGVDb21tYW5k
QnVmZmVyKCk7Ci0gICAgbGV0IGRyYXdhYmxlID0gZ3B1Lm5leHREcmF3YWJsZSgpOwotICAgIHJl
bmRlclBhc3NEZXNjcmlwdG9yLmNvbG9yQXR0YWNobWVudHNbMF0udGV4dHVyZSA9IGRyYXdhYmxl
LnRleHR1cmU7Ci0KLSAgICBsZXQgY29tbWFuZEVuY29kZXIgPSBjb21tYW5kQnVmZmVyLmNyZWF0
ZVJlbmRlckNvbW1hbmRFbmNvZGVyV2l0aERlc2NyaXB0b3IocmVuZGVyUGFzc0Rlc2NyaXB0b3Ip
OwotICAgIGNvbW1hbmRFbmNvZGVyLnNldFJlbmRlclBpcGVsaW5lU3RhdGUocmVuZGVyUGlwZWxp
bmVTdGF0ZSk7Ci0KLSAgICAvLyBOT1RFOiBXZSBkaWRuJ3QgYXR0YWNoIGFueSBidWZmZXJzLiBX
ZSBjcmVhdGUgdGhlIGdlb21ldHJ5IGluIHRoZSB2ZXJ0ZXggc2hhZGVyIHVzaW5nCi0gICAgLy8g
dGhlIHZlcnRleCBJRC4KLQotICAgIC8vIE5PVEU6IE91ciBBUEkgcHJvcG9zYWwgdXNlcyB0aGUg
ZW51bSB2YWx1ZSAidHJpYW5nbGUiIGhlcmUuIFdlIGhhdmVuJ3QgZ290IGFyb3VuZCB0byBpbXBs
ZW1lbnRpbmcgdGhlIGVudW1zIHlldC4KLSAgICBjb21tYW5kRW5jb2Rlci5kcmF3UHJpbWl0aXZl
cyhncHUuUHJpbWl0aXZlVHlwZVRyaWFuZ2xlLCAwLCAzKTsKLQotICAgIGNvbW1hbmRFbmNvZGVy
LmVuZEVuY29kaW5nKCk7Ci0gICAgY29tbWFuZEJ1ZmZlci5wcmVzZW50RHJhd2FibGUoZHJhd2Fi
bGUpOwotICAgIGNvbW1hbmRCdWZmZXIuY29tbWl0KCk7Ci19CmRpZmYgLS1naXQgYS9XZWJzaXRl
cy93ZWJraXQub3JnL2RlbW9zL3dlYmdwdS9pbmRleC5odG1sIGIvV2Vic2l0ZXMvd2Via2l0Lm9y
Zy9kZW1vcy93ZWJncHUvaW5kZXguaHRtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
YjE0NWIxY2Q5MzM0YmE5YzlmOTM1Nzg4ZWFkMDUxNzA5NTRiMTIwMS4uMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9XZWJzaXRlcy93ZWJraXQub3JnL2RlbW9z
L3dlYmdwdS9pbmRleC5odG1sCisrKyAvZGV2L251bGwKQEAgLTEsMjE3ICswLDAgQEAKLTwhRE9D
VFlQRSBodG1sPgotPGh0bWw+Ci08aGVhZD4KLTxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50
PSJ3aWR0aD1kZXZpY2Utd2lkdGgiPgotPG1ldGEgaHR0cC1lcXVpdj0iQ29udGVudC10eXBlIiBj
b250ZW50PSJ0ZXh0L2h0bWw7IGNoYXJzZXQ9dXRmLTgiPgotPHRpdGxlPldlYkdQVSBkZW1vczwv
dGl0bGU+Ci08bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Imh0dHBzOi8vd2Via2l0Lm9yZy93
cC1jb250ZW50L3RoZW1lcy93ZWJraXQvc3R5bGUuY3NzIj4KLTxsaW5rIHJlbD0ic3R5bGVzaGVl
dCIgaHJlZj0iaHR0cHM6Ly93d3cuYXBwbGUuY29tL3dzcy9mb250cz9mYW1pbHk9TXlyaWFkK1Nl
dCtQcm8mYW1wO3Y9MSI+Ci08c3R5bGU+Ci0qIHsKLSAgICAtLWJhY2s6IHJnYigxMzAsIDEzMCwg
MTI2KTsKLSAgICAtLWRhcms6IHJnYig2NSwgNjUsIDYzKTsKLSAgICAtLXN1Yi1oaWdobGlnaHQ6
IHJnYigxNDgsIDE3NiwgODMpOwotICAgIC0taGlnaGxpZ2h0OiByZ2IoMTg5LCAyMzUsIDcpOwot
ICAgIC0tYm9keTogcmdiKDIyNCwgMjI0LCAyMjQpOwotICAgIC0tYm9keS1kYXJrZXI6IHJnYigy
MDQsIDIwNCwgMjA0KTsKLX0KLQotYm9keSB7Ci0gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0t
Ym9keSk7Ci0gICAgY29sb3I6IHZhcigtLWRhcmspOwotICAgIG1hcmdpbjogMDsKLSAgICBwYWRk
aW5nOiAwOwotICAgIGxpbmUtaGVpZ2h0OiAxLjQ7Ci19Ci0KLWhlYWRlciB7Ci0gICAgcG9zaXRp
b246IHJlbGF0aXZlOwotICAgIGhlaWdodDogMjB2dzsKLSAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2
YXIoLS1iYWNrKTsKLSAgICBvdmVyZmxvdzogaGlkZGVuOwotICAgIGJvcmRlci1ib3R0b206IG5v
bmU7Ci19Ci0KLWhlYWRlciAqIHsKLSAgICBwb3NpdGlvbjogYWJzb2x1dGU7Ci0gICAgdG9wOiAw
OwotICAgIGxlZnQ6IDMwdnc7Ci19Ci0KLWhlYWRlciBpbWcgewotICAgIHdpZHRoOiA0MHZ3Owot
ICAgIGhlaWdodDogNDB2dzsKLSAgICBhbmltYXRpb246IHNwaW4gNjBzIGluZmluaXRlIGxpbmVh
cjsKLX0KLQotQGtleWZyYW1lcyBzcGluIHsKLSAgZnJvbSB7Ci0gICAgICB0cmFuc2Zvcm06IHJv
dGF0ZSgwZGVnKTsKLSAgfQotICB0byB7Ci0gICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcp
OwotICB9Ci19Ci0KLWgxIHsKLSAgICB0b3A6IDEwdnc7Ci0gICAgd2lkdGg6IDQwdnc7Ci0gICAg
bWFyZ2luOiAwIGF1dG87Ci0gICAgZm9udC1zaXplOiA1dnc7Ci0gICAgdGV4dC1hbGlnbjogY2Vu
dGVyOwotICAgIGZvbnQtd2VpZ2h0OiBib2xkOwotICAgIGNvbG9yOiB2YXIoLS1kYXJrKTsKLSAg
ICBsaW5lLWhlaWdodDogMS4wOwotICAgIHRleHQtc2hhZG93OiAwcHggMnB4IDBweCB2YXIoLS1i
YWNrKTsKLX0KLQotc2VjdGlvbi5kZW1vcyB7Ci0gICAgZGlzcGxheTogZ3JpZDsKLSAgICBtYXJn
aW46IDV2dyAyMHZ3OwotICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMTZ2dyAxNnZ3IDE2dnc7
Ci0gICAgZ3JpZC1nYXA6IDZ2dzsKLX0KLQotc2VjdGlvbiBwIHsKLSAgICBwYWRkaW5nOiAxMnB4
IDIwcHg7Ci0gICAgY29sb3I6IHZhcigtLWRhcmspOwotfQotCi1zZWN0aW9uIHAgYSB7Ci0gICAg
dGV4dC1kZWNvcmF0aW9uOiBub25lOwotICAgIGNvbG9yOiB2YXIoLS1zdWItaGlnaGxpZ2h0KTsK
LSAgICBmb250LXdlaWdodDogYm9sZDsKLX0KLQotLmludHJvIHsKLSAgICBncmlkLWNvbHVtbjog
MSAvIDQ7Ci0gICAgZ3JpZC1yb3c6IDE7Ci19Ci0KLS5ob3d0byB7Ci0gICAgZ3JpZC1jb2x1bW46
IDEgLyA0OwotICAgIGdyaWQtcm93OiAyOwotfQotCi0ud2FybmluZyB7Ci0gICAgZ3JpZC1jb2x1
bW46IDEgLyA0OwotICAgIGdyaWQtcm93OiAzOwotICAgIGJvcmRlcjogMnB4IHNvbGlkIHZhcigt
LXN1Yi1oaWdobGlnaHQpOwotICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWhpZ2hsaWdodCk7
Ci0gICAgY29sb3I6IGJsYWNrOwotfQotCi0uZXhhbXBsZSB7Ci0gICAgYm9yZGVyOiAycHggc29s
aWQgdmFyKC0tc3ViLWhpZ2hsaWdodCk7Ci0gICAgdGV4dC1hbGlnbjogY2VudGVyOwotICAgIHBh
ZGRpbmc6IDEwcHggMTBweDsKLSAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1ib2R5LWRhcmtl
cik7Ci19Ci0KLS5leGFtcGxlIGltZyB7Ci0gICAgYmFja2dyb3VuZC1jb2xvcjogYmxhY2s7Ci0g
ICAgYm9yZGVyOiAxcHggc29saWQgYmxhY2s7Ci0gICAgYm94LXNpemluZzogYm9yZGVyLWJveDsK
LSAgICB3aWR0aDogMTJ2dzsKLSAgICBoZWlnaHQ6IDEydnc7Ci19Ci0KLS5leGFtcGxlIGEgewot
ICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsKLSAgICBjb2xvcjogdmFyKC0tZGFyayk7Ci19Ci0K
LUBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjAwcHgpIHsKLSAgICBoZWFkZXIg
ewotICAgICAgICBoZWlnaHQ6IDQwdnc7Ci0gICAgfQotCi0gICAgaGVhZGVyICogewotICAgICAg
ICBsZWZ0OiAxMHZ3OwotICAgIH0KLQotICAgIGhlYWRlciBpbWcgewotICAgICAgICB3aWR0aDog
ODB2dzsKLSAgICAgICAgaGVpZ2h0OiA4MHZ3OwotICAgIH0KLQotICAgIGgxIHsKLSAgICAgICAg
dG9wOiAyMHZ3OwotICAgICAgICB3aWR0aDogODB2dzsKLSAgICAgICAgZm9udC1zaXplOiAxMHZ3
OwotICAgIH0KLQotICAgIHNlY3Rpb24uZGVtb3MgewotICAgICAgICBtYXJnaW46IDV2dyA1dnc7
Ci0gICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogOTB2dzsKLSAgICAgICAgZ3JpZC1nYXA6
IDZ2dzsKLSAgICB9Ci0KLSAgICAuaW50cm8sIC5ob3d0bywgLndhcm5pbmcgewotICAgICAgICBn
cmlkLWNvbHVtbjogMTsKLSAgICB9Ci0KLSAgICAuZXhhbXBsZSBpbWcgewotICAgICAgICB3aWR0
aDogNzB2dzsKLSAgICAgICAgaGVpZ2h0OiA3MHZ3OwotICAgIH0KLX0KLQotPC9zdHlsZT4KLTwv
aGVhZD4KLTxib2R5PgotICAgIDxoZWFkZXI+Ci0gICAgICAgIDxpbWcgc3JjPSJjaXJjbGUuc3Zn
Ij4KLSAgICAgICAgPGgxPldlYkdQVTxicj5kZW1vczwvaDE+Ci0gICAgPC9oZWFkZXI+Ci0gICAg
PHNlY3Rpb24gY2xhc3M9ImRlbW9zIj4KLSAgICAgICAgPHAgY2xhc3M9ImludHJvIj4KLSAgICAg
ICAgICAgIEhlcmUgYXJlIGEgY29sbGVjdGlvbiBvZiBzaW1wbGUgPGEKLSAgICAgICAgICAgIGhy
ZWY9Imh0dHBzOi8vd2Via2l0Lm9yZy9ibG9nLzczODAvbmV4dC1nZW5lcmF0aW9uLTNkLWdyYXBo
aWNzLW9uLXRoZS13ZWIvIj5XZWJHUFU8L2E+Ci0gICAgICAgICAgICBleGFtcGxlcy4gVGhleSBz
aG91bGQgd29yayBpbiB0aGUgbGF0ZXN0IDxhCi0gICAgICAgICAgICBocmVmPSJodHRwczovL2Rl
dmVsb3Blci5hcHBsZS5jb20vc2FmYXJpL3RlY2hub2xvZ3ktcHJldmlldy8iPlNhZmFyaQotICAg
ICAgICAgICAgIFRlY2hub2xvZ3kgUHJldmlldzwvYT4gcmVsZWFzZXMsIGFzIHdlbGwgYXMgPGEK
LSAgICAgICAgICAgIGhyZWY9Imh0dHBzOi8vd2Via2l0Lm9yZy9uaWdodGx5LyI+bmlnaHRseSBX
ZWJLaXQ8L2E+IGJ1aWxkcy4gQXQKLSAgICAgICAgICAgIHRoZSBtb21lbnQgdGhlcmUgYXJlIGEg
ZmV3IHNtYWxsIGRpZmZlcmVuY2VzIGJldHdlZW4gdGhlCi0gICAgICAgICAgICBpbXBsZW1lbnRh
dGlvbiBhbmQgdGhlIDxhCi0gICAgICAgICAgICBocmVmPSJodHRwczovL3dlYmtpdC5vcmcvd3At
Y29udGVudC91cGxvYWRzL3dlYmdwdS1hcGktcHJvcG9zYWwuaHRtbAotICAgICAgICAgICAgIj5k
b2N1bWVudGVkIHByb3Bvc2FsPC9hPiwgbW9zdCBvZiB3aGljaCBhcmUgZG9jdW1lbnRlZCBpbiB0
aGUgY29kZS4KLSAgICAgICAgPC9wPgotICAgICAgICA8cCBjbGFzcz0iaG93dG8iPgotICAgICAg
ICAgICAgTWFrZSBzdXJlIHlvdSBhcmUgb24gYSBzeXN0ZW0gd2l0aCBXZWJHUFUgZW5hYmxlZC4g
SW4gU2FmYXJpLCBmaXJzdAotICAgICAgICAgICAgbWFrZSBzdXJlIHRoZSBEZXZlbG9wZXIgTWVu
dSBpcyB2aXNpYmxlIChQcmVmZXJlbmNlcyDihpIgQWR2YW5jZWQpLAotICAgICAgICAgICAgdGhl
biBEZXZlbG9wIOKGkiBFeHBlcmltZW50YWwgRmVhdHVyZXMg4oaSIEVuYWJsZSBXZWJHUFUuCi0g
ICAgICAgIDwvcD4KLSAgICAgICAgPHAgY2xhc3M9Indhcm5pbmciPgotICAgICAgICAgICAgV2Vi
R1BVIGlzIGFuIGV4cGVyaW1lbnRhbCB0ZWNobm9sb2d5LCBhbmQgeW91IHNob3VsZCBub3QgYnJv
d3NlIHRoZSBlbnRpcmUKLSAgICAgICAgICAgIFdlYiB3aXRoIGl0IGVuYWJsZWQgZm9yIG5vdy4g
SXQgZG9lc24ndCBkbyBhbnkgdmFsaWRhdGlvbiBvZiBjb250ZW50LCBhbmQKLSAgICAgICAgICAg
IHRodXMgbWF5IGNhdXNlIHNvbWUgaXNzdWVzIHdpdGggeW91ciBjb21wdXRlci4KLSAgICAgICAg
PC9wPgotICAgICAgICA8ZGl2IGNsYXNzPSJleGFtcGxlIj4KLSAgICAgICAgICAgIDxhIGhyZWY9
ImhlbGxvLmh0bWwiPgotICAgICAgICAgICAgPGltZyBzcmM9ImhlbGxvLmpwZyI+PGJyPgotICAg
ICAgICAgICAgSGVsbG8gV29ybGQgVHJpYW5nbGUKLSAgICAgICAgICAgIDwvYT4KLSAgICAgICAg
PC9kaXY+Ci0gICAgICAgIDxkaXYgY2xhc3M9ImV4YW1wbGUiPgotICAgICAgICAgICAgPGEgaHJl
Zj0iMmQuaHRtbCI+Ci0gICAgICAgICAgICA8aW1nIHNyYz0iMmQuanBnIj48YnI+Ci0gICAgICAg
ICAgICAyZC1kcmF3aW5nIGxpa2UgU2hhZGVydG95Ci0gICAgICAgICAgICA8L2E+Ci0gICAgICAg
IDwvZGl2PgotICAgICAgICA8ZGl2IGNsYXNzPSJleGFtcGxlIj4KLSAgICAgICAgICAgIDxhIGhy
ZWY9InNpbXBsZS5odG1sIj4KLSAgICAgICAgICAgIDxpbWcgc3JjPSJzaW1wbGUuanBnIj48YnI+
Ci0gICAgICAgICAgICBTaW1wbGUgU3Bpbm5pbmcgQ3ViZQotICAgICAgICAgICAgPC9hPgotICAg
ICAgICA8L2Rpdj4KLSAgICAgICAgPGRpdiBjbGFzcz0iZXhhbXBsZSI+Ci0gICAgICAgICAgICA8
YSBocmVmPSJjdWJlcy5odG1sIj4KLSAgICAgICAgICAgIDxpbWcgc3JjPSJjdWJlcy5qcGciPjxi
cj4KLSAgICAgICAgICAgIEFuaW1hdGluZyBDdWJlcwotICAgICAgICAgICAgPC9hPgotICAgICAg
ICA8L2Rpdj4KLSAgICA8L3NlY3Rpb24+Ci08L2Rpdj4KLTwvYm9keT4KLTwvaHRtbD4KZGlmZiAt
LWdpdCBhL1dlYnNpdGVzL3dlYmtpdC5vcmcvZGVtb3Mvd2ViZ3B1L3NoYXJlZC5jc3MgYi9XZWJz
aXRlcy93ZWJraXQub3JnL2RlbW9zL3dlYmdwdS9zaGFyZWQuY3NzCmRlbGV0ZWQgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAyMzUxNDQ5NTQ0OTg3MmY0MWQ3NDY1ZmY3YjQ0OGJjYjAyNDk3ZTE4Li4w
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL1dlYnNpdGVzL3dl
YmtpdC5vcmcvZGVtb3Mvd2ViZ3B1L3NoYXJlZC5jc3MKKysrIC9kZXYvbnVsbApAQCAtMSw0NSAr
MCwwIEBACi1ib2R5IHsKLSAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2IoMzUlLCA2NSUsIDg1JSk7
Ci0gICAgbWFyZ2luOiAwOwotICAgIHBhZGRpbmc6IDA7Ci0gICAgaGVpZ2h0OiAxMDB2aDsKLSAg
ICBkaXNwbGF5OiBmbGV4OwotICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7Ci0gICAganVzdGlmeS1j
b250ZW50OiBjZW50ZXI7Ci19Ci0KLWNhbnZhcyB7Ci0gICAgZGlzcGxheTogYmxvY2s7Ci0gICAg
d2lkdGg6IDEwMHZ3OwotICAgIGhlaWdodDogMTAwdmg7Ci19Ci0KLWJvZHkuZXJyb3IgewotICAg
IGJhY2tncm91bmQtY29sb3I6IHJnYig4NSUsIDM1JSwgMzUlKTsKLX0KLQotYm9keS5lcnJvciBj
YW52YXMgewotICAgIGRpc3BsYXk6IG5vbmU7Ci19Ci0KLSNlcnJvciB7Ci0gICAgbWFyZ2luOiAw
OwotICAgIHBhZGRpbmc6IDA7Ci0gICAgd2lkdGg6IDUwdnc7Ci0gICAgZGlzcGxheTogbm9uZTsK
LSAgICB0ZXh0LWFsaWduOiBjZW50ZXI7Ci19Ci0KLWJvZHkuZXJyb3IgI2Vycm9yIHsKLSAgICBk
aXNwbGF5OiBibG9jazsKLX0KLQotI2Vycm9yIGgyIHsKLSAgICBmb250LXdlaWdodDogYm9sZDsK
LSAgICBmb250LXNpemU6IDQwcHg7Ci0gICAgbWFyZ2luLWJvdHRvbTogMjBweDsKLX0KLQotI2Vy
cm9yIHAgewotICAgIGZvbnQtc2l6ZTogMzBweDsKLX0KZGlmZiAtLWdpdCBhL1dlYnNpdGVzL3dl
YmtpdC5vcmcvZGVtb3Mvd2ViZ3B1L3NoYXJlZC5qcyBiL1dlYnNpdGVzL3dlYmtpdC5vcmcvZGVt
b3Mvd2ViZ3B1L3NoYXJlZC5qcwpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZTQ5OTc2
NzRjZjkyOTM1MzczZDA5MTIzMmQyMTY3YWFiM2I0OTVkNS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9XZWJzaXRlcy93ZWJraXQub3JnL2RlbW9zL3dlYmdw
dS9zaGFyZWQuanMKKysrIC9kZXYvbnVsbApAQCAtMSwxMSArMCwwIEBACi1jb25zdCBoYXNXZWJH
UFUgPSAoKSA9PiB7Ci0gICAgcmV0dXJuICdXZWJHUFVSZW5kZXJpbmdDb250ZXh0JyBpbiB3aW5k
b3c7Ci19OwotCi1jb25zdCBjaGVja0ZvcldlYkdQVSA9ICgpID0+IHsKLSAgICBpZiAoaGFzV2Vi
R1BVKCkpCi0gICAgICByZXR1cm4gdHJ1ZTsKLQotICAgIGRvY3VtZW50LmJvZHkuY2xhc3NOYW1l
ID0gImVycm9yIjsKLSAgICByZXR1cm4gZmFsc2U7Ci19CmRpZmYgLS1naXQgYS9XZWJzaXRlcy93
ZWJraXQub3JnL2RlbW9zL3dlYmdwdS9zaW1wbGUuaHRtbCBiL1dlYnNpdGVzL3dlYmtpdC5vcmcv
ZGVtb3Mvd2ViZ3B1L3NpbXBsZS5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAx
YTA5ZTQ2ZTRkZmFhMDA5OTVhNzhiMTcwMTQxOWQ4NGQyMjI3NDc4Li4wMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL1dlYnNpdGVzL3dlYmtpdC5vcmcvZGVtb3Mv
d2ViZ3B1L3NpbXBsZS5odG1sCisrKyAvZGV2L251bGwKQEAgLTEsNTcgKzAsMCBAQAotPCFET0NU
WVBFIGh0bWw+Ci08aHRtbD4KLTxoZWFkPgotPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9
IndpZHRoPTYwMCI+Ci08bWV0YSBodHRwLWVxdWl2PSJDb250ZW50LXR5cGUiIGNvbnRlbnQ9InRl
eHQvaHRtbDsgY2hhcnNldD11dGYtOCI+Ci08dGl0bGU+V2ViR1BVIFNpbXBsZSBkZW1vPC90aXRs
ZT4KLTxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0ic2hhcmVkLmNzcyI+Ci08bGluayByZWw9
InN0eWxlc2hlZXQiIGhyZWY9Imh0dHBzOi8vd2Via2l0Lm9yZy93cC1jb250ZW50L3RoZW1lcy93
ZWJraXQvc3R5bGUuY3NzIj4KLTxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iaHR0cHM6Ly93
d3cuYXBwbGUuY29tL3dzcy9mb250cz9mYW1pbHk9TXlyaWFkK1NldCtQcm8mYW1wO3Y9MSI+Ci08
c2NyaXB0IHNyYz0iZ2wtbWF0cml4LW1pbi5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0ic2hh
cmVkLmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSJzaW1wbGUuanMiPjwvc2NyaXB0PgotPHNj
cmlwdCBpZD0ibGlicmFyeSIgdHlwZT0ieC1zaGFkZXIveC1tZXRhbCI+Ci0jaW5jbHVkZSA8bWV0
YWxfc3RkbGliPgotCi11c2luZyBuYW1lc3BhY2UgbWV0YWw7Ci0KLXN0cnVjdCBWZXJ0ZXgKLXsK
LSAgICBmbG9hdDQgcG9zaXRpb24gW1twb3NpdGlvbl1dOwotICAgIGZsb2F0NCBjb2xvcjsKLX07
Ci0KLXN0cnVjdCBVbmlmb3JtCi17Ci0gICAgZmxvYXQ0eDQgbW9kZWxWaWV3UHJvamVjdGlvbk1h
dHJpeDsKLX07Ci0KLXZlcnRleCBWZXJ0ZXggdmVydGV4X21haW4oZGV2aWNlIFZlcnRleCAqdmVy
dGljZXMgW1tidWZmZXIoMCldXSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3RhbnQg
VW5pZm9ybSAqdW5pZm9ybXMgW1tidWZmZXIoMSldXSwKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgdWludCB2aWQgW1t2ZXJ0ZXhfaWRdXSkKLXsKLSAgICBWZXJ0ZXggdmVydGV4T3V0OwotICAg
IHZlcnRleE91dC5wb3NpdGlvbiA9IHVuaWZvcm1zLT5tb2RlbFZpZXdQcm9qZWN0aW9uTWF0cml4
ICogdmVydGljZXNbdmlkXS5wb3NpdGlvbjsKLSAgICB2ZXJ0ZXhPdXQuY29sb3IgPSB2ZXJ0aWNl
c1t2aWRdLmNvbG9yOwotCi0gICAgcmV0dXJuIHZlcnRleE91dDsKLX0KLQotZnJhZ21lbnQgZmxv
YXQ0IGZyYWdtZW50X21haW4oVmVydGV4IHZlcnRleEluIFtbc3RhZ2VfaW5dXSkKLXsKLSAgICBy
ZXR1cm4gZmxvYXQ0KHZlcnRleEluLmNvbG9yKTsKLX0KLTwvc2NyaXB0PgotPC9oZWFkPgotPGJv
ZHk+Ci08Y2FudmFzPjwvY2FudmFzPgotPGRpdiBpZD0iZXJyb3IiPgotICAgIDxoMj5XZWJHUFUg
bm90IGF2YWlsYWJsZTwvaDI+Ci0gICAgPHA+Ci0gICAgICAgIE1ha2Ugc3VyZSB5b3UgYXJlIG9u
IGEgc3lzdGVtIHdpdGggV2ViR1BVIGVuYWJsZWQuIEluCi0gICAgICAgIFNhZmFyaSwgZmlyc3Qg
bWFrZSBzdXJlIHRoZSBEZXZlbG9wZXIgTWVudSBpcyB2aXNpYmxlIChQcmVmZXJlbmNlcyDihpIK
LSAgICAgICAgQWR2YW5jZWQpLCB0aGVuIERldmVsb3Ag4oaSIEV4cGVyaW1lbnRhbCBGZWF0dXJl
cyDihpIgRW5hYmxlIFdlYkdQVS4KLSAgICA8L3A+Ci08L2Rpdj4KLTwvYm9keT4KLTwvaHRtbD4K
ZGlmZiAtLWdpdCBhL1dlYnNpdGVzL3dlYmtpdC5vcmcvZGVtb3Mvd2ViZ3B1L3NpbXBsZS5qcGcg
Yi9XZWJzaXRlcy93ZWJraXQub3JnL2RlbW9zL3dlYmdwdS9zaW1wbGUuanBnCmRlbGV0ZWQgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCA5MTk5MzAxM2FmMWYyNTUxY2E5NzQ4OWYxOTY2YTQ4ZGY0Nzg2
OWVjLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCkdJVCBiaW5hcnkg
cGF0Y2gKbGl0ZXJhbCAwCkhjbVY/ZDAwMDAxCgpsaXRlcmFsIDI4NTY0CnpjbWVGWGJ6QnxHeCZf
I3Fqa149di1RNkwkMSRQTSYrJjFuNjV8V1VGQU9WNXxjZW1oOWZaemR3QyU2UTZfYl5TKQp6Sj9G
bDYtQE48byUpSSV7QTlEK09fdCh8YyltN2NBekZPYnZ5OEN7JjJ3KkdBRTZEPjgybW1POGY1Nj1t
QEpQPHIKei1VYXx2UlJJPE4wRlZKVjJyZDh4RWVRQXJ5dFc3NmY3PH1TMFBYPCpFKDdrKjlMUHhx
XnpaaWwkLTU7S1lDQkkpCnpSfW9INW08TloybUNGLXI0b2VxalBHMVhHUEhxa15QQyFpMypWViQo
KGJ8KmhpTTZkZ09xXiFGc2Z+dXAtYiRRQwp6cEk/PHIpbTZzWSZSKV5xLUNFbVVPfj15VChOZnJv
TXBBLUcldlokTSsxMShGKH1LI14qJEwoJDt3dyhgeUspaUcKenpSJXtRcTU1NksoQH50cEt2amNF
Iz5MJjVpbDJqemdOcHtkK1RGQFZMYHpvd1pgWG9IO3h2RDJxPnFtZWhZdjRACnppQFBsK3gzSTc8
Q2w/UFY0LVkkN2c1QVJwPTRzKX00KWRWPnZqJG1mNEAtQUBTNUpFdjd9YjReN0VmSGZKakgyZgp6
SUtld2B7X1BnYD0zaX08cCEjP0VfWT9UezZaclFOYDFjZHxfWT9UezZacnElNlprdlp2NCgqWiN8
UHZ4en0rcSYKenErI2RjPkVkRE07ITRISyEzNzlPRTIrWllsUG9hKHcme1BIKnlINWtLY2F3Ml98
MGMxaTh+azRMM2hnIXpBTVNkCnptfXpMSyVQVCNTYF8xN1ZeamYmT0k+QktCZkhUYX5UfXdmbCVE
fld3M1RYK1habnorb1YqQHhYRUluTU1HJkNPRgp6KlpKckVjbTAzO29LNDtuSnBkU0V6cHZ9Qj8w
P09gdT54cmskUTNvZjshbXRSRVMqOFM4cjs1R3kxSUo7MFE0RHsKelB3VjY5ZFQtfXxIb2lPOUsr
dndnd3s4RWh6dXd6Vns7KEgrbShrSVowbjQwI1khdXpYIXJjfUMoN3xrZyVHPVR3Cnp0T3VQNjAx
JEN1UmB4SWV6fnV2TjJ9P1QqRCokKV5vJihzTm9uN3dqNEE1cUpAKm5FNHtTVVQ8I2dvNzR3Nkwp
Swp6JWxATTs7RmFLd1ckaXMmb2g8eCpBTis2ckk2SFpQJitCKWgwZXtpJCshZUxKSnN0U1czTElU
ans8MnxEKVlTalgKencrRE9scil9cUBzUWFnRj1eK0M/JVJqRVF2WEU4eilBbi1JbUhOfVJhMGpp
d205aDYhKClyVk5jaFVOKmV3ZFRtCnpKd0FUNyFPbUxnRldjSGZQVyNWJTgrJj1CS1clP0k5c05J
VFora3RwS1d6XzM/WjRYS1p6dUN0elBwIyFVdjBLPQp6bTtiQWUmS31eRWY0aUB4I296RGNYe1E1
KkNWI1pZK1FaPGxfRT1mViVLZW9PKUJVUyR1QWI2PSkjPlc9OHwlT08KelYocH54U0g2ZTBfRnZh
fXk2Z092P19pO1BrS056cFR8RzdhZE9wQS1Lbns9dnJ+bnpqOSlKUFhmSFBuTDk/NjE3Cno5KUso
MDFSblckVEtuRSg0dj13aV4+ZXFrd2V6SHMwIU5URmxAaVI3Z049JVppKDMhPz8jSlZPODJ+dWVg
YVJBZAp6Z3V7USZhfDVwejVlQjJHKVc3Rmh1bVY2TTgjcDlOeys+ckMwMDN5bzBNTjh6PkUtVklN
fTZAM0l8S2p+enlrMEEKelZ0QGptMSgqUEtmQ21yJk0xaEIzPnktZ0BLbkV9Y09hVio0NHM1P1ct
fiQ4IyZ3KV9qOXE9QkExQ29HckFSOHpFCnpOYFhxQzRybTcyZm9AO2BfeSRZPkdyJUlTM1R5KWh6
IWA4MmZrMlFUNyFXKU5GQHpGQTRgR0d5SyFoTD81SU0qcgp6aCEoXlVWaCp1fHojdnxiSyokVG9K
NGcmOTM2Y3BaZ25XV0RLLXdYRmtQKmxhJFAjMXxhcztgOGdUa1QxO2xxKWAKekZ+RCljM0JnSWhz
bGUmTEolK1B8YkEkN1Rka0dmX21rNV55Unt+Y0gqQTYhVEh2eldAdysoaisxKXlrOUxNU3pxCno5
ViFIc2Z2UTd8cGYqcjxYYj8wRThWfThhbU8mZSNKPHVgZUI2SjZPMzZCVm0yVHVqaDRsZkY/MihK
cm8zR1c2VQp6MVJvQmMxWVpETzM7elh2NDFOanowUjkmTzFfQnVaRH1vNHU1YHFET0VySmgxQ18r
MyE5enFSNTdzM1I+RCM5NWUKekF8ZkZvQmNkUnBCQkNMcDE3Wk1USUFTVmRJcFN4OzV5VGI1UXpS
ckxWa0F+MWFVXnZsM25XalpQXjZEWUJ9aT5aCnpxZSFicjdzelBIbCpsfkReMmtRV0Z5cypBYztx
N0ZSXihDU2I+d1JsWSFyR0Y1ZnBWNEQtPUpKRDNsek9Nd0RUYwp6UmdgTn45OF5ZQmFhMHt0Mmhg
YE5pS3UwJFU4dTlEJDdwRDFHLSQkVG5yUVpEJihJUmxEJHNoLW1lNE5JYW5WYE8Keld6YkV+ejBm
MWteVSoofXwzRSoremAkVUBjISooeTtmV0U2UUhhcnJGXl9TOWlIRkk3c2YxflQ4SHx+WFMmS1B9
Cnp4cmM+PE1VTiRnV3MycEc2Xn5WZ0hIQGBgamVeYTlFclZAPTlmWH5YLUdEdVhlVHN2SiE7UGJr
PEJTdUlRLXNycAp6dndAMyolWVo5fllsWnN+SHlnSlRjTGZpTU1+ZiRlWE5tVSRGOSl2K1p4dFVB
cEFsYVAtdlIjfWVrdU1De3M5M2wKejBVdj1MZmlGUWFLP31obUEoVzdUUD5JbHFGcDk4fWFGWHpm
aEA0MUAkZVFSYVE1biVGKGZJPz8yTS1AdUtMfnFKCnp7JFMkNDYpX2REOUkrI0RHO3RtQTkwQCFM
M3lDSSk0QG53SDdzKERPS0IqfEZDMjFJR0NGd0w3OTJwQ2w3RmhzVQp6SHJaRlFRKnNKJjEjKHlO
a0t+PT9JfjBUejQ9RWZkSzJXcSRZKk9NO04+SktVZXhQaWwrQGQwJmxBPn49Tn5IUWkKemJ3RXU8
dHdgLWZvaz19SmVORHFpcWV+TSlRJSpCU2klS2cqWWVWfml3dUFQN2oqP0U1RXw5TDZaa2lzMlVX
bmR+CnpLN3FjNnsreGw0TDcoOUBMbWs1Zzt7ISR8TXR7YSkjI3RyfENQXmtZcll4cCRXPCtLb1c9
R34hPTVIKTtFY2A1WAp6RVhnZHh0Wj1MWHRvRSNfdFJyailZe0cwWHdrKTxPYzY0P3JjNW43I185
WUhOano9Nko5Q2FMZm9PR048b1k5OzsKem9XSHBFeHR6Rml4TXNMPHhzfHk/eEVyflRjdnlIV2Q2
SWQ/Y2A8bjlkNHFaRGNAT3ptYEs8WlVfYGRWd0B2SEtgCno9SWBMWTYlWjZ+N2JwfGg2cj5ZMDdm
Y2JINjJjZUs1REZMUzYtRSUyNzdpOX03UVBlXzViK2VMNnhrUEw3aithWgp6NjVTQUU2dGZufjVu
QjxiNXd7U302a244fWt9I0xaa1hWJFltYjgkfWwzYWRCYF9TclAtb3RlJVcrP30kNX4pM0QKekVA
XmteOHRIUXg1dCprbHBKayE0M2JKOWNMdnB4c3heaFchXllTJEV3KGBhRDJNWVdPMFNjY0w1Zm9K
dnFaT3g9CnokZHhSVzNZODkmMShseUZlXkVoSyhOOy1QUyRAUnckbyl+SER4OWphWU9MejQ4b2U0
IXR4Zz9LUzVsOHZwVk1IfQp6YU1OaGdNQVgjS094OWV9Oz9AZSg+ZTBzMkhxJFFCS0dUdWJpUEQr
VFd6ek4xP2E7JjBHdG4jNUpKKi1oa0lgUT0Kejs1MndARmtuYnhYbTQwPWdrKz49bHhLOG1FTjJ7
TnlsVFI0NV42SH1uRE1kaTwzM1hvUXp6M0ZHYn1SO3ZucTIwCnpiQTl0N15CVzZ3aSE2KU5DclZG
Sm8qWT1wU1NEQypUUnBWO1Y2fHkyWlhJTDJaWDwzSlczeW9eWlgwWDZYKHdxSAp6Wj98SkZXMW5Q
eT0lREQzP3JgcD8/d0lkKj1jTW1jP3VfaGc/JVYqd2cqbjIkeEtPekd4e1NFOHhgdyhneHswe08K
enhnRUh4eGFXQzVKUlc9MGQqWHd7PWNeWiEqREozalp3Yz5ZPytZSjJwREpHKlV6cVAjS05pMlll
KFYxN3s8IzcwCnowaFIkQmZ6Kk18MURCcGtKPFNZKTFVKDdyMiZONXc4TkIqVDthUzBSKWFRPVIy
U2QwKlZuUit7PSlZKXVOJmZRTAp6JWF2Q091Wmx4NEwpfUJDVVc+aj9lKl4hPHs+eyleLW5TcCR7
dEJ9Uz53bX1mRjg8dzN4TWdeTTFiME1ZIzlnRksKejxXUTdBUk44eVFfcHRZcShVUT54RipxXilG
KU9qRXY5JXdsSzdAVFppOEc3cWl8MzBeUGU0dVpOPzEmTWx2d3xmCno/JkpIOUglV0YkNlVveGE8
dGJ6LVomU2B3dHhgd1I5O1RKMGxjJkUrenNqKUJfQDFlZFMpMFg+NmB6Zm0/Vllgcgp6cW5GY0BF
MGtOOU4wUnEwPz1+Tm56Z1ZERUBURXwmdSZ7YCVENUBCKSpzRk42I0g4ZH5zY2RPfDhHQmh+SWJy
I2AKejNaVE5QVihYTG5yXiFseyU4bnxiczxMWU8+WGFKMW55XnwodHpZZHlvbjc1eHk8ej1HZ0t8
U2hxaUFESTZHdX5pCnpHaigldjNxZWElRHtBWUAqMUk8VXckc245cExnMUErZ0Njd0klWVp6ST4q
MGdlaWBhZz5GVnY0QDl5bDg+U15tMAp6P2BgZkE+MSpnMD5hUUNSN153WnF8RnZlMmYzUmpxVjVv
TGphSmNAUEBWQ1lodjYwcU0kPGcqUCp8RnwlclNYOVkKendUWTJRLU8yQSRDUjI7d3QtZiNrYVFi
bUw/TEI9eF5LMkdqSGYjPWlFYEZZREs1S3pfcD9wemJ2MUxoaT5GY3VnCnpeMzAwbSVKeHI+cEVz
KjcqRCUpTipEMlF2SCtWTGhIfDAwS1o1ZU5eWm82KEA/fVlCKz81NkI3P04jcVQtMlp4RAp6YUlr
dmxldDM1amVvVEN2ZjVMYXRhakoxVGY5OEM0ZUk5bH1ke0o7SWJsRyNJZjM8JD9iQXhufmMqfWct
XylGIzIKej80OSU3b3ZWZXIjY3dXZkZXMTdeZkZrWnVKXil9QzBzITdPMDZAazNnRD9MczBuJXYq
U08mRTlBUkxmd3hLeVlxCnpKVG4zayFYZUAmKGlITG4kYGF+MUlzeWcqclY1clBiX1VLQTl2WiNg
Zmo/bjYoSzt+O2kzTW9fKilSbkhCfG51bAp6YnRGd0M/SV8oSTB+e2tKNkJhV1g9PW07TGNpRVFN
JDJkQVVZcSlaXy19NX0+Yj5QJEVlPDs4cmgkbmE+dj99fm4KenEqXnBaPzFpfDRncUVibExwQ1cm
WCtqeG5Tcmo+VnhtKT5qZyMqUDZyQTZpTURucE9EUkdaYlIpSnJ2ckd6K3pnCnp2YGNsJGJ3QkE8
PX5vJDQ4JihAdDhDUk5vZFIlVD1aZFBldFpfKW5idEt8PT9IUn1fYkozQk9jTEkpYTBSd3NVRQp6
TnRsdzB1Qil9MWs5Jmtpb0BibGFja2VAQTZoQTZ8ITJxPkQlY3M2VVZaak57R007Q0txYHlkZjhU
QmVPR35sKHsKejg9SlJBVlFUTkIhdWNiWkJGVW1+LT1qc04jR3U3dWV8UWlfOW5ZRzttbmk7R0U9
ZV82SF5uJkJHUi1tRkd2aXQyCnpgPmYzRG53PFhKZ31qcGo8VStDeyZTTDJqLUJRfiEtfHt5VkB0
PzlQaT5zPXQ4KkFFWHlYeU10Mk9DQmpDemAlRAp6JiRLTUd7JXFVK2VBKXIrQj4yTUFDRHlJY1c3
K0d8N3VLSUxRMnc9amFBYXQ0Yz15fXMka3BpMCohQjN1I09kVlcKeilHbW0mbUZmQUpAM1coR2dZ
JiUkVTVuakl7bVl7KGIzWnAlUHVDJEU9JGo5PVh0ejBiZ20tMjNsPWY4KVdEanxjCnpoPm5ocWRy
bSV7SS1aSDBXMWNUdWx3VXIoKCE4ZD1LRD1xYWpzOWhSJDh+cjJwV1ooUTB1e25CYDJNJCRtcilN
VQp6UHxAaXo8U15+OXFPZHp+amA3Jj4lP0xnY2p6N1I0UndhMndga0N5RWZ8YiZZRHhBOFNXfEg9
VjkqY3BEayU1VnQKemAyaDxXJUxWSCkrWW95ck0+YzBUbXA4WExqfWs4ejl9KFh6fDQpSF8hRSZK
dyF1fSRycVM5Z3Y7PmhDTDUram9KCno1M3tBQnI5KShWV1MhKW0kbT1QbkNgdUBDRTdQaEZKVkpW
T3B9TTZ1dDNJTzl0SiRIfHNAPGVodVVuJjZwPGlyfQp6WFA5WX1XYzxNLTtfKytLNVZLKE9WMmg5
XlZWMUYwRGMxUW02fUkodXBZM31jaDgtdUlXfVNiK2MzZHZwNVojRzkKeipnVTFaNDdfMUpGTUpk
SE84bmFiTWd4QzdKcT9DP2hXWj5jMXBOaSNpKGZCS1VUdWNYeSZpZWZefG41Jl8rNDd+CnpgLXFU
OHBENT98dyRaalI0emNiWntOckI0emV8V3NPI1lhYVJHM19tUWpeLTgpeyNEdEZgNC1APm9mOzNf
ZHk7QAp6ekYyYDtwOz9oQEB3MVptcjVSPUE8dC1LY3BDJjM3c3kzPCpZQSROOz5KYnwtOHU2UCpu
eUZlQ1RHYHJvS2EwMDMKemNObGckZUZeVDA/YXVGTT4+Y2J8Pl83U25LUygmbEZ3Rmw9ZGdSZmxf
TCU7LShTKnNRPjZGPWJeQj9CWjdCZCNKCno3SVBOITc3TGIoYzF5MHlmaCVEQGxVOXFAbiUySz0l
eCYmJi1Seis2bEkkXzthfnlDVUdKKilXSjY8fHpLZ35EYAp6SXlib3h4cU5WV2J+U2NnYVQ5VXRA
SnMlVl84O0U9ZT9SXypAS0V1XjJ0Ml4/elltVW9PVlZWcmFTOUFkRilCeXUKejFlI1hiV3g4SnNJ
RT5VeEVYPlItakk3amJCPCRFNkQ0WVEyRzFvZnhjYjtDfVRFMEJ+SURyPn1aYkZaUlJZVXx1CnpY
fmkoYkYycStQekRhKDVTUzN7O29ndEdmOHomYmp8NjFYaHFPWCN4dmFPMmdCT08mR0gzQFlBNE5n
c0ZFZTM1bQp6OVU1SX5KeFlCdDE3YnIkQlYxIzI2UXN3RyRHNGBKWDZOUD83VDE8PVI+OzteSGlX
aWhjR1VJXjRsSXRHUENVOzEKekZrdSUtUnxQanNjUVglSCZ1M29JLWtDbjFkX1ZnUWBfQmJ6MlZN
bGgxKjFNZ2V+dUNZMGNYKmxGVU1iWGdxRldmCnplR35UOUU2bjFaWVBlN1laNnNGWVpQZjFqPD49
WCVAM0IpS3pRX0hEfEROellhcThuXyhzPVMlJTFHKlArRjwlbgp6I3peTDUpKkx2fjlwcWwrIXh2
eF81KUBHc0duODxZQHxCNXtPSUZCeWxDNn1obEM3NG1jfn5vNkNzSHJpen12eyMKeiNNO2N6TGVv
bW9NKjVrd291WSVUbGxfWmVtdnB5a2tBQ2x5S0JzPX5mIzkhaTJCVWAoaHRzfWdqJTFCeWpIUWV4
CnpPaGl3PG58a15FPT98WjJtbD9aUl5FdHpMP0ZFZlIlX2FUaUNvNjcwTHNzTH4zZjd4ODF+KFZD
aiZ8VThAJVFOVgp6Y0BEJTZXc2xeSzx4Z1p6Q0NeMDkxdW5RUlMrNXdic2N3akdAcVNfNEE+UDBM
S1hqQShJUk8hakRSYVBpTGlhVFEKekpjPFRARypSI3lBMVd3R1U7PTshMV8wOz8xOH53JjAzMHRi
MExQWDYqWmN0aUtsen5tKnVWcFQ4ZWp6ayFUNEFjCnpGYXVuR1VAKWY0MCYwTGhVPUJFanBoQm8y
QWBsJmozblVEWjU5eC1pIVhkJmohOTQ8Rnkra20rK2twfjg2YH1zbgp6YV85eTs5VD0oUXo7N1VN
ZlUjSHlBe0xAS1ZpZ2lIa352Wm5AJmphRjxZXlIxbHpjRXczUFJtUUdlYTllbXFvOWAKelY4S1lr
QioyV29MZEpUOWplenxjMk9URkNtbUllY1BZfHlNVW10Jit6Pmc0KEZvUV50PS1VRylWcFFUezU7
YysmCnooaUFjVXZTYWNMM1JRfEwlNnV3YVk2Uis5OFY2Y3grRylCdGRNeVMjaDYlPGJDVWEmKz0z
U081UnpFZ0xjMH40Sgp6aiR9P2RFK0s5LT9nZ0cmLXVIWT97RXF+OTFTeTJAZ2ZUXzFNVHh8eSNX
Xko7Q0FBK3FOV0dOS2x4ZGU7a3c7UXMKelFCK1p+U0FNMEVAdSo0bHlWfCkxdjhLM3x3UlYoRmxr
UFQlV3AlPzRxaVc7VCRBcVR4VzxLVns3S0BnfFJAJkNsCnpIWTBYO182ODBhanl1a3h1dD1BNkgj
enJ3UFlmPn5AMU1ScGVtdyE9ZndlKEEhND1RQkxuPmVMeldWZjx7WV9wTgp6I2s8NF55dlhTSElN
RStzTmpfeDd2bk1vdFI4M2sqMn5NTDt8Q2FlR1RQaGN0Kkg7aXpXTENtZTF9JmZkUjl6S2EKejw1
czhIen0xQS15eGR5eklrZHl6M3RLbF8mckR6S0stezRCdStmUDA3fW9eVDZ3ZVJjblomdjRNZXBV
Qyl6PSRECnpUUDNebGAjK0NmcEtfa2hVUGEhQHtgTWIjekpIP00/X1U2WHt+RG1lOzAhemtCN3FF
YDNlKnMwZkNFcjVwbndRTQp6RyQ0K1VQKUloWTFUNFpxO0FyOUc7VCsqJjtGe3BwcG08UGVzMjgq
ZGBWKmNTLVUyPXNlZ31hTUFzQXMwa3NRJGwKekBlMnxla35oKkE3KXlVWnpDPHhjPXw+ZXIlfGp6
YmkkSTU+YD1jTFgqa2RlVjhlPmpqPjB3UF84KUdseUlPM2UrCnp6UVFCS0U1dyg7QTB4MFF4RmJ2
Ozt3Qm1kLSMjWEJDNVp0azlCQ1B1Mnt7SU44LStWMUo+Xz8qRmx1cT9CYm93UQp6M3AjU1Q4VHc9
ZlEkeysqWktmTExYRHA5Y2lDOTxJJUdtdWw8VD4jPFNHbnJCQllDV09BTSVtJFVHdldnYmJ8OSkK
enJmYHgtdlNebEFuUnBCNiYoPEVeTnQ0UW0kZVBHS21vSFFwUU1ePjlQPzNDT3J1dE1aUmxRWVhT
cW52Kk41QG4qCnpMYSRaLSpwUylpaUUqO1ltP141NmwpMTBQcnpoSzFPeEN0R2d8QHIpZD01ZDV7
bSNUTk4wLWxUI09+ZjZRKGpgOwp6SWxmcWFQeVAxLUV1TVo0KV9nVj9eNjE2akR+LV82SChHQjst
bD5LNk09RDEzTEBVSiVlYjl9WVBqRjFVTih4VioKelBIanB6JT1uZDZvTVcwdGxze2U9UzhQO0RV
QTl4dlAjSVFqVEZZMEQoWGlncyo3Qmp2eH1DMlJfJWhnPygoQnkrCnpAR0heYSFTTDZTOzwzbUg/
PHcwS3dsbl43YDN1fDJRYWBpU1E4Jkd8U05EdCNNdnY3YHpnXzVFRSE9e1A2TGNHWQp6eldASnp7
TGxYJHwxYGhIS2tXRFQ/KmhqXjB2c2MjX18pRil6X3IwYGZ0cnBTKUNYRCZVNHwhekh2JT05U3A7
Zk8KempqMkdtS356UmVNJStofExyTWh8Njx5PlM2ZTUmQmxvZUR9KUo4Tld2X3kxZDVDSjxGVypG
bWBrMSlIanFfTnR1CnpyTG50bDlecCpqVEh4O0UxPnN9alhBdGxaYlE3OG9vKUFTblYwLVlENylG
OWUobk0tYWhELUxEKz85Zmc7djQwMgp6RGp1cGU+U1AqaVQxP3NqeF85KWQzXil1dzdfKnExblQx
JnBTVm1ZPSszZVdgSWdtSmhhRiVoczt4Xj9HO1UodDEKejsreUMxNXZVTz83QWc9ZjZLTjl0RHor
cWtCfXc+QFUmPXJfTkc0eClPZGhKaHQ3eGg4VWIjX2FTcnRXJVRpcjxHCnp3UHV+eHJWZlIhekZ2
Jn1IJCFZQVpSMj44QDFgVlgjXnh5Jl5PbSQkNCVYR1M1SVlVfkVRZk9eYj8wSWlSOTkhVwp6MkBo
JHtOXmVHPTNfbWplPFVxMmdTLX52TllDPmRRaks4dUF5P09JS2pRVStnZ21gNCVkJWZ0alNsPkFH
Xz8kJEUKemsyQT51c1Q2NW5HRi1BS3ZuTy1vQHtKMVZpJXZePSVoRF9TRClwLWNZZjA8ajhnYG5k
VEg0JDQrZTE2ZXkxMDhGCnp6MkV2WHpQYi03ZTRgdz45R2plfG9sNSVnZDxIaTZXV2o5N2NFeFdz
Y0QtdXpgd3A8amRTRy1FZSRzSnZlSk9iRAp6ZWNOI1Z7eWw3WGRHMlFxMEQ+K0olOCZEUmNnTnR1
NVRxQ1l4USlLTXlVeDExeVVobEpqYWROcj9EVTVnZV90MzgKejh2dFMkMihqWjMyZypPK1haKXZo
X1poJUpoTVlpN3BiIzFXNGhJNm9mIXV1b0Q4WUxtZlpgKlZ7d3hpRmdUZjtxCnpBfGEhb3FKYWYh
dSkoenxQJChRYzZhbkc+MH1BOVJjcGlZcUxCT1R2bU97a1N2X1BWOSF7PlAob3J6Mjx7aSZUbQp6
WXZoMkFfbGJLNTNNd0pkMTdaPy0yMVhgazdDd0ZmS19PdWc4Q2Z9YjF3fCFnWjU+QGJlTmM5X3c2
ZUNid1g9OGQKekBidlFiQCU4aDZAJHl5Wj5vOyUxVnEhblUjVX5fd092PWo2JDw1MHpDQGlZMXM7
O1Q2dDhaeFI9PXs+di1QN0NHCnpLUlB4KEYqKWA5JE1uK2olRm9yY15eTUp+IT12TXEpM2Z1NyVk
N2ktTEJQNTYmLTYjbnstSXd1Vjg3dHQ7aTIkSQp6X3gqeXZgRzZZfjJPZmMlOHhkRFo2VW85MmtB
fit0R1FNPGw9QklXUFQzKVJLZit5fUhzRHlOVU9aMTJMVUhqZCQKemYzMEk3fEY/U2ZTSTdSfHVO
aVA2ZmN1QEdhTnR7bExjdW8kNDw8MGl5aWVlaXt5UVE2RXVzRVNwd3grbTJDQTVVCnpPTHQlOzVV
PnZMVm5weUMwfGcxPyZyfD5VeyUjSD1DeyVhVDA2R30pIXI/JTEwNz45OWo0Nyl2N2kqTyhEfnQq
Rgp6fDdlNVdlZnhpPjhCTE8/Zm50YUc1aldpanQjU04yWlpJcVhKdGlvfVk8QEI7VUJKUFhIKkRA
amlYfXNuYGRkaV4KenVpPy1uIWpDMGVnNn5hbEVCKUJaPG16Y3l7VHtOVDdCfWR9ZXdBfXFrSXpK
MWpEND87ZjZUX2xzKHs3dkVfSjg4Cnp7MDF2K0p5Vl56VGM+az9mVytsVGtLUyhIKzJ1e1NeT0BM
X0ZzOER4Vk58QjlYYUNBM2N7bFJFKiNEJllgR0FJJQp6bndwNVVCd0tAKE5QZjF4OW9NMkY5d29Y
KE5GU2V8dmpPJnE+RlZPYnZtbDtCait4WlEhNCohQ0s+O31vdERsKyEKelljS1U0U1E4KGsyZVRx
Uj9yNjxCaC0lKmxFX2ZEQXI7V3NLbW5BT0J5YnVsM1hpeklKOVNBSjdOPFFrTkd+KSgyCnp4dFN0
THpCeCNBP0IrfipvVW5DdmJCaChzelZ5fEdKdWlWUnB6VE9QPj4jfjhfPkJadDcrTXAlPGM+RypR
SnY0PQp6UGtFZ1RGVn1qV01qPE5KRVM/enVNTz14QmdRJVZUTU5UWF9rTHxGbCtidDJMKSlqOCEh
aWFZbTZ8fnFvQShAa1UKeihaPUtlb3FpU25vYjs2Rz1eXm9KPzNGeyk5VyVOQmgyWjNjeX4tbT1v
bkJ2M0IpUCl6RDZ6SmR4PDJSZ3h5eGoxCnp7Kzc2QUpANG9vPzElNWpIMDNqS2ExYVN9PHBCKnVh
MCNFRGVwc2BwP1RRUFVnREZ2KWJNek1XMlNZQ1BJRnxRXgp6TzBUVGdTOV48UWUxUHhtaSVJMllE
SmVFSnJIcT9xPn5GTlE5Vil6SWVBRVpNQnAoJlZqbH5tPnFfX340T3ZSNCYKentIKUUqcFNMSDhu
MmFrPlNiYzEkTzVjM0FoZiEmZW18ZG41Q3VBLSFNUm1ybit9ZURiKkdpIzhKe3FWckNjZ21fCnpP
TVdjUnVXd19oZ0NGVDBXVVhWWmB7d3JaMHxyNE5wLWFwKmhkeTItemV2bW5pQyVOd1B4VVlUREVs
dz5HX34yZwp6aGYlY2loOHM4VGZaP0dmSWVoJmhLWnFRQCN7YVktLUhyWSlLeF4oPkFiMHNpK1J0
ZV8wajtebDYrYURsYH1iZDUKenFUazUmWURhdnIzUChAK0lLKlcjPml5Nnt3fX0qT1M4YkVjYkgp
JDBYRW9Hb0UqflI1alloXjJxNld8e2RKPiVNCnpodSM2VTFFUEwzamZiWSRYUV4keCh9cDNAQHRE
WW5IbDM5YD12PkdWdjdLKFFDeHBAWV83b0pLOSpmRldoeE5+Swp6ZENPK3thQWBDcHA4OFBCOEB7
IVNSNFB5Skl3VCtvK0N9KktZeE9vKlUhMDc9U2dVRiREeWY8SlQ2OVk9OEZwanUKemIoPkJreGU7
R2RYK3FnN1ZKfjQ5YEBWI0c0Vz1iRT9ZSyNhYT4zYj1oV3VqUzgoV05VbXtaSl9gbipYbXZjXm5+
CnoqdDBHdXteUD0/X2dVNGArdyluRE1WRjZrMWN9fl9tUT9SbG5AeUR0eEFZeU15NG59YW9lTUB4
K0B0VSV4Uz42Xgp6c2tlTTdzV1JYYFVAWVRUKjBNI3xjd1IjNUhOJWg3YTkqMUlRc1NJcks7WVpQ
Tzh0T1c+NDBKSm80UkRpUWN1RCQKeiZ2SGAhVHgta2tUXjRMNXA4bmxZYE0lbEdFZUJeTU99ajJq
YzI9TFkySV5mbTh3X1BLSkVeSTUmOU5NQSRfX0RLCno2IT09MnY+eUJfTzZEa0cwTHoke1J2JkVF
dipMUyFXbmZ4Wns8bTd5PkE4WEIqSnszR0IwcHsoaiVFR1lQMFJmaAp6eSNIbWVNJmM4MTY5Xmk1
UDNfTWc3YmJYI28pX0tySH5BPyFwTz1hfDF5TF5oVjJPTyFqbSZHPTNiK0dhP1ZwUTMKejxwfWZ4
O2tBZGZOY31KMll3WjY0ekR7PGJPTStvdXh5Sjh1OWBucHJoUUtRNlM/ZmJ0dX1MZkloYlYxISFw
WD9PCnp3PGNmbDQrPmhjKU5HRkc3d3FeJmMrVjRFMVQwNHBJd3o+cjkraiNFa001eUZWbDdpTHg3
JUtSREV2LXAtQFQoaAp6R0VhVkN5Rj9EaEh0ZHY/ST43T1J6RjlaZzQ9cHRzVFRAPTJIZWBoa00k
X19PP3QxRm8rYWMzJitULUJXVG1Ke3oKelU7Mnd7PSNPcFZGMD5jeFVZYFZXb1BTWmpFJXQ2UT9x
NmxzMz59TVReTUF4ZSVPK2khcnF4byFPa0VvKT5TJCQ8CnpgQnF3aTFTb2l1NFl+Z14/Z31qR1E4
eU11RVZUSVlQZEZUezc0MUZjY3BUc0ZFS0NrKkpURk12NHFGRjdsYFV1Kgp6bmtCQDBCMzh2UkJq
WTw0RmZQQThVbEIxQkZtQUl9VjwyLXZSPnc5WTwycmpobkZ4RWpqWHBiV3ZwcnZKcHVPK0QKelF8
RkEpPkc0UVY7YEFqPFg8eEJ3d1E9SXNzUHtTcik2Nj02K19geTxIS1I1PypVa0dfQDNndW4oKCRL
PEZVJlRnCnooX3wweVRTb2ZSdSFMbXtvKXgqdCgkVCZDVTlwREQqbGYmZmM9SiRyeERzUypiN1pQ
I2omYXJMYFRWMHMhQFg7NQp6WT1hR2oxOEpDcDRvUCEtZmtCb2I7bWElaG8+IUVLWDxQP2Azb259
MDNvYVpePi1zRlk8emZOOVhmNiE9TF9QRFMKejY+SH1QZFhFPnF7RGI8XzMpTVhAZn4hM3ApeVdP
Wl9wOWU+Nkgtb1Y8TCZeQCo/UCpSeFVlT2lEISZGczZmXnYoCno2Qm5kSWMjclYxR3x0QHtvfS13
QntaVztePmBTQ0Q5d2xxVGgpMH0xPHxVVGBwM1g/fWIlWmdNPVMlbzlXcllGJQp6WWBZdSh6bUNC
Z3o3YF9nJHZpSDU/X3QtMF5SUkgxcFNYaEQ5YzhYPUZ9JllBT2lQISohU0ZgbHYyU0ZzezUyY1cK
ej9ieiRzVj9DNXBFSkt9QVdZe254KkQjaj5KTHtsRkZ3NGE0IWd9VVB7QThWZVJjVEVNazI+JFZs
Tis7LTZNNzAwCnpkPHZqRytGfnFxcC1eSX52Z1VaaWtxJWVLb3l9R3lneThRP2tCX2EwdTAkMnBD
Pk92SG0keWxSJiM8NmE2WnlrPAp6cEl+KGNLRHVHWkBLYkRmP0RObWQpdjYwRXVEVl8wQGdGOWxr
XyoyaXJhV3FKe2o/aDhRK3gtfFV0R29VYWlhTHoKemJ+O3RyJDIpS2s9bXcyMl5RZ1NmUmV9M35Z
PUdCZnVIaUJFZk02YFMrPCQjPXAreSNVeUIlVSt1WD9PQm1saEFACnpEQVk0S0MzWDNfVllFTSpD
MWBwJm9McHFsY3dQaHwoND9JQzRgQUE/Z1RTMVNocVlgPztAPVhuXmBDdjQ3Wmg2SQp6cjxgdXRN
eEd0Ujc7ZHBZKWptT1FgaTxBP0Zec197cXxaZH12dnBrYT1VMER0UG18ZyNDJkd8UXBPQntleUcp
QzMKek8rTDV8TTB7S3VJeUxRSlZBRUY/SUlPcHJrVGlePTVSWn1tU09zWjctTGolNEljJloqSW9C
PEklcEprU1NvTVYmCnpMVU59XlpgYWJmc0lsUmR6TEtNKW4mWWU1PGZNJksrd3VZNHE9MG5CaCko
a0ckO3FWSmJkVEpIe0E1UXpeIVZlUgp6YG0mMiR0d14zNnVLcE12V1pJZV9FOG5wV3F4MjlsSWlJ
Q2xSazg8PCF8YH5XaHpOZzFsbDRRbkktaF56b181YikKeihfJWQtOFYhbkQ0ejUtUj4yNnprKTJ3
ZW54Vj1qeDtvVVhSWFNLZFFHfG8xIVYkcDVETExEOCZQfX5WKV9TMTgoCnomYHNZZnU1T199R2FH
REApY3QtVl5KU2orWTkze0lsWEc2SD1gPjNCWGZFKE45Y0BJODs4cmJJOzEjfitMeGd7Xwp6UVFs
NGI+KiNHdnJSKSU/RXY/bGB4MmJjWTZ3bk1XWjEzbVA+bEg/TkJ+aH59VipBM0FvZDBFSVgzR2JG
Unt8OXAKemZgU3Jtek1jKjFjXzYkTkh5ayF9YW1fckN2KGEhb1plfUMweT5AMm16dERTQiVHJjhh
Uk1+ZVhZSX5IUEY1S1B3Cno0NUs9PT1mI1YwNHN8NEcqZU47ZFFmc1ZKQXd4T3VUKShqMHdAY1Rm
YFd7TipfQzkhbVZQYk5SQTJrYXQoeS1ldAp6R0RoMHRTJCRIUUFNYU1QdU00fio/KkwoIWJBeUBa
ck11THwwZzl1QHY3JWMxJGt+akhmSGBfPmxENXlqJHpqdVoKeiFRZlBqYXtJWXB8NHs8dEFwNmo+
eGh2NHlqWmFDUUNEfUtnN2FNNHdHIzR9N0JoZiN9cU9rPGVWfUBfSWRaTDgrCnpOPyFsTlplfWEm
PUB6Zm96SmRKdV8/WVQmaSZqVF49SVRlJlkwYEIyb05JKl5pe3lMQVZIa0MhWElUSFJuSTtXZwp6
cEhHQjI7X1h0TGdmMTZhTF5UWkA/TiRwIWJPe2NobXpZJndrTlRZaz5xKUZZNS12JjI/N0h9NzEx
MUkyI089azcKenctcUwkWUNmQmJNUHYjeVJHVE5+ZGYqSms4b2dJQl58bndPYExzOUQ+RTdNKipo
TnJ6d2hufnNmdlUwaHYxaj5FCnpsPnNkOWoxfXdLRjhrVyVWfm1ucCk7RzF1SEoqZjNvQDtIS0xs
KVQqIy15Uk1kIUBGVWdQeTREZCVIaVluPDV4Twp6Sm5kRyk8al5Be3glJkkxO0lVbiQ3UT5jeVo4
c21ZPWlJVSRKPSgoTCohRWFDTXlJalFpeUE2X0JZfmElYDQ/TzMKekgjJHU3aD9AWj1Hc2VOJSp1
KXQoOXJUQm5DSXZHczJBRllPUT9tPHtWeU0zdTUwLXRDQTRPcE5kSzA1MHBxdkA9CnoxP350dlpz
NVYyYDYyQFZKck4taGROM0lMX2A7KHJkaWNvNV9wUXFMcipvVWVWfikxN3FwN3RpblR3VjFOKSY3
MQp6bG53ZWxhbSRVWHoqO2JiWCs1fnFfJFI/M15sdEtCITBALXhveWcxcEA7WWppdWk+SXBUT0tj
N2U3Nm1jUiVNdXIKejl0YGdxP2Y5MCkme1h7LSpgPzNIY19XQSotSm5qO1U1ITFuUG5UWVc3Ym8p
SnJUbCFoQERfTDJOZCZMTEQ0JlVWCnpqJlVDNChYQEohK0FTdG1HZylBVW1EaXdqOW5NVjBkenFz
aWw5IXEoT0ZISjU0cHNCKEVrMHhJZig8dT8+MjdKeAp6WH1ZT2BuJXlzOC07Q18xUlNnRypjOGht
QikmMkgwX301IUpCN0Y4V05sVlZsNSpLJWZQMVMyKGdDMjg+KUAjRXQKelR+S0IrM0R6YE9qUF40
cT8hempub2VTdHZUfGhTby1JV01VSzE9czZGUVV2e0hJJHp3P2NTYkdLMT1FbDZrMUR5CnpgSDQr
RCl3IWkpP1hMeT5DTGFqRmlxPiFUNytzV2xrfT9EQ0UhQmImVkBoWT89T3lhWipKRDg9SXUkKCZ0
M09+TQp6ZmJIXmJ2KiRrci1VMHElOzh0RXQ+Nk5mTFc5SX5CTW9HP3BZQ2N2LS0mZmdNcEVjKlh0
cm9hMTBwaXIpUzghKGIKemFRPjtzRjRxSCRZV3whMSteZ1E+KlFJYXs1QGs7IyhWI3pGSXs2KT8q
Z2RjWl9LaGtBTXEyfVRCaUZ0c0E/ZD1gCnopVlQxd1lwNTZ0OVA2KE9tazNHKDVXRSY7d1FtR1RM
fSVGWT8lSm1EPGUyXiVAZlNZWnVQYTxWRXs+OGtqVmVsNAp6OXd6a0ZiRkE0USokaCVtOWg8I21n
QXZLSlIpR1pLYV5fSUl5fGJOeXIrR0J2YWpvYH55YEdkaUFpR359Vmx9blIKenlGR2g9ZTZZQDJu
QmNxJTFvcWNvIVdTeVBhSDl9dmk9NyU7elNZZSFPOFU8fUtZTyhyQ3I9Pnp1flRzR3RZQVBkCno0
Y3smSjM9M0MyIXB8c189MzljKnsrYE91eG56SCllKVlfWV50VSY+ciNIMl9oMmBeRiU/VX1ARHIr
XnpfT3kjdgp6cHB3eWB6V1ZIKzAoSSh0MVp2cldRVXU/JU5nOTB1YFc7WSlDfjhqZWJvKWI8KVlA
QylFVjN3JW5XSXd1PUpXRGsKej03SEklK0wja2I+X1lgZnVlQ31PKEdrUHBES0U8U20+fT0xJFhF
THdeQklDY2NAMWxTYylFYVgjNlV2KjVBKU9ICnpDezRTZE44PXk5JUA8ZHR2X0lodyl8RksxdVoq
WWBZI3JOSW4wfnNRZXkhZlpJZ0tHJWwlOHd0cnZgIypFQlAkTwp6NW87SSFEVHNrJCU1M1k4ZGVm
dzchN1k/XzZnOThVVVZ3bTVtPkIrNklhfXE3RjxoTV9ifkRNQ1dfTFZYJTJ9TkwKekd7TCZiJmlW
MnItTEF3JUI0SyF0KUJOZUFTJVB6Qikld1cjQH40fTk1R0xaISZvMHAwb0g1ZUhNJUokPEJ+JGxS
CnopPEA1ZmVrezUmdzFHZWF2bExTSTY7YyV7Qi0jKk85UCFePWBLIWJsJXNaPiYqQU9ycEZeKEBD
KUo2PE42OHIxcgp6QEVuP3FZZll4YE8hZUFtJmFRdmE1UDN0dFkwUlorbEVPM2oxXjA7Y3hPdFFg
VHs1Z1Epdkl9OyQlV3NvX1NtIVoKekpIekgra1RwMlB1WDd1Q1JNI2VsWjgkVFltKGZoYVFZTFJm
JnZfS1NtQTJrKj5EbStFRDU8PHp2YzVVIURvfU0mCno3NlZTeTdpUiR+QF98OTF2TGtvc15aQztT
WF9xUXVJJSEjNFY5MFhzQyk7VGVCXista2dUTXlRN2gzOGtPNjY/agp6WkxKKT40fUZLKlc4V0R4
NTJ+bVImZ0QlRXcyb1omaFReMUx6OCVwZyZDJSltVD5pfVFJLXVRREk4ZG9gI1B7T0AKemo+MnI9
KTQ1aCskd1QlOUx1U2hFRyVEQmlHY2B4MUZ9LXxBZkFJdmJxdV5IfEFUeW5jZGl+JDJKQ2dye3FM
bzdqCnppQiZOcXM+X2k0QE90bDVCTDVDM0hJMzl5NyQkekJsVT0rMj9MYTcyRyp0aDJKb1N5YlYl
YnFaVkVsZmM1NU1Zbgp6JjF3bitYO0BVTCRKK2s8JEZwKyhUaj98ZVglPW9IK1JKT0NrVjRicVFo
aF9FKzZDYFpyO1ZWb2VXa04+ODNSaUQKelZTa0J7VldZTzk+PVU7ODg4dSo2YyU4NCE/ITFKdWBZ
aVcxUHxoVGtgO1N0cTF6Jlk+UFAzeHo7PHglMGBnKXcwCnpSSSQjO2N6fX47WWo5P1hsd155TFQ3
WFdvQEQtdFArLV8jZ2RYa3lNcns7WnMqUUVUZGImJjNYdF8janpRP1NNSQp6WkdgQWg/aGFQdHp8
cDtmeC10YDt1TX1IUlM9WUo3K2pTTVhfZkFgYCQ+YUF4UV5WNn5NRVlVd1lBV0JCcypxfFoKej9j
KG5tQURpe204dz0zXiNlVXdVI3JtIU55dDdLeVE9OXQ/aGpGY3c2MW11PDJDfSVHdXZifEQzO05Z
K0E8VHx5CnojUXlyQ187SzB6SEhVczVlOGpkKylaJlI5TztQO3lJbmk1S2paaHFxWE5OQDdDPlN4
bEcqbjBIKncrPzRPYWslVAp6akotanBfT1YkfCFzam48Y2lKXkdJOWdZXyk9b0NIWUIocjlvWS12
PHhpOyMqJDxEWkdMSm5kUGJhdFM3TC1iU2UKemAxJEdrPDYpX0xaK0I0Rk9eRnpWZTlgSipQbjN8
aVchT3xiLUp+ZjxJV05sPF9GXkM/dFlMPXVRQSpPYSRZQFo/Cnpxfkk0YndCUWJ4I3FBYWI+YyU2
cyRBJXRKQ3ZUb2xII2MoYjw1JkF4ek01K3loRCYld0teMHROcUtmK2N3RytSaQp6YzQ2NkQhSklv
X3gyTzJtYzhwUWdWS0E8Kj0zMFlpOVF9MiNzcGojUiE1dUtPa1F6MHQ0RW5wI3V9az4+RTtSYjUK
enMtazBLY2tiKmZVSEJMXjA5d2U5cX1vSSs1WXhuYXMmWk9VSDx2eXlwXkhUUilOaENOamJwNzFv
MGAoa3F+U15hCnoqa0ojP0BKQ0ZfVXFxZUI1MSplbTl1TERONjZAc0tZP3I+aSp6KG9jO3RWb3M7
fX1ASW9XMD9GUSQ9aVpgTkIyMAp6RipOJHRZJmJ0SV43U3I3VWN4VF9HWTtQUUchQWkkZkNXQUFs
PkdacCEtVWV2SDlnbmo/VnluUXpRKTEmcmt8O0gKelpSbGU5ZD5aMzwzQWI/bSt1SlApdk9uVUY4
TjlLVnIocTB5aG10S2FvI2AyPzRHdj42UiUqPTR7QHIqc0RHVmlaCnooMCFnQSgzZUg/aXc+OCMz
QVR1LVlIZCl1Sl5TcE9TO21sJFFjUzBedVlULTZqdDk8PzxQakc5TE1uI1IrVW1JRAp6QjgpJUdF
OTVpYyk5Q3IqPkdSKEBra2Y5djh0Xl8rUU9DV1dHPkBINnFidS0/RHNFckdwciNqNytCZUxTKEwh
TXIKelJKPS1JeiNsVlluUlY5XzVqUiQxP2R2V2J5ODU4e0orfkEmY1hRQz1hS0gjaCNTQWE4JDc4
NWVjNElsZCN2Jm90CnpnSW1TdXtlVChkVzJaK0s9cEdhNE9XKmt3ZStZJWVtQlRrcnReS0dMNmhx
ZXwraEpjVG8kLTZ0MV5QJDUpI2gzSwp6KXNHKztsZT9COENuc1RYQlN5cGZDajgqa25ea2o8TWha
VzVrNSVxXiVhKGc9aiFtMCp0fkZuUXpId3w/ZUp0dDUKelFabCNVdXB0IXhRZ1M4Z1d6WHZ5cXZA
Szs8emJUciYqcFhLJiRQcCloS1p8Kk4tMGQyWDlic3pVRTMkNUoqTjBrCnpKd2IlJnZiYzJtRUNi
Pj5tOVgheko/e21iWCt5UG8pa3k3fSttIShRXl4qZzJOM3ItaT9xKik7VTkjeGore2ZmPAp6I0Q/
bHJGV1FtYko2XyliOCFPOXZ6T2tYJSYlTypAbCgxKXQ/dHVYYCROSVcmbmNsdCtRfDwyOHMxLV4p
VW1IVWAKelhPezY1MlZFRVhwVDk9MFBhbV81OHVQRyNEOSokaGYodjhIX3tSPEZwTk4tYihDKV5L
K1A5dWZfSEp3YCFfYE5ICnprQCR4PGhRbFV7OV8/alMxezJRSiZKeERnQGNALTVlaE0pcUI/fjRO
PEEkclM3fVFNQWJqeWRSNCVjSygoSkVkaAp6LWc1ajdjcWpAOExCbnAqcDRFRzthOG9gbVkzWCVk
PWUhYGpuKSFNJCM1RzlITGFDaX5kJTM/I2NfSGQ9KTttYz0KemMzU3dWZUZkQE1YRjdxRVQwcWlt
bnR7aXZkdGttWiMpeEUjViR+JGNWQXUhTUVrX2ckTiVqODkoclNTKHpmUCU9CnpLRlE5PFE2Kkor
VnZTVU8xIXdBTGFZY3BfM3d9ajw1VmFAaGI/aEBUPUJpcEsjWih+ZENlX31hYHZybEthKCNSbgp6
THJFc1BuOTlEIU0hTCZBaiFXcHpeV1FvJHNjNX1yV21MUXQhJGomRyN+dTRwbFNwMyhBRDVnMVFh
ei1mXzl6WmcKel50TEQlVm9IWE0zWHxwc3EzPmdJYVA/ZWNhPEJ8VlkkcShaXjR7RT1PSXNTSnZD
bUh+OSZyYlBPe09TN0VSQG1YCnplSERGQD1zPjg/TjNoa2VXYXd+ZUwwMWtYaUN8Ung1dmtscFJg
WkgxJlJeSlpgNTFaNmJ0MjI5aWB+QUgtNkxBWAp6Tks8OUI2XiVEP0o9Km03bTwrcFByPWFwYFdf
KFJYZTRGcktYMmE0RypMNmVxSWFjPityeygkJGhTQ0FRTSpZPHYKekFmIXtmRVFZJEwtRm89SCY4
WTkyczVha0ItZDJNJXpSNnpOYG9Nfjd6SzE7Kz5nVjAjYHQhWGUpI3dQNFBQMiZoCnpAajN8dyUy
KG9XTHFUJFp4cllsS3ZgU09paHkzQmomaXNMd0d5MTNyYmBubXo4cmcjO0xWYXZzPkcpNGxiOGR3
VAp6WlhQZHY3cWVYbzcoeyY+VnU8JiZCcjBsZG1YVyk1d0BlNGByfiZIVFo3d29OZiM+XnoxQVkw
NUlNdlY/T0xBYEYKejR1RFNyKXpVaWh7RyZTVSEhe2dXPDc7RXFMVFIrfj09MURmXmtadmZ0K3ds
MzFaPSt0IXhWUzNfRnNibXdMJlplCnozIVh4JXAhbkFOPCUmP0QrI0sma1g8bGxncld9RnZLZTdi
THlaPXIhSnpqV1klQkdIR0EzOGNRd1I7fD5pTy1GTgp6P31XP34oSHckPioxSH5ebnhtZj93XzA7
fVFEREtmYnJnSHVSUUVIIXEhYUpXRF4jX1RHbGV3WUpEfChIKno2cXwKenFrZEpqV3pFUTJMbnx1
bDdHelVoYkA1KDBsSCshWDZAemsqcTxDUyt0NzZ0WnlWVk90M25vcikqOFJQT1dkSE9lCnpgQng/
fD1CZVZRVSFfTmFsUTVRIUs/NnMyd2FPe2sweC1IMyl7WGYjZ1F0X18oMllBaiEweXJpX0RiRmAt
ajVXewp6RDkqYSVJbEZTQEJ2MDFVVSZpc2ZuSEJWPmg0M3tXRHN7NHF4XjwkTzJhY3xkV3BxQHUq
eTdecDNpWl9lITh8YWkKejR2ZGd1U0VlaUppcGtZNHYzXypUaEtYa1JORDFfOyFZMVJIK3N4ViRP
JGFaS18rLVk1PjF+VTNgWHxDT0tvKT4lCnpoTlg+RTFTenQxPSs9PFBNaGZNNFReTHNzbE40dUVA
aipTV1c5ZntlYylXaT9SYUdxeUprSUpFVlExQXpFfkA4aQp6RHZxeXhiOGJJWSQmT1NRdz1LcjZP
d3NCP2hAMG4tNlghMD5OPSNSKkw/ME1yVU1LOUpDMUBGNk8lcT4xOCZsckoKejk+YCEjS0ZyZXMl
P1VNKUR+N042RCN4aWo5JXx9JSsmb0V8I3pGSVpMVzxwS1gzISlCY2UxTl9jNHwkeU9NRSF9Cnol
aEZLQ3l3ajdxKCE1TypEP0hFQThUJS1MTzkzQnNrRn49QCViSShLSiElOXg8fFgkMHdNSkhARUIl
IXByfGlTQQp6LUFuMlohOHBvYCgxJT5PVD5LQTV0YDNUQE04byM1S3N9M0J2al4mdHpwITRZd2JV
Tk1sMlBSbEdyQ0RAOV55WU8KelBRYlBGVmJEYnEpamBqRXE5UHU2WmtFfE5BTFkyNWp4flB+Ylhl
UXRoeDcwem8jVWE1YH5gWSR0cT99fEdxKUcqCno8LS1IcHRmPk5MRHszdzM5THRtWHAqcD9KbUdX
SCVSPUFrUlRQT3MtLWFXKylSODdEPl8qek5reCZPQV5OVGtKRAp6U152eXNJRFJPKGJ8am8qcFoy
MSZ0Qm1OXjtHamY8eWc8SU9uRyl5UXo+fGJ6bXJyXmk0Yz98YmBwMXc5YGhUdi0KeiFuTXFlNkFE
ekImSSRCN3VoPzVUO25pUmhUMFcwKU1TP2psLXZNfFJZM3BBYW8yTkBafDUmckllOFgpVyQta3Q3
CnpjYk5qOTtreHBNb3VyNVY7PGpgWnFxVDkzX1ZhakwhR198Rk1yWS1VYGlmPEpBNVFzJSNwOEl9
I0hLQWZrWnA8YQp6Um1VQ1JAUHcjTUdvViN0e3RoQGhpeUduQnhwWjJxRCg5Q0w8c0FNNkRYQWlh
KXAqZ0JGcn01eyM5aWVvRTlBI28Keml3Wj5LIytSX3dNOEBkOGlmTiEleWNKe3ZLaXkwa0kmPSZl
dk5HblhScUZFPFFpNigtUGpuR29WWjZIa2ZGWDtRCnplfV8mfiFAdlFsb2RhN09QbTR8UV99MXcj
aXx2Zkx0OSkzP3FqSk5vMzZVQylleCZjXzYqZUlhZz5oUlVIVFU/JAp6RHM1ajw9PzcwfllVfC1v
aURmPDIhJFdAOzF8RGxgWVpzUSM8ODQre3FkN1F1QCN9KFVacGUkdTBueUF7STZrNF8KelZDfUZU
ZUluJGJTZT0penQ8eVJGZF5eY3FAd3tTX1cmXzQ3c094JnRSMjxTQXQ1QXlJc290MUVRTTh3ZlZU
I0M5CnpobjZ0JWhkJm4pNH4hUWw5KlhgJTc4a19xaChjRjkocjFQUmErSHU3eW9AbFRGJWF2NlU3
WDZKVk1hSUNwajs2Sgp6SWBtRjxDbi1WeHshVUtpTiR+N3RudjEkZTJNRns9Nm8wKXtrY1VMcEM1
TyNgPlF8NjxzYGwqVnRSQlU+eV5FbGwKelc2KSQhKz9TY2JlZER2U2xlSVI9VlA7cmhuSUt4anlw
ajU3Vn1NRnolMmZKMk1jS1VucSM5dmNUXysoNGBnRnFuCnptRTZHNyE8aH58YFc7aT1pbm5RS0ZB
WkZOTllNeXVxbVlIR2tSaDJjcVQmK31pPkJDNEpDJXYocTtWV14xbWN4LQp6eHhRcnF6YV5Ufj5x
RE0tTXRtZWkzTkhwZXBUZmZsbWo7cnJndTVXUyluZjZxWnhpPXY2O2lJe1liaCFEPWlCJD4Kel5I
fk5JPVUrXntuZE1qRT9QdHt9WX1Xb0BXLWxrdWRhSGZwYlVeYFBgUnd5QTt7V1FjfEVvWS1DZkpr
NHJqQl53Cno/cmclKz1sWm9gTSpoMENje3FsKitFVysoaTxLPm0yWmk4PWV1byk7cGNgZWxuQnd2
Ry1vZDxTJlJEdyNKYlVEKAp6c3lRaHt1blIyPmp6IzQxPTdhTkI2bi1CSWJqJXZeP2JVfj9nTG41
XmAoYFlZMzNOTHNfSTZmYW9IcTRJRCh+S3MKekN8TigqK2YoNz9DNXV0fDhSSCtUTDZAQSZ8R3xj
Q1FNY1lXP0FQWnJSR2RuTV5rKU5lTzNCPFVDUTdVZmcyaV5ICnpKejV7SE8hZWJgdXclJUBsb1VA
czVqV0g7NmFJWFEhfnMlP29HM2xyWkRFb1VSKC1hYHJgPUVsTS10UXRZb25AKAp6cUpFT0s2IW9n
bGl2d0V8N0RrMkMjbUo4RlpXNWhIdVEtWnpVcGVJRW1FP007UXRIM3grJWNCWCE9STJYTXdOM1AK
enF8fCh3VlhVbyhKO0J3SGhaVk0jOGtOKGp0PU0+dlFKTHx1PHB4SCtzOSs0c2h2TGM8UnJpPDsm
REVhR3E/TUlpCnooTCZuJk8rPm8xM1V8SW1YT3dGcGxebVFoYDdhbWhvWV5WMVFzaUxpSyp4KHRK
SGZMVyhOMTsjc3VQRztnNUxiQQp6JWNpZ1dCTD05cWJwNWtpKDxvWmFOWEtEbXA7PTBMRD4wd3F3
cjFWK3lWaHwyPUZnd1JIKkJvbFEqdHYlbDdoIVQKenNxN3xvTGZBeTgoSGI+SyQ+WkF1MkE4dE1P
ak0hOEFjakdRS0hCaHJwKX1kQV9eNWQ7WkdDdnpeKlN7VTZmMnlDCnpSKzNnZ0hGcHFae0smVncq
UTRKIW9qMUdfPF55VUd6bG4pSF5qQDktMUk1ODA7V1Z3O09FUGFGazhlKXZLWHRMKgp6N3t6dHZL
UmROJkg/d1MzTEo+a0A9NmcjVD1gcnlqe0ZIYmxzbkF9TXJiPmNGd2RyJEclKytvQjlpWSUtRClf
b3kKeip+QG9ARjwqfkcpMypwRXVQbipTIWdGaitCTEMrK2x9NFB7SjVudTxMOUskWlR8M0BZNXMp
I0BibHo8SlNEXmwqCnozajVgZEAodGZVbnE3a2J1YVk1bHIqRktNanQkP2Q1T2cpU3pEa0ZgaGxz
dUJrKntYYkRjOXEoPnBxSEFxSGw3TQp6Tyg9JFR3fkZ+TEBpezs2UnFJd1QtYz09N1Y8R2w3KyVw
ZXkpJkVIQnl8UldON3okLWdrMSNVJlJQSCE2UGQlfUIKeis5RnFIVnlYO01LPzBMQjB2fSVOSChX
KEx0e0lwVTV6VXt2Zj9adElRTTd3Mj4mKyp0Zj0oOXYjREEkK1pAQmotCno3cVRYfjM4PDtzJVRM
NCsqdlVJP0klSURqMXk9VHZYeDEzWm16P21zVmZkWlcxVnRwNmR3KipWY05pdGZjXnlgcAp6JHtK
fTBlbnJCdWRufXsoZXVBJTkkOzNrZWpOV3BxYEpHdl55b3k7bThkeFplVXZ6JTJqazkrTXQxbztS
KlFLUisKejcwNTE+RXV+bUVAd3NGKkNmQVRQRUxVY3VWcFBSYVEzKyh4ezhvanNhVWpDPm1lJVox
NVJAelItMjFkcDVMfFZOCnowKHx8RnEoRzlLUW1PTUJnMWdeN1c+SjctVyR+ME1yaytKdHlhKlNo
Q3Qxb3Z4UExvc0B6Vn5lUCRwPkBPUklRXwp6S3Ntb2dUMFchJiNRViFRQ2pYVUc/SGAlNjU1KjxE
OXAzblY1Tzx2QF9WfUolWHpLO3BZVFoodVNYe3d1bUVMTUcKelJBT1psMldPYUclbEl8ejlIJDw3
KD1la0JDNipvY3NTWD5yKitucG4ldUw5PT1pSGsyb08+fEhFdlp4OT8/RCluCnpDVldqNXtBfTNJ
cktGbEEmPVdzUyhWamhVPEhQS2poc0QpX0lAPV91digrPGZubmthQm89YlFUZ15DKjZIfGleWgp6
aCtUNWR5Wj1CaiQ5bE1QNmM1VTU3NU4kV3tOKGRSYmlufUQlZlYmfjwrKWlveSE4VWprMyNFWktn
azFaeDN6dUAKemswcWBEcUUlfF5vTHU+cEhnKlRkXiU/bUpoVTZRNlZhd3lVXmVtUlVTPW5iaXZY
X2okTk88PT9qKVMwUWgoeXc2CnpzJkNgaCR1TTQ0ODAmMz48bHlJaiZ9RUBffDU9TCNLWDZDeyVL
bG9JM3xfKD1xWkEyPjwtVjVVLW5ESEZaPEtoRAp6QCp4fkk4eyp5LV47TGw2M1R1VnZpfjdhR0sq
MylqKklwM3twNURZIVV2PDlnNTVgcVctLUxEQTJAa3x3OHYwbHMKelNKVld7VHJqcXFQUCN+VF5+
QFAqeDlMfnM5e3JIR25iVEF6VmsyaHBiQHdZbUlwJWtldUROQl5HXjhrZDlJfkZ5CnolU1RmQEdR
cmVrN093d01IJEJfQnAxcW9iLVh5WSs4bV9lWHgjPzUrcj9wNiFAdkE/Sj9WbFNLZ1hDQnJMbihX
awp6JVlrV0o0PSYlM21EdmkhLTE+T1lRd0VhRWxGSVBgZGgzIW5tSTJlSk0pfV8/aWImcWtLZFJJ
LT5lRUpIOVYqbTAKenViOUEpcTZaUThxen1ZbE5VcnZMPVF1eG45N35fIUoxfCMyOW1KJT9uKkNj
QT56RkQrPHY2UHspSHJueUVNOFNCCnowK3hIMChWQEh1Ul5mV1lyQE4mfFo7TW9AeUIrNEc0dHA2
dkBCY3hgdTthY3dOdTBWMTdPa3VqPXV7NkdUYUBYKgp6ajN9QEdnOHY1elJ3Mis4KkI5eERDIXZx
JTdlWGd9IUhDZD1wT3M8YGdAayY4VThuT2JlfUI7TGJsdVpgezhUUkQKemwlKyokS0BIMXtKSGp9
QUdzJkxiSTh3UldrWSFaSzREWHxZTV5ZKUNLZU1BVUdwTkZtKXF7PzxlQ1hKflprVk03CnpuaFd4
VVF1Syp8UElpWSpfOF5OQzhJTGJ0ektJT0A2fmo7KF4obiFTNVFiNzstZEVMVmRAbC08TV55S09a
THNIVwp6NCFRfTlkNnIoPWdWRWw1VGhCVFBHdHlBZTBXa0o2RmNvaSskKHthQGtgUUFfQ0h7JXp5
fm5Vd2llOzEkczBGNz8KelZudnd3OChqTT5UKztgJTBAZiNvNm0rWmFpITAtbDAjfXJDNXwqUUhq
I3A7Vk5KQm5OUGA2flhZODR7NHdPNzVrCnpOOD1POCFINTNeamVsUSpTT0RXLS0oX0VJWUtvJXsh
TUNUMm1xJml7aFVlPjdSeyplentZPTBnbjE4SyQoV3pETwp6PkM9SCVqeWljPlBVIU5NX2Q4fiRT
S35SRnozVEoma0I8TnpOS15fcCgjRDFRWWxyb1pyRUlreTh2TjRBdE13e18KelU7fWEhWFJgJn1k
cCgxOTA4WD07JiZtUys+fj9IbT9SRnd0SFdOO0VqbEFVcGIyUklyPHNsISsjRlc1Iz0hPn5ECno3
VG9jPDMqcXdwS3R2PzA9YmJWcnAlSXp6RntVYjQ8MiZJdiNjPDJqKzIqVz4hZHBrR254P2tudDV4
fjxBNV8xKgp6TjNFPSFXRXMjU0cmKndCa3IrbFltXk82cWl2S2lmPTNofWNtN3JJNl40K01ydUA1
fW1iRCFUbFQ/MGw8NmExNCMKekEzQDl9NWJ6OWFudEZrLVRgRWYyeks1O1dmSHFzKXheQkBeTFh5
bVRfTiZ9KTJ0dT1ZdDQyS2xPSm1+UnReXnRKCnpOMl92KUthaX1he0whaTtId0dMTkEqR2h7b3NZ
KEZicTQ1ZCp3Uml9YGI/aUhfcTRvQEV+eGFeRFEwWjMwZU4kdQp6MnxyOFA5KShSKFRrZF5PNygx
VjUkUXFoIUlvdFVheWV2IWs+OzJEU3ZCNWRsNSNOX01ya0U9RElJZnNfMlItcC0KenV8WFZxV3g1
K2pWWEh6dDwpdVB7dng2ZigrNH5hbCVJfXAtYlhoNFRQKU1ZZS07M0wjdXhRZXw+NjhUTSgzdmdC
CnpVbG1aS0hhM0BOSCNUZkMlQElLLVVkQntHIUI4e00rayg2fG1EV0wrPHdrMX4tZCVUTndTNCRr
KFFYS0pUckdeKQp6UUlGWDE8Ml80OyNhK2dgVkd5cUBHbSQ/NjxHZjxPO14rYHErJFo+bk9Fb2Fz
YHdSKmo5ckYlel9sdDRqTEVrJUwKemYySUdeYUVeVUE4Qn47KUwxTyVJYEo8a2MtQTlCRWlpKlFq
PG5fT0YkdzQxMVlWITE0R3lUZDZYPX55dlU0RXlMCnpLVHgofjB5YU95WmBIaTdyY3BQP2RLMHl9
cEVJSEdkTkpAMz8hfkhfTUF9dXR1Tmp3KjUjUz1ORTY/RE07OTlgewp6djxlWEVLZ2htaUU/c0dP
QlZ2d09zdXxuZ0VeQ2kmYFVqclZAY2BhXnF+Xk9gZWVMYj14WDNKdTtgOVdxcTxII1IKemRpKXpv
LUVLYXJjNExuPDc9bW5YKUdzdjQwe05RVz1Fdj97SnN1KU5JfD1YM2R0e3YqJWA8TyZwZDlncUM7
WXx4CnpfUH5eeXB2Ryt5aUkzbktxam1YNz1hfDIqRl5VZChmUT8hflJTMU0yQmVxRWR1P09Oek5S
VzUpbWtRWDlTMVkpZQp6YTtzS082RiM5ZTQyZU5+e31BX0NreSVLQUdVQmctZ1g9Q2tvQTs0V3sr
TEt3dDI2RUVZT1NMWSQqUHV3T3pGeW0KekNpWT5oZy1BS1dGI298aGA2RGMmVGJ0NT12e2FPTzxA
SlpMeTE3WFc4fCZ4QVp2fFdZXz1fa0ZwTGFiYj9QRTdFCnpiaXw9QVdAUUpuKClDfUtJSjREPTM+
WFpzOHo/emBFIU1lbVYlTjU/RX1TJiNIRlU1X208UW47bUVFY1B7ZkQ4MAp6YiRsZnVJMjZoU2F4
RkpwQ3NlKVNeOSZ2N3RxYkZnaipJanBVU01jVWZrazJ9Xl57WXMlT3klSkhASz8hTEVFWSUKekU8
Tyk7RHFaaT57ISk8djcmelhLM1VEQnQtK1MrMTN8YCVQbjFXSEdiJG1VR3A3XlpUcGotQHliYTJ2
JHpYJEtSCno+b0dyfUdVJmc1UFhHd1lKcWBEUk01bWJFMjhCZnpCcHZyeEx+dyg2RktOR0BBdXlE
Qz5SdzBaKFNaYWU+SGVvbgp6PihsUGlQa1hqfF99YEMjYHV5TCs7YmswXktnZCREbHZmSDNkMW9e
QTl4dGZ0N2E0RUxFVmwrdzdLeDx0cz9ycmwKemdBYXQ+REFNVFMoVTFzbFFaOE4pdnRLRWJiKHVU
M2R5cmNgU21wMX1KNWNeYDZDQHhgUXZCfWsyTD5KNjF6VW8yCnohSnpOcGxUYmphXzVDTTMhNHxn
KVJidnFIWWk7eUhoNCtnZkZmeW03elk0Ny03cW5pIXpYS3tIS2JBRHZIfG9BTQp6X0klYWljMmom
KG97ZWE+PiR+amI7JGtjQmUlaFJnPGA8fkhVRExSRTZMOFg0ZEowMi1EZVNWIys5OHApdm1QdU4K
ekl3I25zZiYodDVgU210Xj9Ud30hS0pYdGwkVWk4PTF1KkIqZWZISnJybmlpTEVVbXpkcTVWSTRJ
ckRIUmB+OG5rCnpQdk94PGd8Yjl0RFFpKDlOaFh5dmdlKV4taE56ZmkjI1Vyc05+bG02Kn4yNWQ4
OFp5QldRbVlTM1MmWmNXc1J8Qgp6OFRgSnQmTjt2NUprTDRqX2REMTFgPCp8R1lyZ1pEYD97fWRV
aWJVXns9QzI2YHdtZn1LbGUpJjtkTUtke3Z5dXEKel5sJDMwI2Q2a1cxNkQ+P25MKz0tZ2BCTndJ
KzlmRXIwdkl7a3w4bXJlSnBqbVQ4OTRuVShzUmc4dUxuUFNyQkFECno1ejg7MWEzIzRWXzE3alAq
ZU5lNSVvUkhkYWwtT0VAZT1rST4objl9V3FITHBeeEQ/JF47enVjQ1NFJXAraTd2cgp6TDF6ajFW
YDYhcD41SmhHKjhoX0FCazNVYkYoPnEzUVYpSGJBdGdaOXJ3VXpxPmohSW96cF50RGp6ZnxZcEF3
MkEKekZjSWNpXlRsI3tidSoxZGwpXl9PTXIyZjNIYlh6RjhtLSlwT1RiZjVQKHR5SUxHZX09JGZN
STQwYTFCVFYzPyoxCnpBWT5LbDIxSTNHaVRmZDxYVTc9bzR8Zj1NWSlHPkpSSEIrPUd5K1Y9MkZl
RzJtYjlOPyFfUStPdGx2UyVtbn16dgp6UFZLbEU1QDxhTSpjVys2QWVvQ2NhYihITTU8dHVXK0pN
VVBocTJqbzw3eW4zMDhrcW9Qbj44JWs8eFpVJlBGYj4KeiR9biVUZStZeWpLYUdxOFJqfmNjZCRs
TFA+MT9FWnlEfEo1VHlKMC0xMlJIQHJQPCRmZVolTztNMjAlO1kqTGd8CnpnSCY1WCh0VW8rTm1q
STAoKWt0X25PaFM3NUxgaF5CNlhAdDhKRGBBO3l3bk02TyozZSUwPGQkWERPWFIkRDREYAp6al4y
blh5Y1NqQm1pNyY1QCNIXylPdTd8Xm9OQjlyK2QmPVB1VFkwcWlXeXBKbDVnRyZtajg2WFdgfkJD
VXBZJioKejBiZ3YmdnojaGtgZTJEVW99QHxILXBoQW1UQnJaWC1ufjZEUyk3JH4oWjFwQWxYREUo
UjxvbWkpZGZwd1NDSzlTCnpIZntSRFEpSFhvVk0jcyVpeXAyZTNaSD17P0R2MVp8MlhCe0phamJG
Y2F2VnhMWHdEXlExNjxRUyExVG5HfCVHNwp6V2IzKDxIUGF1P1YmZmo2Snl1QVRjaVVjTmo4YUY+
Z0BxcnlyIzBtYXZ5a0g5SXxaP05Uan05YEpPYE5IP1l6M0QKem5TRURfWUp7eik0K248SnZ2cSNp
UENjaVVkR1d6N3I/Xzhaamtqd1o5TmVkTStOSHBrO15ePmImenNDXiRNP0Z+CnozQSMpcU1KTVUm
bVdPYSZaelNBeG5lPWd4T0N4LTdZV0hUOEgkfWRHaU9HRyhRVHdYRXV2WD83PUBmNSY8ZzxJSQp6
WENiYHFvRy1CMiVuNSRRdD1jMlk2WV5TfCZlOU9HTmx5dGNCUVZqcHRvYXhAJV9hfjwlTX1KanBh
U0JgTigld0EKem4zRThCNmpWSDF3YjklVF9xTF48RDZBdW8xKEoqPlo8Qlh0NVhIMHR2VmtOa0hK
WGdlVSMydFQoSXM8a3hieX1ICnp7U2JRRnhWLXkzRzNrNmp3a19wbjI/KFBUM2BeJHI1ZHVyMGxC
ZWBGYTl9ZmpxTEBadENLME5eWlVjdXxWSX49dAp6TyFjUyM5RmNfJSUlTUc4ODVwfV4kKm19YiRE
JHpqSkU3S3UyTXdWalJ0S3VzcCp7VFNWUiR5Wj9GRnpsOzk0anEKelU/OUNVZldRVWxXNCVGYztu
ZSpHRVZ5aGBLcEgtVmBIQStXNE1tb3FwNHZiaUNeUXs/NGVCKUMpdjRlNUdTN0ReCnp2ZE19PmVT
MWBveFdrSGs4KklQZmYoTTJTbGgyTzRoJD1pN1JxYGs7TTxzcEtCRjM4VWhnISUqaytCMURGUiNW
LQp6bHBNajJuKTIjZUpSM2V5cSRVRVFIQV8zVjJTOzkwZmZpJSQ2NlA2VHglfW9uY0JZfSs8bVk2
a1IrVzlVRX12akcKej9XRTR3ME94WVh1VHR6VXNtI1BPK1Q8TGYqJjspaVVfQTRseXVHKGxDUWBg
VUFqSFZFT1k2dyR2aDYjdFh1UV5wCnpfeUdIcDRnUk5sWCpidlVENnhmRmR9TTQ2blN7N190VWtC
R251cEtPWFNeUD54TnBUb18tKHJOSW0qbmhlak9INwp6SXtBZFdOV18kV3l4V0Q5cWZNa0xIZkBS
ZGtgdjxoWWQhd2pkMEE8aDFgUl9FJlBxR2tyaXZxOCQ1PiN8MD5Qc2sKek81ciYpdyFoaVpEQGUh
YFlxSWxmZVlmeTZaZ0J9dCpkME1zXiFHKX07SVhmeCpZa3YwKnB7USs/cHtwbTM0QlJQCnpAPTlz
aytabmB4LUx8T3U7a2dfIVZZbE5vMiVmVUB4QkY/a3lPI0R8VmJfbzhYc1RWbGd1UVd0YkVKIWwz
K0FecQp6N3JpfHQ4a3RMK3crOz80ayopJnlOXmpwZFN0X0FiUlUoYztWS2tAQytleSlzM29YWVQ/
PX1zXlFSRW11Zm8+PmwKeiZhNmhDKz5PaTRNPDNFYjNsTF55bkNqOG8jJENXWiRLP3MmZlU4YWJf
e1FNVVRtRmhLOTF4elF4cTxKNz5DbnJeCnpLPWBUPDB7PWpHVjVhU2NGV0k7VjBJUSV8Nnk2NTkl
WFVAaFA7VmdRWlFgSTArc14/WDRoe1NiP2A/bT5Jfj5BVwp6OV5rRmkyKWVuJTEpKz1DallpeSVZ
dzw0eD0zdUhubHxZRkVtJmlIWEdteDg1SiZXQ2lVZnt4elNmYyE4Mzkzd0YKenYrS15MamZOQmxI
S2IxPSp6PlY/dmI0T1ZUKzlAREgqVHF7O2lQV0RAZjJyaEBsVyQ4eXJ+dmAzbmF0cil7X3x9Cnot
PFpFU3ZsPzNwYHtHSldaalJ6dU8pWnImQUVmUXdPckQ9PT9ga3N0WUpuSy1yYGpLUzhGSF54Xitp
T2hvYTZFSwp6aWhIelBwV3NGSkghRkglXktvYUE1MyRvP3ZVSF8rX1ZETnJMc0VAWmpQdlNULVZX
LSFRZldrZEBRTlBAWDIpalAKenRVdT5uZS0zN1VoeDZ2KD5FPF82VGZIdVA4djRYR3UteU16dX5n
I0B6aClDenl+VWpTbDlZMFRHQHw8UnJaKTsyCno/QnxPYXRqWmItUH0tP1h1ZWVLRE52dk13ZHR+
MmxzQzBKTkhhSldvZ21mam1RQzlaa003Zmk/SmopQF8+dSQ9Kwp6MkxwfTImVGtWNG0pdW9pV2tv
YGlqKk9yXzx6OHlZbHwmbE5rYSNMZCF3ZzVJQSYqdjFZN2NSX1pHTlYjLTNeUHcKenkod0F9ZG8t
JVpaKiFRMlRrS2AmVzVNUWRaYzhRZU1WSUFzYSEyY3pCMTs/JmRIPT17ZHNjJD9tLV5yNl9zK2o/
CnpeVXdgaVNzY3UyUHRQYFR5fVhLMHM1X1UrdVdkaD91KGIofENKZVdENmh2UysyKmFQUmptTTl8
dX47JlA2blB1bQp6Sig4R1k7N19ycUZzfFJFeiMpcGlGe3NgTzAkREhmZmpafDI1RmxKSnl4eVYk
JHVIPil8MHJsQUFDdDVKYTl8N1EKejhWUi03PzdNTWclWjFHOylvc2RBUCtOJEglIU9iMmZufHtz
bGVVektgSllTIWFsTmNEcih6UT9kbyZGITE4eHZvCnpXeUledkRSZEV0RyswZjZibGtENk1zIVcr
PUVnd1MjPXItTlhgeU55WGNLe0gjdTlfbDVCJGgmZiVfTkFHLTdvPwp6JEkwWnN0VEE8YzJwfGli
MVE4NSlWRUNyRkh1Xl4zOFhCUT9Ae1Z6aD0lbmJ5LSQpcnFBfjRhQjxJT1pJNX1WajkKejMlX1pu
YnlXTGY1TWh7dkU5YX1PNUNAMVI1ViYtPWNndmJ7bXlic1Y7eT8oQEU+Y009ODVuUkpfVSZKQ0I3
ZiNGCnpqcSNtUnc3OV4wenFaI0orPTw9LVNMbjVRNiF1JDB6JX1HeEUtWWUxYn5JQDEoWHcqdT9a
IU42cnt8QDAqeSFQPAp6bFhMNFpnVjBASDlWO3M4PzBmUUNYTTcjT1YoK1N5RllKJDd6UXo5TT9Y
akUxRUl5dWE7MlVCM2gpcnsoeF57WmMKei1JVlRvPTB6ejd5TWpeQT9sbS09bXhWUUd6P2ZmfFoh
MF54dH1MUjhZUnJYNmdHUXxQQCF9LXglZml9Y08jIzIkCnoyQDB8ZHVOYjwyY0RvbU5LOW5FPUxu
IVl+T0hhMGUyZTF7dGJlWXckbnpxK1ZKaVJvO2YhJU15K3dlTH1XMXNrZwp6dERvaChGUHx1OVcq
Qj9LbmlEWWBoU1RrNUYhT0N9VVN4S1F7Kjs5WStrR2BeTnt6P0hiSUBVdlQ2Q3cjOVd8IXYKelo5
fUhlLUhKXjtSQlErPHh3fCtfXmhCcXI4X3l4T2VTfDBUKTJhdkR2V2U1REQmbWBRLVUpYGIhdVpV
TF58PVRxCnpiUUpoT2RfNDtDRiZ3enomVEhlczw4VW1KeWgpMFQrej84QXw3LV8yMkwyfDY/PGNN
YFYhSG0+S0xHfjlFWE5wYgp6c31hKSkkaE1kSjludit4S3hFb2MzSVhKcmtvT3A3KUZlUzg4KWB+
RVQ1ZntYYilVYXxfIUgxbVN4OFRucGdnMk0Kej4jPSg5andfIXhAe28yVE5NVmgzMTc0R0pwfiVo
KGBtUHpqO15CfGkofXs4KlhgbjshUS14dzhkZiF9VFU8dFArCnpAcDNWc1Y7anRSZH1oUD9ablNY
WnRARWA7ZTRkfSg8QXs9YUc7SD5+WVdaI0JURzROISQ+fXNCYXl5fTFrN2tCYQp6KUdCIWhWcX1W
eiFWWVdNdyZZakxoPiorLTBncTRHeDRIdnUrc3BSY0VWLTBrI2g8Z0tYTVU7MkxDNUxnb2ArYH4K
emBpSjduRmdGbjZNUWNHRyVqZ1F6TUxWZ2ZlS3Z6QHVZNTxNWDw0JCVJd1NMPD1BeldmKFllYUdB
blYyRW05eG8+CnoxNSFKRCt4ODw/JnBaTnBTP1ApaHtOKWNqWWsyO1V5WiVseHxJUTgybmpKemQ9
dmM4JWIoS1lRVilVTHhrMFhebQp6JEtrUERCYUw9TkU3aXg+czR9YkVGQTZmeVM2bTtEOzUjQ3tf
JGBRPCVoYkBlSEJTPHVBYzhySGBNenlNTW9mNVkKems2VWtsWmMjeklee2l4QF5PRVZpen4hQFB7
Jn5rWkVLOT1ncD9BREl3YXd3PyNob29hQW82anx4WjBkQyMqNEpPCnpZYlg5alpPXzR7Q1RTcyYm
ZCM8PF5lfk1yendxJGl5eyY0dGBzelVRNXpETnM3TFdPPm5FNVpDMGpJaUNXOzZPegp6WGNBIyZZ
KFQlUGltQSNHTjBESW9NUj1mfCNyS3FUN04/QXxCQjl3X2c1alQhaWl8NTgxMCMtd1BaO3ElJjsk
PU8KekBoP0A1Z31Ndj84KVJhaUpwJjVLMlEpSmVDfWNvJVBvOTdRZlRzX0ZYV1BjQzR+QypGSlFE
RUt0dVpOfXYoaW9iCnoqP2ZfPU5qZShXaWgrM183fGBvQDNlPU9HODRwWjl2Yi1IYGJreiFjWSRY
P29tKVE2Z2ghIypEM0ZoPXFXN1F4OAp6UT8hMmRGcTB0NTI9SGpjYH58M0RrSEVOYzZEPi11TT1s
SyVYbl9KN0dBTVl6UUpgaXBkM3tWc2Q7WXE0SzVGYykKeiQ2IXtfbmZHVlR2RnlAbThnUlZxJXxz
R0V5emlTcFQ8UGhyOTRkKmNFTCU7KTw4KjcoJjdjT1lhfkhNcSs/ZTdZCnp6dSExTWElc3YhN3Rg
cHdkOGxfRklDJmoqV2VHODdpPCsxOCluNjNYKWUxeUtjT3tNWmZ9MXc9TWV6ZV5DaHh2cQp6ZHtT
MjZwZGF0UjAyKmdPNlJYcXNRfkxEWkczcX05PiN5VDk2MmI9MkB2P093QF9De0glbH4kbFRXUHl1
MzM2OSQKencmdVItVDNIZDk1N34tKjhMJHdvZ0JedGYlUk5Ee25uLUx5JXl3X3Z7ZG5eUzE8YHs7
PzlrIUw4WDx2X3t7NDRtCnotfXAlNk45ZWNCRW5VVjQlLWs7IzdUbShDT3thJTdHLSFodD9KendM
QVpHYyNWaW05dlVtPDczNkg7ZG9IT3BSQgp6SGwyXlRoemRJMWFsXk9kSnw1cSMwVn13eWJMMm9O
YWBFZHg9Kz8hUSpQUyhTSmkhSHgyfnVsay1acXErZC1kc1IKeiVCO0E8RD47MClVd3VHJHUxZztP
WT1eKEtYN34zbXQ2YyQkYVpqJSE8K0o2UFZgWV5KNn1NOXZjcXopMzcpRUxnCnpeRkRecEMpQkAy
Y29kR3FtSj1iLUo0UkVjOSRCYFBiYUl5aEY2KzdrISR0fXwlJX5POTRXUWFmNnlvdWU2Vld8Ngp6
NXsxTDQrOWFJLURpQXJtQjtgVUJnfGFiJTQ0fkxpQkNrdFFqSDchZnNnWUdpMF5YdVJBUHxWNyk2
dUYodj57akAKejJuTCoqZTgkUkRCZUMzKUlIYXMheTQ8bnwrIUFYPW1XQndsMGMjMnxgNklefFBm
I1FaQzZZdSFNU0BXRTFfJUkqCno4NHo0aWJYMClIVkIoUDx4JGA/VEo/SiMtckZwITBhbU0yX1Uq
Slh0PGBtaVg4fDVZI0RzbipJbUIrWGhgYSZFSAp6eT0kRTBfTXJQcytsazBBeUR3O3VheDh8Yjla
Ql9jbU44cEtebD1vSE1kTy1nckt8JV95TUBvVkEkOVVZdFZMcCYKekJxaGJTTWl4MzQ1UWdVdUJm
NUdRaFN5PCo8azc4Yil2VHd4TGJ2dW1OMyp7I3Q8QzduQWlZOWEpfXV3e1k1SWFyCnpaaEU/ejZq
ZnctRyRacXNMY3tsMDNPVklua2soeTdKb0VkTCo4T3tUKjMlPngtP0NpNnt0Pn00aDBkTDJtRFhp
Tgp6eTtBWDY3dz4xIzZZam0rRWJnVSRQeDRXaSRma3pVNmszamZmI0d4T3oxLXc8eU41TiMkJWdS
RWg4RU1+T1lAOE8KemA7UEteOWk3JT9gZz5pcVRrdmYzUW5RYn1yRXUtV0lzTUlIQ3U8Zn1SS1Mk
KFM0d31YREBwNUpoZHVKO1FJbnJPCnpVKEdiJUhHUC1YREt+ait5NTMpSXAqOGQxO3JzUWNCYC1m
MDtuazMtM1hqenYoNjItSWkkVntUT2FHe0x3KD9lZgp6QHk0a0lUcjBuUz5EfWhUUiN7PF5rMDdI
ZUU/eldAVUJGX3ZSejhwS1RyS3h+emRHKShRa1FzckM4Kiolc3hgSFkKeklhY2FFKkpwQChObil4
OzIhUkheaiFgRjstTEpeR3RiSztpJn0xU2xaO0IpfmspTm4xYWhyV1hLRVdaTzN7QEk1Cno/MX5S
VDNtXllqOSptZjN2M1AyQnhLenR5RjBlbDJYSllrVkhJeCtRN0FGY1NFMjI5YDBgJklydEVsbTYt
Y3tBQQp6Tih6cHZXI2pKQntOYXpqTSFVM143TFp6WTczJUQ3SFQha0lvSiU7eXMmNn1LUSorMFNZ
fTFhYGg+Q1Z5dXdPXn4Keik1QmR+K2ZKMk45TlA3QGVDaTA8KVUkaWt6RE9sQ0RufXg2TFQ1JEUl
VzF6Q2Q+dDBDZk1BRFR7aGw9OEojRll8CnpWbFAkcCQ8OFZZPyY0PH1gIyRfUU8jOVQrP3ZNMXVv
JGRKZ3pWSWZxSktNakoyYFY9MTBwez9IcSN6TzVLeTgkaAp6NU5fYyllalMhdFdjZStYMVRMZmJp
aHZhJXctKmtsKkxFWHplS3pedEZ8LTthPS1AaGh4QGFsc1gyKDstQ21ydVQKekNebjtQUnM+RG9J
JkpHJmUyS0pjKkhuNWRrYSNHM2FFbT80Pkdwdyg7cytFaiFlJEhSYSNDS2lIQmkhOEpYUnxXCnp2
YUNDbWViel9DKz1PPT08e3BlNzdSY3lLNV9UUylucFohSmdxRzVOZCQ0ZH0oSDhPVEZ4OXRyI2JO
Q3R3TWNoMAp6UEpOZE5SKlVHQSl8e3l3VXU1PkJNfl99JTU/KnxFVEk7b25ARCllU0o5cVQwKVEm
WTF2fEVOazwwRHIwdXRVYHwKelRGOEVeazRBbnVDJXNjUmRAVmMtJmBaNW5peEE0WWZlSz5BMWox
UlRgXyYpY1ZXUTIyMyZYcCZUVXstUGUoYX53Cnp1T01vPzw4MlNAbjRuPFFEZXo+MGVwQn04Ynkl
e2c8fnBwKHlLKV5TT3dEdlZBRkdXaHFpdGNBQm57JTFNRUhHVAp6eSU1QEl4dTNWVGd1Mythe1VO
UDBpI1lPV3tLY21ORjwjPUQhLTdEcGQqK2dgUzE7WjQ5VXs4Jnc1elJBa3hPZ0gKemQ9OyVkbWBM
PEk/TTlneHhPQ3ZZZlhhJn09T2tgRCpxV1VKSkYqJEo2UDg4KG45KjFJT14+UUhvXyhjZ1U8Z3B+
CnpycDgtXmN0bCZ9YSlQdzs5WkZ7fTF0cjxLKHk2fWN0MDFvfiFhaTQwOU1wLX1MQ0JzZHR4TU5B
Yj5wbF9wUz4kZQp6KCprYDFDUEx6SGshOHNhNnB3QFhZXmE7STRpbHcpQkZLSkI+OHJ6N2U8ISMz
SlNXY3Z0QkZ7Jk1nKjVjeDg8dDEKelFPZz1xKlQjKGxEIXpHJVhSTGlkQEpAYWdGRHtQSXFsZUdO
OThUIUdQPDZublJeKU5MOzZCVCRWWGd6dElFI3ItCnoxSzdqKF9QZF9LQ2cqbjNaMFRrdFVMbjZ3
Yk1HbDh5NiQ8dC02P3psJnAmM3MzVm9QdEA3OTJ4SSF3I1NTdXxPKQp6d1FmQ0tRYCRneUxORzMm
KzJhaG5EeFJ9ZlkpZVlZITJLVWFWKStOZld8aEZ7Sl9MNzVXNlRsT2glS1FASmBDVGYKejI/WUJf
YDlqZUFFalF2RFZ+NTU3ejExJmk+IyNJcipOfDV0ViRAKU9kTmpJb2MjbTA4ayVZOFNQdUdtbWxa
QlFhCnpGSkVAfHpBZm16QDU+ezE/SDFMfTk/cSM/cVR9UV4qMmx+RkB0fnB0PWtiT0psNnhKRGBK
aXRkXzlvc1lDR3BJRAp6b2VOY01ZUDBxSlNAbUIrNTI4aHI/e2cqWnFpTWU9JEM+UjlZZWs7dCgk
U3lQdFNuRCY0eXwoPTlGVVQ2Ti0rRHUKektWPV92aCs7fDhHa0s/WlJEJEEhVTxKNkhUKVVAZ3l8
KEdpSTteSnNkcVFNbGZeQyRDKkRoMWp3K1owRW1NNTsoCnpMPEMlY3lefjF0JGsrNWRhY20hOV9p
JjF5cUlaa1ZqSm1NbWZMaG5GKVhjJFlsI0lzZFBOISMpXk8kQCleUVE0ewp6KSE8MWdgRWBHNnto
e31XS1Y8KVp3SDUjQktMeFJTayQ3JThGdT0xdlglQUwyKDxhWFVxSE02Y00mfiMlbjdqPVEKenVh
Izg4PlImNWB6MX4lI2RIRkBeYjFRMT5tRkxObE1fISVxYXFqPlpnKnk5YFhlbzFWazc3bDw8fTY7
O24qYUgyCnpeSXNvMU5iOXlEQ0djVjJkd1EpbXVeaDkpaX1KO0M5amJTPW5vSipGK3RUU2Z2KT87
ayk2SmtDWT12OEdTbjZLMAp6VUFEUU0/JFlVTkxUcVdBKFB8UX5wb19nMCk9YG05WEg2OHtJV0to
YSN+Izk3S1d5dy1QT1YrS0JHK1NQVG48dDcKend7cjBfN2t3OTg3QTU8VzVHeUNFbVlwa1lJeDFI
Kk9iek9xSzZmbkMjVyR8SkoqXy1CYzxTfXIwKXdtMVgzUSNmCnpYITlNMlROfHEheHtWcXo+cSN7
dSt7aXckPzl8WUVjZnY4c2Nib2RZUUtxQkM9bztAd0o4RGlVR0M2TClRcz0yZAp6QnFoUENmfGxE
VWx1Y1dCSEhJKipuKjgwYDBqazw8MUpOKD96QXxnaylZaERudmFXVigqRVJYaj42YHhHe3I9dGUK
dFQ+bSZBfEdPc1NVO1VXPk4xeSRaJjhxK1QpQSpOWilfPn1CeyYlPFh7PVl2ZVlWJiU+ZSp2SER7
PU5WSgoKZGlmZiAtLWdpdCBhL1dlYnNpdGVzL3dlYmtpdC5vcmcvZGVtb3Mvd2ViZ3B1L3NpbXBs
ZS5qcyBiL1dlYnNpdGVzL3dlYmtpdC5vcmcvZGVtb3Mvd2ViZ3B1L3NpbXBsZS5qcwpkZWxldGVk
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMmYwOGQ1MWVkZmQzZWVjN2IzN2NjOGE4ZjJmY2NkZDg1
YTg4MjgzMi4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9X
ZWJzaXRlcy93ZWJraXQub3JnL2RlbW9zL3dlYmdwdS9zaW1wbGUuanMKKysrIC9kZXYvbnVsbApA
QCAtMSwxNzIgKzAsMCBAQAotY29uc3QgdmVydGV4RGF0YSA9IG5ldyBGbG9hdDMyQXJyYXkoCi1b
Ci0gICAgLy8gZmxvYXQ0IHBvc2l0aW9uLCBmbG9hdDQgY29sb3IKLSAgICAxLCAtMSwgMSwgMSwg
MSwgMCwgMSwgMSwKLSAgICAtMSwgLTEsIDEsIDEsIDAsIDAsIDEsIDEsCi0gICAgLTEsIC0xLCAt
MSwgMSwgMCwgMCwgMCwgMSwKLSAgICAxLCAtMSwgLTEsIDEsIDEsIDAsIDAsIDEsCi0gICAgMSwg
LTEsIDEsIDEsIDEsIDAsIDEsIDEsCi0gICAgLTEsIC0xLCAtMSwgMSwgMCwgMCwgMCwgMSwKLQot
ICAgIDEsIDEsIDEsIDEsIDEsIDEsIDEsIDEsCi0gICAgMSwgLTEsIDEsIDEsIDEsIDAsIDEsIDEs
Ci0gICAgMSwgLTEsIC0xLCAxLCAxLCAwLCAwLCAxLAotICAgIDEsIDEsIC0xLCAxLCAxLCAxLCAw
LCAxLAotICAgIDEsIDEsIDEsIDEsIDEsIDEsIDEsIDEsCi0gICAgMSwgLTEsIC0xLCAxLCAxLCAw
LCAwLCAxLAotCi0gICAgLTEsIDEsIDEsIDEsIDAsIDEsIDEsIDEsCi0gICAgMSwgMSwgMSwgMSwg
MSwgMSwgMSwgMSwKLSAgICAxLCAxLCAtMSwgMSwgMSwgMSwgMCwgMSwKLSAgICAtMSwgMSwgLTEs
IDEsIDAsIDEsIDAsIDEsCi0gICAgLTEsIDEsIDEsIDEsIDAsIDEsIDEsIDEsCi0gICAgMSwgMSwg
LTEsIDEsIDEsIDEsIDAsIDEsCi0KLSAgICAtMSwgLTEsIDEsIDEsIDAsIDAsIDEsIDEsCi0gICAg
LTEsIDEsIDEsIDEsIDAsIDEsIDEsIDEsCi0gICAgLTEsIDEsIC0xLCAxLCAwLCAxLCAwLCAxLAot
ICAgIC0xLCAtMSwgLTEsIDEsIDAsIDAsIDAsIDEsCi0gICAgLTEsIC0xLCAxLCAxLCAwLCAwLCAx
LCAxLAotICAgIC0xLCAxLCAtMSwgMSwgMCwgMSwgMCwgMSwKLQotICAgIDEsIDEsIDEsIDEsIDEs
IDEsIDEsIDEsCi0gICAgLTEsIDEsIDEsIDEsIDAsIDEsIDEsIDEsCi0gICAgLTEsIC0xLCAxLCAx
LCAwLCAwLCAxLCAxLAotICAgIC0xLCAtMSwgMSwgMSwgMCwgMCwgMSwgMSwKLSAgICAxLCAtMSwg
MSwgMSwgMSwgMCwgMSwgMSwKLSAgICAxLCAxLCAxLCAxLCAxLCAxLCAxLCAxLAotCi0gICAgMSwg
LTEsIC0xLCAxLCAxLCAwLCAwLCAxLAotICAgIC0xLCAtMSwgLTEsIDEsIDAsIDAsIDAsIDEsCi0g
ICAgLTEsIDEsIC0xLCAxLCAwLCAxLCAwLCAxLAotICAgIDEsIDEsIC0xLCAxLCAxLCAxLCAwLCAx
LAotICAgIDEsIC0xLCAtMSwgMSwgMSwgMCwgMCwgMSwKLSAgICAtMSwgMSwgLTEsIDEsIDAsIDEs
IDAsIDEsCi1dKTsKLQotY29uc3QgTnVtQWN0aXZlVW5pZm9ybUJ1ZmZlcnMgPSAzOwotCi1sZXQg
Z3B1OwotbGV0IGNvbW1hbmRRdWV1ZTsKLWxldCByZW5kZXJQYXNzRGVzY3JpcHRvcjsKLWxldCBy
ZW5kZXJQaXBlbGluZVN0YXRlOwotbGV0IGRlcHRoU3RlbmNpbFN0YXRlOwotbGV0IHByb2plY3Rp
b25NYXRyaXggPSBtYXQ0LmNyZWF0ZSgpOwotCi1sZXQgdW5pZm9ybUJ1ZmZlcnMgPSBuZXcgQXJy
YXkoTnVtQWN0aXZlVW5pZm9ybUJ1ZmZlcnMpOwotdmFyIGN1cnJlbnRVbmlmb3JtQnVmZmVySW5k
ZXggPSAwOwotCi13aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIGluaXQsIGZhbHNlKTsK
LQotZnVuY3Rpb24gaW5pdCgpIHsKLQotICAgIGlmICghY2hlY2tGb3JXZWJHUFUoKSkgewotICAg
ICAgICByZXR1cm47Ci0gICAgfQotCi0gICAgbGV0IGNhbnZhcyA9IGRvY3VtZW50LnF1ZXJ5U2Vs
ZWN0b3IoImNhbnZhcyIpOwotICAgIGxldCBjYW52YXNTaXplID0gY2FudmFzLmdldEJvdW5kaW5n
Q2xpZW50UmVjdCgpOwotICAgIGNhbnZhcy53aWR0aCA9IGNhbnZhc1NpemUud2lkdGg7Ci0gICAg
Y2FudmFzLmhlaWdodCA9IGNhbnZhc1NpemUuaGVpZ2h0OwotCi0gICAgbGV0IGFzcGVjdCA9IE1h
dGguYWJzKGNhbnZhc1NpemUud2lkdGggLyBjYW52YXNTaXplLmhlaWdodCk7Ci0gICAgbWF0NC5w
ZXJzcGVjdGl2ZShwcm9qZWN0aW9uTWF0cml4LCAoMiAqIE1hdGguUEkpIC8gNSwgYXNwZWN0LCAx
LCAxMDAuMCk7Ci0KLSAgICBncHUgPSBjYW52YXMuZ2V0Q29udGV4dCgid2ViZ3B1Iik7Ci0gICAg
Y29tbWFuZFF1ZXVlID0gZ3B1LmNyZWF0ZUNvbW1hbmRRdWV1ZSgpOwotCi0gICAgbGV0IGxpYnJh
cnkgPSBncHUuY3JlYXRlTGlicmFyeShkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgibGlicmFyeSIp
LnRleHQpOwotICAgIGxldCB2ZXJ0ZXhGdW5jdGlvbiA9IGxpYnJhcnkuZnVuY3Rpb25XaXRoTmFt
ZSgidmVydGV4X21haW4iKTsKLSAgICBsZXQgZnJhZ21lbnRGdW5jdGlvbiA9IGxpYnJhcnkuZnVu
Y3Rpb25XaXRoTmFtZSgiZnJhZ21lbnRfbWFpbiIpOwotCi0gICAgaWYgKCFsaWJyYXJ5IHx8ICFm
cmFnbWVudEZ1bmN0aW9uIHx8ICF2ZXJ0ZXhGdW5jdGlvbikgewotICAgICAgICByZXR1cm47Ci0g
ICAgfQotCi0gICAgbGV0IHBpcGVsaW5lRGVzY3JpcHRvciA9IG5ldyBXZWJHUFVSZW5kZXJQaXBl
bGluZURlc2NyaXB0b3IoKTsKLSAgICBwaXBlbGluZURlc2NyaXB0b3IudmVydGV4RnVuY3Rpb24g
PSB2ZXJ0ZXhGdW5jdGlvbjsKLSAgICBwaXBlbGluZURlc2NyaXB0b3IuZnJhZ21lbnRGdW5jdGlv
biA9IGZyYWdtZW50RnVuY3Rpb247Ci0gICAgLy8gTk9URTogT3VyIEFQSSBwcm9wb3NhbCBoYXMg
dGhlc2UgdmFsdWVzIGFzIGVudW1zLCBub3QgY29uc3RhbnQgbnVtYmVycy4KLSAgICAvLyBXZSBo
YXZlbid0IGdvdCBhcm91bmQgdG8gaW1wbGVtZW50aW5nIHRoZSBlbnVtcyB5ZXQuCi0gICAgcGlw
ZWxpbmVEZXNjcmlwdG9yLmNvbG9yQXR0YWNobWVudHNbMF0ucGl4ZWxGb3JtYXQgPSBncHUuUGl4
ZWxGb3JtYXRCR1JBOFVub3JtOwotICAgIHBpcGVsaW5lRGVzY3JpcHRvci5kZXB0aEF0dGFjaG1l
bnRQaXhlbEZvcm1hdCA9IGdwdS5QaXhlbEZvcm1hdERlcHRoMzJGbG9hdDsKLQotICAgIHJlbmRl
clBpcGVsaW5lU3RhdGUgPSBncHUuY3JlYXRlUmVuZGVyUGlwZWxpbmVTdGF0ZShwaXBlbGluZURl
c2NyaXB0b3IpOwotCi0gICAgbGV0IGRlcHRoU3RlbmNpbERlc2NyaXB0b3IgPSBuZXcgV2ViR1BV
RGVwdGhTdGVuY2lsRGVzY3JpcHRvcigpOwotICAgIGRlcHRoU3RlbmNpbERlc2NyaXB0b3IuZGVw
dGhXcml0ZUVuYWJsZWQgPSB0cnVlOwotICAgIGRlcHRoU3RlbmNpbERlc2NyaXB0b3IuZGVwdGhD
b21wYXJlRnVuY3Rpb24gPSAibGVzcyI7Ci0KLSAgICBkZXB0aFN0ZW5jaWxTdGF0ZSA9IGdwdS5j
cmVhdGVEZXB0aFN0ZW5jaWxTdGF0ZShkZXB0aFN0ZW5jaWxEZXNjcmlwdG9yKTsKLQotICAgIGZv
ciAobGV0IGkgPSAwOyBpIDwgTnVtQWN0aXZlVW5pZm9ybUJ1ZmZlcnM7IGkrKykgewotICAgICAg
ICB1bmlmb3JtQnVmZmVyc1tpXSA9IGdwdS5jcmVhdGVCdWZmZXIobmV3IEZsb2F0MzJBcnJheSgx
NikpOwotICAgIH0KLQotICAgIGxldCBkZXB0aFRleHR1cmVEZXNjcmlwdG9yID0gbmV3IFdlYkdQ
VVRleHR1cmVEZXNjcmlwdG9yKGdwdS5QaXhlbEZvcm1hdERlcHRoMzJGbG9hdCwgY2FudmFzU2l6
ZS53aWR0aCwgY2FudmFzU2l6ZS5oZWlnaHQsIGZhbHNlKTsKLSAgICAvLyBOT1RFOiBPdXIgQVBJ
IHByb3Bvc2FsIGhhcyBzb21lIG9mIHRoZXNlIHZhbHVlcyBhcyBlbnVtcywgbm90IGNvbnN0YW50
IG51bWJlcnMuCi0gICAgLy8gV2UgaGF2ZW4ndCBnb3QgYXJvdW5kIHRvIGltcGxlbWVudGluZyB0
aGUgZW51bXMgeWV0LgotICAgIGRlcHRoVGV4dHVyZURlc2NyaXB0b3IudGV4dHVyZVR5cGUgPSBn
cHUuVGV4dHVyZVR5cGUyRDsKLSAgICBkZXB0aFRleHR1cmVEZXNjcmlwdG9yLnNhbXBsZUNvdW50
ID0gMTsKLSAgICBkZXB0aFRleHR1cmVEZXNjcmlwdG9yLnVzYWdlID0gZ3B1LlRleHR1cmVVc2Fn
ZVVua25vd247Ci0gICAgZGVwdGhUZXh0dXJlRGVzY3JpcHRvci5zdG9yYWdlTW9kZSA9IGdwdS5T
dG9yYWdlTW9kZVByaXZhdGU7Ci0KLSAgICBsZXQgZGVwdGhUZXh0dXJlID0gZ3B1LmNyZWF0ZVRl
eHR1cmUoZGVwdGhUZXh0dXJlRGVzY3JpcHRvcik7Ci0KLSAgICByZW5kZXJQYXNzRGVzY3JpcHRv
ciA9IG5ldyBXZWJHUFVSZW5kZXJQYXNzRGVzY3JpcHRvcigpOwotICAgIC8vIE5PVEU6IE91ciBB
UEkgcHJvcG9zYWwgaGFzIHNvbWUgb2YgdGhlc2UgdmFsdWVzIGFzIGVudW1zLCBub3QgY29uc3Rh
bnQgbnVtYmVycy4KLSAgICAvLyBXZSBoYXZlbid0IGdvdCBhcm91bmQgdG8gaW1wbGVtZW50aW5n
IHRoZSBlbnVtcyB5ZXQuCi0gICAgcmVuZGVyUGFzc0Rlc2NyaXB0b3IuY29sb3JBdHRhY2htZW50
c1swXS5sb2FkQWN0aW9uID0gZ3B1LkxvYWRBY3Rpb25DbGVhcjsKLSAgICByZW5kZXJQYXNzRGVz
Y3JpcHRvci5jb2xvckF0dGFjaG1lbnRzWzBdLnN0b3JlQWN0aW9uID0gZ3B1LlN0b3JlQWN0aW9u
U3RvcmU7Ci0gICAgcmVuZGVyUGFzc0Rlc2NyaXB0b3IuY29sb3JBdHRhY2htZW50c1swXS5jbGVh
ckNvbG9yID0gWzAuMzUsIDAuNjUsIDAuODUsIDEuMF07Ci0gICAgcmVuZGVyUGFzc0Rlc2NyaXB0
b3IuZGVwdGhBdHRhY2htZW50LmxvYWRBY3Rpb24gPSBncHUuTG9hZEFjdGlvbkNsZWFyOwotICAg
IHJlbmRlclBhc3NEZXNjcmlwdG9yLmRlcHRoQXR0YWNobWVudC5zdG9yZUFjdGlvbiA9IGdwdS5T
dG9yZUFjdGlvbkRvbnRDYXJlOwotICAgIHJlbmRlclBhc3NEZXNjcmlwdG9yLmRlcHRoQXR0YWNo
bWVudC5jbGVhckRlcHRoID0gMS4wOwotICAgIHJlbmRlclBhc3NEZXNjcmlwdG9yLmRlcHRoQXR0
YWNobWVudC50ZXh0dXJlID0gZGVwdGhUZXh0dXJlOwotCi0gICAgdmVydGV4QnVmZmVyID0gZ3B1
LmNyZWF0ZUJ1ZmZlcih2ZXJ0ZXhEYXRhKTsKLSAgICByZW5kZXIoKTsKLX0KLQotZnVuY3Rpb24g
cmVuZGVyKCkgewotCi0gICAgdXBkYXRlVW5pZm9ybURhdGEoY3VycmVudFVuaWZvcm1CdWZmZXJJ
bmRleCk7Ci0KLSAgICBsZXQgY29tbWFuZEJ1ZmZlciA9IGNvbW1hbmRRdWV1ZS5jcmVhdGVDb21t
YW5kQnVmZmVyKCk7Ci0KLSAgICBsZXQgZHJhd2FibGUgPSBncHUubmV4dERyYXdhYmxlKCk7Ci0K
LSAgICByZW5kZXJQYXNzRGVzY3JpcHRvci5jb2xvckF0dGFjaG1lbnRzWzBdLnRleHR1cmUgPSBk
cmF3YWJsZS50ZXh0dXJlOwotCi0gICAgbGV0IGNvbW1hbmRFbmNvZGVyID0gY29tbWFuZEJ1ZmZl
ci5jcmVhdGVSZW5kZXJDb21tYW5kRW5jb2RlcldpdGhEZXNjcmlwdG9yKHJlbmRlclBhc3NEZXNj
cmlwdG9yKTsKLSAgICBjb21tYW5kRW5jb2Rlci5zZXREZXB0aFN0ZW5jaWxTdGF0ZShkZXB0aFN0
ZW5jaWxTdGF0ZSk7Ci0gICAgY29tbWFuZEVuY29kZXIuc2V0UmVuZGVyUGlwZWxpbmVTdGF0ZShy
ZW5kZXJQaXBlbGluZVN0YXRlKTsKLSAgICBjb21tYW5kRW5jb2Rlci5zZXRWZXJ0ZXhCdWZmZXIo
dmVydGV4QnVmZmVyLCAwLCAwKTsKLSAgICBjb21tYW5kRW5jb2Rlci5zZXRWZXJ0ZXhCdWZmZXIo
dW5pZm9ybUJ1ZmZlcnNbY3VycmVudFVuaWZvcm1CdWZmZXJJbmRleF0sIDAsIDEpOwotCi0gICAg
Ly8gTk9URTogT3VyIEFQSSBwcm9wb3NhbCB1c2VzIHRoZSBlbnVtIHZhbHVlICJ0cmlhbmdsZSIg
aGVyZS4gV2UgaGF2ZW4ndCBnb3QgYXJvdW5kIHRvIGltcGxlbWVudGluZyB0aGUgZW51bXMgeWV0
LgotICAgIGNvbW1hbmRFbmNvZGVyLmRyYXdQcmltaXRpdmVzKGdwdS5QcmltaXRpdmVUeXBlVHJp
YW5nbGUsIDAsIDM2KTsKLQotICAgIGNvbW1hbmRFbmNvZGVyLmVuZEVuY29kaW5nKCk7Ci0gICAg
Y29tbWFuZEJ1ZmZlci5wcmVzZW50RHJhd2FibGUoZHJhd2FibGUpOwotICAgIGNvbW1hbmRCdWZm
ZXIuY29tbWl0KCk7Ci0KLSAgICBjdXJyZW50VW5pZm9ybUJ1ZmZlckluZGV4ID0gKGN1cnJlbnRV
bmlmb3JtQnVmZmVySW5kZXggKyAxKSAlIE51bUFjdGl2ZVVuaWZvcm1CdWZmZXJzOwotICAgIHJl
cXVlc3RBbmltYXRpb25GcmFtZShyZW5kZXIpOwotfQotCi1mdW5jdGlvbiB1cGRhdGVVbmlmb3Jt
RGF0YShpbmRleCkgewotCi0gICAgbGV0IHZpZXdNYXRyaXggPSBtYXQ0LmNyZWF0ZSgpOwotICAg
IG1hdDQudHJhbnNsYXRlKHZpZXdNYXRyaXgsIHZpZXdNYXRyaXgsIHZlYzMuZnJvbVZhbHVlcygw
LCAwLCAtNSkpOwotICAgIGxldCBub3cgPSBEYXRlLm5vdygpIC8gMTAwMDsKLSAgICBtYXQ0LnJv
dGF0ZSh2aWV3TWF0cml4LCB2aWV3TWF0cml4LCAxLCB2ZWMzLmZyb21WYWx1ZXMoTWF0aC5zaW4o
bm93KSwgTWF0aC5jb3Mobm93KSwgMCkpOwotCi0gICAgbGV0IG1vZGVsVmlld1Byb2plY3Rpb25N
YXRyaXggPSBtYXQ0LmNyZWF0ZSgpOwotICAgIG1hdDQubXVsdGlwbHkobW9kZWxWaWV3UHJvamVj
dGlvbk1hdHJpeCwgcHJvamVjdGlvbk1hdHJpeCwgdmlld01hdHJpeCk7Ci0KLSAgICBsZXQgdW5p
Zm9ybSA9IG5ldyBGbG9hdDMyQXJyYXkodW5pZm9ybUJ1ZmZlcnNbaW5kZXhdLmNvbnRlbnRzKTsK
LSAgICBmb3IgKGxldCBpID0gMDsgaSA8IDE2OyBpKyspIHsKLSAgICAgICAgdW5pZm9ybVtpXSA9
IG1vZGVsVmlld1Byb2plY3Rpb25NYXRyaXhbaV07Ci0gICAgfQotfQpkaWZmIC0tZ2l0IGEvV2Vi
c2l0ZXMvd2Via2l0Lm9yZy9kZW1vcy93ZWJtZXRhbC8yZC5odG1sIGIvV2Vic2l0ZXMvd2Via2l0
Lm9yZy9kZW1vcy93ZWJtZXRhbC8yZC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYzZWQwYTkzNmM0MGYyNmFm
MmI3ZjY2OTBhNTA5ZmExNWYxNWY1OTkKLS0tIC9kZXYvbnVsbAorKysgYi9XZWJzaXRlcy93ZWJr
aXQub3JnL2RlbW9zL3dlYm1ldGFsLzJkLmh0bWwKQEAgLTAsMCArMSw2MSBAQAorPCFET0NUWVBF
IGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9Indp
ZHRoPTYwMCI+Cis8bWV0YSBodHRwLWVxdWl2PSJDb250ZW50LXR5cGUiIGNvbnRlbnQ9InRleHQv
aHRtbDsgY2hhcnNldD11dGYtOCI+Cis8dGl0bGU+V2ViTWV0YWwgMkQgZGVtbzwvdGl0bGU+Cis8
bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9InNoYXJlZC5jc3MiPgorPGxpbmsgcmVsPSJzdHls
ZXNoZWV0IiBocmVmPSJodHRwczovL3dlYmtpdC5vcmcvd3AtY29udGVudC90aGVtZXMvd2Via2l0
L3N0eWxlLmNzcyI+Cis8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Imh0dHBzOi8vd3d3LmFw
cGxlLmNvbS93c3MvZm9udHM/ZmFtaWx5PU15cmlhZCtTZXQrUHJvJmFtcDt2PTEiPgorPHNjcmlw
dCBzcmM9InNoYXJlZC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iMmQuanMiPjwvc2NyaXB0
PgorPHNjcmlwdCBpZD0ibGlicmFyeSIgdHlwZT0ieC1zaGFkZXIveC1tZXRhbCI+CisjaW5jbHVk
ZSA8bWV0YWxfc3RkbGliPgorCit1c2luZyBuYW1lc3BhY2UgbWV0YWw7CisKK3N0cnVjdCBWZXJ0
ZXgKK3sKKyAgICBmbG9hdDQgcG9zaXRpb24gW1twb3NpdGlvbl1dOworfTsKKworc3RydWN0IFVu
aWZvcm0KK3sKKyAgICBmbG9hdDIgcmVzb2x1dGlvbjsKKyAgICBmbG9hdCB0aW1lOworfTsKKwor
dmVydGV4IFZlcnRleCB2ZXJ0ZXhfbWFpbihkZXZpY2UgVmVydGV4ICp2ZXJ0aWNlcyBbW2J1ZmZl
cigwKV1dLAorICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdGFudCBVbmlmb3JtICp1bmlm
b3JtcyBbW2J1ZmZlcigxKV1dLAorICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50IHZpZCBb
W3ZlcnRleF9pZF1dKQoreworICAgIHJldHVybiB2ZXJ0aWNlc1t2aWRdOworfQorCitmcmFnbWVu
dCBmbG9hdDQgZnJhZ21lbnRfbWFpbihWZXJ0ZXggdmVydGV4SW4gW1tzdGFnZV9pbl1dLCBjb25z
dGFudCBVbmlmb3JtICp1bmlmb3JtcyBbW2J1ZmZlcigwKV1dKQoreworICAgIGZsb2F0MiBwb3Np
dGlvbiA9IHZlcnRleEluLnBvc2l0aW9uLnh5IC8gdW5pZm9ybXMtPnJlc29sdXRpb24ueHk7CisK
KyAgICBmbG9hdCBjb2xvciA9IDAuMDsKKyAgICBmbG9hdCB0aW1lID0gdW5pZm9ybXMtPnRpbWU7
CisgICAgY29sb3IgKz0gc2luKHBvc2l0aW9uLnggKiBjb3ModGltZSAvIDcuMCkgKiA5MC4wKSAr
IGNvcyhwb3NpdGlvbi55ICogY29zKHRpbWUgLyAxNy4wKSAqIDE1LjApOworICAgIGNvbG9yICs9
IHNpbihwb3NpdGlvbi55ICogc2luKHRpbWUgLyAxMy4wKSAqIDM1LjApICsgY29zKHBvc2l0aW9u
LnggKiBzaW4odGltZSAvIDI3LjApICogMzUuMCk7CisgICAgY29sb3IgKz0gc2luKHBvc2l0aW9u
LnggKiBzaW4odGltZSAvIDUuMCkgKiAxNS4wKSArIHNpbihwb3NpdGlvbi55ICogc2luKHRpbWUg
LyAzMS4wKSAqIDkwLjApOworICAgIGNvbG9yICo9IHNpbih0aW1lIC8gMTAuMCkgKiAwLjU7CisK
KyAgICByZXR1cm4gZmxvYXQ0KGNvbG9yLCBjb2xvciAqIDAuNSArIHNpbih0aW1lIC8gMTApLCBz
aW4oY29sb3IgKyB0aW1lIC8gMy4wKSAqIDAuNzUsIDEuMCk7Cit9Cis8L3NjcmlwdD4KKzwvaGVh
ZD4KKzxib2R5PgorPGNhbnZhcz48L2NhbnZhcz4KKzxkaXYgaWQ9ImVycm9yIj4KKyAgICA8aDI+
V2ViTWV0YWwgbm90IGF2YWlsYWJsZTwvaDI+CisgICAgPHA+CisgICAgICAgIE1ha2Ugc3VyZSB5
b3UgYXJlIG9uIGEgc3lzdGVtIHdpdGggV2ViTWV0YWwgZW5hYmxlZC4gSW4KKyAgICAgICAgU2Fm
YXJpLCBmaXJzdCBtYWtlIHN1cmUgdGhlIERldmVsb3BlciBNZW51IGlzIHZpc2libGUgKFByZWZl
cmVuY2VzIOKGkgorICAgICAgICBBZHZhbmNlZCksIHRoZW4gRGV2ZWxvcCDihpIgRXhwZXJpbWVu
dGFsIEZlYXR1cmVzIOKGkiBFbmFibGUgV2ViTWV0YWwuCisgICAgPC9wPgorPC9kaXY+Cis8L2Jv
ZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9XZWJzaXRlcy93ZWJraXQub3JnL2RlbW9zL3dlYm1l
dGFsLzJkLmpwZyBiL1dlYnNpdGVzL3dlYmtpdC5vcmcvZGVtb3Mvd2VibWV0YWwvMmQuanBnCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjhhZTZiNDJkYjkyYTZiYWExM2Y1MWQwMDQ2ZDg4MmY3YmE0OTRmOTEKR0lUIGJp
bmFyeSBwYXRjaApsaXRlcmFsIDMwNDA3CnpjbWVGWWNUXlA1X0FmZipFRTFLUih+eHRKQVgkYnlG
YnM/WVZUZCMyOTI2QjFhM28wMUlXcjYrVlVURCprfDNEQAp6UTRIaiRmYEVkOHpTZVdUb19wX0Zj
ZGclZz47M21tNGMtMGU+Z3d2K1JlTStNe3BzZXt0NnZ7TD1PSVFXTWojUnIKejVhPGY8MU5+WThu
SGZnPGMhRUlZPHsmVCMxZm05IWt9IWtGMDdMQChLIzR2ZUA7P3teNShTUFI1TlIzZEtSRzBhCnpX
bn0tc3pjMm47cTdtPjg0R3ErZ21HdXZpYWRpKUheTj5MWF97bTFQMkZsOUkkak8yPGJzX15AayFY
KWxlbTQmPAp6QUFjPnUmKXJXMWBGLTVBMW1WaSZhXmB7aDleTzd6cUp1cWJxQWhIWihQKlQpeVAl
Rlh6aDxPSHErZygpTjJuYCoKenFAUztVaChASEE7R2ZEaDBRQF4hUio/VHNreDthanB1TT5qemtX
Y2wyZnduNmw4bEBuYUNma35ydn11KD0tPkFPCnpYSWdeKVplJkQ2Z2lNNUBPaEItZ3RofkNxeH4h
YW50YiYzeFAobkgrJTBKWEtRcmJVNj0keyU0SlZLRGNLN3BZPQp6MHNqMklZamt4QjJuKkVgNnFF
Jj9BcDdxfXtEeXpxcz9HbzNeeHEhJVp4OCZwMm1hZHd8THVZUV9RMyFEZGYtM2EKemopeTxzO3pS
KHg0Q3ZRS2tlWmN1S3hqYVNjUihQJnFLcTYhUDB6JWZ7SWA8QHEoNH5YND9JODFsZX59eVk5Wmdj
CnpNVSVJQ3RRWSVoYFFqQFJlU0hAenNIS3NLbmMqS0Y/JjdkKFY0eUdRY0BXNllLUXRJPnRqQk5m
ZlooVEUwJGV2ewp6ej9HOCUkK3t2IzAoR3NkJXpvR1QmKyQrRmV8S04hZW1pO34oMlZyJnk4ZFNX
Jmo2RDw7MSZWQ3E3X2l3JXs+SV4KejJqRGhmZHg7RFQ0aDRiOFpVT20xNXV0JjxhVFMxQmdNa0pE
eFpea1dgV0pycjhAdjRyZkF+fHo3T0RARklSdn4+CnpkUk56QUZBI194JE9pRjtCZldybj09bmgp
TkBqbXxBQWI7dFNxWj99Tk4tbm41YT1SczRKNzV+N3d7WEcwYSlEYQp6ZjJxZ29mNUVQPFpoen1e
YkBscC18ME40PkMtN2hjcE84UmIqUWhAeXw2bEk+ZThZaExgalo1S0otdjdFNikxMk4KejJLdVpI
OWJvendgQDMwS3sqJihtTmMwYyg0IVoqVDJPfnJEZnhpNkx6MyMzQ3J2S25ERykocyY+PjNROWYw
eXdJCnpITD84JTJNMGpeKjY7NllAbW9Mc3c4N2lNPFMrSUpGfF8kNy1feXMpPFIyWEVaNDNWZ2h4
XiFCe0RWVyNIaDxkPwp6P1hDWWVLUjY4Zng2UGl4TXReMVczanl4QF9qOGYxfDlNdVp3PUVFd3tI
cn00QUArYVU8TCtUI18mNDdsX1AxPzsKenA/WkpvNER8aEA+d2plTkBIUElNOX07ZiFfdWtOOCty
UmxKU0lCU097Wmw/TClhcX5sZlhxT0tBT2pGVE5GVT9fCnpAJnxjPHs2TWIybkVgTVgwdHk4QTAl
dVg3OStBSXc0eH1GdDchflp9PHNIaGUzc3tmYHpsbEZtTXY3bFNQRkB1Ugp6YGZaUUQlWVotISZf
OHhZIWFuaHp5ZGRDeTRScylARCpqS050MFZ+MkI/WHY3PEEzc21SWGB4UkxKKzhYMXNONmAKens7
JkdUZTsrNzd2Pi0raER+SlFjM2xhaX1nUVAoVUFRakxoJn1FP1k1UmZJdjdVVGVPMXxkUC1LPkxH
MTV1b2QhCnorbkB4e2ViNTY/SG1DcXAzYVNMdmZwRE19Jj84VX09b3g0Ykd6eXZvNWtZVDJBMyRy
TTluYz09RTllSWEyPy1TbQp6MHxeVFcyTUhnRTIjRisjMCpNLWxIaTtwTDgzfmxjZiNlI0E3bH1W
Zjd8Q14jSjAkbD5HRHIkWSUxUD07bm5ebEkKem97X3ZEbkljJnJTdDhqWWA5a3VZbCNHO35sJERm
K1JGcVZmUkU8PVopUmZlZylRUXhLRz45fnNHQGRrLUc+XjFgCnp3MmAhKF5jbT9XRFV0TDg9Pz5g
OzhIa0xJakdhdD9PcXh1TU9yT2s+M188MmU3RUJnUGg5UyEjc35+RzQ+bW5OPgp6bjw0dV53bzco
R1BEIyF9JlFDNSlldT99RklnQWBoOXotNVhvPWpkcVVQczxlLWNMUzV6Q154OXsqIWAlZn0yODsK
ekxXOUREIWspczVCNyExO0I4UUBlZjxRNHFMOE1ydF8pMUFoJHhiT29zWS1jOyh0IzMxOEFGKiZT
eGt3aWRgZFkqCnp4azduRk1NY0Z5Qn10YDRXbDd+cTYtdCNybH4yYDNeQE03Z1lLYGljbnZSLX1U
N2xZIzhiUiQoOVk+dSotOVlgQQp6ZFlYRUpgVWxOPDhXOT18OGNQfj9ua2JxeW5rdCR1bmhCYVVu
amZAR3Z8X1ljdzY/UzsrU3t+d3Zgd0BGdzJRT3sKemJhWnJyYm4wfjBiVXQqcT08P191KGhidXMo
VmZzVSh9VV50PV5nM0E9dV8heT43VVhzJj50YGBGby1mLVc8VzU2CnpHTmR4cEdkeVFfJDhkYSg8
KCRrcGxYTEZwWmt7VlYqTTRzTCskVG1GTWlFOWBNclghbyN2STAwI3RGdlZeRUJzMAp6JitESWVK
cyozJUBPPGFfYFNWOWlFS0tyRG1QfiQzJHhJRFFGUEp1JnNoQ0JYNFZtNFU8QyFhJnBFSXdwa2cq
N3sKej0oOFlNP3l5dmA0NnYtUlFuSEclbnl7aStAM1oxcSQ2NUUtbkF3IXI/QVJqTjNmWCR1S0Nx
THFpP1ctcmA/OUM4Cnp4M0pII2Y0eyhVTEhCfmtnP2tzOEU9KnRlYzlIQWk8JT1Fe0YmRlV7aTVJ
X2ZATipiKXBnR2J4OSZ4PG9CPEJRawp6VDYwRWxtVChTbT9zQm5tVUUpRz1WWXBoalVVUVJqZ1Nu
eUhHMkU1aEZTKEMrY3pLTEAwKHRVenA3WlNUdmghWiUKek1lJTB3S0lZeHhXOHVeMF5Xbj9sZCYw
TlAmJklGSUA1YFVaLV9PNCV6JTZoXkFXV2NLVXxpc2JwcUw7YEZpc0ZKCnpfKlJIa05LTUY3Q2Ar
aE1YaXUwPSpqKUkhRmpufXIyI3R1RWhfXl90JGRKZjRRODdgdFhya3lOKE1fPzdWa1RuSQp6VnB5
PzdhUnpaNkBnVlVFQG1VRTwye2oze002dHZxbT12ckdfNjhTJUNuUU5GUlV+flJpelRPfEQ1VFYt
e0d9P1MKej1CNFNTYiowMGx2Qz5PMj5Ac0ZEYVdhbyZLRkpFcEI0cEVMaGglQHNEYS1sRlJtcmBQ
WE9AU14kSHtsZWVeQ0d7CnpBUWNKflcpJkZ9alRDUHhifH4mRU5oKjBMbF88U1pXPkdkKlBFX3R3
SzJ1UnUzMDclUiote2wmeXsxfkVJPExtNgp6V35HKl9IbXB2ZXVCVSFleSt7Mi1McSNLMHFlYktN
Q0Z4NyhPQVZKY0hOYFlOR147ZE12Oz8oV3dhVD9WWCFDMWQKeig9T0JncGQrQjtzI0JxfWR8QndT
YHtrTzs4QGR2QERCVldnUGtNNUMhRm1MfVp+N1lnSH1zenhrUW8+b1U8fTMkCnpuR0lvdjElfmc4
MWRZNm11dHN+diVFbUZxUHA/cDFGfTskMFchezl4MVpoJWx2SWtMeCs8XjMoKHdvfHQ3TUwhWgp6
Zno1KT15MzkkPEE/QklwaXh3Z2x7dVlsY0w2IzwjblUtJkAjSEBtPnh+KGEjdCppXkoqUC0mej4o
QyheNzhANnYKejJBaSs4ZGJWa3taKCFvRUZqJGAqcW4pRSZ6MT1zczBYemYjIUN1ej5oVyk0bXIt
UDN9Mlo5UD1ocDBndVR7WE8jCnplUmEpSSopaFIhJlBtS0UoJj5kV3I/YW5mdU00QSN0NHIlT2lm
aXl8NGNBVXhFbk8+SWtLOWIkaXJuXilgcDhgNQp6ans5WnpFY1khQkVzcVMzNE5vbzQ0OWB0M0V3
NDxrRXBIdn45UGVFcGVWK29LZWJnMEhEZTQ+QTU/emJfPHFQLTQKemAlKEt7Xlh2M3lfREIybzJr
LV8mMjIyRz8xfHxmNDIrfDEzNCUhUGc0WHoweDMyX1NQMnhTRXZwTzwwY1ZSeXJwCnohbk1OLSE7
ZDVFQjNkSnZCSzsjQE11RFU1TVF1YklNT1ZqPSN+QD8rdF94aGhlU1BWTT92MyhUbDMySWN6TURj
Zgp6PDhROXJHUUwlSm9BeCZQX0U/LTtUdD9qQzlyJkhEYyVKeE1AaGYrWT9fdnxxQj9LcVRDdGdZ
e08oSVk3TmdCVlcKemNyWDluUG1EV2U8aTZiZm9jcEtBJG1FZH1gSU5rclUjWHN7PDdwfnNCQFpZ
Y18mPUNTKkdhRi1WOUpRalNqalpjCnpZfHJBKSFla3cweUpXd31RT1lVSnJPZ2U/e2c3dnQqTzQh
cnt+LVVnemBLQjBzOEAoRDt4NCpaXnNVJnZjKUh8cgp6Tm1ENkw+SFg2MFdqPHhFJThrcTBEP31A
RERrJj8mRTd6OytzKW5sN3NfU2J3WXdwKmEpJXc/ZHNEc3deKlE/Z28KekgqaHprVk0oIUoqc1Zz
IyN6fnczdUFAbzFzVHxMYXp5QT5RRnpuJVdeUj8hPTdTb28jUjwraXFIaiVhPjB0KjR0CnpQU1BJ
THpXMiFjKFQ1SSlqO1QmYVhKNk4pRTwoM1ZjV3NZQVBobEB4WmB4enAkTUtKVUomQXNEXmZkNzQ/
bFo0dgp6RH02M35aPVR5ZnBZNkJxQTBJRnM3Iz1obGRfSlQqXmtpNlR4YVduJmlfUV9Ya3c+RXtx
d08hMVVsUFdZI3xZeXAKejxMd2l3NkNJUTRsVS1BcVE7KDswcmt+OWklblooJiUjSVEqaCpOWDB4
bVdYIV5CLVFoenVIe3pVRCRzZXtgJHc4CnpUWjxIbm43OE5PPURnIzZTTWdyckpecThyaHUkVEZy
SSpWIyVXcWJZRD82KHB0RVglNj5rUjhUOCs7cX1uK2xzZgp6VFNpLXgrZ0c+T2JePj5QPj9WOTxg
ZElXeXs4UVdLJWIjRUYrMyY2RzJrLXktbDY9NSVQPHlDISptcT1nXnpOKFEKeipCez83I35qQ1hD
dSUxey17SWRrZW5neTdvI3ZmTW9PUyYpe2tpemRAN0okRCpJP0hfelFBdn5tZWRtPGFsaDFwCnpL
bnhCYjVYJlM4TTBAVUV7Xz52XmZJQ2VCbG1XMEVpNDRnT1gpJjJJeGRhNmojWGpYMClqYWlrbmtD
d0FeYmAhRAp6PVMmJHgmekNYSHYoVHw+dnFpSnhGS2xwdEliRkdPeGhIcmpfPn1vUTFYMlpDZ3I8
YyppSVIkKTZLOW01MTdeTXgKeiQmWFM/KGxhdjhXZUlYc0AoJmJsRDU4fD9sck83KlJhc098KXo7
S3NZUDRNeyghOFVFKHVWNDJVelhENChfX35eCnpaJE0qNlpnXigmJjNOejFycFg3JEU3TmhhMHJN
VjxSIWZ7IWdMT1QkITNKbEdoYygtXiFkdmF6OU5HfUFTNmR2TAp6byQkX2htekhaQ3VGdT9GQXtY
NChKcXxzOGRESG9AcVhmfkN6Ukc/Jnt3NHZpSyMhbl47Rk9TPiY/ak45IXVLTy0KenFXR2cjVj1T
JkNaJCFwb1pzeSk5eUltZXZkTTdWRj9RVExzT2t6LXk9UkV8Kjs9WFJPYSpCOD1jTis1cHheJFdo
Cnp5M0YlZzdxYk8mQnkqTVd3REp1TCVuTTtmU0JzRyk9K2UtI1RqZFdiJH0wJn5CaH5MfjQocTd2
eGZeNyRkV3xyZwp6UzVxV0Q+MHdURE1HTG1Jd1hLV3JxPCFHZ2k7bDYqc1Ytdm90RFpOIz87byF8
Kj9EQEBOQXtlcFV3bEF3Jn1zLWQKejlQdDcoUVokTnhgRHw9entLTGVAJClsPDcpMkF+KFd7LShT
Yk5sbGowY340KHtxRGBII3AkPFc/fXB6R2Q+QzlCCnpTKU57YnlTbFlAdl9Zfi16amJrMlhoJnZP
e2lGVVRsaDNBbTJLeCRNRWAwZk5GbSN4SWcjTjFlP2NCSGIkTX08NQp6LT5yV0x7TWJLemM5I0Qw
K0FxMFp6eTchSm0hYVVOSH5ffGZufGhnTXBOXkpaZ3UoRWZIKUdvUUtCZlp9WDt2NHUKemVEPkxr
Mz5AYTFjZSRRJmY4fnxyYkt5QEdYY0w/aEl1djBQPHJXaGE3bSZDSnJVTV5LRT0hRnxjZ2EtQkNk
LUEoCnpVc0V0cWx2QkUoYmYmempHTk91QyVUa1psYUs1Q2NEWEstU3dXQj95KHtaXntIKGY3SUtm
PUoqKDlPdXMqen02Rgp6aTlBSGVsK0JGRj9BVXpVViRwS1NZU185RGBxLXgxd2dYMTZka0R3YypF
cDBUM2EofjNyWl49ISRHUDBSY0dFU14KejRUSD5kRlk+N01lQ1hCVHtuVGR8SEd3QWpGOFp6ZD8q
PCRQUTNoV0trcVhyZHZrJik9eEQlTmgpZm9MR1g4UVctCnpqaVp+U3dgZ3lsaT0pM29kRk47Ujtv
WXItd34xM3AxTlM7Ryohdn5QNF5yWSVCaHZnSGMlXiR+cGZaRUFxTzxTaAp6K3xTTC1FNmxHYnM0
c2syTEA0ZWw9Xz8mQW49NDxmSUk1em96RX1nVSl2VTlxY1dEVTMtZkRiK0R7STJ6ZG1vTjgKejZJ
PFQ1Wm5vX2FqQHk1QVA8QXFPdjM3SXpAYmAqN21VXlEyUk89YX0mKjhhbXxJTEJTIVA9cCY7anRH
Vk0hdml4CnpBN2RYRW9sdV9Dbj0rZlduU3N3RGg+bW00XkRlS2hFbkl1O2BvP3c5Xnt3a1cqWjBU
fC1iO2JZKkg8dkIxIzgmIwp6P3YwbjVaP2BeZnBZR0NzPG9xUTFTIVBkbVVrdVFJVWs2S3YmeUxF
eiMocn09KTtQSSVeN1pAN2tCNnJ6WFEtYj4KenpsOHBlQCZDV3V8MlBYUnQwcjNyVkU+OzFgJHV2
V2E/a1FJQE0tZCsxIyQlKzNvUSUoNmxEPzw1Qz08MGZXOyZRCnpxJlRJfCVoMVN6V0RuI3Y8WDxU
YUU0Q311Q30qcU9RNExhYVFhOUM1eShGWjBQVi1vNk1TRGBgPkUlfTRJPXdSZQp6TFc2OT5SSEg9
V1RVUjFZMHdHP2UmU3RqZUNLbFMzRHBzPUE1PlFiYVZPdjMlZkVeIzQrbiZSTDlsP0IrLWpUfFEK
eiNPY2lXI08yJHlXN2kpQFFnPjwoTW8pR3haZl5rfVE0fDwwPiNOfFc/NWBmNjZLRVZ7OXFiWWs3
PHd4I0otakBrCnpJcjNATE1EKkwzbyRKVDNxJkkxQShjaCt0QkxQOz8pJWUtRmVGXngpO3Z+JHlG
cFRTY15KS0xZcDtYNHl2JFQmNwp6bWVVdEFVUy1aX3l+PHc1ZDZvTXJaJDV2blY3NzNrWHNVUmtX
VU8/Jllecj4mO3dgWSE/Tnh1VEM5aCtzWEtVY2EKemlaO3NObCR0Y35JdUdAbTRPJEZhNGNoYndt
KW9ALVg+X1B8RHQ1X3NPWkpITjNPP3EyIXU2RXY4RT5FUGJMb0U3CnowbGgpPEFeNVB7MypWOU8o
VkgpbSM/cl8wQ1Eyc0RyeiluKVd7UEhXaVJwOXE9aV5gOVNjckhYQFd5LWIrRk9Ucgp6SHQoJUlT
VERocy1CeUJEPEpQaio+byZTSyRGQEZmZjd2RGYkb2ZoNnYlO1IlelFHcngxRVdMekJifjM4ek5z
OWAKenBHYlple2xTMEFhbU1uSztUUHJhQCY2WlpAX1M5NzFZKmk2VjRaKl5mPFJ7SkFXK0ZBOzJq
Pz1LdU1lZmZ2Z3huCnpBWHt9MXNhX2gwUjhiS2BEcCZiO3tVOEJlYE8kI1JnRCEjdUskMEw7QVU/
SlJ4cXQjZEgtVlY0MHo/NDQwS0Vrcgp6a2tGQ3trWjYkRGtfMz1vTk5QejJOIUNheU55U09jZkxK
ZE5pMF5qRUlMTk0kTVUmeWxIcHp2N05VZSV8bFJeZkYKeiNyaH4yRFgmcXNRYytWfnF3MSE8TkY3
UTJubnM3RjdLb0UjWCtQNHImYHJAQiZfN31UR25BWlRKRDAqcCYzTn1iCnojclpAZ2RadFdmOV9E
JSRSaEEpRUlPXyZtNmd3U3oqIypATGxOV3RDWGdSUSk3TXpEJU1jbF5SMlJ2b0c9RGdxZQp6WVda
T1Q2YXd2bkM/TnIlKlRVSCVQKkUwOXFGOTBXSDM+MF5rS2s2eENAQ0ZqTzZkdWlMUm9KKUhGLU11
X1hfUWIKejUwcmVCJX5UWHJkRFUzZCZ1Tl4kYlV7LTxPSUJNKSRMMkNoSChzdz98Q3p5eDV0VDlj
aW04Ylk8Z1JJJVMtMUhzCnppKkhzTyk+PT54bj41PlEqYmJufW1KVkA8d3lTR1M/OU42bTUhYk07
QUNNZ0dIWGlBb1F7RjUtX05YJVN1SFBtOQp6KVBSajMhe0ZMYmhPbWg2KWt4Y0BwJXxefT9YZTBz
QUtzUmFZbCZDOStuZ3chUkQ8RVlwTz9hdG4qTSsoSnU4emwKenQwRzRfdz4jZ3dWNVI3MGlCUmNl
YFExdzBZTzxPYWJyfXNWamREJDdffTkmQ3Q/N2lJTjdrS2stRT0rNmp8b29gCnpgdDE5cTIxJHFC
eWw1Wkk5dClwOU96RitZNXlqXmY3R1E3ay12ME95ekk/aXR4T3JpX0B1U2hfKWh+JWh2Zm1jSgp6
cj1BKTduTHF2K3t8a1N7VWotT3tEfVo2fTFLanxuZzMzVXgwRWg0ZnY8RU4teWQ8aDVSd1FWVzFk
PlhDM0hVJXQKekxNbFhSTTJhVE9BbmhoeUN1MVNnQk1UI0lBWF9DREFhXkNOQ2Z9dHtxUFImaE0j
KTFOSy1ve2xPJStaeDFIe3I8CnopRig5OFhodnZOWD1+Xj49dStzKD0lZVpQOEdJTykmUnNuPiZ1
R1V1ZkJ4JEVXaE9NIUh8RCE2PkA0LUgrTj84ZAp6SzVXMChiMSVxVzd6ME5DOTdoWU1Kcl5sZzZT
cEd8MUo0dVFVX0tHUFNOcz9PRXJCbkJid2FNZkppPjI4M1BxajgKemd2RUJtMkA8ISFXfDl7cVNF
UVB4cWh5Ul5TIUxKY0lePElvSlFPYzBhVnp+JGV5ajJ2U2tLRFUzcDVIWlJjSlA4CnpeI2IkUmBz
SDdHVD4yVVlqKXUzNT5XIXphb0lyUkBiPEFBTVomKHl0S0RKdGgoJTJ+Mkk+Uz16OT5XaERCb0o7
Xwp6M21zPmlYPGMtJE1ZPVktP1lONzNjek09KWVlX1g2I2lCPzJJUS1FOFBsR3N1ISRhbzdHe2RW
UjhLWjdRZjRjNV4KejxKQz47VFZydSVjZ0Y1b0J9XndsP0Bpc2VORkdWT2t+V2xYa307a0klWUsp
TyZpaGBGVHFJRTNVRnVOd3ZqU1Y/CnpUeXZwendtdXQrenpIPCVLSjBBNHZebHBjYnVlXnBiVSoz
TWRnQWQrPXtjeD5ZX01xOVp7K2dKM3VBaXxGUT4zRwp6c2xAUGt1TFo5KyhRait0Pz0wKUNSJjND
MmgzJXw7TGhNWitTUlBGdCtrSm4zMjYmdm53REhnUXxLSUtaLTU+aUcKentBMihBZjkhdCV1encw
dEZAVygyQitWcyNMYj9yYkkpLUVzV0xVQ2dhdnBMN3p8a3lIMm1veCVMeUEqTTJ4VEdWCnpYRFVP
Z1Z0YFNCUTQ/cWAmfElma3AqNSVOcTckZGZxbylRbVYzKXkjVmZMS2F4ant4ZiMlSmdDJkpRd35G
JWcrdgp6bkxvM3t2WXVsdFZeZCVvV09ybWd5cFZRTD5mJWNkZUArKDhaWX5kUVg2fm12ZnhQXkBs
WUY9Tjc1TFckM0klUDEKeiZJeWVRLXhvMCNXZkVOd3N9VDItUHpPX2hyekRHfGU1NiVuc0FMdm9v
ODwxd0oxYn0/YXd2WFJkWiM/M0xRdXUzCnopdX1nV2JZRlVAeHVvQDdoeUFqJHVEeEVZZXl6Y2I1
dCpeIzZ7TmBuTlNFb2RJZ04kOUNCaUR2YFZuLT9tS08lTQp6JVlhV2hvSlpKUCYyZkM/JTt8RlZU
OU5CSnE+d3d4cXNAIU4rc2RaYF8wOEFQNDt3JW09b2RyYChGPCh9N21GeTEKejsqS3U3JlY4ZmVD
aW9VMVBYRXNBVUdJZGBxejQjKmB3dnNKUWVRbDxPSkMyNyUlO3omJUcxdCZReTVkc1RoZDxeCnpQ
e0NJQFNEanNwczI2RUNZOC1BVmVIaGdPWiZQak8+TEJnaD9WaiZfX040WSUhZ0g0YWA1fV93JCZz
PmAhUTtsMAp6ZHtaWWdiSHcpZmZgIXt9e05LOTBjVWtnVWlDVzl0WHgpMFgzO0hDdmh4bjN3KiFU
NnZpUnpFPXYoRGUrQUw2Tn4KekBPJCtEazxqWV9eeTlsPHpZYyY4TCNRJTlwdEpOfXprWEV3YGdL
K2IxUklNVyZ7Ti1rYXErKGtRPVNLYkdETytXCnpYSCQ7aXBaP0RILV9vekFBU1A7KEx5fCk+NTx3
NnQ2QTJqOyQqK0Q4QU1nd2NmUDRoZktjemBYJDtjQHZzaTxqYQp6PjN7LSteVDQrJVdNcmh8V0Uy
Iz9VIWFpTzBJcXxgbkpBYkE8YUhAb3RYLSlEZ0lFPUFyPFlSOz1gfXhOZ0hHKVUKekU0bF44KGFe
R0F4WDhnTkF9U14+MGFqOTBRQl9tZCZeSXROR1FNSTB2OVgyTyEyI004PkYoal88P1Z3QzJATU82
CnpoPlZLOTZNcmAkRzNnI0FCUXE7SUNwUnlAcHJXIz54fjhfU3pNLVlIam5NdzZxcUQyO2RIPXhS
KEN+fHE+NnV5TAp6LTJBSkIqR3RQUXQ4NDJVbl9KdWFVayhuQnpKNURDYFRrb2o1QDBSO0M7ZHla
fDNmWSZLclR7cGF4IXdOLSpTPFYKek1nU1diNkZHJXxKU0RUUEhJLWAraT1lYDdZRjU0VV41JG5X
TFc8Qm1Ibi1wQFQ2U1RqQzZXRSNxV3pLVmU8b1BtCnp8MH5KPDNpY25sLVQoXiQ+N1BWSzNYQnBO
ODhBfWhLbXVhUy13OWFLfDBMPnZDKXomPXBnUVUzMDJjRyM9QChFNQp6Mn5ZPWNHYlFsSEt0bzBJ
JiF6d1FAei0weExFLT1QOGJsOTd5cmZLSU9kdVc1PjVJMWUpblYqR2htQm1pKF9KejAKeihAKXM/
Ty1ncmkmJCtJWVBkV0B0S1ZyUWA7P1JDQTJvYmhDOHt6ZHktOXY7RXtMR05tJlp+bWUrN1JANlY9
SW9oCnpofnZiQ2Rfej9uc3FiNHN0N2c9RzQxYkBPa0tqWT4lMkZaTFdmQm9iZHRZPW9tbyt1UilH
eV9JcEhyJUxWakZJQgp6TkwycHAzUmRmNz5+QWZTeTZTbVZNOX5BYFlLRV9feV9ZTW8mbkROciZM
bzdSTSFza21tTld0Pk5EZEZkR2JnX1YKel9lbEF0VCgkM2xvQkV0emUpI2QkYXUtXjY3KyhaNV8r
ajh6VVI5JkJxOHBPY2NmLXBYUDM1Tl8mNm5aTndhJVdzCno3cGtnK1kkQylmbnpiZT9GeWYkcFp6
UFNYXm1mWCNIXy1tQXspd1YoSE08aSFAPlI4X0hhUSg+SUhXbUdYYW88TQp6LUYyPjQxRjhjYStu
ZWZeVGc1YWV4ZTxpOWlGUnluSVFWRVYmeUNofXEtXlZYdTI3PWYqKH1XWmEoR3FRKSRZMmEKellH
Q0J5bTI0QzBlRU08RTRSWHtEOzgxejlXWkk1ZmFILVhhI3k7MGQqOXJ8STRET2N2bUNGTWpGUWR+
S3hqMkZpCnpCdnJoM2ZeezctWTJPdjRRT1EzeThkNDc3THV+azA/bF5mMmJJK0BYUXpgR2JkZF9z
fE5LRVdhd1dgTyZAN1R8WAp6QXZSXnUlJjBUM2dsMmB3cE9NUXdRZXBCUWg+MntwbyUyeUNLbUtq
N3JkZWEhMkNzMFIoUWVmX3dSJTt+bG1yUk0KeiZ6cj5Td1FJeiE7RX59ZFI0NipySXN6KlhYVj5u
d0ArIX05b294XnVlVGVnWVF3dGVRb05tVnJLfkI5ZUs/LVo+CnpYQjV2bXR7ZlA9Wj9RMHAoRDEj
WCl9JTMxKll3JCg0RCZOXjlNdVdTXiFoNEd4PldoOCpyTndJIWZwR2B7Ozswawp6ZEpSK1BqbjU1
XiY/KDxxJGAjYzRIRi1NTz1BUys1QENkU3U2V01hb3NfSz44X2NkVFYhWUF5ZlBrIThlUTtta0oK
emRkV2dJayR4aSNrcCFlPz5fKm5TT3xgbz1NIVlmMlVjM1NXYG5gZHhNX3EmTENiO0plN2tnMTNu
I01LNVU+MkZhCnp7WFBES21yZjdZK3heJEwwaUJadGJadVlmIW1fNCZtX24wJWg8eXZldWBAVCpm
JSUwQ0ZkbShOdlZ9REkrQy07Iwp6KjcoPFBMYXNmNCYpUGdRJXwkTTRCUCspYEReZHtXPCVTeSNH
VnNzRWx2an5eOEhrZHZAWUZQZyo9XmpfPmReTC0Kej41ZnJ7LT5ONElJUlA1fkRsJnFEdE1YQis+
cC1ZQGE3OERWZE5rWkpLeSs7JkdKQ317X1RhJVhRc2E3Y2ZwfHNkCnpMPE95USNqVV5GWHM3RiNP
TGlhNSlwMnlMdChMMkdXSzVveGI9UHhJNil+OUtNSTV+c0p0czlpVWt7O0w8OUlDWgp6bHp4UzFV
NjN6S3UmIT59ZHsjPD44STtUPXYjbVNJVSFOVjdSeThqPVl7dlgzV098NipDJTZ0dEpFdE54aVd0
a0UKekE+STUzaTl3dnIkZWJvJjsrUXohKSVaYjQmaGt5SzIwXzs9cDFnIXlmJGJpNXpmUCRYaGZI
TnRWUGRgI3A7d0tVCno1fUFeY1o/cmF+Sm5yLWVMRn4tTWgwSDZnNzk4em02PXF5SHR4Uz97WmRM
ZmlnPiFvdUokSlhpWGlqcyYxc155Xgp6aXtQOCFoTnE9PVdtUEt8T1ZTYn4/THQjQlVBbypPQl4+
ejFQRUdRUmMyaVEjeHk7cT1zQH1MbjhRcDA8ITZBQzQKekpFezFJTmZTemFaTnk2IWw5QGFTIUZN
aE5wVGIrfm4kVWV7JiRuSDA5bEFyQHtSc1R2YVY/ZE0xSypRQ1BnaD49Cno7djR0ckZgd0d6eDE3
VmcjMDB4alJRJDZ+N202blh2QkRGKHVAcio/Yj0lUzBqNmElZjB2YkMrJlIodDg5UTV3Mgp6SWZt
Jn1OVVU0e1JCITRPT0RIOVdUWTNkZV94eVlwVFFxT3o2T3YzbnpzYHxFWUZqbTl7OVg2Q2BnWnYy
VlRAXk4Kel9BRnZDbHg7JkwqR2FPNSg2dSNvZU8mT344UUpzdjwoQXBxWFhOaENJbHRhWEFyMmhI
d2RhQHZONXRacExWX1MwCnphKlMhIytFNkk0QX0obUkhQ2NNeXd6Kl9Gd0NZLUMpZGR5YENgQ3Zf
MVA+fCgrdGYzITchbVQ+c1pHMzt0ZUBreAp6d1R9WWY/R1IkXig8a3VRK2ooYm5MMSlLITIldyZR
NUleQnFpdklqPF9ea1V1Rmp+Z01yYDViKkpPZ25pRD5uU2IKelJEWkFOQWNeZj1ieHV6SEkqYzlJ
JWBlT2hwUz99SGdZN3BoM34+O19QTU89Jk5uY0d4PzF5TmtlQ2NKcERZNEE8CnpsQXpKOzFINmNz
YzMyRTtWeTFaKkpAKmtlUFIoYF9qP05qJERvT240czlHeEtYS0NFcHV7OVFFN3JgU3IqNyZJXwp6
I0wydlItVTdXUXVWbEhZJXtqcWRQYHZ5d0RCWXFsPTR3LVJXOCsxNGMoKFhMRFErcHE4aDZmSjEw
IUNxcEAkSksKekJUZGZ9ZV5LUXt0QUxoUy1AKH07ISRhSkg8U0tjNjdgaSVrOTYhRTFpPmheVTNS
fn58UUNRTTVVI0ByV3F+dTE0CnpiUXRzVTNkZWVMWk82YC1WTmxvdlZ4Vjl7ZVozY1IoZXUhRjw+
WVo+KH48T3hwZlEtd2pASEp2aFZ8JWc7JWhiOwp6dWEyZGhaKnFNP007K0pPdC1PMkteRjdfYDhf
cH1zVCZOKVR5eVUwUV51LXdCYWcpfGd3I25Ke1Z1YWRmWFElNnwKekRfej18V0YtU2Y4az9XTSVa
X2p7cDd+eFUofXNmJC1CUEZjM0FSVFh0fiRMITdGdVg+cjxsb2s9Y0MrYUUjbmVOCnpmN0ZZaCZr
bVczVkdZNGZMMzZGNW9ueFdVPWsyP1o+WnleOU18PmVWeXs/WXRtTDspMGF8VTFMVSVOK1gpKFhH
WQp6NW0/c2RIX15JTW5+UVRGNkVSVURXR2ZNVjNeQSsqbUB9XmJsd01acUJuYWkwP1NZallpemJ1
b1NCZD9wUGRyQnoKei1kKDlpP3dKa0FXays9P0NfezMrMm9DbiFGNXQlJUlhS0NweXMrZDA5PXBn
THI7M0lOb3s7NTA0UFBnWCpJOTFDCnp3VXE3QnQ2VFA4TTkmI28yRlBBVUEyXkc9SVFqNn1jKFhe
T0w8NDNrSmw7MyQkbUVuLTlIPmpDeXBodiMqaTx2UAp6TEp0NCh7LU90U3QqVFBtP3FrcnolLVpZ
YHdUdzxFSUd+TWx5eyFBfVJzR3w2bXdYTSooeTdBKCFaMVBTKllzKDAKekxpQyZWKHB1JUE9Z1Ix
M3M9Y0I2VnZHVWhYQ3szYG1OQlNeeG0ranByaD5WaFRJS2J4Xlc/fmFFb3VMKjVTTyUtCnpoWUdi
fj59aXt5eFJ4Y1c+bz9veW96IXU0eyUxUzRBOVpiRVVNMXxqPmo4SSFkQFpVPjNQbHVHeWJYZiot
d2x4cgp6YClye2Fkbyo/d3ZSJkVGYClQZ2xRUzREPlB9cUR5eCVCJjk0QFc+eytHe1dHZzspckRi
Rk8qPmNNMylxYmEoSEoKek5mUUMxRGVVU1RrSFVNPSMwVUViJDc9T0U4ZGxERjVYVkY4Wk59ekJi
QyFlQXlndHw/Wkp3cEN5UlVWTUpGeGRZCnotWV87Kk1VO0orZ150PWZgPWhgMWxxUitUXkg9OUwq
NExLTUg+TngwMmZmPH5qejZwdUB5IVhCSkh4ZVVZZ3R+NQp6PllJQ0R0O2coTDdvdiVJPnYlcWVy
TyNvVEYoPH1zRihiUU0wdE1+VHBDbUllQ31JTllHJT18byM8PWBQRjVTS24Keil+MihxPmx4ZVpZ
cDJsbG9fRFdUc3pid3A/IXBoV1lJZk9yJktNdTIoRmdITiZtTG0wSFdrZ0NefWVAMlBlfVdCCnph
TCptfTB5ZWpmd2ZnT0BFYzM5fTJJdFp+RlVacDxOJEIpJEleTUF4bkN9Zjd4b2BZX2EocWRBSksl
ISN5UncrTwp6KSZvZXdkbWRFTEJqLWItYHxpdCUhLWc/NkAhdypQP3VKQ25WSkVecStlZkowS3pG
NShlUTBlR25BJGM4aUlefGcKelghMXxmb1E7NFJtIUsoUWt+YSN6JHdmKzcqaitqRyhwaT50ZmpX
RSZERko0a1o1cHF9RW04ZEJtc0RRPXZDNGhsCnomLVpyVVJYLXt5US1yWT5scTx9P1VGd0sxUGE2
Kl52VGo7MEVpUTtHWGQhPWh4VVU9dlRZOVVhPyE5bCtVNUhsZwp6TVZSYzZjdypfNHVZWGNheXE7
RzdHe2B1QU5AVCN7WUVlV303PzdgeSZsdVB7dXRhezhiMlA4bigzNyNtMzNSSU0Keip0QE47YS1+
SGQ9c2Nfcm5aSXNZdnRHSUEpb1l6fEdySD00WGQ7U19rWGMkXlpQTn0+VER9PiFaN01+flJockVo
CnpiSTNINEppMn0tRiR9P1hlX3hlI0t9KmpFUlokPDNkNmBsXzZKQ0xOO2Bic3IlbU9fOF5YN08r
KUd8dXQtRUNHXwp6dFhsbilBKkxnSmUkJEAmQCRkPFBrZCZpd0d1Sk44cmsmQXB4XzNLTFQxQX0p
bngyYTdmej82RkJYe1ZIc0xVflUKemsrayskJXt5R35hOXlkVyM/QV9TJTI+PG5Ae0JQcWVuOEV7
TD9PbmYzdlRTQVAySHJ4RjVmPEx3WX12S3ptY2xDCnpeckshV1pTeV4mVEpieEgqMmY3T090K3pE
NFZ8eFFQYyZ2OU07K2xlVWd2WXE3VTxNJjE8N18wSGdFbyNJa2liWgp6NUVCcF4zRCYoPkpxYGB7
ciR4aHpuIUBIb1ppIypjYkhtb1VJQTZDJWVvZ1kyUnNQJitVdEwrcURPSilKUTxaNioKem52U2JV
UEMyI2NmVXFJTjAkXnR5ZDd8SE5rXlVNWEVfclQmc1MyJCtBdFE9JiVMRU4jWFJZIT9aXiZwNlYw
N3hBCno5a3JqXj48RT07SkI+TldiVHI8LS09c2tWe14/KWA5UUM1OTtHKlotXm47VXs9bzlEaWtm
NVJpYHY/fSFqM19MeAp6UHhTbnpyY1RDemlBdmYpTWA7cElOdEtQYzE5VEs+RjUpcE5mVn1QVWN5
SGFQWlN0cjBeMC1qISpHZ3gtNGJwNjYKenR4PE42NVB0MzxNPHxqdEwrOFJFKCE8VUk+UTFUPWtx
YWple1ZkYkZgMnA2aGBPUDY4JDgmaUVve3FycipreCNaCno3YFZvQWw/JlE1KDxPaiQ5d1ozbEcm
P3x3aDt7QjtGMnglc04qP1VmSXRFTTBLVyoxNU1NTCtAQjV8V1c2S3BUXgp6TWJPV3JXNkFtI0lK
K2wqN0EkRUNnZD5VeElLWmY0LXZLPnhITEE7UV4jYT87SWFTSWYoZmwpLWJUNTIxRG0+ak8KemhT
KGY3NVp2cXQ5RTA4e3VSLXA4N3JtZil5fU5LTSV5ekJ3VGpPQkl3fSMtd24zKXZqQWN2THF3ZmF2
VG5zWXAzCnpeOWM4RVJPdG5TQzgjNjBKWSNqP3Y8YnpZcWxJbWVmeCFeXzhTfG44aXZuanR0YHk8
QnprWWZ4eF5uTlEmQHd4fAp6JlEjaHUlQlJKfCk7O0htPnhoRChOQk9hSE91d0lNeWByZiMyZFhe
eXQlTXg8KTU4VUBzY28jXntiaCt4QDZsTDQKekhCO05LMSh0YnNNKylBQTx9dVNHdXZtUmYzbyQ7
WUlZKkRkLVVSKTBhUEB4azVrfn5gQzdnTTdQT1NyKSROZ0xWCno5T09qRyokQ2hLT15zSjVkfng9
YFRWWENSPEJuTUxtdFVaVio8WkRDYHo+PldTND81VElwc2NUNEp7Xl5aIU5uaQp6UFR0cVl7clVz
NHc+MkQ0eGlVQkVYPUc1ZENOOHhlOUZSQiEtdmNsOG9fJUsyY1NlbEgzYFFlV2RgQ3xTS2g/NUcK
ellvfjQwWXJVRTYxQzIrdCs7PjZWP1c7PFlzbio0MG95RkRDUy1oNTxPWGJ0Z2Y3dCpuY2dMPXcq
YihGSEpvYUBqCnpON0UlV0I5QyM4NWFuUl8lWFBJJkg0JjJ5QXZVNWo+Ml40ZUVsVktvdlFFeXI0
cXRWJiZUaHpCRUMxJUdtX04jcAp6YnBMVmtIWnBnV14lcUY+VH14JT1URHw3VERZKFglSD1fS0Uk
dSNNYDtDJVY3KjtCSkBBQSNVPTRFRVdtKHptRmUKej9QR2lRMX1mS0RkUTdXZkNSfXA4WHVZR2Bi
Zkd3ViNGS04mbnh1ZSFCcmNoYXoxQXEpZHg1WVh3VTx8Z09yPkQ9CnplY3l2Ul5NQVpFJikwXzR4
M3FFdzY9RWpmKXpVaklhKGhpKndNVyROdVpkPEwjdFJAWnk7ai1TSD19WUFGWmZnbwp6SiFQfUU/
RnR8eGBQKytRNGs2MDExSjY0cyFwZV5XU2wyQmtwaml7SjJrekBSSGtwX1Y1ZztCajw0azV4SlY9
TzEKeiZQSSV7Qn4zUn4qam5TOTREbkIlRWZMZVF1eVMtM1o9ZldtWlNaREpQVlI5SlBZNzFmP2pC
RD1EPXVoUlQjezRJCnopQWx+aEhYQWpTakBIKF88SEREfVdNal96Xyp7NFZZPGV9X1QkYC1AZDFY
YHxAd2tAeDFBNy09P19QckU+KHA5KAp6QEB6YWtWWjg2SHF9Pkk0cFc7aT5iKzV3ISMmeWVWUkgo
ZVVUfERzfipEXzhqZG1rcEBAYWp5RkU+R0xXdXR3UiEKenBAQlc0VmZiKiV5MVBaX0xmJDJSPEtL
PTx3eD9aVkMqdHZwPXVecWMxSykyNztuQ1NeKEohO05VKmE1RTIoZT1pCnpLQ2w8Py1QeENNS2Ju
biRIQE4zJCZ1KCN2dkRPajN1ZnlaNEZfV2l+c3paPSFxYjR2OCFkIXhkUVhKdUh0MXE4eQp6bkko
RzI7U2pHU3M/aVFoRkpRRjMxWVFXUzlkUzNPWFhNeUB5YTQ5dEc+SHxsWG8xTmpsO0IqbkZpI0Ir
d2VPU1YKenp3bG0mUkhrVUMzeExvPyYqdlVkKygtKnJQczxIOSVEXmhKdENiZ0lRXmUlYUdoMXdv
ZDgpX1BSPSpISk94Xj9jCnpwYjw+Y0g9MH0kO283TDRRRil3ODNhWkRnc1NNeG9iZ0ZzUEU/cSR5
MGpxbGUlVnMrfmwmREo2NHJYT1VJTU5+ewp6K3ZWanU7JSZ7cUREPTRfI2lacENzSSt4OStJK3pK
MHNMTXtScGE9RyF0NmtZZyhTT2MhZFIjeHA3UDxSMyVGUXgKemlSK0JueDRrZTxwOT01UTZHTlNz
KzVgKWd6NX5tNWwzeCZjNnl0fEZtWCFzajNxI0lIemxmKnNvWXdidTVESWhHCnppOzgwQXpaIVg9
Nl8qM3dSTHFLRGkxQmxfU2A7V2ZoRklCdEFFKGxleX5eLT1eLU1WR0Z8UHNtM2Z1OVpmM0JpVgp6
PjxnfG5MeFIkQmtod0wpQE9xKFgtVmdDZEJmMF8mJW1xKlE4PF4qeFdMTGpURDsjXlg9SUp9d0R2
REZAdlU2T1YKei0qd2M/bztyNDZlZE91Kz1zbmgmdyhmbXdsTDdrY1puY2M8T2BVYlZ7YDZSUl89
UmZRV2EwcTZxWXA4MypEQ0FXCno+fmZFZD9xXkczeDhCSXo1Q3hTaipkcHhDYlhrYUZVVk1yfm1J
enoxdj0wUVdmakhxRmtXYCMwSklfZ3NLV3htQwp6TEA+RmU/U20xZTVCRmxpQDhNfDFQPG0pRXVP
eVVkYFUlWWh2fEZlMElQOV5sdypWRiMqKVQ9Q3JHXzhoSHdvZFoKelVFKjQhUjdVOUFhYmpQPDt2
dVVAdH5KRnE8em1AdD8tNUJBN3NNSCgyeFJrZ0xkWEIqU2tfITxFeld6P3AjXmk2CnpEKnl5VSZa
NURzO3c2WSRVOF8pM0YrKGl3bVQ1TCR2ZkptNkpmcE49dDRwKEpYbG5ON1grb05jLVZGNSs+dnp9
SAp6eHQzO21LX1NCQnpGTSpSSXotUnd1TndUOWB8e00zelNjekdkQXAxfipndSMzMCMjR3BIbnRH
ZyMyaWUrd001XkcKektZTEw+VUItaDcjYjJkT1UkYX42ektFbTdZQVlnYDtCejBDQyVeMW1TWVpu
UzdsajIkZWhqP0kzeGg3eDdOZnxxCnpia21QOUlZYWFWK19QRUY9MVFIPU5FIXhMR2NBZGE9Mn5F
e1deMmhfWGEtKShJdWpTQUhrUjZEPG8rRGYtKkl1dwp6LWBxWXxgRDg4dnQrPzN0JDtLalU4eD94
JExwO2VnPXY/XjlURGE8Kl8tcFBJbVBLUz15TT1ga1YzenNWPz58JjwKei10RV5ETk9QNDk/b1h5
PlcycWE/PDR9NDR2QkUzVnpkaUIoKm9Oe1deUCVaPDh4bTFaSkN9dWF4JGsrNWsxQm9hCnotZUVr
RipmNT00UG4zWGdvfHc0WlNsTH5Qemd8dUNuPiV1dnQxfX1VYXlXfjxHYW1ETjFzezNva2toaXhN
b15mdQp6OWQmdVFfZWwpN0gha3Q0VGFpO1lwPytFRSNheENjZXo2N2hFbCNJNkI+RWclZndCOylF
MT95TT5QbTVtaUxXbXwKejJ5O1ZGNWl9fk9sbjZWNk9eSzM4UnFOUSFgaW4jIyZXP1JIQ0ZOUz93
d2wmejx6Uy0qc28rPW1ecF8ycjZMMUV+CnoqTT48SFhneF57SGtgTkpsWihyYTc4ez41MUA0NjNF
MnFYPyQqSnE+bHwrYURsaTh3MDxJbUtrVTc8QllWRCh7Nwp6biNSVEI/X2k7eUhudXY8V1Y+dVY4
ZHtgTDNOVXFPRj10T3A9ZiMoall3fk18bXN4aFJTY2dwTTh9Q2RwYU8zcy0KenVTXlNoKTBuWD15
QkA1PUchQkA+bWN3PFptTDBpZlVqKkdMTk4xNDNTXz0lczVfMEJ5dGRHT0pibztPfTY3ey09Cno0
SWArXz0qPXlkcmpKM1BYcjUpWXM/emtrPzhmYSlOUm9XciNoTHNEY0dMbHlzMlhxN1R5MUAmUWR0
OFJZMk9Hagp6Wm9TamppQmIpflFRUUR1JVZJc20lZSNlWDw7R3BGKXtgSCpsOH5LS1g+JGtqYnFf
WTFSeC1HPiRUUFpNRnFKZkMKej54Vz1jekxEd3pOQX19YnBvKHkteGxtOE0wUkdYX1M8UWtlU3Bs
cjE/SWJaPGBMSW8tZH1FQXhkVWV7YERMcCtZCnp0ViZENUM7MkFpLW11VTQmSVNkfV9WdjE5Xnc4
amhlcEFNNXglITdXb0Bhdy09YTJ6Nml5TSokKlN8QytlfHdsTgp6cT89dilRUno1JF48dXBvYGIk
R3o+NWJDenNiQE1+ZDxIanYmN1ljUCpXRT5fcztnbEdhV30wdUlfflMxU1RaajQKelI9YmJ4O1VS
TihRU3ArOU5qJjZ+RktJdWZiaD0wKSZkell0dTVBVF5ySmJ2aWE3cCZlJVVQZkxGPlplNm83R3hz
Cno1ZlRmQFN9dVlval5CdDZFWk5Fd2JaY0VsRU1gazhjO0hQKm9DZHdkSnp3ZEI8Kn4+ak0pSnwm
VlU3MjRvO1dTTgp6YlJKc2Z3dXpnezN6ND9memtgfDFONlVBaCZPUnNadDc0MX5iWFo7MCFSaS1R
UCNxfV8lPl45XlBtR0B0Q3l6Q24KelhMfnF7RVBMVTB3Zj0wb2V7Xm1nKSRrRmoyPWhgTnhROHZU
Uj9BKlJIUW91YVN3LTJ+SihnQU5ONj4kI1olRVd+CnpQb2NJV2xzUlhZKCQ0aXJ5ND5BWWtxIUIt
OHZoVnNGbkpzOCUoYFdKNFlCWURhd0A2YkE3V25sVTYlalprMihVZwp6OCVgPjhHWldMc3tNYSpP
X0RxUUc/cXRtclFRYiFRO1MxWH1OTVFjTzk/P1Z7MS1GKE8kZmcpJXhFUT9eb05Oa2gKektBRFRU
R25FSSRjfHIpUzNVal8jbWxrKW1VWiFKOT00KzE+TD1hVSpHbCpjP08yUFNeNkMrODNTY2NNVDFZ
WjtaCnohWm44XyEjdj5wSz9gZnM3N1QxezY8TCZednIpQzchSEhlZnZvLVhyQTt+bkVvZ0U+cHhp
enlKUnwyez12S3glRQp6aGFGYkk+aWd6TG1pTURle2NiKG9kaWI7PWp2JlglMjUyOGFZYmZxcEk5
UCpkZH52PGEwYWJQMWBJRk9xQkE7fk8KendIdEZQRG1kemJtZE92eGNtd3EzRldZYlVENGZ8UlUp
XmdzXmxUTUdKPmtIMktaUTsxPy0pRXp6KTNWKkw1Jm9BCno/QF5qaUBvcVVNYWRjazI4bjNISm5W
NHhVfEZxV0QzPyhLaFNkaz5HWS1EM3MxPy0kRHdRR187UjxkWDtWY0JoUgp6TkNgNVdFblVNRHY5
Nl9hWkNBQWMkOGlpUUZLaEhmeW1uVi0pbj4ofXozTWYzemFqNipqblgjalhSPTs9YFQmMXkKencw
JUBiejIpJXl2dDU+ITtaNVRwKjVaNmVOJUQ7bEM9KzZqYnxpdURhYzdUTHhOIURvO2dZP2k1UTEk
QnY0Pn5OCnpyOWNuN2VqK2U8WHtAdytiPChrfTljdio4JHZUK3NuYn4yNVZIQmkyRUN8aWc/aHtV
dDtWMD1JSlJkcVg0aXdvTAp6XnRGMzYtckc1bjtWSkNXVk9tYS1ST0VEWjJ1PypLUCRQeDcqZE5i
QiFpXjc5Rlc0YU5iNn1IRFN2TU0lO29KN0EKejx0SStJNHBoQXxFOVRCd2d4IzltOzFuZFJoP3d2
aD1HP0lfdEI7N3U3RlBDVGcxTytYQ1JTZTtqUyglSVhqKnpECnpXPjM2aipGI3FBe3RXWiNQOTZT
Zk0/cndpY2R6KWUtV2ZOTnQyeHs5X0gkP0c7UD4zezxeMUgqSG1eZT9VNWIkdQp6QHRoX3coWXhX
Km1iMzd9Y1RyQmRFVHB0ZUh0Si17d3pgKG0wISlgUlJFKntmeHwoXllvVDN4YF4mdnc7KCY+Ul8K
elQmdWglVGRwYFJzJXlAY0Bjb154WVdjQWp2bzZZVzdAUW8zQUdOSyp6WTR5ME5vWChtSk1DYE9e
SXAoJChmaGVQCno0ZnRFdkgpfWRkMUcqQzRtJUB+JE94X1UrIV99QUFmKF9YYHNHQEo5YGE8el5U
JXRGT3U5fHlXUk1lMFczXlpvQAp6OS1DZko0ZipzP2lJe2x6czdrUShOO0V1c3s4UCsxeH4kdUc/
SCZaI3l7VSN9bWdDRHRZZCluRmpNWD5VUyEqZ14Kek8oR2lvQWZtdSRMUTxKNkleZStwaThqRHIm
e0s0SF8hVzA/PWt1Mj5VYmF2dE5MdyRzMCM9MmBKPWJFQ0RPYzBsCnpoOXJnN1EkZGFkNTdrJE5j
IV9rcDFjQEUxTjcweVdIcztvWGF0WjgmdDtpO05MeUBaVFFlRk45cyFXSWQwfSs/Ygp6JiRlI0FL
diFMfF9QSS1pKDs4cEVjQW4xWmUhO3t0RnI3X1Y7YD5xTjJkJj5tdFFeeDFmM3c5I24jJGdLKEor
WSUKelkpWX4mR2ZgakpNeD1gelJxdENoV1U1fE0jKl44UiVPV093VmA9KkhST2A+PWAjTHJrUEAo
NF4wck1mMmx0YT0mCnpMVU8tbmgqNW0zXjs+Y3dYUXk+TFphfElUKW1UeUZhUzw7dEd5REJgTVFC
N0RhSGIxdGF9WislN0tIYkEkfktnZAp6OHpHTFVINGxrNUlDbkdEO2U+LUNBLTQ1LWhsRj5tKDc/
c2JnKUMzeVk+NXw3dWBAYnwyfGgqN0NveE5sTE1EblEKemdfISpZWHBxNGFyWCNMQTErXj80bjsl
IVA4eWpNJGNOPlQhPyQtTEBKKFdWJDlXamt5RU4wVDlwQH1lWHVWTlElCnpWZE5neXNPUXJuWk9u
M1FgTFU0dGI5TFFQKCtvRzUjPm8xckRCKipEX01QOXNnaUN5bzQ4IShLbGY0e200T0ZPPQp6RHJ4
KTJTMyE9OCV5I3xFXkdsdVc5RHt6UFF8Z298bnN1OSVzQ043U2F6T2VqR3Y7SlYteyNPKU1teyl+
cW9Ee3QKekFPcnl5d2Ftb1I0Nkl5YGExTCt1ZEVJMCM7eXhqQWdBJCQpVDtSMTReK2BwPUxuNmYh
Zj9BdyMkbW9ySXtAfXlBCnojM2ZDVylZUHRRVjdrel44OXArNkJsX2dwaEBBaU1zZ1U7MjtBaVdV
N3U5cS01Rm1jUXcqakI8QVA9PylqPldAWQp6RnxPcFdsKmhCdmd2UU5vanpNPTZZREMjaUdCdkI9
Q3QoRkNteDV6TmxjWlJPZCZVKnluP3ZGQyYqMzkoZCVAWnAKeldOOWducSQjVlUzKndiMnUlcTcj
SjNuZk1NbiRsdCpnZT57XmxacWBpZGhJfWMqYGVXPSpoR2VvcW1Nc0psYC0/CnprS0xEIVAwWDFA
NFhxeSs2cGdqND5hX3s2KkA8QkhhV35kb09jcj5SZU9TdHs1VmJtTSlITHBmQ25xUGJgPlE+UAp6
THl9aUU/ZWtSPypJeEJxbncwYFN5STdaeDBfKkVsakwza0tFODQwTW1FaWRhPGtzZitZWCFNYVJF
VGo0Vk8tNEoKeiM+NWp4JmVLT3A7O0l9JVRWRU8pKnBOYUYrTUJnUj8+QjRRJWNXMT1Kej1sRWxZ
Mj1nczUmaThfeSF9dSlJemh0CnpXZz92SSl0RlkxKUYmO2lXKXc0YStDbnQ8MHk4cUNwTnBYTXI5
O3Y/WlNFan5Pc0FpNEU9IzMlWl5rYjQ2JmJYZAp6N1lqcUBsMClGP3RpJmkke0dnKDUlN0dUK2Ao
TyhKM3JVK1lobUlZSFhKZTJLa0khS0FpTW80UUEjISk2cERzN30KeiRDJCZIUUw3I3ojMDAmbSZ+
eHZ0X3d+N2VleFEleVRrTEc3WjhKdVQ8e1lRTHZpKUVAeDArX28qbXNPZ3M+cXk4CnpnfS09T2VO
VXBmVHVpaTA1YzMyejY4eT0mRCphZG1uSHR1aC1hSXR+eDBYUHI7PXU0bFMyK1lQMUVmbVY9TTh1
bQp6OypgQkpMezxLQm4+OFFZVEo0aW4kRSZnMGY5KzhEdF99TkA/S3x+MDEjZmV9PDJmMjkrQG9a
bmhnd292Ri1udUsKeis7UUlTUDFpa0R6VCY3b3dwYE1LY3VobEo4fUlhcF5sUmRiRU55Qk1BT0tJ
aEV8QWshUVNnTHpMT35UXjR8dHcwCno+VF5rMzZzWWdwPHQlcnVtY0ZaSG5TVGwmQCM2NEtufFlY
ajhXb3tadS1zc3hZXjZ4X0R0KDcjJShBZXd3TlRWYQp6bFVlO1RIc0NRVEUhPTgleT1ESHJkblpA
ZDxtc3NQXjJMUjE2JGVRVDJNTGR5KX5XfjFQd0AtRS0wNTU4JEZqYCgKeisrbmxBIUlyRThXOzQ/
WShac2dZQylRNnI3VkN4NmhVR2k5VjN9RC1GdEFtJmhnLWI/PkBmNzloSHE0R0JYcl44CnpjTj5V
WlYpalJLZER0amZPJj1fSTVPTyE4P0tTdnJDMF5xKCNhR3E0TkY2REg7MHRKNTcqbEdHblVRXnx7
JmFicwp6MSgkLVE+ZkQxLXRLQmtWTjFYLVFqcSk9QmJkRyE0dDZII0x0UlE7RzR5dGghbT4oZkN7
SDBsSyFGSkJmKjlYQzUKell7Q3NOcUJ9Yyo3YldmWWNWSyordXZ2dD00X3BaSCE7emhSUFAyaFBC
fW1MaHUlV0NaSHx3VGIpViQ8RCl6NH40CnpGbz5OTE1QNEB6QTRFWGBlN1l1ZHVuSFIxcGRnSl9T
Y09TSWR5K2tRSCtRTlAmeEl+RyVkbHxJbj05QlVfbEtSVgp6aHNBWTheUyl6bXMtfDgmTDBRVmRq
T0BzN248VjAyWmUtU3FQUEVoKHpjM1U2TllLQ3hqZm4jQXlVNlhWXiFlYDsKemNePT1jXjV0NExo
NkUzIThtZyQlN0k2e19JTEM5cSRNb34hSHMocTxDfCZYX2xDI1EyKTVxUjVSU19vPXl2SDAmCnpj
RHxnPkNwNWplYSVMbUV7Nm59PHdnMGR0ZFdaI0BrNmphYUU/YkVGU1VJcWh5Ujc3bHN1ZDwkMU1p
a181Jig2bgp6cEEkSVYlX216RjZ0QDw7RlZ6fXRkKnlEYklTcSRxITZiKEI/MmBENE5ee30jNksk
YDgyX31gKkwrVDNMI2d6ZG0KellkNUBiKm1xdStUbkF+IWU0SGM3KnAzWnNvN3hENTZKN1RaeXJK
OUt7aF5QWXVGX2E2SUxHeD5AX0FkeSZxYCVpCnpLYFhwPk80Xnc+SkJTTHI4cyQ+M2ood3VLNVdh
Wm1ub1IxcGElI0FKTHEkJlYhU3Rpd19LYk48ciN4YnRZMGtTJgp6I3t+fEMtV1MyUkJBQ1Y7ZX1U
cTB6R0FIPlQoVU1DUmx7RSFaPVklbkdfZmFfKUVaXlpfUWgoPChUPl5Cb2I0UkUKemd3eXxjISZp
VXB4SHRJSnNJJX4wZERNPjUjQW0+S0JQfUBRLVE7X21KN1diR0doc0JJYjsyY0JvQHFZUjhKWEJw
Cnp3P2tYM09LRElAX047UzdjZGk9aUAkdipCTCNeUjdhREo9UEE2Znl0NERSTWlEfFFHbVBkOD9C
eXdWVmdYPjFKcAp6WUgjKnZjKXROSSolLSMzaWxnNHY8JXpNfjxNYSpnOGp6SztGJD1wbmBuNHUr
ZCtwWVlZWWI5dCRWdiY7ZlVKQTEKenY0cVAjO1QmdkVvdCFsUyYmJHR4ZilCdUprQnRxYGBKIU5R
U2REOSRxMnJUPCQzfkFBJWJIPFg3QFFQTFc2MF4lCnpeKyZeZlZaI3wzP2RkYnE4ZzEkR1ElaUN4
bn1OaGVyWGptKkFERSNUI1NJPk10QExObUdLeU1qISlXPDlCWmZ1Ygp6dnc+eWBSX25fUWZATlcy
NG1BJihQX3M/PDt+UVZ6THBJaGdrQSo3S3BqRXVUJnlURH0lRDdLaEdUSUYoPnxkWHEKemtiRiVq
a3U0fShnWkc8QzZFfndycDV5fXpWeyt0bjtTa35fMFhGPylNI19UQ2dmQ15MJmd9KThSU3hJZCgx
cms+Cno+b3EjRW1nUVQzcUU3Mz41UH0rWmh2X2g1JXd3R2srMVRDYXRZIXVkN3EhWF8+PnlafEVz
OVlyPHVrR3F4czZ5SAp6a1Z9NHgzUVlqU0wjZCZzYHFvZkN4VSsrI3ctQE5HPTh9VktEcFErO1oo
dyZHYXM9QX1MPDV8OTEkJlEyRHJneDgKem99WUlPeWVCa1BaKSp0MmwyKCgmWTRsPTNFbGtZKFUj
cmEyO20hJktjbH09ezxJSHRBPmFxcHVTPkl7WT9hJD5TCnpaY3EwdDhnVkZBdStqU25ISi1UUDdL
OXEwI3hCeG5Qc0p0PXozMEBvMVJCZ2FzMDYhYzFqbnAxSUZCMns/TW42TQp6JUl+M1ZKKmhsKXBm
cUVVRE8qcVEzRmJ0WWleJSh5ZXp9SiZEPE9ZT3UybVQjU1pAYno7RSlwaCU2OSEtK2d5dWUKenFr
OVF6Rj5yUV4lXyRaOS1JM2ljU0FQSV4mbGpWSGBlSkIjVyY1P1VpJVo8LV5rITV4bnlFMyY2PEg2
fWN2JGFaCnp0V1RNdD00RUAhKnooS3ZRLW83UkZaSSYyVG9+PDdDIzR+fnVSb3hFWSEtMUIrOVpK
Zz5FUThadDZePTVUQyExcwp6KFhhM3JBI3UjdjlIfGB9YVpWe24rdyEla3dlUTZER1Bpa0xrQXoq
PyFBYVg1c2tLYkFCaVRlI0R4XkEwQFhHY2AKejlxUmBJfDMkbi0zVkV1LUVKKXRla25SMSZEbVBY
cjNuck9odXF+fEFxIVVwc3g/Kzh5Q1YqYFd5eHglUzYoKzlVCnpATkR9cyhXKzY1NmVVNDJDTEx4
M3hpWHhSUSpYLVNKJHRVUk5lVl9HPjwwPD02ZnohRDlyPW8qT2UrWTtiPHh9ZAp6WnY7Mm8xWCNX
VEEhUk9VKDw/XmtHZjJJfj1CYmcpenkoT243OXpQNUBXKW8lOSZTfU82fUB9fVhgR3JYbCFrbFkK
eml+RTxAIzwjPUZSQGxVeztTbFNWb3tjK2opdndpSSQqfW07NjBBK2J5Z3dnaGxaUXN4SjxLQ2Nz
MzVUbEB0cz9TCnpMbnh0WTJ0NH5WTEoxPnJebGBjdG5Ge1QmSGV7UT1ZO0ROZWJQR2BhWXBpX3xo
aGRFeWJtZ15mbHtqYzlQS0N7Mwp6dUJYVkhlMlFxe1g7VzwqeG5uKHQpcXVaVC1iP3lpWjlDJUtB
aklhPUdKQk9HR0U1RyM7Zn42UmhrKnl8Xmt+emUKeiNadF9WYD84QCpzVz9HczEyR0huYis1eDkq
dFAqSWYtdEJ1I0RXUWpfU1pHOEVFUFNvdDBLTG5Yby1ndzNsJV9GCnpOT0xmZjwlWntoWl5YMjFO
JlElLUJAWFJeWWM4Yzx2d19VXmxiT0ZwKTdWSH5OJVo0RkE7NFBjaj1TRTdLO0VubQp6a0s0QkFT
ZClVISg/aDJXTCN5M0w5fjQwaz4rVXIrU1VpVTtFODVaQFVWP2R7elU8NjU2Ujg8eHR4cm1oWGkl
UD8KenFZdU98dnp4WX51Rz0yYjZBVSh6YzVUZlhuUEFUaGc0c0N+TSl8NlpeQkM8VGIrQUUzZFYt
STQofUlrPDhfYj1mCno+Sj5PeHleXiR9U2pabTxQLX0lMTd8QW5CdWNhMDBoRUwjOFRqX1RsWG9K
Xjw1Km9BUTthRmRBRD9CQUJQVUZLYwp6P2Ywb1IraiE0Z14zRX19Xl5mRmsqXmFiNW8yIU5GUis0
K0RuOGh7WEEkUCQrdVhgS2hDKVd5dnhxKlMkOVBrZGcKeiVXNGZWQk50O1d0WTxfKDI4SkkpQXJl
PiVvWnQmQFYwYjM9dWc7WVIqXzMzbno8SW4yYmhDPDR0K1g5U0ZsPk1TCnpHb0ErP29+KFRZY14q
UyFYRHh7TCZWNWV5bDhUSUs9ZURoOWohQCgqRURMY0xIM0cqYyN1LWEzQ304cj0lP3tNVgp6YVdQ
NjIhREZkX0REOUhePVBOSzB3KldsPXtjQl5CNGc8Yj8xTjs4Z2luaWFvaXdwc2YraGI8WSNFMzBO
PHRqZ08KenduZF5Ic3o0dUIoISpgTEBXen1lcl5hODJtJXhpMnRoWmo9UEJ5dD9KQSRneXdCNEMm
RklOcnJWJjMoR1RkbFdGCno8QmVTbTxJfHM4dmx+TVloRmhsMmlAYj9raStZTWlRPktRWjUxTXxI
TmRNfkMwUjZwdisrMH0qbG0rJHs4YG4xVwp6QSpxTk1lcHVUTDNyRm9zNXsoQE5DQTcweyYzZT82
I210diVad0hMblF9dFJURylVVHg1RXR8czxjbXkpUUJPYkcKelBCbn1hZUJKemlkTn1XfXJuYUQ4
PiM8aF5qUm5DKlBYTUp2MFJAZ0NFaUBxe0EpIWYhQVJRRD88NTJgOEckfSNwCnpRYkhoPTdKNS0y
RDdffGhnYThSZWtTZnlyPylKT1N5P15ZVHZoekkydFVYejQmMlFjcjxKcC1Nc3FGVnhXWlppcgp6
dDVvME1yQVpSciFuKG04YHF+YnlzOVhRcDEzc3RNXmQyenZHcTVGY0ZqTDRFclFsMEQ5PXtWfEoz
fUUlZ2ZydkIKelMlaGRRN2FGYVlnMkBAUGZ4XmdxYjkqQipuVipPZGJBMTBDOCs5KCo1e2BWdG1j
U045K2NYUTRSYjdOdUdZSFpQCnpoJlp5aHBBQjBrdD5qXjsqP3w8eVFlQFJGMFA0I0I9UCY7OWV+
KFZFJGJacyNPWHNSWE8lejJ4bVlRbD9TcGRJfQp6e1BAO0p6NmNeN2Q+KyhAa3R9cE5iX2kqUU8y
PDs8MHN+Vz9FUnReSW9aaCVIVC07X2p2U18wYGhZZ1NzZF83RHUKekg5NyRZYk5YZk8jO0ttdzBz
cFk0RyY0TzhMdUx5TGkmZTthJC0hcGJEJXJJa0EhMmMlPVghJjwzNmZiWU1gUXF2CnpCc0VXZ0RF
YTliPnMzQSpKR2N1fDVGOTRvP2Z6KiM0cUlMYyUjOWlMVXM0XlhsPVBjT0FseFdDQUM+OWtANVR8
WAp6d1VYT2lOQGhYaDhAIXN9SXt0JjRFSFZSNTtYTFItIyR5JjZyYFlYU1EpdHtnN3dSWlpAS3VH
KGM/WHR1OSM0I2gKekxUX1U3VnYhKXFfWiRyVys9UmFOSnw2eXVHNEg8aUlyI3RMbUFPKnEmZis2
ZEw3fWlEdXRHKURBam90KT9JJThhCno2JX5uUmlPMDExZTtGck5fY19LRilHJHtvK0lfN31iTz1K
dUBpfmg0K30/ZzIlcmNwR2Q/ITZGK3dJc1BTVFJ5Qgp6aUhMVVZaM2lgJjh4ZXd3Vj1kPDd0bj92
YzRHc3pPSzhTMzBGKlhzfnN0QGtmeDc4MTBOeVoyI3sle1NNR2RUaF4KendhR2hXISYzVnl7PmUh
RG1JODZpOGwwXig8QiQqQjhfJkc/WWJCIWs/YDdXaDg2ZUhiWDc1JndCKFhSODgjZGxqCnpnciZ+
eypGbHlxRkU0MDUhQjVLX21AXyN7NGxnKT4+P1N8X1dUSmZ3cyE9dG0rQDRZaEtUN0koSU8lX0Vr
aCp8Swp6MjUoXl5sNHxEcjwtTHcydnQmfFZsMj41UHQhcCEoMH1mZns7THc2TkBNOGopPXdAKWoq
XnFvUjVfISVIKyl0U0EKekF2ekBhUisjcVVxZkBHKzxqbyhUZ2VfQzwydmZUez96Qz8qcGFhcEp2
Q2dqbUJfaSRfJVJDPEQmfCpIRlJOd289CnpNcFlibEFOR0R1b1VDWU0rSUFhcTglPiQ9Skp8ITc0
XkglK1VOdTRwVzlnbWstWklHWnAzRGBDQU0qLWg4QjFxbgp6RFg1N0QkcCFhQCg9MjthZ097Q315
bV9PV1Z2UT17bWp8UHJEZiY9eipRMFokRkpeLW5tV01KUG5DSndsKU1QVm4Kejt3OUpwb0VjeGB7
N2dHQTNQIWY+QTl3e0xAWHhleHdTKTA9YVlCUiRHZURlQ14yTVFWSl96Qk9AYFk/UCZiJSpQCnp6
K1UpSGo0KyVjQ35+d3hOOX1ZYnQtK05hdUZHcEhHaiopWTBYI3RNbWtlQ288c1dqM2d1Km1BUnc3
NytpcSlHWgp6Pkd7VmFFPWpOeShNOU91RjU5YWdkMlk3d3pOflBHQjwhYSheUDIhczA0cHI8V2lL
YmsxWUdwJmRVWVZsb1ZzfU0Keik7QU5GTmc4e217OHohLUU5e2x1Rl9RUlRyR0AyREYoaF9YQHNF
JE9QI21ZITVZVUNiRUYhfFZ1SF9VZFB5Xng8CnpMb2ZucjlmTklpTyU4cmsze3J0XjRCLU1VSj9W
O1hjNEE2Yjg7UEZ0PHBHdjs9fFhLfHVzZXBRVHtHZDBsPCsmfQp6VlRIeFcyTHtPVnU8ZllaPmQ7
RGxYR0ZkQD5FfFlPUW1YY3p6RD0kfEx7NTZ8Jjg1d31XTj5EKG8pYkIrXm15RXAKejdXfSZ3Z2Rz
c056N3AmMyFCNE1PRSpZI09WWG9Oa2pGfjktRDlgS3BXV0E8N3lRYVJOKnxHa356fllyX19USzl9
CnpAcSMyK3Q1QVFOTTFiajZRaCUkelE5eTdxclpecn03TFFfVG9sOTwwKF9TaHlocTE0ejA/WD5k
UE02Q2tqMzlIeQp6Kj5xRkcpSHVSTS1lTilpWFI1Vk98RjwlSEFTTTgwbilgT1QwV1dpbTx2TlRQ
Kjh5XztFJStDKXVoRzQyS1cmV2YKem9YZF9PRD0jJmRydURzTyYwYnlPcjFHQit3NiFVcSlJdDlP
UWk2WHhyWWl7PmdRbHBWamI4Y2xSRVlgd3lTJVV+CnpRXlhWc3hpbVpAYVhQQjlnKG0mITdvKio7
Xk0tan1pTkBPWCRwV3E7UTZsVDBIPV9SeVVIZyEmITdKPTskWmFtbwp6d2d4djc/flIkVW5mb1g9
WDl5fVE+KDNqKFpeYClCKT5pJjFucWFwcnIhODNTQW9RPk9xOS1yemtyTjk4NytJfnEKekRkVSgt
cjhJQio4UWZmM2l5KWtrdCpXTzJXeXBlKGx+dHh1M3Fjb3pXUUswenR+Y0cyUTR7aWdCaFB9bT5C
X3NPCno9bVF+UEh7TDZGJnFTYG5HbHwzLWpEaV5EI2V8QWVQRG5XRCUzO3REcHZuakQ/JD1pRVpA
LVkpN1U1cmcxMEVgYAp6WHhQKjRoZH4oWmJ1TzYpZHAlOVp7QCMmbTNsKHhuJTVRX31pbkcmWSp7
ZWZnWmpLeDMkNW8ha0J6WkZSbEhPMDQKem8kQWZSYzg0OWA5bDYpVjdUP2ZsNlo7MFgmbnhaNUx4
UV93MWg2RzF1ZHM9clRBVztsNTBVfWp0UGBESnckfUUoCno4UUMjIV8mIWBGUmAjb2FSVzFyeXQz
aVBASmk3WTVVa0YjPyZoNylRM1YyeTdWT0R4NmBXfW1AeDdfbE1OfG54Mgp6JGx0fmBkZj5OKCZy
eHU+ZFp0VTtBeld5SjU0QF4+d19iQ2l2flNiY0g3c2ZlQHMzQ0Z7aiFNdURGfjBWcjkxOXcKejNy
QVJJekhfbUghVVpJYHJPSHomYm4lQURefjlKezc9Nm1tPHNjZXwtOzhLUHIpRmFrSTthNkQjSXZZ
czFFb0h7Cno3ejttbU1fI2h+LU9qdlppb1A/PmskaC1QP20tX3dkVk8tRWJrUzBSUW9vK0lidDlp
dWNQVjhIQ2VAQDJGX1FhRQp6RCYjdEVlbHElciZhbGdBaHFtbGQ4ST1zU1hjPzQpRWx6TVFPdWBm
PHBtM0w9MUFmT3BJKCpXezQoblM4Y0ElemAKej5UKFZ4K1pPUFZwRkc3MFpubkBeQWtxPE1QI2RQ
P1Z7ZytTIXE8NHwyPUBGVl9LIVpBVTtMeE9aNWhRPWEtTztHCnpqIVdreXRyS04oPztiWT5Vd0hB
VCEjcD4+WDRtK314QUFtXjt1ZkBEVFUzOUV6UXc+PFIxPEcyNzk1O1dDTEcjKQp6Pz5raGZsWUZ4
TT54fjNIPEcmPHRgaUE8cTM4Rl9WcGV6X0NWSHx4dnM0NiNeQGcrK3FXOXN1dE15R35ZeHQrJE0K
ei1eUE9SVypDN21WTlJIXnFhZD5CJSlyRWBlcjljZVg2fG9QU2F6Ym4oQilUe3pMPTM9KHdtYzBf
KEE7MGFRKVNHCnpySigrVjYzdzhOaWw8PFJtViFzJW9iaGR2RENESV9aTlp8S2pTe1BSPjd+RSMo
YlhUbUBzYGgjeyt2SlQhOFZVWQp6Rzw7K3JDIXxCbCpmUjVPJUpSQ0VPfU1EQzIwSzkrJUlPbG9l
OWUkJlpabDV2bWxvaEZTRU1LTmhofX5JdzhsVF8KemcxejBIVGA2R0tsQDhvUzxKTmEmdm5QTUJU
LSs3XkpwTXNVNDVsS1ViM15zV1ZQTzgrYzBPXmQmdTxPaUZXY2NHCnpha3JoPzFEcUlHbUEldWJo
WlZoU20hd1pfO0YxPEFpIUB3Vj4xPDNxaDd4bDlTRldueEJGWmlqdl4+PTVeQEY+aQp6a3Q1TjE8
d2tiajEza01yT3QpNVYmS3ZPSDh7dTg0aD59ZUBZMkU5WGNSTlp4V0ZrYWA3VSlyOFRwbUlLUmVP
MloKenpUK2o9JTxCKGpfTW5mUFc9VWtoQVNUIXtJaT15VTgpWHkmazdmbTEpcTRne19PNzBJRkst
Pj1Mc0tXYENlXlZBCnpweWY8PigjWV5UZCtRZH5eemppOWJJdT96SHVuZWNpJkFBMUQ7NmJSQFow
eEY/eGQ/aU80aWFnIXxuVUpyfU0lfQp6QipIPWNDYTBDcVctTUVWcXZ9b3tlMz5wak51LUNYaWZh
JlRkOWRNbGFQQTZmVmFxc3A4MDlqRj1BWkl5c21MeUYKekdkcVNvOX1CdjI1akZJdjE4JGpsIWRB
WkVoO3Q7KUwlOXU2aGtmKlJnR1AzQ2xXV2c8byUmUVNDQEREIU9SJVMkCnpJME5FeE9OZ00jI21C
M2NgZik0ZjReMSMxd05VNVBre3VXeVNwMlRhVW4qQkZNd2R5eSg+XlNTdXxadE4qRHkyaAp6RTxM
eE1aeDRFXkNAbFB6QkpyZCYwSTVlQVooSExIUzhLUV5QYk1iI1h1SGwoUnQoVWRwe0tQQ0w8cmxi
KGFDPHwKemVWVFdoQ3VVJkFpZlJ7JGx5NGlNQ2taKjEyZ1laOWtCcTxAWG5GJj42ITZCIVhlNDRg
O25wQX1yPSNHWC0makQ9Cno3dFhBIW1GOUdSYEpDI1ZLU1dtQ0lIQiVoUipSMjE2Z01CbUZuTE5v
c3shRyFvd1FFND4pS24xMj9CfTw9Kz1jYAp6YzJoYyozYnJvKXQxU0N6PTtARGNOMEkobkt0eDBQ
aSRyWHRObjE4LW9KdClncDtkJE15VGZwQXQ9NDQzJkFUWmAKempIQ3EhQU1qOEpAKkxTbTQqUXc4
OVY8QU1vPFcpJGx9aD9MKT9JJXZwd2pDQ3RoM3lQUD5XNTZFTUt8U3RQMTJ1CnpUfCFyWDU0cE5v
SHVqY1g1MklMMCFHPERLODFFPT5fXjs4TjFERTl2VDQ8e0BmIy09YiMqaCEwQGNGNk5SQEUxSwp6
OF99cFU4fXlgeSlZUH1NSVRKWDQ/Y1ZXez9yQmZeRlZJayp0QyQ3KDFmVStfMWdETjYhS3lJVit4
M2deN0lkNVMKek9DVVA3NjZ6SD5oSGJWci1zN3I2KmpLbEdZJUglbipBbWhtX0ltKlJVbHQ2eXFr
KVJfI2NPOHpNRzJFa09SV1RxCnojfUtiYyZVSld8YUVDOWBTMl9AYihfQkpJKytreilrVl9GKnhw
V0pSJGVMYyFAbjx3V3Z4MjR5bmpXJVZtTWh7MQp6NmNLJDBeJlFNQno0QDY/P3MxVkA7eFExJUAp
fkJgc05jc21eaVJkfCo5VlR4dFEyP21Hc0I1cUJNbUMjXjk4LS0KejZVSypkSn5xTGJeXlNvY3J6
fX1oTTNEZVVSLWF7USZkYDhzSzVVcGskdjY5SEF0ZGwrTCpUUm1WPG9XKnVhU2QxCnplcG4maGUh
PCN0aiU3RFchdS1ycFRLbUMyQW5MQ3dHZXIlYHAobzkjUXFpMmM/XyRqQCVDUmghJGVTQCQ3dE0m
Swp6ezxJKXV6OC1WP2s3PitQT2xHKUNyTjhJODU/Yk5XTjB5RDxCTGJ0a1ZKZntgXkxEZFM1cFIl
czJIdnBXWSpCZmMKeipARmBLO29IO1pAR157U0tMMyR1aVdHRmBgJjk1cHg2fHQ3Vl5XUzV6fjYz
PSEyUj5nKXhhOVJySSZSbDxmRkBPCno5Sl9DVkV4e2pNdzZQcis+djk0Rm0lJmRoRUpQZntEMmM0
Y3tPTDV2X2tZMjB8RGEybGIlWjY4SDNNb1hIbTJ3Vgp6YEJPTWJvUCVZdDx+aTxAVEFmd0JsQyNK
KEJhMCY4LWlSdkhlMn4qS04xVklPO2JKSFROZnR+ZzMjJUpBV350Um0KejVnTnFlPUlLQ01gOX1q
aVRyQT1gSFomek1Ce2JSekxsMTJiU0FARDRafUA3VntXNiVWbUZYX2QhNzcyNWBwTjx+CnpDe0dK
fF5VRD9PblkwZj85RUEwfFQ9PmJKKXwqP2Z5ekJaWU1QQ1Vac1UpbUx7fVlocG1wfElMe2N1dEZY
OWFzdQp6MU5xbitLLSFQSllsQ01fZlpfeWN1MH03djN1ekIhR1FIQ1hKPntOaSFuMU9hakItXyR8
OVA1aWg+Tzh5KVN0eDMKekZsdFE5Mj1oc2s4ZDlQZip7PUtBUj5wajxMXl4mKD1nbzFTSW54fD9x
Pm1LP0FsZkJiayU+c2U9WHI+Kzc4LVNtCnpRemYkJGNxIzF6PFE2XkR1VXZpTVE8YmAoKWtZaHpe
SiU7QVF9RmpzQSppIW1TM2sjKVAwPFcpYEgwX1o0Q15iXwp6TyNNd2FmVUI4KUFxI0xBdXQyaEc1
TXhCcWY2SGB0Qzl9bSgwZkBReEVnRlFfbnU0LWNlbmdXa3dwOCo1O1pzb0YKelJOdTVxS0B4T1Br
YXoqcEE2QUB3Z0x4Z2dDM1NgYlI4PSg7cWpXbXpGfCVATmNzXn09OzY3R0k4Pmwhcnd3Qm9eCnow
K0RkXnxDUklGdlVAK3Y/LXZkNVVyKW1GIy1gQDtaYDBLMSEwPi0pYEQ5YjU8dzUlamFhPyM8ezB0
fSpvYH1mdgp6MWdEWWtIO2lUSWE3ODsjO2dVUHs+NEw+R0lab3x5RGdJRDlBXkVsTTVvbTxFaGdD
VklGPlJvSzJLYnN0cE9aOz4KempAa0tvO1B0JEd6MkpkYFdWTlRkKylMQWhBcTRwYlNPK1F5LTMp
YTZmJUEldnVpb0U2SV9+V0RuWF9VNCE/ISFwCnooXiFwNzVhRShUIztHIWwld3w/NXs2bVc/K0pe
WlU7Ukptd3lkfm1Ae2BGZjFCNG8tKiY/cjRTWDlGfGw3Zng1fAp6alMkVl9Ye3ViWnA4S3FDfEtH
JjNWPGxTMGhMOCsoZzlURURxSChuTStHQUpvSmBYPVkjM0dBbShpRkFweWB8WnAKej9JbT5nWnBh
emV1Z0d8RUdrNiVrNkxzWmwwP09CfUh8P357cD9mRCRDOHVJazYkb2Vobzl3ZkYoNVMoUmJKTnM8
Cnp0cSR4cmhgYk17Jk9qTlgpWjE3YSkkXndpJDxDaiVzMT5LQiFoN3BhTyh9MCgrQnZjaHhgPWIk
KXNpdnUkantseQp6JmF+fCErfUlsMCh9RWVxWXkxVmdGY0IydztXPi08T3pkYSZfNk5hOWYwd3gk
c2M0KElkUVd5ZWJ7RWZrPmA1czEKei0xfEcjSG1iQ2dZJihSbTtKKz0lZUo0ST8qeXlscT1gRkwx
dWUodGlweX1EXzZEO09ybFVOSCElUVZBZ1c7RXozCno0MWVAaGRgbT96UTxneVJrOzA1ODI1N3Vl
WDFUVWtsTkt5NG9aPkwkWkI/bXxhMGFFdGR6WER5XkRfNXxlVGs5Xwp6d2dzcTIrZSNAV1YpdiVQ
bVElI0dPN0pVQFd7RVVKeFJtbWlyUX09OFVNOGUqX35AVVBvZUs5aEZkfk8jMjktQjMKelBsdlpK
X0k1OWk7QGY1TC1hZzFuKnV4aTk9XzF4QVNVRVdZczNmLSFUdSViJjFYNU5HXkIhUG9PNVMtX0Rn
RSpVCnpIUGNRbEpley1UYm81cntVblk4NVlRcH0hOyN4dEJHVylEI3FJeUk8RENATUhYV1U4eXY+
TktabWxTTjVTN1krTQp6XyNYMXo/Mlh7RUU1IX44QVhqfT4mfXppP2w/eFpMSlRlTWUqT2R1b3k0
ZWErN2IzZjljUjhUODRjZXZZMXErbTcKejBPTFdGSyRqb1lDYVNIJSk1eVY/b3BxT1V1ZnhfT1px
bXslNlRmbV4kdjJIPUV7LWpOQVRENnshbGZII1Y7bFkyCnpKKm0rdCpeK1Q3KiNIZTM1Wlcre15O
NER1K2d0VSRDaHZzYTB9M0ErV19eMl9ETXs+ViM5TDNjSGlpbThidmJ4Ygp6eDJnNVFyOGdud15L
NS0jNSl2cVFtPC1TdUlUWVJKSjNqd195JD1manRWeDlfOEdYJnFiQ1N1cShFeXtRaWBgdVAKekEp
bWpNSGdJe1Z4RilafTJfVWNIcF5yM2BRMWkqQiZ2WDlIcEg1Mj1UbzZmIUVlKyVgRitqdmFFWlY5
S0l6SSpTCnpJUH51dW5seXZpMFBrS1VlKyFPVHt+YFBjWSQqS2VgaG1EJkF0bHBXNm1mR3wyKU1n
RFVvWW54d1N+aSsyQm9TRQp6dl5vMml4KTgmWV4yQzw4T3BqRWV2KypySTYhNz9XPlVgZWtHUGYl
akcyTFZfSkxRI1ZvKkcqVnF9bEpBZDBtfHoKem07bHx2P1AlcnxJSDNOYio4e3NvcCVtbyNJZzZx
K0M7KUc0Iyl2Z2dsKlQ0Uys8VUNYVVJOUjYpJDg9Jl5SKDJiCnpqTCN8d0NuJWJFemZxVTYpZU01
dmtuTXs4YmtESU8lVWlXTCVYY0tfb31Eflh7RVBlezZ6S3ZQd29ZNyNQMjheRgp6PylDSnhwempD
O1B8UnVfTjFeX3ZWV2NrSk1AQiZNZkI+aCsjZ2o/QWkmVzstWWZYO0k9a01BXnRmVk5aSWEzUSMK
ejgwfkM9MF5Ac3ktLSZGXldNQj4wPEpLYzdOMTZXfHVYc34kYE5nellaeDx5OVBjZSEpVk5qTylQ
a007V3NHRjtnCnpEaS1OUD9xbWpxQjdMa1pRWlNke2FSKihGZkItaXw+Q2xjXjVePkwoRTt7elAl
LSlsVyFzPWdzNH1DSUg0JnpUaQp6T0ZZQFgxPHUrYk4kZFAkUV84d1YqeHhMI2skVHQrWkdgQUtR
ajFmTUIoK0ojJlJXR0AkWDJfVUs/fHBUJSl8cXsKek0zOFJgWTQpUVBzdFYmbV9IQlc2bmE+M0tN
NXhwdEwoemJUS0QpXiZicVFgdHVOb2tRbDdocj5MRnhBQyQ/MTFGCnpoQk9vaitlV0F3bjc/IXc8
Y2hvNjZ4aCt+JVFTc1Q1ZmFXX3ZATSp1WGV8aVQ2R1hHKXM/ODdPSkxlayYwfDFYVgp6YDc2KDIp
UT5tJUF3VjVOYXFNR0x2Z3NnO25WamZuQClXPTt3Smo/c1YwVjV8MSQ7c0FoYk4xVE99MnlAODV5
Mi0KenBEcWZ0SG1VZ0hwZSpPOWRfTW9jQlRQKl9kSCVWeyNWdVc+cnkjXnx0Xj5rcXAjRm5oZk5u
ZGw7KE5lNmwwWkolCnpaMHpRITNLZjQpWl89ey0zJEgyS3NjPD5+P0pHZjMwZ3oyNUBnayRnY2kh
QDxvUS14TyRXOG1mOHxvKVVRQTQ5dgp6OEBYajQ+MmRHdGwkWEpVVmN8LVM1MXE1QGtuZXN6cy1U
aF4wWjJtZWN2b15EP0dFVUhvaHxmWlVyK2tGX35YdTYKekh4RXAxU14kfkRLZEZ0PVpDWER8NT9m
TmlSKT5MUVhMRyNYSkxpc3FiNnNYWWxHLT5Ce0NNVGktZFRnb09TJTkjCnozKCNYJWdHO20yQTw4
ZjNkKjFxa19BV0spcWR6bzZ1TCY8LUFyJFMwIy00S2pWKkI2OTRWMjN8fDlIOU1saDQ3KAp6OGw5
cF41YVRHZlVhVlE3XjlTeHsha3lPV0xqWkdhbiV8KmI+KXhTSmJqT31iTCZIPTAteV9aMD48MHQ3
dVQjb2YKeithbyQwajRhUk16aD1+JVBCemhGbip5X3tsX1ZYfDAwWVBWYTEqbik2RTBNJm5Pc3Ey
QCtnTFdqcUl+ZGlMZm5yCnorKmBEVEZibWlxblZrbUVGPFEoNkFWYjUjVjV6KXs2Xkl0Yk5vb09n
OWNyfUFyRzJxSWwwcDJ8UlhFd2FSfkEtIQp6ZyF0ck42SHgzQyV3UHg7Y2NpSFdgXnM9UjtifXpx
e3lFRX0jbWBqZkJsaih6UEhea2J3Rn5gPGBWOz1gQHtDVEMKejRsVHItM3dxK3VJUFdyQjtrPFB9
OGxLMjU2RzVvelYhV2whallTby1lNClCXkpUVnpCYXNtQiNFWDNGNENyPj9mCnpIdkd5ZG9gSTVY
QGslNVpvWWpNK25rVHRCOCVudVFtPT87QnRjZCE3ZXReYFN5dE1ZcjM4bWNYaHhkNWRER0lybwp6
Vm40ej10fGx4Xjt9SyU4VWdIdlE8ZTMjajY3P0ZsPHxKMFBlfSo9VGhRa1o7Ji1vWEd6UX5YaFRV
d1NJT2JZcCYKentlR1B4Kn4rS1NLbS0tWV5nemxAS29STSEzejVmSFg/V2ZDQXwkNSVNMF9Mez59
JndFbT1weHxaOHR+d2QrOVVmCnpFS3RyeD5UbVo0WUNGND9QWGVLQjV4fE5+IzI2RGMyMGRhR3Z1
QDNxP0toMWYkT1hwQF40fldvSllwSUtfc2ZsIQp6UHp0JC07SDthbHh7VWBtZ3RnP2JfTWgxZnFv
PihBSCNhXn5IYnQ+LVo1UH5FR3NGenlidmVffmQtZio+cWpzfTEKejw0aXhAKXopLWxHPVlob1VF
Z0smUzhyK28wPEdALUIhRi1TTjZCQ2NYfUhhJUskaTEhRH5iT0llTVB1S2JDJX45CnpkUF5wWiot
UzZkU0RHdTUzZjdyQFhee1YoVmxHVHoyMUNLYjhmJUYyI1JeODcwX2RoPipPKzN8U3lSa0VHP2dy
dAp6bHxAMUdPKVFyV0VaSWA2NHl9WCk/e3hSdkJ5ZFliQm0+bF42UCY0O143dVBNSERaOX5WOTR3
bClzNW9GJlA1SCgKenJybkp+PjJnTyt8OWszdXUjeDZ1JGdFVUVuendRNGFnKikjZjl0VkU0LTdt
PWJFYVBoSHMkMDdEMzFCMk5peXp0CnotSG44KEc8MU5gLTJsYG48RlRKTXF3V3c5YDIhIT5GM1B7
SylKMCQob053LSomPFZvVTkkelE+KDJaWlo4LW9+Swp6RGswfCtGYEVCUUp+PkgqTGpLekZJdkR4
bG5DMCEyZnIpIVlRNWU4VGlQdWp0IWNQfV4lUlR5dEV8JUs4PHVvcWkKenN9Q1Y0Y1dDY0srfmYy
KFhLXm09QWMrT0M2eD4wNWtqYyFwXlklKm8pUGooSjRZfCZ6NmA1Vy04fkxSVW98WDt+CnozUnRp
PFRuVjd3ZU9IdlNhZj16YG5FYU9AQGxaLWhjYjcqalNvUSYpPT4qJTt6MUEheihEKnhjLSRyLXlk
JkM3Ugp6NHo8QUM4dUNqZFE8eGd0UCU/VXV6T01BcVR3RDs5NCpyTF44RTlvK3czVCR7PF9DbyUl
SCVxeHtCU1ZRM3c0cHwKelhXQk83MUh2fW9MRCZHeSkoPW1HdEVkbDdpeHZudGRfTnc2Tmo5cjl4
ZSRmWTsyLSskPjBzPlBIJUJTZ2pqcUZpCno1RDMpZUhnUSMrQzVmU09PRH07LUJXLT9KMTBRcE1l
JTMlYEMwelRgVkkpVy1mRz44UWhPRj1BMm9jWldHfUcqPwp6KSMkdCQkeDtWcz9CNXtCSHJ0N3Y2
eUFvNCRQU31qQ3JoKjRGbTtWNVArRHlUTFdBbEI/NHd3bVFFKyFiUiViVWIKej5pfHNjKkBaXytO
Q2Z0QGJaRXo7IzBgb3MpVE1uQykhX3tGY2djRjdtaSs3cDRlXzU0RlNvKzh3MmFiUUZVRVpWCnpp
Jm5rcihIUXMpNG15V3p1OXdwPGctQDlQRUJUUXYmfkpueG1oWkF8QnpzXndDakJvJVdgUzJAemZw
VTBreiNYewp6dlEmfHZpVlYoVkVAd1I0OCN7NCgjaDxwfD5XOE96OUdrKz1GM040NkxgYDFtdzRk
KndXY0pvNSNGciske25kP1oKemZBcmpKV1crJVAqPyMqRWRve3JRRHN4OGxaZ0Y+UjtZeDNzOWdS
Pjx4e1FOLTd8dWtBcV82KClHeTgoUmIwJmJeCnpWQ2pXeiVeMk5BdUZuSEw/WVB2WDY7fTBqJkVr
UyEwRyY3Z1U2b3J8b3YpQ3hFejF5QEdnNFheN2pMblE/NEZqMgp6MSF9OEJ7UmhyJFAkUk0jQk5i
ayVOSzlzQDJyNXFWeG1IRyErSjhiU1A+T2lLMTNrKHdEKFNXdi1ZQnl4aF5IJnYKeihKRm5RdWJr
fm1SV3AwUi1neHgyY19qMD90YXg5XkwrWnd2d3Y8UDIwYmFvZV4meiU+PlNDPTQ+U2lremt5MGdr
CnpFfDh8O0ZiNT1YdkcqXilifkU0a2d9TX4lSlVjIXUyaERPbXk2fCpabVBAd08+YUR0S2ZKO003
MXBSU1lsPGFqYAp6dVJsSD1Fc15FUElaZGVkNWBle1V6TFArO1VTOGlwJU52eGR3Yk1ic2h7UTtQ
ZCVyQVY2YWVXdiVZKT8mRCsyYmIKelFjbmspVC1De0dmWUB1eVZaJHQ2Vlp8KWNZPlhGK3pMXnxo
K0YzUG5zKUg3e1MxZ3wwLVYzQn1McnVFOygkYUAhCnp6MDEhYEw4ST9rJnxCeGZHZTlCdEU7N2lp
ZXBnK0BRLVFgOEIxeE93SmMqZTZkeDVtQUViNyhgMkItTU4zPnU1Twp6cDViV3hRfG5URXdoU2cz
XnVRakYxXkNCREdFPTclRkxWQFh4cz1iRDk3RkViVip+TTNVX04qeHQ8Pzl6T01JS0MKemgyREdz
bytedTI4eXVae3JhYCYrRWhGV09ZPUdLVnEhNzVVYU5yd3ZqcXRMbz8yRHVFJGhqdX1pd2g2Nl56
MGFOCnpGNXNQdiMmMlV+aVdvS0VjOWJyJlJjfG19JCN0Uj5gP3NoQUgob0hiaiQxNktfR2ZpP3dT
aztGS3RLJVVhJT0+Pwp6Vms3bTxJI24tQmlZQT49cjJCMTwoeFkhbmNNOXo5Yj0/Z0MtRVRJUTln
UVhyR281ckx0YUtSX1UkfntadkI9flgKelB8V355MGgzWTROWjU2WVk1JGZzYkpfbWhqUlVtfndy
OF4qPD14aHl3djFFVEJxM2xvJG49X19RdnZgQURwSkchCno+YFE0bWI3LUtiWmAzYFFCVHhBNGEq
MFIyaDJ7VHZhVWNPa00zYHBwYGxNJil1NkVlcXVmOHxXRm5YbjctdVpIfgp6VXtCcFo+X3d6O0lH
YGR3M3pIYD5KJnFXSUElUXtrSEApQSplUVpebUYxNGxsODIlWmFedHszPm1CbT40YkV9P1AKemRX
TTR6NXpBcTdHPi19cTZoQU8hKGA4LXJ2fTNUYDV6NyZPVEUwZ3UrMT1mZksjYz9BU0FrNkxVTWpm
NysmKFElCnordjg8SF5UPT9pRF4rITk5ZGJZKVYkbTJzVDxsVWRHNFN7c2paP3hlYHYjP2cyVW5G
JlcrK0FhczlkSWEpfVdOMAp6Y2BWdlEyNiVrb1IjS3tnKk9ZSzdQUCsreEMwNDdgXktyQkw9fENV
cmo8SXFaTkxvYio/UFo7QXMreVU4JDxgKWIKejEtSUVmPEFsJHpMM0E1ezk+cyhBUVlFfG1GYDJK
allFKnghcEczWmN6c1NPUGZSdEspRi1rfW8mI049e3Fyd0ptCnp2IUlkUGh6ZjImNjFaRmghUjRY
KFJUfjsxR0x2MEZ1SHAodlIqZ0RYI2phQ0BSJkFsRTMpJkptIX1sMUkjNyNEZQp6czVfVSs0cU5n
O3tUTkd4YCg0ajg2eF98al85SilZUk4yclRzOFJLTjxPNShSKHZXKyM8KVNoazkjek91cE0jKUQK
ejR5fEEoJHRYVWJyRiFHeTslQVk1RSkqbUlZOH14aUo3KSlTZUFmPWNtWC1+UEFjbSFsTFNiaThO
XzZrNEdpKUctCnpjX1IkYW43JllqMX5ieW5WKm8hLXdBaGxKa30hKygoYWp0azNFJTxeRDFaVV9X
Y0J9XyhqSFgpVVYwaCNHd1Z5Jgp6Vkl7UCRtVVU8Y0ZqN31zWnZ9eGkmYDtnTCFNQWEkWTBHO2Yt
TW4kfFRiOEFsMDI2aVZJY2oqKVp8bn1CLUZwQTMKenpKeD1sWGstMzRQT3ppbkR9U1k/XjtiTiUj
elIxOEo/eSp8dlI0MkxFR0khWVFzMEVpXktaSEQqQFFReDRyUD1HCnprNDBPa3R5MD1KZjlVYipz
b1JQTnVrP29yVjg1VTV6bEAjUXs9dWtSYz1lZF8jUDgtMnJmSEohZH5WcTw+SlYpdQp6V3FsYjwm
NX1jfTRQXj85LV8jLWBmIWtCU15POWwzbDk0blZ2MmttTzAkLXNeT3BjSlUrQitAfj9fVU96b0pH
bkEKemZeNDhGWHMyRik1N3c5TDt3PyNrYkFveUxYbiZpZ3RoQSZ3IyVQVnh6ZT9hVHxOSDcxK1gq
cWY0VnYzb1A8SmYyCnoqQT1gaTk1e0FiTzBVZEBRYlJiYWtJMFFMWT98XjFwSk5LNEE8KTVVNTBI
NFY9fFJWfGw7Mk4mRG4xSkYka2EtbAp6UyFFI1pVeSNlNXZsaCkmaHVqe1BDLWU8eiNZNDZ9TTZZ
IzQhbmZOUko0TVVvIWB8SyFkUENlJXJHMXBFZjJ2WVkKeipSZzBEV15oU0xhX047fUAzIyooeCZm
XkByen1KcVcjczE3aHRGfm9mWHl2bDJUMHkyaDB7aTV1U21PaDVAXmNHCnp2V3dlMyo0bzUrU2RJ
JkR7YU9eNVNCSTtHWiFUU0YmQUZKQDFITntqckdiWTs/S3M5RzBUJHVXdD13eVpBcUx2fQp6b1VK
WVNiNTxRUV4pYF81ZlJoIV9rUlNvZlQjaX1pKkVXOWc2WVR2S3VgWSgoX0tGcFlVM1pMSXo0SSo/
WGRAKG0Keip9VFAwPkVGRT9wJV9YSjJnPW93I1N3ajBUNXNJSjc3SShoWCs2eT9DQ2x3PTV+JCNk
KFYpTlYqWkcpX1Z2SiVeCnpudWN7KEM/I0lyMUskUishcHBuT2ZvJD5lP3lVQmJYS2pAfm96UCQm
KDZGXkomQnEhOW1fVHZ8T3o7M3EleTF8Jgp6X1Z2Z3RTPl9vTk58bTIxWmxtQlh6en1xbmdjQWQ5
JEwmK0hSZWVXKF57K1JfajlNekVieTBoPkFWMGZpWlFZZm4KempSdyVoYCtwN0haKSRNUyRFQGVS
QjBqIUVidEdTSDAoSUJWaSZJVGA3amhFTXJgdzRQY3BONytAaGY0XisoZmlsCnpfNCFtWlpGfEw8
KDRfN3o5TyV4QEcyZVo0cnhpM0ZFK3RXbWJiVSQ1anUrMUY5dn5XPWxfPTNUM3JmaVFyQklVKwp6
WEdjPndUM3t5SjgoM0w4KU1YJXY4WUdJPStRZlZ4cnM8eHRqUz1QK1Nac0AmSD4oQ1lsdjUoUzdF
eGtoYmFDaWMKekZvYHAlODByeDw+MjwkK28lWl9GVmQxWGYzYCM0Z09tI0BeX1omSzVXUEA4KGQ3
VX5tTnQ8S2VKTlo9Xzg3eU1tCnpiZGpuKk4kPXpkY0tCQHkxfjc9TktDMntYIVBaU2QjfT9NQ1p2
cVJncXwyIzdQcTc+ZzJ8Rks3SXNZXj07bWdhbQp6b1VhbURlYGhgb0Awc3VLO3BHZEs0bEhpeklD
WSgpemYkN3xTPn45UW1mb1ppcT57fSteRzNZN3ZMdURVdHEzeiYKejA0PVlEV0BNPjQ7UTFeRVdo
aForPV5OdEVGcTFZbFhGZHJWRG1OeDwqYDlNUWkhOU4hb0BrRj5IT2hlamleWUszCnp2THBVV05p
NlljKWYwOGQpXm9oeTVoTytUbSY8O343VUB+ZkZaKSklZzZfT21ocm9gJGRKMjllUyRDfHp8NCRT
dAp6UUM+Uj41U1pJYmplJm9+KldTdDxWfEwlcllaZ3hDb3kjYEEoY2RBZjJtUTZUPzd6PH1YVyg3
OGZvUml0KypIemkKejllZzNNfDQ1JHdPUnhVI0B1PlA9OXFiO21hKSlVOyU0Y2NBNV9IOWF0XiY9
fnJXVU1VUEFwaX00cnRsYlVEMkktCnpwe3R7b01yI2VBeTFgUnM8KTNxODgmZnZET1dZX3xCbHMh
LVBvMGI1e34qSGlQYHotUEplJikqbmAjRzN4SVJjQAp6S1d1aV9gSlRAWjZHaFl0SmNCZWcma2l1
N2U1fmJpOXE8aWhpYEhfVj00fGkyaWB6TE9WMmFZIWE9Ql5AJCZDUGQKenRsaWFNKlZQXmhCeEkx
NXdqYGohc1BqTyNFfFZ0IVRESV4xOVM7OzBFSCtJeVhlcGdsXlZxcHM8QzZfMzFVWH1TCno5eHkj
QzJHR04lWCFhZmIxMDxPNE9pPUM3djUmPk4yd31DcF9yQlBpe25rWnMlT0E7dG1GQnV8YXNRa0lf
JSpWeAp6PmZFRX43T0B6SDQmaCl4dSE0b0xacU1XVjgtWWBsZThNQFBvfH0jP1MtNiE1ZE1rKzY1
PUR6ait4X2pXbWNnPjwKemgqeFYqUj5LZCFLaT5aRnwyOXw0eC03RVQ4Yko0KlF5VzB8amFSbDZh
Y1pyVSkwYzRZJTxreXFifUttYHVCIUpOCnpGT3A8JVJJb0xybmkrdSUwYTMjc1dDOzx8fEFGU3hW
cH15R0Z5cmAyI1lnaFc5Vmh2KUd+cWJiP2ZRUUs3c0ZaRgp6cShvNj15a0pSQ1VlLV5me2h9Mio2
IzEhMzdtfVUrYTBteVlyM1RFUTZfRCg1PzUrY3oodzN5VmUmTylzUkw5d0AKelYjN0c9JmVXXjBE
Y05CQih0MXlDZVZTaUhJVEVFPTZuT3J2JDY1THQmOU5BOypValBkZU9EfEIzTCFpWkNlVHU/CnpJ
fk0zYCNvNnNDbUJQPmM9emA1Ry1oSnR3VW9zQ194cCk2aHdLcmRqVCVyeV43QytmUkc2VUluR2At
cWh5I1grXgp6e0pSYlJrNW5VJVcrdUBQbVc9QSgyd2d1Qi1RfVVTdjRqcjRJe3wmeG57Py0md0JV
WSQ9SEptdmUkUzRtUXIlMT4KeiVVdEgmJilla0hqXjNXI01YOFBAaj9pdzJeWn07Oz09ITdJQ2dK
JmVUdHtmdWVwT0ghQT9Kdng0Tl8mKG0tSklDCnp4SVk3dVM5PFRZUlJfYj1UOD9CMl8+WlJUPFlF
c1NvazhmbklSQCQpYGJCQE9HMFBDNV5PdUhoRjYjb205PUdgYQp6ZWZfVmBKQl43ckdhPlF8d2J0
c0x2YWdudFV3YSFIKnwoY09PTUxue3ZTU09xeGoxeUhYWno0Rzk9Vjd8KDtwe2EKelZVQ0BoUjRe
S0tSVntkKkAqMzs3WHZpWn5gVyktOWlERG1JS3V1OTRVIUZocWZoJFNCNHV5Zk0yeUoydS1sXnlK
Cnp0S15EdlUtIU9XciZlWDg7XnJffj0hN2R3bDd6RjdXIzJ0bikoKjk/KHhKbnorO0tuKUBSWDZO
amx6LTRNMylfPAp6JW5IPkdgd21PXjF+ZHxpcWNtQ3pAYWY9ckN4Y0VTbW98KmhJeUNicFk7UXp0
PXhYT1p7YzQkVjM9R2JSMlJ2anMKemxWR29MaT12USRXbT80TVp4NVdlVGg1M3ZgPTVQKlpWJWpA
TjdwUjZIKXlGaT1JP3NZMyl3JVI2OVlmUk5YMDY0CnoqNWZIQXBhJTVJTm8hOChhRENjWkVMWlBP
KCokWmN6MkBNU0o8IUdZK1craUJnMFdsQUQpJndxKWQ0bFRMO25aVQpDPURjU0IKCmxpdGVyYWwg
MApIY21WP2QwMDAwMQoKZGlmZiAtLWdpdCBhL1dlYnNpdGVzL3dlYmtpdC5vcmcvZGVtb3Mvd2Vi
bWV0YWwvMmQuanMgYi9XZWJzaXRlcy93ZWJraXQub3JnL2RlbW9zL3dlYm1ldGFsLzJkLmpzCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjZjOTg0ZGU5ODEzOWQ1NWE1NDk5NWEyNTFjYTUzZDRhZjliMTA5NGMKLS0tIC9k
ZXYvbnVsbAorKysgYi9XZWJzaXRlcy93ZWJraXQub3JnL2RlbW9zL3dlYm1ldGFsLzJkLmpzCkBA
IC0wLDAgKzEsMTQyIEBACitjbGFzcyBVbmlmb3JtIHsKKyAgICBjb25zdHJ1Y3RvcihmbG9hdDMy
QXJyYXkpIHsKKyAgICAgICAgaWYgKGZsb2F0MzJBcnJheSAmJiBmbG9hdDMyQXJyYXkubGVuZ3Ro
ICE9IDY0KSB7CisgICAgICAgICAgICBjb25zb2xlLmxvZygiSW5jb3JyZWN0IGJhY2tpbmcgc3Rv
cmUgZm9yIFVuaWZvcm0iKTsKKyAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAgfQorCisgICAg
ICAgIHRoaXMuYXJyYXkgPSBmbG9hdDMyQXJyYXkgfHwgbmV3IEZsb2F0MzJBcnJheSg2NCk7Cisg
ICAgfQorICAgIC8vIExheW91dCBpcworICAgIC8vIDAtMSA9IHJlc29sdXRpb24gKGZsb2F0MikK
KyAgICAvLyAyID0gdGltZSAoZmxvYXQpCisgICAgZ2V0IGJ1ZmZlcigpIHsKKyAgICAgICAgcmV0
dXJuIHRoaXMuYXJyYXk7CisgICAgfQorICAgIGdldCByZXNvbHV0aW9uKCkgeworICAgICAgICBy
ZXR1cm4gdGhpcy5hcnJheS5zdWJhcnJheSgwLCAyKTsKKyAgICB9CisgICAgZ2V0IHRpbWUoKSB7
CisgICAgICAgIHJldHVybiB0aGlzLmFycmF5WzJdOworICAgIH0KKyAgICBzZXQgcmVzb2x1dGlv
bih2YWx1ZSkgeworICAgICAgICB0aGlzLmFycmF5WzBdID0gdmFsdWVbMF07CisgICAgICAgIHRo
aXMuYXJyYXlbMV0gPSB2YWx1ZVsxXTsKKyAgICB9CisgICAgc2V0IHRpbWUodmFsdWUpIHsKKyAg
ICAgICAgdGhpcy5hcnJheVsyXSA9IHZhbHVlOworICAgIH0KKyAgICBjb3B5VmFsdWVzVG8oYnVm
ZmVyKSB7CisgICAgICAgIHZhciBidWZmZXJEYXRhID0gbmV3IEZsb2F0MzJBcnJheShidWZmZXIu
Y29udGVudHMpOworICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IDM7IGkrKykgeworICAgICAg
ICAgICAgYnVmZmVyRGF0YVtpXSA9IHRoaXMuYXJyYXlbaV07CisgICAgICAgIH0KKyAgICB9Cit9
CisKK2NvbnN0IHZlcnRleERhdGEgPSBuZXcgRmxvYXQzMkFycmF5KAorWworICAgIC0xLCAtMSwg
MCwgMSwKKyAgICAxLCAtMSwgMCwgMSwKKyAgICAxLCAxLCAwLCAxLAorICAgIC0xLCAtMSwgMCwg
MSwKKyAgICAtMSwgMSwgMCwgMSwKKyAgICAxLCAxLCAwLCAxLAorXSk7CisKK2xldCBncHU7Cits
ZXQgY29tbWFuZFF1ZXVlOworbGV0IHJlbmRlclBhc3NEZXNjcmlwdG9yOworbGV0IHJlbmRlclBp
cGVsaW5lU3RhdGU7CisKK2NvbnN0IE51bUFjdGl2ZVVuaWZvcm1CdWZmZXJzID0gMzsKK2xldCB1
bmlmb3JtcyA9IG5ldyBBcnJheShOdW1BY3RpdmVVbmlmb3JtQnVmZmVycyk7CitsZXQgdW5pZm9y
bUJ1ZmZlcnMgPSBuZXcgQXJyYXkoTnVtQWN0aXZlVW5pZm9ybUJ1ZmZlcnMpOworbGV0IGN1cnJl
bnRVbmlmb3JtQnVmZmVySW5kZXggPSAwOworCit3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigibG9h
ZCIsIGluaXQsIGZhbHNlKTsKKworZnVuY3Rpb24gaW5pdCgpIHsKKworICAgIGlmICghY2hlY2tG
b3JXZWJNZXRhbCgpKSB7CisgICAgICAgIHJldHVybjsKKyAgICB9CisKKyAgICBsZXQgY2FudmFz
ID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvcigiY2FudmFzIik7CisgICAgbGV0IGNhbnZhc1NpemUg
PSBjYW52YXMuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7CisgICAgY2FudmFzLndpZHRoID0gY2Fu
dmFzU2l6ZS53aWR0aDsKKyAgICBjYW52YXMuaGVpZ2h0ID0gY2FudmFzU2l6ZS5oZWlnaHQ7CisK
KyAgICBncHUgPSBjYW52YXMuZ2V0Q29udGV4dCgid2VibWV0YWwiKTsKKyAgICBjb21tYW5kUXVl
dWUgPSBncHUuY3JlYXRlQ29tbWFuZFF1ZXVlKCk7CisKKyAgICBsZXQgbGlicmFyeSA9IGdwdS5j
cmVhdGVMaWJyYXJ5KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJsaWJyYXJ5IikudGV4dCk7Cisg
ICAgbGV0IHZlcnRleEZ1bmN0aW9uID0gbGlicmFyeS5mdW5jdGlvbldpdGhOYW1lKCJ2ZXJ0ZXhf
bWFpbiIpOworICAgIGxldCBmcmFnbWVudEZ1bmN0aW9uID0gbGlicmFyeS5mdW5jdGlvbldpdGhO
YW1lKCJmcmFnbWVudF9tYWluIik7CisKKyAgICBpZiAoIWxpYnJhcnkgfHwgIWZyYWdtZW50RnVu
Y3Rpb24gfHwgIXZlcnRleEZ1bmN0aW9uKSB7CisgICAgICAgIHJldHVybjsKKyAgICB9CisKKyAg
ICBsZXQgcGlwZWxpbmVEZXNjcmlwdG9yID0gbmV3IFdlYk1ldGFsUmVuZGVyUGlwZWxpbmVEZXNj
cmlwdG9yKCk7CisgICAgcGlwZWxpbmVEZXNjcmlwdG9yLnZlcnRleEZ1bmN0aW9uID0gdmVydGV4
RnVuY3Rpb247CisgICAgcGlwZWxpbmVEZXNjcmlwdG9yLmZyYWdtZW50RnVuY3Rpb24gPSBmcmFn
bWVudEZ1bmN0aW9uOworICAgIC8vIE5PVEU6IE91ciBBUEkgcHJvcG9zYWwgaGFzIHRoZXNlIHZh
bHVlcyBhcyBlbnVtcywgbm90IGNvbnN0YW50IG51bWJlcnMuCisgICAgLy8gV2UgaGF2ZW4ndCBn
b3QgYXJvdW5kIHRvIGltcGxlbWVudGluZyB0aGUgZW51bXMgeWV0LgorICAgIHBpcGVsaW5lRGVz
Y3JpcHRvci5jb2xvckF0dGFjaG1lbnRzWzBdLnBpeGVsRm9ybWF0ID0gZ3B1LlBpeGVsRm9ybWF0
QkdSQThVbm9ybTsKKworICAgIHJlbmRlclBpcGVsaW5lU3RhdGUgPSBncHUuY3JlYXRlUmVuZGVy
UGlwZWxpbmVTdGF0ZShwaXBlbGluZURlc2NyaXB0b3IpOworCisgICAgZm9yIChsZXQgaSA9IDA7
IGkgPCBOdW1BY3RpdmVVbmlmb3JtQnVmZmVyczsgaSsrKSB7CisgICAgICAgIGxldCB1bmlmb3Jt
ID0gbmV3IFVuaWZvcm0oKTsKKyAgICAgICAgdW5pZm9ybS5yZXNvbHV0aW9uID0gbmV3IEZsb2F0
MzJBcnJheShbY2FudmFzU2l6ZS53aWR0aCwgY2FudmFzU2l6ZS5oZWlnaHRdKTsKKyAgICAgICAg
dW5pZm9ybXNbaV0gPSB1bmlmb3JtOworICAgICAgICB1bmlmb3JtQnVmZmVyc1tpXSA9IGdwdS5j
cmVhdGVCdWZmZXIodW5pZm9ybS5idWZmZXIpOworICAgIH0KKworICAgIHJlbmRlclBhc3NEZXNj
cmlwdG9yID0gbmV3IFdlYk1ldGFsUmVuZGVyUGFzc0Rlc2NyaXB0b3IoKTsKKyAgICAvLyBOT1RF
OiBPdXIgQVBJIHByb3Bvc2FsIGhhcyBzb21lIG9mIHRoZXNlIHZhbHVlcyBhcyBlbnVtcywgbm90
IGNvbnN0YW50IG51bWJlcnMuCisgICAgLy8gV2UgaGF2ZW4ndCBnb3QgYXJvdW5kIHRvIGltcGxl
bWVudGluZyB0aGUgZW51bXMgeWV0LgorICAgIHJlbmRlclBhc3NEZXNjcmlwdG9yLmNvbG9yQXR0
YWNobWVudHNbMF0ubG9hZEFjdGlvbiA9IGdwdS5Mb2FkQWN0aW9uQ2xlYXI7CisgICAgcmVuZGVy
UGFzc0Rlc2NyaXB0b3IuY29sb3JBdHRhY2htZW50c1swXS5zdG9yZUFjdGlvbiA9IGdwdS5TdG9y
ZUFjdGlvblN0b3JlOworICAgIHJlbmRlclBhc3NEZXNjcmlwdG9yLmNvbG9yQXR0YWNobWVudHNb
MF0uY2xlYXJDb2xvciA9IFswLjM1LCAwLjY1LCAwLjg1LCAxLjBdOworCisgICAgdmVydGV4QnVm
ZmVyID0gZ3B1LmNyZWF0ZUJ1ZmZlcih2ZXJ0ZXhEYXRhKTsKKyAgICByZW5kZXIoKTsKK30KKwor
ZnVuY3Rpb24gcmVuZGVyKCkgeworCisgICAgdXBkYXRlVW5pZm9ybURhdGEoY3VycmVudFVuaWZv
cm1CdWZmZXJJbmRleCk7CisKKyAgICBsZXQgY29tbWFuZEJ1ZmZlciA9IGNvbW1hbmRRdWV1ZS5j
cmVhdGVDb21tYW5kQnVmZmVyKCk7CisKKyAgICBsZXQgZHJhd2FibGUgPSBncHUubmV4dERyYXdh
YmxlKCk7CisKKyAgICByZW5kZXJQYXNzRGVzY3JpcHRvci5jb2xvckF0dGFjaG1lbnRzWzBdLnRl
eHR1cmUgPSBkcmF3YWJsZS50ZXh0dXJlOworCisgICAgbGV0IGNvbW1hbmRFbmNvZGVyID0gY29t
bWFuZEJ1ZmZlci5jcmVhdGVSZW5kZXJDb21tYW5kRW5jb2RlcldpdGhEZXNjcmlwdG9yKHJlbmRl
clBhc3NEZXNjcmlwdG9yKTsKKyAgICBjb21tYW5kRW5jb2Rlci5zZXRSZW5kZXJQaXBlbGluZVN0
YXRlKHJlbmRlclBpcGVsaW5lU3RhdGUpOworICAgIGNvbW1hbmRFbmNvZGVyLnNldFZlcnRleEJ1
ZmZlcih2ZXJ0ZXhCdWZmZXIsIDAsIDApOworICAgIGNvbW1hbmRFbmNvZGVyLnNldFZlcnRleEJ1
ZmZlcih1bmlmb3JtQnVmZmVyc1tjdXJyZW50VW5pZm9ybUJ1ZmZlckluZGV4XSwgMCwgMSk7Cisg
ICAgY29tbWFuZEVuY29kZXIuc2V0RnJhZ21lbnRCdWZmZXIodW5pZm9ybUJ1ZmZlcnNbY3VycmVu
dFVuaWZvcm1CdWZmZXJJbmRleF0sIDAsIDApOworCisgICAgLy8gTk9URTogT3VyIEFQSSBwcm9w
b3NhbCB1c2VzIHRoZSBlbnVtIHZhbHVlICJ0cmlhbmdsZSIgaGVyZS4gV2UgaGF2ZW4ndCBnb3Qg
YXJvdW5kIHRvIGltcGxlbWVudGluZyB0aGUgZW51bXMgeWV0LgorICAgIGNvbW1hbmRFbmNvZGVy
LmRyYXdQcmltaXRpdmVzKGdwdS5QcmltaXRpdmVUeXBlVHJpYW5nbGUsIDAsIDYpOworCisgICAg
Y29tbWFuZEVuY29kZXIuZW5kRW5jb2RpbmcoKTsKKyAgICBjb21tYW5kQnVmZmVyLnByZXNlbnRE
cmF3YWJsZShkcmF3YWJsZSk7CisgICAgY29tbWFuZEJ1ZmZlci5jb21taXQoKTsKKworICAgIGN1
cnJlbnRVbmlmb3JtQnVmZmVySW5kZXggPSAoY3VycmVudFVuaWZvcm1CdWZmZXJJbmRleCArIDEp
ICUgTnVtQWN0aXZlVW5pZm9ybUJ1ZmZlcnM7CisgICAgcmVxdWVzdEFuaW1hdGlvbkZyYW1lKHJl
bmRlcik7Cit9CisKK2Z1bmN0aW9uIHVwZGF0ZVVuaWZvcm1EYXRhKGluZGV4KSB7CisgICAgdmFy
IG5vdyA9IERhdGUubm93KCkgJSAxMDAwMDAgLyA1MDA7CisgICAgbGV0IHVuaWZvcm0gPSB1bmlm
b3Jtc1tpbmRleF07CisgICAgdW5pZm9ybS50aW1lID0gbm93OworCisgICAgdW5pZm9ybS5jb3B5
VmFsdWVzVG8odW5pZm9ybUJ1ZmZlcnNbaW5kZXhdKTsKKworfQpkaWZmIC0tZ2l0IGEvV2Vic2l0
ZXMvd2Via2l0Lm9yZy9kZW1vcy93ZWJtZXRhbC9jaXJjbGUuc3ZnIGIvV2Vic2l0ZXMvd2Via2l0
Lm9yZy9kZW1vcy93ZWJtZXRhbC9jaXJjbGUuc3ZnCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmViN2EwZTkxMjg0ZWIy
Njc0MmQzYWUxMDY3NDdhZTY3MjFmODE5NzQKLS0tIC9kZXYvbnVsbAorKysgYi9XZWJzaXRlcy93
ZWJraXQub3JnL2RlbW9zL3dlYm1ldGFsL2NpcmNsZS5zdmcKQEAgLTAsMCArMSw2IEBACis8c3Zn
IHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDEwMCAxMDAi
PgorCis8Y2lyY2xlIGZpbGw9InJnYigyMjQsIDIyNCwgMjI0KSIgY3g9IjUwIiBjeT0iNTAiIHI9
IjQwIi8+Cis8Y2lyY2xlIGZpbGw9Im5vbmUiIHN0cm9rZT0icmdiKDIyNCwgMjI0LCAyMjQpIiBz
dHJva2Utd2lkdGg9IjAuNSIgc3Ryb2tlLWRhc2hhcnJheT0iMi41IDIiIGN4PSI1MCIgY3k9IjUw
IiByPSI0MSIvPgorCis8L3N2Zz4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1n
aXQgYS9XZWJzaXRlcy93ZWJraXQub3JnL2RlbW9zL3dlYm1ldGFsL2N1YmVzLmh0bWwgYi9XZWJz
aXRlcy93ZWJraXQub3JnL2RlbW9zL3dlYm1ldGFsL2N1YmVzLmh0bWwKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZmQ2
YWU2NjJhYmQ1ODY5MTJlYTQwYzk4NzIyOWI1N2RjY2NmYjM2YwotLS0gL2Rldi9udWxsCisrKyBi
L1dlYnNpdGVzL3dlYmtpdC5vcmcvZGVtb3Mvd2VibWV0YWwvY3ViZXMuaHRtbApAQCAtMCwwICsx
LDc4IEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3
cG9ydCIgY29udGVudD0id2lkdGg9NjAwIj4KKzxtZXRhIGh0dHAtZXF1aXY9IkNvbnRlbnQtdHlw
ZSIgY29udGVudD0idGV4dC9odG1sOyBjaGFyc2V0PXV0Zi04Ij4KKzx0aXRsZT5XZWJNZXRhbCBD
dWJlcyBkZW1vPC90aXRsZT4KKzxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0ic2hhcmVkLmNz
cyI+Cis8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Imh0dHBzOi8vd2Via2l0Lm9yZy93cC1j
b250ZW50L3RoZW1lcy93ZWJraXQvc3R5bGUuY3NzIj4KKzxsaW5rIHJlbD0ic3R5bGVzaGVldCIg
aHJlZj0iaHR0cHM6Ly93d3cuYXBwbGUuY29tL3dzcy9mb250cz9mYW1pbHk9TXlyaWFkK1NldCtQ
cm8mYW1wO3Y9MSI+Cis8c2NyaXB0IHNyYz0iZ2wtbWF0cml4LW1pbi5qcyI+PC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0ic2hhcmVkLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSJjdWJlcy5qcyI+
PC9zY3JpcHQ+Cis8c2NyaXB0IGlkPSJsaWJyYXJ5IiB0eXBlPSJ4LXNoYWRlci94LW1ldGFsIj4K
KyNpbmNsdWRlIDxtZXRhbF9zdGRsaWI+CisjaW5jbHVkZSA8c2ltZC9zaW1kLmg+CisKK3VzaW5n
IG5hbWVzcGFjZSBtZXRhbDsKKworc3RydWN0IHVuaWZvcm1fdAoreworICAgIGZsb2F0NHg0IG1v
ZGVsdmlld19wcm9qZWN0aW9uX21hdHJpeDsKKyAgICBmbG9hdDR4NCBub3JtYWxfbWF0cml4Owor
ICAgIGZsb2F0NCBhbWJpZW50X2NvbG9yOworICAgIGZsb2F0IG11bHRpcGxpZXI7Cit9IF9fYXR0
cmlidXRlX18gKChhbGlnbmVkICgyNTYpKSk7CisKK2NvbnN0YW50IGZsb2F0MyBsaWdodF9wb3Np
dGlvbiA9IGZsb2F0MygwLjAsIC0xLjAsIDEuMCk7Citjb25zdGFudCBmbG9hdDQgbGlnaHRfY29s
b3IgPSBmbG9hdDQoMSwgMSwgMSwgMSk7CisKK3N0cnVjdCB2ZXJ0ZXhfdAoreworICAgIHBhY2tl
ZF9mbG9hdDMgcG9zaXRpb247CisgICAgcGFja2VkX2Zsb2F0MyBub3JtYWw7Cit9OworCitzdHJ1
Y3QgdmFyeWluZ190IHsKKyAgICBmbG9hdDQgcG9zaXRpb24gW1twb3NpdGlvbl1dOworICAgIGhh
bGY0IGNvbG9yOworfTsKKwordmVydGV4IHZhcnlpbmdfdCB2ZXJ0ZXhfZnVuY3Rpb24oZGV2aWNl
IHZlcnRleF90KiB2ZXJ0ZXhfYXJyYXkgW1sgYnVmZmVyKDApIF1dLAorICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGNvbnN0YW50IHVuaWZvcm1fdCYgdW5pZm9ybXMgW1sgYnVmZmVyKDEp
IF1dLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVuc2lnbmVkIGludCB2aWQgW1sg
dmVydGV4X2lkIF1dKQoreworICAgIHZhcnlpbmdfdCBvdXQ7CisKKyAgICBmbG9hdDQgcG9zaXRp
b24gPSBmbG9hdDQoZmxvYXQzKHZlcnRleF9hcnJheVt2aWRdLnBvc2l0aW9uKSwgMS4wKTsKKyAg
ICBvdXQucG9zaXRpb24gPSB1bmlmb3Jtcy5tb2RlbHZpZXdfcHJvamVjdGlvbl9tYXRyaXggKiBw
b3NpdGlvbjsKKworICAgIGZsb2F0MyBub3JtYWwgPSB2ZXJ0ZXhfYXJyYXlbdmlkXS5ub3JtYWw7
CisgICAgZmxvYXQ0IGV5ZV9ub3JtYWwgPSBub3JtYWxpemUodW5pZm9ybXMubm9ybWFsX21hdHJp
eCAqIGZsb2F0NChub3JtYWwsIDAuMCkpOworCisgICAgZmxvYXQgbl9kb3RfbCA9IGRvdChleWVf
bm9ybWFsLnJnYiwgbm9ybWFsaXplKGxpZ2h0X3Bvc2l0aW9uKSk7CisgICAgbl9kb3RfbCA9IGZt
YXgoMC4wLCBuX2RvdF9sKTsKKworICAgIG91dC5jb2xvciA9IGhhbGY0KHVuaWZvcm1zLmFtYmll
bnRfY29sb3IgKyBsaWdodF9jb2xvciAqIG5fZG90X2wpOworCisgICAgcmV0dXJuIG91dDsKK30K
KworZnJhZ21lbnQgaGFsZjQgZnJhZ21lbnRfZnVuY3Rpb24odmFyeWluZ190IGluIFtbc3RhZ2Vf
aW5dXSkKK3sKKyAgICByZXR1cm4gaW4uY29sb3I7Cit9OworPC9zY3JpcHQ+Cis8L2hlYWQ+Cis8
Ym9keT4KKzxjYW52YXM+PC9jYW52YXM+Cis8ZGl2IGlkPSJlcnJvciI+CisgICAgPGgyPldlYk1l
dGFsIG5vdCBhdmFpbGFibGU8L2gyPgorICAgIDxwPgorICAgICAgICBNYWtlIHN1cmUgeW91IGFy
ZSBvbiBhIHN5c3RlbSB3aXRoIFdlYk1ldGFsIGVuYWJsZWQuIEluCisgICAgICAgIFNhZmFyaSwg
Zmlyc3QgbWFrZSBzdXJlIHRoZSBEZXZlbG9wZXIgTWVudSBpcyB2aXNpYmxlIChQcmVmZXJlbmNl
cyDihpIKKyAgICAgICAgQWR2YW5jZWQpLCB0aGVuIERldmVsb3Ag4oaSIEV4cGVyaW1lbnRhbCBG
ZWF0dXJlcyDihpIgRW5hYmxlIFdlYk1ldGFsLgorICAgIDwvcD4KKzwvZGl2PgorPC9ib2R5Pgor
PC9odG1sPgpkaWZmIC0tZ2l0IGEvV2Vic2l0ZXMvd2Via2l0Lm9yZy9kZW1vcy93ZWJtZXRhbC9j
dWJlcy5qcGcgYi9XZWJzaXRlcy93ZWJraXQub3JnL2RlbW9zL3dlYm1ldGFsL2N1YmVzLmpwZwpu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi44YTNlYjFlYzZlNGVjY2E3OWYzYTkwZDU5ZmNhOTY1ZWJkYmUyNTk2CkdJVCBi
aW5hcnkgcGF0Y2gKbGl0ZXJhbCA0MjI5NQp6Y21lRlgxeW8kbShsNUcpIVFJezYtOEh6bzF9OHZw
Y1BFZ0wxUHZyZWZNQ0lHTFU2YT43TSRTaj8jYFgkb2Q1c2EKemA+cHJnXn1ZQSpUSkt4eW91MWpW
ZjRpcjtjMiMlUj95Qm5qSDFvNiFVQEZOZSReanF7MDRQOHx6fCNzNEQoaD9hCno1JiU/SDBjSFJJ
NUNKJDRIVU5lcTVjQzZwaHlsMWk3eXkoJkIhNlFxNWFUfi1VO3lCKTlSVH1KOGJqIyRjWSQqTAp6
LVRJJHJtQEpzVENfdnt+O0Q2IVlxKSNoSVJKTlg7dUVIRH4mS35SKlJ4VTVCKikzaDFJRDlRIUlr
P3o0SVJIQCEKelVzbnJEMld3QnQ3dUdnKiZTS09AampoeV9jMjs4NGBoMlJLczs8KTN3c3Mycz8k
K0E9WUM0d3c0d2dieilEcSY5CnpxUTFodVBPZVZZbykobjhQTDlxViFvRmhFZjB6cUhAJFlJNVlS
VyQobyheS3YyQzVwQShrfH1TbHppO0c/M35vbAp6KjZ2bT5nfCVlbHtARTZLQn1WO0VBJEAjJipu
TjF8VUVGT3J4UCpqK0k1QGRFeFZoUCY2bEAtVCZZbComWXxiN3UKemV7cW5wX09OdWZiTT5AeWFp
O3Z1KGMqPVJtIX12dEgzIyQjOVJJdzxafV8qWTsqfGRgfEwlYypfclNrPDtOTHkpCno/O2lNZjVC
JmVIMm1hO2xTVVc+cTkzUUFKMTNWbzdmKlE2aW8tUTc/RjBQYjM/M3txMGwlZ3VeWj5JfWR7JFJS
NAp6NU9hYm9gZDF3QTlkOylhRFB7aiFEKT8hWWE3SXlEK0R0PUJUfjFMJl9LKTkzKmxYZUg+SWox
ZzA4WS1IP3BwRnYKemxtXmNZREdecW40alZTcXtiTDA8RUcjYC1Ce2VpdWUpSWg2e0Q9U0ZLYktR
fismZl5MP0tpSyN0TiZ7TiVMP2lpCnpMSCREd0RFU0wzNEApTn51N1Z6ZW1hZ3VlMDAwaCEqMzxa
U3k4Z3p3UD5reWk2JWROK2VxKTx8O0tBU2MjWHM9IQp6OX52RGtYKC1KKClQcUh9dXlENWwwOTBy
LUs8UkMxMUxjRUMyPnxmZSZRXkJMMEQjUjQjcDBIPjdGR2EyMj5sT1cKemIjaWp+amtCUGJAeH1r
ZCRMND4rNzhXbzU9NG9NSl5FZHY3RjNeX0g4X1U+dnhIPysre2tpeCpgUXptMTE/e2d0CnpnJk8q
Y1lVezNgMXdHUzNgPmZFeE1mcT4rezZiQ3J1WDtQRU10QDtqRjlxR2R1JShDZVp6dWd2VFBxNzA8
LWYzKAp6Z1JiT1gqdW91KHt6K3Ihc2leWjhjNlpWR280PlE4K1ZBPUNobVduYjtAe1pYTHN0OCpg
aj5XY2locDUkVE9Jd3MKenUoekZfK0YjaGlMSGxuUntCNVFHdTZPcytgZGo5Zz9zOStZPTtRJXlg
T29gV1RLd3g/cDAreF9nTntHKVNiR0AhCnpFc3ZHOGpPXmRfJmJvaWc9SVNaK0gmMGlgS1hkJmJa
NWAkUnVKYGNQez0yUUd5VXlTQl83K09OPWs2YlJTNUorPAp6YHYqX35XQzBtfjV8OVMkMEI2NyZa
fmBvI1MyRUJtNTVOXzBna0pmMVRLb1E8YkFZc3F0RG4xX2pqYm84Qi1EYmUKekRIV1k5Kjt5Jk1J
a15NPztJfT5nclU4STZ0dl99SyFYTm9wb2cxe2h1bisqaWVFQzxNMXElUSl1dEg2dV5qfiRmCnpg
flpORzFefHN+bVJ8MU98S0pEdmB2ZUNkMH5pMTxLbT9Fakd5byZPMjU8eFhmQyVzbUQhbWUqNChJ
XlMwYUwmZAp6dSFZTCs0KV8zcHokK2pFaHlwJFVpOWpsbDM0OD8jZmltRGJQenk4eD9MYXAkMFE+
fGRmak05cSpafXJgVzhmMEYKejFBI3lZQVQkc1RoekxYaHE2NHZqeEl1eS1hZ1ohWDEqOFJmNGwp
UFhmU2ZeSXBnPlNLQzw+R1NOKEUodWlhLV5oCnpkUWR5NDQ+U3Q7MXpHe15mS0VaVEZrbCF8Nytl
QEs3PHcyRTcocDBHNy1iazg3IXcjOTcmalB5bkFiM3xGZXh4Twp6RnJfZHhGenFre0ZxMUlMRm5j
ZjtVO3ZCKSNzXmJAKn0jSGVYfE91ajVkMEdDNGh7eEtmfEl+RztCcyZTeENjQkEKelVJeT1qWigh
a0phYlBLNyo8ZUxyNjx+RT9FbihlWWdKR2ojUSgrNVhZaFp1Q2o+RTNOOT5ZR3VwfX4+RHZBX3cj
CnpEWiZ9Uip9KGIwTVpoSiY8LT05T2ItXyktWk5PY14hXjdqbEdyJFlMRTVKWDh3fSVnYWtCMHZP
NH1vdWtBQkE2bwp6emQlNGhBVk9lNDVKT04kdXQ0eGNoKFAjXlA+UnJzRm92KiFhRSp3OU5QKTxX
RDJIZj49IV9WS24xb28yKm4mOFEKenhQXkYhZ28jOWxCI2ZrdldRRjkxNm8tX0gpUE9YQ3cxSVNv
akReZ0FFUVlMdVk+KWczSVIme0t4ZUl3N2Azd2FHCnpnJklXJk1IOXNpQkBgdEU8cl8qYiRfbU8y
RG1FJUpzeCshR3N1eVozWTV7NSs+TXp0WUcmRDROdn1iNkJYcjVAWAp6WGhtcTlYcDNtcT1zNCk/
PSEpbzg9cHBFNz1yIW5MPSFZMGM3PDNxdDdeV0VoNyljbkY3JFg/X21gSXJQbjlgVVEKem44QkU3
bkR2O2BtPXs8JFNYQH1AU1dafmNTakFYPFNsaWVMKiEwLTQqakN1RHZBPCQ+VnoxJFZhY0ZSKWFW
JkFkCnphZEw2R2E1aXdeYVQjekdhcVYlVmFMYUlxYWdYdF5AcCRwe0BPPCZvQFM1P0tAeGwxP189
QDxCXztMOChAdSU9Xwp6M0NJV30zOUpkOzZPPEUtNW5LX0g1SSFUY0NYNko2NUthPV81PlhQIzU7
K2pYNlYoemU1V15CUDZLZkx0NU44bH4KejUkfWBXbDhCSTRsMD1leEN6Jk9NQSFSMWpBYEt3QE47
KmgtS31KcHtQdiVQWW5YSHArcEIkaDM4TSFfQUMtTjVaCno5U1IlQGFTQSglUFpYXmJ5T2VtOGw5
WX49RFU/NGJrRXV3aDZzV3dZdlo7b3Q/eC0yNGIqYU9zQT1DPnIkVFdnOQp6RktJcn1ia0gyclFx
WmM+MkdXKyQmZTk+IzNEVmlwQ0RabExVQ31lcD4oanJidWNoQitBWUBRdkBNa0R0bX1mKnwKemx3
ZnBZJXdlMmhmQGN6QmEkeCR4XnBoRWVuVUMzKUlnTlJRMSVgIzYjZzYzKiVQMT14c31RUipZWXl1
KTghRFM1CnpuPlNrdCtYXzJBeTkjPzRkb0JBUjJRN3lvTT82T2wkMEh7bnJ6Mi1CPU51T3ttbDlW
UFJ8RDU2SCM0Xi1jTitIdQp6NDtxZ2dQWTYjUCZqfkxKdVFoSzU/K2hPZnBETiM1ejdEPHplZ1NA
V3smTX51MGFeaWJmcG1kc0wwbXglIUR6dT0KekF2aHJecCU5QGFwJk1hLVZOYz1qIWJjKShBYFQr
T0JITi0ycVNtNmhxSEFLKlZpc2NBViQwJWA7XnlMNjs+IXxMCno1Kjg5VTYwNlQ+bz5ASzFmM192
YkJ4eF5NRHRSY3lEZGpGekVwO1U9RUZDMT5DSWdte214K2BhbWNeRlVsfShqaAp6bCV0bGprdD5s
cW1na2NYa1opNmZRJjNpalNEMDJMUT95aHBRYW59P1B6cUF8cF5VMW10KD5hN3M9fTx8dUZ7fGkK
enFwR0MoUUZVSThQUiZgWlJ2bDFSUlI1XkhwdXdRd3JxUVNndWNASiNybiN4YnI0Xnt2cW04MyZy
ZF9Pa3NVeEttCnpyISVMXnNPelFNcEAqU290WEhJV3I3eHFPcHVjUnVWR3Z8NkBTT08kLVNhdl8x
VmNUO2U4VVNQUykpWHc0UCFwegp6MjsoVWUxYH1WQ0sydV4tTjdINkEzXk5PfU5ePn1LZWUrYFRk
a2J9bzlFKno9aVo5WSU5OXYzVENSXkBWSit0fmAKendQUCkyb25YRTdRdFZ+SSVXV0dtbn55ZC13
aTMyVXcpPUx7Y0J5dEpfNnFpeV9FISQtNGgwVFJqezElZUNxeVQ2CnpyK1F+Plg5d3BXRjYxdTBF
fkJuMnRgVi13Wm8rUGZacFpHKj8pZUBkNC09MCVQaDY8dUd3OCtXXn5QKChUaWlSJQp6YGBTbShy
X3ZZOCpWJVdfa0o8ME4tPEgzZWVfakE9Zk1xfk9BWFZWMno/QzQkcHpMNSFAUWRKJTVTb3pKQXNl
Q2MKenBAcHhJVXBjJVEzZ1prKjJzO25nNHt2eClfQiE8Uys4ZztkQkB5VG0/aCheKE1jIXQ8Z01E
WkJadW1YVmBfSnptCnpCZHNGKXFkMjNJcVZBKERxeCltSFZwM3dCVnFlQSUkTU1IeWUxUU1wezkh
NnlCRUIjSUU1U2N1P1c1fClub3BGVQp6QjBycmNua0R1bkBnYCpeQlBWKyRGUT0lYSlQMUo/e05l
TGBzJWAzSW5wN0dqb2l6UEBgcWRZIUZKbD9jR1JpWl8KekdOVXFZditTfkZ2Z05hRGFfRG9DelFU
WD97PEBpfm0pbnlrbXsqaWZvRkEze1B+Y3AhVCZQdn1xZSE1cnNGPGBrCnp0Xn1zVXQ3TkN0eGIk
YjRPaiV0eVRYe0FGOX1AS3FffiFMKHg1QigpPmJ2c3lqIU1ER0ArIUtqXmxGXnkkUW4/TQp6VShJ
bz9aUzhYMV5TYVNgclRVSHJrJXNDPF9RcnhIczswRE55eW16VDxkKVloUHAkcn43ajNSPmB8VVJF
WWFNMUMKemJEYWpBNkYpUzY0MGtEYV4+KWozY2xKcDN3RHlZaUh1VllqKSVPZWIqQURPeClDfT9z
UnVBekZSUyl3SSpOZ35eCnopY3E5dCopUz9QK0E9MEYpOz15WC1hVmw+RikqbiVJWGF+fkg4WDhJ
eSp5KHp2O0U4USpVN0IrP0E9YEdKbHVUYgp6MF9ILX1CSSNuejY0TWY3blNaJT9NUF9BaVJlTj1B
JjJudlQtRENaSjxNayVtWDNgZUxSPyM7MWNHSGdCJmQqKD0Kei1Ia29oeX1TTDAxRlZEZUwmbjNa
cWkwOGgjfEZuNkMrO1V0cl9wQ2JYOWVmSD1OJVVzN21KcnBtdj5pQCpGQEthCnpILWF9a3hCOW5S
Y1J1JEJfYkNyZDQtSnBYa01tRFhQZnhCRT9pUFExZiFgQCFuM3ZHUj9gWik1cGdqaXdvU3kpSQp6
alEkVVFgNDB1dW9kIVdecGpaI1k0JSZuSDB5YyRaZjx1NWlmIXsleE1xRU4jTEIyd1RMIShEbSNf
K188IWtXZkcKeiE0PTJ6JEE9Slg1aXR7NmtSKzNpa2kkeyVRQ2ReUVFoJW96cWRsYURWTClmWlVf
eWFEYEVGUGFTWGJEXyoqaUleCnpJZGkhX2EwbF8mXlhsPEU8N1hEWTV4NXVKNUU+TSY1PWo+Zzdx
YmBGa2BSQiFEb0cpUUZPNGFLQm52RDFBYV5CeQp6dGd4LVB0VGR4TXRrUnwwcSprZTNyY3RhfXEq
Ymg0clVUS2YoNXV3MUdebCFCV21zd1MtTUdSOFZoUzwpWmVDfjYKenska01ibShgfkFgTzdDOzZn
engtWTZsaWFKfF91aE1IZ0xIWWQwVkY3Pnw2PFI8OVpGNkpJMWhOYEhYPndMckB0CnotezhvUTxq
fH5GKjxxUkNEWC0oK0xfYEY8YiRqPm55PHd6VWx3PnF0M31ZOzU5UUZzNGMlJWZCa0M+a2I2UkRD
fAp6bDZoMGFLRmctNnJzPHt8ZVgtMU4kbj93IyZIaiore2sxeGBLV3sxanliIVU3dzN3cXJzI0xl
a3JyYTB1P3BzbnQKeiZpOWhhJUJxSXkpfCMlYHpQaDNNKFQyJiFuV25rc3JJeio5eXwjLUVhM3xn
bSN4QnVyalVMTmhwVDVaY15hMDNWCnpgX1Nte14yb3VAaV96UCRgfC1QcD4mYzYkbGojSEtZK0lY
TW9TVF4rVE5xbUdVRnVyeVVnPSpRVFUlSikqfF52Twp6WktMaUc/JFllQj8rWURCQTFXUnhBSXFG
QHBBd3YmcDdvcjZ6SHFue3krWGZReGB5MEAtZkdAYS1KUlVHS2cyKHAKektYRT1pe1YoSXM0bzMt
aDF8OSFoIzhzcGQ2bDdGN0crQV84ajV5Mj10VFAtb1RyPDRTXyFFUl5NNUBHWk5aTHAqCnokeXE0
T0Q1SSZXc0hiU289YGlSPzhSIXxRbTxYOXNuNkZ0QFMlPXZnKnVRY19iOSFAYGIxVSsyQClHYnFA
VThScgp6M3FTLXYzSGJ8fmliI3BsaXk/fmJpSH1PdUpeTHlkRkJLOzNCallJaExRWVIhU3dVUXBP
Tm1BcVBYJDVjVDZJQCMKelVWVClmU0Y9Tl9NWX5hX1BQYmFgbnxfSHd7X3x8WlJISU1FRih6K0sh
Xn1kPUxvQzh4THxUNWRPMUNhfWBPVCl6Cnp3I31+QmUjQndZYW8lYSZkRWUjUTRjP3U9Z1ZqXlkl
ZlE+JkMpX3ZMdWhoUmFVQFVNdz1wcUNyNiF7Zjs3LX4zdAp6X35ZeUlIIy1wdlolNXlDeXwwVGJp
T1B1bjVFQjtiNlgqMjdDZis4JnstZ1VSfEhTYTVzTnwwK1hgZ2RhaV8qVE8KelNBU3tCPSpTJCVu
I3h8IXh5WGdqQmd8KG01R188SUdBbmoxMmAmOWxtUUBhY0c9Si1fbkVidn14bXxUIWVPPmNaCnoy
VmFsWWZaSXNpTUE9Tj0hcklFeUNmMlVoQHgwVVZNQFpNbD90LTMlLWw0d2J7P2tGJkFeYyhiNXgk
Pk5xYmcoQwp6PE42YlpsZzNrfihgR1p+enN6U1g8fUJ0ZDdBekptbU1vV1RTNm8qRSpDTitiSCVj
fWV3KzZRdGJgRXkkX2ZaZHMKejU5eUVDazJ5e2xwZmxqPFl+e1REQklgMnYlSl5GTmhWYlV7Y0tx
KCFlYXdVWHF1ZGtDZTtFSiYtMlI3Z2thMCF2CnpKZlFZfTFocyFsa35Hb0BheEBCMk4oWldCPksy
KysrRENkVTF9YThvQ01JU0U3QWpVXkhjV09UNHVJb35iQmsrKwp6eU8qYmlIPWkkJktVfX5+Jl9x
YUNTVWBrRTZrWVVNWSkkOzlNQkI0VSR3SHx0PWBAKXsqO3UpXkB9VWE4aW1wbUYKeiVCQ3Rocyl9
bWo+aWlsVW5vTF5zK08jXjx4PlJ9O2BsSlIjJishZWhqWmxwZE9oNl9Oclo7OSs9R1BXP21NflVg
CnopKSs3R1pBZmpZP0M5Ozg5WEs0aG8lbyFFVHFJb08tODl8SkpYfTNQejJkI0llSlh0MHs2X3Ay
MGA+eTBnSkQ5RAp6THM0SExnQEtAfT09JHI0SHlzZz53X25+eHpXMGk+aCpGSWZqRz45ZWg8JTdW
X149djNwRF49cmBxTkN9dWNWcGUKem5Vdnx6UT5oYmE8TFJTY01seXluaHFGZXJyKmFtY0U4VEo0
WjJAY3tTYGw2YGM/bz9mZGxfJUpGaHReO2JjTWAhCnoqLUR1enNwQEFuVnp0NmAwYCl1JTlFfmha
XnYlPlE8Z0Z4YUI8PHVLdzRIMX0xaUdaVVJlU1YlVS1VV2xkaz0mUgp6ejhpYGtQOHJHZ25MVX5f
bU5sTH1rdnRoYzYqY3tPQ2dfKlh0am5EM3khcGNPTWVRWXhXejd9KylmYTFTPnRQIy0Kem59dTdB
K2UxNmN5UWxsRzJlXmx7TjhIQ15Dby1wVVhMOUcjN1pSNXVTTnp2cEghUWRHY2EtLTs0PipyI1B3
PkNUCnp7fnZqaS0pak9xR15XZ2p0YG9YJTBZRGBsMDVVYFhmRjJvfGwwWExsNEt4N0k1ZHZWTztz
NipQOXNxeyg+KS0xSwp6MilnQm0xWWlQJDAyUk9qMnRlYXdPfjRGcjBZYWNMV2UhamNeWl5VTjgz
LTlmMXJpNDdmTHVWNHBhTWBnWGFmY3cKemg3bT51OHRiSiU8R1h6QDVtKjgyNH5CclpWUUhhfVN9
eUUxOTZLfT8+d3czQUg7MW84S3R3UHtYaGJBTF5oS09TCnpsMFloZSMhMTEqMlBrR0pxb157ZHdQ
PyZ9OFImVEVGJkt5I1ohcUM3LShzTytlWihmaUYyV0pPPkF9XjwtTk4oMwp6TjVSaGA1RnEkVD10
elcyUjY/dnFkYF47MURvPVZ3bVBNe2dlb0lrNnNZP1klUllQcjBMcSMpN25ARmNjazMmRG4Kemtq
aU16I0szZ0dUKj4wY0QhflROSG9+NjlWYXFBVmd+R01PVUJtTiUqTzU8IXBJZC1qNUp3MUk3Km04
bWx1Qz80CnpUdFkob25aNHZ8c2NoK1huS2R+Q2QxZUo9TUxWVDglMl9JbnN4eFg9OGJxMzZUR3Ja
ZUkqcXp9KDdDTXNKan00bAp6WHV8fkdSTDshRHl1QFBKbEVfTmlJe3hMVEVzbVhtZVVgKCVsWmJQ
eSVhKXQwZHgwbUtteWg/bHVafnwmZkxMSG4KekZuN3FlUzZwRz1VLVBgRmMrMilLS2F4QnVCP2Mh
cHtzVUowcjtvJithKzI3UjgkWVkydUJDQCQmfTlEMWUpQ2xfCno1MWlqdW17NHExJTJeSkUldk14
WSMjZyk1WVN3YyRxQk8weFJKVFFSODJuKUVoVXVCPnN+SmNmQCpYaTlsXlctcQp6V1NyKnlyOH0z
aGFKVEhlZGNXfkBuXyMhfUs8O1MkXno4LTUpJTxQamdVcH1qJDZ3PTVATXJ3X3Eyc1JzJWBpOXQK
ekt8bX4hMXluK0YyeT8oT0ctRSZ4NSYmc3s5NiVBRXVoMn11RzdKY1kyMVg5WDBWVjthNW9ReU4x
Q3wxTmZzNFdHCnp1dkQtWHV6OWZpYUorQ0thNnxCOUBHa0hfNUooWmM1eXFqaF5lNG17QnkqJkdX
QzclUzZlNSV1UjR9U1A+SXNAMQp6KzZ1WjZgWlJfZiN4JGw4PHw+djApKW4+fTlESk4yVHlmbFNK
VWhINntBMjx5Zis2VldxWjU1NkhYd2xeREpMfjEKekxuQ1Y/Y2MtQUVuNHlmTTV+RGgkRX5LJWJD
OE0zQU9RU2JzcGs+JSZ0WSEqalIkKER2U3p8M3teSkFDZXp+JEtCCnp0bUJJMXcmcj1wT1VpcjR4
NF8+Q1VDKitHUWlhbipheng5O254VzZMJjFYK2lCK3xrJSM8SCpFaXNWTlhaantLQwp6Qn47OCpn
VmVzTHdgaTx0QSEmMiNuQ2l5cHdka0tjWEVKPFlseDkzYGlma3JuP3JUeDtWJFhgditVOH1FJjRD
QFMKemVYdjhuNk9wcm5PUGQ+IXlTSy0qbSNCQkhGTlItYHw2IW0tJmBnTUM9dW50U198T31UaF9R
RUM/PzxFNXFXZmJOCno7KEZwMDZOVyRPQ04zc0JxfS0tUHImRTF0JXpVMnBte1hFI25vbSRMUUl1
Rj5TVm1SOHxFPk9lV1IrPFJaeWozdwp6UiUyYFByJmpCQi1jSTFoUDxNSy1RfiRGO2Z9IUopIU9A
Y08qaCVrY25fbzZfe3RFPzVkI2pTYElhfG0oVVY5c2QKemhSMClQPks4dytePV85UXBkS2dtdkdM
ZFZ8TDY5PF97YVhLfEpjOXRBTiVpdStDTGwmMTJwNX4zWD1AZTNiUEIlCno+QnhlOHokTV5TU1Rh
fmNYcFV3Y2p0WktNYDM4M251TFBlNGV9b3s1QENCTXQoTTdDQUIwdmc2VDA+U3ZaYWByfgp6TmtL
KH4mVllTMUdxZWVHNzQmV2xEVTViWkRhPnZ4Nnw2flkzK3lBRFV8ZStFRUllKyFaaFR8PmJBbVdS
Uj5EQ2QKelhKUT1VTWlPZ01ZfD1JfFM4X2A3cEFAZXN4aFhmUCh4fG0qJn1qeH1xdiV4V3ZGTHY+
PFM7cmgye0ZTbGtGdERXCnp3UE89dE1ffldPUU9Afj4lYW1KfmhsdUJ2Y2FnNyR6Z25PfnV1IU82
eEtVKEtiVmNrfDB7PERHcT04aGhiYi12Ywp6OTlXKTUhQlgqcVFpSmxVRHZ9elB4fW5CZiYwNEo7
OWRjY0x5IylRQSZvSz9QamdwTEtPb2AybSUrb0N2RW9yUm0KenQqZE42d2k8UmhfRShQVFA5LWtM
dTE7PX45I1dwKXklfko2ezdDKU4wIWYyJUxZUENWIT0lRn0tcT1SbXp4eG5MCno3NDxEZkVWbDIx
VWl7YHEtJGN9OyshWFE4Yjc9dXokVE5PcXgjVW9Nb3l0b3JGZjVgZ3o5e1cyJi1+ezFVQjYxOAp6
aE5LUnJlIXA/THh4S1paSikrYUJpPm45SmA/RWk1KDB5M2BDJmxRXl98IzwwYm4zNUhiSXVEZG1k
c1hjKjhEYTsKelpkTEJnPjtzMV4kQStpVD1OKkBLSHYpSXc1QjB5dC17VTBAX3dVc00wSEkxaih+
cFohUGlPUTFmUkYkSDVBamI9CnpjUjVjXzRffjNkI3lrTURJc1BMVHxDPDtkNjk1d0VAaTd6TzJP
dz5+RUI9QEEpQ09RN2czZHdiVT1URmBnOVFSKAp6ZnU0UTw2d3JJWEw2ZVdyQCl0RC0xYEc9YWtB
UjRUaX49Ujcjc3B3TVVAIzBVNyFMMEQxX34kJGBhYn1SMSYyKz0KekI/KnRDWEBObFBoUmdqYkp7
eXJucy1oaUZZeEowdz1ZQE0xNTs4c2tBclViaEpwJl5YR2NPOyVmU3sxRHcyWjhyCnp5bj4+Vnd2
TWl6Sn5adVdYPVZNPSNANWM+IV8mKiMkSmZ0NHtQbWxOeDl7RlpDVmMjcW4zU0NJSVdefk5aZUQm
dAp6Vk52bi0lQnQjYCtQZUNOaj9OIWwtOTVkMXtiUz0zbFQqXyh6aCtsZipWWj5TeDMraDdQZnBM
eUZEfGRIWipHNjwKejElakBuZjBjaHxfODtgWmc2YWhXM2sheHRfXmxUUiNzXytVdjAmay14WnRy
Ukg0IVlfYUh6Um9BPnZCS1hJSGMlCnooZVAqOzxHcFluTWFITSlVNzxWcXQ9Yj5XeyVlWWJ7WGYj
fFpeaXpsKkJvPnFmY2FDdkZ3anV+Z1B8aEAzb1h6WAp6XkxLJFI+Mzw2MUtNVjRvMCE/K0lwZ147
anwxM3tYQ0xreWVYayZRajdZenZrPjk0PjM+KnVFaHNEbmNKR3oqfFkKekJWSElSRmN1JklUdHFW
RndCfSlLYU9PbFowezxUITtIUkplSjtXSU8/Oyp6NmUtQU9ufDlnbHJAIXZ5PyReVjA1CnpNQX5L
N25wfFBpRCh+KiYyM01zaW51T2BrQnRAP0JRTWBMWjgwKSFKdDhoTERtM3BRIUNASHVkZFZYWFdP
bm1iNAp6P2RwSkI8N21NZDQzfmFQY2JgVnc1IUVfKWc4YTM5cm17ZlcxbXdjckRgKUdNcVFJNSRi
YHBBJSNRYDFzKlR1bWQKeiMrPUE9SFBgPX1NaCQrTmBoVEo2YG5+PnxEbyVVTiQtRHlfQ3l3KiE2
aykxVm1zQDslJEhuMlpAPDJXSVNtS1k2CnpjZDYwJTJhUG1KeWYlOUZVLS1PbFgtYWNpVHFoLUxN
UmV5PT5FbWYlVGReaTwhRF4ybipnRmYtT29YdzdQNmlBMwp6dTR5ZFJCcEJgVntzUTtMZDQkU2VF
czRoVnpfam9YdEAwfk4/YyNXWkVKV1FlQihEYTFeMGd0O1VYNj9eYz4tODYKelpPR3goQzZ7V3FH
YGllaUgtMiFfTSkxJHg1JU4hVXlTbDJPMyQ7VD1PeXF3byhvRHtgNmNuMnA8RF5HPzQhZDhGCnpv
MX02TDspLWxzITY0WHVNNGpsKSZKKSt7I2hJJmtuQ308aSs/UmozRTFzX1pPMSYja3Y7ciUta1dj
TmxhV14/dwp6cn1ncTZQUl5LMFFgPD5MJjdgYmdEZGd0XnhFeF4+PE5idmglMStYaXVuZ3ZpPW96
blhkZCpLZjZ0YE5eMmo0T20KekI7UXV+bGNXP3JIbzY7USl9SXBDOVokZjUreEAlY1NYc1pMdTh6
UDNSO3g5fkV3YWlfa2RvRVhqamBUaCVWUnROCnomNWVZITFvQGFtXlpKVUQ/MDBiaTE/ISh6V3xP
PGpEMylxfEB6R2IhYFlHRV5WSXI9enRYKnVAREclSG8ka3klPgp6QFIqUUdPZT42ZT9wKGQhTiFg
QzdxYkZJbUdEfm9EVTVKfmleSUopbm01Y0QyOWhlfH5ibWBoT1h3dHRNZGFpITIKeitCJWZeUmpY
NG9AMThNbHlIb35WKnYoS191Ql8xM0ZqfX1na3c/LTQ+QmJ9PWNESikzV0JDYVhGMlNvRitgXlBP
Cnp3VU97cismTUJsX0kxIXBPTTNyOzsoUnBwMGJiUjh5b2dhejRTbVF5Yl5BV1g4anA2MyZVMihC
bkJyYnp7Tjk5Twp6IyoyY3pNXzJ2RXgpRXktTCspS2ghSzZBKGpYZDlPXj5LQ1VZdmtgdVMyRWxt
SXtPSkpWPHBraiFeR3NOVFlla3wKemJxITVObCtyZ1FaaGgqQk5LbkNkJF8tV0hgdUorOUhFNVpm
XlQkaTQ8JS1DJiRXe1RiMFE8KD5uJGE3dFl0fD0jCnpBcChETEN5O0crcCYzMFhrYFhlRkBmbiNo
Qy1sRjFOSVhzZCpOaD4mdCMyOXFwKEpoTS1lU2RzZ2hwcXdeZEpSWgp6Z3hxQFJecjluN2shSE5p
KGc7Zl8rSFglJCoyajcyYkRwcXY7ZjtBKHUpTHpJcFZZbkdGPX1jcXVgeipyenMpRHYKenQje0FP
PHM5TVk9N19ZXnhJc09FJFFTLXc/Sm9eZiVtZ093bk5HTCYkN3w+OS1nVzNAeUVxfGA5Qyg9Kj1H
VFNJCnpeMDU3UWtCeW96KyU4WD1we2lefmVzQko+ezdfVXIjNVh+YU9KRHZKZyhwaVk5OE09NDl5
JStqbzFCP2ZuWEcwRQp6UnhRO3RQQiN7KE1qUTk8JFpxKWNEa2lAJHVwNi0pMVRTcHtWSEYxfEFH
M2UoVWZBT3d5aGdCTStZLWwrZW0jUD4Keikkc05KVkl7PX1qbDFKPXwwS2ZvOGBGcWNsUUw/TTVG
fGJubkcrciVZYzs4cnExIWh0YiNnMituam9SXlplZTtrCnpDPW5mfXo0Sk98VjlSQ1RlI0NSKVFS
MkYwZU5DbjZkeGZkXlg/M1N0YGVfJH1zUTIxYjxJJFRaZkI/T2s8Qn1rWAp6OW5XUmBMeis9b2pe
R0JgTlJuSGQrcjlZTCp5PlgheW1qLXNDNHViN1NvJCkzNWZ9VihoZiYraW1xezRgV1l5T3AKemE5
VUEkZ3A0PDMofU5HWjVUZmg0X3RaUDF6MWZMTHU5RTltciY5PFduTmRoWlE2VlZUaTU7ZSk2XjE2
eyRwOSpCCnpoJDdlMCo4cDtzcVUjRW1HIXgtSHBNQGxhbnpnJXVNeGlHbGJiNk9tSWM/PzRsJklg
fGhYfS1idVEraERBIU1xdAp6PG09ayRKZX5APDFGfiolZlp6Nnx4YU8zbktuNEJrNDFUU2N5akdA
fWl+cDl4T2ZNPyh3X1h9cF41dHBITWVMZXsKem10SjRpLWVxNnszaXM7UWBlIUAwKUhWbzhBaj56
Zm5VWn1GKSRtUzM2JHlWRHJpPUxaNH15M1ZjK0V7PE91NntECnpPQzRse0xEeHQ4I3VOM28pZG0r
UE5WSmk8SF56Y0wrelUpJShZWHVHI24yclZubW8jJDAyak1re0gmOXA0NztxKQp6PiozeEhaYH5v
OTZXSGl6WmUpOGRyZVc1aj1nUXF1bHl8KUdIPD13Mkx6WiNuTFhaRygrPmc+cXl6blVKRyk/ZFEK
emk0e240PUJpJnhGPlh0UlFsbm50WjBrZUF4c1pQbmlpMlA3OEM/dzdDdiR1YVNCJENSKCZJKSll
Yl9zX241P149Cno5VyVreTBKMzx5ZVBkRW9iY0MkMDElYHBQdn5FUGJYZyNGRlpJaDE5V2ZVSGJp
WU9GYGFXMGx+NjJzcmhPdGlmIwp6QjR9YG5MPTQ2ZzRya2ZQQ0kyWDFhYjF3VGVKaHN0clkhZGd5
QSEhJjhTIUp0aU15WThlR2xMQXhxaCVfbSo5VDYKek1eVHRQY1M3fVNXNmlDWmRmTiV0cDxyRjF0
fDZQY0woTyVjQDlnV0JYWEBgK0o+SjdRNGx6PEohWS01Zzd6ZCNSCnpjJjhRSC04U2JlP297VWVV
fjk3eVlBMklDcj5XeVI7cXckSEl9dEJpM0NPUD5Dc1hRcyNtV3QxYDJqO2lTbH16Vgp6ZTU9eChE
ZENBYVN3IzYtbiZMek9keVZudnhsJipHLWUjdSE+Z3M4dk42aHkyTlgyJSFRNzFZM1NmSGpPZEVj
Y20KemI0MlF8a3QzUUJpZXRKRkRWOEcwd2o7Zz5NKVgld0llZEdLMEtTS3l6M2VreHJoYVU8KUpv
e0hyczNVeDwkKXZkCnpmOVZFQzFWamJjJktpQnpxU1p7WUJWK2A4WHZkdUJ5bT13ZW95OXNhdnNJ
dGFiRSVXWEotczFqOCFvOXUmKEdhJQp6KWpXTTxWaCtRNjlKMzReUStMVkEtPHEyI1NEdHNZeXwj
bzVEdG9PRjQqOTBFKERmZT02O0gwRlpodSp0Rk1rNVMKelcxWl9XdiR4fjkyUnFoUm1EfER5Vm5W
bjItM14lczdeYHpoLU5gb0FGUzUzX155KFpmO31iTnopPUJsaD8xdGNvCnoyOSQ2Kkdgay0+VzBx
PmBmUD9jVmxfUis1NzMmSVk7clArP0o+d0clKHx2K2pST0BucHI9UzNkbV5+bEdtblZRdAp6MF9S
KmZeN1FEOXNoQiM2RSU/Qj5iKyQkQF81ZVlUNEJPYVdGKlgxbVI9O3ExLWtmV35FeWVkbXAtOHZW
LWhIIykKeiRseSk3OSkzUH5ZMmw9dj9iKkAwTWVkZWt3SyghVDMtamR0UXp0SiFSUXFARSVBXyNy
MSRidzJCYDQhT3t0PGVeCnolMSVQKUFyckZBSndnPHNwVnZMX25yYCpTcDghbnJHZiZLUW4yTnpT
dU1TQ0E7LSo+e1BFMTJSOWhVZms7NjVSRwp6b2A+JGt4Mz5YN0VHTEtKQlJyeilSPnU8I08xJCZo
aWd0VSYpMUo0UGV3ez9sPXJ2Zm5NWEV3MzF3a1FiSEI3c3YKeiVxUlI2QHh9SkYkOz58MSM0bk1+
K35wPUl2RyhPeUc2NUleMEVQNzlkfWZIREE8RyRaYitLLTsqbU01N1RBITstCnpPU04+JGRoXm56
KDZpfigrc3RMaWtCXj96JDFmWSVVJj5OPF8lTmBTXnUzP1NZPzI2e2FHVVRySj9FYiRLITdmPAp6
STFpS2IpbilmJENIPWF1PHchQjVjXnNKfm0hc1ZnTVBuWm1jaHtkVTFlVn1lPTxwcGpAWGcoNCR9
ZD8pQGVDQkwKeiokVlRDdDUtQFd1eHc+Z3V5OH49RTVpdVQlR2xKK3p7e18pajBLYkkzRmxYQHl2
dig8UFROJURVN0h8N2h6JCNOCnp6PE1+eWItb2F0TW1TLTNsJXNuQkFPQHt6YGdeMVNrJEV2SXg0
c1EjRDR6XihAJmc2WEg4VihmejkxY2JHPmE0dQp6SXVVcHE/S20zfjhON2VTWUZXcnw5ZVJGJkhf
KUVEc31HQTxtZlBPTCR7IW12JXJhfHFuQz8mZikkOSNMUikheksKej4hYkRkNDI0emwmI1dQODV7
NUozOWVScjRabWJDeiVORnVHTHRiOG4kXio3X2UoKnNFNENsRylOJGRUSiZiPn4mCnpXI1lwITBs
cyk5TDwrJkJoPSlpPVd8RHpBUHJ3SzklcVBHTTtSJW8+ekZEfk4pcDxOMXMrZDEhJHZZQUY1bzdl
RAp6WDIqdUV0aCRNLT02c2ZEVHwzJX1peFFuMWdMSmJjaWgwRDwqQVlWVXJpM0ZuPVBrMys5c2du
QFA1WXBKUmhMRXkKem52UDNJcyQ3c3RyZ3cjLSVsKjc4U0xkWno4bmg+ajZ0NWdNc3Jjd1R7ZVB3
PUcrXnU3PUdjWXQ2dVp2X1V9enMwCnpqRmh6QVM0THlGZHppIX5mJjQpMFBOaSVmUWtkfH4temdl
TjgkeHtNMHxMQ3VTIU0wSWpmPkk9T0omeD80SnRETwp6P3JMezhmfDRVayN9dyhvamh0V3JwQkFL
JlElfH5uV3JKSjU2c1YlMUFWaTc8VThqUU0/bW93b297UG1qMGpCajAKek5yVmh2RHFLaTxMdU8h
fjBPbiNaUW5GRmM7cylwS2F9Zj5IeS1XfG8/e1cjKnY5aFM4b1JadTI4SWttSCVDPndjCnpWNncz
fkNlTlYoSXNhXnhWfGhZS2NqM3Z+YWlXMUMwd1U4TEBkbFQjdC00cDxGQWEocHIrayFwYUVmaCpZ
Kjg8Tgp6YExAM0VWdEooZ0hma3RjIV5hd2dZWHpOVzF8I0l2d1d3SW5VY0hjMiFCXyRHYWxDfl9t
fS10NkFzJTVoOEBMKFkKeiR1aElJJmRWQUA7TUhhWF5xRGlWTDYkZV4kbWNONiozKk9SNWdNeEIq
WXhxKTFgKU1NM0A2VERVT1JMcT1ARUNPCnpVdjY0Kl90JS1QbFR0S3l0Vk1nbHg0ZVIma01jZGhF
YV5va20md2lJeS0lc3xnVEJCUVpMYEVUdDkmQlRjSmZ0bAp6QjF0T2lPQSQjV3NXO2UjP3s0VzBR
N2lecihvX2FfbGxnYGlaZjtUfWk7PStBSEhBZGwmbDBVdFVCTyFHUUwrUVAKek9gNnJNYUZwJlN6
SFlMUEJ3STNGJj83eT14MSg1eHZGdWNxY0x9fl5SeHhlWCk8U3YrYj0wbEsxQ14hbFZ0d1clCnph
c30tN1dnPSFqUGY5RmAkNy12aF5iWndmYXJOYGZhVyFSdXxKQFB0MWtFQ19ZJVAlbmRXSW5GQzdW
Knp7PEtiQQp6OWk4QSE9NlV6ayk4YjFubWRRSUlMUnlidVNCRC14diR6KEMyXyQ/TXlaaSFETiVT
a0lPQzJuPUFnQF9fM1luPngKel94clJgei0mQ01yOGRPYWxIb2pYWG1pJHJeTShpY00wLU9+eWJM
bjdmMHZ4cXg5bVU3U0x7MmA7bT5HVXluQ3RGCnpyU0dReSp+ZTBGX14wQ0RmbXowRVc+a31JWC1x
P1RNU3kycl93P3NQeEFjZEoqI2QtI20tVEpNeHJxUl95OD54Swp6ej1Pa3ZUUUg7OHc8Plk+a2Vu
eEFKdVU+SnQ7R0sjYzttTTlSUXk2YzxfVztxb01ieU1hajRJQ2NyUWIzZnhebD4Kekk0NVVQKEpx
RHZ0NiMzYTtrUnluMSE7VWxfMSNuX3hPU1lpPVNHK35afml2eVBlZClUeVdVZXJWKVQlMDNQQyl7
CnpHdyM3KlcjXih9RDBSeDhEPklyZHpEWHlRP2NfYzdxJWxNRFBEKkg5ekJKOHIrdmkoZkI1WSF6
aCFvfGxVXkpeVAp6UWZ8Ul9fTTs0SW1EX2ZoYSRxb2RSbkQ4MUdFTXQ+NSFoOGFHdD5XM3IoVXxA
d0xOPGtidklSVkIwcGpeYDRCNmQKenNMcHIySnU8alBCQmkzekA/MSklb0dWTj9JKUdUfDBgaCo1
MjtXRWcyZmhMPDBXNGJeOE5UKnRPV2V9Wm9+YlNfCnomYWZNKjMpS0B+dHE5cWFwdCgkN1dedHhL
LSN4UnU1O3FXQUgqWn5hYyE3YVh6cXpATlZMTDVSXmFPcGV2fHQ0VAp6Y2I2UH15Nmo+fFZ2YEh8
ZHhzam5aUTdCWHViNWw9RjItOHMmalMrdVpgMD9FUEw/VmtsJHxfWmpsUX5YenRWMGUKeiZ1UElB
Py1iUyV7bXo+azU+JDV8MFQ7d35ZX0VfcjNofHRnPmszO3xEMV50Oyk3XyViZ0gzJjQ+NU5gMlcz
P1B1CnpLU0VsN0Z3dT1xdklQLSpLNTRRQG1oJHpBR1EpTXVPYnVCZHpVIUo9VUYpcFBEdGhzYlJ6
cGw5M31lTWlXTkJ0QAp6UzE7azBhbTs4eCpDRUNXdjM1djd3Vi1OdW53Syo9PldBTD9abnMzZkd4
S2RVNCV9X2BIUVQ4cHtGYmRKVjI7U3UKeiNBc3ojZDtqUFBhKmRHQ3dTcHA7NjdAZCFRJkQ/MnJm
WjFzT3ptaEBxYSRKMk4xRSVqUDA9Nitgd2oyOy1iamgpCnp3VWc1SzdsY3tmP0BFck9iWUJzK2xm
Xm9tX05qNFFmNDs7aUFxLVVPSSk7ZlUyRWdCendXZCZaJDEqUSQzM2Zlbgp6KXwocVg5d3xJS0gp
VFAzdjBPODtvKnx3KHJAZHFMPUMmKl5EWlleSFZVWWowT1NxMV5BenkmOHVUUyg4UFd6O0oKekY+
UklKTHxkdmM+ezB+byljR31Be1Rrfk0zcyRVdGpYJn5EUypTPC07fHF9dF4qdGtFZTI4RTZ1STRV
MkJAWks0Cno5fSZAVzNyQ2xqaFUzbXQoZG8lQDBrN3tmUkBhZjx4bUU2cz91JEVsSXBhMDhPNEl0
fG47Q2ZXQiY8T0tCfEdCfAp6NjBQO0s4SHV2NGchbns2TUMzV3VVTHN8TFJYK1lraUQ0VX0/VCtf
RCZpO2Y7NzQ2I3x6MiQtUChmN3E2IzVhTXUKek47PUhLP3kyNnBVJmhiT0Noc3o/RjVqVGJHTyNf
S3chWldIZTE2bGtKYXs+bGA1ezVrXmlLVnBaJjwlKld8d3BLCnpyMXtNKXFZVyR8JS1RMzNQRipL
dnNnUn52ZT4hWjZ6YlY4dUojIWElZj9Ib0xTfiNJUyhWRyg7KzMxd053RDFKPAp6UjUhJlApcT45
aWFyPkZ7Xj5iOStpc3QzPnlDYWw4cXRDUTs4e2N9b05fQT58JjhPKTRsQi1RKFJ3UW0rcVBxZGIK
ejN9SUdrZk9aPFl1P1E4SmYmPG5FSG4xKGNTRSNIfE08ZG1KNHBPam8hfklvSFZ+Um9rMnwjPS0k
U0dEWGxBI2crCnpfRXA8ejIjOSkjZGR2KWtqfnl5Y1dEPUN+Wk5JQXdwN05xVFBkbWFuSnFfQjZo
VW1abD1FKyhBeF5NOzNYVWk5MAp6dylvbip0WkxWPHNzYVo+VlclREJKdHVHWnNyazV+ejdFNUQw
SzFtR0VTO21TPWQ9WD41I19ie2ZebnQpeUVlXzYKel53aXlobVlaQU17JG4pZjdqeEdFXjBqdzB7
YWFIaXQhSEpnV3VsIzhxJWRSJkRlfXgwdWFuZyk1fGB0eD9KJD1NCnpSY3orNXBMSk9kdD8/cUBV
KjwrJWAxRFhucm4wa3FYKjhUU2skVkRjcUkrTHgpNDs5MkE7cFFrOTx0SUd1eyVMQQp6OH4/bmRq
KD1QZz90bVpOKlJ+VEtBQVYlS0ZqWmY/Jl9BeH4rTWI+OzJSdXtVPmotN1p1WDFoR2VfaG1mcnxT
MW4Kelg7SUlvV2lDSlpLITcycmYmND1fZHZRUiMoZDYyI1ViUj9FZjdTazJoayo7S0JCZyh2K3M8
T01HZzQwZGR6KTlDCnotRH1MOSo/OD8jKXN7VFElI0pFNSt9fUMxTTZqbHN6R3t4NjY+KWI5ezBR
PTZ4d3dSPVBFJXx9dk09TEgjTm1aTAp6R25YVm5DQGl6YztnNUtDKjNhIT1zWDAhKjVkOTVwNnoz
PHB6RjE0NUJyQWtnVnwxPis/Vk80KlpvX2JYcVJlQ3wKekVZS3JsZyhaYHoqNFM+VyM9M1Q3ZnVX
PSlCVzcxdlVeO2JrVDVgJUhFSl9HSS1+KF8hV0U5dVlGI21aX0RkcTdqCnpIaVVLQiooX3oxUX1F
c0R4NXx4bD9+dCNEbkw1Xm5wUDFWX2F2RSVBVz0pR01OQHV6WGNQZCRybUFGZnI8NlB4Ngp6PFgh
I3MtVU4wbiZqaE5rSTgzSV9Ed3E8QEFSUm5VREdlOXdyRjMxWnBwWlR8LShHKiZUSWtDWVdzJExC
Sm52Xk8Keil2dWkyJGFeT3VDU2N8ZmZ8SWdMUFZDKTBKX0Y0Xy1xOCZJP304dFJyP0U0JFMmOXgq
TjQqeCMkflg+bXdqO3pSCnpBajlVdERFQElFdXpudzc8MXs4WCV7TkBSWDM4X3wzLXxGJGxFUFVj
RzRIeD1gTU88fXZ2R31NPWpzQWBBNEI4Iwp6PS1JKkpCWD9YKj19eWFYTGkwenlVKT9obEJgK191
Vz0mNlRqO2BuTG1tO2BLbSlQP2NQcCpPd1QyVjt6QFAwfEkKekFnSyFvZlB5fClKLSkwbEtraU4+
VjI1eCQwWiEyOEdSeWklbWd4OXdHcyNMeld5IVVBN2t9eW17fjJHQXhhI2IzCnpWU28+ZmsxPnBQ
MWNqUkwpSVBzPVFZWmQjWnBkTEYhZFZIZUdvamRaKzNgJGRpaGwofWMyPzY0cUdONlBubmdSMgp6
SWRaM2o9YUEwWTM7aXV+OClsSD9JPFg/QUIxdn5BKWtHMTZXQFAodU13WFg0K1JrKlR2ZENQUHlJ
VnAoZkJJVCUKelA2UDJ7VWd1T1NePXRkRys+YlpCIUR4bypnX0RUX08ocmRDVE13cHY/MmhIN0ZK
KWJJS2I0cnI0MisqckhAKCtrCno+PEluKCk2R29rSS0rME1NOUYwRHUwRXhLKUslSng7O3NNamRx
LSFocSlRZSk0N1RxQmpMKmJSeU14V2UrSUckJQp6OHxlZFJ0bU0+ciRkU1dya2pERWYzOCY4MHVY
P1c/M2NsKHlZNHtSfVYpJD5HWCpHUU8zV3NvKVEhSlhHO0okQ1AKej50UU5XRj96Pz97cm9qU017
SWBqb1dVQCRXYy1aQmVNI1lRQCgrc0BoREkoIXpPbmdZQW4meX5IJV59KkwtdmxUCnprKnEwKGFG
KyMzNF5+N25ZdGwmMldXeiEqTFN9VHlNWEdhKj58eTBUI0BramI/UVhmJXshNzlHangzVFgtV1Bm
Ygp6YWI2MzxJdTkje1hqYSFGb3ZwdVdDMSY7Qk0/SWgwMW4wVV90ZHJDPjJNKj1nQ3F2KF5nRCl5
ais/WTQyU3I+fmQKentzdUx+RnA8YlJCaVlGKzIrNmU8YCZVcC16M05BfjtCJEEzcmREMGlAT2tz
Oy01WVhDYV4/WXNxX3c9cWFXcVJkCnp5IS1SSnkhQCR2Z1ZWfiplbUJoQHFoXmdzRihHRkQ7I0wh
cTFSTlI1U1UwKk9jLXVAS21pWUROdCgtOWB5WVNGMAp6QFIyeXByUD1DMClzK0tqXihuTTRZMVYh
RCEmelJvWDFgZkUxVCE9THk/eDVNK0tQelRPQn5kflNFZDRfdV9BRzkKeld9alp4RmBzaH58OHor
RndLSEEyOU9UWDJFTF5vQj9CMEJGTG1AQ1Z7UEY4aGFnUHJ4PCtzV2hZY0RkVGs3NHJUCnpNVkRu
RWMtTC1LQl42PytKY2glOzhYeXNwaE80IUBgO3d3LVlYPzg0QjlvdztnKXlObHV0emolaUQmIXo3
VD0xRgp6bFdkaXJteXcxT0RmUk8/MiRqZDdVa1IxMjk0X2QqZTZIKH1PeFVFb3dhVjtWYVczbCNO
T0JHYyFmQCVZRD9YYn4Kem4/SXZ0NX1WUEsjZUkrV0pUYVYhPlF5Z0k3fVA2RSMhbyNjcyUoOFcj
KlNwWG9GME9DYnkzYi17ITZrQHcxbj1wCnpSJUg+SzV8ZnprLVotOVhDSlMkWVg0alhFbWdFQSVD
IW53PE0ha0dLYjh6Q0wqPmpffkMzUngyPCE+WTgzLS0zYgp6PExsWHR1aUw0Sjc9UEhEbXpyVTJv
N3UrUU4lY3dpMTd9JEJPWFJKWng2PipHKX1DSSZjP3Fga0MtaTlxU2R+ZzQKekdvfShla3BwUjZE
IXlVIXB4dUs8eWd0cTYhWjlmZ1c1VWhROUt+WT11RXU7SHV7OzJSKXFGeihDUjAtdnlWRTBVCnpE
ZSFYPCVwOX40QmpvQyg4N3RIQGRRbmsqIVk1V2s/V31kVXUkVl5KJlI4TlpKI2p1ejIlJE0hNXJU
Q1dETFVzWAp6RjsmbXM8Kn09VUB2WWJIJT1maTs2cHZgdVlSe2N5amspLXdQQWgzcDBYe3ErcVJh
Pz1yNTRTZ2QjV0FmQD9EPlEKek9LKVBNVDIpdn5pVyhrWXZSXzw2ZGYjRWhDZHxtcjVHbU9LcUc/
KzIrJVckJC1ufnBIekJMN249U2FuNnNqfSM0Cno8VjJrOFdGRD0mOWdGI0x4X1BoLVFKSH0jTVg2
R1ZGVUBOazFQYGw2WDxwRVB6V21CaSRRfUwoQGd7JEw8OyNiQwp6UCkmbEUmWldmLWA5Jj9sdEYm
K3JaLWx+X2tScGsoWVYle35qfSo3I3RPZWlfQyEle2VKRWdBJGUwKC1lVVckLVoKemY0PW9ESTxK
PSFLTH5EM15OTDdmMipZaFF4e0tQaUtYQ3NWNSRmQmxhOFREQS19aFhOfDBQQWVsPUsyZ3MwVXAz
CnpRZVRiKmB2Zm5+cSlZeUR0eU84X0UhYDtsOHxecSZvZEFOV2JxP1EqczNlSXVVYl45NWQoSVNA
X0Y+fD5ZZkk5PAp6TEFSSHtgcUZQfkNkLW5mdmF2Y1ZFTUw5WjhMNGswenUxMlE0NmlHSCV4K3pO
ZjshZjw2NUdjJDl1SFIoVUZUJTIKeiFzblN0ejlUO3hffGdATmFFZ3I5LWhIV1hCZmd4WXg/OExa
NCFZQ2RCUFZsOUxTVEctb1lHc0JlPjdhWjxHfE9QCno+PWs2WHBtc2tVVDhYTWdFTGhBWVdWR3hy
OyhyanI7OWBfMXQ3KHdSQHlAZD43PkU3fnxDYWoyaHFeZ2RufTxCbgp6TT09Y2hJbW9zI0tZYzg5
WU1HUmhXJnJRdT1Ob1N0NDgxcTxOPiM+SXdkISl2Tlk0NGllLV9TI0pkSXlHQy1DUksKempsQjd8
PlhyUGY9fj1SKkR8P29uPW81ZlZSPEpZTWteIU48RjM4S0JiIXdoLXQrXyZ9NGBwIWwyclA5KXll
bUtgCnpkfmk2Jno7V01FYG9paS0oQ09RblFGNzl7Nyk7WW5JN3lfXyhSV21RPDhtOStHbEI9NnBY
PDM9KjloWHQrJVJhVQp6JlU7S05HYDRHYTxzJHJSJj1GflFFdH45SEN1eyltQW1vUjJiY2kqRDRR
dTx1Q3JeJnpJbWtUZjZPZ0FKV043KFYKemg4TnVRMWlaMTxHKkhJVHliIyltRHEkfSQlRHJDdWFt
JDtPR2ooZkxYKmZ1YVV5cCo1ZSV+R25kfSNhTnVDT0s4CnozI3N1OChpPUEoSkUoVFJVeDFyPEEk
dml6aSV9O15lMThNVTU9WHFRK2ByPCFSeXVoQ2R8VkEzTEB6Jn1IZWcoWgp6Jk8teDxGO1NzYWA7
PFZSMnsmekxKbDRkODFHP3x9enJAT3hLSGFjVzQ8czUmNz0mRlZMNTk0WjBFd29uMTBSKmcKekBk
fmJkKGUyXnV6S2NUJUVIbU5ta2ppQH1seTU1PSN0fUVxdS1WNWolRiUpcE8/Nmt9LWRfMCtIeyV4
LWpHIzRICno9dz1TMEU7Wj9tQWQ4Un1XSz5AVTI2Wkk1NEdUOG0zS2EpKG5AcjF9ezw8LSQ4MFp2
UTVYUV9QeitzWDF5ej89Rwp6K3pYdk8wZGU+SW9ANkVrd1c+OGYoV2IxUGBuIUR4O2t9cFFsTzZp
ZzxhOXFScnFBb289UiNyQVEhPylvQWtzSS0KektfIzJwZm1HIzZyIStzUHhlanxSbFNGdkY2bXpR
c25RbXNvPDU1eGVDSyExUSl4JDMkdz1HOTRtOzBEcHVIK0U1CnpedysqcyN2VDRCU1pIeWNJV2l2
Vyh3MWtmc0c2RWhQbXJmQXokJFhkOHVJdCklKjVPISRDYHtYRStZMXQ5YE85NAp6RmdHVHZkOU9V
YTVRNXg/akJEYD5KUXJ5PTJnLVFDWF5gXmJ4SXZBNT97PEdHdTZPMGZzOzwzcmBxIWBHcD5lQSUK
ekY+THF6ZGsmKG0zakdpX0RxVGMkemdaKyZhOWxeSj8+b3YjRTg4M04hVyN0MjFtV3I3aXxxezNz
bGAqb15NTXtWCnp3KGtlOFFYYVBETVNAR185eTBUUzxPRXs1PmJ1Yz5TLVQzQHRyQEVsc3owZztg
LXYyXiNGIzc/Z0BZcHNxI0R3Qgp6OCFEUThkN0t3I2NvKXp2bXFKNns2TlpAV1h3OFMzMmoxJDYo
T3VlT3JyV3ImKz1RRmFYJEYqRCp8VChnJHM0TDcKel8janJAan1aR3pfdFAhSy1pfDNuO2tBKT08
JUQ3WEIwLSg+bmNTYCpxZExqXkhkcjVzUGpSeENVZW5ydXNRWDtJCnpmNzErNCUwY18lJF42b1hD
eENkSEVmRDJwYGw3S1MpQT0oQG80dm1CLUFHdFZCaXw2WT5QOzRmejYtYWVOMms7bwp6Zk59T0s7
N3k4YiRPcn4mTCZ4Xmo8OTQyVVU4fCV+KGFQTXgzdzNlJFNpIWZ3Ji07ZXV6djBFUG4jd0BuZWYl
OHoKekdFRUFJOSQyUC1aMV5AMURqNzZQJSlXbGF6ckZSayp8JDVgPT9mNVMqNHhWUE9fbi1VdyYh
O14ja3VSOTJwV0dfCnoqJDxjfEZ4YEFjOFF2PzNyUT53Wm1tP0Z7WmVPWXtBO2J6RjFYe3p9MWcl
eHsmPXhvPDRGfT1rT1hOOGtVMyhiVAp6M283ZXQ/JEtpZ1NNT0l5cW9VTGhQSH1CI1ZRZ3E9QWJn
Jj9DTyRjS0V+azB0UHN0dlZSWCEmQElgYTBRbiNoVSQKenJCe0lkKiRaek57eHhVc1J9KGhqPX5M
QmE3MzA+RVREJCNCcUIrTyR0JWJYWTJzM01gbXYjUE17NkRgRHZ+VT9kCnphPER6PktZcyM1Ynt2
K1puR2MhS01sNlNnLUY5VDUmeHdyd1JiYHtaVSRqb3VaP0ZCc1hDfmM3QEhUWXtuQjZAJAp6T1Em
TUlNUX5KMiRWZSRtODRKRWdDZEpEXjFNc3s7TE90Xk9SV3ltdDZJciYpJWQ8NTVRZ2kmWnFJUX5C
TSU7PnwKem5wTk13JHZrX1drYDVxZkljej13U2JKI1lfRzYxQDh5RT9nMGRtYX07c3R2fktsNnEh
WDc8YHdub0Z5SFFEfDtvCnpLMm5edHpFIWZqYSY2dWZYfGZTYXFJTnJOYUdmKXZtfTs4Nj9LbzB4
Mm9SWVcpYXYjXyRSPkx5KjFxcjFvbGB4QAp6ST5ufG5xbHxHdkpJYllKN0ZnNjxVVXg0JCNvPzUm
V1RIRGtqUTJ4O1ZaQmNDVmFsQXBBPTRHezAjZXA5SEVAIWAKej81Z3dkI29rU0cpM0Rudkxfbjgp
TTBmTztWYyYtQ2oqZmMpeUtTQE14eEBIWkdxK3RzRXZHODloZjlXQXkrbGkyCnpaUVpkWnNyWDtO
N0xEZlNMeEl8YzVQQ1ZXeyRwdjZaNGM4LWlaSiU4O00tazMhYmU9JSRHVVJUK1NnfX05cHZLKAp6
dmkpTCozSE9HQVppMi1JZShxRD1IYU54dGtyJG1Ye0tAdTlPPlRFbjZkZVdFIU1SQE5jLXhEN1ZM
Y3RoOGxNa1MKejlyblZzN0JSRCFkaTAhZ25QVlNAO2U1cTJ0QCtEKnlYOXpZMD42X05OSzghUStr
SVNocE0zKUt4XmZHd1c+clBaCnpuJHJ8LXllbHI3Qz14cX45dkFxMDg0QSkmZihXKkBodFI7dlhZ
OzFSdHFzenI7TCNNSFRqWWJDYDBqWT45PlVwVAp6UEdCRVN5bEwoSEJ1aUsrbmczTGowUDZgVE51
ezVvNCNJSFRjZ0p1dWptWmc9TzxLWlZxPF5PMiUzKXkmWSZ8JHkKeih6eXpNVSZvb3p8MXhVJkRF
O0dDZ3JAJGlgSWdtSClEKntMYVBpM0MyflJtJCt2Y1ltRjR5VllxeSpFcmIwMVVyCnphbEk9ezZS
QkdLRzFkeWZ7c3pvYGAzZ0x+eitidWMwdTZZeDN3OC05KTgxQ0t2PytBM1hQPnFTcDgjTDt0Pzln
Zwp6QD5pPVVDY3pVIW18VXZsdS1fe0JyMk5nVnZ9ZDNUfEtyO2dhbmJmSWlUWkB+dmlxezVNfXEw
YGtmZWVZUVQyQTsKenJoPT17dERPKztva3pPeVhfdChNM3RVWXomcD5taT8rTl5lMU1+IWFfaCYw
bUtrb0B9XmJObEtmIWcjelAmNHx6CnomQnw+cnpOZ3QhQyYmLUY/S1N7YkN3WV5CcEZnR3QtUndY
MCZtNT5ASDlucVBGKHY2KnkxZnZXeSQ7V1BYbnBxYwp6LXB6c04yfmQzSDIpU0hDYWRZT1VxTz45
VDFid1N3byRvNS1wMGRHWTxWYGdQYSFLRjFuZG5GTVJXOTZlQUVzd08Kem47eCoxZFY+XipRPE9W
YHdqU1J4K0RIUlI2NEROaiYzcUhXWGhVU30qaChaeT1YRTRzbzchK3NiUT9wZUQ9SElJCnpQNE9u
KGlBO0RwY2tXdDFKcX57TElsV2skMipTP0RwMyY1OystSFl5eEdIO2pfcnx5YVpCdlYpYj9AN3Rp
KGckOwp6Km91ZF5ZaUJ6cV5sMitZezxGSXorYV54KlZYX0dWWSlOfEJBNno5S1daWDxZOT5AeXo8
KWB8OyZ6PH55P2l9VE4Kejh9WlJEZkp2TFNmPDswNUBNd0dIZTZ3bVY+WD5ZXz94IUEzZzQyZll0
K3hjez9YZzFAV0gwP0tAeVRafFJBbkZjCnpOU0NTRU0qI2B1OT9lVUdfdjBvY2Zfdk5kanJCVUhY
dWx9cF9faClSVyYlfGI1fkxvbzNEYSR1KktLeXU2KEVMXwp6V2orUDcrRDlCe2hoaWJmcnxRXldX
a1gxSkswRjVASm1nQUBNP1BBd2lLZ2I4ckF+ZTJKTTYyTXp2cCZkQD9ONGoKemF2eE4yQlEmVTw5
aHVrXl47YEx4V2sxQiQwUWJHfHJMV3M0OyQ3Y0NeZzQ4cD9KY0NaYFYwTTFtbnIkM1h1OVlxCno+
JGwje1Bzel5HQXlFSCRXM0pAK2V6fHAzZ0s5I0AyM1ppMXxNWFVqa0BTJUxFWiVtV3U4cT8+NnN+
PUVePnZtUAp6KTE5fG5PSShIeHY1bVBtMnp2XjBlOUV3QU1rPmtwYCZ0R3crPz4wSjx4fHNiKGAt
Vzw5ZGNxY0J5cFJyRVpIXjMKeiE3PWN0QDZJeEJaUmRsZlZiWk51Q3Z4X0dCM1R3bjd0YUowUS1h
TSlEYExJSGdAWjczRll1SSpRV3ZlaF8qbkBOCnpMOE0xe281al98eVFtZlAze0xxTyV+SHNse0JA
RkFVfXtaV29ITnZmNDclR2hpfjFtPSshXlNEbTRTU3NycFFkKQp6YHN6Qkw0ODQ2VzdNX2I7JlAr
cGgmM1JYekAzdnkySUpgVHxlIWpaQmx6a3xIPzl7dVc+YlowcmBeKFZxeUlyczUKelN6ezhiKEh3
biEkcGBQfip0ZVBYQ3hVNWp4UEZuQGomPGN1QiMhSWJVRnFBfEh7M1UtcEw2TiNuVCNgeSVIb35U
Cnp1Z0g/QUF1eDxWcjFPe04mM25NK1MxekF8dEVYU0x5PlFkTV50RT9TSkhUQzlTMUJNWT42X1VK
PFh4VXNfJWZ5egp6ZzJeJitxM3F7V2pxK35PQik0fjFaMU8kamJuZjtQaik1JW91K0M+ZnRnMDxT
IXUmbCRDSHRmcSFzbHkhRj4kKlgKejZfNiNqZHk8JHpVdWBydyNxTVVAKntJI31eSFhvN01Tcm93
Q1NpamE/WEpGdSZ0OVZXNVFjZlB0WVdBeXEmQkxRCnpOMlclazRvaDU8PUB8cVVCSHF1PSl+eiV8
QXRVX1pMc3BVP0k2PlYpKzFNcjREP0Uyd2kmYUgwcG1ufW1hXjI+TAp6cUNHQGdoSSlOV2MwNEAm
bFYoXlomT1pMQnR4YV9abTZkZ0A/RnwxMDB3Xi13WXA9KXQhVWdReCpxUW9mejZrREsKem5mNl9f
PCk8NUdIR2cySFpgfjZUPWtLUFZZaFYjZHZ5XiVwOVl5JGtGby1vc0BKdnUzPztzJCpjRGpDaF4/
Unt5CnprKzl3RCk/eDx6QHhLM0xaNj9ObTdqYENGcXVeZHVydTU3dWdhfWdeP2BOMVU2U2VyMS1n
MjA1eEc3V2Fiej5KWAp6YFErR3phdj5KRk90NkxUb208NWZKMTFBRGN1SU42QmZmV21wQnZlNWdg
SkNOUVJlX21pbUJ3eHc+flgtMnpsYjYKelRkKztpN1JUTzx6dz8pbnN3JWhTRlh3PitMbzUpVTtT
T3RxYmN3XjhQaFgqbipMMlo3dUFiYmgpaDdVVWNMYzNACno8OTxwWEo1aUlnIXBVVGQpR3lxOWBR
eGlgYGVxNWslSHlMNS1sKCNkNTV4KXc4WkZjQUtERHlYMVlzK2RfM15kYQp6UXRwRkBVZjUwS1hP
a0l1czB8RnNlPVpaNT5Be01RQXU4NjIrNj1JM1U5I01ReWxZc0JjVDZRa3lYIWtYVGRUNSEKelp1
N0xvWkw8dVZNfVozJE9XN1hGZzYlTndYbG1FU058cUshaXA8blErflc5Rzw+Skg2TiNjO2pLRG1t
JEBuP1R1CnpmRnxCMjlrPHdiclZ3IVVHWj00MDNPVV9SXkhSX3JJVVFIa1QyfmhGRD42S0FpVEJZ
aitpdj52JWVWb0xkJDs/Nwp6KTE2enJFP25iWChjUWFGZnRuaiVFO3F1aFNWR0lXZHpQJUBxYVIw
dnpCYyVNPyM+Nn1hZ35lSzlaeHtSUWN3dUQKelNWPi1TdkwzIXFOekVvKk5OfXxIK2NOS0U0XmxQ
c2Z8YHpAWmo8cmFyM0Y3Ul5ndWNNI1EjQ29kcT1iViMoKTEmCnpaTUNJenBlV01ULW5CUFh3V35J
QFRidE4+Q1E0Q2l2fVZvTk4pVVZSUyRtNTtWcERffDM2YjlVe0xYIVQ9bDxVSgp6QTM2Q2F8OFU7
Iz52fj9WPWl+WGo+YHdLZksqSyNWd1REVzVPXndzZXtNI2Q2Vl9EZCZseDRyI1JfdHFkakNrdSkK
ellrZjI+ZVQtZ0NadzQ5X3QmTmZIXnhVXn45ITQjNWFYa0AwOW9+KjAkdVVgYkV3eGMzeWcpY31Q
TT5LVD9Nc2pFCnorX0t1REtzNGNuRGgtYEtNOzF1VVlJJWV2WSRzbT9HKyhSK0hUZU47NksleVBi
NWFVKGdwJUBWWEJUYEhvJkVzPwp6OX13Nnd2TWJIcEQ3NVQxaTk+dH1PSi1mQko0JmpVTiU8KX45
TjtjQG9SdzdqZlZYcjs+fDZrRHMyIVJTciZtK20Keip4c09+Q2JuUWBDOG5uWkV0Y3NuaDZoWXxy
bU5vP2FHWGgwcDBoWG9jNHo1YTNMUGhCbypxfHo7MH0xTSl4N2FUCnotO1dhUyZAcHJXaD9qUnMj
WWQ9fns0VmhyKF9ufGNePz15TERBeVZJUVVDWT04fjN+NCpRKVMkI34/bClNbVglUwp6QzskKVg2
O3M4d1NpVGtaPDB2eiNUP0c0PUp5WkF4eFYyak4lIzBIPzY3ND9aMU4rJFpCZ0JmJmpiXmRGOVBB
aXYKeiEwJlllVDVyd1BWZik2TnpvZzhsbWluIyNfWnY0MVYjaDl1TUtXMjRXU1g0PlRgVWo7YHM/
N0U1RG4/aHF1TzYyCnpTY2UpM01JQjsjSU1wZ31CcCtKIzRNRHZ8Z05iSHBvMUk4THY/VHw4Wj1f
fjdibE47a29xS1prNnVgaUw0JWRWYQp6c1l3b2ZDdjkqIXs4KU4xJHZwOU1URlF8WXFKPV4xd01D
WEo5OzhWcFNLSWw+MmkqM154cDFYRyElTnJqdFl2OGQKekExJD1DVzcyQTg8N1FmKytpX3tnRU1Q
JU9mY1d+Tm82bTxFI0RMMmNVODBza1EwM2BNMXhpaCN8TlNCUF94fVVECnowcyVJUT8zYyl2citw
V1NMcH1BRCZlSXZDMlorMl98TGY0U09NPnN0SyE3bE5PdlR8V1FAazVRP3xhTUM5KGBiRgp6cFY/
c3VXbFh9QE1xJVp7e1FXWWg8NHhjKnJ0bnR0QmJsaml7X3BjYzxkO1RwalJVaylOS1FRUlVpPDdI
KnR6aUYKemlyVmpQSD1jcUcye3FDaFo4cjd0Mm9TbVN5XmBEVT90YTNVakxNPEVkNWcpUCs2RTx4
Z309WEI3WnR5dDBoWllnCnpsbnV7NlJ4Q2Q5bGJ4KCZGWlorOW1uamxETndTe3BgOzhEemo5ZCU5
QFV7MzZHVnRfUUNzUGpBKWRQYz0lcHlKIQp6ejxnSmI2U1RQKT1RYmRve3Mkbjl2bXV1MGY3UGE2
VWV2a3IoJmdkN2tDbjwtM21WSE5hVVUxa1hFYkNwZ1BeekUKem9KP1E+cD5VRGlxMjs5SU5yUT48
Q0FoZn5afE1ufGpJWHxNYnokamhLSmhpQFFwanUyS3BARVMhWH5WUE1laUdsCnpZfWU5MTBLWnZQ
WD9mMGd4SVEzNjsqbWV5QEp2bUJ5M01sRlFQcik2UGVhe3EpM3ooXjtFaDtue0NwP2UoZ3BPOwp6
VnBhRmowS0djSClJVFQpRVNiNSlLV29QKDJKKj0rMnQ1fWF1PXVUK3U+VW5geUczV2NtMnBRcVBD
SUshc0VRWXsKejhRa2pAQEA2Zj0mOW5fI3hNOzdSSjJAX3pkfHlfT1QzaXw9K0gqaE1aZ1hRUkZ5
TkY2WWIhSHdMVGVgQ0UyVWtOCno7KntvSipxcFo8PEV3WUdDN3MlOXlrS00kVHNQa1QyKUx4bCot
TDI8YChNNisqaihOPEVzN1lZSSZAYHdXI0N+Sgp6UjNOVWR4RDxPPmtHfFZfeDRrZyVJZWFXWncr
TDRZK0BPS1ZydF9eN1pCbVVNKDMjWWVqTWl1eGVwX2ttLUBwcWAKelhxamkqOyQqKiR6SyRiX0ha
dDJRbj07a01YR0pfRGQkJjg1TWU+ez97S3o8VU9aZ15jVFh0TihNZ358QiQ3cUFxCnp4SzwpUXI3
MFdDRE92Mz0qaD9gPUVWPlVPOXJSXjh5NSYjcWtONlVUeHtoJGlOV19MRClqR1NSSkoqNGEqRjEr
OQp6ekxqOGdSeDdzKntzRXw0X302Yk5qK0loQUd5dHZCMmhySiZ0Mz1nRFZtY2U3RUVEP0lqbElw
T2FVPW90NXxRPVgKeiVEcGByKWNpfkZfVyhEYiVAfVBKWEtUQGZqM0doNktTNzQwOCY/VTJVUlgw
PSYrciVwOHkkWntiI3NsMGxYY0x1CnpyajRwOC01fTJmcE5IKF9IcGVVZjA2UU1YRnxzYD8zXlJK
aD5lRlM7cVA5ZT0rODxWMHRRZmhSbCljQ3pUJXwoOQp6Tmx4TFRSVjUja1kwRjRXNGZIQnIlJmph
ZjktNCpAcmNVMkUxSkR6bCFFP0dXJjV8c1UtRiRqbjtEQHJxJGx8VnYKemV9RUooblh7bTNxJmto
TXFEeHVJPHc7IVRvOWxocS0taWIjaTZTV21HPl9nTXBYdFBuNzVMdFBfOGM/SjE1QDxsCnpLTD9B
OU0hcH5sbEZ7QCM5dEd8RzFCOFF4UXVecW0jPXNXRipEOSotZXt2fHlFJWtMZ0BudkV2LVpjMmgt
VG4mTQp6dml1PnNOWVB6PXooQHZkczxaOXdKK3BmWkl1Nio7NTljQyFkcy04Sks4MGNwP01fU1Yt
X2lUKCZGaWtRQ1RLMnoKelE8PGhkPSRWPzZWQG9IYE9uMj97NHQ9cnhSXmxXfV9RNiR1QU80akZE
YVBoZnBWQENQJWR7eTJoYU5jMS1kS2Z4Cno7IyNNK18yJXdydTRHT2F1d2k0cVFHclh3XzxDPipt
fnlpfDZ4RispT3czI2BYMGYpMHdYNXhJYF9vSEglcStwQwp6PWp+ZWsyXl4yRGBnI3pyPFV1TjE7
flB7TGY2WGNGQjRTcyhKYjk8ZiRmVzAmU19mb2FHVVpmdSFebnV8K3RrQF4KekhxI0RNQW9OJk53
biVqYnsjN08kNFQ5Zz5mMyNKVyQhNHo2dT07YzN5eGJxemNSQ0tPPXtWVkZ7T3x1NHAhYnB9Cnpv
V3t6WjR1SS1WLWg0dH5MNE5Pdz9wKmRjMkJ2a1FeaUBqUWpYT1E+T0ZAMEJSLWNRZFIlTShTOWUy
ZyRoKykmWAp6QyMpcykjbDN6XjkrcU9TZUB8YmlvIUQkJiFsdHMme3s3VERSTX13UCtMUVglKEIm
ajRfa0JaKC0qNkJjPnwwODAKemhpM0NkV28/UTkoOWl5fkswWk81cFRDRyF7O35HVCFORT0qPylY
JmR2ZkllTXZHTGpwY0tzV0M8UytPU2ExSStVCnp7PC1KQUo1aVZecShSI0VUMz47KT1UYzBqNU5m
OE5KU2dCNlUjKFA0b3pfRyE0NzBPeUR8bE59M0t1SUNjKHsxdwp6P3VxPzVPby19dHApdSpfUkM5
ODlHfWpyTiFiP3Y2PTduWFAoTXNsaDcxKGE8Zn1pJipoa2FSYSM0SUJiPmlFSm0Kejt2IzArJTU8
NCo/T2VJKF9YUyVxNHdnU3RPSkdeezl6UUt6VTA3cmEldlhPRWViRmIqMjZlIXxidWVFeHF8SUdo
CnpYM0I0Z0t6IX4kJUtwPHleTTsmJUYyTil+UCV4RH4qP1k1NisjK2FUNkxCIS1FWk1hK0Mke0Zr
Qil2ZmU4WXU3fgp6Nyk9NEtLMXlTNzNKPzwxQDxGMENlVUF6ZkA0Vj5HYyNVa1EhUTVmN01XTDZ9
Yyk/YiZ1UFcjLV4jZFB8NilNJFEKej9KbCQhXjtXPEN6RXZmenw5JiUwOXVzeHFlQF5sQkRrazVJ
OFEoTCNWZHkwNmIqaypMbU1TbiZtRE9gOWNtXkxtCnpgMX4/JExwJDExUm1YY21fPDN0aGJNMH5o
WHRzWT50QytqYCl9czZHWSZoKEx6VlUlfDA5UCRVRWk9cUZyVDZKOAp6a2hranE/Uno4Y0QyKV41
UWRoVWRCV1BMQlJ+Z3tEdl4xMytta0xATjBeQnB9SFglNDN4YFlDNEB4X1U8eF9yQ1QKelUjRUk5
SXl0KzE+bVJfQSF8ZmorWEplT1pCSlIkSGAre0thMjcqZ2xEe0FGWnk/KVFTMm51MnBZTileZU9F
M0p7CnpaRVFsRVB9WGQ8M1pMO1lMQ1QmPWExaXwmO2MtdkRMI2clVlBFaE4kJSl5MihPMj1OSChm
JXd3O3ljT2phUHVyRgp6X1laZWYoWG9udi1hdlY/eT16JWE9cnZiZ2t4SGBaa0EwTW9vWFhuUnZv
Um56LTxqZFFHfXBlYkREZDI1SHIrKWYKejBLUVlkVll3cCl6akt+Wj1lOzZ4aWdtJTVUISM/VSpY
bWRnO1ZiKnJ8TmM8P0EyRjc0cFdmTk48TChzSU1se2RHCnpRbEZDTSNFJWFZJlZuUEpkaTBndDZI
PEpHZStvMmMqVFc/a3glIVl+eHdLajRJd1Utc0hLIW41SlY3U14/WGJ3QQp6WWpHJH56dyhtdCF7
cD9LcktfST08czAqT0UhdTdWXyE3KUo8SHA4TnxFMG5JNmZfN3JSQk9NeDBEQDNCeDl+VyUKemRz
VyZ5OE9DbHU8PX0wKHl1RTJUal81NjV1O0xmXmA2fEFFQUFPaFB3JmdTPDd2P344aHwzeD9fPjEh
JmZSWjd6Cno/aWRSK2VvKm5kYXFuOzZnZlZwK2FGJE96ZTVQWW1SUThYb2lHYyFXJkE2V2smaWpO
PFBwJDxZX3lEYVlXfjhVQAp6UUE9ZEdkc2shMnRRb1grTlZsNCpjU0hgXiU1JWY9LXRwQUdOVXIt
e0glbyZBeyQpNElJd1B0QEErKn5ZQ2hsZXkKekU0KSYlNHZXbUU7ayRwYD5Oanx7UV56I3tgLShh
JWx2Yzh9Kjk8K1VrMipUSTh0USZPPi0jcTx6MnVsKGw7bzc0Cno/cFctdytAbiFOcmktP315LUgo
ajFnLSl6dGplRzdoMGZPUSpLVUhIWUFRRCplfStyQCFudH5Sc3FobVdMRXc7Xgp6TGwoJEtGTE5I
bWghLURFJiM2WWR2RnRFOURyOT9tV3Q2MDs+NHlUUENITFZ0Zz99fWozZGJUe2ljRkxzNCN3OG8K
ejZnMklCODtOYCEkXldycEMhdS1WWWw4fG1BM28kSmpORzNyViFII2c3bH1zKUZ6djFuWmZDRC16
USlBOCQmfnQyCnpPS1E+QkZGPUdsKEo4T1pZcmReXjtCNnhZUDtGI0chOz9+N2x8VE94Nks3MEpI
eTgpTWgzJmY/YE1kRE5kSGo5Owp6e00qUjEySVYoWjxeMFR7VjhLenBHcV82WiRBVVhLVU8kTVZW
UndOQVYxRyphUEElKyVXRGUkRnN0fjFiUHZlPXEKei0pSXkrY3J5Wnk9blM7UiF6WVU2dzAzbFN6
fmBtMlh9a3QjTTkkOEowRT1uUzd8MExPRGZgd0FLR3hnUHMhdnVnCnozSkFGOzxDI0kyK1REVF5F
R2lLQ0FkNT0zQ0FGfXpHTzI5UyQ2fEVvQDwqanFMZTJTMzVvXjIyeTd7QUdUYmxtUgp6QnR7aigr
R0RlZUp5ZSshZD8xVV9HRzJ7VFpLMnJJfEtyKkk+RGMkQ3FQWjVuM3JaJCVqekRpSFZuYCNpNT0o
VEwKemJ9b1RVKnw9TmtCQmVuN0U4XjFvNXFqKmROfUZZJCtZYk9eT1dJaWpMQStmUnN1Jmc+WWI9
PnhUPkp4SWQ0e1dgCnpXTlo1cnVYKGA3NyFqIS0zblBJRkhLYzd5dmgwXnNXPGV3JD50JFBOZW5m
QXVpeE9qUG5oMyZqRl9MJCk7V05KMgp6Umk9IXZZP1NZfXJeSFFZNVhXPFRXPiRePEM1QkNtNEhC
bmZsLW8xSXpqM0FeS0JwfnRZQTwyKDR7JVdTKCVFQj4KenlsQyRZQmhWfXBtMCpoUktsd15NRGVf
YEVhaVA1c2phR3lsPWZ3NHVrRjRgaG85VDxqIUkjYGdXS0N1KmVPWHomCno7enk1a2Y4TWo9JlIo
RDEoeEItaD1XNkV+WDhZMm8pMkZsWVB9YlBGNFd5QThgem9ZTlJreHM4MzM3NH5GZko2Sgp6SWFk
UmJjJCs2UiohKlY5bktBPGB5eHp1OGFxWFItLWUoemM4Rnc1VGlpUXtCYFN0fCZXcDJlQGR+VnVO
d3t2RloKekJuUH07RX40IUtpMS1udnhQKncyT204OHFwKGc+I1Uta004e3hLRkphWlR+fl9YcGFn
ZUtxPyYwa2g9Vnd6RS0yCnpoR049SmkzVztPKlQrfHg0KyRnOGRqVmUqRDQmcTkyMisjOz8xVCEx
N1RFb25FSCpyPDxQSldrMSt3R3IxcFdnTQp6SyFwV1VDNyF7V3oyfHJCSHJERF4tVkNmK295I05A
bUV4Mzc3KXV5d24ycWx9JDJqNWYocXN8UEtSaU04Y1duKXcKendYfVY0cmQhJnhVJHV7JG8jdUhM
Un1GRnk9M21nITM7Y1BpUWkmXyYrRWJINUtDMis3Oz0+aXpYJmlAKDwyV1c8CnpuWW12JVpqMlcp
dVoxU1k4ZXwmIyVCbTZFXmMmZHZfbFIlTEpZU29qISohLXlIe0MpNnYkKjxia31kd0szRFBJQwp6
RismT0dsM2ZWN2wpX0MrPX1xezBCP3pvOUdOekR7RTRwIzF2MklwXlR3KUFKP1RXUkpoXytXLVpv
KHU0aTFHLXYKekNEK3pBJnQwNzA+ODF6V3Ftb1hxUEJaTlNYMSV4VTE2N252b3lyTXVmPGA2bkBw
R3FfUVR4PUI/K0RDNlhgaUw2CnpCRTd6UGttRiFeMHNVUV9QSGgyLVgjLUxpUEctWEVpRk03Z0ND
NFVLbyojLUtTXzlMLSlnKHxRdCYtRDI0anoxNAp6JCNJKCg1Sl9QQUMqUVY9KStKcjE/T0pwMWV9
TDRKPGEoRCloYk5ZS0AhYmIyUmFfSCtlbU8oPWA9VE5PS2FMJnQKemVTV19YWGJTeGFnPlEzPiFx
NXZmNCUrRGpkUFo4X3BsVn1pP0srb1k/TEVFRnJnKThHSVIjMngxfG4/Kj9oNGd9CnpqeiM5a3E9
e0RBNTQhbDx4fUtVfVY3cGBFSys9Tj5Pdjs8OCpfQDMteyN5cn5UcmJ3QUh5Uz5ISFomRn1STzdw
bQp6TUN9JnV7Z2QpX1Nsd3AlbUt5KmJVcnhgQDtmNUZyPGNvKkxWTWtVNl8hTmhIe0ZDMXN5UWA2
ZjtLPy0zdkdwNTEKel5FYnJ2cnFCSC0wS2JsJiNtPFgpKGMyTztCTXd1YHh2dEhfc3JlNTNNeX5v
Knp6XkhpMVdgRVpYVit9c3chVTVxCnpHP35TSCNFWTJLJVAzVjx3NnpWK0ZBaipgQ2F6UWlYdVF0
fnNlZ3J2X19sNDQrZEQtcD9wYDcqaDQ0Ym5LMSRQQAp6ekUteTk3MV95blJLa0RRJD1YV1MmTHNP
QE5gakJiSHxtV1Z2KH4zR0tmPXpESFc5WnpURFRhdmAxYDVZNjJPS0QKekYodiQkUWpfR0QwJjFR
WkQwQjB6fDJZJDI9WStNSGcyZWFrPXV9VVctYm4zQ3xIOXslc0NUWTxCIWxpc2ZPQ2AzCnplUjN7
dnRxfUIpLTNvUCsxaXExVkNfczduQypAcn5Zbz5lT1dMdzxiX00pPjBGWWl+fD09e1JKalkrRmtu
VHVHYQp6Z3hCc0w5V3RWaE11KGF+P31GfmJGcm82fTs4Q3lpVTJjV1ZFPmVoZW10VlotTzlTWi1U
JFhURSt+ZiY3I3RUbHIKemY5bHwwUSM1b1pkMTIwdF42fUhJdXVXPkY9anJrTml2Uy04SWFtaztD
WXZ2R1h0T0VLWE1iczdiSnRoRTxKV1F7CnpyI09+bzFMKHVSYnZgVzF1KVk8UUI9TklXQ2pKMHor
QTFQTEBecFFjbFNYLV9LeXYxUTV6NGxUME4+ekdiMU1RUgp6a3htcjd7e0gpRTQ8fThIRDtIRXpm
NFdQV0dOX29BXnZ7RTRCel9jQU5qVUdGRUExck5lQEktR2gjR091VDM0WGQKek9BUkJhOXBMfHIz
PShJZnt4MCg3Tjh0VGdtMVpDfVVSeUcrQ3dZWDlwRFlqRFg+cSRMMjx6TEBpbmp2dGs0blRwCnpe
aHJqeSo2Y31tJHdQbDFhbU14N0o8KiN3U0J9LTIkdnElITlsK1c0XnA7TnBKTXNlSXBRKDxmXiYh
YUV2QDRrTAp6I0R6PShUaUo7RVI2eVIpWmJ8KSFneUhCI0ROTGE2WiY7dTE+KVgrQnM7S2Fqez5Y
Z0UtWns7cztMNntgZHB8JkAKek14R2dVKHRvdHc9ZFNLWFZZZkFDRnYrQGVoKjZAV2tgbXZgVFpI
Nm5tbGhJdWI8WUh7c3QzXno4aiZnRS1JKzI5CnpfeXh+U0FjLVdZSHsrVThXYGF8cEVEdDFGVnl5
eGVMeCRabyh6PkE/bE90c3koWnwyYWBIdTRDcWhWdUE8UHhxJQp6P1ckfEIhaUlNbCVOYWN6cl8o
XmpoNmBoUHRNYTNMbzV6bj9TaHpsM2NmWGlDTjREdT48alJLWms/O3oycldYSU4KekpUenB6IVNQ
Wn04VDEhUmc2NnUyVj0wfjxQam1+Iz47fTFoYGdlb1lHPDRPbigxaT5MN34qVHhIcXZ9Zl5SdTYz
CnprdUhxNWYoOTt2TmZQMXlgPkI1PTYpS1olMEd3P1ZYYU9QTGIpRmw0UlA8bklXRSgkcm1RQ19B
ZHBSMm1qTShwYgp6ZlleI016Y3tebEQmZWx8dkdIbkV0LVMrVnEjeUQzRHljYGxAVSVNdk1WTklN
amx5KnNRS2I/K1B7KUFxdU4kOHEKejxXJEd2V3xVQzNqV3RzSTduX308RWwpWn1BZ2BnPlN4eVQ2
NnUxfEhrZzxLcFlCZ1MlS0k+S3N6KSNkb3tKN0ImCnooaWJlb2M+eFNyXyl+RXJ2fHYqRCZPZWJ4
WmdKI21HQjhxR1kyNV5sZHl4amtVNTI3dkBUfSRiO0FlPU1BaFJMdQp6WUNEenlgJDtYZDx4IVJy
Kk9IWTF7RCtNfGhtRFppX3JDKz9RfSpEODhGTEV7WVZTYDU4UX1PWUcpeFM3eiVOQDwKenY9SGFk
PVF8Q09fZjVrMFomaGtha096fmBUPG8rNExOPzB5JUwxSyM4fWBYPUFpYXxBOWAtKkNVYyFyU1JL
VndQCnojc3lreWNEZnFOK1YqZ2Y4VkdZNTdSdWpzOGRXQ05kVSo4QChFU1cyPjlWPDN2aVo1dFZy
T3Ewb1llZTJOO3BhPQp6KCpJUSRGaWZXWGo/NmQjPyp3b0tibjYyYkJ0fX04MUhZfCsyczdMYWQ9
WFdzRFFqNDFlQD8lZmxwOGloZDtKbVAKelZfa1FaXk1PT05MS1U2K1dJPiQyX0tYcnVTSlI5Wm1S
JiVCcW91clJ6cVNNQzBfKU48UityIWZpfmhfbGMlX1F7CnpHX1MoU0I5bEZ6cHwrSkhrdGxeeGZ3
SXxfUVNeSDBOeEExaXVkNCp9UHxlMjgpfUk/TFhvfjVxUlNSOGtsYlp4RQp6O1dgLU5XMjtgMmF9
P3c7O3hHQ1lYWCUwaiUhO2JrRWhONTNlS3wmK2h1SWpAK3FDa2N5YHNBYkFuaD5gP2ZuSFUKekxH
Q3JeOHArayR2VFJOZjR2MDwxVFJ7cHZVXitKdihvZUd6ODhmUWhFbSVGUWQ3M3sjSz1+UHVAYkdP
SnZeXyhWCno2NTBSVldTNVBWVUUjd15DUzIpMXpSZ2UrQkZSe0xFXldKRkZKWTcyP0JiTjB2WWNv
WUx9NnFZQHdIfW88IS1aPwp6d2dGREJvaSRKJjdgMFhGOD8/SWw0PXt8P0toUyhzODZgWUtQQmBZ
Z0dFT2MwMmwmXyVDKVl2UEs0Ujd1ZDNZeksKelpCXmc/akNlZDZfTU5EaWh7bT1eM1J2Y1ExNklu
fm9HWFByPDdWVnM4WFF3azMoe1o3RHV6eSlrWDRuTW5ROHotCnpCVS1Dbl56LVlfaj47eW9iRUNO
V1dPbXRhV0hKY0JsXzBlPl5HOSl5P0ElKCkod2lPUyNnM0dMVCMkfGtTcmRlPAp6SWhRWTY0X28p
YnJqRmBkWjl8VkphZlA8ODMrRGRMVWZOYW1xYzwtJDhSZypuajZfSmohfXFuRXZGRztKUnA+KiQK
endBQiRvPzktbEQ4aHJuVilnRzYydjdnZFYzc31SMkg0ZlZMK1YweHJ1PWRtYSpkeEJgZnhqbmJ4
TX1FTW5ebSQlCnpsd3hGNCZJPiUlQntXOUo4WCthX1dCMUgrQX01VylvQG88byQjZXBiXjVUKSVN
czY5Ni1lPExjbUp+eE8lSjJ0fQp6aEZrMytnWVAleWw+eCh4VEc4YCgzRVd1QTh2V0ZQcCt6MkY2
dHd3dDhCNy0jM3l3TjtZeTxre3FWSlQyUmJgPFkKemJQenlLdDgwWXFYSEBQPncxZHl6ckolV3xG
MCNpV2tmY0VWaT1GUT8tJDgyNGVmTXEyNS1QPWQ/OThEWjI5eEBYCnpjVGx8JSEqdiFtcWRwKHJO
MSg9bDF6eFdeQTIjYFVwT2gtZ2hFY05QIVRgUTtBdm01NTJDZzFERiNKeHtCMzd7Ywp6U21zVDBv
K0RRQEZWYTFLVzY1OXdOP0dHaz9uYFczODYhR2FIekxMSzAoP3I1PV9sVSpBcVc8N0JLbjxNPkx1
dm0KeiU+ciVhbUtePVBILTR8PkVDbC1wI2RyMXlhPVlkLUItYlduTWBiMmw/bHh0XzU2RUY1MT1X
PWdAckxWbzJoejErCnpGcnpYbjNVNlBDU09ZdXRWYSo4RFlaT3RQK1V8KXleJEZeSCEpT2hue18x
WCMkeStxPENzb156biV6dWV7NnIjOAp6bjdUeFk4R2w4MypnSHBlR047T3l6e0h1e3dFS2hvI05j
X0pha3JOYntHSGxoTVhRRHlQTSNza2BCQ3ptNX40NHsKendMKldJdnhFLXZ8MCkqeXl0WC1lQT5I
Q0Y1PkMkUFRrS3ZgSklXaCVGNGpnZmw3eG5qUXl9bHR2WjB0YSZobTZuCnp3JjZKRyFsZVZjaSgr
big8aHtudHU1OWA+XjM3eF5mSC1VR0ZPLT9mO0ZnMn5obklVQ0hjSnJNUWwwdmlpYXZkdwp6ZWFP
N3k8Vkllelg3YlNOOyEyS1ExcnJ8dGtXODJ9NytiKSVgQHFkO3dePV5GZWFHKWp1cXUjbzl5Z3Fx
LSY+UyEKeitLVUhnITRDRWxqbn59VDhAXmBnUDxqYHM4eHFGYTBZdX5qc2hDeSRwbU9TQCtgP0hu
aVpEY35tNTRiZV9sMjZFCnp2aHRoaXpJWnk3USZMR2UkMTJFbnpoV2VxNDBCUH0ySjFWMG5Jd0g/
V35zJGFsamp+Q1ZULVRGZigweW90WGNnNwp6eEsqc0EoanooKEFLbUxEQnhLNldqP3taLU59SjRe
ZD9HJSF3d1hlcXN+JFRaRTN9PjRLVT8rZSYqRTJpbWk+WjgKemZVcmJeS0okbFFAJTx+dSojKEx5
WVNSeEJeQT1JLUw7PTRXeHs1VWcqfmY3QTB4cXJAU0NHJHRZYV5HdGAoRiVKCno/MUlqNWN+Vns1
dWVZO3J3d2VPcTcpRCM5XyRtZVJ2Py0kQD81SClyNHVUNUklQWVMITJwfGNFezloNV9COFN6egp6
d3I5O1hRbXdfdC0pXzdeKFZocHY4YXNzTGtDdD1RWWJNWC0oJlE3TnIyKj9LQEpIVnphaSopXzgx
NjVORyFEQTwKejdsaHEwcFBTTCVuP0MmKEVSWmJ+QCY9eWJDRng7YlktJDk+VDEhUjdeSm5uKUdy
JGclJmpRWWVWO0hCUzt8Kmc0CnpvOzVKfDloIT9gdUJJMC1DRnQ7NUs/JTE0ajxxclp0U3M2U2My
YlpQI29UKTBeNjdmUlgtIXpEUzdgRDVxUU43Iwp6OFo4QzZJWkFDU3xCMFYoPXA7VTVVd3dldG1N
QzQ4dkJmJn5oa2VkIWFjYHUke0htUlEhaEdeKjs4bGIreHR1O04KentTRFV8V3o2UUVjZWR2WF93
amxjMkhpMkw+S2RJM2ZlRnMmUHg0Tnp4RmVxWGl3UXBAcUpnUzYzMC05VUROb0ctCnp0MzhQKzFN
QGVSPTVGWGYxd35ZdC1qcWY9cDV9PEYxNHFEc2QrSnwpdGNiTFhCZE9GSUFVK1gzUEZsbEQpPjdr
Tgp6Qn4xWkw2eXMwITYoPTxzZHhIJDNQSlc7SWlYRCFeRlYpVik4b2MxOCVAO1JYPXtDKHlRPilP
P0c5NHo8cEN4QTwKengxaT51TU45d2J5Z1Q7MDxJaUpeQ1ZCbW1SUWYtKWB+Iz5DbSZIOFFubVA7
ODtgSzUoKWx9QGd1UEBGPDlGdSk5Cno7JX5AVDtUTHUlR0Emdj4md0R1dVVKbjFXa1l5YShyJkNP
SmhnTFVVTHohVHA0K3QpQmI+bz9LSCEpRTQ4Qn0waAp6eXtDbStlVzIxN1c4PSNLb0xLb0t7Xj5z
ZThTT0B9TmdlWUd6YnVfXjIteXtqeUUzZ0A8LVRoVGFAKCZ8VE5UJTYKemYpcWhsOFh+ZGdKPWg9
PGErMFVDTGJIXylDZ3FwMlY8bSpzZCQ8ZzFvbGU+JikheXVJI1orTl9XK1FVTFlaaFRECnpCOyVV
ZmRKM1Z+TzxfKVQld2RVREErMVJgSF8+TX40I2tQbktVcT8xbn03N29fRE48NWlQPmB8RHkqfCRT
SWMwdQp6JCt8dXttI01LKSZANF92aG9WUTliM3tpb01SMC17NCVAQTV6OXdYfGAjfCFWPmNZSCtw
OGQobk57WVhUcHhOe3IKejJYT2AzQEluNWhCKWEkbD5pcFQxNCtvbzkmXkF8aSpqJSkoV3otMSMx
QklESiU/JWBGM0wqI1M8KUppNDVPMCtICnpiRjtgaDxsNjluaXtmaVl3MUVQKXRxan14dykjazZJ
a1UmOEA3SWR5YWA5NVc9T0BXVzVeLThmYGVCck4pMHlITgp6byUzWm4jempsfUZqY0Qwb08qaTVu
WH58Kk9PMWk3Z1lfSHRzVThVdnFvbUAjXn0yVmArSCNpIUU/R2xzIzBmRDwKek1fJGVMUnJzZzdm
YWdKPFppQ3plZylNUDU3ZEQ5P2tAQj1BLXgpR304dGtDQDxiSURweiNlMX5CajxMMGt2cFg2Cnpo
Yk5kUHJYO3FMYytJITN7UjJHcHI0QUhMNlZwYWVYZGg5YXpvVFJENHI1SnZVWmxeMUtKKjMyOVF3
JCtoS24teAp6SChXOSgxVil0WFAxKH5XXmAqTGN1KylVeiREYDsmRihENndld3FvTW43YDJ2MlI9
NTJrMSlQeT0tQUs0TVN+O2EKemFeT3JveFg9VU5KOH03flNIe0BoPDRjITRrNy1tfnEpZnJEbVpz
e1BXdjc8SHk2ZjRqSXc9dnQ3PDkrLUR3c1dRCnpyVEhPZzJia2w4eXVZSCM+ZFFhQzc4MF9vNU5E
RjV2R3gkKWM3N0pvWlReX1NUdUgqSytxclFIbUNEQUZFOS1pcgp6dkBFT0luakpfejtuPH1QKkk+
YlFDKHdjU0RUO3VTVX1vRk5SKU0xX201R3teUXwqPCQqP0F3VUo1ZlNmMih+WCUKeih9O04jcVpA
YS1TVjM4aT1uIUFsc3o/M2NQQTRXTlVTNHAzNkszWCNrT0NYUykwKmw3WGx2MSVNaSNxZlYkLUZS
CnpSSXpyJDt7a2FVa252NDBSU209cjcqMUA4QDVXRU1pfjJ6dkFHT2NuaEJwfFVCX1E+ZShnJWVu
IVViaHBxdj1SVgp6UitUOVZOMnwhdEpteCVpa3V9I2hUKExLeDN2I2lkQFpxV2Z7akwjSi1PVDA4
di15N2o9cFdwKGtiPFpvTEg1YUIKenhqdGROcSQjN0xfTXZUU0V1QyZCSCNkQnQycWM+VFROI2FH
MHlHbUNaVD5gREUzdXRZVko9OG5gel9BOXdHdloyCnpHdXYrQjVkNWlxQj1fLVhlZzI/eWdYe1gm
QzlUV1QpY1RWdkNLYnYjWjskJGBlaC11JVE5THYqektoZ1BtPE1hIQp6czBWaFE2IXAmUDViVSRB
bXBNKz8oc3slSW9ibTR5O0wyNDJZX35VSEwwaypIdUhLVU9CZCtAUmAkJDElcntMciEKem9DWCho
Pz1ObXx3KjVLZz9NdnJiNn5DMStsdkd8WG08aWYqKXNxJC1vZDNxcFJTXj14S1A3dn1TaFVoOGV3
ZnB3CnohUnRqUHQ5MiRfOz9JQEZ1Y2ZjbD03dzB7cDJmem0zS1k1RiliUFRNWXRWMEk5SD17Y2pp
fmVhU2hrPzQxKGxTIwp6XnEtaiVKNER9VFJ2SkY8YHxGb2t1aUFAVDF+PGo9bmplISM+YE1+JWhs
THBiTTRKLXIxWmA4VG1fVFhIdnRgWisKej9lRUxkVDk/bmRwfE49Q2xtNFY0XjlgazA4bG5yb0M3
TUZaeE5geTJiR0Y8SjhTITNVcE1JQzh6RSMmZj5OKSQjCnpYIWB8U2xBdyUtRzQoSGYoZXNIKFZE
UnFQQU8wV3I7bEc/cSVlZmFGaHglPDhEOD47bWo0aVRmP143RU1DZSQlZAp6RFNOfXc+QCgyMGlq
QjFHe3VyQ1huYTxkP0RRcTkrIyRwMH55NkBYfitQLVpwJWZTTDQzRmAwSFQyfmMhN0Nle30Kel5N
RyMhenpJd2I0bXl6R00xP3FEcV4qa2B4KD97Ny0hUGU9U1ojUjZBKVJPR2xqMXxNNSpoTnQ9TXg3
WjhXYDtOCnowQmJiT3JmTzFjVVY7X1Ehdlpia0EzdkRiQSpnTXxtTmZzTyY4e2YrKHdMQn1aPkxU
RGJTZDYxXj5uU2B7UnVSegp6ZUt6JD0tNnR2PyNQS1RkPzc7aExWVXYlQVc4VHxmNSZWN3JaJVFT
djhqdHRKe2x7O3drZX48XzNyRiQzKjNxPWQKejZSTzVYI0ItMXVDN3MxPXhZPVlhPzJ1OVdxQWJ5
K158Xlp0IyM7dGkxKEh7dmFgck1Wc0hyNygreG00Z3Fjc2doCnprOWQ3NV8haV5hIWg9MDdzMjRq
eWIqb1ZiZV47QWRHKE5QUDwmaVNUVTN5IWtCSzlTMk1NZG56S1ktUztLNGhKRgp6b1ohQCtAe0pa
dTM0d1M3Q1V+QHstLV9GTS1BUnFwSXM3WTRhMS1YOEFVantwRkZXOWk/RVRed1phYXk1KTxLS30K
ekxlZGhZaXZIN0AtPHNpSWJoTDhqanFNe0dZV18+Q3xJWmV7VGVVa2xlfDd1QGchNj4mM0MyVFp5
N3FRVVloP2I5Cnpvfk9xQFVndktGREBoXmhteD1AWTk9Um5rb3ghPGc4an1VX1c5UlVXbVFTR3tt
IXo3KytCXlJOSStiUW84I21MNAp6KU5aen5mbHxAKk0jUW5oZjkwLTE5TDhgPU1rRnxsSmVGPVR4
Qloxb15yJEo1c3dTbWpYWWd4VEBBaD9sJWolaikKelotdmAtdCooIVZhMyNIemZaa1o0PnU8MkUy
N3AxNHVNUz8wM0V3bjtJfmRgYjNnb25xYyNDelckSHVrWEJBO2M7CnohRXYzbktYfHBgeT9QXj12
aCVjZT9EKlV+P2RDJmwzbWhxJlZ9RXZDYWkxaVJFbXJWSEheQ0xxRXd9QTgocHsraQp6czxwXzkl
fXVxXllQS1czJkRocjBab0E+dzxoenZJYGFyOXRHKT5KTElhTzZ9VjdYbVl2WSpXUEcrXyFpIyok
bH4KemtMcWlyQV5GPmp6VWtBc2FwMSEhKXNBNkw2YUUxaDJ5OHB2NG9iMjhHcTk+I20qNTwrO0ZW
VW5vZi1CXl8qIVlFCnp6MTlmcjQ3Pmc8PntlK3I2Q30qPnVWc3hZVUY/M35NdXg1fmZUfH5HX0wr
YGF2aUl+Pj1QSEhKQD5ZdGJ3UXtvRgp6NkJnVFp7VXI4d3xBMnpjPUR9cnxpPCVkOG04NmxabzlD
b149algtbih3dyY3UFdGRVF1Z1hFRm1IfDZGc20jZEIKemRQTU4qR1EhdHxERV9ubFF6QkFjeERW
VE1geU92M3FwX2NAYVA7PWRDanMlPm99YyMjbFR4YVVydyRYbFMxczlaCnpUPGNFalFIKzIzM3M+
THpHZkh5Xmxpc1ZuTjJjeENvZnptfGd5UzBKRXdpcGtKdUlobVcoV3dPSTF+UXNkaT5aQAp6entK
WH1MRU5FVSE9QVNvMylhdmY9VXdNK2p9K00zbipadDxBYmdAfCVKT1UjWjZyOzVaWVJFfSF5TG1K
bGx4UGkKekRXc0kqTVd+c144azhvWkBIXn5KSGhfQTtXLVk2ZWhKWG9xVWhXfl9XcnohPGhpPEgt
Rzk5STYmdSNOX0ZUZH1uCno7aE1gZChDeUtfdmkkM1RCV3JGank7M1c8SiNZTVgtMGFAMnVZUE1A
K2pwPU54YF8/RD96fE81KFVjfDJ2e0sybgp6VHptTFIrTUBHdF5mbkNyWlU8dW1rc244ZHQzQl4j
PmdHKUh2PyEmfWw8UzBWdVJpaXMqPSljJmE5cy1YWmZ2Y3sKekBAREJEY3dDe28kfFgke2wxYERw
WVh2UzI+Oy1mVFpxR0teTyZEfXdofGVHOE16UD1HU1hjWCZNdGZIO1YoWnV4CnpOPVNQUUlQdXxM
ODZ+Jn0qUVJITWs+SUx2NjZLT3Mtc1NGblU2KHF8dkUzZyspWTRPOT1hNytWJX1ASVEtamBEMwp6
PWZASCplYGpGKE9gbHEzeSEwbCR5diF2PVhAMDAkY3k7UDw5Q1VsIyZ0VGpzMnFHYW54ZjdUVUI9
Y2c+bz5hcjsKelVZYypzJnFNazhxJlVLbl55UCk3LXpIaXVgTF5RY0BpQVdOeG0kV3xSclMtMytt
JWg0c0xgMGBwfVhDezB6Pj5MCno7dyVvNmY9TlVDTU5DKyRhU1JLVldaYnVLLWQofUdLcT5HKkVJ
enE0STFaN31EP0EoZDA3Mzs2VlREZytnOVc5VQp6WCVqN1h6VjtNN3M5OVpfOWclRztTe1RNJFlm
aXUmeSZ9KV9WeiNxci0jaCNjT1lQVHRLP01FZlZIVE48Vj5zYjAKemQ9akxVQGN2NnZETzN0V0k1
cWhLemt7akhvRCpOZkJJVVFUbFFqaWpYd24/Ky1ZME9JeTk4bjwlQUkzTkpteChZCnojXj9MLXYt
OyZ+dzlAKElKdlUwaGpQZmwwS3d9bH1ffEBaT0tPdDhNaWY7NCF5RHlwNTxhfUplMCVaPUtoJHM8
Ywp6VjAmPStidWZXMW5TYG5OKz9KQmAqY0JIWl5pQWxrK0AleFZ1STVCP0RXfD5udlNCKjxlSGli
YFdkYUxEelltbHkKemxMKUxpMWwhdmBfY185PXtJYUVZTndsODI1T3pUOHdrOSRpdEtLeThyN0xD
UF5mMmVedEtubTszM3BuVzNhY3hBCnp5M292JWFsaGYoUVQzKCRCV2Q3YVN4Y3h7OSpiJWQjPjVD
aHgpY0p6e1hjWHg+aERVdlRXfXtJantociQmQiMpRwp6THBBRz07c0Z2KEY8QUpDRUA9Nj1sQDF3
Nl9ERGNmPmBJNVo4UWBoSXdYR14jSU5CU1FpbXc9Um49Mlo8STd0PEoKelI8R3ZKQyNqaV5eM35w
UEY2Ymp5dVFgbFR7fFlCYzNoeHBEZkEwb3QyZmFvK25QO0ZNemFZKiFBU0JtJlhPZDxUCnp7eC0o
XiphMU1CeiE1bm13UkA4PTNIUDFDenFtTmdTfns7IT4tcnEhIWBKO0M/S1JNXytIYUYlZVZrMVgq
VHY5Jgp6MGohcS1wSj1MZ0h5RjN1ZSQrTTl3YnNXVGpwfUNJU0tMZnlDNkFWdENrcik/bzAtU1JC
UHFWKU5aRE47P212O2MKemRwS3RJNTcxSEBjPFMtZ1JkNzBLIURFMjY/VS1ZdVdWJWQpZnpqXkxO
SCVSQTQtYGF+P3NOfGR5QlA0TGFKTUp6Cnp3YHE3YGFCPU5tOSQmMX5eUEZAdzR0fCkheSNkRiZm
PUBpe3plJVRMQTAjdT8yRUhDUHtMYXJEdWZuYFp4TW45dgp6VURvdkUxYCtNbWN3UHAySDBKdXxM
SEA1aTFzWXdHUV40aHNgbiE5ZFhxOGBfeT1zR2VeQy0zdkQtdVRXeWxRRV8KellSNTI4NnM8Pnhp
PD4+eGYlR0ktZnJEQ35WY1QqRU8hT00/emVGRUVjIUY2d3A1MHBOa3NyYVJxekdofjRtNURRCnpP
M0dhRjUyYHlYLWNnK05gfDhDPldTOzBic3YpSH1iYE44LShKTjc5JGZ+Xn1yUS1HaWUtQXdsc2FZ
bzNTIWs9VAp6c2phVzlpeUVEez9iPzt8bkRXeWROK1JANTFwZTsrMD9YPmZTNEl8KWFSSFh0WGJ9
Z2UtT1BfVmt9c0NsNEpuIXUKenUwQFVvT1NETDZnSmMtJmorfiNvTFduNGJ6cnQoXmFUKjMmMj52
PUh4cFcpOVZhdV5eeEJGckNVZTw+ZUR+RCRWCnpqemM2NFZRMEtfPnZsKn5KU0A1P3h7WWVfZFI0
WGBFfDJFckxTakV2ez49TVFvZHstSXk+OTJoV3pBMEczYW1YWAp6Vm9SZm8kVndrbkYjVWU5Nzl2
ZHt3OUBrNjhqViF5VnRDJXFldzk+QUVpdUBxJDRkITVhYFpHel5rTjk1XyFXVG8KemltX2V5eChx
KngqQC0lUXlVY2BLazs0OFlnRHxkJVJHeXROUkdXKXR4P1pzSExmaGN2QHkzREl2VT9fMXI0Zjsr
CnopT19qd0EpUWpRZSppKlMmNzBIclgtRUoyI1puTV47YT4zVEYyJXFma1olXyY1UkVlYkdBaWYz
ITQxdE9IOHR5ewp6Qk00IVReT3ZpcT16fF99Jks+VkZyRXh2ajE2TUNqTmZ3eDhzbkIpVmhiPD9r
cnlsaiU7UWNzIz45N0YocFpQfDYKeilMci1QZXE4JnJiMVZzbyRTJk1ua1p5fHNaTkJ3c3JYUDVA
S1hMPjMlVnBNWHdWcCo2ZHk4P1F1R1Nve3clS2xRCnpCaW5fa2pAbjdweWBXX0g0YWNSQVY3PCpu
SD88VX4mV24xMXxOaD98VHshekohZ15mZT1tPn44X2l5en1pRiNDKwp6QUpsZ3wrV3p0Y0xPSyRY
XlVkNXc5a1FuUzR7JlhOVytFPUJtbXZ1cyFxZXslbVZleXN0Rl9WX2Q3WVo2Tjc2JnwKemI+Nj5l
ZDc+dDZXajl5VndNRzFDZGIybX17bypRZ3E0Ql9BWXIrfSlyRWBnamQrRyo4PHZVP29wS3k5PVlD
aG1xCnpwWHRFSit9MU1lM2EjJCg/WWh9R2NSfkZZbDd7R0AmWEZ0alJmIyhTP15PNSlCX3FzbXAz
K0xZclo3N0wyfUBkJQp6VjsqIUVmdkt6fVVvfWdMRmdmRypgYUspdEZXe0Q4SSVPbUBNZ1VPNnl8
fXE2SDFtTUFFSC01VVNFfj8lOyZWdD8KeiVqWkgmPyVtZm1xYHdGKnk+YTg2aC0rMHlxe2VSP3Mw
PCRVREdPdjZrNmNpVUI3YEkpPW1tWiooT3I+dHUwQ0Z5CnpOc3xeZFVVYyFSeHQlVCtZYXg0Zl9o
TDd8LXs4I2x3bDdvLUlQXykyRDhAOWdFKmM2fDl6d1oqTTFKQ3lgJlhYbwp6ND5lWHxCfFAkKVZe
MmQpNTdfWT5FPyhhTDE9XzljYnJvQGVoWGRDbzY3YGVpSChhQ1ZifXB9KXlfO0Y7cEg/PGcKentV
c0BzakpsRzIpQnZPVVgrOEEjWXJ6UElxPXlUUS13P3VqXjEzelFCIz9FQGs+Y3QwQCVefitvT3xX
WXhgKk9lCnpyR24oc2ZKTikoWGkpQHViIWMxRkhTWmB9aVZwK3omcl9objE7ejlzYFY1bFVzNjtz
aW1nfTRHUDJUZ3NVMCZubAp6YiQ2VzVZaE8rVyVDKnc/ZEE8WG1YOCtjPVFTOVk5SEMmPVBRQFBX
aD0zSn16bUxNN35JYzEjZSNEbHl9bjt9WWQKejRKTlBHVilJQXt3QT8/eTlwNjk4anVZcDhsPHhy
X1MpSFlaQSo5fCpCPVJkMndXaHElaW9uRD5uYyQ2bzBRb34pCnpOa2x7JjlSfVUyNWtzUVQpRFNI
KTxAelJTKjtQPl5aQTxxeyMrSiRyKlBnRkk8Vmgte3Vtdml1Q19pc2Z0QDtNMgp6d0I/REhqS3Y3
QEFSVmhkYSg2Ri1LOH1eTEVjP204TzM+QTJTVG1tdVE/ZnJyQThYQjE3MUBaM3dGdS1TZEJvekwK
elg+VzJXLTB0S2J6eT1jd2xLa0ZxRD9FTndoeDY+WmR7TkhfdURGO2EoOzhOIUBSUTckbkNzUig+
M2hPQVptSEg3CnpYTztuN1BLOTF3UmpxQ1BMfnx0PC1kNEtTJXYybUhwQD85VjlMWGpqN2BAQ1BI
azdtPzdeZSRgZWtmNWZIVHtVfgp6aWBvclQlQl9uN1lZV1RUcjEwRTdWP2Z9RTdaKj1wUyhHVCok
VXU5cTMjU0w7ZX1hKX1rdXF3Jj9KSSU2MFhkbCYKelR4Nj5DNDJxX0I/U3lrR3Y+TSttanFycntT
PHt3Mzd3bndzVSl2aF87SU1+fXRKWTkjNX1Gd0JxP0xNYkF4biYtCnpLOVQpUyVYQHk/aUF8bVBE
ZmpOWE5qfjhJaEx9X3cod1hRbFhtfEElP2ltWDRITCY+X0MyWHFZaGJ9WjxleiRyeQp6REVMRTZZ
LXlmdHAmc1hQQkhPaD5KbXA7YiZ9ZmZqVWI3fENeKzh0cFZ6JV9fSm5uITgwPVc5OHY5UTBkZjRI
WmwKekNAaTxlbjtQM3cyIz1yKXR3fCNMciMwaUMySjx8Tkt+TDElYGxWcWVmZygzcXhUaWtJZmIo
bWYrNkx0bl9jb2BrCnpyUElMNW99eXlFPUslSnUqY084Z0x8bUg/PUNYZjlHTm04QVooeVhidE14
RiQtK0ZwPiYoPCtvXjw1YWZeVEJsPQp6KGBESFoqJlYoMWxqO3JnJFRtU3QhbkttRmNpbSpeNU5s
PTs2T0AmYmQwVWEqSWtqSjMpLXh+PEM9ekphSHBEJSEKekBsfTFLU21rYHJnK35AWGJ9R1khT2lO
OWl3bGZvJjlYTUxgYWJBOT1qIVQoSGR2KyooIVpfKT0haiY0UmBuN3pJCnpfaz9QNnFPLWZfbVM7
Y1gkRFFJR3JkMXNPd1MxczdxRCVnXzI1WTJ5TXw/YGh6M04/N2xSbE5kMHVSQ2RUSUs9Qwp6WlpA
QW9xS2ZXdyRrYDxydjIxfjQpZzdDRyQ9Zlh+REh9VlNHZiNFPThgKXElJVNYYGsrRXRKOXF1Rzda
VXo3V3oKenhAbSZwRG9tZ0Rse0RvQD14NHZ5QmM3bSk/YXNfKCYxJGg2Kn1tfGVIdEpzKj4mcVdA
R3tuakRwV1E0djttPlRACnpBJituUCZxVHZ5P1FoJkNeNkV9dkdwVGRQVEBtYGA0SD51bWZCcEtr
TkwpXjxAPmQkJU93c0VuQlR+YjtPe3R5WAp6P2N+NyU5en5kWVhPNnxleUJjUzIjaSl1cWRHOEgq
cmhvVDdnNDxwbSV3MFJRKjx1Y21hVXZrfDJTekdNLT1CJG8KemYpSHEkNX1oK3ozdSFtZ2l9YUpg
Xjt2a35sS0lEZDJlJGV6SjBkIXY0PTMpPUYkTWpGNS1KTHJfblZTTnRCWHc/Cno+VktoK3coUUxy
aCVDbmdoJnJ3ZWwlRE9KUyU+SnBQU0Q8MkUoJl45MVIyfjhyMEF8cW1pVS1xTExaYmgwMUZzSAp6
UjNUPmpmKFVSPUdPK1VUNVQjQ15NSmpSNWV5SVJnVm1xcVRgRiUzUTc4SlheMVloJXlJdl54fmZz
SGtkKWV6b28KemsoZyVOb0dacH43QH42SXdrVyRybWhldnY4YHw9PzQjPlRsKXU7UD56cztxSjNs
ezA2Kml9PlduVHwrQ3c9fjVhCnpKO3JZbG1aMjdnSEIoNmN2K3p9PVp9KG9nKTw0c0JCTklQQThp
YHd7S059P3hVaUYxe0V4M2ZidGZTNjxCPDxBSwp6RD5YR0hRbFUzZnd3SnpWLTBONihKQzZTVkkm
Pm5JdWMoVDgkbzBOSGM0NmBrSzxQPUNDYW04JXwwKWFRKTNmcGoKel4kK21mUTlaV1NFPFRLOEYh
NW5rKlczI01TeHJUTSZrSzBiZlVqQWJXa2phMD5nPEYkPnxrJW9STzlEWkxvLUZQCnpNZStJJEJq
fHczSVlxOykkcXd2M1ZGdXFBYGBVQ0lZSUA4Z3piflE1X0tkd1RVWUhuZnszQEY3ZGd2N0RhMmtj
Rwp6e0tiaGVpY05tU0RgMVdvelR6Z0FySElhbHRyciROeTgrRShVbCQqaTZ9Mj0qUDBvLWR5a0JS
TW5ATWVZNVlpVGIKekY8KDJiRnBoaWRwej1MRT9BMD1qMmZZJkordXlNKGlaYmBpMnEoZ2JtQ1A3
cHRmSHBTeSkrUWZtYEtydjR7ZSotCnp6MmhTaGwoNCNWJm1mR3gqYEUpU1Ihcn4wUnE3VHEreiVr
JU1DOSgoYWVRYHNNYz1yIU5YU0o1QURYTG8oPkAqTQp6ZStFVHV2X24oSTszPEV3QTkjPmQkKUJD
bkBmWVM0RGJTJUpBMmVfODZNNEVgbnVYdTVOb3ItSHhHdl47NzEoPFgKem5OYXIhd0ckRkU3YXhR
bTdnbW1fTCQteUpNRj54Vj57YjZ0UUVwLSRFZ0xPWTtpSFRrN0lzTT96dFEzfl9tNHlRCnplX2t1
IU9jeGJSd0M5dnB6bmwwcFFUOSRISlQrS2dBb2std3ojR1gyMyVNPVBLI0RjamhLUkA8UWs5I2Iy
flR8NAp6XmQ8azIrQWt5dWNLPShrRlRDfWxgTT9EZXV1RzclMGM7YHYzRVRlfkRnTGlmNFdRaGBh
UXdNbWdVYU0qPmdmZUoKeilBPTJsKyRMNDc7Z1BDOVJAO2NIYXVLUVZDaHVrPXhYX2VuSF98fjlE
JFFvJjdUUV57a3pPPSo5ZzFeIXt2USFkCno9VCh7SVMxNnIkdElfNistb1Zudz50VyhVSCVUV3dW
NUNndzUrWjVlRDAoNU9HZm4mTCp9Smdedmk7TURPJW81TAp6Mm12ekRzK3ttPipob05lcWFAJDk1
NSM+Um1tc1QpTFdpTnJVLWt3I3B4d0dWdWc0VUl7e2ZRaCtrR2JkWUhTR3QKejlmdyZ5dz4+WVE2
V1gyOUUjXnxOaT1UZzQ5e0d4OWxQRD90bz5hJn5TTzJrYUJPWmk9I25Cc3EzRVE3Pk1efHlxCnp3
WDBnbikyT1Jedz85UlBQQlNYX25ebXNReCU+a19LeUA2fkN0KG5IJkx2enRqbi0rKSZRPzElOypM
N05LUTB1Xgp6V1U/Mnx6LVA8fjt5Pmx5Vk81VEJCdXUkVHd4dGkyODYxVjFEVSlmUl8lYzY3Q1gw
fHNOQnVPWExyZyUoMU5vNVoKelBsbkMqSiVyMHoqUGlyJGVxfXZhZnolKGtgKVdDYl9WV083KUo7
K00zUmo8SFZGTHVIdXthU0FHQndkX0JEe34lCnoyNVAlO1U0aEUkV1VSKSheQXY4X3hqKUsmRkU8
Zj47WnlAbmp4cFBGPXI+KFp4OEBJVkxsZ1pfUWVAMTk4UllMJQp6S1Fgfk1iUj9uQStoRWJhOSs+
Jkx4JHU7Wi0wbWlDfEgrdVEoRHBQQUx0UTVxeGxgY3hkSFpKRzgjMEpQRDkhajQKenJYMDNXVlcx
Sm4ocX5tPWNGNDY+JSV4R2wkKkdJaWc7fF9wZE5eVjVLYytHSnd6fTVUVHk2YUNYaWxrVngzeXlf
Cno8JmZtcEh6T1VpR1BVKkFtSTF9NE58cl5QRUYoU3JqJkFQP21MdCFJdjFiZWlUWUwrb2hTbnpt
NysldF9SM1lscQp6Vj1eV0ZvMGhuaFNNXkcjYWAhJkV3TiZnRXdvMVd4bExlWkpZSjZQJlZCNlN7
Z2Uhe0slI31wKjRTZXRfNCl+MzsKeiZ+Pkc1cj5CTj5hZWEmfCk3KnRxT3BLMkQ8NGdVI3IrSUZJ
aUl6MyZvZzlTTWs2T2FPZFBEWnhOUXA1Nlk0PTFyCno1NUtfSS0qYzFNeUh0dUlaMXA7OzN8eSFa
KHRyVE4ta0UlbWlgYy1FRX4jUTdZMWg1bEBCczlQfEEmfHBPUWNOTAp6N2Zia1olT2BwVGNaRVN1
ViFUbmZHaHBwNUBqfD1kK1RWOGUhQWU9ZnpSdX0qakNVMmYrUGBofCVEYiV5OVJZTXgKejQxailh
Z04wXzteKTlRSnVCZz0+PHtsVFU4YVBvKlgjeFBgZlphUChDd0pxbkg4QUNpX3NqUDVNR3dZQ05U
c1ZVCnpgaGhMeCNtOHBRMGBPR1V5PUYtLVYrSk1sTzxYVmF5NmF0IT5zO2Y2NGpUQ0s+bX0+TlN3
ZzYjMSU1cE0/fDEzSgp6ZC1iNWFvc3tzVjkoK2VOe3tSbU90OylMcj5DWl98PT4yMXdtVT8xPUxw
SWlBMjk9ejBveVZibjsyXj9FKyNea0AKelE2MlhvO1JBaiZnc098REI7dVJwJUAxTyR0QnJsb3cp
OFdrWkUpYjV4QXNQZGlTaExLIT56e3k5ays0dCY8LWh0CnpkJW5jNmR9RUxqNlBqdSkhP2pRZTNk
WG5TN0p4aHlqY3lLPChDXlAxMCU5Pzc7Ulo5UDFoPXJgMGtJV1B1IWkyTAp6LUlANiNvY3dnSGBz
fjZkNSZpej8oQ1p6PlAxbjNSK1hNNUFlKm5oZzc4UFd4eUU9NmpsNkE3Q3xHODdkO0gxZUgKel5x
Km55M0dHNSZPYzdoVz89fG5+N0l6dDJPVHYtZF5UQjF6ODt2dH4jOEo2Yk9KbXhwaDF3WENZRVE9
TFc+ISh3CnpJaHROOHZ+dl5senxZekEmSykpJXJ2PnhqT0NKfXc8KGA7fSg2QXRgdU1tezM+JjBA
JVpxPT9IMmVZPG47O3J8Rwp6aVkqJjEmJiNJeGsjO1M9SzhVYGRrakxtYlRuVCklJFJ6VzReKFVn
Rjt4QFE7ej04NHBXTz55XmRLcXYrVDttVkgKelpOPV4wa2V4b0BgYUxjNnZoP0hEaE1XZnQ/ZWE3
OFVKY3BOIyQtaUJfQjl4SmNKeU5tOWwoandLejwhVVp0ZT4rCnpqOEx3OHt2SWs2Wl49YW95M0R3
ZEI7Tzh9cHQkMn1lNjlLJXsmLSlAY31pJkZOMngmZFFxfmloMitzVkZ8OSgoXgp6dSorYzNMMDVg
QDhtZlFfdDc8TCMmV2psZU9JRldncUZ3KSRrVVQmT3p1aSNaQFpXZWUqVmo2RmVkREtVNzFZJWcK
elJKI3QrRFdhP1h1OVpCTmNsSWlyR2UlYEZrdUBXKXNTUCZzaF9ETCZvYyhWeHw1I0pnKEFFP19J
SE5XcVMhJFFwCnolLT9+TjR1YnVDTlRMK19YNDJgYkxIclNYYmFtQlpORThYYDE1XjVYOUV4aURN
cn1jUzlOJjltazIhI1hrUGYreQp6T1dgdmNEQ21ONCY4RXlkWjJJMERTYXstVipMMlRwJW1jTlJn
dnowcS1sP3dmdFhJYEY3VWQme3RjIW9AJGgjQHsKemhDVE0/XmIwNXImZDc7TCRYRlJeYH53dD5A
ZjJlb1NRdmw1Wmw4czE2cygwJSk7JG9JOTZ+QEpIV3stSyFJPGx7CnphQStCPW0teiQ3JTY3K1FX
QnhAYUxIK15wUFgybmNRMlFnVSkha0F3U0BweDFnMT9vSW57V25zTFBMVSVgc04wVQp6cFJIe1gp
dSo2aClNY20pRWw1PTJ0UWc1NDxOSTxkXzVEdT8rWXhYe2M2OWpyUHdgPyphVjl+Y2o0e1FweUI0
ZDAKej8rUyp8VHhfP31NUFZPK2YkS1ZmPVQ/Wk02ZjlvKEl4MzZCbDN1JD1rcHNKb2huPFZ4MEZe
PGtfRDl+UzhWYHY2CnpYeUk4Mm5JVS1QKENMKko9WXowMlImQUh0Vzh1U1MyQEZvWTJXaCZBLWBX
Zno5UjgtcDJ1I1RUeGNmbyZ6bE1xYgp6WD8qfkc3aURxVHJUTlhoZE5JSVNQOyNrWHZHUWg/KEN6
ZzZIJEhFcnFFfSl0OFZgMzRrVEVfNHJffE44P0k9RmgKel5qZlBfem1fYV9IYTBgZEF8QHt1YzJZ
cmZyRD5VYyRJV0NgU2tQNEgobHZDbGlwJDRmZTB6JUdTTjsmdUVAbiQzCnoma31vOSU4QlBnOHU9
digoelAhUGwjREV8cVV6TypMSDE0Kk4yQW9ScSVyUC1vOUw8UnFAPyFlPWk2PU5TRjhHagp6WFUx
MSl7UXBiVFh0cXNRJSFWeDk4flZgMHR0aDxBeC1rd0FjZjhVTWZsMSFoUk8xSCMxWFFFfSNLckwz
N093U1gKem14dn0kR3AzbXQ+eXc4fGtsa2RMJHE2OD1WUH5nKmloO3ojNmwtR2BJbjRqTT5vZTFj
eEZwTH0ra2xyWEc7Tz1WCnpxQEdtRFNzPF8/c3VffWR3NWwrWjBTU3wjd3VnfUVHcXstZmRUQmdT
aj1IR3BefCVYZGZSdEx4ZzAmXypme1V7RQp6TEYkfEYyS0xyQUtKSkY4djQpWlJEbnx8PVNuO3Y1
YiNzI2teQXh8MjwjZEFIIVBSUExnQnIhcFBkQUNlI2VBYCoKenRKYSVNTEJ+M24/aWtHMig7bCVe
QyFPVmo9ZjlQemp0SH5JdERCKkJSSD87I21IVXFsKlI5UjhEekFXK014Ri1hCnpIaXBqNlV3M1Bl
ZTIpYGlFPThQSW4qdFJCa0pLfFoxV0tLeHhgfHt8RH0yPCF0eUErd2N9OSF8K31pUj8zaGJQTgp6
dTUjdHl5UngzbDIzb15kNlk+O1ZXOWJaeXpwY2tMSH55Ni0oZXxZcEhARFlzaXZIUU1IVEMmPG52
XnB+bVhlaDEKemN2aSV6YlpkSlFwSiVKbzl3VTdlNTk3ITs/eiU+RiEzJn0kIX1NKSRuTEg8bXVt
UT9rNyhiRXA7N01HP3ZVKiF3CnpMRERrOV5od2I5KUhQa2lxIyFmP1BkSUF9JVh2ez01bWhiLUU/
Qmh7QjwkcDU+dHYwQUIzKCVGTCt4WlBhR2A7WAp6KXt8dHxiRUEqUzJrNkBGKEQyMkt7QFlCdml0
YXI9JW0mRW9tYTY2dnNXX3BrVyk8ISNgaiZXYz94WCVAJHRTfUIKekB0XzV+Ry1rUVFhLTtkJXIk
KjNzOXlYRTZOfmJPcl5mZ3Y2cD9SQX5QNn02NDM0Yy0/dGBSWTBEPCM1Y0dWQVRXCnphT2lFYypJ
TWhkVDl6X29pQWl+dWRBaDt4dyQ7PVdiOEwwcCU2cmlrd1A+dFg2fiRockFAdntFMmBXKCpgSUZQ
MQp6TUBBXmhQcUBrODVoaklHLTt7JXpEe1ZuIWVQVThyc2ZiXn1feFkxS3leR0lBM0g/SzghbjRR
dVZybHM4P3tucmcKemlxU1NDPTI+b2t7QGBwY1E5U0FVPH1keEpPYj9mPyYjb1JeaXJKKVIqfnte
NW59LSpMXi1PNkY5dDtyZj5jTSY1CnpYbFAmeDItVjhBNykyITIzemZoaiQ1ejRHU2FiT0dpJkZg
TSFLNmI3P0t6KklYMnM7PWg3aV5VSH5lJmohdiVnPAp6YGs8RjxYMmEzOGV0MyhqPTFKVD47UitG
I3BXUGk4KzBSTGU4aC1WQjZYMUo8S0x5S2wme2NoMFF6b2Z4VnohdUgKekxfPy1ERUU2cSQxOX0/
O0skcHBQKiEydClqMmNYR2AwYjNwLWEoSDkoVmBBSS1GemgjTkpTOVN5aj1yY3VUSTZiCnpFT21s
YSVZRHpxaDV5KTVELSF5QT5PKk5ZN2dyaz1HTjZSSzx5S2h6cVJaI0h6ZWo+K153NyFMSlhKamgj
WUYwfAp6ezhxeXh8QX5TUmRiVHc+RSkkRn5JU2M5UDB5Sn08ZjRSODgyd2o8eUojRk93OW1pZ3Ip
fjQmbERgOzBQQGVONUMKejt0eWdXIzZKJkJyS3hWSCljRXF+eG4xTDxUdmZQYW5YcWw7KUBDMFlF
bmwrSCktNnZSMSVASjVMO2RtTFgyJU1uCnojYTg1Ujxofn5ZNF9+WlQ/emJvVHFCLTxBSjN7aDlD
fmlOVmVtc1pSeT5WXmghMSUxa1FGODw9TGFMWCZvOWVzTgp6MnRAZT94JTRrT095S0k1JnNAX1Rz
JCpFUVJrbz1laCVQdVo5dXB+TWx4K1BSekhOKnttP3lRO3FERzc9c35WPFYKelVKfEJYUXktOCpq
RTZUUUklWitXKWk1diVzX3B2TSlVeyUjb1RaeXs1eGVZT3o4fCt0OUBDendQaU9sKkhVQ3JKCnpT
bkRwYlpzIzZYTnkjYEo5MEJoUCZlRHF4ZkJEJjM5bzxJUVdZcWxyUzgtUCEpSV8lUjVwKThHTXY9
JTRCRkpJewp6NmM4QTtJNUglRmtnI1cxR2xHSkU/NFljUGZVKyt0QWhITjM2SiphSUFQUHU4bWFx
cmBTdDkhJDAqQ31xMnFFQ3QKemBoOVE4Wj1OO3ZycnhXMWV7fWNsdUl7UStfdHJncSYrcT11YE10
LWNAR05qPkRZd0Nre2ZBYS1tVH5mQT5wdVVPCnpzeER5PE50OThrPzIrSjxAI0tNWjxDfmt1OWVZ
SGg1NEBYP2BPS3pXZTkyYjdPbWJMWT92djklVztMS1FPKnUlfgp6eDdUTXNrJmlqR3hVakdiQmZU
S1ImdThFJkZBbztVWV4ycH4rTlhESzFPNzhDb0RMQjZ8MG9LdT8+cF5wM0klLTAKejhVS2VTLWFn
SlJxQXVEJGw/KHF1P342RzxseWd3Z0QhenpnSDwhKlRzZVJJTEdnalMrPEkmfDtRM0BKX0M7JTV6
Cno5MFdvUiNlISs5ezJMX15edzMkZUs5KHR0Qyo2ZzR6SWNic2NPdlB+c2JGTTlvLVZGLVdeKEpN
MDEldXVYb3V+Nwp6V191SmcpQCRxfjUkNyt2SmFDcUAmN2BjOEFwbWJnbEYodUFYTzgwO0FfTT1e
b2grTU5PMTREWEh0eHZmWjk0aEUKejZHcTthIXl9NHchO042YismemlKZzRBaEF2b35RN0lCRjNp
RzlDKEZiOD1JPWN8IT1fVmxyayM3UEBMfXJHI3ZKCno5SnowT19OZmdNSlgybi1MSUJ5ck9SYTN6
PCgpYCZGdlZAel5Yckc7eHsoUCpvbj85PGktaHp+Mz11NiVoUSp6MAp6Q2kmOCg8P2x4KEomMHV9
bFVeTz1QJmo/ND15MnVKQzBGX0cxfHk3bk87WEBzdmhlZkUqdnMhMDsrRkJkXyZ1bkQKejg/VCM5
Kj84Sz1gQDdTcDNpVVNJK1Ymckt1Tis0Z2YtY2JeUzBmNlNGTjtnJXF9I1pUQkJQdEF7M0o2QXBS
eWpnCnppTUpqbFRORmFaTTxaQWpHM21aVihFRjs2ZTJ+MEFsNzFLMWN5dl9VUFV2MHk8YGNeOExR
Z0gmNzAzMW9VYUlrRQp6JGdFcmZQeykxPUkraEhmdH0lU1RiWD14T3F6LT40ez8hMm5wKEI2IUBz
MWZPQ3NnJF84ezteVVdnSlh0Q01GMX0KendiO1gjalZkWj9EO3xzLWcpdUx8ZX4hR3RYYGV1dnBV
UiNzQj1wcDdDNVBLWVpeOUQlRGI1bi1JcGl4QE8+aWtwCnpgaStudU9pNnhtVGZVeDNaKElgYnNB
RmRJKWNlNS13Zl8yUmVvMDVXVytSS3QhTn5xTjQ+elghVX5WWHlZWWwyVAp6XztENDRYXjU9d1N9
XnRDTmdCME1SX3cmNllaZGxAJUFzfVQ7MkFZbWVEcSN9I0dXKEpqT15DKXp9XjlgPUtTUlMKejkp
a0szQjRHTEVUN099QWJ7Z2RrWXE2ZzA2PFpwVmA1SkE/R0NkMEhgOyFiezQkIVE3NCR7TCk0QFk7
KHhwVHNqCno0dSMjWnsyKHV7SylFYDA/b0dwZVN1ZjhTO3YrQ0VlQCs5c0NgQEp4Ymw1b01xMD5Y
RT1QfmdvOE8/cXlIezY7dwp6XmNATTw3S18oI3NXSStLK0ZpUktybHhuM3A5dDFNeHUlRzRgMngo
O3NnJmVSVE0paDZZe1BpcWo2bTZec0B8ajcKeitjNmhyM0ZAdEUwYSo2OGlGP2whclI8dW9zSEco
Rk0xTSRMV31ydUxUb1FvI0dHbSk3Plp+NzJTSDdSNzdka3pDCno9KXxJc2lmTVp1M2J1LXVFVnM9
Z3xLM09fK35YVTRgMC1ON3tvIU1GY1lufGJhc3dAQUdBRnEzPFNnXkI2a0heeAp6WHgre09vaTB+
Y19reiQwPiFsfFB4Z282OWtvY1NURXMlflRBIWpmcjFVZzczRDJrWT8/aGFyJndMITMyU2EhcnAK
elY1OWVYRHl9Z2R3OXlAT3lxZk8wZSkyN2ktKDYjMD8mO2FOUTA1T0R1SCtYRytKYz92IT92b21C
aGBBKzZJbn5FCnptQWs/fUQoTlY5b3FgSmxyeChvSnIrN2VXRnZXO2lRPTgwISpiPkAoJlQ0bDk0
fSZRfGUocClRQVpWa3NtWFZxSQp6NnA0ZiFHeGlTX19kfU1SKTxiMyk+eSVna1BSN31xaFRVSURy
UzMtbXJqTjdRT0l5dzE/PkNlaXhIfFBhUjZ5c14Kej0tUEBNRUpFZFloXkRPLW8wUXdCPj5aKnlH
YmUzQHlTTnh+ZnNLYnZnQU11LTMyRn4zTCM9UmtqVkN1I2NVVk4yCno/bmFVKGRHSXVEY21WVENG
fX54Kl9NWEYrP01gT1hfS2AwJik2NkJ+KUoraCkjaj48d19IWUp3NystMFA9eSlrJAp6JURKenIj
Vj41dHpjfEZkTnRPUF88OStwZnJRP1c4KWRSQiEpdGVRXjFFJGtpaC16MDBlem1qS3dwfkhLTyVt
WmsKejFfSWVeRi1qO2NlQEk3QylBWDlmc3AhXzk0OGlgSmRxbH1mTVV0YTtWOWJvU3BIR28hPHxL
MXtESE9hbXZFQVE3CnpYWlkpamBuVDVAUkl2JlM9bTx+RjNyZm45OH15fiZITDxFYU55O2FBdGtI
cj0/U209TG97SytqP2BzRTF1cU9wTwp6S0B1QDwqN0dsPjshKWdYIyVmKVpPRWVzVTQyZitTY2Bp
U1plPF5iV0l4TGUxYmo0U3BCfGkyUiooREBzKSomT2AKelVRfSRlP1VUPm05VGc+M3YtZldRNF9Y
MSo4ZmNEISkmKztRLT4lNHc7a1p9eSQpSHlqUzdrZDRISmBYWldNNmJTCnpWXmRwQ2NKbXIjbSZT
P1FuMnRoaDA5dC1WP1VfOEAqJmlOSSZvPDxxSU9FNSNCdUNyQ3lFVENOeWhJfFhlVWhRNwp6R2gm
SyY9Vz1mUHZ9OzNVV15TP35OYGJzcitHalN9YkhiJFo3YG5RQjJfNXd8MHctdDdCRFZtelN0Vkpu
SCtNTE4KenJNUVFQMlIxN2lheSN1YGhmI3tWeXtZa1hRdUlBa2Z1V0RFeEVvdCVsaChjem5rSHBY
Pnt3cjBibCN9LSolb34wCnphN0U3KkVOWkB5MSR8eDVtNEM+bzx3entyfDJVREREaS1hIWpoTEQy
WXsoIUN1KFo0NjEhdCk+VGoqdGBWaFpmXgp6OGM0YlJhZF9uRDFuJWs1LVpmeFZ3NSE3RXthLUF6
clohZU93KVZGO0xEWkJsdj5RPDArWT1lNj4zK0p9fElgemEKend4T0ZGTkgqRno+aE1fNGQpOVlN
S3wkKzlya2dfQER+R24pTlBTb0BeNzhqVmt1Y1RtdlcpZXA4aFRmJiMqZU5pCnpaKCRucWIqfFAo
ZiZGMTtTO31eOGtAKVVuX1p6ajJaTEpkfnFVUiNtKkx9Z3JZLSs8JGFxaDFiSkhIVGp2QG91MAp6
ZyUzfUZxdVNzZj5aajFIangzJCMmTDxEVkApTnZAZ0JPNztuVnlCUVVzLXhCQFQ/XjElKyNgYzgr
UihQYkstV2UKeiQ4RFF7OyF6VCVxLUhDTjJ4TXkhYHQtdDl4Y08tUGk5JntiaDheTyRqXmBsSSE4
RXQ+YjxZKW12Mjd+PW9jP2ttCnp7Q1NmNkRWNlVaT00kT2ZmJmdQfTJGRX5QI204K2c/a0g1PklE
WFZHWUdmKXlwOXUjT1kmTF51djt3QUE2eiUmQAp6aDlQP253cE9OZT4qYnVrdDF3LTRtczRGR21L
SW8jSTk8Xk50cmgybz8kcXZmWmZZbHEtO3J+K2FJJjRJVnNOTjcKejU+LV9qI0ReWUhXQCp5KFRC
NTh+KylZUz1AOS1lOCZJYEx4MStVdV4yUXFiSy1aXkxpbV5obUVCPXxgYjtOKCM+CnpqPTlzJnI2
TWQocHBKcHlZKUVfUk40PX5RVkYlQDQ4S3AwPXBsZ1llRGpJMlgqSEUyIXJ8YU0ld29KQ3xmO2lA
Mwp6dVcrfDNGeXxyOFdYOHtUKihZUElJNmp0a1YxSE88aGFZaSFQJG9gS1BpeikxK0BDeWpPUk0+
KGM9PENFNF4zSWkKelBvKHl4XiFpek92UzI+YkBmaioxTVpESUk1KmYyU0xsYThwYXU1KlFnfTFx
T2xydCorX0hGQWs+TT9FRGlAdk5ZCnp7dzQrc2N6WEBzcVZxYE1TTnRVPkAlcGIxYHdoRT01JE95
MThzWldEQHR+aFhoJVZMemApPWVhY3xEMitGPHZmQQp6V1gtLTNIeUtoSDRnNSV9VXg+bjtPWk51
M24kXjFxJlFhViZUPjBHam9IKmtraCY8RDlydWl+Y3djSCREel9GdSkKekhrfileNTBsP1JZPHY8
S0RtI090JSRBbDwpQiN5KGhlSW1AM1lKdTVfI2FnMl9PQ3dYJFBJUCtSRDI7cT1gZi0/Cno+e15o
M1I8ZHE7c3FwR1Nub3lHUVYxaXluQjJEVyNpejJGdFVTSlJwSjZBVmJwKmpzRzxBYChFQFlgIWJV
P2E9cAp6Xilzc3NPe2AwfDNjN2tDUk9LemMlaTdNXjZYeyhSJU5IRWI/NmcqSHdsJkBNKHo5aG1P
WVBGPXE0fUQqeitIRTAKek1XfWRZP19mVV9HZnRzVChzaT05VERQcXZfMFZhYiorTmhOZlZqYm9A
ezdyUXpOI1ljKyRfRGA4OHtIJmFWTEdsCnpFLXFmYnw4UkEmJjA7Wl5IRDFoOTZhSiZxM1RjRERe
PXJ3X3dPKCZHPDYtSHRtbWUrKD5ifm8mJkdhI04tcnFvfgp6VjUjLT5XYWFIWEdtWjVjP1ZrSEpy
dHZqK25MKXx4SHwxNk5XbWVkZCV+SUBeSCl0TTdwaz56XzsxTjQ2YUxvaGEKendTaU1CVnkkRjJ4
Z0BscmolbS1XMGAhVjEwND1GUXA3YEBHO2N3cG1tQUdART1aUS1YckR8fD5DKH5ldyMoR0I2Cnpm
fn5JJjd0Xj5wZENsVm8jVDN0PWNuQ2JYIUskYVJje0JPdCR0e352bGN2aGFiPjROdkRjIzZqWGZ9
Y1JyaGgqQAp6dT1iKExyWSVNeEgrV3ojcnBxVXV8SVg3R2pIfUdYQClvZHVodS0/fDFAcUJEJSVy
OEs3WTs5UnQ3bDNsQ2dJfGcKej9+KGU3U0RPeVcxJjltZCRCSkk2ajBWWW8xbGklUVd3ZXYhbGt4
ci0tc15rKSk2TCNzKWs+KkhLRnkpZytaNkwxCnpuQ25HUlZZOHR9SV9AUm0/Ql9ed29DX2VycXx9
aitJM3wrIWIob1ZYcDhyYFdjXjt0UEY5ZXFHZStuJXhlWCEhWQp6JWZ6Qn1BXjx+fVklSGxTYXJL
dSYpMlJrO1dlWml3VGB9MTJ1RkFRPWUoUm1+R28zVyZ4UXZUUkhBPChJUUB1TDMKejBKOTc0ez57
R3JlOyhAcHpVQkM1Y0pIXlphWSs5MUhtWmRFWEF5WWNeUWpoPmhfZVd7YE5gTSg7bCFJLSpSfU59
CnpTPzxJcTRMR0lnJl5sMnxOe2pBOW43Ty1HPEpTNUlZMF5+RFh9KGgqJGBmVVhHZUxFTVhpSmBw
K2VWdEFANXFhbQp6cXNfc01qezdBbCM/K2czLTNNZHxMUmomdV9sRyt8RE5EJT9BfFYteXYzamdy
OGQrTEhxNGNtJG15QyROX15mNjMKejllUigpSlAtIX49fUxEKDRuYk9CaHRDcUclMSRpLXlqc2E7
VmlKeU1sQSZUPl5gMStsK3Q0OCNldGZ3OGBwPj1rCnp1US0+VWlwKGF0X2hDZ0JXJVRHKV9uYn4l
UGsrQ0JyYTU4ejhFZDZ8eHIwP3d3Y00yZGw+SFN9Ylh4dFk8dmVEQAp6UHFuUE50WmIpJmwrcSQl
ZXhAaGsrSyFJSnFwZXAhJChrP0dWYko+Sj8/aTsoaXhVNk5HdGhVNE5kSkw+e2ROQHAKdWx7VXdC
Xzc0OW1YOGJlY2BkPX5Razl2VUxoV1k8V05CJD9AYFM7WWV8M0R9SFU2VkxJNUMwRHJSYnVlfgoK
bGl0ZXJhbCAwCkhjbVY/ZDAwMDAxCgpkaWZmIC0tZ2l0IGEvV2Vic2l0ZXMvd2Via2l0Lm9yZy9k
ZW1vcy93ZWJtZXRhbC9jdWJlcy5qcyBiL1dlYnNpdGVzL3dlYmtpdC5vcmcvZGVtb3Mvd2VibWV0
YWwvY3ViZXMuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uM2RlYmI4OTEzODQ1M2JmNTZmZjg0MTFmYTY4MWQ3MGVl
YWFiODNlYwotLS0gL2Rldi9udWxsCisrKyBiL1dlYnNpdGVzL3dlYmtpdC5vcmcvZGVtb3Mvd2Vi
bWV0YWwvY3ViZXMuanMKQEAgLTAsMCArMSwzNDQgQEAKK2NsYXNzIFVuaWZvcm0geworICAgIGNv
bnN0cnVjdG9yKGZsb2F0MzJBcnJheSkgeworICAgICAgICBpZiAoZmxvYXQzMkFycmF5ICYmIGZs
b2F0MzJBcnJheS5sZW5ndGggIT0gNjQpIHsKKyAgICAgICAgICAgIGNvbnNvbGUubG9nKCJJbmNv
cnJlY3QgYmFja2luZyBzdG9yZSBmb3IgVW5pZm9ybSIpOworICAgICAgICAgICAgcmV0dXJuOwor
ICAgICAgICB9CisKKyAgICAgICAgdGhpcy5hcnJheSA9IGZsb2F0MzJBcnJheSB8fCBuZXcgRmxv
YXQzMkFycmF5KDY0KTsKKyAgICB9CisgICAgLy8gTGF5b3V0IGlzCisgICAgLy8gMC0xNSA9IG1v
ZGVsX3ZpZXdfcHJvamVjdGlvbl9tYXRyaXggKGZsb2F0NHg0KQorICAgIC8vIDE2LTMxID0gbm9y
bWFsIG1hdHJpeCAoZmxvYXQ0eDQpCisgICAgLy8gMzItMzUgPSBhbWJpZW50IGNvbG9yIChmbG9h
dDQpCisgICAgLy8gMzYgPSBtdWx0aXBsaWVyIChpbnQpCisgICAgZ2V0IGJ1ZmZlcigpIHsKKyAg
ICAgICAgcmV0dXJuIHRoaXMuYXJyYXk7CisgICAgfQorICAgIGdldCBtdnAoKSB7CisgICAgICAg
IHJldHVybiB0aGlzLmFycmF5LnN1YmFycmF5KDAsIDE2KTsKKyAgICB9CisgICAgZ2V0IG5vcm1h
bCgpIHsKKyAgICAgICAgcmV0dXJuIHRoaXMuYXJyYXkuc3ViYXJyYXkoMTYsIDMyKTsKKyAgICB9
CisgICAgZ2V0IGFtYmllbnRDb2xvcigpIHsKKyAgICAgICAgcmV0dXJuIHRoaXMuYXJyYXkuc3Vi
YXJyYXkoMzIsIDM2KTsKKyAgICB9CisgICAgZ2V0IG11bHRpcGxpZXIoKSB7CisgICAgICAgIHJl
dHVybiB0aGlzLmFycmF5WzQwXTsKKyAgICB9CisgICAgc2V0IG12cCh2YWx1ZSkgeworICAgICAg
ICB0aGlzLl9jb3B5TWF0cml4KHZhbHVlLCAwKTsKKyAgICB9CisgICAgc2V0IG5vcm1hbCh2YWx1
ZSkgeworICAgICAgICB0aGlzLl9jb3B5TWF0cml4KHZhbHVlLCAxNik7CisgICAgfQorICAgIHNl
dCBhbWJpZW50Q29sb3IodmFsdWUpIHsKKyAgICAgICAgdGhpcy5hcnJheVszMl0gPSB2YWx1ZVsw
XTsKKyAgICAgICAgdGhpcy5hcnJheVszM10gPSB2YWx1ZVsxXTsKKyAgICAgICAgdGhpcy5hcnJh
eVszNF0gPSB2YWx1ZVsyXTsKKyAgICAgICAgdGhpcy5hcnJheVszNV0gPSB2YWx1ZVszXTsKKyAg
ICB9CisgICAgc2V0IG11bHRpcGxpZXIodmFsdWUpIHsKKyAgICAgICAgdGhpcy5hcnJheVszNl0g
PSB2YWx1ZTsKKyAgICB9CisgICAgX2NvcHlNYXRyaXgobWF0cml4LCBvZmZzZXQpIHsKKyAgICAg
ICAgZm9yICh2YXIgaSA9IDA7IGkgPCAxNjsgaSsrKSB7CisgICAgICAgICAgICB0aGlzLmFycmF5
W29mZnNldCArIGldID0gbWF0cml4W2ldOworICAgICAgICB9CisgICAgfQorfQorCitjb25zdCBz
bW9vdGhzdGVwID0gKG1pbiwgbWF4LCB2YWx1ZSkgPT4geworICAgIGxldCB4ID0gTWF0aC5tYXgo
MCwgTWF0aC5taW4oMSwgKHZhbHVlIC0gbWluKSAvIChtYXggLSBtaW4pKSk7CisgICAgcmV0dXJu
IHggKiB4ICogKDMgLSAyICogeCk7Cit9OworCitjb25zdCBpblRpbWVSYW5nZSA9IChub3csIHN0
YXJ0LCBlbmQsIHBlcmlvZCkgPT4geworICAgIGxldCBvZmZzZXQgPSBub3cgJSBwZXJpb2Q7Cisg
ICAgcmV0dXJuIG9mZnNldCA+PSBzdGFydCAmJiBvZmZzZXQgPD0gZW5kOworfTsKKworY29uc3Qg
dGltZVJhbmdlT2Zmc2V0ID0gKG5vdywgc3RhcnQsIGVuZCwgcGVyaW9kKSA9PiB7CisgICAgaWYg
KCFpblRpbWVSYW5nZShub3csIHN0YXJ0LCBlbmQsIHBlcmlvZCkpIHsKKyAgICAgICAgcmV0dXJu
IDA7CisgICAgfQorICAgIGxldCBvZmZzZXQgPSBub3cgJSBwZXJpb2Q7CisgICAgcmV0dXJuIE1h
dGgubWluKDEsIE1hdGgubWF4KDAsIChvZmZzZXQgLSBzdGFydCkgLyAoZW5kIC0gc3RhcnQpKSk7
Cit9OworCitjb25zdCBtaWRkbGVQZWFrVGltZVJhbmdlT2Zmc2V0ID0gKG5vdywgc3RhcnQsIGVu
ZCwgcGVyaW9kKSA9PiB7CisgICAgbGV0IG9mZnNldCA9IHRpbWVSYW5nZU9mZnNldChub3csIHN0
YXJ0LCBlbmQsIHBlcmlvZCk7CisgICAgcmV0dXJuIDEgLSBNYXRoLmFicygwLjUgLSBvZmZzZXQp
ICogMjsKK307CisKK2NvbnN0IGtOdW1BY3RpdmVVbmlmb3JtQnVmZmVycyA9IDM7Citjb25zdCBr
TnVtYmVyT2ZCb3hlc1BlckF4aXMgPSA2OworY29uc3Qga051bWJlck9mQm94ZXMgPSBrTnVtYmVy
T2ZCb3hlc1BlckF4aXMgKiBrTnVtYmVyT2ZCb3hlc1BlckF4aXM7Citjb25zdCBrQm94QmFzZUFt
YmllbnRDb2xvciA9IFswLjIsIDAuMiwgMC4yLCAxLjBdOworY29uc3Qga0ZPVlkgPSA0NS4wIC8g
MTgwICogTWF0aC5QSTsKK2NvbnN0IGtFeWUgPSB2ZWMzLmZyb21WYWx1ZXMoMC4wLCAyLjc1LCAt
Mik7Citjb25zdCBrQ2VudGVyID0gdmVjMy5mcm9tVmFsdWVzKDAuMCwgMS41LCAxLjApOworY29u
c3Qga1VwID0gdmVjMy5mcm9tVmFsdWVzKDAuMCwgMS4wLCAwLjApOworY29uc3Qga0VkZ2UgPSAx
LjUgLyBrTnVtYmVyT2ZCb3hlc1BlckF4aXMgOworCitjb25zdCBrQ3ViZVZlcnRleERhdGEgPSBu
ZXcgRmxvYXQzMkFycmF5KAorWworICAgIGtFZGdlLCAta0VkZ2UsIGtFZGdlLCAwLjAsIC0xLjAs
IDAuMCwKKyAgICAta0VkZ2UsIC1rRWRnZSwga0VkZ2UsIDAuMCwgLTEuMCwgMC4wLAorICAgIC1r
RWRnZSwgLWtFZGdlLCAta0VkZ2UsIDAuMCwgLTEuMCwgMC4wLAorICAgIGtFZGdlLCAta0VkZ2Us
IC1rRWRnZSwgMC4wLCAtMS4wLCAwLjAsCisgICAga0VkZ2UsIC1rRWRnZSwga0VkZ2UsIDAuMCwg
LTEuMCwgMC4wLAorICAgIC1rRWRnZSwgLWtFZGdlLCAta0VkZ2UsIDAuMCwgLTEuMCwgMC4wLAor
CisgICAga0VkZ2UsIGtFZGdlLCBrRWRnZSwgMS4wLCAwLjAsIDAuMCwKKyAgICBrRWRnZSwgLWtF
ZGdlLCBrRWRnZSwgMS4wLCAwLjAsIDAuMCwKKyAgICBrRWRnZSwgLWtFZGdlLCAta0VkZ2UsIDEu
MCwgMC4wLCAwLjAsCisgICAga0VkZ2UsIGtFZGdlLCAta0VkZ2UsIDEuMCwgMC4wLCAwLjAsCisg
ICAga0VkZ2UsIGtFZGdlLCBrRWRnZSwgMS4wLCAwLjAsIDAuMCwKKyAgICBrRWRnZSwgLWtFZGdl
LCAta0VkZ2UsIDEuMCwgMC4wLCAwLjAsCisKKyAgICAta0VkZ2UsIGtFZGdlLCBrRWRnZSwgMC4w
LCAxLjAsIDAuMCwKKyAgICBrRWRnZSwga0VkZ2UsIGtFZGdlLCAwLjAsIDEuMCwgMC4wLAorICAg
IGtFZGdlLCBrRWRnZSwgLWtFZGdlLCAwLjAsIDEuMCwgMC4wLAorICAgIC1rRWRnZSwga0VkZ2Us
IC1rRWRnZSwgMC4wLCAxLjAsIDAuMCwKKyAgICAta0VkZ2UsIGtFZGdlLCBrRWRnZSwgMC4wLCAx
LjAsIDAuMCwKKyAgICBrRWRnZSwga0VkZ2UsIC1rRWRnZSwgMC4wLCAxLjAsIDAuMCwKKworICAg
IC1rRWRnZSwgLWtFZGdlLCBrRWRnZSwgLTEuMCwgMC4wLCAwLjAsCisgICAgLWtFZGdlLCBrRWRn
ZSwga0VkZ2UsIC0xLjAsIDAuMCwgMC4wLAorICAgIC1rRWRnZSwga0VkZ2UsIC1rRWRnZSwgLTEu
MCwgMC4wLCAwLjAsCisgICAgLWtFZGdlLCAta0VkZ2UsIC1rRWRnZSwgLTEuMCwgMC4wLCAwLjAs
CisgICAgLWtFZGdlLCAta0VkZ2UsIGtFZGdlLCAtMS4wLCAwLjAsIDAuMCwKKyAgICAta0VkZ2Us
IGtFZGdlLCAta0VkZ2UsIC0xLjAsIDAuMCwgMC4wLAorCisgICAga0VkZ2UsIGtFZGdlLCBrRWRn
ZSwgMC4wLCAwLjAsIDEuMCwKKyAgICAta0VkZ2UsIGtFZGdlLCBrRWRnZSwgMC4wLCAwLjAsIDEu
MCwKKyAgICAta0VkZ2UsIC1rRWRnZSwga0VkZ2UsIDAuMCwgMC4wLCAxLjAsCisgICAgLWtFZGdl
LCAta0VkZ2UsIGtFZGdlLCAwLjAsIDAuMCwgMS4wLAorICAgIGtFZGdlLCAta0VkZ2UsIGtFZGdl
LCAwLjAsIDAuMCwgMS4wLAorICAgIGtFZGdlLCBrRWRnZSwga0VkZ2UsIDAuMCwgMC4wLCAxLjAs
CisKKyAgICBrRWRnZSwgLWtFZGdlLCAta0VkZ2UsIDAuMCwgMC4wLCAtMS4wLAorICAgIC1rRWRn
ZSwgLWtFZGdlLCAta0VkZ2UsIDAuMCwgMC4wLCAtMS4wLAorICAgIC1rRWRnZSwga0VkZ2UsIC1r
RWRnZSwgMC4wLCAwLjAsIC0xLjAsCisgICAga0VkZ2UsIGtFZGdlLCAta0VkZ2UsIDAuMCwgMC4w
LCAtMS4wLAorICAgIGtFZGdlLCAta0VkZ2UsIC1rRWRnZSwgMC4wLCAwLjAsIC0xLjAsCisgICAg
LWtFZGdlLCBrRWRnZSwgLWtFZGdlLCAwLjAsIDAuMCwgLTEuMAorXSk7CisKK2xldCBncHU7Cits
ZXQgY29tbWFuZFF1ZXVlOworbGV0IHJlbmRlclBhc3NEZXNjcmlwdG9yOworbGV0IHJlbmRlclBp
cGVsaW5lU3RhdGU7CitsZXQgZGVwdGhTdGVuY2lsU3RhdGU7CisKK2xldCBwcm9qZWN0aW9uTWF0
cml4ID0gbWF0NC5jcmVhdGUoKTsKK2xldCB2aWV3TWF0cml4ID0gbWF0NC5jcmVhdGUoKTsKKwor
dmFyIHN0YXJ0VGltZTsKK3ZhciBlbGFwc2VkVGltZTsKK2xldCBjYW1lcmFSb3RhdGlvbiA9IDA7
CitsZXQgY2FtZXJhQWx0aXR1ZGUgPSAwOworCitjb25zdCB1bmlmb3JtQnVmZmVycyA9IG5ldyBB
cnJheShrTnVtQWN0aXZlVW5pZm9ybUJ1ZmZlcnMpOwordmFyIGN1cnJlbnRVbmlmb3JtQnVmZmVy
SW5kZXggPSAwOworCit3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIGluaXQsIGZhbHNl
KTsKKworZnVuY3Rpb24gaW5pdCgpIHsKKworICAgIGlmICghY2hlY2tGb3JXZWJNZXRhbCgpKSB7
CisgICAgICAgIHJldHVybjsKKyAgICB9CisKKyAgICBsZXQgY2FudmFzID0gZG9jdW1lbnQucXVl
cnlTZWxlY3RvcigiY2FudmFzIik7CisgICAgbGV0IGNhbnZhc1NpemUgPSBjYW52YXMuZ2V0Qm91
bmRpbmdDbGllbnRSZWN0KCk7CisgICAgY2FudmFzLndpZHRoID0gY2FudmFzU2l6ZS53aWR0aDsK
KyAgICBjYW52YXMuaGVpZ2h0ID0gY2FudmFzU2l6ZS5oZWlnaHQ7CisKKyAgICBsZXQgYXNwZWN0
ID0gTWF0aC5hYnMoY2FudmFzU2l6ZS53aWR0aCAvIGNhbnZhc1NpemUuaGVpZ2h0KTsKKyAgICBt
YXQ0LnBlcnNwZWN0aXZlKHByb2plY3Rpb25NYXRyaXgsIGtGT1ZZLCBhc3BlY3QsIDAuMSwgMTAw
LjApOworICAgIG1hdDQubG9va0F0KHZpZXdNYXRyaXgsIGtFeWUsIGtDZW50ZXIsIGtVcCk7CisK
KyAgICBncHUgPSBjYW52YXMuZ2V0Q29udGV4dCgid2VibWV0YWwiKTsKKyAgICBjb21tYW5kUXVl
dWUgPSBncHUuY3JlYXRlQ29tbWFuZFF1ZXVlKCk7CisKKyAgICBsZXQgbGlicmFyeSA9IGdwdS5j
cmVhdGVMaWJyYXJ5KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJsaWJyYXJ5IikudGV4dCk7Cisg
ICAgbGV0IHZlcnRleEZ1bmN0aW9uID0gbGlicmFyeS5mdW5jdGlvbldpdGhOYW1lKCJ2ZXJ0ZXhf
ZnVuY3Rpb24iKTsKKyAgICBsZXQgZnJhZ21lbnRGdW5jdGlvbiA9IGxpYnJhcnkuZnVuY3Rpb25X
aXRoTmFtZSgiZnJhZ21lbnRfZnVuY3Rpb24iKTsKKworICAgIGlmICghbGlicmFyeSB8fCAhZnJh
Z21lbnRGdW5jdGlvbiB8fCAhdmVydGV4RnVuY3Rpb24pIHsKKyAgICAgICAgcmV0dXJuOworICAg
IH0KKworICAgIHZhciBwaXBlbGluZURlc2NyaXB0b3IgPSBuZXcgV2ViTWV0YWxSZW5kZXJQaXBl
bGluZURlc2NyaXB0b3IoKTsKKyAgICBwaXBlbGluZURlc2NyaXB0b3IudmVydGV4RnVuY3Rpb24g
PSB2ZXJ0ZXhGdW5jdGlvbjsKKyAgICBwaXBlbGluZURlc2NyaXB0b3IuZnJhZ21lbnRGdW5jdGlv
biA9IGZyYWdtZW50RnVuY3Rpb247CisgICAgLy8gTk9URTogT3VyIEFQSSBwcm9wb3NhbCBoYXMg
dGhlc2UgdmFsdWVzIGFzIGVudW1zLCBub3QgY29uc3RhbnQgbnVtYmVycy4KKyAgICAvLyBXZSBo
YXZlbid0IGdvdCBhcm91bmQgdG8gaW1wbGVtZW50aW5nIHRoZSBlbnVtcyB5ZXQuCisgICAgcGlw
ZWxpbmVEZXNjcmlwdG9yLmNvbG9yQXR0YWNobWVudHNbMF0ucGl4ZWxGb3JtYXQgPSBncHUuUGl4
ZWxGb3JtYXRCR1JBOFVub3JtOworICAgIHBpcGVsaW5lRGVzY3JpcHRvci5kZXB0aEF0dGFjaG1l
bnRQaXhlbEZvcm1hdCA9IGdwdS5QaXhlbEZvcm1hdERlcHRoMzJGbG9hdDsKKworICAgIHJlbmRl
clBpcGVsaW5lU3RhdGUgPSBncHUuY3JlYXRlUmVuZGVyUGlwZWxpbmVTdGF0ZShwaXBlbGluZURl
c2NyaXB0b3IpOworCisgICAgbGV0IGRlcHRoU3RlbmNpbERlc2NyaXB0b3IgPSBuZXcgV2ViTWV0
YWxEZXB0aFN0ZW5jaWxEZXNjcmlwdG9yKCk7CisgICAgZGVwdGhTdGVuY2lsRGVzY3JpcHRvci5k
ZXB0aFdyaXRlRW5hYmxlZCA9IHRydWU7CisgICAgZGVwdGhTdGVuY2lsRGVzY3JpcHRvci5kZXB0
aENvbXBhcmVGdW5jdGlvbiA9ICJsZXNzIjsKKworICAgIGRlcHRoU3RlbmNpbFN0YXRlID0gZ3B1
LmNyZWF0ZURlcHRoU3RlbmNpbFN0YXRlKGRlcHRoU3RlbmNpbERlc2NyaXB0b3IpOworCisgICAg
Zm9yIChsZXQgaSA9IDA7IGkgPCBrTnVtQWN0aXZlVW5pZm9ybUJ1ZmZlcnM7IGkrKykgeworICAg
ICAgICB1bmlmb3JtQnVmZmVyc1tpXSA9IFtdOworICAgICAgICBmb3IgKGxldCBqID0gMDsgaiA8
IGtOdW1iZXJPZkJveGVzOyBqKyspIHsKKyAgICAgICAgICAgIGxldCB1bmlmb3JtID0gbmV3IFVu
aWZvcm0oKTsKKyAgICAgICAgICAgIHVuaWZvcm0ubXVsdGlwbGllciA9IChqICUgMikgPyAtMSA6
IDE7CisgICAgICAgICAgICB1bmlmb3JtLmFtYmllbnRDb2xvciA9IGtCb3hCYXNlQW1iaWVudENv
bG9yOworICAgICAgICAgICAgdW5pZm9ybUJ1ZmZlcnNbaV0ucHVzaChncHUuY3JlYXRlQnVmZmVy
KHVuaWZvcm0uYnVmZmVyKSk7CisgICAgICAgIH0KKyAgICB9CisKKyAgICBsZXQgZGVwdGhUZXh0
dXJlRGVzY3JpcHRvciA9IG5ldyBXZWJNZXRhbFRleHR1cmVEZXNjcmlwdG9yKGdwdS5QaXhlbEZv
cm1hdERlcHRoMzJGbG9hdCwgY2FudmFzU2l6ZS53aWR0aCwgY2FudmFzU2l6ZS5oZWlnaHQsIGZh
bHNlKTsKKyAgICAvLyBOT1RFOiBPdXIgQVBJIHByb3Bvc2FsIGhhcyBzb21lIG9mIHRoZXNlIHZh
bHVlcyBhcyBlbnVtcywgbm90IGNvbnN0YW50IG51bWJlcnMuCisgICAgLy8gV2UgaGF2ZW4ndCBn
b3QgYXJvdW5kIHRvIGltcGxlbWVudGluZyB0aGUgZW51bXMgeWV0LgorICAgIGRlcHRoVGV4dHVy
ZURlc2NyaXB0b3IudGV4dHVyZVR5cGUgPSBncHUuVGV4dHVyZVR5cGUyRDsKKyAgICBkZXB0aFRl
eHR1cmVEZXNjcmlwdG9yLnNhbXBsZUNvdW50ID0gMTsKKyAgICBkZXB0aFRleHR1cmVEZXNjcmlw
dG9yLnVzYWdlID0gZ3B1LlRleHR1cmVVc2FnZVVua25vd247CisgICAgZGVwdGhUZXh0dXJlRGVz
Y3JpcHRvci5zdG9yYWdlTW9kZSA9IGdwdS5TdG9yYWdlTW9kZVByaXZhdGU7CisKKyAgICBsZXQg
ZGVwdGhUZXh0dXJlID0gZ3B1LmNyZWF0ZVRleHR1cmUoZGVwdGhUZXh0dXJlRGVzY3JpcHRvcik7
CisKKyAgICByZW5kZXJQYXNzRGVzY3JpcHRvciA9IG5ldyBXZWJNZXRhbFJlbmRlclBhc3NEZXNj
cmlwdG9yKCk7CisgICAgLy8gTk9URTogT3VyIEFQSSBwcm9wb3NhbCBoYXMgc29tZSBvZiB0aGVz
ZSB2YWx1ZXMgYXMgZW51bXMsIG5vdCBjb25zdGFudCBudW1iZXJzLgorICAgIC8vIFdlIGhhdmVu
J3QgZ290IGFyb3VuZCB0byBpbXBsZW1lbnRpbmcgdGhlIGVudW1zIHlldC4KKyAgICByZW5kZXJQ
YXNzRGVzY3JpcHRvci5jb2xvckF0dGFjaG1lbnRzWzBdLmxvYWRBY3Rpb24gPSBncHUuTG9hZEFj
dGlvbkNsZWFyOworICAgIHJlbmRlclBhc3NEZXNjcmlwdG9yLmNvbG9yQXR0YWNobWVudHNbMF0u
c3RvcmVBY3Rpb24gPSBncHUuU3RvcmVBY3Rpb25TdG9yZTsKKyAgICByZW5kZXJQYXNzRGVzY3Jp
cHRvci5jb2xvckF0dGFjaG1lbnRzWzBdLmNsZWFyQ29sb3IgPSBbMC4zNSwgMC42NSwgMC44NSwg
MS4wXTsKKyAgICByZW5kZXJQYXNzRGVzY3JpcHRvci5kZXB0aEF0dGFjaG1lbnQubG9hZEFjdGlv
biA9IGdwdS5Mb2FkQWN0aW9uQ2xlYXI7CisgICAgcmVuZGVyUGFzc0Rlc2NyaXB0b3IuZGVwdGhB
dHRhY2htZW50LnN0b3JlQWN0aW9uID0gZ3B1LlN0b3JlQWN0aW9uRG9udENhcmU7CisgICAgcmVu
ZGVyUGFzc0Rlc2NyaXB0b3IuZGVwdGhBdHRhY2htZW50LmNsZWFyRGVwdGggPSAxLjA7CisgICAg
cmVuZGVyUGFzc0Rlc2NyaXB0b3IuZGVwdGhBdHRhY2htZW50LnRleHR1cmUgPSBkZXB0aFRleHR1
cmU7CisKKyAgICB2ZXJ0ZXhCdWZmZXIgPSBncHUuY3JlYXRlQnVmZmVyKGtDdWJlVmVydGV4RGF0
YSk7CisKKyAgICBzdGFydFRpbWUgPSBEYXRlLm5vdygpOworICAgIHJlbmRlcigpOworfQorCitm
dW5jdGlvbiByZW5kZXIoKSB7CisKKyAgICBlbGFwc2VkVGltZSA9IChEYXRlLm5vdygpIC0gc3Rh
cnRUaW1lKSAvIDEwMDA7CisKKyAgICBjYW1lcmFSb3RhdGlvbiA9IE1hdGguUEkgKiAyICogKDEg
LSB0aW1lUmFuZ2VPZmZzZXQoZWxhcHNlZFRpbWUsIDAsIDExLCAxMSkpOworICAgIGNhbWVyYUFs
dGl0dWRlID0gTWF0aC5zaW4oZWxhcHNlZFRpbWUgLyA2ICogTWF0aC5QSSkgKyAxOworCisgICAg
bGV0IGV5ZSA9IHZlYzMuY3JlYXRlKCk7CisgICAgdmVjMy5hZGQoZXllLCBrRXllLCB2ZWMzLmZy
b21WYWx1ZXMoMCwgY2FtZXJhQWx0aXR1ZGUsIDApKTsKKyAgICBtYXQ0Lmxvb2tBdCh2aWV3TWF0
cml4LCBleWUsIGtDZW50ZXIsIGtVcCk7CisKKyAgICB1cGRhdGVVbmlmb3JtRGF0YShjdXJyZW50
VW5pZm9ybUJ1ZmZlckluZGV4KTsKKworICAgIGxldCBjb21tYW5kQnVmZmVyID0gY29tbWFuZFF1
ZXVlLmNyZWF0ZUNvbW1hbmRCdWZmZXIoKTsKKworICAgIGxldCBkcmF3YWJsZSA9IGdwdS5uZXh0
RHJhd2FibGUoKTsKKworICAgIHJlbmRlclBhc3NEZXNjcmlwdG9yLmNvbG9yQXR0YWNobWVudHNb
MF0udGV4dHVyZSA9IGRyYXdhYmxlLnRleHR1cmU7CisKKyAgICBsZXQgY29tbWFuZEVuY29kZXIg
PSBjb21tYW5kQnVmZmVyLmNyZWF0ZVJlbmRlckNvbW1hbmRFbmNvZGVyV2l0aERlc2NyaXB0b3Io
cmVuZGVyUGFzc0Rlc2NyaXB0b3IpOworICAgIGNvbW1hbmRFbmNvZGVyLnNldERlcHRoU3RlbmNp
bFN0YXRlKGRlcHRoU3RlbmNpbFN0YXRlKTsKKyAgICBjb21tYW5kRW5jb2Rlci5zZXRSZW5kZXJQ
aXBlbGluZVN0YXRlKHJlbmRlclBpcGVsaW5lU3RhdGUpOworICAgIGNvbW1hbmRFbmNvZGVyLnNl
dFZlcnRleEJ1ZmZlcih2ZXJ0ZXhCdWZmZXIsIDAsIDApOworCisgICAgZm9yIChsZXQgZ2VvbWV0
cnlCdWZmZXIgb2YgdW5pZm9ybUJ1ZmZlcnNbY3VycmVudFVuaWZvcm1CdWZmZXJJbmRleF0pIHsK
KyAgICAgICAgY29tbWFuZEVuY29kZXIuc2V0VmVydGV4QnVmZmVyKGdlb21ldHJ5QnVmZmVyLCAw
LCAxKTsKKyAgICAgICAgLy8gTk9URTogT3VyIEFQSSBwcm9wb3NhbCB1c2VzIHRoZSBlbnVtIHZh
bHVlICJ0cmlhbmdsZSIgaGVyZS4gV2UgaGF2ZW4ndCBnb3QgYXJvdW5kIHRvIGltcGxlbWVudGlu
ZyB0aGUgZW51bXMgeWV0LgorICAgICAgICBjb21tYW5kRW5jb2Rlci5kcmF3UHJpbWl0aXZlcyhn
cHUuUHJpbWl0aXZlVHlwZVRyaWFuZ2xlLCAwLCBrQ3ViZVZlcnRleERhdGEubGVuZ3RoKTsKKyAg
ICB9CisKKyAgICBjb21tYW5kRW5jb2Rlci5lbmRFbmNvZGluZygpOworICAgIGNvbW1hbmRCdWZm
ZXIucHJlc2VudERyYXdhYmxlKGRyYXdhYmxlKTsKKyAgICBjb21tYW5kQnVmZmVyLmNvbW1pdCgp
OworCisgICAgY3VycmVudFVuaWZvcm1CdWZmZXJJbmRleCA9IChjdXJyZW50VW5pZm9ybUJ1ZmZl
ckluZGV4ICsgMSkgJSBrTnVtQWN0aXZlVW5pZm9ybUJ1ZmZlcnM7CisgICAgcmVxdWVzdEFuaW1h
dGlvbkZyYW1lKHJlbmRlcik7Cit9CisKK2Z1bmN0aW9uIHVwZGF0ZVVuaWZvcm1EYXRhKGluZGV4
KSB7CisKKyAgICBsZXQgYmFzZU1vZGVsVmlld01hdHJpeCA9IG1hdDQuY3JlYXRlKCk7CisgICAg
bWF0NC50cmFuc2xhdGUoYmFzZU1vZGVsVmlld01hdHJpeCwgYmFzZU1vZGVsVmlld01hdHJpeCwg
dmVjMy5mcm9tVmFsdWVzKDAsIC0xICogY2FtZXJhQWx0aXR1ZGUsIDUpKTsKKyAgICBtYXQ0LnJv
dGF0ZShiYXNlTW9kZWxWaWV3TWF0cml4LCBiYXNlTW9kZWxWaWV3TWF0cml4LCBjYW1lcmFSb3Rh
dGlvbiwgdmVjMy5mcm9tVmFsdWVzKDAsIDEsIDApKTsKKworICAgIG1hdDQubXVsdGlwbHkoYmFz
ZU1vZGVsVmlld01hdHJpeCwgdmlld01hdHJpeCwgYmFzZU1vZGVsVmlld01hdHJpeCk7CisKKyAg
ICBmb3IgKGxldCBpID0gMDsgaSA8IGtOdW1iZXJPZkJveGVzUGVyQXhpczsgaSsrKSB7CisgICAg
ICAgIGZvciAobGV0IGogPSAwOyBqIDwga051bWJlck9mQm94ZXNQZXJBeGlzOyBqKyspIHsKKwor
ICAgICAgICAgICAgbGV0IGJveEluZGV4ID0gaSAqIGtOdW1iZXJPZkJveGVzUGVyQXhpcyArIGo7
CisKKyAgICAgICAgICAgIGxldCBtb2RlbFZpZXdNYXRyaXggPSBtYXQ0LmNyZWF0ZSgpOworCisg
ICAgICAgICAgICAvLyBQb3NpdGlvbiB0aGUgY3ViZSBpbiBYLFkuCisgICAgICAgICAgICBsZXQg
dHJhbnNsYXRpb25NYXRyaXggPSBtYXQ0LmNyZWF0ZSgpOworICAgICAgICAgICAgaWYgKGtOdW1i
ZXJPZkJveGVzUGVyQXhpcyA+IDEpIHsKKyAgICAgICAgICAgICAgICBsZXQgc3RlcCA9IDQgLyAo
a051bWJlck9mQm94ZXNQZXJBeGlzIC0gMSk7CisgICAgICAgICAgICAgICAgbWF0NC50cmFuc2xh
dGUodHJhbnNsYXRpb25NYXRyaXgsIHRyYW5zbGF0aW9uTWF0cml4LCB2ZWMzLmZyb21WYWx1ZXMo
aiAqIHN0ZXAgLSAyLCAwLCBpICogc3RlcCAtIDIpKTsKKyAgICAgICAgICAgIH0gZWxzZSB7Cisg
ICAgICAgICAgICAgICAgbWF0NC50cmFuc2xhdGUodHJhbnNsYXRpb25NYXRyaXgsIHRyYW5zbGF0
aW9uTWF0cml4LCB2ZWMzLmZyb21WYWx1ZXMoMCwgMCwgMCkpOworICAgICAgICAgICAgfQorCisg
ICAgICAgICAgICBsZXQgdHJhbnNsYXRlRWxhcHNlZE9mZnNldCA9IGVsYXBzZWRUaW1lICsgYm94
SW5kZXggKiAwLjY7CisgICAgICAgICAgICBpZiAoaW5UaW1lUmFuZ2UodHJhbnNsYXRlRWxhcHNl
ZE9mZnNldCwgMTAsIDEyLCAyMykpIHsKKyAgICAgICAgICAgICAgICBsZXQgdHJhbnNsYXRlID0g
c21vb3Roc3RlcCgwLCAxLCBtaWRkbGVQZWFrVGltZVJhbmdlT2Zmc2V0KHRyYW5zbGF0ZUVsYXBz
ZWRPZmZzZXQsIDEwLCAxMiwgMjMpKSAqIDAuNDsKKyAgICAgICAgICAgICAgICBtYXQ0LnRyYW5z
bGF0ZSh0cmFuc2xhdGlvbk1hdHJpeCwgdHJhbnNsYXRpb25NYXRyaXgsIHZlYzMuZnJvbVZhbHVl
cygwLCB0cmFuc2xhdGUsIDApKTsKKyAgICAgICAgICAgIH0KKworICAgICAgICAgICAgbGV0IHNj
YWxlTWF0cml4ID0gbWF0NC5jcmVhdGUoKTsKKyAgICAgICAgICAgIGxldCBzY2FsZUVsYXBzZWRP
ZmZzZXQgPSBlbGFwc2VkVGltZSArIGJveEluZGV4ICogMC4xOworICAgICAgICAgICAgaWYgKGlu
VGltZVJhbmdlKHNjYWxlRWxhcHNlZE9mZnNldCwgMiwgNiwgMTkpKSB7CisgICAgICAgICAgICAg
ICAgbGV0IHNjYWxlID0gc21vb3Roc3RlcCgwLCAxLCBtaWRkbGVQZWFrVGltZVJhbmdlT2Zmc2V0
KHNjYWxlRWxhcHNlZE9mZnNldCwgMiwgNiwgMTkpKSAqIDAuNSArIDE7CisgICAgICAgICAgICAg
ICAgbWF0NC5zY2FsZShzY2FsZU1hdHJpeCwgc2NhbGVNYXRyaXgsIHZlYzMuZnJvbVZhbHVlcyhz
Y2FsZSwgc2NhbGUsIHNjYWxlKSk7CisgICAgICAgICAgICB9CisgICAgICAgICAgICBtYXQ0Lm11
bHRpcGx5KG1vZGVsVmlld01hdHJpeCwgdHJhbnNsYXRpb25NYXRyaXgsIHNjYWxlTWF0cml4KTsK
KworICAgICAgICAgICAgLy8gUm90YXRlIHRoZSBjdWJlLgorICAgICAgICAgICAgbGV0IHJvdGF0
aW9uTWF0cml4ID0gbWF0NC5jcmVhdGUoKTsKKyAgICAgICAgICAgIGxldCByb3RhdGlvbkVsYXBz
ZWRPZmZzZXQgPSBlbGFwc2VkVGltZSArIChrTnVtYmVyT2ZCb3hlcyAtIGJveEluZGV4KSAqIDAu
MTsKKyAgICAgICAgICAgIGlmIChpblRpbWVSYW5nZShyb3RhdGlvbkVsYXBzZWRPZmZzZXQsIDMs
IDcsIDExKSkgeworICAgICAgICAgICAgICAgIHZhciByb3RhdGlvbiA9IHNtb290aHN0ZXAoMCwg
MSwgdGltZVJhbmdlT2Zmc2V0KHJvdGF0aW9uRWxhcHNlZE9mZnNldCwgMywgNywgMTEpKSAqIE1h
dGguUEkgKiAyOworICAgICAgICAgICAgICAgIG1hdDQucm90YXRlKHJvdGF0aW9uTWF0cml4LCBy
b3RhdGlvbk1hdHJpeCwgcm90YXRpb24sIHZlYzMuZnJvbVZhbHVlcygwLjUsIDEsIDEpKTsKKyAg
ICAgICAgICAgIH0KKyAgICAgICAgICAgIG1hdDQubXVsdGlwbHkobW9kZWxWaWV3TWF0cml4LCBt
b2RlbFZpZXdNYXRyaXgsIHJvdGF0aW9uTWF0cml4KTsKKworICAgICAgICAgICAgbWF0NC5tdWx0
aXBseShtb2RlbFZpZXdNYXRyaXgsIGJhc2VNb2RlbFZpZXdNYXRyaXgsIG1vZGVsVmlld01hdHJp
eCk7CisKKyAgICAgICAgICAgIGxldCBub3JtYWxNYXRyaXggPSBtYXQ0LmNsb25lKG1vZGVsVmll
d01hdHJpeCk7CisgICAgICAgICAgICBtYXQ0LnRyYW5zcG9zZShub3JtYWxNYXRyaXgsIG5vcm1h
bE1hdHJpeCk7CisgICAgICAgICAgICBtYXQ0LmludmVydChub3JtYWxNYXRyaXgsIG5vcm1hbE1h
dHJpeCk7CisKKyAgICAgICAgICAgIGxldCB1bmlmb3JtID0gbmV3IFVuaWZvcm0obmV3IEZsb2F0
MzJBcnJheSh1bmlmb3JtQnVmZmVyc1tpbmRleF1baSAqIGtOdW1iZXJPZkJveGVzUGVyQXhpcyAr
IGpdLmNvbnRlbnRzKSk7CisKKyAgICAgICAgICAgIHVuaWZvcm0ubm9ybWFsID0gbm9ybWFsTWF0
cml4OworCisgICAgICAgICAgICBsZXQgbW9kZWxWaWV3UHJvamVjdGlvbk1hdHJpeCA9IG1hdDQu
Y3JlYXRlKCk7CisgICAgICAgICAgICBtYXQ0Lm11bHRpcGx5KG1vZGVsVmlld1Byb2plY3Rpb25N
YXRyaXgsIHByb2plY3Rpb25NYXRyaXgsIG1vZGVsVmlld01hdHJpeCk7CisKKyAgICAgICAgICAg
IHVuaWZvcm0ubXZwID0gbW9kZWxWaWV3UHJvamVjdGlvbk1hdHJpeDsKKworICAgICAgICAgICAg
bGV0IGNvbG9yRWxhcHNlZE9mZnNldCA9IGVsYXBzZWRUaW1lICsgYm94SW5kZXggKiAwLjE1Owor
ICAgICAgICAgICAgaWYgKGluVGltZVJhbmdlKGNvbG9yRWxhcHNlZE9mZnNldCwgMiwgMywgMTAp
KSB7CisgICAgICAgICAgICAgICAgbGV0IHJlZEJvb3N0ID0gbWlkZGxlUGVha1RpbWVSYW5nZU9m
ZnNldChjb2xvckVsYXBzZWRPZmZzZXQsIDIsIDMsIDEwKSAqIDAuNTsKKyAgICAgICAgICAgICAg
ICB1bmlmb3JtLmFtYmllbnRDb2xvclswXSA9IE1hdGgubWluKDEuMCwgTWF0aC5tYXgoMCwga0Jv
eEJhc2VBbWJpZW50Q29sb3JbMF0gKyByZWRCb29zdCkpOworICAgICAgICAgICAgfSBlbHNlIHsK
KyAgICAgICAgICAgICAgICB1bmlmb3JtLmFtYmllbnRDb2xvclswXSA9IGtCb3hCYXNlQW1iaWVu
dENvbG9yWzBdOworICAgICAgICAgICAgfQorICAgICAgICAgICAgY29sb3JFbGFwc2VkT2Zmc2V0
ID0gZWxhcHNlZFRpbWUgKyAoa051bWJlck9mQm94ZXMgLSBib3hJbmRleCkgKiAwLjE7CisgICAg
ICAgICAgICBpZiAoaW5UaW1lUmFuZ2UoY29sb3JFbGFwc2VkT2Zmc2V0LCA3LCAxMSwgMjEpKSB7
CisgICAgICAgICAgICAgICAgbGV0IGdyZWVuQm9vc3QgPSBtaWRkbGVQZWFrVGltZVJhbmdlT2Zm
c2V0KGNvbG9yRWxhcHNlZE9mZnNldCwgNywgMTEsIDIxKSAqIDAuMzsKKyAgICAgICAgICAgICAg
ICB1bmlmb3JtLmFtYmllbnRDb2xvclsxXSA9IE1hdGgubWluKDEuMCwgTWF0aC5tYXgoMCwga0Jv
eEJhc2VBbWJpZW50Q29sb3JbMV0gKyBncmVlbkJvb3N0KSk7CisgICAgICAgICAgICB9IGVsc2Ug
eworICAgICAgICAgICAgICAgIHVuaWZvcm0uYW1iaWVudENvbG9yWzFdID0ga0JveEJhc2VBbWJp
ZW50Q29sb3JbMV07CisgICAgICAgICAgICB9CisgICAgICAgIH0KKyAgICB9Cit9CmRpZmYgLS1n
aXQgYS9XZWJzaXRlcy93ZWJraXQub3JnL2RlbW9zL3dlYm1ldGFsL2dsLW1hdHJpeC1taW4uanMg
Yi9XZWJzaXRlcy93ZWJraXQub3JnL2RlbW9zL3dlYm1ldGFsL2dsLW1hdHJpeC1taW4uanMKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uMWM1NmQ2Y2NhN2ZmZTdjNDlmN2NmY2YwZTk3YjVkYzgzNzdhNjZiNwotLS0gL2Rl
di9udWxsCisrKyBiL1dlYnNpdGVzL3dlYmtpdC5vcmcvZGVtb3Mvd2VibWV0YWwvZ2wtbWF0cml4
LW1pbi5qcwpAQCAtMCwwICsxLDI4IEBACisvKioKKyAqIEBmaWxlb3ZlcnZpZXcgZ2wtbWF0cml4
IC0gSGlnaCBwZXJmb3JtYW5jZSBtYXRyaXggYW5kIHZlY3RvciBvcGVyYXRpb25zCisgKiBAYXV0
aG9yIEJyYW5kb24gSm9uZXMKKyAqIEBhdXRob3IgQ29saW4gTWFjS2VuemllIElWCisgKiBAdmVy
c2lvbiAyLjQuMAorICovCisKKy8qIENvcHlyaWdodCAoYykgMjAxNSwgQnJhbmRvbiBKb25lcywg
Q29saW4gTWFjS2VuemllIElWLgorCitQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVl
IG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYSBjb3B5CitvZiB0aGlzIHNvZnR3
YXJlIGFuZCBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZSAiU29mdHdhcmUiKSwg
dG8gZGVhbAoraW4gdGhlIFNvZnR3YXJlIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZyB3
aXRob3V0IGxpbWl0YXRpb24gdGhlIHJpZ2h0cwordG8gdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdl
LCBwdWJsaXNoLCBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLCBhbmQvb3Igc2VsbAorY29waWVzIG9m
IHRoZSBTb2Z0d2FyZSwgYW5kIHRvIHBlcm1pdCBwZXJzb25zIHRvIHdob20gdGhlIFNvZnR3YXJl
IGlzCitmdXJuaXNoZWQgdG8gZG8gc28sIHN1YmplY3QgdG8gdGhlIGZvbGxvd2luZyBjb25kaXRp
b25zOgorCitUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5v
dGljZSBzaGFsbCBiZSBpbmNsdWRlZCBpbgorYWxsIGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0
aW9ucyBvZiB0aGUgU29mdHdhcmUuCisKK1RIRSBTT0ZUV0FSRSBJUyBQUk9WSURFRCAiQVMgSVMi
LCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELCBFWFBSRVNTIE9SCitJTVBMSUVELCBJTkNM
VURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElU
WSwKK0ZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT05JTkZSSU5HRU1FTlQu
IElOIE5PIEVWRU5UIFNIQUxMIFRIRQorQVVUSE9SUyBPUiBDT1BZUklHSFQgSE9MREVSUyBCRSBM
SUFCTEUgRk9SIEFOWSBDTEFJTSwgREFNQUdFUyBPUiBPVEhFUgorTElBQklMSVRZLCBXSEVUSEVS
IElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJP
TSwKK09VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFIFNPRlRXQVJFIE9SIFRIRSBVU0Ug
T1IgT1RIRVIgREVBTElOR1MgSU4KK1RIRSBTT0ZUV0FSRS4gKi8KKworIWZ1bmN0aW9uKHQsbil7
aWYoIm9iamVjdCI9PXR5cGVvZiBleHBvcnRzJiYib2JqZWN0Ij09dHlwZW9mIG1vZHVsZSltb2R1
bGUuZXhwb3J0cz1uKCk7ZWxzZSBpZigiZnVuY3Rpb24iPT10eXBlb2YgZGVmaW5lJiZkZWZpbmUu
YW1kKWRlZmluZShbXSxuKTtlbHNle3ZhciByPW4oKTtmb3IodmFyIGEgaW4gcikoIm9iamVjdCI9
PXR5cGVvZiBleHBvcnRzP2V4cG9ydHM6dClbYV09clthXX19KHRoaXMsZnVuY3Rpb24oKXtyZXR1
cm4gZnVuY3Rpb24odCl7ZnVuY3Rpb24gbihhKXtpZihyW2FdKXJldHVybiByW2FdLmV4cG9ydHM7
dmFyIGU9clthXT17aTphLGw6ITEsZXhwb3J0czp7fX07cmV0dXJuIHRbYV0uY2FsbChlLmV4cG9y
dHMsZSxlLmV4cG9ydHMsbiksZS5sPSEwLGUuZXhwb3J0c312YXIgcj17fTtyZXR1cm4gbi5tPXQs
bi5jPXIsbi5kPWZ1bmN0aW9uKHQscixhKXtuLm8odCxyKXx8T2JqZWN0LmRlZmluZVByb3BlcnR5
KHQscix7Y29uZmlndXJhYmxlOiExLGVudW1lcmFibGU6ITAsZ2V0OmF9KX0sbi5uPWZ1bmN0aW9u
KHQpe3ZhciByPXQmJnQuX19lc01vZHVsZT9mdW5jdGlvbigpe3JldHVybiB0LmRlZmF1bHR9OmZ1
bmN0aW9uKCl7cmV0dXJuIHR9O3JldHVybiBuLmQociwiYSIscikscn0sbi5vPWZ1bmN0aW9uKHQs
bil7cmV0dXJuIE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbCh0LG4pfSxuLnA9
IiIsbihuLnM9NCl9KFtmdW5jdGlvbih0LG4scil7InVzZSBzdHJpY3QiO2Z1bmN0aW9uIGEodCl7
bi5BUlJBWV9UWVBFPWk9dH1mdW5jdGlvbiBlKHQpe3JldHVybiB0KnN9ZnVuY3Rpb24gdSh0LG4p
e3JldHVybiBNYXRoLmFicyh0LW4pPD1vKk1hdGgubWF4KDEsTWF0aC5hYnModCksTWF0aC5hYnMo
bikpfU9iamVjdC5kZWZpbmVQcm9wZXJ0eShuLCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSxuLnNl
dE1hdHJpeEFycmF5VHlwZT1hLG4udG9SYWRpYW49ZSxuLmVxdWFscz11O3ZhciBvPW4uRVBTSUxP
Tj0xZS02LGk9bi5BUlJBWV9UWVBFPSJ1bmRlZmluZWQiIT10eXBlb2YgRmxvYXQzMkFycmF5P0Zs
b2F0MzJBcnJheTpBcnJheSxzPShuLlJBTkRPTT1NYXRoLnJhbmRvbSxNYXRoLlBJLzE4MCl9LGZ1
bmN0aW9uKHQsbixyKXsidXNlIHN0cmljdCI7ZnVuY3Rpb24gYSgpe3ZhciB0PW5ldyBnLkFSUkFZ
X1RZUEUoOSk7cmV0dXJuIHRbMF09MSx0WzFdPTAsdFsyXT0wLHRbM109MCx0WzRdPTEsdFs1XT0w
LHRbNl09MCx0WzddPTAsdFs4XT0xLHR9ZnVuY3Rpb24gZSh0LG4pe3JldHVybiB0WzBdPW5bMF0s
dFsxXT1uWzFdLHRbMl09blsyXSx0WzNdPW5bNF0sdFs0XT1uWzVdLHRbNV09bls2XSx0WzZdPW5b
OF0sdFs3XT1uWzldLHRbOF09blsxMF0sdH1mdW5jdGlvbiB1KHQpe3ZhciBuPW5ldyBnLkFSUkFZ
X1RZUEUoOSk7cmV0dXJuIG5bMF09dFswXSxuWzFdPXRbMV0sblsyXT10WzJdLG5bM109dFszXSxu
WzRdPXRbNF0sbls1XT10WzVdLG5bNl09dFs2XSxuWzddPXRbN10sbls4XT10WzhdLG59ZnVuY3Rp
b24gbyh0LG4pe3JldHVybiB0WzBdPW5bMF0sdFsxXT1uWzFdLHRbMl09blsyXSx0WzNdPW5bM10s
dFs0XT1uWzRdLHRbNV09bls1XSx0WzZdPW5bNl0sdFs3XT1uWzddLHRbOF09bls4XSx0fWZ1bmN0
aW9uIGkodCxuLHIsYSxlLHUsbyxpLHMpe3ZhciBjPW5ldyBnLkFSUkFZX1RZUEUoOSk7cmV0dXJu
IGNbMF09dCxjWzFdPW4sY1syXT1yLGNbM109YSxjWzRdPWUsY1s1XT11LGNbNl09byxjWzddPWks
Y1s4XT1zLGN9ZnVuY3Rpb24gcyh0LG4scixhLGUsdSxvLGkscyxjKXtyZXR1cm4gdFswXT1uLHRb
MV09cix0WzJdPWEsdFszXT1lLHRbNF09dSx0WzVdPW8sdFs2XT1pLHRbN109cyx0WzhdPWMsdH1m
dW5jdGlvbiBjKHQpe3JldHVybiB0WzBdPTEsdFsxXT0wLHRbMl09MCx0WzNdPTAsdFs0XT0xLHRb
NV09MCx0WzZdPTAsdFs3XT0wLHRbOF09MSx0fWZ1bmN0aW9uIGYodCxuKXtpZih0PT09bil7dmFy
IHI9blsxXSxhPW5bMl0sZT1uWzVdO3RbMV09blszXSx0WzJdPW5bNl0sdFszXT1yLHRbNV09bls3
XSx0WzZdPWEsdFs3XT1lfWVsc2UgdFswXT1uWzBdLHRbMV09blszXSx0WzJdPW5bNl0sdFszXT1u
WzFdLHRbNF09bls0XSx0WzVdPW5bN10sdFs2XT1uWzJdLHRbN109bls1XSx0WzhdPW5bOF07cmV0
dXJuIHR9ZnVuY3Rpb24gTSh0LG4pe3ZhciByPW5bMF0sYT1uWzFdLGU9blsyXSx1PW5bM10sbz1u
WzRdLGk9bls1XSxzPW5bNl0sYz1uWzddLGY9bls4XSxNPWYqby1pKmMsaD0tZip1K2kqcyxsPWMq
dS1vKnMsdj1yKk0rYSpoK2UqbDtyZXR1cm4gdj8odj0xL3YsdFswXT1NKnYsdFsxXT0oLWYqYStl
KmMpKnYsdFsyXT0oaSphLWUqbykqdix0WzNdPWgqdix0WzRdPShmKnItZSpzKSp2LHRbNV09KC1p
KnIrZSp1KSp2LHRbNl09bCp2LHRbN109KC1jKnIrYSpzKSp2LHRbOF09KG8qci1hKnUpKnYsdCk6
bnVsbH1mdW5jdGlvbiBoKHQsbil7dmFyIHI9blswXSxhPW5bMV0sZT1uWzJdLHU9blszXSxvPW5b
NF0saT1uWzVdLHM9bls2XSxjPW5bN10sZj1uWzhdO3JldHVybiB0WzBdPW8qZi1pKmMsdFsxXT1l
KmMtYSpmLHRbMl09YSppLWUqbyx0WzNdPWkqcy11KmYsdFs0XT1yKmYtZSpzLHRbNV09ZSp1LXIq
aSx0WzZdPXUqYy1vKnMsdFs3XT1hKnMtcipjLHRbOF09cipvLWEqdSx0fWZ1bmN0aW9uIGwodCl7
dmFyIG49dFswXSxyPXRbMV0sYT10WzJdLGU9dFszXSx1PXRbNF0sbz10WzVdLGk9dFs2XSxzPXRb
N10sYz10WzhdO3JldHVybiBuKihjKnUtbypzKStyKigtYyplK28qaSkrYSoocyplLXUqaSl9ZnVu
Y3Rpb24gdih0LG4scil7dmFyIGE9blswXSxlPW5bMV0sdT1uWzJdLG89blszXSxpPW5bNF0scz1u
WzVdLGM9bls2XSxmPW5bN10sTT1uWzhdLGg9clswXSxsPXJbMV0sdj1yWzJdLGQ9clszXSxiPXJb
NF0sbT1yWzVdLHA9cls2XSxQPXJbN10sRT1yWzhdO3JldHVybiB0WzBdPWgqYStsKm8rdipjLHRb
MV09aCplK2wqaSt2KmYsdFsyXT1oKnUrbCpzK3YqTSx0WzNdPWQqYStiKm8rbSpjLHRbNF09ZCpl
K2IqaSttKmYsdFs1XT1kKnUrYipzK20qTSx0WzZdPXAqYStQKm8rRSpjLHRbN109cCplK1AqaStF
KmYsdFs4XT1wKnUrUCpzK0UqTSx0fWZ1bmN0aW9uIGQodCxuLHIpe3ZhciBhPW5bMF0sZT1uWzFd
LHU9blsyXSxvPW5bM10saT1uWzRdLHM9bls1XSxjPW5bNl0sZj1uWzddLE09bls4XSxoPXJbMF0s
bD1yWzFdO3JldHVybiB0WzBdPWEsdFsxXT1lLHRbMl09dSx0WzNdPW8sdFs0XT1pLHRbNV09cyx0
WzZdPWgqYStsKm8rYyx0WzddPWgqZStsKmkrZix0WzhdPWgqdStsKnMrTSx0fWZ1bmN0aW9uIGIo
dCxuLHIpe3ZhciBhPW5bMF0sZT1uWzFdLHU9blsyXSxvPW5bM10saT1uWzRdLHM9bls1XSxjPW5b
Nl0sZj1uWzddLE09bls4XSxoPU1hdGguc2luKHIpLGw9TWF0aC5jb3Mocik7cmV0dXJuIHRbMF09
bCphK2gqbyx0WzFdPWwqZStoKmksdFsyXT1sKnUraCpzLHRbM109bCpvLWgqYSx0WzRdPWwqaS1o
KmUsdFs1XT1sKnMtaCp1LHRbNl09Yyx0WzddPWYsdFs4XT1NLHR9ZnVuY3Rpb24gbSh0LG4scil7
dmFyIGE9clswXSxlPXJbMV07cmV0dXJuIHRbMF09YSpuWzBdLHRbMV09YSpuWzFdLHRbMl09YSpu
WzJdLHRbM109ZSpuWzNdLHRbNF09ZSpuWzRdLHRbNV09ZSpuWzVdLHRbNl09bls2XSx0WzddPW5b
N10sdFs4XT1uWzhdLHR9ZnVuY3Rpb24gcCh0LG4pe3JldHVybiB0WzBdPTEsdFsxXT0wLHRbMl09
MCx0WzNdPTAsdFs0XT0xLHRbNV09MCx0WzZdPW5bMF0sdFs3XT1uWzFdLHRbOF09MSx0fWZ1bmN0
aW9uIFAodCxuKXt2YXIgcj1NYXRoLnNpbihuKSxhPU1hdGguY29zKG4pO3JldHVybiB0WzBdPWEs
dFsxXT1yLHRbMl09MCx0WzNdPS1yLHRbNF09YSx0WzVdPTAsdFs2XT0wLHRbN109MCx0WzhdPTEs
dH1mdW5jdGlvbiBFKHQsbil7cmV0dXJuIHRbMF09blswXSx0WzFdPTAsdFsyXT0wLHRbM109MCx0
WzRdPW5bMV0sdFs1XT0wLHRbNl09MCx0WzddPTAsdFs4XT0xLHR9ZnVuY3Rpb24gTyh0LG4pe3Jl
dHVybiB0WzBdPW5bMF0sdFsxXT1uWzFdLHRbMl09MCx0WzNdPW5bMl0sdFs0XT1uWzNdLHRbNV09
MCx0WzZdPW5bNF0sdFs3XT1uWzVdLHRbOF09MSx0fWZ1bmN0aW9uIHgodCxuKXt2YXIgcj1uWzBd
LGE9blsxXSxlPW5bMl0sdT1uWzNdLG89cityLGk9YSthLHM9ZStlLGM9cipvLGY9YSpvLE09YSpp
LGg9ZSpvLGw9ZSppLHY9ZSpzLGQ9dSpvLGI9dSppLG09dSpzO3JldHVybiB0WzBdPTEtTS12LHRb
M109Zi1tLHRbNl09aCtiLHRbMV09ZittLHRbNF09MS1jLXYsdFs3XT1sLWQsdFsyXT1oLWIsdFs1
XT1sK2QsdFs4XT0xLWMtTSx0fWZ1bmN0aW9uIEEodCxuKXt2YXIgcj1uWzBdLGE9blsxXSxlPW5b
Ml0sdT1uWzNdLG89bls0XSxpPW5bNV0scz1uWzZdLGM9bls3XSxmPW5bOF0sTT1uWzldLGg9blsx
MF0sbD1uWzExXSx2PW5bMTJdLGQ9blsxM10sYj1uWzE0XSxtPW5bMTVdLHA9cippLWEqbyxQPXIq
cy1lKm8sRT1yKmMtdSpvLE89YSpzLWUqaSx4PWEqYy11KmksQT1lKmMtdSpzLHE9ZipkLU0qdix5
PWYqYi1oKnYsdz1mKm0tbCp2LFI9TSpiLWgqZCxMPU0qbS1sKmQsUz1oKm0tbCpiLF89cCpTLVAq
TCtFKlIrTyp3LXgqeStBKnE7cmV0dXJuIF8/KF89MS9fLHRbMF09KGkqUy1zKkwrYypSKSpfLHRb
MV09KHMqdy1vKlMtYyp5KSpfLHRbMl09KG8qTC1pKncrYypxKSpfLHRbM109KGUqTC1hKlMtdSpS
KSpfLHRbNF09KHIqUy1lKncrdSp5KSpfLHRbNV09KGEqdy1yKkwtdSpxKSpfLHRbNl09KGQqQS1i
KngrbSpPKSpfLHRbN109KGIqRS12KkEtbSpQKSpfLHRbOF09KHYqeC1kKkUrbSpwKSpfLHQpOm51
bGx9ZnVuY3Rpb24gcSh0LG4scil7cmV0dXJuIHRbMF09Mi9uLHRbMV09MCx0WzJdPTAsdFszXT0w
LHRbNF09LTIvcix0WzVdPTAsdFs2XT0tMSx0WzddPTEsdFs4XT0xLHR9ZnVuY3Rpb24geSh0KXty
ZXR1cm4ibWF0MygiK3RbMF0rIiwgIit0WzFdKyIsICIrdFsyXSsiLCAiK3RbM10rIiwgIit0WzRd
KyIsICIrdFs1XSsiLCAiK3RbNl0rIiwgIit0WzddKyIsICIrdFs4XSsiKSJ9ZnVuY3Rpb24gdyh0
KXtyZXR1cm4gTWF0aC5zcXJ0KE1hdGgucG93KHRbMF0sMikrTWF0aC5wb3codFsxXSwyKStNYXRo
LnBvdyh0WzJdLDIpK01hdGgucG93KHRbM10sMikrTWF0aC5wb3codFs0XSwyKStNYXRoLnBvdyh0
WzVdLDIpK01hdGgucG93KHRbNl0sMikrTWF0aC5wb3codFs3XSwyKStNYXRoLnBvdyh0WzhdLDIp
KX1mdW5jdGlvbiBSKHQsbixyKXtyZXR1cm4gdFswXT1uWzBdK3JbMF0sdFsxXT1uWzFdK3JbMV0s
dFsyXT1uWzJdK3JbMl0sdFszXT1uWzNdK3JbM10sdFs0XT1uWzRdK3JbNF0sdFs1XT1uWzVdK3Jb
NV0sdFs2XT1uWzZdK3JbNl0sdFs3XT1uWzddK3JbN10sdFs4XT1uWzhdK3JbOF0sdH1mdW5jdGlv
biBMKHQsbixyKXtyZXR1cm4gdFswXT1uWzBdLXJbMF0sdFsxXT1uWzFdLXJbMV0sdFsyXT1uWzJd
LXJbMl0sdFszXT1uWzNdLXJbM10sdFs0XT1uWzRdLXJbNF0sdFs1XT1uWzVdLXJbNV0sdFs2XT1u
WzZdLXJbNl0sdFs3XT1uWzddLXJbN10sdFs4XT1uWzhdLXJbOF0sdH1mdW5jdGlvbiBTKHQsbixy
KXtyZXR1cm4gdFswXT1uWzBdKnIsdFsxXT1uWzFdKnIsdFsyXT1uWzJdKnIsdFszXT1uWzNdKnIs
dFs0XT1uWzRdKnIsdFs1XT1uWzVdKnIsdFs2XT1uWzZdKnIsdFs3XT1uWzddKnIsdFs4XT1uWzhd
KnIsdH1mdW5jdGlvbiBfKHQsbixyLGEpe3JldHVybiB0WzBdPW5bMF0rclswXSphLHRbMV09blsx
XStyWzFdKmEsdFsyXT1uWzJdK3JbMl0qYSx0WzNdPW5bM10rclszXSphLHRbNF09bls0XStyWzRd
KmEsdFs1XT1uWzVdK3JbNV0qYSx0WzZdPW5bNl0rcls2XSphLHRbN109bls3XStyWzddKmEsdFs4
XT1uWzhdK3JbOF0qYSx0fWZ1bmN0aW9uIEkodCxuKXtyZXR1cm4gdFswXT09PW5bMF0mJnRbMV09
PT1uWzFdJiZ0WzJdPT09blsyXSYmdFszXT09PW5bM10mJnRbNF09PT1uWzRdJiZ0WzVdPT09bls1
XSYmdFs2XT09PW5bNl0mJnRbN109PT1uWzddJiZ0WzhdPT09bls4XX1mdW5jdGlvbiBOKHQsbil7
dmFyIHI9dFswXSxhPXRbMV0sZT10WzJdLHU9dFszXSxvPXRbNF0saT10WzVdLHM9dFs2XSxjPXRb
N10sZj10WzhdLE09blswXSxoPW5bMV0sbD1uWzJdLHY9blszXSxkPW5bNF0sYj1uWzVdLG09bls2
XSxwPW5bN10sUD1uWzhdO3JldHVybiBNYXRoLmFicyhyLU0pPD1nLkVQU0lMT04qTWF0aC5tYXgo
MSxNYXRoLmFicyhyKSxNYXRoLmFicyhNKSkmJk1hdGguYWJzKGEtaCk8PWcuRVBTSUxPTipNYXRo
Lm1heCgxLE1hdGguYWJzKGEpLE1hdGguYWJzKGgpKSYmTWF0aC5hYnMoZS1sKTw9Zy5FUFNJTE9O
Kk1hdGgubWF4KDEsTWF0aC5hYnMoZSksTWF0aC5hYnMobCkpJiZNYXRoLmFicyh1LXYpPD1nLkVQ
U0lMT04qTWF0aC5tYXgoMSxNYXRoLmFicyh1KSxNYXRoLmFicyh2KSkmJk1hdGguYWJzKG8tZCk8
PWcuRVBTSUxPTipNYXRoLm1heCgxLE1hdGguYWJzKG8pLE1hdGguYWJzKGQpKSYmTWF0aC5hYnMo
aS1iKTw9Zy5FUFNJTE9OKk1hdGgubWF4KDEsTWF0aC5hYnMoaSksTWF0aC5hYnMoYikpJiZNYXRo
LmFicyhzLW0pPD1nLkVQU0lMT04qTWF0aC5tYXgoMSxNYXRoLmFicyhzKSxNYXRoLmFicyhtKSkm
Jk1hdGguYWJzKGMtcCk8PWcuRVBTSUxPTipNYXRoLm1heCgxLE1hdGguYWJzKGMpLE1hdGguYWJz
KHApKSYmTWF0aC5hYnMoZi1QKTw9Zy5FUFNJTE9OKk1hdGgubWF4KDEsTWF0aC5hYnMoZiksTWF0
aC5hYnMoUCkpfU9iamVjdC5kZWZpbmVQcm9wZXJ0eShuLCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9
KSxuLnN1Yj1uLm11bD12b2lkIDAsbi5jcmVhdGU9YSxuLmZyb21NYXQ0PWUsbi5jbG9uZT11LG4u
Y29weT1vLG4uZnJvbVZhbHVlcz1pLG4uc2V0PXMsbi5pZGVudGl0eT1jLG4udHJhbnNwb3NlPWYs
bi5pbnZlcnQ9TSxuLmFkam9pbnQ9aCxuLmRldGVybWluYW50PWwsbi5tdWx0aXBseT12LG4udHJh
bnNsYXRlPWQsbi5yb3RhdGU9YixuLnNjYWxlPW0sbi5mcm9tVHJhbnNsYXRpb249cCxuLmZyb21S
b3RhdGlvbj1QLG4uZnJvbVNjYWxpbmc9RSxuLmZyb21NYXQyZD1PLG4uZnJvbVF1YXQ9eCxuLm5v
cm1hbEZyb21NYXQ0PUEsbi5wcm9qZWN0aW9uPXEsbi5zdHI9eSxuLmZyb2I9dyxuLmFkZD1SLG4u
c3VidHJhY3Q9TCxuLm11bHRpcGx5U2NhbGFyPVMsbi5tdWx0aXBseVNjYWxhckFuZEFkZD1fLG4u
ZXhhY3RFcXVhbHM9SSxuLmVxdWFscz1OO3ZhciBZPXIoMCksZz1mdW5jdGlvbih0KXtpZih0JiZ0
Ll9fZXNNb2R1bGUpcmV0dXJuIHQ7dmFyIG49e307aWYobnVsbCE9dClmb3IodmFyIHIgaW4gdClP
YmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwodCxyKSYmKG5bcl09dFtyXSk7cmV0
dXJuIG4uZGVmYXVsdD10LG59KFkpO24ubXVsPXYsbi5zdWI9TH0sZnVuY3Rpb24odCxuLHIpeyJ1
c2Ugc3RyaWN0IjtmdW5jdGlvbiBhKCl7dmFyIHQ9bmV3IFouQVJSQVlfVFlQRSgzKTtyZXR1cm4g
dFswXT0wLHRbMV09MCx0WzJdPTAsdH1mdW5jdGlvbiBlKHQpe3ZhciBuPW5ldyBaLkFSUkFZX1RZ
UEUoMyk7cmV0dXJuIG5bMF09dFswXSxuWzFdPXRbMV0sblsyXT10WzJdLG59ZnVuY3Rpb24gdSh0
KXt2YXIgbj10WzBdLHI9dFsxXSxhPXRbMl07cmV0dXJuIE1hdGguc3FydChuKm4rcipyK2EqYSl9
ZnVuY3Rpb24gbyh0LG4scil7dmFyIGE9bmV3IFouQVJSQVlfVFlQRSgzKTtyZXR1cm4gYVswXT10
LGFbMV09bixhWzJdPXIsYX1mdW5jdGlvbiBpKHQsbil7cmV0dXJuIHRbMF09blswXSx0WzFdPW5b
MV0sdFsyXT1uWzJdLHR9ZnVuY3Rpb24gcyh0LG4scixhKXtyZXR1cm4gdFswXT1uLHRbMV09cix0
WzJdPWEsdH1mdW5jdGlvbiBjKHQsbixyKXtyZXR1cm4gdFswXT1uWzBdK3JbMF0sdFsxXT1uWzFd
K3JbMV0sdFsyXT1uWzJdK3JbMl0sdH1mdW5jdGlvbiBmKHQsbixyKXtyZXR1cm4gdFswXT1uWzBd
LXJbMF0sdFsxXT1uWzFdLXJbMV0sdFsyXT1uWzJdLXJbMl0sdH1mdW5jdGlvbiBNKHQsbixyKXty
ZXR1cm4gdFswXT1uWzBdKnJbMF0sdFsxXT1uWzFdKnJbMV0sdFsyXT1uWzJdKnJbMl0sdH1mdW5j
dGlvbiBoKHQsbixyKXtyZXR1cm4gdFswXT1uWzBdL3JbMF0sdFsxXT1uWzFdL3JbMV0sdFsyXT1u
WzJdL3JbMl0sdH1mdW5jdGlvbiBsKHQsbil7cmV0dXJuIHRbMF09TWF0aC5jZWlsKG5bMF0pLHRb
MV09TWF0aC5jZWlsKG5bMV0pLHRbMl09TWF0aC5jZWlsKG5bMl0pLHR9ZnVuY3Rpb24gdih0LG4p
e3JldHVybiB0WzBdPU1hdGguZmxvb3IoblswXSksdFsxXT1NYXRoLmZsb29yKG5bMV0pLHRbMl09
TWF0aC5mbG9vcihuWzJdKSx0fWZ1bmN0aW9uIGQodCxuLHIpe3JldHVybiB0WzBdPU1hdGgubWlu
KG5bMF0sclswXSksdFsxXT1NYXRoLm1pbihuWzFdLHJbMV0pLHRbMl09TWF0aC5taW4oblsyXSxy
WzJdKSx0fWZ1bmN0aW9uIGIodCxuLHIpe3JldHVybiB0WzBdPU1hdGgubWF4KG5bMF0sclswXSks
dFsxXT1NYXRoLm1heChuWzFdLHJbMV0pLHRbMl09TWF0aC5tYXgoblsyXSxyWzJdKSx0fWZ1bmN0
aW9uIG0odCxuKXtyZXR1cm4gdFswXT1NYXRoLnJvdW5kKG5bMF0pLHRbMV09TWF0aC5yb3VuZChu
WzFdKSx0WzJdPU1hdGgucm91bmQoblsyXSksdH1mdW5jdGlvbiBwKHQsbixyKXtyZXR1cm4gdFsw
XT1uWzBdKnIsdFsxXT1uWzFdKnIsdFsyXT1uWzJdKnIsdH1mdW5jdGlvbiBQKHQsbixyLGEpe3Jl
dHVybiB0WzBdPW5bMF0rclswXSphLHRbMV09blsxXStyWzFdKmEsdFsyXT1uWzJdK3JbMl0qYSx0
fWZ1bmN0aW9uIEUodCxuKXt2YXIgcj1uWzBdLXRbMF0sYT1uWzFdLXRbMV0sZT1uWzJdLXRbMl07
cmV0dXJuIE1hdGguc3FydChyKnIrYSphK2UqZSl9ZnVuY3Rpb24gTyh0LG4pe3ZhciByPW5bMF0t
dFswXSxhPW5bMV0tdFsxXSxlPW5bMl0tdFsyXTtyZXR1cm4gcipyK2EqYStlKmV9ZnVuY3Rpb24g
eCh0KXt2YXIgbj10WzBdLHI9dFsxXSxhPXRbMl07cmV0dXJuIG4qbityKnIrYSphfWZ1bmN0aW9u
IEEodCxuKXtyZXR1cm4gdFswXT0tblswXSx0WzFdPS1uWzFdLHRbMl09LW5bMl0sdH1mdW5jdGlv
biBxKHQsbil7cmV0dXJuIHRbMF09MS9uWzBdLHRbMV09MS9uWzFdLHRbMl09MS9uWzJdLHR9ZnVu
Y3Rpb24geSh0LG4pe3ZhciByPW5bMF0sYT1uWzFdLGU9blsyXSx1PXIqcithKmErZSplO3JldHVy
biB1PjAmJih1PTEvTWF0aC5zcXJ0KHUpLHRbMF09blswXSp1LHRbMV09blsxXSp1LHRbMl09blsy
XSp1KSx0fWZ1bmN0aW9uIHcodCxuKXtyZXR1cm4gdFswXSpuWzBdK3RbMV0qblsxXSt0WzJdKm5b
Ml19ZnVuY3Rpb24gUih0LG4scil7dmFyIGE9blswXSxlPW5bMV0sdT1uWzJdLG89clswXSxpPXJb
MV0scz1yWzJdO3JldHVybiB0WzBdPWUqcy11KmksdFsxXT11Km8tYSpzLHRbMl09YSppLWUqbyx0
fWZ1bmN0aW9uIEwodCxuLHIsYSl7dmFyIGU9blswXSx1PW5bMV0sbz1uWzJdO3JldHVybiB0WzBd
PWUrYSooclswXS1lKSx0WzFdPXUrYSooclsxXS11KSx0WzJdPW8rYSooclsyXS1vKSx0fWZ1bmN0
aW9uIFModCxuLHIsYSxlLHUpe3ZhciBvPXUqdSxpPW8qKDIqdS0zKSsxLHM9byoodS0yKSt1LGM9
byoodS0xKSxmPW8qKDMtMip1KTtyZXR1cm4gdFswXT1uWzBdKmkrclswXSpzK2FbMF0qYytlWzBd
KmYsdFsxXT1uWzFdKmkrclsxXSpzK2FbMV0qYytlWzFdKmYsdFsyXT1uWzJdKmkrclsyXSpzK2Fb
Ml0qYytlWzJdKmYsdH1mdW5jdGlvbiBfKHQsbixyLGEsZSx1KXt2YXIgbz0xLXUsaT1vKm8scz11
KnUsYz1pKm8sZj0zKnUqaSxNPTMqcypvLGg9cyp1O3JldHVybiB0WzBdPW5bMF0qYytyWzBdKmYr
YVswXSpNK2VbMF0qaCx0WzFdPW5bMV0qYytyWzFdKmYrYVsxXSpNK2VbMV0qaCx0WzJdPW5bMl0q
YytyWzJdKmYrYVsyXSpNK2VbMl0qaCx0fWZ1bmN0aW9uIEkodCxuKXtuPW58fDE7dmFyIHI9Mipa
LlJBTkRPTSgpKk1hdGguUEksYT0yKlouUkFORE9NKCktMSxlPU1hdGguc3FydCgxLWEqYSkqbjty
ZXR1cm4gdFswXT1NYXRoLmNvcyhyKSplLHRbMV09TWF0aC5zaW4ocikqZSx0WzJdPWEqbix0fWZ1
bmN0aW9uIE4odCxuLHIpe3ZhciBhPW5bMF0sZT1uWzFdLHU9blsyXSxvPXJbM10qYStyWzddKmUr
clsxMV0qdStyWzE1XTtyZXR1cm4gbz1vfHwxLHRbMF09KHJbMF0qYStyWzRdKmUrcls4XSp1K3Jb
MTJdKS9vLHRbMV09KHJbMV0qYStyWzVdKmUrcls5XSp1K3JbMTNdKS9vLHRbMl09KHJbMl0qYSty
WzZdKmUrclsxMF0qdStyWzE0XSkvbyx0fWZ1bmN0aW9uIFkodCxuLHIpe3ZhciBhPW5bMF0sZT1u
WzFdLHU9blsyXTtyZXR1cm4gdFswXT1hKnJbMF0rZSpyWzNdK3Uqcls2XSx0WzFdPWEqclsxXStl
KnJbNF0rdSpyWzddLHRbMl09YSpyWzJdK2Uqcls1XSt1KnJbOF0sdH1mdW5jdGlvbiBnKHQsbixy
KXt2YXIgYT1uWzBdLGU9blsxXSx1PW5bMl0sbz1yWzBdLGk9clsxXSxzPXJbMl0sYz1yWzNdLGY9
YyphK2kqdS1zKmUsTT1jKmUrcyphLW8qdSxoPWMqdStvKmUtaSphLGw9LW8qYS1pKmUtcyp1O3Jl
dHVybiB0WzBdPWYqYytsKi1vK00qLXMtaCotaSx0WzFdPU0qYytsKi1pK2gqLW8tZiotcyx0WzJd
PWgqYytsKi1zK2YqLWktTSotbyx0fWZ1bmN0aW9uIFQodCxuLHIsYSl7dmFyIGU9W10sdT1bXTty
ZXR1cm4gZVswXT1uWzBdLXJbMF0sZVsxXT1uWzFdLXJbMV0sZVsyXT1uWzJdLXJbMl0sdVswXT1l
WzBdLHVbMV09ZVsxXSpNYXRoLmNvcyhhKS1lWzJdKk1hdGguc2luKGEpLHVbMl09ZVsxXSpNYXRo
LnNpbihhKStlWzJdKk1hdGguY29zKGEpLHRbMF09dVswXStyWzBdLHRbMV09dVsxXStyWzFdLHRb
Ml09dVsyXStyWzJdLHR9ZnVuY3Rpb24gaih0LG4scixhKXt2YXIgZT1bXSx1PVtdO3JldHVybiBl
WzBdPW5bMF0tclswXSxlWzFdPW5bMV0tclsxXSxlWzJdPW5bMl0tclsyXSx1WzBdPWVbMl0qTWF0
aC5zaW4oYSkrZVswXSpNYXRoLmNvcyhhKSx1WzFdPWVbMV0sdVsyXT1lWzJdKk1hdGguY29zKGEp
LWVbMF0qTWF0aC5zaW4oYSksdFswXT11WzBdK3JbMF0sdFsxXT11WzFdK3JbMV0sdFsyXT11WzJd
K3JbMl0sdH1mdW5jdGlvbiBEKHQsbixyLGEpe3ZhciBlPVtdLHU9W107cmV0dXJuIGVbMF09blsw
XS1yWzBdLGVbMV09blsxXS1yWzFdLGVbMl09blsyXS1yWzJdLHVbMF09ZVswXSpNYXRoLmNvcyhh
KS1lWzFdKk1hdGguc2luKGEpLHVbMV09ZVswXSpNYXRoLnNpbihhKStlWzFdKk1hdGguY29zKGEp
LHVbMl09ZVsyXSx0WzBdPXVbMF0rclswXSx0WzFdPXVbMV0rclsxXSx0WzJdPXVbMl0rclsyXSx0
fWZ1bmN0aW9uIFYodCxuKXt2YXIgcj1vKHRbMF0sdFsxXSx0WzJdKSxhPW8oblswXSxuWzFdLG5b
Ml0pO3kocixyKSx5KGEsYSk7dmFyIGU9dyhyLGEpO3JldHVybiBlPjE/MDplPC0xP01hdGguUEk6
TWF0aC5hY29zKGUpfWZ1bmN0aW9uIHoodCl7cmV0dXJuInZlYzMoIit0WzBdKyIsICIrdFsxXSsi
LCAiK3RbMl0rIikifWZ1bmN0aW9uIEYodCxuKXtyZXR1cm4gdFswXT09PW5bMF0mJnRbMV09PT1u
WzFdJiZ0WzJdPT09blsyXX1mdW5jdGlvbiBRKHQsbil7dmFyIHI9dFswXSxhPXRbMV0sZT10WzJd
LHU9blswXSxvPW5bMV0saT1uWzJdO3JldHVybiBNYXRoLmFicyhyLXUpPD1aLkVQU0lMT04qTWF0
aC5tYXgoMSxNYXRoLmFicyhyKSxNYXRoLmFicyh1KSkmJk1hdGguYWJzKGEtbyk8PVouRVBTSUxP
TipNYXRoLm1heCgxLE1hdGguYWJzKGEpLE1hdGguYWJzKG8pKSYmTWF0aC5hYnMoZS1pKTw9Wi5F
UFNJTE9OKk1hdGgubWF4KDEsTWF0aC5hYnMoZSksTWF0aC5hYnMoaSkpfU9iamVjdC5kZWZpbmVQ
cm9wZXJ0eShuLCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSxuLmZvckVhY2g9bi5zcXJMZW49bi5s
ZW49bi5zcXJEaXN0PW4uZGlzdD1uLmRpdj1uLm11bD1uLnN1Yj12b2lkIDAsbi5jcmVhdGU9YSxu
LmNsb25lPWUsbi5sZW5ndGg9dSxuLmZyb21WYWx1ZXM9byxuLmNvcHk9aSxuLnNldD1zLG4uYWRk
PWMsbi5zdWJ0cmFjdD1mLG4ubXVsdGlwbHk9TSxuLmRpdmlkZT1oLG4uY2VpbD1sLG4uZmxvb3I9
dixuLm1pbj1kLG4ubWF4PWIsbi5yb3VuZD1tLG4uc2NhbGU9cCxuLnNjYWxlQW5kQWRkPVAsbi5k
aXN0YW5jZT1FLG4uc3F1YXJlZERpc3RhbmNlPU8sbi5zcXVhcmVkTGVuZ3RoPXgsbi5uZWdhdGU9
QSxuLmludmVyc2U9cSxuLm5vcm1hbGl6ZT15LG4uZG90PXcsbi5jcm9zcz1SLG4ubGVycD1MLG4u
aGVybWl0ZT1TLG4uYmV6aWVyPV8sbi5yYW5kb209SSxuLnRyYW5zZm9ybU1hdDQ9TixuLnRyYW5z
Zm9ybU1hdDM9WSxuLnRyYW5zZm9ybVF1YXQ9ZyxuLnJvdGF0ZVg9VCxuLnJvdGF0ZVk9aixuLnJv
dGF0ZVo9RCxuLmFuZ2xlPVYsbi5zdHI9eixuLmV4YWN0RXF1YWxzPUYsbi5lcXVhbHM9UTt2YXIg
WD1yKDApLFo9ZnVuY3Rpb24odCl7aWYodCYmdC5fX2VzTW9kdWxlKXJldHVybiB0O3ZhciBuPXt9
O2lmKG51bGwhPXQpZm9yKHZhciByIGluIHQpT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0
eS5jYWxsKHQscikmJihuW3JdPXRbcl0pO3JldHVybiBuLmRlZmF1bHQ9dCxufShYKTtuLnN1Yj1m
LG4ubXVsPU0sbi5kaXY9aCxuLmRpc3Q9RSxuLnNxckRpc3Q9TyxuLmxlbj11LG4uc3FyTGVuPXgs
bi5mb3JFYWNoPWZ1bmN0aW9uKCl7dmFyIHQ9YSgpO3JldHVybiBmdW5jdGlvbihuLHIsYSxlLHUs
byl7dmFyIGk9dm9pZCAwLHM9dm9pZCAwO2ZvcihyfHwocj0zKSxhfHwoYT0wKSxzPWU/TWF0aC5t
aW4oZSpyK2Esbi5sZW5ndGgpOm4ubGVuZ3RoLGk9YTtpPHM7aSs9cil0WzBdPW5baV0sdFsxXT1u
W2krMV0sdFsyXT1uW2krMl0sdSh0LHQsbyksbltpXT10WzBdLG5baSsxXT10WzFdLG5baSsyXT10
WzJdO3JldHVybiBufX0oKX0sZnVuY3Rpb24odCxuLHIpeyJ1c2Ugc3RyaWN0IjtmdW5jdGlvbiBh
KCl7dmFyIHQ9bmV3IFQuQVJSQVlfVFlQRSg0KTtyZXR1cm4gdFswXT0wLHRbMV09MCx0WzJdPTAs
dFszXT0wLHR9ZnVuY3Rpb24gZSh0KXt2YXIgbj1uZXcgVC5BUlJBWV9UWVBFKDQpO3JldHVybiBu
WzBdPXRbMF0sblsxXT10WzFdLG5bMl09dFsyXSxuWzNdPXRbM10sbn1mdW5jdGlvbiB1KHQsbixy
LGEpe3ZhciBlPW5ldyBULkFSUkFZX1RZUEUoNCk7cmV0dXJuIGVbMF09dCxlWzFdPW4sZVsyXT1y
LGVbM109YSxlfWZ1bmN0aW9uIG8odCxuKXtyZXR1cm4gdFswXT1uWzBdLHRbMV09blsxXSx0WzJd
PW5bMl0sdFszXT1uWzNdLHR9ZnVuY3Rpb24gaSh0LG4scixhLGUpe3JldHVybiB0WzBdPW4sdFsx
XT1yLHRbMl09YSx0WzNdPWUsdH1mdW5jdGlvbiBzKHQsbixyKXtyZXR1cm4gdFswXT1uWzBdK3Jb
MF0sdFsxXT1uWzFdK3JbMV0sdFsyXT1uWzJdK3JbMl0sdFszXT1uWzNdK3JbM10sdH1mdW5jdGlv
biBjKHQsbixyKXtyZXR1cm4gdFswXT1uWzBdLXJbMF0sdFsxXT1uWzFdLXJbMV0sdFsyXT1uWzJd
LXJbMl0sdFszXT1uWzNdLXJbM10sdH1mdW5jdGlvbiBmKHQsbixyKXtyZXR1cm4gdFswXT1uWzBd
KnJbMF0sdFsxXT1uWzFdKnJbMV0sdFsyXT1uWzJdKnJbMl0sdFszXT1uWzNdKnJbM10sdH1mdW5j
dGlvbiBNKHQsbixyKXtyZXR1cm4gdFswXT1uWzBdL3JbMF0sdFsxXT1uWzFdL3JbMV0sdFsyXT1u
WzJdL3JbMl0sdFszXT1uWzNdL3JbM10sdH1mdW5jdGlvbiBoKHQsbil7cmV0dXJuIHRbMF09TWF0
aC5jZWlsKG5bMF0pLHRbMV09TWF0aC5jZWlsKG5bMV0pLHRbMl09TWF0aC5jZWlsKG5bMl0pLHRb
M109TWF0aC5jZWlsKG5bM10pLHR9ZnVuY3Rpb24gbCh0LG4pe3JldHVybiB0WzBdPU1hdGguZmxv
b3IoblswXSksdFsxXT1NYXRoLmZsb29yKG5bMV0pLHRbMl09TWF0aC5mbG9vcihuWzJdKSx0WzNd
PU1hdGguZmxvb3IoblszXSksdH1mdW5jdGlvbiB2KHQsbixyKXtyZXR1cm4gdFswXT1NYXRoLm1p
bihuWzBdLHJbMF0pLHRbMV09TWF0aC5taW4oblsxXSxyWzFdKSx0WzJdPU1hdGgubWluKG5bMl0s
clsyXSksdFszXT1NYXRoLm1pbihuWzNdLHJbM10pLHR9ZnVuY3Rpb24gZCh0LG4scil7cmV0dXJu
IHRbMF09TWF0aC5tYXgoblswXSxyWzBdKSx0WzFdPU1hdGgubWF4KG5bMV0sclsxXSksdFsyXT1N
YXRoLm1heChuWzJdLHJbMl0pLHRbM109TWF0aC5tYXgoblszXSxyWzNdKSx0fWZ1bmN0aW9uIGIo
dCxuKXtyZXR1cm4gdFswXT1NYXRoLnJvdW5kKG5bMF0pLHRbMV09TWF0aC5yb3VuZChuWzFdKSx0
WzJdPU1hdGgucm91bmQoblsyXSksdFszXT1NYXRoLnJvdW5kKG5bM10pLHR9ZnVuY3Rpb24gbSh0
LG4scil7cmV0dXJuIHRbMF09blswXSpyLHRbMV09blsxXSpyLHRbMl09blsyXSpyLHRbM109blsz
XSpyLHR9ZnVuY3Rpb24gcCh0LG4scixhKXtyZXR1cm4gdFswXT1uWzBdK3JbMF0qYSx0WzFdPW5b
MV0rclsxXSphLHRbMl09blsyXStyWzJdKmEsdFszXT1uWzNdK3JbM10qYSx0fWZ1bmN0aW9uIFAo
dCxuKXt2YXIgcj1uWzBdLXRbMF0sYT1uWzFdLXRbMV0sZT1uWzJdLXRbMl0sdT1uWzNdLXRbM107
cmV0dXJuIE1hdGguc3FydChyKnIrYSphK2UqZSt1KnUpfWZ1bmN0aW9uIEUodCxuKXt2YXIgcj1u
WzBdLXRbMF0sYT1uWzFdLXRbMV0sZT1uWzJdLXRbMl0sdT1uWzNdLXRbM107cmV0dXJuIHIqcith
KmErZSplK3UqdX1mdW5jdGlvbiBPKHQpe3ZhciBuPXRbMF0scj10WzFdLGE9dFsyXSxlPXRbM107
cmV0dXJuIE1hdGguc3FydChuKm4rcipyK2EqYStlKmUpfWZ1bmN0aW9uIHgodCl7dmFyIG49dFsw
XSxyPXRbMV0sYT10WzJdLGU9dFszXTtyZXR1cm4gbipuK3IqcithKmErZSplfWZ1bmN0aW9uIEEo
dCxuKXtyZXR1cm4gdFswXT0tblswXSx0WzFdPS1uWzFdLHRbMl09LW5bMl0sdFszXT0tblszXSx0
fWZ1bmN0aW9uIHEodCxuKXtyZXR1cm4gdFswXT0xL25bMF0sdFsxXT0xL25bMV0sdFsyXT0xL25b
Ml0sdFszXT0xL25bM10sdH1mdW5jdGlvbiB5KHQsbil7dmFyIHI9blswXSxhPW5bMV0sZT1uWzJd
LHU9blszXSxvPXIqcithKmErZSplK3UqdTtyZXR1cm4gbz4wJiYobz0xL01hdGguc3FydChvKSx0
WzBdPXIqbyx0WzFdPWEqbyx0WzJdPWUqbyx0WzNdPXUqbyksdH1mdW5jdGlvbiB3KHQsbil7cmV0
dXJuIHRbMF0qblswXSt0WzFdKm5bMV0rdFsyXSpuWzJdK3RbM10qblszXX1mdW5jdGlvbiBSKHQs
bixyLGEpe3ZhciBlPW5bMF0sdT1uWzFdLG89blsyXSxpPW5bM107cmV0dXJuIHRbMF09ZSthKihy
WzBdLWUpLHRbMV09dSthKihyWzFdLXUpLHRbMl09bythKihyWzJdLW8pLHRbM109aSthKihyWzNd
LWkpLHR9ZnVuY3Rpb24gTCh0LG4pe3JldHVybiBuPW58fDEsdFswXT1ULlJBTkRPTSgpLHRbMV09
VC5SQU5ET00oKSx0WzJdPVQuUkFORE9NKCksdFszXT1ULlJBTkRPTSgpLHkodCx0KSxtKHQsdCxu
KSx0fWZ1bmN0aW9uIFModCxuLHIpe3ZhciBhPW5bMF0sZT1uWzFdLHU9blsyXSxvPW5bM107cmV0
dXJuIHRbMF09clswXSphK3JbNF0qZStyWzhdKnUrclsxMl0qbyx0WzFdPXJbMV0qYStyWzVdKmUr
cls5XSp1K3JbMTNdKm8sdFsyXT1yWzJdKmErcls2XSplK3JbMTBdKnUrclsxNF0qbyx0WzNdPXJb
M10qYStyWzddKmUrclsxMV0qdStyWzE1XSpvLHR9ZnVuY3Rpb24gXyh0LG4scil7dmFyIGE9blsw
XSxlPW5bMV0sdT1uWzJdLG89clswXSxpPXJbMV0scz1yWzJdLGM9clszXSxmPWMqYStpKnUtcypl
LE09YyplK3MqYS1vKnUsaD1jKnUrbyplLWkqYSxsPS1vKmEtaSplLXMqdTtyZXR1cm4gdFswXT1m
KmMrbCotbytNKi1zLWgqLWksdFsxXT1NKmMrbCotaStoKi1vLWYqLXMsdFsyXT1oKmMrbCotcytm
Ki1pLU0qLW8sdFszXT1uWzNdLHR9ZnVuY3Rpb24gSSh0KXtyZXR1cm4idmVjNCgiK3RbMF0rIiwg
Iit0WzFdKyIsICIrdFsyXSsiLCAiK3RbM10rIikifWZ1bmN0aW9uIE4odCxuKXtyZXR1cm4gdFsw
XT09PW5bMF0mJnRbMV09PT1uWzFdJiZ0WzJdPT09blsyXSYmdFszXT09PW5bM119ZnVuY3Rpb24g
WSh0LG4pe3ZhciByPXRbMF0sYT10WzFdLGU9dFsyXSx1PXRbM10sbz1uWzBdLGk9blsxXSxzPW5b
Ml0sYz1uWzNdO3JldHVybiBNYXRoLmFicyhyLW8pPD1ULkVQU0lMT04qTWF0aC5tYXgoMSxNYXRo
LmFicyhyKSxNYXRoLmFicyhvKSkmJk1hdGguYWJzKGEtaSk8PVQuRVBTSUxPTipNYXRoLm1heCgx
LE1hdGguYWJzKGEpLE1hdGguYWJzKGkpKSYmTWF0aC5hYnMoZS1zKTw9VC5FUFNJTE9OKk1hdGgu
bWF4KDEsTWF0aC5hYnMoZSksTWF0aC5hYnMocykpJiZNYXRoLmFicyh1LWMpPD1ULkVQU0lMT04q
TWF0aC5tYXgoMSxNYXRoLmFicyh1KSxNYXRoLmFicyhjKSl9T2JqZWN0LmRlZmluZVByb3BlcnR5
KG4sIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLG4uZm9yRWFjaD1uLnNxckxlbj1uLmxlbj1uLnNx
ckRpc3Q9bi5kaXN0PW4uZGl2PW4ubXVsPW4uc3ViPXZvaWQgMCxuLmNyZWF0ZT1hLG4uY2xvbmU9
ZSxuLmZyb21WYWx1ZXM9dSxuLmNvcHk9byxuLnNldD1pLG4uYWRkPXMsbi5zdWJ0cmFjdD1jLG4u
bXVsdGlwbHk9ZixuLmRpdmlkZT1NLG4uY2VpbD1oLG4uZmxvb3I9bCxuLm1pbj12LG4ubWF4PWQs
bi5yb3VuZD1iLG4uc2NhbGU9bSxuLnNjYWxlQW5kQWRkPXAsbi5kaXN0YW5jZT1QLG4uc3F1YXJl
ZERpc3RhbmNlPUUsbi5sZW5ndGg9TyxuLnNxdWFyZWRMZW5ndGg9eCxuLm5lZ2F0ZT1BLG4uaW52
ZXJzZT1xLG4ubm9ybWFsaXplPXksbi5kb3Q9dyxuLmxlcnA9UixuLnJhbmRvbT1MLG4udHJhbnNm
b3JtTWF0ND1TLG4udHJhbnNmb3JtUXVhdD1fLG4uc3RyPUksbi5leGFjdEVxdWFscz1OLG4uZXF1
YWxzPVk7dmFyIGc9cigwKSxUPWZ1bmN0aW9uKHQpe2lmKHQmJnQuX19lc01vZHVsZSlyZXR1cm4g
dDt2YXIgbj17fTtpZihudWxsIT10KWZvcih2YXIgciBpbiB0KU9iamVjdC5wcm90b3R5cGUuaGFz
T3duUHJvcGVydHkuY2FsbCh0LHIpJiYobltyXT10W3JdKTtyZXR1cm4gbi5kZWZhdWx0PXQsbn0o
Zyk7bi5zdWI9YyxuLm11bD1mLG4uZGl2PU0sbi5kaXN0PVAsbi5zcXJEaXN0PUUsbi5sZW49Tyxu
LnNxckxlbj14LG4uZm9yRWFjaD1mdW5jdGlvbigpe3ZhciB0PWEoKTtyZXR1cm4gZnVuY3Rpb24o
bixyLGEsZSx1LG8pe3ZhciBpPXZvaWQgMCxzPXZvaWQgMDtmb3Iocnx8KHI9NCksYXx8KGE9MCks
cz1lP01hdGgubWluKGUqcithLG4ubGVuZ3RoKTpuLmxlbmd0aCxpPWE7aTxzO2krPXIpdFswXT1u
W2ldLHRbMV09bltpKzFdLHRbMl09bltpKzJdLHRbM109bltpKzNdLHUodCx0LG8pLG5baV09dFsw
XSxuW2krMV09dFsxXSxuW2krMl09dFsyXSxuW2krM109dFszXTtyZXR1cm4gbn19KCl9LGZ1bmN0
aW9uKHQsbixyKXsidXNlIHN0cmljdCI7ZnVuY3Rpb24gYSh0KXtpZih0JiZ0Ll9fZXNNb2R1bGUp
cmV0dXJuIHQ7dmFyIG49e307aWYobnVsbCE9dClmb3IodmFyIHIgaW4gdClPYmplY3QucHJvdG90
eXBlLmhhc093blByb3BlcnR5LmNhbGwodCxyKSYmKG5bcl09dFtyXSk7cmV0dXJuIG4uZGVmYXVs
dD10LG59T2JqZWN0LmRlZmluZVByb3BlcnR5KG4sIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLG4u
dmVjND1uLnZlYzM9bi52ZWMyPW4ucXVhdD1uLm1hdDQ9bi5tYXQzPW4ubWF0MmQ9bi5tYXQyPW4u
Z2xNYXRyaXg9dm9pZCAwO3ZhciBlPXIoMCksdT1hKGUpLG89cig1KSxpPWEobykscz1yKDYpLGM9
YShzKSxmPXIoMSksTT1hKGYpLGg9cig3KSxsPWEoaCksdj1yKDgpLGQ9YSh2KSxiPXIoOSksbT1h
KGIpLHA9cigyKSxQPWEocCksRT1yKDMpLE89YShFKTtuLmdsTWF0cml4PXUsbi5tYXQyPWksbi5t
YXQyZD1jLG4ubWF0Mz1NLG4ubWF0ND1sLG4ucXVhdD1kLG4udmVjMj1tLG4udmVjMz1QLG4udmVj
ND1PfSxmdW5jdGlvbih0LG4scil7InVzZSBzdHJpY3QiO2Z1bmN0aW9uIGEoKXt2YXIgdD1uZXcg
TC5BUlJBWV9UWVBFKDQpO3JldHVybiB0WzBdPTEsdFsxXT0wLHRbMl09MCx0WzNdPTEsdH1mdW5j
dGlvbiBlKHQpe3ZhciBuPW5ldyBMLkFSUkFZX1RZUEUoNCk7cmV0dXJuIG5bMF09dFswXSxuWzFd
PXRbMV0sblsyXT10WzJdLG5bM109dFszXSxufWZ1bmN0aW9uIHUodCxuKXtyZXR1cm4gdFswXT1u
WzBdLHRbMV09blsxXSx0WzJdPW5bMl0sdFszXT1uWzNdLHR9ZnVuY3Rpb24gbyh0KXtyZXR1cm4g
dFswXT0xLHRbMV09MCx0WzJdPTAsdFszXT0xLHR9ZnVuY3Rpb24gaSh0LG4scixhKXt2YXIgZT1u
ZXcgTC5BUlJBWV9UWVBFKDQpO3JldHVybiBlWzBdPXQsZVsxXT1uLGVbMl09cixlWzNdPWEsZX1m
dW5jdGlvbiBzKHQsbixyLGEsZSl7cmV0dXJuIHRbMF09bix0WzFdPXIsdFsyXT1hLHRbM109ZSx0
fWZ1bmN0aW9uIGModCxuKXtpZih0PT09bil7dmFyIHI9blsxXTt0WzFdPW5bMl0sdFsyXT1yfWVs
c2UgdFswXT1uWzBdLHRbMV09blsyXSx0WzJdPW5bMV0sdFszXT1uWzNdO3JldHVybiB0fWZ1bmN0
aW9uIGYodCxuKXt2YXIgcj1uWzBdLGE9blsxXSxlPW5bMl0sdT1uWzNdLG89cip1LWUqYTtyZXR1
cm4gbz8obz0xL28sdFswXT11Km8sdFsxXT0tYSpvLHRbMl09LWUqbyx0WzNdPXIqbyx0KTpudWxs
fWZ1bmN0aW9uIE0odCxuKXt2YXIgcj1uWzBdO3JldHVybiB0WzBdPW5bM10sdFsxXT0tblsxXSx0
WzJdPS1uWzJdLHRbM109cix0fWZ1bmN0aW9uIGgodCl7cmV0dXJuIHRbMF0qdFszXS10WzJdKnRb
MV19ZnVuY3Rpb24gbCh0LG4scil7dmFyIGE9blswXSxlPW5bMV0sdT1uWzJdLG89blszXSxpPXJb
MF0scz1yWzFdLGM9clsyXSxmPXJbM107cmV0dXJuIHRbMF09YSppK3Uqcyx0WzFdPWUqaStvKnMs
dFsyXT1hKmMrdSpmLHRbM109ZSpjK28qZix0fWZ1bmN0aW9uIHYodCxuLHIpe3ZhciBhPW5bMF0s
ZT1uWzFdLHU9blsyXSxvPW5bM10saT1NYXRoLnNpbihyKSxzPU1hdGguY29zKHIpO3JldHVybiB0
WzBdPWEqcyt1KmksdFsxXT1lKnMrbyppLHRbMl09YSotaSt1KnMsdFszXT1lKi1pK28qcyx0fWZ1
bmN0aW9uIGQodCxuLHIpe3ZhciBhPW5bMF0sZT1uWzFdLHU9blsyXSxvPW5bM10saT1yWzBdLHM9
clsxXTtyZXR1cm4gdFswXT1hKmksdFsxXT1lKmksdFsyXT11KnMsdFszXT1vKnMsdH1mdW5jdGlv
biBiKHQsbil7dmFyIHI9TWF0aC5zaW4obiksYT1NYXRoLmNvcyhuKTtyZXR1cm4gdFswXT1hLHRb
MV09cix0WzJdPS1yLHRbM109YSx0fWZ1bmN0aW9uIG0odCxuKXtyZXR1cm4gdFswXT1uWzBdLHRb
MV09MCx0WzJdPTAsdFszXT1uWzFdLHR9ZnVuY3Rpb24gcCh0KXtyZXR1cm4ibWF0MigiK3RbMF0r
IiwgIit0WzFdKyIsICIrdFsyXSsiLCAiK3RbM10rIikifWZ1bmN0aW9uIFAodCl7cmV0dXJuIE1h
dGguc3FydChNYXRoLnBvdyh0WzBdLDIpK01hdGgucG93KHRbMV0sMikrTWF0aC5wb3codFsyXSwy
KStNYXRoLnBvdyh0WzNdLDIpKX1mdW5jdGlvbiBFKHQsbixyLGEpe3JldHVybiB0WzJdPWFbMl0v
YVswXSxyWzBdPWFbMF0sclsxXT1hWzFdLHJbM109YVszXS10WzJdKnJbMV0sW3QsbixyXX1mdW5j
dGlvbiBPKHQsbixyKXtyZXR1cm4gdFswXT1uWzBdK3JbMF0sdFsxXT1uWzFdK3JbMV0sdFsyXT1u
WzJdK3JbMl0sdFszXT1uWzNdK3JbM10sdH1mdW5jdGlvbiB4KHQsbixyKXtyZXR1cm4gdFswXT1u
WzBdLXJbMF0sdFsxXT1uWzFdLXJbMV0sdFsyXT1uWzJdLXJbMl0sdFszXT1uWzNdLXJbM10sdH1m
dW5jdGlvbiBBKHQsbil7cmV0dXJuIHRbMF09PT1uWzBdJiZ0WzFdPT09blsxXSYmdFsyXT09PW5b
Ml0mJnRbM109PT1uWzNdfWZ1bmN0aW9uIHEodCxuKXt2YXIgcj10WzBdLGE9dFsxXSxlPXRbMl0s
dT10WzNdLG89blswXSxpPW5bMV0scz1uWzJdLGM9blszXTtyZXR1cm4gTWF0aC5hYnMoci1vKTw9
TC5FUFNJTE9OKk1hdGgubWF4KDEsTWF0aC5hYnMociksTWF0aC5hYnMobykpJiZNYXRoLmFicyhh
LWkpPD1MLkVQU0lMT04qTWF0aC5tYXgoMSxNYXRoLmFicyhhKSxNYXRoLmFicyhpKSkmJk1hdGgu
YWJzKGUtcyk8PUwuRVBTSUxPTipNYXRoLm1heCgxLE1hdGguYWJzKGUpLE1hdGguYWJzKHMpKSYm
TWF0aC5hYnModS1jKTw9TC5FUFNJTE9OKk1hdGgubWF4KDEsTWF0aC5hYnModSksTWF0aC5hYnMo
YykpfWZ1bmN0aW9uIHkodCxuLHIpe3JldHVybiB0WzBdPW5bMF0qcix0WzFdPW5bMV0qcix0WzJd
PW5bMl0qcix0WzNdPW5bM10qcix0fWZ1bmN0aW9uIHcodCxuLHIsYSl7cmV0dXJuIHRbMF09blsw
XStyWzBdKmEsdFsxXT1uWzFdK3JbMV0qYSx0WzJdPW5bMl0rclsyXSphLHRbM109blszXStyWzNd
KmEsdH1PYmplY3QuZGVmaW5lUHJvcGVydHkobiwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksbi5z
dWI9bi5tdWw9dm9pZCAwLG4uY3JlYXRlPWEsbi5jbG9uZT1lLG4uY29weT11LG4uaWRlbnRpdHk9
byxuLmZyb21WYWx1ZXM9aSxuLnNldD1zLG4udHJhbnNwb3NlPWMsbi5pbnZlcnQ9ZixuLmFkam9p
bnQ9TSxuLmRldGVybWluYW50PWgsbi5tdWx0aXBseT1sLG4ucm90YXRlPXYsbi5zY2FsZT1kLG4u
ZnJvbVJvdGF0aW9uPWIsbi5mcm9tU2NhbGluZz1tLG4uc3RyPXAsbi5mcm9iPVAsbi5MRFU9RSxu
LmFkZD1PLG4uc3VidHJhY3Q9eCxuLmV4YWN0RXF1YWxzPUEsbi5lcXVhbHM9cSxuLm11bHRpcGx5
U2NhbGFyPXksbi5tdWx0aXBseVNjYWxhckFuZEFkZD13O3ZhciBSPXIoMCksTD1mdW5jdGlvbih0
KXtpZih0JiZ0Ll9fZXNNb2R1bGUpcmV0dXJuIHQ7dmFyIG49e307aWYobnVsbCE9dClmb3IodmFy
IHIgaW4gdClPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwodCxyKSYmKG5bcl09
dFtyXSk7cmV0dXJuIG4uZGVmYXVsdD10LG59KFIpO24ubXVsPWwsbi5zdWI9eH0sZnVuY3Rpb24o
dCxuLHIpeyJ1c2Ugc3RyaWN0IjtmdW5jdGlvbiBhKCl7dmFyIHQ9bmV3IFIuQVJSQVlfVFlQRSg2
KTtyZXR1cm4gdFswXT0xLHRbMV09MCx0WzJdPTAsdFszXT0xLHRbNF09MCx0WzVdPTAsdH1mdW5j
dGlvbiBlKHQpe3ZhciBuPW5ldyBSLkFSUkFZX1RZUEUoNik7cmV0dXJuIG5bMF09dFswXSxuWzFd
PXRbMV0sblsyXT10WzJdLG5bM109dFszXSxuWzRdPXRbNF0sbls1XT10WzVdLG59ZnVuY3Rpb24g
dSh0LG4pe3JldHVybiB0WzBdPW5bMF0sdFsxXT1uWzFdLHRbMl09blsyXSx0WzNdPW5bM10sdFs0
XT1uWzRdLHRbNV09bls1XSx0fWZ1bmN0aW9uIG8odCl7cmV0dXJuIHRbMF09MSx0WzFdPTAsdFsy
XT0wLHRbM109MSx0WzRdPTAsdFs1XT0wLHR9ZnVuY3Rpb24gaSh0LG4scixhLGUsdSl7dmFyIG89
bmV3IFIuQVJSQVlfVFlQRSg2KTtyZXR1cm4gb1swXT10LG9bMV09bixvWzJdPXIsb1szXT1hLG9b
NF09ZSxvWzVdPXUsb31mdW5jdGlvbiBzKHQsbixyLGEsZSx1LG8pe3JldHVybiB0WzBdPW4sdFsx
XT1yLHRbMl09YSx0WzNdPWUsdFs0XT11LHRbNV09byx0fWZ1bmN0aW9uIGModCxuKXt2YXIgcj1u
WzBdLGE9blsxXSxlPW5bMl0sdT1uWzNdLG89bls0XSxpPW5bNV0scz1yKnUtYSplO3JldHVybiBz
PyhzPTEvcyx0WzBdPXUqcyx0WzFdPS1hKnMsdFsyXT0tZSpzLHRbM109cipzLHRbNF09KGUqaS11
Km8pKnMsdFs1XT0oYSpvLXIqaSkqcyx0KTpudWxsfWZ1bmN0aW9uIGYodCl7cmV0dXJuIHRbMF0q
dFszXS10WzFdKnRbMl19ZnVuY3Rpb24gTSh0LG4scil7dmFyIGE9blswXSxlPW5bMV0sdT1uWzJd
LG89blszXSxpPW5bNF0scz1uWzVdLGM9clswXSxmPXJbMV0sTT1yWzJdLGg9clszXSxsPXJbNF0s
dj1yWzVdO3JldHVybiB0WzBdPWEqYyt1KmYsdFsxXT1lKmMrbypmLHRbMl09YSpNK3UqaCx0WzNd
PWUqTStvKmgsdFs0XT1hKmwrdSp2K2ksdFs1XT1lKmwrbyp2K3MsdH1mdW5jdGlvbiBoKHQsbixy
KXt2YXIgYT1uWzBdLGU9blsxXSx1PW5bMl0sbz1uWzNdLGk9bls0XSxzPW5bNV0sYz1NYXRoLnNp
bihyKSxmPU1hdGguY29zKHIpO3JldHVybiB0WzBdPWEqZit1KmMsdFsxXT1lKmYrbypjLHRbMl09
YSotYyt1KmYsdFszXT1lKi1jK28qZix0WzRdPWksdFs1XT1zLHR9ZnVuY3Rpb24gbCh0LG4scil7
dmFyIGE9blswXSxlPW5bMV0sdT1uWzJdLG89blszXSxpPW5bNF0scz1uWzVdLGM9clswXSxmPXJb
MV07cmV0dXJuIHRbMF09YSpjLHRbMV09ZSpjLHRbMl09dSpmLHRbM109bypmLHRbNF09aSx0WzVd
PXMsdH1mdW5jdGlvbiB2KHQsbixyKXt2YXIgYT1uWzBdLGU9blsxXSx1PW5bMl0sbz1uWzNdLGk9
bls0XSxzPW5bNV0sYz1yWzBdLGY9clsxXTtyZXR1cm4gdFswXT1hLHRbMV09ZSx0WzJdPXUsdFsz
XT1vLHRbNF09YSpjK3UqZitpLHRbNV09ZSpjK28qZitzLHR9ZnVuY3Rpb24gZCh0LG4pe3ZhciBy
PU1hdGguc2luKG4pLGE9TWF0aC5jb3Mobik7cmV0dXJuIHRbMF09YSx0WzFdPXIsdFsyXT0tcix0
WzNdPWEsdFs0XT0wLHRbNV09MCx0fWZ1bmN0aW9uIGIodCxuKXtyZXR1cm4gdFswXT1uWzBdLHRb
MV09MCx0WzJdPTAsdFszXT1uWzFdLHRbNF09MCx0WzVdPTAsdH1mdW5jdGlvbiBtKHQsbil7cmV0
dXJuIHRbMF09MSx0WzFdPTAsdFsyXT0wLHRbM109MSx0WzRdPW5bMF0sdFs1XT1uWzFdLHR9ZnVu
Y3Rpb24gcCh0KXtyZXR1cm4ibWF0MmQoIit0WzBdKyIsICIrdFsxXSsiLCAiK3RbMl0rIiwgIit0
WzNdKyIsICIrdFs0XSsiLCAiK3RbNV0rIikifWZ1bmN0aW9uIFAodCl7cmV0dXJuIE1hdGguc3Fy
dChNYXRoLnBvdyh0WzBdLDIpK01hdGgucG93KHRbMV0sMikrTWF0aC5wb3codFsyXSwyKStNYXRo
LnBvdyh0WzNdLDIpK01hdGgucG93KHRbNF0sMikrTWF0aC5wb3codFs1XSwyKSsxKX1mdW5jdGlv
biBFKHQsbixyKXtyZXR1cm4gdFswXT1uWzBdK3JbMF0sdFsxXT1uWzFdK3JbMV0sdFsyXT1uWzJd
K3JbMl0sdFszXT1uWzNdK3JbM10sdFs0XT1uWzRdK3JbNF0sdFs1XT1uWzVdK3JbNV0sdH1mdW5j
dGlvbiBPKHQsbixyKXtyZXR1cm4gdFswXT1uWzBdLXJbMF0sdFsxXT1uWzFdLXJbMV0sdFsyXT1u
WzJdLXJbMl0sdFszXT1uWzNdLXJbM10sdFs0XT1uWzRdLXJbNF0sdFs1XT1uWzVdLXJbNV0sdH1m
dW5jdGlvbiB4KHQsbixyKXtyZXR1cm4gdFswXT1uWzBdKnIsdFsxXT1uWzFdKnIsdFsyXT1uWzJd
KnIsdFszXT1uWzNdKnIsdFs0XT1uWzRdKnIsdFs1XT1uWzVdKnIsdH1mdW5jdGlvbiBBKHQsbixy
LGEpe3JldHVybiB0WzBdPW5bMF0rclswXSphLHRbMV09blsxXStyWzFdKmEsdFsyXT1uWzJdK3Jb
Ml0qYSx0WzNdPW5bM10rclszXSphLHRbNF09bls0XStyWzRdKmEsdFs1XT1uWzVdK3JbNV0qYSx0
fWZ1bmN0aW9uIHEodCxuKXtyZXR1cm4gdFswXT09PW5bMF0mJnRbMV09PT1uWzFdJiZ0WzJdPT09
blsyXSYmdFszXT09PW5bM10mJnRbNF09PT1uWzRdJiZ0WzVdPT09bls1XX1mdW5jdGlvbiB5KHQs
bil7dmFyIHI9dFswXSxhPXRbMV0sZT10WzJdLHU9dFszXSxvPXRbNF0saT10WzVdLHM9blswXSxj
PW5bMV0sZj1uWzJdLE09blszXSxoPW5bNF0sbD1uWzVdO3JldHVybiBNYXRoLmFicyhyLXMpPD1S
LkVQU0lMT04qTWF0aC5tYXgoMSxNYXRoLmFicyhyKSxNYXRoLmFicyhzKSkmJk1hdGguYWJzKGEt
Yyk8PVIuRVBTSUxPTipNYXRoLm1heCgxLE1hdGguYWJzKGEpLE1hdGguYWJzKGMpKSYmTWF0aC5h
YnMoZS1mKTw9Ui5FUFNJTE9OKk1hdGgubWF4KDEsTWF0aC5hYnMoZSksTWF0aC5hYnMoZikpJiZN
YXRoLmFicyh1LU0pPD1SLkVQU0lMT04qTWF0aC5tYXgoMSxNYXRoLmFicyh1KSxNYXRoLmFicyhN
KSkmJk1hdGguYWJzKG8taCk8PVIuRVBTSUxPTipNYXRoLm1heCgxLE1hdGguYWJzKG8pLE1hdGgu
YWJzKGgpKSYmTWF0aC5hYnMoaS1sKTw9Ui5FUFNJTE9OKk1hdGgubWF4KDEsTWF0aC5hYnMoaSks
TWF0aC5hYnMobCkpfU9iamVjdC5kZWZpbmVQcm9wZXJ0eShuLCJfX2VzTW9kdWxlIix7dmFsdWU6
ITB9KSxuLnN1Yj1uLm11bD12b2lkIDAsbi5jcmVhdGU9YSxuLmNsb25lPWUsbi5jb3B5PXUsbi5p
ZGVudGl0eT1vLG4uZnJvbVZhbHVlcz1pLG4uc2V0PXMsbi5pbnZlcnQ9YyxuLmRldGVybWluYW50
PWYsbi5tdWx0aXBseT1NLG4ucm90YXRlPWgsbi5zY2FsZT1sLG4udHJhbnNsYXRlPXYsbi5mcm9t
Um90YXRpb249ZCxuLmZyb21TY2FsaW5nPWIsbi5mcm9tVHJhbnNsYXRpb249bSxuLnN0cj1wLG4u
ZnJvYj1QLG4uYWRkPUUsbi5zdWJ0cmFjdD1PLG4ubXVsdGlwbHlTY2FsYXI9eCxuLm11bHRpcGx5
U2NhbGFyQW5kQWRkPUEsbi5leGFjdEVxdWFscz1xLG4uZXF1YWxzPXk7dmFyIHc9cigwKSxSPWZ1
bmN0aW9uKHQpe2lmKHQmJnQuX19lc01vZHVsZSlyZXR1cm4gdDt2YXIgbj17fTtpZihudWxsIT10
KWZvcih2YXIgciBpbiB0KU9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbCh0LHIp
JiYobltyXT10W3JdKTtyZXR1cm4gbi5kZWZhdWx0PXQsbn0odyk7bi5tdWw9TSxuLnN1Yj1PfSxm
dW5jdGlvbih0LG4scil7InVzZSBzdHJpY3QiO2Z1bmN0aW9uIGEoKXt2YXIgdD1uZXcgQy5BUlJB
WV9UWVBFKDE2KTtyZXR1cm4gdFswXT0xLHRbMV09MCx0WzJdPTAsdFszXT0wLHRbNF09MCx0WzVd
PTEsdFs2XT0wLHRbN109MCx0WzhdPTAsdFs5XT0wLHRbMTBdPTEsdFsxMV09MCx0WzEyXT0wLHRb
MTNdPTAsdFsxNF09MCx0WzE1XT0xLHR9ZnVuY3Rpb24gZSh0KXt2YXIgbj1uZXcgQy5BUlJBWV9U
WVBFKDE2KTtyZXR1cm4gblswXT10WzBdLG5bMV09dFsxXSxuWzJdPXRbMl0sblszXT10WzNdLG5b
NF09dFs0XSxuWzVdPXRbNV0sbls2XT10WzZdLG5bN109dFs3XSxuWzhdPXRbOF0sbls5XT10Wzld
LG5bMTBdPXRbMTBdLG5bMTFdPXRbMTFdLG5bMTJdPXRbMTJdLG5bMTNdPXRbMTNdLG5bMTRdPXRb
MTRdLG5bMTVdPXRbMTVdLG59ZnVuY3Rpb24gdSh0LG4pe3JldHVybiB0WzBdPW5bMF0sdFsxXT1u
WzFdLHRbMl09blsyXSx0WzNdPW5bM10sdFs0XT1uWzRdLHRbNV09bls1XSx0WzZdPW5bNl0sdFs3
XT1uWzddLHRbOF09bls4XSx0WzldPW5bOV0sdFsxMF09blsxMF0sdFsxMV09blsxMV0sdFsxMl09
blsxMl0sdFsxM109blsxM10sdFsxNF09blsxNF0sdFsxNV09blsxNV0sdH1mdW5jdGlvbiBvKHQs
bixyLGEsZSx1LG8saSxzLGMsZixNLGgsbCx2LGQpe3ZhciBiPW5ldyBDLkFSUkFZX1RZUEUoMTYp
O3JldHVybiBiWzBdPXQsYlsxXT1uLGJbMl09cixiWzNdPWEsYls0XT1lLGJbNV09dSxiWzZdPW8s
Yls3XT1pLGJbOF09cyxiWzldPWMsYlsxMF09ZixiWzExXT1NLGJbMTJdPWgsYlsxM109bCxiWzE0
XT12LGJbMTVdPWQsYn1mdW5jdGlvbiBpKHQsbixyLGEsZSx1LG8saSxzLGMsZixNLGgsbCx2LGQs
Yil7cmV0dXJuIHRbMF09bix0WzFdPXIsdFsyXT1hLHRbM109ZSx0WzRdPXUsdFs1XT1vLHRbNl09
aSx0WzddPXMsdFs4XT1jLHRbOV09Zix0WzEwXT1NLHRbMTFdPWgsdFsxMl09bCx0WzEzXT12LHRb
MTRdPWQsdFsxNV09Yix0fWZ1bmN0aW9uIHModCl7cmV0dXJuIHRbMF09MSx0WzFdPTAsdFsyXT0w
LHRbM109MCx0WzRdPTAsdFs1XT0xLHRbNl09MCx0WzddPTAsdFs4XT0wLHRbOV09MCx0WzEwXT0x
LHRbMTFdPTAsdFsxMl09MCx0WzEzXT0wLHRbMTRdPTAsdFsxNV09MSx0fWZ1bmN0aW9uIGModCxu
KXtpZih0PT09bil7dmFyIHI9blsxXSxhPW5bMl0sZT1uWzNdLHU9bls2XSxvPW5bN10saT1uWzEx
XTt0WzFdPW5bNF0sdFsyXT1uWzhdLHRbM109blsxMl0sdFs0XT1yLHRbNl09bls5XSx0WzddPW5b
MTNdLHRbOF09YSx0WzldPXUsdFsxMV09blsxNF0sdFsxMl09ZSx0WzEzXT1vLHRbMTRdPWl9ZWxz
ZSB0WzBdPW5bMF0sdFsxXT1uWzRdLHRbMl09bls4XSx0WzNdPW5bMTJdLHRbNF09blsxXSx0WzVd
PW5bNV0sdFs2XT1uWzldLHRbN109blsxM10sdFs4XT1uWzJdLHRbOV09bls2XSx0WzEwXT1uWzEw
XSx0WzExXT1uWzE0XSx0WzEyXT1uWzNdLHRbMTNdPW5bN10sdFsxNF09blsxMV0sdFsxNV09blsx
NV07cmV0dXJuIHR9ZnVuY3Rpb24gZih0LG4pe3ZhciByPW5bMF0sYT1uWzFdLGU9blsyXSx1PW5b
M10sbz1uWzRdLGk9bls1XSxzPW5bNl0sYz1uWzddLGY9bls4XSxNPW5bOV0saD1uWzEwXSxsPW5b
MTFdLHY9blsxMl0sZD1uWzEzXSxiPW5bMTRdLG09blsxNV0scD1yKmktYSpvLFA9cipzLWUqbyxF
PXIqYy11Km8sTz1hKnMtZSppLHg9YSpjLXUqaSxBPWUqYy11KnMscT1mKmQtTSp2LHk9ZipiLWgq
dix3PWYqbS1sKnYsUj1NKmItaCpkLEw9TSptLWwqZCxTPWgqbS1sKmIsXz1wKlMtUCpMK0UqUitP
KncteCp5K0EqcTtyZXR1cm4gXz8oXz0xL18sdFswXT0oaSpTLXMqTCtjKlIpKl8sdFsxXT0oZSpM
LWEqUy11KlIpKl8sdFsyXT0oZCpBLWIqeCttKk8pKl8sdFszXT0oaCp4LU0qQS1sKk8pKl8sdFs0
XT0ocyp3LW8qUy1jKnkpKl8sdFs1XT0ocipTLWUqdyt1KnkpKl8sdFs2XT0oYipFLXYqQS1tKlAp
Kl8sdFs3XT0oZipBLWgqRStsKlApKl8sdFs4XT0obypMLWkqdytjKnEpKl8sdFs5XT0oYSp3LXIq
TC11KnEpKl8sdFsxMF09KHYqeC1kKkUrbSpwKSpfLHRbMTFdPShNKkUtZip4LWwqcCkqXyx0WzEy
XT0oaSp5LW8qUi1zKnEpKl8sdFsxM109KHIqUi1hKnkrZSpxKSpfLHRbMTRdPShkKlAtdipPLWIq
cCkqXyx0WzE1XT0oZipPLU0qUCtoKnApKl8sdCk6bnVsbH1mdW5jdGlvbiBNKHQsbil7dmFyIHI9
blswXSxhPW5bMV0sZT1uWzJdLHU9blszXSxvPW5bNF0saT1uWzVdLHM9bls2XSxjPW5bN10sZj1u
WzhdLE09bls5XSxoPW5bMTBdLGw9blsxMV0sdj1uWzEyXSxkPW5bMTNdLGI9blsxNF0sbT1uWzE1
XTtyZXR1cm4gdFswXT1pKihoKm0tbCpiKS1NKihzKm0tYypiKStkKihzKmwtYypoKSx0WzFdPS0o
YSooaCptLWwqYiktTSooZSptLXUqYikrZCooZSpsLXUqaCkpLHRbMl09YSoocyptLWMqYiktaSoo
ZSptLXUqYikrZCooZSpjLXUqcyksdFszXT0tKGEqKHMqbC1jKmgpLWkqKGUqbC11KmgpK00qKGUq
Yy11KnMpKSx0WzRdPS0obyooaCptLWwqYiktZioocyptLWMqYikrdioocypsLWMqaCkpLHRbNV09
ciooaCptLWwqYiktZiooZSptLXUqYikrdiooZSpsLXUqaCksdFs2XT0tKHIqKHMqbS1jKmIpLW8q
KGUqbS11KmIpK3YqKGUqYy11KnMpKSx0WzddPXIqKHMqbC1jKmgpLW8qKGUqbC11KmgpK2YqKGUq
Yy11KnMpLHRbOF09byooTSptLWwqZCktZiooaSptLWMqZCkrdiooaSpsLWMqTSksdFs5XT0tKHIq
KE0qbS1sKmQpLWYqKGEqbS11KmQpK3YqKGEqbC11Kk0pKSx0WzEwXT1yKihpKm0tYypkKS1vKihh
Km0tdSpkKSt2KihhKmMtdSppKSx0WzExXT0tKHIqKGkqbC1jKk0pLW8qKGEqbC11Kk0pK2YqKGEq
Yy11KmkpKSx0WzEyXT0tKG8qKE0qYi1oKmQpLWYqKGkqYi1zKmQpK3YqKGkqaC1zKk0pKSx0WzEz
XT1yKihNKmItaCpkKS1mKihhKmItZSpkKSt2KihhKmgtZSpNKSx0WzE0XT0tKHIqKGkqYi1zKmQp
LW8qKGEqYi1lKmQpK3YqKGEqcy1lKmkpKSx0WzE1XT1yKihpKmgtcypNKS1vKihhKmgtZSpNKStm
KihhKnMtZSppKSx0fWZ1bmN0aW9uIGgodCl7dmFyIG49dFswXSxyPXRbMV0sYT10WzJdLGU9dFsz
XSx1PXRbNF0sbz10WzVdLGk9dFs2XSxzPXRbN10sYz10WzhdLGY9dFs5XSxNPXRbMTBdLGg9dFsx
MV0sbD10WzEyXSx2PXRbMTNdLGQ9dFsxNF0sYj10WzE1XTtyZXR1cm4obipvLXIqdSkqKE0qYi1o
KmQpLShuKmktYSp1KSooZipiLWgqdikrKG4qcy1lKnUpKihmKmQtTSp2KSsocippLWEqbykqKGMq
Yi1oKmwpLShyKnMtZSpvKSooYypkLU0qbCkrKGEqcy1lKmkpKihjKnYtZipsKX1mdW5jdGlvbiBs
KHQsbixyKXt2YXIgYT1uWzBdLGU9blsxXSx1PW5bMl0sbz1uWzNdLGk9bls0XSxzPW5bNV0sYz1u
WzZdLGY9bls3XSxNPW5bOF0saD1uWzldLGw9blsxMF0sdj1uWzExXSxkPW5bMTJdLGI9blsxM10s
bT1uWzE0XSxwPW5bMTVdLFA9clswXSxFPXJbMV0sTz1yWzJdLHg9clszXTtyZXR1cm4gdFswXT1Q
KmErRSppK08qTSt4KmQsdFsxXT1QKmUrRSpzK08qaCt4KmIsdFsyXT1QKnUrRSpjK08qbCt4Km0s
dFszXT1QKm8rRSpmK08qdit4KnAsUD1yWzRdLEU9cls1XSxPPXJbNl0seD1yWzddLHRbNF09UCph
K0UqaStPKk0reCpkLHRbNV09UCplK0UqcytPKmgreCpiLHRbNl09UCp1K0UqYytPKmwreCptLHRb
N109UCpvK0UqZitPKnYreCpwLFA9cls4XSxFPXJbOV0sTz1yWzEwXSx4PXJbMTFdLHRbOF09UCph
K0UqaStPKk0reCpkLHRbOV09UCplK0UqcytPKmgreCpiLHRbMTBdPVAqdStFKmMrTypsK3gqbSx0
WzExXT1QKm8rRSpmK08qdit4KnAsUD1yWzEyXSxFPXJbMTNdLE89clsxNF0seD1yWzE1XSx0WzEy
XT1QKmErRSppK08qTSt4KmQsdFsxM109UCplK0UqcytPKmgreCpiLHRbMTRdPVAqdStFKmMrTyps
K3gqbSx0WzE1XT1QKm8rRSpmK08qdit4KnAsdH1mdW5jdGlvbiB2KHQsbixyKXt2YXIgYT1yWzBd
LGU9clsxXSx1PXJbMl0sbz12b2lkIDAsaT12b2lkIDAscz12b2lkIDAsYz12b2lkIDAsZj12b2lk
IDAsTT12b2lkIDAsaD12b2lkIDAsbD12b2lkIDAsdj12b2lkIDAsZD12b2lkIDAsYj12b2lkIDAs
bT12b2lkIDA7cmV0dXJuIG49PT10Pyh0WzEyXT1uWzBdKmErbls0XSplK25bOF0qdStuWzEyXSx0
WzEzXT1uWzFdKmErbls1XSplK25bOV0qdStuWzEzXSx0WzE0XT1uWzJdKmErbls2XSplK25bMTBd
KnUrblsxNF0sdFsxNV09blszXSphK25bN10qZStuWzExXSp1K25bMTVdKToobz1uWzBdLGk9blsx
XSxzPW5bMl0sYz1uWzNdLGY9bls0XSxNPW5bNV0saD1uWzZdLGw9bls3XSx2PW5bOF0sZD1uWzld
LGI9blsxMF0sbT1uWzExXSx0WzBdPW8sdFsxXT1pLHRbMl09cyx0WzNdPWMsdFs0XT1mLHRbNV09
TSx0WzZdPWgsdFs3XT1sLHRbOF09dix0WzldPWQsdFsxMF09Yix0WzExXT1tLHRbMTJdPW8qYStm
KmUrdip1K25bMTJdLHRbMTNdPWkqYStNKmUrZCp1K25bMTNdLHRbMTRdPXMqYStoKmUrYip1K25b
MTRdLHRbMTVdPWMqYStsKmUrbSp1K25bMTVdKSx0fWZ1bmN0aW9uIGQodCxuLHIpe3ZhciBhPXJb
MF0sZT1yWzFdLHU9clsyXTtyZXR1cm4gdFswXT1uWzBdKmEsdFsxXT1uWzFdKmEsdFsyXT1uWzJd
KmEsdFszXT1uWzNdKmEsdFs0XT1uWzRdKmUsdFs1XT1uWzVdKmUsdFs2XT1uWzZdKmUsdFs3XT1u
WzddKmUsdFs4XT1uWzhdKnUsdFs5XT1uWzldKnUsdFsxMF09blsxMF0qdSx0WzExXT1uWzExXSp1
LHRbMTJdPW5bMTJdLHRbMTNdPW5bMTNdLHRbMTRdPW5bMTRdLHRbMTVdPW5bMTVdLHR9ZnVuY3Rp
b24gYih0LG4scixhKXt2YXIgZT1hWzBdLHU9YVsxXSxvPWFbMl0saT1NYXRoLnNxcnQoZSplK3Uq
dStvKm8pLHM9dm9pZCAwLGM9dm9pZCAwLGY9dm9pZCAwLE09dm9pZCAwLGg9dm9pZCAwLGw9dm9p
ZCAwLHY9dm9pZCAwLGQ9dm9pZCAwLGI9dm9pZCAwLG09dm9pZCAwLHA9dm9pZCAwLFA9dm9pZCAw
LEU9dm9pZCAwLE89dm9pZCAwLHg9dm9pZCAwLEE9dm9pZCAwLHE9dm9pZCAwLHk9dm9pZCAwLHc9
dm9pZCAwLFI9dm9pZCAwLEw9dm9pZCAwLFM9dm9pZCAwLF89dm9pZCAwLEk9dm9pZCAwO3JldHVy
biBNYXRoLmFicyhpKTxDLkVQU0lMT04/bnVsbDooaT0xL2ksZSo9aSx1Kj1pLG8qPWkscz1NYXRo
LnNpbihyKSxjPU1hdGguY29zKHIpLGY9MS1jLE09blswXSxoPW5bMV0sbD1uWzJdLHY9blszXSxk
PW5bNF0sYj1uWzVdLG09bls2XSxwPW5bN10sUD1uWzhdLEU9bls5XSxPPW5bMTBdLHg9blsxMV0s
QT1lKmUqZitjLHE9dSplKmYrbypzLHk9byplKmYtdSpzLHc9ZSp1KmYtbypzLFI9dSp1KmYrYyxM
PW8qdSpmK2UqcyxTPWUqbypmK3UqcyxfPXUqbypmLWUqcyxJPW8qbypmK2MsdFswXT1NKkErZCpx
K1AqeSx0WzFdPWgqQStiKnErRSp5LHRbMl09bCpBK20qcStPKnksdFszXT12KkErcCpxK3gqeSx0
WzRdPU0qdytkKlIrUCpMLHRbNV09aCp3K2IqUitFKkwsdFs2XT1sKncrbSpSK08qTCx0WzddPXYq
dytwKlIreCpMLHRbOF09TSpTK2QqXytQKkksdFs5XT1oKlMrYipfK0UqSSx0WzEwXT1sKlMrbSpf
K08qSSx0WzExXT12KlMrcCpfK3gqSSxuIT09dCYmKHRbMTJdPW5bMTJdLHRbMTNdPW5bMTNdLHRb
MTRdPW5bMTRdLHRbMTVdPW5bMTVdKSx0KX1mdW5jdGlvbiBtKHQsbixyKXt2YXIgYT1NYXRoLnNp
bihyKSxlPU1hdGguY29zKHIpLHU9bls0XSxvPW5bNV0saT1uWzZdLHM9bls3XSxjPW5bOF0sZj1u
WzldLE09blsxMF0saD1uWzExXTtyZXR1cm4gbiE9PXQmJih0WzBdPW5bMF0sdFsxXT1uWzFdLHRb
Ml09blsyXSx0WzNdPW5bM10sdFsxMl09blsxMl0sdFsxM109blsxM10sdFsxNF09blsxNF0sdFsx
NV09blsxNV0pLHRbNF09dSplK2MqYSx0WzVdPW8qZStmKmEsdFs2XT1pKmUrTSphLHRbN109cypl
K2gqYSx0WzhdPWMqZS11KmEsdFs5XT1mKmUtbyphLHRbMTBdPU0qZS1pKmEsdFsxMV09aCplLXMq
YSx0fWZ1bmN0aW9uIHAodCxuLHIpe3ZhciBhPU1hdGguc2luKHIpLGU9TWF0aC5jb3MociksdT1u
WzBdLG89blsxXSxpPW5bMl0scz1uWzNdLGM9bls4XSxmPW5bOV0sTT1uWzEwXSxoPW5bMTFdO3Jl
dHVybiBuIT09dCYmKHRbNF09bls0XSx0WzVdPW5bNV0sdFs2XT1uWzZdLHRbN109bls3XSx0WzEy
XT1uWzEyXSx0WzEzXT1uWzEzXSx0WzE0XT1uWzE0XSx0WzE1XT1uWzE1XSksdFswXT11KmUtYyph
LHRbMV09byplLWYqYSx0WzJdPWkqZS1NKmEsdFszXT1zKmUtaCphLHRbOF09dSphK2MqZSx0Wzld
PW8qYStmKmUsdFsxMF09aSphK00qZSx0WzExXT1zKmEraCplLHR9ZnVuY3Rpb24gUCh0LG4scil7
dmFyIGE9TWF0aC5zaW4ociksZT1NYXRoLmNvcyhyKSx1PW5bMF0sbz1uWzFdLGk9blsyXSxzPW5b
M10sYz1uWzRdLGY9bls1XSxNPW5bNl0saD1uWzddO3JldHVybiBuIT09dCYmKHRbOF09bls4XSx0
WzldPW5bOV0sdFsxMF09blsxMF0sdFsxMV09blsxMV0sdFsxMl09blsxMl0sdFsxM109blsxM10s
dFsxNF09blsxNF0sdFsxNV09blsxNV0pLHRbMF09dSplK2MqYSx0WzFdPW8qZStmKmEsdFsyXT1p
KmUrTSphLHRbM109cyplK2gqYSx0WzRdPWMqZS11KmEsdFs1XT1mKmUtbyphLHRbNl09TSplLWkq
YSx0WzddPWgqZS1zKmEsdH1mdW5jdGlvbiBFKHQsbil7cmV0dXJuIHRbMF09MSx0WzFdPTAsdFsy
XT0wLHRbM109MCx0WzRdPTAsdFs1XT0xLHRbNl09MCx0WzddPTAsdFs4XT0wLHRbOV09MCx0WzEw
XT0xLHRbMTFdPTAsdFsxMl09blswXSx0WzEzXT1uWzFdLHRbMTRdPW5bMl0sdFsxNV09MSx0fWZ1
bmN0aW9uIE8odCxuKXtyZXR1cm4gdFswXT1uWzBdLHRbMV09MCx0WzJdPTAsdFszXT0wLHRbNF09
MCx0WzVdPW5bMV0sdFs2XT0wLHRbN109MCx0WzhdPTAsdFs5XT0wLHRbMTBdPW5bMl0sdFsxMV09
MCx0WzEyXT0wLHRbMTNdPTAsdFsxNF09MCx0WzE1XT0xLHR9ZnVuY3Rpb24geCh0LG4scil7dmFy
IGE9clswXSxlPXJbMV0sdT1yWzJdLG89TWF0aC5zcXJ0KGEqYStlKmUrdSp1KSxpPXZvaWQgMCxz
PXZvaWQgMCxjPXZvaWQgMDtyZXR1cm4gTWF0aC5hYnMobyk8Qy5FUFNJTE9OP251bGw6KG89MS9v
LGEqPW8sZSo9byx1Kj1vLGk9TWF0aC5zaW4obikscz1NYXRoLmNvcyhuKSxjPTEtcyx0WzBdPWEq
YSpjK3MsdFsxXT1lKmEqYyt1KmksdFsyXT11KmEqYy1lKmksdFszXT0wLHRbNF09YSplKmMtdSpp
LHRbNV09ZSplKmMrcyx0WzZdPXUqZSpjK2EqaSx0WzddPTAsdFs4XT1hKnUqYytlKmksdFs5XT1l
KnUqYy1hKmksdFsxMF09dSp1KmMrcyx0WzExXT0wLHRbMTJdPTAsdFsxM109MCx0WzE0XT0wLHRb
MTVdPTEsdCl9ZnVuY3Rpb24gQSh0LG4pe3ZhciByPU1hdGguc2luKG4pLGE9TWF0aC5jb3Mobik7
cmV0dXJuIHRbMF09MSx0WzFdPTAsdFsyXT0wLHRbM109MCx0WzRdPTAsdFs1XT1hLHRbNl09cix0
WzddPTAsdFs4XT0wLHRbOV09LXIsdFsxMF09YSx0WzExXT0wLHRbMTJdPTAsdFsxM109MCx0WzE0
XT0wLHRbMTVdPTEsdH1mdW5jdGlvbiBxKHQsbil7dmFyIHI9TWF0aC5zaW4obiksYT1NYXRoLmNv
cyhuKTtyZXR1cm4gdFswXT1hLHRbMV09MCx0WzJdPS1yLHRbM109MCx0WzRdPTAsdFs1XT0xLHRb
Nl09MCx0WzddPTAsdFs4XT1yLHRbOV09MCx0WzEwXT1hLHRbMTFdPTAsdFsxMl09MCx0WzEzXT0w
LHRbMTRdPTAsdFsxNV09MSx0fWZ1bmN0aW9uIHkodCxuKXt2YXIgcj1NYXRoLnNpbihuKSxhPU1h
dGguY29zKG4pO3JldHVybiB0WzBdPWEsdFsxXT1yLHRbMl09MCx0WzNdPTAsdFs0XT0tcix0WzVd
PWEsdFs2XT0wLHRbN109MCx0WzhdPTAsdFs5XT0wLHRbMTBdPTEsdFsxMV09MCx0WzEyXT0wLHRb
MTNdPTAsdFsxNF09MCx0WzE1XT0xLHR9ZnVuY3Rpb24gdyh0LG4scil7dmFyIGE9blswXSxlPW5b
MV0sdT1uWzJdLG89blszXSxpPWErYSxzPWUrZSxjPXUrdSxmPWEqaSxNPWEqcyxoPWEqYyxsPWUq
cyx2PWUqYyxkPXUqYyxiPW8qaSxtPW8qcyxwPW8qYztyZXR1cm4gdFswXT0xLShsK2QpLHRbMV09
TStwLHRbMl09aC1tLHRbM109MCx0WzRdPU0tcCx0WzVdPTEtKGYrZCksdFs2XT12K2IsdFs3XT0w
LHRbOF09aCttLHRbOV09di1iLHRbMTBdPTEtKGYrbCksdFsxMV09MCx0WzEyXT1yWzBdLHRbMTNd
PXJbMV0sdFsxNF09clsyXSx0WzE1XT0xLHR9ZnVuY3Rpb24gUih0LG4pe3JldHVybiB0WzBdPW5b
MTJdLHRbMV09blsxM10sdFsyXT1uWzE0XSx0fWZ1bmN0aW9uIEwodCxuKXt2YXIgcj1uWzBdLGE9
blsxXSxlPW5bMl0sdT1uWzRdLG89bls1XSxpPW5bNl0scz1uWzhdLGM9bls5XSxmPW5bMTBdO3Jl
dHVybiB0WzBdPU1hdGguc3FydChyKnIrYSphK2UqZSksdFsxXT1NYXRoLnNxcnQodSp1K28qbytp
KmkpLHRbMl09TWF0aC5zcXJ0KHMqcytjKmMrZipmKSx0fWZ1bmN0aW9uIFModCxuKXt2YXIgcj1u
WzBdK25bNV0rblsxMF0sYT0wO3JldHVybiByPjA/KGE9MipNYXRoLnNxcnQocisxKSx0WzNdPS4y
NSphLHRbMF09KG5bNl0tbls5XSkvYSx0WzFdPShuWzhdLW5bMl0pL2EsdFsyXT0oblsxXS1uWzRd
KS9hKTpuWzBdPm5bNV0mblswXT5uWzEwXT8oYT0yKk1hdGguc3FydCgxK25bMF0tbls1XS1uWzEw
XSksdFszXT0obls2XS1uWzldKS9hLHRbMF09LjI1KmEsdFsxXT0oblsxXStuWzRdKS9hLHRbMl09
KG5bOF0rblsyXSkvYSk6bls1XT5uWzEwXT8oYT0yKk1hdGguc3FydCgxK25bNV0tblswXS1uWzEw
XSksdFszXT0obls4XS1uWzJdKS9hLHRbMF09KG5bMV0rbls0XSkvYSx0WzFdPS4yNSphLHRbMl09
KG5bNl0rbls5XSkvYSk6KGE9MipNYXRoLnNxcnQoMStuWzEwXS1uWzBdLW5bNV0pLHRbM109KG5b
MV0tbls0XSkvYSx0WzBdPShuWzhdK25bMl0pL2EsdFsxXT0obls2XStuWzldKS9hLHRbMl09LjI1
KmEpLHR9ZnVuY3Rpb24gXyh0LG4scixhKXt2YXIgZT1uWzBdLHU9blsxXSxvPW5bMl0saT1uWzNd
LHM9ZStlLGM9dSt1LGY9bytvLE09ZSpzLGg9ZSpjLGw9ZSpmLHY9dSpjLGQ9dSpmLGI9bypmLG09
aSpzLHA9aSpjLFA9aSpmLEU9YVswXSxPPWFbMV0seD1hWzJdO3JldHVybiB0WzBdPSgxLSh2K2Ip
KSpFLHRbMV09KGgrUCkqRSx0WzJdPShsLXApKkUsdFszXT0wLHRbNF09KGgtUCkqTyx0WzVdPSgx
LShNK2IpKSpPLHRbNl09KGQrbSkqTyx0WzddPTAsdFs4XT0obCtwKSp4LHRbOV09KGQtbSkqeCx0
WzEwXT0oMS0oTSt2KSkqeCx0WzExXT0wLHRbMTJdPXJbMF0sdFsxM109clsxXSx0WzE0XT1yWzJd
LHRbMTVdPTEsdH1mdW5jdGlvbiBJKHQsbixyLGEsZSl7dmFyIHU9blswXSxvPW5bMV0saT1uWzJd
LHM9blszXSxjPXUrdSxmPW8rbyxNPWkraSxoPXUqYyxsPXUqZix2PXUqTSxkPW8qZixiPW8qTSxt
PWkqTSxwPXMqYyxQPXMqZixFPXMqTSxPPWFbMF0seD1hWzFdLEE9YVsyXSxxPWVbMF0seT1lWzFd
LHc9ZVsyXTtyZXR1cm4gdFswXT0oMS0oZCttKSkqTyx0WzFdPShsK0UpKk8sdFsyXT0odi1QKSpP
LHRbM109MCx0WzRdPShsLUUpKngsdFs1XT0oMS0oaCttKSkqeCx0WzZdPShiK3ApKngsdFs3XT0w
LHRbOF09KHYrUCkqQSx0WzldPShiLXApKkEsdFsxMF09KDEtKGgrZCkpKkEsdFsxMV09MCx0WzEy
XT1yWzBdK3EtKHRbMF0qcSt0WzRdKnkrdFs4XSp3KSx0WzEzXT1yWzFdK3ktKHRbMV0qcSt0WzVd
KnkrdFs5XSp3KSx0WzE0XT1yWzJdK3ctKHRbMl0qcSt0WzZdKnkrdFsxMF0qdyksdFsxNV09MSx0
fWZ1bmN0aW9uIE4odCxuKXt2YXIgcj1uWzBdLGE9blsxXSxlPW5bMl0sdT1uWzNdLG89cityLGk9
YSthLHM9ZStlLGM9cipvLGY9YSpvLE09YSppLGg9ZSpvLGw9ZSppLHY9ZSpzLGQ9dSpvLGI9dSpp
LG09dSpzO3JldHVybiB0WzBdPTEtTS12LHRbMV09ZittLHRbMl09aC1iLHRbM109MCx0WzRdPWYt
bSx0WzVdPTEtYy12LHRbNl09bCtkLHRbN109MCx0WzhdPWgrYix0WzldPWwtZCx0WzEwXT0xLWMt
TSx0WzExXT0wLHRbMTJdPTAsdFsxM109MCx0WzE0XT0wLHRbMTVdPTEsdH1mdW5jdGlvbiBZKHQs
bixyLGEsZSx1LG8pe3ZhciBpPTEvKHItbikscz0xLyhlLWEpLGM9MS8odS1vKTtyZXR1cm4gdFsw
XT0yKnUqaSx0WzFdPTAsdFsyXT0wLHRbM109MCx0WzRdPTAsdFs1XT0yKnUqcyx0WzZdPTAsdFs3
XT0wLHRbOF09KHIrbikqaSx0WzldPShlK2EpKnMsdFsxMF09KG8rdSkqYyx0WzExXT0tMSx0WzEy
XT0wLHRbMTNdPTAsdFsxNF09byp1KjIqYyx0WzE1XT0wLHR9ZnVuY3Rpb24gZyh0LG4scixhLGUp
e3ZhciB1PTEvTWF0aC50YW4obi8yKSxvPTEvKGEtZSk7cmV0dXJuIHRbMF09dS9yLHRbMV09MCx0
WzJdPTAsdFszXT0wLHRbNF09MCx0WzVdPXUsdFs2XT0wLHRbN109MCx0WzhdPTAsdFs5XT0wLHRb
MTBdPShlK2EpKm8sdFsxMV09LTEsdFsxMl09MCx0WzEzXT0wLHRbMTRdPTIqZSphKm8sdFsxNV09
MCx0fWZ1bmN0aW9uIFQodCxuLHIsYSl7dmFyIGU9TWF0aC50YW4obi51cERlZ3JlZXMqTWF0aC5Q
SS8xODApLHU9TWF0aC50YW4obi5kb3duRGVncmVlcypNYXRoLlBJLzE4MCksbz1NYXRoLnRhbihu
LmxlZnREZWdyZWVzKk1hdGguUEkvMTgwKSxpPU1hdGgudGFuKG4ucmlnaHREZWdyZWVzKk1hdGgu
UEkvMTgwKSxzPTIvKG8raSksYz0yLyhlK3UpO3JldHVybiB0WzBdPXMsdFsxXT0wLHRbMl09MCx0
WzNdPTAsdFs0XT0wLHRbNV09Yyx0WzZdPTAsdFs3XT0wLHRbOF09LShvLWkpKnMqLjUsdFs5XT0o
ZS11KSpjKi41LHRbMTBdPWEvKHItYSksdFsxMV09LTEsdFsxMl09MCx0WzEzXT0wLHRbMTRdPWEq
ci8oci1hKSx0WzE1XT0wLHR9ZnVuY3Rpb24gaih0LG4scixhLGUsdSxvKXt2YXIgaT0xLyhuLXIp
LHM9MS8oYS1lKSxjPTEvKHUtbyk7cmV0dXJuIHRbMF09LTIqaSx0WzFdPTAsdFsyXT0wLHRbM109
MCx0WzRdPTAsdFs1XT0tMipzLHRbNl09MCx0WzddPTAsdFs4XT0wLHRbOV09MCx0WzEwXT0yKmMs
dFsxMV09MCx0WzEyXT0obityKSppLHRbMTNdPShlK2EpKnMsdFsxNF09KG8rdSkqYyx0WzE1XT0x
LHR9ZnVuY3Rpb24gRCh0LG4scixhKXt2YXIgZT12b2lkIDAsdT12b2lkIDAsbz12b2lkIDAsaT12
b2lkIDAscz12b2lkIDAsYz12b2lkIDAsZj12b2lkIDAsTT12b2lkIDAsaD12b2lkIDAsbD12b2lk
IDAsdj1uWzBdLGQ9blsxXSxiPW5bMl0sbT1hWzBdLHA9YVsxXSxQPWFbMl0sRT1yWzBdLE89clsx
XSx4PXJbMl07cmV0dXJuIE1hdGguYWJzKHYtRSk8Qy5FUFNJTE9OJiZNYXRoLmFicyhkLU8pPEMu
RVBTSUxPTiYmTWF0aC5hYnMoYi14KTxDLkVQU0lMT04/bWF0NC5pZGVudGl0eSh0KTooZj12LUUs
TT1kLU8saD1iLXgsbD0xL01hdGguc3FydChmKmYrTSpNK2gqaCksZio9bCxNKj1sLGgqPWwsZT1w
KmgtUCpNLHU9UCpmLW0qaCxvPW0qTS1wKmYsbD1NYXRoLnNxcnQoZSplK3UqdStvKm8pLGw/KGw9
MS9sLGUqPWwsdSo9bCxvKj1sKTooZT0wLHU9MCxvPTApLGk9TSpvLWgqdSxzPWgqZS1mKm8sYz1m
KnUtTSplLGw9TWF0aC5zcXJ0KGkqaStzKnMrYypjKSxsPyhsPTEvbCxpKj1sLHMqPWwsYyo9bCk6
KGk9MCxzPTAsYz0wKSx0WzBdPWUsdFsxXT1pLHRbMl09Zix0WzNdPTAsdFs0XT11LHRbNV09cyx0
WzZdPU0sdFs3XT0wLHRbOF09byx0WzldPWMsdFsxMF09aCx0WzExXT0wLHRbMTJdPS0oZSp2K3Uq
ZCtvKmIpLHRbMTNdPS0oaSp2K3MqZCtjKmIpLHRbMTRdPS0oZip2K00qZCtoKmIpLHRbMTVdPTEs
dCl9ZnVuY3Rpb24gVih0LG4scixhKXt2YXIgZT1uWzBdLHU9blsxXSxvPW5bMl0saT1hWzBdLHM9
YVsxXSxjPWFbMl0sZj1lLXJbMF0sTT11LXJbMV0saD1vLXJbMl0sbD1mKmYrTSpNK2gqaDtsPjAm
JihsPTEvTWF0aC5zcXJ0KGwpLGYqPWwsTSo9bCxoKj1sKTt2YXIgdj1zKmgtYypNLGQ9YypmLWkq
aCxiPWkqTS1zKmY7cmV0dXJuIHRbMF09dix0WzFdPWQsdFsyXT1iLHRbM109MCx0WzRdPU0qYi1o
KmQsdFs1XT1oKnYtZipiLHRbNl09ZipkLU0qdix0WzddPTAsdFs4XT1mLHRbOV09TSx0WzEwXT1o
LHRbMTFdPTAsdFsxMl09ZSx0WzEzXT11LHRbMTRdPW8sdFsxNV09MSx0fWZ1bmN0aW9uIHoodCl7
cmV0dXJuIm1hdDQoIit0WzBdKyIsICIrdFsxXSsiLCAiK3RbMl0rIiwgIit0WzNdKyIsICIrdFs0
XSsiLCAiK3RbNV0rIiwgIit0WzZdKyIsICIrdFs3XSsiLCAiK3RbOF0rIiwgIit0WzldKyIsICIr
dFsxMF0rIiwgIit0WzExXSsiLCAiK3RbMTJdKyIsICIrdFsxM10rIiwgIit0WzE0XSsiLCAiK3Rb
MTVdKyIpIn1mdW5jdGlvbiBGKHQpe3JldHVybiBNYXRoLnNxcnQoTWF0aC5wb3codFswXSwyKStN
YXRoLnBvdyh0WzFdLDIpK01hdGgucG93KHRbMl0sMikrTWF0aC5wb3codFszXSwyKStNYXRoLnBv
dyh0WzRdLDIpK01hdGgucG93KHRbNV0sMikrTWF0aC5wb3codFs2XSwyKStNYXRoLnBvdyh0Wzdd
LDIpK01hdGgucG93KHRbOF0sMikrTWF0aC5wb3codFs5XSwyKStNYXRoLnBvdyh0WzEwXSwyKStN
YXRoLnBvdyh0WzExXSwyKStNYXRoLnBvdyh0WzEyXSwyKStNYXRoLnBvdyh0WzEzXSwyKStNYXRo
LnBvdyh0WzE0XSwyKStNYXRoLnBvdyh0WzE1XSwyKSl9ZnVuY3Rpb24gUSh0LG4scil7cmV0dXJu
IHRbMF09blswXStyWzBdLHRbMV09blsxXStyWzFdLHRbMl09blsyXStyWzJdLHRbM109blszXSty
WzNdLHRbNF09bls0XStyWzRdLHRbNV09bls1XStyWzVdLHRbNl09bls2XStyWzZdLHRbN109bls3
XStyWzddLHRbOF09bls4XStyWzhdLHRbOV09bls5XStyWzldLHRbMTBdPW5bMTBdK3JbMTBdLHRb
MTFdPW5bMTFdK3JbMTFdLHRbMTJdPW5bMTJdK3JbMTJdLHRbMTNdPW5bMTNdK3JbMTNdLHRbMTRd
PW5bMTRdK3JbMTRdLHRbMTVdPW5bMTVdK3JbMTVdLHR9ZnVuY3Rpb24gWCh0LG4scil7cmV0dXJu
IHRbMF09blswXS1yWzBdLHRbMV09blsxXS1yWzFdLHRbMl09blsyXS1yWzJdLHRbM109blszXS1y
WzNdLHRbNF09bls0XS1yWzRdLHRbNV09bls1XS1yWzVdLHRbNl09bls2XS1yWzZdLHRbN109bls3
XS1yWzddLHRbOF09bls4XS1yWzhdLHRbOV09bls5XS1yWzldLHRbMTBdPW5bMTBdLXJbMTBdLHRb
MTFdPW5bMTFdLXJbMTFdLHRbMTJdPW5bMTJdLXJbMTJdLHRbMTNdPW5bMTNdLXJbMTNdLHRbMTRd
PW5bMTRdLXJbMTRdLHRbMTVdPW5bMTVdLXJbMTVdLHR9ZnVuY3Rpb24gWih0LG4scil7cmV0dXJu
IHRbMF09blswXSpyLHRbMV09blsxXSpyLHRbMl09blsyXSpyLHRbM109blszXSpyLHRbNF09bls0
XSpyLHRbNV09bls1XSpyLHRbNl09bls2XSpyLHRbN109bls3XSpyLHRbOF09bls4XSpyLHRbOV09
bls5XSpyLHRbMTBdPW5bMTBdKnIsdFsxMV09blsxMV0qcix0WzEyXT1uWzEyXSpyLHRbMTNdPW5b
MTNdKnIsdFsxNF09blsxNF0qcix0WzE1XT1uWzE1XSpyLHR9ZnVuY3Rpb24gayh0LG4scixhKXty
ZXR1cm4gdFswXT1uWzBdK3JbMF0qYSx0WzFdPW5bMV0rclsxXSphLHRbMl09blsyXStyWzJdKmEs
dFszXT1uWzNdK3JbM10qYSx0WzRdPW5bNF0rcls0XSphLHRbNV09bls1XStyWzVdKmEsdFs2XT1u
WzZdK3JbNl0qYSx0WzddPW5bN10rcls3XSphLHRbOF09bls4XStyWzhdKmEsdFs5XT1uWzldK3Jb
OV0qYSx0WzEwXT1uWzEwXStyWzEwXSphLHRbMTFdPW5bMTFdK3JbMTFdKmEsdFsxMl09blsxMl0r
clsxMl0qYSx0WzEzXT1uWzEzXStyWzEzXSphLHRbMTRdPW5bMTRdK3JbMTRdKmEsdFsxNV09blsx
NV0rclsxNV0qYSx0fWZ1bmN0aW9uIFUodCxuKXtyZXR1cm4gdFswXT09PW5bMF0mJnRbMV09PT1u
WzFdJiZ0WzJdPT09blsyXSYmdFszXT09PW5bM10mJnRbNF09PT1uWzRdJiZ0WzVdPT09bls1XSYm
dFs2XT09PW5bNl0mJnRbN109PT1uWzddJiZ0WzhdPT09bls4XSYmdFs5XT09PW5bOV0mJnRbMTBd
PT09blsxMF0mJnRbMTFdPT09blsxMV0mJnRbMTJdPT09blsxMl0mJnRbMTNdPT09blsxM10mJnRb
MTRdPT09blsxNF0mJnRbMTVdPT09blsxNV19ZnVuY3Rpb24gVyh0LG4pe3ZhciByPXRbMF0sYT10
WzFdLGU9dFsyXSx1PXRbM10sbz10WzRdLGk9dFs1XSxzPXRbNl0sYz10WzddLGY9dFs4XSxNPXRb
OV0saD10WzEwXSxsPXRbMTFdLHY9dFsxMl0sZD10WzEzXSxiPXRbMTRdLG09dFsxNV0scD1uWzBd
LFA9blsxXSxFPW5bMl0sTz1uWzNdLHg9bls0XSxBPW5bNV0scT1uWzZdLHk9bls3XSx3PW5bOF0s
Uj1uWzldLEw9blsxMF0sUz1uWzExXSxfPW5bMTJdLEk9blsxM10sTj1uWzE0XSxZPW5bMTVdO3Jl
dHVybiBNYXRoLmFicyhyLXApPD1DLkVQU0lMT04qTWF0aC5tYXgoMSxNYXRoLmFicyhyKSxNYXRo
LmFicyhwKSkmJk1hdGguYWJzKGEtUCk8PUMuRVBTSUxPTipNYXRoLm1heCgxLE1hdGguYWJzKGEp
LE1hdGguYWJzKFApKSYmTWF0aC5hYnMoZS1FKTw9Qy5FUFNJTE9OKk1hdGgubWF4KDEsTWF0aC5h
YnMoZSksTWF0aC5hYnMoRSkpJiZNYXRoLmFicyh1LU8pPD1DLkVQU0lMT04qTWF0aC5tYXgoMSxN
YXRoLmFicyh1KSxNYXRoLmFicyhPKSkmJk1hdGguYWJzKG8teCk8PUMuRVBTSUxPTipNYXRoLm1h
eCgxLE1hdGguYWJzKG8pLE1hdGguYWJzKHgpKSYmTWF0aC5hYnMoaS1BKTw9Qy5FUFNJTE9OKk1h
dGgubWF4KDEsTWF0aC5hYnMoaSksTWF0aC5hYnMoQSkpJiZNYXRoLmFicyhzLXEpPD1DLkVQU0lM
T04qTWF0aC5tYXgoMSxNYXRoLmFicyhzKSxNYXRoLmFicyhxKSkmJk1hdGguYWJzKGMteSk8PUMu
RVBTSUxPTipNYXRoLm1heCgxLE1hdGguYWJzKGMpLE1hdGguYWJzKHkpKSYmTWF0aC5hYnMoZi13
KTw9Qy5FUFNJTE9OKk1hdGgubWF4KDEsTWF0aC5hYnMoZiksTWF0aC5hYnModykpJiZNYXRoLmFi
cyhNLVIpPD1DLkVQU0lMT04qTWF0aC5tYXgoMSxNYXRoLmFicyhNKSxNYXRoLmFicyhSKSkmJk1h
dGguYWJzKGgtTCk8PUMuRVBTSUxPTipNYXRoLm1heCgxLE1hdGguYWJzKGgpLE1hdGguYWJzKEwp
KSYmTWF0aC5hYnMobC1TKTw9Qy5FUFNJTE9OKk1hdGgubWF4KDEsTWF0aC5hYnMobCksTWF0aC5h
YnMoUykpJiZNYXRoLmFicyh2LV8pPD1DLkVQU0lMT04qTWF0aC5tYXgoMSxNYXRoLmFicyh2KSxN
YXRoLmFicyhfKSkmJk1hdGguYWJzKGQtSSk8PUMuRVBTSUxPTipNYXRoLm1heCgxLE1hdGguYWJz
KGQpLE1hdGguYWJzKEkpKSYmTWF0aC5hYnMoYi1OKTw9Qy5FUFNJTE9OKk1hdGgubWF4KDEsTWF0
aC5hYnMoYiksTWF0aC5hYnMoTikpJiZNYXRoLmFicyhtLVkpPD1DLkVQU0lMT04qTWF0aC5tYXgo
MSxNYXRoLmFicyhtKSxNYXRoLmFicyhZKSl9T2JqZWN0LmRlZmluZVByb3BlcnR5KG4sIl9fZXNN
b2R1bGUiLHt2YWx1ZTohMH0pLG4uc3ViPW4ubXVsPXZvaWQgMCxuLmNyZWF0ZT1hLG4uY2xvbmU9
ZSxuLmNvcHk9dSxuLmZyb21WYWx1ZXM9byxuLnNldD1pLG4uaWRlbnRpdHk9cyxuLnRyYW5zcG9z
ZT1jLG4uaW52ZXJ0PWYsbi5hZGpvaW50PU0sbi5kZXRlcm1pbmFudD1oLG4ubXVsdGlwbHk9bCxu
LnRyYW5zbGF0ZT12LG4uc2NhbGU9ZCxuLnJvdGF0ZT1iLG4ucm90YXRlWD1tLG4ucm90YXRlWT1w
LG4ucm90YXRlWj1QLG4uZnJvbVRyYW5zbGF0aW9uPUUsbi5mcm9tU2NhbGluZz1PLG4uZnJvbVJv
dGF0aW9uPXgsbi5mcm9tWFJvdGF0aW9uPUEsbi5mcm9tWVJvdGF0aW9uPXEsbi5mcm9tWlJvdGF0
aW9uPXksbi5mcm9tUm90YXRpb25UcmFuc2xhdGlvbj13LG4uZ2V0VHJhbnNsYXRpb249UixuLmdl
dFNjYWxpbmc9TCxuLmdldFJvdGF0aW9uPVMsbi5mcm9tUm90YXRpb25UcmFuc2xhdGlvblNjYWxl
PV8sbi5mcm9tUm90YXRpb25UcmFuc2xhdGlvblNjYWxlT3JpZ2luPUksbi5mcm9tUXVhdD1OLG4u
ZnJ1c3R1bT1ZLG4ucGVyc3BlY3RpdmU9ZyxuLnBlcnNwZWN0aXZlRnJvbUZpZWxkT2ZWaWV3PVQs
bi5vcnRobz1qLG4ubG9va0F0PUQsbi50YXJnZXRUbz1WLG4uc3RyPXosbi5mcm9iPUYsbi5hZGQ9
USxuLnN1YnRyYWN0PVgsbi5tdWx0aXBseVNjYWxhcj1aLG4ubXVsdGlwbHlTY2FsYXJBbmRBZGQ9
ayxuLmV4YWN0RXF1YWxzPVUsbi5lcXVhbHM9Vzt2YXIgQj1yKDApLEM9ZnVuY3Rpb24odCl7aWYo
dCYmdC5fX2VzTW9kdWxlKXJldHVybiB0O3ZhciBuPXt9O2lmKG51bGwhPXQpZm9yKHZhciByIGlu
IHQpT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKHQscikmJihuW3JdPXRbcl0p
O3JldHVybiBuLmRlZmF1bHQ9dCxufShCKTtuLm11bD1sLG4uc3ViPVh9LGZ1bmN0aW9uKHQsbixy
KXsidXNlIHN0cmljdCI7ZnVuY3Rpb24gYSh0KXtpZih0JiZ0Ll9fZXNNb2R1bGUpcmV0dXJuIHQ7
dmFyIG49e307aWYobnVsbCE9dClmb3IodmFyIHIgaW4gdClPYmplY3QucHJvdG90eXBlLmhhc093
blByb3BlcnR5LmNhbGwodCxyKSYmKG5bcl09dFtyXSk7cmV0dXJuIG4uZGVmYXVsdD10LG59ZnVu
Y3Rpb24gZSgpe3ZhciB0PW5ldyBFLkFSUkFZX1RZUEUoNCk7cmV0dXJuIHRbMF09MCx0WzFdPTAs
dFsyXT0wLHRbM109MSx0fWZ1bmN0aW9uIHUodCl7cmV0dXJuIHRbMF09MCx0WzFdPTAsdFsyXT0w
LHRbM109MSx0fWZ1bmN0aW9uIG8odCxuLHIpe3IqPS41O3ZhciBhPU1hdGguc2luKHIpO3JldHVy
biB0WzBdPWEqblswXSx0WzFdPWEqblsxXSx0WzJdPWEqblsyXSx0WzNdPU1hdGguY29zKHIpLHR9
ZnVuY3Rpb24gaSh0LG4pe3ZhciByPTIqTWF0aC5hY29zKG5bM10pLGE9TWF0aC5zaW4oci8yKTty
ZXR1cm4gMCE9YT8odFswXT1uWzBdL2EsdFsxXT1uWzFdL2EsdFsyXT1uWzJdL2EpOih0WzBdPTEs
dFsxXT0wLHRbMl09MCkscn1mdW5jdGlvbiBzKHQsbixyKXt2YXIgYT1uWzBdLGU9blsxXSx1PW5b
Ml0sbz1uWzNdLGk9clswXSxzPXJbMV0sYz1yWzJdLGY9clszXTtyZXR1cm4gdFswXT1hKmYrbypp
K2UqYy11KnMsdFsxXT1lKmYrbypzK3UqaS1hKmMsdFsyXT11KmYrbypjK2Eqcy1lKmksdFszXT1v
KmYtYSppLWUqcy11KmMsdH1mdW5jdGlvbiBjKHQsbixyKXtyKj0uNTt2YXIgYT1uWzBdLGU9blsx
XSx1PW5bMl0sbz1uWzNdLGk9TWF0aC5zaW4ocikscz1NYXRoLmNvcyhyKTtyZXR1cm4gdFswXT1h
KnMrbyppLHRbMV09ZSpzK3UqaSx0WzJdPXUqcy1lKmksdFszXT1vKnMtYSppLHR9ZnVuY3Rpb24g
Zih0LG4scil7cio9LjU7dmFyIGE9blswXSxlPW5bMV0sdT1uWzJdLG89blszXSxpPU1hdGguc2lu
KHIpLHM9TWF0aC5jb3Mocik7cmV0dXJuIHRbMF09YSpzLXUqaSx0WzFdPWUqcytvKmksdFsyXT11
KnMrYSppLHRbM109bypzLWUqaSx0fWZ1bmN0aW9uIE0odCxuLHIpe3IqPS41O3ZhciBhPW5bMF0s
ZT1uWzFdLHU9blsyXSxvPW5bM10saT1NYXRoLnNpbihyKSxzPU1hdGguY29zKHIpO3JldHVybiB0
WzBdPWEqcytlKmksdFsxXT1lKnMtYSppLHRbMl09dSpzK28qaSx0WzNdPW8qcy11KmksdH1mdW5j
dGlvbiBoKHQsbil7dmFyIHI9blswXSxhPW5bMV0sZT1uWzJdO3JldHVybiB0WzBdPXIsdFsxXT1h
LHRbMl09ZSx0WzNdPU1hdGguc3FydChNYXRoLmFicygxLXIqci1hKmEtZSplKSksdH1mdW5jdGlv
biBsKHQsbixyLGEpe3ZhciBlPW5bMF0sdT1uWzFdLG89blsyXSxpPW5bM10scz1yWzBdLGM9clsx
XSxmPXJbMl0sTT1yWzNdLGg9dm9pZCAwLGw9dm9pZCAwLHY9dm9pZCAwLGQ9dm9pZCAwLGI9dm9p
ZCAwO3JldHVybiBsPWUqcyt1KmMrbypmK2kqTSxsPDAmJihsPS1sLHM9LXMsYz0tYyxmPS1mLE09
LU0pLDEtbD4xZS02PyhoPU1hdGguYWNvcyhsKSx2PU1hdGguc2luKGgpLGQ9TWF0aC5zaW4oKDEt
YSkqaCkvdixiPU1hdGguc2luKGEqaCkvdik6KGQ9MS1hLGI9YSksdFswXT1kKmUrYipzLHRbMV09
ZCp1K2IqYyx0WzJdPWQqbytiKmYsdFszXT1kKmkrYipNLHR9ZnVuY3Rpb24gdih0LG4pe3ZhciBy
PW5bMF0sYT1uWzFdLGU9blsyXSx1PW5bM10sbz1yKnIrYSphK2UqZSt1KnUsaT1vPzEvbzowO3Jl
dHVybiB0WzBdPS1yKmksdFsxXT0tYSppLHRbMl09LWUqaSx0WzNdPXUqaSx0fWZ1bmN0aW9uIGQo
dCxuKXtyZXR1cm4gdFswXT0tblswXSx0WzFdPS1uWzFdLHRbMl09LW5bMl0sdFszXT1uWzNdLHR9
ZnVuY3Rpb24gYih0LG4pe3ZhciByPW5bMF0rbls0XStuWzhdLGE9dm9pZCAwO2lmKHI+MClhPU1h
dGguc3FydChyKzEpLHRbM109LjUqYSxhPS41L2EsdFswXT0obls1XS1uWzddKSphLHRbMV09KG5b
Nl0tblsyXSkqYSx0WzJdPShuWzFdLW5bM10pKmE7ZWxzZXt2YXIgZT0wO25bNF0+blswXSYmKGU9
MSksbls4XT5uWzMqZStlXSYmKGU9Mik7dmFyIHU9KGUrMSklMyxvPShlKzIpJTM7YT1NYXRoLnNx
cnQoblszKmUrZV0tblszKnUrdV0tblszKm8rb10rMSksdFtlXT0uNSphLGE9LjUvYSx0WzNdPShu
WzMqdStvXS1uWzMqbyt1XSkqYSx0W3VdPShuWzMqdStlXStuWzMqZSt1XSkqYSx0W29dPShuWzMq
bytlXStuWzMqZStvXSkqYX1yZXR1cm4gdH1mdW5jdGlvbiBtKHQsbixyLGEpe3ZhciBlPS41Kk1h
dGguUEkvMTgwO24qPWUscio9ZSxhKj1lO3ZhciB1PU1hdGguc2luKG4pLG89TWF0aC5jb3Mobiks
aT1NYXRoLnNpbihyKSxzPU1hdGguY29zKHIpLGM9TWF0aC5zaW4oYSksZj1NYXRoLmNvcyhhKTty
ZXR1cm4gdFswXT11KnMqZi1vKmkqYyx0WzFdPW8qaSpmK3UqcypjLHRbMl09bypzKmMtdSppKmYs
dFszXT1vKnMqZit1KmkqYyx0fWZ1bmN0aW9uIHAodCl7cmV0dXJuInF1YXQoIit0WzBdKyIsICIr
dFsxXSsiLCAiK3RbMl0rIiwgIit0WzNdKyIpIn1PYmplY3QuZGVmaW5lUHJvcGVydHkobiwiX19l
c01vZHVsZSIse3ZhbHVlOiEwfSksbi5zZXRBeGVzPW4uc3FsZXJwPW4ucm90YXRpb25Ubz1uLmVx
dWFscz1uLmV4YWN0RXF1YWxzPW4ubm9ybWFsaXplPW4uc3FyTGVuPW4uc3F1YXJlZExlbmd0aD1u
Lmxlbj1uLmxlbmd0aD1uLmxlcnA9bi5kb3Q9bi5zY2FsZT1uLm11bD1uLmFkZD1uLnNldD1uLmNv
cHk9bi5mcm9tVmFsdWVzPW4uY2xvbmU9dm9pZCAwLG4uY3JlYXRlPWUsbi5pZGVudGl0eT11LG4u
c2V0QXhpc0FuZ2xlPW8sbi5nZXRBeGlzQW5nbGU9aSxuLm11bHRpcGx5PXMsbi5yb3RhdGVYPWMs
bi5yb3RhdGVZPWYsbi5yb3RhdGVaPU0sbi5jYWxjdWxhdGVXPWgsbi5zbGVycD1sLG4uaW52ZXJ0
PXYsbi5jb25qdWdhdGU9ZCxuLmZyb21NYXQzPWIsbi5mcm9tRXVsZXI9bSxuLnN0cj1wO3ZhciBQ
PXIoMCksRT1hKFApLE89cigxKSx4PWEoTyksQT1yKDIpLHE9YShBKSx5PXIoMyksdz1hKHkpLFI9
KG4uY2xvbmU9dy5jbG9uZSxuLmZyb21WYWx1ZXM9dy5mcm9tVmFsdWVzLG4uY29weT13LmNvcHks
bi5zZXQ9dy5zZXQsbi5hZGQ9dy5hZGQsbi5tdWw9cyxuLnNjYWxlPXcuc2NhbGUsbi5kb3Q9dy5k
b3Qsbi5sZXJwPXcubGVycCxuLmxlbmd0aD13Lmxlbmd0aCksTD0obi5sZW49UixuLnNxdWFyZWRM
ZW5ndGg9dy5zcXVhcmVkTGVuZ3RoKSxTPShuLnNxckxlbj1MLG4ubm9ybWFsaXplPXcubm9ybWFs
aXplKTtuLmV4YWN0RXF1YWxzPXcuZXhhY3RFcXVhbHMsbi5lcXVhbHM9dy5lcXVhbHMsbi5yb3Rh
dGlvblRvPWZ1bmN0aW9uKCl7dmFyIHQ9cS5jcmVhdGUoKSxuPXEuZnJvbVZhbHVlcygxLDAsMCks
cj1xLmZyb21WYWx1ZXMoMCwxLDApO3JldHVybiBmdW5jdGlvbihhLGUsdSl7dmFyIGk9cS5kb3Qo
ZSx1KTtyZXR1cm4gaTwtLjk5OTk5OT8ocS5jcm9zcyh0LG4sZSkscS5sZW4odCk8MWUtNiYmcS5j
cm9zcyh0LHIsZSkscS5ub3JtYWxpemUodCx0KSxvKGEsdCxNYXRoLlBJKSxhKTppPi45OTk5OTk/
KGFbMF09MCxhWzFdPTAsYVsyXT0wLGFbM109MSxhKToocS5jcm9zcyh0LGUsdSksYVswXT10WzBd
LGFbMV09dFsxXSxhWzJdPXRbMl0sYVszXT0xK2ksUyhhLGEpKX19KCksbi5zcWxlcnA9ZnVuY3Rp
b24oKXt2YXIgdD1lKCksbj1lKCk7cmV0dXJuIGZ1bmN0aW9uKHIsYSxlLHUsbyxpKXtyZXR1cm4g
bCh0LGEsbyxpKSxsKG4sZSx1LGkpLGwocix0LG4sMippKigxLWkpKSxyfX0oKSxuLnNldEF4ZXM9
ZnVuY3Rpb24oKXt2YXIgdD14LmNyZWF0ZSgpO3JldHVybiBmdW5jdGlvbihuLHIsYSxlKXtyZXR1
cm4gdFswXT1hWzBdLHRbM109YVsxXSx0WzZdPWFbMl0sdFsxXT1lWzBdLHRbNF09ZVsxXSx0Wzdd
PWVbMl0sdFsyXT0tclswXSx0WzVdPS1yWzFdLHRbOF09LXJbMl0sUyhuLGIobix0KSl9fSgpfSxm
dW5jdGlvbih0LG4scil7InVzZSBzdHJpY3QiO2Z1bmN0aW9uIGEoKXt2YXIgdD1uZXcgVi5BUlJB
WV9UWVBFKDIpO3JldHVybiB0WzBdPTAsdFsxXT0wLHR9ZnVuY3Rpb24gZSh0KXt2YXIgbj1uZXcg
Vi5BUlJBWV9UWVBFKDIpO3JldHVybiBuWzBdPXRbMF0sblsxXT10WzFdLG59ZnVuY3Rpb24gdSh0
LG4pe3ZhciByPW5ldyBWLkFSUkFZX1RZUEUoMik7cmV0dXJuIHJbMF09dCxyWzFdPW4scn1mdW5j
dGlvbiBvKHQsbil7cmV0dXJuIHRbMF09blswXSx0WzFdPW5bMV0sdH1mdW5jdGlvbiBpKHQsbixy
KXtyZXR1cm4gdFswXT1uLHRbMV09cix0fWZ1bmN0aW9uIHModCxuLHIpe3JldHVybiB0WzBdPW5b
MF0rclswXSx0WzFdPW5bMV0rclsxXSx0fWZ1bmN0aW9uIGModCxuLHIpe3JldHVybiB0WzBdPW5b
MF0tclswXSx0WzFdPW5bMV0tclsxXSx0fWZ1bmN0aW9uIGYodCxuLHIpe3JldHVybiB0WzBdPW5b
MF0qclswXSx0WzFdPW5bMV0qclsxXSx0fWZ1bmN0aW9uIE0odCxuLHIpe3JldHVybiB0WzBdPW5b
MF0vclswXSx0WzFdPW5bMV0vclsxXSx0fWZ1bmN0aW9uIGgodCxuKXtyZXR1cm4gdFswXT1NYXRo
LmNlaWwoblswXSksdFsxXT1NYXRoLmNlaWwoblsxXSksdH1mdW5jdGlvbiBsKHQsbil7cmV0dXJu
IHRbMF09TWF0aC5mbG9vcihuWzBdKSx0WzFdPU1hdGguZmxvb3IoblsxXSksdH1mdW5jdGlvbiB2
KHQsbixyKXtyZXR1cm4gdFswXT1NYXRoLm1pbihuWzBdLHJbMF0pLHRbMV09TWF0aC5taW4oblsx
XSxyWzFdKSx0fWZ1bmN0aW9uIGQodCxuLHIpe3JldHVybiB0WzBdPU1hdGgubWF4KG5bMF0sclsw
XSksdFsxXT1NYXRoLm1heChuWzFdLHJbMV0pLHR9ZnVuY3Rpb24gYih0LG4pe3JldHVybiB0WzBd
PU1hdGgucm91bmQoblswXSksdFsxXT1NYXRoLnJvdW5kKG5bMV0pLHR9ZnVuY3Rpb24gbSh0LG4s
cil7cmV0dXJuIHRbMF09blswXSpyLHRbMV09blsxXSpyLHR9ZnVuY3Rpb24gcCh0LG4scixhKXty
ZXR1cm4gdFswXT1uWzBdK3JbMF0qYSx0WzFdPW5bMV0rclsxXSphLHR9ZnVuY3Rpb24gUCh0LG4p
e3ZhciByPW5bMF0tdFswXSxhPW5bMV0tdFsxXTtyZXR1cm4gTWF0aC5zcXJ0KHIqcithKmEpfWZ1
bmN0aW9uIEUodCxuKXt2YXIgcj1uWzBdLXRbMF0sYT1uWzFdLXRbMV07cmV0dXJuIHIqcithKmF9
ZnVuY3Rpb24gTyh0KXt2YXIgbj10WzBdLHI9dFsxXTtyZXR1cm4gTWF0aC5zcXJ0KG4qbityKnIp
fWZ1bmN0aW9uIHgodCl7dmFyIG49dFswXSxyPXRbMV07cmV0dXJuIG4qbityKnJ9ZnVuY3Rpb24g
QSh0LG4pe3JldHVybiB0WzBdPS1uWzBdLHRbMV09LW5bMV0sdH1mdW5jdGlvbiBxKHQsbil7cmV0
dXJuIHRbMF09MS9uWzBdLHRbMV09MS9uWzFdLHR9ZnVuY3Rpb24geSh0LG4pe3ZhciByPW5bMF0s
YT1uWzFdLGU9cipyK2EqYTtyZXR1cm4gZT4wJiYoZT0xL01hdGguc3FydChlKSx0WzBdPW5bMF0q
ZSx0WzFdPW5bMV0qZSksdH1mdW5jdGlvbiB3KHQsbil7cmV0dXJuIHRbMF0qblswXSt0WzFdKm5b
MV19ZnVuY3Rpb24gUih0LG4scil7dmFyIGE9blswXSpyWzFdLW5bMV0qclswXTtyZXR1cm4gdFsw
XT10WzFdPTAsdFsyXT1hLHR9ZnVuY3Rpb24gTCh0LG4scixhKXt2YXIgZT1uWzBdLHU9blsxXTty
ZXR1cm4gdFswXT1lK2EqKHJbMF0tZSksdFsxXT11K2EqKHJbMV0tdSksdH1mdW5jdGlvbiBTKHQs
bil7bj1ufHwxO3ZhciByPTIqVi5SQU5ET00oKSpNYXRoLlBJO3JldHVybiB0WzBdPU1hdGguY29z
KHIpKm4sdFsxXT1NYXRoLnNpbihyKSpuLHR9ZnVuY3Rpb24gXyh0LG4scil7dmFyIGE9blswXSxl
PW5bMV07cmV0dXJuIHRbMF09clswXSphK3JbMl0qZSx0WzFdPXJbMV0qYStyWzNdKmUsdH1mdW5j
dGlvbiBJKHQsbixyKXt2YXIgYT1uWzBdLGU9blsxXTtyZXR1cm4gdFswXT1yWzBdKmErclsyXSpl
K3JbNF0sdFsxXT1yWzFdKmErclszXSplK3JbNV0sdH1mdW5jdGlvbiBOKHQsbixyKXt2YXIgYT1u
WzBdLGU9blsxXTtyZXR1cm4gdFswXT1yWzBdKmErclszXSplK3JbNl0sdFsxXT1yWzFdKmErcls0
XSplK3JbN10sdH1mdW5jdGlvbiBZKHQsbixyKXt2YXIgYT1uWzBdLGU9blsxXTtyZXR1cm4gdFsw
XT1yWzBdKmErcls0XSplK3JbMTJdLHRbMV09clsxXSphK3JbNV0qZStyWzEzXSx0fWZ1bmN0aW9u
IGcodCl7cmV0dXJuInZlYzIoIit0WzBdKyIsICIrdFsxXSsiKSJ9ZnVuY3Rpb24gVCh0LG4pe3Jl
dHVybiB0WzBdPT09blswXSYmdFsxXT09PW5bMV19ZnVuY3Rpb24gaih0LG4pe3ZhciByPXRbMF0s
YT10WzFdLGU9blswXSx1PW5bMV07cmV0dXJuIE1hdGguYWJzKHItZSk8PVYuRVBTSUxPTipNYXRo
Lm1heCgxLE1hdGguYWJzKHIpLE1hdGguYWJzKGUpKSYmTWF0aC5hYnMoYS11KTw9Vi5FUFNJTE9O
Kk1hdGgubWF4KDEsTWF0aC5hYnMoYSksTWF0aC5hYnModSkpfU9iamVjdC5kZWZpbmVQcm9wZXJ0
eShuLCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSxuLmZvckVhY2g9bi5zcXJMZW49bi5zcXJEaXN0
PW4uZGlzdD1uLmRpdj1uLm11bD1uLnN1Yj1uLmxlbj12b2lkIDAsbi5jcmVhdGU9YSxuLmNsb25l
PWUsbi5mcm9tVmFsdWVzPXUsbi5jb3B5PW8sbi5zZXQ9aSxuLmFkZD1zLG4uc3VidHJhY3Q9Yyxu
Lm11bHRpcGx5PWYsbi5kaXZpZGU9TSxuLmNlaWw9aCxuLmZsb29yPWwsbi5taW49dixuLm1heD1k
LG4ucm91bmQ9YixuLnNjYWxlPW0sbi5zY2FsZUFuZEFkZD1wLG4uZGlzdGFuY2U9UCxuLnNxdWFy
ZWREaXN0YW5jZT1FLG4ubGVuZ3RoPU8sbi5zcXVhcmVkTGVuZ3RoPXgsbi5uZWdhdGU9QSxuLmlu
dmVyc2U9cSxuLm5vcm1hbGl6ZT15LG4uZG90PXcsbi5jcm9zcz1SLG4ubGVycD1MLG4ucmFuZG9t
PVMsbi50cmFuc2Zvcm1NYXQyPV8sbi50cmFuc2Zvcm1NYXQyZD1JLG4udHJhbnNmb3JtTWF0Mz1O
LG4udHJhbnNmb3JtTWF0ND1ZLG4uc3RyPWcsbi5leGFjdEVxdWFscz1ULG4uZXF1YWxzPWo7dmFy
IEQ9cigwKSxWPWZ1bmN0aW9uKHQpe2lmKHQmJnQuX19lc01vZHVsZSlyZXR1cm4gdDt2YXIgbj17
fTtpZihudWxsIT10KWZvcih2YXIgciBpbiB0KU9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVy
dHkuY2FsbCh0LHIpJiYobltyXT10W3JdKTtyZXR1cm4gbi5kZWZhdWx0PXQsbn0oRCk7bi5sZW49
TyxuLnN1Yj1jLG4ubXVsPWYsbi5kaXY9TSxuLmRpc3Q9UCxuLnNxckRpc3Q9RSxuLnNxckxlbj14
LG4uZm9yRWFjaD1mdW5jdGlvbigpe3ZhciB0PWEoKTtyZXR1cm4gZnVuY3Rpb24obixyLGEsZSx1
LG8pe3ZhciBpPXZvaWQgMCxzPXZvaWQgMDtmb3Iocnx8KHI9MiksYXx8KGE9MCkscz1lP01hdGgu
bWluKGUqcithLG4ubGVuZ3RoKTpuLmxlbmd0aCxpPWE7aTxzO2krPXIpdFswXT1uW2ldLHRbMV09
bltpKzFdLHUodCx0LG8pLG5baV09dFswXSxuW2krMV09dFsxXTtyZXR1cm4gbn19KCl9XSl9KTsK
XCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9XZWJzaXRlcy93ZWJraXQu
b3JnL2RlbW9zL3dlYm1ldGFsL2hlbGxvLmh0bWwgYi9XZWJzaXRlcy93ZWJraXQub3JnL2RlbW9z
L3dlYm1ldGFsL2hlbGxvLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uM2JkMWI5NmEyZWEyOTMwYzU1ZjQ3ZjJh
NGQ0M2I1MGVkZDI3MGFmZQotLS0gL2Rldi9udWxsCisrKyBiL1dlYnNpdGVzL3dlYmtpdC5vcmcv
ZGVtb3Mvd2VibWV0YWwvaGVsbG8uaHRtbApAQCAtMCwwICsxLDU4IEBACis8IURPQ1RZUEUgaHRt
bD4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9
NjAwIj4KKzxtZXRhIGh0dHAtZXF1aXY9IkNvbnRlbnQtdHlwZSIgY29udGVudD0idGV4dC9odG1s
OyBjaGFyc2V0PXV0Zi04Ij4KKzx0aXRsZT5XZWJNZXRhbCBIZWxsbyBXb3JsZCBkZW1vPC90aXRs
ZT4KKzxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0ic2hhcmVkLmNzcyI+Cis8bGluayByZWw9
InN0eWxlc2hlZXQiIGhyZWY9Imh0dHBzOi8vd2Via2l0Lm9yZy93cC1jb250ZW50L3RoZW1lcy93
ZWJraXQvc3R5bGUuY3NzIj4KKzxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iaHR0cHM6Ly93
d3cuYXBwbGUuY29tL3dzcy9mb250cz9mYW1pbHk9TXlyaWFkK1NldCtQcm8mYW1wO3Y9MSI+Cis8
c2NyaXB0IHNyYz0ic2hhcmVkLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSJoZWxsby5qcyI+
PC9zY3JpcHQ+Cis8c2NyaXB0IGlkPSJsaWJyYXJ5IiB0eXBlPSJ4LXNoYWRlci94LW1ldGFsIj4K
KyNpbmNsdWRlIDxtZXRhbF9zdGRsaWI+CisKK3VzaW5nIG5hbWVzcGFjZSBtZXRhbDsKKworc3Ry
dWN0IFZlcnRleAoreworICAgIGZsb2F0NCBwb3NpdGlvbiBbW3Bvc2l0aW9uXV07Cit9OworCit2
ZXJ0ZXggVmVydGV4IHZlcnRleF9tYWluKHVpbnQgdmlkIFtbdmVydGV4X2lkXV0pCit7CisgICAg
VmVydGV4IHY7CisgICAgc3dpdGNoICh2aWQpIHsKKyAgICBjYXNlIDA6CisgICAgICAgIHYucG9z
aXRpb24gPSBmbG9hdDQoLS43NSwgLS43NSwgMCwgMSk7CisgICAgICAgIGJyZWFrOworICAgIGNh
c2UgMToKKyAgICAgICAgdi5wb3NpdGlvbiA9IGZsb2F0NCguNzUsIC0uNzUsIDAsIDEpOworICAg
ICAgICBicmVhazsKKyAgICBjYXNlIDI6CisgICAgICAgIHYucG9zaXRpb24gPSBmbG9hdDQoMCwg
Ljc1LCAwLCAxKTsKKyAgICAgICAgYnJlYWs7CisgICAgZGVmYXVsdDoKKyAgICAgICAgdi5wb3Np
dGlvbiA9IGZsb2F0NCgwLCAwLCAwLCAxKTsKKyAgICB9CisgICAgcmV0dXJuIHY7Cit9CisKK2Zy
YWdtZW50IGZsb2F0NCBmcmFnbWVudF9tYWluKFZlcnRleCB2ZXJ0ZXhJbiBbW3N0YWdlX2luXV0p
Cit7CisgICAgcmV0dXJuIGZsb2F0NCgxLjAsIDAuMCwgMC4wLCAxLjApOworfQorPC9zY3JpcHQ+
Cis8L2hlYWQ+Cis8Ym9keT4KKzxjYW52YXM+PC9jYW52YXM+Cis8ZGl2IGlkPSJlcnJvciI+Cisg
ICAgPGgyPldlYk1ldGFsIG5vdCBhdmFpbGFibGU8L2gyPgorICAgIDxwPgorICAgICAgICBNYWtl
IHN1cmUgeW91IGFyZSBvbiBhIHN5c3RlbSB3aXRoIFdlYk1ldGFsIGVuYWJsZWQuIEluCisgICAg
ICAgIFNhZmFyaSwgZmlyc3QgbWFrZSBzdXJlIHRoZSBEZXZlbG9wZXIgTWVudSBpcyB2aXNpYmxl
IChQcmVmZXJlbmNlcyDihpIKKyAgICAgICAgQWR2YW5jZWQpLCB0aGVuIERldmVsb3Ag4oaSIEV4
cGVyaW1lbnRhbCBGZWF0dXJlcyDihpIgRW5hYmxlIFdlYk1ldGFsLgorICAgIDwvcD4KKzwvZGl2
PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvV2Vic2l0ZXMvd2Via2l0Lm9yZy9kZW1v
cy93ZWJtZXRhbC9oZWxsby5qcGcgYi9XZWJzaXRlcy93ZWJraXQub3JnL2RlbW9zL3dlYm1ldGFs
L2hlbGxvLmpwZwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44NzEwMDM5ZGE3ZjI4ZjYzNjk5MmQzYmJlYWI5Zjc0ZjUx
MDUyZjM2CkdJVCBiaW5hcnkgcGF0Y2gKbGl0ZXJhbCAzODYzMwp6Y21lRloxejIyNXdnJFF6Y2he
OTBjTVQyIWYoSG9oRyFCaXNUT2ZmMWNNPjJXYzw9O3dtdFl9eWFFRml0NFgkc0sKem5SRGo4YGB0
VHA9RkI8c3pWRj9zWDdeclF5UTtjWSl2OCkre2s1OCMmb0BmfGotc3JCRUM3SzNmSVJwRFprQjxF
CnpHVHR5TjA4bXkyU081UygwcEs4YjA2YSlSeiF3az4wfXlgRjBLZnA9MFJaanwrJUd4cyYpPmxS
amxPKyZ2eTRoQAp6PEw+UyglKnBCSyMkanNWV007YD4/JlFHZlpSKlUpJkI0VjloKVFAbm8wezhN
eD5LMjFURWlVMFhtJVQwWHtjWnAKelZsK0RaJTNSOU0odn4oYmQwJHNjNFBPO2FiNi0xaUFxeUdf
YVZrLTdWUSZYIzJUT05URHNLbVNNPms8X0ZgQSFeCnozeG83K0hZV3wkJm0hKTJWbD13U2tFbz1i
VHJIe2lJcnVvWlh1I1U4N0ZOUlE0YGx5Wjd5S2tmXlZkIyNkM2tZbwp6QHAzcjFUNjF5PjI/PXA+
QG9ANit1IUFNby1Gekl+T30qSjItRHJQbDtlbi1feGh1QHM5cD5hbmI9I3Q7blVqYVIKejchM180
X3pqJFl7ZmItaSpTP0JWe1VgbHIxcFlHdXt+M1kqaktGX0o7NkVlcWV7VGYtWDY7eHlmK21nXlh2
K1hNCnora29JQjh6Ki1zSHliQnNEcWFwUUt1fTZTOFI2RSowQEZ7THt3SWt1ZW04MTU3TnxoajNQ
eWVMe1p1T09XYCpSbAp6ZzB3WEJrLURtXiFiNiMjSFhPK1pRKWcjO0kyLV9RYUNDUTdteUBFPil6
aGEhVUl0QSFKa1hTNTEyfDMxLUpCJksKekokaVdDPH1kZjM/Zj8zQUpiNyNBMGwqbWhaQ2slKXwy
NntHMHlLKzJUayNRQyt8MHR3K3lTSmt6LSFSbCswYDhZCno7RGY8QFN9JTkhVFJJbnszMCVQcmZe
XisyWlQlTnxAUm0wRjMlJkhTakhiRllTbXFHNE1sbm9IVTlBQkMxSXp9Zgp6Sms3MWFifSo7XzAx
NDAwMF9GJCtjemhyJlpmO3wwMFJTWjZHbDAjKCFSZU5NMUpYPXB8RF8lNHwzYUlabipHfFEKenNq
Mm1eXmp+LVpZbDJfPTBPc2F3WnxkeyYheW96UFZEQUJyKlV2LSl6R0srOSVCekVTSSZqUzErQnFy
eE47e2dWCnpzUSFgPDEzQ0pJdygqZUhgaF8ta2xMcDd+RkxmPFVBMU03b2QpUjQ3e3o5OSZnNEFF
anp9eXV5ZjF6RVMpUEhUPwp6KE8lX05LN1JKVyMhfSV8K1J7eCU8Q2xDWm41QER0dzZCZSgmTSZr
bE9rM3BfK1JhWW0qRk5+I05kS0RlPllASD8KenBSSFZGZjkyN140WHBYcz89PzY1K2pxSSFYbzla
RVU7MU98cnUlRHVFRyE/JHtGPzhtXj1zZHAtS0JuUSk3ayF+Cnp0cERXMihxOFZAZF5iO3hVK2NR
TllXfHZVWXBRckZ5RmJmMnlGZERNZTFNMDU0RGJNOzA7QjtMOzBSYSg0dUMyNgp6PT5obzM0Ujhr
UiFCME4hbWZwOEEyU19fUGA/JGlhWlFROU8hNCtnbHJRbTRKIUE4WnkjVnI1O3g5am4/MztfSTQK
enxHQ1p9TThraX1hez1vTTN4UXRNdEgwJSR2STBOQDhATUQmeyszNX40Kjx+OTBpYmMhK3s0eExG
WU9gUi1WZ3lhCnowMj8zeE5DNjZmN0dNSXswVXFFVUFPaFM2ZCM/em4wLUFzeFU8e1o4SGVtbDww
V1pLR2NucExBa3c2QGY0NVJePgp6S28wTzBDPFE4alRBJkdOMllQQDM7MWUoYiVtUGNtSWA5cUgx
Q0RfVTJuMiEqIUd6I0xORmtJRWRJJjNvMk88YSYKemhzWiE0TGV3Rjg1RUY8cyMxWX5GQHJRJiRB
fFZOb0cpTll0NWJfPlU0ezMrPUt9STBja1kmZ2c8TiRJRzJNPm48CnpNKncjaGpzY0RuUDdxRUtQ
Njx2RSZJcnlMJklRZ0Y/Zz9CQit6WXNEeER2UDt4T1RWIXhDeXU9eE5tU3JAQmxuSQp6SlB8eEtK
VWhHfnlmbk5qeWdzfVl5ZW9WbGQ8MSs3ZF5VVTtkO0AkaHsyMlRhe0NEXj4xU0FBfTFTJGt9MVE3
JnoKejFUNiR9MVEmIXJnZVpoR2d0ckphMndlemMyK0loMjItaz8xaH4kV0Boe0F7cGhgTlpAaCtj
P2NoJClFcWh9RFNRCnpoIWNxR2h7czRzTkpMMUNOQ0hVbU5QMC1OTlBiOUJOVXhCfWs9bD8oa1hE
aDdrZGN1fGt5KCsma1g0YVFrPT5FUQp6a1k2SH5BaCNscUJDaksjcU0pTnRxVlMtfHFVZlZJcUoq
SE5wY0o5QnBwMnF5cUZrV2pwd2dvWHFwRzQ+cCElVDMKenFVTkdEcGJuJDFxaDZybHFBe1kwcD1x
TW9xQ0d9P2ZtVmpyalcmbiYxMDVabTIzLWhVNElQRmFqUSNAczlyXzNLCnpXJU0lKUpQWn5MWCQo
VVE0fiFVJDAqcDN7WF5iRDNuM3hRaF9jOFNgLTcjWUAzbyR6fTdjZnQ7QFVifHM2dEZDPwp6ZzBS
eERZT3FHSmNDYjtnPjlIbFRqaj9eUFE/TShzaHExcm9weUR2I05hTDh8MW1kTFEpWjxMeTlPMl5R
YV50R3YKekleYWcoN1VBfmNlISlZPVc1QVFhdiVxX1RteElAZHd+N3lzUG0zPiZaO2xefHBOcnAo
emZPUWV6KH1BI1VgcjU1CnpQKWhLVFYyPT13a2RJS0MoMz4hd3UkZ2QpMiVkPDZOUCk8bkQzKyoj
WHAtb2hfJTUqfHVfZl95O3hnaDw7dThgdwp6bEtVaTxCb1FSI0JvaWQocSpTQ2JxO3tuN3FfdzI7
Y00kSGQrKT15WmI/NWIrP21PU2YyKl5hcCUqaTZpRCMmS1kKejttQkZZKXllKEhiSTFxRGtNMl8z
bUFtVkZfdlBLcnlXYzVARERHMyhRWTJCZFA7NjErUTtKaTxEM2Q1I0RaZiQ/CnpRYnwoVFFAeDwt
cVN+Vi1yPFNNb3B3NlFITlBSKVdOVFdwKUxRX3NOUG00dz9OTll1I01CNzJUTUBMRGdPeV5IbQp6
T2dCVDFOLXMhbkwhVjBET01rK14kZV9heiZRUXpuZ15gMyZmemcrLW1+b0I/bFN6V2ZnKDtoOW9F
ZUUoa2xCdjsKejc0cygrSTJMe3U4PHVwSVZPQldTZCNvX2xTRjlzIWgtXlleaiU/WCVRfHVWKmxJ
KSlCI3E3JSpMPnZ6fUxPNXpVCnpifnghY14qUTQ/ZHBXUFVfX14lNGE9Qik/QHdnU2FMJTE4YjR8
ckkzJXo0c3ojKDZQJFdxRV5tPnY7RzFTb3RqWgp6VWh7cUMkTENrKDU5amFUenElKUkmLUdyfXkp
Nk1jMFRZMT9maGo9KCFBRjhvZioqdHNnYHxYbmdxbm9UZ3pwS3YKejNzKHM1aW07Mj1pND0pXjVv
SHYkNndNVn42ezhVfDcwVkpeNX5tVjM1cX40VEJ0YjE8RHY+UiphLWE2VCNyXiNJCnpvMDgwdXd2
cnsxSjVwUnl1MlIpZkMoXj53MG4lKmA7MiszNmg8TlooMjJWeXlDUVc4Um1QWGNFd3BleWdqJGg3
Qwp6dTF5fE1VUChTKWVvRW80ZzFKSlchayhnbFZ0YF9vNXs4bjdRa3Y0ckx6YWlHNDt6JT5sb2dj
fG1GSENHUlVCMW4KelJSTDg2KWtNfCNNfnNoTDl5T3tWc1hiQ2xTS0NuTVJgKngkKXhnKClZN31X
NFlmNVJ4WVIrbWdYP2JYTVhrJSp8CnpZOFBzcz1zZUkjJntAKnUpRDYlYig3VTR0KTJxYCoqNE5o
MCpGUTNsRi1TSThIez5AQUduX1BISDFhbTtHcm5WTgp6WmA9JlVoTUdidk8lUDNWT29+aHtPO3Re
Xk9eP2hKJXJlYU8lJSNtISZBKGFQd0A5K3N2SnxzU3Utdm9+dnI0ZX4KelZsOEghWHVWfTRWVXVG
PjlWUUorZ1lEYk8raCpGSCpzMG5UKnhsSWMqcTF3P0lHOHhwSkt7T29JZChad0lDKHBiCnpJSX12
M0lXTV5neUNsMnB4aGxFbHlGdUtILTBJdjNLKk1MeWdVUkVtJEZpcm1YUyhPOW0kcH0+SD9GcyVf
bjs0cAp6JnZUem1Vcz5OZ0tMa0g+elljJER8SHVCejBnP2UoZnNqRDZ6PlhsPXBlSTQ9IUUoV0dB
RVEwQ2RwczF2Nl9PQmcKejdeKU42QFp8MjM7M3VuMzwoP0xZVlRITWRPQClodVhGZnhDMjdDN0xJ
cSZuQSYjeG1hQktqa19CMnl3U3FzKmlGCnpxcShEQk1CbF8lI2U5c3Q3eUNMNkRiNnUmR0Z+Rzda
MzFxQlpeQ00jYSQtI3FSWj5MS1ZLT3dpRk5INTlHWmloPgp6QlgjTTsheHdjZz4wWlhZeWlCdTZu
QEU+UkZWNyYpYyVFX2MlSHF9Tj4tKD9FR1ZmK2FXfWQlK3o0QEZhbXNPTF4KemtlIWwpbDtmR1Jr
Kmw1Q248dG84bjEzZmZHWEpXO3YwJit+YHJFRVRmeF5OZkB9ayZjeE1HanV0ckVrTVBvKW5eCno+
Jm4+NnZkVzNkQml7azxKbD1oTVp9TlYhTGFDeW9RbjBlRGlvUG5OOG94VEMyMiRmd3ZzWV9WeUh1
eEZIJlUteQp6LV9hbl9QfkZKVVNrT2U+bC1eOSg5TlU3e0B9JVhhKXdsSmkmQUlKK3lMSjAmMmVm
MGhRQDMteE9SZWk7d15IfHEKejlAKERHVWRpNnA0YExzaGBoQCVIYHZ2PUoya3M1ajREdF9GNUFo
RkdmNHVqeFc+e2RqP3Z2MWBoN3IrYG1RamgoCnpfT1M8Sko+dkBGMH4wQ31CYT5RX3BRajlgbU9m
ajJ7eFdTcHkrN2tRYjFAcXtoZDM4OGsyOWFMSykjVEAkaD1zLQp6YlpARDdgTjh0d2lwSSs5c2A9
YC1ITWgwUF4oUHljOCE0TlZufXVJXnpCRnlnWmhpVntAT0F5MF5TNnVkVmNXUmQKejg5UGluUmxF
MGgybHNVTSo3c2ZhWnd7aDxrcDN0KjxVOHkqZFVVaks+fk1UPjVeK2o7YHUwcmx0b0t+IWVEbEtW
Cno2OFpBUTc0dWNZd2JKJDZqbDwyMnYjRzE7UGd+Iz91NyRHI0xFTTdeMEtuNygwUV5xP2ZRSSFL
ZC0tUHgoNDI7Vgp6V2s2YVIhVTZkUF9YXiReZmYqNFFhVVc/NWM/eDlfYnM2bWgwfSt6fU85fFRA
PU1DLUBLMDFMb3ApWE42QGdeekQKejlhRk1ZQD9pPUBOYDVMIT5LS3t8K0VLYjQxfl43NkNUd1BP
YU9YUT8tRFg+NkFMSG9jdG1ldylqXmhkN3dkSz8xCnp6a2lRSzBBSnV6YTl3Q254Sm8yTEcqcngx
VHdPeF5LQVIrXjZwPUt9MTVfQ1ZuSmR7N3hqcCRXM1FMTmdsfERZfgp6UiZHK01SNHNpfXEqa2Iy
cSoxQ191SnZCS1FtMGI0TzBQPTQoeEFmZHktflN3SWtkdjAmYX5aWigwdGxyIX04R1QKeiNzKGNt
V0pfYm1ZUn5UPTtpJXhHPCF0SFY8cj9qbEA4MFYxKj5tMzspclpQZ3opIXtCSml0M0pBfUJUWiZF
dT8pCnolK01FNFZ4TllFYEd2Yll2d0Ule3AlTig+I1VJVFNMbXJENGhhUWliZlMhbnhNM1BMTSFr
V3RXTGhQa1huc1R+VQp6aFFUWkkqTElvaVotVFNwdmFAb2tiTmxsYV5BRiNtNnB8Tmw3RTZfQW0w
RmoxbXBeLSNAOzx3d3hVI2FVcH1NdUUKenlTQUB4c0Q3a2pxVmFSbloxWkJ2VEk7dkFxWW41XiFZ
LXo2KFZqPVc8eyFOSkJLazgxJF9Md3JNbXtiTForfCkoCnpJVWxfb3lCSSY2SUdXc18rNkpYPGIh
SzdxXlc1bkMoODducz94bWpQeyp9P3lgTChVfXFmTipjajRoSXt3Qkk8cwp6M3ZFbTlEQ3tjako9
b190QVUtKHcoUj12diRuSUc1MW5YcSt3RVFnaVQ8d0RUVipqJUpEKm9FIWhVQDAkfDI2KnsKemgq
WEZfITFAMSp2Vnl2Z2opcDt4RFQ4SCQ5Z0VYfWB2YWV5MDgwM2hYcSpJLVJRYitSdk5yTiMzUlgl
ZVJUT208CnolX1F3MUp2SVk1QkxmcFBHWUpiaSVQSCMkK2Voe1dqdlVTP0U+Q1V+OXRCPTVLNFFL
cns8VkFrMF9CMjlMY1lTcgp6QjJ1Q1pWa2x6WSM3ODlSPyZuQ3hPTkJeI0orUE5DbGh1fH1rezRJ
dFIteyFUZTJEejtSUWFwUW9hKUc8NHs5Q2kKekVnRnJRYnowVGg/e3RjRl5ZeWF5KCtyWGZxbTlD
aUwhZHo+TDhjKlE1JDFeJjhJfWNCQDJ1LT0rRiYxU2h3VWNwCno9TiM0P3pkTjB9QWh7Qnx2QUlp
bT16MlBPZz9ndkBsPSF5I2pyeSt6OTBrRHpxZG1xNyEzYWVQeT8lMXxiU3JFPQp6ZUJAZDheU1gl
USRrJFBFKElHS2p1P30oOEB6eDJwaUxPYiQkKVBFY3NmalByVXVMSGpyb1lSbWUlMTg0QlhpKSoK
eldZJHt0UTclIypOal4ofj12JFJTWHB3VnFhN2tTMG8zaXJxPTZDKD9Dbl4+enpmfHAycFZyKmVB
PVA2eDVII0x0CnpxSDFQblZRYn1XNktoeE8oQ2Y3QzNoR1ltRGQ9dFpGeDBveWU9dndKTUQmcWlu
RSNYMSRpcT5NRmBhUyEzQnlVXwp6RGQ9YURYX0ZiI1M8Xll3ZEQ4e2NNZWArX1cjPCtEKXJoc1Vf
MlB9aiZBfjc4VGlhaFJ6aGk5USo8c2tfKnlHJTEKejFTUjArJE1Sd08oVk9HSTZUPyZDR21eOThe
UmJJfW0oZj9ZKlJuVVh8ODQmTl94MWt+QUJ7a2kmPCRNd3lXc2phCnpDcmMrRXJAKjhYckx2PD1y
RD5zRXB9U19sV3UjX2VWUDxBd1dUakBpITtacyYkX2E0KDtNKE49JT0zWV9oQSpFIwp6YENoMWlp
PWRIXmxDWGRYdHRnaTBzbzFMY0N5QlFFbTZDNnotYmtsRU5TMjlfNFZNZCtfZn5MTHZ7b3tIc0h2
PT0KekJDZE14NXZMbG5JKWV0Q0NYRSlnSGwrQF5FfnlAb0tBcilGQStpeX49KnN2RWRTWV5GZFNN
UHtmbnRlbU1QeUJHCnpMayhsRld3R1A1PVcqYjc2bXBWcW1VQl5hZ31PUHIyWWJZT1dfaTgkWnUx
JVRvJWozWmU7Tm9FZ2Nna1A3JlFhfQp6WVNGYlA8NC0lbiVFTW5oaStKdTRWSCY5JUJeWFRgZ0Je
MWZ5QilVQEtiUD0xYVZxSV5AXnM0USlYeSliVVFWV3MKenI7bFpmeWMmS3psPTw8Xk5ZLVRiSmdE
alJeM0Rxby1lTUxLN0V1JjRseUg+dGw/aihpeXB3K2FwaEJrZEw2dWJYCnp7VGlgYTtXfmtPLVVp
TV8pK1VCI25paCZ5dk5wMUlpVm5JP19BWV5Mc1VHRUNvZXlTeF9XaG0lTDQoaFI7eT1DXgp6ZSpH
ekhCenlHRFNqS3FqTUVxcHIpUldIdihfUy05dm8+PWteTGgmIWk7dEdubVVVTGxSJGJPWSl7ezVo
Wlo+YHkKeitGSlUwQEV1e0JWMjVzKFhIUlZaIUdZYCMqK2MwZ2lEUXdJZCNCdUl0bWgwRFJGfFl6
X303Pj5OVm9JPDd1QDdsCnpDbT99N1dpRl5Fdzg4PTRWTFNsNTc2SCVyJl9HQjYzamlLcjApVkN2
MDRFZy0hMTN8fGE5bGFSPkpKRWI8Y0E5Mgp6MDMtbDR6elBVfXs7P1ZXMSlQOCYoNUs3PnMpMFVX
OXsyJTRnSFNfK0Eoe3s7TkNjeisoZ1J0Q0x4TisxZGtGZV4KekZGXm45SjNKfThKaUlTX0lzNnZ7
ST96K2dNZmlmcTBzM01jTlozZHdOUmBNYSRSQH4qQz9xSn1DXk0pTXMwRTsoCno2b3xIczRuLWZx
Y3p7dWgkJTZTQml4NFhzOHdMOSo0a0F1Q0UoVUhRLWQoJnhkOyREazB2Jj0pTExWWUBxQnEwPgp6
I0dncClOenE3KUAySzI0QitEUnxCbVomdDRUVW5ySWJ7S3I3QndQdTRVSGA9SFNHKnRHUUJ6aktF
bmlLOGp9ZSMKekJsOSooQzk0bWMxVW5NQEZoQEc0NFZOR3tJYDwrXjRSMEt1Sl4jYWRKT1VKZ18o
RTkxSTNtUU4pTUF8QzUpdkJzCnpaNiUqYldsNlVgU2R+U1ZXMDYtPGZHSXZ6ZGhAVlJgTG9LJkJU
X1huYnhWeXslfEArbnBlKEVFaDNIb3F0USEjLQp6JVI7P09pY09jeU5pOCVpPEU9KClATHteUFp8
dUgxaCZhWUxaTXcqfjdQdz0yY3pMZFFZeD95MWlUVCRBQCZ2dG0KeiVwRnFrZyFrJERhUTB7VTVm
cVV4cVZaJG08OGI0WDY3TThzcj85NnN6RW48SSU/TnI7b0IxajBYXnZ6YmUxNn5DCnpnZCU3T1J+
ZFp5JT1AYSFfLWREMHdSKX5iXnJuQFQ+YjleQi03ZEJzeFpjXm1udHxqWSZ0ZCUkc1dHa3pyWVc5
agp6dD1Tano3ZllUaW0rUnFRaGAqTD4la0hpbmdkY0k5JSQ+KHZKQH5uUXs0KVE8S2o7NCpJUkI0
OGd1d3ZfMEFoZVEKektxWkpGJW1SQkxWbjZ7QWZJTmNPTEJiJDhBUUc/eTJaNXU3bFpDVGBPTXEq
SCtrblQxbXhBfHpGTT9rfnBoaHI3CnokVjIjISRjR3EmSUR+VzskcUFfb25IPD5AYz98VFdsVGds
M087RyNNMWttISlOenRQKjs0eXFMX0F6MFklVUF8agp6UWBwK3JRI2J9VkU0WCZKQ3dOY3NpU1A+
diMwa2EtVlQzbkNzbD9wR0wqVlJWa3loTiVDNChhP0JSOU5AZEFGNnEKem02RCRGR2dTbiY4MShf
b1RVdH1QeUw3WWs9P3VuPGJkMkFhcytvZ1g5PG1hJXVDa1N9YCo2cnw1XiUwXylwNXUwCnpTbn1U
SUJqPnh8cFRFfSQ+YSM0Tkd+c2xTWXwlMllXXmd+LXhQSyE+Q04yRUhRMEIzMHExPWY0bkllVWYj
NnpmWgp6ZlhYWT9tUGFlPHMyVigpIyMrKFpFam1CK25EeHlKKGhiTHEoViZ0aC1scCUoekY5Qz9U
M1ohYlpeUVUoMU1UYDkKek5GRDgqK0ZWRm9KPjh9fUxfS3I4djMmeDNjbD1FUUpfbzQ8NH4wQW85
ZVZtR1oxa0Q+Xk5+b0VzUXd1Rip4cT1CCnpncFd5RCRxVDc9RlY1NFZHTkBsUVg2bjdVJk13WTEm
TD1KeUZIQTFoRlFxUX57O3N8dnFSUDAydU1WPyp2JDNAfgp6c254UWJ1TV9BUj5kRS12KDBfbEJj
eFoyVWFITSFGWDJOc0lkZkl4e2NmTWZwK2x1NWBfOW9odiRHN3p6e2tfcDIKenN6O3dyd2EqdT9L
I0xSSEhoITdefDkkOzB7OU9NdUtpOXdHJi1MRjh1NzU7ME1pQjlGaEQoS09oNUhJKEl4X0hICnpA
V3Q+ZTJ6TD9tTDV5WSZrczNyfS1YVUhoREklcEs/SU96e3pYQX56RXRHMGhWcE08QlJXeE9eMjZR
SSQ3WkBtQAp6MWJvTVlWdmJgeSNPbEc4IWZ3WnIhcyk/JWgmekYyaW5vZyZOUHREfmhMREdfaHNj
b1ZrVHtsdmpieEQyQGVjbC0Kek1sd3JzSm8yYD8mSjxKPnBDfSh3QGxiNzByXypUQVYkbHhKTWJh
eFg7NCh9elctfmMzMyRZLXdqSWgzOWdSdSo2CnpBYWhKfW1UXjdoSHMlckxDRk1RbVRqMX0jUzFu
TDFfKlNTKXhLVShLYlhufE5nNktaS3FeP3c7YmlzbyRTJEh7Swp6ZDJAdzAjUmpEbldtRll6UnNC
Y2RZUElUSG5pTl8oKzZnK0pebDxidzN7bmd+OHtkSCVtfUhuUG5BMkw9VDJAJkAKelkjemF+WkJP
aH45ZzNhTW9FPTt5K0AjenFKUT07LV8+bFhpYDshTWAyZUFaS2hlKEh4S2VZK0ZkPT9pJDlyLVI9
CnpFVCU2YEpBTmI0SX5nTS1fbDVZJio+dH5HNnRCRDlJQXY0ak95KHNRPW9pdSM5aEgxMiVZNWZr
cDtJTUxMc2tiQAp6fEdqYWx4eEtaWkoqKlNqJkR7KDZAVHZkSnB6QkF1UG4wOFBXME1tI1EpJHpX
WEMzRnc3Tk5gNXQzSzxBbzBWSWkKenpYTG4wZC0/fWFoYUpaa1g5NT9WU018NV4/YEZsemJFYGM3
MiE8MzBLUTckZGB+VSsoa1Bgc2xEKm9vP0JLemolCnpEaEc1bjxeWjcwe3g0WWtaREF4RjA3emdV
IWJ3SU5DfnYjWF88eUNGSFVKanx7eUYlOSY7VzNfNU9gZTNPJjM1Mwp6ZWdgNTVLNyMzJihoeFgh
MVZraWM2alVeSHVzfTVxN14/eWc0fkdEY2g8Sk58MHRvPTAwfD5aP2MrfWpJTmNkYHwKeiRUVGhs
SmRma0VQLXZ5enctYyg1Pzl1VT54clUmazVmUEorLWwxbjtXTVhGRjxHJnskQz9xV1hLdEAoaFVP
YGJxCnpRJWhTMWdrOC1vRVVtMDxWNzZ9VjktZHlfS0U5eihvYCFgI2RtZlJIbjNTQjdgcj42O2Mx
fl95ZSE8KHFxS2U5QAp6PllDY1JgaTczcXVJYEBSNH1KWmtXOClLKFE9Z30ybVJEQlMpO0JpNFk8
PUI3XztHbDJkfiRrcmUjO2pHKVRPX3EKenppe143X2AoSkdmPHIpbk0/ayppM2oqZl9VaHVkR2h9
N0lqYyM+KyFyWWB0MkpkYVRicX5mI1F4MS1ZWHNfemsrCnp4c0lSXyhlVytRQDg3Y2FsZTZFKFNq
Z3w8PntySkEjQDgmVTI7aER1Y3NPdkQ7TmlpVUxJNHghVzhObEVyVDxKUQp6ZUAkcFY2OXsjcHFr
fH5zVSgqZlAybjF7Y3RjKFF5VldKfFZ7X15Pei0qNHRZMTRaYSYyRVlKNFVOfkhNVHRFVWkKemll
U29hJkJJPmolOHA8SHsocFNJLStjUE4hfEtUWTlhY3lHQDMxPWR7fCYxeFJ7T1F4ZXBlRWBUKWxh
aSRORnApCnoodE80aSZ1VWZMKnNeLXpQYj4oZGwxKWc2Jkt8P0gjOG8hY2o8WVNiUnRFOCl6WmtY
Mkx+djk5RUNzMT48OXU8YAp6JmlvQElEPXVlPXBTTGc1YD19Km5XflN9YkNxbjZ0WkV0fGApNXhW
JWR9blJ0cXxLS1Q5UXdORntgPFNnZXM1TEoKekVWay0yRHtIJH1fb1pOWiolN1E/dXxMMj9GdW5Q
QVVEITl7fE11fU43ZD9Ic2luSkZWdUowJEhIU1JkdVNCPTJ4CnpBWkR6Yjh9LUVhKVAoI2tSakFT
Qm42dnslRGxzMEwrSm42THh1O3JNcS08UyMwQ3xHbEdXNzBnWF9OVTFiRzQ7eAp6JSlGTHFQNHd9
T3lhdGApakJxODk4SU1hTkRIWW5+YTVvM3tiIVkhOFZaM1ZKKzktenhzNGJLfEhRbmd0bUVFRUUK
ejl7Y0lqOWAwQHt6VE1RTkdoM3wmNzJmMDx6KVBsfVJZWjl9d3d7Km1gI1Jadl48akQyNE00JmQk
cnhKeD5pJTxtCnpKTXlSTWw0aGc1ODZteXcmOWI4fHQmOU5WaG44TXRRe0M3dTYofFFCZWxUXkxP
a21zbDExSlpmQTtQIzMqVjs/aAp6XnJpN3VOazduWlVALWQyNXg/PllwV05ZTmlDIys3SiE0d3VL
LU1yOSYjM2lYXj5tJE01QSM1VXZTdmR8MlNhLUwKekBoanImYGN+QV93Qmhhc0A7ZWkwWE10QVF4
PVA0NGREM0IwYXZNQWw3UmsxY3Rod2JvZ0FfYjU5OGI2ZmVjWXNBCnpkPX57cDV9VlJ1ZWNhUmMl
JVJNS1RNWnN4YFg2TiY/PFgwaGpjIWVzaj1eQClDMW5WNzZ4STw1KWI5VH5GM092VQp6ZjNyO1dP
P2ZtQFZyPnglUHYrX3glKUdWdy0xczdlVDEoVG41KGkxMXtOUjJjJHFNVU9tWkRhJWYtSlhrJjlR
PioKej8xQjlEZmF7I0xYPUdrLStuNUtkUisxQDd4M1BMc25wJVhCZmRnR2I8cCoqOCk5JUEmQXlJ
WlM3eDZxJnppYENsCnpvWjkoZEJyZmJVdCl6cCVOMFFKTnhDZVBLeUV+O0ReK2lVdUMpKjh2XzQ7
eWFhckl3ez5rPGZNMzF3OVhBYlFvOAp6KyZ6flhJdWIrSChKNjhJbEFhTj44JUl0PHZsZy1FXnls
SzxCMlZeYUwhSGtNU3JyP3YpX3V4cndZNktYOFdFQ2MKej9mbCo9bXN2Q1BHaUE1anpwNld5MnlO
akdLc1BpKGBtITtnb3M1STBkIXxEfGpyUjcjKWlPMk48NGR9Qz0lR2ozCnpmbGdDMW5kcVY+RXpF
bWdDN3IqWSREfGN2aitpVjgzZ1B6RXJPWC1XWXx3M2JuK0t4fDl+T2lkbmh6NnFvKSs0Ywp6dnZf
U2M8czN7WjFxZTBKMXRtZU4oQSVufHN6akNnbkorNVczIVc+OEYjR2Q7NlE1aHlYMTE/U21aKVl9
JXZYfmsKenl1dH1lZUpuJXAyPVpeWmtaJmdjdHdMMHVCK2w+TVVhZjVDWjlGdGxhPTQtTUJEZiU2
NT1EWkdAITNTcD5OQG9hCno5MlN6OylDeSV9KT9SRzViJVRQSSgrKipGZ19QX25ic0dtbjh7cS1n
WUpBbGFHdTZBeyZNe15GIUJJbSlgT3lKWgp6VmxQKnttb0xeVEAlIWl3NncyRX4/Tl5SdXBTWkh8
SEp7Q0IpWEU9NTl7RTtKYjBrUU4/b01BVmBNKkRsUj5nSSoKemgxVGN6ZFZBM0NZbUwzbVprVWkx
SzxQN2J0SmZkUm1qVCFDNThVaGVwRFdtLTEkQUdtSH1wfnhzZyFzSy1IYUBFCnpoTlFXWENseClS
Jk5OdGEmQS1oJER6czB7JFEjNE1wTk41XmlMYyVvREp7QHUtI2EkRTtfYHlFJVZONWVVO1V7fgp6
b2VGMUJMZ2teSWAtI2VzWlMyU2d0RlI0ezlyaVVudnQ7UjxFUjIjODkjWitHNUZySDM8UnVBMlFQ
fWFVeitRZiMKelRmQHBNcnVsfXo7Mnp9MWdDQDZpYjFFVzZTUXx0bUhuNG5gZl9Rfm8rJCZ7bChE
Pz57Knx3JUF4bktLdlgkUHBECnpiPyptdFZoblUldnZ4YzhTZD91d2M0JnwwM0U4MlJvIz19fFEq
Nn4xKnFFey0mZiRPakpCKU1xbzJoQEpTbmJDfgp6RXBSenQlTlFZYmp+amgwK1R4SVV1Y1ZJRmlt
PzloJCtrdlM2bW1OVGdoQnZrXk0hdlZYWXFAYktvYShiKzZ0d2kKelg2JlpELXA7diE3e05AYGp4
KzZLeVoqVWg4eVZKKnVDPztyX2J6NHp3N29nSW9KZC11e09fT09sSSFYX2hLeHdzCnpeQkBUJmg0
dEp+S3xQYTFCVURqYithcGtldyFiWDFlbTNhaCFUcV93WEs0TmdGaUlLdGEwQkZBVj1jMilLMFND
Uwp6ZlczQmojJnQtT01jNyNKYnh9YFlLfFIzMDktTjZFIStCXi0qfT1DTFVzWnRpNTl0WVo0P208
P3ZEeylCKlpjTSEKeitCMT9Zb2grVFNFYmA/fG1qWSE1ci17OylRfHoraWpaeGV4RCFtQkJgU09P
fW9wbDYoUm9hTmxeS3pGeyk+V2pACnpCZSFNMFVhaVY7ejFNaEIoVyR6Q2VeKDVoKUA8eUgpRVIo
Tz1xa01abik3O2FAQ0stU2s5UmQ+bTcwNFRjXkhJIwp6Q0xYQEdJRntJcypnWiNvVTFnY0g4e05q
cCp0e3Q8RyMtey1DJFMpVkxDO3FtZS1yQG5JYzBxc014WjdHe01sRX4Kenp0NmRYN3RvIXNLTlJF
bXJxazsxUEc1Rlpme0xoRCM7Nk4hKDdBfCpyd2k/cnc8flNFX2N7Ti1rbjB4KnpqYEh2CnpyU0pG
UXZNbXJsYzB0Xk5SZHteTFpCQ2Iwdyg/cUhKTU83aGJpJFI/Vyt9aWFQLTVRVW4mSDg5elR7VGR3
WGo2PQp6S1pFd1k9NSt9PTRsfSg8M3tUeTgrd0F8PHtzITExdDJfVlVMJUEqU051bkxHKH4jP1Fp
bnFZdE59TSYodU09eT0KeiNpLVNIdkBtWk0rcSR2PWwjZjstaTU5ODxXfl5lQDEoS2gzaTwmUFYp
K01jNmtKJUkzRHowWlJiLW0lPnMmSkwtCnoyVGJ+VGgjNmJVISYpZjM4PU8jMUJoVSt5USN6SllT
alEyenhpZjstNVh+TXcqZFpae0s/e0s9elohdGZ5ZTB1Vgp6eFREX09SQm9Ke0JPJFMjZGV6aVFh
ODl8VEdySFQzeFYoNXJWZzJ5VF8wczY7cXZ+eGt7JXZOdjgkZigqT3U+bDcKekV2JlhkMXs5NTQl
S2tyRlZJa2xBZDtIS2NySmU8citQJEZnJjU2OVRlRVV3QGJTMzBFT1M4eENia01reiRZWWJwCnot
R1k1KlBBZ1kzcXNZMyZYfXNDenAoPGx+JWhmRXpuflpQQDAmdWdUNl8+Zj5fR3IkaUxae2Zjcn1Z
LTM0fnhjdgp6U340NTRqVmxmI3JYfmw8R0RqQz5mKUZmTVJQU2lDdVN7S0ZRQjJzaT81b2JfUzFz
Z0xgUlN2JXNfWk1BSEh8NXwKekBxdTxaVXF5ZlN7OUtCYWxATUZrZnI0bSlFZWxpbWlqWUZCU04j
b2V8OFQxWl9mYmZOSzMkREd4U2h5NntxSlVICnpmYSN1MjR8KSp7eCNKe2UkZnRsK2xyQnRVK1o4
eF9GNHs5eE9VWjs8MXZ0QUwxbFdEaXBGYXVyQE49K0pYNW5EaAp6dD1LaXtteGUxVDVoR1BWTXhn
TWZUOGUkWVdYJHFmR0ZfVXFTenU/I0R7XjdNJlNScj17RX5NSWVgJGxWc3w9JmQKekxTPnsmP2oo
dXNQXzNCWU92QlNOWUcreU9aYzxxeWo1M1EpK2NDQ2lgZGdZJlMtSHZWbzVwQWg2LW4wRE1ZOVQh
CnpxOyp9Mzw7UjQxKDc4aTlzWnptLSsrOSstdjdPaTg9SmFZVjVFKGI1WXJLN0JYPDBvWiE7Jn5C
RCpPQUcoVT54Kgp6d3BnWChLdSY9Xz4kPkBPeGN7WC1LMjhQRyEkSUVIaEQwTXhxYjthMkBnYWxH
NUp0Y3FvfVZ8dmx2dD5kekw3c20KenM/XyY9angye3BxNUBzbnRTPz17TTlyWkJoMChyS1B2JjBx
N2k7Q1FHWEdOVDh2eU9LZnRqdkoteSl9VSlUJnVWCnpWSU54b2lfODl5YClqcyt7Pj9+X3pONnlx
Z1VkbS1NYDBaQUFCM1U+WEFVal94YH5mN2JPZk5DKlZIY2RtNnRRUgp6Jm1gdEw9Uj5CSlRhSV94
N1krMnBWJGJvPHhsYkE4SSpsPU1RWUomcng5djIkbHdffVJsOytlOGRlVG5KdHlUa2wKeiVBQERO
c2FSSjE2OHlnKWVESTRjWHg/TXJieit5NSlpKWlRS2k9c2JiVl9EcSs8NU4ySWBye0E4YDUkeHhg
YyQ5CnomTCRuTnZJQ3pOKEUqPSZTTnE3UFdKXm1TajlnYX4oR2I/MWF5YWkmZkFpKGY5IyUzaiVY
KFMkKEU8KCVpM3I8cwp6IWFUXyl4ODVoK28kS3M5alZOUEFpfn57ND01eVA8Ul4yMSRAaSQtMmJ6
ZDAlVyQ8flJIJVVkdEJuOT1fVld+N2UKekotTCoybTdUJS10Q2FwQyl0NTYxQmdVI30qeyRaRm93
cUFAKjdScDt2IUkobEE3dj58elpVaWB6WlNjc3dQd3M0CnorTF5vb1RHZVhFdTk1bCZaVUU4R2Nh
RGROeXdpcHxedlRhQlI/YzE8NkVSNjZ6JTFSSy1kRWpsTW55d3k/X3BnVQp6NyNONl9JYEYmYnts
UXFEeXBnPHp2PkJJVDl0QEImejlBe15ZX2VINzNUPGFnI2t2N313Mlh9KHdPLUYxOTsjZ0EKelR3
JENlY3ZGZz1KZnJXZSZ5YmpRY0NEdEhPZX54SCkqb1QzUWBeZz1jVHJKbzNvNVE7P0JocCZaPyY/
SDFybTk7CnpIP2duS2cpQzMtWjdVPkBXdyFAUEB6NXJedXZYQ3UzQFk/PV5kZFp0PDtpWHFPfjJQ
PWBRb2VZQzJRNXZQT0lpKwp6VDBAfDZDVmo2elkwQUQ2X1I2Vn5Lc1owZjE5SWNrJF57O3NpJEA2
Pmt5fWchcFJUQn5vN3xSbXFjbl5ATy1WS2cKekhqa1A9S3VEJT1YcHhzSDt0S0t2V1M0RkxSNW0z
T3pxPikrWW9yVTUwc351Q0ItVDRhI2BCcSltdHpmPVJUNyhJCnpVOUgkWiM4RnI1cCVfKkpDc2xN
ND1QRHV7RXtwUlNgVXdXYik2QEMhcGIpK0RYSHRfUDBSRHN2QH40QUZLT2Bhbwp6eHVFRlk5IXNe
SiU1diZEVmRIT3w7eEpJQD1GcW04TilPYFBuaE0qMil4blEkX1RxWXZpKHxWKnF8a05gbTQrSlcK
ekglNSt7UH1eVW82NzNgNWhhRWd+KTlGJXtmJSZub0dkZmtHNmJPbU9NK1JWe29wIUVsUlMpQVRX
WH4hdG52QmwmCnplP348K1ZVNEdhKF5BbilCPjU8WlB9b1UraERlflo9TlJ6SGpNdSlTJT1DSFM7
akhLUDF7b2p2Pl9kcSFLUk5eOQp6MkR+fUwtdWQkOyVafFU1bHMmR0BYcWlfcSpqQ1g9WUZiREct
N3ttITxLPShnQXRPc0okS3BjMDRmSmEjKzRMU2kKejReSDhDJGhKe0hUKHU3KUYlZSFgU2BNZXVT
dmRBZUllKGYjZUMpSSM+Ml5tTWU8YHw7M1pubzRqdDUoYzd5NjN1CnooRTFqbVZzcDV+c0djWE0q
XiE1dHBzMGZ3UmFfMnd2K082e1J6XkRiaT1hPykoPDVAWHpJfnBuZEYhM3xGOW95TAp6aT9iN1Ff
MUZHYVYqYzFTZlVkVyVzOVZ4bDNvOWI9d3gtdEg3dnQ/bHlOZ3R4PDQ0SnxpdyZpUmQ3dUZgUUU9
TS0KelhZRThtZT1iZjBDekt5SEwoMEtIcjw/cztzaihpZHNFOX1KYDRTKlJIYFBJTDVBPmQrTD95
KmJJUzBALSRUVmpOCnpAKXt9JEZoaSF6NkxpLXV5SD13aEpGUnl2VmFLZHxkLTx0dUg3bEYhMHFl
RGNha3ZMdmIxb2EzYlYkZkg/VEZDSwp6Ukoke2BvKSU4czU+M35LWXxaXz9BN19RIXB+cWhyRkZ3
eFpUIW94TnllWmpvbTxtXnJvRD9WQ0UyVl9rRWtxTTYKekAqVX4+WHtXTSZRKC1PYHhIVE8xJSYj
YlpAd1djJXowJXNwckM+b2EkbS1oZ2NyPHJKOTVTO1gqWTdOZWpObmQ3CnpzMn1sRzx4eFYkLUwm
YktJJDRVJSV4YX5DT2JVRXNJPzdecVV8K2BjYEcjOVdObXUwa2IoVXc5UDBea2tjXmNCSgp6cDEy
aVkpeTtLRk83TWlaeSg8KjZkc2BrOGkwM19ham9hKURZbHQzQiZWI04pMmttN3JQUlohTXhNYkx5
Q3pEWFcKelNlNnk8RGNgO1V1bXZrZmtKWnBkZ1BPd3xgOFFJbzZYdCM5LUt7VEF1OSFyTCU5bmV8
YmxUTFB6U0cqKCFEZV4oCnpGeHhEJEoqMDNeWUpBejA1T2ZGUnU7dSU7YGA9fnN1ZGU0bVRTbnFm
I0VWSylAJDZFciR2KkEhNGBrSnwpM1Z7bQp6SH18MUVrMFQ/U2QtQFREdn5RKjYrZ2ZYTUFuV3p5
Nm5eS1Z0N0ctKGtCeDJuOzw8TmNtMD5MWSlufkh6RXpNUzEKemN3QGN1Z148KVZOTHJzPWVkZ1Ix
JWdtbFhzampOTzcjP1lEcEp9MFVYKDZNMUhGPH0hc2hvWl5OeHc7QmJUciktCnpIXl8xelpBZDFr
Jm0mczxodjVXQXdjcWkpKmp5Pj9meE98Til8PiliNHE2VCk4YztJQlJLOHBeUUp8ZSRHfnR6JAp6
P3JgR2Q4VDRyZjl6TUw/dn5YIUo/b29qWDN3T2tiRVZzNC1NO34xcjI7O3BSfEUoKlVASG5VPW1a
VVlKTiEoI3EKeiNwIVVFMTJ2dGtOMGFyVVViaU9EZFp4WF8lIX1DKDlzKHVOKE80U0JRKGppWil3
ZV5AP1RXNWdDWUVTPWVDcEEmCnpqJmM3aTJ8cyNTVkdIV0ZKVm1UVEooUSNFYmkjWEwpenFMZyRx
RDg2N3s3S3BSfEN6dXR7Qyp2a1N4bU0/X3lzfgp6KlJLd256eHRLM2Jofj0wdWN4PU5YRCVGU0l1
QnRFYT9jcmpzT1YtMW15O3NaKTN4QTxaJTElTkRQK0N5PHh3YFcKejQ7b0haYmJYUytQJTtAVUhV
XjUkJVJkXlRNRT4ofEJsekljPXY5SX11a2VLeCtWcVImUHg/JSgkKnUpRmFudD8xCno/R250MDVy
dThgdkVqdnlye09ER08tM3VzSXw8ciQ9JDx3dWFmd3kzVDxGMUNAO3ZjJVltVEk3M1RXSU5Je1R7
Ngp6bzFqO1g9QFJDd3BZcHNyaHRLa0UwNE0lfTFTOGR4LTdrcXRBJCM5S21mbndfeG5WJXI2KXpU
cUM5RDswZlRfMkEKemgzdzZfMXkmTztLO2J5K3lIZm5FO18qd2wwTnk/NjklbEFOWj1PU05vOVgq
TG1rZiFFOF4kNSRIdEVnP1NrYkojCnpwQ2NoWHdkdDUlMiEjPVVgbEBkfjxtQmMheUJhU1hJQFhH
UyttMXtYQjhoUDRWekpZQXo0Yll0aD93aVJnSGx+NQp6IVA8OWMjUmlMfkFBMXFxZzBYbDYlZkRl
RzNBU0VIMHwhd0xUbTU3PnB1JkVmbXgkQjhmQGhnNEN1NzY2U2NNJEwKeno1Y0NQKVJASE1sLTk7
KWxqPV5fdCprP090LWshNm1VaTFDR0szZVZtd3p9JF5rLXAwPD1DZWF0QjlrQWtDKilmCnpFU3R1
KWpMcU9OUXxoVE0raFF5JUxFd3lGNHV6RVRYeG0oP14zITJzc3FzfSFKQiY+SkdUN2lRcCUpSDFj
Z05jZwp6MTMwV3AoT3cyRWAkWGsjck01RTQtRDV9Jms9NkdmNW8qYjB6WGRFM2QrOU9+UGp7bjRP
fE1jQFpVQyQwI2ElbXcKelg2bmtvYSFYS1AjS1RWe0tIMFZIOXlMWn01P1o8MzBBXzg5Slc2Tlpj
MlR5aU5qTC1iN3B7bCYzUG1oSFh9T0ZECnpzLV54MXckQV4hNnBjc3J0YjVTMnpBMysxNmhUK2tp
bD1GX0xVb3RkVHEwK1J5SWJPITgyNkd8bEQ3THh4bXxlVwp6cHNlWiheK0QlRjAqZClOKCo8amo7
cTlsZG1VaiQjJCs7dCF7aWhWUVJ2aiZ5PXcyLWdFfHlwJThme3pXTlhScFIKejJhTUxNTmMlekkr
SjMjLTt8XnFmNEZKb0luN1o8dDN9b1plTX19TWcjNWYkZkFmeTVkQUFJTSZ8NT9YZG5XNDRzCnp0
VGdsRzRJcFI7Pm1XQDwrcEhfUUpHNDNnI1RHeXt1JG1sPWdiOSRjRHN1R2khIzt5diE9ZFZuZV54
dkZ6NDgpJgp6M1ZeaVE8aDQ9X1pZb3cyJHdXJEZtU0htal5WSip2QHJeY0xpYiRWKl8mOF5RI35S
RGtgPkFjWSRlZiN9aVluY3kKekZSKGRQQ3U/Vn43anJ7WUdUcFI3RyhTX0VyZkMmTHR8fDk+KnxD
RC0+P3JmUzhITHdgYD5veGR6VXFBUEhkanJ5CnoyPHdpamx8ZUIqZXl6I2l4bzU4SzdEbWU8MzZ5
JVhFQWZwUDQkKmdhTVlDMUJfd3U1RGA3JWF7VFFvdEhFLWopcAp6dkBZYCo+ISNpLSE9OUR7VXlj
IWRgVThVI3VLPzleO2wwU3RocG9aaHM+bUhAcDZ+TjBlVH1UdVJueSE4RDspYlMKenh6fVUqWnRa
SHd4JX1fK1crMWN2ViozKThHPVdVajw5WVZfMUp8KSRKd1l6aXE+aEI/WWJLT3ZKZjdSVFAmYThs
Cnowal4jYkN6PTYqcVB1cmRFRzxwcmBzRU9DS2hVJWFlKjQtUUB8cnQ5TG5SMHVOPE4oNUxvd2ZI
MSFGJWszQyghQwp6UE5XNWJaXjZYdGJrYFM0c2wtPU1UKChHalBFVXReM2lYPXpoY0Z8YnZJQmBC
cnkyT0EoN31xQ0skPjtVVD80RlMKelE3UEBvPFZBV1YkMm9jcUp1eFU8cUd6Ozd4ZCYodHA4TVli
Rz1KcFRLbFkhMTloRT03VyhHWmJ5alRMfFcwPTVhCnpVOHxXe0o0LVV5KiYyekpNc292SyZsK2xj
eXojZ0YkUjZlXzg7M1ZEODRGKVc4dH45RVNyKH47RVFLVlI1VkgzcQp6b2BvU2cyVEdOMWwjfHNw
WWk3NyZAUSZVfm1mSml3S1JDQENENiYzcHpZeEV+ZW9ZYXJpZFNpKUg/Q2R+cld9d3kKemxjelFO
dk9xO2RndDt8TCVebj05R3RmPGJeZT5INykhI2tkRDRBaFo8UyRVbndIQF9MKHVXPH1TLUd6NjNI
bSRVCnokO1QhfTYheEg1V29wKlVwfD91PUpfZ0lvbmhgSXlFYHhiQ0c+MUJkP0N7NDZBKFooUkpK
MkMlQiUzQ05BIXNOMgp6N3cmMkZGejA+Y1QoKDwlIz9MSDBUaENIX3dgVUg9RXlWdipRQkw5eTBQ
ZUNZdyY+ZU1MNU5efU4+SCppKjxGVUoKenZ+QnY8ekFzYVdINzYzQSZASlNwOW5NWmlvLVBZUUNs
PjZKQiE9c0dYNSs9PCEjbUUmK3EqSlZeQGF4RXpJNlUkCnpBTG9CVHpXJiptSH4ycG9BUyUqTiR1
ck5AOVYpY2RVfmpIJippRGY4Zn4rIV5wYkI2bCRPQ3dgK3h9RGdvanZIWgp6YSFjUWNQMFRGUUUr
OSNHbnRXPVRSOXV9LXJkM2hqK2Rva0d4MDM5JHZxaUVMekVHSlBrU3twU0olJCQ3SntYPzUKek1C
bUZIVWcwRCk2fH09MUViUk5Db3VSWSRyRHlKLUlaYWlJcV41TTNzaTF4KGthM156QipMUk8rVSlH
Yk9Xa0tWCnpSJiYlKEBZTU8rKVNlPWpBKnR2ZEQ3emkxS3w4I2d3Q3Q1KEU4S1hsOFItdHF2d29H
PWtxN3BmaClHTEs+bnxQWAp6Umh9fXZtRSEoc00qQzhNKHdBYDxeNTBIQXsjajgoSEJHYUY8PCE7
MlhRd2I9I1hLb3lXJlU3RTh6O0dqM3c2RX0Kei1GRnd+KiF4YmIlMkl2UlBAP2t8V3NaJiVAJldB
KT5pcyNjZHJgPjwkJTNhPSZHXmZpUU4kZS1HPHYmdFEmayRGCnozfTFrdURpNEt3QXZ8aTAlZz8w
UjtGSlRDbXhHOSM2N05OXkR2cTx2QFV7JDh3V3hZc21Zen1lLTJoNnZAVCk3Pgp6aH53cUtjfCRL
dUluYHJYbih8OWBOMlk1KFIhOFZKI0R+PjExVVo1Vnt3Zz08QGpuN0h7em5EPktOdG5iZT1LWVMK
enBTcXY8b08tVnktMD4pISNacVM0Rio8Zlo8JnRMQUgzaGdGZ25WcjRheFpfdiQ7cld3LW5ZOTtJ
cndAKkNyemh+Cno/NnM2JDM7PFpYNG1OOFJTbE51cys4MjExR05xYnFePT9lRjgkQW83TGpJSmU7
bmtafUR5SD9NP3tmdjEjdjBJYAp6WWN9dTxzPmdRa3Z5YnNwdlRuVUM9NzIpYU1WWGR9WipFdTk9
ZnZLM3VYQ0wzLVJ3V1VzPkU+QlYpVEclNmZfSSMKemV8P29ISTtLIUtrWC1JXj4qWEkqVVhjR2l4
YmRIUGNEfWhaOTdTZTBWaiRWI0E+Z1o/RWZaWDFKUHM3TDM3TTBVCno+MkFYI0AramV7UiEoaEJn
JmhzVlZ0en5VVTRKYHdvRGp5YHcoeHx8eSQ+X2Bpe2Q2aSlTNFVBQUomaUBRKk1yeAp6bXBAb2JH
PTwoR2dyOVgrPE4hcSEkNXwycTJjYFZtNFM/ZF5kWkVMMTl6JnkzRG0kUTRsNjRGblNvUyt+eGFk
OWcKekliN1RteGwmJFBKYz92M3V0eVRCWEp3VXJXbXpmQCVUflhweVZ0eClRbWtSJDJxS1cqM2lm
ZStyXjVjUHVxRVVWCnojRUhyfFBSbXpgX3NZWSZvOCFCJDNwT090RXQ5JCkybD1vaF9ZUzVmYVNt
Y19WMTdfJTlwJlU/S2ZEa0U8el5zYwp6TWolYjZUfH1KPWxwREd3dFlFN2FUdXwmN19NeStwaj42
ZSFKVkNMYG9OdnBaUyM/OUNeQjt1dDlDVWU8NH5YaWwKelFocWxxfDlhfTktKXV6ZS1NZylIWHpY
fiE3RyFwWChTJmEzKH1UYEMjSnRHYXVKNnwxUypVU3NHfTx6SUBrOVVPCnp7V3tEb3p1cCN2cj13
I31aY3BPPnVtZEk1RkZfI2ArfT5xbT9XcU9hTG1SNEFZd3VaPmtpM0p9cklJbUxjWUBtKwp6UWJe
OExeMUApSGA3dFhDdkp0djNnb1dgK04oIWl4VmtEOHtXQ0RvTVQ8LWVFQClvPiFIMkhCOUl6LSQ2
K1JBZCkKenBEcjdGcHk7bDxJQ1Y7ZG91cHdnKzA4O1QqQj90WCk/UVVMWExnbTxYUm5oTFhYZCE7
JkBXe1k4a319Xj8lOXNgCnpTOGBBe0RDYkVUdkpeVmt2bkxCN3M7S3RNYGgyK1M1YWhNUUo8azJZ
IyV5bk48SDshT2pRODVMRTtoVXBCYkBJeAp6U1ZjZ2tuTigxUEdiZ2gwTlkodz1jRjNrOWZ+bDtz
YHxsYW16dmJCPDJOfHtQT0ZTI19YVjBGcUJPWk03QVhrUiQKei1XWHBPVVZJcm1gVE0paCZPRSly
Y0EzTnhJYmtfJHZOVmNaNWV7SUdob2BVSko9TiU7X2xLXjdISG40QkJ9dnBJCnpVKVB5TT0kaUZi
WlVDfU52dmBCQFBfYEowXm51cz0/ZHBVT3dzX25EQnNSan5kMXxSNjQzezdMI15jcWorczVZKAp6
TzZvN21JMl82UjZDfjdxSihtRE16eSRtfjBZdWE4UjNvWWB0dD1wSXltITFJVzwpaHRkdGdkP0cy
UXgjPW9FTEUKejFHX1RAdEo4VWI7JHpYdEgpWjNvUW84IUphJSU/eWJONVUtYX1VMyNBbk1CJip6
dD5SfDN9P0BWP2lYVDtIbSQ4Cno1Sl9VPW1qSUNAbVRYNE1UTz4oYmJGUklgPGxjS24jbTcrVnNn
MHxFPSlGWW5JNUVNLVR6VEJsZV9wJGo8PVdnegp6QDZDczRQUlJed2JNcDVlRm5aWnx1U2wwdE5w
amNZJTw+akFjVGY1eUIlVE0mRjM2cTFGNzd2QnhNXk4wX0g3eEoKej4zaXB2YHt+SWg+eH1sJUUy
Pl5NUGFDYH0qU3xIZ0A4MTl7fEVsKUp7KH1JYV43dzBCP3s8JE5tXiZHPElWX0ppCnp3O20mRj1Q
fURBZWktaUtZTCFvfVA9ckUraX1KMnY1YGliOCFlaTQ3V2pVUzslNVNMK1V8JGEkPXF6WVhJKVFa
JQp6SnZvaE5lY2p9K2lmeWVUZ2hjdntSazB2cGYlfE9kdlVHbS1PNWBmRDF2JFd1UEB9NzRNdG9n
PiNvT1ppPEIoPXkKeiY0XzlPcmh0I28hYmpBSzImVkZsJkAwUXx2UyRBMkdHRn5rUn1gOTxTNkch
eihNalRLM340cWA7dl8pbUlxTWxFCnpQbCF0c3Zsd2VpY0VkWnR7Pzg4fGFPLS0oK1ZlQmh5eVJs
TE5VX2pHMkRuTVpFd093Rm16aCs9Ul9WcnxaWDxgagp6bmMwOG1TVllAeVF9eXZSN21QPzE4N2xs
M3VXQ3tWRWpPZSlGSUVVSyM9dGleY1FzSDJmZEE1UHl9aXNxb0FjVnoKenklSjZUVU1jO0kodSM1
RmdxSmUhd09mPEBVT0N6RkNXK2FwSW11WkxAe21mPHUlaUNoPmo0ODhVekxWPmdhaG1DCnpOYWFa
fHtuTForVW9kVG5LT2woYz9NNTF6allWQnV5amNXMiRJY297KGMzO04jJGFHQVFDO1YkenVrVzFt
YW5Vfgp6ZSVESFhCRl9tSEk7KSZoQlk8SC0keWR6MGNLSWZ4bTVhODAjcmBAPkRQPn5OWmtzVEJt
b1ptbz0mRkMkQX4xSEQKekdpKkFSIW8/Vy0+QX1SVmM0eys2VHorKy16fVMzKjE3fGc+aklwfT5w
M15ASnpGeEotWlZoJEEyPU1vMCQ+K3NxCnp7cGU3MHh3dGokdTF8WCVEYCp+ZXV0VkFKSldaallu
dXNsaGAtRkNlVFUqRGs9RVVJfSE+bUtpP1ZpcCV8RX48fgp6LT5iX3V5PGlBQ2lHeG5Kcml4VitA
fkgtVUhkKmp3OzdHUkxNZD1STVQkYUdzSkZTJXQpdnR0ZDQpemJBbnJzdWkKemJeYWlLKj5qJj5V
WFpsZ0FLQUVmJiNRK3MlUCNXR0pvJldrWGZ+VkBDQ2UlVHdIN0k1NkNKSXkjRkc/PWJDQkwlCnpZ
LURTTjg/PG5SLWo9XjQofmA1fHZiSilvYllVaWw9O35lKjl2Rlk7JkE8ODVmeHx1IXFVY2lkQmQx
dzYkUnteaAp6cDUxNj03MUxfJHsxfXcyQDRUMVhlfippUV56MDlTbEhlSlFDY3BjTzxRamd7azJp
SSklfU9gaEcxR21qclNeNjMKekp9SCUzQTNVOHVjOFA2bStENCZBQG5YJV4mTl9AVEwyNUkqWSgt
ditNMmw0TDV1elZ1UGIqMSY7b0V8ekJgUExrCnptWW1LQCNjWmkkJk9uZCtLYDc1X3hqfWk+Z0Fq
an4qN3puZlB8PENSNHFPT2V2WDB+d2x3Nk07IyYkSEZ5XyZKUAp6MFVUT0Z1MklEQ21nVHpqQDxo
eUN3KWtGXnFtaGpuc30kX2htdj9PQ0N1USR8cDJfTCopbyh0Pl9gT09qcG00OVUKejJZbj9JRTAt
OCtgMFo5dismbUhIa0k7RFheeWQhVTZNPCRiVVNXYmopVlpaVT9VRXtDWkReQVdSPl9BXmdOaUJ2
Cno/KT4+LV5yY3NnO2FWbW9OVjEtKlJRT1Bqe31vLVReaz15cGlqcTlfYT9adChEJDkrUSE0XkJZ
anIwK3xwaXFnMgp6dT9VcEZlKHJ2S2ZRYVNrZl5BWXc2PVRyQz0kNH0lS05HOUxeaFlxe2xFKSVS
Tyh5Vmw1RGxvZmVeKz12PC1aNksKemxAYjRqc0F2eDt3IWlGdDxZe2pnd2hNMGUpQkc+JjFWbyl3
PH1jOyNPPj50cmxXPyokKlVENWsjVG9YNGopfk4tCnpxRHFaUlNGdCVhUW0tMGJ6amtuIUM9N2Zx
anZ8NVVKJkp4O0hKITc9Yi1jVmZ1bFUkS15DfT1vS1ZmbVkjfWhXNAp6IVM/cTsoK1kxeCkyPVR5
M1BAejYoRTRsPXJhPjI7bmR0WTUjYyE9Z2N0cVQ7ZE1CVn09I3NnfWFIcD1PUX0tPFQKemhiWjdi
IWJ5SW5gdkxMIWo1RENReDtgXkhhJTM9c3R5dytzb3lgNj9xMnpmVjxvJCNKNDUxaks3JGQ1WHJs
bTVaCnpGMXQpUlpMRnRyWH53Un1feSp1X19AUl9fU3t1ODd2dmV1OUdeZEleckp6JFFNIU15IzYk
N0hKUmhBYDtTQUJ8Owp6b18yQEE1blghPV4tZTN3U2leP1pXYT5MeS05alNkY3g1bEMtUUtxd0Yy
UDV8dXNYSWpJRGJ5bGpvfDgxT0oxZisKejNtRFQ7LUgxSz1KWEJGKXRRUys3dmJ0NUxveVJRWTtA
OUtpJFBAV1BuR2Y4Z09OVHsmazhBUVQwWkshWXswM3MhCnpOKH5kY3YtVSpzUmswcnMtO2UwSDBG
fnF7UUJtKlZEb2diVjNqMGZTWWBYNilUR1V6XyFeMSE4UyVIQl5wS2dXZgp6aXJmKHN7cHl8eTlO
U2cjPnJtMXJsTnBNTDJGJUV9alQyZzxoRUw1PmF0US1iYChMOFk2dT9OWkxyQ0RuV2xMTX0Kej57
MlB7clp+Wn4tcyt1b0h2R2B7MEM/NipFUHtqaDVoQj5QQHQqYjZEYn5CcD1oe0ozLUQjVEI2VE0w
WSVFLVEwCnpUSyliOGtjUF9NMDd5Mzg0KDtDbFgpc1lrRmdEM3BhYl9aNlFlYmpGenhoTFJudUBs
SEc2LVp0aTJ7IypzfEB8Qwp6PEB7cFhwKE9XR2khOyN8Z2lCdiU1QUchcCpmK0duWl92NVdsK0Yy
ZndSezVsaDl7MkJUMHppQlhnfFdjd3t5I2QKenglKD5yR3NrJUhmU31zKmAtWXwjWXEzY3tkeSls
Kj5mdXl+enhucHRyZkA8fFUqUnpAdkBRMGt2RWpoVTY4fCNjCnpKbXsyWVB4ckhUWX50OX1nbj18
KGY+S0tVcntjfFI7KEE2KW1ASXFFU0opelcwKFhURl56IWxsZkRIWDMxbkZOdgp6aj49IVEyJUw3
VypGbGw9JG1PdDgjYTJWd0QmekVNWHJIblc2bFhTfTZNb1Ukb0UzRmdER293RDRHaHFTcmRiVyUK
ekUzQTZ3N3BCY2JoVWxEd0BjelNAV1VuQ2RHSEhJPTFgR0ApZm10UjtIckJIWjQhWV8rVXJYP3pu
Xzh5ZSttRF4jCnpEeUhpZ1NiU1M5IVFeP0FjIV9eKWVub2w/P0BkJSR2Snl5VE8+aEhEQDBGKjd6
LUJ4ZWhReH4hWDYxSktfe1E/Ygp6QjAhYkRvXnV1Y2tKUzFmYGg1MnFqTCpLanlNaj1jdzkmQigj
JUMqO0s2KGVuWFM8RlokbmA2el9qNEswMjRePjgKejYhVWdqZXMxdm97eGh6dll9azZ1ZX5NJTtN
WCNIYmZpZTY/ZyNXNFV6SGBGI15wUj9BX0JLO1hHKCV2Vm5sYUArCno0KHJfXnlqdCNqY315dVpQ
LXJDPmtZQkNTJUtEOVhCWGhBOzxKelQzVntlc2JOcmtDPHVMb0IwckdGJjNxKTc0YAp6VEQ8LWkp
QVk+RiQ5PX53UHtBMjVwTUNpITV2QVhjOXZ3ZzwxTm0tJUNyO0FCajw0TC1aRUhfODRgJVQ/a3lP
cm4KeiQqc3U8KT5SWk5nKjBMciNYZFN1dEg3MCtNdERYTVVlMTA9UDR9aFVfN188YTlnOH1STUQ1
ZlFiPCVIMmF3XlNrCno4REY9bkNYcWN6UkFeKyFfbW02dSpWcXNCRjZkSDRZJUpjSXVAaytRQ3Z+
fkRxYDxJYjtPcSVhM1hPaU8wJH4pbAp6MVcjQj1HZDRhKTRkMnpGalBTfnNVO0w3cXBzbXlnVEdN
cy1wKiN6QyVhQEZwPnAxSUs7VU4qRFEtMXZfaT8qKGcKenRedCt8PWVKe0pkWCk3JCo0alQ+aSt9
R3FRcD9sUU1RPDtpbiNyb3M/M0lafmotJEM7RXwmaHprKSR8aCQ7fVdmCnpsIzR+VjNIemZWand6
alk0eGZ5QURqMkRmaHFXQVhnWm9gZWMlMGlKRjg5aj1QbmxPJC15MklqPHlVJURiMFRPKgp6JD0j
eHZrKG94bjhZPl9LeWR3KCgqZTxWIW1sbGFqWVBvIWo4TU8yQ3d4KDRKdGBWQjJIVX5ha3FufkA4
UWdTZGEKektpZHp+UClhOSN0b24rNlJ+NmZAJiErbFZ4Izc3T2ZzdWpqWHBxYDF0WmY/PFZmcyVG
JmhQdzE4ZUh9SWRQfUNZCnoqd3lOcHZ3YGRuI1p5TEdTIzw2O2diY19oakgmajI2Y1N4YD5BVzgq
YH5GbjhkO0diVVJaRSpUNiVyPGFQYWxoRwp6PDdXcUNHQT9JJTM0V2J9QEBQQCQoViVVZ15YU3op
cW1SI1VaTGFwfihzYFNnKkw/d3lDTEJFP05wWjB1KmJQdiUKek84OW8rPFNEfCptYkpkKFJsdFkj
e1E1TnoxfVgxVUpydypzRCphIXIhPWhgSUhlJjwrOz47JVJkMXlgK09Na3lCCnpzcih2XzR9endx
TXBULVlMQS1pfkg4RTsmTDVgfGJZfnY7Qk83KHRoeGFxYDhCOVcpeUZWKjx3c35IflIqRSlhYwp6
Kjl6fElgRUMoc19yNSQqezVKJmNSKC1wMD5VM24rSjY1fXM0QmFpZnNRZUs/NTVfI09gYFdveiR6
NUlydSFgYWIKemxEams7YSRwZyl0dkttbXc+QT04ZWJxbjg8TWduZDRTa1p7bHFMZnpASGRvJCVt
ME08e0dSQmNHTjxtPjQzJkUrCno7b3taYUUhTD98QlhIWDk9b3YwUSFhdkpebEx+UW1pUCZPWS1I
ajZHTkheUmtOTW8tbUo7cjJqRGgtWStjZGZAMAp6TGV5TVc7RXF+elI/T2ZZP21QfGNqe21eKGU4
dURqQFo8RVBUKFJAPmpGX3RhLWpNbGVRQzFjNHQ5TjQweE5GaD0KejRQYyZnRig9JiFaSCFjaz1k
VVdkbXQ4VWp7YDF5bD4hYnheTHRFbSsjUlo5JVZ1UiY7PC1yMT9QYiRkKXBpZDB3CnoqM09RJnpN
SFd3QnM0Vk5KYmVSNVJXWWUmRGV+RUwlaT0xfkJffTk3TllKTkNjQENQfEVYcT48OyRhIXdAMiVn
YAp6ZEA4YV5GeStxdyR1V2wwe2x5NGBVTX00ITBqRFU2YXl9VGhQTkc4ej89dk59Jk9aKnZvcG5Z
Z1FsYzhsaWJ4RlgKekh+djAjMCleQH0+bGpVRzJUMjZiYHhFRF49cGF0XkdzXkB4WDZ8d3dJOEdL
NFQhOGBhRFkqdXJFemhmMmphZTRvCno1Tk8kbjM8T0FoTTg2UkRLfioya0BPKTJwRWU9VHwxVlcw
T01Pd14lKXJaPlNxN21CUSQ5d0gjX1grJTtsNVp5Pwp6cWdHfk0jZTk+fGRgRG0pQyU5V19rJUc0
NFoqdVZ7fDdubVoyOXtNNXJXRTt7aCQmbHJYR2Z+MkNAUkl3OF5CV0YKeiVjRHpQPXBITHo/dnB+
Pnsqb3xYSWRzaUArVjBRM0pRWHJPJjN7K0htYHB2Wjx2dGYocUJDbiVjNVQxcCRBYmF7CnpffUdZ
VnJUZXVKV3VtNGxzN0o2c1ReKzhPezctcjg2RUVKXzZBaDNqXmZHUVJsQUI7RHdtIVIqVGlNTHE3
JWYpNQp6LWt8c3tDT21OY3w4I2ZWUUI3cypILWFPZUQyZjZpQzUoVXxxNHpkcWxtUUZ+UUEkRk9q
aU57dzIqdUQqMFlPN2sKemRXIzRjcUJRQTk3bztlNDQ4MXBqJjt4fDxGN3NQJnQkRHZebj5Xc3pu
VX13Xj9vQ2NeJk9QVip6TyZFWGB3bjwpCno4cl8wVWZ1eyZWcDxjMj5DMV8+aTlndG5FRzJWQCs/
VX47bHJ4ekNQKzBxSWwhY0dFbCVMakBCIXE8UHpEJmI+OAp6a1NSQHRqJEMjMXgteXM3aHg1LW00
OUJFRVhRUUspI3shUj0mQiojRFkkKSk2YWdnUUkpfT5LK25JRS08UWFwISkKenJGemo4akQ4PEUx
ZjtfJGI7dnhoVm5BY1RFTShVWCE/VVNLdmwjbEs/WWAtbjk2NTsjQGFFK0I0Pz1LYlk5YDRmCnpS
SGZNOFU2aH0/Z2V+KEw/KEcpWTBTJD9gVDlKb1ckUndwTHJYUnc9O30tIU1TR2B0ckYzUGV6Wmxk
PkdTOHllQQp6P3BRQm9OJFYqOWQ5Tz1SPUQpVXp7SC03b1ZHcD9uTlpDZGlmenFXM0ZXRDRxN0RP
dHBgR2lORytEK0whOyE1aUQKekxYPDVxQVhmQX5JT1BeUXs8YmdyVktsPypmdzkxIVVMVSthZXxC
OyY8SmNsPC0pRSl0czFSfnZ5X28xTDtwX3R0CnpnSiVXdkRMcCROOGs/QW9JREdobWNYRXR4Tkg3
e31ZN3dWOVFGWH47VWNpY2RMXnhnIz9nRXAhSUpjbmFuVmx2Sgp6NDNARkg/YVooM2ZqeyhmdEF2
MldVI2QjZTZMeDlOPEpYWkokWXFXcnN3KD4kY2ROP2Q8TGRPNUApeUpUUV9GOUwKekRBdGI0WnlF
KSQ1SEdrYio8QGp+dD1tRXRrTlBaQ05EY1IpNHE2PjRLZTZhbzVmaWN7YiQ+b0cxKT9lUEImUl56
Cno0NGklcDhSSTFnS3JQdWQ2OVgjfkpEfkdSTHl2UXRFelZZIU11a3tTKzx3TH1BPmI0fUIrZkQ7
dnB0VFRBYldNdAp6WUtkMnVSXk9PaXZndU9GMEc5dk5xeDFDNVdhd1EtRlBWNmE9bjhJQUxMTmQj
NShTNyRCRTRkUHpBMEI3YGBCRmcKenxIcG5DXj1MP2k3aFJ7IUhOME1RY1k/WmJpIzIldnhNXmx7
eH4kVSs2MT9mbWxgSURpVVZvV3AodU9QWjZEMVoxCnpwIWU5RVVvKkZBQyVHfExkUjxIeUY3Zykw
WHVDX2ByXmlQUEF+d345bUxqR2l0YWliMClMTE90QjZuVmRPSE5GWgp6b1E7TH5fPz96YDNCN1Ni
bE8hI0tqYi1FKEFkQGFyT0dMSXhvaFQwRClzWFhhSFFgQEVwemlIfUchb2crP2xCfn0KejFERDdz
NXd9NDRfZjZmLWFveF4wPTNBWlk1VHlsa3AxVWxOU3sySWd0JUFQUV9ySlcrdkxPRW5nK0ZxVj5u
a1h7CnpyRCNhcUVMfSpuKTstS1A2NzNGdXh2UnlFKFc2WG4tWD8+VTdmeGp+eWd4NjdWJkZEejZ0
T3J2bSR9Jjw7ZkNsdwp6OGV1REZ3OU4jTjBhaGliaW9tTW1pfT8ldTg7fk1FTkJsangjR1ZadT8z
b0BGVGlxV0U7cDNZLTU9dHx+cVJXX1cKenJAIz8oN0pEfC1sVGM0TUUqZ3swYmxgb2QkVjYoXl41
TnEqM21XTXJfQiEqNV9JYlR9R1c2cj93I0hSVDxFVEJgCnope1M/czlkZyQlRlgtbkRuREdMY1hU
SGFeJj1LMGgxbyQoIWImQVYpc2tjbTEqSyUpPlgwIX1Ed3A8SzBKMjdMJQp6dSYzKEFNVi1MQnM3
d2w5ZEcpUHM9ZUtBX1h6akM8Pm9oZXBwfVkoay1NQWFEZXdqNHduO3JBY0JjdzxQZVN5SGIKekdk
bDRkcD1vXmE3T2MtWTtPZXBPR1NaQnRSQGdxeig4aVorZkJ8WD5uYChGNW5GPzNkKnpBKlBLRiFR
aTQ+RGlMCnpVKnU2VG9EPXc3QH5vZG01Nmt3T1NFZmtEOW5rM0Brek9MZiloMGoyPGQkeH5ZeHlw
TXJpXzl5P1h3fTwpO3xpMwp6V2htblYwSk82QHooOHUzPnQxQFktU3xWVkNQRVZpNmhTQyE0RT5q
WUc0SFFyOCRJailFUT95UiFpWVJMR1VXbzkKelFrS1lRJTJtQm1aO34xeXo2QlJMcylVeHZSSCEp
OyF7ZFhmKDdJMWZPO25CU1l8dzE9Sm1WSjhKTjZPLU9EZW4jCnpGNXtefktkZVhGZmlxbEdOQWMx
WGAhOUJ6aHVPVWlVciYjRkMpRlUrWj97IXpUOzV1YyRzKSZncDFufUNZdE40Ywp6MkhlNVBkJDRk
JHRka0JmWWU8REIlUWFVbWpQdjdocitWI08ya0AxJFpKUHBzY2ExMTJWQXMxd2YydXRjQFVBaEkK
ejItTzk9WW5Xa3RDQShxaVgjVGV0S0hzdHAkbFBFTU0lPG9fPnwjfnNWeXBoSEVIMFRRWFM5b3Qk
bmVUI0FASTh6Cno1UXRAdyNkVk8kM2wwI0VsN2RCQ1BNZmdpMCVqSGNpJUVVdylKKn57SDsmVSlo
YkVNSV9EbShSRkZMPUBMemZXTgp6V2tsSDVqSGt1NlR6NWR1dTY8UDByVipKUmQ8MTw4cl8zbzlV
Y0dGUEptKEk+RXdyMD9kdGhPPHp6JXc8JTFtbG4KemtoUkBxZmFSaFZlT2d+cEBvLWE5NFp3MXQ9
WTYwQ0xsR0NUSClnTD1YZmt5IUw8RHBKZ1Q0ZVB5N2hRSSo5fjlDCnpPcml+MjkxUU5NOHNMZ1U9
b15XJE17YCZZeTdvTD9RbENwcGVRTD9ldEt8Nkw5M2p2JCo1K3xLdSYwWlFNZ1YpZAp6Y35UTzxv
LVAoUDdHWnY4UUxFMEk2cDJvPyZ4Mkp8KlR7REZuaDVzNytqd2R1Nlh4Q3AkPz0+STRQTiUzTi1W
LWQKejIzK0Q0Xi09VEkwfT56bHgyTF88JXdjWDtUa2xwQk5oK01RUlMpViVRKkw1cClOdjtHJU4q
dGpWcTE9S3I+JkVlCnooLVMoY1VJRlQoWDg1ZDY+Ujswd2tAam9ZKklSZkRkVEo5dGFWTmBvWDY8
MDFDayprXm45dDhNXzxUUXVBY0cpdgp6e2Y4KXdeKEg+QzcpSno3bW1EYlN7JU1UNDcmIWZhVUJA
NnU9bEJzKzVCSCUoJipyN2M9bj1ELWNRQW5nRStgMmMKenhNOTNtPXpZJnlDeTkycitFbGxRQVFi
bzx5I1pfRiQwXlBsNWowfnZ3SkheMT5aZWNXMTNQZjl5JXwyMi1vUmc+CnpQYV49eD9DN3ojYExi
X3FiP2paTmB4KEIyTjcrQiUlI0JZUHB0KjwhKlEoTUtzbypuakFRYVU/aVAxUjgtZD5aTwp6NEwq
I3x0K19AJTV+entTWFYwayRNdTNTI0RBVTg2MCEqYVpyZG9pQkd8YjNAZVY5V05EKUB0Z3EqRFhk
VyhtJEYKelV1VTZVKSM8UVFhSEExdEpJYSsjQT5eWXgzIWNIfXlpPiR7IXwlJSVJM0JYbkJzMTwh
Nll3UEJZXlNTa1ZNOD1zCnpTaEpjV3VtIyVnbj9SeHE0YDFpfCtfZDwhJnE0WXpgX1htTTwhVGZX
RlVOZzJLfkZiK2dSNGNvZXVvXzN1YEsjZAp6bWBmbmtxbGQhPSFrXk9sNC1DZ3NFM19XI0hlMWBY
V2k3QyEkRiRzVFpNJWhXOU8oJnFANWIlJExASUVaZjQpMXMKelJQXzFOZigpNlNleWxkM2ZUTTBl
KHQ0WEN3RnFANVFTP3NUMEdIcU5JSEt+VUxHYkR4anNTbGkxOzdoa2tSeGN7CnpKOFV2R2dSOUZN
WlNnbzdFTUJjd0tXcVdXUG0mMVVHST9mUD97K3s2b016UjxGJGIqLXBaVXZXR35Qey1WPDFTYwp6
Qk1WMFB1ZEFEQWlvbVNqMF9iSSoqUVlANkp6ciFjalo+QHVqbj9WbS10eDskazF4OEtxK01OKXNI
ODlJIX0mbV4KeksrZXg0eEY5aUhwPWtqJVo3Zz9QMUNIOG1AVmswKUxMWkRlbSRmbFBqNmFfd21e
JWpXNChNTHpVb1NfZ1dzWjFyCnpEcXFUIyN2RlIjeTY9PGA7V18mbWVwTk1ZQ3Q2MD9ISTgkdyY3
Nkw4dHVCXkpPUVJSYzV+KyluIyg0e09vWSRWPgp6RzUkd0dwbmI1WmVMQEFeNDMySWB5NCQyUWl2
IUokeCgzZyZrTyhGPndoOTMoTm5NNDNqUHhUZGA7KzEme0pxLSEKekNOaU91KiY7WEs3UHU4WmtF
ZW9sZzxiRH5edzxLPHtAa1BrTmApYGhufTc2WXhiS25MPkpKUHY5VDhwK2R5YD5DCnpoYDByXkJy
MnhJb25hVTNDKUl2YDM3RThmZ3FGPihxNGxuYWBJJW4rRnImcCZUaDh5VXc+b2ZmVzQ+Jm1BM1B5
Mgp6TT8rR1lIOGpUWFRTJS09S2tjWitiK2MoRVh1a35jaW0peE10TTB5RnlZJk41R19fQXxOUG50
b2BqVT1+YTMzUnoKekUmKDQhLT9QMjdmdmBDIWJOKWlmO1d2RVl7KlgtS0F4V0FyQmJ9QmVocHEp
RTMqYCF4Zyt6WHREX199M2RId3koCnorKCE/QDdXajNHSFhAdD9IKz1pNWl1YkV8VH1ISzwlUG5G
YTRwWEV7SDhVb1VRKzIpOTc5TFpkUH0+TjUhN31pcAp6UXBPJmhvdXJvcUNEbkw/OV97T0QxSD4p
PjAwVXdRKWRBV0MoNWU2VzQhLSF4Z1I/USo5NmlGVFohUStrQGlYZkEKem1lVUpPVj52azlNenUx
cXpuKnZAaCRzQ1ZUamNROyptbG9namxDVn4xfE1zSyR+SFpKb1ZjJmhCPllLK2BaRWlMCnp4O2E2
WmUzTXc/bE1kKWxFQiVAYyRRTzVYSjFrOD9ZeXQ7NEA0WEY2KngxV1dGVkV2Z3p0QDFjNWpTKXYp
RXA4LQp6dlkyam1jOF8+cEVVYTB5Q3lfX3QwIX4kYURfUHRRN29fci1GeURHYDxjODZqMFVXSDtX
QzliI25nRWBaKCUhOWkKeiFsPXhuJUpRUn1AUGl8dyhfKXk9ZXVBUTtKeXhlMWBLfSVUYkZOMXFv
JnpDZ1JiYUkwQllea2slI1g1cVZ4bCoxCnokRkh4NGs1fTFwdl9PVXVHTEgqNGZTNFdWZXZ8XjNk
ZzFxfTY2ZiRlUm5aIWYrVCg1THEwSWUwKGRYYHRgP0t6IQp6b1BVdHc1aFRDU0RtPGQ3ej5QJFRY
T3wjPzdYKE96eFdVe35zNk5UMHkzZyZkREpveiVvfjZAQFp3Qlc1cnNTZHgKejVwRWAkTSM/RGJ5
Vl48RzBrTTtAX0FLUCExdypINTBvJi1RX3VHOTgpdU05WngqRS18SVBIWnNqS2BtKlJ0OEE/Cnot
MUt3VlBtNnxrKyo9OTw8Sl8jYVBkSEZqe1RkfmtScDhNeipnJCZxIXtPRi1kQCszbXg2TTw0U2Fi
VHI5fn47Ygp6UnJ8fn0oJWxeempgcUIyIXNvZlQ3IVV8T0sqYDRBfE4zT2JHUmYtUl9sdX1Jd2xW
PWl7NFZidUxjO3I3O311N3AKelNAdSR6NytSfi1SfCZxZW90Uj8pNSg2MmJ3ZkF0bW9WbnB9ez1M
QndkSGVwUngpKTFOQ0pydnxERnxgVy1AbU9ACno5VlRXWllWJCRqUF5YUXQ8ZFV9fjNLUU5xbV9x
U2ZYKGckNmN+KF50Ki1nZDVVb0dvRCFGRF5pdUh8blZZZFFgcgp6YDMwTUEqP2liN0EjJWU+MFVz
KzlLMjFpVnJMQ28mZF9nSjxhZVJpN15rc2Z7Pn1LIXpqPkRTak1UfTBoRT4qQUkKemFQSn1iJUsp
LXdXSlIyQT1NJFRkeFMmRDRAWG99OUJHNGg9U3RZOz1pVEFReF5xWS1zcE9PYD1ANmZiQElrQnR1
CnooLUBFaTc8cC1MQnFXYmpGejdOWWRRaFFAbypAR152OX5wdEFuI0klMiVfIzV5bWZIQE16OGFC
e3BKeGduRVQpYAp6T1JaNnFzM31JX3cySC1vVVRWJkNtNl5HNjt9JEZqVWo7TCMybVRaI2x1RzxW
Rn5uYy1OeCMrYXNNTTJUcWlgfXoKelRIP3Uhb1FocmM8dFQ1N0ptSSgzWnBJfEhPMSVnKDlOVHZf
bnRlNWslditWbjdnd0VsR1FhIXFpK2Rhdil1UF8rCnp3NH5ZbE9+LXdnMXFDPiZCaWJ3R0tWeShn
WjZMKmszXisjSkhhUUNFUFA0OTxoZ3pFM3JgXyV2bT9aMTFiZFhlKAp6NTd2dnhHLVd5c04lVkVg
VDNBPSg3aiRFRGJDRVkzIXRTWT9XfWxPNjBuJTdqUWF2eW98SFh1cT9ofX5OP3tYU1cKenhAI0B+
P0VkR351XkM1ZCN+RF8+bzBEJnQ9TV5+RWw8b0NGWWRBPUt0fmA0Z2VoZ2krI2RPKnMxJWt7KipT
RzFICnp5Y3k0M3d4O0g3ZzJ+Xz0mPUk9T1ZVJEVoT1UlJW1GMX5BMiZaU1hwV3hjO0k7JDV8Kk54
cX0+TUt5MFdAUGhTawp6PFRMelE4U3wmVE40OGhlUVpCVSVDbXlQQnEyYSYmJSF2aXxVNUZPOSgq
ZSVIUlNzQV5CXzJmQVZxcDIxWkk1WCgKel5xJFElQmI7KHw2d3cmd0VwMHgjWUpPZDYzQ2lndVA9
JnI8TWIyVGJCVEJgVFl1Y2pUY2lyRE9Sa0c/QlJwMWFBCnpxcWt4bntFRX43aCVOTHxkdUxnTig+
MFR8UDg1elp6TUAkeUpSNkAwRU9FcVp7Mi1YaFFpbiViXjA1LU5tJmI0bgp6ZD50bXpZZ1V3ck5k
KjxUKCslQmtxPWEtNUphaXI2RXEqYUBUTElTaSRUSmd4enA1MCRBNFFKLWNSaHdiN0taOzAKeiRO
dGpaJGFFaXBoNnF0QWZVVUhRd2k7azc/WXVBVUcrLS1qYmdpaEBYUD19LUJ6eHFOJTlTJnkkZk5W
biF4U143CnowNTdFPCtCTEppOXE9cXpXO3ltbGRtUSNaS2dyfDljfFQoaD83SldnY2tKflhPWUYj
cWRiRSpZWChfaDN4cTwmdAp6QjF7MFFqaURYMkktWWZtUlcmZkNRYzBtVi05d3xYRmxQcjtZNnJM
c1MwPlo+aEtufl9qaX1nYnR4SSNKK3xpK34Kem5pI3Q8enBzeHMye3EzcSU2OCU0PWJpIyhfR01f
I2d9KzBZe2kkb3JkR2pnfVZvISQtPH0hTWl7P2Z3UT95N2NhCnpCM3FTYCtvN3h+TCZuZyNgWDVn
ZjVnfmJFNEx6PyRHRHBTUl5NXlglRXRySEpnRVZEUGYjSV4heU9ReGI4Z1k3KQp6SDlZfC1eNlF+
ZDM1bkRBNCYlRD80c0c1UUMtIykkQWYqc0BSenV1e3NWUCttZ2ZVMjBvK3M9SzNxUDlhJVZnaWQK
ej81JnpXQCpTcHhAJSZ7QERBQVpPal9ycGdfSUQtZVFKc2BncSM4K31iYDQlTW0zUnkodV9IejBY
WCtTTittdl5RCnpeXkNfeHhgaEMjelFUdm57TGlXUlotQ010PHU7NTIpSkl8PWwlRzFAbSZ6dHNS
ey1qeDc+OFo7KE5MKmRIUC1oRwp6RDBzTzxrVEJIT0RfdmA4KiExWHdVZkQjaV9nTEJnbkdGdmQ3
LW9ESz1wLXo1WCNCYDdPKWJFX1JMZFFmOXViKV4KekVAMHM8YHZGKnd4O0okRUl7SlJBQktXYEEm
SXgwY1oxPEZ6WGg4cE9vN2lzZlA9UUJRRzI1MFc+VD1aT2hmI2RVCnohNHNANnVhMWJFPl4xSnQ7
XyQ9P20tZzd1cS1SNXozQCk5aTt0Z1hzRjBrQlAtWWBUNjw8UlBDM3RacXJ2fFk0Qgp6IX1pT1hV
RH50RUVkTE5gcipae2w0WjFlRENQcjZPdm4zYDtaSztMIUJkJllFdVdmVTtRVHVOKjRUb29sYDN9
eXkKej9hdlc8ISVPWTsyfkY9PWVtbWV1b1dGcGZ4RD1HOTx+Ym9ZRColamxIalNlRyZ3M0kxdVNu
N0ZINXxUNDl2byRoCno5YDw2dD1FJGpIeCptM2JydUVGVnlKNSRrPmdIZmIhcEljOHEoc1B1UW9X
dCVDaVBOb3lmUSZFV1c4K1dNaVB9Swp6ZXt9KiVnZVRra3A9SmdkLWB0bmRNQVZJQG1NNSUtdUBl
RENMbHNecXl2KlEtMF5xN0VrM2xQR3skI3F4eEJDNkIKekdmQlF2QGtPVFl7MFY5b3NVZjhEckRX
NmAmU000N3pWN2AtWXxDQSZUIzc9c1gtV28mWkhKZmRUZG5SbEV5anFoCnozWXU4WSY3Q0d9dUFo
ZDhqWVRUPDBmQShqbFp4Q081eC1XWWVWeCY4JX04YWFVWSQ3KT56YW5fMzlIOUBNV1FaNAp6cVBO
R2drV2szbmctUXR5ZVl4LU01X31ncUxKK0V2Tz9iSmo+ODxESHdeNz9BMSpeRjstbXE7fXVjSngj
SUJtNCgKemc4ZXR8QUpESXJwPTQyPnVWKFY0XntYYW80SilAXmVeTUxeKDItNlVTek1XKSpPSFJy
aksxUXxtazUoI0lmaCgzCnptZmw8MXcqeU1meDswQXdebylAUnZrNHklTW93MSRqfD5pKWlzeWk3
YGdkS0B7KHh6XldtIWo1QkN7JmpTfXxhbgp6b19OKT1II35BTDVoTzNhcDs4RSN1YlpPbk8/Uz1M
Qy1XbUVib1E8QTBPc3BBP2F3MFJgSykranc/eX1qSlJWYWgKelNHSjsqVmdTT0wyQDtlMmkkU3Uk
SDJjc2g2U0tVKShUNnh7JEFRa3w2JEJwZU40Qj9hb29CdiVqOExMNkNCaFB5CnpIZEUqXjVvNDQ2
ditSYFVzTHt+fW52Kz9EP0xTJjVBbFQoRXNhOzJ8JWJhK2R0c2A/P3NVOE1BZTxUayY9QDBnOwp6
ejRTc3g5OTwtQHBDUTFtSFo+fChEJjJGZDwyKjNQLWo0bE5OPlM/SDBPUnxfSFBVXz56eU4qWER9
VUdILWBYVlIKekZXZnp9QTYqanVeP35VQnBpNX4jdlQqcWluKXkybllUQUQqcTVtaUU9PGNvZj8+
X2hCUHdodDlvJWpDJG82O29TCgpsaXRlcmFsIDAKSGNtVj9kMDAwMDEKCmRpZmYgLS1naXQgYS9X
ZWJzaXRlcy93ZWJraXQub3JnL2RlbW9zL3dlYm1ldGFsL2hlbGxvLmpzIGIvV2Vic2l0ZXMvd2Vi
a2l0Lm9yZy9kZW1vcy93ZWJtZXRhbC9oZWxsby5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42MjI4NWQxMzVmZTkz
YTk1NTVlZWJlYzRkN2E3MWYyMjlmMDkwZWYzCi0tLSAvZGV2L251bGwKKysrIGIvV2Vic2l0ZXMv
d2Via2l0Lm9yZy9kZW1vcy93ZWJtZXRhbC9oZWxsby5qcwpAQCAtMCwwICsxLDY3IEBACitsZXQg
Z3B1OworbGV0IGNvbW1hbmRRdWV1ZTsKK2xldCByZW5kZXJQYXNzRGVzY3JpcHRvcjsKK2xldCBy
ZW5kZXJQaXBlbGluZVN0YXRlOworCit3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIGlu
aXQsIGZhbHNlKTsKKworZnVuY3Rpb24gaW5pdCgpIHsKKworICAgIGlmICghY2hlY2tGb3JXZWJN
ZXRhbCgpKSB7CisgICAgICAgIHJldHVybjsKKyAgICB9CisKKyAgICBsZXQgY2FudmFzID0gZG9j
dW1lbnQucXVlcnlTZWxlY3RvcigiY2FudmFzIik7CisgICAgbGV0IGNhbnZhc1NpemUgPSBjYW52
YXMuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7CisgICAgY2FudmFzLndpZHRoID0gY2FudmFzU2l6
ZS53aWR0aDsKKyAgICBjYW52YXMuaGVpZ2h0ID0gY2FudmFzU2l6ZS5oZWlnaHQ7CisKKyAgICBn
cHUgPSBjYW52YXMuZ2V0Q29udGV4dCgid2VibWV0YWwiKTsKKyAgICBjb21tYW5kUXVldWUgPSBn
cHUuY3JlYXRlQ29tbWFuZFF1ZXVlKCk7CisKKyAgICBsZXQgbGlicmFyeSA9IGdwdS5jcmVhdGVM
aWJyYXJ5KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJsaWJyYXJ5IikudGV4dCk7CisgICAgbGV0
IHZlcnRleEZ1bmN0aW9uID0gbGlicmFyeS5mdW5jdGlvbldpdGhOYW1lKCJ2ZXJ0ZXhfbWFpbiIp
OworICAgIGxldCBmcmFnbWVudEZ1bmN0aW9uID0gbGlicmFyeS5mdW5jdGlvbldpdGhOYW1lKCJm
cmFnbWVudF9tYWluIik7CisKKyAgICBpZiAoIWxpYnJhcnkgfHwgIWZyYWdtZW50RnVuY3Rpb24g
fHwgIXZlcnRleEZ1bmN0aW9uKSB7CisgICAgICAgIHJldHVybjsKKyAgICB9CisKKyAgICBsZXQg
cGlwZWxpbmVEZXNjcmlwdG9yID0gbmV3IFdlYk1ldGFsUmVuZGVyUGlwZWxpbmVEZXNjcmlwdG9y
KCk7CisgICAgcGlwZWxpbmVEZXNjcmlwdG9yLnZlcnRleEZ1bmN0aW9uID0gdmVydGV4RnVuY3Rp
b247CisgICAgcGlwZWxpbmVEZXNjcmlwdG9yLmZyYWdtZW50RnVuY3Rpb24gPSBmcmFnbWVudEZ1
bmN0aW9uOworICAgIC8vIE5PVEU6IE91ciBBUEkgcHJvcG9zYWwgaGFzIHRoZXNlIHZhbHVlcyBh
cyBlbnVtcywgbm90IGNvbnN0YW50IG51bWJlcnMuCisgICAgLy8gV2UgaGF2ZW4ndCBnb3QgYXJv
dW5kIHRvIGltcGxlbWVudGluZyB0aGUgZW51bXMgeWV0LgorICAgIHBpcGVsaW5lRGVzY3JpcHRv
ci5jb2xvckF0dGFjaG1lbnRzWzBdLnBpeGVsRm9ybWF0ID0gZ3B1LlBpeGVsRm9ybWF0QkdSQThV
bm9ybTsKKworICAgIHJlbmRlclBpcGVsaW5lU3RhdGUgPSBncHUuY3JlYXRlUmVuZGVyUGlwZWxp
bmVTdGF0ZShwaXBlbGluZURlc2NyaXB0b3IpOworCisgICAgcmVuZGVyUGFzc0Rlc2NyaXB0b3Ig
PSBuZXcgV2ViTWV0YWxSZW5kZXJQYXNzRGVzY3JpcHRvcigpOworICAgIC8vIE5PVEU6IE91ciBB
UEkgcHJvcG9zYWwgaGFzIHNvbWUgb2YgdGhlc2UgdmFsdWVzIGFzIGVudW1zLCBub3QgY29uc3Rh
bnQgbnVtYmVycy4KKyAgICAvLyBXZSBoYXZlbid0IGdvdCBhcm91bmQgdG8gaW1wbGVtZW50aW5n
IHRoZSBlbnVtcyB5ZXQuCisgICAgcmVuZGVyUGFzc0Rlc2NyaXB0b3IuY29sb3JBdHRhY2htZW50
c1swXS5sb2FkQWN0aW9uID0gZ3B1LkxvYWRBY3Rpb25DbGVhcjsKKyAgICByZW5kZXJQYXNzRGVz
Y3JpcHRvci5jb2xvckF0dGFjaG1lbnRzWzBdLnN0b3JlQWN0aW9uID0gZ3B1LlN0b3JlQWN0aW9u
U3RvcmU7CisgICAgcmVuZGVyUGFzc0Rlc2NyaXB0b3IuY29sb3JBdHRhY2htZW50c1swXS5jbGVh
ckNvbG9yID0gWzAuMzUsIDAuNjUsIDAuODUsIDEuMF07CisKKyAgICByZW5kZXIoKTsKK30KKwor
ZnVuY3Rpb24gcmVuZGVyKCkgeworCisgICAgbGV0IGNvbW1hbmRCdWZmZXIgPSBjb21tYW5kUXVl
dWUuY3JlYXRlQ29tbWFuZEJ1ZmZlcigpOworICAgIGxldCBkcmF3YWJsZSA9IGdwdS5uZXh0RHJh
d2FibGUoKTsKKyAgICByZW5kZXJQYXNzRGVzY3JpcHRvci5jb2xvckF0dGFjaG1lbnRzWzBdLnRl
eHR1cmUgPSBkcmF3YWJsZS50ZXh0dXJlOworCisgICAgbGV0IGNvbW1hbmRFbmNvZGVyID0gY29t
bWFuZEJ1ZmZlci5jcmVhdGVSZW5kZXJDb21tYW5kRW5jb2RlcldpdGhEZXNjcmlwdG9yKHJlbmRl
clBhc3NEZXNjcmlwdG9yKTsKKyAgICBjb21tYW5kRW5jb2Rlci5zZXRSZW5kZXJQaXBlbGluZVN0
YXRlKHJlbmRlclBpcGVsaW5lU3RhdGUpOworCisgICAgLy8gTk9URTogV2UgZGlkbid0IGF0dGFj
aCBhbnkgYnVmZmVycy4gV2UgY3JlYXRlIHRoZSBnZW9tZXRyeSBpbiB0aGUgdmVydGV4IHNoYWRl
ciB1c2luZworICAgIC8vIHRoZSB2ZXJ0ZXggSUQuCisKKyAgICAvLyBOT1RFOiBPdXIgQVBJIHBy
b3Bvc2FsIHVzZXMgdGhlIGVudW0gdmFsdWUgInRyaWFuZ2xlIiBoZXJlLiBXZSBoYXZlbid0IGdv
dCBhcm91bmQgdG8gaW1wbGVtZW50aW5nIHRoZSBlbnVtcyB5ZXQuCisgICAgY29tbWFuZEVuY29k
ZXIuZHJhd1ByaW1pdGl2ZXMoZ3B1LlByaW1pdGl2ZVR5cGVUcmlhbmdsZSwgMCwgMyk7CisKKyAg
ICBjb21tYW5kRW5jb2Rlci5lbmRFbmNvZGluZygpOworICAgIGNvbW1hbmRCdWZmZXIucHJlc2Vu
dERyYXdhYmxlKGRyYXdhYmxlKTsKKyAgICBjb21tYW5kQnVmZmVyLmNvbW1pdCgpOworfQpkaWZm
IC0tZ2l0IGEvV2Vic2l0ZXMvd2Via2l0Lm9yZy9kZW1vcy93ZWJtZXRhbC9pbmRleC5odG1sIGIv
V2Vic2l0ZXMvd2Via2l0Lm9yZy9kZW1vcy93ZWJtZXRhbC9pbmRleC5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LmE5MTkxNGRjZDNjZTc1NjczZTI2ZGVkZWFjYmM4NWQ4YzYxODE0YWEKLS0tIC9kZXYvbnVsbAor
KysgYi9XZWJzaXRlcy93ZWJraXQub3JnL2RlbW9zL3dlYm1ldGFsL2luZGV4Lmh0bWwKQEAgLTAs
MCArMSwyMTcgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9
InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD1kZXZpY2Utd2lkdGgiPgorPG1ldGEgaHR0cC1lcXVp
dj0iQ29udGVudC10eXBlIiBjb250ZW50PSJ0ZXh0L2h0bWw7IGNoYXJzZXQ9dXRmLTgiPgorPHRp
dGxlPldlYk1ldGFsIGRlbW9zPC90aXRsZT4KKzxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0i
aHR0cHM6Ly93ZWJraXQub3JnL3dwLWNvbnRlbnQvdGhlbWVzL3dlYmtpdC9zdHlsZS5jc3MiPgor
PGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSJodHRwczovL3d3dy5hcHBsZS5jb20vd3NzL2Zv
bnRzP2ZhbWlseT1NeXJpYWQrU2V0K1BybyZhbXA7dj0xIj4KKzxzdHlsZT4KKyogeworICAgIC0t
YmFjazogcmdiKDEzMCwgMTMwLCAxMjYpOworICAgIC0tZGFyazogcmdiKDY1LCA2NSwgNjMpOwor
ICAgIC0tc3ViLWhpZ2hsaWdodDogcmdiKDE0OCwgMTc2LCA4Myk7CisgICAgLS1oaWdobGlnaHQ6
IHJnYigxODksIDIzNSwgNyk7CisgICAgLS1ib2R5OiByZ2IoMjI0LCAyMjQsIDIyNCk7CisgICAg
LS1ib2R5LWRhcmtlcjogcmdiKDIwNCwgMjA0LCAyMDQpOworfQorCitib2R5IHsKKyAgICBiYWNr
Z3JvdW5kLWNvbG9yOiB2YXIoLS1ib2R5KTsKKyAgICBjb2xvcjogdmFyKC0tZGFyayk7CisgICAg
bWFyZ2luOiAwOworICAgIHBhZGRpbmc6IDA7CisgICAgbGluZS1oZWlnaHQ6IDEuNDsKK30KKwor
aGVhZGVyIHsKKyAgICBwb3NpdGlvbjogcmVsYXRpdmU7CisgICAgaGVpZ2h0OiAyMHZ3OworICAg
IGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2spOworICAgIG92ZXJmbG93OiBoaWRkZW47Cisg
ICAgYm9yZGVyLWJvdHRvbTogbm9uZTsKK30KKworaGVhZGVyICogeworICAgIHBvc2l0aW9uOiBh
YnNvbHV0ZTsKKyAgICB0b3A6IDA7CisgICAgbGVmdDogMzB2dzsKK30KKworaGVhZGVyIGltZyB7
CisgICAgd2lkdGg6IDQwdnc7CisgICAgaGVpZ2h0OiA0MHZ3OworICAgIGFuaW1hdGlvbjogc3Bp
biA2MHMgaW5maW5pdGUgbGluZWFyOworfQorCitAa2V5ZnJhbWVzIHNwaW4geworICBmcm9tIHsK
KyAgICAgIHRyYW5zZm9ybTogcm90YXRlKDBkZWcpOworICB9CisgIHRvIHsKKyAgICAgIHRyYW5z
Zm9ybTogcm90YXRlKDM2MGRlZyk7CisgIH0KK30KKworaDEgeworICAgIHRvcDogMTB2dzsKKyAg
ICB3aWR0aDogNDB2dzsKKyAgICBtYXJnaW46IDAgYXV0bzsKKyAgICBmb250LXNpemU6IDV2dzsK
KyAgICB0ZXh0LWFsaWduOiBjZW50ZXI7CisgICAgZm9udC13ZWlnaHQ6IGJvbGQ7CisgICAgY29s
b3I6IHZhcigtLWRhcmspOworICAgIGxpbmUtaGVpZ2h0OiAxLjA7CisgICAgdGV4dC1zaGFkb3c6
IDBweCAycHggMHB4IHZhcigtLWJhY2spOworfQorCitzZWN0aW9uLmRlbW9zIHsKKyAgICBkaXNw
bGF5OiBncmlkOworICAgIG1hcmdpbjogNXZ3IDIwdnc7CisgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1
bW5zOiAxNnZ3IDE2dncgMTZ2dzsKKyAgICBncmlkLWdhcDogNnZ3OworfQorCitzZWN0aW9uIHAg
eworICAgIHBhZGRpbmc6IDEycHggMjBweDsKKyAgICBjb2xvcjogdmFyKC0tZGFyayk7Cit9CisK
K3NlY3Rpb24gcCBhIHsKKyAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7CisgICAgY29sb3I6IHZh
cigtLXN1Yi1oaWdobGlnaHQpOworICAgIGZvbnQtd2VpZ2h0OiBib2xkOworfQorCisuaW50cm8g
eworICAgIGdyaWQtY29sdW1uOiAxIC8gNDsKKyAgICBncmlkLXJvdzogMTsKK30KKworLmhvd3Rv
IHsKKyAgICBncmlkLWNvbHVtbjogMSAvIDQ7CisgICAgZ3JpZC1yb3c6IDI7Cit9CisKKy53YXJu
aW5nIHsKKyAgICBncmlkLWNvbHVtbjogMSAvIDQ7CisgICAgZ3JpZC1yb3c6IDM7CisgICAgYm9y
ZGVyOiAycHggc29saWQgdmFyKC0tc3ViLWhpZ2hsaWdodCk7CisgICAgYmFja2dyb3VuZC1jb2xv
cjogdmFyKC0taGlnaGxpZ2h0KTsKKyAgICBjb2xvcjogYmxhY2s7Cit9CisKKy5leGFtcGxlIHsK
KyAgICBib3JkZXI6IDJweCBzb2xpZCB2YXIoLS1zdWItaGlnaGxpZ2h0KTsKKyAgICB0ZXh0LWFs
aWduOiBjZW50ZXI7CisgICAgcGFkZGluZzogMTBweCAxMHB4OworICAgIGJhY2tncm91bmQtY29s
b3I6IHZhcigtLWJvZHktZGFya2VyKTsKK30KKworLmV4YW1wbGUgaW1nIHsKKyAgICBiYWNrZ3Jv
dW5kLWNvbG9yOiBibGFjazsKKyAgICBib3JkZXI6IDFweCBzb2xpZCBibGFjazsKKyAgICBib3gt
c2l6aW5nOiBib3JkZXItYm94OworICAgIHdpZHRoOiAxMnZ3OworICAgIGhlaWdodDogMTJ2dzsK
K30KKworLmV4YW1wbGUgYSB7CisgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOworICAgIGNvbG9y
OiB2YXIoLS1kYXJrKTsKK30KKworQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2
MDBweCkgeworICAgIGhlYWRlciB7CisgICAgICAgIGhlaWdodDogNDB2dzsKKyAgICB9CisKKyAg
ICBoZWFkZXIgKiB7CisgICAgICAgIGxlZnQ6IDEwdnc7CisgICAgfQorCisgICAgaGVhZGVyIGlt
ZyB7CisgICAgICAgIHdpZHRoOiA4MHZ3OworICAgICAgICBoZWlnaHQ6IDgwdnc7CisgICAgfQor
CisgICAgaDEgeworICAgICAgICB0b3A6IDIwdnc7CisgICAgICAgIHdpZHRoOiA4MHZ3OworICAg
ICAgICBmb250LXNpemU6IDEwdnc7CisgICAgfQorCisgICAgc2VjdGlvbi5kZW1vcyB7CisgICAg
ICAgIG1hcmdpbjogNXZ3IDV2dzsKKyAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiA5MHZ3
OworICAgICAgICBncmlkLWdhcDogNnZ3OworICAgIH0KKworICAgIC5pbnRybywgLmhvd3RvLCAu
d2FybmluZyB7CisgICAgICAgIGdyaWQtY29sdW1uOiAxOworICAgIH0KKworICAgIC5leGFtcGxl
IGltZyB7CisgICAgICAgIHdpZHRoOiA3MHZ3OworICAgICAgICBoZWlnaHQ6IDcwdnc7CisgICAg
fQorfQorCis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+CisgICAgPGhlYWRlcj4KKyAgICAgICAg
PGltZyBzcmM9ImNpcmNsZS5zdmciPgorICAgICAgICA8aDE+V2ViTWV0YWw8YnI+ZGVtb3M8L2gx
PgorICAgIDwvaGVhZGVyPgorICAgIDxzZWN0aW9uIGNsYXNzPSJkZW1vcyI+CisgICAgICAgIDxw
IGNsYXNzPSJpbnRybyI+CisgICAgICAgICAgICBIZXJlIGFyZSBhIGNvbGxlY3Rpb24gb2Ygc2lt
cGxlIDxhCisgICAgICAgICAgICBocmVmPSJodHRwczovL3dlYmtpdC5vcmcvYmxvZy83MzgwL25l
eHQtZ2VuZXJhdGlvbi0zZC1ncmFwaGljcy1vbi10aGUtd2ViLyI+V2ViTWV0YWw8L2E+CisgICAg
ICAgICAgICBleGFtcGxlcy4gVGhleSBzaG91bGQgd29yayBpbiB0aGUgbGF0ZXN0IDxhCisgICAg
ICAgICAgICBocmVmPSJodHRwczovL2RldmVsb3Blci5hcHBsZS5jb20vc2FmYXJpL3RlY2hub2xv
Z3ktcHJldmlldy8iPlNhZmFyaQorICAgICAgICAgICAgIFRlY2hub2xvZ3kgUHJldmlldzwvYT4g
cmVsZWFzZXMsIGFzIHdlbGwgYXMgPGEKKyAgICAgICAgICAgIGhyZWY9Imh0dHBzOi8vd2Via2l0
Lm9yZy9uaWdodGx5LyI+bmlnaHRseSBXZWJLaXQ8L2E+IGJ1aWxkcy4gQXQKKyAgICAgICAgICAg
IHRoZSBtb21lbnQgdGhlcmUgYXJlIGEgZmV3IHNtYWxsIGRpZmZlcmVuY2VzIGJldHdlZW4gdGhl
CisgICAgICAgICAgICBpbXBsZW1lbnRhdGlvbiBhbmQgdGhlIDxhCisgICAgICAgICAgICBocmVm
PSJodHRwczovL3dlYmtpdC5vcmcvd3AtY29udGVudC91cGxvYWRzL3dlYm1ldGFsLWFwaS1wcm9w
b3NhbC5odG1sCisgICAgICAgICAgICAiPmRvY3VtZW50ZWQgcHJvcG9zYWw8L2E+LCBtb3N0IG9m
IHdoaWNoIGFyZSBkb2N1bWVudGVkIGluIHRoZSBjb2RlLgorICAgICAgICA8L3A+CisgICAgICAg
IDxwIGNsYXNzPSJob3d0byI+CisgICAgICAgICAgICBNYWtlIHN1cmUgeW91IGFyZSBvbiBhIHN5
c3RlbSB3aXRoIFdlYk1ldGFsIGVuYWJsZWQuIEluIFNhZmFyaSwgZmlyc3QKKyAgICAgICAgICAg
IG1ha2Ugc3VyZSB0aGUgRGV2ZWxvcGVyIE1lbnUgaXMgdmlzaWJsZSAoUHJlZmVyZW5jZXMg4oaS
IEFkdmFuY2VkKSwKKyAgICAgICAgICAgIHRoZW4gRGV2ZWxvcCDihpIgRXhwZXJpbWVudGFsIEZl
YXR1cmVzIOKGkiBFbmFibGUgV2ViTWV0YWwuCisgICAgICAgIDwvcD4KKyAgICAgICAgPHAgY2xh
c3M9Indhcm5pbmciPgorICAgICAgICAgICAgV2ViTWV0YWwgaXMgYW4gZXhwZXJpbWVudGFsIHRl
Y2hub2xvZ3ksIGFuZCB5b3Ugc2hvdWxkIG5vdCBicm93c2UgdGhlIGVudGlyZQorICAgICAgICAg
ICAgV2ViIHdpdGggaXQgZW5hYmxlZCBmb3Igbm93LiBJdCBkb2Vzbid0IGRvIGFueSB2YWxpZGF0
aW9uIG9mIGNvbnRlbnQsIGFuZAorICAgICAgICAgICAgdGh1cyBtYXkgY2F1c2Ugc29tZSBpc3N1
ZXMgd2l0aCB5b3VyIGNvbXB1dGVyLgorICAgICAgICA8L3A+CisgICAgICAgIDxkaXYgY2xhc3M9
ImV4YW1wbGUiPgorICAgICAgICAgICAgPGEgaHJlZj0iaGVsbG8uaHRtbCI+CisgICAgICAgICAg
ICA8aW1nIHNyYz0iaGVsbG8uanBnIj48YnI+CisgICAgICAgICAgICBIZWxsbyBXb3JsZCBUcmlh
bmdsZQorICAgICAgICAgICAgPC9hPgorICAgICAgICA8L2Rpdj4KKyAgICAgICAgPGRpdiBjbGFz
cz0iZXhhbXBsZSI+CisgICAgICAgICAgICA8YSBocmVmPSIyZC5odG1sIj4KKyAgICAgICAgICAg
IDxpbWcgc3JjPSIyZC5qcGciPjxicj4KKyAgICAgICAgICAgIDJkLWRyYXdpbmcgbGlrZSBTaGFk
ZXJ0b3kKKyAgICAgICAgICAgIDwvYT4KKyAgICAgICAgPC9kaXY+CisgICAgICAgIDxkaXYgY2xh
c3M9ImV4YW1wbGUiPgorICAgICAgICAgICAgPGEgaHJlZj0ic2ltcGxlLmh0bWwiPgorICAgICAg
ICAgICAgPGltZyBzcmM9InNpbXBsZS5qcGciPjxicj4KKyAgICAgICAgICAgIFNpbXBsZSBTcGlu
bmluZyBDdWJlCisgICAgICAgICAgICA8L2E+CisgICAgICAgIDwvZGl2PgorICAgICAgICA8ZGl2
IGNsYXNzPSJleGFtcGxlIj4KKyAgICAgICAgICAgIDxhIGhyZWY9ImN1YmVzLmh0bWwiPgorICAg
ICAgICAgICAgPGltZyBzcmM9ImN1YmVzLmpwZyI+PGJyPgorICAgICAgICAgICAgQW5pbWF0aW5n
IEN1YmVzCisgICAgICAgICAgICA8L2E+CisgICAgICAgIDwvZGl2PgorICAgIDwvc2VjdGlvbj4K
KzwvZGl2PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvV2Vic2l0ZXMvd2Via2l0Lm9y
Zy9kZW1vcy93ZWJtZXRhbC9zaGFyZWQuY3NzIGIvV2Vic2l0ZXMvd2Via2l0Lm9yZy9kZW1vcy93
ZWJtZXRhbC9zaGFyZWQuY3NzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIzNTE0NDk1NDQ5ODcyZjQxZDc0NjVmZjdi
NDQ4YmNiMDI0OTdlMTgKLS0tIC9kZXYvbnVsbAorKysgYi9XZWJzaXRlcy93ZWJraXQub3JnL2Rl
bW9zL3dlYm1ldGFsL3NoYXJlZC5jc3MKQEAgLTAsMCArMSw0NSBAQAorYm9keSB7CisgICAgYmFj
a2dyb3VuZC1jb2xvcjogcmdiKDM1JSwgNjUlLCA4NSUpOworICAgIG1hcmdpbjogMDsKKyAgICBw
YWRkaW5nOiAwOworICAgIGhlaWdodDogMTAwdmg7CisgICAgZGlzcGxheTogZmxleDsKKyAgICBh
bGlnbi1pdGVtczogY2VudGVyOworICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOworfQorCitj
YW52YXMgeworICAgIGRpc3BsYXk6IGJsb2NrOworICAgIHdpZHRoOiAxMDB2dzsKKyAgICBoZWln
aHQ6IDEwMHZoOworfQorCitib2R5LmVycm9yIHsKKyAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2Io
ODUlLCAzNSUsIDM1JSk7Cit9CisKK2JvZHkuZXJyb3IgY2FudmFzIHsKKyAgICBkaXNwbGF5OiBu
b25lOworfQorCisjZXJyb3IgeworICAgIG1hcmdpbjogMDsKKyAgICBwYWRkaW5nOiAwOworICAg
IHdpZHRoOiA1MHZ3OworICAgIGRpc3BsYXk6IG5vbmU7CisgICAgdGV4dC1hbGlnbjogY2VudGVy
OworfQorCitib2R5LmVycm9yICNlcnJvciB7CisgICAgZGlzcGxheTogYmxvY2s7Cit9CisKKyNl
cnJvciBoMiB7CisgICAgZm9udC13ZWlnaHQ6IGJvbGQ7CisgICAgZm9udC1zaXplOiA0MHB4Owor
ICAgIG1hcmdpbi1ib3R0b206IDIwcHg7Cit9CisKKyNlcnJvciBwIHsKKyAgICBmb250LXNpemU6
IDMwcHg7Cit9CmRpZmYgLS1naXQgYS9XZWJzaXRlcy93ZWJraXQub3JnL2RlbW9zL3dlYm1ldGFs
L3NoYXJlZC5qcyBiL1dlYnNpdGVzL3dlYmtpdC5vcmcvZGVtb3Mvd2VibWV0YWwvc2hhcmVkLmpz
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjk2NWZiMGQ4NDI1ODQ4NGZkMDNiNGM0Y2MzMzFlMTZlMWRlNjNjNmQKLS0t
IC9kZXYvbnVsbAorKysgYi9XZWJzaXRlcy93ZWJraXQub3JnL2RlbW9zL3dlYm1ldGFsL3NoYXJl
ZC5qcwpAQCAtMCwwICsxLDExIEBACitjb25zdCBoYXNXZWJNZXRhbCA9ICgpID0+IHsKKyAgICBy
ZXR1cm4gJ1dlYk1ldGFsUmVuZGVyaW5nQ29udGV4dCcgaW4gd2luZG93OworfTsKKworY29uc3Qg
Y2hlY2tGb3JXZWJNZXRhbCA9ICgpID0+IHsKKyAgICBpZiAoaGFzV2ViTWV0YWwoKSkKKyAgICAg
IHJldHVybiB0cnVlOworCisgICAgZG9jdW1lbnQuYm9keS5jbGFzc05hbWUgPSAiZXJyb3IiOwor
ICAgIHJldHVybiBmYWxzZTsKK30KZGlmZiAtLWdpdCBhL1dlYnNpdGVzL3dlYmtpdC5vcmcvZGVt
b3Mvd2VibWV0YWwvc2ltcGxlLmh0bWwgYi9XZWJzaXRlcy93ZWJraXQub3JnL2RlbW9zL3dlYm1l
dGFsL3NpbXBsZS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjJiNDQwNjQyODFmMDJkYTRkMDVkMzYxMzg4YjQx
NjFlN2FmM2Y4MDIKLS0tIC9kZXYvbnVsbAorKysgYi9XZWJzaXRlcy93ZWJraXQub3JnL2RlbW9z
L3dlYm1ldGFsL3NpbXBsZS5odG1sCkBAIC0wLDAgKzEsNTcgQEAKKzwhRE9DVFlQRSBodG1sPgor
PGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD02MDAi
PgorPG1ldGEgaHR0cC1lcXVpdj0iQ29udGVudC10eXBlIiBjb250ZW50PSJ0ZXh0L2h0bWw7IGNo
YXJzZXQ9dXRmLTgiPgorPHRpdGxlPldlYk1ldGFsIFNpbXBsZSBkZW1vPC90aXRsZT4KKzxsaW5r
IHJlbD0ic3R5bGVzaGVldCIgaHJlZj0ic2hhcmVkLmNzcyI+Cis8bGluayByZWw9InN0eWxlc2hl
ZXQiIGhyZWY9Imh0dHBzOi8vd2Via2l0Lm9yZy93cC1jb250ZW50L3RoZW1lcy93ZWJraXQvc3R5
bGUuY3NzIj4KKzxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iaHR0cHM6Ly93d3cuYXBwbGUu
Y29tL3dzcy9mb250cz9mYW1pbHk9TXlyaWFkK1NldCtQcm8mYW1wO3Y9MSI+Cis8c2NyaXB0IHNy
Yz0iZ2wtbWF0cml4LW1pbi5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0ic2hhcmVkLmpzIj48
L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSJzaW1wbGUuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBpZD0i
bGlicmFyeSIgdHlwZT0ieC1zaGFkZXIveC1tZXRhbCI+CisjaW5jbHVkZSA8bWV0YWxfc3RkbGli
PgorCit1c2luZyBuYW1lc3BhY2UgbWV0YWw7CisKK3N0cnVjdCBWZXJ0ZXgKK3sKKyAgICBmbG9h
dDQgcG9zaXRpb24gW1twb3NpdGlvbl1dOworICAgIGZsb2F0NCBjb2xvcjsKK307CisKK3N0cnVj
dCBVbmlmb3JtCit7CisgICAgZmxvYXQ0eDQgbW9kZWxWaWV3UHJvamVjdGlvbk1hdHJpeDsKK307
CisKK3ZlcnRleCBWZXJ0ZXggdmVydGV4X21haW4oZGV2aWNlIFZlcnRleCAqdmVydGljZXMgW1ti
dWZmZXIoMCldXSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3RhbnQgVW5pZm9ybSAq
dW5pZm9ybXMgW1tidWZmZXIoMSldXSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgdWludCB2
aWQgW1t2ZXJ0ZXhfaWRdXSkKK3sKKyAgICBWZXJ0ZXggdmVydGV4T3V0OworICAgIHZlcnRleE91
dC5wb3NpdGlvbiA9IHVuaWZvcm1zLT5tb2RlbFZpZXdQcm9qZWN0aW9uTWF0cml4ICogdmVydGlj
ZXNbdmlkXS5wb3NpdGlvbjsKKyAgICB2ZXJ0ZXhPdXQuY29sb3IgPSB2ZXJ0aWNlc1t2aWRdLmNv
bG9yOworCisgICAgcmV0dXJuIHZlcnRleE91dDsKK30KKworZnJhZ21lbnQgZmxvYXQ0IGZyYWdt
ZW50X21haW4oVmVydGV4IHZlcnRleEluIFtbc3RhZ2VfaW5dXSkKK3sKKyAgICByZXR1cm4gZmxv
YXQ0KHZlcnRleEluLmNvbG9yKTsKK30KKzwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8Y2Fu
dmFzPjwvY2FudmFzPgorPGRpdiBpZD0iZXJyb3IiPgorICAgIDxoMj5XZWJNZXRhbCBub3QgYXZh
aWxhYmxlPC9oMj4KKyAgICA8cD4KKyAgICAgICAgTWFrZSBzdXJlIHlvdSBhcmUgb24gYSBzeXN0
ZW0gd2l0aCBXZWJNZXRhbCBlbmFibGVkLiBJbgorICAgICAgICBTYWZhcmksIGZpcnN0IG1ha2Ug
c3VyZSB0aGUgRGV2ZWxvcGVyIE1lbnUgaXMgdmlzaWJsZSAoUHJlZmVyZW5jZXMg4oaSCisgICAg
ICAgIEFkdmFuY2VkKSwgdGhlbiBEZXZlbG9wIOKGkiBFeHBlcmltZW50YWwgRmVhdHVyZXMg4oaS
IEVuYWJsZSBXZWJNZXRhbC4KKyAgICA8L3A+Cis8L2Rpdj4KKzwvYm9keT4KKzwvaHRtbD4KZGlm
ZiAtLWdpdCBhL1dlYnNpdGVzL3dlYmtpdC5vcmcvZGVtb3Mvd2VibWV0YWwvc2ltcGxlLmpwZyBi
L1dlYnNpdGVzL3dlYmtpdC5vcmcvZGVtb3Mvd2VibWV0YWwvc2ltcGxlLmpwZwpuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li45MTk5MzAxM2FmMWYyNTUxY2E5NzQ4OWYxOTY2YTQ4ZGY0Nzg2OWVjCkdJVCBiaW5hcnkgcGF0
Y2gKbGl0ZXJhbCAyODU2NAp6Y21lRlhiekJ8R3gmXyNxamtePXYtUTZMJDEkUE0mKyYxbjY1fFdV
RkFPVjV8Y2VtaDlmWnpkd0MlNlE2X2JeUykKeko/Rmw2LUBOPG8lKUkle0E5RCtPX3QofGMpbTdj
QXpGT2J2eThDeyYydypHQUU2RD44Mm1tTzhmNTY9bUBKUDxyCnotVWF8dlJSSTxOMEZWSlYycmQ4
eEVlUUFyeXRXNzZmNzx9UzBQWDwqRSg3ayo5TFB4cV56WmlsJC01O0tZQ0JJKQp6Un1vSDVtPE5a
Mm1DRi1yNG9lcWpQRzFYR1BIcWteUEMhaTMqVlYkKChifCpoaU02ZGdPcV4hRnNmfnVwLWIkUUMK
enBJPzxyKW02c1kmUilecS1DRW1VT349eVQoTmZyb01wQS1HJXZaJE0rMTEoRih9SyNeKiRMKCQ7
d3coYHlLKWlHCnp6UiV7UXE1NTZLKEB+dHBLdmpjRSM+TCY1aWwyanpnTnB7ZCtURkBWTGB6b3da
YFhvSDt4dkQycT5xbWVoWXY0QAp6aUBQbCt4M0k3PENsP1BWNC1ZJDdnNUFScD00cyl9NClkVj52
aiRtZjRALUFAUzVKRXY3fWI0XjdFZkhmSmpIMmYKeklLZXdge19QZ2A9M2l9PHAhIz9FX1k/VHs2
WnJRTmAxY2R8X1k/VHs2WnJxJTZaa3ZadjQoKlojfFB2eHp9K3EmCnpxKyNkYz5FZERNOyE0SEsh
Mzc5T0UyK1pZbFBvYSh3JntQSCp5SDVrS2NhdzJffDBjMWk4fms0TDNoZyF6QU1TZAp6bX16TEsl
UFQjU2BfMTdWXmpmJk9JPkJLQmZIVGF+VH13ZmwlRH5XdzNUWCtYWm56K29WKkB4WEVJbk1NRyZD
T0YKeipaSnJFY20wMztvSzQ7bkpwZFNFenB2fUI/MD9PYHU+eHJrJFEzb2Y7IW10UkVTKjhTOHI7
NUd5MUlKOzBRNER7CnpQd1Y2OWRULX18SG9pTzlLK3Z3Z3d7OEVoenV3elZ7OyhIK20oa0laMG40
MCNZIXV6WCFyY31DKDd8a2clRz1Udwp6dE91UDYwMSRDdVJgeEllen51dk4yfT9UKkQqJClebyYo
c05vbjd3ajRBNXFKQCpuRTR7U1VUPCNnbzc0dzZMKUsKeiVsQE07O0ZhS3dXJGlzJm9oPHgqQU4r
NnJJNkhaUCYrQiloMGV7aSQrIWVMSkpzdFNXM0xJVGp7PDJ8RClZU2pYCnp3K0RPbHIpfXFAc1Fh
Z0Y9XitDPyVSakVRdlhFOHopQW4tSW1ITn1SYTBqaXdtOWg2ISgpclZOY2hVTipld2RUbQp6SndB
VDchT21MZ0ZXY0hmUFcjViU4KyY9QktXJT9JOXNOSVRaK2t0cEtXel8zP1o0WEtaenVDdHpQcCMh
VXYwSz0Kem07YkFlJkt9XkVmNGlAeCNvekRjWHtRNSpDViNaWStRWjxsX0U9ZlYlS2VvTylCVVMk
dUFiNj0pIz5XPTh8JU9PCnpWKHB+eFNINmUwX0Z2YX15NmdPdj9faTtQa0tOenBUfEc3YWRPcEEt
S257PXZyfm56ajkpSlBYZkhQbkw5PzYxNwp6OSlLKDAxUm5XJFRLbkUoNHY9d2lePmVxa3dlekhz
MCFOVEZsQGlSN2dOPSVaaSgzIT8/I0pWTzgyfnVlYGFSQWQKemd1e1EmYXw1cHo1ZUIyRylXN0Zo
dW1WNk04I3A5TnsrPnJDMDAzeW8wTU44ej5FLVZJTX02QDNJfEtqfnp5azBBCnpWdEBqbTEoKlBL
ZkNtciZNMWhCMz55LWdAS25FfWNPYVYqNDRzNT9XLX4kOCMmdylfajlxPUJBMUNvR3JBUjh6RQp6
TmBYcUM0cm03MmZvQDtgX3kkWT5HciVJUzNUeSloeiFgODJmazJRVDchVylORkB6RkE0YEdHeUsh
aEw/NUlNKnIKemghKF5VVmgqdXx6I3Z8YksqJFRvSjRnJjkzNmNwWmduV1dESy13WEZrUCpsYSRQ
IzF8YXM7YDhnVGtUMTtscSlgCnpGfkQpYzNCZ0loc2xlJkxKJStQfGJBJDdUZGtHZl9tazVeeVJ7
fmNIKkE2IVRIdnpXQHcrKGorMSl5azlMTVN6cQp6OVYhSHNmdlE3fHBmKnI8WGI/MEU4Vn04YW1P
JmUjSjx1YGVCNko2TzM2QlZtMlR1amg0bGZGPzIoSnJvM0dXNlUKejFSb0JjMVlaRE8zO3pYdjQx
Tmp6MFI5Jk8xX0J1WkR9bzR1NWBxRE9FckpoMUNfKzMhOXpxUjU3czNSPkQjOTVlCnpBfGZGb0Jj
ZFJwQkJDTHAxN1pNVElBU1ZkSXBTeDs1eVRiNVF6UnJMVmtBfjFhVV52bDNuV2paUF42RFlCfWk+
Wgp6cWUhYnI3c3pQSGwqbH5EXjJrUVdGeXMqQWM7cTdGUl4oQ1NiPndSbFkhckdGNWZwVjRELT1K
SkQzbHpPTXdEVGMKelJnYE5+OTheWUJhYTB7dDJoYGBOaUt1MCRVOHU5RCQ3cEQxRy0kJFRuclFa
RCYoSVJsRCRzaC1tZTROSWFuVmBPCnpXemJFfnowZjFrXlUqKH18M0UqK3pgJFVAYyEqKHk7ZldF
NlFIYXJyRl5fUzlpSEZJN3NmMX5UOEh8flhTJktQfQp6eHJjPjxNVU4kZ1dzMnBHNl5+VmdISEBg
YGplXmE5RXJWQD05Zlh+WC1HRHVYZVRzdkohO1BiazxCU3VJUS1zcnAKenZ3QDMqJVlaOX5ZbFpz
fkh5Z0pUY0xmaU1NfmYkZVhObVUkRjkpditaeHRVQXBBbGFQLXZSI31la3VNQ3tzOTNsCnowVXY9
TGZpRlFhSz99aG1BKFc3VFA+SWxxRnA5OH1hRlh6ZmhANDFAJGVRUmFRNW4lRihmST8/Mk0tQHVL
TH5xSgp6eyRTJDQ2KV9kRDlJKyNERzt0bUE5MEAhTDN5Q0kpNEBud0g3cyhET0tCKnxGQzIxSUdD
RndMNzkycENsN0Zoc1UKekhyWkZRUSpzSiYxIyh5TmtLfj0/SX4wVHo0PUVmZEsyV3EkWSpPTTtO
PkpLVWV4UGlsK0BkMCZsQT5+PU5+SFFpCnpid0V1PHR3YC1mb2s9fUplTkRxaXFlfk0pUSUqQlNp
JUtnKlllVn5pd3VBUDdqKj9FNUV8OUw2WmtpczJVV25kfgp6SzdxYzZ7K3hsNEw3KDlATG1rNWc7
eyEkfE10e2EpIyN0cnxDUF5rWXJZeHAkVzwrS29XPUd+IT01SCk7RWNgNVgKekVYZ2R4dFo9TFh0
b0UjX3RScmopWXtHMFh3ayk8T2M2ND9yYzVuNyNfOVlITmp6PTZKOUNhTGZvT0dOPG9ZOTs7Cnpv
V0hwRXh0ekZpeE1zTDx4c3x5P3hFcn5UY3Z5SFdkNklkP2NgPG45ZDRxWkRjQE96bWBLPFpVX2Bk
VndAdkhLYAp6PUlgTFk2JVo2fjdicHxoNnI+WTA3ZmNiSDYyY2VLNURGTFM2LUUlMjc3aTl9N1FQ
ZV81YitlTDZ4a1BMN2orYVoKejY1U0FFNnRmbn41bkI8YjV3e1N9NmtuOH1rfSNMWmtYViRZbWI4
JH1sM2FkQmBfU3JQLW90ZSVXKz99JDV+KTNECnpFQF5rXjh0SFF4NXQqa2xwSmshNDNiSjljTHZw
eHN4XmhXIV5ZUyRFdyhgYUQyTVlXTzBTY2NMNWZvSnZxWk94PQp6JGR4UlczWTg5JjEobHlGZV5F
aEsoTjstUFMkQFJ3JG8pfkhEeDlqYVlPTHo0OG9lNCF0eGc/S1M1bDh2cFZNSH0KemFNTmhnTUFY
I0tPeDllfTs/QGUoPmUwczJIcSRRQktHVHViaVBEK1RXenpOMT9hOyYwR3RuIzVKSiotaGtJYFE9
Cno7NTJ3QEZrbmJ4WG00MD1nays+PWx4SzhtRU4ye055bFRSNDVeNkh9bkRNZGk8MzNYb1F6ejNG
R2J9Ujt2bnEyMAp6YkE5dDdeQlc2d2khNilOQ3JWRkpvKlk9cFNTREMqVFJwVjtWNnx5MlpYSUwy
Wlg8M0pXM3lvXlpYMFg2WCh3cUgKelo/fEpGVzFuUHk9JUREMz9yYHA/P3dJZCo9Y01tYz91X2hn
PyVWKndnKm4yJHhLT3pHeHtTRTh4YHcoZ3h7MHtPCnp4Z0VIeHhhV0M1SlJXPTBkKlh3ez1jXloh
KkRKM2pad2M+WT8rWUoycERKRypVenFQI0tOaTJZZShWMTd7PCM3MAp6MGhSJEJmeipNfDFEQnBr
SjxTWSkxVSg3cjImTjV3OE5CKlQ7YVMwUilhUT1SMlNkMCpWblIrez0pWSl1TiZmUUwKeiVhdkNP
dVpseDRMKX1CQ1VXPmo/ZSpeITx7PnspXi1uU3Ake3RCfVM+d219ZkY4PHczeE1nXk0xYjBNWSM5
Z0ZLCno8V1E3QVJOOHlRX3B0WXEoVVE+eEYqcV4pRilPakV2OSV3bEs3QFRaaThHN3FpfDMwXlBl
NHVaTj8xJk1sdnd8Zgp6PyZKSDlIJVdGJDZVb3hhPHRiei1aJlNgd3R4YHdSOTtUSjBsYyZFK3pz
ailCX0AxZWRTKTBYPjZgemZtP1ZZYHIKenFuRmNARTBrTjlOMFJxMD89fk5uemdWREVAVEV8JnUm
e2AlRDVAQikqc0ZONiNIOGR+c2NkT3w4R0JofkliciNgCnozWlROUFYoWExucl4hbHslOG58YnM8
TFlPPlhhSjFueV58KHR6WWR5b243NXh5PHo9R2dLfFNocWlBREk2R3V+aQp6R2ooJXYzcWVhJUR7
QVlAKjFJPFV3JHNuOXBMZzFBK2dDY3dJJVlaekk+KjBnZWlgYWc+RlZ2NEA5eWw4PlNebTAKej9g
YGZBPjEqZzA+YVFDUjded1pxfEZ2ZTJmM1JqcVY1b0xqYUpjQFBAVkNZaHY2MHFNJDxnKlAqfEZ8
JXJTWDlZCnp3VFkyUS1PMkEkQ1IyO3d0LWYja2FRYm1MP0xCPXheSzJHakhmIz1pRWBGWURLNUt6
X3A/cHpidjFMaGk+RmN1Zwp6XjMwMG0lSnhyPnBFcyo3KkQlKU4qRDJRdkgrVkxoSHwwMEtaNWVO
XlpvNihAP31ZQis/NTZCNz9OI3FULTJaeEQKemFJa3ZsZXQzNWplb1RDdmY1TGF0YWpKMVRmOThD
NGVJOWx9ZHtKO0libEcjSWYzPCQ/YkF4bn5jKn1nLV8pRiMyCno/NDklN292VmVyI2N3V2ZGVzE3
XmZGa1p1Sl4pfUMwcyE3TzA2QGszZ0Q/THMwbiV2KlNPJkU5QVJMZnd4S3lZcQp6SlRuM2shWGVA
JihpSExuJGBhfjFJc3lnKnJWNXJQYl9VS0E5dlojYGZqP242KEs7fjtpM01vXyopUm5IQnxudWwK
emJ0RndDP0lfKEkwfntrSjZCYVdYPT1tO0xjaUVRTSQyZEFVWXEpWl8tfTV9PmI+UCRFZTw7OHJo
JG5hPnY/fX5uCnpxKl5wWj8xaXw0Z3FFYmxMcENXJlgranhuU3JqPlZ4bSk+amcjKlA2ckE2aU1E
bnBPRFJHWmJSKUpydnJHeit6Zwp6dmBjbCRid0JBPD1+byQ0OCYoQHQ4Q1JOb2RSJVQ9WmRQZXRa
XyluYnRLfD0/SFJ9X2JKM0JPY0xJKWEwUndzVUUKek50bHcwdUIpfTFrOSZraW9AYmxhY2tlQEE2
aEE2fCEycT5EJWNzNlVWWmpOe0dNO0NLcWB5ZGY4VEJlT0d+bCh7Cno4PUpSQVZRVE5CIXVjYlpC
RlVtfi09anNOI0d1N3VlfFFpXzluWUc7bW5pO0dFPWVfNkhebiZCR1ItbUZHdml0Mgp6YD5mM0Ru
dzxYSmd9anBqPFUrQ3smU0wyai1CUX4hLXx7eVZAdD85UGk+cz10OCpBRVh5WHlNdDJPQ0JqQ3pg
JUQKeiYkS01HeyVxVStlQSlyK0I+Mk1BQ0R5SWNXNytHfDd1S0lMUTJ3PWphQWF0NGM9eX1zJGtw
aTAqIUIzdSNPZFZXCnopR21tJm1GZkFKQDNXKEdnWSYlJFU1bmpJe21ZeyhiM1pwJVB1QyRFPSRq
OT1YdHowYmdtLTIzbD1mOClXRGp8Ywp6aD5uaHFkcm0le0ktWkgwVzFjVHVsd1VyKCghOGQ9S0Q9
cWFqczloUiQ4fnIycFdaKFEwdXtuQmAyTSQkbXIpTVUKelB8QGl6PFNefjlxT2R6fmpgNyY+JT9M
Z2NqejdSNFJ3YTJ3YGtDeUVmfGImWUR4QThTV3xIPVY5KmNwRGslNVZ0CnpgMmg8VyVMVkgpK1lv
eXJNPmMwVG1wOFhMan1rOHo5fShYenw0KUhfIUUmSnchdX0kcnFTOWd2Oz5oQ0w1K2pvSgp6NTN7
QUJyOSkoVldTISltJG09UG5DYHVAQ0U3UGhGSlZKVk9wfU02dXQzSU85dEokSHxzQDxlaHVVbiY2
cDxpcn0KelhQOVl9V2M8TS07XysrSzVWSyhPVjJoOV5WVjFGMERjMVFtNn1JKHVwWTN9Y2g4LXVJ
V31TYitjM2R2cDVaI0c5CnoqZ1UxWjQ3XzFKRk1KZEhPOG5hYk1neEM3SnE/Qz9oV1o+YzFwTmkj
aShmQktVVHVjWHkmaWVmXnxuNSZfKzQ3fgp6YC1xVDhwRDU/fHckWmpSNHpjYlp7TnJCNHplfFdz
TyNZYWFSRzNfbVFqXi04KXsjRHRGYDQtQD5vZjszX2R5O0AKenpGMmA7cDs/aEBAdzFabXI1Uj1B
PHQtS2NwQyYzN3N5MzwqWUEkTjs+SmJ8LTh1NlAqbnlGZUNUR2Byb0thMDAzCnpjTmxnJGVGXlQw
P2F1Rk0+PmNifD5fN1NuS1MoJmxGd0ZsPWRnUmZsX0wlOy0oUypzUT42Rj1iXkI/Qlo3QmQjSgp6
N0lQTiE3N0xiKGMxeTB5ZmglREBsVTlxQG4lMks9JXgmJiYtUnorNmxJJF87YX55Q1VHSiopV0o2
PHx6S2d+RGAKekl5Ym94eHFOVldiflNjZ2FUOVV0QEpzJVZfODtFPWU/Ul8qQEtFdV4ydDJeP3pZ
bVVvT1ZWVnJhUzlBZEYpQnl1CnoxZSNYYld4OEpzSUU+VXhFWD5SLWpJN2piQjwkRTZENFlRMkcx
b2Z4Y2I7Q31URTBCfklEcj59WmJGWlJSWVV8dQp6WH5pKGJGMnErUHpEYSg1U1MzeztvZ3RHZjh6
JmJqfDYxWGhxT1gjeHZhTzJnQk9PJkdIM0BZQTROZ3NGRWUzNW0KejlVNUl+SnhZQnQxN2JyJEJW
MSMyNlFzd0ckRzRgSlg2TlA/N1QxPD1SPjs7XkhpV2loY0dVSV40bEl0R1BDVTsxCnpGa3UlLVJ8
UGpzY1FYJUgmdTNvSS1rQ24xZF9WZ1FgX0JiejJWTWxoMSoxTWdlfnVDWTBjWCpsRlVNYlhncUZX
Zgp6ZUd+VDlFNm4xWllQZTdZWjZzRllaUGYxajw+PVglQDNCKUt6UV9IRHxETnpZYXE4bl8ocz1T
JSUxRypQK0Y8JW4KeiN6Xkw1KSpMdn45cHFsKyF4dnhfNSlAR3NHbjg8WUB8QjV7T0lGQnlsQzZ9
aGxDNzRtY35+bzZDc0hyaXp9dnsjCnojTTtjekxlb21vTSo1a3dvdVklVGxsX1plbXZweWtrQUNs
eUtCcz1+ZiM5IWkyQlVgKGh0c31naiUxQnlqSFFleAp6T2hpdzxufGteRT0/fFoybWw/WlJeRXR6
TD9GRWZSJV9hVGlDbzY3MExzc0x+M2Y3eDgxfihWQ2omfFU4QCVRTlYKemNARCU2V3NsXks8eGda
ekNDXjA5MXVuUVJTKzV3YnNjd2pHQHFTXzRBPlAwTEtYakEoSVJPIWpEUmFQaUxpYVRRCnpKYzxU
QEcqUiN5QTFXd0dVOz07ITFfMDs/MTh+dyYwMzB0YjBMUFg2KlpjdGlLbHp+bSp1VnBUOGVqemsh
VDRBYwp6RmF1bkdVQClmNDAmMExoVT1CRWpwaEJvMkFgbCZqM25VRFo1OXgtaSFYZCZqITk0PEZ5
K2ttKytrcH44NmB9c24KemFfOXk7OVQ9KFF6OzdVTWZVI0h5QXtMQEtWaWdpSGt+dlpuQCZqYUY8
WV5SMWx6Y0V3M1BSbVFHZWE5ZW1xbzlgCnpWOEtZa0IqMldvTGRKVDlqZXp8YzJPVEZDbW1JZWNQ
WXx5TVVtdCYrej5nNChGb1FedD0tVUcpVnBRVHs1O2MrJgp6KGlBY1V2U2FjTDNSUXxMJTZ1d2FZ
NlIrOThWNmN4K0cpQnRkTXlTI2g2JTxiQ1VhJis9M1NPNVJ6RWdMYzB+NEoKemokfT9kRStLOS0/
Z2dHJi11SFk/e0VxfjkxU3kyQGdmVF8xTVR4fHkjV15KO0NBQStxTldHTktseGRlO2t3O1FzCnpR
QitaflNBTTBFQHUqNGx5VnwpMXY4SzN8d1JWKEZsa1BUJVdwJT80cWlXO1QkQXFUeFc8S1Z7N0tA
Z3xSQCZDbAp6SFkwWDtfNjgwYWp5dWt4dXQ9QTZII3pyd1BZZj5+QDFNUnBlbXchPWZ3ZShBITQ9
UUJMbj5lTHpXVmY8e1lfcE4KeiNrPDReeXZYU0hJTUUrc05qX3g3dm5Nb3RSODNrKjJ+TUw7fENh
ZUdUUGhjdCpIO2l6V0xDbWUxfSZmZFI5ekthCno8NXM4SHp9MUEteXhkeXpJa2R5ejN0S2xfJnJE
ektLLXs0QnUrZlAwN31vXlQ2d2VSY25aJnY0TWVwVUMpej0kRAp6VFAzXmxgIytDZnBLX2toVVBh
IUB7YE1iI3pKSD9NP19VNlh7fkRtZTswIXprQjdxRWAzZSpzMGZDRXI1cG53UU0KekckNCtVUClJ
aFkxVDRacTtBcjlHO1QrKiY7RntwcHBtPFBlczI4KmRgVipjUy1VMj1zZWd9YU1Bc0FzMGtzUSRs
CnpAZTJ8ZWt+aCpBNyl5VVp6Qzx4Yz18PmVyJXxqemJpJEk1PmA9Y0xYKmtkZVY4ZT5qaj4wd1Bf
OClHbHlJTzNlKwp6elFRQktFNXcoO0EweDBReEZidjs7d0JtZC0jI1hCQzVadGs5QkNQdTJ7e0lO
OC0rVjFKPl8/KkZsdXE/QmJvd1EKejNwI1NUOFR3PWZRJHsrKlpLZkxMWERwOWNpQzk8SSVHbXVs
PFQ+IzxTR25yQkJZQ1dPQU0lbSRVR3ZXZ2JifDkpCnpyZmB4LXZTXmxBblJwQjYmKDxFXk50NFFt
JGVQR0ttb0hRcFFNXj45UD8zQ09ydXRNWlJsUVlYU3FudipONUBuKgp6TGEkWi0qcFMpaWlFKjtZ
bT9eNTZsKTEwUHJ6aEsxT3hDdEdnfEByKWQ9NWQ1e20jVE5OMC1sVCNPfmY2UShqYDsKeklsZnFh
UHlQMS1FdU1aNClfZ1Y/XjYxNmpEfi1fNkgoR0I7LWw+SzZNPUQxM0xAVUolZWI5fVlQakYxVU4o
eFYqCnpQSGpweiU9bmQ2b01XMHRsc3tlPVM4UDtEVUE5eHZQI0lRalRGWTBEKFhpZ3MqN0Jqdnh9
QzJSXyVoZz8oKEJ5Kwp6QEdIXmEhU0w2Uzs8M21IPzx3MEt3bG5eN2AzdXwyUWFgaVNROCZHfFNO
RHQjTXZ2N2B6Z181RUUhPXtQNkxjR1kKenpXQEp6e0xsWCR8MWBoSEtrV0RUPypoal4wdnNjI19f
KUYpel9yMGBmdHJwUylDWEQmVTR8IXpIdiU9OVNwO2ZPCnpqajJHbUt+elJlTSUraHxMck1ofDY8
eT5TNmU1JkJsb2VEfSlKOE5Xdl95MWQ1Q0o8RlcqRm1gazEpSGpxX050dQp6ckxudGw5XnAqalRI
eDtFMT5zfWpYQXRsWmJRNzhvbylBU25WMC1ZRDcpRjllKG5NLWFoRC1MRCs/OWZnO3Y0MDIKekRq
dXBlPlNQKmlUMT9zanhfOSlkM14pdXc3XypxMW5UMSZwU1ZtWT0rM2VXYElnbUpoYUYlaHM7eF4/
RztVKHQxCno7K3lDMTV2VU8/N0FnPWY2S045dER6K3FrQn13PkBVJj1yX05HNHgpT2RoSmh0N3ho
OFViI19hU3J0VyVUaXI8Rwp6d1B1fnhyVmZSIXpGdiZ9SCQhWUFaUjI+OEAxYFZYI154eSZeT20k
JDQlWEdTNUlZVX5FUWZPXmI/MElpUjk5IVcKejJAaCR7Tl5lRz0zX21qZTxVcTJnUy1+dk5ZQz5k
UWpLOHVBeT9PSUtqUVUrZ2dtYDQlZCVmdGpTbD5BR18/JCRFCnprMkE+dXNUNjVuR0YtQUt2bk8t
b0B7SjFWaSV2Xj0laERfU0QpcC1jWWYwPGo4Z2BuZFRINCQ0K2UxNmV5MTA4Rgp6ejJFdlh6UGIt
N2U0YHc+OUdqZXxvbDUlZ2Q8SGk2V1dqOTdjRXhXc2NELXV6YHdwPGpkU0ctRWUkc0p2ZUpPYkQK
emVjTiNWe3lsN1hkRzJRcTBEPitKJTgmRFJjZ050dTVUcUNZeFEpS015VXgxMXlVaGxKamFkTnI/
RFU1Z2VfdDM4Cno4dnRTJDIoalozMmcqTytYWil2aF9aaCVKaE1ZaTdwYiMxVzRoSTZvZiF1dW9E
OFlMbWZaYCpWe3d4aUZnVGY7cQp6QXxhIW9xSmFmIXUpKHp8UCQoUWM2YW5HPjB9QTlSY3BpWXFM
Qk9Udm1Pe2tTdl9QVjkhez5QKG9yejI8e2kmVG0Kell2aDJBX2xiSzUzTXdKZDE3Wj8tMjFYYGs3
Q3dGZktfT3VnOENmfWIxd3whZ1o1PkBiZU5jOV93NmVDYndYPThkCnpAYnZRYkAlOGg2QCR5eVo+
bzslMVZxIW5VI1V+X3dPdj1qNiQ8NTB6Q0BpWTFzOztUNnQ4WnhSPT17PnYtUDdDRwp6S1JQeChG
KilgOSRNbitqJUZvcmNeXk1KfiE9dk1xKTNmdTclZDdpLUxCUDU2Ji02I257LUl3dVY4N3R0O2ky
JEkKel94Knl2YEc2WX4yT2ZjJTh4ZERaNlVvOTJrQX4rdEdRTTxsPUJJV1BUMylSS2YreX1Ic0R5
TlVPWjEyTFVIamQkCnpmMzBJN3xGP1NmU0k3Unx1TmlQNmZjdUBHYU50e2xMY3VvJDQ8PDBpeWll
ZWl7eVFRNkV1c0VTcHd4K20yQ0E1VQp6T0x0JTs1VT52TFZucHlDMHxnMT8mcnw+VXslI0g9Q3sl
YVQwNkd9KSFyPyUxMDc+OTlqNDcpdjdpKk8oRH50KkYKenw3ZTVXZWZ4aT44QkxPP2ZudGFHNWpX
aWp0I1NOMlpaSXFYSnRpb31ZPEBCO1VCSlBYSCpEQGppWH1zbmBkZGleCnp1aT8tbiFqQzBlZzZ+
YWxFQilCWjxtemN5e1R7TlQ3Qn1kfWV3QX1xa0l6SjFqRDQ/O2Y2VF9scyh7N3ZFX0o4OAp6ezAx
ditKeVZeelRjPms/ZlcrbFRrS1MoSCsydXtTXk9ATF9GczhEeFZOfEI5WGFDQTNje2xSRSojRCZZ
YEdBSSUKem53cDVVQndLQChOUGYxeDlvTTJGOXdvWChORlNlfHZqTyZxPkZWT2J2bWw7QmoreFpR
ITQqIUNLPjt9b3REbCshCnpZY0tVNFNROChrMmVUcVI/cjY8QmgtJSpsRV9mREFyO1dzS21uQU9C
eWJ1bDNYaXpJSjlTQUo3TjxRa05HfikoMgp6eHRTdEx6QngjQT9CK34qb1VuQ3ZiQmgoc3pWeXxH
SnVpVlJwelRPUD4+I344Xz5CWnQ3K01wJTxjPkcqUUp2ND0KelBrRWdURlZ9aldNajxOSkVTP3p1
TU89eEJnUSVWVE1OVFhfa0x8RmwrYnQyTCkpajghIWlhWW02fH5xb0EoQGtVCnooWj1LZW9xaVNu
b2I7Nkc9Xl5vSj8zRnspOVclTkJoMlozY3l+LW09b25CdjNCKVApekQ2ekpkeDwyUmd4eXhqMQp6
eys3NkFKQDRvbz8xJTVqSDAzakthMWFTfTxwQip1YTAjRURlcHNgcD9UUVBVZ0RGdiliTXpNVzJT
WUNQSUZ8UV4Kek8wVFRnUzlePFFlMVB4bWklSTJZREplRUpySHE/cT5+Rk5ROVYpekllQUVaTUJw
KCZWamx+bT5xX19+NE92UjQmCnp7SClFKnBTTEg4bjJhaz5TYmMxJE81YzNBaGYhJmVtfGRuNUN1
QS0hTVJtcm4rfWVEYipHaSM4SntxVnJDY2dtXwp6T01XY1J1V3dfaGdDRlQwV1VYVlpge3dyWjB8
cjROcC1hcCpoZHkyLXpldm1uaUMlTndQeFVZVERFbHc+R19+MmcKemhmJWNpaDhzOFRmWj9HZkll
aCZoS1pxUUAje2FZLS1IclkpS3heKD5BYjBzaStSdGVfMGo7Xmw2K2FEbGB9YmQ1CnpxVGs1JllE
YXZyM1AoQCtJSypXIz5peTZ7d319Kk9TOGJFY2JIKSQwWEVvR29FKn5SNWpZaF4ycTZXfHtkSj4l
TQp6aHUjNlUxRVBMM2pmYlkkWFFeJHgofXAzQEB0RFluSGwzOWA9dj5HVnY3SyhRQ3hwQFlfN29K
SzkqZkZXaHhOfksKemRDTyt7YUFgQ3BwODhQQjhAeyFTUjRQeUpJd1QrbytDfSpLWXhPbypVITA3
PVNnVUYkRHlmPEpUNjlZPThGcGp1CnpiKD5Ca3hlO0dkWCtxZzdWSn40OWBAViNHNFc9YkU/WUsj
YWE+M2I9aFd1alM4KFdOVW17WkpfYG4qWG12Y15ufgp6KnQwR3V7XlA9P19nVTRgK3cpbkRNVkY2
azFjfX5fbVE/UmxuQHlEdHhBWXlNeTRufWFvZU1AeCtAdFUleFM+Nl4KenNrZU03c1dSWGBVQFlU
VCowTSN8Y3dSIzVITiVoN2E5KjFJUXNTSXJLO1laUE84dE9XPjQwSkpvNFJEaVFjdUQkCnomdkhg
IVR4LWtrVF40TDVwOG5sWWBNJWxHRWVCXk1PfWoyamMyPUxZMkleZm04d19QS0pFXkk1JjlOTUEk
X19ESwp6NiE9PTJ2PnlCX082RGtHMEx6JHtSdiZFRXYqTFMhV25meFp7PG03eT5BOFhCKkp7M0dC
MHB7KGolRUdZUDBSZmgKenkjSG1lTSZjODE2OV5pNVAzX01nN2JiWCNvKV9Lckh+QT8hcE89YXwx
eUxeaFYyT08ham0mRz0zYitHYT9WcFEzCno8cH1meDtrQWRmTmN9SjJZd1o2NHpEezxiT00rb3V4
eUo4dTlgbnByaFFLUTZTP2ZidHV9TGZJaGJWMSEhcFg/Twp6dzxjZmw0Kz5oYylOR0ZHN3dxXiZj
K1Y0RTFUMDRwSXd6PnI5K2ojRWtNNXlGVmw3aUx4NyVLUkRFdi1wLUBUKGgKekdFYVZDeUY/RGhI
dGR2P0k+N09SekY5Wmc0PXB0c1RUQD0ySGVgaGtNJF9fTz90MUZvK2FjMyYrVC1CV1RtSnt6CnpV
OzJ3ez0jT3BWRjA+Y3hVWWBWV29QU1pqRSV0NlE/cTZsczM+fU1UXk1BeGUlTytpIXJxeG8hT2tF
byk+UyQkPAp6YEJxd2kxU29pdTRZfmdeP2d9akdROHlNdUVWVElZUGRGVHs3NDFGY2NwVHNGRUtD
aypKVEZNdjRxRkY3bGBVdSoKem5rQkAwQjM4dlJCalk8NEZmUEE4VWxCMUJGbUFJfVY8Mi12Uj53
OVk8MnJqaG5GeEVqalhwYld2cHJ2SnB1TytECnpRfEZBKT5HNFFWO2BBajxYPHhCd3dRPUlzc1B7
U3IpNjY9NitfYHk8SEtSNT8qVWtHX0AzZ3VuKCgkSzxGVSZUZwp6KF98MHlUU29mUnUhTG17byl4
KnQoJFQmQ1U5cEREKmxmJmZjPUokcnhEc1MqYjdaUCNqJmFyTGBUVjBzIUBYOzUKelk9YUdqMThK
Q3A0b1AhLWZrQm9iO21hJWhvPiFFS1g8UD9gM29ufTAzb2FaXj4tc0ZZPHpmTjlYZjYhPUxfUERT
Cno2Pkh9UGRYRT5xe0RiPF8zKU1YQGZ+ITNwKXlXT1pfcDllPjZILW9WPEwmXkAqP1AqUnhVZU9p
RCEmRnM2Zl52KAp6NkJuZEljI3JWMUd8dEB7b30td0J7Wlc7Xj5gU0NEOXdscVRoKTB9MTx8VVRg
cDNYP31iJVpnTT1TJW85V3JZRiUKellgWXUoem1DQmd6N2BfZyR2aUg1P190LTBeUlJIMXBTWGhE
OWM4WD1GfSZZQU9pUCEqIVNGYGx2MlNGc3s1MmNXCno/Ynokc1Y/QzVwRUpLfUFXWXtueCpEI2o+
Skx7bEZGdzRhNCFnfVVQe0E4VmVSY1RFTWsyPiRWbE4rOy02TTcwMAp6ZDx2akcrRn5xcXAtXkl+
dmdVWmlrcSVlS295fUd5Z3k4UT9rQl9hMHUwJDJwQz5PdkhtJHlsUiYjPDZhNlp5azwKenBJfihj
S0R1R1pAS2JEZj9ETm1kKXY2MEV1RFZfMEBnRjlsa18qMmlyYVdxSntqP2g4USt4LXxVdEdvVWFp
YUx6Cnpifjt0ciQyKUtrPW13MjJeUWdTZlJlfTN+WT1HQmZ1SGlCRWZNNmBTKzwkIz1wK3kjVXlC
JVUrdVg/T0JtbGhBQAp6REFZNEtDM1gzX1ZZRU0qQzFgcCZvTHBxbGN3UGh8KDQ/SUM0YEFBP2dU
UzFTaHFZYD87QD1Ybl5gQ3Y0N1poNkkKenI8YHV0TXhHdFI3O2RwWSlqbU9RYGk8QT9GXnNfe3F8
WmR9dnZwa2E9VTBEdFBtfGcjQyZHfFFwT0J7ZXlHKUMzCnpPK0w1fE0we0t1SXlMUUpWQUVGP0lJ
T3Bya1RpXj01Ulp9bVNPc1o3LUxqJTRJYyZaKklvQjxJJXBKa1NTb01WJgp6TFVOfV5aYGFiZnNJ
bFJkekxLTSluJlllNTxmTSZLK3d1WTRxPTBuQmgpKGtHJDtxVkpiZFRKSHtBNVF6XiFWZVIKemBt
JjIkdHdeMzZ1S3BNdldaSWVfRThucFdxeDI5bElpSUNsUms4PDwhfGB+V2h6TmcxbGw0UW5JLWhe
em9fNWIpCnooXyVkLThWIW5ENHo1LVI+MjZ6aykyd2VueFY9ang7b1VYUlhTS2RRR3xvMSFWJHA1
RExMRDgmUH1+VilfUzE4KAp6JmBzWWZ1NU9ffUdhR0RAKWN0LVZeSlNqK1k5M3tJbFhHNkg9YD4z
QlhmRShOOWNASTg7OHJiSTsxI34rTHhne18KelFRbDRiPiojR3ZyUiklP0V2P2xgeDJiY1k2d25N
V1oxM21QPmxIP05Cfmh+fVYqQTNBb2QwRUlYM0diRlJ7fDlwCnpmYFNybXpNYyoxY182JE5IeWsh
fWFtX3JDdihhIW9aZX1DMHk+QDJtenREU0IlRyY4YVJNfmVYWUl+SFBGNUtQdwp6NDVLPT09ZiNW
MDRzfDRHKmVOO2RRZnNWSkF3eE91VCkoajB3QGNUZmBXe04qX0M5IW1WUGJOUkEya2F0KHktZXQK
ekdEaDB0UyQkSFFBTWFNUHVNNH4qPypMKCFiQXlAWnJNdUx8MGc5dUB2NyVjMSRrfmpIZkhgXz5s
RDV5aiR6anVaCnohUWZQamF7SVlwfDR7PHRBcDZqPnhodjR5alphQ1FDRH1LZzdhTTR3RyM0fTdC
aGYjfXFPazxlVn1AX0lkWkw4Kwp6Tj8hbE5aZX1hJj1AemZvekpkSnVfP1lUJmkmalRePUlUZSZZ
MGBCMm9OSSpeaXt5TEFWSGtDIVhJVEhSbkk7V2cKenBIR0IyO19YdExnZjE2YUxeVFpAP04kcCFi
T3tjaG16WSZ3a05UWWs+cSlGWTUtdiYyPzdIfTcxMTFJMiNPPWs3Cnp3LXFMJFlDZkJiTVB2I3lS
R1ROfmRmKkprOG9nSUJefG53T2BMczlEPkU3TSoqaE5yendobn5zZnZVMGh2MWo+RQp6bD5zZDlq
MX13S0Y4a1clVn5tbnApO0cxdUhKKmYzb0A7SEtMbClUKiMteVJNZCFARlVnUHk0RGQlSGlZbjw1
eE8KekpuZEcpPGpeQXt4JSZJMTtJVW4kN1E+Y3laOHNtWT1pSVUkSj0oKEwqIUVhQ015SWpRaXlB
Nl9CWX5hJWA0P08zCnpIIyR1N2g/QFo9R3NlTiUqdSl0KDlyVEJuQ0l2R3MyQUZZT1E/bTx7VnlN
M3U1MC10Q0E0T3BOZEswNTBwcXZAPQp6MT9+dHZaczVWMmA2MkBWSnJOLWhkTjNJTF9gOyhyZGlj
bzVfcFFxTHIqb1VlVn4pMTdxcDd0aW5Ud1YxTikmNzEKemxud2VsYW0kVVh6KjtiYlgrNX5xXyRS
PzNebHRLQiEwQC14b3lnMXBAO1lqaXVpPklwVE9LYzdlNzZtY1IlTXVyCno5dGBncT9mOTApJntY
ey0qYD8zSGNfV0EqLUpuajtVNSExblBuVFlXN2JvKUpyVGwhaEBEX0wyTmQmTExENCZVVgp6aiZV
QzQoWEBKIStBU3RtR2cpQVVtRGl3ajluTVYwZHpxc2lsOSFxKE9GSEo1NHBzQihFazB4SWYoPHU/
PjI3SngKelh9WU9gbiV5czgtO0NfMVJTZ0cqYzhobUIpJjJIMF99NSFKQjdGOFdObFZWbDUqSyVm
UDFTMihnQzI4PilAI0V0CnpUfktCKzNEemBPalBeNHE/IXpqbm9lU3R2VHxoU28tSVdNVUsxPXM2
RlFVdntISSR6dz9jU2JHSzE9RWw2azFEeQp6YEg0K0QpdyFpKT9YTHk+Q0xhakZpcT4hVDcrc1ds
a30/RENFIUJiJlZAaFk/PU95YVoqSkQ4PUl1JCgmdDNPfk0KemZiSF5idioka3ItVTBxJTs4dEV0
PjZOZkxXOUl+Qk1vRz9wWUNjdi0tJmZnTXBFYypYdHJvYTEwcGlyKVM4IShiCnphUT47c0Y0cUgk
WVd8ITErXmdRPipRSWF7NUBrOyMoViN6Rkl7Nik/KmdkY1pfS2hrQU1xMn1UQmlGdHNBP2Q9YAp6
KVZUMXdZcDU2dDlQNihPbWszRyg1V0UmO3dRbUdUTH0lRlk/JUptRDxlMl4lQGZTWVp1UGE8VkV7
PjhralZlbDQKejl3emtGYkZBNFEqJGglbTloPCNtZ0F2S0pSKUdaS2FeX0lJeXxiTnlyK0dCdmFq
b2B+eWBHZGlBaUd+fVZsfW5SCnp5RkdoPWU2WUAybkJjcSUxb3FjbyFXU3lQYUg5fXZpPTclO3pT
WWUhTzhVPH1LWU8ockNyPT56dX5Uc0d0WUFQZAp6NGN7JkozPTNDMiFwfHNfPTM5Yyp7K2BPdXhu
ekgpZSlZX1ledFUmPnIjSDJfaDJgXkYlP1V9QERyK156X095I3YKenBwd3lgeldWSCswKEkodDFa
dnJXUVV1PyVOZzkwdWBXO1kpQ344amVibyliPClZQEMpRVYzdyVuV0l3dT1KV0RrCno9N0hJJStM
I2tiPl9ZYGZ1ZUN9TyhHa1BwREtFPFNtPn09MSRYRUx3XkJJQ2NjQDFsU2MpRWFYIzZVdio1QSlP
SAp6Q3s0U2ROOD15OSVAPGR0dl9JaHcpfEZLMXVaKllgWSNyTkluMH5zUWV5IWZaSWdLRyVsJTh3
dHJ2YCMqRUJQJE8KejVvO0khRFRzayQlNTNZOGRlZnc3ITdZP182Zzk4VVVWd201bT5CKzZJYX1x
N0Y8aE1fYn5ETUNXX0xWWCUyfU5MCnpHe0wmYiZpVjJyLUxBdyVCNEshdClCTmVBUyVQekIpJXdX
I0B+NH05NUdMWiEmbzBwMG9INWVITSVKJDxCfiRsUgp6KTxANWZla3s1JncxR2VhdmxMU0k2O2Ml
e0ItIypPOVAhXj1gSyFibCVzWj4mKkFPcnBGXihAQylKNjxONjhyMXIKekBFbj9xWWZZeGBPIWVB
bSZhUXZhNVAzdHRZMFJaK2xFTzNqMV4wO2N4T3RRYFR7NWdRKXZJfTskJVdzb19TbSFaCnpKSHpI
K2tUcDJQdVg3dUNSTSNlbFo4JFRZbShmaGFRWUxSZiZ2X0tTbUEyayo+RG0rRUQ1PDx6dmM1VSFE
b31NJgp6NzZWU3k3aVIkfkBffDkxdkxrb3NeWkM7U1hfcVF1SSUhIzRWOTBYc0MpO1RlQl4rLWtn
VE15UTdoMzhrTzY2P2oKelpMSik+NH1GSypXOFdEeDUyfm1SJmdEJUV3Mm9aJmhUXjFMejglcGcm
QyUpbVQ+aX1RSS11UURJOGRvYCNQe09ACnpqPjJyPSk0NWgrJHdUJTlMdVNoRUclREJpR2NgeDFG
fS18QWZBSXZicXVeSHxBVHluY2RpfiQySkNncntxTG83agp6aUImTnFzPl9pNEBPdGw1Qkw1QzNI
STM5eTckJHpCbFU9KzI/TGE3MkcqdGgySm9TeWJWJWJxWlZFbGZjNTVNWW4KeiYxd24rWDtAVUwk
SitrPCRGcCsoVGo/fGVYJT1vSCtSSk9Da1Y0YnFRaGhfRSs2Q2BacjtWVm9lV2tOPjgzUmlECnpW
U2tCe1ZXWU85Pj1VOzg4OHUqNmMlODQhPyExSnVgWWlXMVB8aFRrYDtTdHExeiZZPlBQM3h6Ozx4
JTBgZyl3MAp6UkkkIztjen1+O1lqOT9YbHdeeUxUN1hXb0BELXRQKy1fI2dkWGt5TXJ7O1pzKlFF
VGRiJiYzWHRfI2p6UT9TTUkKelpHYEFoP2hhUHR6fHA7ZngtdGA7dU19SFJTPVlKNytqU01YX2ZB
YGAkPmFBeFFeVjZ+TUVZVXdZQVdCQnMqcXxaCno/YyhubUFEaXttOHc9M14jZVV3VSNybSFOeXQ3
S3lRPTl0P2hqRmN3NjFtdTwyQ30lR3V2YnxEMztOWStBPFR8eQp6I1F5ckNfO0swekhIVXM1ZThq
ZCspWiZSOU87UDt5SW5pNUtqWmhxcVhOTkA3Qz5TeGxHKm4wSCp3Kz80T2FrJVQKempKLWpwX09W
JHwhc2puPGNpSl5HSTlnWV8pPW9DSFlCKHI5b1ktdjx4aTsjKiQ8RFpHTEpuZFBiYXRTN0wtYlNl
CnpgMSRHazw2KV9MWitCNEZPXkZ6VmU5YEoqUG4zfGlXIU98Yi1KfmY8SVdObDxfRl5DP3RZTD11
UUEqT2EkWUBaPwp6cX5JNGJ3QlFieCNxQWFiPmMlNnMkQSV0SkN2VG9sSCNjKGI8NSZBeHpNNSt5
aEQmJXdLXjB0TnFLZitjd0crUmkKemM0NjZEIUpJb194Mk8ybWM4cFFnVktBPCo9MzBZaTlRfTIj
c3BqI1IhNXVLT2tRejB0NEVucCN1fWs+PkU7UmI1CnpzLWswS2NrYipmVUhCTF4wOXdlOXF9b0kr
NVl4bmFzJlpPVUg8dnl5cF5IVFIpTmhDTmpicDcxbzBgKGtxflNeYQp6KmtKIz9ASkNGX1VxcWVC
NTEqZW05dUxETjY2QHNLWT9yPmkqeihvYzt0Vm9zO319QElvVzA/RlEkPWlaYE5CMjAKekYqTiR0
WSZidEleN1NyN1VjeFRfR1k7UFFHIUFpJGZDV0FBbD5HWnAhLVVldkg5Z25qP1Z5blF6USkxJnJr
fDtICnpaUmxlOWQ+WjM8M0FiP20rdUpQKXZPblVGOE45S1ZyKHEweWhtdEthbyNgMj80R3Y+NlIl
Kj00e0ByKnNER1ZpWgp6KDAhZ0EoM2VIP2l3PjgjM0FUdS1ZSGQpdUpeU3BPUzttbCRRY1MwXnVZ
VC02anQ5PD88UGpHOUxNbiNSK1VtSUQKekI4KSVHRTk1aWMpOUNyKj5HUihAa2tmOXY4dF5fK1FP
Q1dXRz5ASDZxYnUtP0RzRXJHcHIjajcrQmVMUyhMIU1yCnpSSj0tSXojbFZZblJWOV81alIkMT9k
dldieTg1OHtKK35BJmNYUUM9YUtII2gjU0FhOCQ3ODVlYzRJbGQjdiZvdAp6Z0ltU3V7ZVQoZFcy
WitLPXBHYTRPVyprd2UrWSVlbUJUa3J0XktHTDZocWV8K2hKY1RvJC02dDFeUCQ1KSNoM0sKeilz
Rys7bGU/QjhDbnNUWEJTeXBmQ2o4KmtuXmtqPE1oWlc1azUlcV4lYShnPWohbTAqdH5GblF6SHd8
P2VKdHQ1CnpRWmwjVXVwdCF4UWdTOGdXelh2eXF2QEs7PHpiVHImKnBYSyYkUHApaEtafCpOLTBk
Mlg5YnN6VUUzJDVKKk4wawp6SndiJSZ2YmMybUVDYj4+bTlYIXpKP3ttYlgreVBvKWt5N30rbSEo
UV5eKmcyTjNyLWk/cSopO1U5I3hqK3tmZjwKeiNEP2xyRldRbWJKNl8pYjghTzl2ek9rWCUmJU8q
QGwoMSl0P3R1WGAkTklXJm5jbHQrUXw8MjhzMS1eKVVtSFVgCnpYT3s2NTJWRUVYcFQ5PTBQYW1f
NTh1UEcjRDkqJGhmKHY4SF97UjxGcE5OLWIoQyleSytQOXVmX0hKd2AhX2BOSAp6a0AkeDxoUWxV
ezlfP2pTMXsyUUomSnhEZ0BjQC01ZWhNKXFCP340TjxBJHJTN31RTUFianlkUjQlY0soKEpFZGgK
ei1nNWo3Y3FqQDhMQm5wKnA0RUc7YThvYG1ZM1glZD1lIWBqbikhTSQjNUc5SExhQ2l+ZCUzPyNj
X0hkPSk7bWM9CnpjM1N3VmVGZEBNWEY3cUVUMHFpbW50e2l2ZHRrbVojKXhFI1YkfiRjVkF1IU1F
a19nJE4lajg5KHJTUyh6ZlAlPQp6S0ZROTxRNipKK1Z2U1VPMSF3QUxhWWNwXzN3fWo8NVZhQGhi
P2hAVD1CaXBLI1oofmRDZV99YWB2cmxLYSgjUm4KekxyRXNQbjk5RCFNIUwmQWohV3B6XldRbyRz
YzV9cldtTFF0ISRqJkcjfnU0cGxTcDMoQUQ1ZzFRYXotZl85elpnCnpedExEJVZvSFhNM1h8cHNx
Mz5nSWFQP2VjYTxCfFZZJHEoWl40e0U9T0lzU0p2Q21IfjkmcmJQT3tPUzdFUkBtWAp6ZUhERkA9
cz44P04zaGtlV2F3fmVMMDFrWGlDfFJ4NXZrbHBSYFpIMSZSXkpaYDUxWjZidDIyOWlgfkFILTZM
QVgKek5LPDlCNl4lRD9KPSptN208K3BQcj1hcGBXXyhSWGU0RnJLWDJhNEcqTDZlcUlhYz4rcnso
JCRoU0NBUU0qWTx2CnpBZiF7ZkVRWSRMLUZvPUgmOFk5MnM1YWtCLWQyTSV6UjZ6TmBvTX43eksx
Oys+Z1YwI2B0IVhlKSN3UDRQUDImaAp6QGozfHclMihvV0xxVCRaeHJZbEt2YFNPaWh5M0JqJmlz
THdHeTEzcmJgbm16OHJnIztMVmF2cz5HKTRsYjhkd1QKelpYUGR2N3FlWG83KHsmPlZ1PCYmQnIw
bGRtWFcpNXdAZTRgcn4mSFRaN3dvTmYjPl56MUFZMDVJTXZWP09MQWBGCno0dURTcil6VWloe0cm
U1UhIXtnVzw3O0VxTFRSK349PTFEZl5rWnZmdCt3bDMxWj0rdCF4VlMzX0ZzYm13TCZaZQp6MyFY
eCVwIW5BTjwlJj9EKyNLJmtYPGxsZ3JXfUZ2S2U3Ykx5Wj1yIUp6aldZJUJHSEdBMzhjUXdSO3w+
aU8tRk4Kej99Vz9+KEh3JD4qMUh+Xm54bWY/d18wO31RRERLZmJyZ0h1UlFFSCFxIWFKV0ReI19U
R2xld1lKRHwoSCp6NnF8Cnpxa2RKald6RVEyTG58dWw3R3pVaGJANSgwbEgrIVg2QHprKnE8Q1Mr
dDc2dFp5VlZPdDNub3IpKjhSUE9XZEhPZQp6YEJ4P3w9QmVWUVUhX05hbFE1USFLPzZzMndhT3tr
MHgtSDMpe1hmI2dRdF9fKDJZQWohMHlyaV9EYkZgLWo1V3sKekQ5KmElSWxGU0BCdjAxVVUmaXNm
bkhCVj5oNDN7V0RzezRxeF48JE8yYWN8ZFdwcUB1Knk3XnAzaVpfZSE4fGFpCno0dmRndVNFZWlK
aXBrWTR2M18qVGhLWGtSTkQxXzshWTFSSCtzeFYkTyRhWktfKy1ZNT4xflUzYFh8Q09Lbyk+JQp6
aE5YPkUxU3p0MT0rPTxQTWhmTTRUXkxzc2xONHVFQGoqU1dXOWZ7ZWMpV2k/UmFHcXlKa0lKRVZR
MUF6RX5AOGkKekR2cXl4YjhiSVkkJk9TUXc9S3I2T3dzQj9oQDBuLTZYITA+Tj0jUipMPzBNclVN
SzlKQzFARjZPJXE+MTgmbHJKCno5PmAhI0tGcmVzJT9VTSlEfjdONkQjeGlqOSV8fSUrJm9FfCN6
RklaTFc8cEtYMyEpQmNlMU5fYzR8JHlPTUUhfQp6JWhGS0N5d2o3cSghNU8qRD9IRUE4VCUtTE85
M0Jza0Z+PUAlYkkoS0ohJTl4PHxYJDB3TUpIQEVCJSFwcnxpU0EKei1BbjJaIThwb2AoMSU+T1Q+
S0E1dGAzVEBNOG8jNUtzfTNCdmpeJnR6cCE0WXdiVU5NbDJQUmxHckNEQDleeVlPCnpQUWJQRlZi
RGJxKWpgakVxOVB1NlprRXxOQUxZMjVqeH5QfmJYZVF0aHg3MHpvI1VhNWB+YFkkdHE/fXxHcSlH
Kgp6PC0tSHB0Zj5OTER7M3czOUx0bVhwKnA/Sm1HV0glUj1Ba1JUUE9zLS1hVyspUjg3RD5fKnpO
a3gmT0FeTlRrSkQKelNednlzSURSTyhifGpvKnBaMjEmdEJtTl47R2pmPHlnPElPbkcpeVF6Pnxi
em1ycl5pNGM/fGJgcDF3OWBoVHYtCnohbk1xZTZBRHpCJkkkQjd1aD81VDtuaVJoVDBXMClNUz9q
bC12TXxSWTNwQWFvMk5AWnw1JnJJZThYKVckLWt0Nwp6Y2JOajk7a3hwTW91cjVWOzxqYFpxcVQ5
M19WYWpMIUdffEZNclktVWBpZjxKQTVRcyUjcDhJfSNIS0Fma1pwPGEKelJtVUNSQFB3I01Hb1Yj
dHt0aEBoaXlHbkJ4cFoycUQoOUNMPHNBTTZEWEFpYSlwKmdCRnJ9NXsjOWllb0U5QSNvCnppd1o+
SyMrUl93TThAZDhpZk4hJXljSnt2S2l5MGtJJj0mZXZOR25YUnFGRTxRaTYoLVBqbkdvVlo2SGtm
Rlg7UQp6ZX1fJn4hQHZRbG9kYTdPUG00fFFffTF3I2l8dmZMdDkpMz9xakpObzM2VUMpZXgmY182
KmVJYWc+aFJVSFRVPyQKekRzNWo8PT83MH5ZVXwtb2lEZjwyISRXQDsxfERsYFlac1EjPDg0K3tx
ZDdRdUAjfShVWnBlJHUwbnlBe0k2azRfCnpWQ31GVGVJbiRiU2U9KXp0PHlSRmReXmNxQHd7U19X
Jl80N3NPeCZ0UjI8U0F0NUF5SXNvdDFFUU04d2ZWVCNDOQp6aG42dCVoZCZuKTR+IVFsOSpYYCU3
OGtfcWgoY0Y5KHIxUFJhK0h1N3lvQGxURiVhdjZVN1g2SlZNYUlDcGo7NkoKeklgbUY8Q24tVnh7
IVVLaU4kfjd0bnYxJGUyTUZ7PTZvMCl7a2NVTHBDNU8jYD5RfDY8c2BsKlZ0UkJVPnleRWxsCnpX
NikkISs/U2NiZWREdlNsZUlSPVZQO3JobklLeGp5cGo1N1Z9TUZ6JTJmSjJNY0tVbnEjOXZjVF8r
KDRgZ0Zxbgp6bUU2RzchPGh+fGBXO2k9aW5uUUtGQVpGTk5ZTXl1cW1ZSEdrUmgyY3FUJit9aT5C
QzRKQyV2KHE7VldeMW1jeC0Kenh4UXJxemFeVH4+cURNLU10bWVpM05IcGVwVGZmbG1qO3JyZ3U1
V1MpbmY2cVp4aT12NjtpSXtZYmghRD1pQiQ+CnpeSH5OST1VK157bmRNakU/UHR7fVl9V29AVy1s
a3VkYUhmcGJVXmBQYFJ3eUE7e1dRY3xFb1ktQ2ZKazRyakJedwp6P3JnJSs9bFpvYE0qaDBDY3tx
bCorRVcrKGk8Sz5tMlppOD1ldW8pO3BjYGVsbkJ3dkctb2Q8UyZSRHcjSmJVRCgKenN5UWh7dW5S
Mj5qeiM0MT03YU5CNm4tQkliaiV2Xj9iVX4/Z0xuNV5gKGBZWTMzTkxzX0k2ZmFvSHE0SUQofktz
CnpDfE4oKitmKDc/QzV1dHw4UkgrVEw2QEEmfEd8Y0NRTWNZVz9BUFpyUkdkbk1eaylOZU8zQjxV
Q1E3VWZnMmleSAp6Sno1e0hPIWViYHV3JSVAbG9VQHM1aldIOzZhSVhRIX5zJT9vRzNsclpERW9V
UigtYWByYD1FbE0tdFF0WW9uQCgKenFKRU9LNiFvZ2xpdndFfDdEazJDI21KOEZaVzVoSHVRLVp6
VXBlSUVtRT9NO1F0SDN4KyVjQlghPUkyWE13TjNQCnpxfHwod1ZYVW8oSjtCd0hoWlZNIzhrTihq
dD1NPnZRSkx8dTxweEgrczkrNHNodkxjPFJyaTw7JkRFYUdxP01JaQp6KEwmbiZPKz5vMTNVfElt
WE93RnBsXm1RaGA3YW1ob1leVjFRc2lMaUsqeCh0SkhmTFcoTjE7I3N1UEc7ZzVMYkEKeiVjaWdX
Qkw9OXFicDVraSg8b1phTlhLRG1wOz0wTEQ+MHdxd3IxVit5Vmh8Mj1GZ3dSSCpCb2xRKnR2JWw3
aCFUCnpzcTd8b0xmQXk4KEhiPkskPlpBdTJBOHRNT2pNIThBY2pHUUtIQmhycCl9ZEFfXjVkO1pH
Q3Z6XipTe1U2ZjJ5Qwp6UiszZ2dIRnBxWntLJlZ3KlE0SiFvajFHXzxeeVVHemxuKUheakA5LTFJ
NTgwO1dWdztPRVBhRms4ZSl2S1h0TCoKejd7enR2S1JkTiZIP3dTM0xKPmtAPTZnI1Q9YHJ5antG
SGJsc25BfU1yYj5jRndkciRHJSsrb0I5aVklLUQpX295CnoqfkBvQEY8Kn5HKTMqcEV1UG4qUyFn
RmorQkxDKytsfTRQe0o1bnU8TDlLJFpUfDNAWTVzKSNAYmx6PEpTRF5sKgp6M2o1YGRAKHRmVW5x
N2tidWFZNWxyKkZLTWp0JD9kNU9nKVN6RGtGYGhsc3VCayp7WGJEYzlxKD5wcUhBcUhsN00Kek8o
PSRUd35GfkxAaXs7NlJxSXdULWM9PTdWPEdsNyslcGV5KSZFSEJ5fFJXTjd6JC1nazEjVSZSUEgh
NlBkJX1CCnorOUZxSFZ5WDtNSz8wTEIwdn0lTkgoVyhMdHtJcFU1elV7dmY/WnRJUU03dzI+Jisq
dGY9KDl2I0RBJCtaQEJqLQp6N3FUWH4zODw7cyVUTDQrKnZVST9JJUlEajF5PVR2WHgxM1ptej9t
c1ZmZFpXMVZ0cDZkdyoqVmNOaXRmY155YHAKeiR7Sn0wZW5yQnVkbn17KGV1QSU5JDsza2VqTldw
cWBKR3ZeeW95O204ZHhaZVV2eiUyams5K010MW87UipRS1IrCno3MDUxPkV1fm1FQHdzRipDZkFU
UEVMVWN1VnBQUmFRMysoeHs4b2pzYVVqQz5tZSVaMTVSQHpSLTIxZHA1THxWTgp6MCh8fEZxKEc5
S1FtT01CZzFnXjdXPko3LVckfjBNcmsrSnR5YSpTaEN0MW92eFBMb3NAelZ+ZVAkcD5AT1JJUV8K
ektzbW9nVDBXISYjUVYhUUNqWFVHP0hgJTY1NSo8RDlwM25WNU88dkBfVn1KJVh6SztwWVRaKHVT
WHt3dW1FTE1HCnpSQU9abDJXT2FHJWxJfHo5SCQ8Nyg9ZWtCQzYqb2NzU1g+ciorbnBuJXVMOT09
aUhrMm9PPnxIRXZaeDk/P0Qpbgp6Q1ZXajV7QX0zSXJLRmxBJj1Xc1MoVmpoVTxIUEtqaHNEKV9J
QD1fdXYoKzxmbm5rYUJvPWJRVGdeQyo2SHxpXloKemgrVDVkeVo9QmokOWxNUDZjNVU1NzVOJFd7
TihkUmJpbn1EJWZWJn48Kylpb3khOFVqazMjRVpLZ2sxWngzenVACnprMHFgRHFFJXxeb0x1PnBI
ZypUZF4lP21KaFU2UTZWYXd5VV5lbVJVUz1uYml2WF9qJE5PPD0/ailTMFFoKHl3Ngp6cyZDYGgk
dU00NDgwJjM+PGx5SWomfUVAX3w1PUwjS1g2Q3slS2xvSTN8Xyg9cVpBMj48LVY1VS1uREhGWjxL
aEQKekAqeH5JOHsqeS1eO0xsNjNUdVZ2aX43YUdLKjMpaipJcDN7cDVEWSFVdjw5ZzU1YHFXLS1M
REEyQGt8dzh2MGxzCnpTSlZXe1RyanFxUFAjflRefkBQKng5TH5zOXtySEduYlRBelZrMmhwYkB3
WW1JcCVrZXVETkJeR144a2Q5SX5GeQp6JVNUZkBHUXJlazdPd3dNSCRCX0JwMXFvYi1YeVkrOG1f
ZVh4Iz81K3I/cDYhQHZBP0o/VmxTS2dYQ0JyTG4oV2sKeiVZa1dKND0mJTNtRHZpIS0xPk9ZUXdF
YUVsRklQYGRoMyFubUkyZUpNKX1fP2liJnFrS2RSSS0+ZUVKSDlWKm0wCnp1YjlBKXE2WlE4cXp9
WWxOVXJ2TD1RdXhuOTd+XyFKMXwjMjltSiU/bipDY0E+ekZEKzx2NlB7KUhybnlFTThTQgp6MCt4
SDAoVkBIdVJeZldZckBOJnxaO01vQHlCKzRHNHRwNnZAQmN4YHU7YWN3TnUwVjE3T2t1aj11ezZH
VGFAWCoKemozfUBHZzh2NXpSdzIrOCpCOXhEQyF2cSU3ZVhnfSFIQ2Q9cE9zPGBnQGsmOFU4bk9i
ZX1CO0xibHVaYHs4VFJECnpsJSsqJEtASDF7SkhqfUFHcyZMYkk4d1JXa1khWks0RFh8WU1eWSlD
S2VNQVVHcE5GbSlxez88ZUNYSn5aa1ZNNwp6bmhXeFVRdUsqfFBJaVkqXzheTkM4SUxidHpLSU9A
Nn5qOyheKG4hUzVRYjc7LWRFTFZkQGwtPE1eeUtPWkxzSFcKejQhUX05ZDZyKD1nVkVsNVRoQlRQ
R3R5QWUwV2tKNkZjb2krJCh7YUBrYFFBX0NIeyV6eX5uVXdpZTsxJHMwRjc/CnpWbnZ3dzgoak0+
VCs7YCUwQGYjbzZtK1phaSEwLWwwI31yQzV8KlFIaiNwO1ZOSkJuTlBgNn5YWTg0ezR3Tzc1awp6
Tjg9TzghSDUzXmplbFEqU09EVy0tKF9FSVlLbyV7IU1DVDJtcSZpe2hVZT43UnsqZXp7WT0wZ24x
OEskKFd6RE8Kej5DPUglanlpYz5QVSFOTV9kOH4kU0t+UkZ6M1RKJmtCPE56TkteX3AoI0QxUVls
cm9ackVJa3k4dk40QXRNd3tfCnpVO31hIVhSYCZ9ZHAoMTkwOFg9OyYmbVMrPn4/SG0/UkZ3dEhX
TjtFamxBVXBiMlJJcjxzbCErI0ZXNSM9IT5+RAp6N1RvYzwzKnF3cEt0dj8wPWJiVnJwJUl6ekZ7
VWI0PDImSXYjYzwyaisyKlc+IWRwa0dueD9rbnQ1eH48QTVfMSoKek4zRT0hV0VzI1NHJip3Qmty
K2xZbV5PNnFpdktpZj0zaH1jbTdySTZeNCtNcnVANX1tYkQhVGxUPzBsPDZhMTQjCnpBM0A5fTVi
ejlhbnRGay1UYEVmMnpLNTtXZkhxcyl4XkJAXkxYeW1UX04mfSkydHU9WXQ0MktsT0ptflJ0Xl50
Sgp6TjJfdilLYWl9YXtMIWk7SHdHTE5BKkdoe29zWShGYnE0NWQqd1JpfWBiP2lIX3E0b0BFfnhh
XkRRMFozMGVOJHUKejJ8cjhQOSkoUihUa2ReTzcoMVY1JFFxaCFJb3RVYXlldiFrPjsyRFN2QjVk
bDUjTl9NcmtFPURJSWZzXzJSLXAtCnp1fFhWcVd4NStqVlhIenQ8KXVQe3Z4NmYoKzR+YWwlSX1w
LWJYaDRUUClNWWUtOzNMI3V4UWV8PjY4VE0oM3ZnQgp6VWxtWktIYTNATkgjVGZDJUBJSy1VZEJ7
RyFCOHtNK2soNnxtRFdMKzx3azF+LWQlVE53UzQkayhRWEtKVHJHXikKelFJRlgxPDJfNDsjYStn
YFZHeXFAR20kPzY8R2Y8TzteK2BxKyRaPm5PRW9hc2B3UipqOXJGJXpfbHQ0akxFayVMCnpmMklH
XmFFXlVBOEJ+OylMMU8lSWBKPGtjLUE5QkVpaSpRajxuX09GJHc0MTFZViExNEd5VGQ2WD1+eXZV
NEV5TAp6S1R4KH4weWFPeVpgSGk3cmNwUD9kSzB5fXBFSUhHZE5KQDM/IX5IX01BfXV0dU5qdyo1
I1M9TkU2P0RNOzk5YHsKenY8ZVhFS2dobWlFP3NHT0JWdndPc3V8bmdFXkNpJmBVanJWQGNgYV5x
fl5PYGVlTGI9eFgzSnU7YDlXcXE8SCNSCnpkaSl6by1FS2FyYzRMbjw3PW1uWClHc3Y0MHtOUVc9
RXY/e0pzdSlOSXw9WDNkdHt2KiVgPE8mcGQ5Z3FDO1l8eAp6X1B+XnlwdkcreWlJM25LcWptWDc9
YXwyKkZeVWQoZlE/IX5SUzFNMkJlcUVkdT9PTnpOUlc1KW1rUVg5UzFZKWUKemE7c0tPNkYjOWU0
MmVOfnt9QV9Da3klS0FHVUJnLWdYPUNrb0E7NFd7K0xLd3QyNkVFWU9TTFkkKlB1d096RnltCnpD
aVk+aGctQUtXRiNvfGhgNkRjJlRidDU9dnthT088QEpaTHkxN1hXOHwmeEFadnxXWV89X2tGcExh
YmI/UEU3RQp6Yml8PUFXQFFKbigpQ31LSUo0RD0zPlhaczh6P3pgRSFNZW1WJU41P0V9UyYjSEZV
NV9tPFFuO21FRWNQe2ZEODAKemIkbGZ1STI2aFNheEZKcENzZSlTXjkmdjd0cWJGZ2oqSWpwVVNN
Y1Vma2syfV5ee1lzJU95JUpIQEs/IUxFRVklCnpFPE8pO0RxWmk+eyEpPHY3JnpYSzNVREJ0LStT
KzEzfGAlUG4xV0hHYiRtVUdwN15aVHBqLUB5YmEydiR6WCRLUgp6Pm9Hcn1HVSZnNVBYR3dZSnFg
RFJNNW1iRTI4QmZ6QnB2cnhMfncoNkZLTkdAQXV5REM+UncwWihTWmFlPkhlb24Kej4obFBpUGtY
anxffWBDI2B1eUwrO2JrMF5LZ2QkRGx2ZkgzZDFvXkE5eHRmdDdhNEVMRVZsK3c3S3g8dHM/cnJs
CnpnQWF0PkRBTVRTKFUxc2xRWjhOKXZ0S0ViYih1VDNkeXJjYFNtcDF9SjVjXmA2Q0B4YFF2Qn1r
Mkw+SjYxelVvMgp6IUp6TnBsVGJqYV81Q00zITR8ZylSYnZxSFlpO3lIaDQrZ2ZGZnltN3pZNDct
N3FuaSF6WEt7SEtiQUR2SHxvQU0Kel9JJWFpYzJqJihve2VhPj4kfmpiOyRrY0JlJWhSZzxgPH5I
VURMUkU2TDhYNGRKMDItRGVTViMrOThwKXZtUHVOCnpJdyNuc2YmKHQ1YFNtdF4/VHd9IUtKWHRs
JFVpOD0xdSpCKmVmSEpycm5paUxFVW16ZHE1Vkk0SXJESFJgfjhuawp6UHZPeDxnfGI5dERRaSg5
TmhYeXZnZSleLWhOemZpIyNVcnNOfmxtNip+MjVkODhaeUJXUW1ZUzNTJlpjV3NSfEIKejhUYEp0
Jk47djVKa0w0al9kRDExYDwqfEdZcmdaRGA/e31kVWliVV57PUMyNmB3bWZ9S2xlKSY7ZE1LZHt2
eXVxCnpebCQzMCNkNmtXMTZEPj9uTCs9LWdgQk53SSs5ZkVyMHZJe2t8OG1yZUpwam1UODk0blUo
c1JnOHVMblBTckJBRAp6NXo4OzFhMyM0Vl8xN2pQKmVOZTUlb1JIZGFsLU9FQGU9a0k+KG45fVdx
SExwXnhEPyReO3p1Y0NTRSVwK2k3dnIKekwxemoxVmA2IXA+NUpoRyo4aF9BQmszVWJGKD5xM1FW
KUhiQXRnWjlyd1V6cT5qIUlvenBedERqemZ8WXBBdzJBCnpGY0ljaV5UbCN7YnUqMWRsKV5fT01y
MmYzSGJYekY4bS0pcE9UYmY1UCh0eUlMR2V9PSRmTUk0MGExQlRWMz8qMQp6QVk+S2wyMUkzR2lU
ZmQ8WFU3PW80fGY9TVkpRz5KUkhCKz1HeStWPTJGZUcybWI5Tj8hX1ErT3RsdlMlbW59enYKelBW
S2xFNUA8YU0qY1crNkFlb0NjYWIoSE01PHR1VytKTVVQaHEyam88N3luMzA4a3FvUG4+OCVrPHha
VSZQRmI+CnokfW4lVGUrWXlqS2FHcThSan5jY2QkbExQPjE/RVp5RHxKNVR5SjAtMTJSSEByUDwk
ZmVaJU87TTIwJTtZKkxnfAp6Z0gmNVgodFVvK05takkwKClrdF9uT2hTNzVMYGheQjZYQHQ4SkRg
QTt5d25NNk8qM2UlMDxkJFhET1hSJEQ0RGAKempeMm5YeWNTakJtaTcmNUAjSF8pT3U3fF5vTkI5
citkJj1QdVRZMHFpV3lwSmw1Z0cmbWo4NlhXYH5CQ1VwWSYqCnowYmd2JnZ6I2hrYGUyRFVvfUB8
SC1waEFtVEJyWlgtbn42RFMpNyR+KFoxcEFsWERFKFI8b21pKWRmcHdTQ0s5Uwp6SGZ7UkRRKUhY
b1ZNI3MlaXlwMmUzWkg9ez9EdjFafDJYQntKYWpiRmNhdlZ4TFh3RF5RMTY8UVMhMVRuR3wlRzcK
eldiMyg8SFBhdT9WJmZqNkp5dUFUY2lVY05qOGFGPmdAcXJ5ciMwbWF2eWtIOUl8Wj9OVGp9OWBK
T2BOSD9ZejNECnpuU0VEX1lKe3opNCtuPEp2dnEjaVBDY2lVZEdXejdyP184WmprandaOU5lZE0r
TkhwazteXj5iJnpzQ14kTT9Gfgp6M0EjKXFNSk1VJm1XT2EmWnpTQXhuZT1neE9DeC03WVdIVDhI
JH1kR2lPR0coUVR3WEV1dlg/Nz1AZjUmPGc8SUkKelhDYmBxb0ctQjIlbjUkUXQ9YzJZNlleU3wm
ZTlPR05seXRjQlFWanB0b2F4QCVfYX48JU19SmpwYVNCYE4oJXdBCnpuM0U4QjZqVkgxd2I5JVRf
cUxePEQ2QXVvMShKKj5aPEJYdDVYSDB0dlZrTmtISlhnZVUjMnRUKElzPGt4Ynl9SAp6e1NiUUZ4
Vi15M0czazZqd2tfcG4yPyhQVDNgXiRyNWR1cjBsQmVgRmE5fWZqcUxAWnRDSzBOXlpVY3V8Vkl+
PXQKek8hY1MjOUZjXyUlJU1HODg1cH1eJCptfWIkRCR6akpFN0t1Mk13VmpSdEt1c3Aqe1RTVlIk
eVo/RkZ6bDs5NGpxCnpVPzlDVWZXUVVsVzQlRmM7bmUqR0VWeWhgS3BILVZgSEErVzRNbW9xcDR2
YmlDXlF7PzRlQilDKXY0ZTVHUzdEXgp6dmRNfT5lUzFgb3hXa0hrOCpJUGZmKE0yU2xoMk80aCQ9
aTdScWBrO008c3BLQkYzOFVoZyElKmsrQjFERlIjVi0KemxwTWoybikyI2VKUjNleXEkVUVRSEFf
M1YyUzs5MGZmaSUkNjZQNlR4JX1vbmNCWX0rPG1ZNmtSK1c5VUV9dmpHCno/V0U0dzBPeFlYdVR0
elVzbSNQTytUPExmKiY7KWlVX0E0bHl1RyhsQ1FgYFVBakhWRU9ZNnckdmg2I3RYdVFecAp6X3lH
SHA0Z1JObFgqYnZVRDZ4ZkZkfU00Nm5TezdfdFVrQkdudXBLT1hTXlA+eE5wVG9fLShyTkltKm5o
ZWpPSDcKekl7QWRXTldfJFd5eFdEOXFmTWtMSGZAUmRrYHY8aFlkIXdqZDBBPGgxYFJfRSZQcUdr
cml2cTgkNT4jfDA+UHNrCnpPNXImKXchaGlaREBlIWBZcUlsZmVZZnk2WmdCfXQqZDBNc14hRyl9
O0lYZngqWWt2MCpwe1ErP3B7cG0zNEJSUAp6QD05c2srWm5geC1MfE91O2tnXyFWWWxObzIlZlVA
eEJGP2t5TyNEfFZiX284WHNUVmxndVFXdGJFSiFsMytBXnEKejdyaXx0OGt0TCt3Kzs/NGsqKSZ5
Tl5qcGRTdF9BYlJVKGM7VktrQEMrZXkpczNvWFlUPz19c15RUkVtdWZvPj5sCnomYTZoQys+T2k0
TTwzRWIzbExeeW5DajhvIyRDV1okSz9zJmZVOGFiX3tRTVVUbUZoSzkxeHpReHE8Sjc+Q25yXgp6
Sz1gVDwwez1qR1Y1YVNjRldJO1YwSVElfDZ5NjU5JVhVQGhQO1ZnUVpRYEkwK3NeP1g0aHtTYj9g
P20+SX4+QVcKejlea0ZpMillbiUxKSs9Q2pZaXklWXc8NHg9M3VIbmx8WUZFbSZpSFhHbXg4NUom
V0NpVWZ7eHpTZmMhODM5M3dGCnp2K0teTGpmTkJsSEtiMT0qej5WP3ZiNE9WVCs5QERIKlRxeztp
UFdEQGYycmhAbFckOHlyfnZgM25hdHIpe198fQp6LTxaRVN2bD8zcGB7R0pXWmpSenVPKVpyJkFF
ZlF3T3JEPT0/YGtzdFlKbkstcmBqS1M4RkheeF4raU9ob2E2RUsKemloSHpQcFdzRkpIIUZIJV5L
b2FBNTMkbz92VUhfK19WRE5yTHNFQFpqUHZTVC1WVy0hUWZXa2RAUU5QQFgyKWpQCnp0VXU+bmUt
MzdVaHg2dig+RTxfNlRmSHVQOHY0WEd1LXlNenV+ZyNAemgpQ3p5flVqU2w5WTBUR0B8PFJyWik7
Mgp6P0J8T2F0alpiLVB9LT9YdWVlS0ROdnZNd2R0fjJsc0MwSk5IYUpXb2dtZmptUUM5WmtNN2Zp
P0pqKUBfPnUkPSsKejJMcH0yJlRrVjRtKXVvaVdrb2BpaipPcl88ejh5WWx8JmxOa2EjTGQhd2c1
SUEmKnYxWTdjUl9aR05WIy0zXlB3Cnp5KHdBfWRvLSVaWiohUTJUa0tgJlc1TVFkWmM4UWVNVklB
c2EhMmN6QjE7PyZkSD09e2RzYyQ/bS1ecjZfcytqPwp6XlV3YGlTc2N1MlB0UGBUeX1YSzBzNV9V
K3VXZGg/dShiKHxDSmVXRDZodlMrMiphUFJqbU05fHV+OyZQNm5QdW0KekooOEdZOzdfcnFGc3xS
RXojKXBpRntzYE8wJERIZmZqWnwyNUZsSkp5eHlWJCR1SD4pfDBybEFBQ3Q1SmE5fDdRCno4VlIt
Nz83TU1nJVoxRzspb3NkQVArTiRIJSFPYjJmbnx7c2xlVXpLYEpZUyFhbE5jRHIoelE/ZG8mRiEx
OHh2bwp6V3lJXnZEUmRFdEcrMGY2YmxrRDZNcyFXKz1FZ3dTIz1yLU5YYHlOeVhjS3tII3U5X2w1
QiRoJmYlX05BRy03bz8KeiRJMFpzdFRBPGMycHxpYjFRODUpVkVDckZIdV5eMzhYQlE/QHtWemg9
JW5ieS0kKXJxQX40YUI8SU9aSTV9Vmo5CnozJV9abmJ5V0xmNU1oe3ZFOWF9TzVDQDFSNVYmLT1j
Z3Zie215YnNWO3k/KEBFPmNNPTg1blJKX1UmSkNCN2YjRgp6anEjbVJ3NzleMHpxWiNKKz08PS1T
TG41UTYhdSQweiV9R3hFLVllMWJ+SUAxKFh3KnU/WiFONnJ7fEAwKnkhUDwKemxYTDRaZ1YwQEg5
VjtzOD8wZlFDWE03I09WKCtTeUZZSiQ3elF6OU0/WGpFMUVJeXVhOzJVQjNoKXJ7KHhee1pjCnot
SVZUbz0weno3eU1qXkE/bG0tPW14VlFHej9mZnxaITBeeHR9TFI4WVJyWDZnR1F8UEAhfS14JWZp
fWNPIyMyJAp6MkAwfGR1TmI8MmNEb21OSzluRT1MbiFZfk9IYTBlMmUxe3RiZVl3JG56cStWSmlS
bztmISVNeSt3ZUx9VzFza2cKenREb2goRlB8dTlXKkI/S25pRFlgaFNUazVGIU9DfVVTeEtReyo7
OVkra0dgXk57ej9IYklAVXZUNkN3IzlXfCF2CnpaOX1IZS1ISl47UkJRKzx4d3wrX15oQnFyOF95
eE9lU3wwVCkyYXZEdldlNUREJm1gUS1VKWBiIXVaVUxefD1UcQp6YlFKaE9kXzQ7Q0Ymd3p6JlRI
ZXM8OFVtSnloKTBUK3o/OEF8Ny1fMjJMMnw2PzxjTWBWIUhtPktMR345RVhOcGIKenN9YSkpJGhN
ZEo5bnYreEt4RW9jM0lYSnJrb09wNylGZVM4OClgfkVUNWZ7WGIpVWF8XyFIMW1TeDhUbnBnZzJN
Cno+Iz0oOWp3XyF4QHtvMlROTVZoMzE3NEdKcH4laChgbVB6ajteQnxpKH17OCpYYG47IVEteHc4
ZGYhfVRVPHRQKwp6QHAzVnNWO2p0UmR9aFA/Wm5TWFp0QEVgO2U0ZH0oPEF7PWFHO0g+fllXWiNC
VEc0TiEkPn1zQmF5eX0xazdrQmEKeilHQiFoVnF9VnohVllXTXcmWWpMaD4qKy0wZ3E0R3g0SHZ1
K3NwUmNFVi0wayNoPGdLWE1VOzJMQzVMZ29gK2B+CnpgaUo3bkZnRm42TVFjR0clamdRek1MVmdm
ZUt2ekB1WTU8TVg8NCQlSXdTTDw9QXpXZihZZWFHQW5WMkVtOXhvPgp6MTUhSkQreDg8PyZwWk5w
Uz9QKWh7TiljallrMjtVeVolbHh8SVE4Mm5qSnpkPXZjOCViKEtZUVYpVUx4azBYXm0KeiRLa1BE
QmFMPU5FN2l4PnM0fWJFRkE2ZnlTNm07RDs1I0N7XyRgUTwlaGJAZUhCUzx1QWM4ckhgTXp5TU1v
ZjVZCnprNlVrbFpjI3pJXntpeEBeT0VWaXp+IUBQeyZ+a1pFSzk9Z3A/QURJd2F3dz8jaG9vYUFv
Nmp8eFowZEMjKjRKTwp6WWJYOWpaT180e0NUU3MmJmQjPDxeZX5Ncnp3cSRpeXsmNHRgc3pVUTV6
RE5zN0xXTz5uRTVaQzBqSWlDVzs2T3oKelhjQSMmWShUJVBpbUEjR04wRElvTVI9ZnwjcktxVDdO
P0F8QkI5d19nNWpUIWlpfDU4MTAjLXdQWjtxJSY7JD1PCnpAaD9ANWd9TXY/OClSYWlKcCY1SzJR
KUplQ31jbyVQbzk3UWZUc19GWFdQY0M0fkMqRkpRREVLdHVaTn12KGlvYgp6Kj9mXz1OamUoV2lo
KzNfN3xgb0AzZT1PRzg0cFo5dmItSGBia3ohY1kkWD9vbSlRNmdoISMqRDNGaD1xVzdReDgKelE/
ITJkRnEwdDUyPUhqY2B+fDNEa0hFTmM2RD4tdU09bEslWG5fSjdHQU1ZelFKYGlwZDN7VnNkO1lx
NEs1RmMpCnokNiF7X25mR1ZUdkZ5QG04Z1JWcSV8c0dFeXppU3BUPFBocjk0ZCpjRUwlOyk8OCo3
KCY3Y09ZYX5ITXErP2U3WQp6enUhMU1hJXN2ITd0YHB3ZDhsX0ZJQyZqKldlRzg3aTwrMTgpbjYz
WCllMXlLY097TVpmfTF3PU1lemVeQ2h4dnEKemR7UzI2cGRhdFIwMipnTzZSWHFzUX5MRFpHM3F9
OT4jeVQ5NjJiPTJAdj9Pd0BfQ3tIJWx+JGxUV1B5dTMzNjkkCnp3JnVSLVQzSGQ5NTd+LSo4TCR3
b2dCXnRmJVJORHtubi1MeSV5d192e2RuXlMxPGB7Oz85ayFMOFg8dl97ezQ0bQp6LX1wJTZOOWVj
QkVuVVY0JS1rOyM3VG0oQ097YSU3Ry0haHQ/Snp3TEFaR2MjVmltOXZVbTw3MzZIO2RvSE9wUkIK
ekhsMl5UaHpkSTFhbF5PZEp8NXEjMFZ9d3liTDJvTmFgRWR4PSs/IVEqUFMoU0ppIUh4Mn51bGst
WnFxK2QtZHNSCnolQjtBPEQ+OzApVXd1RyR1MWc7T1k9XihLWDd+M210NmMkJGFaaiUhPCtKNlBW
YFleSjZ9TTl2Y3F6KTM3KUVMZwp6XkZEXnBDKUJAMmNvZEdxbUo9Yi1KNFJFYzkkQmBQYmFJeWhG
Nis3ayEkdH18JSV+Tzk0V1FhZjZ5b3VlNlZXfDYKejV7MUw0KzlhSS1EaUFybUI7YFVCZ3xhYiU0
NH5MaUJDa3RRakg3IWZzZ1lHaTBeWHVSQVB8VjcpNnVGKHY+e2pACnoybkwqKmU4JFJEQmVDMylJ
SGFzIXk0PG58KyFBWD1tV0J3bDBjIzJ8YDZJXnxQZiNRWkM2WXUhTVNAV0UxXyVJKgp6ODR6NGli
WDApSFZCKFA8eCRgP1RKP0ojLXJGcCEwYW1NMl9VKkpYdDxgbWlYOHw1WSNEc24qSW1CK1hoYGEm
RUgKenk9JEUwX01yUHMrbGswQXlEdzt1YXg4fGI5WkJfY21OOHBLXmw9b0hNZE8tZ3JLfCVfeU1A
b1ZBJDlVWXRWTHAmCnpCcWhiU01peDM0NVFnVXVCZjVHUWhTeTwqPGs3OGIpdlR3eExidnVtTjMq
eyN0PEM3bkFpWTlhKX11d3tZNUlhcgp6WmhFP3o2amZ3LUckWnFzTGN7bDAzT1ZJbmtrKHk3Sm9F
ZEwqOE97VCozJT54LT9DaTZ7dD59NGgwZEwybURYaU4Kenk7QVg2N3c+MSM2WWptK0ViZ1UkUHg0
V2kkZmt6VTZrM2pmZiNHeE96MS13PHlONU4jJCVnUkVoOEVNfk9ZQDhPCnpgO1BLXjlpNyU/YGc+
aXFUa3ZmM1FuUWJ9ckV1LVdJc01JSEN1PGZ9UktTJChTNHd9WERAcDVKaGR1SjtRSW5yTwp6VShH
YiVIR1AtWERLfmoreTUzKUlwKjhkMTtyc1FjQmAtZjA7bmszLTNYanp2KDYyLUlpJFZ7VE9hR3tM
dyg/ZWYKekB5NGtJVHIwblM+RH1oVFIjezxeazA3SGVFP3pXQFVCRl92Uno4cEtUckt4fnpkRyko
UWtRc3JDOCoqJXN4YEhZCnpJYWNhRSpKcEAoTm4peDsyIVJIXmohYEY7LUxKXkd0Yks7aSZ9MVNs
WjtCKX5rKU5uMWFocldYS0VXWk8ze0BJNQp6PzF+UlQzbV5ZajkqbWYzdjNQMkJ4S3p0eUYwZWwy
WEpZa1ZISXgrUTdBRmNTRTIyOWAwYCZJcnRFbG02LWN7QUEKek4oenB2VyNqSkJ7TmF6ak0hVTNe
N0xaelk3MyVEN0hUIWtJb0olO3lzJjZ9S1EqKzBTWX0xYWBoPkNWeXV3T15+CnopNUJkfitmSjJO
OU5QN0BlQ2kwPClVJGlrekRPbENEbn14NkxUNSRFJVcxekNkPnQwQ2ZNQURUe2hsPThKI0ZZfAp6
VmxQJHAkPDhWWT8mNDx9YCMkX1FPIzlUKz92TTF1byRkSmd6VklmcUpLTWpKMmBWPTEwcHs/SHEj
ek81S3k4JGgKejVOX2MpZWpTIXRXY2UrWDFUTGZiaWh2YSV3LSprbCpMRVh6ZUt6XnRGfC07YT0t
QGhoeEBhbHNYMig7LUNtcnVUCnpDXm47UFJzPkRvSSZKRyZlMktKYypIbjVka2EjRzNhRW0/ND5H
cHcoO3MrRWohZSRIUmEjQ0tpSEJpIThKWFJ8Vwp6dmFDQ21lYnpfQys9Tz09PHtwZTc3UmN5SzVf
VFMpbnBaIUpncUc1TmQkNGR9KEg4T1RGeDl0ciNiTkN0d01jaDAKelBKTmROUipVR0EpfHt5d1V1
NT5CTX5ffSU1Pyp8RVRJO29uQEQpZVNKOXFUMClRJlkxdnxFTms8MERyMHV0VWB8CnpURjhFXms0
QW51QyVzY1JkQFZjLSZgWjVuaXhBNFlmZUs+QTFqMVJUYF8mKWNWV1EyMjMmWHAmVFV7LVBlKGF+
dwp6dU9Nbz88ODJTQG40bjxRRGV6PjBlcEJ9OGJ5JXtnPH5wcCh5SyleU093RHZWQUZHV2hxaXRj
QUJueyUxTUVIR1QKenklNUBJeHUzVlRndTMrYXtVTlAwaSNZT1d7S2NtTkY8Iz1EIS03RHBkKitn
YFMxO1o0OVV7OCZ3NXpSQWt4T2dICnpkPTslZG1gTDxJP005Z3h4T0N2WWZYYSZ9PU9rYEQqcVdV
SkpGKiRKNlA4OChuOSoxSU9ePlFIb18oY2dVPGdwfgp6cnA4LV5jdGwmfWEpUHc7OVpGe30xdHI8
Syh5Nn1jdDAxb34hYWk0MDlNcC19TENCc2R0eE1OQWI+cGxfcFM+JGUKeigqa2AxQ1BMekhrIThz
YTZwd0BYWV5hO0k0aWx3KUJGS0pCPjhyejdlPCEjM0pTV2N2dEJGeyZNZyo1Y3g4PHQxCnpRT2c9
cSpUIyhsRCF6RyVYUkxpZEBKQGFnRkR7UElxbGVHTjk4VCFHUDw2bm5SXilOTDs2QlQkVlhnenRJ
RSNyLQp6MUs3aihfUGRfS0NnKm4zWjBUa3RVTG42d2JNR2w4eTYkPHQtNj96bCZwJjNzM1ZvUHRA
NzkyeEkhdyNTU3V8TykKendRZkNLUWAkZ3lMTkczJisyYWhuRHhSfWZZKWVZWSEyS1VhVikrTmZX
fGhGe0pfTDc1VzZUbE9oJUtRQEpgQ1RmCnoyP1lCX2A5amVBRWpRdkRWfjU1N3oxMSZpPiMjSXIq
Tnw1dFYkQClPZE5qSW9jI20wOGslWThTUHVHbW1sWkJRYQp6RkpFQHx6QWZtekA1PnsxP0gxTH05
P3EjP3FUfVFeKjJsfkZAdH5wdD1rYk9KbDZ4SkRgSml0ZF85b3NZQ0dwSUQKem9lTmNNWVAwcUpT
QG1CKzUyOGhyP3tnKlpxaU1lPSRDPlI5WWVrO3QoJFN5UHRTbkQmNHl8KD05RlVUNk4tK0R1CnpL
Vj1fdmgrO3w4R2tLP1pSRCRBIVU8SjZIVClVQGd5fChHaUk7XkpzZHFRTWxmXkMkQypEaDFqdyta
MEVtTTU7KAp6TDxDJWN5Xn4xdCRrKzVkYWNtITlfaSYxeXFJWmtWakptTW1mTGhuRilYYyRZbCNJ
c2RQTiEjKV5PJEApXlFRNHsKeikhPDFnYEVgRzZ7aHt9V0tWPClad0g1I0JLTHhSU2skNyU4RnU9
MXZYJUFMMig8YVhVcUhNNmNNJn4jJW43aj1RCnp1YSM4OD5SJjVgejF+JSNkSEZAXmIxUTE+bUZM
TmxNXyElcWFxaj5aZyp5OWBYZW8xVms3N2w8PH02OztuKmFIMgp6XklzbzFOYjl5RENHY1YyZHdR
KW11Xmg5KWl9SjtDOWpiUz1ub0oqRit0VFNmdik/O2spNkprQ1k9djhHU242SzAKelVBRFFNPyRZ
VU5MVHFXQShQfFF+cG9fZzApPWBtOVhINjh7SVdLaGEjfiM5N0tXeXctUE9WK0tCRytTUFRuPHQ3
Cnp3e3IwXzdrdzk4N0E1PFc1R3lDRW1ZcGtZSXgxSCpPYnpPcUs2Zm5DI1ckfEpKKl8tQmM8U31y
MCl3bTFYM1EjZgp6WCE5TTJUTnxxIXh7VnF6PnEje3Ure2l3JD85fFlFY2Z2OHNjYm9kWVFLcUJD
PW87QHdKOERpVUdDNkwpUXM9MmQKekJxaFBDZnxsRFVsdWNXQkhISSoqbio4MGAwams8PDFKTig/
ekF8Z2spWWhEbnZhV1YoKkVSWGo+NmB4R3tyPXRlCnRUPm0mQXxHT3NTVTtVVz5OMXkkWiY4cStU
KUEqTlopXz59QnsmJTxYez1ZdmVZViYlPmUqdkhEez1OVkoKCmxpdGVyYWwgMApIY21WP2QwMDAw
MQoKZGlmZiAtLWdpdCBhL1dlYnNpdGVzL3dlYmtpdC5vcmcvZGVtb3Mvd2VibWV0YWwvc2ltcGxl
LmpzIGIvV2Vic2l0ZXMvd2Via2l0Lm9yZy9kZW1vcy93ZWJtZXRhbC9zaW1wbGUuanMKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uZTYyM2E5ZTA3ODQwNWU1NmQ3MGY3NjMzNGZjNDliYTU0M2Y0YTA1MgotLS0gL2Rldi9u
dWxsCisrKyBiL1dlYnNpdGVzL3dlYmtpdC5vcmcvZGVtb3Mvd2VibWV0YWwvc2ltcGxlLmpzCkBA
IC0wLDAgKzEsMTcyIEBACitjb25zdCB2ZXJ0ZXhEYXRhID0gbmV3IEZsb2F0MzJBcnJheSgKK1sK
KyAgICAvLyBmbG9hdDQgcG9zaXRpb24sIGZsb2F0NCBjb2xvcgorICAgIDEsIC0xLCAxLCAxLCAx
LCAwLCAxLCAxLAorICAgIC0xLCAtMSwgMSwgMSwgMCwgMCwgMSwgMSwKKyAgICAtMSwgLTEsIC0x
LCAxLCAwLCAwLCAwLCAxLAorICAgIDEsIC0xLCAtMSwgMSwgMSwgMCwgMCwgMSwKKyAgICAxLCAt
MSwgMSwgMSwgMSwgMCwgMSwgMSwKKyAgICAtMSwgLTEsIC0xLCAxLCAwLCAwLCAwLCAxLAorCisg
ICAgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwKKyAgICAxLCAtMSwgMSwgMSwgMSwgMCwgMSwgMSwK
KyAgICAxLCAtMSwgLTEsIDEsIDEsIDAsIDAsIDEsCisgICAgMSwgMSwgLTEsIDEsIDEsIDEsIDAs
IDEsCisgICAgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwKKyAgICAxLCAtMSwgLTEsIDEsIDEsIDAs
IDAsIDEsCisKKyAgICAtMSwgMSwgMSwgMSwgMCwgMSwgMSwgMSwKKyAgICAxLCAxLCAxLCAxLCAx
LCAxLCAxLCAxLAorICAgIDEsIDEsIC0xLCAxLCAxLCAxLCAwLCAxLAorICAgIC0xLCAxLCAtMSwg
MSwgMCwgMSwgMCwgMSwKKyAgICAtMSwgMSwgMSwgMSwgMCwgMSwgMSwgMSwKKyAgICAxLCAxLCAt
MSwgMSwgMSwgMSwgMCwgMSwKKworICAgIC0xLCAtMSwgMSwgMSwgMCwgMCwgMSwgMSwKKyAgICAt
MSwgMSwgMSwgMSwgMCwgMSwgMSwgMSwKKyAgICAtMSwgMSwgLTEsIDEsIDAsIDEsIDAsIDEsCisg
ICAgLTEsIC0xLCAtMSwgMSwgMCwgMCwgMCwgMSwKKyAgICAtMSwgLTEsIDEsIDEsIDAsIDAsIDEs
IDEsCisgICAgLTEsIDEsIC0xLCAxLCAwLCAxLCAwLCAxLAorCisgICAgMSwgMSwgMSwgMSwgMSwg
MSwgMSwgMSwKKyAgICAtMSwgMSwgMSwgMSwgMCwgMSwgMSwgMSwKKyAgICAtMSwgLTEsIDEsIDEs
IDAsIDAsIDEsIDEsCisgICAgLTEsIC0xLCAxLCAxLCAwLCAwLCAxLCAxLAorICAgIDEsIC0xLCAx
LCAxLCAxLCAwLCAxLCAxLAorICAgIDEsIDEsIDEsIDEsIDEsIDEsIDEsIDEsCisKKyAgICAxLCAt
MSwgLTEsIDEsIDEsIDAsIDAsIDEsCisgICAgLTEsIC0xLCAtMSwgMSwgMCwgMCwgMCwgMSwKKyAg
ICAtMSwgMSwgLTEsIDEsIDAsIDEsIDAsIDEsCisgICAgMSwgMSwgLTEsIDEsIDEsIDEsIDAsIDEs
CisgICAgMSwgLTEsIC0xLCAxLCAxLCAwLCAwLCAxLAorICAgIC0xLCAxLCAtMSwgMSwgMCwgMSwg
MCwgMSwKK10pOworCitjb25zdCBOdW1BY3RpdmVVbmlmb3JtQnVmZmVycyA9IDM7CisKK2xldCBn
cHU7CitsZXQgY29tbWFuZFF1ZXVlOworbGV0IHJlbmRlclBhc3NEZXNjcmlwdG9yOworbGV0IHJl
bmRlclBpcGVsaW5lU3RhdGU7CitsZXQgZGVwdGhTdGVuY2lsU3RhdGU7CitsZXQgcHJvamVjdGlv
bk1hdHJpeCA9IG1hdDQuY3JlYXRlKCk7CisKK2xldCB1bmlmb3JtQnVmZmVycyA9IG5ldyBBcnJh
eShOdW1BY3RpdmVVbmlmb3JtQnVmZmVycyk7Cit2YXIgY3VycmVudFVuaWZvcm1CdWZmZXJJbmRl
eCA9IDA7CisKK3dpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgaW5pdCwgZmFsc2UpOwor
CitmdW5jdGlvbiBpbml0KCkgeworCisgICAgaWYgKCFjaGVja0ZvcldlYk1ldGFsKCkpIHsKKyAg
ICAgICAgcmV0dXJuOworICAgIH0KKworICAgIGxldCBjYW52YXMgPSBkb2N1bWVudC5xdWVyeVNl
bGVjdG9yKCJjYW52YXMiKTsKKyAgICBsZXQgY2FudmFzU2l6ZSA9IGNhbnZhcy5nZXRCb3VuZGlu
Z0NsaWVudFJlY3QoKTsKKyAgICBjYW52YXMud2lkdGggPSBjYW52YXNTaXplLndpZHRoOworICAg
IGNhbnZhcy5oZWlnaHQgPSBjYW52YXNTaXplLmhlaWdodDsKKworICAgIGxldCBhc3BlY3QgPSBN
YXRoLmFicyhjYW52YXNTaXplLndpZHRoIC8gY2FudmFzU2l6ZS5oZWlnaHQpOworICAgIG1hdDQu
cGVyc3BlY3RpdmUocHJvamVjdGlvbk1hdHJpeCwgKDIgKiBNYXRoLlBJKSAvIDUsIGFzcGVjdCwg
MSwgMTAwLjApOworCisgICAgZ3B1ID0gY2FudmFzLmdldENvbnRleHQoIndlYm1ldGFsIik7Cisg
ICAgY29tbWFuZFF1ZXVlID0gZ3B1LmNyZWF0ZUNvbW1hbmRRdWV1ZSgpOworCisgICAgbGV0IGxp
YnJhcnkgPSBncHUuY3JlYXRlTGlicmFyeShkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgibGlicmFy
eSIpLnRleHQpOworICAgIGxldCB2ZXJ0ZXhGdW5jdGlvbiA9IGxpYnJhcnkuZnVuY3Rpb25XaXRo
TmFtZSgidmVydGV4X21haW4iKTsKKyAgICBsZXQgZnJhZ21lbnRGdW5jdGlvbiA9IGxpYnJhcnku
ZnVuY3Rpb25XaXRoTmFtZSgiZnJhZ21lbnRfbWFpbiIpOworCisgICAgaWYgKCFsaWJyYXJ5IHx8
ICFmcmFnbWVudEZ1bmN0aW9uIHx8ICF2ZXJ0ZXhGdW5jdGlvbikgeworICAgICAgICByZXR1cm47
CisgICAgfQorCisgICAgbGV0IHBpcGVsaW5lRGVzY3JpcHRvciA9IG5ldyBXZWJNZXRhbFJlbmRl
clBpcGVsaW5lRGVzY3JpcHRvcigpOworICAgIHBpcGVsaW5lRGVzY3JpcHRvci52ZXJ0ZXhGdW5j
dGlvbiA9IHZlcnRleEZ1bmN0aW9uOworICAgIHBpcGVsaW5lRGVzY3JpcHRvci5mcmFnbWVudEZ1
bmN0aW9uID0gZnJhZ21lbnRGdW5jdGlvbjsKKyAgICAvLyBOT1RFOiBPdXIgQVBJIHByb3Bvc2Fs
IGhhcyB0aGVzZSB2YWx1ZXMgYXMgZW51bXMsIG5vdCBjb25zdGFudCBudW1iZXJzLgorICAgIC8v
IFdlIGhhdmVuJ3QgZ290IGFyb3VuZCB0byBpbXBsZW1lbnRpbmcgdGhlIGVudW1zIHlldC4KKyAg
ICBwaXBlbGluZURlc2NyaXB0b3IuY29sb3JBdHRhY2htZW50c1swXS5waXhlbEZvcm1hdCA9IGdw
dS5QaXhlbEZvcm1hdEJHUkE4VW5vcm07CisgICAgcGlwZWxpbmVEZXNjcmlwdG9yLmRlcHRoQXR0
YWNobWVudFBpeGVsRm9ybWF0ID0gZ3B1LlBpeGVsRm9ybWF0RGVwdGgzMkZsb2F0OworCisgICAg
cmVuZGVyUGlwZWxpbmVTdGF0ZSA9IGdwdS5jcmVhdGVSZW5kZXJQaXBlbGluZVN0YXRlKHBpcGVs
aW5lRGVzY3JpcHRvcik7CisKKyAgICBsZXQgZGVwdGhTdGVuY2lsRGVzY3JpcHRvciA9IG5ldyBX
ZWJNZXRhbERlcHRoU3RlbmNpbERlc2NyaXB0b3IoKTsKKyAgICBkZXB0aFN0ZW5jaWxEZXNjcmlw
dG9yLmRlcHRoV3JpdGVFbmFibGVkID0gdHJ1ZTsKKyAgICBkZXB0aFN0ZW5jaWxEZXNjcmlwdG9y
LmRlcHRoQ29tcGFyZUZ1bmN0aW9uID0gImxlc3MiOworCisgICAgZGVwdGhTdGVuY2lsU3RhdGUg
PSBncHUuY3JlYXRlRGVwdGhTdGVuY2lsU3RhdGUoZGVwdGhTdGVuY2lsRGVzY3JpcHRvcik7CisK
KyAgICBmb3IgKGxldCBpID0gMDsgaSA8IE51bUFjdGl2ZVVuaWZvcm1CdWZmZXJzOyBpKyspIHsK
KyAgICAgICAgdW5pZm9ybUJ1ZmZlcnNbaV0gPSBncHUuY3JlYXRlQnVmZmVyKG5ldyBGbG9hdDMy
QXJyYXkoMTYpKTsKKyAgICB9CisKKyAgICBsZXQgZGVwdGhUZXh0dXJlRGVzY3JpcHRvciA9IG5l
dyBXZWJNZXRhbFRleHR1cmVEZXNjcmlwdG9yKGdwdS5QaXhlbEZvcm1hdERlcHRoMzJGbG9hdCwg
Y2FudmFzU2l6ZS53aWR0aCwgY2FudmFzU2l6ZS5oZWlnaHQsIGZhbHNlKTsKKyAgICAvLyBOT1RF
OiBPdXIgQVBJIHByb3Bvc2FsIGhhcyBzb21lIG9mIHRoZXNlIHZhbHVlcyBhcyBlbnVtcywgbm90
IGNvbnN0YW50IG51bWJlcnMuCisgICAgLy8gV2UgaGF2ZW4ndCBnb3QgYXJvdW5kIHRvIGltcGxl
bWVudGluZyB0aGUgZW51bXMgeWV0LgorICAgIGRlcHRoVGV4dHVyZURlc2NyaXB0b3IudGV4dHVy
ZVR5cGUgPSBncHUuVGV4dHVyZVR5cGUyRDsKKyAgICBkZXB0aFRleHR1cmVEZXNjcmlwdG9yLnNh
bXBsZUNvdW50ID0gMTsKKyAgICBkZXB0aFRleHR1cmVEZXNjcmlwdG9yLnVzYWdlID0gZ3B1LlRl
eHR1cmVVc2FnZVVua25vd247CisgICAgZGVwdGhUZXh0dXJlRGVzY3JpcHRvci5zdG9yYWdlTW9k
ZSA9IGdwdS5TdG9yYWdlTW9kZVByaXZhdGU7CisKKyAgICBsZXQgZGVwdGhUZXh0dXJlID0gZ3B1
LmNyZWF0ZVRleHR1cmUoZGVwdGhUZXh0dXJlRGVzY3JpcHRvcik7CisKKyAgICByZW5kZXJQYXNz
RGVzY3JpcHRvciA9IG5ldyBXZWJNZXRhbFJlbmRlclBhc3NEZXNjcmlwdG9yKCk7CisgICAgLy8g
Tk9URTogT3VyIEFQSSBwcm9wb3NhbCBoYXMgc29tZSBvZiB0aGVzZSB2YWx1ZXMgYXMgZW51bXMs
IG5vdCBjb25zdGFudCBudW1iZXJzLgorICAgIC8vIFdlIGhhdmVuJ3QgZ290IGFyb3VuZCB0byBp
bXBsZW1lbnRpbmcgdGhlIGVudW1zIHlldC4KKyAgICByZW5kZXJQYXNzRGVzY3JpcHRvci5jb2xv
ckF0dGFjaG1lbnRzWzBdLmxvYWRBY3Rpb24gPSBncHUuTG9hZEFjdGlvbkNsZWFyOworICAgIHJl
bmRlclBhc3NEZXNjcmlwdG9yLmNvbG9yQXR0YWNobWVudHNbMF0uc3RvcmVBY3Rpb24gPSBncHUu
U3RvcmVBY3Rpb25TdG9yZTsKKyAgICByZW5kZXJQYXNzRGVzY3JpcHRvci5jb2xvckF0dGFjaG1l
bnRzWzBdLmNsZWFyQ29sb3IgPSBbMC4zNSwgMC42NSwgMC44NSwgMS4wXTsKKyAgICByZW5kZXJQ
YXNzRGVzY3JpcHRvci5kZXB0aEF0dGFjaG1lbnQubG9hZEFjdGlvbiA9IGdwdS5Mb2FkQWN0aW9u
Q2xlYXI7CisgICAgcmVuZGVyUGFzc0Rlc2NyaXB0b3IuZGVwdGhBdHRhY2htZW50LnN0b3JlQWN0
aW9uID0gZ3B1LlN0b3JlQWN0aW9uRG9udENhcmU7CisgICAgcmVuZGVyUGFzc0Rlc2NyaXB0b3Iu
ZGVwdGhBdHRhY2htZW50LmNsZWFyRGVwdGggPSAxLjA7CisgICAgcmVuZGVyUGFzc0Rlc2NyaXB0
b3IuZGVwdGhBdHRhY2htZW50LnRleHR1cmUgPSBkZXB0aFRleHR1cmU7CisKKyAgICB2ZXJ0ZXhC
dWZmZXIgPSBncHUuY3JlYXRlQnVmZmVyKHZlcnRleERhdGEpOworICAgIHJlbmRlcigpOworfQor
CitmdW5jdGlvbiByZW5kZXIoKSB7CisKKyAgICB1cGRhdGVVbmlmb3JtRGF0YShjdXJyZW50VW5p
Zm9ybUJ1ZmZlckluZGV4KTsKKworICAgIGxldCBjb21tYW5kQnVmZmVyID0gY29tbWFuZFF1ZXVl
LmNyZWF0ZUNvbW1hbmRCdWZmZXIoKTsKKworICAgIGxldCBkcmF3YWJsZSA9IGdwdS5uZXh0RHJh
d2FibGUoKTsKKworICAgIHJlbmRlclBhc3NEZXNjcmlwdG9yLmNvbG9yQXR0YWNobWVudHNbMF0u
dGV4dHVyZSA9IGRyYXdhYmxlLnRleHR1cmU7CisKKyAgICBsZXQgY29tbWFuZEVuY29kZXIgPSBj
b21tYW5kQnVmZmVyLmNyZWF0ZVJlbmRlckNvbW1hbmRFbmNvZGVyV2l0aERlc2NyaXB0b3IocmVu
ZGVyUGFzc0Rlc2NyaXB0b3IpOworICAgIGNvbW1hbmRFbmNvZGVyLnNldERlcHRoU3RlbmNpbFN0
YXRlKGRlcHRoU3RlbmNpbFN0YXRlKTsKKyAgICBjb21tYW5kRW5jb2Rlci5zZXRSZW5kZXJQaXBl
bGluZVN0YXRlKHJlbmRlclBpcGVsaW5lU3RhdGUpOworICAgIGNvbW1hbmRFbmNvZGVyLnNldFZl
cnRleEJ1ZmZlcih2ZXJ0ZXhCdWZmZXIsIDAsIDApOworICAgIGNvbW1hbmRFbmNvZGVyLnNldFZl
cnRleEJ1ZmZlcih1bmlmb3JtQnVmZmVyc1tjdXJyZW50VW5pZm9ybUJ1ZmZlckluZGV4XSwgMCwg
MSk7CisKKyAgICAvLyBOT1RFOiBPdXIgQVBJIHByb3Bvc2FsIHVzZXMgdGhlIGVudW0gdmFsdWUg
InRyaWFuZ2xlIiBoZXJlLiBXZSBoYXZlbid0IGdvdCBhcm91bmQgdG8gaW1wbGVtZW50aW5nIHRo
ZSBlbnVtcyB5ZXQuCisgICAgY29tbWFuZEVuY29kZXIuZHJhd1ByaW1pdGl2ZXMoZ3B1LlByaW1p
dGl2ZVR5cGVUcmlhbmdsZSwgMCwgMzYpOworCisgICAgY29tbWFuZEVuY29kZXIuZW5kRW5jb2Rp
bmcoKTsKKyAgICBjb21tYW5kQnVmZmVyLnByZXNlbnREcmF3YWJsZShkcmF3YWJsZSk7CisgICAg
Y29tbWFuZEJ1ZmZlci5jb21taXQoKTsKKworICAgIGN1cnJlbnRVbmlmb3JtQnVmZmVySW5kZXgg
PSAoY3VycmVudFVuaWZvcm1CdWZmZXJJbmRleCArIDEpICUgTnVtQWN0aXZlVW5pZm9ybUJ1ZmZl
cnM7CisgICAgcmVxdWVzdEFuaW1hdGlvbkZyYW1lKHJlbmRlcik7Cit9CisKK2Z1bmN0aW9uIHVw
ZGF0ZVVuaWZvcm1EYXRhKGluZGV4KSB7CisKKyAgICBsZXQgdmlld01hdHJpeCA9IG1hdDQuY3Jl
YXRlKCk7CisgICAgbWF0NC50cmFuc2xhdGUodmlld01hdHJpeCwgdmlld01hdHJpeCwgdmVjMy5m
cm9tVmFsdWVzKDAsIDAsIC01KSk7CisgICAgbGV0IG5vdyA9IERhdGUubm93KCkgLyAxMDAwOwor
ICAgIG1hdDQucm90YXRlKHZpZXdNYXRyaXgsIHZpZXdNYXRyaXgsIDEsIHZlYzMuZnJvbVZhbHVl
cyhNYXRoLnNpbihub3cpLCBNYXRoLmNvcyhub3cpLCAwKSk7CisKKyAgICBsZXQgbW9kZWxWaWV3
UHJvamVjdGlvbk1hdHJpeCA9IG1hdDQuY3JlYXRlKCk7CisgICAgbWF0NC5tdWx0aXBseShtb2Rl
bFZpZXdQcm9qZWN0aW9uTWF0cml4LCBwcm9qZWN0aW9uTWF0cml4LCB2aWV3TWF0cml4KTsKKwor
ICAgIGxldCB1bmlmb3JtID0gbmV3IEZsb2F0MzJBcnJheSh1bmlmb3JtQnVmZmVyc1tpbmRleF0u
Y29udGVudHMpOworICAgIGZvciAobGV0IGkgPSAwOyBpIDwgMTY7IGkrKykgeworICAgICAgICB1
bmlmb3JtW2ldID0gbW9kZWxWaWV3UHJvamVjdGlvbk1hdHJpeFtpXTsKKyAgICB9Cit9CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5k
ZXggOTZmMTRlOWJhMTRmYzljM2U5YzMwYTY4MzFkNjMzNDA1M2ViY2Y4NC4uMWVmNGY3YzIxMTU3
ZjYzZWY3MTI0Mjk4ZjEwNmU4NWYyOTdhMjNhYSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hh
bmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI4IEBACisyMDE4
LTEwLTA1ICBKdXN0aW4gRmFuICA8anVzdGluX2ZhbkBhcHBsZS5jb20+CisKKyAgICAgICAgV2Vi
R1BVOiBSZW5hbWUgb2xkIFdlYkdQVSBwcm90b3R5cGUgdG8gV2ViTWV0YWwKKyAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE5MDMyNQorICAgICAgICA8cmRh
cjovL3Byb2JsZW0vNDQ5OTA0NDM+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BT
ISkuCisKKyAgICAgICAgUmVuYW1lIFdlYkdQVSBwcm90b3R5cGUgZmlsZXMgdG8gV2ViTWV0YWwg
aW4gcHJlcGFyYXRpb24gZm9yIGltcGxlbWVudGluZyB0aGUgbmV3IChPY3QgMjAxOCkgV2ViR1BV
IGludGVyZmFjZS4KKworICAgICAgICAqIGZhc3QvY2FudmFzL3dlYmdwdS93ZWJncHUtcnVudGlt
ZS1mbGFnLWV4cGVjdGVkLnR4dDogUmVtb3ZlZC4KKyAgICAgICAgKiBmYXN0L2NhbnZhcy93ZWJt
ZXRhbC93ZWJtZXRhbC1kaXNwYXRjaC1leHBlY3RlZC50eHQ6IFJlbmFtZWQgZnJvbSBMYXlvdXRU
ZXN0cy9mYXN0L2NhbnZhcy93ZWJncHUvd2ViZ3B1LWRpc3BhdGNoLWV4cGVjdGVkLnR4dC4KKyAg
ICAgICAgKiBmYXN0L2NhbnZhcy93ZWJtZXRhbC93ZWJtZXRhbC1kaXNwYXRjaC5odG1sOiBSZW5h
bWVkIGZyb20gTGF5b3V0VGVzdHMvZmFzdC9jYW52YXMvd2ViZ3B1L3dlYmdwdS1kaXNwYXRjaC5o
dG1sLgorICAgICAgICAqIGZhc3QvY2FudmFzL3dlYm1ldGFsL3dlYm1ldGFsLXJ1bnRpbWUtZmxh
Zy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGZhc3QvY2FudmFzL3dlYm1ldGFsL3dl
Ym1ldGFsLXJ1bnRpbWUtZmxhZy5odG1sOiBSZW5hbWVkIGZyb20gTGF5b3V0VGVzdHMvZmFzdC9j
YW52YXMvd2ViZ3B1L3dlYmdwdS1ydW50aW1lLWZsYWcuaHRtbC4KKyAgICAgICAgKiBpbnNwZWN0
b3IvY2FudmFzL2NyZWF0ZS1jb250ZXh0LXdlYm1ldGFsLWV4cGVjdGVkLnR4dDogUmVuYW1lZCBm
cm9tIExheW91dFRlc3RzL2luc3BlY3Rvci9jYW52YXMvY3JlYXRlLWNvbnRleHQtd2ViZ3B1LWV4
cGVjdGVkLnR4dC4KKyAgICAgICAgKiBpbnNwZWN0b3IvY2FudmFzL2NyZWF0ZS1jb250ZXh0LXdl
Ym1ldGFsLmh0bWw6IFJlbmFtZWQgZnJvbSBMYXlvdXRUZXN0cy9pbnNwZWN0b3IvY2FudmFzL2Ny
ZWF0ZS1jb250ZXh0LXdlYmdwdS5odG1sLgorICAgICAgICAqIGluc3BlY3Rvci9jYW52YXMvcmVz
b2x2ZUNhbnZhc0NvbnRleHQtd2ViZ3B1LWV4cGVjdGVkLnR4dDogUmVtb3ZlZC4KKyAgICAgICAg
KiBpbnNwZWN0b3IvY2FudmFzL3Jlc29sdmVDYW52YXNDb250ZXh0LXdlYm1ldGFsLWV4cGVjdGVk
LnR4dDogQWRkZWQuCisgICAgICAgICogaW5zcGVjdG9yL2NhbnZhcy9yZXNvbHZlQ2FudmFzQ29u
dGV4dC13ZWJtZXRhbC5odG1sOiBSZW5hbWVkIGZyb20gTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2Nh
bnZhcy9yZXNvbHZlQ2FudmFzQ29udGV4dC13ZWJncHUuaHRtbC4KKyAgICAgICAgKiBwbGF0Zm9y
bS9ndGsvVGVzdEV4cGVjdGF0aW9uczoKKyAgICAgICAgKiBwbGF0Zm9ybS9pb3MvVGVzdEV4cGVj
dGF0aW9uczoKKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMvVGVzdEV4cGVjdGF0aW9uczoKKyAgICAg
ICAgKiBwbGF0Zm9ybS93aW4vVGVzdEV4cGVjdGF0aW9uczoKKwogMjAxOC0xMC0wNSAgSm9zZXBo
IFBlY29yYXJvICA8cGVjb3Jhcm9AYXBwbGUuY29tPgogCiAgICAgICAgIFRyeSB0byB1bmZsYWtl
IGluc3BlY3Rvci9sYXllcnMvbGF5ZXJUcmVlRGlkQ2hhbmdlLmh0bWwKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2Zhc3QvY2FudmFzL3dlYmdwdS93ZWJncHUtZGlzcGF0Y2gtZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvZmFzdC9jYW52YXMvd2ViZ3B1L3dlYmdwdS1kaXNwYXRjaC1leHBlY3Rl
ZC50eHQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDdlZjIyZTlhNDMxYWQwMjcyNzEz
YjcxZmRjODc5NDAxNmM4ZWYxMmYuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9jYW52YXMvd2ViZ3B1L3dlYmdwdS1kaXNwYXRj
aC1leHBlY3RlZC50eHQKKysrIC9kZXYvbnVsbApAQCAtMSArMCwwIEBACi1QQVNTCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9mYXN0L2NhbnZhcy93ZWJncHUvd2ViZ3B1LWRpc3BhdGNoLmh0bWwg
Yi9MYXlvdXRUZXN0cy9mYXN0L2NhbnZhcy93ZWJncHUvd2ViZ3B1LWRpc3BhdGNoLmh0bWwKZGVs
ZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDliMTY0ZDhkNGJmNzg0ZGJmNGE5NWJkMDNhMTIy
ZjBiYzBkNTIyYWQuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0t
IGEvTGF5b3V0VGVzdHMvZmFzdC9jYW52YXMvd2ViZ3B1L3dlYmdwdS1kaXNwYXRjaC5odG1sCisr
KyAvZGV2L251bGwKQEAgLTEsOTYgKzAsMCBAQAotPHNjcmlwdCBpZD0ic2NyaXB0IiB0eXBlPSJ4
LXNoYWRlci94LW1ldGFsIj4KLXVzaW5nIG5hbWVzcGFjZSBtZXRhbDsKLQota2VybmVsIHZvaWQg
Z2V0X2tlcm5lbF9zaXplKGRldmljZSBpbnQgKnJlc3VsdFtbYnVmZmVyKDApXV0sCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgdWludDMgZ3JpZF9zaXplW1t0aHJlYWRncm91cHNfcGVyX2dy
aWRdXSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MyBncm91cF9zaXplW1t0aHJl
YWRzX3Blcl90aHJlYWRncm91cF1dLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQz
IGdpZFtbdGhyZWFkX3Bvc2l0aW9uX2luX2dyaWRdXSkKLXsKLSAgICBpZiAoZ2lkLnggIT0gMCB8
fCBnaWQueSAhPSAwIHx8IGdpZC56ICE9IDApIAotICAgICAgICByZXR1cm47Ci0KLSAgICByZXN1
bHRbMF0gPSBncmlkX3NpemUueDsKLSAgICByZXN1bHRbMV0gPSBncmlkX3NpemUueTsKLSAgICBy
ZXN1bHRbMl0gPSBncmlkX3NpemUuejsKLSAgICByZXN1bHRbM10gPSBncm91cF9zaXplLng7Ci0g
ICAgcmVzdWx0WzRdID0gZ3JvdXBfc2l6ZS55OwotICAgIHJlc3VsdFs1XSA9IGdyb3VwX3NpemUu
ejsKLX0KLTwvc2NyaXB0PgotCi08c2NyaXB0PgotaWYgKHdpbmRvdy50ZXN0UnVubmVyKSB7Ci0g
ICAgd2luZG93LnRlc3RSdW5uZXIuZHVtcEFzVGV4dCgpOwotICAgIHdpbmRvdy50ZXN0UnVubmVy
LndhaXRVbnRpbERvbmUoKTsKLX0KLQotZnVuY3Rpb24gYXNzZXJ0KGEpIHsKLSAgICBpZiAoIWEp
IHsKLSAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdBc3NlcnRpb24gRmFpbGVkLicpOwotICAgIH0K
LX0KLQotZnVuY3Rpb24gcnVuKCkgewotICAgIGxldCBvdXRwdXQgPSBkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgib3V0cHV0Iik7Ci0KLSAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKSB7Ci0gICAg
ICAgIG91dHB1dC50ZXh0Q29udGVudCA9ICJUaGlzIHRlc3Qgb25seSBydW5zIGluc2lkZSBEUlQv
V0tUUi4iOwotICAgICAgICByZXR1cm47Ci0gICAgfQotCi0gICAgd2luZG93LmludGVybmFscy5z
ZXR0aW5ncy5zZXRXZWJHUFVFbmFibGVkKHRydWUpOwotICAgIGxldCBncHUgPSBkb2N1bWVudC5j
cmVhdGVFbGVtZW50KCJjYW52YXMiKS5nZXRDb250ZXh0KCJ3ZWJncHUiKTsKLSAgICBsZXQgY29t
bWFuZFF1ZXVlID0gZ3B1LmNyZWF0ZUNvbW1hbmRRdWV1ZSgpOwotCi0gICAgbGV0IGxpYnJhcnkg
PSBncHUuY3JlYXRlTGlicmFyeShkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic2NyaXB0IikudGV4
dCk7Ci0gICAgbGV0IGtlcm5lbEZ1bmN0aW9uID0gbGlicmFyeS5mdW5jdGlvbldpdGhOYW1lKCJn
ZXRfa2VybmVsX3NpemUiKTsKLSAgICBsZXQgcGlwZWxpbmVTdGF0ZSA9IGdwdS5jcmVhdGVDb21w
dXRlUGlwZWxpbmVTdGF0ZShrZXJuZWxGdW5jdGlvbik7Ci0KLSAgICBsZXQgcmVzdWx0QnVmZmVy
ID0gZ3B1LmNyZWF0ZUJ1ZmZlcihuZXcgSW50MzJBcnJheSg2KSk7Ci0gICAgCi0gICAgbGV0IGNv
bW1hbmRCdWZmZXIgPSBjb21tYW5kUXVldWUuY3JlYXRlQ29tbWFuZEJ1ZmZlcigpOwotICAgIGxl
dCBjb21tYW5kRW5jb2RlciA9IGNvbW1hbmRCdWZmZXIuY3JlYXRlQ29tcHV0ZUNvbW1hbmRFbmNv
ZGVyKCk7Ci0KLSAgICBsZXQgZ3JpZFNpemUgPSB7Ci0gICAgICAgIHdpZHRoOiA3LAotICAgICAg
ICBoZWlnaHQ6IDYsCi0gICAgICAgIGRlcHRoOiA1Ci0gICAgfTsKLSAgICBsZXQgZ3JvdXBTaXpl
ID0gewotICAgICAgICB3aWR0aDogNCwKLSAgICAgICAgaGVpZ2h0OiAzLAotICAgICAgICBkZXB0
aDogMgotICAgIH07Ci0gICAgCi0gICAgY29tbWFuZEVuY29kZXIuc2V0Q29tcHV0ZVBpcGVsaW5l
U3RhdGUocGlwZWxpbmVTdGF0ZSk7Ci0gICAgY29tbWFuZEVuY29kZXIuc2V0QnVmZmVyKHJlc3Vs
dEJ1ZmZlciwgMCwgMCk7Ci0gICAgY29tbWFuZEVuY29kZXIuZGlzcGF0Y2goZ3JpZFNpemUsIGdy
b3VwU2l6ZSk7Ci0gICAgY29tbWFuZEVuY29kZXIuZW5kRW5jb2RpbmcoKTsKLQotICAgIGNvbW1h
bmRCdWZmZXIuY29tcGxldGVkLnRoZW4oKCkgPT4gewotICAgICAgICBsZXQgcmVzdWx0ID0gbmV3
IEludDMyQXJyYXkocmVzdWx0QnVmZmVyLmNvbnRlbnRzKTsKLQotICAgICAgICB0cnkgewotICAg
ICAgICAgICAgYXNzZXJ0KHJlc3VsdFswXSA9PT0gZ3JpZFNpemUud2lkdGgpOwotICAgICAgICAg
ICAgYXNzZXJ0KHJlc3VsdFsxXSA9PT0gZ3JpZFNpemUuaGVpZ2h0KTsKLSAgICAgICAgICAgIGFz
c2VydChyZXN1bHRbMl0gPT09IGdyaWRTaXplLmRlcHRoKTsKLSAgICAgICAgICAgIGFzc2VydChy
ZXN1bHRbM10gPT09IGdyb3VwU2l6ZS53aWR0aCk7Ci0gICAgICAgICAgICBhc3NlcnQocmVzdWx0
WzRdID09PSBncm91cFNpemUuaGVpZ2h0KTsKLSAgICAgICAgICAgIGFzc2VydChyZXN1bHRbNV0g
PT09IGdyb3VwU2l6ZS5kZXB0aCk7Ci0KLSAgICAgICAgfSBjYXRjaChlcnIpIHsKLSAgICAgICAg
ICAgIG91dHB1dC50ZXh0Q29udGVudCA9IGBGQUlMOiAke2Vyci5tZXNzYWdlfWA7Ci0gICAgICAg
ICAgICByZXR1cm47Ci0gICAgICAgIH0KLQotICAgICAgICBvdXRwdXQudGV4dENvbnRlbnQgPSAn
UEFTUyc7Ci0gICAgICAgIHdpbmRvdy50ZXN0UnVubmVyLm5vdGlmeURvbmUoKTsKLSAgICB9KTsK
LQotICAgIGNvbW1hbmRCdWZmZXIuY29tbWl0KCk7Ci19Ci0KLXdpbmRvdy5hZGRFdmVudExpc3Rl
bmVyKCJsb2FkIiwgcnVuLCBmYWxzZSk7Ci0KLTwvc2NyaXB0PgotPGRpdiBpZD0ib3V0cHV0Ij48
L2Rpdj4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvY2FudmFzL3dlYmdwdS93ZWJncHUt
cnVudGltZS1mbGFnLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3QvY2FudmFzL3dlYmdw
dS93ZWJncHUtcnVudGltZS1mbGFnLWV4cGVjdGVkLnR4dApkZWxldGVkIGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggYWNmODgzZTczMWY2YTEyYzEzOTAyMTE1M2VmZTIwMGYyNDdlMDRmNS4uMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0
L2NhbnZhcy93ZWJncHUvd2ViZ3B1LXJ1bnRpbWUtZmxhZy1leHBlY3RlZC50eHQKKysrIC9kZXYv
bnVsbApAQCAtMSwyICswLDAgQEAKLVBBU1M6IFdlYkdQVSB3YXMgYXZhaWxhYmxlIHdoZW4gZW5h
YmxlZC4KLVBBU1M6IFdlYkdQVSB3YXMgbm90IGF2YWlsYWJsZSB3aGVuIGRpc2FibGVkLgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9jYW52YXMvd2ViZ3B1L3dlYmdwdS1ydW50aW1lLWZs
YWcuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvY2FudmFzL3dlYmdwdS93ZWJncHUtcnVudGltZS1m
bGFnLmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDE3ZWE0MmIxYjI1NzIwMTU1
NGY4YWFiODQ1YzUxZTk3ZWZmMDM3MDIuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9jYW52YXMvd2ViZ3B1L3dlYmdwdS1ydW50
aW1lLWZsYWcuaHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDQyICswLDAgQEAKLTxzY3JpcHQ+Ci0K
LWlmICh3aW5kb3cudGVzdFJ1bm5lcikKLSAgICB3aW5kb3cudGVzdFJ1bm5lci5kdW1wQXNUZXh0
KCk7Ci0KLWZ1bmN0aW9uIGdldENvbnRleHQobmFtZSkgewotICAgIHZhciBjID0gZG9jdW1lbnQu
Y3JlYXRlRWxlbWVudCgiY2FudmFzIik7Ci0gICAgcmV0dXJuIGMuZ2V0Q29udGV4dChuYW1lKTsK
LX0KLQotZnVuY3Rpb24gcnVuKCkgewotICAgIHZhciBvdXRwdXQ7Ci0KLSAgICBvdXRwdXQgPSBk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgib3V0cHV0MSIpOwotCi0gICAgaWYgKCF3aW5kb3cudGVz
dFJ1bm5lcikgewotICAgICAgICBvdXRwdXQudGV4dENvbnRlbnQgPSAiVGhpcyB0ZXN0IG9ubHkg
cnVucyBpbnNpZGUgRFJUL1dLVFIuIjsKLSAgICAgICAgcmV0dXJuOwotICAgIH0KLQotICAgIHdp
bmRvdy5pbnRlcm5hbHMuc2V0dGluZ3Muc2V0V2ViR1BVRW5hYmxlZCh0cnVlKTsKLSAgICB2YXIg
Y3R4ID0gZ2V0Q29udGV4dCgid2ViZ3B1Iik7Ci0gICAgaWYgKGN0eCkKLSAgICAgICAgb3V0cHV0
LnRleHRDb250ZW50ID0gIlBBU1M6IFdlYkdQVSB3YXMgYXZhaWxhYmxlIHdoZW4gZW5hYmxlZC4i
OwotICAgIGVsc2UKLSAgICAgICAgb3V0cHV0LnRleHRDb250ZW50ID0gIkZBSUw6IFdlYkdQVSB3
YXMgbm90IGF2YWlsYWJsZSB3aGVuIGVuYWJsZWQuIjsKLQotICAgIG91dHB1dCA9IGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCJvdXRwdXQyIik7Ci0KLSAgICB3aW5kb3cuaW50ZXJuYWxzLnNldHRp
bmdzLnNldFdlYkdQVUVuYWJsZWQoZmFsc2UpOwotICAgIHZhciBjdHggPSBnZXRDb250ZXh0KCJ3
ZWJncHUiKTsKLSAgICBpZiAoY3R4KQotICAgICAgICBvdXRwdXQudGV4dENvbnRlbnQgPSAiRkFJ
TDogV2ViR1BVIHdhcyBhdmFpbGFibGUgd2hlbiBkaXNhYmxlZC4iOwotICAgIGVsc2UKLSAgICAg
ICAgb3V0cHV0LnRleHRDb250ZW50ID0gIlBBU1M6IFdlYkdQVSB3YXMgbm90IGF2YWlsYWJsZSB3
aGVuIGRpc2FibGVkLiI7Ci19Ci0KLXdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVu
LCBmYWxzZSk7Ci0KLTwvc2NyaXB0PgotPGRpdiBpZD0ib3V0cHV0MSI+PC9kaXY+Ci08ZGl2IGlk
PSJvdXRwdXQyIj48L2Rpdj4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvY2FudmFzL3dl
Ym1ldGFsL3dlYm1ldGFsLWRpc3BhdGNoLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3Qv
Y2FudmFzL3dlYm1ldGFsL3dlYm1ldGFsLWRpc3BhdGNoLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li43ZWYyMmU5YTQzMWFkMDI3MjcxM2I3MWZkYzg3OTQwMTZjOGVmMTJmCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZmFzdC9jYW52YXMvd2VibWV0YWwvd2VibWV0YWwtZGlzcGF0Y2gt
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEgQEAKK1BBU1MKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2Zhc3QvY2FudmFzL3dlYm1ldGFsL3dlYm1ldGFsLWRpc3BhdGNoLmh0bWwgYi9MYXlvdXRUZXN0
cy9mYXN0L2NhbnZhcy93ZWJtZXRhbC93ZWJtZXRhbC1kaXNwYXRjaC5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LmE5ZDFlYTViY2YxZmI0NzZjMGJkMWFmZTEwZTE0YzA5ODYwOTExMDIKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9mYXN0L2NhbnZhcy93ZWJtZXRhbC93ZWJtZXRhbC1kaXNwYXRjaC5o
dG1sCkBAIC0wLDAgKzEsOTYgQEAKKzxzY3JpcHQgaWQ9InNjcmlwdCIgdHlwZT0ieC1zaGFkZXIv
eC1tZXRhbCI+Cit1c2luZyBuYW1lc3BhY2UgbWV0YWw7CisKK2tlcm5lbCB2b2lkIGdldF9rZXJu
ZWxfc2l6ZShkZXZpY2UgaW50ICpyZXN1bHRbW2J1ZmZlcigwKV1dLAorICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIHVpbnQzIGdyaWRfc2l6ZVtbdGhyZWFkZ3JvdXBzX3Blcl9ncmlkXV0sCisg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMgZ3JvdXBfc2l6ZVtbdGhyZWFkc19wZXJf
dGhyZWFkZ3JvdXBdXSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MyBnaWRbW3Ro
cmVhZF9wb3NpdGlvbl9pbl9ncmlkXV0pCit7CisgICAgaWYgKGdpZC54ICE9IDAgfHwgZ2lkLnkg
IT0gMCB8fCBnaWQueiAhPSAwKSAKKyAgICAgICAgcmV0dXJuOworCisgICAgcmVzdWx0WzBdID0g
Z3JpZF9zaXplLng7CisgICAgcmVzdWx0WzFdID0gZ3JpZF9zaXplLnk7CisgICAgcmVzdWx0WzJd
ID0gZ3JpZF9zaXplLno7CisgICAgcmVzdWx0WzNdID0gZ3JvdXBfc2l6ZS54OworICAgIHJlc3Vs
dFs0XSA9IGdyb3VwX3NpemUueTsKKyAgICByZXN1bHRbNV0gPSBncm91cF9zaXplLno7Cit9Cis8
L3NjcmlwdD4KKworPHNjcmlwdD4KK2lmICh3aW5kb3cudGVzdFJ1bm5lcikgeworICAgIHdpbmRv
dy50ZXN0UnVubmVyLmR1bXBBc1RleHQoKTsKKyAgICB3aW5kb3cudGVzdFJ1bm5lci53YWl0VW50
aWxEb25lKCk7Cit9CisKK2Z1bmN0aW9uIGFzc2VydChhKSB7CisgICAgaWYgKCFhKSB7CisgICAg
ICAgIHRocm93IG5ldyBFcnJvcignQXNzZXJ0aW9uIEZhaWxlZC4nKTsKKyAgICB9Cit9CisKK2Z1
bmN0aW9uIHJ1bigpIHsKKyAgICBsZXQgb3V0cHV0ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
Im91dHB1dCIpOworCisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikgeworICAgICAgICBvdXRw
dXQudGV4dENvbnRlbnQgPSAiVGhpcyB0ZXN0IG9ubHkgcnVucyBpbnNpZGUgRFJUL1dLVFIuIjsK
KyAgICAgICAgcmV0dXJuOworICAgIH0KKworICAgIHdpbmRvdy5pbnRlcm5hbHMuc2V0dGluZ3Mu
c2V0V2ViTWV0YWxFbmFibGVkKHRydWUpOworICAgIGxldCBncHUgPSBkb2N1bWVudC5jcmVhdGVF
bGVtZW50KCJjYW52YXMiKS5nZXRDb250ZXh0KCJ3ZWJtZXRhbCIpOworICAgIGxldCBjb21tYW5k
UXVldWUgPSBncHUuY3JlYXRlQ29tbWFuZFF1ZXVlKCk7CisKKyAgICBsZXQgbGlicmFyeSA9IGdw
dS5jcmVhdGVMaWJyYXJ5KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzY3JpcHQiKS50ZXh0KTsK
KyAgICBsZXQga2VybmVsRnVuY3Rpb24gPSBsaWJyYXJ5LmZ1bmN0aW9uV2l0aE5hbWUoImdldF9r
ZXJuZWxfc2l6ZSIpOworICAgIGxldCBwaXBlbGluZVN0YXRlID0gZ3B1LmNyZWF0ZUNvbXB1dGVQ
aXBlbGluZVN0YXRlKGtlcm5lbEZ1bmN0aW9uKTsKKworICAgIGxldCByZXN1bHRCdWZmZXIgPSBn
cHUuY3JlYXRlQnVmZmVyKG5ldyBJbnQzMkFycmF5KDYpKTsKKyAgICAKKyAgICBsZXQgY29tbWFu
ZEJ1ZmZlciA9IGNvbW1hbmRRdWV1ZS5jcmVhdGVDb21tYW5kQnVmZmVyKCk7CisgICAgbGV0IGNv
bW1hbmRFbmNvZGVyID0gY29tbWFuZEJ1ZmZlci5jcmVhdGVDb21wdXRlQ29tbWFuZEVuY29kZXIo
KTsKKworICAgIGxldCBncmlkU2l6ZSA9IHsKKyAgICAgICAgd2lkdGg6IDcsCisgICAgICAgIGhl
aWdodDogNiwKKyAgICAgICAgZGVwdGg6IDUKKyAgICB9OworICAgIGxldCBncm91cFNpemUgPSB7
CisgICAgICAgIHdpZHRoOiA0LAorICAgICAgICBoZWlnaHQ6IDMsCisgICAgICAgIGRlcHRoOiAy
CisgICAgfTsKKyAgICAKKyAgICBjb21tYW5kRW5jb2Rlci5zZXRDb21wdXRlUGlwZWxpbmVTdGF0
ZShwaXBlbGluZVN0YXRlKTsKKyAgICBjb21tYW5kRW5jb2Rlci5zZXRCdWZmZXIocmVzdWx0QnVm
ZmVyLCAwLCAwKTsKKyAgICBjb21tYW5kRW5jb2Rlci5kaXNwYXRjaChncmlkU2l6ZSwgZ3JvdXBT
aXplKTsKKyAgICBjb21tYW5kRW5jb2Rlci5lbmRFbmNvZGluZygpOworCisgICAgY29tbWFuZEJ1
ZmZlci5jb21wbGV0ZWQudGhlbigoKSA9PiB7CisgICAgICAgIGxldCByZXN1bHQgPSBuZXcgSW50
MzJBcnJheShyZXN1bHRCdWZmZXIuY29udGVudHMpOworCisgICAgICAgIHRyeSB7CisgICAgICAg
ICAgICBhc3NlcnQocmVzdWx0WzBdID09PSBncmlkU2l6ZS53aWR0aCk7CisgICAgICAgICAgICBh
c3NlcnQocmVzdWx0WzFdID09PSBncmlkU2l6ZS5oZWlnaHQpOworICAgICAgICAgICAgYXNzZXJ0
KHJlc3VsdFsyXSA9PT0gZ3JpZFNpemUuZGVwdGgpOworICAgICAgICAgICAgYXNzZXJ0KHJlc3Vs
dFszXSA9PT0gZ3JvdXBTaXplLndpZHRoKTsKKyAgICAgICAgICAgIGFzc2VydChyZXN1bHRbNF0g
PT09IGdyb3VwU2l6ZS5oZWlnaHQpOworICAgICAgICAgICAgYXNzZXJ0KHJlc3VsdFs1XSA9PT0g
Z3JvdXBTaXplLmRlcHRoKTsKKworICAgICAgICB9IGNhdGNoKGVycikgeworICAgICAgICAgICAg
b3V0cHV0LnRleHRDb250ZW50ID0gYEZBSUw6ICR7ZXJyLm1lc3NhZ2V9YDsKKyAgICAgICAgICAg
IHJldHVybjsKKyAgICAgICAgfQorCisgICAgICAgIG91dHB1dC50ZXh0Q29udGVudCA9ICdQQVNT
JzsKKyAgICAgICAgd2luZG93LnRlc3RSdW5uZXIubm90aWZ5RG9uZSgpOworICAgIH0pOworCisg
ICAgY29tbWFuZEJ1ZmZlci5jb21taXQoKTsKK30KKword2luZG93LmFkZEV2ZW50TGlzdGVuZXIo
ImxvYWQiLCBydW4sIGZhbHNlKTsKKworPC9zY3JpcHQ+Cis8ZGl2IGlkPSJvdXRwdXQiPjwvZGl2
PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9jYW52YXMvd2VibWV0YWwvd2VibWV0YWwt
cnVudGltZS1mbGFnLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3QvY2FudmFzL3dlYm1l
dGFsL3dlYm1ldGFsLXJ1bnRpbWUtZmxhZy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZGYzOTAx
YWMyY2ZiZTNlMDhiZTMzYWQ0MjVkOGVjZThlMGQ5NzM4NwotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2Zhc3QvY2FudmFzL3dlYm1ldGFsL3dlYm1ldGFsLXJ1bnRpbWUtZmxhZy1leHBl
Y3RlZC50eHQKQEAgLTAsMCArMSwyIEBACitQQVNTOiBXZWJNZXRhbCB3YXMgYXZhaWxhYmxlIHdo
ZW4gZW5hYmxlZC4KK1BBU1M6IFdlYk1ldGFsIHdhcyBub3QgYXZhaWxhYmxlIHdoZW4gZGlzYWJs
ZWQuCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2NhbnZhcy93ZWJtZXRhbC93ZWJtZXRh
bC1ydW50aW1lLWZsYWcuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvY2FudmFzL3dlYm1ldGFsL3dl
Ym1ldGFsLXJ1bnRpbWUtZmxhZy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEyYzAyYjEwOGY3M2EzOTQ0OTM3
MDM4ZTQ4MzI1ZWUxZjJlM2ZmNzkKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0
L2NhbnZhcy93ZWJtZXRhbC93ZWJtZXRhbC1ydW50aW1lLWZsYWcuaHRtbApAQCAtMCwwICsxLDQy
IEBACis8c2NyaXB0PgorCitpZiAod2luZG93LnRlc3RSdW5uZXIpCisgICAgd2luZG93LnRlc3RS
dW5uZXIuZHVtcEFzVGV4dCgpOworCitmdW5jdGlvbiBnZXRDb250ZXh0KG5hbWUpIHsKKyAgICB2
YXIgYyA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImNhbnZhcyIpOworICAgIHJldHVybiBjLmdl
dENvbnRleHQobmFtZSk7Cit9CisKK2Z1bmN0aW9uIHJ1bigpIHsKKyAgICB2YXIgb3V0cHV0Owor
CisgICAgb3V0cHV0ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoIm91dHB1dDEiKTsKKworICAg
IGlmICghd2luZG93LnRlc3RSdW5uZXIpIHsKKyAgICAgICAgb3V0cHV0LnRleHRDb250ZW50ID0g
IlRoaXMgdGVzdCBvbmx5IHJ1bnMgaW5zaWRlIERSVC9XS1RSLiI7CisgICAgICAgIHJldHVybjsK
KyAgICB9CisKKyAgICB3aW5kb3cuaW50ZXJuYWxzLnNldHRpbmdzLnNldFdlYk1ldGFsRW5hYmxl
ZCh0cnVlKTsKKyAgICB2YXIgY3R4ID0gZ2V0Q29udGV4dCgid2VibWV0YWwiKTsKKyAgICBpZiAo
Y3R4KQorICAgICAgICBvdXRwdXQudGV4dENvbnRlbnQgPSAiUEFTUzogV2ViTWV0YWwgd2FzIGF2
YWlsYWJsZSB3aGVuIGVuYWJsZWQuIjsKKyAgICBlbHNlCisgICAgICAgIG91dHB1dC50ZXh0Q29u
dGVudCA9ICJGQUlMOiBXZWJNZXRhbCB3YXMgbm90IGF2YWlsYWJsZSB3aGVuIGVuYWJsZWQuIjsK
KworICAgIG91dHB1dCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJvdXRwdXQyIik7CisKKyAg
ICB3aW5kb3cuaW50ZXJuYWxzLnNldHRpbmdzLnNldFdlYk1ldGFsRW5hYmxlZChmYWxzZSk7Cisg
ICAgdmFyIGN0eCA9IGdldENvbnRleHQoIndlYm1ldGFsIik7CisgICAgaWYgKGN0eCkKKyAgICAg
ICAgb3V0cHV0LnRleHRDb250ZW50ID0gIkZBSUw6IFdlYk1ldGFsIHdhcyBhdmFpbGFibGUgd2hl
biBkaXNhYmxlZC4iOworICAgIGVsc2UKKyAgICAgICAgb3V0cHV0LnRleHRDb250ZW50ID0gIlBB
U1M6IFdlYk1ldGFsIHdhcyBub3QgYXZhaWxhYmxlIHdoZW4gZGlzYWJsZWQuIjsKK30KKword2lu
ZG93LmFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW4sIGZhbHNlKTsKKworPC9zY3JpcHQ+Cis8
ZGl2IGlkPSJvdXRwdXQxIj48L2Rpdj4KKzxkaXYgaWQ9Im91dHB1dDIiPjwvZGl2PgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2NhbnZhcy9jcmVhdGUtY29udGV4dC13ZWJncHUt
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2NhbnZhcy9jcmVhdGUtY29udGV4
dC13ZWJncHUtZXhwZWN0ZWQudHh0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA4NDQz
Y2U1MTk1M2QxNTUzZDQwMGJjOWU2ZjIxMmVhNTRmNzBmNjFjLi4wMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2luc3BlY3Rvci9jYW52YXMv
Y3JlYXRlLWNvbnRleHQtd2ViZ3B1LWV4cGVjdGVkLnR4dAorKysgL2Rldi9udWxsCkBAIC0xLDQx
ICswLDAgQEAKLVRlc3QgdGhhdCBDYW52YXNNYW5hZ2VyIHRyYWNrcyBjcmVhdGlvbiBhbmQgZGVz
dHJ1Y3Rpb24gb2YgV2ViR1BVIGNhbnZhc2VzLgotCi0KLT09IFJ1bm5pbmcgdGVzdCBzdWl0ZTog
Q2FudmFzLkNyZWF0ZUNvbnRleHRXZWJHUFUKLS0tIFJ1bm5pbmcgdGVzdCBjYXNlOiBDYW52YXMu
Q3JlYXRlQ29udGV4dFdlYkdQVS5Ob0NhbnZhc2VzCi1QQVNTOiBDYW52YXNNYW5hZ2VyIHNob3Vs
ZCBoYXZlIG5vIGNhbnZhc2VzLgotCi0tLSBSdW5uaW5nIHRlc3QgY2FzZTogQ2FudmFzLkNyZWF0
ZUNvbnRleHRXZWJHUFUuQXR0YWNoZWQKLVBBU1M6IENhbnZhcyBjb250ZXh0IHNob3VsZCBiZSBX
ZWJHUFUuCi0gIDA6IGdldENvbnRleHQgLSBbbmF0aXZlIGNvZGVdCi0gIDE6IGNyZWF0ZUF0dGFj
aGVkQ2FudmFzIC0gaW5zcGVjdG9yL2NhbnZhcy9yZXNvdXJjZXMvY3JlYXRlLWNvbnRleHQtdXRp
bGl0aWVzLmpzOjQ6MzYKLSAgMjogR2xvYmFsIENvZGUgLSBbcHJvZ3JhbSBjb2RlXQotICAzOiBl
dmFsdWF0ZVdpdGhTY29wZUV4dGVuc2lvbiAtIFtuYXRpdmUgY29kZV0KLSAgNDogX2V2YWx1YXRl
T24gLSBbbmF0aXZlIGNvZGVdCi0gIDU6IF9ldmFsdWF0ZUFuZFdyYXAgLSBbbmF0aXZlIGNvZGVd
Ci0KLVBBU1M6IFJlbW92ZWQgY2FudmFzIGhhcyBleHBlY3RlZCBJRC4KLQotLS0gUnVubmluZyB0
ZXN0IGNhc2U6IENhbnZhcy5DcmVhdGVDb250ZXh0V2ViR1BVLkRldGFjaGVkCi1QQVNTOiBDYW52
YXMgY29udGV4dCBzaG91bGQgYmUgV2ViR1BVLgotICAwOiBnZXRDb250ZXh0IC0gW25hdGl2ZSBj
b2RlXQotICAxOiBjcmVhdGVEZXRhY2hlZENhbnZhcyAtIGluc3BlY3Rvci9jYW52YXMvcmVzb3Vy
Y2VzL2NyZWF0ZS1jb250ZXh0LXV0aWxpdGllcy5qczo4OjYyCi0gIDI6IEdsb2JhbCBDb2RlIC0g
W3Byb2dyYW0gY29kZV0KLSAgMzogZXZhbHVhdGVXaXRoU2NvcGVFeHRlbnNpb24gLSBbbmF0aXZl
IGNvZGVdCi0gIDQ6IF9ldmFsdWF0ZU9uIC0gW25hdGl2ZSBjb2RlXQotICA1OiBfZXZhbHVhdGVB
bmRXcmFwIC0gW25hdGl2ZSBjb2RlXQotCi1QQVNTOiBSZW1vdmVkIGNhbnZhcyBoYXMgZXhwZWN0
ZWQgSUQuCi0KLS0tIFJ1bm5pbmcgdGVzdCBjYXNlOiBDYW52YXMuQ3JlYXRlQ29udGV4dFdlYkdQ
VS5DU1NDYW52YXMKLUNyZWF0ZSBDU1MgY2FudmFzIGZyb20gLXdlYmtpdC1jYW52YXMoY3NzLWNh
bnZhcykuCi1QQVNTOiBDYW52YXMgY29udGV4dCBzaG91bGQgYmUgV2ViR1BVLgotICAwOiBnZXRD
U1NDYW52YXNDb250ZXh0IC0gW25hdGl2ZSBjb2RlXQotICAxOiBjcmVhdGVDU1NDYW52YXMgLSBp
bnNwZWN0b3IvY2FudmFzL3Jlc291cmNlcy9jcmVhdGUtY29udGV4dC11dGlsaXRpZXMuanM6MTI6
NDcKLSAgMjogR2xvYmFsIENvZGUgLSBbcHJvZ3JhbSBjb2RlXQotICAzOiBldmFsdWF0ZVdpdGhT
Y29wZUV4dGVuc2lvbiAtIFtuYXRpdmUgY29kZV0KLSAgNDogX2V2YWx1YXRlT24gLSBbbmF0aXZl
IGNvZGVdCi0gIDU6IF9ldmFsdWF0ZUFuZFdyYXAgLSBbbmF0aXZlIGNvZGVdCi0KLVBBU1M6IENh
bnZhcyBuYW1lIHNob3VsZCBlcXVhbCB0aGUgaWRlbnRpZmllciBwYXNzZWQgdG8gLXdlYmtpdC1j
YW52YXMuCi0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci9jYW52YXMvY3JlYXRl
LWNvbnRleHQtd2ViZ3B1Lmh0bWwgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvY2FudmFzL2NyZWF0
ZS1jb250ZXh0LXdlYmdwdS5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA1YTM5
NmI3NTkzMzIwYzljYTM3ZWExZjQ5YmE2NGM4ZWNmM2JkOTdmLi4wMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2luc3BlY3Rvci9jYW52YXMv
Y3JlYXRlLWNvbnRleHQtd2ViZ3B1Lmh0bWwKKysrIC9kZXYvbnVsbApAQCAtMSwzNSArMCwwIEBA
Ci08IURPQ1RZUEUgaHRtbD4KLTxodG1sPgotPGhlYWQ+Ci08bGluayByZWw9InN0eWxlc2hlZXQi
IGhyZWY9InJlc291cmNlcy9jcmVhdGUtY29udGV4dC11dGlsaXRpZXMuY3NzIj4KLTxzY3JpcHQg
c3JjPSIuLi8uLi9odHRwL3Rlc3RzL2luc3BlY3Rvci9yZXNvdXJjZXMvaW5zcGVjdG9yLXRlc3Qu
anMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9InJlc291cmNlcy9jcmVhdGUtY29udGV4dC11dGls
aXRpZXMuanMiPjwvc2NyaXB0PgotPHNjcmlwdD4KLWlmICh3aW5kb3cuaW50ZXJuYWxzKQotICAg
IHdpbmRvdy5pbnRlcm5hbHMuc2V0dGluZ3Muc2V0V2ViR1BVRW5hYmxlZCh0cnVlKTsKLQotZnVu
Y3Rpb24gdGVzdCgpIHsKLSAgICBsZXQgc3VpdGUgPSBpbml0aWFsaXplVGVzdFN1aXRlKCJDYW52
YXMuQ3JlYXRlQ29udGV4dFdlYkdQVSIpOwotCi0gICAgYWRkU2ltcGxlVGVzdENhc2UoewotICAg
ICAgICBuYW1lOiAiQXR0YWNoZWQiLAotICAgICAgICBleHByZXNzaW9uOiBgY3JlYXRlQXR0YWNo
ZWRDYW52YXMoIndlYmdwdSIpYCwKLSAgICAgICAgY29udGV4dFR5cGU6IFdJLkNhbnZhcy5Db250
ZXh0VHlwZS5XZWJHUFUsCi0gICAgfSk7Ci0KLSAgICBhZGRTaW1wbGVUZXN0Q2FzZSh7Ci0gICAg
ICAgIG5hbWU6ICJEZXRhY2hlZCIsCi0gICAgICAgIGV4cHJlc3Npb246IGBjcmVhdGVEZXRhY2hl
ZENhbnZhcygid2ViZ3B1IilgLAotICAgICAgICBjb250ZXh0VHlwZTogV0kuQ2FudmFzLkNvbnRl
eHRUeXBlLldlYkdQVSwKLSAgICB9KTsKLQotICAgIGFkZENTU0NhbnZhc1Rlc3RDYXNlKFdJLkNh
bnZhcy5Db250ZXh0VHlwZS5XZWJHUFUpOwotCi0gICAgc3VpdGUucnVuVGVzdENhc2VzQW5kRmlu
aXNoKCk7Ci19Ci08L3NjcmlwdD4KLTwvaGVhZD4KLTxib2R5IG9ubG9hZD0icnVuVGVzdCgpIj4K
LSAgICA8cD5UZXN0IHRoYXQgQ2FudmFzTWFuYWdlciB0cmFja3MgY3JlYXRpb24gYW5kIGRlc3Ry
dWN0aW9uIG9mIFdlYkdQVSBjYW52YXNlcy48L3A+Ci08L2JvZHk+Ci08L2h0bWw+CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvY2FudmFzL2NyZWF0ZS1jb250ZXh0LXdlYm1ldGFs
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2luc3BlY3Rvci9jYW52YXMvY3JlYXRlLWNvbnRl
eHQtd2VibWV0YWwtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjQ1MzQ3MTljMjk2ZjkwMDUxYmMw
ZjQ4ZDNiMDQ2ZDM1Yjk2ZTA4OWYKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbnNw
ZWN0b3IvY2FudmFzL2NyZWF0ZS1jb250ZXh0LXdlYm1ldGFsLWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDQxIEBACitUZXN0IHRoYXQgQ2FudmFzTWFuYWdlciB0cmFja3MgY3JlYXRpb24gYW5kIGRl
c3RydWN0aW9uIG9mIFdlYk1ldGFsIGNhbnZhc2VzLgorCisKKz09IFJ1bm5pbmcgdGVzdCBzdWl0
ZTogQ2FudmFzLkNyZWF0ZUNvbnRleHRXZWJNZXRhbAorLS0gUnVubmluZyB0ZXN0IGNhc2U6IENh
bnZhcy5DcmVhdGVDb250ZXh0V2ViTWV0YWwuTm9DYW52YXNlcworUEFTUzogQ2FudmFzTWFuYWdl
ciBzaG91bGQgaGF2ZSBubyBjYW52YXNlcy4KKworLS0gUnVubmluZyB0ZXN0IGNhc2U6IENhbnZh
cy5DcmVhdGVDb250ZXh0V2ViTWV0YWwuQXR0YWNoZWQKK1BBU1M6IENhbnZhcyBjb250ZXh0IHNo
b3VsZCBiZSBXZWJNZXRhbC4KKyAgMDogZ2V0Q29udGV4dCAtIFtuYXRpdmUgY29kZV0KKyAgMTog
Y3JlYXRlQXR0YWNoZWRDYW52YXMgLSBpbnNwZWN0b3IvY2FudmFzL3Jlc291cmNlcy9jcmVhdGUt
Y29udGV4dC11dGlsaXRpZXMuanM6NDozNgorICAyOiBHbG9iYWwgQ29kZSAtIFtwcm9ncmFtIGNv
ZGVdCisgIDM6IGV2YWx1YXRlV2l0aFNjb3BlRXh0ZW5zaW9uIC0gW25hdGl2ZSBjb2RlXQorICA0
OiBfZXZhbHVhdGVPbiAtIFtuYXRpdmUgY29kZV0KKyAgNTogX2V2YWx1YXRlQW5kV3JhcCAtIFtu
YXRpdmUgY29kZV0KKworUEFTUzogUmVtb3ZlZCBjYW52YXMgaGFzIGV4cGVjdGVkIElELgorCist
LSBSdW5uaW5nIHRlc3QgY2FzZTogQ2FudmFzLkNyZWF0ZUNvbnRleHRXZWJNZXRhbC5EZXRhY2hl
ZAorUEFTUzogQ2FudmFzIGNvbnRleHQgc2hvdWxkIGJlIFdlYk1ldGFsLgorICAwOiBnZXRDb250
ZXh0IC0gW25hdGl2ZSBjb2RlXQorICAxOiBjcmVhdGVEZXRhY2hlZENhbnZhcyAtIGluc3BlY3Rv
ci9jYW52YXMvcmVzb3VyY2VzL2NyZWF0ZS1jb250ZXh0LXV0aWxpdGllcy5qczo4OjYyCisgIDI6
IEdsb2JhbCBDb2RlIC0gW3Byb2dyYW0gY29kZV0KKyAgMzogZXZhbHVhdGVXaXRoU2NvcGVFeHRl
bnNpb24gLSBbbmF0aXZlIGNvZGVdCisgIDQ6IF9ldmFsdWF0ZU9uIC0gW25hdGl2ZSBjb2RlXQor
ICA1OiBfZXZhbHVhdGVBbmRXcmFwIC0gW25hdGl2ZSBjb2RlXQorCitQQVNTOiBSZW1vdmVkIGNh
bnZhcyBoYXMgZXhwZWN0ZWQgSUQuCisKKy0tIFJ1bm5pbmcgdGVzdCBjYXNlOiBDYW52YXMuQ3Jl
YXRlQ29udGV4dFdlYk1ldGFsLkNTU0NhbnZhcworQ3JlYXRlIENTUyBjYW52YXMgZnJvbSAtd2Vi
a2l0LWNhbnZhcyhjc3MtY2FudmFzKS4KK1BBU1M6IENhbnZhcyBjb250ZXh0IHNob3VsZCBiZSBX
ZWJNZXRhbC4KKyAgMDogZ2V0Q1NTQ2FudmFzQ29udGV4dCAtIFtuYXRpdmUgY29kZV0KKyAgMTog
Y3JlYXRlQ1NTQ2FudmFzIC0gaW5zcGVjdG9yL2NhbnZhcy9yZXNvdXJjZXMvY3JlYXRlLWNvbnRl
eHQtdXRpbGl0aWVzLmpzOjEyOjQ3CisgIDI6IEdsb2JhbCBDb2RlIC0gW3Byb2dyYW0gY29kZV0K
KyAgMzogZXZhbHVhdGVXaXRoU2NvcGVFeHRlbnNpb24gLSBbbmF0aXZlIGNvZGVdCisgIDQ6IF9l
dmFsdWF0ZU9uIC0gW25hdGl2ZSBjb2RlXQorICA1OiBfZXZhbHVhdGVBbmRXcmFwIC0gW25hdGl2
ZSBjb2RlXQorCitQQVNTOiBDYW52YXMgbmFtZSBzaG91bGQgZXF1YWwgdGhlIGlkZW50aWZpZXIg
cGFzc2VkIHRvIC13ZWJraXQtY2FudmFzLgorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNw
ZWN0b3IvY2FudmFzL2NyZWF0ZS1jb250ZXh0LXdlYm1ldGFsLmh0bWwgYi9MYXlvdXRUZXN0cy9p
bnNwZWN0b3IvY2FudmFzL2NyZWF0ZS1jb250ZXh0LXdlYm1ldGFsLmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
OGU2ZTVmY2QxZDZhOGJkYWNmY2QzOTc0NTljMDFkNDc3YjhkNTI0OAotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2luc3BlY3Rvci9jYW52YXMvY3JlYXRlLWNvbnRleHQtd2VibWV0YWwu
aHRtbApAQCAtMCwwICsxLDM1IEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8
bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9InJlc291cmNlcy9jcmVhdGUtY29udGV4dC11dGls
aXRpZXMuY3NzIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9odHRwL3Rlc3RzL2luc3BlY3Rvci9yZXNv
dXJjZXMvaW5zcGVjdG9yLXRlc3QuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9InJlc291cmNl
cy9jcmVhdGUtY29udGV4dC11dGlsaXRpZXMuanMiPjwvc2NyaXB0PgorPHNjcmlwdD4KK2lmICh3
aW5kb3cuaW50ZXJuYWxzKQorICAgIHdpbmRvdy5pbnRlcm5hbHMuc2V0dGluZ3Muc2V0V2ViTWV0
YWxFbmFibGVkKHRydWUpOworCitmdW5jdGlvbiB0ZXN0KCkgeworICAgIGxldCBzdWl0ZSA9IGlu
aXRpYWxpemVUZXN0U3VpdGUoIkNhbnZhcy5DcmVhdGVDb250ZXh0V2ViTWV0YWwiKTsKKworICAg
IGFkZFNpbXBsZVRlc3RDYXNlKHsKKyAgICAgICAgbmFtZTogIkF0dGFjaGVkIiwKKyAgICAgICAg
ZXhwcmVzc2lvbjogYGNyZWF0ZUF0dGFjaGVkQ2FudmFzKCJ3ZWJtZXRhbCIpYCwKKyAgICAgICAg
Y29udGV4dFR5cGU6IFdJLkNhbnZhcy5Db250ZXh0VHlwZS5XZWJNZXRhbCwKKyAgICB9KTsKKwor
ICAgIGFkZFNpbXBsZVRlc3RDYXNlKHsKKyAgICAgICAgbmFtZTogIkRldGFjaGVkIiwKKyAgICAg
ICAgZXhwcmVzc2lvbjogYGNyZWF0ZURldGFjaGVkQ2FudmFzKCJ3ZWJtZXRhbCIpYCwKKyAgICAg
ICAgY29udGV4dFR5cGU6IFdJLkNhbnZhcy5Db250ZXh0VHlwZS5XZWJNZXRhbCwKKyAgICB9KTsK
KworICAgIGFkZENTU0NhbnZhc1Rlc3RDYXNlKFdJLkNhbnZhcy5Db250ZXh0VHlwZS5XZWJNZXRh
bDsKKworICAgIHN1aXRlLnJ1blRlc3RDYXNlc0FuZEZpbmlzaCgpOworfQorPC9zY3JpcHQ+Cis8
L2hlYWQ+Cis8Ym9keSBvbmxvYWQ9InJ1blRlc3QoKSI+CisgICAgPHA+VGVzdCB0aGF0IENhbnZh
c01hbmFnZXIgdHJhY2tzIGNyZWF0aW9uIGFuZCBkZXN0cnVjdGlvbiBvZiBXZWJNZXRhbCBjYW52
YXNlcy48L3A+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNw
ZWN0b3IvY2FudmFzL3Jlc29sdmVDYW52YXNDb250ZXh0LXdlYmdwdS1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9pbnNwZWN0b3IvY2FudmFzL3Jlc29sdmVDYW52YXNDb250ZXh0LXdlYmdwdS1l
eHBlY3RlZC50eHQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGRkNGIzZTNlZGE1NjVk
NWU3MzQzN2RlYzdiNTg0MzhmMGM4MTljMjYuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2NhbnZhcy9yZXNvbHZlQ2Fu
dmFzQ29udGV4dC13ZWJncHUtZXhwZWN0ZWQudHh0CisrKyAvZGV2L251bGwKQEAgLTEsOCArMCww
IEBACi1UZXN0cyBmb3IgdGhlIENhbnZhcy5yZXNvbHZlQ2FudmFzQ29udGV4dCBjb21tYW5kIGZv
ciBXZWJHUFUgY29udGV4dHMuCi0KLQotPT0gUnVubmluZyB0ZXN0IHN1aXRlOiBDYW52YXMucmVz
b2x2ZUNhbnZhc0NvbnRleHRXZWJHUFUKLS0tIFJ1bm5pbmcgdGVzdCBjYXNlOiBDYW52YXMucmVz
b2x2ZUNhbnZhc0NvbnRleHRXZWJHUFUudmFsaWRJZGVudGlmaWVyCi1QQVNTOiBQYXlsb2FkIHNo
b3VsZCBoYXZlIHR5cGUgIm9iamVjdCIuCi1QQVNTOiBQYXlsb2FkIHNob3VsZCBoYXZlIGNsYXNz
TmFtZSAiV2ViR1BVUmVuZGVyaW5nQ29udGV4dCIuCi0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2luc3BlY3Rvci9jYW52YXMvcmVzb2x2ZUNhbnZhc0NvbnRleHQtd2ViZ3B1Lmh0bWwgYi9MYXlv
dXRUZXN0cy9pbnNwZWN0b3IvY2FudmFzL3Jlc29sdmVDYW52YXNDb250ZXh0LXdlYmdwdS5odG1s
CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAxYjA4ODZmNGM4NmJjZGJjODA2Zjc2ZDM5
M2U1MGRlMDk4N2Y3NmI5Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Ci0tLSBhL0xheW91dFRlc3RzL2luc3BlY3Rvci9jYW52YXMvcmVzb2x2ZUNhbnZhc0NvbnRleHQt
d2ViZ3B1Lmh0bWwKKysrIC9kZXYvbnVsbApAQCAtMSw0NiArMCwwIEBACi08IURPQ1RZUEUgaHRt
bD4KLTxodG1sPgotPGhlYWQ+Ci08c2NyaXB0IHNyYz0iLi4vLi4vaHR0cC90ZXN0cy9pbnNwZWN0
b3IvcmVzb3VyY2VzL2luc3BlY3Rvci10ZXN0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQ+Ci1pZiAo
d2luZG93LmludGVybmFscykKLSAgICB3aW5kb3cuaW50ZXJuYWxzLnNldHRpbmdzLnNldFdlYkdQ
VUVuYWJsZWQodHJ1ZSk7Ci0KLWZ1bmN0aW9uIGxvYWQoKSB7Ci0gICAgd2luZG93LmNvbnRleHRX
ZWJHUFUgPSBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQo
ImNhbnZhcyIpKS5nZXRDb250ZXh0KCJ3ZWJncHUiKTsKLQotICAgIHJ1blRlc3QoKTsKLX0KLQot
ZnVuY3Rpb24gdGVzdCgpCi17Ci0gICAgbGV0IHN1aXRlID0gSW5zcGVjdG9yVGVzdC5jcmVhdGVB
c3luY1N1aXRlKCJDYW52YXMucmVzb2x2ZUNhbnZhc0NvbnRleHRXZWJHUFUiKTsKLQotICAgIHN1
aXRlLmFkZFRlc3RDYXNlKHsKLSAgICAgICAgbmFtZTogYENhbnZhcy5yZXNvbHZlQ2FudmFzQ29u
dGV4dFdlYkdQVS52YWxpZElkZW50aWZpZXJgLAotICAgICAgICBkZXNjcmlwdGlvbjogIlNob3Vs
ZCByZXR1cm4gYSB2YWxpZCBvYmplY3QgZm9yIHRoZSBnaXZlbiBjYW52YXMgaWRlbnRpZmllci4i
LAotICAgICAgICB0ZXN0KHJlc29sdmUsIHJlamVjdCkgewotICAgICAgICAgICAgbGV0IGNhbnZh
cyA9IFdJLmNhbnZhc01hbmFnZXIuY2FudmFzZXMuZmluZCgoY2FudmFzKSA9PiBjYW52YXMuY29u
dGV4dFR5cGUgPT09IFdJLkNhbnZhcy5Db250ZXh0VHlwZS5XZWJHUFUpOwotICAgICAgICAgICAg
aWYgKCFjYW52YXMpIHsKLSAgICAgICAgICAgICAgICByZWplY3QoYE1pc3NpbmcgQ2FudmFzLmAp
OwotICAgICAgICAgICAgICAgIHJldHVybjsKLSAgICAgICAgICAgIH0KLQotICAgICAgICAgICAg
Y29uc3Qgb2JqZWN0R3JvdXAgPSAidGVzdCI7Ci0gICAgICAgICAgICBDYW52YXNBZ2VudC5yZXNv
bHZlQ2FudmFzQ29udGV4dChjYW52YXMuaWRlbnRpZmllciwgb2JqZWN0R3JvdXApCi0gICAgICAg
ICAgICAudGhlbigoe29iamVjdH0pID0+IHsKLSAgICAgICAgICAgICAgICBJbnNwZWN0b3JUZXN0
LmV4cGVjdEVxdWFsKG9iamVjdC50eXBlLCAib2JqZWN0IiwgYFBheWxvYWQgc2hvdWxkIGhhdmUg
dHlwZSAib2JqZWN0Ii5gKTsKLSAgICAgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmV4cGVjdEVx
dWFsKG9iamVjdC5jbGFzc05hbWUsICJXZWJHUFVSZW5kZXJpbmdDb250ZXh0IiwgYFBheWxvYWQg
c2hvdWxkIGhhdmUgY2xhc3NOYW1lICJXZWJHUFVSZW5kZXJpbmdDb250ZXh0Ii5gKTsKLSAgICAg
ICAgICAgIH0pCi0gICAgICAgICAgICAudGhlbihyZXNvbHZlLCByZWplY3QpOwotICAgICAgICB9
Ci0gICAgfSk7Ci0KLSAgICBzdWl0ZS5ydW5UZXN0Q2FzZXNBbmRGaW5pc2goKTsKLX0KLTwvc2Ny
aXB0PgotPC9oZWFkPgotPGJvZHkgb25sb2FkPSJsb2FkKCkiPgotICAgIDxwPlRlc3RzIGZvciB0
aGUgQ2FudmFzLnJlc29sdmVDYW52YXNDb250ZXh0IGNvbW1hbmQgZm9yIFdlYkdQVSBjb250ZXh0
cy48L3A+Ci08L2JvZHk+Ci08L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0
b3IvY2FudmFzL3Jlc29sdmVDYW52YXNDb250ZXh0LXdlYm1ldGFsLWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2luc3BlY3Rvci9jYW52YXMvcmVzb2x2ZUNhbnZhc0NvbnRleHQtd2VibWV0YWwt
ZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmJlYmYyZDdlZjkyYWIzNDU2OTBkNTZjY2VlOTA4NGFl
MzUyZTNmZTcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvY2FudmFz
L3Jlc29sdmVDYW52YXNDb250ZXh0LXdlYm1ldGFsLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDgg
QEAKK1Rlc3RzIGZvciB0aGUgQ2FudmFzLnJlc29sdmVDYW52YXNDb250ZXh0IGNvbW1hbmQgZm9y
IFdlYk1ldGFsIGNvbnRleHRzLgorCisKKz09IFJ1bm5pbmcgdGVzdCBzdWl0ZTogQ2FudmFzLnJl
c29sdmVDYW52YXNDb250ZXh0V2ViTWV0YWwKKy0tIFJ1bm5pbmcgdGVzdCBjYXNlOiBDYW52YXMu
cmVzb2x2ZUNhbnZhc0NvbnRleHRXZWJNZXRhbC52YWxpZElkZW50aWZpZXIKK1BBU1M6IFBheWxv
YWQgc2hvdWxkIGhhdmUgdHlwZSAib2JqZWN0Ii4KK1BBU1M6IFBheWxvYWQgc2hvdWxkIGhhdmUg
Y2xhc3NOYW1lICJXZWJNZXRhbFJlbmRlcmluZ0NvbnRleHQiLgorCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9pbnNwZWN0b3IvY2FudmFzL3Jlc29sdmVDYW52YXNDb250ZXh0LXdlYm1ldGFsLmh0
bWwgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvY2FudmFzL3Jlc29sdmVDYW52YXNDb250ZXh0LXdl
Ym1ldGFsLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNDU2NjQ5NWIzYTU5M2FkMjA1YTdkMTc0N2M1MTQwNGZl
ZTZlYjFjYQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2luc3BlY3Rvci9jYW52YXMv
cmVzb2x2ZUNhbnZhc0NvbnRleHQtd2VibWV0YWwuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8IURP
Q1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vaHR0cC90ZXN0
cy9pbnNwZWN0b3IvcmVzb3VyY2VzL2luc3BlY3Rvci10ZXN0LmpzIj48L3NjcmlwdD4KKzxzY3Jp
cHQ+CitpZiAod2luZG93LmludGVybmFscykKKyAgICB3aW5kb3cuaW50ZXJuYWxzLnNldHRpbmdz
LnNldFdlYk1ldGFsRW5hYmxlZCh0cnVlKTsKKworZnVuY3Rpb24gbG9hZCgpIHsKKyAgICB3aW5k
b3cuY29udGV4dFdlYk1ldGFsID0gZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChkb2N1bWVudC5j
cmVhdGVFbGVtZW50KCJjYW52YXMiKSkuZ2V0Q29udGV4dCgid2VibWV0YWwiKTsKKworICAgIHJ1
blRlc3QoKTsKK30KKworZnVuY3Rpb24gdGVzdCgpCit7CisgICAgbGV0IHN1aXRlID0gSW5zcGVj
dG9yVGVzdC5jcmVhdGVBc3luY1N1aXRlKCJDYW52YXMucmVzb2x2ZUNhbnZhc0NvbnRleHRXZWJN
ZXRhbCIpOworCisgICAgc3VpdGUuYWRkVGVzdENhc2UoeworICAgICAgICBuYW1lOiBgQ2FudmFz
LnJlc29sdmVDYW52YXNDb250ZXh0V2ViTWV0YWwudmFsaWRJZGVudGlmaWVyYCwKKyAgICAgICAg
ZGVzY3JpcHRpb246ICJTaG91bGQgcmV0dXJuIGEgdmFsaWQgb2JqZWN0IGZvciB0aGUgZ2l2ZW4g
Y2FudmFzIGlkZW50aWZpZXIuIiwKKyAgICAgICAgdGVzdChyZXNvbHZlLCByZWplY3QpIHsKKyAg
ICAgICAgICAgIGxldCBjYW52YXMgPSBXSS5jYW52YXNNYW5hZ2VyLmNhbnZhc2VzLmZpbmQoKGNh
bnZhcykgPT4gY2FudmFzLmNvbnRleHRUeXBlID09PSBXSS5DYW52YXMuQ29udGV4dFR5cGUuV2Vi
TWV0YWwpOworICAgICAgICAgICAgaWYgKCFjYW52YXMpIHsKKyAgICAgICAgICAgICAgICByZWpl
Y3QoYE1pc3NpbmcgQ2FudmFzLmApOworICAgICAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAg
ICAgIH0KKworICAgICAgICAgICAgY29uc3Qgb2JqZWN0R3JvdXAgPSAidGVzdCI7CisgICAgICAg
ICAgICBDYW52YXNBZ2VudC5yZXNvbHZlQ2FudmFzQ29udGV4dChjYW52YXMuaWRlbnRpZmllciwg
b2JqZWN0R3JvdXApCisgICAgICAgICAgICAudGhlbigoe29iamVjdH0pID0+IHsKKyAgICAgICAg
ICAgICAgICBJbnNwZWN0b3JUZXN0LmV4cGVjdEVxdWFsKG9iamVjdC50eXBlLCAib2JqZWN0Iiwg
YFBheWxvYWQgc2hvdWxkIGhhdmUgdHlwZSAib2JqZWN0Ii5gKTsKKyAgICAgICAgICAgICAgICBJ
bnNwZWN0b3JUZXN0LmV4cGVjdEVxdWFsKG9iamVjdC5jbGFzc05hbWUsICJXZWJNZXRhbFJlbmRl
cmluZ0NvbnRleHQiLCBgUGF5bG9hZCBzaG91bGQgaGF2ZSBjbGFzc05hbWUgIldlYk1ldGFsUmVu
ZGVyaW5nQ29udGV4dCIuYCk7CisgICAgICAgICAgICB9KQorICAgICAgICAgICAgLnRoZW4ocmVz
b2x2ZSwgcmVqZWN0KTsKKyAgICAgICAgfQorICAgIH0pOworCisgICAgc3VpdGUucnVuVGVzdENh
c2VzQW5kRmluaXNoKCk7Cit9Cis8L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5IG9ubG9hZD0ibG9h
ZCgpIj4KKyAgICA8cD5UZXN0cyBmb3IgdGhlIENhbnZhcy5yZXNvbHZlQ2FudmFzQ29udGV4dCBj
b21tYW5kIGZvciBXZWJNZXRhbCBjb250ZXh0cy48L3A+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9ndGsvVGVzdEV4cGVjdGF0aW9ucyBiL0xheW91
dFRlc3RzL3BsYXRmb3JtL2d0ay9UZXN0RXhwZWN0YXRpb25zCmluZGV4IDUwYjU1MjNlOTZjMjMz
Yjc2NTU1NzYzZThjMTVlMmQ1MzFiYjU3MmMuLjQyNmExZjM2ZWE3YjE1NmQ5Njg3NmZjNjk1OTk4
NjY4MzViMDgwNTggMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2d0ay9UZXN0RXhw
ZWN0YXRpb25zCisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2d0ay9UZXN0RXhwZWN0YXRpb25z
CkBAIC0xMTE0LDEwICsxMTE0LDEwIEBAIHBsdWdpbnMvZm9ybS12YWx1ZS5odG1sIFsgU2tpcCBd
CiBmYXN0L2ZpbGVzL2ZpbGVyZWFkZXItemlwLWJ1bmRsZS11c2luZy1vcGVuLXBhbmVsLmh0bWwg
WyBTa2lwIF0KIGh0dHAvdGVzdHMvbG9jYWwvZmlsZWFwaS91cGxvYWQtemlwLWJ1bmRsZS1hcy1i
bG9iLXVzaW5nLW9wZW4tcGFuZWwuaHRtbCBbIFNraXAgXQogCi0jIFdlYkdQVSBpcyBub3QgZW5h
YmxlZCBvbiBHVEsrLgotZmFzdC9jYW52YXMvd2ViZ3B1IFsgU2tpcCBdCi1pbnNwZWN0b3IvY2Fu
dmFzL2NyZWF0ZS1jb250ZXh0LXdlYmdwdS5odG1sIFsgU2tpcCBdCi1pbnNwZWN0b3IvY2FudmFz
L3Jlc29sdmVDYW52YXNDb250ZXh0LXdlYmdwdS5odG1sIFsgU2tpcCBdCisjIFdlYk1ldGFsIGlz
IG5vdCBlbmFibGVkIG9uIEdUSysuCitmYXN0L2NhbnZhcy93ZWJtZXRhbCBbIFNraXAgXQoraW5z
cGVjdG9yL2NhbnZhcy9jcmVhdGUtY29udGV4dC13ZWJtZXRhbC5odG1sIFsgU2tpcCBdCitpbnNw
ZWN0b3IvY2FudmFzL3Jlc29sdmVDYW52YXNDb250ZXh0LXdlYm1ldGFsLmh0bWwgWyBTa2lwIF0K
IAogIyBXZSBkb24ndCBzdXBwb3J0IEFQUExFX1BBWS4KIGh0dHAvdGVzdHMvc3NsL2FwcGxlcGF5
IFsgU2tpcCBdCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9pb3MvVGVzdEV4cGVj
dGF0aW9ucyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2lvcy9UZXN0RXhwZWN0YXRpb25zCmluZGV4
IDJiMzU0MTE2YzA3ZmJiNDY2ZjRjYTBhNWEwZTljZThjNTc4NzFkZGQuLjk3YWY4OTc5M2Q2YTYz
OWM1NDlkNmY0NmY4N2FmM2M3OTc2ZmZmZDMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRm
b3JtL2lvcy9UZXN0RXhwZWN0YXRpb25zCisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2lvcy9U
ZXN0RXhwZWN0YXRpb25zCkBAIC0zNiw5ICszNiw5IEBAIGh0dHAvdGVzdHMvZnVsbHNjcmVlbgog
Y29tcG9zaXRpbmcvbm8tY29tcG9zaXRpbmctd2hlbi1mdWxsbC1zY3JlZW4taXMtcHJlc2VudC5o
dG1sCiAKICMgV2ViR1BVIGlzIG5vdCBlbmFibGVkIG9uIGlPUyBTaW11bGF0b3IuCi1mYXN0L2Nh
bnZhcy93ZWJncHUKLWluc3BlY3Rvci9jYW52YXMvY3JlYXRlLWNvbnRleHQtd2ViZ3B1Lmh0bWwg
WyBTa2lwIF0KLWluc3BlY3Rvci9jYW52YXMvcmVzb2x2ZUNhbnZhc0NvbnRleHQtd2ViZ3B1Lmh0
bWwgWyBTa2lwIF0KK2Zhc3QvY2FudmFzL3dlYm1ldGFsCitpbnNwZWN0b3IvY2FudmFzL2NyZWF0
ZS1jb250ZXh0LXdlYm1ldGFsLmh0bWwgWyBTa2lwIF0KK2luc3BlY3Rvci9jYW52YXMvcmVzb2x2
ZUNhbnZhc0NvbnRleHQtd2VibWV0YWwuaHRtbCBbIFNraXAgXQogCiAjIEVuY3J5cHRlZCBNZWRp
YSBFeHRlbnNpb25zIGFyZSBub3QgZW5hYmxlZAogbWVkaWEvZW5jcnlwdGVkLW1lZGlhLwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL1Rlc3RFeHBlY3RhdGlvbnMgYi9MYXlv
dXRUZXN0cy9wbGF0Zm9ybS9tYWMvVGVzdEV4cGVjdGF0aW9ucwppbmRleCAzOWI0MTlmNmI3YzY0
NGI2NzAzYTQ0ZTIyNTkwMWM1MmVlZTBjYmUyLi45NTYzYWQyOTJiMmI2YTM1MTg5ZDAzM2M4ZDE2
MDE1YzU4OWY2NTc3IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvVGVzdEV4
cGVjdGF0aW9ucworKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvVGVzdEV4cGVjdGF0aW9u
cwpAQCAtMTA0Miw3ICsxMDQyLDcgQEAgd2Via2l0Lm9yZy9iLzE1MDk3OCBmYXN0L2NhbnZhcy93
ZWJnbC9vZXMtdGV4dHVyZS1oYWxmLWZsb2F0LWxpbmVhci5odG1sIFsgUGFzcwogd2Via2l0Lm9y
Zy9iLzE3MzkzMSBpbnNwZWN0b3IvY2FudmFzL2NvbnRleHQtYXR0cmlidXRlcy5odG1sIFsgUGFz
cyBUaW1lb3V0IF0KIHdlYmtpdC5vcmcvYi8xNzgwMjggaW5zcGVjdG9yL2NhbnZhcy9jcmVhdGUt
Y29udGV4dC0yZC5odG1sIFsgUGFzcyBUaW1lb3V0IF0KIHdlYmtpdC5vcmcvYi8xNzQwNjYgaW5z
cGVjdG9yL2NhbnZhcy9jcmVhdGUtY29udGV4dC13ZWJnbDIuaHRtbCBbIFBhc3MgVGltZW91dCBd
Ci13ZWJraXQub3JnL2IvMTc0MDY2IGluc3BlY3Rvci9jYW52YXMvY3JlYXRlLWNvbnRleHQtd2Vi
Z3B1Lmh0bWwgWyBQYXNzIFRpbWVvdXQgXQord2Via2l0Lm9yZy9iLzE3NDA2NiBpbnNwZWN0b3Iv
Y2FudmFzL2NyZWF0ZS1jb250ZXh0LXdlYm1ldGFsLmh0bWwgWyBQYXNzIFRpbWVvdXQgXQogd2Vi
a2l0Lm9yZy9iLzE3NDI3MiBpbnNwZWN0b3IvY2FudmFzL2Nzcy1jYW52YXMtY2xpZW50cy5odG1s
IFsgUGFzcyBUaW1lb3V0IF0KIHdlYmtpdC5vcmcvYi8xNzQwNjYgaW5zcGVjdG9yL2NhbnZhcy9z
aGFkZXJQcm9ncmFtLWFkZC1yZW1vdmUtd2ViZ2wyLmh0bWwgWyBQYXNzIEZhaWx1cmUgVGltZW91
dCBdCiB3ZWJraXQub3JnL2IvMTYwMDQ4IFsgRGVidWcgXSBpbnNwZWN0b3IvY29kZW1pcnJvci9w
cmV0dHlwcmludGluZy1qYXZhc2NyaXB0Lmh0bWwgWyBQYXNzIFRpbWVvdXQgXQpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vd2luL1Rlc3RFeHBlY3RhdGlvbnMgYi9MYXlvdXRUZXN0
cy9wbGF0Zm9ybS93aW4vVGVzdEV4cGVjdGF0aW9ucwppbmRleCA3ZmI5NWQ2YTM3ZTJjZGRiNTZj
Yzk5M2Q1OWUxODRjMWM1YjcxM2ExLi43NjNlMDczZDJlYWMzODFiNzBhZDQ2OWU4N2UxNTdhMTA3
MmU0OTJkIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS93aW4vVGVzdEV4cGVjdGF0
aW9ucworKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS93aW4vVGVzdEV4cGVjdGF0aW9ucwpAQCAt
MjQ0MSw4ICsyNDQxLDggQEAgaW5zcGVjdG9yL21lbW9yeSBbIFNraXAgXQogIyBpbnNwZWN0b3Iv
ZGVidWdnZXIvcmVtb3ZlQnJlYWtwb2ludC5odG1sIFsgU2tpcCBdICMgQ3Jhc2hpbmcKICMgaW5z
cGVjdG9yL2RlYnVnZ2VyL3NlYXJjaEluQ29udGVudC1saW5lYnJlYWtzLmh0bWwgWyBQYXNzIENy
YXNoIF0gIyBGbGFreQogCi1pbnNwZWN0b3IvY2FudmFzL2NyZWF0ZS1jb250ZXh0LXdlYmdwdS5o
dG1sIFsgU2tpcCBdCi1pbnNwZWN0b3IvY2FudmFzL3Jlc29sdmVDYW52YXNDb250ZXh0LXdlYmdw
dS5odG1sIFsgU2tpcCBdCitpbnNwZWN0b3IvY2FudmFzL2NyZWF0ZS1jb250ZXh0LXdlYm1ldGFs
Lmh0bWwgWyBTa2lwIF0KK2luc3BlY3Rvci9jYW52YXMvcmVzb2x2ZUNhbnZhc0NvbnRleHQtd2Vi
bWV0YWwuaHRtbCBbIFNraXAgXQogCiAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwogIyMjIyMjIyMj
IyMjIyMjIyMgICAgICAgIEVuZCBJbnNwZWN0b3IgSXNzdWVzICAgICAgICAgICAgICAgIyMjIyMj
IyMjIyMjIyMjIyMjIyMKQEAgLTM1MjcsNyArMzUyNyw3IEBAIGZhc3QvYW5pbWF0aW9uL3JlcXVl
c3QtYW5pbWF0aW9uLWZyYW1lLXRocm90dGxpbmctbG93UG93ZXJNb2RlLmh0bWwgWyBGYWlsdXJl
IF0KIGZhc3QvYmxvY2svcG9zaXRpb25pbmcvMDE2Lmh0bWwgWyBGYWlsdXJlIF0KIGZhc3QvYmxv
Y2svcG9zaXRpb25pbmcvMDI1Lmh0bWwgWyBGYWlsdXJlIF0KIGZhc3QvYmxvY2svcG9zaXRpb25p
bmcvZml4ZWQtcG9zaXRpb24tc3RhY2tpbmctY29udGV4dC5odG1sIFsgRmFpbHVyZSBdCi1mYXN0
L2NhbnZhcy93ZWJncHUvd2ViZ3B1LXJ1bnRpbWUtZmxhZy5odG1sIFsgRmFpbHVyZSBdCitmYXN0
L2NhbnZhcy93ZWJtZXRhbC93ZWJtZXRhbC1ydW50aW1lLWZsYWcuaHRtbCBbIEZhaWx1cmUgXQog
ZmFzdC9jc3MvZ2V0Q29tcHV0ZWRTdHlsZS9jb21wdXRlZC1zdHlsZS1mb250LWZhbWlseS5odG1s
IFsgRmFpbHVyZSBdCiBmYXN0L2Nzcy9nZXRDb21wdXRlZFN0eWxlL2NvbXB1dGVkLXN0eWxlLXdp
dGhvdXQtcmVuZGVyZXIuaHRtbCBbIEZhaWx1cmUgXQogZmFzdC9jc3MvZ2V0Q29tcHV0ZWRTdHls
ZS9jb21wdXRlZC1zdHlsZS5odG1sIFsgRmFpbHVyZSBdCkBAIC0zNjQyLDcgKzM2NDIsNyBAQCBs
ZWdhY3ktYW5pbWF0aW9uLWVuZ2luZS9hbmltYXRpb25zL2ZvbnQtdmFyaWF0aW9ucy9mb250LXN0
eWxlLmh0bWwgWyBTa2lwIF0KIGVkaXRpbmcvc2VsZWN0aW9uL2NhcmV0LWFmdGVyLXRhcC1pbi1l
ZGl0YWJsZS1zZWxlY3Rpb24uaHRtbCBbIFNraXAgXQogZWRpdGluZy9zZWxlY3Rpb24vY2hhcmFj
dGVyLWdyYW51bGFyaXR5LXNlbGVjdC10ZXh0LXdpdGgtY2xpY2staGFuZGxlci5odG1sIFsgU2tp
cCBdCiBlZGl0aW5nL3NlbGVjdGlvbi9jaGFyYWN0ZXItZ3JhbnVsYXJpdHktc2VsZWN0ZWQtcmFu
Z2UtYWZ0ZXItZGlzbWlzc2luZy1zZWxlY3Rpb24uaHRtbCBbIFNraXAgXQotZmFzdC9jYW52YXMv
d2ViZ3B1L3dlYmdwdS1kaXNwYXRjaC5odG1sIFsgU2tpcCBdCitmYXN0L2NhbnZhcy93ZWJtZXRh
bC93ZWJtZXRhbC1kaXNwYXRjaC5odG1sIFsgU2tpcCBdCiBmYXN0L2RvbS9GaWxlTGlzdC1pdGVy
YXRvci11c2luZy1vcGVuLXBhbmVsLmh0bWwgWyBTa2lwIF0KIGZhc3QvZm9ybXMvZmlsZS9maWxl
LWlucHV0LXJlc2V0LXVzaW5nLW9wZW4tcGFuZWwuaHRtbCBbIFNraXAgXQogZmFzdC9mb3Jtcy9m
aWxlL2ZpbGUtcmVzZXQtaW4tY2hhbmdlLXVzaW5nLW9wZW4tcGFuZWwuaHRtbCBbIFNraXAgXQo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>351712</attachid>
            <date>2018-10-05 20:10:31 -0700</date>
            <delta_ts>2018-10-08 15:31:48 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-190325-20181005201030.patch</filename>
            <type>text/plain</type>
            <size>1094937</size>
            <attacher name="Justin Fan">justin_fan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjM2ODg4CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCA2
NGUzNWNmMjc4MDJhN2ZmY2MyMmJmYWY4NGFiZTFhNmQwZTJhMDYzLi41Nzk4YzI0NGI0MzlkNGIy
YjY1NGVkYjYzYzVhMGM3ZmNjNjFkZDJhIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxNyBAQAorMjAxOC0xMC0wNSAgSnVzdGluIEZhbiAgPGp1c3Rpbl9mYW5AYXBwbGUuY29t
PgorCisgICAgICAgIFdlYkdQVTogUmVuYW1lIG9sZCBXZWJHUFUgcHJvdG90eXBlIHRvIFdlYk1l
dGFsCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xOTAz
MjUKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzQ0OTkwNDQzPgorCisgICAgICAgIFJldmlld2Vk
IGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFJlbmFtZSBXZWJHUFUgcHJvdG90eXBlIGZp
bGVzIHRvIFdlYk1ldGFsIGluIHByZXBhcmF0aW9uIGZvciBpbXBsZW1lbnRpbmcgdGhlIG5ldyAo
T2N0IDIwMTgpIFdlYkdQVSBpbnRlcmZhY2UuCisKKyAgICAgICAgKiBDb25maWd1cmF0aW9ucy9G
ZWF0dXJlRGVmaW5lcy54Y2NvbmZpZzoKKyAgICAgICAgKiBpbnNwZWN0b3IvcHJvdG9jb2wvQ2Fu
dmFzLmpzb246CisgICAgICAgICogaW5zcGVjdG9yL3NjcmlwdHMvY29kZWdlbi9nZW5lcmF0b3Iu
cHk6CisKIDIwMTgtMTAtMDUgIFl1c3VrZSBTdXp1a2kgIDx5dXN1a2VzdXp1a2lAc2xvd3N0YXJ0
Lm9yZz4KIAogICAgICAgICBbSlNDXVtMaW51eF0gU3VwcG9ydCBQZXJmIEpJVER1bXAgbG9nZ2lu
ZwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkNvcmUv
Q2hhbmdlTG9nCmluZGV4IDIxNGQwZTYxNmJkNDg4YjA5MDNmZDQ2OGVlMjM5NGFlYjFiNjRhZmQu
LmQxOTIzNWRkN2ExMDM4NmI0M2U1ODExNDc0ODQ3MzlhN2E5MjljZDQgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKQEAg
LTEsMyArMSw1NzAgQEAKKzIwMTgtMTAtMDUgIEp1c3RpbiBGYW4gIDxqdXN0aW5fZmFuQGFwcGxl
LmNvbT4KKworICAgICAgICBXZWJHUFU6IFJlbmFtZSBvbGQgV2ViR1BVIHByb3RvdHlwZSB0byBX
ZWJNZXRhbAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
MTkwMzI1CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS80NDk5MDQ0Mz4KKworICAgICAgICBSZXZp
ZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBFeGlzdGluZyBXZWJHUFUgdGVzdHMg
YWxzbyByZW5hbWVkIHRvIHJlZmxlY3QgV2ViR1BVIC0+IFdlYk1ldGFsIGNoYW5nZS4KKworICAg
ICAgICBSZW5hbWUgV2ViR1BVIHByb3RvdHlwZSBmaWxlcyB0byBXZWJNZXRhbCBpbiBwcmVwYXJh
dGlvbiBmb3IgaW1wbGVtZW50aW5nIHRoZSBuZXcgKE9jdCAyMDE4KSBXZWJHUFUgaW50ZXJmYWNl
LgorCisgICAgICAgICogQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWc6Cisg
ICAgICAgICogRGVyaXZlZFNvdXJjZXMubWFrZToKKyAgICAgICAgKiBTb3VyY2VzLnR4dDoKKyAg
ICAgICAgKiBTb3VyY2VzQ29jb2EudHh0OgorICAgICAgICAqIFdlYkNvcmUueGNvZGVwcm9qL3By
b2plY3QucGJ4cHJvajoKKyAgICAgICAgKiBiaW5kaW5ncy9qcy9KU1dlYkdQVVJlbmRlclBhc3NB
dHRhY2htZW50RGVzY3JpcHRvckN1c3RvbS5jcHA6IFJlbW92ZWQuCisgICAgICAgICogYmluZGlu
Z3MvanMvSlNXZWJHUFVSZW5kZXJpbmdDb250ZXh0Q3VzdG9tLmNwcDogUmVtb3ZlZC4KKyAgICAg
ICAgKiBiaW5kaW5ncy9qcy9XZWJDb3JlQnVpbHRpbk5hbWVzLmg6CisgICAgICAgICogZG9tL0Rv
Y3VtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkRvY3VtZW50OjpnZXRDU1NDYW52YXNDb250
ZXh0KToKKyAgICAgICAgKiBkb20vRG9jdW1lbnQuaDoKKyAgICAgICAgKiBkb20vRG9jdW1lbnQu
aWRsOgorICAgICAgICAqIGh0bWwvSFRNTENhbnZhc0VsZW1lbnQuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6SFRNTENhbnZhc0VsZW1lbnQ6OmdldENvbnRleHQpOgorICAgICAgICAoV2ViQ29yZTo6
SFRNTENhbnZhc0VsZW1lbnQ6OmlzV2ViTWV0YWxUeXBlKToKKyAgICAgICAgKFdlYkNvcmU6OkhU
TUxDYW52YXNFbGVtZW50OjpjcmVhdGVDb250ZXh0V2ViTWV0YWwpOgorICAgICAgICAoV2ViQ29y
ZTo6SFRNTENhbnZhc0VsZW1lbnQ6OmdldENvbnRleHRXZWJNZXRhbCk6CisgICAgICAgIChXZWJD
b3JlOjpIVE1MQ2FudmFzRWxlbWVudDo6aXNXZWJHUFVUeXBlKTogRGVsZXRlZC4KKyAgICAgICAg
KFdlYkNvcmU6OkhUTUxDYW52YXNFbGVtZW50OjpjcmVhdGVDb250ZXh0V2ViR1BVKTogRGVsZXRl
ZC4KKyAgICAgICAgKFdlYkNvcmU6OkhUTUxDYW52YXNFbGVtZW50OjpnZXRDb250ZXh0V2ViR1BV
KTogRGVsZXRlZC4KKyAgICAgICAgKiBodG1sL0hUTUxDYW52YXNFbGVtZW50Lmg6CisgICAgICAg
ICogaHRtbC9IVE1MQ2FudmFzRWxlbWVudC5pZGw6CisgICAgICAgICogaHRtbC9jYW52YXMvQ2Fu
dmFzUmVuZGVyaW5nQ29udGV4dC5oOgorICAgICAgICAoV2ViQ29yZTo6Q2FudmFzUmVuZGVyaW5n
Q29udGV4dDo6aXNXZWJNZXRhbCBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpDYW52YXNSZW5k
ZXJpbmdDb250ZXh0Ojppc1dlYkdQVSBjb25zdCk6IERlbGV0ZWQuCisgICAgICAgICogaHRtbC9j
YW52YXMvV2ViR1BVQnVmZmVyLmNwcDogUmVtb3ZlZC4KKyAgICAgICAgKiBodG1sL2NhbnZhcy9X
ZWJHUFVCdWZmZXIuaDogUmVtb3ZlZC4KKyAgICAgICAgKiBodG1sL2NhbnZhcy9XZWJHUFVCdWZm
ZXIuaWRsOiBSZW1vdmVkLgorICAgICAgICAqIGh0bWwvY2FudmFzL1dlYkdQVUNvbW1hbmRCdWZm
ZXIuY3BwOiBSZW1vdmVkLgorICAgICAgICAqIGh0bWwvY2FudmFzL1dlYkdQVUNvbW1hbmRCdWZm
ZXIuaDogUmVtb3ZlZC4KKyAgICAgICAgKiBodG1sL2NhbnZhcy9XZWJHUFVDb21tYW5kQnVmZmVy
LmlkbDogUmVtb3ZlZC4KKyAgICAgICAgKiBodG1sL2NhbnZhcy9XZWJHUFVDb21tYW5kUXVldWUu
Y3BwOiBSZW1vdmVkLgorICAgICAgICAqIGh0bWwvY2FudmFzL1dlYkdQVUNvbW1hbmRRdWV1ZS5o
OiBSZW1vdmVkLgorICAgICAgICAqIGh0bWwvY2FudmFzL1dlYkdQVUNvbW1hbmRRdWV1ZS5pZGw6
IFJlbW92ZWQuCisgICAgICAgICogaHRtbC9jYW52YXMvV2ViR1BVQ29tcHV0ZUNvbW1hbmRFbmNv
ZGVyLmNwcDogUmVtb3ZlZC4KKyAgICAgICAgKiBodG1sL2NhbnZhcy9XZWJHUFVDb21wdXRlQ29t
bWFuZEVuY29kZXIuaDogUmVtb3ZlZC4KKyAgICAgICAgKiBodG1sL2NhbnZhcy9XZWJHUFVDb21w
dXRlQ29tbWFuZEVuY29kZXIuaWRsOiBSZW1vdmVkLgorICAgICAgICAqIGh0bWwvY2FudmFzL1dl
YkdQVUNvbXB1dGVQaXBlbGluZVN0YXRlLmNwcDogUmVtb3ZlZC4KKyAgICAgICAgKiBodG1sL2Nh
bnZhcy9XZWJHUFVDb21wdXRlUGlwZWxpbmVTdGF0ZS5oOiBSZW1vdmVkLgorICAgICAgICAqIGh0
bWwvY2FudmFzL1dlYkdQVUNvbXB1dGVQaXBlbGluZVN0YXRlLmlkbDogUmVtb3ZlZC4KKyAgICAg
ICAgKiBodG1sL2NhbnZhcy9XZWJHUFVEZXB0aFN0ZW5jaWxEZXNjcmlwdG9yLmNwcDogUmVtb3Zl
ZC4KKyAgICAgICAgKiBodG1sL2NhbnZhcy9XZWJHUFVEZXB0aFN0ZW5jaWxEZXNjcmlwdG9yLmg6
IFJlbW92ZWQuCisgICAgICAgICogaHRtbC9jYW52YXMvV2ViR1BVRGVwdGhTdGVuY2lsRGVzY3Jp
cHRvci5pZGw6IFJlbW92ZWQuCisgICAgICAgICogaHRtbC9jYW52YXMvV2ViR1BVRGVwdGhTdGVu
Y2lsU3RhdGUuY3BwOiBSZW1vdmVkLgorICAgICAgICAqIGh0bWwvY2FudmFzL1dlYkdQVURlcHRo
U3RlbmNpbFN0YXRlLmg6IFJlbW92ZWQuCisgICAgICAgICogaHRtbC9jYW52YXMvV2ViR1BVRGVw
dGhTdGVuY2lsU3RhdGUuaWRsOiBSZW1vdmVkLgorICAgICAgICAqIGh0bWwvY2FudmFzL1dlYkdQ
VURyYXdhYmxlLmNwcDogUmVtb3ZlZC4KKyAgICAgICAgKiBodG1sL2NhbnZhcy9XZWJHUFVEcmF3
YWJsZS5oOiBSZW1vdmVkLgorICAgICAgICAqIGh0bWwvY2FudmFzL1dlYkdQVURyYXdhYmxlLmlk
bDogUmVtb3ZlZC4KKyAgICAgICAgKiBodG1sL2NhbnZhcy9XZWJHUFVFbnVtcy5jcHA6IFJlbW92
ZWQuCisgICAgICAgICogaHRtbC9jYW52YXMvV2ViR1BVRW51bXMuaDogUmVtb3ZlZC4KKyAgICAg
ICAgKiBodG1sL2NhbnZhcy9XZWJHUFVFbnVtcy5pZGw6IFJlbW92ZWQuCisgICAgICAgICogaHRt
bC9jYW52YXMvV2ViR1BVRnVuY3Rpb24uY3BwOiBSZW1vdmVkLgorICAgICAgICAqIGh0bWwvY2Fu
dmFzL1dlYkdQVUZ1bmN0aW9uLmg6IFJlbW92ZWQuCisgICAgICAgICogaHRtbC9jYW52YXMvV2Vi
R1BVRnVuY3Rpb24uaWRsOiBSZW1vdmVkLgorICAgICAgICAqIGh0bWwvY2FudmFzL1dlYkdQVUxp
YnJhcnkuY3BwOiBSZW1vdmVkLgorICAgICAgICAqIGh0bWwvY2FudmFzL1dlYkdQVUxpYnJhcnku
aDogUmVtb3ZlZC4KKyAgICAgICAgKiBodG1sL2NhbnZhcy9XZWJHUFVMaWJyYXJ5LmlkbDogUmVt
b3ZlZC4KKyAgICAgICAgKiBodG1sL2NhbnZhcy9XZWJHUFVSZW5kZXJDb21tYW5kRW5jb2Rlci5j
cHA6IFJlbW92ZWQuCisgICAgICAgICogaHRtbC9jYW52YXMvV2ViR1BVUmVuZGVyQ29tbWFuZEVu
Y29kZXIuaDogUmVtb3ZlZC4KKyAgICAgICAgKiBodG1sL2NhbnZhcy9XZWJHUFVSZW5kZXJDb21t
YW5kRW5jb2Rlci5pZGw6IFJlbW92ZWQuCisgICAgICAgICogaHRtbC9jYW52YXMvV2ViR1BVUmVu
ZGVyUGFzc0F0dGFjaG1lbnREZXNjcmlwdG9yLmNwcDogUmVtb3ZlZC4KKyAgICAgICAgKiBodG1s
L2NhbnZhcy9XZWJHUFVSZW5kZXJQYXNzQXR0YWNobWVudERlc2NyaXB0b3IuaDogUmVtb3ZlZC4K
KyAgICAgICAgKiBodG1sL2NhbnZhcy9XZWJHUFVSZW5kZXJQYXNzQXR0YWNobWVudERlc2NyaXB0
b3IuaWRsOiBSZW1vdmVkLgorICAgICAgICAqIGh0bWwvY2FudmFzL1dlYkdQVVJlbmRlclBhc3ND
b2xvckF0dGFjaG1lbnREZXNjcmlwdG9yLmNwcDogUmVtb3ZlZC4KKyAgICAgICAgKiBodG1sL2Nh
bnZhcy9XZWJHUFVSZW5kZXJQYXNzQ29sb3JBdHRhY2htZW50RGVzY3JpcHRvci5oOiBSZW1vdmVk
LgorICAgICAgICAqIGh0bWwvY2FudmFzL1dlYkdQVVJlbmRlclBhc3NDb2xvckF0dGFjaG1lbnRE
ZXNjcmlwdG9yLmlkbDogUmVtb3ZlZC4KKyAgICAgICAgKiBodG1sL2NhbnZhcy9XZWJHUFVSZW5k
ZXJQYXNzRGVwdGhBdHRhY2htZW50RGVzY3JpcHRvci5jcHA6IFJlbW92ZWQuCisgICAgICAgICog
aHRtbC9jYW52YXMvV2ViR1BVUmVuZGVyUGFzc0RlcHRoQXR0YWNobWVudERlc2NyaXB0b3IuaDog
UmVtb3ZlZC4KKyAgICAgICAgKiBodG1sL2NhbnZhcy9XZWJHUFVSZW5kZXJQYXNzRGVwdGhBdHRh
Y2htZW50RGVzY3JpcHRvci5pZGw6IFJlbW92ZWQuCisgICAgICAgICogaHRtbC9jYW52YXMvV2Vi
R1BVUmVuZGVyUGFzc0Rlc2NyaXB0b3IuY3BwOiBSZW1vdmVkLgorICAgICAgICAqIGh0bWwvY2Fu
dmFzL1dlYkdQVVJlbmRlclBhc3NEZXNjcmlwdG9yLmg6IFJlbW92ZWQuCisgICAgICAgICogaHRt
bC9jYW52YXMvV2ViR1BVUmVuZGVyUGFzc0Rlc2NyaXB0b3IuaWRsOiBSZW1vdmVkLgorICAgICAg
ICAqIGh0bWwvY2FudmFzL1dlYkdQVVJlbmRlclBpcGVsaW5lQ29sb3JBdHRhY2htZW50RGVzY3Jp
cHRvci5jcHA6IFJlbW92ZWQuCisgICAgICAgICogaHRtbC9jYW52YXMvV2ViR1BVUmVuZGVyUGlw
ZWxpbmVDb2xvckF0dGFjaG1lbnREZXNjcmlwdG9yLmg6IFJlbW92ZWQuCisgICAgICAgICogaHRt
bC9jYW52YXMvV2ViR1BVUmVuZGVyUGlwZWxpbmVDb2xvckF0dGFjaG1lbnREZXNjcmlwdG9yLmlk
bDogUmVtb3ZlZC4KKyAgICAgICAgKiBodG1sL2NhbnZhcy9XZWJHUFVSZW5kZXJQaXBlbGluZURl
c2NyaXB0b3IuY3BwOiBSZW1vdmVkLgorICAgICAgICAqIGh0bWwvY2FudmFzL1dlYkdQVVJlbmRl
clBpcGVsaW5lRGVzY3JpcHRvci5oOiBSZW1vdmVkLgorICAgICAgICAqIGh0bWwvY2FudmFzL1dl
YkdQVVJlbmRlclBpcGVsaW5lRGVzY3JpcHRvci5pZGw6IFJlbW92ZWQuCisgICAgICAgICogaHRt
bC9jYW52YXMvV2ViR1BVUmVuZGVyUGlwZWxpbmVTdGF0ZS5jcHA6IFJlbW92ZWQuCisgICAgICAg
ICogaHRtbC9jYW52YXMvV2ViR1BVUmVuZGVyUGlwZWxpbmVTdGF0ZS5oOiBSZW1vdmVkLgorICAg
ICAgICAqIGh0bWwvY2FudmFzL1dlYkdQVVJlbmRlclBpcGVsaW5lU3RhdGUuaWRsOiBSZW1vdmVk
LgorICAgICAgICAqIGh0bWwvY2FudmFzL1dlYkdQVVJlbmRlcmluZ0NvbnRleHQuY3BwOiBSZW1v
dmVkLgorICAgICAgICAqIGh0bWwvY2FudmFzL1dlYkdQVVJlbmRlcmluZ0NvbnRleHQuaDogUmVt
b3ZlZC4KKyAgICAgICAgKiBodG1sL2NhbnZhcy9XZWJHUFVSZW5kZXJpbmdDb250ZXh0LmlkbDog
UmVtb3ZlZC4KKyAgICAgICAgKiBodG1sL2NhbnZhcy9XZWJHUFVTaXplLmg6IFJlbW92ZWQuCisg
ICAgICAgICogaHRtbC9jYW52YXMvV2ViR1BVU2l6ZS5pZGw6IFJlbW92ZWQuCisgICAgICAgICog
aHRtbC9jYW52YXMvV2ViR1BVVGV4dHVyZS5jcHA6IFJlbW92ZWQuCisgICAgICAgICogaHRtbC9j
YW52YXMvV2ViR1BVVGV4dHVyZS5oOiBSZW1vdmVkLgorICAgICAgICAqIGh0bWwvY2FudmFzL1dl
YkdQVVRleHR1cmUuaWRsOiBSZW1vdmVkLgorICAgICAgICAqIGh0bWwvY2FudmFzL1dlYkdQVVRl
eHR1cmVEZXNjcmlwdG9yLmNwcDogUmVtb3ZlZC4KKyAgICAgICAgKiBodG1sL2NhbnZhcy9XZWJH
UFVUZXh0dXJlRGVzY3JpcHRvci5oOiBSZW1vdmVkLgorICAgICAgICAqIGh0bWwvY2FudmFzL1dl
YkdQVVRleHR1cmVEZXNjcmlwdG9yLmlkbDogUmVtb3ZlZC4KKyAgICAgICAgKiBpbnNwZWN0b3Iv
SW5zcGVjdG9yQ2FudmFzLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3RvckNhbnZhczo6
YnVpbGRPYmplY3RGb3JDYW52YXMpOgorICAgICAgICAqIGluc3BlY3Rvci9hZ2VudHMvSW5zcGVj
dG9yQ2FudmFzQWdlbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9yQ2FudmFzQWdl
bnQ6OnJlcXVlc3RDb250ZW50KToKKyAgICAgICAgKFdlYkNvcmU6OmNvbnRleHRBc1NjcmlwdFZh
bHVlKToKKyAgICAgICAgKiBwYWdlL1J1bnRpbWVFbmFibGVkRmVhdHVyZXMuaDoKKyAgICAgICAg
KFdlYkNvcmU6OlJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6OnNldFdlYk1ldGFsRW5hYmxlZCk6Cisg
ICAgICAgIChXZWJDb3JlOjpSdW50aW1lRW5hYmxlZEZlYXR1cmVzOjp3ZWJNZXRhbEVuYWJsZWQg
Y29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6UnVudGltZUVuYWJsZWRGZWF0dXJlczo6c2V0V2Vi
R1BVRW5hYmxlZCk6IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpSdW50aW1lRW5hYmxlZEZl
YXR1cmVzOjp3ZWJHUFVFbmFibGVkIGNvbnN0KTogRGVsZXRlZC4KKyAgICAgICAgKiBwbGF0Zm9y
bS9Mb2dnaW5nLmg6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvY2EvY29jb2EvUGxhdGZv
cm1DQUxheWVyQ29jb2EubW06CisgICAgICAgIChXZWJDb3JlOjpQbGF0Zm9ybUNBTGF5ZXJDb2Nv
YTo6bGF5ZXJUeXBlRm9yUGxhdGZvcm1MYXllcik6CisgICAgICAgIChXZWJDb3JlOjpQbGF0Zm9y
bUNBTGF5ZXJDb2NvYTo6UGxhdGZvcm1DQUxheWVyQ29jb2EpOgorICAgICAgICAqIHBsYXRmb3Jt
L2dyYXBoaWNzL2NvY29hL1dlYkdQVUxheWVyLm1tOiBSZW1vdmVkLgorICAgICAgICAqIHBsYXRm
b3JtL2dyYXBoaWNzL2NvY29hL1dlYk1ldGFsTGF5ZXIuaDogUmVuYW1lZCBmcm9tIFNvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NvY29hL1dlYkdQVUxheWVyLmguCisgICAgICAgICog
cGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L0dQVUJ1ZmZlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpH
UFVCdWZmZXI6On5HUFVCdWZmZXIpOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2dwdS9H
UFVCdWZmZXIuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9ncHUvR1BVQ29tbWFuZEJ1
ZmZlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpHUFVDb21tYW5kQnVmZmVyOjp+R1BVQ29tbWFu
ZEJ1ZmZlcik6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L0dQVUNvbW1hbmRCdWZm
ZXIuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9ncHUvR1BVQ29tbWFuZFF1ZXVlLmNw
cDoKKyAgICAgICAgKFdlYkNvcmU6OkdQVUNvbW1hbmRRdWV1ZTo6fkdQVUNvbW1hbmRRdWV1ZSk6
CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L0dQVUNvbW1hbmRRdWV1ZS5oOgorICAg
ICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2dwdS9HUFVDb21wdXRlQ29tbWFuZEVuY29kZXIuY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6R1BVQ29tcHV0ZUNvbW1hbmRFbmNvZGVyOjp+R1BVQ29tcHV0
ZUNvbW1hbmRFbmNvZGVyKToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9ncHUvR1BVQ29t
cHV0ZUNvbW1hbmRFbmNvZGVyLmg6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L0dQ
VUNvbXB1dGVQaXBlbGluZVN0YXRlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkdQVUNvbXB1dGVQ
aXBlbGluZVN0YXRlOjp+R1BVQ29tcHV0ZVBpcGVsaW5lU3RhdGUpOgorICAgICAgICAqIHBsYXRm
b3JtL2dyYXBoaWNzL2dwdS9HUFVDb21wdXRlUGlwZWxpbmVTdGF0ZS5oOgorICAgICAgICAqIHBs
YXRmb3JtL2dyYXBoaWNzL2dwdS9HUFVEZXB0aFN0ZW5jaWxEZXNjcmlwdG9yLmNwcDoKKyAgICAg
ICAgKFdlYkNvcmU6OkdQVURlcHRoU3RlbmNpbERlc2NyaXB0b3I6On5HUFVEZXB0aFN0ZW5jaWxE
ZXNjcmlwdG9yKToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9ncHUvR1BVRGVwdGhTdGVu
Y2lsRGVzY3JpcHRvci5oOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2dwdS9HUFVEZXB0
aFN0ZW5jaWxTdGF0ZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpHUFVEZXB0aFN0ZW5jaWxTdGF0
ZTo6fkdQVURlcHRoU3RlbmNpbFN0YXRlKToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9n
cHUvR1BVRGVwdGhTdGVuY2lsU3RhdGUuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9n
cHUvR1BVRGV2aWNlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkdQVURldmljZTo6fkdQVURldmlj
ZSk6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L0dQVURldmljZS5oOgorICAgICAg
ICAoV2ViQ29yZTo6R1BVRGV2aWNlOjpsYXllciBjb25zdCk6CisgICAgICAgICogcGxhdGZvcm0v
Z3JhcGhpY3MvZ3B1L0dQVURyYXdhYmxlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkdQVURyYXdh
YmxlOjp+R1BVRHJhd2FibGUpOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2dwdS9HUFVE
cmF3YWJsZS5oOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2dwdS9HUFVFbnVtcy5oOgor
ICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2dwdS9HUFVGdW5jdGlvbi5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpHUFVGdW5jdGlvbjo6fkdQVUZ1bmN0aW9uKToKKyAgICAgICAgKiBwbGF0Zm9y
bS9ncmFwaGljcy9ncHUvR1BVRnVuY3Rpb24uaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGlj
cy9ncHUvR1BVTGlicmFyeS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpHUFVMaWJyYXJ5Ojp+R1BV
TGlicmFyeSk6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L0dQVUxpYnJhcnkuaDoK
KyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9ncHUvR1BVUmVuZGVyQ29tbWFuZEVuY29kZXIu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6R1BVUmVuZGVyQ29tbWFuZEVuY29kZXI6On5HUFVSZW5k
ZXJDb21tYW5kRW5jb2Rlcik6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L0dQVVJl
bmRlckNvbW1hbmRFbmNvZGVyLmg6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L0dQ
VVJlbmRlclBhc3NBdHRhY2htZW50RGVzY3JpcHRvci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpH
UFVSZW5kZXJQYXNzQXR0YWNobWVudERlc2NyaXB0b3I6On5HUFVSZW5kZXJQYXNzQXR0YWNobWVu
dERlc2NyaXB0b3IpOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2dwdS9HUFVSZW5kZXJQ
YXNzQXR0YWNobWVudERlc2NyaXB0b3IuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9n
cHUvR1BVUmVuZGVyUGFzc0NvbG9yQXR0YWNobWVudERlc2NyaXB0b3IuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6R1BVUmVuZGVyUGFzc0NvbG9yQXR0YWNobWVudERlc2NyaXB0b3I6On5HUFVSZW5k
ZXJQYXNzQ29sb3JBdHRhY2htZW50RGVzY3JpcHRvcik6CisgICAgICAgICogcGxhdGZvcm0vZ3Jh
cGhpY3MvZ3B1L0dQVVJlbmRlclBhc3NDb2xvckF0dGFjaG1lbnREZXNjcmlwdG9yLmg6CisgICAg
ICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L0dQVVJlbmRlclBhc3NEZXB0aEF0dGFjaG1lbnRE
ZXNjcmlwdG9yLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkdQVVJlbmRlclBhc3NEZXB0aEF0dGFj
aG1lbnREZXNjcmlwdG9yOjp+R1BVUmVuZGVyUGFzc0RlcHRoQXR0YWNobWVudERlc2NyaXB0b3Ip
OgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2dwdS9HUFVSZW5kZXJQYXNzRGVwdGhBdHRh
Y2htZW50RGVzY3JpcHRvci5oOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2dwdS9HUFVS
ZW5kZXJQYXNzRGVzY3JpcHRvci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpHUFVSZW5kZXJQYXNz
RGVzY3JpcHRvcjo6fkdQVVJlbmRlclBhc3NEZXNjcmlwdG9yKToKKyAgICAgICAgKiBwbGF0Zm9y
bS9ncmFwaGljcy9ncHUvR1BVUmVuZGVyUGFzc0Rlc2NyaXB0b3IuaDoKKyAgICAgICAgKiBwbGF0
Zm9ybS9ncmFwaGljcy9ncHUvR1BVUmVuZGVyUGlwZWxpbmVDb2xvckF0dGFjaG1lbnREZXNjcmlw
dG9yLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkdQVVJlbmRlclBpcGVsaW5lQ29sb3JBdHRhY2ht
ZW50RGVzY3JpcHRvcjo6fkdQVVJlbmRlclBpcGVsaW5lQ29sb3JBdHRhY2htZW50RGVzY3JpcHRv
cik6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L0dQVVJlbmRlclBpcGVsaW5lQ29s
b3JBdHRhY2htZW50RGVzY3JpcHRvci5oOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2dw
dS9HUFVSZW5kZXJQaXBlbGluZURlc2NyaXB0b3IuY3BwOgorICAgICAgICAoV2ViQ29yZTo6R1BV
UmVuZGVyUGlwZWxpbmVEZXNjcmlwdG9yOjp+R1BVUmVuZGVyUGlwZWxpbmVEZXNjcmlwdG9yKToK
KyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9ncHUvR1BVUmVuZGVyUGlwZWxpbmVEZXNjcmlw
dG9yLmg6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L0dQVVJlbmRlclBpcGVsaW5l
U3RhdGUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6R1BVUmVuZGVyUGlwZWxpbmVTdGF0ZTo6fkdQ
VVJlbmRlclBpcGVsaW5lU3RhdGUpOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2dwdS9H
UFVSZW5kZXJQaXBlbGluZVN0YXRlLmg6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1
L0dQVVNpemUuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9ncHUvR1BVVGV4dHVyZS5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpHUFVUZXh0dXJlOjp+R1BVVGV4dHVyZSk6CisgICAgICAg
ICogcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L0dQVVRleHR1cmUuaDoKKyAgICAgICAgKiBwbGF0Zm9y
bS9ncmFwaGljcy9ncHUvR1BVVGV4dHVyZURlc2NyaXB0b3IuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6R1BVVGV4dHVyZURlc2NyaXB0b3I6On5HUFVUZXh0dXJlRGVzY3JpcHRvcik6CisgICAgICAg
ICogcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L0dQVVRleHR1cmVEZXNjcmlwdG9yLmg6CisgICAgICAg
ICogcGxhdGZvcm0vZ3JhcGhpY3MvbWV0YWwvR1BVQnVmZmVyTWV0YWwubW06CisgICAgICAgIChX
ZWJDb3JlOjpHUFVCdWZmZXI6OkdQVUJ1ZmZlcik6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhp
Y3MvbWV0YWwvR1BVQ29tbWFuZEJ1ZmZlck1ldGFsLm1tOgorICAgICAgICAqIHBsYXRmb3JtL2dy
YXBoaWNzL21ldGFsL0dQVUNvbW1hbmRRdWV1ZU1ldGFsLm1tOgorICAgICAgICAqIHBsYXRmb3Jt
L2dyYXBoaWNzL21ldGFsL0dQVUNvbXB1dGVDb21tYW5kRW5jb2Rlck1ldGFsLm1tOgorICAgICAg
ICAqIHBsYXRmb3JtL2dyYXBoaWNzL21ldGFsL0dQVUNvbXB1dGVQaXBlbGluZVN0YXRlTWV0YWwu
bW06CisgICAgICAgIChXZWJDb3JlOjpHUFVDb21wdXRlUGlwZWxpbmVTdGF0ZTo6R1BVQ29tcHV0
ZVBpcGVsaW5lU3RhdGUpOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL21ldGFsL0dQVURl
cHRoU3RlbmNpbERlc2NyaXB0b3JNZXRhbC5tbToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGlj
cy9tZXRhbC9HUFVEZXB0aFN0ZW5jaWxTdGF0ZU1ldGFsLm1tOgorICAgICAgICAoV2ViQ29yZTo6
R1BVRGVwdGhTdGVuY2lsU3RhdGU6OnNldExhYmVsIGNvbnN0KToKKyAgICAgICAgKiBwbGF0Zm9y
bS9ncmFwaGljcy9tZXRhbC9HUFVEZXZpY2VNZXRhbC5tbToKKyAgICAgICAgKFdlYkNvcmU6OkdQ
VURldmljZTo6cmVzaGFwZSBjb25zdCk6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvbWV0
YWwvR1BVRHJhd2FibGVNZXRhbC5tbToKKyAgICAgICAgKFdlYkNvcmU6OkdQVURyYXdhYmxlOjpy
ZWxlYXNlKToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9tZXRhbC9HUFVGdW5jdGlvbk1l
dGFsLm1tOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL21ldGFsL0dQVUxpYnJhcnlNZXRh
bC5tbToKKyAgICAgICAgKFdlYkNvcmU6OkdQVUxpYnJhcnk6OkdQVUxpYnJhcnkpOgorICAgICAg
ICAqIHBsYXRmb3JtL2dyYXBoaWNzL21ldGFsL0dQVVJlbmRlckNvbW1hbmRFbmNvZGVyTWV0YWwu
bW06CisgICAgICAgIChXZWJDb3JlOjpHUFVSZW5kZXJDb21tYW5kRW5jb2Rlcjo6R1BVUmVuZGVy
Q29tbWFuZEVuY29kZXIpOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL21ldGFsL0dQVVJl
bmRlclBhc3NBdHRhY2htZW50RGVzY3JpcHRvck1ldGFsLm1tOgorICAgICAgICAqIHBsYXRmb3Jt
L2dyYXBoaWNzL21ldGFsL0dQVVJlbmRlclBhc3NDb2xvckF0dGFjaG1lbnREZXNjcmlwdG9yTWV0
YWwubW06CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvbWV0YWwvR1BVUmVuZGVyUGFzc0Rl
cHRoQXR0YWNobWVudERlc2NyaXB0b3JNZXRhbC5tbToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFw
aGljcy9tZXRhbC9HUFVSZW5kZXJQYXNzRGVzY3JpcHRvck1ldGFsLm1tOgorICAgICAgICAqIHBs
YXRmb3JtL2dyYXBoaWNzL21ldGFsL0dQVVJlbmRlclBpcGVsaW5lQ29sb3JBdHRhY2htZW50RGVz
Y3JpcHRvck1ldGFsLm1tOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL21ldGFsL0dQVVJl
bmRlclBpcGVsaW5lRGVzY3JpcHRvck1ldGFsLm1tOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBo
aWNzL21ldGFsL0dQVVJlbmRlclBpcGVsaW5lU3RhdGVNZXRhbC5tbToKKyAgICAgICAgKFdlYkNv
cmU6OkdQVVJlbmRlclBpcGVsaW5lU3RhdGU6OnNldExhYmVsIGNvbnN0KToKKyAgICAgICAgKiBw
bGF0Zm9ybS9ncmFwaGljcy9tZXRhbC9HUFVUZXh0dXJlRGVzY3JpcHRvck1ldGFsLm1tOgorICAg
ICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL21ldGFsL0dQVVRleHR1cmVNZXRhbC5tbToKKyAgICAg
ICAgKFdlYkNvcmU6OkdQVVRleHR1cmU6OkdQVVRleHR1cmUpOgorICAgICAgICAqIHRlc3Rpbmcv
SW50ZXJuYWxTZXR0aW5ncy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpJbnRlcm5hbFNldHRpbmdz
OjpCYWNrdXA6OkJhY2t1cCk6CisgICAgICAgIChXZWJDb3JlOjpJbnRlcm5hbFNldHRpbmdzOjpC
YWNrdXA6OnJlc3RvcmVUbyk6CisgICAgICAgIChXZWJDb3JlOjpJbnRlcm5hbFNldHRpbmdzOjpz
ZXRXZWJNZXRhbEVuYWJsZWQpOgorICAgICAgICAoV2ViQ29yZTo6SW50ZXJuYWxTZXR0aW5nczo6
c2V0V2ViR1BVRW5hYmxlZCk6IERlbGV0ZWQuCisgICAgICAgICogdGVzdGluZy9JbnRlcm5hbFNl
dHRpbmdzLmg6CisgICAgICAgICogdGVzdGluZy9JbnRlcm5hbFNldHRpbmdzLmlkbDoKKworICAg
ICAgICAqIENvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnOgorICAgICAgICAq
IERlcml2ZWRTb3VyY2VzLm1ha2U6CisgICAgICAgICogU291cmNlcy50eHQ6CisgICAgICAgICog
U291cmNlc0NvY29hLnR4dDoKKyAgICAgICAgKiBXZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBi
eHByb2o6CisgICAgICAgICogYmluZGluZ3MvanMvSlNXZWJNZXRhbFJlbmRlclBhc3NBdHRhY2ht
ZW50RGVzY3JpcHRvckN1c3RvbS5jcHA6IFJlbmFtZWQgZnJvbSBTb3VyY2UvV2ViQ29yZS9iaW5k
aW5ncy9qcy9KU1dlYkdQVVJlbmRlclBhc3NBdHRhY2htZW50RGVzY3JpcHRvckN1c3RvbS5jcHAu
CisgICAgICAgIChXZWJDb3JlOjp0b0pTTmV3bHlDcmVhdGVkKToKKyAgICAgICAgKFdlYkNvcmU6
OnRvSlMpOgorICAgICAgICAqIGJpbmRpbmdzL2pzL0pTV2ViTWV0YWxSZW5kZXJpbmdDb250ZXh0
Q3VzdG9tLmNwcDogUmVuYW1lZCBmcm9tIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTV2Vi
R1BVUmVuZGVyaW5nQ29udGV4dEN1c3RvbS5jcHAuCisgICAgICAgIChXZWJDb3JlOjpKU1dlYk1l
dGFsUmVuZGVyaW5nQ29udGV4dDo6dmlzaXRBZGRpdGlvbmFsQ2hpbGRyZW4pOgorICAgICAgICAq
IGJpbmRpbmdzL2pzL1dlYkNvcmVCdWlsdGluTmFtZXMuaDoKKyAgICAgICAgKiBkb20vRG9jdW1l
bnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RG9jdW1lbnQ6OmdldENTU0NhbnZhc0NvbnRleHQp
OgorICAgICAgICAqIGRvbS9Eb2N1bWVudC5oOgorICAgICAgICAqIGRvbS9Eb2N1bWVudC5pZGw6
CisgICAgICAgICogaHRtbC9IVE1MQ2FudmFzRWxlbWVudC5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpIVE1MQ2FudmFzRWxlbWVudDo6Z2V0Q29udGV4dCk6CisgICAgICAgIChXZWJDb3JlOjpIVE1M
Q2FudmFzRWxlbWVudDo6aXNXZWJNZXRhbFR5cGUpOgorICAgICAgICAoV2ViQ29yZTo6SFRNTENh
bnZhc0VsZW1lbnQ6OmNyZWF0ZUNvbnRleHRXZWJNZXRhbCk6CisgICAgICAgIChXZWJDb3JlOjpI
VE1MQ2FudmFzRWxlbWVudDo6Z2V0Q29udGV4dFdlYk1ldGFsKToKKyAgICAgICAgKFdlYkNvcmU6
OkhUTUxDYW52YXNFbGVtZW50Ojppc1dlYkdQVVR5cGUpOiBEZWxldGVkLgorICAgICAgICAoV2Vi
Q29yZTo6SFRNTENhbnZhc0VsZW1lbnQ6OmNyZWF0ZUNvbnRleHRXZWJHUFUpOiBEZWxldGVkLgor
ICAgICAgICAoV2ViQ29yZTo6SFRNTENhbnZhc0VsZW1lbnQ6OmdldENvbnRleHRXZWJHUFUpOiBE
ZWxldGVkLgorICAgICAgICAqIGh0bWwvSFRNTENhbnZhc0VsZW1lbnQuaDoKKyAgICAgICAgKiBo
dG1sL0hUTUxDYW52YXNFbGVtZW50LmlkbDoKKyAgICAgICAgKiBodG1sL2NhbnZhcy9DYW52YXNS
ZW5kZXJpbmdDb250ZXh0Lmg6CisgICAgICAgIChXZWJDb3JlOjpDYW52YXNSZW5kZXJpbmdDb250
ZXh0Ojppc1dlYk1ldGFsIGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OkNhbnZhc1JlbmRlcmlu
Z0NvbnRleHQ6OmlzV2ViR1BVIGNvbnN0KTogRGVsZXRlZC4KKyAgICAgICAgKiBodG1sL2NhbnZh
cy9XZWJHUFVSZW5kZXJpbmdDb250ZXh0LmNwcDogUmVtb3ZlZC4KKyAgICAgICAgKiBodG1sL2Nh
bnZhcy9XZWJNZXRhbEJ1ZmZlci5jcHA6IFJlbmFtZWQgZnJvbSBTb3VyY2UvV2ViQ29yZS9odG1s
L2NhbnZhcy9XZWJHUFVCdWZmZXIuY3BwLgorICAgICAgICAoV2ViQ29yZTo6V2ViTWV0YWxCdWZm
ZXI6OmNyZWF0ZSk6CisgICAgICAgIChXZWJDb3JlOjpXZWJNZXRhbEJ1ZmZlcjo6V2ViTWV0YWxC
dWZmZXIpOgorICAgICAgICAqIGh0bWwvY2FudmFzL1dlYk1ldGFsQnVmZmVyLmg6IFJlbmFtZWQg
ZnJvbSBTb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHUFVCdWZmZXIuaC4KKyAgICAgICAg
KiBodG1sL2NhbnZhcy9XZWJNZXRhbEJ1ZmZlci5pZGw6IFJlbmFtZWQgZnJvbSBTb3VyY2UvV2Vi
Q29yZS9odG1sL2NhbnZhcy9XZWJHUFVCdWZmZXIuaWRsLgorICAgICAgICAqIGh0bWwvY2FudmFz
L1dlYk1ldGFsQ29tbWFuZEJ1ZmZlci5jcHA6IFJlbmFtZWQgZnJvbSBTb3VyY2UvV2ViQ29yZS9o
dG1sL2NhbnZhcy9XZWJHUFVDb21tYW5kQnVmZmVyLmNwcC4KKyAgICAgICAgKFdlYkNvcmU6Oldl
Yk1ldGFsQ29tbWFuZEJ1ZmZlcjo6Y3JlYXRlKToKKyAgICAgICAgKFdlYkNvcmU6OldlYk1ldGFs
Q29tbWFuZEJ1ZmZlcjo6V2ViTWV0YWxDb21tYW5kQnVmZmVyKToKKyAgICAgICAgKFdlYkNvcmU6
OldlYk1ldGFsQ29tbWFuZEJ1ZmZlcjo6fldlYk1ldGFsQ29tbWFuZEJ1ZmZlcik6CisgICAgICAg
IChXZWJDb3JlOjpXZWJNZXRhbENvbW1hbmRCdWZmZXI6OmNvbW1pdCk6CisgICAgICAgIChXZWJD
b3JlOjpXZWJNZXRhbENvbW1hbmRCdWZmZXI6OnByZXNlbnREcmF3YWJsZSk6CisgICAgICAgIChX
ZWJDb3JlOjpXZWJNZXRhbENvbW1hbmRCdWZmZXI6OmNyZWF0ZVJlbmRlckNvbW1hbmRFbmNvZGVy
V2l0aERlc2NyaXB0b3IpOgorICAgICAgICAoV2ViQ29yZTo6V2ViTWV0YWxDb21tYW5kQnVmZmVy
OjpjcmVhdGVDb21wdXRlQ29tbWFuZEVuY29kZXIpOgorICAgICAgICAoV2ViQ29yZTo6V2ViTWV0
YWxDb21tYW5kQnVmZmVyOjpjb21wbGV0ZWQpOgorICAgICAgICAqIGh0bWwvY2FudmFzL1dlYk1l
dGFsQ29tbWFuZEJ1ZmZlci5oOiBSZW5hbWVkIGZyb20gU291cmNlL1dlYkNvcmUvaHRtbC9jYW52
YXMvV2ViR1BVQ29tbWFuZEJ1ZmZlci5oLgorICAgICAgICAqIGh0bWwvY2FudmFzL1dlYk1ldGFs
Q29tbWFuZEJ1ZmZlci5pZGw6IFJlbmFtZWQgZnJvbSBTb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZh
cy9XZWJHUFVDb21tYW5kQnVmZmVyLmlkbC4KKyAgICAgICAgKiBodG1sL2NhbnZhcy9XZWJNZXRh
bENvbW1hbmRRdWV1ZS5jcHA6IFJlbmFtZWQgZnJvbSBTb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZh
cy9XZWJHUFVDb21tYW5kUXVldWUuY3BwLgorICAgICAgICAoV2ViQ29yZTo6V2ViTWV0YWxDb21t
YW5kUXVldWU6OmNyZWF0ZSk6CisgICAgICAgIChXZWJDb3JlOjpXZWJNZXRhbENvbW1hbmRRdWV1
ZTo6V2ViTWV0YWxDb21tYW5kUXVldWUpOgorICAgICAgICAoV2ViQ29yZTo6V2ViTWV0YWxDb21t
YW5kUXVldWU6OmNyZWF0ZUNvbW1hbmRCdWZmZXIpOgorICAgICAgICAqIGh0bWwvY2FudmFzL1dl
Yk1ldGFsQ29tbWFuZFF1ZXVlLmg6IFJlbmFtZWQgZnJvbSBTb3VyY2UvV2ViQ29yZS9odG1sL2Nh
bnZhcy9XZWJHUFVDb21tYW5kUXVldWUuaC4KKyAgICAgICAgKiBodG1sL2NhbnZhcy9XZWJNZXRh
bENvbW1hbmRRdWV1ZS5pZGw6IFJlbmFtZWQgZnJvbSBTb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZh
cy9XZWJHUFVDb21tYW5kUXVldWUuaWRsLgorICAgICAgICAqIGh0bWwvY2FudmFzL1dlYk1ldGFs
Q29tcHV0ZUNvbW1hbmRFbmNvZGVyLmNwcDogUmVuYW1lZCBmcm9tIFNvdXJjZS9XZWJDb3JlL2h0
bWwvY2FudmFzL1dlYkdQVUNvbXB1dGVDb21tYW5kRW5jb2Rlci5jcHAuCisgICAgICAgIChXZWJD
b3JlOjpHUFVTaXplTWFrZSk6CisgICAgICAgIChXZWJDb3JlOjpXZWJNZXRhbENvbXB1dGVDb21t
YW5kRW5jb2Rlcjo6Y3JlYXRlKToKKyAgICAgICAgKFdlYkNvcmU6OldlYk1ldGFsQ29tcHV0ZUNv
bW1hbmRFbmNvZGVyOjpXZWJNZXRhbENvbXB1dGVDb21tYW5kRW5jb2Rlcik6CisgICAgICAgIChX
ZWJDb3JlOjpXZWJNZXRhbENvbXB1dGVDb21tYW5kRW5jb2Rlcjo6c2V0Q29tcHV0ZVBpcGVsaW5l
U3RhdGUpOgorICAgICAgICAoV2ViQ29yZTo6V2ViTWV0YWxDb21wdXRlQ29tbWFuZEVuY29kZXI6
OnNldEJ1ZmZlcik6CisgICAgICAgIChXZWJDb3JlOjpXZWJNZXRhbENvbXB1dGVDb21tYW5kRW5j
b2Rlcjo6ZGlzcGF0Y2gpOgorICAgICAgICAoV2ViQ29yZTo6V2ViTWV0YWxDb21wdXRlQ29tbWFu
ZEVuY29kZXI6OmVuZEVuY29kaW5nKToKKyAgICAgICAgKiBodG1sL2NhbnZhcy9XZWJNZXRhbENv
bXB1dGVDb21tYW5kRW5jb2Rlci5oOiBSZW5hbWVkIGZyb20gU291cmNlL1dlYkNvcmUvaHRtbC9j
YW52YXMvV2ViR1BVQ29tcHV0ZUNvbW1hbmRFbmNvZGVyLmguCisgICAgICAgICogaHRtbC9jYW52
YXMvV2ViTWV0YWxDb21wdXRlQ29tbWFuZEVuY29kZXIuaWRsOiBSZW5hbWVkIGZyb20gU291cmNl
L1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR1BVQ29tcHV0ZUNvbW1hbmRFbmNvZGVyLmlkbC4KKyAg
ICAgICAgKiBodG1sL2NhbnZhcy9XZWJNZXRhbENvbXB1dGVQaXBlbGluZVN0YXRlLmNwcDogUmVu
YW1lZCBmcm9tIFNvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdQVUNvbXB1dGVQaXBlbGlu
ZVN0YXRlLmNwcC4KKyAgICAgICAgKFdlYkNvcmU6OldlYk1ldGFsQ29tcHV0ZVBpcGVsaW5lU3Rh
dGU6OmNyZWF0ZSk6CisgICAgICAgIChXZWJDb3JlOjpXZWJNZXRhbENvbXB1dGVQaXBlbGluZVN0
YXRlOjpXZWJNZXRhbENvbXB1dGVQaXBlbGluZVN0YXRlKToKKyAgICAgICAgKiBodG1sL2NhbnZh
cy9XZWJNZXRhbENvbXB1dGVQaXBlbGluZVN0YXRlLmg6IFJlbmFtZWQgZnJvbSBTb3VyY2UvV2Vi
Q29yZS9odG1sL2NhbnZhcy9XZWJHUFVDb21wdXRlUGlwZWxpbmVTdGF0ZS5oLgorICAgICAgICAq
IGh0bWwvY2FudmFzL1dlYk1ldGFsQ29tcHV0ZVBpcGVsaW5lU3RhdGUuaWRsOiBSZW5hbWVkIGZy
b20gU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR1BVQ29tcHV0ZVBpcGVsaW5lU3RhdGUu
aWRsLgorICAgICAgICAqIGh0bWwvY2FudmFzL1dlYk1ldGFsRGVwdGhTdGVuY2lsRGVzY3JpcHRv
ci5jcHA6IFJlbmFtZWQgZnJvbSBTb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHUFVEZXB0
aFN0ZW5jaWxEZXNjcmlwdG9yLmNwcC4KKyAgICAgICAgKFdlYkNvcmU6OldlYk1ldGFsRGVwdGhT
dGVuY2lsRGVzY3JpcHRvcjo6Y3JlYXRlKToKKyAgICAgICAgKFdlYkNvcmU6OldlYk1ldGFsRGVw
dGhTdGVuY2lsRGVzY3JpcHRvcjo6ZGVwdGhXcml0ZUVuYWJsZWQgY29uc3QpOgorICAgICAgICAo
V2ViQ29yZTo6V2ViTWV0YWxEZXB0aFN0ZW5jaWxEZXNjcmlwdG9yOjpzZXREZXB0aFdyaXRlRW5h
YmxlZCk6CisgICAgICAgIChXZWJDb3JlOjpXZWJNZXRhbERlcHRoU3RlbmNpbERlc2NyaXB0b3I6
OmRlcHRoQ29tcGFyZUZ1bmN0aW9uIGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OldlYk1ldGFs
RGVwdGhTdGVuY2lsRGVzY3JpcHRvcjo6c2V0RGVwdGhDb21wYXJlRnVuY3Rpb24pOgorICAgICAg
ICAqIGh0bWwvY2FudmFzL1dlYk1ldGFsRGVwdGhTdGVuY2lsRGVzY3JpcHRvci5oOiBSZW5hbWVk
IGZyb20gU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR1BVRGVwdGhTdGVuY2lsRGVzY3Jp
cHRvci5oLgorICAgICAgICAqIGh0bWwvY2FudmFzL1dlYk1ldGFsRGVwdGhTdGVuY2lsRGVzY3Jp
cHRvci5pZGw6IFJlbmFtZWQgZnJvbSBTb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHUFVE
ZXB0aFN0ZW5jaWxEZXNjcmlwdG9yLmlkbC4KKyAgICAgICAgKiBodG1sL2NhbnZhcy9XZWJNZXRh
bERlcHRoU3RlbmNpbFN0YXRlLmNwcDogUmVuYW1lZCBmcm9tIFNvdXJjZS9XZWJDb3JlL2h0bWwv
Y2FudmFzL1dlYkdQVURlcHRoU3RlbmNpbFN0YXRlLmNwcC4KKyAgICAgICAgKFdlYkNvcmU6Oldl
Yk1ldGFsRGVwdGhTdGVuY2lsU3RhdGU6OmNyZWF0ZSk6CisgICAgICAgIChXZWJDb3JlOjpXZWJN
ZXRhbERlcHRoU3RlbmNpbFN0YXRlOjpXZWJNZXRhbERlcHRoU3RlbmNpbFN0YXRlKToKKyAgICAg
ICAgKFdlYkNvcmU6OldlYk1ldGFsRGVwdGhTdGVuY2lsU3RhdGU6OmxhYmVsIGNvbnN0KToKKyAg
ICAgICAgKFdlYkNvcmU6OldlYk1ldGFsRGVwdGhTdGVuY2lsU3RhdGU6OnNldExhYmVsKToKKyAg
ICAgICAgKiBodG1sL2NhbnZhcy9XZWJNZXRhbERlcHRoU3RlbmNpbFN0YXRlLmg6IFJlbmFtZWQg
ZnJvbSBTb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHUFVEZXB0aFN0ZW5jaWxTdGF0ZS5o
LgorICAgICAgICAqIGh0bWwvY2FudmFzL1dlYk1ldGFsRGVwdGhTdGVuY2lsU3RhdGUuaWRsOiBS
ZW5hbWVkIGZyb20gU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR1BVUmVuZGVyUGlwZWxp
bmVTdGF0ZS5pZGwuCisgICAgICAgICogaHRtbC9jYW52YXMvV2ViTWV0YWxEcmF3YWJsZS5jcHA6
IFJlbmFtZWQgZnJvbSBTb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHUFVEcmF3YWJsZS5j
cHAuCisgICAgICAgIChXZWJDb3JlOjpXZWJNZXRhbERyYXdhYmxlOjpjcmVhdGUpOgorICAgICAg
ICAoV2ViQ29yZTo6V2ViTWV0YWxEcmF3YWJsZTo6V2ViTWV0YWxEcmF3YWJsZSk6CisgICAgICAg
ICogaHRtbC9jYW52YXMvV2ViTWV0YWxEcmF3YWJsZS5oOiBSZW5hbWVkIGZyb20gU291cmNlL1dl
YkNvcmUvaHRtbC9jYW52YXMvV2ViR1BVRHJhd2FibGUuaC4KKyAgICAgICAgKFdlYkNvcmU6Oldl
Yk1ldGFsRHJhd2FibGU6OnRleHR1cmUpOgorICAgICAgICAqIGh0bWwvY2FudmFzL1dlYk1ldGFs
RHJhd2FibGUuaWRsOiBSZW5hbWVkIGZyb20gU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2Vi
R1BVRHJhd2FibGUuaWRsLgorICAgICAgICAqIGh0bWwvY2FudmFzL1dlYk1ldGFsRW51bXMuY3Bw
OiBSZW5hbWVkIGZyb20gU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR1BVRW51bXMuY3Bw
LgorICAgICAgICAoV2ViQ29yZTo6dG9XZWJNZXRhbENvbXBhcmVGdW5jdGlvbik6CisgICAgICAg
IChXZWJDb3JlOjp3ZWIzRENvbXBhcmVGdW5jdGlvbk5hbWUpOgorICAgICAgICAoV2ViQ29yZTo6
dG9HUFVDb21wYXJlRnVuY3Rpb24pOgorICAgICAgICAqIGh0bWwvY2FudmFzL1dlYk1ldGFsRW51
bXMuaDogUmVuYW1lZCBmcm9tIFNvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdQVUVudW1z
LmguCisgICAgICAgICogaHRtbC9jYW52YXMvV2ViTWV0YWxFbnVtcy5pZGw6IFJlbmFtZWQgZnJv
bSBTb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHUFVFbnVtcy5pZGwuCisgICAgICAgICog
aHRtbC9jYW52YXMvV2ViTWV0YWxGdW5jdGlvbi5jcHA6IFJlbmFtZWQgZnJvbSBTb3VyY2UvV2Vi
Q29yZS9odG1sL2NhbnZhcy9XZWJHUFVGdW5jdGlvbi5jcHAuCisgICAgICAgIChXZWJDb3JlOjpX
ZWJNZXRhbEZ1bmN0aW9uOjpjcmVhdGUpOgorICAgICAgICAoV2ViQ29yZTo6V2ViTWV0YWxGdW5j
dGlvbjo6V2ViTWV0YWxGdW5jdGlvbik6CisgICAgICAgICogaHRtbC9jYW52YXMvV2ViTWV0YWxG
dW5jdGlvbi5oOiBSZW5hbWVkIGZyb20gU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR1BV
RnVuY3Rpb24uaC4KKyAgICAgICAgKiBodG1sL2NhbnZhcy9XZWJNZXRhbEZ1bmN0aW9uLmlkbDog
UmVuYW1lZCBmcm9tIFNvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdQVUZ1bmN0aW9uLmlk
bC4KKyAgICAgICAgKiBodG1sL2NhbnZhcy9XZWJNZXRhbExpYnJhcnkuY3BwOiBSZW5hbWVkIGZy
b20gU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR1BVTGlicmFyeS5jcHAuCisgICAgICAg
IChXZWJDb3JlOjpXZWJNZXRhbExpYnJhcnk6OmNyZWF0ZSk6CisgICAgICAgIChXZWJDb3JlOjpX
ZWJNZXRhbExpYnJhcnk6OldlYk1ldGFsTGlicmFyeSk6CisgICAgICAgIChXZWJDb3JlOjpXZWJN
ZXRhbExpYnJhcnk6OmZ1bmN0aW9uTmFtZXMgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6V2Vi
TWV0YWxMaWJyYXJ5OjpmdW5jdGlvbldpdGhOYW1lIGNvbnN0KToKKyAgICAgICAgKiBodG1sL2Nh
bnZhcy9XZWJNZXRhbExpYnJhcnkuaDogUmVuYW1lZCBmcm9tIFNvdXJjZS9XZWJDb3JlL2h0bWwv
Y2FudmFzL1dlYkdQVUxpYnJhcnkuaC4KKyAgICAgICAgKiBodG1sL2NhbnZhcy9XZWJNZXRhbExp
YnJhcnkuaWRsOiBSZW5hbWVkIGZyb20gU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR1BV
TGlicmFyeS5pZGwuCisgICAgICAgICogaHRtbC9jYW52YXMvV2ViTWV0YWxSZW5kZXJDb21tYW5k
RW5jb2Rlci5jcHA6IFJlbmFtZWQgZnJvbSBTb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJH
UFVSZW5kZXJDb21tYW5kRW5jb2Rlci5jcHAuCisgICAgICAgIChXZWJDb3JlOjpXZWJNZXRhbFJl
bmRlckNvbW1hbmRFbmNvZGVyOjpjcmVhdGUpOgorICAgICAgICAoV2ViQ29yZTo6V2ViTWV0YWxS
ZW5kZXJDb21tYW5kRW5jb2Rlcjo6V2ViTWV0YWxSZW5kZXJDb21tYW5kRW5jb2Rlcik6CisgICAg
ICAgIChXZWJDb3JlOjpXZWJNZXRhbFJlbmRlckNvbW1hbmRFbmNvZGVyOjpzZXRSZW5kZXJQaXBl
bGluZVN0YXRlKToKKyAgICAgICAgKFdlYkNvcmU6OldlYk1ldGFsUmVuZGVyQ29tbWFuZEVuY29k
ZXI6OnNldERlcHRoU3RlbmNpbFN0YXRlKToKKyAgICAgICAgKFdlYkNvcmU6OldlYk1ldGFsUmVu
ZGVyQ29tbWFuZEVuY29kZXI6OnNldFZlcnRleEJ1ZmZlcik6CisgICAgICAgIChXZWJDb3JlOjpX
ZWJNZXRhbFJlbmRlckNvbW1hbmRFbmNvZGVyOjpzZXRGcmFnbWVudEJ1ZmZlcik6CisgICAgICAg
IChXZWJDb3JlOjpXZWJNZXRhbFJlbmRlckNvbW1hbmRFbmNvZGVyOjpkcmF3UHJpbWl0aXZlcyk6
CisgICAgICAgIChXZWJDb3JlOjpXZWJNZXRhbFJlbmRlckNvbW1hbmRFbmNvZGVyOjplbmRFbmNv
ZGluZyk6CisgICAgICAgICogaHRtbC9jYW52YXMvV2ViTWV0YWxSZW5kZXJDb21tYW5kRW5jb2Rl
ci5oOiBSZW5hbWVkIGZyb20gU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR1BVUmVuZGVy
Q29tbWFuZEVuY29kZXIuaC4KKyAgICAgICAgKiBodG1sL2NhbnZhcy9XZWJNZXRhbFJlbmRlckNv
bW1hbmRFbmNvZGVyLmlkbDogUmVuYW1lZCBmcm9tIFNvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFz
L1dlYkdQVVJlbmRlckNvbW1hbmRFbmNvZGVyLmlkbC4KKyAgICAgICAgKiBodG1sL2NhbnZhcy9X
ZWJNZXRhbFJlbmRlclBhc3NBdHRhY2htZW50RGVzY3JpcHRvci5jcHA6IFJlbmFtZWQgZnJvbSBT
b3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHUFVSZW5kZXJQYXNzQXR0YWNobWVudERlc2Ny
aXB0b3IuY3BwLgorICAgICAgICAoV2ViQ29yZTo6V2ViTWV0YWxSZW5kZXJQYXNzQXR0YWNobWVu
dERlc2NyaXB0b3I6OldlYk1ldGFsUmVuZGVyUGFzc0F0dGFjaG1lbnREZXNjcmlwdG9yKToKKyAg
ICAgICAgKFdlYkNvcmU6OldlYk1ldGFsUmVuZGVyUGFzc0F0dGFjaG1lbnREZXNjcmlwdG9yOjps
b2FkQWN0aW9uIGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OldlYk1ldGFsUmVuZGVyUGFzc0F0
dGFjaG1lbnREZXNjcmlwdG9yOjpzZXRMb2FkQWN0aW9uKToKKyAgICAgICAgKFdlYkNvcmU6Oldl
Yk1ldGFsUmVuZGVyUGFzc0F0dGFjaG1lbnREZXNjcmlwdG9yOjpzdG9yZUFjdGlvbiBjb25zdCk6
CisgICAgICAgIChXZWJDb3JlOjpXZWJNZXRhbFJlbmRlclBhc3NBdHRhY2htZW50RGVzY3JpcHRv
cjo6c2V0U3RvcmVBY3Rpb24pOgorICAgICAgICAoV2ViQ29yZTo6V2ViTWV0YWxSZW5kZXJQYXNz
QXR0YWNobWVudERlc2NyaXB0b3I6OnRleHR1cmUgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6
V2ViTWV0YWxSZW5kZXJQYXNzQXR0YWNobWVudERlc2NyaXB0b3I6OnNldFRleHR1cmUpOgorICAg
ICAgICAqIGh0bWwvY2FudmFzL1dlYk1ldGFsUmVuZGVyUGFzc0F0dGFjaG1lbnREZXNjcmlwdG9y
Lmg6IFJlbmFtZWQgZnJvbSBTb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHUFVSZW5kZXJQ
YXNzQXR0YWNobWVudERlc2NyaXB0b3IuaC4KKyAgICAgICAgKiBodG1sL2NhbnZhcy9XZWJNZXRh
bFJlbmRlclBhc3NBdHRhY2htZW50RGVzY3JpcHRvci5pZGw6IFJlbmFtZWQgZnJvbSBTb3VyY2Uv
V2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHUFVSZW5kZXJQYXNzQXR0YWNobWVudERlc2NyaXB0b3Iu
aWRsLgorICAgICAgICAqIGh0bWwvY2FudmFzL1dlYk1ldGFsUmVuZGVyUGFzc0NvbG9yQXR0YWNo
bWVudERlc2NyaXB0b3IuY3BwOiBSZW5hbWVkIGZyb20gU291cmNlL1dlYkNvcmUvaHRtbC9jYW52
YXMvV2ViR1BVUmVuZGVyUGFzc0NvbG9yQXR0YWNobWVudERlc2NyaXB0b3IuY3BwLgorICAgICAg
ICAoV2ViQ29yZTo6V2ViTWV0YWxSZW5kZXJQYXNzQ29sb3JBdHRhY2htZW50RGVzY3JpcHRvcjo6
Y3JlYXRlKToKKyAgICAgICAgKFdlYkNvcmU6OldlYk1ldGFsUmVuZGVyUGFzc0NvbG9yQXR0YWNo
bWVudERlc2NyaXB0b3I6OldlYk1ldGFsUmVuZGVyUGFzc0NvbG9yQXR0YWNobWVudERlc2NyaXB0
b3IpOgorICAgICAgICAoV2ViQ29yZTo6V2ViTWV0YWxSZW5kZXJQYXNzQ29sb3JBdHRhY2htZW50
RGVzY3JpcHRvcjo6ZGVzY3JpcHRvciBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpXZWJNZXRh
bFJlbmRlclBhc3NDb2xvckF0dGFjaG1lbnREZXNjcmlwdG9yOjpjbGVhckNvbG9yIGNvbnN0KToK
KyAgICAgICAgKFdlYkNvcmU6OldlYk1ldGFsUmVuZGVyUGFzc0NvbG9yQXR0YWNobWVudERlc2Ny
aXB0b3I6OnNldENsZWFyQ29sb3IpOgorICAgICAgICAqIGh0bWwvY2FudmFzL1dlYk1ldGFsUmVu
ZGVyUGFzc0NvbG9yQXR0YWNobWVudERlc2NyaXB0b3IuaDogUmVuYW1lZCBmcm9tIFNvdXJjZS9X
ZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdQVVJlbmRlclBhc3NDb2xvckF0dGFjaG1lbnREZXNjcmlw
dG9yLmguCisgICAgICAgICogaHRtbC9jYW52YXMvV2ViTWV0YWxSZW5kZXJQYXNzQ29sb3JBdHRh
Y2htZW50RGVzY3JpcHRvci5pZGw6IFJlbmFtZWQgZnJvbSBTb3VyY2UvV2ViQ29yZS9odG1sL2Nh
bnZhcy9XZWJHUFVSZW5kZXJQYXNzQ29sb3JBdHRhY2htZW50RGVzY3JpcHRvci5pZGwuCisgICAg
ICAgICogaHRtbC9jYW52YXMvV2ViTWV0YWxSZW5kZXJQYXNzRGVwdGhBdHRhY2htZW50RGVzY3Jp
cHRvci5jcHA6IFJlbmFtZWQgZnJvbSBTb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHUFVS
ZW5kZXJQYXNzRGVwdGhBdHRhY2htZW50RGVzY3JpcHRvci5jcHAuCisgICAgICAgIChXZWJDb3Jl
OjpXZWJNZXRhbFJlbmRlclBhc3NEZXB0aEF0dGFjaG1lbnREZXNjcmlwdG9yOjpjcmVhdGUpOgor
ICAgICAgICAoV2ViQ29yZTo6V2ViTWV0YWxSZW5kZXJQYXNzRGVwdGhBdHRhY2htZW50RGVzY3Jp
cHRvcjo6V2ViTWV0YWxSZW5kZXJQYXNzRGVwdGhBdHRhY2htZW50RGVzY3JpcHRvcik6CisgICAg
ICAgIChXZWJDb3JlOjpXZWJNZXRhbFJlbmRlclBhc3NEZXB0aEF0dGFjaG1lbnREZXNjcmlwdG9y
OjpjbGVhckRlcHRoIGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OldlYk1ldGFsUmVuZGVyUGFz
c0RlcHRoQXR0YWNobWVudERlc2NyaXB0b3I6OnNldENsZWFyRGVwdGgpOgorICAgICAgICAoV2Vi
Q29yZTo6V2ViTWV0YWxSZW5kZXJQYXNzRGVwdGhBdHRhY2htZW50RGVzY3JpcHRvcjo6ZGVzY3Jp
cHRvciBjb25zdCk6CisgICAgICAgICogaHRtbC9jYW52YXMvV2ViTWV0YWxSZW5kZXJQYXNzRGVw
dGhBdHRhY2htZW50RGVzY3JpcHRvci5oOiBSZW5hbWVkIGZyb20gU291cmNlL1dlYkNvcmUvaHRt
bC9jYW52YXMvV2ViR1BVUmVuZGVyUGFzc0RlcHRoQXR0YWNobWVudERlc2NyaXB0b3IuaC4KKyAg
ICAgICAgKiBodG1sL2NhbnZhcy9XZWJNZXRhbFJlbmRlclBhc3NEZXB0aEF0dGFjaG1lbnREZXNj
cmlwdG9yLmlkbDogUmVuYW1lZCBmcm9tIFNvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdQ
VVJlbmRlclBhc3NEZXB0aEF0dGFjaG1lbnREZXNjcmlwdG9yLmlkbC4KKyAgICAgICAgKiBodG1s
L2NhbnZhcy9XZWJNZXRhbFJlbmRlclBhc3NEZXNjcmlwdG9yLmNwcDogUmVuYW1lZCBmcm9tIFNv
dXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdQVVJlbmRlclBhc3NEZXNjcmlwdG9yLmNwcC4K
KyAgICAgICAgKFdlYkNvcmU6OldlYk1ldGFsUmVuZGVyUGFzc0Rlc2NyaXB0b3I6OmNyZWF0ZSk6
CisgICAgICAgIChXZWJDb3JlOjpXZWJNZXRhbFJlbmRlclBhc3NEZXNjcmlwdG9yOjpkZXB0aEF0
dGFjaG1lbnQpOgorICAgICAgICAoV2ViQ29yZTo6V2ViTWV0YWxSZW5kZXJQYXNzRGVzY3JpcHRv
cjo6Y29sb3JBdHRhY2htZW50cyk6CisgICAgICAgICogaHRtbC9jYW52YXMvV2ViTWV0YWxSZW5k
ZXJQYXNzRGVzY3JpcHRvci5oOiBSZW5hbWVkIGZyb20gU291cmNlL1dlYkNvcmUvaHRtbC9jYW52
YXMvV2ViR1BVUmVuZGVyUGFzc0Rlc2NyaXB0b3IuaC4KKyAgICAgICAgKiBodG1sL2NhbnZhcy9X
ZWJNZXRhbFJlbmRlclBhc3NEZXNjcmlwdG9yLmlkbDogUmVuYW1lZCBmcm9tIFNvdXJjZS9XZWJD
b3JlL2h0bWwvY2FudmFzL1dlYkdQVVJlbmRlclBhc3NEZXNjcmlwdG9yLmlkbC4KKyAgICAgICAg
KiBodG1sL2NhbnZhcy9XZWJNZXRhbFJlbmRlclBpcGVsaW5lQ29sb3JBdHRhY2htZW50RGVzY3Jp
cHRvci5jcHA6IFJlbmFtZWQgZnJvbSBTb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHUFVS
ZW5kZXJQaXBlbGluZUNvbG9yQXR0YWNobWVudERlc2NyaXB0b3IuY3BwLgorICAgICAgICAoV2Vi
Q29yZTo6V2ViTWV0YWxSZW5kZXJQaXBlbGluZUNvbG9yQXR0YWNobWVudERlc2NyaXB0b3I6OmNy
ZWF0ZSk6CisgICAgICAgIChXZWJDb3JlOjpXZWJNZXRhbFJlbmRlclBpcGVsaW5lQ29sb3JBdHRh
Y2htZW50RGVzY3JpcHRvcjo6V2ViTWV0YWxSZW5kZXJQaXBlbGluZUNvbG9yQXR0YWNobWVudERl
c2NyaXB0b3IpOgorICAgICAgICAoV2ViQ29yZTo6V2ViTWV0YWxSZW5kZXJQaXBlbGluZUNvbG9y
QXR0YWNobWVudERlc2NyaXB0b3I6OnBpeGVsRm9ybWF0IGNvbnN0KToKKyAgICAgICAgKFdlYkNv
cmU6OldlYk1ldGFsUmVuZGVyUGlwZWxpbmVDb2xvckF0dGFjaG1lbnREZXNjcmlwdG9yOjpzZXRQ
aXhlbEZvcm1hdCk6CisgICAgICAgICogaHRtbC9jYW52YXMvV2ViTWV0YWxSZW5kZXJQaXBlbGlu
ZUNvbG9yQXR0YWNobWVudERlc2NyaXB0b3IuaDogUmVuYW1lZCBmcm9tIFNvdXJjZS9XZWJDb3Jl
L2h0bWwvY2FudmFzL1dlYkdQVVJlbmRlclBpcGVsaW5lQ29sb3JBdHRhY2htZW50RGVzY3JpcHRv
ci5oLgorICAgICAgICAqIGh0bWwvY2FudmFzL1dlYk1ldGFsUmVuZGVyUGlwZWxpbmVDb2xvckF0
dGFjaG1lbnREZXNjcmlwdG9yLmlkbDogUmVuYW1lZCBmcm9tIFNvdXJjZS9XZWJDb3JlL2h0bWwv
Y2FudmFzL1dlYkdQVVJlbmRlclBpcGVsaW5lQ29sb3JBdHRhY2htZW50RGVzY3JpcHRvci5pZGwu
CisgICAgICAgICogaHRtbC9jYW52YXMvV2ViTWV0YWxSZW5kZXJQaXBlbGluZURlc2NyaXB0b3Iu
Y3BwOiBSZW5hbWVkIGZyb20gU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR1BVUmVuZGVy
UGlwZWxpbmVEZXNjcmlwdG9yLmNwcC4KKyAgICAgICAgKFdlYkNvcmU6OldlYk1ldGFsUmVuZGVy
UGlwZWxpbmVEZXNjcmlwdG9yOjpjcmVhdGUpOgorICAgICAgICAoV2ViQ29yZTo6V2ViTWV0YWxS
ZW5kZXJQaXBlbGluZURlc2NyaXB0b3I6OnZlcnRleEZ1bmN0aW9uIGNvbnN0KToKKyAgICAgICAg
KFdlYkNvcmU6OldlYk1ldGFsUmVuZGVyUGlwZWxpbmVEZXNjcmlwdG9yOjpzZXRWZXJ0ZXhGdW5j
dGlvbik6CisgICAgICAgIChXZWJDb3JlOjpXZWJNZXRhbFJlbmRlclBpcGVsaW5lRGVzY3JpcHRv
cjo6ZnJhZ21lbnRGdW5jdGlvbiBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpXZWJNZXRhbFJl
bmRlclBpcGVsaW5lRGVzY3JpcHRvcjo6c2V0RnJhZ21lbnRGdW5jdGlvbik6CisgICAgICAgIChX
ZWJDb3JlOjpXZWJNZXRhbFJlbmRlclBpcGVsaW5lRGVzY3JpcHRvcjo6Y29sb3JBdHRhY2htZW50
cyk6CisgICAgICAgIChXZWJDb3JlOjpXZWJNZXRhbFJlbmRlclBpcGVsaW5lRGVzY3JpcHRvcjo6
ZGVwdGhBdHRhY2htZW50UGl4ZWxGb3JtYXQgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6V2Vi
TWV0YWxSZW5kZXJQaXBlbGluZURlc2NyaXB0b3I6OnNldERlcHRoQXR0YWNobWVudFBpeGVsRm9y
bWF0KToKKyAgICAgICAgKFdlYkNvcmU6OldlYk1ldGFsUmVuZGVyUGlwZWxpbmVEZXNjcmlwdG9y
OjpyZXNldCk6CisgICAgICAgICogaHRtbC9jYW52YXMvV2ViTWV0YWxSZW5kZXJQaXBlbGluZURl
c2NyaXB0b3IuaDogUmVuYW1lZCBmcm9tIFNvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdQ
VVJlbmRlclBpcGVsaW5lRGVzY3JpcHRvci5oLgorICAgICAgICAqIGh0bWwvY2FudmFzL1dlYk1l
dGFsUmVuZGVyUGlwZWxpbmVEZXNjcmlwdG9yLmlkbDogUmVuYW1lZCBmcm9tIFNvdXJjZS9XZWJD
b3JlL2h0bWwvY2FudmFzL1dlYkdQVVJlbmRlclBpcGVsaW5lRGVzY3JpcHRvci5pZGwuCisgICAg
ICAgICogaHRtbC9jYW52YXMvV2ViTWV0YWxSZW5kZXJQaXBlbGluZVN0YXRlLmNwcDogUmVuYW1l
ZCBmcm9tIFNvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdQVVJlbmRlclBpcGVsaW5lU3Rh
dGUuY3BwLgorICAgICAgICAoV2ViQ29yZTo6V2ViTWV0YWxSZW5kZXJQaXBlbGluZVN0YXRlOjpj
cmVhdGUpOgorICAgICAgICAoV2ViQ29yZTo6V2ViTWV0YWxSZW5kZXJQaXBlbGluZVN0YXRlOjpX
ZWJNZXRhbFJlbmRlclBpcGVsaW5lU3RhdGUpOgorICAgICAgICAoV2ViQ29yZTo6V2ViTWV0YWxS
ZW5kZXJQaXBlbGluZVN0YXRlOjpsYWJlbCBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpXZWJN
ZXRhbFJlbmRlclBpcGVsaW5lU3RhdGU6OnNldExhYmVsKToKKyAgICAgICAgKiBodG1sL2NhbnZh
cy9XZWJNZXRhbFJlbmRlclBpcGVsaW5lU3RhdGUuaDogUmVuYW1lZCBmcm9tIFNvdXJjZS9XZWJD
b3JlL2h0bWwvY2FudmFzL1dlYkdQVVJlbmRlclBpcGVsaW5lU3RhdGUuaC4KKyAgICAgICAgKiBo
dG1sL2NhbnZhcy9XZWJNZXRhbFJlbmRlclBpcGVsaW5lU3RhdGUuaWRsOiBSZW5hbWVkIGZyb20g
U291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR1BVRGVwdGhTdGVuY2lsU3RhdGUuaWRsLgor
ICAgICAgICAqIGh0bWwvY2FudmFzL1dlYk1ldGFsUmVuZGVyaW5nQ29udGV4dC5jcHA6IEFkZGVk
LgorICAgICAgICAoV2ViQ29yZTo6V2ViTWV0YWxSZW5kZXJpbmdDb250ZXh0OjpjcmVhdGUpOgor
ICAgICAgICAoV2ViQ29yZTo6V2ViTWV0YWxSZW5kZXJpbmdDb250ZXh0OjpXZWJNZXRhbFJlbmRl
cmluZ0NvbnRleHQpOgorICAgICAgICAoV2ViQ29yZTo6V2ViTWV0YWxSZW5kZXJpbmdDb250ZXh0
OjpjYW52YXMgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6V2ViTWV0YWxSZW5kZXJpbmdDb250
ZXh0Ojppbml0aWFsaXplTmV3Q29udGV4dCk6CisgICAgICAgIChXZWJDb3JlOjpXZWJNZXRhbFJl
bmRlcmluZ0NvbnRleHQ6OmNsYW1wZWRDYW52YXNTaXplIGNvbnN0KToKKyAgICAgICAgKFdlYkNv
cmU6OldlYk1ldGFsUmVuZGVyaW5nQ29udGV4dDo6aGFzUGVuZGluZ0FjdGl2aXR5IGNvbnN0KToK
KyAgICAgICAgKFdlYkNvcmU6OldlYk1ldGFsUmVuZGVyaW5nQ29udGV4dDo6c3RvcCk6CisgICAg
ICAgIChXZWJDb3JlOjpXZWJNZXRhbFJlbmRlcmluZ0NvbnRleHQ6OmFjdGl2ZURPTU9iamVjdE5h
bWUgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6V2ViTWV0YWxSZW5kZXJpbmdDb250ZXh0Ojpj
YW5TdXNwZW5kRm9yRG9jdW1lbnRTdXNwZW5zaW9uIGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6
OldlYk1ldGFsUmVuZGVyaW5nQ29udGV4dDo6cGxhdGZvcm1MYXllciBjb25zdCk6CisgICAgICAg
IChXZWJDb3JlOjpXZWJNZXRhbFJlbmRlcmluZ0NvbnRleHQ6Om1hcmtMYXllckNvbXBvc2l0ZWQp
OgorICAgICAgICAoV2ViQ29yZTo6V2ViTWV0YWxSZW5kZXJpbmdDb250ZXh0OjpyZXNoYXBlKToK
KyAgICAgICAgKFdlYkNvcmU6OldlYk1ldGFsUmVuZGVyaW5nQ29udGV4dDo6Y3JlYXRlTGlicmFy
eSk6CisgICAgICAgIChXZWJDb3JlOjpXZWJNZXRhbFJlbmRlcmluZ0NvbnRleHQ6OmNyZWF0ZVJl
bmRlclBpcGVsaW5lU3RhdGUpOgorICAgICAgICAoV2ViQ29yZTo6V2ViTWV0YWxSZW5kZXJpbmdD
b250ZXh0OjpjcmVhdGVEZXB0aFN0ZW5jaWxTdGF0ZSk6CisgICAgICAgIChXZWJDb3JlOjpXZWJN
ZXRhbFJlbmRlcmluZ0NvbnRleHQ6OmNyZWF0ZUNvbXB1dGVQaXBlbGluZVN0YXRlKToKKyAgICAg
ICAgKFdlYkNvcmU6OldlYk1ldGFsUmVuZGVyaW5nQ29udGV4dDo6Y3JlYXRlQ29tbWFuZFF1ZXVl
KToKKyAgICAgICAgKFdlYkNvcmU6OldlYk1ldGFsUmVuZGVyaW5nQ29udGV4dDo6bmV4dERyYXdh
YmxlKToKKyAgICAgICAgKFdlYkNvcmU6OldlYk1ldGFsUmVuZGVyaW5nQ29udGV4dDo6Y3JlYXRl
QnVmZmVyKToKKyAgICAgICAgKFdlYkNvcmU6OldlYk1ldGFsUmVuZGVyaW5nQ29udGV4dDo6Y3Jl
YXRlVGV4dHVyZSk6CisgICAgICAgICogaHRtbC9jYW52YXMvV2ViTWV0YWxSZW5kZXJpbmdDb250
ZXh0Lmg6IFJlbmFtZWQgZnJvbSBTb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHUFVSZW5k
ZXJpbmdDb250ZXh0LmguCisgICAgICAgICogaHRtbC9jYW52YXMvV2ViTWV0YWxSZW5kZXJpbmdD
b250ZXh0LmlkbDogUmVuYW1lZCBmcm9tIFNvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdQ
VVJlbmRlcmluZ0NvbnRleHQuaWRsLgorICAgICAgICAqIGh0bWwvY2FudmFzL1dlYk1ldGFsU2l6
ZS5oOiBSZW5hbWVkIGZyb20gU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR1BVU2l6ZS5o
LgorICAgICAgICAqIGh0bWwvY2FudmFzL1dlYk1ldGFsU2l6ZS5pZGw6IFJlbmFtZWQgZnJvbSBT
b3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHUFVTaXplLmlkbC4KKyAgICAgICAgKiBodG1s
L2NhbnZhcy9XZWJNZXRhbFRleHR1cmUuY3BwOiBSZW5hbWVkIGZyb20gU291cmNlL1dlYkNvcmUv
aHRtbC9jYW52YXMvV2ViR1BVVGV4dHVyZS5jcHAuCisgICAgICAgIChXZWJDb3JlOjpXZWJNZXRh
bFRleHR1cmU6OmNyZWF0ZSk6CisgICAgICAgIChXZWJDb3JlOjpXZWJNZXRhbFRleHR1cmU6Oldl
Yk1ldGFsVGV4dHVyZSk6CisgICAgICAgICogaHRtbC9jYW52YXMvV2ViTWV0YWxUZXh0dXJlLmg6
IFJlbmFtZWQgZnJvbSBTb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHUFVUZXh0dXJlLmgu
CisgICAgICAgICogaHRtbC9jYW52YXMvV2ViTWV0YWxUZXh0dXJlLmlkbDogUmVuYW1lZCBmcm9t
IFNvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdQVVRleHR1cmUuaWRsLgorICAgICAgICAq
IGh0bWwvY2FudmFzL1dlYk1ldGFsVGV4dHVyZURlc2NyaXB0b3IuY3BwOiBSZW5hbWVkIGZyb20g
U291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR1BVVGV4dHVyZURlc2NyaXB0b3IuY3BwLgor
ICAgICAgICAoV2ViQ29yZTo6V2ViTWV0YWxUZXh0dXJlRGVzY3JpcHRvcjo6Y3JlYXRlKToKKyAg
ICAgICAgKFdlYkNvcmU6OldlYk1ldGFsVGV4dHVyZURlc2NyaXB0b3I6OldlYk1ldGFsVGV4dHVy
ZURlc2NyaXB0b3IpOgorICAgICAgICAoV2ViQ29yZTo6V2ViTWV0YWxUZXh0dXJlRGVzY3JpcHRv
cjo6d2lkdGggY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6V2ViTWV0YWxUZXh0dXJlRGVzY3Jp
cHRvcjo6c2V0V2lkdGgpOgorICAgICAgICAoV2ViQ29yZTo6V2ViTWV0YWxUZXh0dXJlRGVzY3Jp
cHRvcjo6aGVpZ2h0IGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OldlYk1ldGFsVGV4dHVyZURl
c2NyaXB0b3I6OnNldEhlaWdodCk6CisgICAgICAgIChXZWJDb3JlOjpXZWJNZXRhbFRleHR1cmVE
ZXNjcmlwdG9yOjpzYW1wbGVDb3VudCBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpXZWJNZXRh
bFRleHR1cmVEZXNjcmlwdG9yOjpzZXRTYW1wbGVDb3VudCk6CisgICAgICAgIChXZWJDb3JlOjpX
ZWJNZXRhbFRleHR1cmVEZXNjcmlwdG9yOjp0ZXh0dXJlVHlwZSBjb25zdCk6CisgICAgICAgIChX
ZWJDb3JlOjpXZWJNZXRhbFRleHR1cmVEZXNjcmlwdG9yOjpzZXRUZXh0dXJlVHlwZSk6CisgICAg
ICAgIChXZWJDb3JlOjpXZWJNZXRhbFRleHR1cmVEZXNjcmlwdG9yOjpzdG9yYWdlTW9kZSBjb25z
dCk6CisgICAgICAgIChXZWJDb3JlOjpXZWJNZXRhbFRleHR1cmVEZXNjcmlwdG9yOjpzZXRTdG9y
YWdlTW9kZSk6CisgICAgICAgIChXZWJDb3JlOjpXZWJNZXRhbFRleHR1cmVEZXNjcmlwdG9yOjp1
c2FnZSBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpXZWJNZXRhbFRleHR1cmVEZXNjcmlwdG9y
OjpzZXRVc2FnZSk6CisgICAgICAgICogaHRtbC9jYW52YXMvV2ViTWV0YWxUZXh0dXJlRGVzY3Jp
cHRvci5oOiBSZW5hbWVkIGZyb20gU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR1BVVGV4
dHVyZURlc2NyaXB0b3IuaC4KKyAgICAgICAgKiBodG1sL2NhbnZhcy9XZWJNZXRhbFRleHR1cmVE
ZXNjcmlwdG9yLmlkbDogUmVuYW1lZCBmcm9tIFNvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dl
YkdQVVRleHR1cmVEZXNjcmlwdG9yLmlkbC4KKyAgICAgICAgKiBpbnNwZWN0b3IvSW5zcGVjdG9y
Q2FudmFzLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3RvckNhbnZhczo6YnVpbGRPYmpl
Y3RGb3JDYW52YXMpOgorICAgICAgICAqIGluc3BlY3Rvci9hZ2VudHMvSW5zcGVjdG9yQ2FudmFz
QWdlbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9yQ2FudmFzQWdlbnQ6OnJlcXVl
c3RDb250ZW50KToKKyAgICAgICAgKFdlYkNvcmU6OmNvbnRleHRBc1NjcmlwdFZhbHVlKToKKyAg
ICAgICAgKiBwYWdlL1J1bnRpbWVFbmFibGVkRmVhdHVyZXMuaDoKKyAgICAgICAgKFdlYkNvcmU6
OlJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6OnNldFdlYk1ldGFsRW5hYmxlZCk6CisgICAgICAgIChX
ZWJDb3JlOjpSdW50aW1lRW5hYmxlZEZlYXR1cmVzOjp3ZWJNZXRhbEVuYWJsZWQgY29uc3QpOgor
ICAgICAgICAoV2ViQ29yZTo6UnVudGltZUVuYWJsZWRGZWF0dXJlczo6c2V0V2ViR1BVRW5hYmxl
ZCk6IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpSdW50aW1lRW5hYmxlZEZlYXR1cmVzOjp3
ZWJHUFVFbmFibGVkIGNvbnN0KTogRGVsZXRlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9Mb2dnaW5n
Lmg6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvY2EvY29jb2EvUGxhdGZvcm1DQUxheWVy
Q29jb2EubW06CisgICAgICAgIChXZWJDb3JlOjpQbGF0Zm9ybUNBTGF5ZXJDb2NvYTo6bGF5ZXJU
eXBlRm9yUGxhdGZvcm1MYXllcik6CisgICAgICAgIChXZWJDb3JlOjpQbGF0Zm9ybUNBTGF5ZXJD
b2NvYTo6UGxhdGZvcm1DQUxheWVyQ29jb2EpOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNz
L2NvY29hL1dlYk1ldGFsTGF5ZXIuaDogUmVuYW1lZCBmcm9tIFNvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL2NvY29hL1dlYkdQVUxheWVyLmguCisgICAgICAgICogcGxhdGZvcm0vZ3Jh
cGhpY3MvY29jb2EvV2ViTWV0YWxMYXllci5tbTogUmVuYW1lZCBmcm9tIFNvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL2NvY29hL1dlYkdQVUxheWVyLm1tLgorICAgICAgICAoLVtXZWJN
ZXRhbExheWVyIGluaXRXaXRoR1BVRGV2aWNlOl0pOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBo
aWNzL2dwdS9HUFVCdWZmZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6R1BVQnVmZmVyOjp+R1BV
QnVmZmVyKToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9ncHUvR1BVQnVmZmVyLmg6Cisg
ICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L0dQVUNvbW1hbmRCdWZmZXIuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6R1BVQ29tbWFuZEJ1ZmZlcjo6fkdQVUNvbW1hbmRCdWZmZXIpOgorICAg
ICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2dwdS9HUFVDb21tYW5kQnVmZmVyLmg6CisgICAgICAg
ICogcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L0dQVUNvbW1hbmRRdWV1ZS5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpHUFVDb21tYW5kUXVldWU6On5HUFVDb21tYW5kUXVldWUpOgorICAgICAgICAqIHBs
YXRmb3JtL2dyYXBoaWNzL2dwdS9HUFVDb21tYW5kUXVldWUuaDoKKyAgICAgICAgKiBwbGF0Zm9y
bS9ncmFwaGljcy9ncHUvR1BVQ29tcHV0ZUNvbW1hbmRFbmNvZGVyLmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6OkdQVUNvbXB1dGVDb21tYW5kRW5jb2Rlcjo6fkdQVUNvbXB1dGVDb21tYW5kRW5jb2Rl
cik6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L0dQVUNvbXB1dGVDb21tYW5kRW5j
b2Rlci5oOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2dwdS9HUFVDb21wdXRlUGlwZWxp
bmVTdGF0ZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpHUFVDb21wdXRlUGlwZWxpbmVTdGF0ZTo6
fkdQVUNvbXB1dGVQaXBlbGluZVN0YXRlKToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9n
cHUvR1BVQ29tcHV0ZVBpcGVsaW5lU3RhdGUuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGlj
cy9ncHUvR1BVRGVwdGhTdGVuY2lsRGVzY3JpcHRvci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpH
UFVEZXB0aFN0ZW5jaWxEZXNjcmlwdG9yOjp+R1BVRGVwdGhTdGVuY2lsRGVzY3JpcHRvcik6Cisg
ICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L0dQVURlcHRoU3RlbmNpbERlc2NyaXB0b3Iu
aDoKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9ncHUvR1BVRGVwdGhTdGVuY2lsU3RhdGUu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6R1BVRGVwdGhTdGVuY2lsU3RhdGU6On5HUFVEZXB0aFN0
ZW5jaWxTdGF0ZSk6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L0dQVURlcHRoU3Rl
bmNpbFN0YXRlLmg6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L0dQVURldmljZS5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpHUFVEZXZpY2U6On5HUFVEZXZpY2UpOgorICAgICAgICAq
IHBsYXRmb3JtL2dyYXBoaWNzL2dwdS9HUFVEZXZpY2UuaDoKKyAgICAgICAgKFdlYkNvcmU6OkdQ
VURldmljZTo6bGF5ZXIgY29uc3QpOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2dwdS9H
UFVEcmF3YWJsZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpHUFVEcmF3YWJsZTo6fkdQVURyYXdh
YmxlKToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9ncHUvR1BVRHJhd2FibGUuaDoKKyAg
ICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9ncHUvR1BVRW51bXMuaDoKKyAgICAgICAgKiBwbGF0
Zm9ybS9ncmFwaGljcy9ncHUvR1BVRnVuY3Rpb24uY3BwOgorICAgICAgICAoV2ViQ29yZTo6R1BV
RnVuY3Rpb246On5HUFVGdW5jdGlvbik6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1
L0dQVUZ1bmN0aW9uLmg6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L0dQVUxpYnJh
cnkuY3BwOgorICAgICAgICAoV2ViQ29yZTo6R1BVTGlicmFyeTo6fkdQVUxpYnJhcnkpOgorICAg
ICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2dwdS9HUFVMaWJyYXJ5Lmg6CisgICAgICAgICogcGxh
dGZvcm0vZ3JhcGhpY3MvZ3B1L0dQVVJlbmRlckNvbW1hbmRFbmNvZGVyLmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6OkdQVVJlbmRlckNvbW1hbmRFbmNvZGVyOjp+R1BVUmVuZGVyQ29tbWFuZEVuY29k
ZXIpOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2dwdS9HUFVSZW5kZXJDb21tYW5kRW5j
b2Rlci5oOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2dwdS9HUFVSZW5kZXJQYXNzQXR0
YWNobWVudERlc2NyaXB0b3IuY3BwOgorICAgICAgICAoV2ViQ29yZTo6R1BVUmVuZGVyUGFzc0F0
dGFjaG1lbnREZXNjcmlwdG9yOjp+R1BVUmVuZGVyUGFzc0F0dGFjaG1lbnREZXNjcmlwdG9yKToK
KyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9ncHUvR1BVUmVuZGVyUGFzc0F0dGFjaG1lbnRE
ZXNjcmlwdG9yLmg6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L0dQVVJlbmRlclBh
c3NDb2xvckF0dGFjaG1lbnREZXNjcmlwdG9yLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkdQVVJl
bmRlclBhc3NDb2xvckF0dGFjaG1lbnREZXNjcmlwdG9yOjp+R1BVUmVuZGVyUGFzc0NvbG9yQXR0
YWNobWVudERlc2NyaXB0b3IpOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2dwdS9HUFVS
ZW5kZXJQYXNzQ29sb3JBdHRhY2htZW50RGVzY3JpcHRvci5oOgorICAgICAgICAqIHBsYXRmb3Jt
L2dyYXBoaWNzL2dwdS9HUFVSZW5kZXJQYXNzRGVwdGhBdHRhY2htZW50RGVzY3JpcHRvci5jcHA6
CisgICAgICAgIChXZWJDb3JlOjpHUFVSZW5kZXJQYXNzRGVwdGhBdHRhY2htZW50RGVzY3JpcHRv
cjo6fkdQVVJlbmRlclBhc3NEZXB0aEF0dGFjaG1lbnREZXNjcmlwdG9yKToKKyAgICAgICAgKiBw
bGF0Zm9ybS9ncmFwaGljcy9ncHUvR1BVUmVuZGVyUGFzc0RlcHRoQXR0YWNobWVudERlc2NyaXB0
b3IuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9ncHUvR1BVUmVuZGVyUGFzc0Rlc2Ny
aXB0b3IuY3BwOgorICAgICAgICAoV2ViQ29yZTo6R1BVUmVuZGVyUGFzc0Rlc2NyaXB0b3I6On5H
UFVSZW5kZXJQYXNzRGVzY3JpcHRvcik6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1
L0dQVVJlbmRlclBhc3NEZXNjcmlwdG9yLmg6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3Mv
Z3B1L0dQVVJlbmRlclBpcGVsaW5lQ29sb3JBdHRhY2htZW50RGVzY3JpcHRvci5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpHUFVSZW5kZXJQaXBlbGluZUNvbG9yQXR0YWNobWVudERlc2NyaXB0b3I6
On5HUFVSZW5kZXJQaXBlbGluZUNvbG9yQXR0YWNobWVudERlc2NyaXB0b3IpOgorICAgICAgICAq
IHBsYXRmb3JtL2dyYXBoaWNzL2dwdS9HUFVSZW5kZXJQaXBlbGluZUNvbG9yQXR0YWNobWVudERl
c2NyaXB0b3IuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9ncHUvR1BVUmVuZGVyUGlw
ZWxpbmVEZXNjcmlwdG9yLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkdQVVJlbmRlclBpcGVsaW5l
RGVzY3JpcHRvcjo6fkdQVVJlbmRlclBpcGVsaW5lRGVzY3JpcHRvcik6CisgICAgICAgICogcGxh
dGZvcm0vZ3JhcGhpY3MvZ3B1L0dQVVJlbmRlclBpcGVsaW5lRGVzY3JpcHRvci5oOgorICAgICAg
ICAqIHBsYXRmb3JtL2dyYXBoaWNzL2dwdS9HUFVSZW5kZXJQaXBlbGluZVN0YXRlLmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OkdQVVJlbmRlclBpcGVsaW5lU3RhdGU6On5HUFVSZW5kZXJQaXBlbGlu
ZVN0YXRlKToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9ncHUvR1BVUmVuZGVyUGlwZWxp
bmVTdGF0ZS5oOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2dwdS9HUFVTaXplLmg6Cisg
ICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L0dQVVRleHR1cmUuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6R1BVVGV4dHVyZTo6fkdQVVRleHR1cmUpOgorICAgICAgICAqIHBsYXRmb3JtL2dy
YXBoaWNzL2dwdS9HUFVUZXh0dXJlLmg6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1
L0dQVVRleHR1cmVEZXNjcmlwdG9yLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkdQVVRleHR1cmVE
ZXNjcmlwdG9yOjp+R1BVVGV4dHVyZURlc2NyaXB0b3IpOgorICAgICAgICAqIHBsYXRmb3JtL2dy
YXBoaWNzL2dwdS9HUFVUZXh0dXJlRGVzY3JpcHRvci5oOgorICAgICAgICAqIHBsYXRmb3JtL2dy
YXBoaWNzL21ldGFsL0dQVUJ1ZmZlck1ldGFsLm1tOgorICAgICAgICAoV2ViQ29yZTo6R1BVQnVm
ZmVyOjpHUFVCdWZmZXIpOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL21ldGFsL0dQVUNv
bW1hbmRCdWZmZXJNZXRhbC5tbToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9tZXRhbC9H
UFVDb21tYW5kUXVldWVNZXRhbC5tbToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9tZXRh
bC9HUFVDb21wdXRlQ29tbWFuZEVuY29kZXJNZXRhbC5tbToKKyAgICAgICAgKiBwbGF0Zm9ybS9n
cmFwaGljcy9tZXRhbC9HUFVDb21wdXRlUGlwZWxpbmVTdGF0ZU1ldGFsLm1tOgorICAgICAgICAo
V2ViQ29yZTo6R1BVQ29tcHV0ZVBpcGVsaW5lU3RhdGU6OkdQVUNvbXB1dGVQaXBlbGluZVN0YXRl
KToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9tZXRhbC9HUFVEZXB0aFN0ZW5jaWxEZXNj
cmlwdG9yTWV0YWwubW06CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvbWV0YWwvR1BVRGVw
dGhTdGVuY2lsU3RhdGVNZXRhbC5tbToKKyAgICAgICAgKFdlYkNvcmU6OkdQVURlcHRoU3RlbmNp
bFN0YXRlOjpzZXRMYWJlbCBjb25zdCk6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvbWV0
YWwvR1BVRGV2aWNlTWV0YWwubW06CisgICAgICAgIChXZWJDb3JlOjpHUFVEZXZpY2U6OnJlc2hh
cGUgY29uc3QpOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL21ldGFsL0dQVURyYXdhYmxl
TWV0YWwubW06CisgICAgICAgIChXZWJDb3JlOjpHUFVEcmF3YWJsZTo6cmVsZWFzZSk6CisgICAg
ICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvbWV0YWwvR1BVRnVuY3Rpb25NZXRhbC5tbToKKyAgICAg
ICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9tZXRhbC9HUFVMaWJyYXJ5TWV0YWwubW06CisgICAgICAg
IChXZWJDb3JlOjpHUFVMaWJyYXJ5OjpHUFVMaWJyYXJ5KToKKyAgICAgICAgKiBwbGF0Zm9ybS9n
cmFwaGljcy9tZXRhbC9HUFVSZW5kZXJDb21tYW5kRW5jb2Rlck1ldGFsLm1tOgorICAgICAgICAo
V2ViQ29yZTo6R1BVUmVuZGVyQ29tbWFuZEVuY29kZXI6OkdQVVJlbmRlckNvbW1hbmRFbmNvZGVy
KToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9tZXRhbC9HUFVSZW5kZXJQYXNzQXR0YWNo
bWVudERlc2NyaXB0b3JNZXRhbC5tbToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9tZXRh
bC9HUFVSZW5kZXJQYXNzQ29sb3JBdHRhY2htZW50RGVzY3JpcHRvck1ldGFsLm1tOgorICAgICAg
ICAqIHBsYXRmb3JtL2dyYXBoaWNzL21ldGFsL0dQVVJlbmRlclBhc3NEZXB0aEF0dGFjaG1lbnRE
ZXNjcmlwdG9yTWV0YWwubW06CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvbWV0YWwvR1BV
UmVuZGVyUGFzc0Rlc2NyaXB0b3JNZXRhbC5tbToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGlj
cy9tZXRhbC9HUFVSZW5kZXJQaXBlbGluZUNvbG9yQXR0YWNobWVudERlc2NyaXB0b3JNZXRhbC5t
bToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9tZXRhbC9HUFVSZW5kZXJQaXBlbGluZURl
c2NyaXB0b3JNZXRhbC5tbToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9tZXRhbC9HUFVS
ZW5kZXJQaXBlbGluZVN0YXRlTWV0YWwubW06CisgICAgICAgIChXZWJDb3JlOjpHUFVSZW5kZXJQ
aXBlbGluZVN0YXRlOjpzZXRMYWJlbCBjb25zdCk6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhp
Y3MvbWV0YWwvR1BVVGV4dHVyZURlc2NyaXB0b3JNZXRhbC5tbToKKyAgICAgICAgKiBwbGF0Zm9y
bS9ncmFwaGljcy9tZXRhbC9HUFVUZXh0dXJlTWV0YWwubW06CisgICAgICAgIChXZWJDb3JlOjpH
UFVUZXh0dXJlOjpHUFVUZXh0dXJlKToKKyAgICAgICAgKiB0ZXN0aW5nL0ludGVybmFsU2V0dGlu
Z3MuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SW50ZXJuYWxTZXR0aW5nczo6QmFja3VwOjpCYWNr
dXApOgorICAgICAgICAoV2ViQ29yZTo6SW50ZXJuYWxTZXR0aW5nczo6QmFja3VwOjpyZXN0b3Jl
VG8pOgorICAgICAgICAoV2ViQ29yZTo6SW50ZXJuYWxTZXR0aW5nczo6c2V0V2ViTWV0YWxFbmFi
bGVkKToKKyAgICAgICAgKFdlYkNvcmU6OkludGVybmFsU2V0dGluZ3M6OnNldFdlYkdQVUVuYWJs
ZWQpOiBEZWxldGVkLgorICAgICAgICAqIHRlc3RpbmcvSW50ZXJuYWxTZXR0aW5ncy5oOgorICAg
ICAgICAqIHRlc3RpbmcvSW50ZXJuYWxTZXR0aW5ncy5pZGw6CisKIDIwMTgtMTAtMDUgIENocmlz
IER1bWV6ICA8Y2R1bWV6QGFwcGxlLmNvbT4KIAogICAgICAgICBSZWdyZXNzaW9uKHIyMzY4NjIp
OiBDcmFzaCB1bmRlciBET01XaW5kb3dFeHRlbnNpb246OndpbGxEZXRhY2hHbG9iYWxPYmplY3RG
cm9tRnJhbWUoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvUEFML0NoYW5nZUxvZyBiL1Nv
dXJjZS9XZWJDb3JlL1BBTC9DaGFuZ2VMb2cKaW5kZXggMjc2ZDlhZTEzZDRlNWJlZTc5ZTRlZjVj
NWZjNDkxMzdiZGExMmY4OS4uY2FhZjBkZTIyNDE3YTRiZWJmODlmM2MxY2M4MmYxNzQ4ZGZhYzQz
MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvUEFML0NoYW5nZUxvZworKysgYi9Tb3VyY2Uv
V2ViQ29yZS9QQUwvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTUgQEAKKzIwMTgtMTAtMDUgIEp1c3Rp
biBGYW4gIDxqdXN0aW5fZmFuQGFwcGxlLmNvbT4KKworICAgICAgICBXZWJHUFU6IFJlbmFtZSBv
bGQgV2ViR1BVIHByb3RvdHlwZSB0byBXZWJNZXRhbAorICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTkwMzI1CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS80
NDk5MDQ0Mz4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAg
ICBSZW5hbWUgV2ViR1BVIHByb3RvdHlwZSBmaWxlcyB0byBXZWJNZXRhbCBpbiBwcmVwYXJhdGlv
biBmb3IgaW1wbGVtZW50aW5nIHRoZSBuZXcgKE9jdCAyMDE4KSBXZWJHUFUgaW50ZXJmYWNlLgor
CisgICAgICAgICogQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWc6CisKIDIw
MTgtMTAtMDUgIEplciBOb2JsZSAgPGplci5ub2JsZUBhcHBsZS5jb20+CiAKICAgICAgICAgVW5y
ZXZpZXdlZCBidWlsZCBmaXg6IGludGVybmFsIGJ1aWxkcyBjYW4ndCBmaW5kIEFWVmlkZW9QZXJm
b3JtYW5jZU1ldHJpY3MuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvQ2hhbmdl
TG9nIGIvU291cmNlL1dlYkluc3BlY3RvclVJL0NoYW5nZUxvZwppbmRleCBjNGRlN2I2OWJiMjEx
Yzk4ZmU0NDdmZDM0NmMwZjEzZjc2ZjAzN2Y0Li4xMWI4NjVkZDVlYjJmMWY1MTYwMmM4YWYyMmM1
NmRlYWJhMGE3ZGQ0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvQ2hhbmdlTG9n
CisrKyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxOSBAQAor
MjAxOC0xMC0wNSAgSnVzdGluIEZhbiAgPGp1c3Rpbl9mYW5AYXBwbGUuY29tPgorCisgICAgICAg
IFdlYkdQVTogUmVuYW1lIG9sZCBXZWJHUFUgcHJvdG90eXBlIHRvIFdlYk1ldGFsCisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xOTAzMjUKKyAgICAgICAg
PHJkYXI6Ly9wcm9ibGVtLzQ0OTkwNDQzPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAo
T09QUyEpLgorCisgICAgICAgIFJlbmFtZSBXZWJHUFUgcHJvdG90eXBlIGZpbGVzIHRvIFdlYk1l
dGFsIGluIHByZXBhcmF0aW9uIGZvciBpbXBsZW1lbnRpbmcgdGhlIG5ldyAoT2N0IDIwMTgpIFdl
YkdQVSBpbnRlcmZhY2UuCisKKyAgICAgICAgKiBVc2VySW50ZXJmYWNlL01vZGVscy9DYW52YXMu
anM6CisgICAgICAgIChXSS5DYW52YXMuZnJvbVBheWxvYWQpOgorICAgICAgICAoV0kuQ2FudmFz
LmRpc3BsYXlOYW1lRm9yQ29udGV4dFR5cGUpOgorICAgICAgICAqIFVzZXJJbnRlcmZhY2UvUHJv
dG9jb2wvTGVnYWN5LzExLjMvSW5zcGVjdG9yQmFja2VuZENvbW1hbmRzLmpzOgorICAgICAgICAq
IFVzZXJJbnRlcmZhY2UvUHJvdG9jb2wvTGVnYWN5LzEyLjAvSW5zcGVjdG9yQmFja2VuZENvbW1h
bmRzLmpzOgorCiAyMDE4LTEwLTA1ICBEZXZpbiBSb3Vzc28gIDxkcm91c3NvQGFwcGxlLmNvbT4K
IAogICAgICAgICBXZWIgSW5zcGVjdG9yOiB1c2UgaWZyYW1lJ3MgbmFtZSBhdHRyaWJ1dGUgZm9y
IEZyYW1lVHJlZUVsZW1lbnQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nIGIv
U291cmNlL1dlYktpdC9DaGFuZ2VMb2cKaW5kZXggY2NmOGNmNzFlYjI4MjQxMTk3YjA4ZDI1OTZk
MTJmZDczM2NjZjkzNS4uZTk3NTgwMDNjZDM4YmUyMTgyYzY2NTM1OGUxZDBlN2Y1ZDYwMGFlNCAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9D
aGFuZ2VMb2cKQEAgLTEsMyArMSwxOCBAQAorMjAxOC0xMC0wNSAgSnVzdGluIEZhbiAgPGp1c3Rp
bl9mYW5AYXBwbGUuY29tPgorCisgICAgICAgIFdlYkdQVTogUmVuYW1lIG9sZCBXZWJHUFUgcHJv
dG90eXBlIHRvIFdlYk1ldGFsCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD0xOTAzMjUKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzQ0OTkwNDQzPgorCisg
ICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFJlbmFtZSBXZWJH
UFUgcHJvdG90eXBlIGZpbGVzIHRvIFdlYk1ldGFsIGluIHByZXBhcmF0aW9uIGZvciBpbXBsZW1l
bnRpbmcgdGhlIG5ldyAoT2N0IDIwMTgpIFdlYkdQVSBpbnRlcmZhY2UuCisKKyAgICAgICAgKiBD
b25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZzoKKyAgICAgICAgKiBTaGFyZWQv
V2ViUHJlZmVyZW5jZXMueWFtbDoKKyAgICAgICAgKiBXZWJQcm9jZXNzL0luamVjdGVkQnVuZGxl
L0luamVjdGVkQnVuZGxlLmNwcDoKKyAgICAgICAgKFdlYktpdDo6SW5qZWN0ZWRCdW5kbGU6Om92
ZXJyaWRlQm9vbFByZWZlcmVuY2VGb3JUZXN0UnVubmVyKToKKwogMjAxOC0xMC0wNSAgQWxleCBD
aHJpc3RlbnNlbiAgPGFjaHJpc3RlbnNlbkB3ZWJraXQub3JnPgogCiAgICAgICAgIFJFR1JFU1NJ
T04ocjIzNjE1NCkgUGFnZSBsb2FkcyBhcmUgbm90IGRyYXduIHdoZW4gbG9hZGVkIGluIHNoaXBw
ZWQgU2FmYXJpMTEvMTIKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL0NoYW5nZUxvZwppbmRleCBjYTI2MzBjZjhk
ODBkYjUwZmZlYjk2ZjQyODlmZTYyMGFiNDRlZmQ1Li45NDVkYmNlNjc1N2Q2ZWEzYzg4MjZlYjhj
YWQyZmU2ZWQxMzIzYjg4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9DaGFu
Z2VMb2cKKysrIGIvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEs
MjUgQEAKKzIwMTgtMTAtMDUgIEp1c3RpbiBGYW4gIDxqdXN0aW5fZmFuQGFwcGxlLmNvbT4KKwor
ICAgICAgICBXZWJHUFU6IFJlbmFtZSBvbGQgV2ViR1BVIHByb3RvdHlwZSB0byBXZWJNZXRhbAor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTkwMzI1Cisg
ICAgICAgIDxyZGFyOi8vcHJvYmxlbS80NDk5MDQ0Mz4KKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICBSZW5hbWUgV2ViR1BVIHByb3RvdHlwZSBmaWxlcyB0
byBXZWJNZXRhbCBpbiBwcmVwYXJhdGlvbiBmb3IgaW1wbGVtZW50aW5nIHRoZSBuZXcgKE9jdCAy
MDE4KSBXZWJHUFUgaW50ZXJmYWNlLgorCisgICAgICAgICogQ29uZmlndXJhdGlvbnMvRmVhdHVy
ZURlZmluZXMueGNjb25maWc6CisgICAgICAgICogV2ViVmlldy9XZWJQcmVmZXJlbmNlS2V5c1By
aXZhdGUuaDoKKyAgICAgICAgKiBXZWJWaWV3L1dlYlByZWZlcmVuY2VzLm1tOgorICAgICAgICAo
K1tXZWJQcmVmZXJlbmNlcyBpbml0aWFsaXplXSk6CisgICAgICAgICgtW1dlYlByZWZlcmVuY2Vz
IHdlYk1ldGFsRW5hYmxlZF0pOgorICAgICAgICAoLVtXZWJQcmVmZXJlbmNlcyBzZXRXZWJNZXRh
bEVuYWJsZWQ6XSk6CisgICAgICAgICgtW1dlYlByZWZlcmVuY2VzIHdlYkdQVUVuYWJsZWRdKTog
RGVsZXRlZC4KKyAgICAgICAgKC1bV2ViUHJlZmVyZW5jZXMgc2V0V2ViR1BVRW5hYmxlZDpdKTog
RGVsZXRlZC4KKyAgICAgICAgKiBXZWJWaWV3L1dlYlByZWZlcmVuY2VzUHJpdmF0ZS5oOgorICAg
ICAgICAqIFdlYlZpZXcvV2ViVmlldy5tbToKKyAgICAgICAgKC1bV2ViVmlldyBfcHJlZmVyZW5j
ZXNDaGFuZ2VkOl0pOgorCiAyMDE4LTEwLTA0ICBEYW4gQmVybnN0ZWluICA8bWl0ekBhcHBsZS5j
b20+CiAKICAgICAgICAgTW9yZSBDYXJib24gYnVpbGQtZml4aW5nLgpkaWZmIC0tZ2l0IGEvU291
cmNlL0phdmFTY3JpcHRDb3JlL0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmln
IGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhj
Y29uZmlnCmluZGV4IDY4ZWZjZTk0MmNhMGRjZGU2MjA5YTMwZmI0ZTVkMGJkODc2MGE3ODEuLjI0
MjlkZDhkYzY5MTI0MzU2ZDAxNDYzYWFiNzc5OGU3ODc3OWM5NWMgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZwor
KysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMu
eGNjb25maWcKQEAgLTM1MCwxMSArMzUwLDExIEBAIEVOQUJMRV9XRUJHTCA9IEVOQUJMRV9XRUJH
TDsKIAogRU5BQkxFX1dFQkdMMiA9IEVOQUJMRV9XRUJHTDI7CiAKLUVOQUJMRV9XRUJHUFUgPSAk
KEVOQUJMRV9XRUJHUFVfJChXS19QTEFURk9STV9OQU1FKSk7Ci1FTkFCTEVfV0VCR1BVX2lwaG9u
ZW9zID0gRU5BQkxFX1dFQkdQVTsKLUVOQUJMRV9XRUJHUFVfd2F0Y2hvcyA9IEVOQUJMRV9XRUJH
UFU7Ci1FTkFCTEVfV0VCR1BVX2FwcGxldHZvcyA9IEVOQUJMRV9XRUJHUFU7Ci1FTkFCTEVfV0VC
R1BVX21hY29zeCA9IEVOQUJMRV9XRUJHUFU7CitFTkFCTEVfV0VCTUVUQUwgPSAkKEVOQUJMRV9X
RUJNRVRBTF8kKFdLX1BMQVRGT1JNX05BTUUpKTsKK0VOQUJMRV9XRUJNRVRBTF9pcGhvbmVvcyA9
IEVOQUJMRV9XRUJNRVRBTDsKK0VOQUJMRV9XRUJNRVRBTF93YXRjaG9zID0gRU5BQkxFX1dFQk1F
VEFMOworRU5BQkxFX1dFQk1FVEFMX2FwcGxldHZvcyA9IEVOQUJMRV9XRUJNRVRBTDsKK0VOQUJM
RV9XRUJNRVRBTF9tYWNvc3ggPSBFTkFCTEVfV0VCTUVUQUw7CiAKIEVOQUJMRV9XRUJfQVVESU8g
PSBFTkFCTEVfV0VCX0FVRElPOwogCkBAIC0zNzIsNCArMzcyLDQgQEAgRU5BQkxFX1dJUkVMRVNT
X1BMQVlCQUNLX1RBUkdFVCA9IEVOQUJMRV9XSVJFTEVTU19QTEFZQkFDS19UQVJHRVQ7CiAKIEVO
QUJMRV9YU0xUID0gRU5BQkxFX1hTTFQ7CiAKLUZFQVRVUkVfREVGSU5FUyA9ICQoRU5BQkxFXzNE
X1RSQU5TRk9STVMpICQoRU5BQkxFX0FDQ0VMRVJBVEVEXzJEX0NBTlZBUykgJChFTkFCTEVfQUND
RUxFUkFURURfT1ZFUkZMT1dfU0NST0xMSU5HKSAkKEVOQUJMRV9BUFBMRV9QQVkpICQoRU5BQkxF
X0FQUExFX1BBWV9TRVNTSU9OX1YzKSAkKEVOQUJMRV9BUFBMRV9QQVlfU0VTU0lPTl9WNCkgJChF
TkFCTEVfQVBQTElDQVRJT05fTUFOSUZFU1QpICQoRU5BQkxFX0FUVEFDSE1FTlRfRUxFTUVOVCkg
JChFTkFCTEVfQVZGX0NBUFRJT05TKSAkKEVOQUJMRV9DQUNIRV9QQVJUSVRJT05JTkcpICQoRU5B
QkxFX0NIQU5ORUxfTUVTU0FHSU5HKSAkKEVOQUJMRV9DT05URU5UX0ZJTFRFUklORykgJChFTkFC
TEVfQ1NTM19URVhUKSAkKEVOQUJMRV9DU1NfQk9YX0RFQ09SQVRJT05fQlJFQUspICQoRU5BQkxF
X0NTU19DT01QT1NJVElORykgJChFTkFCTEVfQ1NTX0RFVklDRV9BREFQVEFUSU9OKSAkKEVOQUJM
RV9DU1NfSU1BR0VfT1JJRU5UQVRJT04pICQoRU5BQkxFX0NTU19JTUFHRV9SRVNPTFVUSU9OKSAk
KEVOQUJMRV9DU1NfU0NST0xMX1NOQVApICQoRU5BQkxFX0NTU19TRUxFQ1RPUlNfTEVWRUw0KSAk
KEVOQUJMRV9DU1NfVFJBSUxJTkdfV09SRCkgJChFTkFCTEVfQ1VSU09SX1ZJU0lCSUxJVFkpICQo
RU5BQkxFX0NVU1RPTV9TQ0hFTUVfSEFORExFUikgJChFTkFCTEVfREFTSEJPQVJEX1NVUFBPUlQp
ICQoRU5BQkxFX0RBVEFfSU5URVJBQ1RJT04pICQoRU5BQkxFX0RBVEFDVUVfVkFMVUUpICQoRU5B
QkxFX0RBVEFMSVNUX0VMRU1FTlQpICQoRU5BQkxFX0RFVklDRV9PUklFTlRBVElPTikgJChFTkFC
TEVfRFJBR19TVVBQT1JUKSAkKEVOQUJMRV9FTkNSWVBURURfTUVESUEpICQoRU5BQkxFX0VYUEVS
SU1FTlRBTF9GRUFUVVJFUykgJChFTkFCTEVfRkFTVF9KSVRfUEVSTUlTU0lPTlMpICQoRU5BQkxF
X0ZJTFRFUlNfTEVWRUxfMikgJChFTkFCTEVfRlRMX0pJVCkgJChFTkFCTEVfRlVMTFNDUkVFTl9B
UEkpICQoRU5BQkxFX0dBTUVQQUQpICQoRU5BQkxFX0dFT0xPQ0FUSU9OKSAkKEVOQUJMRV9JQ09O
REFUQUJBU0UpICQoRU5BQkxFX0lOREVYRURfREFUQUJBU0UpICQoRU5BQkxFX0lOREVYRURfREFU
QUJBU0VfSU5fV09SS0VSUykgJChFTkFCTEVfSU5QVVRfVFlQRV9DT0xPUikgJChFTkFCTEVfSU5Q
VVRfVFlQRV9EQVRFKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1FX0lOQ09NUExFVEUpICQo
RU5BQkxFX0lOUFVUX1RZUEVfREFURVRJTUVMT0NBTCkgJChFTkFCTEVfSU5QVVRfVFlQRV9NT05U
SCkgJChFTkFCTEVfSU5QVVRfVFlQRV9USU1FKSAkKEVOQUJMRV9JTlBVVF9UWVBFX1dFRUspICQo
RU5BQkxFX0lOVEVSU0VDVElPTl9PQlNFUlZFUikgJChFTkFCTEVfSU5UTCkgJChFTkFCTEVfSU9T
X0dFU1RVUkVfRVZFTlRTKSAkKEVOQUJMRV9JT1NfVE9VQ0hfRVZFTlRTKSAkKEVOQUJMRV9KSVQp
ICQoRU5BQkxFX0pTX0FTWU5DX0lURVJBVElPTikgJChFTkFCTEVfS0VZQk9BUkRfQ09ERV9BVFRS
SUJVVEUpICQoRU5BQkxFX0tFWUJPQVJEX0tFWV9BVFRSSUJVVEUpICQoRU5BQkxFX0xBWU9VVF9G
T1JNQVRUSU5HX0NPTlRFWFQpICQoRU5BQkxFX0xFR0FDWV9DU1NfVkVORE9SX1BSRUZJWEVTKSAk
KEVOQUJMRV9MRUdBQ1lfQ1VTVE9NX1BST1RPQ09MX01BTkFHRVIpICQoRU5BQkxFX0xFR0FDWV9F
TkNSWVBURURfTUVESUEpICQoRU5BQkxFX0xFVFRFUlBSRVNTKSAkKEVOQUJMRV9NQUNfR0VTVFVS
RV9FVkVOVFMpICQoRU5BQkxFX01BQ19WSURFT19UT09MQk9YKSAkKEVOQUJMRV9NQVRITUwpICQo
RU5BQkxFX01FRElBX0NBUFRVUkUpICQoRU5BQkxFX01FRElBX0NPTlRST0xTX1NDUklQVCkgJChF
TkFCTEVfTUVESUFfU0VTU0lPTikgJChFTkFCTEVfTUVESUFfU09VUkNFKSAkKEVOQUJMRV9NRURJ
QV9TVEFUSVNUSUNTKSAkKEVOQUJMRV9NRURJQV9TVFJFQU0pICQoRU5BQkxFX01FVEVSX0VMRU1F
TlQpICQoRU5BQkxFX01IVE1MKSAkKEVOQUJMRV9NT1VTRV9DVVJTT1JfU0NBTEUpICQoRU5BQkxF
X05BVklHQVRPUl9DT05URU5UX1VUSUxTKSAkKEVOQUJMRV9OQVZJR0FUT1JfU1RBTkRBTE9ORSkg
JChFTkFCTEVfTk9USUZJQ0FUSU9OUykgJChFTkFCTEVfUEFZTUVOVF9SRVFVRVNUKSAkKEVOQUJM
RV9QREZLSVRfUExVR0lOKSAkKEVOQUJMRV9QT0lOVEVSX0xPQ0spICQoRU5BQkxFX1BVQkxJQ19T
VUZGSVhfTElTVCkgJChFTkFCTEVfUVVPVEEpICQoRU5BQkxFX1JFTU9URV9JTlNQRUNUT1IpICQo
RU5BQkxFX1JFU09MVVRJT05fTUVESUFfUVVFUlkpICQoRU5BQkxFX1JFU09VUkNFX1VTQUdFKSAk
KEVOQUJMRV9SVUJCRVJfQkFORElORykgJChFTkFCTEVfU0VSVklDRV9DT05UUk9MUykgJChFTkFC
TEVfU0VSVklDRV9XT1JLRVIpICQoRU5BQkxFX1NQRUVDSF9TWU5USEVTSVMpICQoRU5BQkxFX1NU
UkVBTVNfQVBJKSAkKEVOQUJMRV9TVUJUTEVfQ1JZUFRPKSAkKEVOQUJMRV9TVkdfRk9OVFMpICQo
RU5BQkxFX1RFTEVQSE9ORV9OVU1CRVJfREVURUNUSU9OKSAkKEVOQUJMRV9URVhUX0FVVE9TSVpJ
TkcpICQoRU5BQkxFX1RPVUNIX0VWRU5UUykgJChFTkFCTEVfVVNFUl9NRVNTQUdFX0hBTkRMRVJT
KSAkKEVOQUJMRV9VU0VSU0VMRUNUX0FMTCkgJChFTkFCTEVfVkFSSUFUSU9OX0ZPTlRTKSAkKEVO
QUJMRV9WSURFTykgJChFTkFCTEVfVklERU9fUFJFU0VOVEFUSU9OX01PREUpICQoRU5BQkxFX1ZJ
REVPX1RSQUNLKSAkKEVOQUJMRV9WSURFT19VU0VTX0VMRU1FTlRfRlVMTFNDUkVFTikgJChFTkFC
TEVfV0VCX0FVRElPKSAkKEVOQUJMRV9XRUJfQVVUSE4pICQoRU5BQkxFX1dFQl9SVEMpICQoRU5B
QkxFX1dFQkFTU0VNQkxZKSAkKEVOQUJMRV9XRUJBU1NFTUJMWV9TVFJFQU1JTkdfQVBJKSAkKEVO
QUJMRV9XRUJHTCkgJChFTkFCTEVfV0VCR0wyKSAkKEVOQUJMRV9XRUJHUFUpICQoRU5BQkxFX1dJ
UkVMRVNTX1BMQVlCQUNLX1RBUkdFVCkgJChFTkFCTEVfWFNMVCk7CitGRUFUVVJFX0RFRklORVMg
PSAkKEVOQUJMRV8zRF9UUkFOU0ZPUk1TKSAkKEVOQUJMRV9BQ0NFTEVSQVRFRF8yRF9DQU5WQVMp
ICQoRU5BQkxFX0FDQ0VMRVJBVEVEX09WRVJGTE9XX1NDUk9MTElORykgJChFTkFCTEVfQVBQTEVf
UEFZKSAkKEVOQUJMRV9BUFBMRV9QQVlfU0VTU0lPTl9WMykgJChFTkFCTEVfQVBQTEVfUEFZX1NF
U1NJT05fVjQpICQoRU5BQkxFX0FQUExJQ0FUSU9OX01BTklGRVNUKSAkKEVOQUJMRV9BVFRBQ0hN
RU5UX0VMRU1FTlQpICQoRU5BQkxFX0FWRl9DQVBUSU9OUykgJChFTkFCTEVfQ0FDSEVfUEFSVElU
SU9OSU5HKSAkKEVOQUJMRV9DSEFOTkVMX01FU1NBR0lORykgJChFTkFCTEVfQ09OVEVOVF9GSUxU
RVJJTkcpICQoRU5BQkxFX0NTUzNfVEVYVCkgJChFTkFCTEVfQ1NTX0JPWF9ERUNPUkFUSU9OX0JS
RUFLKSAkKEVOQUJMRV9DU1NfQ09NUE9TSVRJTkcpICQoRU5BQkxFX0NTU19ERVZJQ0VfQURBUFRB
VElPTikgJChFTkFCTEVfQ1NTX0lNQUdFX09SSUVOVEFUSU9OKSAkKEVOQUJMRV9DU1NfSU1BR0Vf
UkVTT0xVVElPTikgJChFTkFCTEVfQ1NTX1NDUk9MTF9TTkFQKSAkKEVOQUJMRV9DU1NfU0VMRUNU
T1JTX0xFVkVMNCkgJChFTkFCTEVfQ1NTX1RSQUlMSU5HX1dPUkQpICQoRU5BQkxFX0NVUlNPUl9W
SVNJQklMSVRZKSAkKEVOQUJMRV9DVVNUT01fU0NIRU1FX0hBTkRMRVIpICQoRU5BQkxFX0RBU0hC
T0FSRF9TVVBQT1JUKSAkKEVOQUJMRV9EQVRBX0lOVEVSQUNUSU9OKSAkKEVOQUJMRV9EQVRBQ1VF
X1ZBTFVFKSAkKEVOQUJMRV9EQVRBTElTVF9FTEVNRU5UKSAkKEVOQUJMRV9ERVZJQ0VfT1JJRU5U
QVRJT04pICQoRU5BQkxFX0RSQUdfU1VQUE9SVCkgJChFTkFCTEVfRU5DUllQVEVEX01FRElBKSAk
KEVOQUJMRV9FWFBFUklNRU5UQUxfRkVBVFVSRVMpICQoRU5BQkxFX0ZBU1RfSklUX1BFUk1JU1NJ
T05TKSAkKEVOQUJMRV9GSUxURVJTX0xFVkVMXzIpICQoRU5BQkxFX0ZUTF9KSVQpICQoRU5BQkxF
X0ZVTExTQ1JFRU5fQVBJKSAkKEVOQUJMRV9HQU1FUEFEKSAkKEVOQUJMRV9HRU9MT0NBVElPTikg
JChFTkFCTEVfSUNPTkRBVEFCQVNFKSAkKEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNFKSAkKEVOQUJM
RV9JTkRFWEVEX0RBVEFCQVNFX0lOX1dPUktFUlMpICQoRU5BQkxFX0lOUFVUX1RZUEVfQ09MT1Ip
ICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURSkgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFVElNRV9J
TkNPTVBMRVRFKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1FTE9DQUwpICQoRU5BQkxFX0lO
UFVUX1RZUEVfTU9OVEgpICQoRU5BQkxFX0lOUFVUX1RZUEVfVElNRSkgJChFTkFCTEVfSU5QVVRf
VFlQRV9XRUVLKSAkKEVOQUJMRV9JTlRFUlNFQ1RJT05fT0JTRVJWRVIpICQoRU5BQkxFX0lOVEwp
ICQoRU5BQkxFX0lPU19HRVNUVVJFX0VWRU5UUykgJChFTkFCTEVfSU9TX1RPVUNIX0VWRU5UUykg
JChFTkFCTEVfSklUKSAkKEVOQUJMRV9KU19BU1lOQ19JVEVSQVRJT04pICQoRU5BQkxFX0tFWUJP
QVJEX0NPREVfQVRUUklCVVRFKSAkKEVOQUJMRV9LRVlCT0FSRF9LRVlfQVRUUklCVVRFKSAkKEVO
QUJMRV9MQVlPVVRfRk9STUFUVElOR19DT05URVhUKSAkKEVOQUJMRV9MRUdBQ1lfQ1NTX1ZFTkRP
Ul9QUkVGSVhFUykgJChFTkFCTEVfTEVHQUNZX0NVU1RPTV9QUk9UT0NPTF9NQU5BR0VSKSAkKEVO
QUJMRV9MRUdBQ1lfRU5DUllQVEVEX01FRElBKSAkKEVOQUJMRV9MRVRURVJQUkVTUykgJChFTkFC
TEVfTUFDX0dFU1RVUkVfRVZFTlRTKSAkKEVOQUJMRV9NQUNfVklERU9fVE9PTEJPWCkgJChFTkFC
TEVfTUFUSE1MKSAkKEVOQUJMRV9NRURJQV9DQVBUVVJFKSAkKEVOQUJMRV9NRURJQV9DT05UUk9M
U19TQ1JJUFQpICQoRU5BQkxFX01FRElBX1NFU1NJT04pICQoRU5BQkxFX01FRElBX1NPVVJDRSkg
JChFTkFCTEVfTUVESUFfU1RBVElTVElDUykgJChFTkFCTEVfTUVESUFfU1RSRUFNKSAkKEVOQUJM
RV9NRVRFUl9FTEVNRU5UKSAkKEVOQUJMRV9NSFRNTCkgJChFTkFCTEVfTU9VU0VfQ1VSU09SX1ND
QUxFKSAkKEVOQUJMRV9OQVZJR0FUT1JfQ09OVEVOVF9VVElMUykgJChFTkFCTEVfTkFWSUdBVE9S
X1NUQU5EQUxPTkUpICQoRU5BQkxFX05PVElGSUNBVElPTlMpICQoRU5BQkxFX1BBWU1FTlRfUkVR
VUVTVCkgJChFTkFCTEVfUERGS0lUX1BMVUdJTikgJChFTkFCTEVfUE9JTlRFUl9MT0NLKSAkKEVO
QUJMRV9QVUJMSUNfU1VGRklYX0xJU1QpICQoRU5BQkxFX1FVT1RBKSAkKEVOQUJMRV9SRU1PVEVf
SU5TUEVDVE9SKSAkKEVOQUJMRV9SRVNPTFVUSU9OX01FRElBX1FVRVJZKSAkKEVOQUJMRV9SRVNP
VVJDRV9VU0FHRSkgJChFTkFCTEVfUlVCQkVSX0JBTkRJTkcpICQoRU5BQkxFX1NFUlZJQ0VfQ09O
VFJPTFMpICQoRU5BQkxFX1NFUlZJQ0VfV09SS0VSKSAkKEVOQUJMRV9TUEVFQ0hfU1lOVEhFU0lT
KSAkKEVOQUJMRV9TVFJFQU1TX0FQSSkgJChFTkFCTEVfU1VCVExFX0NSWVBUTykgJChFTkFCTEVf
U1ZHX0ZPTlRTKSAkKEVOQUJMRV9URUxFUEhPTkVfTlVNQkVSX0RFVEVDVElPTikgJChFTkFCTEVf
VEVYVF9BVVRPU0laSU5HKSAkKEVOQUJMRV9UT1VDSF9FVkVOVFMpICQoRU5BQkxFX1VTRVJfTUVT
U0FHRV9IQU5ETEVSUykgJChFTkFCTEVfVVNFUlNFTEVDVF9BTEwpICQoRU5BQkxFX1ZBUklBVElP
Tl9GT05UUykgJChFTkFCTEVfVklERU8pICQoRU5BQkxFX1ZJREVPX1BSRVNFTlRBVElPTl9NT0RF
KSAkKEVOQUJMRV9WSURFT19UUkFDSykgJChFTkFCTEVfVklERU9fVVNFU19FTEVNRU5UX0ZVTExT
Q1JFRU4pICQoRU5BQkxFX1dFQl9BVURJTykgJChFTkFCTEVfV0VCX0FVVEhOKSAkKEVOQUJMRV9X
RUJfUlRDKSAkKEVOQUJMRV9XRUJBU1NFTUJMWSkgJChFTkFCTEVfV0VCQVNTRU1CTFlfU1RSRUFN
SU5HX0FQSSkgJChFTkFCTEVfV0VCR0wpICQoRU5BQkxFX1dFQkdMMikgJChFTkFCTEVfV0VCTUVU
QUwpICQoRU5BQkxFX1dJUkVMRVNTX1BMQVlCQUNLX1RBUkdFVCkgJChFTkFCTEVfWFNMVCk7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL3Byb3RvY29sL0NhbnZh
cy5qc29uIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9wcm90b2NvbC9DYW52YXMu
anNvbgppbmRleCA4Zjc4ZDkzYjAyNWFmMTk3MTcyNmY1YTExMDQ3MjIwYmI2Y2E5NDk1Li4yMDIz
MjcwZTcyODU1NmRkMDQ4NmVlNGJmMDhhM2FmMjg1ZGY0YjQ5IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL3Byb3RvY29sL0NhbnZhcy5qc29uCisrKyBiL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvcHJvdG9jb2wvQ2FudmFzLmpzb24KQEAgLTE2LDcg
KzE2LDcgQEAKICAgICAgICAgewogICAgICAgICAgICAgImlkIjogIkNvbnRleHRUeXBlIiwKICAg
ICAgICAgICAgICJ0eXBlIjogInN0cmluZyIsCi0gICAgICAgICAgICAiZW51bSI6IFsiY2FudmFz
LTJkIiwgImJpdG1hcHJlbmRlcmVyIiwgIndlYmdsIiwgIndlYmdsMiIsICJ3ZWJncHUiXSwKKyAg
ICAgICAgICAgICJlbnVtIjogWyJjYW52YXMtMmQiLCAiYml0bWFwcmVuZGVyZXIiLCAid2ViZ2wi
LCAid2ViZ2wyIiwgIndlYm1ldGFsIl0sCiAgICAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiVGhl
IHR5cGUgb2YgcmVuZGVyaW5nIGNvbnRleHQgYmFja2luZyB0aGUgY2FudmFzIGVsZW1lbnQuIgog
ICAgICAgICB9LAogICAgICAgICB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
aW5zcGVjdG9yL3NjcmlwdHMvY29kZWdlbi9nZW5lcmF0b3IucHkgYi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvaW5zcGVjdG9yL3NjcmlwdHMvY29kZWdlbi9nZW5lcmF0b3IucHkKaW5kZXggMWM5ODky
ZDAxNTMwNTY1ODU3ODIzOTBhOTliMzFmN2I5NTkxNjA1Ny4uMzhhNTk3OTJhMDQwODAxZTBkMGEx
OWVhMDA5NWFhY2E4OTQ4NzRjMSAxMDA3NTUKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2lu
c3BlY3Rvci9zY3JpcHRzL2NvZGVnZW4vZ2VuZXJhdG9yLnB5CisrKyBiL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9pbnNwZWN0b3Ivc2NyaXB0cy9jb2RlZ2VuL2dlbmVyYXRvci5weQpAQCAtNTAsNyAr
NTAsNyBAQCBfRU5VTV9JREVOVElGSUVSX1JFTkFNRV9NQVAgPSB7CiAgICAgJ2NhbnZhcy13ZWJn
bCc6ICdDYW52YXNXZWJHTCcsICAjIFJlY29yZGluZy5UeXBlLmNhbnZhcy13ZWJnbAogICAgICd3
ZWJnbCc6ICdXZWJHTCcsICAjIENhbnZhcy5Db250ZXh0VHlwZS53ZWJnbAogICAgICd3ZWJnbDIn
OiAnV2ViR0wyJywgICMgQ2FudmFzLkNvbnRleHRUeXBlLndlYmdsMgotICAgICd3ZWJncHUnOiAn
V2ViR1BVJywgICMgQ2FudmFzLkNvbnRleHRUeXBlLndlYmdwdQorICAgICd3ZWJtZXRhbCc6ICdX
ZWJNZXRhbCcsICAjIENhbnZhcy5Db250ZXh0VHlwZS53ZWJtZXRhbAogICAgICdiaXRtYXByZW5k
ZXJlcic6ICdCaXRtYXBSZW5kZXJlcicsICAjIENhbnZhcy5Db250ZXh0VHlwZS5iaXRtYXByZW5k
ZXJlcgogICAgICd3ZWJydGMnOiAnV2ViUlRDJywgICMgQ29uc29sZS5DaGFubmVsU291cmNlLndl
YnJ0YwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQgYi9Tb3Vy
Y2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dAppbmRleCA5Y2Q5OWFmNTliNDM4MDg3ZTBiNmQ0MGQ0
MmYyMWVjYmFkYzkzMDRiLi5iYzU0MzNjYzZlZjgxMDhmYzE0M2I2OTg5MmFlZDcyMzcwZGNmMDFj
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9DTWFrZUxpc3RzLnR4dApAQCAtNzkwLDI4ICs3OTAsMjggQEAgc2V0KFdlYkNvcmVf
Tk9OX1NWR19JRExfRklMRVMKICAgICBodG1sL2NhbnZhcy9JbWFnZVNtb290aGluZ1F1YWxpdHku
aWRsCiAgICAgaHRtbC9jYW52YXMvT2Zmc2NyZWVuQ2FudmFzUmVuZGVyaW5nQ29udGV4dDJELmlk
bAogICAgIGh0bWwvY2FudmFzL1BhdGgyRC5pZGwKLSAgICBodG1sL2NhbnZhcy9XZWJHUFVCdWZm
ZXIuaWRsCi0gICAgaHRtbC9jYW52YXMvV2ViR1BVQ29tbWFuZEJ1ZmZlci5pZGwKLSAgICBodG1s
L2NhbnZhcy9XZWJHUFVDb21tYW5kUXVldWUuaWRsCi0gICAgaHRtbC9jYW52YXMvV2ViR1BVQ29t
cHV0ZUNvbW1hbmRFbmNvZGVyLmlkbAotICAgIGh0bWwvY2FudmFzL1dlYkdQVUNvbXB1dGVQaXBl
bGluZVN0YXRlLmlkbAotICAgIGh0bWwvY2FudmFzL1dlYkdQVURlcHRoU3RlbmNpbERlc2NyaXB0
b3IuaWRsCi0gICAgaHRtbC9jYW52YXMvV2ViR1BVRGVwdGhTdGVuY2lsU3RhdGUuaWRsCi0gICAg
aHRtbC9jYW52YXMvV2ViR1BVRHJhd2FibGUuaWRsCi0gICAgaHRtbC9jYW52YXMvV2ViR1BVRnVu
Y3Rpb24uaWRsCi0gICAgaHRtbC9jYW52YXMvV2ViR1BVTGlicmFyeS5pZGwKLSAgICBodG1sL2Nh
bnZhcy9XZWJHUFVSZW5kZXJDb21tYW5kRW5jb2Rlci5pZGwKLSAgICBodG1sL2NhbnZhcy9XZWJH
UFVSZW5kZXJQYXNzQXR0YWNobWVudERlc2NyaXB0b3IuaWRsCi0gICAgaHRtbC9jYW52YXMvV2Vi
R1BVUmVuZGVyUGFzc0NvbG9yQXR0YWNobWVudERlc2NyaXB0b3IuaWRsCi0gICAgaHRtbC9jYW52
YXMvV2ViR1BVUmVuZGVyUGFzc0RlcHRoQXR0YWNobWVudERlc2NyaXB0b3IuaWRsCi0gICAgaHRt
bC9jYW52YXMvV2ViR1BVUmVuZGVyUGFzc0Rlc2NyaXB0b3IuaWRsCi0gICAgaHRtbC9jYW52YXMv
V2ViR1BVUmVuZGVyUGlwZWxpbmVDb2xvckF0dGFjaG1lbnREZXNjcmlwdG9yLmlkbAotICAgIGh0
bWwvY2FudmFzL1dlYkdQVVJlbmRlclBpcGVsaW5lRGVzY3JpcHRvci5pZGwKLSAgICBodG1sL2Nh
bnZhcy9XZWJHUFVSZW5kZXJQaXBlbGluZVN0YXRlLmlkbAotICAgIGh0bWwvY2FudmFzL1dlYkdQ
VVJlbmRlcmluZ0NvbnRleHQuaWRsCi0gICAgaHRtbC9jYW52YXMvV2ViR1BVU2l6ZS5pZGwKLSAg
ICBodG1sL2NhbnZhcy9XZWJHUFVUZXh0dXJlLmlkbAotICAgIGh0bWwvY2FudmFzL1dlYkdQVVRl
eHR1cmVEZXNjcmlwdG9yLmlkbAorICAgIGh0bWwvY2FudmFzL1dlYk1ldGFsQnVmZmVyLmlkbAor
ICAgIGh0bWwvY2FudmFzL1dlYk1ldGFsQ29tbWFuZEJ1ZmZlci5pZGwKKyAgICBodG1sL2NhbnZh
cy9XZWJNZXRhbENvbW1hbmRRdWV1ZS5pZGwKKyAgICBodG1sL2NhbnZhcy9XZWJNZXRhbENvbXB1
dGVDb21tYW5kRW5jb2Rlci5pZGwKKyAgICBodG1sL2NhbnZhcy9XZWJNZXRhbENvbXB1dGVQaXBl
bGluZVN0YXRlLmlkbAorICAgIGh0bWwvY2FudmFzL1dlYk1ldGFsRGVwdGhTdGVuY2lsRGVzY3Jp
cHRvci5pZGwKKyAgICBodG1sL2NhbnZhcy9XZWJNZXRhbERlcHRoU3RlbmNpbFN0YXRlLmlkbAor
ICAgIGh0bWwvY2FudmFzL1dlYk1ldGFsRHJhd2FibGUuaWRsCisgICAgaHRtbC9jYW52YXMvV2Vi
TWV0YWxGdW5jdGlvbi5pZGwKKyAgICBodG1sL2NhbnZhcy9XZWJNZXRhbExpYnJhcnkuaWRsCisg
ICAgaHRtbC9jYW52YXMvV2ViTWV0YWxSZW5kZXJDb21tYW5kRW5jb2Rlci5pZGwKKyAgICBodG1s
L2NhbnZhcy9XZWJNZXRhbFJlbmRlclBhc3NBdHRhY2htZW50RGVzY3JpcHRvci5pZGwKKyAgICBo
dG1sL2NhbnZhcy9XZWJNZXRhbFJlbmRlclBhc3NDb2xvckF0dGFjaG1lbnREZXNjcmlwdG9yLmlk
bAorICAgIGh0bWwvY2FudmFzL1dlYk1ldGFsUmVuZGVyUGFzc0RlcHRoQXR0YWNobWVudERlc2Ny
aXB0b3IuaWRsCisgICAgaHRtbC9jYW52YXMvV2ViTWV0YWxSZW5kZXJQYXNzRGVzY3JpcHRvci5p
ZGwKKyAgICBodG1sL2NhbnZhcy9XZWJNZXRhbFJlbmRlclBpcGVsaW5lQ29sb3JBdHRhY2htZW50
RGVzY3JpcHRvci5pZGwKKyAgICBodG1sL2NhbnZhcy9XZWJNZXRhbFJlbmRlclBpcGVsaW5lRGVz
Y3JpcHRvci5pZGwKKyAgICBodG1sL2NhbnZhcy9XZWJNZXRhbFJlbmRlclBpcGVsaW5lU3RhdGUu
aWRsCisgICAgaHRtbC9jYW52YXMvV2ViTWV0YWxSZW5kZXJpbmdDb250ZXh0LmlkbAorICAgIGh0
bWwvY2FudmFzL1dlYk1ldGFsU2l6ZS5pZGwKKyAgICBodG1sL2NhbnZhcy9XZWJNZXRhbFRleHR1
cmUuaWRsCisgICAgaHRtbC9jYW52YXMvV2ViTWV0YWxUZXh0dXJlRGVzY3JpcHRvci5pZGwKIAog
ICAgIGluc3BlY3Rvci9Db21tYW5kTGluZUFQSUhvc3QuaWRsCiAgICAgaW5zcGVjdG9yL0luc3Bl
Y3RvckZyb250ZW5kSG9zdC5pZGwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NvbmZpZ3Vy
YXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnIGIvU291cmNlL1dlYkNvcmUvQ29uZmlndXJh
dGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWcKaW5kZXggNjhlZmNlOTQyY2EwZGNkZTYyMDlh
MzBmYjRlNWQwYmQ4NzYwYTc4MS4uMjQyOWRkOGRjNjkxMjQzNTZkMDE0NjNhYWI3Nzk4ZTc4Nzc5
Yzk1YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURl
ZmluZXMueGNjb25maWcKKysrIGIvU291cmNlL1dlYkNvcmUvQ29uZmlndXJhdGlvbnMvRmVhdHVy
ZURlZmluZXMueGNjb25maWcKQEAgLTM1MCwxMSArMzUwLDExIEBAIEVOQUJMRV9XRUJHTCA9IEVO
QUJMRV9XRUJHTDsKIAogRU5BQkxFX1dFQkdMMiA9IEVOQUJMRV9XRUJHTDI7CiAKLUVOQUJMRV9X
RUJHUFUgPSAkKEVOQUJMRV9XRUJHUFVfJChXS19QTEFURk9STV9OQU1FKSk7Ci1FTkFCTEVfV0VC
R1BVX2lwaG9uZW9zID0gRU5BQkxFX1dFQkdQVTsKLUVOQUJMRV9XRUJHUFVfd2F0Y2hvcyA9IEVO
QUJMRV9XRUJHUFU7Ci1FTkFCTEVfV0VCR1BVX2FwcGxldHZvcyA9IEVOQUJMRV9XRUJHUFU7Ci1F
TkFCTEVfV0VCR1BVX21hY29zeCA9IEVOQUJMRV9XRUJHUFU7CitFTkFCTEVfV0VCTUVUQUwgPSAk
KEVOQUJMRV9XRUJNRVRBTF8kKFdLX1BMQVRGT1JNX05BTUUpKTsKK0VOQUJMRV9XRUJNRVRBTF9p
cGhvbmVvcyA9IEVOQUJMRV9XRUJNRVRBTDsKK0VOQUJMRV9XRUJNRVRBTF93YXRjaG9zID0gRU5B
QkxFX1dFQk1FVEFMOworRU5BQkxFX1dFQk1FVEFMX2FwcGxldHZvcyA9IEVOQUJMRV9XRUJNRVRB
TDsKK0VOQUJMRV9XRUJNRVRBTF9tYWNvc3ggPSBFTkFCTEVfV0VCTUVUQUw7CiAKIEVOQUJMRV9X
RUJfQVVESU8gPSBFTkFCTEVfV0VCX0FVRElPOwogCkBAIC0zNzIsNCArMzcyLDQgQEAgRU5BQkxF
X1dJUkVMRVNTX1BMQVlCQUNLX1RBUkdFVCA9IEVOQUJMRV9XSVJFTEVTU19QTEFZQkFDS19UQVJH
RVQ7CiAKIEVOQUJMRV9YU0xUID0gRU5BQkxFX1hTTFQ7CiAKLUZFQVRVUkVfREVGSU5FUyA9ICQo
RU5BQkxFXzNEX1RSQU5TRk9STVMpICQoRU5BQkxFX0FDQ0VMRVJBVEVEXzJEX0NBTlZBUykgJChF
TkFCTEVfQUNDRUxFUkFURURfT1ZFUkZMT1dfU0NST0xMSU5HKSAkKEVOQUJMRV9BUFBMRV9QQVkp
ICQoRU5BQkxFX0FQUExFX1BBWV9TRVNTSU9OX1YzKSAkKEVOQUJMRV9BUFBMRV9QQVlfU0VTU0lP
Tl9WNCkgJChFTkFCTEVfQVBQTElDQVRJT05fTUFOSUZFU1QpICQoRU5BQkxFX0FUVEFDSE1FTlRf
RUxFTUVOVCkgJChFTkFCTEVfQVZGX0NBUFRJT05TKSAkKEVOQUJMRV9DQUNIRV9QQVJUSVRJT05J
TkcpICQoRU5BQkxFX0NIQU5ORUxfTUVTU0FHSU5HKSAkKEVOQUJMRV9DT05URU5UX0ZJTFRFUklO
RykgJChFTkFCTEVfQ1NTM19URVhUKSAkKEVOQUJMRV9DU1NfQk9YX0RFQ09SQVRJT05fQlJFQUsp
ICQoRU5BQkxFX0NTU19DT01QT1NJVElORykgJChFTkFCTEVfQ1NTX0RFVklDRV9BREFQVEFUSU9O
KSAkKEVOQUJMRV9DU1NfSU1BR0VfT1JJRU5UQVRJT04pICQoRU5BQkxFX0NTU19JTUFHRV9SRVNP
TFVUSU9OKSAkKEVOQUJMRV9DU1NfU0NST0xMX1NOQVApICQoRU5BQkxFX0NTU19TRUxFQ1RPUlNf
TEVWRUw0KSAkKEVOQUJMRV9DU1NfVFJBSUxJTkdfV09SRCkgJChFTkFCTEVfQ1VSU09SX1ZJU0lC
SUxJVFkpICQoRU5BQkxFX0NVU1RPTV9TQ0hFTUVfSEFORExFUikgJChFTkFCTEVfREFTSEJPQVJE
X1NVUFBPUlQpICQoRU5BQkxFX0RBVEFfSU5URVJBQ1RJT04pICQoRU5BQkxFX0RBVEFDVUVfVkFM
VUUpICQoRU5BQkxFX0RBVEFMSVNUX0VMRU1FTlQpICQoRU5BQkxFX0RFVklDRV9PUklFTlRBVElP
TikgJChFTkFCTEVfRFJBR19TVVBQT1JUKSAkKEVOQUJMRV9FTkNSWVBURURfTUVESUEpICQoRU5B
QkxFX0VYUEVSSU1FTlRBTF9GRUFUVVJFUykgJChFTkFCTEVfRkFTVF9KSVRfUEVSTUlTU0lPTlMp
ICQoRU5BQkxFX0ZJTFRFUlNfTEVWRUxfMikgJChFTkFCTEVfRlRMX0pJVCkgJChFTkFCTEVfRlVM
TFNDUkVFTl9BUEkpICQoRU5BQkxFX0dBTUVQQUQpICQoRU5BQkxFX0dFT0xPQ0FUSU9OKSAkKEVO
QUJMRV9JQ09OREFUQUJBU0UpICQoRU5BQkxFX0lOREVYRURfREFUQUJBU0UpICQoRU5BQkxFX0lO
REVYRURfREFUQUJBU0VfSU5fV09SS0VSUykgJChFTkFCTEVfSU5QVVRfVFlQRV9DT0xPUikgJChF
TkFCTEVfSU5QVVRfVFlQRV9EQVRFKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1FX0lOQ09N
UExFVEUpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURVRJTUVMT0NBTCkgJChFTkFCTEVfSU5QVVRf
VFlQRV9NT05USCkgJChFTkFCTEVfSU5QVVRfVFlQRV9USU1FKSAkKEVOQUJMRV9JTlBVVF9UWVBF
X1dFRUspICQoRU5BQkxFX0lOVEVSU0VDVElPTl9PQlNFUlZFUikgJChFTkFCTEVfSU5UTCkgJChF
TkFCTEVfSU9TX0dFU1RVUkVfRVZFTlRTKSAkKEVOQUJMRV9JT1NfVE9VQ0hfRVZFTlRTKSAkKEVO
QUJMRV9KSVQpICQoRU5BQkxFX0pTX0FTWU5DX0lURVJBVElPTikgJChFTkFCTEVfS0VZQk9BUkRf
Q09ERV9BVFRSSUJVVEUpICQoRU5BQkxFX0tFWUJPQVJEX0tFWV9BVFRSSUJVVEUpICQoRU5BQkxF
X0xBWU9VVF9GT1JNQVRUSU5HX0NPTlRFWFQpICQoRU5BQkxFX0xFR0FDWV9DU1NfVkVORE9SX1BS
RUZJWEVTKSAkKEVOQUJMRV9MRUdBQ1lfQ1VTVE9NX1BST1RPQ09MX01BTkFHRVIpICQoRU5BQkxF
X0xFR0FDWV9FTkNSWVBURURfTUVESUEpICQoRU5BQkxFX0xFVFRFUlBSRVNTKSAkKEVOQUJMRV9N
QUNfR0VTVFVSRV9FVkVOVFMpICQoRU5BQkxFX01BQ19WSURFT19UT09MQk9YKSAkKEVOQUJMRV9N
QVRITUwpICQoRU5BQkxFX01FRElBX0NBUFRVUkUpICQoRU5BQkxFX01FRElBX0NPTlRST0xTX1ND
UklQVCkgJChFTkFCTEVfTUVESUFfU0VTU0lPTikgJChFTkFCTEVfTUVESUFfU09VUkNFKSAkKEVO
QUJMRV9NRURJQV9TVEFUSVNUSUNTKSAkKEVOQUJMRV9NRURJQV9TVFJFQU0pICQoRU5BQkxFX01F
VEVSX0VMRU1FTlQpICQoRU5BQkxFX01IVE1MKSAkKEVOQUJMRV9NT1VTRV9DVVJTT1JfU0NBTEUp
ICQoRU5BQkxFX05BVklHQVRPUl9DT05URU5UX1VUSUxTKSAkKEVOQUJMRV9OQVZJR0FUT1JfU1RB
TkRBTE9ORSkgJChFTkFCTEVfTk9USUZJQ0FUSU9OUykgJChFTkFCTEVfUEFZTUVOVF9SRVFVRVNU
KSAkKEVOQUJMRV9QREZLSVRfUExVR0lOKSAkKEVOQUJMRV9QT0lOVEVSX0xPQ0spICQoRU5BQkxF
X1BVQkxJQ19TVUZGSVhfTElTVCkgJChFTkFCTEVfUVVPVEEpICQoRU5BQkxFX1JFTU9URV9JTlNQ
RUNUT1IpICQoRU5BQkxFX1JFU09MVVRJT05fTUVESUFfUVVFUlkpICQoRU5BQkxFX1JFU09VUkNF
X1VTQUdFKSAkKEVOQUJMRV9SVUJCRVJfQkFORElORykgJChFTkFCTEVfU0VSVklDRV9DT05UUk9M
UykgJChFTkFCTEVfU0VSVklDRV9XT1JLRVIpICQoRU5BQkxFX1NQRUVDSF9TWU5USEVTSVMpICQo
RU5BQkxFX1NUUkVBTVNfQVBJKSAkKEVOQUJMRV9TVUJUTEVfQ1JZUFRPKSAkKEVOQUJMRV9TVkdf
Rk9OVFMpICQoRU5BQkxFX1RFTEVQSE9ORV9OVU1CRVJfREVURUNUSU9OKSAkKEVOQUJMRV9URVhU
X0FVVE9TSVpJTkcpICQoRU5BQkxFX1RPVUNIX0VWRU5UUykgJChFTkFCTEVfVVNFUl9NRVNTQUdF
X0hBTkRMRVJTKSAkKEVOQUJMRV9VU0VSU0VMRUNUX0FMTCkgJChFTkFCTEVfVkFSSUFUSU9OX0ZP
TlRTKSAkKEVOQUJMRV9WSURFTykgJChFTkFCTEVfVklERU9fUFJFU0VOVEFUSU9OX01PREUpICQo
RU5BQkxFX1ZJREVPX1RSQUNLKSAkKEVOQUJMRV9WSURFT19VU0VTX0VMRU1FTlRfRlVMTFNDUkVF
TikgJChFTkFCTEVfV0VCX0FVRElPKSAkKEVOQUJMRV9XRUJfQVVUSE4pICQoRU5BQkxFX1dFQl9S
VEMpICQoRU5BQkxFX1dFQkFTU0VNQkxZKSAkKEVOQUJMRV9XRUJBU1NFTUJMWV9TVFJFQU1JTkdf
QVBJKSAkKEVOQUJMRV9XRUJHTCkgJChFTkFCTEVfV0VCR0wyKSAkKEVOQUJMRV9XRUJHUFUpICQo
RU5BQkxFX1dJUkVMRVNTX1BMQVlCQUNLX1RBUkdFVCkgJChFTkFCTEVfWFNMVCk7CitGRUFUVVJF
X0RFRklORVMgPSAkKEVOQUJMRV8zRF9UUkFOU0ZPUk1TKSAkKEVOQUJMRV9BQ0NFTEVSQVRFRF8y
RF9DQU5WQVMpICQoRU5BQkxFX0FDQ0VMRVJBVEVEX09WRVJGTE9XX1NDUk9MTElORykgJChFTkFC
TEVfQVBQTEVfUEFZKSAkKEVOQUJMRV9BUFBMRV9QQVlfU0VTU0lPTl9WMykgJChFTkFCTEVfQVBQ
TEVfUEFZX1NFU1NJT05fVjQpICQoRU5BQkxFX0FQUExJQ0FUSU9OX01BTklGRVNUKSAkKEVOQUJM
RV9BVFRBQ0hNRU5UX0VMRU1FTlQpICQoRU5BQkxFX0FWRl9DQVBUSU9OUykgJChFTkFCTEVfQ0FD
SEVfUEFSVElUSU9OSU5HKSAkKEVOQUJMRV9DSEFOTkVMX01FU1NBR0lORykgJChFTkFCTEVfQ09O
VEVOVF9GSUxURVJJTkcpICQoRU5BQkxFX0NTUzNfVEVYVCkgJChFTkFCTEVfQ1NTX0JPWF9ERUNP
UkFUSU9OX0JSRUFLKSAkKEVOQUJMRV9DU1NfQ09NUE9TSVRJTkcpICQoRU5BQkxFX0NTU19ERVZJ
Q0VfQURBUFRBVElPTikgJChFTkFCTEVfQ1NTX0lNQUdFX09SSUVOVEFUSU9OKSAkKEVOQUJMRV9D
U1NfSU1BR0VfUkVTT0xVVElPTikgJChFTkFCTEVfQ1NTX1NDUk9MTF9TTkFQKSAkKEVOQUJMRV9D
U1NfU0VMRUNUT1JTX0xFVkVMNCkgJChFTkFCTEVfQ1NTX1RSQUlMSU5HX1dPUkQpICQoRU5BQkxF
X0NVUlNPUl9WSVNJQklMSVRZKSAkKEVOQUJMRV9DVVNUT01fU0NIRU1FX0hBTkRMRVIpICQoRU5B
QkxFX0RBU0hCT0FSRF9TVVBQT1JUKSAkKEVOQUJMRV9EQVRBX0lOVEVSQUNUSU9OKSAkKEVOQUJM
RV9EQVRBQ1VFX1ZBTFVFKSAkKEVOQUJMRV9EQVRBTElTVF9FTEVNRU5UKSAkKEVOQUJMRV9ERVZJ
Q0VfT1JJRU5UQVRJT04pICQoRU5BQkxFX0RSQUdfU1VQUE9SVCkgJChFTkFCTEVfRU5DUllQVEVE
X01FRElBKSAkKEVOQUJMRV9FWFBFUklNRU5UQUxfRkVBVFVSRVMpICQoRU5BQkxFX0ZBU1RfSklU
X1BFUk1JU1NJT05TKSAkKEVOQUJMRV9GSUxURVJTX0xFVkVMXzIpICQoRU5BQkxFX0ZUTF9KSVQp
ICQoRU5BQkxFX0ZVTExTQ1JFRU5fQVBJKSAkKEVOQUJMRV9HQU1FUEFEKSAkKEVOQUJMRV9HRU9M
T0NBVElPTikgJChFTkFCTEVfSUNPTkRBVEFCQVNFKSAkKEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNF
KSAkKEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNFX0lOX1dPUktFUlMpICQoRU5BQkxFX0lOUFVUX1RZ
UEVfQ09MT1IpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURSkgJChFTkFCTEVfSU5QVVRfVFlQRV9E
QVRFVElNRV9JTkNPTVBMRVRFKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1FTE9DQUwpICQo
RU5BQkxFX0lOUFVUX1RZUEVfTU9OVEgpICQoRU5BQkxFX0lOUFVUX1RZUEVfVElNRSkgJChFTkFC
TEVfSU5QVVRfVFlQRV9XRUVLKSAkKEVOQUJMRV9JTlRFUlNFQ1RJT05fT0JTRVJWRVIpICQoRU5B
QkxFX0lOVEwpICQoRU5BQkxFX0lPU19HRVNUVVJFX0VWRU5UUykgJChFTkFCTEVfSU9TX1RPVUNI
X0VWRU5UUykgJChFTkFCTEVfSklUKSAkKEVOQUJMRV9KU19BU1lOQ19JVEVSQVRJT04pICQoRU5B
QkxFX0tFWUJPQVJEX0NPREVfQVRUUklCVVRFKSAkKEVOQUJMRV9LRVlCT0FSRF9LRVlfQVRUUklC
VVRFKSAkKEVOQUJMRV9MQVlPVVRfRk9STUFUVElOR19DT05URVhUKSAkKEVOQUJMRV9MRUdBQ1lf
Q1NTX1ZFTkRPUl9QUkVGSVhFUykgJChFTkFCTEVfTEVHQUNZX0NVU1RPTV9QUk9UT0NPTF9NQU5B
R0VSKSAkKEVOQUJMRV9MRUdBQ1lfRU5DUllQVEVEX01FRElBKSAkKEVOQUJMRV9MRVRURVJQUkVT
UykgJChFTkFCTEVfTUFDX0dFU1RVUkVfRVZFTlRTKSAkKEVOQUJMRV9NQUNfVklERU9fVE9PTEJP
WCkgJChFTkFCTEVfTUFUSE1MKSAkKEVOQUJMRV9NRURJQV9DQVBUVVJFKSAkKEVOQUJMRV9NRURJ
QV9DT05UUk9MU19TQ1JJUFQpICQoRU5BQkxFX01FRElBX1NFU1NJT04pICQoRU5BQkxFX01FRElB
X1NPVVJDRSkgJChFTkFCTEVfTUVESUFfU1RBVElTVElDUykgJChFTkFCTEVfTUVESUFfU1RSRUFN
KSAkKEVOQUJMRV9NRVRFUl9FTEVNRU5UKSAkKEVOQUJMRV9NSFRNTCkgJChFTkFCTEVfTU9VU0Vf
Q1VSU09SX1NDQUxFKSAkKEVOQUJMRV9OQVZJR0FUT1JfQ09OVEVOVF9VVElMUykgJChFTkFCTEVf
TkFWSUdBVE9SX1NUQU5EQUxPTkUpICQoRU5BQkxFX05PVElGSUNBVElPTlMpICQoRU5BQkxFX1BB
WU1FTlRfUkVRVUVTVCkgJChFTkFCTEVfUERGS0lUX1BMVUdJTikgJChFTkFCTEVfUE9JTlRFUl9M
T0NLKSAkKEVOQUJMRV9QVUJMSUNfU1VGRklYX0xJU1QpICQoRU5BQkxFX1FVT1RBKSAkKEVOQUJM
RV9SRU1PVEVfSU5TUEVDVE9SKSAkKEVOQUJMRV9SRVNPTFVUSU9OX01FRElBX1FVRVJZKSAkKEVO
QUJMRV9SRVNPVVJDRV9VU0FHRSkgJChFTkFCTEVfUlVCQkVSX0JBTkRJTkcpICQoRU5BQkxFX1NF
UlZJQ0VfQ09OVFJPTFMpICQoRU5BQkxFX1NFUlZJQ0VfV09SS0VSKSAkKEVOQUJMRV9TUEVFQ0hf
U1lOVEhFU0lTKSAkKEVOQUJMRV9TVFJFQU1TX0FQSSkgJChFTkFCTEVfU1VCVExFX0NSWVBUTykg
JChFTkFCTEVfU1ZHX0ZPTlRTKSAkKEVOQUJMRV9URUxFUEhPTkVfTlVNQkVSX0RFVEVDVElPTikg
JChFTkFCTEVfVEVYVF9BVVRPU0laSU5HKSAkKEVOQUJMRV9UT1VDSF9FVkVOVFMpICQoRU5BQkxF
X1VTRVJfTUVTU0FHRV9IQU5ETEVSUykgJChFTkFCTEVfVVNFUlNFTEVDVF9BTEwpICQoRU5BQkxF
X1ZBUklBVElPTl9GT05UUykgJChFTkFCTEVfVklERU8pICQoRU5BQkxFX1ZJREVPX1BSRVNFTlRB
VElPTl9NT0RFKSAkKEVOQUJMRV9WSURFT19UUkFDSykgJChFTkFCTEVfVklERU9fVVNFU19FTEVN
RU5UX0ZVTExTQ1JFRU4pICQoRU5BQkxFX1dFQl9BVURJTykgJChFTkFCTEVfV0VCX0FVVEhOKSAk
KEVOQUJMRV9XRUJfUlRDKSAkKEVOQUJMRV9XRUJBU1NFTUJMWSkgJChFTkFCTEVfV0VCQVNTRU1C
TFlfU1RSRUFNSU5HX0FQSSkgJChFTkFCTEVfV0VCR0wpICQoRU5BQkxFX1dFQkdMMikgJChFTkFC
TEVfV0VCTUVUQUwpICQoRU5BQkxFX1dJUkVMRVNTX1BMQVlCQUNLX1RBUkdFVCkgJChFTkFCTEVf
WFNMVCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtlIGIv
U291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMubWFrZQppbmRleCA4MmY2NDU4Y2ZlZDc5NjVi
MzdlMjQ1NzRjOTNiNWNmYTU1M2JjZjNlLi4wOTU0YzI3NjdjZDJmY2VkNTgwMWRhM2ViZWUzNzgw
NjgzMDAzOTA5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtl
CisrKyBiL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UKQEAgLTc0NCwyOCArNzQ0
LDI4IEBAIEpTX0JJTkRJTkdfSURMUyA9IFwKICAgICAkKFdlYkNvcmUpL2h0bWwvY2FudmFzL1dl
YkdMVW5pZm9ybUxvY2F0aW9uLmlkbCBcCiAgICAgJChXZWJDb3JlKS9odG1sL2NhbnZhcy9XZWJH
TFZlcnRleEFycmF5T2JqZWN0LmlkbCBcCiAgICAgJChXZWJDb3JlKS9odG1sL2NhbnZhcy9XZWJH
TFZlcnRleEFycmF5T2JqZWN0T0VTLmlkbCBcCi0gICAgJChXZWJDb3JlKS9odG1sL2NhbnZhcy9X
ZWJHUFVCdWZmZXIuaWRsIFwKLSAgICAkKFdlYkNvcmUpL2h0bWwvY2FudmFzL1dlYkdQVUNvbW1h
bmRCdWZmZXIuaWRsIFwKLSAgICAkKFdlYkNvcmUpL2h0bWwvY2FudmFzL1dlYkdQVUNvbW1hbmRR
dWV1ZS5pZGwgXAotCSQoV2ViQ29yZSkvaHRtbC9jYW52YXMvV2ViR1BVQ29tcHV0ZUNvbW1hbmRF
bmNvZGVyLmlkbCBcCi0JJChXZWJDb3JlKS9odG1sL2NhbnZhcy9XZWJHUFVDb21wdXRlUGlwZWxp
bmVTdGF0ZS5pZGwgXAotICAgICQoV2ViQ29yZSkvaHRtbC9jYW52YXMvV2ViR1BVRGVwdGhTdGVu
Y2lsRGVzY3JpcHRvci5pZGwgXAotICAgICQoV2ViQ29yZSkvaHRtbC9jYW52YXMvV2ViR1BVRGVw
dGhTdGVuY2lsU3RhdGUuaWRsIFwKLSAgICAkKFdlYkNvcmUpL2h0bWwvY2FudmFzL1dlYkdQVURy
YXdhYmxlLmlkbCBcCi0gICAgJChXZWJDb3JlKS9odG1sL2NhbnZhcy9XZWJHUFVGdW5jdGlvbi5p
ZGwgXAotICAgICQoV2ViQ29yZSkvaHRtbC9jYW52YXMvV2ViR1BVTGlicmFyeS5pZGwgXAotICAg
ICQoV2ViQ29yZSkvaHRtbC9jYW52YXMvV2ViR1BVUmVuZGVyQ29tbWFuZEVuY29kZXIuaWRsIFwK
LSAgICAkKFdlYkNvcmUpL2h0bWwvY2FudmFzL1dlYkdQVVJlbmRlcmluZ0NvbnRleHQuaWRsIFwK
LSAgICAkKFdlYkNvcmUpL2h0bWwvY2FudmFzL1dlYkdQVVJlbmRlclBhc3NBdHRhY2htZW50RGVz
Y3JpcHRvci5pZGwgXAotICAgICQoV2ViQ29yZSkvaHRtbC9jYW52YXMvV2ViR1BVUmVuZGVyUGFz
c0NvbG9yQXR0YWNobWVudERlc2NyaXB0b3IuaWRsIFwKLSAgICAkKFdlYkNvcmUpL2h0bWwvY2Fu
dmFzL1dlYkdQVVJlbmRlclBhc3NEZXB0aEF0dGFjaG1lbnREZXNjcmlwdG9yLmlkbCBcCi0gICAg
JChXZWJDb3JlKS9odG1sL2NhbnZhcy9XZWJHUFVSZW5kZXJQYXNzRGVzY3JpcHRvci5pZGwgXAot
ICAgICQoV2ViQ29yZSkvaHRtbC9jYW52YXMvV2ViR1BVUmVuZGVyUGlwZWxpbmVDb2xvckF0dGFj
aG1lbnREZXNjcmlwdG9yLmlkbCBcCi0gICAgJChXZWJDb3JlKS9odG1sL2NhbnZhcy9XZWJHUFVS
ZW5kZXJQaXBlbGluZURlc2NyaXB0b3IuaWRsIFwKLSAgICAkKFdlYkNvcmUpL2h0bWwvY2FudmFz
L1dlYkdQVVJlbmRlclBpcGVsaW5lU3RhdGUuaWRsIFwKLQkkKFdlYkNvcmUpL2h0bWwvY2FudmFz
L1dlYkdQVVNpemUuaWRsIFwKLSAgICAkKFdlYkNvcmUpL2h0bWwvY2FudmFzL1dlYkdQVVRleHR1
cmUuaWRsIFwKLSAgICAkKFdlYkNvcmUpL2h0bWwvY2FudmFzL1dlYkdQVVRleHR1cmVEZXNjcmlw
dG9yLmlkbCBcCisgICAgJChXZWJDb3JlKS9odG1sL2NhbnZhcy9XZWJNZXRhbEJ1ZmZlci5pZGwg
XAorICAgICQoV2ViQ29yZSkvaHRtbC9jYW52YXMvV2ViTWV0YWxDb21tYW5kQnVmZmVyLmlkbCBc
CisgICAgJChXZWJDb3JlKS9odG1sL2NhbnZhcy9XZWJNZXRhbENvbW1hbmRRdWV1ZS5pZGwgXAor
CSQoV2ViQ29yZSkvaHRtbC9jYW52YXMvV2ViTWV0YWxDb21wdXRlQ29tbWFuZEVuY29kZXIuaWRs
IFwKKwkkKFdlYkNvcmUpL2h0bWwvY2FudmFzL1dlYk1ldGFsQ29tcHV0ZVBpcGVsaW5lU3RhdGUu
aWRsIFwKKyAgICAkKFdlYkNvcmUpL2h0bWwvY2FudmFzL1dlYk1ldGFsRGVwdGhTdGVuY2lsRGVz
Y3JpcHRvci5pZGwgXAorICAgICQoV2ViQ29yZSkvaHRtbC9jYW52YXMvV2ViTWV0YWxEZXB0aFN0
ZW5jaWxTdGF0ZS5pZGwgXAorICAgICQoV2ViQ29yZSkvaHRtbC9jYW52YXMvV2ViTWV0YWxEcmF3
YWJsZS5pZGwgXAorICAgICQoV2ViQ29yZSkvaHRtbC9jYW52YXMvV2ViTWV0YWxGdW5jdGlvbi5p
ZGwgXAorICAgICQoV2ViQ29yZSkvaHRtbC9jYW52YXMvV2ViTWV0YWxMaWJyYXJ5LmlkbCBcCisg
ICAgJChXZWJDb3JlKS9odG1sL2NhbnZhcy9XZWJNZXRhbFJlbmRlckNvbW1hbmRFbmNvZGVyLmlk
bCBcCisgICAgJChXZWJDb3JlKS9odG1sL2NhbnZhcy9XZWJNZXRhbFJlbmRlcmluZ0NvbnRleHQu
aWRsIFwKKyAgICAkKFdlYkNvcmUpL2h0bWwvY2FudmFzL1dlYk1ldGFsUmVuZGVyUGFzc0F0dGFj
aG1lbnREZXNjcmlwdG9yLmlkbCBcCisgICAgJChXZWJDb3JlKS9odG1sL2NhbnZhcy9XZWJNZXRh
bFJlbmRlclBhc3NDb2xvckF0dGFjaG1lbnREZXNjcmlwdG9yLmlkbCBcCisgICAgJChXZWJDb3Jl
KS9odG1sL2NhbnZhcy9XZWJNZXRhbFJlbmRlclBhc3NEZXB0aEF0dGFjaG1lbnREZXNjcmlwdG9y
LmlkbCBcCisgICAgJChXZWJDb3JlKS9odG1sL2NhbnZhcy9XZWJNZXRhbFJlbmRlclBhc3NEZXNj
cmlwdG9yLmlkbCBcCisgICAgJChXZWJDb3JlKS9odG1sL2NhbnZhcy9XZWJNZXRhbFJlbmRlclBp
cGVsaW5lQ29sb3JBdHRhY2htZW50RGVzY3JpcHRvci5pZGwgXAorICAgICQoV2ViQ29yZSkvaHRt
bC9jYW52YXMvV2ViTWV0YWxSZW5kZXJQaXBlbGluZURlc2NyaXB0b3IuaWRsIFwKKyAgICAkKFdl
YkNvcmUpL2h0bWwvY2FudmFzL1dlYk1ldGFsUmVuZGVyUGlwZWxpbmVTdGF0ZS5pZGwgXAorCSQo
V2ViQ29yZSkvaHRtbC9jYW52YXMvV2ViTWV0YWxTaXplLmlkbCBcCisgICAgJChXZWJDb3JlKS9o
dG1sL2NhbnZhcy9XZWJNZXRhbFRleHR1cmUuaWRsIFwKKyAgICAkKFdlYkNvcmUpL2h0bWwvY2Fu
dmFzL1dlYk1ldGFsVGV4dHVyZURlc2NyaXB0b3IuaWRsIFwKICAgICAkKFdlYkNvcmUpL2h0bWwv
dHJhY2svQXVkaW9UcmFjay5pZGwgXAogICAgICQoV2ViQ29yZSkvaHRtbC90cmFjay9BdWRpb1Ry
YWNrTGlzdC5pZGwgXAogICAgICQoV2ViQ29yZSkvaHRtbC90cmFjay9EYXRhQ3VlLmlkbCBcCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9QQUwvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmlu
ZXMueGNjb25maWcgYi9Tb3VyY2UvV2ViQ29yZS9QQUwvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURl
ZmluZXMueGNjb25maWcKaW5kZXggNjhlZmNlOTQyY2EwZGNkZTYyMDlhMzBmYjRlNWQwYmQ4NzYw
YTc4MS4uMjQyOWRkOGRjNjkxMjQzNTZkMDE0NjNhYWI3Nzk4ZTc4Nzc5Yzk1YyAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvUEFML0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29u
ZmlnCisrKyBiL1NvdXJjZS9XZWJDb3JlL1BBTC9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5l
cy54Y2NvbmZpZwpAQCAtMzUwLDExICszNTAsMTEgQEAgRU5BQkxFX1dFQkdMID0gRU5BQkxFX1dF
QkdMOwogCiBFTkFCTEVfV0VCR0wyID0gRU5BQkxFX1dFQkdMMjsKIAotRU5BQkxFX1dFQkdQVSA9
ICQoRU5BQkxFX1dFQkdQVV8kKFdLX1BMQVRGT1JNX05BTUUpKTsKLUVOQUJMRV9XRUJHUFVfaXBo
b25lb3MgPSBFTkFCTEVfV0VCR1BVOwotRU5BQkxFX1dFQkdQVV93YXRjaG9zID0gRU5BQkxFX1dF
QkdQVTsKLUVOQUJMRV9XRUJHUFVfYXBwbGV0dm9zID0gRU5BQkxFX1dFQkdQVTsKLUVOQUJMRV9X
RUJHUFVfbWFjb3N4ID0gRU5BQkxFX1dFQkdQVTsKK0VOQUJMRV9XRUJNRVRBTCA9ICQoRU5BQkxF
X1dFQk1FVEFMXyQoV0tfUExBVEZPUk1fTkFNRSkpOworRU5BQkxFX1dFQk1FVEFMX2lwaG9uZW9z
ID0gRU5BQkxFX1dFQk1FVEFMOworRU5BQkxFX1dFQk1FVEFMX3dhdGNob3MgPSBFTkFCTEVfV0VC
TUVUQUw7CitFTkFCTEVfV0VCTUVUQUxfYXBwbGV0dm9zID0gRU5BQkxFX1dFQk1FVEFMOworRU5B
QkxFX1dFQk1FVEFMX21hY29zeCA9IEVOQUJMRV9XRUJNRVRBTDsKIAogRU5BQkxFX1dFQl9BVURJ
TyA9IEVOQUJMRV9XRUJfQVVESU87CiAKQEAgLTM3Miw0ICszNzIsNCBAQCBFTkFCTEVfV0lSRUxF
U1NfUExBWUJBQ0tfVEFSR0VUID0gRU5BQkxFX1dJUkVMRVNTX1BMQVlCQUNLX1RBUkdFVDsKIAog
RU5BQkxFX1hTTFQgPSBFTkFCTEVfWFNMVDsKIAotRkVBVFVSRV9ERUZJTkVTID0gJChFTkFCTEVf
M0RfVFJBTlNGT1JNUykgJChFTkFCTEVfQUNDRUxFUkFURURfMkRfQ0FOVkFTKSAkKEVOQUJMRV9B
Q0NFTEVSQVRFRF9PVkVSRkxPV19TQ1JPTExJTkcpICQoRU5BQkxFX0FQUExFX1BBWSkgJChFTkFC
TEVfQVBQTEVfUEFZX1NFU1NJT05fVjMpICQoRU5BQkxFX0FQUExFX1BBWV9TRVNTSU9OX1Y0KSAk
KEVOQUJMRV9BUFBMSUNBVElPTl9NQU5JRkVTVCkgJChFTkFCTEVfQVRUQUNITUVOVF9FTEVNRU5U
KSAkKEVOQUJMRV9BVkZfQ0FQVElPTlMpICQoRU5BQkxFX0NBQ0hFX1BBUlRJVElPTklORykgJChF
TkFCTEVfQ0hBTk5FTF9NRVNTQUdJTkcpICQoRU5BQkxFX0NPTlRFTlRfRklMVEVSSU5HKSAkKEVO
QUJMRV9DU1MzX1RFWFQpICQoRU5BQkxFX0NTU19CT1hfREVDT1JBVElPTl9CUkVBSykgJChFTkFC
TEVfQ1NTX0NPTVBPU0lUSU5HKSAkKEVOQUJMRV9DU1NfREVWSUNFX0FEQVBUQVRJT04pICQoRU5B
QkxFX0NTU19JTUFHRV9PUklFTlRBVElPTikgJChFTkFCTEVfQ1NTX0lNQUdFX1JFU09MVVRJT04p
ICQoRU5BQkxFX0NTU19TQ1JPTExfU05BUCkgJChFTkFCTEVfQ1NTX1NFTEVDVE9SU19MRVZFTDQp
ICQoRU5BQkxFX0NTU19UUkFJTElOR19XT1JEKSAkKEVOQUJMRV9DVVJTT1JfVklTSUJJTElUWSkg
JChFTkFCTEVfQ1VTVE9NX1NDSEVNRV9IQU5ETEVSKSAkKEVOQUJMRV9EQVNIQk9BUkRfU1VQUE9S
VCkgJChFTkFCTEVfREFUQV9JTlRFUkFDVElPTikgJChFTkFCTEVfREFUQUNVRV9WQUxVRSkgJChF
TkFCTEVfREFUQUxJU1RfRUxFTUVOVCkgJChFTkFCTEVfREVWSUNFX09SSUVOVEFUSU9OKSAkKEVO
QUJMRV9EUkFHX1NVUFBPUlQpICQoRU5BQkxFX0VOQ1JZUFRFRF9NRURJQSkgJChFTkFCTEVfRVhQ
RVJJTUVOVEFMX0ZFQVRVUkVTKSAkKEVOQUJMRV9GQVNUX0pJVF9QRVJNSVNTSU9OUykgJChFTkFC
TEVfRklMVEVSU19MRVZFTF8yKSAkKEVOQUJMRV9GVExfSklUKSAkKEVOQUJMRV9GVUxMU0NSRUVO
X0FQSSkgJChFTkFCTEVfR0FNRVBBRCkgJChFTkFCTEVfR0VPTE9DQVRJT04pICQoRU5BQkxFX0lD
T05EQVRBQkFTRSkgJChFTkFCTEVfSU5ERVhFRF9EQVRBQkFTRSkgJChFTkFCTEVfSU5ERVhFRF9E
QVRBQkFTRV9JTl9XT1JLRVJTKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0NPTE9SKSAkKEVOQUJMRV9J
TlBVVF9UWVBFX0RBVEUpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURVRJTUVfSU5DT01QTEVURSkg
JChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFVElNRUxPQ0FMKSAkKEVOQUJMRV9JTlBVVF9UWVBFX01P
TlRIKSAkKEVOQUJMRV9JTlBVVF9UWVBFX1RJTUUpICQoRU5BQkxFX0lOUFVUX1RZUEVfV0VFSykg
JChFTkFCTEVfSU5URVJTRUNUSU9OX09CU0VSVkVSKSAkKEVOQUJMRV9JTlRMKSAkKEVOQUJMRV9J
T1NfR0VTVFVSRV9FVkVOVFMpICQoRU5BQkxFX0lPU19UT1VDSF9FVkVOVFMpICQoRU5BQkxFX0pJ
VCkgJChFTkFCTEVfSlNfQVNZTkNfSVRFUkFUSU9OKSAkKEVOQUJMRV9LRVlCT0FSRF9DT0RFX0FU
VFJJQlVURSkgJChFTkFCTEVfS0VZQk9BUkRfS0VZX0FUVFJJQlVURSkgJChFTkFCTEVfTEFZT1VU
X0ZPUk1BVFRJTkdfQ09OVEVYVCkgJChFTkFCTEVfTEVHQUNZX0NTU19WRU5ET1JfUFJFRklYRVMp
ICQoRU5BQkxFX0xFR0FDWV9DVVNUT01fUFJPVE9DT0xfTUFOQUdFUikgJChFTkFCTEVfTEVHQUNZ
X0VOQ1JZUFRFRF9NRURJQSkgJChFTkFCTEVfTEVUVEVSUFJFU1MpICQoRU5BQkxFX01BQ19HRVNU
VVJFX0VWRU5UUykgJChFTkFCTEVfTUFDX1ZJREVPX1RPT0xCT1gpICQoRU5BQkxFX01BVEhNTCkg
JChFTkFCTEVfTUVESUFfQ0FQVFVSRSkgJChFTkFCTEVfTUVESUFfQ09OVFJPTFNfU0NSSVBUKSAk
KEVOQUJMRV9NRURJQV9TRVNTSU9OKSAkKEVOQUJMRV9NRURJQV9TT1VSQ0UpICQoRU5BQkxFX01F
RElBX1NUQVRJU1RJQ1MpICQoRU5BQkxFX01FRElBX1NUUkVBTSkgJChFTkFCTEVfTUVURVJfRUxF
TUVOVCkgJChFTkFCTEVfTUhUTUwpICQoRU5BQkxFX01PVVNFX0NVUlNPUl9TQ0FMRSkgJChFTkFC
TEVfTkFWSUdBVE9SX0NPTlRFTlRfVVRJTFMpICQoRU5BQkxFX05BVklHQVRPUl9TVEFOREFMT05F
KSAkKEVOQUJMRV9OT1RJRklDQVRJT05TKSAkKEVOQUJMRV9QQVlNRU5UX1JFUVVFU1QpICQoRU5B
QkxFX1BERktJVF9QTFVHSU4pICQoRU5BQkxFX1BPSU5URVJfTE9DSykgJChFTkFCTEVfUFVCTElD
X1NVRkZJWF9MSVNUKSAkKEVOQUJMRV9RVU9UQSkgJChFTkFCTEVfUkVNT1RFX0lOU1BFQ1RPUikg
JChFTkFCTEVfUkVTT0xVVElPTl9NRURJQV9RVUVSWSkgJChFTkFCTEVfUkVTT1VSQ0VfVVNBR0Up
ICQoRU5BQkxFX1JVQkJFUl9CQU5ESU5HKSAkKEVOQUJMRV9TRVJWSUNFX0NPTlRST0xTKSAkKEVO
QUJMRV9TRVJWSUNFX1dPUktFUikgJChFTkFCTEVfU1BFRUNIX1NZTlRIRVNJUykgJChFTkFCTEVf
U1RSRUFNU19BUEkpICQoRU5BQkxFX1NVQlRMRV9DUllQVE8pICQoRU5BQkxFX1NWR19GT05UUykg
JChFTkFCTEVfVEVMRVBIT05FX05VTUJFUl9ERVRFQ1RJT04pICQoRU5BQkxFX1RFWFRfQVVUT1NJ
WklORykgJChFTkFCTEVfVE9VQ0hfRVZFTlRTKSAkKEVOQUJMRV9VU0VSX01FU1NBR0VfSEFORExF
UlMpICQoRU5BQkxFX1VTRVJTRUxFQ1RfQUxMKSAkKEVOQUJMRV9WQVJJQVRJT05fRk9OVFMpICQo
RU5BQkxFX1ZJREVPKSAkKEVOQUJMRV9WSURFT19QUkVTRU5UQVRJT05fTU9ERSkgJChFTkFCTEVf
VklERU9fVFJBQ0spICQoRU5BQkxFX1ZJREVPX1VTRVNfRUxFTUVOVF9GVUxMU0NSRUVOKSAkKEVO
QUJMRV9XRUJfQVVESU8pICQoRU5BQkxFX1dFQl9BVVRITikgJChFTkFCTEVfV0VCX1JUQykgJChF
TkFCTEVfV0VCQVNTRU1CTFkpICQoRU5BQkxFX1dFQkFTU0VNQkxZX1NUUkVBTUlOR19BUEkpICQo
RU5BQkxFX1dFQkdMKSAkKEVOQUJMRV9XRUJHTDIpICQoRU5BQkxFX1dFQkdQVSkgJChFTkFCTEVf
V0lSRUxFU1NfUExBWUJBQ0tfVEFSR0VUKSAkKEVOQUJMRV9YU0xUKTsKK0ZFQVRVUkVfREVGSU5F
UyA9ICQoRU5BQkxFXzNEX1RSQU5TRk9STVMpICQoRU5BQkxFX0FDQ0VMRVJBVEVEXzJEX0NBTlZB
UykgJChFTkFCTEVfQUNDRUxFUkFURURfT1ZFUkZMT1dfU0NST0xMSU5HKSAkKEVOQUJMRV9BUFBM
RV9QQVkpICQoRU5BQkxFX0FQUExFX1BBWV9TRVNTSU9OX1YzKSAkKEVOQUJMRV9BUFBMRV9QQVlf
U0VTU0lPTl9WNCkgJChFTkFCTEVfQVBQTElDQVRJT05fTUFOSUZFU1QpICQoRU5BQkxFX0FUVEFD
SE1FTlRfRUxFTUVOVCkgJChFTkFCTEVfQVZGX0NBUFRJT05TKSAkKEVOQUJMRV9DQUNIRV9QQVJU
SVRJT05JTkcpICQoRU5BQkxFX0NIQU5ORUxfTUVTU0FHSU5HKSAkKEVOQUJMRV9DT05URU5UX0ZJ
TFRFUklORykgJChFTkFCTEVfQ1NTM19URVhUKSAkKEVOQUJMRV9DU1NfQk9YX0RFQ09SQVRJT05f
QlJFQUspICQoRU5BQkxFX0NTU19DT01QT1NJVElORykgJChFTkFCTEVfQ1NTX0RFVklDRV9BREFQ
VEFUSU9OKSAkKEVOQUJMRV9DU1NfSU1BR0VfT1JJRU5UQVRJT04pICQoRU5BQkxFX0NTU19JTUFH
RV9SRVNPTFVUSU9OKSAkKEVOQUJMRV9DU1NfU0NST0xMX1NOQVApICQoRU5BQkxFX0NTU19TRUxF
Q1RPUlNfTEVWRUw0KSAkKEVOQUJMRV9DU1NfVFJBSUxJTkdfV09SRCkgJChFTkFCTEVfQ1VSU09S
X1ZJU0lCSUxJVFkpICQoRU5BQkxFX0NVU1RPTV9TQ0hFTUVfSEFORExFUikgJChFTkFCTEVfREFT
SEJPQVJEX1NVUFBPUlQpICQoRU5BQkxFX0RBVEFfSU5URVJBQ1RJT04pICQoRU5BQkxFX0RBVEFD
VUVfVkFMVUUpICQoRU5BQkxFX0RBVEFMSVNUX0VMRU1FTlQpICQoRU5BQkxFX0RFVklDRV9PUklF
TlRBVElPTikgJChFTkFCTEVfRFJBR19TVVBQT1JUKSAkKEVOQUJMRV9FTkNSWVBURURfTUVESUEp
ICQoRU5BQkxFX0VYUEVSSU1FTlRBTF9GRUFUVVJFUykgJChFTkFCTEVfRkFTVF9KSVRfUEVSTUlT
U0lPTlMpICQoRU5BQkxFX0ZJTFRFUlNfTEVWRUxfMikgJChFTkFCTEVfRlRMX0pJVCkgJChFTkFC
TEVfRlVMTFNDUkVFTl9BUEkpICQoRU5BQkxFX0dBTUVQQUQpICQoRU5BQkxFX0dFT0xPQ0FUSU9O
KSAkKEVOQUJMRV9JQ09OREFUQUJBU0UpICQoRU5BQkxFX0lOREVYRURfREFUQUJBU0UpICQoRU5B
QkxFX0lOREVYRURfREFUQUJBU0VfSU5fV09SS0VSUykgJChFTkFCTEVfSU5QVVRfVFlQRV9DT0xP
UikgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1F
X0lOQ09NUExFVEUpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURVRJTUVMT0NBTCkgJChFTkFCTEVf
SU5QVVRfVFlQRV9NT05USCkgJChFTkFCTEVfSU5QVVRfVFlQRV9USU1FKSAkKEVOQUJMRV9JTlBV
VF9UWVBFX1dFRUspICQoRU5BQkxFX0lOVEVSU0VDVElPTl9PQlNFUlZFUikgJChFTkFCTEVfSU5U
TCkgJChFTkFCTEVfSU9TX0dFU1RVUkVfRVZFTlRTKSAkKEVOQUJMRV9JT1NfVE9VQ0hfRVZFTlRT
KSAkKEVOQUJMRV9KSVQpICQoRU5BQkxFX0pTX0FTWU5DX0lURVJBVElPTikgJChFTkFCTEVfS0VZ
Qk9BUkRfQ09ERV9BVFRSSUJVVEUpICQoRU5BQkxFX0tFWUJPQVJEX0tFWV9BVFRSSUJVVEUpICQo
RU5BQkxFX0xBWU9VVF9GT1JNQVRUSU5HX0NPTlRFWFQpICQoRU5BQkxFX0xFR0FDWV9DU1NfVkVO
RE9SX1BSRUZJWEVTKSAkKEVOQUJMRV9MRUdBQ1lfQ1VTVE9NX1BST1RPQ09MX01BTkFHRVIpICQo
RU5BQkxFX0xFR0FDWV9FTkNSWVBURURfTUVESUEpICQoRU5BQkxFX0xFVFRFUlBSRVNTKSAkKEVO
QUJMRV9NQUNfR0VTVFVSRV9FVkVOVFMpICQoRU5BQkxFX01BQ19WSURFT19UT09MQk9YKSAkKEVO
QUJMRV9NQVRITUwpICQoRU5BQkxFX01FRElBX0NBUFRVUkUpICQoRU5BQkxFX01FRElBX0NPTlRS
T0xTX1NDUklQVCkgJChFTkFCTEVfTUVESUFfU0VTU0lPTikgJChFTkFCTEVfTUVESUFfU09VUkNF
KSAkKEVOQUJMRV9NRURJQV9TVEFUSVNUSUNTKSAkKEVOQUJMRV9NRURJQV9TVFJFQU0pICQoRU5B
QkxFX01FVEVSX0VMRU1FTlQpICQoRU5BQkxFX01IVE1MKSAkKEVOQUJMRV9NT1VTRV9DVVJTT1Jf
U0NBTEUpICQoRU5BQkxFX05BVklHQVRPUl9DT05URU5UX1VUSUxTKSAkKEVOQUJMRV9OQVZJR0FU
T1JfU1RBTkRBTE9ORSkgJChFTkFCTEVfTk9USUZJQ0FUSU9OUykgJChFTkFCTEVfUEFZTUVOVF9S
RVFVRVNUKSAkKEVOQUJMRV9QREZLSVRfUExVR0lOKSAkKEVOQUJMRV9QT0lOVEVSX0xPQ0spICQo
RU5BQkxFX1BVQkxJQ19TVUZGSVhfTElTVCkgJChFTkFCTEVfUVVPVEEpICQoRU5BQkxFX1JFTU9U
RV9JTlNQRUNUT1IpICQoRU5BQkxFX1JFU09MVVRJT05fTUVESUFfUVVFUlkpICQoRU5BQkxFX1JF
U09VUkNFX1VTQUdFKSAkKEVOQUJMRV9SVUJCRVJfQkFORElORykgJChFTkFCTEVfU0VSVklDRV9D
T05UUk9MUykgJChFTkFCTEVfU0VSVklDRV9XT1JLRVIpICQoRU5BQkxFX1NQRUVDSF9TWU5USEVT
SVMpICQoRU5BQkxFX1NUUkVBTVNfQVBJKSAkKEVOQUJMRV9TVUJUTEVfQ1JZUFRPKSAkKEVOQUJM
RV9TVkdfRk9OVFMpICQoRU5BQkxFX1RFTEVQSE9ORV9OVU1CRVJfREVURUNUSU9OKSAkKEVOQUJM
RV9URVhUX0FVVE9TSVpJTkcpICQoRU5BQkxFX1RPVUNIX0VWRU5UUykgJChFTkFCTEVfVVNFUl9N
RVNTQUdFX0hBTkRMRVJTKSAkKEVOQUJMRV9VU0VSU0VMRUNUX0FMTCkgJChFTkFCTEVfVkFSSUFU
SU9OX0ZPTlRTKSAkKEVOQUJMRV9WSURFTykgJChFTkFCTEVfVklERU9fUFJFU0VOVEFUSU9OX01P
REUpICQoRU5BQkxFX1ZJREVPX1RSQUNLKSAkKEVOQUJMRV9WSURFT19VU0VTX0VMRU1FTlRfRlVM
TFNDUkVFTikgJChFTkFCTEVfV0VCX0FVRElPKSAkKEVOQUJMRV9XRUJfQVVUSE4pICQoRU5BQkxF
X1dFQl9SVEMpICQoRU5BQkxFX1dFQkFTU0VNQkxZKSAkKEVOQUJMRV9XRUJBU1NFTUJMWV9TVFJF
QU1JTkdfQVBJKSAkKEVOQUJMRV9XRUJHTCkgJChFTkFCTEVfV0VCR0wyKSAkKEVOQUJMRV9XRUJN
RVRBTCkgJChFTkFCTEVfV0lSRUxFU1NfUExBWUJBQ0tfVEFSR0VUKSAkKEVOQUJMRV9YU0xUKTsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1NvdXJjZXMudHh0IGIvU291cmNlL1dlYkNvcmUv
U291cmNlcy50eHQKaW5kZXggMjE1OWI1ZTFhZGViZTI0MDVjNjFmNDI1Yzk1YWYzMTM0M2E5YTNk
Zi4uZGM1YWRhYTRiYmM2ZWFlNmI2MjYzNTEyNWVhZmRmZWFmODkyMjM2MCAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvU291cmNlcy50eHQKKysrIGIvU291cmNlL1dlYkNvcmUvU291cmNlcy50
eHQKQEAgLTQ1NSw4ICs0NTUsOCBAQCBiaW5kaW5ncy9qcy9KU1ZpZGVvVHJhY2tMaXN0Q3VzdG9t
LmNwcAogYmluZGluZ3MvanMvSlNXZWJBbmltYXRpb25DdXN0b20uY3BwCiBiaW5kaW5ncy9qcy9K
U1dlYkdMMlJlbmRlcmluZ0NvbnRleHRDdXN0b20uY3BwCiBiaW5kaW5ncy9qcy9KU1dlYkdMUmVu
ZGVyaW5nQ29udGV4dEN1c3RvbS5jcHAKLWJpbmRpbmdzL2pzL0pTV2ViR1BVUmVuZGVyUGFzc0F0
dGFjaG1lbnREZXNjcmlwdG9yQ3VzdG9tLmNwcAotYmluZGluZ3MvanMvSlNXZWJHUFVSZW5kZXJp
bmdDb250ZXh0Q3VzdG9tLmNwcAorYmluZGluZ3MvanMvSlNXZWJNZXRhbFJlbmRlclBhc3NBdHRh
Y2htZW50RGVzY3JpcHRvckN1c3RvbS5jcHAKK2JpbmRpbmdzL2pzL0pTV2ViTWV0YWxSZW5kZXJp
bmdDb250ZXh0Q3VzdG9tLmNwcAogYmluZGluZ3MvanMvSlNXaW5kb3dQcm94eS5jcHAKIGJpbmRp
bmdzL2pzL0pTV29ya2VyR2xvYmFsU2NvcGVCYXNlLmNwcAogYmluZGluZ3MvanMvSlNXb3JrZXJH
bG9iYWxTY29wZUN1c3RvbS5jcHAKQEAgLTExMTEsMjggKzExMTEsMjggQEAgaHRtbC9jYW52YXMv
SW1hZ2VCaXRtYXBSZW5kZXJpbmdDb250ZXh0LmNwcAogaHRtbC9jYW52YXMvT2Zmc2NyZWVuQ2Fu
dmFzUmVuZGVyaW5nQ29udGV4dDJELmNwcAogaHRtbC9jYW52YXMvUGF0aDJELmNwcAogaHRtbC9j
YW52YXMvUGxhY2Vob2xkZXJSZW5kZXJpbmdDb250ZXh0LmNwcAotaHRtbC9jYW52YXMvV2ViR1BV
QnVmZmVyLmNwcAotaHRtbC9jYW52YXMvV2ViR1BVQ29tbWFuZEJ1ZmZlci5jcHAKLWh0bWwvY2Fu
dmFzL1dlYkdQVUNvbW1hbmRRdWV1ZS5jcHAKLWh0bWwvY2FudmFzL1dlYkdQVUNvbXB1dGVDb21t
YW5kRW5jb2Rlci5jcHAKLWh0bWwvY2FudmFzL1dlYkdQVUNvbXB1dGVQaXBlbGluZVN0YXRlLmNw
cAotaHRtbC9jYW52YXMvV2ViR1BVRGVwdGhTdGVuY2lsRGVzY3JpcHRvci5jcHAKLWh0bWwvY2Fu
dmFzL1dlYkdQVURlcHRoU3RlbmNpbFN0YXRlLmNwcAotaHRtbC9jYW52YXMvV2ViR1BVRHJhd2Fi
bGUuY3BwCi1odG1sL2NhbnZhcy9XZWJHUFVFbnVtcy5jcHAKLWh0bWwvY2FudmFzL1dlYkdQVUZ1
bmN0aW9uLmNwcAotaHRtbC9jYW52YXMvV2ViR1BVTGlicmFyeS5jcHAKLWh0bWwvY2FudmFzL1dl
YkdQVVJlbmRlckNvbW1hbmRFbmNvZGVyLmNwcAotaHRtbC9jYW52YXMvV2ViR1BVUmVuZGVyUGFz
c0F0dGFjaG1lbnREZXNjcmlwdG9yLmNwcAotaHRtbC9jYW52YXMvV2ViR1BVUmVuZGVyUGFzc0Nv
bG9yQXR0YWNobWVudERlc2NyaXB0b3IuY3BwCi1odG1sL2NhbnZhcy9XZWJHUFVSZW5kZXJQYXNz
RGVwdGhBdHRhY2htZW50RGVzY3JpcHRvci5jcHAKLWh0bWwvY2FudmFzL1dlYkdQVVJlbmRlclBh
c3NEZXNjcmlwdG9yLmNwcAotaHRtbC9jYW52YXMvV2ViR1BVUmVuZGVyUGlwZWxpbmVDb2xvckF0
dGFjaG1lbnREZXNjcmlwdG9yLmNwcAotaHRtbC9jYW52YXMvV2ViR1BVUmVuZGVyUGlwZWxpbmVE
ZXNjcmlwdG9yLmNwcAotaHRtbC9jYW52YXMvV2ViR1BVUmVuZGVyUGlwZWxpbmVTdGF0ZS5jcHAK
LWh0bWwvY2FudmFzL1dlYkdQVVJlbmRlcmluZ0NvbnRleHQuY3BwCi1odG1sL2NhbnZhcy9XZWJH
UFVUZXh0dXJlLmNwcAotaHRtbC9jYW52YXMvV2ViR1BVVGV4dHVyZURlc2NyaXB0b3IuY3BwCito
dG1sL2NhbnZhcy9XZWJNZXRhbEJ1ZmZlci5jcHAKK2h0bWwvY2FudmFzL1dlYk1ldGFsQ29tbWFu
ZEJ1ZmZlci5jcHAKK2h0bWwvY2FudmFzL1dlYk1ldGFsQ29tbWFuZFF1ZXVlLmNwcAoraHRtbC9j
YW52YXMvV2ViTWV0YWxDb21wdXRlQ29tbWFuZEVuY29kZXIuY3BwCitodG1sL2NhbnZhcy9XZWJN
ZXRhbENvbXB1dGVQaXBlbGluZVN0YXRlLmNwcAoraHRtbC9jYW52YXMvV2ViTWV0YWxEZXB0aFN0
ZW5jaWxEZXNjcmlwdG9yLmNwcAoraHRtbC9jYW52YXMvV2ViTWV0YWxEZXB0aFN0ZW5jaWxTdGF0
ZS5jcHAKK2h0bWwvY2FudmFzL1dlYk1ldGFsRHJhd2FibGUuY3BwCitodG1sL2NhbnZhcy9XZWJN
ZXRhbEVudW1zLmNwcAoraHRtbC9jYW52YXMvV2ViTWV0YWxGdW5jdGlvbi5jcHAKK2h0bWwvY2Fu
dmFzL1dlYk1ldGFsTGlicmFyeS5jcHAKK2h0bWwvY2FudmFzL1dlYk1ldGFsUmVuZGVyQ29tbWFu
ZEVuY29kZXIuY3BwCitodG1sL2NhbnZhcy9XZWJNZXRhbFJlbmRlclBhc3NBdHRhY2htZW50RGVz
Y3JpcHRvci5jcHAKK2h0bWwvY2FudmFzL1dlYk1ldGFsUmVuZGVyUGFzc0NvbG9yQXR0YWNobWVu
dERlc2NyaXB0b3IuY3BwCitodG1sL2NhbnZhcy9XZWJNZXRhbFJlbmRlclBhc3NEZXB0aEF0dGFj
aG1lbnREZXNjcmlwdG9yLmNwcAoraHRtbC9jYW52YXMvV2ViTWV0YWxSZW5kZXJQYXNzRGVzY3Jp
cHRvci5jcHAKK2h0bWwvY2FudmFzL1dlYk1ldGFsUmVuZGVyUGlwZWxpbmVDb2xvckF0dGFjaG1l
bnREZXNjcmlwdG9yLmNwcAoraHRtbC9jYW52YXMvV2ViTWV0YWxSZW5kZXJQaXBlbGluZURlc2Ny
aXB0b3IuY3BwCitodG1sL2NhbnZhcy9XZWJNZXRhbFJlbmRlclBpcGVsaW5lU3RhdGUuY3BwCito
dG1sL2NhbnZhcy9XZWJNZXRhbFJlbmRlcmluZ0NvbnRleHQuY3BwCitodG1sL2NhbnZhcy9XZWJN
ZXRhbFRleHR1cmUuY3BwCitodG1sL2NhbnZhcy9XZWJNZXRhbFRleHR1cmVEZXNjcmlwdG9yLmNw
cAogCiBodG1sL2Zvcm1zL0ZpbGVJY29uTG9hZGVyLmNwcAogCkBAIC0zMTQzLDI4ICszMTQzLDI4
IEBAIEpTVmlzdWFsVmlld3BvcnQuY3BwCiBKU1ZvaWRDYWxsYmFjay5jcHAKIEpTV2F2ZVNoYXBl
ck5vZGUuY3BwCiBKU1dlYkFuaW1hdGlvbi5jcHAKLUpTV2ViR1BVQnVmZmVyLmNwcAotSlNXZWJH
UFVDb21tYW5kQnVmZmVyLmNwcAotSlNXZWJHUFVDb21tYW5kUXVldWUuY3BwCi1KU1dlYkdQVUNv
bXB1dGVDb21tYW5kRW5jb2Rlci5jcHAKLUpTV2ViR1BVQ29tcHV0ZVBpcGVsaW5lU3RhdGUuY3Bw
Ci1KU1dlYkdQVURlcHRoU3RlbmNpbERlc2NyaXB0b3IuY3BwCi1KU1dlYkdQVURlcHRoU3RlbmNp
bFN0YXRlLmNwcAotSlNXZWJHUFVEcmF3YWJsZS5jcHAKLUpTV2ViR1BVRnVuY3Rpb24uY3BwCi1K
U1dlYkdQVUxpYnJhcnkuY3BwCi1KU1dlYkdQVVJlbmRlckNvbW1hbmRFbmNvZGVyLmNwcAotSlNX
ZWJHUFVSZW5kZXJQYXNzQXR0YWNobWVudERlc2NyaXB0b3IuY3BwCi1KU1dlYkdQVVJlbmRlclBh
c3NDb2xvckF0dGFjaG1lbnREZXNjcmlwdG9yLmNwcAotSlNXZWJHUFVSZW5kZXJQYXNzRGVwdGhB
dHRhY2htZW50RGVzY3JpcHRvci5jcHAKLUpTV2ViR1BVUmVuZGVyUGFzc0Rlc2NyaXB0b3IuY3Bw
Ci1KU1dlYkdQVVJlbmRlclBpcGVsaW5lQ29sb3JBdHRhY2htZW50RGVzY3JpcHRvci5jcHAKLUpT
V2ViR1BVUmVuZGVyUGlwZWxpbmVEZXNjcmlwdG9yLmNwcAotSlNXZWJHUFVSZW5kZXJQaXBlbGlu
ZVN0YXRlLmNwcAotSlNXZWJHUFVSZW5kZXJpbmdDb250ZXh0LmNwcAotSlNXZWJHUFVTaXplLmNw
cAotSlNXZWJHUFVUZXh0dXJlLmNwcAotSlNXZWJHUFVUZXh0dXJlRGVzY3JpcHRvci5jcHAKK0pT
V2ViTWV0YWxCdWZmZXIuY3BwCitKU1dlYk1ldGFsQ29tbWFuZEJ1ZmZlci5jcHAKK0pTV2ViTWV0
YWxDb21tYW5kUXVldWUuY3BwCitKU1dlYk1ldGFsQ29tcHV0ZUNvbW1hbmRFbmNvZGVyLmNwcAor
SlNXZWJNZXRhbENvbXB1dGVQaXBlbGluZVN0YXRlLmNwcAorSlNXZWJNZXRhbERlcHRoU3RlbmNp
bERlc2NyaXB0b3IuY3BwCitKU1dlYk1ldGFsRGVwdGhTdGVuY2lsU3RhdGUuY3BwCitKU1dlYk1l
dGFsRHJhd2FibGUuY3BwCitKU1dlYk1ldGFsRnVuY3Rpb24uY3BwCitKU1dlYk1ldGFsTGlicmFy
eS5jcHAKK0pTV2ViTWV0YWxSZW5kZXJDb21tYW5kRW5jb2Rlci5jcHAKK0pTV2ViTWV0YWxSZW5k
ZXJQYXNzQXR0YWNobWVudERlc2NyaXB0b3IuY3BwCitKU1dlYk1ldGFsUmVuZGVyUGFzc0NvbG9y
QXR0YWNobWVudERlc2NyaXB0b3IuY3BwCitKU1dlYk1ldGFsUmVuZGVyUGFzc0RlcHRoQXR0YWNo
bWVudERlc2NyaXB0b3IuY3BwCitKU1dlYk1ldGFsUmVuZGVyUGFzc0Rlc2NyaXB0b3IuY3BwCitK
U1dlYk1ldGFsUmVuZGVyUGlwZWxpbmVDb2xvckF0dGFjaG1lbnREZXNjcmlwdG9yLmNwcAorSlNX
ZWJNZXRhbFJlbmRlclBpcGVsaW5lRGVzY3JpcHRvci5jcHAKK0pTV2ViTWV0YWxSZW5kZXJQaXBl
bGluZVN0YXRlLmNwcAorSlNXZWJNZXRhbFJlbmRlcmluZ0NvbnRleHQuY3BwCitKU1dlYk1ldGFs
U2l6ZS5jcHAKK0pTV2ViTWV0YWxUZXh0dXJlLmNwcAorSlNXZWJNZXRhbFRleHR1cmVEZXNjcmlw
dG9yLmNwcAogSlNXZWJLaXRBbmltYXRpb25FdmVudC5jcHAKIEpTV2ViS2l0Q1NTTWF0cml4LmNw
cAogSlNXZWJLaXRDU1NWaWV3cG9ydFJ1bGUuY3BwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9Tb3VyY2VzQ29jb2EudHh0IGIvU291cmNlL1dlYkNvcmUvU291cmNlc0NvY29hLnR4dAppbmRl
eCA1ODEzNmE5MzhjNGU4ODkwMmFkNTRhZmYxZDExNTI4ZmZhYzYxM2E4Li5jYWE5ZjllYjYxYzdh
MzEzMGFmZjQyZDM2YjdlNDBkOTRhZDEwYmU3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9T
b3VyY2VzQ29jb2EudHh0CisrKyBiL1NvdXJjZS9XZWJDb3JlL1NvdXJjZXNDb2NvYS50eHQKQEAg
LTMxMCw3ICszMTAsNyBAQCBwbGF0Zm9ybS9ncmFwaGljcy9jb2NvYS9XZWJBY3Rpb25EaXNhYmxp
bmdDQUxheWVyRGVsZWdhdGUubW0KIHBsYXRmb3JtL2dyYXBoaWNzL2NvY29hL1dlYkNvcmVDQUxh
eWVyRXh0cmFzLm1tCiBwbGF0Zm9ybS9ncmFwaGljcy9jb2NvYS9XZWJDb3JlRGVjb21wcmVzc2lv
blNlc3Npb24ubW0KIHBsYXRmb3JtL2dyYXBoaWNzL2NvY29hL1dlYkdMTGF5ZXIubW0KLXBsYXRm
b3JtL2dyYXBoaWNzL2NvY29hL1dlYkdQVUxheWVyLm1tCitwbGF0Zm9ybS9ncmFwaGljcy9jb2Nv
YS9XZWJNZXRhbExheWVyLm1tCiBwbGF0Zm9ybS9ncmFwaGljcy9jb2NvYS9UZXh0VHJhY2tSZXBy
ZXNlbnRhdGlvbkNvY29hLm1tCiAKIHBsYXRmb3JtL2dyYXBoaWNzL2N2L1BpeGVsQnVmZmVyQ29u
Zm9ybWVyQ1YuY3BwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJv
ai9wcm9qZWN0LnBieHByb2ogYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9q
ZWN0LnBieHByb2oKaW5kZXggYTVmMzI2ZTcxZDUzYzUzMDZkYzhhYzdiZjdkN2IxMGVjYzczNDlk
MC4uZWJiZDI1ZGU1ZGRiOWIxYjI1ZjIxNmVmYThjOGM0YzFkMTk5NGE3YyAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpAQCAtOTA4LDcg
KzkwOCw3IEBACiAJCTMxNEJFM0ExMUIzMEY2QjcwMDE0MTk4MiAvKiBDU1NOYW1lZEltYWdlVmFs
dWUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDMxNEJF
M0EwMUIzMEY2QjcwMDE0MTk4MiAvKiBDU1NOYW1lZEltYWdlVmFsdWUuaCAqLzsgc2V0dGluZ3Mg
PSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQkzMTRCRTNBNzFCMzEwM0ZCMDAx
NDE5ODIgLyogTmFtZWRJbWFnZUdlbmVyYXRlZEltYWdlLmggaW4gSGVhZGVycyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAzMTRCRTNBNTFCMzEwM0ZCMDAxNDE5ODIgLyogTmFt
ZWRJbWFnZUdlbmVyYXRlZEltYWdlLmggKi87IH07CiAJCTMxNkJEQjg2MUU2RTBBMjcwMERFMEQ1
QSAvKiBHUFVEZXZpY2UuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IDMxNkJEQjg1MUU2RTBBMjEwMERFMEQ1QSAvKiBHUFVEZXZpY2UuaCAqLzsgc2V0dGlu
Z3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwotCQkzMTZCREI4QzFFNkUxNTMw
MDBERTBENUEgLyogV2ViR1BVTGF5ZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IDMxNkJEQjhBMUU2RTE1MzAwMERFMEQ1QSAvKiBXZWJHUFVMYXllci5o
ICovOyB9OworCQkzMTZCREI4QzFFNkUxNTMwMDBERTBENUEgLyogV2ViTWV0YWxMYXllci5oIGlu
IEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMzE2QkRCOEExRTZF
MTUzMDAwREUwRDVBIC8qIFdlYk1ldGFsTGF5ZXIuaCAqLzsgfTsKIAkJMzE2QkRCOTUxRTcwQzg5
NzAwREUwRDVBIC8qIEdQVUZ1bmN0aW9uLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSAzMTZCREI5MzFFNzBDODk3MDBERTBENUEgLyogR1BVRnVuY3Rpb24u
aCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQkzMTZC
REI5QjFFNzBDQkJGMDBERTBENUEgLyogR1BVTGlicmFyeS5oIGluIEhlYWRlcnMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMzE2QkRCOTkxRTcwQ0JCRjAwREUwRDVBIC8qIEdQ
VUxpYnJhcnkuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9
OwogCQkzMTZCREJBQTFFNzFGQTkzMDBERTBENUEgLyogR1BVQnVmZmVyLmggaW4gSGVhZGVycyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAzMTZCREJBODFFNzFGQTkzMDBERTBE
NUEgLyogR1BVQnVmZmVyLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwg
KTsgfTsgfTsKQEAgLTY4MjksOCArNjgyOSw3IEBACiAJCTMxNkJEQjg0MUU2RTBBMjEwMERFMEQ1
QSAvKiBHUFVEZXZpY2UuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0g
R1BVRGV2aWNlLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMzE2QkRCODUxRTZF
MEEyMTAwREUwRDVBIC8qIEdQVURldmljZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBh
dGggPSBHUFVEZXZpY2UuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMzE2QkRCODgx
RTZFMTQxQzAwREUwRDVBIC8qIEdQVURldmljZU1ldGFsLm1tICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jcHAub2JqY3BwOyBwYXRoID0gR1BVRGV2aWNlTWV0YWwubW07IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07Ci0JCTMxNkJEQjg5MUU2RTE1MzAwMERFMEQ1QSAvKiBXZWJHUFVMYXllci5tbSAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IFdlYkdQVUxheWVyLm1tOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwotCQkzMTZCREI4QTFFNkUxNTMwMDBERTBENUEgLyog
V2ViR1BVTGF5ZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gV2ViR1BVTGF5
ZXIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMzE2QkRCOEExRTZFMTUzMDAwREUw
RDVBIC8qIFdlYk1ldGFsTGF5ZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0g
V2ViTWV0YWxMYXllci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkzMTZCREI5MjFF
NzBDODk3MDBERTBENUEgLyogR1BVRnVuY3Rpb24uY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
cHAuY3BwOyBwYXRoID0gR1BVRnVuY3Rpb24uY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OwogCQkzMTZCREI5MzFFNzBDODk3MDBERTBENUEgLyogR1BVRnVuY3Rpb24uaCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gR1BVRnVuY3Rpb24uaDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKIAkJMzE2QkRCOTYxRTcwQ0EyNDAwREUwRDVBIC8qIEdQVUZ1bmN0aW9uTWV0YWwu
bW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGggPSBHUFVGdW5jdGlvbk1l
dGFsLm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtMTM1OTQsNyArMTM1OTMsNzIg
QEAKIAkJRDAwMEVEMjYxMUMxQjlDRDAwQzQ3NzI2IC8qIFN1YmZyYW1lTG9hZGVyLmggKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFN1YmZyYW1lTG9hZGVyLmg7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CiAJCUQwMUEyN0FCMTBDOUJGRDgwMDAyNkE0MiAvKiBTcGFjZVNwbGl0
U3RyaW5nLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFNwYWNlU3Bs
aXRTdHJpbmcuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlEMDFBMjdBQzEwQzlC
RkQ4MDAwMjZBNDIgLyogU3BhY2VTcGxpdFN0cmluZy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
Lmg7IHBhdGggPSBTcGFjZVNwbGl0U3RyaW5nLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CisJCUQwMkY4NTRFMjE2ODJBNEEwMDg4RUU3NCAvKiBXZWJNZXRhbENvbW1hbmRRdWV1ZS5pZGwg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBw
YXRoID0gV2ViTWV0YWxDb21tYW5kUXVldWUuaWRsOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OworCQlEMDJGODU1MDIxNjgyQTU2MDA4OEVFNzQgLyogV2ViTWV0YWxDb21wdXRlQ29tbWFuZEVu
Y29kZXIuaWRsICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9IFdlYk1ldGFsQ29tcHV0ZUNvbW1hbmRF
bmNvZGVyLmlkbDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJRDAyRjg1NTEyMTY4MkE1
NjAwODhFRTc0IC8qIFdlYk1ldGFsQ29tcHV0ZVBpcGVsaW5lU3RhdGUuaCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuYy5oOyBwYXRoID0gV2ViTWV0YWxDb21wdXRlUGlwZWxpbmVTdGF0ZS5oOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OworCQlEMDJGODU1MjIxNjgyQTkxMDA4OEVFNzQgLyogV2Vi
TWV0YWxSZW5kZXJQaXBlbGluZVN0YXRlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFdlYk1ldGFsUmVuZGVy
UGlwZWxpbmVTdGF0ZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlEMDJGODU1MzIx
NjgyQTkxMDA4OEVFNzQgLyogV2ViTWV0YWxSZW5kZXJQYXNzRGVzY3JpcHRvci5jcHAgKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNw
cC5jcHA7IHBhdGggPSBXZWJNZXRhbFJlbmRlclBhc3NEZXNjcmlwdG9yLmNwcDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKKwkJRDAyRjg1NTQyMTY4MkE5MTAwODhFRTc0IC8qIFdlYk1ldGFs
UmVuZGVyaW5nQ29udGV4dC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBXZWJNZXRhbFJlbmRlcmluZ0NvbnRl
eHQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJRDAyRjg1NTUyMTY4MkE5MjAwODhF
RTc0IC8qIFdlYk1ldGFsRGVwdGhTdGVuY2lsRGVzY3JpcHRvci5oICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBX
ZWJNZXRhbERlcHRoU3RlbmNpbERlc2NyaXB0b3IuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKKwkJRDAyRjg1NTYyMTY4MkE5MjAwODhFRTc0IC8qIFdlYk1ldGFsU2l6ZS5pZGwgKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBwYXRoID0g
V2ViTWV0YWxTaXplLmlkbDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJRDAyRjg1NTcy
MTY4MkE5MzAwODhFRTc0IC8qIFdlYk1ldGFsUmVuZGVyUGFzc0F0dGFjaG1lbnREZXNjcmlwdG9y
LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmMuaDsgcGF0aCA9IFdlYk1ldGFsUmVuZGVyUGFzc0F0dGFjaG1lbnREZXNjcmlwdG9y
Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUQwMkY4NTU4MjE2ODJBOTMwMDg4RUU3
NCAvKiBXZWJNZXRhbFRleHR1cmUuaWRsICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxh
c3RLbm93bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9IFdlYk1ldGFsVGV4dHVyZS5pZGw7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUQwMkY4NTU5MjE2ODJBOTQwMDg4RUU3NCAvKiBXZWJN
ZXRhbFJlbmRlclBhc3NDb2xvckF0dGFjaG1lbnREZXNjcmlwdG9yLmNwcCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsg
cGF0aCA9IFdlYk1ldGFsUmVuZGVyUGFzc0NvbG9yQXR0YWNobWVudERlc2NyaXB0b3IuY3BwOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlEMDJGODU1QTIxNjgyQTk0MDA4OEVFNzQgLyog
V2ViTWV0YWxSZW5kZXJpbmdDb250ZXh0LmlkbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IHBhdGggPSBXZWJNZXRhbFJlbmRlcmluZ0NvbnRl
eHQuaWRsOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlEMDJGODU1QjIxNjgyQTk0MDA4
OEVFNzQgLyogV2ViTWV0YWxDb21wdXRlUGlwZWxpbmVTdGF0ZS5jcHAgKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBh
dGggPSBXZWJNZXRhbENvbXB1dGVQaXBlbGluZVN0YXRlLmNwcDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKKwkJRDAyRjg1NUMyMTY4MkE5NTAwODhFRTc0IC8qIFdlYk1ldGFsVGV4dHVyZURl
c2NyaXB0b3IuaWRsICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVU
eXBlID0gdGV4dDsgcGF0aCA9IFdlYk1ldGFsVGV4dHVyZURlc2NyaXB0b3IuaWRsOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OworCQlEMDJGODU1RDIxNjgyQTk1MDA4OEVFNzQgLyogV2ViTWV0
YWxSZW5kZXJQYXNzQ29sb3JBdHRhY2htZW50RGVzY3JpcHRvci5oICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBX
ZWJNZXRhbFJlbmRlclBhc3NDb2xvckF0dGFjaG1lbnREZXNjcmlwdG9yLmg7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CisJCUQwMkY4NTVFMjE2ODJBOTYwMDg4RUU3NCAvKiBXZWJNZXRhbFJl
bmRlclBpcGVsaW5lRGVzY3JpcHRvci5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBXZWJNZXRhbFJl
bmRlclBpcGVsaW5lRGVzY3JpcHRvci5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJ
CUQwMkY4NTVGMjE2ODJBOTYwMDg4RUU3NCAvKiBXZWJNZXRhbFJlbmRlclBpcGVsaW5lU3RhdGUu
Y3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gV2ViTWV0YWxSZW5kZXJQaXBlbGluZVN0YXRlLmNwcDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJRDAyRjg1NjAyMTY4MkE5NzAwODhFRTc0IC8q
IFdlYk1ldGFsUmVuZGVyUGFzc0NvbG9yQXR0YWNobWVudERlc2NyaXB0b3IuaWRsICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9IFdl
Yk1ldGFsUmVuZGVyUGFzc0NvbG9yQXR0YWNobWVudERlc2NyaXB0b3IuaWRsOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OworCQlEMDJGODU2MTIxNjgyQTk3MDA4OEVFNzQgLyogV2ViTWV0YWxS
ZW5kZXJQYXNzQXR0YWNobWVudERlc2NyaXB0b3IuaWRsICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9IFdlYk1ldGFsUmVuZGVyUGFz
c0F0dGFjaG1lbnREZXNjcmlwdG9yLmlkbDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJ
RDAyRjg1NjIyMTY4MkE5ODAwODhFRTc0IC8qIFdlYk1ldGFsUmVuZGVyQ29tbWFuZEVuY29kZXIu
Y3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gV2ViTWV0YWxSZW5kZXJDb21tYW5kRW5jb2Rlci5jcHA7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUQwMkY4NTYzMjE2ODJBOTgwMDg4RUU3NCAv
KiBXZWJNZXRhbFJlbmRlckNvbW1hbmRFbmNvZGVyLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFdlYk1ldGFs
UmVuZGVyQ29tbWFuZEVuY29kZXIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJRDAy
Rjg1NjQyMTY4MkE5ODAwODhFRTc0IC8qIFdlYk1ldGFsRGVwdGhTdGVuY2lsU3RhdGUuaCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Yy5oOyBwYXRoID0gV2ViTWV0YWxEZXB0aFN0ZW5jaWxTdGF0ZS5oOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OworCQlEMDJGODU2NTIxNjgyQTk5MDA4OEVFNzQgLyogV2ViTWV0YWxEZXB0aFN0
ZW5jaWxTdGF0ZS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBXZWJNZXRhbERlcHRoU3RlbmNpbFN0
YXRlLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJRDAyRjg1NjYyMTY4MkE5OTAw
ODhFRTc0IC8qIFdlYk1ldGFsUmVuZGVyUGlwZWxpbmVDb2xvckF0dGFjaG1lbnREZXNjcmlwdG9y
LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFdlYk1ldGFsUmVuZGVyUGlwZWxpbmVDb2xvckF0dGFj
aG1lbnREZXNjcmlwdG9yLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJRDAyRjg1
NjcyMTY4MkE5QTAwODhFRTc0IC8qIFdlYk1ldGFsUmVuZGVyUGlwZWxpbmVTdGF0ZS5pZGwgKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBwYXRo
ID0gV2ViTWV0YWxSZW5kZXJQaXBlbGluZVN0YXRlLmlkbDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKKwkJRDAyRjg1NjgyMTY4MkE5QTAwODhFRTc0IC8qIFdlYk1ldGFsUmVuZGVyUGFzc0Rl
cHRoQXR0YWNobWVudERlc2NyaXB0b3IuaWRsICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9IFdlYk1ldGFsUmVuZGVyUGFzc0RlcHRo
QXR0YWNobWVudERlc2NyaXB0b3IuaWRsOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlE
MDJGODU2OTIxNjgyQTlCMDA4OEVFNzQgLyogV2ViTWV0YWxSZW5kZXJQYXNzRGVwdGhBdHRhY2ht
ZW50RGVzY3JpcHRvci5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBXZWJNZXRhbFJlbmRlclBhc3NE
ZXB0aEF0dGFjaG1lbnREZXNjcmlwdG9yLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
KwkJRDAyRjg1NkEyMTY4MkE5QjAwODhFRTc0IC8qIFdlYk1ldGFsVGV4dHVyZURlc2NyaXB0b3Iu
aCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuYy5oOyBwYXRoID0gV2ViTWV0YWxUZXh0dXJlRGVzY3JpcHRvci5oOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OworCQlEMDJGODU2QjIxNjgyQTlDMDA4OEVFNzQgLyogV2ViTWV0YWxS
ZW5kZXJQYXNzRGVzY3JpcHRvci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBXZWJNZXRhbFJlbmRlclBhc3NE
ZXNjcmlwdG9yLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUQwMkY4NTZDMjE2ODJB
OUMwMDg4RUU3NCAvKiBXZWJNZXRhbExpYnJhcnkuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gV2ViTWV0YWxM
aWJyYXJ5Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUQwMkY4NTZEMjE2ODJBOUMw
MDg4RUU3NCAvKiBXZWJNZXRhbFNpemUuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gV2ViTWV0YWxTaXplLmg7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUQwMkY4NTZFMjE2ODJBOUQwMDg4RUU3NCAv
KiBXZWJNZXRhbFRleHR1cmVEZXNjcmlwdG9yLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFdlYk1l
dGFsVGV4dHVyZURlc2NyaXB0b3IuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlE
MDJGODU2RjIxNjgyQTlEMDA4OEVFNzQgLyogV2ViTWV0YWxEcmF3YWJsZS5pZGwgKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBwYXRoID0gV2Vi
TWV0YWxEcmF3YWJsZS5pZGw7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUQwMkY4NTcw
MjE2ODJBOUUwMDg4RUU3NCAvKiBXZWJNZXRhbEVudW1zLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9
IFdlYk1ldGFsRW51bXMuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlEMDJGODU3
MTIxNjgyQTlFMDA4OEVFNzQgLyogV2ViTWV0YWxSZW5kZXJQYXNzQXR0YWNobWVudERlc2NyaXB0
b3IuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gV2ViTWV0YWxSZW5kZXJQYXNzQXR0YWNobWVudERl
c2NyaXB0b3IuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlEMDJGODU3MjIxNjgy
QTlFMDA4OEVFNzQgLyogV2ViTWV0YWxMaWJyYXJ5LmlkbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IHBhdGggPSBXZWJNZXRhbExpYnJhcnku
aWRsOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlEMDJGODU3MzIxNjgyQTlGMDA4OEVF
NzQgLyogV2ViTWV0YWxUZXh0dXJlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFdlYk1ldGFsVGV4dHVyZS5o
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlEMDJGODU3NDIxNjgyQTlGMDA4OEVFNzQg
LyogV2ViTWV0YWxFbnVtcy5pZGwgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtu
b3duRmlsZVR5cGUgPSB0ZXh0OyBwYXRoID0gV2ViTWV0YWxFbnVtcy5pZGw7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CisJCUQwMkY4NTc1MjE2ODJBQTAwMDg4RUU3NCAvKiBXZWJNZXRhbEVu
dW1zLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFdlYk1ldGFsRW51bXMuaDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKKwkJRDAyRjg1NzYyMTY4MkFBMDAwODhFRTc0IC8qIFdlYk1ldGFsRHJhd2FibGUu
aCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuYy5oOyBwYXRoID0gV2ViTWV0YWxEcmF3YWJsZS5oOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OworCQlEMDJGODU3NzIxNjgyQUExMDA4OEVFNzQgLyogV2ViTWV0YWxEZXB0aFN0ZW5j
aWxTdGF0ZS5pZGwgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5
cGUgPSB0ZXh0OyBwYXRoID0gV2ViTWV0YWxEZXB0aFN0ZW5jaWxTdGF0ZS5pZGw7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CisJCUQwMkY4NTc4MjE2ODJBQTEwMDg4RUU3NCAvKiBXZWJNZXRh
bERlcHRoU3RlbmNpbERlc2NyaXB0b3IuaWRsICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9IFdlYk1ldGFsRGVwdGhTdGVuY2lsRGVz
Y3JpcHRvci5pZGw7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUQwMkY4NTc5MjE2ODJB
QTIwMDg4RUU3NCAvKiBXZWJNZXRhbEZ1bmN0aW9uLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFdl
Yk1ldGFsRnVuY3Rpb24uY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlEMDJGODU3
QTIxNjgyQUEyMDA4OEVFNzQgLyogV2ViTWV0YWxGdW5jdGlvbi5oICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBX
ZWJNZXRhbEZ1bmN0aW9uLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUQwMkY4NTdC
MjE2ODJBQTIwMDg4RUU3NCAvKiBXZWJNZXRhbExpYnJhcnkuY3BwICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRo
ID0gV2ViTWV0YWxMaWJyYXJ5LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJRDAy
Rjg1N0MyMTY4MkFBMzAwODhFRTc0IC8qIFdlYk1ldGFsUmVuZGVyUGlwZWxpbmVEZXNjcmlwdG9y
LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmMuaDsgcGF0aCA9IFdlYk1ldGFsUmVuZGVyUGlwZWxpbmVEZXNjcmlwdG9yLmg7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUQwMkY4NTdEMjE2ODJBQTMwMDg4RUU3NCAvKiBX
ZWJNZXRhbFJlbmRlclBhc3NEZXB0aEF0dGFjaG1lbnREZXNjcmlwdG9yLmggKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0
aCA9IFdlYk1ldGFsUmVuZGVyUGFzc0RlcHRoQXR0YWNobWVudERlc2NyaXB0b3IuaDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJRDAyRjg1N0UyMTY4MkFBNDAwODhFRTc0IC8qIFdlYk1l
dGFsUmVuZGVyUGFzc0Rlc2NyaXB0b3IuaWRsICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9IFdlYk1ldGFsUmVuZGVyUGFzc0Rlc2Ny
aXB0b3IuaWRsOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlEMDJGODU3RjIxNjgyQUE0
MDA4OEVFNzQgLyogV2ViTWV0YWxEcmF3YWJsZS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBXZWJN
ZXRhbERyYXdhYmxlLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJRDAyRjg1ODAy
MTY4MkFBNDAwODhFRTc0IC8qIFdlYk1ldGFsUmVuZGVyUGlwZWxpbmVEZXNjcmlwdG9yLmlkbCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IHBh
dGggPSBXZWJNZXRhbFJlbmRlclBpcGVsaW5lRGVzY3JpcHRvci5pZGw7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CisJCUQwMkY4NTgxMjE2ODJBQTUwMDg4RUU3NCAvKiBXZWJNZXRhbFJlbmRl
ckNvbW1hbmRFbmNvZGVyLmlkbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25v
d25GaWxlVHlwZSA9IHRleHQ7IHBhdGggPSBXZWJNZXRhbFJlbmRlckNvbW1hbmRFbmNvZGVyLmlk
bDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJRDAyRjg1ODIyMTY4MkFBNTAwODhFRTc0
IC8qIFdlYk1ldGFsVGV4dHVyZS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBXZWJNZXRhbFRleHR1
cmUuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlEMDJGODU4MzIxNjgyQUE2MDA4
OEVFNzQgLyogV2ViTWV0YWxDb21wdXRlUGlwZWxpbmVTdGF0ZS5pZGwgKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBwYXRoID0gV2ViTWV0YWxD
b21wdXRlUGlwZWxpbmVTdGF0ZS5pZGw7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUQw
MkY4NTg0MjE2ODJBQTYwMDg4RUU3NCAvKiBXZWJNZXRhbERlcHRoU3RlbmNpbERlc2NyaXB0b3Iu
Y3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gV2ViTWV0YWxEZXB0aFN0ZW5jaWxEZXNjcmlwdG9yLmNw
cDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJRDAyRjg1ODUyMTY4MkFBNzAwODhFRTc0
IC8qIFdlYk1ldGFsUmVuZGVyUGlwZWxpbmVDb2xvckF0dGFjaG1lbnREZXNjcmlwdG9yLmggKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmMuaDsgcGF0aCA9IFdlYk1ldGFsUmVuZGVyUGlwZWxpbmVDb2xvckF0dGFjaG1lbnREZXNjcmlw
dG9yLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUQwMkY4NTg2MjE2ODJBQTcwMDg4
RUU3NCAvKiBXZWJNZXRhbFJlbmRlclBpcGVsaW5lQ29sb3JBdHRhY2htZW50RGVzY3JpcHRvci5p
ZGwgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0
OyBwYXRoID0gV2ViTWV0YWxSZW5kZXJQaXBlbGluZUNvbG9yQXR0YWNobWVudERlc2NyaXB0b3Iu
aWRsOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlEMDJGODU4NzIxNjgyQUE3MDA4OEVF
NzQgLyogV2ViTWV0YWxSZW5kZXJpbmdDb250ZXh0LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFdl
Yk1ldGFsUmVuZGVyaW5nQ29udGV4dC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJ
CUQwMkY4NTg4MjE2ODJBQTgwMDg4RUU3NCAvKiBXZWJNZXRhbEZ1bmN0aW9uLmlkbCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IHBhdGggPSBX
ZWJNZXRhbEZ1bmN0aW9uLmlkbDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRDAzNkRE
OEQyMDhGRkMwQzAwRjlGNEIyIC8qIFdlYkdMQ29tcHJlc3NlZFRleHR1cmVBU1RDLmlkbCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IHBhdGgg
PSBXZWJHTENvbXByZXNzZWRUZXh0dXJlQVNUQy5pZGw7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CisJCUQwNDVBRDFEMjE2ODIzMEIwMDBBNkU5QiAvKiBXZWJNZXRhbExheWVyLm1tICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0gV2ViTWV0YWxMYXllci5tbTsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJRDA0NUFEMUUyMTY4MjQ0OTAwMEE2RTlCIC8qIEpT
V2ViTWV0YWxSZW5kZXJQYXNzQXR0YWNobWVudERlc2NyaXB0b3JDdXN0b20uY3BwICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAu
Y3BwOyBwYXRoID0gSlNXZWJNZXRhbFJlbmRlclBhc3NBdHRhY2htZW50RGVzY3JpcHRvckN1c3Rv
bS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUQwNDVBRDFGMjE2ODI0NDkwMDBB
NkU5QiAvKiBKU1dlYk1ldGFsUmVuZGVyaW5nQ29udGV4dEN1c3RvbS5jcHAgKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7
IHBhdGggPSBKU1dlYk1ldGFsUmVuZGVyaW5nQ29udGV4dEN1c3RvbS5jcHA7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CisJCUQwNDVBRDIwMjE2ODI0NzQwMDBBNkU5QiAvKiBXZWJNZXRhbENv
bXB1dGVDb21tYW5kRW5jb2Rlci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBXZWJNZXRhbENvbXB1dGVDb21t
YW5kRW5jb2Rlci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlEMDQ1QUQyMTIxNjgy
NDc0MDAwQTZFOUIgLyogV2ViTWV0YWxCdWZmZXIuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gV2Vi
TWV0YWxCdWZmZXIuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlEMDQ1QUQyMjIx
NjgyNDc0MDAwQTZFOUIgLyogV2ViTWV0YWxDb21tYW5kQnVmZmVyLmggKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9
IFdlYk1ldGFsQ29tbWFuZEJ1ZmZlci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlE
MDQ1QUQyMzIxNjgyNDc1MDAwQTZFOUIgLyogV2ViTWV0YWxDb21tYW5kUXVldWUuY3BwICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
cHAuY3BwOyBwYXRoID0gV2ViTWV0YWxDb21tYW5kUXVldWUuY3BwOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OwogCQlEMDVDRUQyNzBBNDBCQjJDMDBDNUFGMzggLyogRm9ybWF0QmxvY2tDb21t
YW5kLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSAzMDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBGb3JtYXRCbG9j
a0NvbW1hbmQuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlEMDVDRUQyODBBNDBC
QjJDMDBDNUFGMzggLyogRm9ybWF0QmxvY2tDb21tYW5kLmggKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gMzA7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jLmg7IHBhdGggPSBGb3JtYXRCbG9ja0NvbW1hbmQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKIAkJRDA2QzBEOEQwQ0ZEMTE0NjAwNjVGNDNGIC8qIFJlbW92ZUZvcm1hdENvbW1hbmQu
aCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gUmVtb3ZlRm9ybWF0Q29tbWFuZC5o
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtMTM2MTMsNiArMTM2NzcsMTIgQEAKIAkJ
RDBCQzU0NDgxNDQzQUM0QTAwRTEwNURBIC8qIENhY2hlZFN0eWxlU2hlZXRDbGllbnQuaCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gQ2FjaGVkU3R5bGVTaGVldENsaWVudC5oOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlEMEJENEY1QTE0MDg4NTBGMDA2ODM5QjYgLyog
RGljdGF0aW9uQ29tbWFuZElPUy5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBh
dGggPSBEaWN0YXRpb25Db21tYW5kSU9TLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
IAkJRDBCRDRGNUIxNDA4ODUwRjAwNjgzOUI2IC8qIERpY3RhdGlvbkNvbW1hbmRJT1MuaCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gRGljdGF0aW9uQ29tbWFuZElPUy5oOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OworCQlEMENBQUU5ODIxNjgyNEE2MDAxQzkxQzcgLyogV2Vi
TWV0YWxCdWZmZXIuaWRsICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZp
bGVUeXBlID0gdGV4dDsgcGF0aCA9IFdlYk1ldGFsQnVmZmVyLmlkbDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKKwkJRDBDQUFFOUEyMTY4MjRBNjAwMUM5MUM3IC8qIFdlYk1ldGFsQ29tbWFu
ZEJ1ZmZlci5pZGwgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5
cGUgPSB0ZXh0OyBwYXRoID0gV2ViTWV0YWxDb21tYW5kQnVmZmVyLmlkbDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKKwkJRDBDQUFFOUIyMTY4MjRBNzAwMUM5MUM3IC8qIFdlYk1ldGFsQ29t
bWFuZFF1ZXVlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFdlYk1ldGFsQ29tbWFuZFF1ZXVlLmg7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUQwQ0FBRTlDMjE2ODI0QTcwMDFDOTFDNyAvKiBXZWJN
ZXRhbENvbXB1dGVDb21tYW5kRW5jb2Rlci5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBXZWJNZXRh
bENvbXB1dGVDb21tYW5kRW5jb2Rlci5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJ
CUQwQ0FBRTlEMjE2ODI0QTcwMDFDOTFDNyAvKiBXZWJNZXRhbEJ1ZmZlci5oICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBh
dGggPSBXZWJNZXRhbEJ1ZmZlci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlEMENB
QUU5RTIxNjgyNEE4MDAxQzkxQzcgLyogV2ViTWV0YWxDb21tYW5kQnVmZmVyLmNwcCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3Bw
LmNwcDsgcGF0aCA9IFdlYk1ldGFsQ29tbWFuZEJ1ZmZlci5jcHA7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CiAJCUQwRURBNzcyMTQzRTMwM0MwMDI4RTM4MyAvKiBDYWNoZWRSYXdSZXNvdXJj
ZS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBDYWNoZWRSYXdSZXNv
dXJjZS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUQwRURBNzczMTQzRTMwM0Mw
MDI4RTM4MyAvKiBDYWNoZWRSYXdSZXNvdXJjZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7
IHBhdGggPSBDYWNoZWRSYXdSZXNvdXJjZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owog
CQlEMEZGMkE1QjExRjhDNDVBMDA3RTc0RTAgLyogUGluZ0xvYWRlci5jcHAgKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBQaW5nTG9hZGVyLmNwcDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKQEAgLTE3NjI1LDYgKzE3Njk1LDc0IEBACiAJCQkJMzFBMDg5MDExRTczN0I0
RDAwM0I2NjA5IC8qIFdlYkdQVVRleHR1cmVEZXNjcmlwdG9yLmNwcCAqLywKIAkJCQkzMUEwODkw
MjFFNzM3QjREMDAzQjY2MDkgLyogV2ViR1BVVGV4dHVyZURlc2NyaXB0b3IuaCAqLywKIAkJCQkz
MUEwODkwMzFFNzM3QjREMDAzQjY2MDkgLyogV2ViR1BVVGV4dHVyZURlc2NyaXB0b3IuaWRsICov
LAorCQkJCUQwNDVBRDIxMjE2ODI0NzQwMDBBNkU5QiAvKiBXZWJNZXRhbEJ1ZmZlci5jcHAgKi8s
CisJCQkJRDBDQUFFOUQyMTY4MjRBNzAwMUM5MUM3IC8qIFdlYk1ldGFsQnVmZmVyLmggKi8sCisJ
CQkJRDBDQUFFOTgyMTY4MjRBNjAwMUM5MUM3IC8qIFdlYk1ldGFsQnVmZmVyLmlkbCAqLywKKwkJ
CQlEMENBQUU5RTIxNjgyNEE4MDAxQzkxQzcgLyogV2ViTWV0YWxDb21tYW5kQnVmZmVyLmNwcCAq
LywKKwkJCQlEMDQ1QUQyMjIxNjgyNDc0MDAwQTZFOUIgLyogV2ViTWV0YWxDb21tYW5kQnVmZmVy
LmggKi8sCisJCQkJRDBDQUFFOUEyMTY4MjRBNjAwMUM5MUM3IC8qIFdlYk1ldGFsQ29tbWFuZEJ1
ZmZlci5pZGwgKi8sCisJCQkJRDA0NUFEMjMyMTY4MjQ3NTAwMEE2RTlCIC8qIFdlYk1ldGFsQ29t
bWFuZFF1ZXVlLmNwcCAqLywKKwkJCQlEMENBQUU5QjIxNjgyNEE3MDAxQzkxQzcgLyogV2ViTWV0
YWxDb21tYW5kUXVldWUuaCAqLywKKwkJCQlEMDJGODU0RTIxNjgyQTRBMDA4OEVFNzQgLyogV2Vi
TWV0YWxDb21tYW5kUXVldWUuaWRsICovLAorCQkJCUQwQ0FBRTlDMjE2ODI0QTcwMDFDOTFDNyAv
KiBXZWJNZXRhbENvbXB1dGVDb21tYW5kRW5jb2Rlci5jcHAgKi8sCisJCQkJRDA0NUFEMjAyMTY4
MjQ3NDAwMEE2RTlCIC8qIFdlYk1ldGFsQ29tcHV0ZUNvbW1hbmRFbmNvZGVyLmggKi8sCisJCQkJ
RDAyRjg1NTAyMTY4MkE1NjAwODhFRTc0IC8qIFdlYk1ldGFsQ29tcHV0ZUNvbW1hbmRFbmNvZGVy
LmlkbCAqLywKKwkJCQlEMDJGODU1QjIxNjgyQTk0MDA4OEVFNzQgLyogV2ViTWV0YWxDb21wdXRl
UGlwZWxpbmVTdGF0ZS5jcHAgKi8sCisJCQkJRDAyRjg1NTEyMTY4MkE1NjAwODhFRTc0IC8qIFdl
Yk1ldGFsQ29tcHV0ZVBpcGVsaW5lU3RhdGUuaCAqLywKKwkJCQlEMDJGODU4MzIxNjgyQUE2MDA4
OEVFNzQgLyogV2ViTWV0YWxDb21wdXRlUGlwZWxpbmVTdGF0ZS5pZGwgKi8sCisJCQkJRDAyRjg1
ODQyMTY4MkFBNjAwODhFRTc0IC8qIFdlYk1ldGFsRGVwdGhTdGVuY2lsRGVzY3JpcHRvci5jcHAg
Ki8sCisJCQkJRDAyRjg1NTUyMTY4MkE5MjAwODhFRTc0IC8qIFdlYk1ldGFsRGVwdGhTdGVuY2ls
RGVzY3JpcHRvci5oICovLAorCQkJCUQwMkY4NTc4MjE2ODJBQTEwMDg4RUU3NCAvKiBXZWJNZXRh
bERlcHRoU3RlbmNpbERlc2NyaXB0b3IuaWRsICovLAorCQkJCUQwMkY4NTY1MjE2ODJBOTkwMDg4
RUU3NCAvKiBXZWJNZXRhbERlcHRoU3RlbmNpbFN0YXRlLmNwcCAqLywKKwkJCQlEMDJGODU2NDIx
NjgyQTk4MDA4OEVFNzQgLyogV2ViTWV0YWxEZXB0aFN0ZW5jaWxTdGF0ZS5oICovLAorCQkJCUQw
MkY4NTc3MjE2ODJBQTEwMDg4RUU3NCAvKiBXZWJNZXRhbERlcHRoU3RlbmNpbFN0YXRlLmlkbCAq
LywKKwkJCQlEMDJGODU3RjIxNjgyQUE0MDA4OEVFNzQgLyogV2ViTWV0YWxEcmF3YWJsZS5jcHAg
Ki8sCisJCQkJRDAyRjg1NzYyMTY4MkFBMDAwODhFRTc0IC8qIFdlYk1ldGFsRHJhd2FibGUuaCAq
LywKKwkJCQlEMDJGODU2RjIxNjgyQTlEMDA4OEVFNzQgLyogV2ViTWV0YWxEcmF3YWJsZS5pZGwg
Ki8sCisJCQkJRDAyRjg1NzAyMTY4MkE5RTAwODhFRTc0IC8qIFdlYk1ldGFsRW51bXMuY3BwICov
LAorCQkJCUQwMkY4NTc1MjE2ODJBQTAwMDg4RUU3NCAvKiBXZWJNZXRhbEVudW1zLmggKi8sCisJ
CQkJRDAyRjg1NzQyMTY4MkE5RjAwODhFRTc0IC8qIFdlYk1ldGFsRW51bXMuaWRsICovLAorCQkJ
CUQwMkY4NTc5MjE2ODJBQTIwMDg4RUU3NCAvKiBXZWJNZXRhbEZ1bmN0aW9uLmNwcCAqLywKKwkJ
CQlEMDJGODU3QTIxNjgyQUEyMDA4OEVFNzQgLyogV2ViTWV0YWxGdW5jdGlvbi5oICovLAorCQkJ
CUQwMkY4NTg4MjE2ODJBQTgwMDg4RUU3NCAvKiBXZWJNZXRhbEZ1bmN0aW9uLmlkbCAqLywKKwkJ
CQlEMDJGODU3QjIxNjgyQUEyMDA4OEVFNzQgLyogV2ViTWV0YWxMaWJyYXJ5LmNwcCAqLywKKwkJ
CQlEMDJGODU2QzIxNjgyQTlDMDA4OEVFNzQgLyogV2ViTWV0YWxMaWJyYXJ5LmggKi8sCisJCQkJ
RDAyRjg1NzIyMTY4MkE5RTAwODhFRTc0IC8qIFdlYk1ldGFsTGlicmFyeS5pZGwgKi8sCisJCQkJ
RDAyRjg1NjIyMTY4MkE5ODAwODhFRTc0IC8qIFdlYk1ldGFsUmVuZGVyQ29tbWFuZEVuY29kZXIu
Y3BwICovLAorCQkJCUQwMkY4NTYzMjE2ODJBOTgwMDg4RUU3NCAvKiBXZWJNZXRhbFJlbmRlckNv
bW1hbmRFbmNvZGVyLmggKi8sCisJCQkJRDAyRjg1ODEyMTY4MkFBNTAwODhFRTc0IC8qIFdlYk1l
dGFsUmVuZGVyQ29tbWFuZEVuY29kZXIuaWRsICovLAorCQkJCUQwMkY4NTg3MjE2ODJBQTcwMDg4
RUU3NCAvKiBXZWJNZXRhbFJlbmRlcmluZ0NvbnRleHQuY3BwICovLAorCQkJCUQwMkY4NTU0MjE2
ODJBOTEwMDg4RUU3NCAvKiBXZWJNZXRhbFJlbmRlcmluZ0NvbnRleHQuaCAqLywKKwkJCQlEMDJG
ODU1QTIxNjgyQTk0MDA4OEVFNzQgLyogV2ViTWV0YWxSZW5kZXJpbmdDb250ZXh0LmlkbCAqLywK
KwkJCQlEMDJGODU3MTIxNjgyQTlFMDA4OEVFNzQgLyogV2ViTWV0YWxSZW5kZXJQYXNzQXR0YWNo
bWVudERlc2NyaXB0b3IuY3BwICovLAorCQkJCUQwMkY4NTU3MjE2ODJBOTMwMDg4RUU3NCAvKiBX
ZWJNZXRhbFJlbmRlclBhc3NBdHRhY2htZW50RGVzY3JpcHRvci5oICovLAorCQkJCUQwMkY4NTYx
MjE2ODJBOTcwMDg4RUU3NCAvKiBXZWJNZXRhbFJlbmRlclBhc3NBdHRhY2htZW50RGVzY3JpcHRv
ci5pZGwgKi8sCisJCQkJRDAyRjg1NTkyMTY4MkE5NDAwODhFRTc0IC8qIFdlYk1ldGFsUmVuZGVy
UGFzc0NvbG9yQXR0YWNobWVudERlc2NyaXB0b3IuY3BwICovLAorCQkJCUQwMkY4NTVEMjE2ODJB
OTUwMDg4RUU3NCAvKiBXZWJNZXRhbFJlbmRlclBhc3NDb2xvckF0dGFjaG1lbnREZXNjcmlwdG9y
LmggKi8sCisJCQkJRDAyRjg1NjAyMTY4MkE5NzAwODhFRTc0IC8qIFdlYk1ldGFsUmVuZGVyUGFz
c0NvbG9yQXR0YWNobWVudERlc2NyaXB0b3IuaWRsICovLAorCQkJCUQwMkY4NTY5MjE2ODJBOUIw
MDg4RUU3NCAvKiBXZWJNZXRhbFJlbmRlclBhc3NEZXB0aEF0dGFjaG1lbnREZXNjcmlwdG9yLmNw
cCAqLywKKwkJCQlEMDJGODU3RDIxNjgyQUEzMDA4OEVFNzQgLyogV2ViTWV0YWxSZW5kZXJQYXNz
RGVwdGhBdHRhY2htZW50RGVzY3JpcHRvci5oICovLAorCQkJCUQwMkY4NTY4MjE2ODJBOUEwMDg4
RUU3NCAvKiBXZWJNZXRhbFJlbmRlclBhc3NEZXB0aEF0dGFjaG1lbnREZXNjcmlwdG9yLmlkbCAq
LywKKwkJCQlEMDJGODU1MzIxNjgyQTkxMDA4OEVFNzQgLyogV2ViTWV0YWxSZW5kZXJQYXNzRGVz
Y3JpcHRvci5jcHAgKi8sCisJCQkJRDAyRjg1NkIyMTY4MkE5QzAwODhFRTc0IC8qIFdlYk1ldGFs
UmVuZGVyUGFzc0Rlc2NyaXB0b3IuaCAqLywKKwkJCQlEMDJGODU3RTIxNjgyQUE0MDA4OEVFNzQg
LyogV2ViTWV0YWxSZW5kZXJQYXNzRGVzY3JpcHRvci5pZGwgKi8sCisJCQkJRDAyRjg1NjYyMTY4
MkE5OTAwODhFRTc0IC8qIFdlYk1ldGFsUmVuZGVyUGlwZWxpbmVDb2xvckF0dGFjaG1lbnREZXNj
cmlwdG9yLmNwcCAqLywKKwkJCQlEMDJGODU4NTIxNjgyQUE3MDA4OEVFNzQgLyogV2ViTWV0YWxS
ZW5kZXJQaXBlbGluZUNvbG9yQXR0YWNobWVudERlc2NyaXB0b3IuaCAqLywKKwkJCQlEMDJGODU4
NjIxNjgyQUE3MDA4OEVFNzQgLyogV2ViTWV0YWxSZW5kZXJQaXBlbGluZUNvbG9yQXR0YWNobWVu
dERlc2NyaXB0b3IuaWRsICovLAorCQkJCUQwMkY4NTVFMjE2ODJBOTYwMDg4RUU3NCAvKiBXZWJN
ZXRhbFJlbmRlclBpcGVsaW5lRGVzY3JpcHRvci5jcHAgKi8sCisJCQkJRDAyRjg1N0MyMTY4MkFB
MzAwODhFRTc0IC8qIFdlYk1ldGFsUmVuZGVyUGlwZWxpbmVEZXNjcmlwdG9yLmggKi8sCisJCQkJ
RDAyRjg1ODAyMTY4MkFBNDAwODhFRTc0IC8qIFdlYk1ldGFsUmVuZGVyUGlwZWxpbmVEZXNjcmlw
dG9yLmlkbCAqLywKKwkJCQlEMDJGODU1RjIxNjgyQTk2MDA4OEVFNzQgLyogV2ViTWV0YWxSZW5k
ZXJQaXBlbGluZVN0YXRlLmNwcCAqLywKKwkJCQlEMDJGODU1MjIxNjgyQTkxMDA4OEVFNzQgLyog
V2ViTWV0YWxSZW5kZXJQaXBlbGluZVN0YXRlLmggKi8sCisJCQkJRDAyRjg1NjcyMTY4MkE5QTAw
ODhFRTc0IC8qIFdlYk1ldGFsUmVuZGVyUGlwZWxpbmVTdGF0ZS5pZGwgKi8sCisJCQkJRDAyRjg1
NkQyMTY4MkE5QzAwODhFRTc0IC8qIFdlYk1ldGFsU2l6ZS5oICovLAorCQkJCUQwMkY4NTU2MjE2
ODJBOTIwMDg4RUU3NCAvKiBXZWJNZXRhbFNpemUuaWRsICovLAorCQkJCUQwMkY4NTgyMjE2ODJB
QTUwMDg4RUU3NCAvKiBXZWJNZXRhbFRleHR1cmUuY3BwICovLAorCQkJCUQwMkY4NTczMjE2ODJB
OUYwMDg4RUU3NCAvKiBXZWJNZXRhbFRleHR1cmUuaCAqLywKKwkJCQlEMDJGODU1ODIxNjgyQTkz
MDA4OEVFNzQgLyogV2ViTWV0YWxUZXh0dXJlLmlkbCAqLywKKwkJCQlEMDJGODU2RTIxNjgyQTlE
MDA4OEVFNzQgLyogV2ViTWV0YWxUZXh0dXJlRGVzY3JpcHRvci5jcHAgKi8sCisJCQkJRDAyRjg1
NkEyMTY4MkE5QjAwODhFRTc0IC8qIFdlYk1ldGFsVGV4dHVyZURlc2NyaXB0b3IuaCAqLywKKwkJ
CQlEMDJGODU1QzIxNjgyQTk1MDA4OEVFNzQgLyogV2ViTWV0YWxUZXh0dXJlRGVzY3JpcHRvci5p
ZGwgKi8sCiAJCQkpOwogCQkJcGF0aCA9IGNhbnZhczsKIAkJCXNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7CkBAIC0yNDAzMCw4ICsyNDE2OCw4IEBACiAJCQkJQ0Q1RDI3NzUxRTgzMThFMDAwRDgwQTNE
IC8qIFdlYkNvcmVEZWNvbXByZXNzaW9uU2Vzc2lvbi5tbSAqLywKIAkJCQk0OUZGQkYzRDExQzkz
RUUzMDA2QTcxMTggLyogV2ViR0xMYXllci5oICovLAogCQkJCTQ5RkZCRjNFMTFDOTNFRTMwMDZB
NzExOCAvKiBXZWJHTExheWVyLm1tICovLAotCQkJCTMxNkJEQjhBMUU2RTE1MzAwMERFMEQ1QSAv
KiBXZWJHUFVMYXllci5oICovLAotCQkJCTMxNkJEQjg5MUU2RTE1MzAwMERFMEQ1QSAvKiBXZWJH
UFVMYXllci5tbSAqLywKKwkJCQkzMTZCREI4QTFFNkUxNTMwMDBERTBENUEgLyogV2ViTWV0YWxM
YXllci5oICovLAorCQkJCUQwNDVBRDFEMjE2ODIzMEIwMDBBNkU5QiAvKiBXZWJNZXRhbExheWVy
Lm1tICovLAogCQkJKTsKIAkJCXBhdGggPSBjb2NvYTsKIAkJCXNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7CkBAIC0yNDEyMyw2ICsyNDI2MSw4IEBACiAJCQkJNDZCQ0JCQzEyMDg1MDA4MDAwNzEwNjM4
IC8qIEpTUmVtb3RlRE9NV2luZG93QmFzZS5jcHAgKi8sCiAJCQkJNDZCQ0JCQzAyMDg1MDA3RjAw
NzEwNjM4IC8qIEpTUmVtb3RlRE9NV2luZG93QmFzZS5oICovLAogCQkJCTkzMUFFM0I4MUZCODBF
QUUwMEY1RUZCMiAvKiBKU1ZhbHVlSW5XcmFwcGVkT2JqZWN0LmggKi8sCisJCQkJRDA0NUFEMUYy
MTY4MjQ0OTAwMEE2RTlCIC8qIEpTV2ViTWV0YWxSZW5kZXJpbmdDb250ZXh0Q3VzdG9tLmNwcCAq
LywKKwkJCQlEMDQ1QUQxRTIxNjgyNDQ5MDAwQTZFOUIgLyogSlNXZWJNZXRhbFJlbmRlclBhc3NB
dHRhY2htZW50RGVzY3JpcHRvckN1c3RvbS5jcHAgKi8sCiAJCQkJQkNCRkI1M0EwRENEMjlDRjAw
MTlCM0U1IC8qIEpTV2luZG93UHJveHkuY3BwICovLAogCQkJCUJDQkZCNTNCMERDRDI5Q0YwMDE5
QjNFNSAvKiBKU1dpbmRvd1Byb3h5LmggKi8sCiAJCQkJRTFDMzZEMzIwRUIwQTA5NDAwNzQxMEJD
IC8qIEpTV29ya2VyR2xvYmFsU2NvcGVCYXNlLmNwcCAqLywKQEAgLTMxMTAyLDcgKzMxMjQyLDYg
QEAKIAkJCQkwQzNGMUY1QjEwQzg4NzEyMDBENzJDRTEgLyogV2ViR0xVbmlmb3JtTG9jYXRpb24u
aCBpbiBIZWFkZXJzICovLAogCQkJCTZGOTk1QTI2MUE3MDc4QjEwMEE3MzVGNCAvKiBXZWJHTFZl
cnRleEFycmF5T2JqZWN0LmggaW4gSGVhZGVycyAqLywKIAkJCQk3N0ExN0E3ODEyRjI4NjQyMDA0
RTAyRjYgLyogV2ViR0xWZXJ0ZXhBcnJheU9iamVjdE9FUy5oIGluIEhlYWRlcnMgKi8sCi0JCQkJ
MzE2QkRCOEMxRTZFMTUzMDAwREUwRDVBIC8qIFdlYkdQVUxheWVyLmggaW4gSGVhZGVycyAqLywK
IAkJCQlBNUI4MUNCNzFGQUE0NDYyMDAzN0QxRTYgLyogV2ViSGVhcEFnZW50LmggaW4gSGVhZGVy
cyAqLywKIAkJCQlBNTg0MEUyNTE4N0I4QUMyMDA4NDNCMTAgLyogV2ViSW5qZWN0ZWRTY3JpcHRI
b3N0LmggaW4gSGVhZGVycyAqLywKIAkJCQlBNTg0RkUzMDE4NjRDQjg0MDA4NDNCMTAgLyogV2Vi
SW5qZWN0ZWRTY3JpcHRNYW5hZ2VyLmggaW4gSGVhZGVycyAqLywKQEAgLTMxMTI0LDYgKzMxMjYz
LDcgQEAKIAkJCQkwNzA5RDc4RjFBRTU1NTU0MDA0RTQyRjggLyogV2ViTWVkaWFTZXNzaW9uTWFu
YWdlci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMDcwOUQ3OTUxQUU1NUEyOTAwNEU0MkY4IC8qIFdl
Yk1lZGlhU2Vzc2lvbk1hbmFnZXJDbGllbnQuaCBpbiBIZWFkZXJzICovLAogCQkJCTA3MDlENzkz
MUFFNTU1N0UwMDRFNDJGOCAvKiBXZWJNZWRpYVNlc3Npb25NYW5hZ2VyTWFjLmggaW4gSGVhZGVy
cyAqLywKKwkJCQkzMTZCREI4QzFFNkUxNTMwMDBERTBENUEgLyogV2ViTWV0YWxMYXllci5oIGlu
IEhlYWRlcnMgKi8sCiAJCQkJRTFBMzE2MkQxMzRCQzMyRDAwN0M5QTRGIC8qIFdlYk5TQXR0cmli
dXRlZFN0cmluZ0V4dHJhcy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQ0Q1ODk2RTIxQ0QyQjE1MTAw
QjNCQ0M4IC8qIFdlYlBsYXliYWNrQ29udHJvbHNNYW5hZ2VyLmggaW4gSGVhZGVycyAqLywKIAkJ
CQkxQ0FGMzQ4MTBBNkM0MDUyMDBBQkUwNkUgLyogV2ViU2NyaXB0T2JqZWN0LmggaW4gSGVhZGVy
cyAqLywKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTV2ViR1BVUmVu
ZGVyUGFzc0F0dGFjaG1lbnREZXNjcmlwdG9yQ3VzdG9tLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Jp
bmRpbmdzL2pzL0pTV2ViR1BVUmVuZGVyUGFzc0F0dGFjaG1lbnREZXNjcmlwdG9yQ3VzdG9tLmNw
cApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggN2FmNjQzNjQ5MDU0YzMyNDY4NzllODQ3
ZGUzMjgxMmQzYzI1ZWNhMS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU1dlYkdQVVJlbmRlclBhc3NBdHRh
Y2htZW50RGVzY3JpcHRvckN1c3RvbS5jcHAKKysrIC9kZXYvbnVsbApAQCAtMSw1MyArMCwwIEBA
Ci0vKgotICogQ29weXJpZ2h0IChDKSAyMDE3IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZl
ZC4KLSAqCi0gKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZv
cm1zLCB3aXRoIG9yIHdpdGhvdXQKLSAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92
aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwotICogYXJlIG1ldDoKLSAqIDEuIFJl
ZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJp
Z2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93
aW5nIGRpc2NsYWltZXIuCi0gKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVz
dCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qg
b2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQotICogICAg
ZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRp
c3RyaWJ1dGlvbi4KLSAqCi0gKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElO
Qy4gYGBBUyBJUycnIEFORCBBTlkKLSAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJ
TkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCi0gKiBJTVBMSUVEIFdBUlJBTlRJRVMg
T0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKLSAqIFBVUlBP
U0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SCi0gKiBD
T05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRB
TCwgU1BFQ0lBTCwKLSAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNM
VURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKLSAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUg
R09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgotICogUFJPRklUUzsgT1Ig
QlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQot
ICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBP
UiBUT1JUCi0gKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElO
IEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKLSAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURW
SVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCi0gKi8KLQotI2luY2x1ZGUg
ImNvbmZpZy5oIgotI2luY2x1ZGUgIkpTV2ViR1BVUmVuZGVyUGFzc0F0dGFjaG1lbnREZXNjcmlw
dG9yLmgiCi0KLSNpZiBFTkFCTEUoV0VCR1BVKQotCi0jaW5jbHVkZSAiSlNET01CaW5kaW5nLmgi
Ci0jaW5jbHVkZSAiSlNXZWJHUFVSZW5kZXJQYXNzQ29sb3JBdHRhY2htZW50RGVzY3JpcHRvci5o
IgotI2luY2x1ZGUgIkpTV2ViR1BVUmVuZGVyUGFzc0RlcHRoQXR0YWNobWVudERlc2NyaXB0b3Iu
aCIKLSNpbmNsdWRlICJXZWJHUFVSZW5kZXJQYXNzQ29sb3JBdHRhY2htZW50RGVzY3JpcHRvci5o
IgotI2luY2x1ZGUgIldlYkdQVVJlbmRlclBhc3NEZXB0aEF0dGFjaG1lbnREZXNjcmlwdG9yLmgi
Ci0KLW5hbWVzcGFjZSBXZWJDb3JlIHsKLQotSlNDOjpKU1ZhbHVlIHRvSlNOZXdseUNyZWF0ZWQo
SlNDOjpFeGVjU3RhdGUqLCBKU0RPTUdsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBSZWY8V2Vi
R1BVUmVuZGVyUGFzc0F0dGFjaG1lbnREZXNjcmlwdG9yPiYmIG9iamVjdCkKLXsKLSAgICBpZiAo
b2JqZWN0LT5pc0NvbG9yQXR0YWNobWVudERlc2NyaXB0b3IoKSkKLSAgICAgICAgcmV0dXJuIGNy
ZWF0ZVdyYXBwZXI8V2ViR1BVUmVuZGVyUGFzc0NvbG9yQXR0YWNobWVudERlc2NyaXB0b3I+KGds
b2JhbE9iamVjdCwgV1RGTW92ZShvYmplY3QpKTsKLSAgICByZXR1cm4gY3JlYXRlV3JhcHBlcjxX
ZWJHUFVSZW5kZXJQYXNzRGVwdGhBdHRhY2htZW50RGVzY3JpcHRvcj4oZ2xvYmFsT2JqZWN0LCBX
VEZNb3ZlKG9iamVjdCkpOwotfQotCi1KU1ZhbHVlIHRvSlMoRXhlY1N0YXRlKiBzdGF0ZSwgSlNE
T01HbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgV2ViR1BVUmVuZGVyUGFzc0F0dGFjaG1lbnRE
ZXNjcmlwdG9yJiBvYmplY3QpCi17Ci0gICAgcmV0dXJuIHdyYXAoc3RhdGUsIGdsb2JhbE9iamVj
dCwgb2JqZWN0KTsKLX0KLQotfQotCi0jZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L2JpbmRpbmdzL2pzL0pTV2ViR1BVUmVuZGVyaW5nQ29udGV4dEN1c3RvbS5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9iaW5kaW5ncy9qcy9KU1dlYkdQVVJlbmRlcmluZ0NvbnRleHRDdXN0b20uY3BwCmRl
bGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBhYmRkMzU4ZTEyYTVhNDQ2MWI3NGYxZjg1YWNj
N2Y4MjZmYzdkZmU2Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0t
LSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTV2ViR1BVUmVuZGVyaW5nQ29udGV4dEN1
c3RvbS5jcHAKKysrIC9kZXYvbnVsbApAQCAtMSw0MiArMCwwIEBACi0vKgotICogQ29weXJpZ2h0
IChDKSAyMDE3IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLSAqCi0gKiBSZWRpc3Ry
aWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhv
dXQKLSAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xs
b3dpbmcgY29uZGl0aW9ucwotICogYXJlIG1ldDoKLSAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBz
b3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2Us
IHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCi0g
KiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFi
b3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQg
dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQotICogICAgZG9jdW1lbnRhdGlvbiBhbmQv
b3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KLSAqCi0g
KiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gYGBBUyBJUycnIEFORCBB
TlkKLSAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1Qg
TElNSVRFRCBUTywgVEhFCi0gKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZ
IEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKLSAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQu
ICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SCi0gKiBDT05UUklCVVRPUlMgQkUgTElB
QkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKLSAqIEVY
RU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElN
SVRFRCBUTywKLSAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7
IExPU1MgT0YgVVNFLCBEQVRBLCBPUgotICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBU
SU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQotICogT0YgTElBQklMSVRZLCBX
SEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCi0gKiAoSU5DTFVE
SU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRI
RSBVU0UKLSAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lC
SUxJVFkgT0YgU1VDSCBEQU1BR0UuCi0gKi8KLQotI2luY2x1ZGUgImNvbmZpZy5oIgotI2luY2x1
ZGUgIkpTV2ViR1BVUmVuZGVyaW5nQ29udGV4dC5oIgotCi0jaWYgRU5BQkxFKFdFQkdQVSkKLQot
Ci1uYW1lc3BhY2UgV2ViQ29yZSB7Ci11c2luZyBuYW1lc3BhY2UgSlNDOwotCi12b2lkIEpTV2Vi
R1BVUmVuZGVyaW5nQ29udGV4dDo6dmlzaXRBZGRpdGlvbmFsQ2hpbGRyZW4oU2xvdFZpc2l0b3Im
IHZpc2l0b3IpCi17Ci0gICAgdmlzaXRvci5hZGRPcGFxdWVSb290KCZ3cmFwcGVkKCkpOwotfQot
Ci19IC8vIG5hbWVzcGFjZSBXZWJDb3JlCi0KLSNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvYmluZGluZ3MvanMvSlNXZWJNZXRhbFJlbmRlclBhc3NBdHRhY2htZW50RGVzY3JpcHRv
ckN1c3RvbS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU1dlYk1ldGFsUmVuZGVy
UGFzc0F0dGFjaG1lbnREZXNjcmlwdG9yQ3VzdG9tLmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi45MjIzOTliODIz
YTQ5N2U1ZjIyYmUzMDQzNTFiOTUxZmIzNDBiYWYxCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNl
L1dlYkNvcmUvYmluZGluZ3MvanMvSlNXZWJNZXRhbFJlbmRlclBhc3NBdHRhY2htZW50RGVzY3Jp
cHRvckN1c3RvbS5jcHAKQEAgLTAsMCArMSw1MyBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAx
NyBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24g
YW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBt
b2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNv
bmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNv
ZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxp
c3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVk
aXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5
cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xs
b3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVy
IG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBT
T0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCisgKiBF
WFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQg
VE8sIFRIRQorICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklU
TkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8g
RVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUgorICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1Ig
QU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCisgKiBFWEVNUExBUlks
IE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8s
CisgKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9G
IFVTRSwgREFUQSwgT1IKKyAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9X
RVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKKyAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJ
TiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdM
SUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisg
KiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9G
IFNVQ0ggREFNQUdFLgorICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJKU1dl
Yk1ldGFsUmVuZGVyUGFzc0F0dGFjaG1lbnREZXNjcmlwdG9yLmgiCisKKyNpZiBFTkFCTEUoV0VC
TUVUQUwpCisKKyNpbmNsdWRlICJKU0RPTUJpbmRpbmcuaCIKKyNpbmNsdWRlICJKU1dlYk1ldGFs
UmVuZGVyUGFzc0NvbG9yQXR0YWNobWVudERlc2NyaXB0b3IuaCIKKyNpbmNsdWRlICJKU1dlYk1l
dGFsUmVuZGVyUGFzc0RlcHRoQXR0YWNobWVudERlc2NyaXB0b3IuaCIKKyNpbmNsdWRlICJXZWJN
ZXRhbFJlbmRlclBhc3NDb2xvckF0dGFjaG1lbnREZXNjcmlwdG9yLmgiCisjaW5jbHVkZSAiV2Vi
TWV0YWxSZW5kZXJQYXNzRGVwdGhBdHRhY2htZW50RGVzY3JpcHRvci5oIgorCituYW1lc3BhY2Ug
V2ViQ29yZSB7CisKK0pTQzo6SlNWYWx1ZSB0b0pTTmV3bHlDcmVhdGVkKEpTQzo6RXhlY1N0YXRl
KiwgSlNET01HbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgUmVmPFdlYk1ldGFsUmVuZGVyUGFz
c0F0dGFjaG1lbnREZXNjcmlwdG9yPiYmIG9iamVjdCkKK3sKKyAgICBpZiAob2JqZWN0LT5pc0Nv
bG9yQXR0YWNobWVudERlc2NyaXB0b3IoKSkKKyAgICAgICAgcmV0dXJuIGNyZWF0ZVdyYXBwZXI8
V2ViTWV0YWxSZW5kZXJQYXNzQ29sb3JBdHRhY2htZW50RGVzY3JpcHRvcj4oZ2xvYmFsT2JqZWN0
LCBXVEZNb3ZlKG9iamVjdCkpOworICAgIHJldHVybiBjcmVhdGVXcmFwcGVyPFdlYk1ldGFsUmVu
ZGVyUGFzc0RlcHRoQXR0YWNobWVudERlc2NyaXB0b3I+KGdsb2JhbE9iamVjdCwgV1RGTW92ZShv
YmplY3QpKTsKK30KKworSlNWYWx1ZSB0b0pTKEV4ZWNTdGF0ZSogc3RhdGUsIEpTRE9NR2xvYmFs
T2JqZWN0KiBnbG9iYWxPYmplY3QsIFdlYk1ldGFsUmVuZGVyUGFzc0F0dGFjaG1lbnREZXNjcmlw
dG9yJiBvYmplY3QpCit7CisgICAgcmV0dXJuIHdyYXAoc3RhdGUsIGdsb2JhbE9iamVjdCwgb2Jq
ZWN0KTsKK30KKworfQorCisjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRp
bmdzL2pzL0pTV2ViTWV0YWxSZW5kZXJpbmdDb250ZXh0Q3VzdG9tLmNwcCBiL1NvdXJjZS9XZWJD
b3JlL2JpbmRpbmdzL2pzL0pTV2ViTWV0YWxSZW5kZXJpbmdDb250ZXh0Q3VzdG9tLmNwcApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi5hNjM0YzI4ZjJmNWZkYWZmOWQ5ZmRiZDAwNDNhNjdjZGFiNTZlZDFiCi0tLSAvZGV2
L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNXZWJNZXRhbFJlbmRlcmlu
Z0NvbnRleHRDdXN0b20uY3BwCkBAIC0wLDAgKzEsNDIgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMp
IDIwMTcgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0
aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAor
ICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2lu
ZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJj
ZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhp
cyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIu
IFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUg
Y29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUg
Zm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBv
dGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRI
SVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBgYEFTIElTJycgQU5EIEFOWQor
ICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1J
VEVEIFRPLCBUSEUKKyAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5E
IEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElO
IE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IKKyAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUg
Rk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAorICogRVhFTVBM
QVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVE
IFRPLAorICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9T
UyBPRiBVU0UsIERBVEEsIE9SCisgKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04p
IEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCisgKiBPRiBMSUFCSUxJVFksIFdIRVRI
RVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcg
TkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVT
RQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElU
WSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgiCisjaW5jbHVkZSAi
SlNXZWJNZXRhbFJlbmRlcmluZ0NvbnRleHQuaCIKKworI2lmIEVOQUJMRShXRUJNRVRBTCkKKwor
CituYW1lc3BhY2UgV2ViQ29yZSB7Cit1c2luZyBuYW1lc3BhY2UgSlNDOworCit2b2lkIEpTV2Vi
TWV0YWxSZW5kZXJpbmdDb250ZXh0Ojp2aXNpdEFkZGl0aW9uYWxDaGlsZHJlbihTbG90VmlzaXRv
ciYgdmlzaXRvcikKK3sKKyAgICB2aXNpdG9yLmFkZE9wYXF1ZVJvb3QoJndyYXBwZWQoKSk7Cit9
CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKworI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9iaW5kaW5ncy9qcy9XZWJDb3JlQnVpbHRpbk5hbWVzLmggYi9Tb3VyY2UvV2ViQ29y
ZS9iaW5kaW5ncy9qcy9XZWJDb3JlQnVpbHRpbk5hbWVzLmgKaW5kZXggYzg1MjQxNDY1ZTczMzlh
NDFkMDAwNzExZGU1NGZhMzBmNDU4YjgyZi4uOTI5ZDNhYTYxMTFkNTNkMTQ4NjExMWZlYmUyNjQ0
YWM2NzljYzFkNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvV2ViQ29y
ZUJ1aWx0aW5OYW1lcy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL1dlYkNvcmVC
dWlsdGluTmFtZXMuaApAQCAtMTY0LDI4ICsxNjQsMjggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewog
ICAgIG1hY3JvKFZpc3VhbFZpZXdwb3J0KSBcCiAgICAgbWFjcm8oV2ViR0wyUmVuZGVyaW5nQ29u
dGV4dCkgXAogICAgIG1hY3JvKFdlYkdMVmVydGV4QXJyYXlPYmplY3QpIFwKLSAgICBtYWNybyhX
ZWJHUFVCdWZmZXIpIFwKLSAgICBtYWNybyhXZWJHUFVDb21tYW5kQnVmZmVyKSBcCi0gICAgbWFj
cm8oV2ViR1BVQ29tbWFuZFF1ZXVlKSBcCi0gICAgbWFjcm8oV2ViR1BVQ29tcHV0ZUNvbW1hbmRF
bmNvZGVyKSBcCi0gICAgbWFjcm8oV2ViR1BVQ29tcHV0ZVBpcGVsaW5lU3RhdGUpIFwKLSAgICBt
YWNybyhXZWJHUFVEZXB0aFN0ZW5jaWxEZXNjcmlwdG9yKSBcCi0gICAgbWFjcm8oV2ViR1BVRGVw
dGhTdGVuY2lsU3RhdGUpIFwKLSAgICBtYWNybyhXZWJHUFVEcmF3YWJsZSkgXAotICAgIG1hY3Jv
KFdlYkdQVUZ1bmN0aW9uKSBcCi0gICAgbWFjcm8oV2ViR1BVTGlicmFyeSkgXAotICAgIG1hY3Jv
KFdlYkdQVVJlbmRlckNvbW1hbmRFbmNvZGVyKSBcCi0gICAgbWFjcm8oV2ViR1BVUmVuZGVyUGFz
c0F0dGFjaG1lbnREZXNjcmlwdG9yKSBcCi0gICAgbWFjcm8oV2ViR1BVUmVuZGVyUGFzc0NvbG9y
QXR0YWNobWVudERlc2NyaXB0b3IpIFwKLSAgICBtYWNybyhXZWJHUFVSZW5kZXJQYXNzRGVwdGhB
dHRhY2htZW50RGVzY3JpcHRvcikgXAotICAgIG1hY3JvKFdlYkdQVVJlbmRlclBhc3NEZXNjcmlw
dG9yKSBcCi0gICAgbWFjcm8oV2ViR1BVUmVuZGVyUGlwZWxpbmVDb2xvckF0dGFjaG1lbnREZXNj
cmlwdG9yKSBcCi0gICAgbWFjcm8oV2ViR1BVUmVuZGVyUGlwZWxpbmVEZXNjcmlwdG9yKSBcCi0g
ICAgbWFjcm8oV2ViR1BVUmVuZGVyUGlwZWxpbmVTdGF0ZSkgXAotICAgIG1hY3JvKFdlYkdQVVJl
bmRlcmluZ0NvbnRleHQpIFwKLSAgICBtYWNybyhXZWJHUFVTaXplKSBcCi0gICAgbWFjcm8oV2Vi
R1BVVGV4dHVyZSkgXAotICAgIG1hY3JvKFdlYkdQVVRleHR1cmVEZXNjcmlwdG9yKSBcCisgICAg
bWFjcm8oV2ViTWV0YWxCdWZmZXIpIFwKKyAgICBtYWNybyhXZWJNZXRhbENvbW1hbmRCdWZmZXIp
IFwKKyAgICBtYWNybyhXZWJNZXRhbENvbW1hbmRRdWV1ZSkgXAorICAgIG1hY3JvKFdlYk1ldGFs
Q29tcHV0ZUNvbW1hbmRFbmNvZGVyKSBcCisgICAgbWFjcm8oV2ViTWV0YWxDb21wdXRlUGlwZWxp
bmVTdGF0ZSkgXAorICAgIG1hY3JvKFdlYk1ldGFsRGVwdGhTdGVuY2lsRGVzY3JpcHRvcikgXAor
ICAgIG1hY3JvKFdlYk1ldGFsRGVwdGhTdGVuY2lsU3RhdGUpIFwKKyAgICBtYWNybyhXZWJNZXRh
bERyYXdhYmxlKSBcCisgICAgbWFjcm8oV2ViTWV0YWxGdW5jdGlvbikgXAorICAgIG1hY3JvKFdl
Yk1ldGFsTGlicmFyeSkgXAorICAgIG1hY3JvKFdlYk1ldGFsUmVuZGVyQ29tbWFuZEVuY29kZXIp
IFwKKyAgICBtYWNybyhXZWJNZXRhbFJlbmRlclBhc3NBdHRhY2htZW50RGVzY3JpcHRvcikgXAor
ICAgIG1hY3JvKFdlYk1ldGFsUmVuZGVyUGFzc0NvbG9yQXR0YWNobWVudERlc2NyaXB0b3IpIFwK
KyAgICBtYWNybyhXZWJNZXRhbFJlbmRlclBhc3NEZXB0aEF0dGFjaG1lbnREZXNjcmlwdG9yKSBc
CisgICAgbWFjcm8oV2ViTWV0YWxSZW5kZXJQYXNzRGVzY3JpcHRvcikgXAorICAgIG1hY3JvKFdl
Yk1ldGFsUmVuZGVyUGlwZWxpbmVDb2xvckF0dGFjaG1lbnREZXNjcmlwdG9yKSBcCisgICAgbWFj
cm8oV2ViTWV0YWxSZW5kZXJQaXBlbGluZURlc2NyaXB0b3IpIFwKKyAgICBtYWNybyhXZWJNZXRh
bFJlbmRlclBpcGVsaW5lU3RhdGUpIFwKKyAgICBtYWNybyhXZWJNZXRhbFJlbmRlcmluZ0NvbnRl
eHQpIFwKKyAgICBtYWNybyhXZWJNZXRhbFNpemUpIFwKKyAgICBtYWNybyhXZWJNZXRhbFRleHR1
cmUpIFwKKyAgICBtYWNybyhXZWJNZXRhbFRleHR1cmVEZXNjcmlwdG9yKSBcCiAgICAgbWFjcm8o
V2ViS2l0TWVkaWFLZXlFcnJvcikgXAogICAgIG1hY3JvKFdlYktpdE1lZGlhS2V5TWVzc2FnZUV2
ZW50KSBcCiAgICAgbWFjcm8oV2ViS2l0TWVkaWFLZXlOZWVkZWRFdmVudCkgXApkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9E
b2N1bWVudC5jcHAKaW5kZXggNzUyYzg1MGMzZWI5ZjY1Y2MwMWYxY2IwNGQwMDUyZGEwYTYzYjQx
ZS4uZWEyODVlMjM2YTRlYzQ3MWNhYjJhZDU3YzgwODg0OThkODBlMDRiZiAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20v
RG9jdW1lbnQuY3BwCkBAIC0zMDksOCArMzA5LDggQEAKICNpZiBFTkFCTEUoV0VCR0wyKQogI2lu
Y2x1ZGUgIldlYkdMMlJlbmRlcmluZ0NvbnRleHQuaCIKICNlbmRpZgotI2lmIEVOQUJMRShXRUJH
UFUpCi0jaW5jbHVkZSAiV2ViR1BVUmVuZGVyaW5nQ29udGV4dC5oIgorI2lmIEVOQUJMRShXRUJN
RVRBTCkKKyNpbmNsdWRlICJXZWJNZXRhbFJlbmRlcmluZ0NvbnRleHQuaCIKICNlbmRpZgogCiAK
QEAgLTU4MjksOSArNTgyOSw5IEBAIHN0ZDo6b3B0aW9uYWw8UmVuZGVyaW5nQ29udGV4dD4gRG9j
dW1lbnQ6OmdldENTU0NhbnZhc0NvbnRleHQoY29uc3QgU3RyaW5nJiB0eXBlCiAgICAgaWYgKGlz
PFdlYkdMMlJlbmRlcmluZ0NvbnRleHQ+KCpjb250ZXh0KSkKICAgICAgICAgcmV0dXJuIFJlbmRl
cmluZ0NvbnRleHQgeyBSZWZQdHI8V2ViR0wyUmVuZGVyaW5nQ29udGV4dD4geyAmZG93bmNhc3Q8
V2ViR0wyUmVuZGVyaW5nQ29udGV4dD4oKmNvbnRleHQpIH0gfTsKICNlbmRpZgotI2lmIEVOQUJM
RShXRUJHUFUpCi0gICAgaWYgKGlzPFdlYkdQVVJlbmRlcmluZ0NvbnRleHQ+KCpjb250ZXh0KSkK
LSAgICAgICAgcmV0dXJuIFJlbmRlcmluZ0NvbnRleHQgeyBSZWZQdHI8V2ViR1BVUmVuZGVyaW5n
Q29udGV4dD4geyAmZG93bmNhc3Q8V2ViR1BVUmVuZGVyaW5nQ29udGV4dD4oKmNvbnRleHQpIH0g
fTsKKyNpZiBFTkFCTEUoV0VCTUVUQUwpCisgICAgaWYgKGlzPFdlYk1ldGFsUmVuZGVyaW5nQ29u
dGV4dD4oKmNvbnRleHQpKQorICAgICAgICByZXR1cm4gUmVuZGVyaW5nQ29udGV4dCB7IFJlZlB0
cjxXZWJNZXRhbFJlbmRlcmluZ0NvbnRleHQ+IHsgJmRvd25jYXN0PFdlYk1ldGFsUmVuZGVyaW5n
Q29udGV4dD4oKmNvbnRleHQpIH0gfTsKICNlbmRpZgogCiAgICAgcmV0dXJuIFJlbmRlcmluZ0Nv
bnRleHQgeyBSZWZQdHI8Q2FudmFzUmVuZGVyaW5nQ29udGV4dDJEPiB7ICZkb3duY2FzdDxDYW52
YXNSZW5kZXJpbmdDb250ZXh0MkQ+KCpjb250ZXh0KSB9IH07CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9kb20vRG9jdW1lbnQuaCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5oCmlu
ZGV4IGM2YjE1ZDc3N2NhYzJkYzE3NjQyN2MzMjQ3NGQxMjY1NGM1OWNjN2EuLmUyY2Y2MGMyZTNl
ZWE4ZDcxNzc1Y2RlYjcxNWViZDM4NjE2OTg3NGYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L2RvbS9Eb2N1bWVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5oCkBAIC0x
OTAsNyArMTkwLDcgQEAgY2xhc3MgVmlzaXRlZExpbmtTdGF0ZTsKIGNsYXNzIFdlYkFuaW1hdGlv
bjsKIGNsYXNzIFdlYkdMMlJlbmRlcmluZ0NvbnRleHQ7CiBjbGFzcyBXZWJHTFJlbmRlcmluZ0Nv
bnRleHQ7Ci1jbGFzcyBXZWJHUFVSZW5kZXJpbmdDb250ZXh0OworY2xhc3MgV2ViTWV0YWxSZW5k
ZXJpbmdDb250ZXh0OwogY2xhc3MgV2luZG93UHJveHk7CiBjbGFzcyBYUGF0aEV2YWx1YXRvcjsK
IGNsYXNzIFhQYXRoRXhwcmVzc2lvbjsKQEAgLTMxNyw4ICszMTcsOCBAQCB1c2luZyBSZW5kZXJp
bmdDb250ZXh0ID0gVmFyaWFudDwKICNpZiBFTkFCTEUoV0VCR0wyKQogICAgIFJlZlB0cjxXZWJH
TDJSZW5kZXJpbmdDb250ZXh0PiwKICNlbmRpZgotI2lmIEVOQUJMRShXRUJHUFUpCi0gICAgUmVm
UHRyPFdlYkdQVVJlbmRlcmluZ0NvbnRleHQ+LAorI2lmIEVOQUJMRShXRUJNRVRBTCkKKyAgICBS
ZWZQdHI8V2ViTWV0YWxSZW5kZXJpbmdDb250ZXh0PiwKICNlbmRpZgogICAgIFJlZlB0cjxJbWFn
ZUJpdG1hcFJlbmRlcmluZ0NvbnRleHQ+LAogICAgIFJlZlB0cjxDYW52YXNSZW5kZXJpbmdDb250
ZXh0MkQ+CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuaWRsIGIvU291
cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmlkbAppbmRleCA0MjZhMjk0NTg0NGQ3MDRiNzg5N2Zm
YTc3NTAzOTAwY2ZhMTI1ZmQyLi4xYTg4NjE5NmMyNWUxNzdlN2NmOTZjZmMzZGQ2NjBiZDA3ZGUy
YjhkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuaWRsCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5pZGwKQEAgLTI1LDggKzI1LDggQEAgdHlwZWRlZiAo
CiAjaWYgZGVmaW5lZChFTkFCTEVfV0VCR0wyKSAmJiBFTkFCTEVfV0VCR0wyCiAgICAgV2ViR0wy
UmVuZGVyaW5nQ29udGV4dCBvcgogI2VuZGlmCi0jaWYgZGVmaW5lZChFTkFCTEVfV0VCR1BVKSAm
JiBFTkFCTEVfV0VCR1BVCi0gICAgV2ViR1BVUmVuZGVyaW5nQ29udGV4dCBvcgorI2lmIGRlZmlu
ZWQoRU5BQkxFX1dFQk1FVEFMKSAmJiBFTkFCTEVfV0VCTUVUQUwKKyAgICBXZWJNZXRhbFJlbmRl
cmluZ0NvbnRleHQgb3IKICNlbmRpZgogICAgIEltYWdlQml0bWFwUmVuZGVyaW5nQ29udGV4dCBv
ciAKICAgICBDYW52YXNSZW5kZXJpbmdDb250ZXh0MkQpIFJlbmRlcmluZ0NvbnRleHQ7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxDYW52YXNFbGVtZW50LmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL2h0bWwvSFRNTENhbnZhc0VsZW1lbnQuY3BwCmluZGV4IDhmNzBlOTc4OWRlNDI5
OThlZjEwMGY1YmQ1ZjA2MDQxNDg4OWZhMjkuLmIxZGY5ZDdiOTY4Zjg2NjA4OTk3MDhmZjRlYzVi
NWE3Yjg4ZjUxMzAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTENhbnZhc0Vs
ZW1lbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTENhbnZhc0VsZW1lbnQuY3Bw
CkBAIC03NSw4ICs3NSw4IEBACiAjaW5jbHVkZSAiV2ViR0wyUmVuZGVyaW5nQ29udGV4dC5oIgog
I2VuZGlmCiAKLSNpZiBFTkFCTEUoV0VCR1BVKQotI2luY2x1ZGUgIldlYkdQVVJlbmRlcmluZ0Nv
bnRleHQuaCIKKyNpZiBFTkFCTEUoV0VCTUVUQUwpCisjaW5jbHVkZSAiV2ViTWV0YWxSZW5kZXJp
bmdDb250ZXh0LmgiCiAjZW5kaWYKIAogI2lmIFBMQVRGT1JNKENPQ09BKQpAQCAtMjM4LDExICsy
MzgsMTEgQEAgRXhjZXB0aW9uT3I8c3RkOjpvcHRpb25hbDxSZW5kZXJpbmdDb250ZXh0Pj4gSFRN
TENhbnZhc0VsZW1lbnQ6OmdldENvbnRleHQoSlNDOjoKICAgICAgICAgfQogI2VuZGlmCiAKLSNp
ZiBFTkFCTEUoV0VCR1BVKQotICAgICAgICBpZiAobV9jb250ZXh0LT5pc1dlYkdQVSgpKSB7Ci0g
ICAgICAgICAgICBpZiAoIWlzV2ViR1BVVHlwZShjb250ZXh0SWQpKQorI2lmIEVOQUJMRShXRUJN
RVRBTCkKKyAgICAgICAgaWYgKG1fY29udGV4dC0+aXNXZWJNZXRhbCgpKSB7CisgICAgICAgICAg
ICBpZiAoIWlzV2ViTWV0YWxUeXBlKGNvbnRleHRJZCkpCiAgICAgICAgICAgICAgICAgcmV0dXJu
IHN0ZDo6b3B0aW9uYWw8UmVuZGVyaW5nQ29udGV4dD4geyBzdGQ6Om51bGxvcHQgfTsKLSAgICAg
ICAgICAgIHJldHVybiBzdGQ6Om9wdGlvbmFsPFJlbmRlcmluZ0NvbnRleHQ+IHsgUmVmUHRyPFdl
YkdQVVJlbmRlcmluZ0NvbnRleHQ+IHsgJmRvd25jYXN0PFdlYkdQVVJlbmRlcmluZ0NvbnRleHQ+
KCptX2NvbnRleHQpIH0gfTsKKyAgICAgICAgICAgIHJldHVybiBzdGQ6Om9wdGlvbmFsPFJlbmRl
cmluZ0NvbnRleHQ+IHsgUmVmUHRyPFdlYk1ldGFsUmVuZGVyaW5nQ29udGV4dD4geyAmZG93bmNh
c3Q8V2ViTWV0YWxSZW5kZXJpbmdDb250ZXh0PigqbV9jb250ZXh0KSB9IH07CiAgICAgICAgIH0K
ICNlbmRpZgogCkBAIC0yODcsMTIgKzI4NywxMiBAQCBFeGNlcHRpb25PcjxzdGQ6Om9wdGlvbmFs
PFJlbmRlcmluZ0NvbnRleHQ+PiBIVE1MQ2FudmFzRWxlbWVudDo6Z2V0Q29udGV4dChKU0M6Ogog
ICAgIH0KICNlbmRpZgogCi0jaWYgRU5BQkxFKFdFQkdQVSkKLSAgICBpZiAoaXNXZWJHUFVUeXBl
KGNvbnRleHRJZCkpIHsKLSAgICAgICAgYXV0byBjb250ZXh0ID0gY3JlYXRlQ29udGV4dFdlYkdQ
VShjb250ZXh0SWQpOworI2lmIEVOQUJMRShXRUJNRVRBTCkKKyAgICBpZiAoaXNXZWJNZXRhbFR5
cGUoY29udGV4dElkKSkgeworICAgICAgICBhdXRvIGNvbnRleHQgPSBjcmVhdGVDb250ZXh0V2Vi
TWV0YWwoY29udGV4dElkKTsKICAgICAgICAgaWYgKCFjb250ZXh0KQogICAgICAgICAgICAgcmV0
dXJuIHN0ZDo6b3B0aW9uYWw8UmVuZGVyaW5nQ29udGV4dD4geyBzdGQ6Om51bGxvcHQgfTsKLSAg
ICAgICAgcmV0dXJuIHN0ZDo6b3B0aW9uYWw8UmVuZGVyaW5nQ29udGV4dD4geyBSZWZQdHI8V2Vi
R1BVUmVuZGVyaW5nQ29udGV4dD4geyBjb250ZXh0IH0gfTsKKyAgICAgICAgcmV0dXJuIHN0ZDo6
b3B0aW9uYWw8UmVuZGVyaW5nQ29udGV4dD4geyBSZWZQdHI8V2ViTWV0YWxSZW5kZXJpbmdDb250
ZXh0PiB7IGNvbnRleHQgfSB9OwogICAgIH0KICNlbmRpZgogCkBAIC0zMDcsOSArMzA3LDkgQEAg
Q2FudmFzUmVuZGVyaW5nQ29udGV4dCogSFRNTENhbnZhc0VsZW1lbnQ6OmdldENvbnRleHQoY29u
c3QgU3RyaW5nJiB0eXBlKQogICAgIGlmIChIVE1MQ2FudmFzRWxlbWVudDo6aXNCaXRtYXBSZW5k
ZXJlclR5cGUodHlwZSkpCiAgICAgICAgIHJldHVybiBnZXRDb250ZXh0Qml0bWFwUmVuZGVyZXIo
dHlwZSk7CiAKLSNpZiBFTkFCTEUoV0VCR1BVKQotICAgIGlmIChIVE1MQ2FudmFzRWxlbWVudDo6
aXNXZWJHUFVUeXBlKHR5cGUpICYmIFJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6OnNoYXJlZEZlYXR1
cmVzKCkud2ViR1BVRW5hYmxlZCgpKQotICAgICAgICByZXR1cm4gZ2V0Q29udGV4dFdlYkdQVSh0
eXBlKTsKKyNpZiBFTkFCTEUoV0VCTUVUQUwpCisgICAgaWYgKEhUTUxDYW52YXNFbGVtZW50Ojpp
c1dlYk1ldGFsVHlwZSh0eXBlKSAmJiBSdW50aW1lRW5hYmxlZEZlYXR1cmVzOjpzaGFyZWRGZWF0
dXJlcygpLndlYk1ldGFsRW5hYmxlZCgpKQorICAgICAgICByZXR1cm4gZ2V0Q29udGV4dFdlYk1l
dGFsKHR5cGUpOwogI2VuZGlmCiAKICNpZiBFTkFCTEUoV0VCR0wpCkBAIC00MzcsNDMgKzQzNyw0
MyBAQCBXZWJHTFJlbmRlcmluZ0NvbnRleHRCYXNlKiBIVE1MQ2FudmFzRWxlbWVudDo6Z2V0Q29u
dGV4dFdlYkdMKGNvbnN0IFN0cmluZyYgdHlwZQogCiAjZW5kaWYgLy8gRU5BQkxFKFdFQkdMKQog
Ci0jaWYgRU5BQkxFKFdFQkdQVSkKKyNpZiBFTkFCTEUoV0VCTUVUQUwpCiAKLWJvb2wgSFRNTENh
bnZhc0VsZW1lbnQ6OmlzV2ViR1BVVHlwZShjb25zdCBTdHJpbmcmIHR5cGUpCitib29sIEhUTUxD
YW52YXNFbGVtZW50Ojppc1dlYk1ldGFsVHlwZShjb25zdCBTdHJpbmcmIHR5cGUpCiB7Ci0gICAg
cmV0dXJuIHR5cGUgPT0gIndlYmdwdSI7CisgICAgcmV0dXJuIHR5cGUgPT0gIndlYm1ldGFsIjsK
IH0KIAotV2ViR1BVUmVuZGVyaW5nQ29udGV4dCogSFRNTENhbnZhc0VsZW1lbnQ6OmNyZWF0ZUNv
bnRleHRXZWJHUFUoY29uc3QgU3RyaW5nJiB0eXBlKQorV2ViTWV0YWxSZW5kZXJpbmdDb250ZXh0
KiBIVE1MQ2FudmFzRWxlbWVudDo6Y3JlYXRlQ29udGV4dFdlYk1ldGFsKGNvbnN0IFN0cmluZyYg
dHlwZSkKIHsKLSAgICBBU1NFUlRfVU5VU0VEKHR5cGUsIEhUTUxDYW52YXNFbGVtZW50Ojppc1dl
YkdQVVR5cGUodHlwZSkpOworICAgIEFTU0VSVF9VTlVTRUQodHlwZSwgSFRNTENhbnZhc0VsZW1l
bnQ6OmlzV2ViTWV0YWxUeXBlKHR5cGUpKTsKICAgICBBU1NFUlQoIW1fY29udGV4dCk7CiAKLSAg
ICBpZiAoIVJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6OnNoYXJlZEZlYXR1cmVzKCkud2ViR1BVRW5h
YmxlZCgpKQorICAgIGlmICghUnVudGltZUVuYWJsZWRGZWF0dXJlczo6c2hhcmVkRmVhdHVyZXMo
KS53ZWJNZXRhbEVuYWJsZWQoKSkKICAgICAgICAgcmV0dXJuIG51bGxwdHI7CiAKLSAgICBtX2Nv
bnRleHQgPSBXZWJHUFVSZW5kZXJpbmdDb250ZXh0OjpjcmVhdGUoKnRoaXMpOworICAgIG1fY29u
dGV4dCA9IFdlYk1ldGFsUmVuZGVyaW5nQ29udGV4dDo6Y3JlYXRlKCp0aGlzKTsKICAgICBpZiAo
bV9jb250ZXh0KSB7CiAgICAgICAgIC8vIE5lZWQgdG8gbWFrZSBzdXJlIGEgUmVuZGVyTGF5ZXIg
YW5kIGNvbXBvc2l0aW5nIGxheWVyIGdldCBjcmVhdGVkIGZvciB0aGUgQ2FudmFzLgogICAgICAg
ICBpbnZhbGlkYXRlU3R5bGVBbmRMYXllckNvbXBvc2l0aW9uKCk7CiAgICAgfQogCi0gICAgcmV0
dXJuIHN0YXRpY19jYXN0PFdlYkdQVVJlbmRlcmluZ0NvbnRleHQqPihtX2NvbnRleHQuZ2V0KCkp
OworICAgIHJldHVybiBzdGF0aWNfY2FzdDxXZWJNZXRhbFJlbmRlcmluZ0NvbnRleHQqPihtX2Nv
bnRleHQuZ2V0KCkpOwogfQogCi1XZWJHUFVSZW5kZXJpbmdDb250ZXh0KiBIVE1MQ2FudmFzRWxl
bWVudDo6Z2V0Q29udGV4dFdlYkdQVShjb25zdCBTdHJpbmcmIHR5cGUpCitXZWJNZXRhbFJlbmRl
cmluZ0NvbnRleHQqIEhUTUxDYW52YXNFbGVtZW50OjpnZXRDb250ZXh0V2ViTWV0YWwoY29uc3Qg
U3RyaW5nJiB0eXBlKQogewotICAgIEFTU0VSVF9VTlVTRUQodHlwZSwgSFRNTENhbnZhc0VsZW1l
bnQ6OmlzV2ViR1BVVHlwZSh0eXBlKSk7CisgICAgQVNTRVJUX1VOVVNFRCh0eXBlLCBIVE1MQ2Fu
dmFzRWxlbWVudDo6aXNXZWJNZXRhbFR5cGUodHlwZSkpOwogCi0gICAgaWYgKCFSdW50aW1lRW5h
YmxlZEZlYXR1cmVzOjpzaGFyZWRGZWF0dXJlcygpLndlYkdQVUVuYWJsZWQoKSkKKyAgICBpZiAo
IVJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6OnNoYXJlZEZlYXR1cmVzKCkud2ViTWV0YWxFbmFibGVk
KCkpCiAgICAgICAgIHJldHVybiBudWxscHRyOwogCi0gICAgaWYgKG1fY29udGV4dCAmJiAhbV9j
b250ZXh0LT5pc1dlYkdQVSgpKQorICAgIGlmIChtX2NvbnRleHQgJiYgIW1fY29udGV4dC0+aXNX
ZWJNZXRhbCgpKQogICAgICAgICByZXR1cm4gbnVsbHB0cjsKIAogICAgIGlmICghbV9jb250ZXh0
KQotICAgICAgICByZXR1cm4gY3JlYXRlQ29udGV4dFdlYkdQVSh0eXBlKTsKLSAgICByZXR1cm4g
c3RhdGljX2Nhc3Q8V2ViR1BVUmVuZGVyaW5nQ29udGV4dCo+KG1fY29udGV4dC5nZXQoKSk7Cisg
ICAgICAgIHJldHVybiBjcmVhdGVDb250ZXh0V2ViTWV0YWwodHlwZSk7CisgICAgcmV0dXJuIHN0
YXRpY19jYXN0PFdlYk1ldGFsUmVuZGVyaW5nQ29udGV4dCo+KG1fY29udGV4dC5nZXQoKSk7CiB9
CiAjZW5kaWYKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MQ2FudmFzRWxl
bWVudC5oIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MQ2FudmFzRWxlbWVudC5oCmluZGV4IGY4
OGQ2MTEyZGUyOWVlMGUwMWI3NjQ4ZDE3MTM2ZGQ2ODE2NDcwZGUuLjJkZjljMGIzMGY1NjA2ZDhi
ZWU2YzFjODE4Nzc5YzZiMWU0OGU4OGMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwv
SFRNTENhbnZhc0VsZW1lbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxDYW52YXNF
bGVtZW50LmgKQEAgLTUxLDcgKzUxLDcgQEAgY2xhc3MgSW1hZ2VEYXRhOwogY2xhc3MgTWVkaWFT
YW1wbGU7CiBjbGFzcyBNZWRpYVN0cmVhbTsKIGNsYXNzIFdlYkdMUmVuZGVyaW5nQ29udGV4dEJh
c2U7Ci1jbGFzcyBXZWJHUFVSZW5kZXJpbmdDb250ZXh0OworY2xhc3MgV2ViTWV0YWxSZW5kZXJp
bmdDb250ZXh0Owogc3RydWN0IFVuY2FjaGVkU3RyaW5nOwogCiBuYW1lc3BhY2UgRGlzcGxheUxp
c3QgewpAQCAtOTcsMTAgKzk3LDEwIEBAIHB1YmxpYzoKICAgICBXZWJHTFJlbmRlcmluZ0NvbnRl
eHRCYXNlKiBjcmVhdGVDb250ZXh0V2ViR0woY29uc3QgU3RyaW5nJiwgV2ViR0xDb250ZXh0QXR0
cmlidXRlcyYmID0geyB9KTsKICAgICBXZWJHTFJlbmRlcmluZ0NvbnRleHRCYXNlKiBnZXRDb250
ZXh0V2ViR0woY29uc3QgU3RyaW5nJiwgV2ViR0xDb250ZXh0QXR0cmlidXRlcyYmID0geyB9KTsK
ICNlbmRpZgotI2lmIEVOQUJMRShXRUJHUFUpCi0gICAgc3RhdGljIGJvb2wgaXNXZWJHUFVUeXBl
KGNvbnN0IFN0cmluZyYpOwotICAgIFdlYkdQVVJlbmRlcmluZ0NvbnRleHQqIGNyZWF0ZUNvbnRl
eHRXZWJHUFUoY29uc3QgU3RyaW5nJik7Ci0gICAgV2ViR1BVUmVuZGVyaW5nQ29udGV4dCogZ2V0
Q29udGV4dFdlYkdQVShjb25zdCBTdHJpbmcmKTsKKyNpZiBFTkFCTEUoV0VCTUVUQUwpCisgICAg
c3RhdGljIGJvb2wgaXNXZWJNZXRhbFR5cGUoY29uc3QgU3RyaW5nJik7CisgICAgV2ViTWV0YWxS
ZW5kZXJpbmdDb250ZXh0KiBjcmVhdGVDb250ZXh0V2ViTWV0YWwoY29uc3QgU3RyaW5nJik7Cisg
ICAgV2ViTWV0YWxSZW5kZXJpbmdDb250ZXh0KiBnZXRDb250ZXh0V2ViTWV0YWwoY29uc3QgU3Ry
aW5nJik7CiAjZW5kaWYKIAogICAgIHN0YXRpYyBib29sIGlzQml0bWFwUmVuZGVyZXJUeXBlKGNv
bnN0IFN0cmluZyYpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MQ2FudmFz
RWxlbWVudC5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxDYW52YXNFbGVtZW50LmlkbApp
bmRleCA2MTU3ZWExNmY1ZDE4OGYxOGNlZmMxMzdiNWRjMzI2YzJmOTM1NTUzLi5mZjEyM2IyMTRm
YzgyZjBiNDY0NzU1MmU1Njc2MzBhYmEzMjcyYzVhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9odG1sL0hUTUxDYW52YXNFbGVtZW50LmlkbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hU
TUxDYW52YXNFbGVtZW50LmlkbApAQCAtMzEsOCArMzEsOCBAQCB0eXBlZGVmICgKICNpZiBkZWZp
bmVkKEVOQUJMRV9XRUJHTDIpICYmIEVOQUJMRV9XRUJHTDIKICAgICBXZWJHTDJSZW5kZXJpbmdD
b250ZXh0IG9yCiAjZW5kaWYKLSNpZiBkZWZpbmVkKEVOQUJMRV9XRUJHUFUpICYmIEVOQUJMRV9X
RUJHUFUKLSAgICBXZWJHUFVSZW5kZXJpbmdDb250ZXh0IG9yCisjaWYgZGVmaW5lZChFTkFCTEVf
V0VCTUVUQUwpICYmIEVOQUJMRV9XRUJNRVRBTAorICAgIFdlYk1ldGFsUmVuZGVyaW5nQ29udGV4
dCBvcgogI2VuZGlmCiAgICAgSW1hZ2VCaXRtYXBSZW5kZXJpbmdDb250ZXh0IG9yIAogICAgIENh
bnZhc1JlbmRlcmluZ0NvbnRleHQyRCkgUmVuZGVyaW5nQ29udGV4dDsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL0NhbnZhc1JlbmRlcmluZ0NvbnRleHQuaCBiL1NvdXJj
ZS9XZWJDb3JlL2h0bWwvY2FudmFzL0NhbnZhc1JlbmRlcmluZ0NvbnRleHQuaAppbmRleCA4MWNi
NTVkNzdlMzE4MDU2NDQ3MDc3NzdhMWUyOTk1NmY0NDNmNjU4Li4yZDJkODg3NTc5MDE4ZDBmYWZk
YWFkZmFlNmQyMmMxZWIzOTA0MWUyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL2Nh
bnZhcy9DYW52YXNSZW5kZXJpbmdDb250ZXh0LmgKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9j
YW52YXMvQ2FudmFzUmVuZGVyaW5nQ29udGV4dC5oCkBAIC01NSw4ICs1NSw4IEBAIHB1YmxpYzoK
ICAgICB2aXJ0dWFsIGJvb2wgaXNXZWJHTDEoKSBjb25zdCB7IHJldHVybiBmYWxzZTsgfQogICAg
IHZpcnR1YWwgYm9vbCBpc1dlYkdMMigpIGNvbnN0IHsgcmV0dXJuIGZhbHNlOyB9CiAgICAgYm9v
bCBpc1dlYkdMKCkgY29uc3QgeyByZXR1cm4gaXNXZWJHTDEoKSB8fCBpc1dlYkdMMigpOyB9Ci0j
aWYgRU5BQkxFKFdFQkdQVSkKLSAgICB2aXJ0dWFsIGJvb2wgaXNXZWJHUFUoKSBjb25zdCB7IHJl
dHVybiBmYWxzZTsgfQorI2lmIEVOQUJMRShXRUJNRVRBTCkKKyAgICB2aXJ0dWFsIGJvb2wgaXNX
ZWJNZXRhbCgpIGNvbnN0IHsgcmV0dXJuIGZhbHNlOyB9CiAjZW5kaWYKICAgICB2aXJ0dWFsIGJv
b2wgaXNHUFVCYXNlZCgpIGNvbnN0IHsgcmV0dXJuIGZhbHNlOyB9CiAgICAgdmlydHVhbCBib29s
IGlzQWNjZWxlcmF0ZWQoKSBjb25zdCB7IHJldHVybiBmYWxzZTsgfQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR1BVQnVmZmVyLmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L2h0bWwvY2FudmFzL1dlYkdQVUJ1ZmZlci5jcHAKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDk1M2Y0NzQ2OTM4ZGNjYjAyZGYzNmY0YTEyMDEzMThmNDUwZThmMTAuLjAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9j
YW52YXMvV2ViR1BVQnVmZmVyLmNwcAorKysgL2Rldi9udWxsCkBAIC0xLDQ2ICswLDAgQEAKLS8q
Ci0gKiBDb3B5cmlnaHQgKEMpIDIwMTcgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgot
ICoKLSAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMs
IHdpdGggb3Igd2l0aG91dAotICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVk
IHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCi0gKiBhcmUgbWV0OgotICogMS4gUmVkaXN0
cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQK
LSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcg
ZGlzY2xhaW1lci4KLSAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJl
cHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBj
b25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCi0gKiAgICBkb2N1
bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJp
YnV0aW9uLgotICoKLSAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBg
YEFTIElTJycgQU5EIEFOWQotICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xV
RElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKLSAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBN
RVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgotICogUFVSUE9TRSBB
UkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IKLSAqIENPTlRS
SUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBT
UEVDSUFMLAotICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElO
RywgQlVUIE5PVCBMSU1JVEVEIFRPLAotICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09E
UyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCi0gKiBQUk9GSVRTOyBPUiBCVVNJ
TkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCi0gKiBP
RiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRP
UlQKLSAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5Z
IFdBWSBPVVQgT0YgVEhFIFVTRQotICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VE
IE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KLSAqLwotCi0jaW5jbHVkZSAiY29u
ZmlnLmgiCi0jaW5jbHVkZSAiV2ViR1BVQnVmZmVyLmgiCi0KLSNpZiBFTkFCTEUoV0VCR1BVKQot
Ci1uYW1lc3BhY2UgV2ViQ29yZSB7Ci0KLVJlZlB0cjxXZWJHUFVCdWZmZXI+IFdlYkdQVUJ1ZmZl
cjo6Y3JlYXRlKEdQVUJ1ZmZlciYmIGJ1ZmZlcikKLXsKLSAgICAvLyBGSVhNRTogQ29uc2lkZXIg
cmV0dXJuaW5nIG51bGwgcmF0aGVyIHRoYW4gYSBidWZmZXIgd2l0aCBsZW5ndGggMCBhbmQgY29u
dGVudHMgbnVsbCB3aGVuIGNyZWF0aW9uIGZhaWxzLgotICAgIHJldHVybiBhZG9wdFJlZigqbmV3
IFdlYkdQVUJ1ZmZlcihXVEZNb3ZlKGJ1ZmZlcikpKTsKLX0KLQotV2ViR1BVQnVmZmVyOjpXZWJH
UFVCdWZmZXIoR1BVQnVmZmVyJiYgYnVmZmVyKQotICAgIDogbV9idWZmZXIgeyBXVEZNb3ZlKGJ1
ZmZlcikgfQotewotfQotCi19IC8vIG5hbWVzcGFjZSBXZWJDb3JlCi0KLSNlbmRpZgpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR1BVQnVmZmVyLmggYi9Tb3VyY2Uv
V2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHUFVCdWZmZXIuaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMTZjZTRmNmUzZjdmMmIyNjgwZjQ5MmYxMmI1MWUzYTcyMDVmMTY0Yy4uMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9o
dG1sL2NhbnZhcy9XZWJHUFVCdWZmZXIuaAorKysgL2Rldi9udWxsCkBAIC0xLDUzICswLDAgQEAK
LS8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTcgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVk
LgotICoKLSAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9y
bXMsIHdpdGggb3Igd2l0aG91dAotICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3Zp
ZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCi0gKiBhcmUgbWV0OgotICogMS4gUmVk
aXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmln
aHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dp
bmcgZGlzY2xhaW1lci4KLSAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0
IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCi0gKiAgICBk
b2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlz
dHJpYnV0aW9uLgotICoKLSAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5D
LiBgYEFTIElTJycgQU5EIEFOWQotICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElO
Q0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKLSAqIElNUExJRUQgV0FSUkFOVElFUyBP
RiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgotICogUFVSUE9T
RSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IKLSAqIENP
TlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFM
LCBTUEVDSUFMLAotICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xV
RElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAotICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBH
T09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCi0gKiBQUk9GSVRTOyBPUiBC
VVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCi0g
KiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9S
IFRPUlQKLSAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4g
QU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQotICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJ
U0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KLSAqLwotCi0jcHJhZ21hIG9u
Y2UKLQotI2lmIEVOQUJMRShXRUJHUFUpCi0KLSNpbmNsdWRlICJHUFVCdWZmZXIuaCIKLSNpbmNs
dWRlIDx3dGYvUmVmQ291bnRlZC5oPgotI2luY2x1ZGUgPHd0Zi9SZWZQdHIuaD4KLQotbmFtZXNw
YWNlIFdlYkNvcmUgewotCi1jbGFzcyBXZWJHUFVCdWZmZXIgOiBwdWJsaWMgUmVmQ291bnRlZDxX
ZWJHUFVCdWZmZXI+IHsKLXB1YmxpYzoKLSAgICBzdGF0aWMgUmVmUHRyPFdlYkdQVUJ1ZmZlcj4g
Y3JlYXRlKEdQVUJ1ZmZlciYmKTsKLQotICAgIHVuc2lnbmVkIGxlbmd0aCgpIGNvbnN0IHsgcmV0
dXJuIG1fYnVmZmVyLmxlbmd0aCgpOyB9Ci0gICAgSlNDOjpBcnJheUJ1ZmZlciYgY29udGVudHMo
KSBjb25zdCB7IHJldHVybiAqbV9idWZmZXIuY29udGVudHMoKTsgfQotCi0gICAgY29uc3QgR1BV
QnVmZmVyJiBidWZmZXIoKSBjb25zdCB7IHJldHVybiBtX2J1ZmZlcjsgfQotCi1wcml2YXRlOgot
ICAgIGV4cGxpY2l0IFdlYkdQVUJ1ZmZlcihHUFVCdWZmZXImJik7Ci0KLSAgICBHUFVCdWZmZXIg
bV9idWZmZXI7Ci19OwotCi19IC8vIG5hbWVzcGFjZSBXZWJDb3JlCi0KLSNlbmRpZgpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR1BVQnVmZmVyLmlkbCBiL1NvdXJj
ZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdQVUJ1ZmZlci5pZGwKZGVsZXRlZCBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDVmMTA3ZDM1ZDQ0MGMxNGQ4MGJmZmY0MzlmYmUxNWQxN2RiNWNjNTQuLjAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvU291cmNlL1dlYkNv
cmUvaHRtbC9jYW52YXMvV2ViR1BVQnVmZmVyLmlkbAorKysgL2Rldi9udWxsCkBAIC0xLDM1ICsw
LDAgQEAKLS8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTcgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJl
c2VydmVkLgotICoKLSAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5h
cnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAotICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVk
IHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCi0gKiBhcmUgbWV0OgotICog
MS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBj
b3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBm
b2xsb3dpbmcgZGlzY2xhaW1lci4KLSAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9y
bSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCi0g
KiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0
aGUgZGlzdHJpYnV0aW9uLgotICoKLSAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQ
TEUgSU5DLiBgYEFTIElTJycgQU5EIEFOWQotICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJ
RVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKLSAqIElNUExJRUQgV0FSUkFO
VElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgotICog
UFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IK
LSAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJ
REVOVEFMLCBTUEVDSUFMLAotICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMg
KElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAotICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJ
VFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCi0gKiBQUk9GSVRT
OyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhF
T1JZCi0gKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJ
VFksIE9SIFRPUlQKLSAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJ
TkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQotICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJ
RiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KLSAqLwotCi1bCi0g
ICAgQ29uZGl0aW9uYWw9V0VCR1BVLAotICAgIEVuYWJsZWRBdFJ1bnRpbWU9V2ViR1BVLAotICAg
IEltcGxlbWVudGF0aW9uTGFja3NWVGFibGUKLV0gaW50ZXJmYWNlIFdlYkdQVUJ1ZmZlciB7Ci0K
LSAgICByZWFkb25seSBhdHRyaWJ1dGUgdW5zaWduZWQgbG9uZyBsZW5ndGg7Ci0gICAgcmVhZG9u
bHkgYXR0cmlidXRlIEFycmF5QnVmZmVyVmlldyBjb250ZW50czsKLQotfTsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdQVUNvbW1hbmRCdWZmZXIuY3BwIGIvU291
cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR1BVQ29tbWFuZEJ1ZmZlci5jcHAKZGVsZXRlZCBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IGFlNWQzOGI1ODU5ZmFkNmE2YjUyMmM5MDdmMzgyNjZhZDQy
N2RkNjEuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvU291
cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR1BVQ29tbWFuZEJ1ZmZlci5jcHAKKysrIC9kZXYv
bnVsbApAQCAtMSw4NyArMCwwIEBACi0vKgotICogQ29weXJpZ2h0IChDKSAyMDE3IEFwcGxlIElu
Yy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLSAqIENvcHlyaWdodCAoQykgMjAxNyBZdWljaGlybyBL
aWt1cmEgKHkua2lrdXJhQGdtYWlsLmNvbSkKLSAqCi0gKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNl
IGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKLSAqIG1vZGlmaWNh
dGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9u
cwotICogYXJlIG1ldDoKLSAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0
IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBj
b25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCi0gKiAyLiBSZWRpc3RyaWJ1
dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAot
ICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBk
aXNjbGFpbWVyIGluIHRoZQotICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJp
YWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KLSAqCi0gKiBUSElTIFNPRlRXQVJF
IElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gYGBBUyBJUycnIEFORCBBTlkKLSAqIEVYUFJFU1Mg
T1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhF
Ci0gKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZP
UiBBIFBBUlRJQ1VMQVIKLSAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBT
SEFMTCBBUFBMRSBJTkMuIE9SCi0gKiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElS
RUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKLSAqIEVYRU1QTEFSWSwgT1IgQ09O
U0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKLSAqIFBS
T0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBE
QVRBLCBPUgotICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENB
VVNFRCBBTkQgT04gQU5ZIFRIRU9SWQotICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRS
QUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCi0gKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0Ug
T1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKLSAqIE9GIFRI
SVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBE
QU1BR0UuCi0gKi8KLQotI2luY2x1ZGUgImNvbmZpZy5oIgotI2luY2x1ZGUgIldlYkdQVUNvbW1h
bmRCdWZmZXIuaCIKLQotI2lmIEVOQUJMRShXRUJHUFUpCi0KLSNpbmNsdWRlICJHUFVDb21tYW5k
QnVmZmVyLmgiCi0jaW5jbHVkZSAiR1BVQ29tbWFuZFF1ZXVlLmgiCi0jaW5jbHVkZSAiTG9nZ2lu
Zy5oIgotI2luY2x1ZGUgIldlYkdQVUNvbXB1dGVDb21tYW5kRW5jb2Rlci5oIgotI2luY2x1ZGUg
IldlYkdQVURyYXdhYmxlLmgiCi0jaW5jbHVkZSAiV2ViR1BVUmVuZGVyQ29tbWFuZEVuY29kZXIu
aCIKLSNpbmNsdWRlICJXZWJHUFVSZW5kZXJQYXNzRGVzY3JpcHRvci5oIgotCi1uYW1lc3BhY2Ug
V2ViQ29yZSB7Ci0KLVJlZjxXZWJHUFVDb21tYW5kQnVmZmVyPiBXZWJHUFVDb21tYW5kQnVmZmVy
OjpjcmVhdGUoY29uc3QgR1BVQ29tbWFuZFF1ZXVlJiBxdWV1ZSkKLXsKLSAgICByZXR1cm4gYWRv
cHRSZWYoKm5ldyBXZWJHUFVDb21tYW5kQnVmZmVyKHF1ZXVlKSk7Ci19Ci0KLVdlYkdQVUNvbW1h
bmRCdWZmZXI6OldlYkdQVUNvbW1hbmRCdWZmZXIoY29uc3QgR1BVQ29tbWFuZFF1ZXVlJiBxdWV1
ZSkKLSAgICA6IG1fYnVmZmVyIHsgcXVldWUsIFt0aGlzXSAoKSB7IG1fY29tcGxldGVkLnJlc29s
dmUoKTsgfSB9Ci17Ci0gICAgTE9HKFdlYkdQVSwgIldlYkdQVUNvbW1hbmRCdWZmZXI6OldlYkdQ
VUNvbW1hbmRCdWZmZXIoKSIpOwotfQotCi1XZWJHUFVDb21tYW5kQnVmZmVyOjp+V2ViR1BVQ29t
bWFuZEJ1ZmZlcigpCi17Ci0gICAgTE9HKFdlYkdQVSwgIldlYkdQVUNvbW1hbmRCdWZmZXI6On5X
ZWJHUFVDb21tYW5kQnVmZmVyKCkiKTsKLX0KLQotdm9pZCBXZWJHUFVDb21tYW5kQnVmZmVyOjpj
b21taXQoKQotewotICAgIExPRyhXZWJHUFUsICJXZWJHUFVDb21tYW5kQnVmZmVyOjpjb21taXQo
KSIpOwotICAgIG1fYnVmZmVyLmNvbW1pdCgpOwotfQotCi12b2lkIFdlYkdQVUNvbW1hbmRCdWZm
ZXI6OnByZXNlbnREcmF3YWJsZShXZWJHUFVEcmF3YWJsZSYgZHJhd2FibGUpCi17Ci0gICAgTE9H
KFdlYkdQVSwgIldlYkdQVUNvbW1hbmRCdWZmZXI6OnByZXNlbnREcmF3YWJsZSgpIik7Ci0gICAg
bV9idWZmZXIucHJlc2VudERyYXdhYmxlKGRyYXdhYmxlLmRyYXdhYmxlKCkpOwotfQotCi1SZWY8
V2ViR1BVUmVuZGVyQ29tbWFuZEVuY29kZXI+IFdlYkdQVUNvbW1hbmRCdWZmZXI6OmNyZWF0ZVJl
bmRlckNvbW1hbmRFbmNvZGVyV2l0aERlc2NyaXB0b3IoV2ViR1BVUmVuZGVyUGFzc0Rlc2NyaXB0
b3ImIGRlc2NyaXB0b3IpCi17Ci0gICAgcmV0dXJuIFdlYkdQVVJlbmRlckNvbW1hbmRFbmNvZGVy
OjpjcmVhdGUoR1BVUmVuZGVyQ29tbWFuZEVuY29kZXIgeyBtX2J1ZmZlciwgZGVzY3JpcHRvci5k
ZXNjcmlwdG9yKCkgfSk7Ci19Ci0KLVJlZjxXZWJHUFVDb21wdXRlQ29tbWFuZEVuY29kZXI+IFdl
YkdQVUNvbW1hbmRCdWZmZXI6OmNyZWF0ZUNvbXB1dGVDb21tYW5kRW5jb2RlcigpCi17Ci0gICAg
cmV0dXJuIFdlYkdQVUNvbXB1dGVDb21tYW5kRW5jb2Rlcjo6Y3JlYXRlKEdQVUNvbXB1dGVDb21t
YW5kRW5jb2RlciB7IG1fYnVmZmVyIH0pOwotfQotCi1ET01Qcm9taXNlUHJveHk8SURMVm9pZD4m
IFdlYkdQVUNvbW1hbmRCdWZmZXI6OmNvbXBsZXRlZCgpCi17Ci0gICAgcmV0dXJuIG1fY29tcGxl
dGVkOwotfQotCi19IC8vIG5hbWVzcGFjZSBXZWJDb3JlCi0KLSNlbmRpZgpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR1BVQ29tbWFuZEJ1ZmZlci5oIGIvU291cmNl
L1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR1BVQ29tbWFuZEJ1ZmZlci5oCmRlbGV0ZWQgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCBiMjBmNGMwNWNlYTE5NTRkNDE3MTMyZTNmZmU5NTgxOTE5ZDRjZWVk
Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL1NvdXJjZS9X
ZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdQVUNvbW1hbmRCdWZmZXIuaAorKysgL2Rldi9udWxsCkBA
IC0xLDY3ICswLDAgQEAKLS8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTcgQXBwbGUgSW5jLiBBbGwg
cmlnaHRzIHJlc2VydmVkLgotICogQ29weXJpZ2h0IChDKSAyMDE3IFl1aWNoaXJvIEtpa3VyYSAo
eS5raWt1cmFAZ21haWwuY29tKQotICoKLSAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291
cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAotICogbW9kaWZpY2F0aW9uLCBh
cmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCi0gKiBh
cmUgbWV0OgotICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWlu
IHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlv
bnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KLSAqIDIuIFJlZGlzdHJpYnV0aW9ucyBp
biBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBu
b3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWlt
ZXIgaW4gdGhlCi0gKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJv
dmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgotICoKLSAqIFRISVMgU09GVFdBUkUgSVMgUFJP
VklERUQgQlkgQVBQTEUgSU5DLiBgYEFTIElTJycgQU5EIEFOWQotICogRVhQUkVTUyBPUiBJTVBM
SUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKLSAqIElN
UExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFS
VElDVUxBUgotICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQ
UExFIElOQy4gT1IKLSAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElO
RElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAotICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5U
SUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAotICogUFJPQ1VSRU1F
TlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9S
Ci0gKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFO
RCBPTiBBTlkgVEhFT1JZCi0gKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNU
UklDVCBMSUFCSUxJVFksIE9SIFRPUlQKLSAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhF
UldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQotICogT0YgVEhJUyBTT0ZU
V0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4K
LSAqLwotCi0jcHJhZ21hIG9uY2UKLQotI2lmIEVOQUJMRShXRUJHUFUpCi0KLSNpbmNsdWRlICJE
T01Qcm9taXNlUHJveHkuaCIKLSNpbmNsdWRlICJHUFVDb21tYW5kQnVmZmVyLmgiCi0jaW5jbHVk
ZSA8d3RmL1JlZi5oPgotI2luY2x1ZGUgPHd0Zi9SZWZDb3VudGVkLmg+Ci0KLW5hbWVzcGFjZSBX
ZWJDb3JlIHsKLQotY2xhc3MgV2ViR1BVQ29tcHV0ZUNvbW1hbmRFbmNvZGVyOwotY2xhc3MgV2Vi
R1BVRHJhd2FibGU7Ci1jbGFzcyBXZWJHUFVSZW5kZXJDb21tYW5kRW5jb2RlcjsKLWNsYXNzIFdl
YkdQVVJlbmRlclBhc3NEZXNjcmlwdG9yOwotCi1jbGFzcyBXZWJHUFVDb21tYW5kQnVmZmVyIDog
cHVibGljIFJlZkNvdW50ZWQ8V2ViR1BVQ29tbWFuZEJ1ZmZlcj4gewotcHVibGljOgotICAgIH5X
ZWJHUFVDb21tYW5kQnVmZmVyKCk7Ci0gICAgc3RhdGljIFJlZjxXZWJHUFVDb21tYW5kQnVmZmVy
PiBjcmVhdGUoY29uc3QgR1BVQ29tbWFuZFF1ZXVlJik7Ci0KLSAgICB2b2lkIGNvbW1pdCgpOwot
ICAgIHZvaWQgcHJlc2VudERyYXdhYmxlKFdlYkdQVURyYXdhYmxlJik7Ci0KLSAgICBSZWY8V2Vi
R1BVUmVuZGVyQ29tbWFuZEVuY29kZXI+IGNyZWF0ZVJlbmRlckNvbW1hbmRFbmNvZGVyV2l0aERl
c2NyaXB0b3IoV2ViR1BVUmVuZGVyUGFzc0Rlc2NyaXB0b3ImKTsKLSAgICBSZWY8V2ViR1BVQ29t
cHV0ZUNvbW1hbmRFbmNvZGVyPiBjcmVhdGVDb21wdXRlQ29tbWFuZEVuY29kZXIoKTsKLQotICAg
IERPTVByb21pc2VQcm94eTxJRExWb2lkPiYgY29tcGxldGVkKCk7Ci0KLSAgICBjb25zdCBHUFVD
b21tYW5kQnVmZmVyJiBidWZmZXIoKSBjb25zdCB7IHJldHVybiBtX2J1ZmZlcjsgfQotCi1wcml2
YXRlOgotICAgIGV4cGxpY2l0IFdlYkdQVUNvbW1hbmRCdWZmZXIoY29uc3QgR1BVQ29tbWFuZFF1
ZXVlJik7Ci0KLSAgICBHUFVDb21tYW5kQnVmZmVyIG1fYnVmZmVyOwotICAgIERPTVByb21pc2VQ
cm94eTxJRExWb2lkPiBtX2NvbXBsZXRlZDsKLX07Ci0KLX0gLy8gbmFtZXNwYWNlIFdlYkNvcmUK
LQotI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHUFVD
b21tYW5kQnVmZmVyLmlkbCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdQVUNvbW1h
bmRCdWZmZXIuaWRsCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAzNDgyYTU2OTQ1YTA2
NTk1NmNmNzNjNjllYWViNjBmNTcyNThmNjhiLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwCi0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdQVUNvbW1h
bmRCdWZmZXIuaWRsCisrKyAvZGV2L251bGwKQEAgLTEsMzcgKzAsMCBAQAotLyoKLSAqIENvcHly
aWdodCAoQykgMjAxNyBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0gKiBDb3B5cmln
aHQgKEMpIDIwMTcgWXVpY2hpcm8gS2lrdXJhICh5Lmtpa3VyYUBnbWFpbC5jb20pCi0gKgotICog
UmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBv
ciB3aXRob3V0Ci0gKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0
aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKLSAqIGFyZSBtZXQ6Ci0gKiAxLiBSZWRpc3RyaWJ1dGlv
bnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAg
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFp
bWVyLgotICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNl
IHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlv
bnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKLSAqICAgIGRvY3VtZW50YXRp
b24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24u
Ci0gKgotICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIGBgQVMgSVMn
JyBBTkQgQU5ZCi0gKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBC
VVQgTk9UIExJTUlURUQgVE8sIFRIRQotICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5U
QUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCi0gKiBQVVJQT1NFIEFSRSBESVND
TEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUgotICogQ09OVFJJQlVUT1JT
IEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUws
Ci0gKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQg
Tk9UIExJTUlURUQgVE8sCi0gKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNF
UlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKLSAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElO
VEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKLSAqIE9GIExJQUJJ
TElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAotICog
KElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9V
VCBPRiBUSEUgVVNFCi0gKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhF
IFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgotICovCi0KLVsKLSAgICBDb25kaXRpb25hbD1X
RUJHUFUsCi0gICAgRW5hYmxlZEF0UnVudGltZT1XZWJHUFUsCi0gICAgSW1wbGVtZW50YXRpb25M
YWNrc1ZUYWJsZQotXSBpbnRlcmZhY2UgV2ViR1BVQ29tbWFuZEJ1ZmZlciB7Ci0gICAgV2ViR1BV
UmVuZGVyQ29tbWFuZEVuY29kZXIgY3JlYXRlUmVuZGVyQ29tbWFuZEVuY29kZXJXaXRoRGVzY3Jp
cHRvcihXZWJHUFVSZW5kZXJQYXNzRGVzY3JpcHRvciBkZXNjcmlwdG9yKTsKLSAgICBXZWJHUFVD
b21wdXRlQ29tbWFuZEVuY29kZXIgY3JlYXRlQ29tcHV0ZUNvbW1hbmRFbmNvZGVyKCk7Ci0gICAg
dm9pZCBjb21taXQoKTsKLSAgICB2b2lkIHByZXNlbnREcmF3YWJsZShXZWJHUFVEcmF3YWJsZSBk
cmF3YWJsZSk7Ci0gICAgcmVhZG9ubHkgYXR0cmlidXRlIFByb21pc2U8dm9pZD4gY29tcGxldGVk
OwotfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdQVUNvbW1h
bmRRdWV1ZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHUFVDb21tYW5kUXVl
dWUuY3BwCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA4NTA5MGFkNGU2OTNkNmU2ZTYw
YTU4OTM5MmI4MTZmY2I1ZjM4YmJkLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwCi0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdQVUNvbW1hbmRRdWV1
ZS5jcHAKKysrIC9kZXYvbnVsbApAQCAtMSw1NCArMCwwIEBACi0vKgotICogQ29weXJpZ2h0IChD
KSAyMDE3IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLSAqCi0gKiBSZWRpc3RyaWJ1
dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQK
LSAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dp
bmcgY29uZGl0aW9ucwotICogYXJlIG1ldDoKLSAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3Vy
Y2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRo
aXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCi0gKiAy
LiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3Zl
IGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhl
IGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQotICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Ig
b3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KLSAqCi0gKiBU
SElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gYGBBUyBJUycnIEFORCBBTlkK
LSAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElN
SVRFRCBUTywgVEhFCi0gKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFO
RCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKLSAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJ
TiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SCi0gKiBDT05UUklCVVRPUlMgQkUgTElBQkxF
IEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKLSAqIEVYRU1Q
TEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRF
RCBUTywKLSAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExP
U1MgT0YgVVNFLCBEQVRBLCBPUgotICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9O
KSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQotICogT0YgTElBQklMSVRZLCBXSEVU
SEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCi0gKiAoSU5DTFVESU5H
IE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBV
U0UKLSAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJ
VFkgT0YgU1VDSCBEQU1BR0UuCi0gKi8KLQotI2luY2x1ZGUgImNvbmZpZy5oIgotI2luY2x1ZGUg
IldlYkdQVUNvbW1hbmRRdWV1ZS5oIgotCi0jaWYgRU5BQkxFKFdFQkdQVSkKLQotI2luY2x1ZGUg
IldlYkdQVUNvbW1hbmRCdWZmZXIuaCIKLQotbmFtZXNwYWNlIFdlYkNvcmUgewotCi1SZWY8V2Vi
R1BVQ29tbWFuZFF1ZXVlPiBXZWJHUFVDb21tYW5kUXVldWU6OmNyZWF0ZShHUFVDb21tYW5kUXVl
dWUmJiBxdWV1ZSkKLXsKLSAgICByZXR1cm4gYWRvcHRSZWYoKm5ldyBXZWJHUFVDb21tYW5kUXVl
dWUoV1RGTW92ZShxdWV1ZSkpKTsKLX0KLQotV2ViR1BVQ29tbWFuZFF1ZXVlOjpXZWJHUFVDb21t
YW5kUXVldWUoR1BVQ29tbWFuZFF1ZXVlJiYgcXVldWUpCi0gICAgOiBtX3F1ZXVlIHsgV1RGTW92
ZShxdWV1ZSkgfQotewotfQotCi1XZWJHUFVDb21tYW5kUXVldWU6On5XZWJHUFVDb21tYW5kUXVl
dWUoKSA9IGRlZmF1bHQ7Ci0KLVJlZjxXZWJHUFVDb21tYW5kQnVmZmVyPiBXZWJHUFVDb21tYW5k
UXVldWU6OmNyZWF0ZUNvbW1hbmRCdWZmZXIoKQotewotICAgIHJldHVybiBXZWJHUFVDb21tYW5k
QnVmZmVyOjpjcmVhdGUobV9xdWV1ZSk7Ci19Ci0KLX0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKLQot
I2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHUFVDb21t
YW5kUXVldWUuaCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdQVUNvbW1hbmRRdWV1
ZS5oCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBkOWIzZmMxY2ExYzljNjlkOTE4ZmNl
MjJiZDJlODQ1YTY4OGZiZTQxLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwCi0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdQVUNvbW1hbmRRdWV1ZS5o
CisrKyAvZGV2L251bGwKQEAgLTEsNTYgKzAsMCBAQAotLyoKLSAqIENvcHlyaWdodCAoQykgMjAx
NyBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0gKgotICogUmVkaXN0cmlidXRpb24g
YW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Ci0gKiBt
b2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNv
bmRpdGlvbnMKLSAqIGFyZSBtZXQ6Ci0gKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNv
ZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxp
c3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgotICogMi4gUmVk
aXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5
cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xs
b3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKLSAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVy
IG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCi0gKgotICogVEhJUyBT
T0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCi0gKiBF
WFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQg
VE8sIFRIRQotICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklU
TkVTUyBGT1IgQSBQQVJUSUNVTEFSCi0gKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8g
RVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUgotICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1Ig
QU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCi0gKiBFWEVNUExBUlks
IE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8s
Ci0gKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9G
IFVTRSwgREFUQSwgT1IKLSAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9X
RVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKLSAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJ
TiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAotICogKElOQ0xVRElORyBORUdM
SUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCi0g
KiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9G
IFNVQ0ggREFNQUdFLgotICovCi0KLSNwcmFnbWEgb25jZQotCi0jaWYgRU5BQkxFKFdFQkdQVSkK
LQotI2luY2x1ZGUgIkdQVUNvbW1hbmRRdWV1ZS5oIgotI2luY2x1ZGUgPHd0Zi9SZWYuaD4KLSNp
bmNsdWRlIDx3dGYvUmVmQ291bnRlZC5oPgotCi1uYW1lc3BhY2UgV2ViQ29yZSB7Ci0KLWNsYXNz
IFdlYkdQVUNvbW1hbmRCdWZmZXI7Ci0KLWNsYXNzIFdlYkdQVUNvbW1hbmRRdWV1ZSA6IHB1Ymxp
YyBSZWZDb3VudGVkPFdlYkdQVUNvbW1hbmRRdWV1ZT4gewotcHVibGljOgotICAgIH5XZWJHUFVD
b21tYW5kUXVldWUoKTsKLSAgICBzdGF0aWMgUmVmPFdlYkdQVUNvbW1hbmRRdWV1ZT4gY3JlYXRl
KEdQVUNvbW1hbmRRdWV1ZSYmKTsKLQotICAgIFN0cmluZyBsYWJlbCgpIGNvbnN0IHsgcmV0dXJu
IG1fcXVldWUubGFiZWwoKTsgfQotICAgIHZvaWQgc2V0TGFiZWwoY29uc3QgU3RyaW5nJiBsYWJl
bCkgeyBtX3F1ZXVlLnNldExhYmVsKGxhYmVsKTsgfQotCi0gICAgUmVmPFdlYkdQVUNvbW1hbmRC
dWZmZXI+IGNyZWF0ZUNvbW1hbmRCdWZmZXIoKTsKLQotcHJpdmF0ZToKLSAgICBleHBsaWNpdCBX
ZWJHUFVDb21tYW5kUXVldWUoR1BVQ29tbWFuZFF1ZXVlJiYpOwotCi0gICAgR1BVQ29tbWFuZFF1
ZXVlIG1fcXVldWU7Ci19OwotCi19IC8vIG5hbWVzcGFjZSBXZWJDb3JlCi0KLSNlbmRpZgpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR1BVQ29tbWFuZFF1ZXVlLmlk
bCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdQVUNvbW1hbmRRdWV1ZS5pZGwKZGVs
ZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDRiOTY1MDM3NGQxYjJmMmQ3ZmQ1NTM1YmQyZjZm
ZDJlNGY5NjU2MTIuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0t
IGEvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR1BVQ29tbWFuZFF1ZXVlLmlkbAorKysg
L2Rldi9udWxsCkBAIC0xLDM2ICswLDAgQEAKLS8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTcgQXBw
bGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgotICoKLSAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1
c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAotICogbW9kaWZp
Y2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRp
b25zCi0gKiBhcmUgbWV0OgotICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11
c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9m
IGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KLSAqIDIuIFJlZGlzdHJp
YnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0
Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5n
IGRpc2NsYWltZXIgaW4gdGhlCi0gKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRl
cmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgotICoKLSAqIFRISVMgU09GVFdB
UkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBgYEFTIElTJycgQU5EIEFOWQotICogRVhQUkVT
UyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBU
SEUKLSAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1Mg
Rk9SIEEgUEFSVElDVUxBUgotICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5U
IFNIQUxMIEFQUExFIElOQy4gT1IKLSAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBE
SVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAotICogRVhFTVBMQVJZLCBPUiBD
T05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAotICog
UFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0Us
IERBVEEsIE9SCi0gKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIg
Q0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCi0gKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09O
VFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKLSAqIChJTkNMVURJTkcgTkVHTElHRU5D
RSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQotICogT0Yg
VEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNI
IERBTUFHRS4KLSAqLwotCi1bCi0gICAgQ29uZGl0aW9uYWw9V0VCR1BVLAotICAgIEVuYWJsZWRB
dFJ1bnRpbWU9V2ViR1BVLAotICAgIEltcGxlbWVudGF0aW9uTGFja3NWVGFibGUKLV0gaW50ZXJm
YWNlIFdlYkdQVUNvbW1hbmRRdWV1ZSB7Ci0KLSAgICBhdHRyaWJ1dGUgRE9NU3RyaW5nIGxhYmVs
OwotCi0gICAgV2ViR1BVQ29tbWFuZEJ1ZmZlciBjcmVhdGVDb21tYW5kQnVmZmVyKCk7Ci0KLX07
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHUFVDb21wdXRlQ29t
bWFuZEVuY29kZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR1BVQ29tcHV0
ZUNvbW1hbmRFbmNvZGVyLmNwcApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZmI3MmMz
MmMyYjFlODdiYTZhMjU5MzE0MDA3N2Y0OGEwMjUzYjZhMS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJH
UFVDb21wdXRlQ29tbWFuZEVuY29kZXIuY3BwCisrKyAvZGV2L251bGwKQEAgLTEsNzcgKzAsMCBA
QAotLyoKLSAqIENvcHlyaWdodCAoQykgMjAxNyBZdWljaGlybyBLaWt1cmEgKHkua2lrdXJhQGdt
YWlsLmNvbSkKLSAqCi0gKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmlu
YXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKLSAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRl
ZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwotICogYXJlIG1ldDoKLSAq
IDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUg
Y29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUg
Zm9sbG93aW5nIGRpc2NsYWltZXIuCi0gKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZv
cm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlz
IGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQot
ICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGgg
dGhlIGRpc3RyaWJ1dGlvbi4KLSAqCi0gKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQ
UExFIElOQy4gYGBBUyBJUycnIEFORCBBTlkKLSAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5U
SUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCi0gKiBJTVBMSUVEIFdBUlJB
TlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKLSAq
IFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9S
Ci0gKiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5D
SURFTlRBTCwgU1BFQ0lBTCwKLSAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VT
IChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKLSAqIFBST0NVUkVNRU5UIE9GIFNVQlNU
SVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgotICogUFJPRklU
UzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRI
RU9SWQotICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklM
SVRZLCBPUiBUT1JUCi0gKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklT
SU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKLSAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4g
SUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCi0gKi8KLQotI2lu
Y2x1ZGUgImNvbmZpZy5oIgotI2luY2x1ZGUgIldlYkdQVUNvbXB1dGVDb21tYW5kRW5jb2Rlci5o
IgotCi0jaWYgRU5BQkxFKFdFQkdQVSkKLQotI2luY2x1ZGUgIkdQVUNvbW1hbmRCdWZmZXIuaCIK
LSNpbmNsdWRlICJHUFVDb21wdXRlQ29tbWFuZEVuY29kZXIuaCIKLSNpbmNsdWRlICJHUFVTaXpl
LmgiCi0jaW5jbHVkZSAiV2ViR1BVQnVmZmVyLmgiCi0jaW5jbHVkZSAiV2ViR1BVQ29tbWFuZEJ1
ZmZlci5oIgotI2luY2x1ZGUgIldlYkdQVUNvbXB1dGVQaXBlbGluZVN0YXRlLmgiCi0KLW5hbWVz
cGFjZSBXZWJDb3JlIHsKLQotc3RhdGljIGlubGluZSBHUFVTaXplIEdQVVNpemVNYWtlKFdlYkdQ
VVNpemUgc2l6ZSkKLXsKLSAgICByZXR1cm4geyBzaXplLndpZHRoLCBzaXplLmhlaWdodCwgc2l6
ZS5kZXB0aCB9OwotfQotCi1SZWY8V2ViR1BVQ29tcHV0ZUNvbW1hbmRFbmNvZGVyPiBXZWJHUFVD
b21wdXRlQ29tbWFuZEVuY29kZXI6OmNyZWF0ZShHUFVDb21wdXRlQ29tbWFuZEVuY29kZXImJiBl
bmNvZGVyKQotewotICAgIHJldHVybiBhZG9wdFJlZigqbmV3IFdlYkdQVUNvbXB1dGVDb21tYW5k
RW5jb2RlcihXVEZNb3ZlKGVuY29kZXIpKSk7Ci19Ci0gICAgCi1XZWJHUFVDb21wdXRlQ29tbWFu
ZEVuY29kZXI6OldlYkdQVUNvbXB1dGVDb21tYW5kRW5jb2RlcihHUFVDb21wdXRlQ29tbWFuZEVu
Y29kZXImJiBlbmNvZGVyKQotICAgIDogbV9lbmNvZGVyIHsgV1RGTW92ZShlbmNvZGVyKSB9Ci17
Ci19Ci0KLXZvaWQgV2ViR1BVQ29tcHV0ZUNvbW1hbmRFbmNvZGVyOjpzZXRDb21wdXRlUGlwZWxp
bmVTdGF0ZShXZWJHUFVDb21wdXRlUGlwZWxpbmVTdGF0ZSYgcGlwZWxpbmVTdGF0ZSkKLXsKLSAg
ICBtX2VuY29kZXIuc2V0Q29tcHV0ZVBpcGVsaW5lU3RhdGUocGlwZWxpbmVTdGF0ZS5zdGF0ZSgp
KTsKLX0KLQotdm9pZCBXZWJHUFVDb21wdXRlQ29tbWFuZEVuY29kZXI6OnNldEJ1ZmZlcihXZWJH
UFVCdWZmZXImIGJ1ZmZlciwgdW5zaWduZWQgb2Zmc2V0LCB1bnNpZ25lZCBpbmRleCkKLXsKLSAg
ICBtX2VuY29kZXIuc2V0QnVmZmVyKGJ1ZmZlci5idWZmZXIoKSwgb2Zmc2V0LCBpbmRleCk7Ci19
Ci0KLXZvaWQgV2ViR1BVQ29tcHV0ZUNvbW1hbmRFbmNvZGVyOjpkaXNwYXRjaChXZWJHUFVTaXpl
IHRocmVhZGdyb3Vwc1BlckdyaWQsIFdlYkdQVVNpemUgdGhyZWFkc1BlclRocmVhZGdyb3VwKQot
ewotICAgIG1fZW5jb2Rlci5kaXNwYXRjaChHUFVTaXplTWFrZSh0aHJlYWRncm91cHNQZXJHcmlk
KSwgR1BVU2l6ZU1ha2UodGhyZWFkc1BlclRocmVhZGdyb3VwKSk7Ci19Ci0KLXZvaWQgV2ViR1BV
Q29tcHV0ZUNvbW1hbmRFbmNvZGVyOjplbmRFbmNvZGluZygpCi17Ci0gICAgbV9lbmNvZGVyLmVu
ZEVuY29kaW5nKCk7Ci19Ci0KLX0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKLQotI2VuZGlmCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHUFVDb21wdXRlQ29tbWFuZEVu
Y29kZXIuaCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdQVUNvbXB1dGVDb21tYW5k
RW5jb2Rlci5oCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBjODEzNGYyNmEyMmExYWEw
ZGM2MWQyYmJhZTIxZjVkODExMDJmYTMxLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwCi0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdQVUNvbXB1dGVD
b21tYW5kRW5jb2Rlci5oCisrKyAvZGV2L251bGwKQEAgLTEsNTcgKzAsMCBAQAotLyoKLSAqIENv
cHlyaWdodCAoQykgMjAxNyBZdWljaGlybyBLaWt1cmEgKHkua2lrdXJhQGdtYWlsLmNvbSkKLSAq
Ci0gKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3
aXRoIG9yIHdpdGhvdXQKLSAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0
aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwotICogYXJlIG1ldDoKLSAqIDEuIFJlZGlzdHJp
YnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Ci0g
KiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRp
c2NsYWltZXIuCi0gKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXBy
b2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29u
ZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQotICogICAgZG9jdW1l
bnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1
dGlvbi4KLSAqCi0gKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gYGBB
UyBJUycnIEFORCBBTlkKLSAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJ
TkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCi0gKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVS
Q0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKLSAqIFBVUlBPU0UgQVJF
IERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SCi0gKiBDT05UUklC
VVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BF
Q0lBTCwKLSAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcs
IEJVVCBOT1QgTElNSVRFRCBUTywKLSAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMg
T1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgotICogUFJPRklUUzsgT1IgQlVTSU5F
U1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQotICogT0Yg
TElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JU
Ci0gKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBX
QVkgT1VUIE9GIFRIRSBVU0UKLSAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBP
RiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCi0gKi8KLQotI3ByYWdtYSBvbmNlCi0K
LSNpZiBFTkFCTEUoV0VCR1BVKQotCi0jaW5jbHVkZSAiR1BVQ29tcHV0ZUNvbW1hbmRFbmNvZGVy
LmgiCi0jaW5jbHVkZSAiV2ViR1BVU2l6ZS5oIgotI2luY2x1ZGUgPHd0Zi9SZWYuaD4KLSNpbmNs
dWRlIDx3dGYvUmVmQ291bnRlZC5oPgotCi1uYW1lc3BhY2UgV2ViQ29yZSB7Ci0KLWNsYXNzIFdl
YkdQVUJ1ZmZlcjsKLWNsYXNzIFdlYkdQVUNvbXB1dGVQaXBlbGluZVN0YXRlOwotCi1jbGFzcyBX
ZWJHUFVDb21wdXRlQ29tbWFuZEVuY29kZXIgOiBwdWJsaWMgUmVmQ291bnRlZDxXZWJHUFVDb21w
dXRlQ29tbWFuZEVuY29kZXI+IHsKLXB1YmxpYzoKLSAgICBzdGF0aWMgUmVmPFdlYkdQVUNvbXB1
dGVDb21tYW5kRW5jb2Rlcj4gY3JlYXRlKEdQVUNvbXB1dGVDb21tYW5kRW5jb2RlciYmKTsKLQot
ICAgIHZvaWQgc2V0Q29tcHV0ZVBpcGVsaW5lU3RhdGUoV2ViR1BVQ29tcHV0ZVBpcGVsaW5lU3Rh
dGUmKTsKLSAgICB2b2lkIHNldEJ1ZmZlcihXZWJHUFVCdWZmZXImLCB1bnNpZ25lZCwgdW5zaWdu
ZWQpOwotICAgIHZvaWQgZGlzcGF0Y2goV2ViR1BVU2l6ZSwgV2ViR1BVU2l6ZSk7Ci0gICAgdm9p
ZCBlbmRFbmNvZGluZygpOwotCi1wcml2YXRlOgotICAgIGV4cGxpY2l0IFdlYkdQVUNvbXB1dGVD
b21tYW5kRW5jb2RlcihHUFVDb21wdXRlQ29tbWFuZEVuY29kZXImJik7Ci0KLSAgICBHUFVDb21w
dXRlQ29tbWFuZEVuY29kZXIgbV9lbmNvZGVyOwotfTsKLQotfSAvLyBuYW1lc3BhY2UgV2ViQ29y
ZQotCi0jZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdQ
VUNvbXB1dGVDb21tYW5kRW5jb2Rlci5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9X
ZWJHUFVDb21wdXRlQ29tbWFuZEVuY29kZXIuaWRsCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAxNTJmYzUyMzhjM2ZhMmNiZTc3YmE4ODIwNDdlNjJmOTQ0NjgyYjgwLi4wMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwv
Y2FudmFzL1dlYkdQVUNvbXB1dGVDb21tYW5kRW5jb2Rlci5pZGwKKysrIC9kZXYvbnVsbApAQCAt
MSwzOCArMCwwIEBACi0vKgotICogQ29weXJpZ2h0IChDKSAyMDE3IFl1aWNoaXJvIEtpa3VyYSAo
eS5raWt1cmFAZ21haWwuY29tKQotICoKLSAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291
cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAotICogbW9kaWZpY2F0aW9uLCBh
cmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCi0gKiBh
cmUgbWV0OgotICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWlu
IHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlv
bnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KLSAqIDIuIFJlZGlzdHJpYnV0aW9ucyBp
biBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBu
b3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWlt
ZXIgaW4gdGhlCi0gKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJv
dmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgotICoKLSAqIFRISVMgU09GVFdBUkUgSVMgUFJP
VklERUQgQlkgQVBQTEUgSU5DLiBgYEFTIElTJycgQU5EIEFOWQotICogRVhQUkVTUyBPUiBJTVBM
SUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKLSAqIElN
UExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFS
VElDVUxBUgotICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQ
UExFIElOQy4gT1IKLSAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElO
RElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAotICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5U
SUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAotICogUFJPQ1VSRU1F
TlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9S
Ci0gKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFO
RCBPTiBBTlkgVEhFT1JZCi0gKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNU
UklDVCBMSUFCSUxJVFksIE9SIFRPUlQKLSAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhF
UldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQotICogT0YgVEhJUyBTT0ZU
V0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4K
LSAqLwotCi1bCi0gICAgQ29uZGl0aW9uYWw9V0VCR1BVLAotICAgIEVuYWJsZWRBdFJ1bnRpbWU9
V2ViR1BVLAotICAgIEltcGxlbWVudGF0aW9uTGFja3NWVGFibGUKLV0gaW50ZXJmYWNlIFdlYkdQ
VUNvbXB1dGVDb21tYW5kRW5jb2RlciB7Ci0KLSAgICB2b2lkIHNldENvbXB1dGVQaXBlbGluZVN0
YXRlKFdlYkdQVUNvbXB1dGVQaXBlbGluZVN0YXRlIHBpcGVsaW5lU3RhdGUpOwotICAgIHZvaWQg
c2V0QnVmZmVyKFdlYkdQVUJ1ZmZlciBidWZmZXIsIHVuc2lnbmVkIGxvbmcgb2Zmc2V0LCB1bnNp
Z25lZCBsb25nIGluZGV4KTsKLSAgICB2b2lkIGRpc3BhdGNoKFdlYkdQVVNpemUgdGhyZWFkZ3Jv
dXBzUGVyR3JpZCwgV2ViR1BVU2l6ZSB0aHJlYWRzUGVyVGhyZWFkZ3JvdXApOwotCi0gICAgdm9p
ZCBlbmRFbmNvZGluZygpOwotCi19OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9j
YW52YXMvV2ViR1BVQ29tcHV0ZVBpcGVsaW5lU3RhdGUuY3BwIGIvU291cmNlL1dlYkNvcmUvaHRt
bC9jYW52YXMvV2ViR1BVQ29tcHV0ZVBpcGVsaW5lU3RhdGUuY3BwCmRlbGV0ZWQgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCA1ZmEzMzFlNDA2N2FlYTdkZDlmZWU5YWRhN2UwZjBlMmUyYWFiMmJjLi4w
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL1NvdXJjZS9XZWJD
b3JlL2h0bWwvY2FudmFzL1dlYkdQVUNvbXB1dGVQaXBlbGluZVN0YXRlLmNwcAorKysgL2Rldi9u
dWxsCkBAIC0xLDQ1ICswLDAgQEAKLS8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTcgWXVpY2hpcm8g
S2lrdXJhICh5Lmtpa3VyYUBnbWFpbC5jb20pCi0gKgotICogUmVkaXN0cmlidXRpb24gYW5kIHVz
ZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Ci0gKiBtb2RpZmlj
YXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlv
bnMKLSAqIGFyZSBtZXQ6Ci0gKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVz
dCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2Yg
Y29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgotICogMi4gUmVkaXN0cmli
dXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQK
LSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcg
ZGlzY2xhaW1lciBpbiB0aGUKLSAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVy
aWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCi0gKgotICogVEhJUyBTT0ZUV0FS
RSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCi0gKiBFWFBSRVNT
IE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRI
RQotICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBG
T1IgQSBQQVJUSUNVTEFSCi0gKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQg
U0hBTEwgQVBQTEUgSU5DLiBPUgotICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJ
UkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCi0gKiBFWEVNUExBUlksIE9SIENP
TlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCi0gKiBQ
Uk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwg
REFUQSwgT1IKLSAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBD
QVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKLSAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05U
UkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAotICogKElOQ0xVRElORyBORUdMSUdFTkNF
IE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCi0gKiBPRiBU
SElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0gg
REFNQUdFLgotICovCi0KLSNpbmNsdWRlICJjb25maWcuaCIKLSNpbmNsdWRlICJXZWJHUFVDb21w
dXRlUGlwZWxpbmVTdGF0ZS5oIgotCi0jaWYgRU5BQkxFKFdFQkdQVSkKLQotbmFtZXNwYWNlIFdl
YkNvcmUgewotCi1SZWY8V2ViR1BVQ29tcHV0ZVBpcGVsaW5lU3RhdGU+IFdlYkdQVUNvbXB1dGVQ
aXBlbGluZVN0YXRlOjpjcmVhdGUoR1BVQ29tcHV0ZVBpcGVsaW5lU3RhdGUmJiBzdGF0ZSkKLXsK
LSAgICByZXR1cm4gYWRvcHRSZWYoKm5ldyBXZWJHUFVDb21wdXRlUGlwZWxpbmVTdGF0ZShXVEZN
b3ZlKHN0YXRlKSkpOwotfQotCi1XZWJHUFVDb21wdXRlUGlwZWxpbmVTdGF0ZTo6V2ViR1BVQ29t
cHV0ZVBpcGVsaW5lU3RhdGUoR1BVQ29tcHV0ZVBpcGVsaW5lU3RhdGUmJiBzdGF0ZSkKLSAgICA6
IG1fc3RhdGUgeyBXVEZNb3ZlKHN0YXRlKSB9Ci17Ci19Ci0KLX0gLy8gbmFtZXNwYWNlIFdlYkNv
cmUKLQotI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJH
UFVDb21wdXRlUGlwZWxpbmVTdGF0ZS5oIGIvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2Vi
R1BVQ29tcHV0ZVBpcGVsaW5lU3RhdGUuaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
YjFjZGVmNDBiMzJiMWJkZWUwZDk4MWIzMjk3ZWNmZWI2MDg3NGM1ZS4uMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZh
cy9XZWJHUFVDb21wdXRlUGlwZWxpbmVTdGF0ZS5oCisrKyAvZGV2L251bGwKQEAgLTEsNTIgKzAs
MCBAQAotLyoKLSAqIENvcHlyaWdodCAoQykgMjAxNyBZdWljaGlybyBLaWt1cmEgKHkua2lrdXJh
QGdtYWlsLmNvbSkKLSAqCi0gKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQg
YmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKLSAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1p
dHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwotICogYXJlIG1ldDoK
LSAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJv
dmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCi0gKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5
IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0
aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRo
ZQotICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdp
dGggdGhlIGRpc3RyaWJ1dGlvbi4KLSAqCi0gKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZ
IEFQUExFIElOQy4gYGBBUyBJUycnIEFORCBBTlkKLSAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJS
QU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCi0gKiBJTVBMSUVEIFdB
UlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIK
LSAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMu
IE9SCi0gKiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwg
SU5DSURFTlRBTCwgU1BFQ0lBTCwKLSAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1B
R0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKLSAqIFBST0NVUkVNRU5UIE9GIFNV
QlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgotICogUFJP
RklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5Z
IFRIRU9SWQotICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElB
QklMSVRZLCBPUiBUT1JUCi0gKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBB
UklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKLSAqIE9GIFRISVMgU09GVFdBUkUsIEVW
RU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCi0gKi8KLQot
I3ByYWdtYSBvbmNlCi0KLSNpZiBFTkFCTEUoV0VCR1BVKQotCi0jaW5jbHVkZSAiR1BVQ29tcHV0
ZVBpcGVsaW5lU3RhdGUuaCIKLSNpbmNsdWRlIDx3dGYvUmVmLmg+Ci0jaW5jbHVkZSA8d3RmL1Jl
ZkNvdW50ZWQuaD4KLQotbmFtZXNwYWNlIFdlYkNvcmUgewotCi1jbGFzcyBXZWJHUFVGdW5jdGlv
bjsKLQotY2xhc3MgV2ViR1BVQ29tcHV0ZVBpcGVsaW5lU3RhdGUgOiBwdWJsaWMgUmVmQ291bnRl
ZDxXZWJHUFVDb21wdXRlUGlwZWxpbmVTdGF0ZT4gewotcHVibGljOgotICAgIHN0YXRpYyBSZWY8
V2ViR1BVQ29tcHV0ZVBpcGVsaW5lU3RhdGU+IGNyZWF0ZShHUFVDb21wdXRlUGlwZWxpbmVTdGF0
ZSYmKTsKLQotICAgIEdQVUNvbXB1dGVQaXBlbGluZVN0YXRlJiBzdGF0ZSgpIHsgcmV0dXJuIG1f
c3RhdGU7IH0KLQotcHJpdmF0ZToKLSAgICBleHBsaWNpdCBXZWJHUFVDb21wdXRlUGlwZWxpbmVT
dGF0ZShHUFVDb21wdXRlUGlwZWxpbmVTdGF0ZSYmKTsKLQotICAgIEdQVUNvbXB1dGVQaXBlbGlu
ZVN0YXRlIG1fc3RhdGU7Ci19OwotCi19IC8vIG5hbWVzcGFjZSBXZWJDb3JlCi0KLSNlbmRpZgpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR1BVQ29tcHV0ZVBpcGVs
aW5lU3RhdGUuaWRsIGIvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR1BVQ29tcHV0ZVBp
cGVsaW5lU3RhdGUuaWRsCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA5MDlkYWMxNjc5
Zjk4NDBiM2RhNzczYjg4YmEwYmI3MjM3Y2MyNGQ1Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwCi0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdQVUNv
bXB1dGVQaXBlbGluZVN0YXRlLmlkbAorKysgL2Rldi9udWxsCkBAIC0xLDMxICswLDAgQEAKLS8q
Ci0gKiBDb3B5cmlnaHQgKEMpIDIwMTcgWXVpY2hpcm8gS2lrdXJhICh5Lmtpa3VyYUBnbWFpbC5j
b20pCi0gKgotICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBm
b3Jtcywgd2l0aCBvciB3aXRob3V0Ci0gKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJv
dmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKLSAqIGFyZSBtZXQ6Ci0gKiAxLiBS
ZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHly
aWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxv
d2luZyBkaXNjbGFpbWVyLgotICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11
c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKLSAqICAg
IGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBk
aXN0cmlidXRpb24uCi0gKgotICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJ
TkMuIGBgQVMgSVMnJyBBTkQgQU5ZCi0gKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywg
SU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQotICogSU1QTElFRCBXQVJSQU5USUVT
IE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCi0gKiBQVVJQ
T1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUgotICog
Q09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5U
QUwsIFNQRUNJQUwsCi0gKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5D
TFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCi0gKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRF
IEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKLSAqIFBST0ZJVFM7IE9S
IEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkK
LSAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwg
T1IgVE9SVAotICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJ
TiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCi0gKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFE
VklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgotICovCi0KLVsKLSAgICBD
b25kaXRpb25hbD1XRUJHUFUsCi0gICAgRW5hYmxlZEF0UnVudGltZT1XZWJHUFUsCi0gICAgSW1w
bGVtZW50YXRpb25MYWNrc1ZUYWJsZQotXSBpbnRlcmZhY2UgV2ViR1BVQ29tcHV0ZVBpcGVsaW5l
U3RhdGUgewotfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdQ
VURlcHRoU3RlbmNpbERlc2NyaXB0b3IuY3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMv
V2ViR1BVRGVwdGhTdGVuY2lsRGVzY3JpcHRvci5jcHAKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDcyZmY4N2M4ZGNjNDk3NjY5ZmFmOTk5ZGJiOTkwMjRiMTlmY2MxYWEuLjAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRt
bC9jYW52YXMvV2ViR1BVRGVwdGhTdGVuY2lsRGVzY3JpcHRvci5jcHAKKysrIC9kZXYvbnVsbApA
QCAtMSw2MSArMCwwIEBACi0vKgotICogQ29weXJpZ2h0IChDKSAyMDE3IEFwcGxlIEluYy4gQWxs
IHJpZ2h0cyByZXNlcnZlZC4KLSAqCi0gKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJj
ZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKLSAqIG1vZGlmaWNhdGlvbiwgYXJl
IHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwotICogYXJl
IG1ldDoKLSAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0
aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25z
IGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCi0gKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4g
YmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
IGluIHRoZQotICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3Zp
ZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KLSAqCi0gKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJ
REVEIEJZIEFQUExFIElOQy4gYGBBUyBJUycnIEFORCBBTlkKLSAqIEVYUFJFU1MgT1IgSU1QTElF
RCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCi0gKiBJTVBM
SUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJ
Q1VMQVIKLSAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBM
RSBJTkMuIE9SCi0gKiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJ
UkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKLSAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElB
TCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKLSAqIFBST0NVUkVNRU5U
IE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgot
ICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQg
T04gQU5ZIFRIRU9SWQotICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJ
Q1QgTElBQklMSVRZLCBPUiBUT1JUCi0gKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJX
SVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKLSAqIE9GIFRISVMgU09GVFdB
UkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCi0g
Ki8KLQotI2luY2x1ZGUgImNvbmZpZy5oIgotI2luY2x1ZGUgIldlYkdQVURlcHRoU3RlbmNpbERl
c2NyaXB0b3IuaCIKLQotI2lmIEVOQUJMRShXRUJHUFUpCi0KLW5hbWVzcGFjZSBXZWJDb3JlIHsK
LQotUmVmPFdlYkdQVURlcHRoU3RlbmNpbERlc2NyaXB0b3I+IFdlYkdQVURlcHRoU3RlbmNpbERl
c2NyaXB0b3I6OmNyZWF0ZSgpCi17Ci0gICAgcmV0dXJuIGFkb3B0UmVmKCpuZXcgV2ViR1BVRGVw
dGhTdGVuY2lsRGVzY3JpcHRvcik7Ci19Ci0KLWJvb2wgV2ViR1BVRGVwdGhTdGVuY2lsRGVzY3Jp
cHRvcjo6ZGVwdGhXcml0ZUVuYWJsZWQoKSBjb25zdAotewotICAgIHJldHVybiBtX2Rlc2NyaXB0
b3IuZGVwdGhXcml0ZUVuYWJsZWQoKTsKLX0KLQotdm9pZCBXZWJHUFVEZXB0aFN0ZW5jaWxEZXNj
cmlwdG9yOjpzZXREZXB0aFdyaXRlRW5hYmxlZChib29sIG5ld0RlcHRoV3JpdGVFbmFibGVkKQot
ewotICAgIG1fZGVzY3JpcHRvci5zZXREZXB0aFdyaXRlRW5hYmxlZChuZXdEZXB0aFdyaXRlRW5h
YmxlZCk7Ci19Ci0KLVdlYkdQVUNvbXBhcmVGdW5jdGlvbiBXZWJHUFVEZXB0aFN0ZW5jaWxEZXNj
cmlwdG9yOjpkZXB0aENvbXBhcmVGdW5jdGlvbigpIGNvbnN0Ci17Ci0gICAgcmV0dXJuIG1fZGVw
dGhDb21wYXJlRnVuY3Rpb247Ci19Ci0KLXZvaWQgV2ViR1BVRGVwdGhTdGVuY2lsRGVzY3JpcHRv
cjo6c2V0RGVwdGhDb21wYXJlRnVuY3Rpb24oQ29tcGFyZUZ1bmN0aW9uIG5ld0RlcHRoQ29tcGFy
ZUZ1bmN0aW9uKQotewotICAgIG1fZGVwdGhDb21wYXJlRnVuY3Rpb24gPSBuZXdEZXB0aENvbXBh
cmVGdW5jdGlvbjsKLSAgICBtX2Rlc2NyaXB0b3Iuc2V0RGVwdGhDb21wYXJlRnVuY3Rpb24odG9H
UFVDb21wYXJlRnVuY3Rpb24obV9kZXB0aENvbXBhcmVGdW5jdGlvbikpOwotfQotCi19IC8vIG5h
bWVzcGFjZSBXZWJDb3JlCi0KLSNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRt
bC9jYW52YXMvV2ViR1BVRGVwdGhTdGVuY2lsRGVzY3JpcHRvci5oIGIvU291cmNlL1dlYkNvcmUv
aHRtbC9jYW52YXMvV2ViR1BVRGVwdGhTdGVuY2lsRGVzY3JpcHRvci5oCmRlbGV0ZWQgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCBiOGQwNGY4MjMzNTI0NWM3ZmRjZmUyNGVkZDk1YjQ5ODhiODg4MTFh
Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL1NvdXJjZS9X
ZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdQVURlcHRoU3RlbmNpbERlc2NyaXB0b3IuaAorKysgL2Rl
di9udWxsCkBAIC0xLDY0ICswLDAgQEAKLS8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTcgQXBwbGUg
SW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgotICoKLSAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2Ug
aW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAotICogbW9kaWZpY2F0
aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25z
Ci0gKiBhcmUgbWV0OgotICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3Qg
cmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNv
bmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KLSAqIDIuIFJlZGlzdHJpYnV0
aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Ci0g
KiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRp
c2NsYWltZXIgaW4gdGhlCi0gKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlh
bHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgotICoKLSAqIFRISVMgU09GVFdBUkUg
SVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBgYEFTIElTJycgQU5EIEFOWQotICogRVhQUkVTUyBP
UiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUK
LSAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9S
IEEgUEFSVElDVUxBUgotICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNI
QUxMIEFQUExFIElOQy4gT1IKLSAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJF
Q1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAotICogRVhFTVBMQVJZLCBPUiBDT05T
RVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAotICogUFJP
Q1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERB
VEEsIE9SCi0gKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FV
U0VEIEFORCBPTiBBTlkgVEhFT1JZCi0gKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJB
Q1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKLSAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBP
UiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQotICogT0YgVEhJ
UyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERB
TUFHRS4KLSAqLwotCi0jcHJhZ21hIG9uY2UKLQotI2lmIEVOQUJMRShXRUJHUFUpCi0KLSNpbmNs
dWRlICJHUFVEZXB0aFN0ZW5jaWxEZXNjcmlwdG9yLmgiCi0jaW5jbHVkZSAiV2ViR1BVRW51bXMu
aCIKLSNpbmNsdWRlIDx3dGYvUmVmLmg+Ci0jaW5jbHVkZSA8d3RmL1JlZkNvdW50ZWQuaD4KLQot
bmFtZXNwYWNlIFdlYkNvcmUgewotCi1jbGFzcyBXZWJHUFVEZXB0aFN0ZW5jaWxEZXNjcmlwdG9y
IDogcHVibGljIFJlZkNvdW50ZWQ8V2ViR1BVRGVwdGhTdGVuY2lsRGVzY3JpcHRvcj4gewotcHVi
bGljOgotICAgIHN0YXRpYyBSZWY8V2ViR1BVRGVwdGhTdGVuY2lsRGVzY3JpcHRvcj4gY3JlYXRl
KCk7Ci0KLSAgICBib29sIGRlcHRoV3JpdGVFbmFibGVkKCkgY29uc3Q7Ci0gICAgdm9pZCBzZXRE
ZXB0aFdyaXRlRW5hYmxlZChib29sKTsKLQotICAgIHVzaW5nIENvbXBhcmVGdW5jdGlvbiA9IFdl
YkdQVUNvbXBhcmVGdW5jdGlvbjsKLSAgICBDb21wYXJlRnVuY3Rpb24gZGVwdGhDb21wYXJlRnVu
Y3Rpb24oKSBjb25zdDsKLSAgICB2b2lkIHNldERlcHRoQ29tcGFyZUZ1bmN0aW9uKENvbXBhcmVG
dW5jdGlvbik7Ci0KLSAgICBHUFVEZXB0aFN0ZW5jaWxEZXNjcmlwdG9yJiBkZXNjcmlwdG9yKCkg
eyByZXR1cm4gbV9kZXNjcmlwdG9yOyB9Ci0KLXByaXZhdGU6Ci0gICAgV2ViR1BVRGVwdGhTdGVu
Y2lsRGVzY3JpcHRvcigpID0gZGVmYXVsdDsKLQotICAgIC8vIEZJWE1FOiBUaGUgZGVmYXVsdCB2
YWx1ZSBvZiAiQWx3YXlzIiBpcyBkZWZpbmVkIGJvdGggaGVyZSBhbmQgaW4gdGhlCi0gICAgLy8g
R1BVRGVwdGhTdGVuY2lsRGVzY3JpcHRvciBjbGFzcydzIGltcGxlbWVudGF0aW9uLiBNaWdodCBi
ZSBiZXR0ZXIgdG8gbm90Ci0gICAgLy8gc3RvcmUgdGhlIGNvbXBhcmUgZnVuY3Rpb24gc2VwYXJh
dGVseSBoZXJlLCB0cmFuc2xhdGUgaXQgaW5zdGVhZCwgYW5kIHRoZW4KLSAgICAvLyB0aGVyZSB3
b3VsZCBiZSBubyBuZWVkIGZvciBhIGRlZmF1bHQgdmFsdWUgaGVyZS4KLQotICAgIFdlYkdQVUNv
bXBhcmVGdW5jdGlvbiBtX2RlcHRoQ29tcGFyZUZ1bmN0aW9uIHsgV2ViR1BVQ29tcGFyZUZ1bmN0
aW9uOjpBbHdheXMgfTsKLSAgICBHUFVEZXB0aFN0ZW5jaWxEZXNjcmlwdG9yIG1fZGVzY3JpcHRv
cjsKLX07Ci0KLX0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKLQotI2VuZGlmCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHUFVEZXB0aFN0ZW5jaWxEZXNjcmlwdG9yLmlk
bCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdQVURlcHRoU3RlbmNpbERlc2NyaXB0
b3IuaWRsCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBlMTNjOWUxYzBhZDQ2NDYwYzI0
OTRhZTg4ZTEzNTY1YjVlYjk5ODk0Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwCi0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdQVURlcHRoU3RlbmNp
bERlc2NyaXB0b3IuaWRsCisrKyAvZGV2L251bGwKQEAgLTEsNTAgKzAsMCBAQAotLyoKLSAqIENv
cHlyaWdodCAoQykgMjAxNyBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0gKgotICog
UmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBv
ciB3aXRob3V0Ci0gKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0
aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKLSAqIGFyZSBtZXQ6Ci0gKiAxLiBSZWRpc3RyaWJ1dGlv
bnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAg
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFp
bWVyLgotICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNl
IHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlv
bnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKLSAqICAgIGRvY3VtZW50YXRp
b24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24u
Ci0gKgotICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIGBgQVMgSVMn
JyBBTkQgQU5ZCi0gKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBC
VVQgTk9UIExJTUlURUQgVE8sIFRIRQotICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5U
QUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCi0gKiBQVVJQT1NFIEFSRSBESVND
TEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUgotICogQ09OVFJJQlVUT1JT
IEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUws
Ci0gKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQg
Tk9UIExJTUlURUQgVE8sCi0gKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNF
UlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKLSAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElO
VEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKLSAqIE9GIExJQUJJ
TElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAotICog
KElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9V
VCBPRiBUSEUgVVNFCi0gKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhF
IFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgotICovCi0KLVsKLSAgICBDb25kaXRpb25hbD1X
RUJHUFUsCi0gICAgRW5hYmxlZEF0UnVudGltZT1XZWJHUFUKLV0gZW51bSBXZWJHUFVDb21wYXJl
RnVuY3Rpb24gewotICAgICJuZXZlciIsCi0gICAgImxlc3MiLAotICAgICJlcXVhbCIsCi0gICAg
Imxlc3NlcXVhbCIsCi0gICAgImdyZWF0ZXIiLAotICAgICJub3RlcXVhbCIsCi0gICAgImdyZWF0
ZXJlcXVhbCIsCi0gICAgImFsd2F5cyIKLX07Ci0KLVsKLSAgICBDb25zdHJ1Y3RvciwKLSAgICBD
b25kaXRpb25hbD1XRUJHUFUsCi0gICAgRW5hYmxlZEF0UnVudGltZT1XZWJHUFUsCi0gICAgSW1w
bGVtZW50YXRpb25MYWNrc1ZUYWJsZQotXSBpbnRlcmZhY2UgV2ViR1BVRGVwdGhTdGVuY2lsRGVz
Y3JpcHRvciB7Ci0KLSAgICBhdHRyaWJ1dGUgV2ViR1BVQ29tcGFyZUZ1bmN0aW9uIGRlcHRoQ29t
cGFyZUZ1bmN0aW9uOwotICAgIGF0dHJpYnV0ZSBib29sZWFuIGRlcHRoV3JpdGVFbmFibGVkOwot
Ci19OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR1BVRGVwdGhT
dGVuY2lsU3RhdGUuY3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR1BVRGVwdGhT
dGVuY2lsU3RhdGUuY3BwCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBmNDJhZDZmZjU3
NmUwMTBmOTlhMjBkOGNmNmJkYjU1MWFlN2JhODQzLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwCi0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdQVURl
cHRoU3RlbmNpbFN0YXRlLmNwcAorKysgL2Rldi9udWxsCkBAIC0xLDU4ICswLDAgQEAKLS8qCi0g
KiBDb3B5cmlnaHQgKEMpIDIwMTcgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgotICoK
LSAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdp
dGggb3Igd2l0aG91dAotICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRo
YXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCi0gKiBhcmUgbWV0OgotICogMS4gUmVkaXN0cmli
dXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAq
ICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlz
Y2xhaW1lci4KLSAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJv
ZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25k
aXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCi0gKiAgICBkb2N1bWVu
dGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0
aW9uLgotICoKLSAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBgYEFT
IElTJycgQU5EIEFOWQotICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElO
RywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKLSAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJD
SEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgotICogUFVSUE9TRSBBUkUg
RElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IKLSAqIENPTlRSSUJV
VE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVD
SUFMLAotICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywg
QlVUIE5PVCBMSU1JVEVEIFRPLAotICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBP
UiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCi0gKiBQUk9GSVRTOyBPUiBCVVNJTkVT
UyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCi0gKiBPRiBM
SUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQK
LSAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdB
WSBPVVQgT0YgVEhFIFVTRQotICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9G
IFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KLSAqLwotCi0jaW5jbHVkZSAiY29uZmln
LmgiCi0jaW5jbHVkZSAiV2ViR1BVRGVwdGhTdGVuY2lsU3RhdGUuaCIKLQotI2lmIEVOQUJMRShX
RUJHUFUpCi0KLSNpbmNsdWRlICJXZWJHUFVEZXB0aFN0ZW5jaWxEZXNjcmlwdG9yLmgiCi0jaW5j
bHVkZSA8d3RmL3RleHQvV1RGU3RyaW5nLmg+Ci0KLW5hbWVzcGFjZSBXZWJDb3JlIHsKLQotUmVm
PFdlYkdQVURlcHRoU3RlbmNpbFN0YXRlPiBXZWJHUFVEZXB0aFN0ZW5jaWxTdGF0ZTo6Y3JlYXRl
KEdQVURlcHRoU3RlbmNpbFN0YXRlJiYgc3RhdGUpCi17Ci0gICAgcmV0dXJuIGFkb3B0UmVmKCpu
ZXcgV2ViR1BVRGVwdGhTdGVuY2lsU3RhdGUoV1RGTW92ZShzdGF0ZSkpKTsKLX0KLQotV2ViR1BV
RGVwdGhTdGVuY2lsU3RhdGU6OldlYkdQVURlcHRoU3RlbmNpbFN0YXRlKEdQVURlcHRoU3RlbmNp
bFN0YXRlJiYgc3RhdGUpCi0gICAgOiBtX3N0YXRlIHsgV1RGTW92ZShzdGF0ZSkgfQotewotfQot
Ci1TdHJpbmcgV2ViR1BVRGVwdGhTdGVuY2lsU3RhdGU6OmxhYmVsKCkgY29uc3QKLXsKLSAgICBy
ZXR1cm4gbV9zdGF0ZS5sYWJlbCgpOwotfQotCi12b2lkIFdlYkdQVURlcHRoU3RlbmNpbFN0YXRl
OjpzZXRMYWJlbChjb25zdCBTdHJpbmcmIGxhYmVsKQotewotICAgIG1fc3RhdGUuc2V0TGFiZWwo
bGFiZWwpOwotfQotCi19IC8vIG5hbWVzcGFjZSBXZWJDb3JlCi0KLSNlbmRpZgpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR1BVRGVwdGhTdGVuY2lsU3RhdGUuaCBi
L1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdQVURlcHRoU3RlbmNpbFN0YXRlLmgKZGVs
ZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGEwNWNmMmVmMTAyOWEwMGZiOTUzYTUzZWU5Njg5
ZjUxYTI0ZmQ0YTEuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0t
IGEvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR1BVRGVwdGhTdGVuY2lsU3RhdGUuaAor
KysgL2Rldi9udWxsCkBAIC0xLDUzICswLDAgQEAKLS8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTcg
QXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgotICoKLSAqIFJlZGlzdHJpYnV0aW9uIGFu
ZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAotICogbW9k
aWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25k
aXRpb25zCi0gKiBhcmUgbWV0OgotICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2Rl
IG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KLSAqIDIuIFJlZGlz
dHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJp
Z2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93
aW5nIGRpc2NsYWltZXIgaW4gdGhlCi0gKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBt
YXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgotICoKLSAqIFRISVMgU09G
VFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBgYEFTIElTJycgQU5EIEFOWQotICogRVhQ
UkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRP
LCBUSEUKLSAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5F
U1MgRk9SIEEgUEFSVElDVUxBUgotICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVW
RU5UIFNIQUxMIEFQUExFIElOQy4gT1IKLSAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFO
WSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAotICogRVhFTVBMQVJZLCBP
UiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAot
ICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBV
U0UsIERBVEEsIE9SCi0gKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VW
RVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCi0gKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4g
Q09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKLSAqIChJTkNMVURJTkcgTkVHTElH
RU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQotICog
T0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBT
VUNIIERBTUFHRS4KLSAqLwotCi0jcHJhZ21hIG9uY2UKLQotI2lmIEVOQUJMRShXRUJHUFUpCi0K
LSNpbmNsdWRlICJHUFVEZXB0aFN0ZW5jaWxTdGF0ZS5oIgotI2luY2x1ZGUgPHd0Zi9SZWYuaD4K
LSNpbmNsdWRlIDx3dGYvUmVmQ291bnRlZC5oPgotCi1uYW1lc3BhY2UgV2ViQ29yZSB7Ci0KLWNs
YXNzIFdlYkdQVURlcHRoU3RlbmNpbFN0YXRlIDogcHVibGljIFJlZkNvdW50ZWQ8V2ViR1BVRGVw
dGhTdGVuY2lsU3RhdGU+IHsKLXB1YmxpYzoKLSAgICBzdGF0aWMgUmVmPFdlYkdQVURlcHRoU3Rl
bmNpbFN0YXRlPiBjcmVhdGUoR1BVRGVwdGhTdGVuY2lsU3RhdGUmJik7Ci0KLSAgICBTdHJpbmcg
bGFiZWwoKSBjb25zdDsKLSAgICB2b2lkIHNldExhYmVsKGNvbnN0IFN0cmluZyYpOwotCi0gICAg
R1BVRGVwdGhTdGVuY2lsU3RhdGUmIHN0YXRlKCkgeyByZXR1cm4gbV9zdGF0ZTsgfQotCi1wcml2
YXRlOgotICAgIGV4cGxpY2l0IFdlYkdQVURlcHRoU3RlbmNpbFN0YXRlKEdQVURlcHRoU3RlbmNp
bFN0YXRlJiYpOwotCi0gICAgR1BVRGVwdGhTdGVuY2lsU3RhdGUgbV9zdGF0ZTsKLX07Ci0gICAg
Ci19IC8vIG5hbWVzcGFjZSBXZWJDb3JlCi0KLSNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvaHRtbC9jYW52YXMvV2ViR1BVRGVwdGhTdGVuY2lsU3RhdGUuaWRsIGIvU291cmNlL1dl
YkNvcmUvaHRtbC9jYW52YXMvV2ViR1BVRGVwdGhTdGVuY2lsU3RhdGUuaWRsCmRlbGV0ZWQgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCA4NjZhNjdjYWExNDQ4NzM2YWQxMzhiNDY0NWMxMDZmNTc4YTBm
M2EwLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL1NvdXJj
ZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdQVURlcHRoU3RlbmNpbFN0YXRlLmlkbAorKysgL2Rl
di9udWxsCkBAIC0xLDM0ICswLDAgQEAKLS8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTcgQXBwbGUg
SW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgotICoKLSAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2Ug
aW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAotICogbW9kaWZpY2F0
aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25z
Ci0gKiBhcmUgbWV0OgotICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3Qg
cmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNv
bmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KLSAqIDIuIFJlZGlzdHJpYnV0
aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Ci0g
KiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRp
c2NsYWltZXIgaW4gdGhlCi0gKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlh
bHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgotICoKLSAqIFRISVMgU09GVFdBUkUg
SVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBgYEFTIElTJycgQU5EIEFOWQotICogRVhQUkVTUyBP
UiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUK
LSAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9S
IEEgUEFSVElDVUxBUgotICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNI
QUxMIEFQUExFIElOQy4gT1IKLSAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJF
Q1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAotICogRVhFTVBMQVJZLCBPUiBDT05T
RVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAotICogUFJP
Q1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERB
VEEsIE9SCi0gKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FV
U0VEIEFORCBPTiBBTlkgVEhFT1JZCi0gKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJB
Q1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKLSAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBP
UiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQotICogT0YgVEhJ
UyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERB
TUFHRS4KLSAqLwotCi1bCi0gICAgQ29uZGl0aW9uYWw9V0VCR1BVLAotICAgIEVuYWJsZWRBdFJ1
bnRpbWU9V2ViR1BVLAotICAgIEltcGxlbWVudGF0aW9uTGFja3NWVGFibGUKLV0gaW50ZXJmYWNl
IFdlYkdQVURlcHRoU3RlbmNpbFN0YXRlIHsKLQotICAgIGF0dHJpYnV0ZSBET01TdHJpbmcgbGFi
ZWw7Ci0KLX07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHUFVE
cmF3YWJsZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHUFVEcmF3YWJsZS5j
cHAKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGE5ODE1OWZkODViN2ZiZTM4MmQ3MGQz
NjdjMTdkZWZhYWZmZTVlN2IuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR1BVRHJhd2FibGUuY3BwCisr
KyAvZGV2L251bGwKQEAgLTEsNTEgKzAsMCBAQAotLyoKLSAqIENvcHlyaWdodCAoQykgMjAxNyBB
cHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0gKgotICogUmVkaXN0cmlidXRpb24gYW5k
IHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Ci0gKiBtb2Rp
ZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRp
dGlvbnMKLSAqIGFyZSBtZXQ6Ci0gKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUg
bXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qg
b2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgotICogMi4gUmVkaXN0
cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmln
aHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dp
bmcgZGlzY2xhaW1lciBpbiB0aGUKLSAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1h
dGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCi0gKgotICogVEhJUyBTT0ZU
V0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCi0gKiBFWFBS
RVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8s
IFRIRQotICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVT
UyBGT1IgQSBQQVJUSUNVTEFSCi0gKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZF
TlQgU0hBTEwgQVBQTEUgSU5DLiBPUgotICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERB
TUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAotICogQ09OVFJJQlVUT1JTIEJF
IExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCi0g
KiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVT
RSwgREFUQSwgT1IKLSAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZF
UiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKLSAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBD
T05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAotICogKElOQ0xVRElORyBORUdMSUdF
TkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCi0gKiBP
RiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNV
Q0ggREFNQUdFLgotICovCi0KLSNpbmNsdWRlICJjb25maWcuaCIKLSNpbmNsdWRlICJXZWJHUFVE
cmF3YWJsZS5oIgotCi0jaWYgRU5BQkxFKFdFQkdQVSkKLQotI2luY2x1ZGUgIkdQVVRleHR1cmUu
aCIKLSNpbmNsdWRlICJXZWJHUFVUZXh0dXJlLmgiCi0KLW5hbWVzcGFjZSBXZWJDb3JlIHsKLQot
UmVmPFdlYkdQVURyYXdhYmxlPiBXZWJHUFVEcmF3YWJsZTo6Y3JlYXRlKEdQVURyYXdhYmxlJiYg
ZHJhd2FibGUpCi17Ci0gICAgcmV0dXJuIGFkb3B0UmVmKCpuZXcgV2ViR1BVRHJhd2FibGUoV1RG
TW92ZShkcmF3YWJsZSkpKTsKLX0KLQotV2ViR1BVRHJhd2FibGU6OldlYkdQVURyYXdhYmxlKEdQ
VURyYXdhYmxlJiYgZHJhd2FibGUpCi0gICAgOiBtX2RyYXdhYmxlIHsgV1RGTW92ZShkcmF3YWJs
ZSkgfQotICAgICwgbV90ZXh0dXJlIHsgV2ViR1BVVGV4dHVyZTo6Y3JlYXRlKEdQVVRleHR1cmUg
eyBtX2RyYXdhYmxlIH0pIH0KLXsKLX0KLQotV2ViR1BVRHJhd2FibGU6On5XZWJHUFVEcmF3YWJs
ZSgpID0gZGVmYXVsdDsKLQotfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQotCi0jZW5kaWYKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdQVURyYXdhYmxlLmggYi9Tb3Vy
Y2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHUFVEcmF3YWJsZS5oCmRlbGV0ZWQgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCBjODlmOTI2YzEyNTE1MjJkZDlhNDNmZTg5M2UyY2Y0NTI2ZGFhNTQ5Li4w
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL1NvdXJjZS9XZWJD
b3JlL2h0bWwvY2FudmFzL1dlYkdQVURyYXdhYmxlLmgKKysrIC9kZXYvbnVsbApAQCAtMSw1NSAr
MCwwIEBACi0vKgotICogQ29weXJpZ2h0IChDKSAyMDE3IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyBy
ZXNlcnZlZC4KLSAqCi0gKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmlu
YXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKLSAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRl
ZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwotICogYXJlIG1ldDoKLSAq
IDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUg
Y29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUg
Zm9sbG93aW5nIGRpc2NsYWltZXIuCi0gKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZv
cm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlz
IGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQot
ICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGgg
dGhlIGRpc3RyaWJ1dGlvbi4KLSAqCi0gKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQ
UExFIElOQy4gYGBBUyBJUycnIEFORCBBTlkKLSAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5U
SUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCi0gKiBJTVBMSUVEIFdBUlJB
TlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKLSAq
IFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9S
Ci0gKiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5D
SURFTlRBTCwgU1BFQ0lBTCwKLSAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VT
IChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKLSAqIFBST0NVUkVNRU5UIE9GIFNVQlNU
SVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgotICogUFJPRklU
UzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRI
RU9SWQotICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklM
SVRZLCBPUiBUT1JUCi0gKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklT
SU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKLSAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4g
SUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCi0gKi8KLQotI3By
YWdtYSBvbmNlCi0KLSNpZiBFTkFCTEUoV0VCR1BVKQotCi0jaW5jbHVkZSAiR1BVRHJhd2FibGUu
aCIKLSNpbmNsdWRlIDx3dGYvUmVmLmg+Ci0jaW5jbHVkZSA8d3RmL1JlZkNvdW50ZWQuaD4KLQot
bmFtZXNwYWNlIFdlYkNvcmUgewotCi1jbGFzcyBXZWJHUFVUZXh0dXJlOwotCi1jbGFzcyBXZWJH
UFVEcmF3YWJsZSA6IHB1YmxpYyBSZWZDb3VudGVkPFdlYkdQVURyYXdhYmxlPiB7Ci1wdWJsaWM6
Ci0gICAgfldlYkdQVURyYXdhYmxlKCk7Ci0gICAgc3RhdGljIFJlZjxXZWJHUFVEcmF3YWJsZT4g
Y3JlYXRlKEdQVURyYXdhYmxlJiYpOwotCi0gICAgR1BVRHJhd2FibGUmIGRyYXdhYmxlKCkgeyBy
ZXR1cm4gbV9kcmF3YWJsZTsgfQotICAgIFdlYkdQVVRleHR1cmUmIHRleHR1cmUoKSB7IHJldHVy
biBtX3RleHR1cmUuZ2V0KCk7IH0KLQotcHJpdmF0ZToKLSAgICBleHBsaWNpdCBXZWJHUFVEcmF3
YWJsZShHUFVEcmF3YWJsZSYmKTsKLQotICAgIEdQVURyYXdhYmxlIG1fZHJhd2FibGU7Ci0gICAg
UmVmPFdlYkdQVVRleHR1cmU+IG1fdGV4dHVyZTsKLX07Ci0KLX0gLy8gbmFtZXNwYWNlIFdlYkNv
cmUKLQotI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJH
UFVEcmF3YWJsZS5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHUFVEcmF3YWJs
ZS5pZGwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDdiZjIxN2Y0OTkxZThjMGIwOWFl
YzQ4ZWFlYmY3ZDY1MjY5NzA4YzMuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR1BVRHJhd2FibGUuaWRs
CisrKyAvZGV2L251bGwKQEAgLTEsMzQgKzAsMCBAQAotLyoKLSAqIENvcHlyaWdodCAoQykgMjAx
NyBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0gKgotICogUmVkaXN0cmlidXRpb24g
YW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Ci0gKiBt
b2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNv
bmRpdGlvbnMKLSAqIGFyZSBtZXQ6Ci0gKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNv
ZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxp
c3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgotICogMi4gUmVk
aXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5
cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xs
b3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKLSAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVy
IG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCi0gKgotICogVEhJUyBT
T0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCi0gKiBF
WFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQg
VE8sIFRIRQotICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklU
TkVTUyBGT1IgQSBQQVJUSUNVTEFSCi0gKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8g
RVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUgotICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1Ig
QU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCi0gKiBFWEVNUExBUlks
IE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8s
Ci0gKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9G
IFVTRSwgREFUQSwgT1IKLSAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9X
RVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKLSAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJ
TiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAotICogKElOQ0xVRElORyBORUdM
SUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCi0g
KiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9G
IFNVQ0ggREFNQUdFLgotICovCi0KLVsKLSAgICBDb25kaXRpb25hbD1XRUJHUFUsCi0gICAgRW5h
YmxlZEF0UnVudGltZT1XZWJHUFUsCi0gICAgSW1wbGVtZW50YXRpb25MYWNrc1ZUYWJsZQotXSBp
bnRlcmZhY2UgV2ViR1BVRHJhd2FibGUgewotCi0gICAgcmVhZG9ubHkgYXR0cmlidXRlIFdlYkdQ
VVRleHR1cmUgdGV4dHVyZTsgLy8gRklYTUU6IE9ubHkgdGhlIGZyYW1lYnVmZmVyIHNob3VsZCBo
YXZlIHRoaXMuCi0KLX07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9X
ZWJHUFVFbnVtcy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHUFVFbnVtcy5j
cHAKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGMwN2JkMjhiYjgzNTkxYjExZWZkNWFi
ZjlkODc1OGZmYTY4ODc2NjEuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR1BVRW51bXMuY3BwCisrKyAv
ZGV2L251bGwKQEAgLTEsMTA3ICswLDAgQEAKLS8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTcgQXBw
bGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgotICoKLSAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1
c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAotICogbW9kaWZp
Y2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRp
b25zCi0gKiBhcmUgbWV0OgotICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11
c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9m
IGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KLSAqIDIuIFJlZGlzdHJp
YnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0
Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5n
IGRpc2NsYWltZXIgaW4gdGhlCi0gKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRl
cmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgotICoKLSAqIFRISVMgU09GVFdB
UkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBgYEFTIElTJycgQU5EIEFOWQotICogRVhQUkVT
UyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBU
SEUKLSAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1Mg
Rk9SIEEgUEFSVElDVUxBUgotICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5U
IFNIQUxMIEFQUExFIElOQy4gT1IKLSAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBE
SVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAotICogRVhFTVBMQVJZLCBPUiBD
T05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAotICog
UFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0Us
IERBVEEsIE9SCi0gKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIg
Q0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCi0gKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09O
VFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKLSAqIChJTkNMVURJTkcgTkVHTElHRU5D
RSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQotICogT0Yg
VEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNI
IERBTUFHRS4KLSAqLwotCi0jaW5jbHVkZSAiY29uZmlnLmgiCi0jaW5jbHVkZSAiV2ViR1BVRW51
bXMuaCIKLQotI2lmIEVOQUJMRShXRUJHUFUpCi0KLSNpbmNsdWRlICJHUFVFbnVtcy5oIgotI2lu
Y2x1ZGUgPHd0Zi90ZXh0L1dURlN0cmluZy5oPgotCi1uYW1lc3BhY2UgV2ViQ29yZSB7Ci0KLXN0
ZDo6b3B0aW9uYWw8V2ViR1BVQ29tcGFyZUZ1bmN0aW9uPiB0b1dlYkdQVUNvbXBhcmVGdW5jdGlv
bihjb25zdCBTdHJpbmcmIG5hbWUpCi17Ci0gICAgaWYgKGVxdWFsTGV0dGVyc0lnbm9yaW5nQVND
SUlDYXNlKG5hbWUsICJuZXZlciIpKQotICAgICAgICByZXR1cm4gV2ViR1BVQ29tcGFyZUZ1bmN0
aW9uOjpOZXZlcjsKLSAgICBpZiAoZXF1YWxMZXR0ZXJzSWdub3JpbmdBU0NJSUNhc2UobmFtZSwg
Imxlc3MiKSkKLSAgICAgICAgcmV0dXJuIFdlYkdQVUNvbXBhcmVGdW5jdGlvbjo6TGVzczsKLSAg
ICBpZiAoZXF1YWxMZXR0ZXJzSWdub3JpbmdBU0NJSUNhc2UobmFtZSwgImVxdWFsIikpCi0gICAg
ICAgIHJldHVybiBXZWJHUFVDb21wYXJlRnVuY3Rpb246OkVxdWFsOwotICAgIGlmIChlcXVhbExl
dHRlcnNJZ25vcmluZ0FTQ0lJQ2FzZShuYW1lLCAibGVzc2VxdWFsIikpCi0gICAgICAgIHJldHVy
biBXZWJHUFVDb21wYXJlRnVuY3Rpb246Okxlc3NlcXVhbDsKLSAgICBpZiAoZXF1YWxMZXR0ZXJz
SWdub3JpbmdBU0NJSUNhc2UobmFtZSwgImdyZWF0ZXIiKSkKLSAgICAgICAgcmV0dXJuIFdlYkdQ
VUNvbXBhcmVGdW5jdGlvbjo6R3JlYXRlcjsKLSAgICBpZiAoZXF1YWxMZXR0ZXJzSWdub3JpbmdB
U0NJSUNhc2UobmFtZSwgIm5vdGVxdWFsIikpCi0gICAgICAgIHJldHVybiBXZWJHUFVDb21wYXJl
RnVuY3Rpb246Ok5vdGVxdWFsOwotICAgIGlmIChlcXVhbExldHRlcnNJZ25vcmluZ0FTQ0lJQ2Fz
ZShuYW1lLCAiZ3JlYXRlcmVxdWFsIikpCi0gICAgICAgIHJldHVybiBXZWJHUFVDb21wYXJlRnVu
Y3Rpb246OkdyZWF0ZXJlcXVhbDsKLSAgICBpZiAoZXF1YWxMZXR0ZXJzSWdub3JpbmdBU0NJSUNh
c2UobmFtZSwgImFsd2F5cyIpKQotICAgICAgICByZXR1cm4gV2ViR1BVQ29tcGFyZUZ1bmN0aW9u
OjpBbHdheXM7Ci0KLSAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKLSAgICByZXR1cm4gc3RkOjpu
dWxsb3B0OwotfQotCi1TdHJpbmcgd2ViM0RDb21wYXJlRnVuY3Rpb25OYW1lKFdlYkdQVUNvbXBh
cmVGdW5jdGlvbiB2YWx1ZSkKLXsKLSAgICBpZiAodmFsdWUgPT0gV2ViR1BVQ29tcGFyZUZ1bmN0
aW9uOjpOZXZlcikKLSAgICAgICAgcmV0dXJuICJuZXZlciJfczsKLSAgICBpZiAodmFsdWUgPT0g
V2ViR1BVQ29tcGFyZUZ1bmN0aW9uOjpMZXNzKQotICAgICAgICByZXR1cm4gImxlc3MiX3M7Ci0g
ICAgaWYgKHZhbHVlID09IFdlYkdQVUNvbXBhcmVGdW5jdGlvbjo6RXF1YWwpCi0gICAgICAgIHJl
dHVybiAiZXF1YWwiX3M7Ci0gICAgaWYgKHZhbHVlID09IFdlYkdQVUNvbXBhcmVGdW5jdGlvbjo6
TGVzc2VxdWFsKQotICAgICAgICByZXR1cm4gImxlc3NlcXVhbCJfczsKLSAgICBpZiAodmFsdWUg
PT0gV2ViR1BVQ29tcGFyZUZ1bmN0aW9uOjpHcmVhdGVyKQotICAgICAgICByZXR1cm4gImdyZWF0
ZXIiX3M7Ci0gICAgaWYgKHZhbHVlID09IFdlYkdQVUNvbXBhcmVGdW5jdGlvbjo6Tm90ZXF1YWwp
Ci0gICAgICAgIHJldHVybiAibm90ZXF1YWwiX3M7Ci0gICAgaWYgKHZhbHVlID09IFdlYkdQVUNv
bXBhcmVGdW5jdGlvbjo6R3JlYXRlcmVxdWFsKQotICAgICAgICByZXR1cm4gImdyZWF0ZXJlcXVh
bCJfczsKLSAgICBpZiAodmFsdWUgPT0gV2ViR1BVQ29tcGFyZUZ1bmN0aW9uOjpBbHdheXMpCi0g
ICAgICAgIHJldHVybiAiYWx3YXlzIl9zOwotICAgIAotICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgp
OwotICAgIHJldHVybiBlbXB0eVN0cmluZygpOwotfQotCi1HUFVDb21wYXJlRnVuY3Rpb24gdG9H
UFVDb21wYXJlRnVuY3Rpb24oY29uc3QgV2ViR1BVQ29tcGFyZUZ1bmN0aW9uIHZhbHVlKQotewot
ICAgIGlmICh2YWx1ZSA9PSBXZWJHUFVDb21wYXJlRnVuY3Rpb246Ok5ldmVyKQotICAgICAgICBy
ZXR1cm4gR1BVQ29tcGFyZUZ1bmN0aW9uOjpOZXZlcjsKLSAgICBpZiAodmFsdWUgPT0gV2ViR1BV
Q29tcGFyZUZ1bmN0aW9uOjpMZXNzKQotICAgICAgICByZXR1cm4gR1BVQ29tcGFyZUZ1bmN0aW9u
OjpMZXNzOwotICAgIGlmICh2YWx1ZSA9PSBXZWJHUFVDb21wYXJlRnVuY3Rpb246OkVxdWFsKQot
ICAgICAgICByZXR1cm4gR1BVQ29tcGFyZUZ1bmN0aW9uOjpFcXVhbDsKLSAgICBpZiAodmFsdWUg
PT0gV2ViR1BVQ29tcGFyZUZ1bmN0aW9uOjpMZXNzZXF1YWwpCi0gICAgICAgIHJldHVybiBHUFVD
b21wYXJlRnVuY3Rpb246Okxlc3NFcXVhbDsKLSAgICBpZiAodmFsdWUgPT0gV2ViR1BVQ29tcGFy
ZUZ1bmN0aW9uOjpHcmVhdGVyKQotICAgICAgICByZXR1cm4gR1BVQ29tcGFyZUZ1bmN0aW9uOjpH
cmVhdGVyOwotICAgIGlmICh2YWx1ZSA9PSBXZWJHUFVDb21wYXJlRnVuY3Rpb246Ok5vdGVxdWFs
KQotICAgICAgICByZXR1cm4gR1BVQ29tcGFyZUZ1bmN0aW9uOjpOb3RFcXVhbDsKLSAgICBpZiAo
dmFsdWUgPT0gV2ViR1BVQ29tcGFyZUZ1bmN0aW9uOjpHcmVhdGVyZXF1YWwpCi0gICAgICAgIHJl
dHVybiBHUFVDb21wYXJlRnVuY3Rpb246OkdyZWF0ZXJFcXVhbDsKLSAgICBpZiAodmFsdWUgPT0g
V2ViR1BVQ29tcGFyZUZ1bmN0aW9uOjpBbHdheXMpCi0gICAgICAgIHJldHVybiBHUFVDb21wYXJl
RnVuY3Rpb246OkFsd2F5czsKLSAgICAKLSAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKLSAgICBy
ZXR1cm4gR1BVQ29tcGFyZUZ1bmN0aW9uOjpOZXZlcjsKLX0KLQotfSAvLyBuYW1lc3BhY2UgV2Vi
Q29yZQotCi0jZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dl
YkdQVUVudW1zLmggYi9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHUFVFbnVtcy5oCmRl
bGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA0MzUwNGU1ZDhkZTIyNmJlMzM0MzM4ODI5MmUx
ZTdkOWY4OTdjZWEzLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0t
LSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdQVUVudW1zLmgKKysrIC9kZXYvbnVs
bApAQCAtMSw1NCArMCwwIEBACi0vKgotICogQ29weXJpZ2h0IChDKSAyMDE3IEFwcGxlIEluYy4g
QWxsIHJpZ2h0cyByZXNlcnZlZC4KLSAqCi0gKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNv
dXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKLSAqIG1vZGlmaWNhdGlvbiwg
YXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwotICog
YXJlIG1ldDoKLSAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFp
biB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRp
b25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCi0gKiAyLiBSZWRpc3RyaWJ1dGlvbnMg
aW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAg
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFp
bWVyIGluIHRoZQotICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHBy
b3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KLSAqCi0gKiBUSElTIFNPRlRXQVJFIElTIFBS
T1ZJREVEIEJZIEFQUExFIElOQy4gYGBBUyBJUycnIEFORCBBTlkKLSAqIEVYUFJFU1MgT1IgSU1Q
TElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCi0gKiBJ
TVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBB
UlRJQ1VMQVIKLSAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBB
UFBMRSBJTkMuIE9SCi0gKiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJ
TkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKLSAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVO
VElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKLSAqIFBST0NVUkVN
RU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBP
UgotICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBB
TkQgT04gQU5ZIFRIRU9SWQotICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBT
VFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCi0gKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RI
RVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKLSAqIE9GIFRISVMgU09G
VFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0Uu
Ci0gKi8KLQotI3ByYWdtYSBvbmNlCi0KLSNpZiBFTkFCTEUoV0VCR1BVKQotCi0jaW5jbHVkZSA8
d3RmL0ZvcndhcmQuaD4KLSNpbmNsdWRlIDx3dGYvT3B0aW9uYWwuaD4KLQotbmFtZXNwYWNlIFdl
YkNvcmUgewotCi1lbnVtIGNsYXNzIEdQVUNvbXBhcmVGdW5jdGlvbjsKLQotZW51bSBjbGFzcyBX
ZWJHUFVDb21wYXJlRnVuY3Rpb24gewotICAgIE5ldmVyLAotICAgIExlc3MsCi0gICAgRXF1YWws
Ci0gICAgTGVzc2VxdWFsLAotICAgIEdyZWF0ZXIsCi0gICAgTm90ZXF1YWwsCi0gICAgR3JlYXRl
cmVxdWFsLAotICAgIEFsd2F5cwotfTsKLQotc3RkOjpvcHRpb25hbDxXZWJHUFVDb21wYXJlRnVu
Y3Rpb24+IHRvV2ViR1BVQ29tcGFyZUZ1bmN0aW9uKGNvbnN0IFN0cmluZyYpOwotU3RyaW5nIHdl
YjNEQ29tcGFyZUZ1bmN0aW9uTmFtZShXZWJHUFVDb21wYXJlRnVuY3Rpb24pOwotR1BVQ29tcGFy
ZUZ1bmN0aW9uIHRvR1BVQ29tcGFyZUZ1bmN0aW9uKFdlYkdQVUNvbXBhcmVGdW5jdGlvbik7Ci0K
LX0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKLQotI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9odG1sL2NhbnZhcy9XZWJHUFVFbnVtcy5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL2Nh
bnZhcy9XZWJHUFVFbnVtcy5pZGwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDcyMWZh
MTRkMmU0MzI3MDQxZWEwYTQyZmE3ZmIwOWFhODhkMTY1NmEuLjAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2Vi
R1BVRW51bXMuaWRsCisrKyAvZGV2L251bGwKQEAgLTEsMjc0ICswLDAgQEAKLS8qCi0gKiBDb3B5
cmlnaHQgKEMpIDIwMTcgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgotICoKLSAqIFJl
ZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Ig
d2l0aG91dAotICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhl
IGZvbGxvd2luZyBjb25kaXRpb25zCi0gKiBhcmUgbWV0OgotICogMS4gUmVkaXN0cmlidXRpb25z
IG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5v
dGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1l
ci4KLSAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0
aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25z
IGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCi0gKiAgICBkb2N1bWVudGF0aW9u
IGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgot
ICoKLSAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBgYEFTIElTJycg
QU5EIEFOWQotICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVU
IE5PVCBMSU1JVEVEIFRPLCBUSEUKLSAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFC
SUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgotICogUFVSUE9TRSBBUkUgRElTQ0xB
SU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IKLSAqIENPTlRSSUJVVE9SUyBC
RSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAot
ICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5P
VCBMSU1JVEVEIFRPLAotICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJW
SUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCi0gKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRF
UlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCi0gKiBPRiBMSUFCSUxJ
VFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKLSAqIChJ
TkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQg
T0YgVEhFIFVTRQotICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQ
T1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KLSAqLwotCi1bCi0gICAgQ29uZGl0aW9uYWw9V0VC
R1BVLAotICAgIEVuYWJsZWRBdFJ1bnRpbWU9V2ViR1BVCi1dIGVudW0gV2ViR1BVUGl4ZWxGb3Jt
YXQgewotICAgICJCR1JBOFVub3JtIgotfTsKLQotWwotICAgIENvbmRpdGlvbmFsPVdFQkdQVSwK
LSAgICBFbmFibGVkQXRSdW50aW1lPVdlYkdQVQotXSBlbnVtIFdlYkdQVUxvYWRBY3Rpb24gewot
ICAgICJkb250Y2FyZSIsCi0gICAgImxvYWQiLAotICAgICJjbGVhciIKLX07Ci0KLVsKLSAgICBD
b25kaXRpb25hbD1XRUJHUFUsCi0gICAgRW5hYmxlZEF0UnVudGltZT1XZWJHUFUKLV0gZW51bSBX
ZWJHUFVTdG9yZUFjdGlvbiB7Ci0gICAgImRvbnRjYXJlIiwKLSAgICAic3RvcmUiLAotICAgICJt
dWx0aXNhbXBsZXJlc29sdmUiCi19OwotCi1bCi0gICAgQ29uZGl0aW9uYWw9V0VCR1BVLAotICAg
IEVuYWJsZWRBdFJ1bnRpbWU9V2ViR1BVCi1dIGVudW0gV2ViR1BVUHJpbWl0aXZlVHlwZSB7Ci0g
ICAgInBvaW50IiwKLSAgICAibGluZSIsCi0gICAgImxpbmVzdHJpcCIsCi0gICAgInRyaWFuZ2xl
IiwKLSAgICAidHJpYW5nbGVzdHJpcCIKLX07Ci0KLVsKLSAgICBDb25kaXRpb25hbD1XRUJHUFUs
Ci0gICAgRW5hYmxlZEF0UnVudGltZT1XZWJHUFUKLV0gZW51bSBXZWJHUFVGdW5jdGlvblR5cGUg
ewotICAgICJmcmFnbWVudCIsCi0gICAgInZlcnRleCIKLX07Ci0KLVsKLSAgICBDb25kaXRpb25h
bD1XRUJHUFUsCi0gICAgRW5hYmxlZEF0UnVudGltZT1XZWJHUFUKLV0gZW51bSBXZWJHUFVTdGVu
Y2lsT3BlcmF0aW9uIHsKLSAgICAia2VlcCIsCi0gICAgInplcm8iLAotICAgICJyZXBsYWNlIiwK
LSAgICAiaW5jcmVtZW50Y2xhbXAiLAotICAgICJkZWNyZW1lbnRjbGFtcCIsCi0gICAgImludmVy
dCIsCi0gICAgImluY3JlbWVudHdyYXAiLAotICAgICJkZWNyZW1lbnR3cmFwIgotfTsKLQotWwot
ICAgIENvbmRpdGlvbmFsPVdFQkdQVSwKLSAgICBFbmFibGVkQXRSdW50aW1lPVdlYkdQVQotXSBl
bnVtIFdlYkdQVVN0YXR1cyB7Ci0gICAgIm5vdGVucXVldWVkIiwKLSAgICAiZW5xdWV1ZWQiLAot
ICAgICJjb21taXR0ZWQiLAotICAgICJzY2hlZHVsZWQiLAotICAgICJjb21wbGV0ZWQiLAotICAg
ICJlcnJvciIKLX07Ci0KLVsKLSAgICBDb25kaXRpb25hbD1XRUJHUFUsCi0gICAgRW5hYmxlZEF0
UnVudGltZT1XZWJHUFUKLV0gZW51bSBXZWJHUFVTYW1wbGVyQWRkcmVzc01vZGUgewotICAgICJj
bGFtcHRvZWRnZSIsCi0gICAgIm1pcnJvcmNsYW1wdG9lZGdlIiwKLSAgICAicmVwZWF0IiwKLSAg
ICAibWlycm9ycmVwZWF0IiwKLSAgICAiY2xhbXB0b3plcm8iCi19OwotCi1bCi0gICAgQ29uZGl0
aW9uYWw9V0VCR1BVLAotICAgIEVuYWJsZWRBdFJ1bnRpbWU9V2ViR1BVCi1dIGVudW0gV2ViR1BV
U2FtcGxlck1pbk1hZ0ZpbHRlciB7Ci0gICAgIm5lYXJlc3QiLAotICAgICJsaW5lYXIiCi19Owot
Ci1bCi0gICAgQ29uZGl0aW9uYWw9V0VCR1BVLAotICAgIEVuYWJsZWRBdFJ1bnRpbWU9V2ViR1BV
Ci1dIGVudW0gV2ViR1BVU2FtcGxlck1pcEZpbHRlciB7Ci0gICAgIm5vdG1pcG1hcHBlZCIsCi0g
ICAgIm5lYXJlc3QiLAotICAgICJsaW5lYXIiCi19OwotCi1bCi0gICAgQ29uZGl0aW9uYWw9V0VC
R1BVLAotICAgIEVuYWJsZWRBdFJ1bnRpbWU9V2ViR1BVCi1dIGVudW0gV2ViR1BVQ3VsbE1vZGUg
ewotICAgICJub25lIiwKLSAgICAiZnJvbnQiLAotICAgICJiYWNrIgotfTsKLQotWwotICAgIENv
bmRpdGlvbmFsPVdFQkdQVSwKLSAgICBFbmFibGVkQXRSdW50aW1lPVdlYkdQVQotXSBlbnVtIFdl
YkdQVUluZGV4VHlwZSB7Ci0gICAgInVpbnQxNiIsCi0gICAgInVpbnQzMiIKLX07Ci0KLVsKLSAg
ICBDb25kaXRpb25hbD1XRUJHUFUsCi0gICAgRW5hYmxlZEF0UnVudGltZT1XZWJHUFUKLV0gZW51
bSBXZWJHUFVWaXNpYmlsaXR5UmVzdWx0TW9kZSB7Ci0gICAgImRpc2FibGVkIiwKLSAgICAiYm9v
bGVhbiIsCi0gICAgImNvdW50aW5nIgotfTsKLQotWwotICAgIENvbmRpdGlvbmFsPVdFQkdQVSwK
LSAgICBFbmFibGVkQXRSdW50aW1lPVdlYkdQVQotXSBlbnVtIFdlYkdQVVdpbmRpbmcgewotICAg
ICJjbG9ja3dpc2UiLAotICAgICJjb3VudGVyY2xvY2t3aXNlIgotfTsKLQotWwotICAgIENvbmRp
dGlvbmFsPVdFQkdQVSwKLSAgICBFbmFibGVkQXRSdW50aW1lPVdlYkdQVQotXSBlbnVtIFdlYkdQ
VURlcHRoQ2xpcE1vZGUgewotICAgICJjbGlwIiwKLSAgICAiY2xhbXAiCi19OwotCi1bCi0gICAg
Q29uZGl0aW9uYWw9V0VCR1BVLAotICAgIEVuYWJsZWRBdFJ1bnRpbWU9V2ViR1BVCi1dIGVudW0g
V2ViR1BVVHJpYW5nbGVGaWxsTW9kZSB7Ci0gICAgImZpbGwiLAotICAgICJsaW5lcyIKLX07Ci0K
LVsKLSAgICBDb25kaXRpb25hbD1XRUJHUFUsCi0gICAgRW5hYmxlZEF0UnVudGltZT1XZWJHUFUK
LV0gZW51bSBXZWJHUFVDUFVDYWNoZU1vZGUgewotICAgICJkZWZhdWx0Y2FjaGUiLAotICAgICJ3
cml0ZWNvbWJpbmVkIgotfTsKLQotWwotICAgIENvbmRpdGlvbmFsPVdFQkdQVSwKLSAgICBFbmFi
bGVkQXRSdW50aW1lPVdlYkdQVQotXSBlbnVtIFdlYkdQVVN0b3JhZ2VNb2RlIHsKLSAgICAic2hh
cmVkIiwKLSAgICAibWFuYWdlZCIsCi0gICAgInByaXZhdGUiCi19OwotCi1bCi0gICAgQ29uZGl0
aW9uYWw9V0VCR1BVLAotICAgIEVuYWJsZWRBdFJ1bnRpbWU9V2ViR1BVCi1dIGVudW0gV2ViR1BV
UmVzb3VyY2VPcHRpb25zIHsKLSAgICAiY3B1Y2FjaGVtb2RlZGVmYXVsdGNhY2hlIiwKLSAgICAi
Y3B1Y2FjaGVtb2Rld3JpdGVjb21iaW5lZCIsCi0gICAgInN0b3JhZ2Vtb2Rlc2hhcmVkIiwKLSAg
ICAic3RvcmFnZW1vZGVtYW5hZ2VkIiwKLSAgICAic3RvcmFnZW1vZGVwcml2YXRlIiwKLSAgICAi
b3B0aW9uY3B1Y2FjaGVtb2RlZGVmYXVsdGNhY2hlIiwKLSAgICAib3B0aW9uY3B1Y2FjaGVtb2Rl
d3JpdGVjb21iaW5lZCIKLX07Ci0KLVsKLSAgICBDb25kaXRpb25hbD1XRUJHUFUsCi0gICAgRW5h
YmxlZEF0UnVudGltZT1XZWJHUFUKLV0gZW51bSBXZWJHUFVUZXh0dXJlVXNhZ2UgewotICAgICJ1
bmtub3duIiwKLSAgICAic2hhZGVycmVhZCIsCi0gICAgInNoYWRlcndyaXRlIiwKLSAgICAicmVu
ZGVydGFyZ2V0IiwKLSAgICAicGl4ZWxmb3JtYXR2aWV3IgotfTsKLQotWwotICAgIENvbmRpdGlv
bmFsPVdFQkdQVSwKLSAgICBFbmFibGVkQXRSdW50aW1lPVdlYkdQVQotXSBlbnVtIFdlYkdQVUJs
ZW5kT3BlcmF0aW9uIHsKLSAgICAiYWRkIiwKLSAgICAic3VidHJhY3QiLAotICAgICJyZXZlcnNl
c3VidHJhY3QiLAotICAgICJtaW4iLAotICAgICJtYXgiCi19OwotCi1bCi0gICAgQ29uZGl0aW9u
YWw9V0VCR1BVLAotICAgIEVuYWJsZWRBdFJ1bnRpbWU9V2ViR1BVCi1dIGVudW0gV2ViR1BVQmxl
bmRGYWN0b3IgewotICAgICJ6ZXJvIiwKLSAgICAib25lIiwKLSAgICAic291cmNlY29sb3IiLAot
ICAgICJvbmVtaW51c3NvdXJjZWNvbG9yIiwKLSAgICAic291cmNlYWxwaGEiLAotICAgICJvbmVt
aW51c3NvdXJjZWFscGhhIiwKLSAgICAiZGVzdGluYXRpb25jb2xvciIsCi0gICAgIm9uZW1pbnVz
ZGVzdGluYXRpb25jb2xvciIsCi0gICAgImRlc3RpbmF0aW9uYWxwaGEiLAotICAgICJvbmVtaW51
c2Rlc3RpbmF0aW9uYWxwaGEiLAotICAgICJzb3VyY2VhbHBoYXNhdHVyYXRlZCIsCi0gICAgImJs
ZW5kY29sb3IiLAotICAgICJvbmVtaW51c2JsZW5kY29sb3IiLAotICAgICJibGVuZGFscGhhIiwK
LSAgICAib25lbWludXNibGVuZGFscGhhIgotfTsKLQotWwotICAgIENvbmRpdGlvbmFsPVdFQkdQ
VSwKLSAgICBFbmFibGVkQXRSdW50aW1lPVdlYkdQVQotXSBlbnVtIFdlYkdQVUNvbG9yV3JpdGVN
YXNrIHsKLSAgICAibm9uZSIsCi0gICAgInJlZCIsCi0gICAgImdyZWVuIiwKLSAgICAiYmx1ZSIs
Ci0gICAgImFscGhhIiwKLSAgICAiYWxsIgotfTsKLQotWwotICAgIENvbmRpdGlvbmFsPVdFQkdQ
VSwKLSAgICBFbmFibGVkQXRSdW50aW1lPVdlYkdQVQotXSBlbnVtIFdlYkdQVU11bHRpc2FtcGxl
RGVwdGhSZXNvbHZlRmlsdGVyIHsKLSAgICAic2FtcGxlMCIsCi0gICAgIm1pbiIsCi0gICAgIm1h
eCIKLX07Ci0KLVsKLSAgICBDb25kaXRpb25hbD1XRUJHUFUsCi0gICAgRW5hYmxlZEF0UnVudGlt
ZT1XZWJHUFUKLV0gZW51bSBXZWJHUFVGZWF0dXJlU2V0IHsKLSAgICAibGV2ZWwxIiwKLSAgICAi
bGV2ZWwyIgotfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdQ
VUZ1bmN0aW9uLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdQVUZ1bmN0aW9u
LmNwcApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggM2VlMjM4YTM1YzUzZTVhZjJlNjZi
MWQxZmUxMzM2MmYyYWY0OTRlOS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHUFVGdW5jdGlvbi5jcHAK
KysrIC9kZXYvbnVsbApAQCAtMSw0NyArMCwwIEBACi0vKgotICogQ29weXJpZ2h0IChDKSAyMDE3
IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLSAqCi0gKiBSZWRpc3RyaWJ1dGlvbiBh
bmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKLSAqIG1v
ZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29u
ZGl0aW9ucwotICogYXJlIG1ldDoKLSAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29k
ZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlz
dCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCi0gKiAyLiBSZWRp
c3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHly
aWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxv
d2luZyBkaXNjbGFpbWVyIGluIHRoZQotICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIg
bWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KLSAqCi0gKiBUSElTIFNP
RlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gYGBBUyBJUycnIEFORCBBTlkKLSAqIEVY
UFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBU
TywgVEhFCi0gKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRO
RVNTIEZPUiBBIFBBUlRJQ1VMQVIKLSAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBF
VkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SCi0gKiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBB
TlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKLSAqIEVYRU1QTEFSWSwg
T1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywK
LSAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0Yg
VVNFLCBEQVRBLCBPUgotICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dF
VkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQotICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElO
IENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCi0gKiAoSU5DTFVESU5HIE5FR0xJ
R0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKLSAq
IE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0Yg
U1VDSCBEQU1BR0UuCi0gKi8KLQotI2luY2x1ZGUgImNvbmZpZy5oIgotI2luY2x1ZGUgIldlYkdQ
VUZ1bmN0aW9uLmgiCi0KLSNpZiBFTkFCTEUoV0VCR1BVKQotCi0jaW5jbHVkZSAiV2ViR1BVTGli
cmFyeS5oIgotCi1uYW1lc3BhY2UgV2ViQ29yZSB7Ci0KLVJlZjxXZWJHUFVGdW5jdGlvbj4gV2Vi
R1BVRnVuY3Rpb246OmNyZWF0ZShHUFVGdW5jdGlvbiYmIGZ1bmN0aW9uKQotewotICAgIHJldHVy
biBhZG9wdFJlZigqbmV3IFdlYkdQVUZ1bmN0aW9uKFdURk1vdmUoZnVuY3Rpb24pKSk7Ci19Ci0K
LVdlYkdQVUZ1bmN0aW9uOjpXZWJHUFVGdW5jdGlvbihHUFVGdW5jdGlvbiYmIGZ1bmN0aW9uKQot
ICAgIDogbV9mdW5jdGlvbiB7IFdURk1vdmUoZnVuY3Rpb24pIH0KLXsKLX0KLQotfSAvLyBuYW1l
c3BhY2UgV2ViQ29yZQotCi0jZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwv
Y2FudmFzL1dlYkdQVUZ1bmN0aW9uLmggYi9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJH
UFVGdW5jdGlvbi5oCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA4MmQ0ZWU4YjI5ZTNk
NzUzNGRhYTgzZTRkNGY2NWRmMzg2ZDQ1NTFlLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwCi0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdQVUZ1bmN0
aW9uLmgKKysrIC9kZXYvbnVsbApAQCAtMSw1MiArMCwwIEBACi0vKgotICogQ29weXJpZ2h0IChD
KSAyMDE3IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLSAqCi0gKiBSZWRpc3RyaWJ1
dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQK
LSAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dp
bmcgY29uZGl0aW9ucwotICogYXJlIG1ldDoKLSAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3Vy
Y2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRo
aXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCi0gKiAy
LiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3Zl
IGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhl
IGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQotICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Ig
b3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KLSAqCi0gKiBU
SElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gYGBBUyBJUycnIEFORCBBTlkK
LSAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElN
SVRFRCBUTywgVEhFCi0gKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFO
RCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKLSAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJ
TiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SCi0gKiBDT05UUklCVVRPUlMgQkUgTElBQkxF
IEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKLSAqIEVYRU1Q
TEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRF
RCBUTywKLSAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExP
U1MgT0YgVVNFLCBEQVRBLCBPUgotICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9O
KSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQotICogT0YgTElBQklMSVRZLCBXSEVU
SEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCi0gKiAoSU5DTFVESU5H
IE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBV
U0UKLSAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJ
VFkgT0YgU1VDSCBEQU1BR0UuCi0gKi8KLQotI3ByYWdtYSBvbmNlCi0KLSNpZiBFTkFCTEUoV0VC
R1BVKQotCi0jaW5jbHVkZSAiR1BVRnVuY3Rpb24uaCIKLSNpbmNsdWRlIDx3dGYvUmVmLmg+Ci0j
aW5jbHVkZSA8d3RmL1JlZkNvdW50ZWQuaD4KLSNpbmNsdWRlIDx3dGYvdGV4dC9XVEZTdHJpbmcu
aD4KLQotbmFtZXNwYWNlIFdlYkNvcmUgewotCi1jbGFzcyBXZWJHUFVGdW5jdGlvbiA6IHB1Ymxp
YyBSZWZDb3VudGVkPFdlYkdQVUZ1bmN0aW9uPiB7Ci1wdWJsaWM6Ci0gICAgc3RhdGljIFJlZjxX
ZWJHUFVGdW5jdGlvbj4gY3JlYXRlKEdQVUZ1bmN0aW9uJiYpOwotCi0gICAgU3RyaW5nIG5hbWUo
KSBjb25zdCB7IHJldHVybiBtX2Z1bmN0aW9uLm5hbWUoKTsgfQotICAgIGNvbnN0IEdQVUZ1bmN0
aW9uJiBmdW5jdGlvbigpIGNvbnN0IHsgcmV0dXJuIG1fZnVuY3Rpb247IH0KLQotcHJpdmF0ZToK
LSAgICBleHBsaWNpdCBXZWJHUFVGdW5jdGlvbihHUFVGdW5jdGlvbiYmKTsKLQotICAgIEdQVUZ1
bmN0aW9uIG1fZnVuY3Rpb247Ci19OwotICAgIAotfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQotCi0j
ZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdQVUZ1bmN0
aW9uLmlkbCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdQVUZ1bmN0aW9uLmlkbApk
ZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYTE0ZjgzYWQyZjdmOTNkZGE2MjllODRlOGVj
YmMxYmM0M2RkYmZhOC4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHUFVGdW5jdGlvbi5pZGwKKysrIC9k
ZXYvbnVsbApAQCAtMSwzNCArMCwwIEBACi0vKgotICogQ29weXJpZ2h0IChDKSAyMDE3IEFwcGxl
IEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLSAqCi0gKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNl
IGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKLSAqIG1vZGlmaWNh
dGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9u
cwotICogYXJlIG1ldDoKLSAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0
IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBj
b25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCi0gKiAyLiBSZWRpc3RyaWJ1
dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAot
ICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBk
aXNjbGFpbWVyIGluIHRoZQotICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJp
YWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KLSAqCi0gKiBUSElTIFNPRlRXQVJF
IElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gYGBBUyBJUycnIEFORCBBTlkKLSAqIEVYUFJFU1Mg
T1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhF
Ci0gKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZP
UiBBIFBBUlRJQ1VMQVIKLSAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBT
SEFMTCBBUFBMRSBJTkMuIE9SCi0gKiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElS
RUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKLSAqIEVYRU1QTEFSWSwgT1IgQ09O
U0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKLSAqIFBS
T0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBE
QVRBLCBPUgotICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENB
VVNFRCBBTkQgT04gQU5ZIFRIRU9SWQotICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRS
QUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCi0gKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0Ug
T1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKLSAqIE9GIFRI
SVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBE
QU1BR0UuCi0gKi8KLQotWwotICAgIENvbmRpdGlvbmFsPVdFQkdQVSwKLSAgICBFbmFibGVkQXRS
dW50aW1lPVdlYkdQVSwKLSAgICBJbXBsZW1lbnRhdGlvbkxhY2tzVlRhYmxlCi1dIGludGVyZmFj
ZSBXZWJHUFVGdW5jdGlvbiB7Ci0KLSAgICByZWFkb25seSBhdHRyaWJ1dGUgRE9NU3RyaW5nIG5h
bWU7Ci0KLX07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHUFVM
aWJyYXJ5LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdQVUxpYnJhcnkuY3Bw
CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAzMzI0Mzg3YjA2MDZjOWMyNzAyZTU4MTUw
OWVlMTA3MDdhNWNmZDY3Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdQVUxpYnJhcnkuY3BwCisrKyAv
ZGV2L251bGwKQEAgLTEsNjEgKzAsMCBAQAotLyoKLSAqIENvcHlyaWdodCAoQykgMjAxNyBBcHBs
ZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0gKgotICogUmVkaXN0cmlidXRpb24gYW5kIHVz
ZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Ci0gKiBtb2RpZmlj
YXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlv
bnMKLSAqIGFyZSBtZXQ6Ci0gKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVz
dCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2Yg
Y29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgotICogMi4gUmVkaXN0cmli
dXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQK
LSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcg
ZGlzY2xhaW1lciBpbiB0aGUKLSAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVy
aWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCi0gKgotICogVEhJUyBTT0ZUV0FS
RSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCi0gKiBFWFBSRVNT
IE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRI
RQotICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBG
T1IgQSBQQVJUSUNVTEFSCi0gKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQg
U0hBTEwgQVBQTEUgSU5DLiBPUgotICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJ
UkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCi0gKiBFWEVNUExBUlksIE9SIENP
TlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCi0gKiBQ
Uk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwg
REFUQSwgT1IKLSAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBD
QVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKLSAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05U
UkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAotICogKElOQ0xVRElORyBORUdMSUdFTkNF
IE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCi0gKiBPRiBU
SElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0gg
REFNQUdFLgotICovCi0KLSNpbmNsdWRlICJjb25maWcuaCIKLSNpbmNsdWRlICJXZWJHUFVMaWJy
YXJ5LmgiCi0KLSNpZiBFTkFCTEUoV0VCR1BVKQotCi0jaW5jbHVkZSAiV2ViR1BVRnVuY3Rpb24u
aCIKLQotbmFtZXNwYWNlIFdlYkNvcmUgewotCi1SZWY8V2ViR1BVTGlicmFyeT4gV2ViR1BVTGli
cmFyeTo6Y3JlYXRlKEdQVUxpYnJhcnkmJiBsaWJyYXJ5LCBjb25zdCBTdHJpbmcmIHNvdXJjZUNv
ZGUpCi17Ci0gICAgcmV0dXJuIGFkb3B0UmVmKCpuZXcgV2ViR1BVTGlicmFyeShXVEZNb3ZlKGxp
YnJhcnkpLCBzb3VyY2VDb2RlKSk7Ci19Ci0KLVdlYkdQVUxpYnJhcnk6OldlYkdQVUxpYnJhcnko
R1BVTGlicmFyeSYmIGxpYnJhcnksIGNvbnN0IFN0cmluZyYgc291cmNlQ29kZSkKLSAgICA6IG1f
c291cmNlQ29kZSB7IHNvdXJjZUNvZGUgfQotICAgICwgbV9saWJyYXJ5IHsgV1RGTW92ZShsaWJy
YXJ5KSB9Ci17Ci19Ci0KLVZlY3RvcjxTdHJpbmc+IFdlYkdQVUxpYnJhcnk6OmZ1bmN0aW9uTmFt
ZXMoKSBjb25zdAotewotICAgIHJldHVybiBtX2xpYnJhcnkuZnVuY3Rpb25OYW1lcygpOwotfQot
Ci1SZWZQdHI8V2ViR1BVRnVuY3Rpb24+IFdlYkdQVUxpYnJhcnk6OmZ1bmN0aW9uV2l0aE5hbWUo
Y29uc3QgU3RyaW5nJiBuYW1lKSBjb25zdAotewotICAgIEdQVUZ1bmN0aW9uIGZ1bmN0aW9uIHsg
bV9saWJyYXJ5LCBuYW1lIH07Ci0gICAgaWYgKCFmdW5jdGlvbikKLSAgICAgICAgcmV0dXJuIG51
bGxwdHI7Ci0gICAgcmV0dXJuIFdlYkdQVUZ1bmN0aW9uOjpjcmVhdGUoV1RGTW92ZShmdW5jdGlv
bikpOwotfQotCi19IC8vIG5hbWVzcGFjZSBXZWJDb3JlCi0KLSNlbmRpZgpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR1BVTGlicmFyeS5oIGIvU291cmNlL1dlYkNv
cmUvaHRtbC9jYW52YXMvV2ViR1BVTGlicmFyeS5oCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCA4MjkyZjNiMDViODNmNzM3MDM2MTZlYWQzMjhiOTg3ZDRmYjI4MGY4Li4wMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwv
Y2FudmFzL1dlYkdQVUxpYnJhcnkuaAorKysgL2Rldi9udWxsCkBAIC0xLDYwICswLDAgQEAKLS8q
Ci0gKiBDb3B5cmlnaHQgKEMpIDIwMTcgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgot
ICoKLSAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMs
IHdpdGggb3Igd2l0aG91dAotICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVk
IHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCi0gKiBhcmUgbWV0OgotICogMS4gUmVkaXN0
cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQK
LSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcg
ZGlzY2xhaW1lci4KLSAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJl
cHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBj
b25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCi0gKiAgICBkb2N1
bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJp
YnV0aW9uLgotICoKLSAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBg
YEFTIElTJycgQU5EIEFOWQotICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xV
RElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKLSAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBN
RVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgotICogUFVSUE9TRSBB
UkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IKLSAqIENPTlRS
SUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBT
UEVDSUFMLAotICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElO
RywgQlVUIE5PVCBMSU1JVEVEIFRPLAotICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09E
UyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCi0gKiBQUk9GSVRTOyBPUiBCVVNJ
TkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCi0gKiBP
RiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRP
UlQKLSAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5Z
IFdBWSBPVVQgT0YgVEhFIFVTRQotICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VE
IE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KLSAqLwotCi0jcHJhZ21hIG9uY2UK
LQotI2lmIEVOQUJMRShXRUJHUFUpCi0KLSNpbmNsdWRlICJHUFVMaWJyYXJ5LmgiCi0jaW5jbHVk
ZSA8d3RmL1JlZi5oPgotI2luY2x1ZGUgPHd0Zi9SZWZDb3VudGVkLmg+Ci0KLW5hbWVzcGFjZSBX
ZWJDb3JlIHsKLQotY2xhc3MgV2ViR1BVRnVuY3Rpb247Ci0KLWNsYXNzIFdlYkdQVUxpYnJhcnkg
OiBwdWJsaWMgUmVmQ291bnRlZDxXZWJHUFVMaWJyYXJ5PiB7Ci1wdWJsaWM6Ci0gICAgc3RhdGlj
IFJlZjxXZWJHUFVMaWJyYXJ5PiBjcmVhdGUoR1BVTGlicmFyeSYmLCBjb25zdCBTdHJpbmcmIHNv
dXJjZUNvZGUpOwotCi0gICAgY29uc3QgU3RyaW5nJiBzb3VyY2VDb2RlKCkgY29uc3QgeyByZXR1
cm4gbV9zb3VyY2VDb2RlOyB9Ci0KLSAgICBTdHJpbmcgbGFiZWwoKSBjb25zdCB7IHJldHVybiBt
X2xpYnJhcnkubGFiZWwoKTsgfQotICAgIHZvaWQgc2V0TGFiZWwoY29uc3QgU3RyaW5nJiBsYWJl
bCkgeyBtX2xpYnJhcnkuc2V0TGFiZWwobGFiZWwpOyB9Ci0KLSAgICBWZWN0b3I8U3RyaW5nPiBm
dW5jdGlvbk5hbWVzKCkgY29uc3Q7Ci0KLSAgICBSZWZQdHI8V2ViR1BVRnVuY3Rpb24+IGZ1bmN0
aW9uV2l0aE5hbWUoY29uc3QgU3RyaW5nJikgY29uc3Q7Ci0KLXByaXZhdGU6Ci0gICAgV2ViR1BV
TGlicmFyeShHUFVMaWJyYXJ5JiYsIGNvbnN0IFN0cmluZyYgc291cmNlQ29kZSk7Ci0KLSAgICBT
dHJpbmcgbV9zb3VyY2VDb2RlOwotICAgIEdQVUxpYnJhcnkgbV9saWJyYXJ5OwotfTsKLQotfSAv
LyBuYW1lc3BhY2UgV2ViQ29yZQotCi0jZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L2h0bWwvY2FudmFzL1dlYkdQVUxpYnJhcnkuaWRsIGIvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52
YXMvV2ViR1BVTGlicmFyeS5pZGwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDM2ZmYx
YjY5YjBjOTQxN2Q1ZDQ5YzMzZDg1MGE1M2VmN2Y4NmYxNTYuLjAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2Vi
R1BVTGlicmFyeS5pZGwKKysrIC9kZXYvbnVsbApAQCAtMSwzOCArMCwwIEBACi0vKgotICogQ29w
eXJpZ2h0IChDKSAyMDE3IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLSAqCi0gKiBS
ZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9y
IHdpdGhvdXQKLSAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRo
ZSBmb2xsb3dpbmcgY29uZGl0aW9ucwotICogYXJlIG1ldDoKLSAqIDEuIFJlZGlzdHJpYnV0aW9u
cyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBu
b3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWlt
ZXIuCi0gKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2Ug
dGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9u
cyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQotICogICAgZG9jdW1lbnRhdGlv
biBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4K
LSAqCi0gKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gYGBBUyBJUycn
IEFORCBBTlkKLSAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJV
VCBOT1QgTElNSVRFRCBUTywgVEhFCi0gKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRB
QklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKLSAqIFBVUlBPU0UgQVJFIERJU0NM
QUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SCi0gKiBDT05UUklCVVRPUlMg
QkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwK
LSAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBO
T1QgTElNSVRFRCBUTywKLSAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VS
VklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgotICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5U
RVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQotICogT0YgTElBQklM
SVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCi0gKiAo
SU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VU
IE9GIFRIRSBVU0UKLSAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUg
UE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCi0gKi8KLQotWwotICAgIENvbmRpdGlvbmFsPVdF
QkdQVSwKLSAgICBFbmFibGVkQXRSdW50aW1lPVdlYkdQVSwKLSAgICBJbXBsZW1lbnRhdGlvbkxh
Y2tzVlRhYmxlCi1dIGludGVyZmFjZSBXZWJHUFVMaWJyYXJ5IHsKLQotICAgIHJlYWRvbmx5IGF0
dHJpYnV0ZSBET01TdHJpbmcgc291cmNlQ29kZTsKLSAgICBhdHRyaWJ1dGUgRE9NU3RyaW5nIGxh
YmVsOwotICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBzZXF1ZW5jZTxET01TdHJpbmc+IGZ1bmN0aW9u
TmFtZXM7Ci0KLSAgICBXZWJHUFVGdW5jdGlvbj8gZnVuY3Rpb25XaXRoTmFtZShET01TdHJpbmcg
bmFtZSk7Ci0KLX07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJH
UFVSZW5kZXJDb21tYW5kRW5jb2Rlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9X
ZWJHUFVSZW5kZXJDb21tYW5kRW5jb2Rlci5jcHAKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IGVhNTAyYzBkZGY4YjQ3MjZhMGM2ZTBjYTIyZWNkOTc2YmRmY2QzZjUuLjAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9j
YW52YXMvV2ViR1BVUmVuZGVyQ29tbWFuZEVuY29kZXIuY3BwCisrKyAvZGV2L251bGwKQEAgLTEs
ODUgKzAsMCBAQAotLyoKLSAqIENvcHlyaWdodCAoQykgMjAxNyBBcHBsZSBJbmMuIEFsbCByaWdo
dHMgcmVzZXJ2ZWQuCi0gKgotICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5k
IGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Ci0gKiBtb2RpZmljYXRpb24sIGFyZSBwZXJt
aXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKLSAqIGFyZSBtZXQ6
Ci0gKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFi
b3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQg
dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgotICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFy
eSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwg
dGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0
aGUKLSAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3
aXRoIHRoZSBkaXN0cmlidXRpb24uCi0gKgotICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBC
WSBBUFBMRSBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCi0gKiBFWFBSRVNTIE9SIElNUExJRUQgV0FS
UkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQotICogSU1QTElFRCBX
QVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFS
Ci0gKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5D
LiBPUgotICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1Qs
IElOQ0lERU5UQUwsIFNQRUNJQUwsCi0gKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFN
QUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCi0gKiBQUk9DVVJFTUVOVCBPRiBT
VUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKLSAqIFBS
T0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFO
WSBUSEVPUlkKLSAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJ
QUJJTElUWSwgT1IgVE9SVAotICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkg
QVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCi0gKiBPRiBUSElTIFNPRlRXQVJFLCBF
VkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgotICovCi0K
LSNpbmNsdWRlICJjb25maWcuaCIKLSNpbmNsdWRlICJXZWJHUFVSZW5kZXJDb21tYW5kRW5jb2Rl
ci5oIgotCi0jaWYgRU5BQkxFKFdFQkdQVSkKLQotI2luY2x1ZGUgIkdQVUNvbW1hbmRCdWZmZXIu
aCIKLSNpbmNsdWRlICJHUFVSZW5kZXJQYXNzRGVzY3JpcHRvci5oIgotI2luY2x1ZGUgIldlYkdQ
VUJ1ZmZlci5oIgotI2luY2x1ZGUgIldlYkdQVUNvbW1hbmRCdWZmZXIuaCIKLSNpbmNsdWRlICJX
ZWJHUFVEZXB0aFN0ZW5jaWxTdGF0ZS5oIgotI2luY2x1ZGUgIldlYkdQVVJlbmRlclBhc3NEZXNj
cmlwdG9yLmgiCi0jaW5jbHVkZSAiV2ViR1BVUmVuZGVyUGlwZWxpbmVTdGF0ZS5oIgotCi1uYW1l
c3BhY2UgV2ViQ29yZSB7Ci0KLVJlZjxXZWJHUFVSZW5kZXJDb21tYW5kRW5jb2Rlcj4gV2ViR1BV
UmVuZGVyQ29tbWFuZEVuY29kZXI6OmNyZWF0ZShHUFVSZW5kZXJDb21tYW5kRW5jb2RlciYmIGVu
Y29kZXIpCi17Ci0gICAgcmV0dXJuIGFkb3B0UmVmKCpuZXcgV2ViR1BVUmVuZGVyQ29tbWFuZEVu
Y29kZXIoV1RGTW92ZShlbmNvZGVyKSkpOwotfQotCi1XZWJHUFVSZW5kZXJDb21tYW5kRW5jb2Rl
cjo6V2ViR1BVUmVuZGVyQ29tbWFuZEVuY29kZXIoR1BVUmVuZGVyQ29tbWFuZEVuY29kZXImJiBl
bmNvZGVyKQotICAgIDogbV9lbmNvZGVyIHsgV1RGTW92ZShlbmNvZGVyKSB9Ci17Ci19Ci0KLVdl
YkdQVVJlbmRlckNvbW1hbmRFbmNvZGVyOjp+V2ViR1BVUmVuZGVyQ29tbWFuZEVuY29kZXIoKSA9
IGRlZmF1bHQ7Ci0KLXZvaWQgV2ViR1BVUmVuZGVyQ29tbWFuZEVuY29kZXI6OnNldFJlbmRlclBp
cGVsaW5lU3RhdGUoV2ViR1BVUmVuZGVyUGlwZWxpbmVTdGF0ZSYgcGlwZWxpbmVTdGF0ZSkKLXsK
LSAgICBtX2VuY29kZXIuc2V0UmVuZGVyUGlwZWxpbmVTdGF0ZShwaXBlbGluZVN0YXRlLnN0YXRl
KCkpOwotfQotCi12b2lkIFdlYkdQVVJlbmRlckNvbW1hbmRFbmNvZGVyOjpzZXREZXB0aFN0ZW5j
aWxTdGF0ZShXZWJHUFVEZXB0aFN0ZW5jaWxTdGF0ZSYgZGVwdGhTdGVuY2lsU3RhdGUpCi17Ci0g
ICAgbV9lbmNvZGVyLnNldERlcHRoU3RlbmNpbFN0YXRlKGRlcHRoU3RlbmNpbFN0YXRlLnN0YXRl
KCkpOwotfQotCi12b2lkIFdlYkdQVVJlbmRlckNvbW1hbmRFbmNvZGVyOjpzZXRWZXJ0ZXhCdWZm
ZXIoV2ViR1BVQnVmZmVyJiBidWZmZXIsIHVuc2lnbmVkIG9mZnNldCwgdW5zaWduZWQgaW5kZXgp
Ci17Ci0gICAgbV9lbmNvZGVyLnNldFZlcnRleEJ1ZmZlcihidWZmZXIuYnVmZmVyKCksIG9mZnNl
dCwgaW5kZXgpOwotfQotCi12b2lkIFdlYkdQVVJlbmRlckNvbW1hbmRFbmNvZGVyOjpzZXRGcmFn
bWVudEJ1ZmZlcihXZWJHUFVCdWZmZXImIGJ1ZmZlciwgdW5zaWduZWQgb2Zmc2V0LCB1bnNpZ25l
ZCBpbmRleCkKLXsKLSAgICBtX2VuY29kZXIuc2V0RnJhZ21lbnRCdWZmZXIoYnVmZmVyLmJ1ZmZl
cigpLCBvZmZzZXQsIGluZGV4KTsKLX0KLQotdm9pZCBXZWJHUFVSZW5kZXJDb21tYW5kRW5jb2Rl
cjo6ZHJhd1ByaW1pdGl2ZXModW5zaWduZWQgdHlwZSwgdW5zaWduZWQgc3RhcnQsIHVuc2lnbmVk
IGNvdW50KQotewotICAgIG1fZW5jb2Rlci5kcmF3UHJpbWl0aXZlcyh0eXBlLCBzdGFydCwgY291
bnQpOwotfQotCi12b2lkIFdlYkdQVVJlbmRlckNvbW1hbmRFbmNvZGVyOjplbmRFbmNvZGluZygp
Ci17Ci0gICAgcmV0dXJuIG1fZW5jb2Rlci5lbmRFbmNvZGluZygpOwotfQotCi19IC8vIG5hbWVz
cGFjZSBXZWJDb3JlCi0KLSNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9j
YW52YXMvV2ViR1BVUmVuZGVyQ29tbWFuZEVuY29kZXIuaCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwv
Y2FudmFzL1dlYkdQVVJlbmRlckNvbW1hbmRFbmNvZGVyLmgKZGVsZXRlZCBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IGUwMmI3OWU4MDQyYzljM2M0NzAzMGUyOTIyYTMyZTIwNzhjOWI4NGQuLjAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvU291cmNlL1dlYkNvcmUv
aHRtbC9jYW52YXMvV2ViR1BVUmVuZGVyQ29tbWFuZEVuY29kZXIuaAorKysgL2Rldi9udWxsCkBA
IC0xLDYyICswLDAgQEAKLS8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTcgQXBwbGUgSW5jLiBBbGwg
cmlnaHRzIHJlc2VydmVkLgotICoKLSAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNl
IGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAotICogbW9kaWZpY2F0aW9uLCBhcmUg
cGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCi0gKiBhcmUg
bWV0OgotICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRo
ZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KLSAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBi
aW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3Rp
Y2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIg
aW4gdGhlCi0gKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlk
ZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgotICoKLSAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklE
RUQgQlkgQVBQTEUgSU5DLiBgYEFTIElTJycgQU5EIEFOWQotICogRVhQUkVTUyBPUiBJTVBMSUVE
IFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKLSAqIElNUExJ
RUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElD
VUxBUgotICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExF
IElOQy4gT1IKLSAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElS
RUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAotICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFM
IERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAotICogUFJPQ1VSRU1FTlQg
T0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCi0g
KiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBP
TiBBTlkgVEhFT1JZCi0gKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklD
VCBMSUFCSUxJVFksIE9SIFRPUlQKLSAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJ
U0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQotICogT0YgVEhJUyBTT0ZUV0FS
RSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KLSAq
LwotCi0jcHJhZ21hIG9uY2UKLQotI2lmIEVOQUJMRShXRUJHUFUpCi0KLSNpbmNsdWRlICJHUFVS
ZW5kZXJDb21tYW5kRW5jb2Rlci5oIgotI2luY2x1ZGUgPHd0Zi9SZWYuaD4KLSNpbmNsdWRlIDx3
dGYvUmVmQ291bnRlZC5oPgotCi1uYW1lc3BhY2UgV2ViQ29yZSB7Ci0KLWNsYXNzIFdlYkdQVUJ1
ZmZlcjsKLWNsYXNzIFdlYkdQVURlcHRoU3RlbmNpbFN0YXRlOwotY2xhc3MgV2ViR1BVUmVuZGVy
UGlwZWxpbmVTdGF0ZTsKLQotY2xhc3MgV2ViR1BVUmVuZGVyQ29tbWFuZEVuY29kZXIgOiBwdWJs
aWMgUmVmQ291bnRlZDxXZWJHUFVSZW5kZXJDb21tYW5kRW5jb2Rlcj4gewotcHVibGljOgotICAg
IH5XZWJHUFVSZW5kZXJDb21tYW5kRW5jb2RlcigpOwotICAgIHN0YXRpYyBSZWY8V2ViR1BVUmVu
ZGVyQ29tbWFuZEVuY29kZXI+IGNyZWF0ZShHUFVSZW5kZXJDb21tYW5kRW5jb2RlciYmKTsKLQot
ICAgIHZvaWQgc2V0UmVuZGVyUGlwZWxpbmVTdGF0ZShXZWJHUFVSZW5kZXJQaXBlbGluZVN0YXRl
Jik7Ci0gICAgdm9pZCBzZXREZXB0aFN0ZW5jaWxTdGF0ZShXZWJHUFVEZXB0aFN0ZW5jaWxTdGF0
ZSYpOwotICAgIHZvaWQgc2V0VmVydGV4QnVmZmVyKFdlYkdQVUJ1ZmZlciYsIHVuc2lnbmVkIG9m
ZnNldCwgdW5zaWduZWQgaW5kZXgpOwotICAgIHZvaWQgc2V0RnJhZ21lbnRCdWZmZXIoV2ViR1BV
QnVmZmVyJiwgdW5zaWduZWQgb2Zmc2V0LCB1bnNpZ25lZCBpbmRleCk7Ci0gICAgdm9pZCBkcmF3
UHJpbWl0aXZlcyh1bnNpZ25lZCB0eXBlLCB1bnNpZ25lZCBzdGFydCwgdW5zaWduZWQgY291bnQp
OwotICAgIHZvaWQgZW5kRW5jb2RpbmcoKTsKLQotICAgIEdQVVJlbmRlckNvbW1hbmRFbmNvZGVy
JiBlbmNvZGVyKCkgeyByZXR1cm4gbV9lbmNvZGVyOyB9Ci0KLXByaXZhdGU6Ci0gICAgZXhwbGlj
aXQgV2ViR1BVUmVuZGVyQ29tbWFuZEVuY29kZXIoR1BVUmVuZGVyQ29tbWFuZEVuY29kZXImJik7
Ci0KLSAgICBHUFVSZW5kZXJDb21tYW5kRW5jb2RlciBtX2VuY29kZXI7Ci19OwotCi19IC8vIG5h
bWVzcGFjZSBXZWJDb3JlCi0KLSNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRt
bC9jYW52YXMvV2ViR1BVUmVuZGVyQ29tbWFuZEVuY29kZXIuaWRsIGIvU291cmNlL1dlYkNvcmUv
aHRtbC9jYW52YXMvV2ViR1BVUmVuZGVyQ29tbWFuZEVuY29kZXIuaWRsCmRlbGV0ZWQgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwODAwZGMxYjA1Yjg0ZjBmMjMxMDhmNzI5YWZjZDUxOGU3YjM4NDdk
Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL1NvdXJjZS9X
ZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdQVVJlbmRlckNvbW1hbmRFbmNvZGVyLmlkbAorKysgL2Rl
di9udWxsCkBAIC0xLDQwICswLDAgQEAKLS8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTcgQXBwbGUg
SW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgotICoKLSAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2Ug
aW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAotICogbW9kaWZpY2F0
aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25z
Ci0gKiBhcmUgbWV0OgotICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3Qg
cmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNv
bmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KLSAqIDIuIFJlZGlzdHJpYnV0
aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Ci0g
KiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRp
c2NsYWltZXIgaW4gdGhlCi0gKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlh
bHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgotICoKLSAqIFRISVMgU09GVFdBUkUg
SVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBgYEFTIElTJycgQU5EIEFOWQotICogRVhQUkVTUyBP
UiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUK
LSAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9S
IEEgUEFSVElDVUxBUgotICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNI
QUxMIEFQUExFIElOQy4gT1IKLSAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJF
Q1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAotICogRVhFTVBMQVJZLCBPUiBDT05T
RVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAotICogUFJP
Q1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERB
VEEsIE9SCi0gKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FV
U0VEIEFORCBPTiBBTlkgVEhFT1JZCi0gKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJB
Q1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKLSAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBP
UiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQotICogT0YgVEhJ
UyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERB
TUFHRS4KLSAqLwotCi1bCi0gICAgQ29uZGl0aW9uYWw9V0VCR1BVLAotICAgIEVuYWJsZWRBdFJ1
bnRpbWU9V2ViR1BVLAotICAgIEltcGxlbWVudGF0aW9uTGFja3NWVGFibGUKLV0gaW50ZXJmYWNl
IFdlYkdQVVJlbmRlckNvbW1hbmRFbmNvZGVyIHsKLQotICAgIHZvaWQgc2V0UmVuZGVyUGlwZWxp
bmVTdGF0ZShXZWJHUFVSZW5kZXJQaXBlbGluZVN0YXRlIHBpcGVsaW5lU3RhdGUpOwotICAgIHZv
aWQgc2V0RGVwdGhTdGVuY2lsU3RhdGUoV2ViR1BVRGVwdGhTdGVuY2lsU3RhdGUgZGVwdGhTdGVu
Y2lsU3RhdGUpOwotICAgIHZvaWQgc2V0VmVydGV4QnVmZmVyKFdlYkdQVUJ1ZmZlciBidWZmZXIs
IHVuc2lnbmVkIGxvbmcgb2Zmc2V0LCB1bnNpZ25lZCBsb25nIGluZGV4KTsKLSAgICB2b2lkIHNl
dEZyYWdtZW50QnVmZmVyKFdlYkdQVUJ1ZmZlciBidWZmZXIsIHVuc2lnbmVkIGxvbmcgb2Zmc2V0
LCB1bnNpZ25lZCBsb25nIGluZGV4KTsKLSAgICB2b2lkIGRyYXdQcmltaXRpdmVzKHVuc2lnbmVk
IGxvbmcgdHlwZSwgdW5zaWduZWQgbG9uZyBzdGFydCwgdW5zaWduZWQgbG9uZyBjb3VudCk7Ci0K
LSAgICB2b2lkIGVuZEVuY29kaW5nKCk7Ci0KLX07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9odG1sL2NhbnZhcy9XZWJHUFVSZW5kZXJQYXNzQXR0YWNobWVudERlc2NyaXB0b3IuY3BwIGIv
U291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR1BVUmVuZGVyUGFzc0F0dGFjaG1lbnREZXNj
cmlwdG9yLmNwcApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggY2FlMzliYjY1OWQzZDBj
MjlmNTk0MmJkMTgwNjdhMjEzMTNhODkzMC4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHUFVSZW5kZXJQ
YXNzQXR0YWNobWVudERlc2NyaXB0b3IuY3BwCisrKyAvZGV2L251bGwKQEAgLTEsODEgKzAsMCBA
QAotLyoKLSAqIENvcHlyaWdodCAoQykgMjAxNyBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2
ZWQuCi0gKgotICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBm
b3Jtcywgd2l0aCBvciB3aXRob3V0Ci0gKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJv
dmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKLSAqIGFyZSBtZXQ6Ci0gKiAxLiBS
ZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHly
aWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxv
d2luZyBkaXNjbGFpbWVyLgotICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11
c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKLSAqICAg
IGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBk
aXN0cmlidXRpb24uCi0gKgotICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJ
TkMuIGBgQVMgSVMnJyBBTkQgQU5ZCi0gKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywg
SU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQotICogSU1QTElFRCBXQVJSQU5USUVT
IE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCi0gKiBQVVJQ
T1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUgotICog
Q09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5U
QUwsIFNQRUNJQUwsCi0gKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5D
TFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCi0gKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRF
IEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKLSAqIFBST0ZJVFM7IE9S
IEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkK
LSAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwg
T1IgVE9SVAotICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJ
TiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCi0gKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFE
VklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgotICovCi0KLSNpbmNsdWRl
ICJjb25maWcuaCIKLSNpbmNsdWRlICJXZWJHUFVSZW5kZXJQYXNzQXR0YWNobWVudERlc2NyaXB0
b3IuaCIKLQotI2lmIEVOQUJMRShXRUJHUFUpCi0KLSNpbmNsdWRlICJHUFVSZW5kZXJQYXNzQXR0
YWNobWVudERlc2NyaXB0b3IuaCIKLSNpbmNsdWRlICJHUFVUZXh0dXJlLmgiCi0jaW5jbHVkZSAi
V2ViR1BVVGV4dHVyZS5oIgotCi1uYW1lc3BhY2UgV2ViQ29yZSB7Ci0KLVdlYkdQVVJlbmRlclBh
c3NBdHRhY2htZW50RGVzY3JpcHRvcjo6V2ViR1BVUmVuZGVyUGFzc0F0dGFjaG1lbnREZXNjcmlw
dG9yKCkKLXsKLX0KLQotV2ViR1BVUmVuZGVyUGFzc0F0dGFjaG1lbnREZXNjcmlwdG9yOjp+V2Vi
R1BVUmVuZGVyUGFzc0F0dGFjaG1lbnREZXNjcmlwdG9yKCkgPSBkZWZhdWx0OwotCi11bnNpZ25l
ZCBXZWJHUFVSZW5kZXJQYXNzQXR0YWNobWVudERlc2NyaXB0b3I6OmxvYWRBY3Rpb24oKSBjb25z
dAotewotICAgIHJldHVybiBkZXNjcmlwdG9yKCkubG9hZEFjdGlvbigpOwotfQotCi12b2lkIFdl
YkdQVVJlbmRlclBhc3NBdHRhY2htZW50RGVzY3JpcHRvcjo6c2V0TG9hZEFjdGlvbih1bnNpZ25l
ZCBuZXdMb2FkQWN0aW9uKQotewotICAgIGRlc2NyaXB0b3IoKS5zZXRMb2FkQWN0aW9uKG5ld0xv
YWRBY3Rpb24pOwotfQotCi11bnNpZ25lZCBXZWJHUFVSZW5kZXJQYXNzQXR0YWNobWVudERlc2Ny
aXB0b3I6OnN0b3JlQWN0aW9uKCkgY29uc3QKLXsKLSAgICByZXR1cm4gZGVzY3JpcHRvcigpLnN0
b3JlQWN0aW9uKCk7Ci19Ci0KLXZvaWQgV2ViR1BVUmVuZGVyUGFzc0F0dGFjaG1lbnREZXNjcmlw
dG9yOjpzZXRTdG9yZUFjdGlvbih1bnNpZ25lZCBuZXdTdG9yZUFjdGlvbikKLXsKLSAgICBkZXNj
cmlwdG9yKCkuc2V0U3RvcmVBY3Rpb24obmV3U3RvcmVBY3Rpb24pOwotfQotCi1XZWJHUFVUZXh0
dXJlKiBXZWJHUFVSZW5kZXJQYXNzQXR0YWNobWVudERlc2NyaXB0b3I6OnRleHR1cmUoKSBjb25z
dAotewotICAgIHJldHVybiBtX3RleHR1cmUuZ2V0KCk7Ci19Ci0KLXZvaWQgV2ViR1BVUmVuZGVy
UGFzc0F0dGFjaG1lbnREZXNjcmlwdG9yOjpzZXRUZXh0dXJlKFJlZlB0cjxXZWJHUFVUZXh0dXJl
PiYmIG5ld1RleHR1cmUpCi17Ci0gICAgLy8gRklYTUU6IFdoeSBjYW4ndCB3ZSBzZXQgdGhpcyB0
byBudWxsPwotICAgIGlmICghbmV3VGV4dHVyZSkKLSAgICAgICAgcmV0dXJuOwotICAgIAotICAg
IG1fdGV4dHVyZSA9IFdURk1vdmUobmV3VGV4dHVyZSk7Ci0KLSAgICBkZXNjcmlwdG9yKCkuc2V0
VGV4dHVyZShtX3RleHR1cmUtPnRleHR1cmUoKSk7Ci19Ci0KLX0gLy8gbmFtZXNwYWNlIFdlYkNv
cmUKLQotI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJH
UFVSZW5kZXJQYXNzQXR0YWNobWVudERlc2NyaXB0b3IuaCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwv
Y2FudmFzL1dlYkdQVVJlbmRlclBhc3NBdHRhY2htZW50RGVzY3JpcHRvci5oCmRlbGV0ZWQgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwNWY5ZjgwOWY5YmRhYzEwOGFiN2Q2YTYzNjA5OGQ2NDcwOTAx
Mjg3Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL1NvdXJj
ZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdQVVJlbmRlclBhc3NBdHRhY2htZW50RGVzY3JpcHRv
ci5oCisrKyAvZGV2L251bGwKQEAgLTEsNjQgKzAsMCBAQAotLyoKLSAqIENvcHlyaWdodCAoQykg
MjAxNyBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0gKgotICogUmVkaXN0cmlidXRp
b24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Ci0g
KiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5n
IGNvbmRpdGlvbnMKLSAqIGFyZSBtZXQ6Ci0gKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNl
IGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlz
IGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgotICogMi4g
UmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBj
b3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBm
b2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKLSAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90
aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCi0gKgotICogVEhJ
UyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCi0g
KiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlU
RUQgVE8sIFRIRQotICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQg
RklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCi0gKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4g
Tk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUgotICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBG
T1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCi0gKiBFWEVNUExB
UlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQg
VE8sCi0gKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NT
IE9GIFVTRSwgREFUQSwgT1IKLSAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikg
SE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKLSAqIE9GIExJQUJJTElUWSwgV0hFVEhF
UiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAotICogKElOQ0xVRElORyBO
RUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNF
Ci0gKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZ
IE9GIFNVQ0ggREFNQUdFLgotICovCi0KLSNwcmFnbWEgb25jZQotCi0jaWYgRU5BQkxFKFdFQkdQ
VSkKLQotI2luY2x1ZGUgPHd0Zi9SZWYuaD4KLSNpbmNsdWRlIDx3dGYvUmVmQ291bnRlZC5oPgot
Ci1uYW1lc3BhY2UgV2ViQ29yZSB7Ci0KLWNsYXNzIEdQVVJlbmRlclBhc3NBdHRhY2htZW50RGVz
Y3JpcHRvcjsKLWNsYXNzIFdlYkdQVVRleHR1cmU7Ci0KLWNsYXNzIFdlYkdQVVJlbmRlclBhc3NB
dHRhY2htZW50RGVzY3JpcHRvciA6IHB1YmxpYyBSZWZDb3VudGVkPFdlYkdQVVJlbmRlclBhc3NB
dHRhY2htZW50RGVzY3JpcHRvcj4gewotcHVibGljOgotICAgIHZpcnR1YWwgfldlYkdQVVJlbmRl
clBhc3NBdHRhY2htZW50RGVzY3JpcHRvcigpOwotCi0gICAgdW5zaWduZWQgbG9hZEFjdGlvbigp
IGNvbnN0OwotICAgIHZvaWQgc2V0TG9hZEFjdGlvbih1bnNpZ25lZCk7Ci0KLSAgICB1bnNpZ25l
ZCBzdG9yZUFjdGlvbigpIGNvbnN0OwotICAgIHZvaWQgc2V0U3RvcmVBY3Rpb24odW5zaWduZWQp
OwotCi0gICAgV2ViR1BVVGV4dHVyZSogdGV4dHVyZSgpIGNvbnN0OwotICAgIHZvaWQgc2V0VGV4
dHVyZShSZWZQdHI8V2ViR1BVVGV4dHVyZT4mJik7Ci0KLSAgICB2aXJ0dWFsIGJvb2wgaXNDb2xv
ckF0dGFjaG1lbnREZXNjcmlwdG9yKCkgY29uc3QgPSAwOwotCi1wcm90ZWN0ZWQ6Ci0gICAgV2Vi
R1BVUmVuZGVyUGFzc0F0dGFjaG1lbnREZXNjcmlwdG9yKCk7Ci0KLXByaXZhdGU6Ci0gICAgdmly
dHVhbCBjb25zdCBHUFVSZW5kZXJQYXNzQXR0YWNobWVudERlc2NyaXB0b3ImIGRlc2NyaXB0b3Io
KSBjb25zdCA9IDA7Ci0KLSAgICBSZWZQdHI8V2ViR1BVVGV4dHVyZT4gbV90ZXh0dXJlOwotfTsK
LQotfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQotCi0jZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdQVVJlbmRlclBhc3NBdHRhY2htZW50RGVzY3JpcHRvci5p
ZGwgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHUFVSZW5kZXJQYXNzQXR0YWNobWVu
dERlc2NyaXB0b3IuaWRsCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBkYjg4Y2ZjYmRj
NGIzMDA0YzZkN2UwYzAxMDlkOGI5YmI2ZDU0YjNjLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwCi0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdQVVJl
bmRlclBhc3NBdHRhY2htZW50RGVzY3JpcHRvci5pZGwKKysrIC9kZXYvbnVsbApAQCAtMSwzOCAr
MCwwIEBACi0vKgotICogQ29weXJpZ2h0IChDKSAyMDE3IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyBy
ZXNlcnZlZC4KLSAqCi0gKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmlu
YXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKLSAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRl
ZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwotICogYXJlIG1ldDoKLSAq
IDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUg
Y29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUg
Zm9sbG93aW5nIGRpc2NsYWltZXIuCi0gKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZv
cm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlz
IGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQot
ICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGgg
dGhlIGRpc3RyaWJ1dGlvbi4KLSAqCi0gKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQ
UExFIElOQy4gYGBBUyBJUycnIEFORCBBTlkKLSAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5U
SUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCi0gKiBJTVBMSUVEIFdBUlJB
TlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKLSAq
IFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9S
Ci0gKiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5D
SURFTlRBTCwgU1BFQ0lBTCwKLSAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VT
IChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKLSAqIFBST0NVUkVNRU5UIE9GIFNVQlNU
SVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgotICogUFJPRklU
UzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRI
RU9SWQotICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklM
SVRZLCBPUiBUT1JUCi0gKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklT
SU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKLSAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4g
SUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCi0gKi8KLQotWwot
ICAgIENvbmRpdGlvbmFsPVdFQkdQVSwKLSAgICBFbmFibGVkQXRSdW50aW1lPVdlYkdQVSwKLSAg
ICBDdXN0b21Ub0pTT2JqZWN0Ci1dCi1pbnRlcmZhY2UgV2ViR1BVUmVuZGVyUGFzc0F0dGFjaG1l
bnREZXNjcmlwdG9yIHsKLQotICAgIGF0dHJpYnV0ZSBXZWJHUFVUZXh0dXJlPyB0ZXh0dXJlOwot
Ci0gICAgYXR0cmlidXRlIHVuc2lnbmVkIGxvbmcgbG9hZEFjdGlvbjsgLy8gc2hvdWxkIGJlIFdl
YkdQVUxvYWRBY3Rpb24KLSAgICBhdHRyaWJ1dGUgdW5zaWduZWQgbG9uZyBzdG9yZUFjdGlvbjsg
Ly8gc2hvdWxkIGJlIFdlYkdQVVN0b3JlQWN0aW9uCi0KLX07CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHUFVSZW5kZXJQYXNzQ29sb3JBdHRhY2htZW50RGVzY3Jp
cHRvci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHUFVSZW5kZXJQYXNzQ29s
b3JBdHRhY2htZW50RGVzY3JpcHRvci5jcHAKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDFiYmExMDdiZjRjOTgxMjA3MWE0OTIyYmU1MWRlMjhjNmIyM2E2ZmUuLjAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52
YXMvV2ViR1BVUmVuZGVyUGFzc0NvbG9yQXR0YWNobWVudERlc2NyaXB0b3IuY3BwCisrKyAvZGV2
L251bGwKQEAgLTEsNjYgKzAsMCBAQAotLyoKLSAqIENvcHlyaWdodCAoQykgMjAxNyBBcHBsZSBJ
bmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0gKgotICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBp
biBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Ci0gKiBtb2RpZmljYXRp
b24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMK
LSAqIGFyZSBtZXQ6Ci0gKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCBy
ZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29u
ZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgotICogMi4gUmVkaXN0cmlidXRp
b25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAq
ICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlz
Y2xhaW1lciBpbiB0aGUKLSAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFs
cyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCi0gKgotICogVEhJUyBTT0ZUV0FSRSBJ
UyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCi0gKiBFWFBSRVNTIE9S
IElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQot
ICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1Ig
QSBQQVJUSUNVTEFSCi0gKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hB
TEwgQVBQTEUgSU5DLiBPUgotICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVD
VCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCi0gKiBFWEVNUExBUlksIE9SIENPTlNF
UVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCi0gKiBQUk9D
VVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFU
QSwgT1IKLSAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVT
RUQgQU5EIE9OIEFOWSBUSEVPUlkKLSAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFD
VCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAotICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9S
IE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCi0gKiBPRiBUSElT
IFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFN
QUdFLgotICovCi0KLSNpbmNsdWRlICJjb25maWcuaCIKLSNpbmNsdWRlICJXZWJHUFVSZW5kZXJQ
YXNzQ29sb3JBdHRhY2htZW50RGVzY3JpcHRvci5oIgotCi0jaWYgRU5BQkxFKFdFQkdQVSkKLQot
I2luY2x1ZGUgIkdQVVRleHR1cmUuaCIKLSNpbmNsdWRlICJXZWJHUFVUZXh0dXJlLmgiCi0jaW5j
bHVkZSA8d3RmL1ZlY3Rvci5oPgotCi1uYW1lc3BhY2UgV2ViQ29yZSB7Ci0KLVJlZjxXZWJHUFVS
ZW5kZXJQYXNzQ29sb3JBdHRhY2htZW50RGVzY3JpcHRvcj4gV2ViR1BVUmVuZGVyUGFzc0NvbG9y
QXR0YWNobWVudERlc2NyaXB0b3I6OmNyZWF0ZShHUFVSZW5kZXJQYXNzQ29sb3JBdHRhY2htZW50
RGVzY3JpcHRvciYmIGRlc2NyaXB0b3IpCi17Ci0gICAgcmV0dXJuIGFkb3B0UmVmKCpuZXcgV2Vi
R1BVUmVuZGVyUGFzc0NvbG9yQXR0YWNobWVudERlc2NyaXB0b3IoV1RGTW92ZShkZXNjcmlwdG9y
KSkpOwotfQotCi1XZWJHUFVSZW5kZXJQYXNzQ29sb3JBdHRhY2htZW50RGVzY3JpcHRvcjo6V2Vi
R1BVUmVuZGVyUGFzc0NvbG9yQXR0YWNobWVudERlc2NyaXB0b3IoR1BVUmVuZGVyUGFzc0NvbG9y
QXR0YWNobWVudERlc2NyaXB0b3ImJiBkZXNjcmlwdG9yKQotICAgIDogbV9kZXNjcmlwdG9yIHsg
V1RGTW92ZShkZXNjcmlwdG9yKSB9Ci17Ci19Ci0KLVdlYkdQVVJlbmRlclBhc3NDb2xvckF0dGFj
aG1lbnREZXNjcmlwdG9yOjp+V2ViR1BVUmVuZGVyUGFzc0NvbG9yQXR0YWNobWVudERlc2NyaXB0
b3IoKSA9IGRlZmF1bHQ7Ci0KLWNvbnN0IEdQVVJlbmRlclBhc3NBdHRhY2htZW50RGVzY3JpcHRv
ciYgV2ViR1BVUmVuZGVyUGFzc0NvbG9yQXR0YWNobWVudERlc2NyaXB0b3I6OmRlc2NyaXB0b3Io
KSBjb25zdAotewotICAgIHJldHVybiBtX2Rlc2NyaXB0b3I7Ci19Ci0KLVZlY3RvcjxmbG9hdD4g
V2ViR1BVUmVuZGVyUGFzc0NvbG9yQXR0YWNobWVudERlc2NyaXB0b3I6OmNsZWFyQ29sb3IoKSBj
b25zdAotewotICAgIHJldHVybiBtX2Rlc2NyaXB0b3IuY2xlYXJDb2xvcigpOwotfQotCi12b2lk
IFdlYkdQVVJlbmRlclBhc3NDb2xvckF0dGFjaG1lbnREZXNjcmlwdG9yOjpzZXRDbGVhckNvbG9y
KGNvbnN0IFZlY3RvcjxmbG9hdD4mIG5ld0NsZWFyQ29sb3IpCi17Ci0gICAgbV9kZXNjcmlwdG9y
LnNldENsZWFyQ29sb3IobmV3Q2xlYXJDb2xvcik7Ci19Ci0KLX0gLy8gbmFtZXNwYWNlIFdlYkNv
cmUKLQotI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJH
UFVSZW5kZXJQYXNzQ29sb3JBdHRhY2htZW50RGVzY3JpcHRvci5oIGIvU291cmNlL1dlYkNvcmUv
aHRtbC9jYW52YXMvV2ViR1BVUmVuZGVyUGFzc0NvbG9yQXR0YWNobWVudERlc2NyaXB0b3IuaApk
ZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggM2E3ZTBhOWZiZjdmY2E0ZmZkZWU5YzVkZmM4
M2VkMjkxYjcxNjNmNC4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHUFVSZW5kZXJQYXNzQ29sb3JBdHRh
Y2htZW50RGVzY3JpcHRvci5oCisrKyAvZGV2L251bGwKQEAgLTEsNTQgKzAsMCBAQAotLyoKLSAq
IENvcHlyaWdodCAoQykgMjAxNyBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0gKgot
ICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0
aCBvciB3aXRob3V0Ci0gKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhh
dCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKLSAqIGFyZSBtZXQ6Ci0gKiAxLiBSZWRpc3RyaWJ1
dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAotICog
ICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNj
bGFpbWVyLgotICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9k
dWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRp
dGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKLSAqICAgIGRvY3VtZW50
YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRp
b24uCi0gKgotICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIGBgQVMg
SVMnJyBBTkQgQU5ZCi0gKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5H
LCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQotICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNI
QU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCi0gKiBQVVJQT1NFIEFSRSBE
SVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUgotICogQ09OVFJJQlVU
T1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJ
QUwsCi0gKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBC
VVQgTk9UIExJTUlURUQgVE8sCi0gKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9S
IFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKLSAqIFBST0ZJVFM7IE9SIEJVU0lORVNT
IElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKLSAqIE9GIExJ
QUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAot
ICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZ
IE9VVCBPRiBUSEUgVVNFCi0gKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0Yg
VEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgotICovCi0KLSNwcmFnbWEgb25jZQotCi0j
aWYgRU5BQkxFKFdFQkdQVSkKLQotI2luY2x1ZGUgIkdQVVJlbmRlclBhc3NDb2xvckF0dGFjaG1l
bnREZXNjcmlwdG9yLmgiCi0jaW5jbHVkZSAiV2ViR1BVUmVuZGVyUGFzc0F0dGFjaG1lbnREZXNj
cmlwdG9yLmgiCi0KLW5hbWVzcGFjZSBXZWJDb3JlIHsKLQotY2xhc3MgV2ViR1BVUmVuZGVyUGFz
c0NvbG9yQXR0YWNobWVudERlc2NyaXB0b3IgZmluYWwgOiBwdWJsaWMgV2ViR1BVUmVuZGVyUGFz
c0F0dGFjaG1lbnREZXNjcmlwdG9yIHsKLXB1YmxpYzoKLSAgICB2aXJ0dWFsIH5XZWJHUFVSZW5k
ZXJQYXNzQ29sb3JBdHRhY2htZW50RGVzY3JpcHRvcigpOwotICAgIHN0YXRpYyBSZWY8V2ViR1BV
UmVuZGVyUGFzc0NvbG9yQXR0YWNobWVudERlc2NyaXB0b3I+IGNyZWF0ZShHUFVSZW5kZXJQYXNz
Q29sb3JBdHRhY2htZW50RGVzY3JpcHRvciYmKTsKLQotICAgIFZlY3RvcjxmbG9hdD4gY2xlYXJD
b2xvcigpIGNvbnN0OwotICAgIHZvaWQgc2V0Q2xlYXJDb2xvcihjb25zdCBWZWN0b3I8ZmxvYXQ+
Jik7Ci0KLXByaXZhdGU6Ci0gICAgZXhwbGljaXQgV2ViR1BVUmVuZGVyUGFzc0NvbG9yQXR0YWNo
bWVudERlc2NyaXB0b3IoR1BVUmVuZGVyUGFzc0NvbG9yQXR0YWNobWVudERlc2NyaXB0b3ImJik7
Ci0KLSAgICBjb25zdCBHUFVSZW5kZXJQYXNzQXR0YWNobWVudERlc2NyaXB0b3ImIGRlc2NyaXB0
b3IoKSBjb25zdCBmaW5hbDsKLSAgICBib29sIGlzQ29sb3JBdHRhY2htZW50RGVzY3JpcHRvcigp
IGNvbnN0IGZpbmFsIHsgcmV0dXJuIHRydWU7IH0KLQotICAgIEdQVVJlbmRlclBhc3NDb2xvckF0
dGFjaG1lbnREZXNjcmlwdG9yIG1fZGVzY3JpcHRvcjsKLX07Ci0gICAgCi19IC8vIG5hbWVzcGFj
ZSBXZWJDb3JlCi0KLSNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52
YXMvV2ViR1BVUmVuZGVyUGFzc0NvbG9yQXR0YWNobWVudERlc2NyaXB0b3IuaWRsIGIvU291cmNl
L1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR1BVUmVuZGVyUGFzc0NvbG9yQXR0YWNobWVudERlc2Ny
aXB0b3IuaWRsCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBhZDcxZDU2MjBhY2QyYzU1
MjU3YmE2MDJhZjJiOGRhMTU4YTE3OTNjLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwCi0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdQVVJlbmRlclBh
c3NDb2xvckF0dGFjaG1lbnREZXNjcmlwdG9yLmlkbAorKysgL2Rldi9udWxsCkBAIC0xLDMzICsw
LDAgQEAKLS8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTcgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJl
c2VydmVkLgotICoKLSAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5h
cnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAotICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVk
IHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCi0gKiBhcmUgbWV0OgotICog
MS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBj
b3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBm
b2xsb3dpbmcgZGlzY2xhaW1lci4KLSAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9y
bSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCi0g
KiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0
aGUgZGlzdHJpYnV0aW9uLgotICoKLSAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQ
TEUgSU5DLiBgYEFTIElTJycgQU5EIEFOWQotICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJ
RVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKLSAqIElNUExJRUQgV0FSUkFO
VElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgotICog
UFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IK
LSAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJ
REVOVEFMLCBTUEVDSUFMLAotICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMg
KElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAotICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJ
VFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCi0gKiBQUk9GSVRT
OyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhF
T1JZCi0gKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJ
VFksIE9SIFRPUlQKLSAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJ
TkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQotICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJ
RiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KLSAqLwotCi1bCi0g
ICAgQ29uZGl0aW9uYWw9V0VCR1BVLAotICAgIEVuYWJsZWRBdFJ1bnRpbWU9V2ViR1BVCi1dIGlu
dGVyZmFjZSBXZWJHUFVSZW5kZXJQYXNzQ29sb3JBdHRhY2htZW50RGVzY3JpcHRvciA6IFdlYkdQ
VVJlbmRlclBhc3NBdHRhY2htZW50RGVzY3JpcHRvciB7Ci0KLSAgICBhdHRyaWJ1dGUgc2VxdWVu
Y2U8ZmxvYXQ+IGNsZWFyQ29sb3I7Ci0KLX07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9o
dG1sL2NhbnZhcy9XZWJHUFVSZW5kZXJQYXNzRGVwdGhBdHRhY2htZW50RGVzY3JpcHRvci5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHUFVSZW5kZXJQYXNzRGVwdGhBdHRhY2ht
ZW50RGVzY3JpcHRvci5jcHAKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDhlNmU1ZjI4
NDgyYTAyZGQ3NjRmYjU5ZWNkMmVhZTgzZjVhNGQzOWIuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR1BV
UmVuZGVyUGFzc0RlcHRoQXR0YWNobWVudERlc2NyaXB0b3IuY3BwCisrKyAvZGV2L251bGwKQEAg
LTEsNjQgKzAsMCBAQAotLyoKLSAqIENvcHlyaWdodCAoQykgMjAxNyBBcHBsZSBJbmMuIEFsbCBy
aWdodHMgcmVzZXJ2ZWQuCi0gKgotICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2Ug
YW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Ci0gKiBtb2RpZmljYXRpb24sIGFyZSBw
ZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKLSAqIGFyZSBt
ZXQ6Ci0gKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhl
IGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgotICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJp
bmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGlj
ZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBp
biB0aGUKLSAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRl
ZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCi0gKgotICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURF
RCBCWSBBUFBMRSBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCi0gKiBFWFBSRVNTIE9SIElNUExJRUQg
V0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQotICogSU1QTElF
RCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNV
TEFSCi0gKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUg
SU5DLiBPUgotICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJF
Q1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCi0gKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwg
REFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCi0gKiBQUk9DVVJFTUVOVCBP
RiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKLSAq
IFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9O
IEFOWSBUSEVPUlkKLSAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNU
IExJQUJJTElUWSwgT1IgVE9SVAotICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lT
RSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCi0gKiBPRiBUSElTIFNPRlRXQVJF
LCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgotICov
Ci0KLSNpbmNsdWRlICJjb25maWcuaCIKLSNpbmNsdWRlICJXZWJHUFVSZW5kZXJQYXNzRGVwdGhB
dHRhY2htZW50RGVzY3JpcHRvci5oIgotCi0jaWYgRU5BQkxFKFdFQkdQVSkKLQotI2luY2x1ZGUg
IldlYkdQVVRleHR1cmUuaCIKLQotbmFtZXNwYWNlIFdlYkNvcmUgewotCi1SZWY8V2ViR1BVUmVu
ZGVyUGFzc0RlcHRoQXR0YWNobWVudERlc2NyaXB0b3I+IFdlYkdQVVJlbmRlclBhc3NEZXB0aEF0
dGFjaG1lbnREZXNjcmlwdG9yOjpjcmVhdGUoR1BVUmVuZGVyUGFzc0RlcHRoQXR0YWNobWVudERl
c2NyaXB0b3ImJiBkZXNjcmlwdG9yKQotewotICAgIHJldHVybiBhZG9wdFJlZigqbmV3IFdlYkdQ
VVJlbmRlclBhc3NEZXB0aEF0dGFjaG1lbnREZXNjcmlwdG9yKFdURk1vdmUoZGVzY3JpcHRvcikp
KTsKLX0KLQotV2ViR1BVUmVuZGVyUGFzc0RlcHRoQXR0YWNobWVudERlc2NyaXB0b3I6OldlYkdQ
VVJlbmRlclBhc3NEZXB0aEF0dGFjaG1lbnREZXNjcmlwdG9yKEdQVVJlbmRlclBhc3NEZXB0aEF0
dGFjaG1lbnREZXNjcmlwdG9yJiYgZGVzY3JpcHRvcikKLSAgICA6IG1fZGVzY3JpcHRvciB7IFdU
Rk1vdmUoZGVzY3JpcHRvcikgfQotewotfQotCi1XZWJHUFVSZW5kZXJQYXNzRGVwdGhBdHRhY2ht
ZW50RGVzY3JpcHRvcjo6fldlYkdQVVJlbmRlclBhc3NEZXB0aEF0dGFjaG1lbnREZXNjcmlwdG9y
KCkgPSBkZWZhdWx0OwotCi1kb3VibGUgV2ViR1BVUmVuZGVyUGFzc0RlcHRoQXR0YWNobWVudERl
c2NyaXB0b3I6OmNsZWFyRGVwdGgoKSBjb25zdAotewotICAgIHJldHVybiBtX2Rlc2NyaXB0b3Iu
Y2xlYXJEZXB0aCgpOwotfQotCi12b2lkIFdlYkdQVVJlbmRlclBhc3NEZXB0aEF0dGFjaG1lbnRE
ZXNjcmlwdG9yOjpzZXRDbGVhckRlcHRoKGRvdWJsZSBuZXdDbGVhckRlcHRoKQotewotICAgIG1f
ZGVzY3JpcHRvci5zZXRDbGVhckRlcHRoKG5ld0NsZWFyRGVwdGgpOwotfQotCi1jb25zdCBHUFVS
ZW5kZXJQYXNzQXR0YWNobWVudERlc2NyaXB0b3ImIFdlYkdQVVJlbmRlclBhc3NEZXB0aEF0dGFj
aG1lbnREZXNjcmlwdG9yOjpkZXNjcmlwdG9yKCkgY29uc3QKLXsKLSAgICByZXR1cm4gbV9kZXNj
cmlwdG9yOwotfQotCi19IC8vIG5hbWVzcGFjZSBXZWJDb3JlCi0KLSNlbmRpZgpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR1BVUmVuZGVyUGFzc0RlcHRoQXR0YWNo
bWVudERlc2NyaXB0b3IuaCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdQVVJlbmRl
clBhc3NEZXB0aEF0dGFjaG1lbnREZXNjcmlwdG9yLmgKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDA5NTdiMmFlMTc1YTBiN2IxYjJiODk4OTliNzFmM2RiMDliMTc5NmYuLjAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRt
bC9jYW52YXMvV2ViR1BVUmVuZGVyUGFzc0RlcHRoQXR0YWNobWVudERlc2NyaXB0b3IuaAorKysg
L2Rldi9udWxsCkBAIC0xLDU0ICswLDAgQEAKLS8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTcgQXBw
bGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgotICoKLSAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1
c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAotICogbW9kaWZp
Y2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRp
b25zCi0gKiBhcmUgbWV0OgotICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11
c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9m
IGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KLSAqIDIuIFJlZGlzdHJp
YnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0
Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5n
IGRpc2NsYWltZXIgaW4gdGhlCi0gKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRl
cmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgotICoKLSAqIFRISVMgU09GVFdB
UkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBgYEFTIElTJycgQU5EIEFOWQotICogRVhQUkVT
UyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBU
SEUKLSAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1Mg
Rk9SIEEgUEFSVElDVUxBUgotICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5U
IFNIQUxMIEFQUExFIElOQy4gT1IKLSAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBE
SVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAotICogRVhFTVBMQVJZLCBPUiBD
T05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAotICog
UFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0Us
IERBVEEsIE9SCi0gKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIg
Q0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCi0gKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09O
VFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKLSAqIChJTkNMVURJTkcgTkVHTElHRU5D
RSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQotICogT0Yg
VEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNI
IERBTUFHRS4KLSAqLwotCi0jcHJhZ21hIG9uY2UKLQotI2lmIEVOQUJMRShXRUJHUFUpCi0KLSNp
bmNsdWRlICJHUFVSZW5kZXJQYXNzRGVwdGhBdHRhY2htZW50RGVzY3JpcHRvci5oIgotI2luY2x1
ZGUgIldlYkdQVVJlbmRlclBhc3NBdHRhY2htZW50RGVzY3JpcHRvci5oIgotCi1uYW1lc3BhY2Ug
V2ViQ29yZSB7Ci0KLWNsYXNzIFdlYkdQVVJlbmRlclBhc3NEZXB0aEF0dGFjaG1lbnREZXNjcmlw
dG9yIGZpbmFsIDogcHVibGljIFdlYkdQVVJlbmRlclBhc3NBdHRhY2htZW50RGVzY3JpcHRvciB7
Ci1wdWJsaWM6Ci0gICAgdmlydHVhbCB+V2ViR1BVUmVuZGVyUGFzc0RlcHRoQXR0YWNobWVudERl
c2NyaXB0b3IoKTsKLSAgICBzdGF0aWMgUmVmPFdlYkdQVVJlbmRlclBhc3NEZXB0aEF0dGFjaG1l
bnREZXNjcmlwdG9yPiBjcmVhdGUoR1BVUmVuZGVyUGFzc0RlcHRoQXR0YWNobWVudERlc2NyaXB0
b3ImJik7Ci0KLSAgICBkb3VibGUgY2xlYXJEZXB0aCgpIGNvbnN0OwotICAgIHZvaWQgc2V0Q2xl
YXJEZXB0aChkb3VibGUpOwotCi1wcml2YXRlOgotICAgIGV4cGxpY2l0IFdlYkdQVVJlbmRlclBh
c3NEZXB0aEF0dGFjaG1lbnREZXNjcmlwdG9yKEdQVVJlbmRlclBhc3NEZXB0aEF0dGFjaG1lbnRE
ZXNjcmlwdG9yJiYpOwotCi0gICAgY29uc3QgR1BVUmVuZGVyUGFzc0F0dGFjaG1lbnREZXNjcmlw
dG9yJiBkZXNjcmlwdG9yKCkgY29uc3QgZmluYWw7Ci0gICAgYm9vbCBpc0NvbG9yQXR0YWNobWVu
dERlc2NyaXB0b3IoKSBjb25zdCBmaW5hbCB7IHJldHVybiBmYWxzZTsgfQotCi0gICAgR1BVUmVu
ZGVyUGFzc0RlcHRoQXR0YWNobWVudERlc2NyaXB0b3IgbV9kZXNjcmlwdG9yOwotfTsKLSAgICAK
LX0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKLQotI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9odG1sL2NhbnZhcy9XZWJHUFVSZW5kZXJQYXNzRGVwdGhBdHRhY2htZW50RGVzY3JpcHRv
ci5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHUFVSZW5kZXJQYXNzRGVwdGhB
dHRhY2htZW50RGVzY3JpcHRvci5pZGwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDMw
MDhiY2YzM2U4NjgxZmNiZTNiMTY1ZDI4NWY1YTc1MzQzMjE3MDcuLjAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMv
V2ViR1BVUmVuZGVyUGFzc0RlcHRoQXR0YWNobWVudERlc2NyaXB0b3IuaWRsCisrKyAvZGV2L251
bGwKQEAgLTEsMzMgKzAsMCBAQAotLyoKLSAqIENvcHlyaWdodCAoQykgMjAxNyBBcHBsZSBJbmMu
IEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0gKgotICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBz
b3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Ci0gKiBtb2RpZmljYXRpb24s
IGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKLSAq
IGFyZSBtZXQ6Ci0gKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRh
aW4gdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0
aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgotICogMi4gUmVkaXN0cmlidXRpb25z
IGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAg
IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xh
aW1lciBpbiB0aGUKLSAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBw
cm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCi0gKgotICogVEhJUyBTT0ZUV0FSRSBJUyBQ
Uk9WSURFRCBCWSBBUFBMRSBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCi0gKiBFWFBSRVNTIE9SIElN
UExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQotICog
SU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQ
QVJUSUNVTEFSCi0gKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwg
QVBQTEUgSU5DLiBPUgotICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwg
SU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCi0gKiBFWEVNUExBUlksIE9SIENPTlNFUVVF
TlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCi0gKiBQUk9DVVJF
TUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwg
T1IKLSAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQg
QU5EIE9OIEFOWSBUSEVPUlkKLSAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwg
U1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAotICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9U
SEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCi0gKiBPRiBUSElTIFNP
RlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdF
LgotICovCi0KLVsKLSAgICBDb25kaXRpb25hbD1XRUJHUFUsCi0gICAgRW5hYmxlZEF0UnVudGlt
ZT1XZWJHUFUKLV0gaW50ZXJmYWNlIFdlYkdQVVJlbmRlclBhc3NEZXB0aEF0dGFjaG1lbnREZXNj
cmlwdG9yIDogV2ViR1BVUmVuZGVyUGFzc0F0dGFjaG1lbnREZXNjcmlwdG9yIHsKLQotICAgIGF0
dHJpYnV0ZSB1bnJlc3RyaWN0ZWQgZG91YmxlIGNsZWFyRGVwdGg7Ci0KLX07CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHUFVSZW5kZXJQYXNzRGVzY3JpcHRvci5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHUFVSZW5kZXJQYXNzRGVzY3JpcHRv
ci5jcHAKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGUwZjYyMDQ4YjQyOGE4NmIzNmI0
MWExMmYxMTVmMjMyZDY0YmM2ZGMuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR1BVUmVuZGVyUGFzc0Rl
c2NyaXB0b3IuY3BwCisrKyAvZGV2L251bGwKQEAgLTEsNjMgKzAsMCBAQAotLyoKLSAqIENvcHly
aWdodCAoQykgMjAxNyBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0gKgotICogUmVk
aXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3
aXRob3V0Ci0gKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUg
Zm9sbG93aW5nIGNvbmRpdGlvbnMKLSAqIGFyZSBtZXQ6Ci0gKiAxLiBSZWRpc3RyaWJ1dGlvbnMg
b2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
LgotICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRo
ZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKLSAqICAgIGRvY3VtZW50YXRpb24g
YW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCi0g
KgotICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIGBgQVMgSVMnJyBB
TkQgQU5ZCi0gKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQg
Tk9UIExJTUlURUQgVE8sIFRIRQotICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJ
TElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCi0gKiBQVVJQT1NFIEFSRSBESVNDTEFJ
TUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUgotICogQ09OVFJJQlVUT1JTIEJF
IExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCi0g
KiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9U
IExJTUlURUQgVE8sCi0gKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJ
Q0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKLSAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVS
UlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKLSAqIE9GIExJQUJJTElU
WSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAotICogKElO
Q0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBP
RiBUSEUgVVNFCi0gKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBP
U1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgotICovCi0KLSNpbmNsdWRlICJjb25maWcuaCIKLSNp
bmNsdWRlICJXZWJHUFVSZW5kZXJQYXNzRGVzY3JpcHRvci5oIgotCi0jaWYgRU5BQkxFKFdFQkdQ
VSkKLQotbmFtZXNwYWNlIFdlYkNvcmUgewotCi1SZWY8V2ViR1BVUmVuZGVyUGFzc0Rlc2NyaXB0
b3I+IFdlYkdQVVJlbmRlclBhc3NEZXNjcmlwdG9yOjpjcmVhdGUoKQotewotICAgIHJldHVybiBh
ZG9wdFJlZigqbmV3IFdlYkdQVVJlbmRlclBhc3NEZXNjcmlwdG9yKTsKLX0KLQotV2ViR1BVUmVu
ZGVyUGFzc0Rlc2NyaXB0b3I6OldlYkdQVVJlbmRlclBhc3NEZXNjcmlwdG9yKCkgPSBkZWZhdWx0
OwotCi1XZWJHUFVSZW5kZXJQYXNzRGVzY3JpcHRvcjo6fldlYkdQVVJlbmRlclBhc3NEZXNjcmlw
dG9yKCkgPSBkZWZhdWx0OwotCi1XZWJHUFVSZW5kZXJQYXNzRGVwdGhBdHRhY2htZW50RGVzY3Jp
cHRvciYgV2ViR1BVUmVuZGVyUGFzc0Rlc2NyaXB0b3I6OmRlcHRoQXR0YWNobWVudCgpCi17Ci0g
ICAgaWYgKCFtX2RlcHRoQXR0YWNobWVudCkKLSAgICAgICAgbV9kZXB0aEF0dGFjaG1lbnQgPSBX
ZWJHUFVSZW5kZXJQYXNzRGVwdGhBdHRhY2htZW50RGVzY3JpcHRvcjo6Y3JlYXRlKG1fZGVzY3Jp
cHRvci5kZXB0aEF0dGFjaG1lbnQoKSk7Ci0gICAgcmV0dXJuICptX2RlcHRoQXR0YWNobWVudDsK
LX0KLQotY29uc3QgVmVjdG9yPFJlZlB0cjxXZWJHUFVSZW5kZXJQYXNzQ29sb3JBdHRhY2htZW50
RGVzY3JpcHRvcj4+JiBXZWJHUFVSZW5kZXJQYXNzRGVzY3JpcHRvcjo6Y29sb3JBdHRhY2htZW50
cygpCi17Ci0gICAgaWYgKG1fY29sb3JBdHRhY2htZW50cy5pc0VtcHR5KCkpIHsKLSAgICAgICAg
YXV0byBhdHRhY2htZW50cyA9IG1fZGVzY3JpcHRvci5jb2xvckF0dGFjaG1lbnRzKCk7Ci0gICAg
ICAgIEFTU0VSVCghYXR0YWNobWVudHMuaXNFbXB0eSgpKTsKLSAgICAgICAgbV9jb2xvckF0dGFj
aG1lbnRzLnJlc2VydmVJbml0aWFsQ2FwYWNpdHkoYXR0YWNobWVudHMuc2l6ZSgpKTsKLSAgICAg
ICAgZm9yIChhdXRvJiBhdHRhY2htZW50IDogYXR0YWNobWVudHMpCi0gICAgICAgICAgICBtX2Nv
bG9yQXR0YWNobWVudHMudW5jaGVja2VkQXBwZW5kKFdlYkdQVVJlbmRlclBhc3NDb2xvckF0dGFj
aG1lbnREZXNjcmlwdG9yOjpjcmVhdGUoV1RGTW92ZShhdHRhY2htZW50KSkpOwotICAgIH0KLSAg
ICByZXR1cm4gbV9jb2xvckF0dGFjaG1lbnRzOwotfQotCi19IC8vIG5hbWVzcGFjZSBXZWJDb3Jl
Ci0KLSNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR1BV
UmVuZGVyUGFzc0Rlc2NyaXB0b3IuaCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdQ
VVJlbmRlclBhc3NEZXNjcmlwdG9yLmgKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGQz
MmQxZmE5MmIzOGQwNjFiZGYwNzNjZGY1YjhlODQ2ZGEyNzczOWUuLjAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMv
V2ViR1BVUmVuZGVyUGFzc0Rlc2NyaXB0b3IuaAorKysgL2Rldi9udWxsCkBAIC0xLDYwICswLDAg
QEAKLS8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTcgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2Vy
dmVkLgotICoKLSAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkg
Zm9ybXMsIHdpdGggb3Igd2l0aG91dAotICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHBy
b3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCi0gKiBhcmUgbWV0OgotICogMS4g
UmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5
cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xs
b3dpbmcgZGlzY2xhaW1lci4KLSAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBt
dXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlz
dCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCi0gKiAg
ICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUg
ZGlzdHJpYnV0aW9uLgotICoKLSAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUg
SU5DLiBgYEFTIElTJycgQU5EIEFOWQotICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMs
IElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKLSAqIElNUExJRUQgV0FSUkFOVElF
UyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgotICogUFVS
UE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IKLSAq
IENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVO
VEFMLCBTUEVDSUFMLAotICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElO
Q0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAotICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVU
RSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCi0gKiBQUk9GSVRTOyBP
UiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZ
Ci0gKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFks
IE9SIFRPUlQKLSAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcg
SU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQotICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBB
RFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KLSAqLwotCi0jcHJhZ21h
IG9uY2UKLQotI2lmIEVOQUJMRShXRUJHUFUpCi0KLSNpbmNsdWRlICJHUFVSZW5kZXJQYXNzRGVz
Y3JpcHRvci5oIgotI2luY2x1ZGUgIldlYkdQVVJlbmRlclBhc3NDb2xvckF0dGFjaG1lbnREZXNj
cmlwdG9yLmgiCi0jaW5jbHVkZSAiV2ViR1BVUmVuZGVyUGFzc0RlcHRoQXR0YWNobWVudERlc2Ny
aXB0b3IuaCIKLSNpbmNsdWRlIDx3dGYvUmVmLmg+Ci0jaW5jbHVkZSA8d3RmL1JlZkNvdW50ZWQu
aD4KLSNpbmNsdWRlIDx3dGYvVmVjdG9yLmg+Ci0KLW5hbWVzcGFjZSBXZWJDb3JlIHsKLQotY2xh
c3MgV2ViR1BVUmVuZGVyUGFzc0Rlc2NyaXB0b3IgOiBwdWJsaWMgUmVmQ291bnRlZDxXZWJHUFVS
ZW5kZXJQYXNzRGVzY3JpcHRvcj4gewotcHVibGljOgotICAgIH5XZWJHUFVSZW5kZXJQYXNzRGVz
Y3JpcHRvcigpOwotICAgIHN0YXRpYyBSZWY8V2ViR1BVUmVuZGVyUGFzc0Rlc2NyaXB0b3I+IGNy
ZWF0ZSgpOwotCi0gICAgV2ViR1BVUmVuZGVyUGFzc0RlcHRoQXR0YWNobWVudERlc2NyaXB0b3Im
IGRlcHRoQXR0YWNobWVudCgpOwotICAgIGNvbnN0IFZlY3RvcjxSZWZQdHI8V2ViR1BVUmVuZGVy
UGFzc0NvbG9yQXR0YWNobWVudERlc2NyaXB0b3I+PiYgY29sb3JBdHRhY2htZW50cygpOwotCi0g
ICAgY29uc3QgR1BVUmVuZGVyUGFzc0Rlc2NyaXB0b3ImIGRlc2NyaXB0b3IoKSBjb25zdCB7IHJl
dHVybiBtX2Rlc2NyaXB0b3I7IH0KLQotcHJpdmF0ZToKLSAgICBXZWJHUFVSZW5kZXJQYXNzRGVz
Y3JpcHRvcigpOwotCi0gICAgVmVjdG9yPFJlZlB0cjxXZWJHUFVSZW5kZXJQYXNzQ29sb3JBdHRh
Y2htZW50RGVzY3JpcHRvcj4+IG1fY29sb3JBdHRhY2htZW50czsKLSAgICBSZWZQdHI8V2ViR1BV
UmVuZGVyUGFzc0RlcHRoQXR0YWNobWVudERlc2NyaXB0b3I+IG1fZGVwdGhBdHRhY2htZW50Owot
Ci0gICAgR1BVUmVuZGVyUGFzc0Rlc2NyaXB0b3IgbV9kZXNjcmlwdG9yOwotfTsKLSAgICAKLX0g
Ly8gbmFtZXNwYWNlIFdlYkNvcmUKLQotI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9odG1sL2NhbnZhcy9XZWJHUFVSZW5kZXJQYXNzRGVzY3JpcHRvci5pZGwgYi9Tb3VyY2UvV2Vi
Q29yZS9odG1sL2NhbnZhcy9XZWJHUFVSZW5kZXJQYXNzRGVzY3JpcHRvci5pZGwKZGVsZXRlZCBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IGQ1MWM3ZGRkMjM1NTFjM2Q4YzVhZjFiYzJkNGFmMzBmNzk4
MzU1N2EuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvU291
cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR1BVUmVuZGVyUGFzc0Rlc2NyaXB0b3IuaWRsCisr
KyAvZGV2L251bGwKQEAgLTEsNDAgKzAsMCBAQAotLyoKLSAqIENvcHlyaWdodCAoQykgMjAxNyBB
cHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0gKgotICogUmVkaXN0cmlidXRpb24gYW5k
IHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Ci0gKiBtb2Rp
ZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRp
dGlvbnMKLSAqIGFyZSBtZXQ6Ci0gKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUg
bXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qg
b2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgotICogMi4gUmVkaXN0
cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmln
aHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dp
bmcgZGlzY2xhaW1lciBpbiB0aGUKLSAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1h
dGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCi0gKgotICogVEhJUyBTT0ZU
V0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCi0gKiBFWFBS
RVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8s
IFRIRQotICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVT
UyBGT1IgQSBQQVJUSUNVTEFSCi0gKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZF
TlQgU0hBTEwgQVBQTEUgSU5DLiBPUgotICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5Z
IERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCi0gKiBFWEVNUExBUlksIE9S
IENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCi0g
KiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVT
RSwgREFUQSwgT1IKLSAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZF
UiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKLSAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBD
T05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAotICogKElOQ0xVRElORyBORUdMSUdF
TkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCi0gKiBP
RiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNV
Q0ggREFNQUdFLgotICovCi0KLVsKLSAgICBDb25zdHJ1Y3RvciwKLSAgICBDb25kaXRpb25hbD1X
RUJHUFUsCi0gICAgRW5hYmxlZEF0UnVudGltZT1XZWJHUFUsCi0gICAgSW1wbGVtZW50YXRpb25M
YWNrc1ZUYWJsZQotXSBpbnRlcmZhY2UgV2ViR1BVUmVuZGVyUGFzc0Rlc2NyaXB0b3IgewotCi0g
ICAgcmVhZG9ubHkgYXR0cmlidXRlIHNlcXVlbmNlPFdlYkdQVVJlbmRlclBhc3NDb2xvckF0dGFj
aG1lbnREZXNjcmlwdG9yPiBjb2xvckF0dGFjaG1lbnRzOwotICAgIHJlYWRvbmx5IGF0dHJpYnV0
ZSBXZWJHUFVSZW5kZXJQYXNzRGVwdGhBdHRhY2htZW50RGVzY3JpcHRvciBkZXB0aEF0dGFjaG1l
bnQ7Ci0gICAgLy9yZWFkb25seSBhdHRyaWJ1dGUgV2ViR1BVUmVuZGVyUGFzc1N0ZW5jaWxBdHRh
Y2htZW50RGVzY3JpcHRvciBzdGVuY2lsQXR0YWNobWVudDsKLQotICAgIC8vIHJlbmRlclRhcmdl
dEFycmF5TGVuZ3RoCi0gICAgLy8gdmlzaWJpbGl0eVJlc3VsdEJ1ZmZlcgotCi19OwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR1BVUmVuZGVyUGlwZWxpbmVDb2xv
ckF0dGFjaG1lbnREZXNjcmlwdG9yLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dl
YkdQVVJlbmRlclBpcGVsaW5lQ29sb3JBdHRhY2htZW50RGVzY3JpcHRvci5jcHAKZGVsZXRlZCBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDY2Y2FjNmI1MDdmNDMwNDQ4MzRmY2VmYTg2NGMyNmRjOTgz
NzcxYWMuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvU291
cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR1BVUmVuZGVyUGlwZWxpbmVDb2xvckF0dGFjaG1l
bnREZXNjcmlwdG9yLmNwcAorKysgL2Rldi9udWxsCkBAIC0xLDU1ICswLDAgQEAKLS8qCi0gKiBD
b3B5cmlnaHQgKEMpIDIwMTcgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgotICoKLSAq
IFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGgg
b3Igd2l0aG91dAotICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQg
dGhlIGZvbGxvd2luZyBjb25kaXRpb25zCi0gKiBhcmUgbWV0OgotICogMS4gUmVkaXN0cmlidXRp
b25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAg
IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xh
aW1lci4KLSAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVj
ZSB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRp
b25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCi0gKiAgICBkb2N1bWVudGF0
aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9u
LgotICoKLSAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBgYEFTIElT
JycgQU5EIEFOWQotICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywg
QlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKLSAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFO
VEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgotICogUFVSUE9TRSBBUkUgRElT
Q0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IKLSAqIENPTlRSSUJVVE9S
UyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFM
LAotICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVU
IE5PVCBMSU1JVEVEIFRPLAotICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBT
RVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCi0gKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJ
TlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCi0gKiBPRiBMSUFC
SUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKLSAq
IChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBP
VVQgT0YgVEhFIFVTRQotICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRI
RSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KLSAqLwotCi0jaW5jbHVkZSAiY29uZmlnLmgi
Ci0jaW5jbHVkZSAiV2ViR1BVUmVuZGVyUGlwZWxpbmVDb2xvckF0dGFjaG1lbnREZXNjcmlwdG9y
LmgiCi0KLSNpZiBFTkFCTEUoV0VCR1BVKQotCi1uYW1lc3BhY2UgV2ViQ29yZSB7Ci0KLVJlZjxX
ZWJHUFVSZW5kZXJQaXBlbGluZUNvbG9yQXR0YWNobWVudERlc2NyaXB0b3I+IFdlYkdQVVJlbmRl
clBpcGVsaW5lQ29sb3JBdHRhY2htZW50RGVzY3JpcHRvcjo6Y3JlYXRlKEdQVVJlbmRlclBpcGVs
aW5lQ29sb3JBdHRhY2htZW50RGVzY3JpcHRvciYmIGRlc2NyaXB0b3IpCi17Ci0gICAgcmV0dXJu
IGFkb3B0UmVmKCpuZXcgV2ViR1BVUmVuZGVyUGlwZWxpbmVDb2xvckF0dGFjaG1lbnREZXNjcmlw
dG9yKFdURk1vdmUoZGVzY3JpcHRvcikpKTsKLX0KLQotV2ViR1BVUmVuZGVyUGlwZWxpbmVDb2xv
ckF0dGFjaG1lbnREZXNjcmlwdG9yOjpXZWJHUFVSZW5kZXJQaXBlbGluZUNvbG9yQXR0YWNobWVu
dERlc2NyaXB0b3IoR1BVUmVuZGVyUGlwZWxpbmVDb2xvckF0dGFjaG1lbnREZXNjcmlwdG9yJiYg
ZGVzY3JpcHRvcikKLSAgICA6IG1fZGVzY3JpcHRvciB7IFdURk1vdmUoZGVzY3JpcHRvcikgfQot
ewotfQotCi11bnNpZ25lZCBXZWJHUFVSZW5kZXJQaXBlbGluZUNvbG9yQXR0YWNobWVudERlc2Ny
aXB0b3I6OnBpeGVsRm9ybWF0KCkgY29uc3QKLXsKLSAgICByZXR1cm4gbV9kZXNjcmlwdG9yLnBp
eGVsRm9ybWF0KCk7Ci19Ci0KLXZvaWQgV2ViR1BVUmVuZGVyUGlwZWxpbmVDb2xvckF0dGFjaG1l
bnREZXNjcmlwdG9yOjpzZXRQaXhlbEZvcm1hdCh1bnNpZ25lZCBuZXdQaXhlbEZvcm1hdCkKLXsK
LSAgICBtX2Rlc2NyaXB0b3Iuc2V0UGl4ZWxGb3JtYXQobmV3UGl4ZWxGb3JtYXQpOwotfQotCi19
IC8vIG5hbWVzcGFjZSBXZWJDb3JlCi0KLSNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvaHRtbC9jYW52YXMvV2ViR1BVUmVuZGVyUGlwZWxpbmVDb2xvckF0dGFjaG1lbnREZXNjcmlw
dG9yLmggYi9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHUFVSZW5kZXJQaXBlbGluZUNv
bG9yQXR0YWNobWVudERlc2NyaXB0b3IuaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
YzYwMjU1NmIxMTM3MjZiYTNhMzc0NjI3ZjQ2Njc4YTNjOWUzMzNkMC4uMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZh
cy9XZWJHUFVSZW5kZXJQaXBlbGluZUNvbG9yQXR0YWNobWVudERlc2NyaXB0b3IuaAorKysgL2Rl
di9udWxsCkBAIC0xLDUxICswLDAgQEAKLS8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTcgQXBwbGUg
SW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgotICoKLSAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2Ug
aW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAotICogbW9kaWZpY2F0
aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25z
Ci0gKiBhcmUgbWV0OgotICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3Qg
cmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNv
bmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KLSAqIDIuIFJlZGlzdHJpYnV0
aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Ci0g
KiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRp
c2NsYWltZXIgaW4gdGhlCi0gKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlh
bHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgotICoKLSAqIFRISVMgU09GVFdBUkUg
SVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBgYEFTIElTJycgQU5EIEFOWQotICogRVhQUkVTUyBP
UiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUK
LSAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9S
IEEgUEFSVElDVUxBUgotICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNI
QUxMIEFQUExFIElOQy4gT1IKLSAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJF
Q1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAotICogRVhFTVBMQVJZLCBPUiBDT05T
RVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAotICogUFJP
Q1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERB
VEEsIE9SCi0gKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FV
U0VEIEFORCBPTiBBTlkgVEhFT1JZCi0gKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJB
Q1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKLSAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBP
UiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQotICogT0YgVEhJ
UyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERB
TUFHRS4KLSAqLwotCi0jcHJhZ21hIG9uY2UKLQotI2lmIEVOQUJMRShXRUJHUFUpCi0KLSNpbmNs
dWRlICJHUFVSZW5kZXJQaXBlbGluZUNvbG9yQXR0YWNobWVudERlc2NyaXB0b3IuaCIKLSNpbmNs
dWRlIDx3dGYvUmVmLmg+Ci0jaW5jbHVkZSA8d3RmL1JlZkNvdW50ZWQuaD4KLQotbmFtZXNwYWNl
IFdlYkNvcmUgewotCi1jbGFzcyBXZWJHUFVSZW5kZXJQaXBlbGluZUNvbG9yQXR0YWNobWVudERl
c2NyaXB0b3IgOiBwdWJsaWMgUmVmQ291bnRlZDxXZWJHUFVSZW5kZXJQaXBlbGluZUNvbG9yQXR0
YWNobWVudERlc2NyaXB0b3I+IHsKLXB1YmxpYzoKLSAgICBzdGF0aWMgUmVmPFdlYkdQVVJlbmRl
clBpcGVsaW5lQ29sb3JBdHRhY2htZW50RGVzY3JpcHRvcj4gY3JlYXRlKEdQVVJlbmRlclBpcGVs
aW5lQ29sb3JBdHRhY2htZW50RGVzY3JpcHRvciYmKTsKLQotICAgIHVuc2lnbmVkIHBpeGVsRm9y
bWF0KCkgY29uc3Q7Ci0gICAgdm9pZCBzZXRQaXhlbEZvcm1hdCh1bnNpZ25lZCk7Ci0KLXByaXZh
dGU6Ci0gICAgZXhwbGljaXQgV2ViR1BVUmVuZGVyUGlwZWxpbmVDb2xvckF0dGFjaG1lbnREZXNj
cmlwdG9yKEdQVVJlbmRlclBpcGVsaW5lQ29sb3JBdHRhY2htZW50RGVzY3JpcHRvciYmKTsKLQot
ICAgIEdQVVJlbmRlclBpcGVsaW5lQ29sb3JBdHRhY2htZW50RGVzY3JpcHRvciBtX2Rlc2NyaXB0
b3I7Ci19OwotICAgIAotfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQotCi0jZW5kaWYKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdQVVJlbmRlclBpcGVsaW5lQ29sb3JB
dHRhY2htZW50RGVzY3JpcHRvci5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJH
UFVSZW5kZXJQaXBlbGluZUNvbG9yQXR0YWNobWVudERlc2NyaXB0b3IuaWRsCmRlbGV0ZWQgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCBiMzE0OTNhN2I2OWIwZTM5NzNiYzdhZjZhZGI4ODg5NTA0NDE5
MDdjLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL1NvdXJj
ZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdQVVJlbmRlclBpcGVsaW5lQ29sb3JBdHRhY2htZW50
RGVzY3JpcHRvci5pZGwKKysrIC9kZXYvbnVsbApAQCAtMSwzNCArMCwwIEBACi0vKgotICogQ29w
eXJpZ2h0IChDKSAyMDE3IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLSAqCi0gKiBS
ZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9y
IHdpdGhvdXQKLSAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRo
ZSBmb2xsb3dpbmcgY29uZGl0aW9ucwotICogYXJlIG1ldDoKLSAqIDEuIFJlZGlzdHJpYnV0aW9u
cyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBu
b3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWlt
ZXIuCi0gKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2Ug
dGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9u
cyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQotICogICAgZG9jdW1lbnRhdGlv
biBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4K
LSAqCi0gKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gYGBBUyBJUycn
IEFORCBBTlkKLSAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJV
VCBOT1QgTElNSVRFRCBUTywgVEhFCi0gKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRB
QklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKLSAqIFBVUlBPU0UgQVJFIERJU0NM
QUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SCi0gKiBDT05UUklCVVRPUlMg
QkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwK
LSAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBO
T1QgTElNSVRFRCBUTywKLSAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VS
VklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgotICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5U
RVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQotICogT0YgTElBQklM
SVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCi0gKiAo
SU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VU
IE9GIFRIRSBVU0UKLSAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUg
UE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCi0gKi8KLQotWwotICAgIENvbmRpdGlvbmFsPVdF
QkdQVSwKLSAgICBFbmFibGVkQXRSdW50aW1lPVdlYkdQVSwKLSAgICBJbXBsZW1lbnRhdGlvbkxh
Y2tzVlRhYmxlCi1dIGludGVyZmFjZSBXZWJHUFVSZW5kZXJQaXBlbGluZUNvbG9yQXR0YWNobWVu
dERlc2NyaXB0b3IgewotCi0gICAgYXR0cmlidXRlIHVuc2lnbmVkIGxvbmcgcGl4ZWxGb3JtYXQ7
IC8vIHNob3VsZCBiZSBNVExQaXhlbEZvcm1hdAotCi19OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvaHRtbC9jYW52YXMvV2ViR1BVUmVuZGVyUGlwZWxpbmVEZXNjcmlwdG9yLmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdQVVJlbmRlclBpcGVsaW5lRGVzY3JpcHRvci5j
cHAKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGMyYTA0ODA4MDZkNDY3NWNhODNlZTg5
NjdmOWU3OGRjOGMxNzk3NWUuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR1BVUmVuZGVyUGlwZWxpbmVE
ZXNjcmlwdG9yLmNwcAorKysgL2Rldi9udWxsCkBAIC0xLDExMCArMCwwIEBACi0vKgotICogQ29w
eXJpZ2h0IChDKSAyMDE3IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLSAqCi0gKiBS
ZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9y
IHdpdGhvdXQKLSAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRo
ZSBmb2xsb3dpbmcgY29uZGl0aW9ucwotICogYXJlIG1ldDoKLSAqIDEuIFJlZGlzdHJpYnV0aW9u
cyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBu
b3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWlt
ZXIuCi0gKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2Ug
dGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9u
cyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQotICogICAgZG9jdW1lbnRhdGlv
biBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4K
LSAqCi0gKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gYGBBUyBJUycn
IEFORCBBTlkKLSAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJV
VCBOT1QgTElNSVRFRCBUTywgVEhFCi0gKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRB
QklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKLSAqIFBVUlBPU0UgQVJFIERJU0NM
QUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SCi0gKiBDT05UUklCVVRPUlMg
QkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwK
LSAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBO
T1QgTElNSVRFRCBUTywKLSAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VS
VklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgotICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5U
RVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQotICogT0YgTElBQklM
SVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCi0gKiAo
SU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VU
IE9GIFRIRSBVU0UKLSAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUg
UE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCi0gKi8KLQotI2luY2x1ZGUgImNvbmZpZy5oIgot
I2luY2x1ZGUgIldlYkdQVVJlbmRlclBpcGVsaW5lRGVzY3JpcHRvci5oIgotCi0jaWYgRU5BQkxF
KFdFQkdQVSkKLQotI2luY2x1ZGUgIkdQVUZ1bmN0aW9uLmgiCi0jaW5jbHVkZSAiR1BVUmVuZGVy
UGlwZWxpbmVDb2xvckF0dGFjaG1lbnREZXNjcmlwdG9yLmgiCi0jaW5jbHVkZSAiV2ViR1BVRnVu
Y3Rpb24uaCIKLSNpbmNsdWRlICJXZWJHUFVSZW5kZXJQaXBlbGluZUNvbG9yQXR0YWNobWVudERl
c2NyaXB0b3IuaCIKLQotbmFtZXNwYWNlIFdlYkNvcmUgewotCi1SZWY8V2ViR1BVUmVuZGVyUGlw
ZWxpbmVEZXNjcmlwdG9yPiBXZWJHUFVSZW5kZXJQaXBlbGluZURlc2NyaXB0b3I6OmNyZWF0ZSgp
Ci17Ci0gICAgcmV0dXJuIGFkb3B0UmVmKCpuZXcgV2ViR1BVUmVuZGVyUGlwZWxpbmVEZXNjcmlw
dG9yKTsKLX0KLQotV2ViR1BVUmVuZGVyUGlwZWxpbmVEZXNjcmlwdG9yOjpXZWJHUFVSZW5kZXJQ
aXBlbGluZURlc2NyaXB0b3IoKSA9IGRlZmF1bHQ7Ci0KLVdlYkdQVVJlbmRlclBpcGVsaW5lRGVz
Y3JpcHRvcjo6fldlYkdQVVJlbmRlclBpcGVsaW5lRGVzY3JpcHRvcigpID0gZGVmYXVsdDsKLQot
V2ViR1BVRnVuY3Rpb24qIFdlYkdQVVJlbmRlclBpcGVsaW5lRGVzY3JpcHRvcjo6dmVydGV4RnVu
Y3Rpb24oKSBjb25zdAotewotICAgIHJldHVybiBtX3ZlcnRleEZ1bmN0aW9uLmdldCgpOwotfQot
Ci12b2lkIFdlYkdQVVJlbmRlclBpcGVsaW5lRGVzY3JpcHRvcjo6c2V0VmVydGV4RnVuY3Rpb24o
UmVmUHRyPFdlYkdQVUZ1bmN0aW9uPiYmIG5ld1ZlcnRleEZ1bmN0aW9uKQotewotICAgIC8vIEZJ
WE1FOiBXaHkgY2FuJ3Qgd2Ugc2V0IHRoaXMgdG8gbnVsbD8KLSAgICBpZiAoIW5ld1ZlcnRleEZ1
bmN0aW9uKQotICAgICAgICByZXR1cm47Ci0KLSAgICBtX3ZlcnRleEZ1bmN0aW9uID0gV1RGTW92
ZShuZXdWZXJ0ZXhGdW5jdGlvbik7Ci0KLSAgICBtX2Rlc2NyaXB0b3Iuc2V0VmVydGV4RnVuY3Rp
b24obV92ZXJ0ZXhGdW5jdGlvbi0+ZnVuY3Rpb24oKSk7Ci19Ci0KLVdlYkdQVUZ1bmN0aW9uKiBX
ZWJHUFVSZW5kZXJQaXBlbGluZURlc2NyaXB0b3I6OmZyYWdtZW50RnVuY3Rpb24oKSBjb25zdAot
ewotICAgIHJldHVybiBtX2ZyYWdtZW50RnVuY3Rpb24uZ2V0KCk7Ci19Ci0KLXZvaWQgV2ViR1BV
UmVuZGVyUGlwZWxpbmVEZXNjcmlwdG9yOjpzZXRGcmFnbWVudEZ1bmN0aW9uKFJlZlB0cjxXZWJH
UFVGdW5jdGlvbj4mJiBuZXdGcmFnbWVudEZ1bmN0aW9uKQotewotICAgIC8vIEZJWE1FOiBXaHkg
Y2FuJ3Qgd2Ugc2V0IHRoaXMgdG8gbnVsbD8KLSAgICBpZiAoIW5ld0ZyYWdtZW50RnVuY3Rpb24p
Ci0gICAgICAgIHJldHVybjsKLQotICAgIG1fZnJhZ21lbnRGdW5jdGlvbiA9IFdURk1vdmUobmV3
RnJhZ21lbnRGdW5jdGlvbik7Ci0KLSAgICBtX2Rlc2NyaXB0b3Iuc2V0RnJhZ21lbnRGdW5jdGlv
bihtX2ZyYWdtZW50RnVuY3Rpb24tPmZ1bmN0aW9uKCkpOwotfQotCi1jb25zdCBWZWN0b3I8UmVm
UHRyPFdlYkdQVVJlbmRlclBpcGVsaW5lQ29sb3JBdHRhY2htZW50RGVzY3JpcHRvcj4+JiBXZWJH
UFVSZW5kZXJQaXBlbGluZURlc2NyaXB0b3I6OmNvbG9yQXR0YWNobWVudHMoKQotewotICAgIGlm
ICghbV9jb2xvckF0dGFjaG1lbnRzLnNpemUoKSkgewotICAgICAgICBhdXRvIGF0dGFjaG1lbnRz
ID0gbV9kZXNjcmlwdG9yLmNvbG9yQXR0YWNobWVudHMoKTsKLSAgICAgICAgbV9jb2xvckF0dGFj
aG1lbnRzLnJlc2VydmVJbml0aWFsQ2FwYWNpdHkoYXR0YWNobWVudHMuc2l6ZSgpKTsKLSAgICAg
ICAgZm9yIChhdXRvJiBhdHRhY2htZW50IDogYXR0YWNobWVudHMpCi0gICAgICAgICAgICBtX2Nv
bG9yQXR0YWNobWVudHMudW5jaGVja2VkQXBwZW5kKFdlYkdQVVJlbmRlclBpcGVsaW5lQ29sb3JB
dHRhY2htZW50RGVzY3JpcHRvcjo6Y3JlYXRlKFdURk1vdmUoYXR0YWNobWVudCkpKTsKLSAgICB9
Ci0gICAgcmV0dXJuIG1fY29sb3JBdHRhY2htZW50czsKLX0KLQotdW5zaWduZWQgV2ViR1BVUmVu
ZGVyUGlwZWxpbmVEZXNjcmlwdG9yOjpkZXB0aEF0dGFjaG1lbnRQaXhlbEZvcm1hdCgpIGNvbnN0
Ci17Ci0gICAgcmV0dXJuIG1fZGVzY3JpcHRvci5kZXB0aEF0dGFjaG1lbnRQaXhlbEZvcm1hdCgp
OwotfQotCi12b2lkIFdlYkdQVVJlbmRlclBpcGVsaW5lRGVzY3JpcHRvcjo6c2V0RGVwdGhBdHRh
Y2htZW50UGl4ZWxGb3JtYXQodW5zaWduZWQgbmV3UGl4ZWxGb3JtYXQpCi17Ci0gICAgbV9kZXNj
cmlwdG9yLnNldERlcHRoQXR0YWNobWVudFBpeGVsRm9ybWF0KG5ld1BpeGVsRm9ybWF0KTsKLX0K
LQotdm9pZCBXZWJHUFVSZW5kZXJQaXBlbGluZURlc2NyaXB0b3I6OnJlc2V0KCkKLXsKLSAgICBt
X3ZlcnRleEZ1bmN0aW9uID0gbnVsbHB0cjsKLSAgICBtX2ZyYWdtZW50RnVuY3Rpb24gPSBudWxs
cHRyOwotCi0gICAgLy8gRklYTUU6IFdoeSBkb2Vzbid0IHRoaXMgY2xlYXIgb3V0IHRoZSBmdW5j
dGlvbnMgb24gbV9kZXNjcmlwdG9yPwotfQotCi19IC8vIG5hbWVzcGFjZSBXZWJDb3JlCi0KLSNl
bmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR1BVUmVuZGVy
UGlwZWxpbmVEZXNjcmlwdG9yLmggYi9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHUFVS
ZW5kZXJQaXBlbGluZURlc2NyaXB0b3IuaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MzgzNGY4ZGMzMjYzM2IzMTRjMWFmYzFjNTI2MGYzNWUwMzgzYTU2MS4uMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZh
cy9XZWJHUFVSZW5kZXJQaXBlbGluZURlc2NyaXB0b3IuaAorKysgL2Rldi9udWxsCkBAIC0xLDc2
ICswLDAgQEAKLS8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTcgQXBwbGUgSW5jLiBBbGwgcmlnaHRz
IHJlc2VydmVkLgotICoKLSAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBi
aW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAotICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0
dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCi0gKiBhcmUgbWV0Ogot
ICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92
ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRo
ZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KLSAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkg
Zm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRo
aXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhl
Ci0gKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0
aCB0aGUgZGlzdHJpYnV0aW9uLgotICoKLSAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkg
QVBQTEUgSU5DLiBgYEFTIElTJycgQU5EIEFOWQotICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJB
TlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKLSAqIElNUExJRUQgV0FS
UkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgot
ICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4g
T1IKLSAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJ
TkNJREVOVEFMLCBTUEVDSUFMLAotICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFH
RVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAotICogUFJPQ1VSRU1FTlQgT0YgU1VC
U1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCi0gKiBQUk9G
SVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkg
VEhFT1JZCi0gKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFC
SUxJVFksIE9SIFRPUlQKLSAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFS
SVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQotICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZF
TiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KLSAqLwotCi0j
cHJhZ21hIG9uY2UKLQotI2lmIEVOQUJMRShXRUJHUFUpCi0KLSNpbmNsdWRlICJHUFVSZW5kZXJQ
aXBlbGluZURlc2NyaXB0b3IuaCIKLSNpbmNsdWRlICJXZWJHUFVSZW5kZXJQaXBlbGluZUNvbG9y
QXR0YWNobWVudERlc2NyaXB0b3IuaCIKLSNpbmNsdWRlIDx3dGYvUmVmLmg+Ci0jaW5jbHVkZSA8
d3RmL1JlZkNvdW50ZWQuaD4KLSNpbmNsdWRlIDx3dGYvVmVjdG9yLmg+Ci0KLW5hbWVzcGFjZSBX
ZWJDb3JlIHsKLQotY2xhc3MgR1BVRnVuY3Rpb247Ci1jbGFzcyBHUFVSZW5kZXJQaXBlbGluZURl
c2NyaXB0b3I7Ci1jbGFzcyBXZWJHUFVGdW5jdGlvbjsKLWNsYXNzIFdlYkdQVVJlbmRlclBpcGVs
aW5lQ29sb3JBdHRhY2htZW50RGVzY3JpcHRvcjsKLQotY2xhc3MgV2ViR1BVUmVuZGVyUGlwZWxp
bmVEZXNjcmlwdG9yIDogcHVibGljIFJlZkNvdW50ZWQ8V2ViR1BVUmVuZGVyUGlwZWxpbmVEZXNj
cmlwdG9yPiB7Ci1wdWJsaWM6Ci0gICAgfldlYkdQVVJlbmRlclBpcGVsaW5lRGVzY3JpcHRvcigp
OwotICAgIHN0YXRpYyBSZWY8V2ViR1BVUmVuZGVyUGlwZWxpbmVEZXNjcmlwdG9yPiBjcmVhdGUo
KTsKLQotICAgIFdlYkdQVUZ1bmN0aW9uKiB2ZXJ0ZXhGdW5jdGlvbigpIGNvbnN0OwotICAgIHZv
aWQgc2V0VmVydGV4RnVuY3Rpb24oUmVmUHRyPFdlYkdQVUZ1bmN0aW9uPiYmKTsKLQotICAgIFdl
YkdQVUZ1bmN0aW9uKiBmcmFnbWVudEZ1bmN0aW9uKCkgY29uc3Q7Ci0gICAgdm9pZCBzZXRGcmFn
bWVudEZ1bmN0aW9uKFJlZlB0cjxXZWJHUFVGdW5jdGlvbj4mJik7Ci0KLSAgICBjb25zdCBWZWN0
b3I8UmVmUHRyPFdlYkdQVVJlbmRlclBpcGVsaW5lQ29sb3JBdHRhY2htZW50RGVzY3JpcHRvcj4+
JiBjb2xvckF0dGFjaG1lbnRzKCk7Ci0KLSAgICB1bnNpZ25lZCBkZXB0aEF0dGFjaG1lbnRQaXhl
bEZvcm1hdCgpIGNvbnN0OwotICAgIHZvaWQgc2V0RGVwdGhBdHRhY2htZW50UGl4ZWxGb3JtYXQo
dW5zaWduZWQpOwotCi0gICAgdm9pZCByZXNldCgpOwotCi0gICAgY29uc3QgR1BVUmVuZGVyUGlw
ZWxpbmVEZXNjcmlwdG9yJiBkZXNjcmlwdG9yKCkgeyByZXR1cm4gbV9kZXNjcmlwdG9yOyB9Ci0K
LXByaXZhdGU6Ci0gICAgV2ViR1BVUmVuZGVyUGlwZWxpbmVEZXNjcmlwdG9yKCk7Ci0KLSAgICBS
ZWZQdHI8V2ViR1BVRnVuY3Rpb24+IG1fdmVydGV4RnVuY3Rpb247Ci0gICAgUmVmUHRyPFdlYkdQ
VUZ1bmN0aW9uPiBtX2ZyYWdtZW50RnVuY3Rpb247Ci0KLSAgICBWZWN0b3I8UmVmUHRyPFdlYkdQ
VVJlbmRlclBpcGVsaW5lQ29sb3JBdHRhY2htZW50RGVzY3JpcHRvcj4+IG1fY29sb3JBdHRhY2ht
ZW50czsKLQotICAgIEdQVVJlbmRlclBpcGVsaW5lRGVzY3JpcHRvciBtX2Rlc2NyaXB0b3I7Ci19
OwotCi19IC8vIG5hbWVzcGFjZSBXZWJDb3JlCi0KLSNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR1BVUmVuZGVyUGlwZWxpbmVEZXNjcmlwdG9yLmlkbCBi
L1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdQVVJlbmRlclBpcGVsaW5lRGVzY3JpcHRv
ci5pZGwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAxOGNlMTk0OTRmY2EwYjFiM2Iw
YzE2ZmU2M2NhZmUyYzNmMWNhZTYuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR1BVUmVuZGVyUGlwZWxp
bmVEZXNjcmlwdG9yLmlkbAorKysgL2Rldi9udWxsCkBAIC0xLDQyICswLDAgQEAKLS8qCi0gKiBD
b3B5cmlnaHQgKEMpIDIwMTcgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgotICoKLSAq
IFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGgg
b3Igd2l0aG91dAotICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQg
dGhlIGZvbGxvd2luZyBjb25kaXRpb25zCi0gKiBhcmUgbWV0OgotICogMS4gUmVkaXN0cmlidXRp
b25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAg
IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xh
aW1lci4KLSAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVj
ZSB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRp
b25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCi0gKiAgICBkb2N1bWVudGF0
aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9u
LgotICoKLSAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBgYEFTIElT
JycgQU5EIEFOWQotICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywg
QlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKLSAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFO
VEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgotICogUFVSUE9TRSBBUkUgRElT
Q0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IKLSAqIENPTlRSSUJVVE9S
UyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFM
LAotICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVU
IE5PVCBMSU1JVEVEIFRPLAotICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBT
RVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCi0gKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJ
TlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCi0gKiBPRiBMSUFC
SUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKLSAq
IChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBP
VVQgT0YgVEhFIFVTRQotICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRI
RSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KLSAqLwotCi1bCi0gICAgQ29uc3RydWN0b3Is
Ci0gICAgQ29uZGl0aW9uYWw9V0VCR1BVLAotICAgIEVuYWJsZWRBdFJ1bnRpbWU9V2ViR1BVLAot
ICAgIEltcGxlbWVudGF0aW9uTGFja3NWVGFibGUKLV0gaW50ZXJmYWNlIFdlYkdQVVJlbmRlclBp
cGVsaW5lRGVzY3JpcHRvciB7Ci0KLSAgICBhdHRyaWJ1dGUgV2ViR1BVRnVuY3Rpb24/IHZlcnRl
eEZ1bmN0aW9uOwotICAgIGF0dHJpYnV0ZSBXZWJHUFVGdW5jdGlvbj8gZnJhZ21lbnRGdW5jdGlv
bjsKLQotICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBzZXF1ZW5jZTxXZWJHUFVSZW5kZXJQaXBlbGlu
ZUNvbG9yQXR0YWNobWVudERlc2NyaXB0b3I+IGNvbG9yQXR0YWNobWVudHM7Ci0KLSAgICBhdHRy
aWJ1dGUgdW5zaWduZWQgbG9uZyBkZXB0aEF0dGFjaG1lbnRQaXhlbEZvcm1hdDsKLQotICAgIHZv
aWQgcmVzZXQoKTsKLQotfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFz
L1dlYkdQVVJlbmRlclBpcGVsaW5lU3RhdGUuY3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52
YXMvV2ViR1BVUmVuZGVyUGlwZWxpbmVTdGF0ZS5jcHAKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IGNmMDBjZWEzYzYzZTUxZDE5NTgxMzMwZmU3NTFlZmIwNGExMDYyYTQuLjAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRt
bC9jYW52YXMvV2ViR1BVUmVuZGVyUGlwZWxpbmVTdGF0ZS5jcHAKKysrIC9kZXYvbnVsbApAQCAt
MSw1NSArMCwwIEBACi0vKgotICogQ29weXJpZ2h0IChDKSAyMDE3IEFwcGxlIEluYy4gQWxsIHJp
Z2h0cyByZXNlcnZlZC4KLSAqCi0gKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBh
bmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKLSAqIG1vZGlmaWNhdGlvbiwgYXJlIHBl
cm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwotICogYXJlIG1l
dDoKLSAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUg
YWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFu
ZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCi0gKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmlu
YXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNl
LCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGlu
IHRoZQotICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVk
IHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KLSAqCi0gKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVE
IEJZIEFQUExFIElOQy4gYGBBUyBJUycnIEFORCBBTlkKLSAqIEVYUFJFU1MgT1IgSU1QTElFRCBX
QVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCi0gKiBJTVBMSUVE
IFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VM
QVIKLSAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJ
TkMuIE9SCi0gKiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVD
VCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKLSAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBE
QU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKLSAqIFBST0NVUkVNRU5UIE9G
IFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgotICog
UFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04g
QU5ZIFRIRU9SWQotICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1Qg
TElBQklMSVRZLCBPUiBUT1JUCi0gKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNF
KSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKLSAqIE9GIFRISVMgU09GVFdBUkUs
IEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCi0gKi8K
LQotI2luY2x1ZGUgImNvbmZpZy5oIgotI2luY2x1ZGUgIldlYkdQVVJlbmRlclBpcGVsaW5lU3Rh
dGUuaCIKLQotI2lmIEVOQUJMRShXRUJHUFUpCi0KLW5hbWVzcGFjZSBXZWJDb3JlIHsKLQotUmVm
PFdlYkdQVVJlbmRlclBpcGVsaW5lU3RhdGU+IFdlYkdQVVJlbmRlclBpcGVsaW5lU3RhdGU6OmNy
ZWF0ZShHUFVSZW5kZXJQaXBlbGluZVN0YXRlJiYgc3RhdGUpCi17Ci0gICAgcmV0dXJuIGFkb3B0
UmVmKCpuZXcgV2ViR1BVUmVuZGVyUGlwZWxpbmVTdGF0ZShXVEZNb3ZlKHN0YXRlKSkpOwotfQot
Ci1XZWJHUFVSZW5kZXJQaXBlbGluZVN0YXRlOjpXZWJHUFVSZW5kZXJQaXBlbGluZVN0YXRlKEdQ
VVJlbmRlclBpcGVsaW5lU3RhdGUmJiBzdGF0ZSkKLSAgICA6IG1fc3RhdGUgeyBXVEZNb3ZlKHN0
YXRlKSB9Ci17Ci19Ci0KLVN0cmluZyBXZWJHUFVSZW5kZXJQaXBlbGluZVN0YXRlOjpsYWJlbCgp
IGNvbnN0Ci17Ci0gICAgcmV0dXJuIG1fc3RhdGUubGFiZWwoKTsKLX0KLQotdm9pZCBXZWJHUFVS
ZW5kZXJQaXBlbGluZVN0YXRlOjpzZXRMYWJlbChjb25zdCBTdHJpbmcmIGxhYmVsKQotewotICAg
IG1fc3RhdGUuc2V0TGFiZWwobGFiZWwpOwotfQotCi19IC8vIG5hbWVzcGFjZSBXZWJDb3JlCi0K
LSNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR1BVUmVu
ZGVyUGlwZWxpbmVTdGF0ZS5oIGIvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR1BVUmVu
ZGVyUGlwZWxpbmVTdGF0ZS5oCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA1YTc1YWFh
NWM1M2UyZThlY2EzY2UxZWQyZmIyODg3OGVmMmIwNmZlLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdQ
VVJlbmRlclBpcGVsaW5lU3RhdGUuaAorKysgL2Rldi9udWxsCkBAIC0xLDUzICswLDAgQEAKLS8q
Ci0gKiBDb3B5cmlnaHQgKEMpIDIwMTcgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgot
ICoKLSAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMs
IHdpdGggb3Igd2l0aG91dAotICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVk
IHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCi0gKiBhcmUgbWV0OgotICogMS4gUmVkaXN0
cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQK
LSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcg
ZGlzY2xhaW1lci4KLSAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJl
cHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBj
b25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCi0gKiAgICBkb2N1
bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJp
YnV0aW9uLgotICoKLSAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBg
YEFTIElTJycgQU5EIEFOWQotICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xV
RElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKLSAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBN
RVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgotICogUFVSUE9TRSBB
UkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IKLSAqIENPTlRS
SUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBT
UEVDSUFMLAotICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElO
RywgQlVUIE5PVCBMSU1JVEVEIFRPLAotICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09E
UyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCi0gKiBQUk9GSVRTOyBPUiBCVVNJ
TkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCi0gKiBP
RiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRP
UlQKLSAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5Z
IFdBWSBPVVQgT0YgVEhFIFVTRQotICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VE
IE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KLSAqLwotCi0jcHJhZ21hIG9uY2UK
LQotI2lmIEVOQUJMRShXRUJHUFUpCi0KLSNpbmNsdWRlICJHUFVSZW5kZXJQaXBlbGluZVN0YXRl
LmgiCi0jaW5jbHVkZSA8d3RmL1JlZi5oPgotI2luY2x1ZGUgPHd0Zi9SZWZDb3VudGVkLmg+Ci0K
LW5hbWVzcGFjZSBXZWJDb3JlIHsKLQotY2xhc3MgV2ViR1BVUmVuZGVyUGlwZWxpbmVTdGF0ZSA6
IHB1YmxpYyBSZWZDb3VudGVkPFdlYkdQVVJlbmRlclBpcGVsaW5lU3RhdGU+IHsKLXB1YmxpYzoK
LSAgICBzdGF0aWMgUmVmPFdlYkdQVVJlbmRlclBpcGVsaW5lU3RhdGU+IGNyZWF0ZShHUFVSZW5k
ZXJQaXBlbGluZVN0YXRlJiYpOwotCi0gICAgU3RyaW5nIGxhYmVsKCkgY29uc3Q7Ci0gICAgdm9p
ZCBzZXRMYWJlbChjb25zdCBTdHJpbmcmKTsKLQotICAgIGNvbnN0IEdQVVJlbmRlclBpcGVsaW5l
U3RhdGUmIHN0YXRlKCkgY29uc3QgeyByZXR1cm4gbV9zdGF0ZTsgfQotCi1wcml2YXRlOgotICAg
IGV4cGxpY2l0IFdlYkdQVVJlbmRlclBpcGVsaW5lU3RhdGUoR1BVUmVuZGVyUGlwZWxpbmVTdGF0
ZSYmKTsKLQotICAgIEdQVVJlbmRlclBpcGVsaW5lU3RhdGUgbV9zdGF0ZTsKLX07Ci0gICAgCi19
IC8vIG5hbWVzcGFjZSBXZWJDb3JlCi0KLSNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvaHRtbC9jYW52YXMvV2ViR1BVUmVuZGVyUGlwZWxpbmVTdGF0ZS5pZGwgYi9Tb3VyY2UvV2Vi
Q29yZS9odG1sL2NhbnZhcy9XZWJHUFVSZW5kZXJQaXBlbGluZVN0YXRlLmlkbApkZWxldGVkIGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggZjZmZWE5ODUxYjNlMmUxNTc0MmQyMzBiZjU5YTE2MzI4NTdm
ZDZiMy4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHUFVSZW5kZXJQaXBlbGluZVN0YXRlLmlkbAorKysg
L2Rldi9udWxsCkBAIC0xLDM0ICswLDAgQEAKLS8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTcgQXBw
bGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgotICoKLSAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1
c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAotICogbW9kaWZp
Y2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRp
b25zCi0gKiBhcmUgbWV0OgotICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11
c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9m
IGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KLSAqIDIuIFJlZGlzdHJp
YnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0
Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5n
IGRpc2NsYWltZXIgaW4gdGhlCi0gKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRl
cmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgotICoKLSAqIFRISVMgU09GVFdB
UkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBgYEFTIElTJycgQU5EIEFOWQotICogRVhQUkVT
UyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBU
SEUKLSAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1Mg
Rk9SIEEgUEFSVElDVUxBUgotICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5U
IFNIQUxMIEFQUExFIElOQy4gT1IKLSAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBE
SVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAotICogRVhFTVBMQVJZLCBPUiBD
T05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAotICog
UFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0Us
IERBVEEsIE9SCi0gKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIg
Q0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCi0gKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09O
VFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKLSAqIChJTkNMVURJTkcgTkVHTElHRU5D
RSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQotICogT0Yg
VEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNI
IERBTUFHRS4KLSAqLwotCi1bCi0gICAgQ29uZGl0aW9uYWw9V0VCR1BVLAotICAgIEVuYWJsZWRB
dFJ1bnRpbWU9V2ViR1BVLAotICAgIEltcGxlbWVudGF0aW9uTGFja3NWVGFibGUKLV0gaW50ZXJm
YWNlIFdlYkdQVVJlbmRlclBpcGVsaW5lU3RhdGUgewotCi0gICAgYXR0cmlidXRlIERPTVN0cmlu
ZyBsYWJlbDsKLQotfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dl
YkdQVVJlbmRlcmluZ0NvbnRleHQuY3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2Vi
R1BVUmVuZGVyaW5nQ29udGV4dC5jcHAKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGJl
MWExZTc1ZGY4N2I2NWFiZDE5OTE3NWZkODgwNjUwNGMxOWE4NjIuLjAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMv
V2ViR1BVUmVuZGVyaW5nQ29udGV4dC5jcHAKKysrIC9kZXYvbnVsbApAQCAtMSwxOTYgKzAsMCBA
QAotLyoKLSAqIENvcHlyaWdodCAoQykgMjAxNyBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2
ZWQuCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTcgWXVpY2hpcm8gS2lrdXJhICh5Lmtpa3VyYUBnbWFp
bC5jb20pCi0gKgotICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFy
eSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Ci0gKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQg
cHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKLSAqIGFyZSBtZXQ6Ci0gKiAx
LiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNv
cHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyLgotICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3Jt
IG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBs
aXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKLSAq
ICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRo
ZSBkaXN0cmlidXRpb24uCi0gKgotICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBM
RSBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCi0gKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElF
UywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQotICogSU1QTElFRCBXQVJSQU5U
SUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCi0gKiBQ
VVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUgot
ICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lE
RU5UQUwsIFNQRUNJQUwsCi0gKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAo
SU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCi0gKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElU
VVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKLSAqIFBST0ZJVFM7
IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVP
UlkKLSAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElU
WSwgT1IgVE9SVAotICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lO
RyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCi0gKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElG
IEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgotICovCi0KLSNpbmNs
dWRlICJjb25maWcuaCIKLSNpbmNsdWRlICJXZWJHUFVSZW5kZXJpbmdDb250ZXh0LmgiCi0KLSNp
ZiBFTkFCTEUoV0VCR1BVKQotCi0jaW5jbHVkZSAiRG9jdW1lbnQuaCIKLSNpbmNsdWRlICJGcmFt
ZVZpZXcuaCIKLSNpbmNsdWRlICJHUFVEZXZpY2UuaCIKLSNpbmNsdWRlICJJbnNwZWN0b3JJbnN0
cnVtZW50YXRpb24uaCIKLSNpbmNsdWRlICJXZWJHUFVCdWZmZXIuaCIKLSNpbmNsdWRlICJXZWJH
UFVDb21tYW5kUXVldWUuaCIKLSNpbmNsdWRlICJXZWJHUFVDb21wdXRlUGlwZWxpbmVTdGF0ZS5o
IgotI2luY2x1ZGUgIldlYkdQVURlcHRoU3RlbmNpbERlc2NyaXB0b3IuaCIKLSNpbmNsdWRlICJX
ZWJHUFVEZXB0aFN0ZW5jaWxTdGF0ZS5oIgotI2luY2x1ZGUgIldlYkdQVURyYXdhYmxlLmgiCi0j
aW5jbHVkZSAiV2ViR1BVRnVuY3Rpb24uaCIKLSNpbmNsdWRlICJXZWJHUFVMaWJyYXJ5LmgiCi0j
aW5jbHVkZSAiV2ViR1BVUmVuZGVyUGFzc0Rlc2NyaXB0b3IuaCIKLSNpbmNsdWRlICJXZWJHUFVS
ZW5kZXJQaXBlbGluZURlc2NyaXB0b3IuaCIKLSNpbmNsdWRlICJXZWJHUFVSZW5kZXJQaXBlbGlu
ZVN0YXRlLmgiCi0jaW5jbHVkZSAiV2ViR1BVVGV4dHVyZS5oIgotI2luY2x1ZGUgIldlYkdQVVRl
eHR1cmVEZXNjcmlwdG9yLmgiCi0jaW5jbHVkZSA8SmF2YVNjcmlwdENvcmUvQXJyYXlCdWZmZXIu
aD4KLSNpbmNsdWRlIDxKYXZhU2NyaXB0Q29yZS9KU0NJbmxpbmVzLmg+Ci0jaW5jbHVkZSA8SmF2
YVNjcmlwdENvcmUvVHlwZWRBcnJheUlubGluZXMuaD4KLSNpbmNsdWRlIDxKYXZhU2NyaXB0Q29y
ZS9VaW50MzJBcnJheS5oPgotI2luY2x1ZGUgPHd0Zi9TdGRMaWJFeHRyYXMuaD4KLSNpbmNsdWRl
IDx3dGYvdGV4dC9DU3RyaW5nLmg+Ci0KLW5hbWVzcGFjZSB7Ci0KLWludCBjbGFtcChpbnQgdmFs
dWUsIGludCBtaW4sIGludCBtYXgpCi17Ci0gICAgaWYgKHZhbHVlIDwgbWluKQotICAgICAgICB2
YWx1ZSA9IG1pbjsKLSAgICBpZiAodmFsdWUgPiBtYXgpCi0gICAgICAgIHZhbHVlID0gbWF4Owot
ICAgIHJldHVybiB2YWx1ZTsKLX0KLQotfQotCi1uYW1lc3BhY2UgV2ViQ29yZSB7Ci0KLXN0YXRp
YyBjb25zdCBpbnQga01heFRleHR1cmVTaXplID0gNDA5NjsKLQotc3RkOjp1bmlxdWVfcHRyPFdl
YkdQVVJlbmRlcmluZ0NvbnRleHQ+IFdlYkdQVVJlbmRlcmluZ0NvbnRleHQ6OmNyZWF0ZShDYW52
YXNCYXNlJiBjYW52YXMpCi17Ci0gICAgR1BVRGV2aWNlIGRldmljZTsKLQotICAgIGlmICghZGV2
aWNlKSB7Ci0gICAgICAgIC8vIEZJWE1FOiBXZWJHUFUgLSBkaXNwYXRjaCBhbiBldmVudCBoZXJl
IGZvciB0aGUgZmFpbHVyZS4KLSAgICAgICAgcmV0dXJuIG51bGxwdHI7Ci0gICAgfQotCi0gICAg
YXV0byByZW5kZXJpbmdDb250ZXh0ID0gc3RkOjp1bmlxdWVfcHRyPFdlYkdQVVJlbmRlcmluZ0Nv
bnRleHQ+KG5ldyBXZWJHUFVSZW5kZXJpbmdDb250ZXh0KGNhbnZhcywgV1RGTW92ZShkZXZpY2Up
KSk7Ci0gICAgcmVuZGVyaW5nQ29udGV4dC0+c3VzcGVuZElmTmVlZGVkKCk7Ci0KLSAgICBJbnNw
ZWN0b3JJbnN0cnVtZW50YXRpb246OmRpZENyZWF0ZUNhbnZhc1JlbmRlcmluZ0NvbnRleHQoKnJl
bmRlcmluZ0NvbnRleHQpOwotCi0gICAgcmV0dXJuIHJlbmRlcmluZ0NvbnRleHQ7Ci19Ci0KLVdl
YkdQVVJlbmRlcmluZ0NvbnRleHQ6OldlYkdQVVJlbmRlcmluZ0NvbnRleHQoQ2FudmFzQmFzZSYg
Y2FudmFzLCBHUFVEZXZpY2UmJiBkZXZpY2UpCi0gICAgOiBHUFVCYXNlZENhbnZhc1JlbmRlcmlu
Z0NvbnRleHQoY2FudmFzKQotICAgICwgbV9kZXZpY2UoV1RGTW92ZShkZXZpY2UpKQotewotICAg
IGluaXRpYWxpemVOZXdDb250ZXh0KCk7Ci19Ci0KLUhUTUxDYW52YXNFbGVtZW50KiBXZWJHUFVS
ZW5kZXJpbmdDb250ZXh0OjpjYW52YXMoKSBjb25zdAotewotICAgIGF1dG8mIGJhc2UgPSBjYW52
YXNCYXNlKCk7Ci0gICAgaWYgKCFpczxIVE1MQ2FudmFzRWxlbWVudD4oYmFzZSkpCi0gICAgICAg
IHJldHVybiBudWxscHRyOwotICAgIHJldHVybiAmZG93bmNhc3Q8SFRNTENhbnZhc0VsZW1lbnQ+
KGJhc2UpOwotfQotCi12b2lkIFdlYkdQVVJlbmRlcmluZ0NvbnRleHQ6OmluaXRpYWxpemVOZXdD
b250ZXh0KCkKLXsKLSAgICAvLyBGSVhNRTogV2ViR1BVIC0gTWF5YmUgd2Ugc2hvdWxkIHJlc2V0
IGEgYnVuY2ggb2Ygc3R1ZmYgaGVyZS4KLQotICAgIEludFNpemUgY2FudmFzU2l6ZSA9IGNsYW1w
ZWRDYW52YXNTaXplKCk7Ci0gICAgbV9kZXZpY2UucmVzaGFwZShjYW52YXNTaXplLndpZHRoKCks
IGNhbnZhc1NpemUuaGVpZ2h0KCkpOwotfQotCi1JbnRTaXplIFdlYkdQVVJlbmRlcmluZ0NvbnRl
eHQ6OmNsYW1wZWRDYW52YXNTaXplKCkgY29uc3QKLXsKLSAgICByZXR1cm4gSW50U2l6ZShjbGFt
cChjYW52YXMoKS0+d2lkdGgoKSwgMSwga01heFRleHR1cmVTaXplKSwKLSAgICAgICAgY2xhbXAo
Y2FudmFzKCktPmhlaWdodCgpLCAxLCBrTWF4VGV4dHVyZVNpemUpKTsKLX0KLQotYm9vbCBXZWJH
UFVSZW5kZXJpbmdDb250ZXh0OjpoYXNQZW5kaW5nQWN0aXZpdHkoKSBjb25zdAotewotICAgIHJl
dHVybiBmYWxzZTsKLX0KLQotdm9pZCBXZWJHUFVSZW5kZXJpbmdDb250ZXh0OjpzdG9wKCkKLXsK
LX0KLQotY29uc3QgY2hhciogV2ViR1BVUmVuZGVyaW5nQ29udGV4dDo6YWN0aXZlRE9NT2JqZWN0
TmFtZSgpIGNvbnN0Ci17Ci0gICAgcmV0dXJuICJXZWJHUFVSZW5kZXJpbmdDb250ZXh0IjsKLX0K
LQotYm9vbCBXZWJHUFVSZW5kZXJpbmdDb250ZXh0OjpjYW5TdXNwZW5kRm9yRG9jdW1lbnRTdXNw
ZW5zaW9uKCkgY29uc3QKLXsKLSAgICByZXR1cm4gZmFsc2U7Ci19Ci0KLVBsYXRmb3JtTGF5ZXIq
IFdlYkdQVVJlbmRlcmluZ0NvbnRleHQ6OnBsYXRmb3JtTGF5ZXIoKSBjb25zdAotewotICAgIHJl
dHVybiBtX2RldmljZS5wbGF0Zm9ybUxheWVyKCk7Ci19Ci0KLXZvaWQgV2ViR1BVUmVuZGVyaW5n
Q29udGV4dDo6bWFya0xheWVyQ29tcG9zaXRlZCgpCi17Ci0gICAgbV9kZXZpY2UubWFya0xheWVy
Q29tcG9zaXRlZCgpOwotfQotCi12b2lkIFdlYkdQVVJlbmRlcmluZ0NvbnRleHQ6OnJlc2hhcGUo
aW50IHdpZHRoLCBpbnQgaGVpZ2h0KQotewotICAgIC8vIEZJWE1FOiBXZWJHUFUgLSBEbyB3ZSBu
ZWVkIHRvIHJlc2V0IHN0dWZmIGhlcmU/Ci0gICAgbV9kZXZpY2UucmVzaGFwZSh3aWR0aCwgaGVp
Z2h0KTsKLX0KLQotUmVmPFdlYkdQVUxpYnJhcnk+IFdlYkdQVVJlbmRlcmluZ0NvbnRleHQ6OmNy
ZWF0ZUxpYnJhcnkoY29uc3QgU3RyaW5nJiBzb3VyY2VDb2RlKQotewotICAgIHJldHVybiBXZWJH
UFVMaWJyYXJ5OjpjcmVhdGUoR1BVTGlicmFyeSB7IG1fZGV2aWNlLCBzb3VyY2VDb2RlIH0sIHNv
dXJjZUNvZGUpOwotfQotCi1SZWY8V2ViR1BVUmVuZGVyUGlwZWxpbmVTdGF0ZT4gV2ViR1BVUmVu
ZGVyaW5nQ29udGV4dDo6Y3JlYXRlUmVuZGVyUGlwZWxpbmVTdGF0ZShXZWJHUFVSZW5kZXJQaXBl
bGluZURlc2NyaXB0b3ImIGRlc2NyaXB0b3IpCi17Ci0gICAgcmV0dXJuIFdlYkdQVVJlbmRlclBp
cGVsaW5lU3RhdGU6OmNyZWF0ZShHUFVSZW5kZXJQaXBlbGluZVN0YXRlIHsgbV9kZXZpY2UsIGRl
c2NyaXB0b3IuZGVzY3JpcHRvcigpIH0pOwotfQotCi1SZWY8V2ViR1BVRGVwdGhTdGVuY2lsU3Rh
dGU+IFdlYkdQVVJlbmRlcmluZ0NvbnRleHQ6OmNyZWF0ZURlcHRoU3RlbmNpbFN0YXRlKFdlYkdQ
VURlcHRoU3RlbmNpbERlc2NyaXB0b3ImIGRlc2NyaXB0b3IpCi17Ci0gICAgcmV0dXJuIFdlYkdQ
VURlcHRoU3RlbmNpbFN0YXRlOjpjcmVhdGUoR1BVRGVwdGhTdGVuY2lsU3RhdGUgeyBtX2Rldmlj
ZSwgZGVzY3JpcHRvci5kZXNjcmlwdG9yKCkgfSk7Ci19Ci0KLVJlZjxXZWJHUFVDb21wdXRlUGlw
ZWxpbmVTdGF0ZT4gV2ViR1BVUmVuZGVyaW5nQ29udGV4dDo6Y3JlYXRlQ29tcHV0ZVBpcGVsaW5l
U3RhdGUoV2ViR1BVRnVuY3Rpb24mIGZ1bmN0aW9uKQotewotICAgIHJldHVybiBXZWJHUFVDb21w
dXRlUGlwZWxpbmVTdGF0ZTo6Y3JlYXRlKEdQVUNvbXB1dGVQaXBlbGluZVN0YXRlIHsgbV9kZXZp
Y2UsIGZ1bmN0aW9uLmZ1bmN0aW9uKCkgfSk7Ci19Ci0KLVJlZjxXZWJHUFVDb21tYW5kUXVldWU+
IFdlYkdQVVJlbmRlcmluZ0NvbnRleHQ6OmNyZWF0ZUNvbW1hbmRRdWV1ZSgpCi17Ci0gICAgcmV0
dXJuIFdlYkdQVUNvbW1hbmRRdWV1ZTo6Y3JlYXRlKEdQVUNvbW1hbmRRdWV1ZSB7IG1fZGV2aWNl
IH0pOwotfQotCi1SZWY8V2ViR1BVRHJhd2FibGU+IFdlYkdQVVJlbmRlcmluZ0NvbnRleHQ6Om5l
eHREcmF3YWJsZSgpCi17Ci0gICAgcmV0dXJuIFdlYkdQVURyYXdhYmxlOjpjcmVhdGUoR1BVRHJh
d2FibGUgeyBtX2RldmljZSB9KTsKLX0KLQotUmVmUHRyPFdlYkdQVUJ1ZmZlcj4gV2ViR1BVUmVu
ZGVyaW5nQ29udGV4dDo6Y3JlYXRlQnVmZmVyKEpTQzo6QXJyYXlCdWZmZXJWaWV3JiBkYXRhKQot
ewotICAgIHJldHVybiBXZWJHUFVCdWZmZXI6OmNyZWF0ZShHUFVCdWZmZXIgeyBtX2RldmljZSwg
ZGF0YSB9KTsKLX0KLQotUmVmPFdlYkdQVVRleHR1cmU+IFdlYkdQVVJlbmRlcmluZ0NvbnRleHQ6
OmNyZWF0ZVRleHR1cmUoV2ViR1BVVGV4dHVyZURlc2NyaXB0b3ImIGRlc2NyaXB0b3IpCi17Ci0g
ICAgcmV0dXJuIFdlYkdQVVRleHR1cmU6OmNyZWF0ZShHUFVUZXh0dXJlIHsgbV9kZXZpY2UsIGRl
c2NyaXB0b3IuZGVzY3JpcHRvcigpIH0pOwotfQotCi19IC8vIG5hbWVzcGFjZSBXZWJDb3JlCi0K
LSNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR1BVUmVu
ZGVyaW5nQ29udGV4dC5oIGIvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR1BVUmVuZGVy
aW5nQ29udGV4dC5oCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA3NTY1ODA0NWNlZDMx
MTMxNWVkNzJjMDExY2MxMDI1ZTIyZGZmNTBiLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwCi0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdQVVJlbmRl
cmluZ0NvbnRleHQuaAorKysgL2Rldi9udWxsCkBAIC0xLDk1ICswLDAgQEAKLS8qCi0gKiBDb3B5
cmlnaHQgKEMpIDIwMTcgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgotICogQ29weXJp
Z2h0IChDKSAyMDE3IFl1aWNoaXJvIEtpa3VyYSAoeS5raWt1cmFAZ21haWwuY29tKQotICoKLSAq
IFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGgg
b3Igd2l0aG91dAotICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQg
dGhlIGZvbGxvd2luZyBjb25kaXRpb25zCi0gKiBhcmUgbWV0OgotICogMS4gUmVkaXN0cmlidXRp
b25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAg
IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xh
aW1lci4KLSAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVj
ZSB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRp
b25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCi0gKiAgICBkb2N1bWVudGF0
aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9u
LgotICoKLSAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBgYEFTIElT
JycgQU5EIEFOWQotICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywg
QlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKLSAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFO
VEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgotICogUFVSUE9TRSBBUkUgRElT
Q0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IKLSAqIENPTlRSSUJVVE9S
UyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFM
LAotICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVU
IE5PVCBMSU1JVEVEIFRPLAotICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBT
RVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCi0gKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJ
TlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCi0gKiBPRiBMSUFC
SUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKLSAq
IChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBP
VVQgT0YgVEhFIFVTRQotICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRI
RSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KLSAqLwotCi0jcHJhZ21hIG9uY2UKLQotI2lm
IEVOQUJMRShXRUJHUFUpCi0KLSNpbmNsdWRlICJHUFVCYXNlZENhbnZhc1JlbmRlcmluZ0NvbnRl
eHQuaCIKLSNpbmNsdWRlICJHUFVEZXZpY2UuaCIKLQotbmFtZXNwYWNlIEpTQyB7Ci1jbGFzcyBB
cnJheUJ1ZmZlclZpZXc7Ci19Ci0KLW5hbWVzcGFjZSBXZWJDb3JlIHsKLQotY2xhc3MgV2ViR1BV
QnVmZmVyOwotY2xhc3MgV2ViR1BVQ29tbWFuZFF1ZXVlOwotY2xhc3MgV2ViR1BVQ29tcHV0ZVBp
cGVsaW5lU3RhdGU7Ci1jbGFzcyBXZWJHUFVEZXB0aFN0ZW5jaWxEZXNjcmlwdG9yOwotY2xhc3Mg
V2ViR1BVRGVwdGhTdGVuY2lsU3RhdGU7Ci1jbGFzcyBXZWJHUFVEcmF3YWJsZTsKLWNsYXNzIFdl
YkdQVUZ1bmN0aW9uOwotY2xhc3MgV2ViR1BVTGlicmFyeTsKLWNsYXNzIFdlYkdQVVJlbmRlclBp
cGVsaW5lRGVzY3JpcHRvcjsKLWNsYXNzIFdlYkdQVVJlbmRlclBpcGVsaW5lU3RhdGU7Ci1jbGFz
cyBXZWJHUFVUZXh0dXJlOwotY2xhc3MgV2ViR1BVVGV4dHVyZURlc2NyaXB0b3I7Ci0KLWNsYXNz
IFdlYkdQVVJlbmRlcmluZ0NvbnRleHQgZmluYWwgOiBwdWJsaWMgR1BVQmFzZWRDYW52YXNSZW5k
ZXJpbmdDb250ZXh0IHsKLXB1YmxpYzoKLSAgICBzdGF0aWMgc3RkOjp1bmlxdWVfcHRyPFdlYkdQ
VVJlbmRlcmluZ0NvbnRleHQ+IGNyZWF0ZShDYW52YXNCYXNlJik7Ci0KLSAgICAvLyBGSVhNRTog
SURMIGZpbGUgc2F5cyB0aGlzIGlzIG5vdCBudWxsYWJsZSwgYnV0IHRoaXMgZnVuY3Rpb24gY2Fu
IHJldHVybiBudWxsLgotICAgIEhUTUxDYW52YXNFbGVtZW50KiBjYW52YXMoKSBjb25zdDsKLQot
ICAgIFJlZjxXZWJHUFVMaWJyYXJ5PiBjcmVhdGVMaWJyYXJ5KGNvbnN0IFN0cmluZyYpOwotICAg
IFJlZjxXZWJHUFVSZW5kZXJQaXBlbGluZVN0YXRlPiBjcmVhdGVSZW5kZXJQaXBlbGluZVN0YXRl
KFdlYkdQVVJlbmRlclBpcGVsaW5lRGVzY3JpcHRvciYpOwotICAgIFJlZjxXZWJHUFVEZXB0aFN0
ZW5jaWxTdGF0ZT4gY3JlYXRlRGVwdGhTdGVuY2lsU3RhdGUoV2ViR1BVRGVwdGhTdGVuY2lsRGVz
Y3JpcHRvciYpOwotICAgIFJlZjxXZWJHUFVDb21wdXRlUGlwZWxpbmVTdGF0ZT4gY3JlYXRlQ29t
cHV0ZVBpcGVsaW5lU3RhdGUoV2ViR1BVRnVuY3Rpb24mKTsKLSAgICBSZWY8V2ViR1BVQ29tbWFu
ZFF1ZXVlPiBjcmVhdGVDb21tYW5kUXVldWUoKTsKLSAgICBSZWY8V2ViR1BVRHJhd2FibGU+IG5l
eHREcmF3YWJsZSgpOwotICAgIFJlZlB0cjxXZWJHUFVCdWZmZXI+IGNyZWF0ZUJ1ZmZlcihKU0M6
OkFycmF5QnVmZmVyVmlldyYpOwotICAgIFJlZjxXZWJHUFVUZXh0dXJlPiBjcmVhdGVUZXh0dXJl
KFdlYkdQVVRleHR1cmVEZXNjcmlwdG9yJik7Ci0KLSAgICBjb25zdCBHUFVEZXZpY2UmIGRldmlj
ZSgpIGNvbnN0IHsgcmV0dXJuIG1fZGV2aWNlOyB9Ci0KLXByaXZhdGU6Ci0gICAgV2ViR1BVUmVu
ZGVyaW5nQ29udGV4dChDYW52YXNCYXNlJiwgR1BVRGV2aWNlJiYpOwotCi0gICAgYm9vbCBoYXNQ
ZW5kaW5nQWN0aXZpdHkoKSBjb25zdCBmaW5hbDsKLSAgICB2b2lkIHN0b3AoKSBmaW5hbDsKLSAg
ICBjb25zdCBjaGFyKiBhY3RpdmVET01PYmplY3ROYW1lKCkgY29uc3QgZmluYWw7Ci0gICAgYm9v
bCBjYW5TdXNwZW5kRm9yRG9jdW1lbnRTdXNwZW5zaW9uKCkgY29uc3QgZmluYWw7Ci0KLSAgICBJ
bnRTaXplIGNsYW1wZWRDYW52YXNTaXplKCkgY29uc3Q7Ci0gICAgdm9pZCBpbml0aWFsaXplTmV3
Q29udGV4dCgpOwotCi0gICAgYm9vbCBpc1dlYkdQVSgpIGNvbnN0IGZpbmFsIHsgcmV0dXJuIHRy
dWU7IH0KLQotICAgIHZvaWQgcmVzaGFwZShpbnQgd2lkdGgsIGludCBoZWlnaHQpIGZpbmFsOwot
ICAgIHZvaWQgbWFya0xheWVyQ29tcG9zaXRlZCgpIGZpbmFsOwotICAgIFBsYXRmb3JtTGF5ZXIq
IHBsYXRmb3JtTGF5ZXIoKSBjb25zdCBmaW5hbDsKLQotICAgIEdQVURldmljZSBtX2RldmljZTsK
LX07Ci0KLX0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKLQotU1BFQ0lBTElaRV9UWVBFX1RSQUlUU19D
QU5WQVNSRU5ERVJJTkdDT05URVhUKFdlYkNvcmU6OldlYkdQVVJlbmRlcmluZ0NvbnRleHQsIGlz
V2ViR1BVKCkpCi0KLSNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52
YXMvV2ViR1BVUmVuZGVyaW5nQ29udGV4dC5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZh
cy9XZWJHUFVSZW5kZXJpbmdDb250ZXh0LmlkbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggZjIwNDU0ZWIyZTA2ZGFiZDVjZjllMGQ0NTU1ZTVjODI4Y2EyM2NlZS4uMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL2Nh
bnZhcy9XZWJHUFVSZW5kZXJpbmdDb250ZXh0LmlkbAorKysgL2Rldi9udWxsCkBAIC0xLDExNSAr
MCwwIEBACi0vKgotICogQ29weXJpZ2h0IChDKSAyMDE3IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyBy
ZXNlcnZlZC4KLSAqIENvcHlyaWdodCAoQykgMjAxNyBZdWljaGlybyBLaWt1cmEgKHkua2lrdXJh
QGdtYWlsLmNvbSkKLSAqCi0gKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQg
YmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKLSAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1p
dHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwotICogYXJlIG1ldDoK
LSAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJv
dmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCi0gKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5
IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0
aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRo
ZQotICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdp
dGggdGhlIGRpc3RyaWJ1dGlvbi4KLSAqCi0gKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZ
IEFQUExFIElOQy4gYGBBUyBJUycnIEFORCBBTlkKLSAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJS
QU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCi0gKiBJTVBMSUVEIFdB
UlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIK
LSAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMu
IE9SCi0gKiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwg
SU5DSURFTlRBTCwgU1BFQ0lBTCwKLSAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1B
R0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKLSAqIFBST0NVUkVNRU5UIE9GIFNV
QlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgotICogUFJP
RklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5Z
IFRIRU9SWQotICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElB
QklMSVRZLCBPUiBUT1JUCi0gKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBB
UklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKLSAqIE9GIFRISVMgU09GVFdBUkUsIEVW
RU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCi0gKi8KLQot
WwotICAgIENvbmRpdGlvbmFsPVdFQkdQVSwKLSAgICBFbmFibGVkQXRSdW50aW1lPVdlYkdQVSwK
LSAgICBKU0N1c3RvbU1hcmtGdW5jdGlvbiwKLSAgICBEb05vdENoZWNrQ29uc3RhbnRzCi1dIGlu
dGVyZmFjZSBXZWJHUFVSZW5kZXJpbmdDb250ZXh0IHsKLSAgICAvLyBiYWNrLXJlZmVyZW5jZSB0
byB0aGUgY2FudmFzCi0gICAgcmVhZG9ubHkgYXR0cmlidXRlIEhUTUxDYW52YXNFbGVtZW50IGNh
bnZhczsKLQotICAgIC8vIFBpeGVsIGZvcm1hdHMKLQotICAgIGNvbnN0IHVuc2lnbmVkIGludCBQ
aXhlbEZvcm1hdEJHUkE4VW5vcm0gPSA4MDsKLSAgICBjb25zdCB1bnNpZ25lZCBpbnQgUGl4ZWxG
b3JtYXREZXB0aDMyRmxvYXQgPSAyNTI7Ci0gICAgY29uc3QgdW5zaWduZWQgaW50IFBpeGVsRm9y
bWF0U3RlbmNpbDggPSAyNTM7Ci0gICAgY29uc3QgdW5zaWduZWQgaW50IFBpeGVsRm9ybWF0SW52
YWxpZCA9IDA7Ci0KLSAgICAvLyBMb2FkIGFjdGlvbnMKLQotICAgIGNvbnN0IHVuc2lnbmVkIGlu
dCBMb2FkQWN0aW9uRG9udENhcmUgPSAwOwotICAgIGNvbnN0IHVuc2lnbmVkIGludCBMb2FkQWN0
aW9uTG9hZCA9IDE7Ci0gICAgY29uc3QgdW5zaWduZWQgaW50IExvYWRBY3Rpb25DbGVhciA9IDI7
Ci0KLSAgICAvLyBTdG9yZSBhY3Rpb25zCi0KLSAgICBjb25zdCB1bnNpZ25lZCBpbnQgU3RvcmVB
Y3Rpb25Eb250Q2FyZSA9IDA7Ci0gICAgY29uc3QgdW5zaWduZWQgaW50IFN0b3JlQWN0aW9uU3Rv
cmUgPSAxOwotICAgIGNvbnN0IHVuc2lnbmVkIGludCBTdG9yZUFjdGlvbk11bHRpc2FtcGxlUmVz
b2x2ZSA9IDI7Ci0KLSAgICAvLyBQcmltaXRpdmUgdHlwZXMKLQotICAgIGNvbnN0IHVuc2lnbmVk
IGludCBQcmltaXRpdmVUeXBlUG9pbnQgPSAwOwotICAgIGNvbnN0IHVuc2lnbmVkIGludCBQcmlt
aXRpdmVUeXBlTGluZSA9IDE7Ci0gICAgY29uc3QgdW5zaWduZWQgaW50IFByaW1pdGl2ZVR5cGVM
aW5lU3RyaXAgPSAyOwotICAgIGNvbnN0IHVuc2lnbmVkIGludCBQcmltaXRpdmVUeXBlVHJpYW5n
bGUgPSAzOwotICAgIGNvbnN0IHVuc2lnbmVkIGludCBQcmltaXRpdmVUeXBlVHJpYW5nbGVTdHJp
cCA9IDQ7Ci0KLSAgICAvLyBDb21wYXJpc29uIGZ1bmN0aW9ucwotCi0gICAgY29uc3QgdW5zaWdu
ZWQgaW50IENvbXBhcmVGdW5jdGlvbk5ldmVyID0gMDsKLSAgICBjb25zdCB1bnNpZ25lZCBpbnQg
Q29tcGFyZUZ1bmN0aW9uTGVzcyA9IDE7Ci0gICAgY29uc3QgdW5zaWduZWQgaW50IENvbXBhcmVG
dW5jdGlvbkVxdWFsID0gMjsKLSAgICBjb25zdCB1bnNpZ25lZCBpbnQgQ29tcGFyZUZ1bmN0aW9u
TGVzc0VxdWFsID0gMzsKLSAgICBjb25zdCB1bnNpZ25lZCBpbnQgQ29tcGFyZUZ1bmN0aW9uR3Jl
YXRlciA9IDQ7Ci0gICAgY29uc3QgdW5zaWduZWQgaW50IENvbXBhcmVGdW5jdGlvbk5vdEVxdWFs
ID0gNTsKLSAgICBjb25zdCB1bnNpZ25lZCBpbnQgQ29tcGFyZUZ1bmN0aW9uR3JlYXRlckVxdWFs
ID0gNjsKLSAgICBjb25zdCB1bnNpZ25lZCBpbnQgQ29tcGFyZUZ1bmN0aW9uQWx3YXlzID0gNzsK
LQotICAgIC8vIFRleHR1cmUgVHlwZXMKLQotICAgIGNvbnN0IHVuc2lnbmVkIGludCBUZXh0dXJl
VHlwZTFEID0gMDsKLSAgICBjb25zdCB1bnNpZ25lZCBpbnQgVGV4dHVyZVR5cGUxREFycmF5ID0g
MTsKLSAgICBjb25zdCB1bnNpZ25lZCBpbnQgVGV4dHVyZVR5cGUyRCA9IDI7Ci0gICAgY29uc3Qg
dW5zaWduZWQgaW50IFRleHR1cmVUeXBlMkRBcnJheSA9IDM7Ci0gICAgY29uc3QgdW5zaWduZWQg
aW50IFRleHR1cmVUeXBlMkRNdWx0aXNhbXBsZSA9IDQ7Ci0gICAgY29uc3QgdW5zaWduZWQgaW50
IFRleHR1cmVUeXBlQ3ViZSA9IDU7Ci0gICAgY29uc3QgdW5zaWduZWQgaW50IFRleHR1cmVUeXBl
Q3ViZUFycmF5ID0gNjsKLSAgICBjb25zdCB1bnNpZ25lZCBpbnQgVGV4dHVyZVR5cGUzRCA9IDc7
Ci0KLSAgICAvLyBTdG9yYWdlIG1vZGVzCi0KLSAgICBjb25zdCB1bnNpZ25lZCBpbnQgU3RvcmFn
ZU1vZGVTaGFyZWQgID0gMDsKLSAgICBjb25zdCB1bnNpZ25lZCBpbnQgU3RvcmFnZU1vZGVNYW5h
Z2VkID0gMTsKLSAgICBjb25zdCB1bnNpZ25lZCBpbnQgU3RvcmFnZU1vZGVQcml2YXRlID0gMjsK
LQotICAgIC8vIFVzYWdlCi0KLSAgICBjb25zdCB1bnNpZ25lZCBpbnQgVGV4dHVyZVVzYWdlVW5r
bm93biA9IDB4MDAwMDsKLSAgICBjb25zdCB1bnNpZ25lZCBpbnQgVGV4dHVyZVVzYWdlU2hhZGVy
UmVhZCA9IDB4MDAwMTsKLSAgICBjb25zdCB1bnNpZ25lZCBpbnQgVGV4dHVyZVVzYWdlU2hhZGVy
V3JpdGUgPSAweDAwMDI7Ci0gICAgY29uc3QgdW5zaWduZWQgaW50IFRleHR1cmVVc2FnZVJlbmRl
clRhcmdldCA9IDB4MDAwNDsKLSAgICBjb25zdCB1bnNpZ25lZCBpbnQgVGV4dHVyZVVzYWdlUGl4
ZWxGb3JtYXRWaWV3ID0gMHgwMDEwOwotCi0gICAgLy8gRW50cnkgcG9pbnRzCi0KLSAgICBXZWJH
UFVMaWJyYXJ5IGNyZWF0ZUxpYnJhcnkoRE9NU3RyaW5nIHNvdXJjZUNvZGUpOwotCi0gICAgV2Vi
R1BVUmVuZGVyUGlwZWxpbmVTdGF0ZSBjcmVhdGVSZW5kZXJQaXBlbGluZVN0YXRlKFdlYkdQVVJl
bmRlclBpcGVsaW5lRGVzY3JpcHRvciBkZXNjcmlwdG9yKTsKLSAgICBXZWJHUFVEZXB0aFN0ZW5j
aWxTdGF0ZSBjcmVhdGVEZXB0aFN0ZW5jaWxTdGF0ZShXZWJHUFVEZXB0aFN0ZW5jaWxEZXNjcmlw
dG9yIGRlc2NyaXB0b3IpOwotICAgIFdlYkdQVUNvbXB1dGVQaXBlbGluZVN0YXRlIGNyZWF0ZUNv
bXB1dGVQaXBlbGluZVN0YXRlKFdlYkdQVUZ1bmN0aW9uIGZ1bmN0aW9uKTsKLQotICAgIFdlYkdQ
VUNvbW1hbmRRdWV1ZSBjcmVhdGVDb21tYW5kUXVldWUoKTsKLQotICAgIFdlYkdQVURyYXdhYmxl
IG5leHREcmF3YWJsZSgpOwotCi0gICAgV2ViR1BVQnVmZmVyPyBjcmVhdGVCdWZmZXIoQXJyYXlC
dWZmZXJWaWV3IGRhdGEpOwotCi0gICAgV2ViR1BVVGV4dHVyZSBjcmVhdGVUZXh0dXJlKFdlYkdQ
VVRleHR1cmVEZXNjcmlwdG9yIGRlc2NyaXB0b3IpOwotCi19OwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR1BVU2l6ZS5oIGIvU291cmNlL1dlYkNvcmUvaHRtbC9j
YW52YXMvV2ViR1BVU2l6ZS5oCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA1YzEyMWM1
ZDRmZDAwMzhmZGY0YjE0YmM5NjRkYTAyN2EwODI3MTk0Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdQ
VVNpemUuaAorKysgL2Rldi9udWxsCkBAIC0xLDQwICswLDAgQEAKLS8qCi0gKiBDb3B5cmlnaHQg
KEMpIDIwMTcgWXVpY2hpcm8gS2lrdXJhICh5Lmtpa3VyYUBnbWFpbC5jb20pCi0gKgotICogUmVk
aXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3
aXRob3V0Ci0gKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUg
Zm9sbG93aW5nIGNvbmRpdGlvbnMKLSAqIGFyZSBtZXQ6Ci0gKiAxLiBSZWRpc3RyaWJ1dGlvbnMg
b2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
LgotICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRo
ZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKLSAqICAgIGRvY3VtZW50YXRpb24g
YW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCi0g
KgotICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIGBgQVMgSVMnJyBB
TkQgQU5ZCi0gKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQg
Tk9UIExJTUlURUQgVE8sIFRIRQotICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJ
TElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCi0gKiBQVVJQT1NFIEFSRSBESVNDTEFJ
TUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUgotICogQ09OVFJJQlVUT1JTIEJF
IExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCi0g
KiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9U
IExJTUlURUQgVE8sCi0gKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJ
Q0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKLSAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVS
UlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKLSAqIE9GIExJQUJJTElU
WSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAotICogKElO
Q0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBP
RiBUSEUgVVNFCi0gKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBP
U1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgotICovCi0KLSNwcmFnbWEgb25jZQotCi0jaWYgRU5B
QkxFKFdFQkdQVSkKLQotbmFtZXNwYWNlIFdlYkNvcmUgewotICAgIAotc3RydWN0IFdlYkdQVVNp
emUgewotICAgIHVuc2lnbmVkIHdpZHRoOwotICAgIHVuc2lnbmVkIGhlaWdodDsKLSAgICB1bnNp
Z25lZCBkZXB0aDsKLX07Ci0gICAgCi19IC8vIG5hbWVzcGFjZSBXZWJDb3JlCi0KLSNlbmRpZgpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR1BVU2l6ZS5pZGwgYi9T
b3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHUFVTaXplLmlkbApkZWxldGVkIGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggYjk3ODNmYjc2MTliMjNhNzkwMGI4NDgzMWU5MzY3ZGM1ZTJlYjk5MC4u
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9odG1sL2NhbnZhcy9XZWJHUFVTaXplLmlkbAorKysgL2Rldi9udWxsCkBAIC0xLDMzICsw
LDAgQEAKLS8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTcgWXVpY2hpcm8gS2lrdXJhICh5Lmtpa3Vy
YUBnbWFpbC5jb20pCi0gKgotICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5k
IGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Ci0gKiBtb2RpZmljYXRpb24sIGFyZSBwZXJt
aXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKLSAqIGFyZSBtZXQ6
Ci0gKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFi
b3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQg
dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgotICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFy
eSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwg
dGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0
aGUKLSAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3
aXRoIHRoZSBkaXN0cmlidXRpb24uCi0gKgotICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBC
WSBBUFBMRSBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCi0gKiBFWFBSRVNTIE9SIElNUExJRUQgV0FS
UkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQotICogSU1QTElFRCBX
QVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFS
Ci0gKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5D
LiBPUgotICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1Qs
IElOQ0lERU5UQUwsIFNQRUNJQUwsCi0gKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFN
QUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCi0gKiBQUk9DVVJFTUVOVCBPRiBT
VUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKLSAqIFBS
T0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFO
WSBUSEVPUlkKLSAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJ
QUJJTElUWSwgT1IgVE9SVAotICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkg
QVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCi0gKiBPRiBUSElTIFNPRlRXQVJFLCBF
VkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgotICovCi0g
Ci1bCi0gICAgQ29uZGl0aW9uYWw9V0VCR1BVLAotICAgIEVuYWJsZWRBdFJ1bnRpbWU9V2ViR1BV
Ci1dIGRpY3Rpb25hcnkgV2ViR1BVU2l6ZSB7Ci0gICAgdW5zaWduZWQgbG9uZyB3aWR0aDsKLSAg
ICB1bnNpZ25lZCBsb25nIGhlaWdodDsKLSAgICB1bnNpZ25lZCBsb25nIGRlcHRoOwotfTsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdQVVRleHR1cmUuY3BwIGIv
U291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR1BVVGV4dHVyZS5jcHAKZGVsZXRlZCBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDJkMDZlOTVmYWRiYmFjYTJlYzIxMjc1OTExNGNhM2RhZTY3ZmQy
NjMuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvU291cmNl
L1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR1BVVGV4dHVyZS5jcHAKKysrIC9kZXYvbnVsbApAQCAt
MSw0NSArMCwwIEBACi0vKgotICogQ29weXJpZ2h0IChDKSAyMDE3IEFwcGxlIEluYy4gQWxsIHJp
Z2h0cyByZXNlcnZlZC4KLSAqCi0gKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBh
bmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKLSAqIG1vZGlmaWNhdGlvbiwgYXJlIHBl
cm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwotICogYXJlIG1l
dDoKLSAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUg
YWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFu
ZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCi0gKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmlu
YXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNl
LCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGlu
IHRoZQotICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVk
IHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KLSAqCi0gKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVE
IEJZIEFQUExFIElOQy4gYGBBUyBJUycnIEFORCBBTlkKLSAqIEVYUFJFU1MgT1IgSU1QTElFRCBX
QVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCi0gKiBJTVBMSUVE
IFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VM
QVIKLSAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJ
TkMuIE9SCi0gKiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVD
VCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKLSAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBE
QU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKLSAqIFBST0NVUkVNRU5UIE9G
IFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgotICog
UFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04g
QU5ZIFRIRU9SWQotICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1Qg
TElBQklMSVRZLCBPUiBUT1JUCi0gKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNF
KSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKLSAqIE9GIFRISVMgU09GVFdBUkUs
IEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCi0gKi8K
LQotI2luY2x1ZGUgImNvbmZpZy5oIgotI2luY2x1ZGUgIldlYkdQVVRleHR1cmUuaCIKLQotI2lm
IEVOQUJMRShXRUJHUFUpCi0KLW5hbWVzcGFjZSBXZWJDb3JlIHsKLQotUmVmPFdlYkdQVVRleHR1
cmU+IFdlYkdQVVRleHR1cmU6OmNyZWF0ZShHUFVUZXh0dXJlJiYgdGV4dHVyZSkKLXsKLSAgICBy
ZXR1cm4gYWRvcHRSZWYoKm5ldyBXZWJHUFVUZXh0dXJlKFdURk1vdmUodGV4dHVyZSkpKTsKLX0K
LQotV2ViR1BVVGV4dHVyZTo6V2ViR1BVVGV4dHVyZShHUFVUZXh0dXJlJiYgdGV4dHVyZSkKLSAg
ICA6IG1fdGV4dHVyZSB7IFdURk1vdmUodGV4dHVyZSkgfQotewotfQotCi19IC8vIG5hbWVzcGFj
ZSBXZWJDb3JlCi0KLSNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52
YXMvV2ViR1BVVGV4dHVyZS5oIGIvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR1BVVGV4
dHVyZS5oCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA0YzJmMjM1YzY1ZmQ3MGU3MGIx
MTg3N2EzMGQyZDRiOGE4ZGU4OWQ5Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwCi0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdQVVRleHR1cmUuaAor
KysgL2Rldi9udWxsCkBAIC0xLDU1ICswLDAgQEAKLS8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTcg
QXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgotICoKLSAqIFJlZGlzdHJpYnV0aW9uIGFu
ZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAotICogbW9k
aWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25k
aXRpb25zCi0gKiBhcmUgbWV0OgotICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2Rl
IG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KLSAqIDIuIFJlZGlz
dHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJp
Z2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93
aW5nIGRpc2NsYWltZXIgaW4gdGhlCi0gKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBt
YXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgotICoKLSAqIFRISVMgU09G
VFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBgYEFTIElTJycgQU5EIEFOWQotICogRVhQ
UkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRP
LCBUSEUKLSAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5F
U1MgRk9SIEEgUEFSVElDVUxBUgotICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVW
RU5UIFNIQUxMIEFQUExFIElOQy4gT1IKLSAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFO
WSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAotICogRVhFTVBMQVJZLCBP
UiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAot
ICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBV
U0UsIERBVEEsIE9SCi0gKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VW
RVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCi0gKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4g
Q09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKLSAqIChJTkNMVURJTkcgTkVHTElH
RU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQotICog
T0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBT
VUNIIERBTUFHRS4KLSAqLwotCi0jcHJhZ21hIG9uY2UKLQotI2lmIEVOQUJMRShXRUJHUFUpCi0K
LSNpbmNsdWRlICJHUFVUZXh0dXJlLmgiCi0jaW5jbHVkZSA8d3RmL1JlZi5oPgotI2luY2x1ZGUg
PHd0Zi9SZWZDb3VudGVkLmg+Ci0KLW5hbWVzcGFjZSBXZWJDb3JlIHsKLQotY2xhc3MgR1BVVGV4
dHVyZURlc2NyaXB0b3I7Ci0KLWNsYXNzIFdlYkdQVVRleHR1cmUgOiBwdWJsaWMgUmVmQ291bnRl
ZDxXZWJHUFVUZXh0dXJlPiB7Ci1wdWJsaWM6Ci0gICAgc3RhdGljIFJlZjxXZWJHUFVUZXh0dXJl
PiBjcmVhdGUoR1BVVGV4dHVyZSYmKTsKLQotICAgIHVuc2lnbmVkIHdpZHRoKCkgY29uc3QgeyBy
ZXR1cm4gbV90ZXh0dXJlLndpZHRoKCk7IH0KLSAgICB1bnNpZ25lZCBoZWlnaHQoKSBjb25zdCB7
IHJldHVybiBtX3RleHR1cmUuaGVpZ2h0KCk7IH0KLQotICAgIGNvbnN0IEdQVVRleHR1cmUmIHRl
eHR1cmUoKSBjb25zdCB7IHJldHVybiBtX3RleHR1cmU7IH0KLQotcHJpdmF0ZToKLSAgICBleHBs
aWNpdCBXZWJHUFVUZXh0dXJlKEdQVVRleHR1cmUmJik7Ci0KLSAgICBHUFVUZXh0dXJlIG1fdGV4
dHVyZTsKLX07Ci0gICAgCi19IC8vIG5hbWVzcGFjZSBXZWJDb3JlCi0KLSNlbmRpZgpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR1BVVGV4dHVyZS5pZGwgYi9Tb3Vy
Y2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHUFVUZXh0dXJlLmlkbApkZWxldGVkIGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggNzIzZjg4ODRlMGExZTFiMWFiYTVjMzdmY2EwY2I0NjA3NzM3ZWZmMC4u
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9odG1sL2NhbnZhcy9XZWJHUFVUZXh0dXJlLmlkbAorKysgL2Rldi9udWxsCkBAIC0xLDM1
ICswLDAgQEAKLS8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTcgQXBwbGUgSW5jLiBBbGwgcmlnaHRz
IHJlc2VydmVkLgotICoKLSAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBi
aW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAotICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0
dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCi0gKiBhcmUgbWV0Ogot
ICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92
ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRo
ZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KLSAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkg
Zm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRo
aXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhl
Ci0gKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0
aCB0aGUgZGlzdHJpYnV0aW9uLgotICoKLSAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkg
QVBQTEUgSU5DLiBgYEFTIElTJycgQU5EIEFOWQotICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJB
TlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKLSAqIElNUExJRUQgV0FS
UkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgot
ICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4g
T1IKLSAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJ
TkNJREVOVEFMLCBTUEVDSUFMLAotICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFH
RVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAotICogUFJPQ1VSRU1FTlQgT0YgU1VC
U1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCi0gKiBQUk9G
SVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkg
VEhFT1JZCi0gKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFC
SUxJVFksIE9SIFRPUlQKLSAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFS
SVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQotICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZF
TiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KLSAqLwotCi1b
Ci0gICAgQ29uZGl0aW9uYWw9V0VCR1BVLAotICAgIEVuYWJsZWRBdFJ1bnRpbWU9V2ViR1BVLAot
ICAgIEltcGxlbWVudGF0aW9uTGFja3NWVGFibGUKLV0gaW50ZXJmYWNlIFdlYkdQVVRleHR1cmUg
ewotCi0gICAgcmVhZG9ubHkgYXR0cmlidXRlIHVuc2lnbmVkIGxvbmcgd2lkdGg7Ci0gICAgcmVh
ZG9ubHkgYXR0cmlidXRlIHVuc2lnbmVkIGxvbmcgaGVpZ2h0OwotCi19OwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR1BVVGV4dHVyZURlc2NyaXB0b3IuY3BwIGIv
U291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR1BVVGV4dHVyZURlc2NyaXB0b3IuY3BwCmRl
bGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBiOGQ3MzViZTgzOWJlMDQ4ZjM2MzdlMzMwMzMw
ZTYxN2FlNWE2MmJjLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0t
LSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdQVVRleHR1cmVEZXNjcmlwdG9yLmNw
cAorKysgL2Rldi9udWxsCkBAIC0xLDEwNSArMCwwIEBACi0vKgotICogQ29weXJpZ2h0IChDKSAy
MDE3IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLSAqCi0gKiBSZWRpc3RyaWJ1dGlv
biBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKLSAq
IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcg
Y29uZGl0aW9ucwotICogYXJlIG1ldDoKLSAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2Ug
Y29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCi0gKiAyLiBS
ZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNv
cHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQotICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3Ro
ZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KLSAqCi0gKiBUSElT
IFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gYGBBUyBJUycnIEFORCBBTlkKLSAq
IEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRF
RCBUTywgVEhFCi0gKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBG
SVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKLSAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBO
TyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SCi0gKiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZP
UiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKLSAqIEVYRU1QTEFS
WSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBU
TywKLSAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1Mg
T0YgVVNFLCBEQVRBLCBPUgotICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBI
T1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQotICogT0YgTElBQklMSVRZLCBXSEVUSEVS
IElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCi0gKiAoSU5DTFVESU5HIE5F
R0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UK
LSAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkg
T0YgU1VDSCBEQU1BR0UuCi0gKi8KLQotI2luY2x1ZGUgImNvbmZpZy5oIgotI2luY2x1ZGUgIldl
YkdQVVRleHR1cmVEZXNjcmlwdG9yLmgiCi0KLSNpZiBFTkFCTEUoV0VCR1BVKQotCi1uYW1lc3Bh
Y2UgV2ViQ29yZSB7Ci0KLVJlZjxXZWJHUFVUZXh0dXJlRGVzY3JpcHRvcj4gV2ViR1BVVGV4dHVy
ZURlc2NyaXB0b3I6OmNyZWF0ZSh1bnNpZ25lZCBwaXhlbEZvcm1hdCwgdW5zaWduZWQgd2lkdGgs
IHVuc2lnbmVkIGhlaWdodCwgYm9vbCBtaXBtYXBwZWQpCi17Ci0gICAgcmV0dXJuIGFkb3B0UmVm
KCpuZXcgV2ViR1BVVGV4dHVyZURlc2NyaXB0b3IocGl4ZWxGb3JtYXQsIHdpZHRoLCBoZWlnaHQs
IG1pcG1hcHBlZCkpOwotfQotCi1XZWJHUFVUZXh0dXJlRGVzY3JpcHRvcjo6V2ViR1BVVGV4dHVy
ZURlc2NyaXB0b3IodW5zaWduZWQgcGl4ZWxGb3JtYXQsIHVuc2lnbmVkIHdpZHRoLCB1bnNpZ25l
ZCBoZWlnaHQsIGJvb2wgbWlwbWFwcGVkKQotICAgIDogbV9kZXNjcmlwdG9yIHsgcGl4ZWxGb3Jt
YXQsIHdpZHRoLCBoZWlnaHQsIG1pcG1hcHBlZCB9Ci17Ci19Ci0KLXVuc2lnbmVkIFdlYkdQVVRl
eHR1cmVEZXNjcmlwdG9yOjp3aWR0aCgpIGNvbnN0Ci17Ci0gICAgcmV0dXJuIG1fZGVzY3JpcHRv
ci53aWR0aCgpOwotfQotCi12b2lkIFdlYkdQVVRleHR1cmVEZXNjcmlwdG9yOjpzZXRXaWR0aCh1
bnNpZ25lZCB3aWR0aCkKLXsKLSAgICBtX2Rlc2NyaXB0b3Iuc2V0V2lkdGgod2lkdGgpOwotfQot
Ci11bnNpZ25lZCBXZWJHUFVUZXh0dXJlRGVzY3JpcHRvcjo6aGVpZ2h0KCkgY29uc3QKLXsKLSAg
ICByZXR1cm4gbV9kZXNjcmlwdG9yLmhlaWdodCgpOwotfQotCi12b2lkIFdlYkdQVVRleHR1cmVE
ZXNjcmlwdG9yOjpzZXRIZWlnaHQodW5zaWduZWQgaGVpZ2h0KQotewotICAgIG1fZGVzY3JpcHRv
ci5zZXRIZWlnaHQoaGVpZ2h0KTsKLX0KLQotdW5zaWduZWQgV2ViR1BVVGV4dHVyZURlc2NyaXB0
b3I6OnNhbXBsZUNvdW50KCkgY29uc3QKLXsKLSAgICByZXR1cm4gbV9kZXNjcmlwdG9yLnNhbXBs
ZUNvdW50KCk7Ci19Ci0KLXZvaWQgV2ViR1BVVGV4dHVyZURlc2NyaXB0b3I6OnNldFNhbXBsZUNv
dW50KHVuc2lnbmVkIHNhbXBsZUNvdW50KQotewotICAgIG1fZGVzY3JpcHRvci5zZXRTYW1wbGVD
b3VudChzYW1wbGVDb3VudCk7Ci19Ci0KLXVuc2lnbmVkIFdlYkdQVVRleHR1cmVEZXNjcmlwdG9y
Ojp0ZXh0dXJlVHlwZSgpIGNvbnN0Ci17Ci0gICAgcmV0dXJuIG1fZGVzY3JpcHRvci50ZXh0dXJl
VHlwZSgpOwotfQotCi12b2lkIFdlYkdQVVRleHR1cmVEZXNjcmlwdG9yOjpzZXRUZXh0dXJlVHlw
ZSh1bnNpZ25lZCB0ZXh0dXJlVHlwZSkKLXsKLSAgICBtX2Rlc2NyaXB0b3Iuc2V0VGV4dHVyZVR5
cGUodGV4dHVyZVR5cGUpOwotfQotCi11bnNpZ25lZCBXZWJHUFVUZXh0dXJlRGVzY3JpcHRvcjo6
c3RvcmFnZU1vZGUoKSBjb25zdAotewotICAgIHJldHVybiBtX2Rlc2NyaXB0b3Iuc3RvcmFnZU1v
ZGUoKTsKLX0KLQotdm9pZCBXZWJHUFVUZXh0dXJlRGVzY3JpcHRvcjo6c2V0U3RvcmFnZU1vZGUo
dW5zaWduZWQgc3RvcmFnZU1vZGUpCi17Ci0gICAgbV9kZXNjcmlwdG9yLnNldFN0b3JhZ2VNb2Rl
KHN0b3JhZ2VNb2RlKTsKLX0KLQotdW5zaWduZWQgV2ViR1BVVGV4dHVyZURlc2NyaXB0b3I6OnVz
YWdlKCkgY29uc3QKLXsKLSAgICByZXR1cm4gbV9kZXNjcmlwdG9yLnVzYWdlKCk7Ci19Ci0KLXZv
aWQgV2ViR1BVVGV4dHVyZURlc2NyaXB0b3I6OnNldFVzYWdlKHVuc2lnbmVkIHVzYWdlKQotewot
ICAgIG1fZGVzY3JpcHRvci5zZXRVc2FnZSh1c2FnZSk7Ci19Ci0gICAgCi19IC8vIG5hbWVzcGFj
ZSBXZWJDb3JlCi0KLSNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52
YXMvV2ViR1BVVGV4dHVyZURlc2NyaXB0b3IuaCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFz
L1dlYkdQVVRleHR1cmVEZXNjcmlwdG9yLmgKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IGMwMTg5M2I3MTViOWEzYzQ2NmFjMDYwNzgzY2IxMjZmN2U5NTg5NWUuLjAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52
YXMvV2ViR1BVVGV4dHVyZURlc2NyaXB0b3IuaAorKysgL2Rldi9udWxsCkBAIC0xLDY4ICswLDAg
QEAKLS8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTcgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2Vy
dmVkLgotICoKLSAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkg
Zm9ybXMsIHdpdGggb3Igd2l0aG91dAotICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHBy
b3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCi0gKiBhcmUgbWV0OgotICogMS4g
UmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5
cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xs
b3dpbmcgZGlzY2xhaW1lci4KLSAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBt
dXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlz
dCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCi0gKiAg
ICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUg
ZGlzdHJpYnV0aW9uLgotICoKLSAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUg
SU5DLiBgYEFTIElTJycgQU5EIEFOWQotICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMs
IElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKLSAqIElNUExJRUQgV0FSUkFOVElF
UyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgotICogUFVS
UE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IKLSAq
IENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVO
VEFMLCBTUEVDSUFMLAotICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElO
Q0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAotICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVU
RSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCi0gKiBQUk9GSVRTOyBP
UiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZ
Ci0gKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFks
IE9SIFRPUlQKLSAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcg
SU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQotICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBB
RFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KLSAqLwotCi0jcHJhZ21h
IG9uY2UKLQotI2lmIEVOQUJMRShXRUJHUFUpCi0KLSNpbmNsdWRlICJHUFVUZXh0dXJlRGVzY3Jp
cHRvci5oIgotI2luY2x1ZGUgPHd0Zi9SZWYuaD4KLSNpbmNsdWRlIDx3dGYvUmVmQ291bnRlZC5o
PgotCi1uYW1lc3BhY2UgV2ViQ29yZSB7Ci0KLWNsYXNzIFdlYkdQVVRleHR1cmVEZXNjcmlwdG9y
IDogcHVibGljIFJlZkNvdW50ZWQ8V2ViR1BVVGV4dHVyZURlc2NyaXB0b3I+IHsKLXB1YmxpYzoK
LSAgICBzdGF0aWMgUmVmPFdlYkdQVVRleHR1cmVEZXNjcmlwdG9yPiBjcmVhdGUodW5zaWduZWQg
cGl4ZWxGb3JtYXQsIHVuc2lnbmVkIHdpZHRoLCB1bnNpZ25lZCBoZWlnaHQsIGJvb2wgbWlwbWFw
cGVkKTsKLQotICAgIHVuc2lnbmVkIHdpZHRoKCkgY29uc3Q7Ci0gICAgdm9pZCBzZXRXaWR0aCh1
bnNpZ25lZCk7Ci0KLSAgICB1bnNpZ25lZCBoZWlnaHQoKSBjb25zdDsKLSAgICB2b2lkIHNldEhl
aWdodCh1bnNpZ25lZCk7Ci0KLSAgICB1bnNpZ25lZCBzYW1wbGVDb3VudCgpIGNvbnN0OwotICAg
IHZvaWQgc2V0U2FtcGxlQ291bnQodW5zaWduZWQpOwotCi0gICAgdW5zaWduZWQgdGV4dHVyZVR5
cGUoKSBjb25zdDsKLSAgICB2b2lkIHNldFRleHR1cmVUeXBlKHVuc2lnbmVkKTsKLQotICAgIHVu
c2lnbmVkIHN0b3JhZ2VNb2RlKCkgY29uc3Q7Ci0gICAgdm9pZCBzZXRTdG9yYWdlTW9kZSh1bnNp
Z25lZCk7Ci0KLSAgICB1bnNpZ25lZCB1c2FnZSgpIGNvbnN0OwotICAgIHZvaWQgc2V0VXNhZ2Uo
dW5zaWduZWQpOwotCi0gICAgY29uc3QgR1BVVGV4dHVyZURlc2NyaXB0b3ImIGRlc2NyaXB0b3Io
KSB7IHJldHVybiBtX2Rlc2NyaXB0b3I7IH0KLQotcHJpdmF0ZToKLSAgICBXZWJHUFVUZXh0dXJl
RGVzY3JpcHRvcih1bnNpZ25lZCBwaXhlbEZvcm1hdCwgdW5zaWduZWQgd2lkdGgsIHVuc2lnbmVk
IGhlaWdodCwgYm9vbCBtaXBtYXBwZWQpOwotCi0gICAgR1BVVGV4dHVyZURlc2NyaXB0b3IgbV9k
ZXNjcmlwdG9yOwotfTsKLQotfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQotCi0jZW5kaWYKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdQVVRleHR1cmVEZXNjcmlwdG9y
LmlkbCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdQVVRleHR1cmVEZXNjcmlwdG9y
LmlkbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZGI2YTA2MzNmZWJkYmU0NGVhNzcy
Yjg2NzNmMzQ3NmM4ZjJjMmI5Yy4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHUFVUZXh0dXJlRGVzY3Jp
cHRvci5pZGwKKysrIC9kZXYvbnVsbApAQCAtMSw0MyArMCwwIEBACi0vKgotICogQ29weXJpZ2h0
IChDKSAyMDE3IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLSAqCi0gKiBSZWRpc3Ry
aWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhv
dXQKLSAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xs
b3dpbmcgY29uZGl0aW9ucwotICogYXJlIG1ldDoKLSAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBz
b3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2Us
IHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCi0g
KiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFi
b3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQg
dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQotICogICAgZG9jdW1lbnRhdGlvbiBhbmQv
b3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KLSAqCi0g
KiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gYGBBUyBJUycnIEFORCBB
TlkKLSAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1Qg
TElNSVRFRCBUTywgVEhFCi0gKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZ
IEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKLSAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQu
ICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SCi0gKiBDT05UUklCVVRPUlMgQkUgTElB
QkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKLSAqIEVY
RU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElN
SVRFRCBUTywKLSAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7
IExPU1MgT0YgVVNFLCBEQVRBLCBPUgotICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBU
SU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQotICogT0YgTElBQklMSVRZLCBX
SEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCi0gKiAoSU5DTFVE
SU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRI
RSBVU0UKLSAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lC
SUxJVFkgT0YgU1VDSCBEQU1BR0UuCi0gKi8KLQotWwotICAgIENvbnN0cnVjdG9yKHVuc2lnbmVk
IGxvbmcgcGl4ZWxGb3JtYXQsIHVuc2lnbmVkIGxvbmcgd2lkdGgsIHVuc2lnbmVkIGxvbmcgaGVp
Z2h0LCBib29sZWFuIG1pcG1hcHBlZCksCi0gICAgQ29uZGl0aW9uYWw9V0VCR1BVLAotICAgIEVu
YWJsZWRBdFJ1bnRpbWU9V2ViR1BVLAotICAgIEltcGxlbWVudGF0aW9uTGFja3NWVGFibGUKLV0g
aW50ZXJmYWNlIFdlYkdQVVRleHR1cmVEZXNjcmlwdG9yIHsKLQotICAgIGF0dHJpYnV0ZSB1bnNp
Z25lZCBsb25nIHRleHR1cmVUeXBlOwotCi0gICAgYXR0cmlidXRlIHVuc2lnbmVkIGxvbmcgd2lk
dGg7Ci0gICAgYXR0cmlidXRlIHVuc2lnbmVkIGxvbmcgaGVpZ2h0OwotICAgIGF0dHJpYnV0ZSB1
bnNpZ25lZCBsb25nIHNhbXBsZUNvdW50OwotCi0gICAgYXR0cmlidXRlIHVuc2lnbmVkIGxvbmcg
c3RvcmFnZU1vZGU7Ci0KLSAgICBhdHRyaWJ1dGUgdW5zaWduZWQgbG9uZyB1c2FnZTsKLQotfTsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYk1ldGFsQnVmZmVyLmNw
cCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYk1ldGFsQnVmZmVyLmNwcApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi5iZDMwMWVlOTg1NTNhNjE3OWI0ZGIzZmE0ZGNiMzRhZGRlZDJmZWRjCi0tLSAvZGV2L251
bGwKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViTWV0YWxCdWZmZXIuY3BwCkBA
IC0wLDAgKzEsNDYgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTcgQXBwbGUgSW5jLiBBbGwg
cmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNl
IGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUg
cGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUg
bWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRo
ZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBi
aW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3Rp
Y2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIg
aW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlk
ZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklE
RUQgQlkgQVBQTEUgSU5DLiBgYEFTIElTJycgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVE
IFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKKyAqIElNUExJ
RUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElD
VUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExF
IElOQy4gT1IKKyAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElS
RUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAorICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFM
IERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogUFJPQ1VSRU1FTlQg
T0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCisg
KiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBP
TiBBTlkgVEhFT1JZCisgKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklD
VCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJ
U0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FS
RSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAq
LworCisjaW5jbHVkZSAiY29uZmlnLmgiCisjaW5jbHVkZSAiV2ViTWV0YWxCdWZmZXIuaCIKKwor
I2lmIEVOQUJMRShXRUJNRVRBTCkKKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitSZWZQdHI8V2Vi
TWV0YWxCdWZmZXI+IFdlYk1ldGFsQnVmZmVyOjpjcmVhdGUoR1BVQnVmZmVyJiYgYnVmZmVyKQor
eworICAgIC8vIEZJWE1FOiBDb25zaWRlciByZXR1cm5pbmcgbnVsbCByYXRoZXIgdGhhbiBhIGJ1
ZmZlciB3aXRoIGxlbmd0aCAwIGFuZCBjb250ZW50cyBudWxsIHdoZW4gY3JlYXRpb24gZmFpbHMu
CisgICAgcmV0dXJuIGFkb3B0UmVmKCpuZXcgV2ViTWV0YWxCdWZmZXIoV1RGTW92ZShidWZmZXIp
KSk7Cit9CisKK1dlYk1ldGFsQnVmZmVyOjpXZWJNZXRhbEJ1ZmZlcihHUFVCdWZmZXImJiBidWZm
ZXIpCisgICAgOiBtX2J1ZmZlciB7IFdURk1vdmUoYnVmZmVyKSB9Cit7Cit9CisKK30gLy8gbmFt
ZXNwYWNlIFdlYkNvcmUKKworI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1s
L2NhbnZhcy9XZWJNZXRhbEJ1ZmZlci5oIGIvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2Vi
TWV0YWxCdWZmZXIuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yZTM0MWE3MmFlYTkwN2Q4MmJiYmI5NzNhMzVlYWM2
OWRmMDU0OGNiCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMv
V2ViTWV0YWxCdWZmZXIuaApAQCAtMCwwICsxLDUzIEBACisvKgorICogQ29weXJpZ2h0IChDKSAy
MDE3IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlv
biBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAq
IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcg
Y29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2Ug
Y29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBS
ZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNv
cHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3Ro
ZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElT
IFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gYGBBUyBJUycnIEFORCBBTlkKKyAq
IEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRF
RCBUTywgVEhFCisgKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBG
SVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBO
TyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SCisgKiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZP
UiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKKyAqIEVYRU1QTEFS
WSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBU
TywKKyAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1Mg
T0YgVVNFLCBEQVRBLCBPUgorICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBI
T1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQorICogT0YgTElBQklMSVRZLCBXSEVUSEVS
IElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5F
R0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UK
KyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkg
T0YgU1VDSCBEQU1BR0UuCisgKi8KKworI3ByYWdtYSBvbmNlCisKKyNpZiBFTkFCTEUoV0VCTUVU
QUwpCisKKyNpbmNsdWRlICJHUFVCdWZmZXIuaCIKKyNpbmNsdWRlIDx3dGYvUmVmQ291bnRlZC5o
PgorI2luY2x1ZGUgPHd0Zi9SZWZQdHIuaD4KKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitjbGFz
cyBXZWJNZXRhbEJ1ZmZlciA6IHB1YmxpYyBSZWZDb3VudGVkPFdlYk1ldGFsQnVmZmVyPiB7Citw
dWJsaWM6CisgICAgc3RhdGljIFJlZlB0cjxXZWJNZXRhbEJ1ZmZlcj4gY3JlYXRlKEdQVUJ1ZmZl
ciYmKTsKKworICAgIHVuc2lnbmVkIGxlbmd0aCgpIGNvbnN0IHsgcmV0dXJuIG1fYnVmZmVyLmxl
bmd0aCgpOyB9CisgICAgSlNDOjpBcnJheUJ1ZmZlciYgY29udGVudHMoKSBjb25zdCB7IHJldHVy
biAqbV9idWZmZXIuY29udGVudHMoKTsgfQorCisgICAgY29uc3QgR1BVQnVmZmVyJiBidWZmZXIo
KSBjb25zdCB7IHJldHVybiBtX2J1ZmZlcjsgfQorCitwcml2YXRlOgorICAgIGV4cGxpY2l0IFdl
Yk1ldGFsQnVmZmVyKEdQVUJ1ZmZlciYmKTsKKworICAgIEdQVUJ1ZmZlciBtX2J1ZmZlcjsKK307
CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKworI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9odG1sL2NhbnZhcy9XZWJNZXRhbEJ1ZmZlci5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9o
dG1sL2NhbnZhcy9XZWJNZXRhbEJ1ZmZlci5pZGwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYTI3NTM1NjZkYjIxNWQ0
MDU4YzRhZDUyMmY4MjQ3ZjgzMThmYTMzZQotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2h0bWwvY2FudmFzL1dlYk1ldGFsQnVmZmVyLmlkbApAQCAtMCwwICsxLDM1IEBACisvKgor
ICogQ29weXJpZ2h0IChDKSAyMDE3IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAq
CisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3
aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0
aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJp
YnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Cisg
KiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRp
c2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXBy
b2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29u
ZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1l
bnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1
dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gYGBB
UyBJUycnIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJ
TkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisgKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVS
Q0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJF
IERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SCisgKiBDT05UUklC
VVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BF
Q0lBTCwKKyAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcs
IEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMg
T1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgorICogUFJPRklUUzsgT1IgQlVTSU5F
U1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQorICogT0Yg
TElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JU
CisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBX
QVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBP
RiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworWworICAgIENvbmRpdGlv
bmFsPVdFQk1FVEFMLAorICAgIEVuYWJsZWRBdFJ1bnRpbWU9V2ViTWV0YWwsCisgICAgSW1wbGVt
ZW50YXRpb25MYWNrc1ZUYWJsZQorXSBpbnRlcmZhY2UgV2ViTWV0YWxCdWZmZXIgeworCisgICAg
cmVhZG9ubHkgYXR0cmlidXRlIHVuc2lnbmVkIGxvbmcgbGVuZ3RoOworICAgIHJlYWRvbmx5IGF0
dHJpYnV0ZSBBcnJheUJ1ZmZlclZpZXcgY29udGVudHM7CisKK307CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJNZXRhbENvbW1hbmRCdWZmZXIuY3BwIGIvU291cmNl
L1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViTWV0YWxDb21tYW5kQnVmZmVyLmNwcApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li5kMWJiZTFhNjQ4YzE0NTNjODMwMGI0ODMxNTc2Njc0NjI0MGRlZTkwCi0tLSAvZGV2L251bGwK
KysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViTWV0YWxDb21tYW5kQnVmZmVyLmNw
cApAQCAtMCwwICsxLDg3IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE3IEFwcGxlIEluYy4g
QWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAxNyBZdWljaGlybyBLaWt1
cmEgKHkua2lrdXJhQGdtYWlsLmNvbSkKKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGlu
IHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlv
biwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwor
ICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJl
dGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25k
aXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlv
bnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICog
ICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNj
bGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxz
IHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElT
IFBST1ZJREVEIEJZIEFQUExFIElOQy4gYGBBUyBJUycnIEFORCBBTlkKKyAqIEVYUFJFU1MgT1Ig
SU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisg
KiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBB
IFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFM
TCBBUFBMRSBJTkMuIE9SCisgKiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNU
LCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKKyAqIEVYRU1QTEFSWSwgT1IgQ09OU0VR
VUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFBST0NV
UkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRB
LCBPUgorICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNF
RCBBTkQgT04gQU5ZIFRIRU9SWQorICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNU
LCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1Ig
T1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMg
U09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1B
R0UuCisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorI2luY2x1ZGUgIldlYk1ldGFsQ29tbWFu
ZEJ1ZmZlci5oIgorCisjaWYgRU5BQkxFKFdFQk1FVEFMKQorCisjaW5jbHVkZSAiR1BVQ29tbWFu
ZEJ1ZmZlci5oIgorI2luY2x1ZGUgIkdQVUNvbW1hbmRRdWV1ZS5oIgorI2luY2x1ZGUgIkxvZ2dp
bmcuaCIKKyNpbmNsdWRlICJXZWJNZXRhbENvbXB1dGVDb21tYW5kRW5jb2Rlci5oIgorI2luY2x1
ZGUgIldlYk1ldGFsRHJhd2FibGUuaCIKKyNpbmNsdWRlICJXZWJNZXRhbFJlbmRlckNvbW1hbmRF
bmNvZGVyLmgiCisjaW5jbHVkZSAiV2ViTWV0YWxSZW5kZXJQYXNzRGVzY3JpcHRvci5oIgorCitu
YW1lc3BhY2UgV2ViQ29yZSB7CisKK1JlZjxXZWJNZXRhbENvbW1hbmRCdWZmZXI+IFdlYk1ldGFs
Q29tbWFuZEJ1ZmZlcjo6Y3JlYXRlKGNvbnN0IEdQVUNvbW1hbmRRdWV1ZSYgcXVldWUpCit7Cisg
ICAgcmV0dXJuIGFkb3B0UmVmKCpuZXcgV2ViTWV0YWxDb21tYW5kQnVmZmVyKHF1ZXVlKSk7Cit9
CisKK1dlYk1ldGFsQ29tbWFuZEJ1ZmZlcjo6V2ViTWV0YWxDb21tYW5kQnVmZmVyKGNvbnN0IEdQ
VUNvbW1hbmRRdWV1ZSYgcXVldWUpCisgICAgOiBtX2J1ZmZlciB7IHF1ZXVlLCBbdGhpc10gKCkg
eyBtX2NvbXBsZXRlZC5yZXNvbHZlKCk7IH0gfQoreworICAgIExPRyhXZWJNZXRhbCwgIldlYk1l
dGFsQ29tbWFuZEJ1ZmZlcjo6V2ViTWV0YWxDb21tYW5kQnVmZmVyKCkiKTsKK30KKworV2ViTWV0
YWxDb21tYW5kQnVmZmVyOjp+V2ViTWV0YWxDb21tYW5kQnVmZmVyKCkKK3sKKyAgICBMT0coV2Vi
TWV0YWwsICJXZWJNZXRhbENvbW1hbmRCdWZmZXI6On5XZWJNZXRhbENvbW1hbmRCdWZmZXIoKSIp
OworfQorCit2b2lkIFdlYk1ldGFsQ29tbWFuZEJ1ZmZlcjo6Y29tbWl0KCkKK3sKKyAgICBMT0co
V2ViTWV0YWwsICJXZWJNZXRhbENvbW1hbmRCdWZmZXI6OmNvbW1pdCgpIik7CisgICAgbV9idWZm
ZXIuY29tbWl0KCk7Cit9CisKK3ZvaWQgV2ViTWV0YWxDb21tYW5kQnVmZmVyOjpwcmVzZW50RHJh
d2FibGUoV2ViTWV0YWxEcmF3YWJsZSYgZHJhd2FibGUpCit7CisgICAgTE9HKFdlYk1ldGFsLCAi
V2ViTWV0YWxDb21tYW5kQnVmZmVyOjpwcmVzZW50RHJhd2FibGUoKSIpOworICAgIG1fYnVmZmVy
LnByZXNlbnREcmF3YWJsZShkcmF3YWJsZS5kcmF3YWJsZSgpKTsKK30KKworUmVmPFdlYk1ldGFs
UmVuZGVyQ29tbWFuZEVuY29kZXI+IFdlYk1ldGFsQ29tbWFuZEJ1ZmZlcjo6Y3JlYXRlUmVuZGVy
Q29tbWFuZEVuY29kZXJXaXRoRGVzY3JpcHRvcihXZWJNZXRhbFJlbmRlclBhc3NEZXNjcmlwdG9y
JiBkZXNjcmlwdG9yKQoreworICAgIHJldHVybiBXZWJNZXRhbFJlbmRlckNvbW1hbmRFbmNvZGVy
OjpjcmVhdGUoR1BVUmVuZGVyQ29tbWFuZEVuY29kZXIgeyBtX2J1ZmZlciwgZGVzY3JpcHRvci5k
ZXNjcmlwdG9yKCkgfSk7Cit9CisKK1JlZjxXZWJNZXRhbENvbXB1dGVDb21tYW5kRW5jb2Rlcj4g
V2ViTWV0YWxDb21tYW5kQnVmZmVyOjpjcmVhdGVDb21wdXRlQ29tbWFuZEVuY29kZXIoKQorewor
ICAgIHJldHVybiBXZWJNZXRhbENvbXB1dGVDb21tYW5kRW5jb2Rlcjo6Y3JlYXRlKEdQVUNvbXB1
dGVDb21tYW5kRW5jb2RlciB7IG1fYnVmZmVyIH0pOworfQorCitET01Qcm9taXNlUHJveHk8SURM
Vm9pZD4mIFdlYk1ldGFsQ29tbWFuZEJ1ZmZlcjo6Y29tcGxldGVkKCkKK3sKKyAgICByZXR1cm4g
bV9jb21wbGV0ZWQ7Cit9CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKworI2VuZGlmCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJNZXRhbENvbW1hbmRCdWZmZXIu
aCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYk1ldGFsQ29tbWFuZEJ1ZmZlci5oCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLmIzODRmMmQxMjg3MWY5MWI1ZmIyZmIyNWUwNjAwNzEwYWFmNjc4N2UKLS0tIC9k
ZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJNZXRhbENvbW1hbmRC
dWZmZXIuaApAQCAtMCwwICsxLDY3IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE3IEFwcGxl
IEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAxNyBZdWljaGly
byBLaWt1cmEgKHkua2lrdXJhQGdtYWlsLmNvbSkKKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQg
dXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlm
aWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0
aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBt
dXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3Ry
aWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdo
dAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2lu
ZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0
ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRX
QVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gYGBBUyBJUycnIEFORCBBTlkKKyAqIEVYUFJF
U1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywg
VEhFCisgKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNT
IEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVO
VCBTSEFMTCBBUFBMRSBJTkMuIE9SCisgKiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkg
RElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKKyAqIEVYRU1QTEFSWSwgT1Ig
Q09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAq
IFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNF
LCBEQVRBLCBPUgorICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVS
IENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQorICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENP
TlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VO
Q0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9G
IFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VD
SCBEQU1BR0UuCisgKi8KKworI3ByYWdtYSBvbmNlCisKKyNpZiBFTkFCTEUoV0VCTUVUQUwpCisK
KyNpbmNsdWRlICJET01Qcm9taXNlUHJveHkuaCIKKyNpbmNsdWRlICJHUFVDb21tYW5kQnVmZmVy
LmgiCisjaW5jbHVkZSA8d3RmL1JlZi5oPgorI2luY2x1ZGUgPHd0Zi9SZWZDb3VudGVkLmg+CisK
K25hbWVzcGFjZSBXZWJDb3JlIHsKKworY2xhc3MgV2ViTWV0YWxDb21wdXRlQ29tbWFuZEVuY29k
ZXI7CitjbGFzcyBXZWJNZXRhbERyYXdhYmxlOworY2xhc3MgV2ViTWV0YWxSZW5kZXJDb21tYW5k
RW5jb2RlcjsKK2NsYXNzIFdlYk1ldGFsUmVuZGVyUGFzc0Rlc2NyaXB0b3I7CisKK2NsYXNzIFdl
Yk1ldGFsQ29tbWFuZEJ1ZmZlciA6IHB1YmxpYyBSZWZDb3VudGVkPFdlYk1ldGFsQ29tbWFuZEJ1
ZmZlcj4geworcHVibGljOgorICAgIH5XZWJNZXRhbENvbW1hbmRCdWZmZXIoKTsKKyAgICBzdGF0
aWMgUmVmPFdlYk1ldGFsQ29tbWFuZEJ1ZmZlcj4gY3JlYXRlKGNvbnN0IEdQVUNvbW1hbmRRdWV1
ZSYpOworCisgICAgdm9pZCBjb21taXQoKTsKKyAgICB2b2lkIHByZXNlbnREcmF3YWJsZShXZWJN
ZXRhbERyYXdhYmxlJik7CisKKyAgICBSZWY8V2ViTWV0YWxSZW5kZXJDb21tYW5kRW5jb2Rlcj4g
Y3JlYXRlUmVuZGVyQ29tbWFuZEVuY29kZXJXaXRoRGVzY3JpcHRvcihXZWJNZXRhbFJlbmRlclBh
c3NEZXNjcmlwdG9yJik7CisgICAgUmVmPFdlYk1ldGFsQ29tcHV0ZUNvbW1hbmRFbmNvZGVyPiBj
cmVhdGVDb21wdXRlQ29tbWFuZEVuY29kZXIoKTsKKworICAgIERPTVByb21pc2VQcm94eTxJRExW
b2lkPiYgY29tcGxldGVkKCk7CisKKyAgICBjb25zdCBHUFVDb21tYW5kQnVmZmVyJiBidWZmZXIo
KSBjb25zdCB7IHJldHVybiBtX2J1ZmZlcjsgfQorCitwcml2YXRlOgorICAgIGV4cGxpY2l0IFdl
Yk1ldGFsQ29tbWFuZEJ1ZmZlcihjb25zdCBHUFVDb21tYW5kUXVldWUmKTsKKworICAgIEdQVUNv
bW1hbmRCdWZmZXIgbV9idWZmZXI7CisgICAgRE9NUHJvbWlzZVByb3h5PElETFZvaWQ+IG1fY29t
cGxldGVkOworfTsKKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorCisjZW5kaWYKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYk1ldGFsQ29tbWFuZEJ1ZmZlci5pZGwg
Yi9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJNZXRhbENvbW1hbmRCdWZmZXIuaWRsCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLmNjMWEwMGY1YmJlYjFhM2JlYmZlNjgwNWRmZTEzNTAwODEyN2FjOTUKLS0tIC9k
ZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJNZXRhbENvbW1hbmRC
dWZmZXIuaWRsCkBAIC0wLDAgKzEsMzcgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTcgQXBw
bGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0IChDKSAyMDE3IFl1aWNo
aXJvIEtpa3VyYSAoeS5raWt1cmFAZ21haWwuY29tKQorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFu
ZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9k
aWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25k
aXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2Rl
IG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlz
dHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJp
Z2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93
aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBt
YXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09G
VFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBgYEFTIElTJycgQU5EIEFOWQorICogRVhQ
UkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRP
LCBUSEUKKyAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5F
U1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVW
RU5UIFNIQUxMIEFQUExFIElOQy4gT1IKKyAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFO
WSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAorICogRVhFTVBMQVJZLCBP
UiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAor
ICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBV
U0UsIERBVEEsIE9SCisgKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VW
RVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCisgKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4g
Q09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElH
RU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICog
T0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBT
VUNIIERBTUFHRS4KKyAqLworCitbCisgICAgQ29uZGl0aW9uYWw9V0VCTUVUQUwsCisgICAgRW5h
YmxlZEF0UnVudGltZT1XZWJNZXRhbCwKKyAgICBJbXBsZW1lbnRhdGlvbkxhY2tzVlRhYmxlCitd
IGludGVyZmFjZSBXZWJNZXRhbENvbW1hbmRCdWZmZXIgeworICAgIFdlYk1ldGFsUmVuZGVyQ29t
bWFuZEVuY29kZXIgY3JlYXRlUmVuZGVyQ29tbWFuZEVuY29kZXJXaXRoRGVzY3JpcHRvcihXZWJN
ZXRhbFJlbmRlclBhc3NEZXNjcmlwdG9yIGRlc2NyaXB0b3IpOworICAgIFdlYk1ldGFsQ29tcHV0
ZUNvbW1hbmRFbmNvZGVyIGNyZWF0ZUNvbXB1dGVDb21tYW5kRW5jb2RlcigpOworICAgIHZvaWQg
Y29tbWl0KCk7CisgICAgdm9pZCBwcmVzZW50RHJhd2FibGUoV2ViTWV0YWxEcmF3YWJsZSBkcmF3
YWJsZSk7CisgICAgcmVhZG9ubHkgYXR0cmlidXRlIFByb21pc2U8dm9pZD4gY29tcGxldGVkOwor
fTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYk1ldGFsQ29tbWFu
ZFF1ZXVlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYk1ldGFsQ29tbWFuZFF1
ZXVlLmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi5hNDliMjNiNWUyZDRjZjQyODU4YWY2Y2E2ODAyYjQyYzg5Yjcy
OTYzCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViTWV0
YWxDb21tYW5kUXVldWUuY3BwCkBAIC0wLDAgKzEsNTQgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMp
IDIwMTcgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0
aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAor
ICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2lu
ZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJj
ZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhp
cyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIu
IFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUg
Y29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUg
Zm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBv
dGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRI
SVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBgYEFTIElTJycgQU5EIEFOWQor
ICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1J
VEVEIFRPLCBUSEUKKyAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5E
IEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElO
IE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IKKyAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUg
Rk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAorICogRVhFTVBM
QVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVE
IFRPLAorICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9T
UyBPRiBVU0UsIERBVEEsIE9SCisgKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04p
IEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCisgKiBPRiBMSUFCSUxJVFksIFdIRVRI
RVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcg
TkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVT
RQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElU
WSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgiCisjaW5jbHVkZSAi
V2ViTWV0YWxDb21tYW5kUXVldWUuaCIKKworI2lmIEVOQUJMRShXRUJNRVRBTCkKKworI2luY2x1
ZGUgIldlYk1ldGFsQ29tbWFuZEJ1ZmZlci5oIgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK1Jl
ZjxXZWJNZXRhbENvbW1hbmRRdWV1ZT4gV2ViTWV0YWxDb21tYW5kUXVldWU6OmNyZWF0ZShHUFVD
b21tYW5kUXVldWUmJiBxdWV1ZSkKK3sKKyAgICByZXR1cm4gYWRvcHRSZWYoKm5ldyBXZWJNZXRh
bENvbW1hbmRRdWV1ZShXVEZNb3ZlKHF1ZXVlKSkpOworfQorCitXZWJNZXRhbENvbW1hbmRRdWV1
ZTo6V2ViTWV0YWxDb21tYW5kUXVldWUoR1BVQ29tbWFuZFF1ZXVlJiYgcXVldWUpCisgICAgOiBt
X3F1ZXVlIHsgV1RGTW92ZShxdWV1ZSkgfQoreworfQorCitXZWJNZXRhbENvbW1hbmRRdWV1ZTo6
fldlYk1ldGFsQ29tbWFuZFF1ZXVlKCkgPSBkZWZhdWx0OworCitSZWY8V2ViTWV0YWxDb21tYW5k
QnVmZmVyPiBXZWJNZXRhbENvbW1hbmRRdWV1ZTo6Y3JlYXRlQ29tbWFuZEJ1ZmZlcigpCit7Cisg
ICAgcmV0dXJuIFdlYk1ldGFsQ29tbWFuZEJ1ZmZlcjo6Y3JlYXRlKG1fcXVldWUpOworfQorCit9
IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKKyNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvaHRtbC9jYW52YXMvV2ViTWV0YWxDb21tYW5kUXVldWUuaCBiL1NvdXJjZS9XZWJDb3JlL2h0
bWwvY2FudmFzL1dlYk1ldGFsQ29tbWFuZFF1ZXVlLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjUwN2IyMzYxMDZl
ZWEyZDU4NjcwNzVjNjkzYjY0OGNjOGQ4NDRiNgotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2h0bWwvY2FudmFzL1dlYk1ldGFsQ29tbWFuZFF1ZXVlLmgKQEAgLTAsMCArMSw1NiBA
QAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxNyBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2
ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBm
b3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJv
dmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBS
ZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHly
aWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxv
d2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11
c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAg
IGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBk
aXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJ
TkMuIGBgQVMgSVMnJyBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywg
SU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQorICogSU1QTElFRCBXQVJSQU5USUVT
IE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQ
T1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUgorICog
Q09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5U
QUwsIFNQRUNJQUwsCisgKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5D
TFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRF
IEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKKyAqIFBST0ZJVFM7IE9S
IEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkK
KyAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwg
T1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJ
TiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFE
VklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNwcmFnbWEg
b25jZQorCisjaWYgRU5BQkxFKFdFQk1FVEFMKQorCisjaW5jbHVkZSAiR1BVQ29tbWFuZFF1ZXVl
LmgiCisjaW5jbHVkZSA8d3RmL1JlZi5oPgorI2luY2x1ZGUgPHd0Zi9SZWZDb3VudGVkLmg+CisK
K25hbWVzcGFjZSBXZWJDb3JlIHsKKworY2xhc3MgV2ViTWV0YWxDb21tYW5kQnVmZmVyOworCitj
bGFzcyBXZWJNZXRhbENvbW1hbmRRdWV1ZSA6IHB1YmxpYyBSZWZDb3VudGVkPFdlYk1ldGFsQ29t
bWFuZFF1ZXVlPiB7CitwdWJsaWM6CisgICAgfldlYk1ldGFsQ29tbWFuZFF1ZXVlKCk7CisgICAg
c3RhdGljIFJlZjxXZWJNZXRhbENvbW1hbmRRdWV1ZT4gY3JlYXRlKEdQVUNvbW1hbmRRdWV1ZSYm
KTsKKworICAgIFN0cmluZyBsYWJlbCgpIGNvbnN0IHsgcmV0dXJuIG1fcXVldWUubGFiZWwoKTsg
fQorICAgIHZvaWQgc2V0TGFiZWwoY29uc3QgU3RyaW5nJiBsYWJlbCkgeyBtX3F1ZXVlLnNldExh
YmVsKGxhYmVsKTsgfQorCisgICAgUmVmPFdlYk1ldGFsQ29tbWFuZEJ1ZmZlcj4gY3JlYXRlQ29t
bWFuZEJ1ZmZlcigpOworCitwcml2YXRlOgorICAgIGV4cGxpY2l0IFdlYk1ldGFsQ29tbWFuZFF1
ZXVlKEdQVUNvbW1hbmRRdWV1ZSYmKTsKKworICAgIEdQVUNvbW1hbmRRdWV1ZSBtX3F1ZXVlOwor
fTsKKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorCisjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYk1ldGFsQ29tbWFuZFF1ZXVlLmlkbCBiL1NvdXJjZS9X
ZWJDb3JlL2h0bWwvY2FudmFzL1dlYk1ldGFsQ29tbWFuZFF1ZXVlLmlkbApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5m
NmIzMDdiNDBhZjg0NmQ0OGY0MWVhYTBmNjBmODdmMTE1MTYxM2Q1Ci0tLSAvZGV2L251bGwKKysr
IGIvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViTWV0YWxDb21tYW5kUXVldWUuaWRsCkBA
IC0wLDAgKzEsMzYgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTcgQXBwbGUgSW5jLiBBbGwg
cmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNl
IGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUg
cGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUg
bWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRo
ZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBi
aW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3Rp
Y2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIg
aW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlk
ZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklE
RUQgQlkgQVBQTEUgSU5DLiBgYEFTIElTJycgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVE
IFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKKyAqIElNUExJ
RUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElD
VUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExF
IElOQy4gT1IKKyAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElS
RUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAorICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFM
IERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogUFJPQ1VSRU1FTlQg
T0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCisg
KiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBP
TiBBTlkgVEhFT1JZCisgKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklD
VCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJ
U0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FS
RSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAq
LworCitbCisgICAgQ29uZGl0aW9uYWw9V0VCTUVUQUwsCisgICAgRW5hYmxlZEF0UnVudGltZT1X
ZWJNZXRhbCwKKyAgICBJbXBsZW1lbnRhdGlvbkxhY2tzVlRhYmxlCitdIGludGVyZmFjZSBXZWJN
ZXRhbENvbW1hbmRRdWV1ZSB7CisKKyAgICBhdHRyaWJ1dGUgRE9NU3RyaW5nIGxhYmVsOworCisg
ICAgV2ViTWV0YWxDb21tYW5kQnVmZmVyIGNyZWF0ZUNvbW1hbmRCdWZmZXIoKTsKKworfTsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYk1ldGFsQ29tcHV0ZUNvbW1h
bmRFbmNvZGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYk1ldGFsQ29tcHV0
ZUNvbW1hbmRFbmNvZGVyLmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5iNDYwM2Y0Nzc1MjFkNTYyMWRkOWI0NGIy
MjMwYmRlMTJhOWFiN2M5Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9j
YW52YXMvV2ViTWV0YWxDb21wdXRlQ29tbWFuZEVuY29kZXIuY3BwCkBAIC0wLDAgKzEsNzcgQEAK
Ky8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTcgWXVpY2hpcm8gS2lrdXJhICh5Lmtpa3VyYUBnbWFp
bC5jb20pCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFy
eSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQg
cHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAx
LiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNv
cHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3Jt
IG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBs
aXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAq
ICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRo
ZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBM
RSBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElF
UywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQorICogSU1QTElFRCBXQVJSQU5U
SUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQ
VVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUgor
ICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lE
RU5UQUwsIFNQRUNJQUwsCisgKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAo
SU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElU
VVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKKyAqIFBST0ZJVFM7
IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVP
UlkKKyAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElU
WSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lO
RyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElG
IEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpbmNs
dWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJXZWJNZXRhbENvbXB1dGVDb21tYW5kRW5jb2Rlci5o
IgorCisjaWYgRU5BQkxFKFdFQk1FVEFMKQorCisjaW5jbHVkZSAiR1BVQ29tbWFuZEJ1ZmZlci5o
IgorI2luY2x1ZGUgIkdQVUNvbXB1dGVDb21tYW5kRW5jb2Rlci5oIgorI2luY2x1ZGUgIkdQVVNp
emUuaCIKKyNpbmNsdWRlICJXZWJNZXRhbEJ1ZmZlci5oIgorI2luY2x1ZGUgIldlYk1ldGFsQ29t
bWFuZEJ1ZmZlci5oIgorI2luY2x1ZGUgIldlYk1ldGFsQ29tcHV0ZVBpcGVsaW5lU3RhdGUuaCIK
KworbmFtZXNwYWNlIFdlYkNvcmUgeworCitzdGF0aWMgaW5saW5lIEdQVVNpemUgR1BVU2l6ZU1h
a2UoV2ViTWV0YWxTaXplIHNpemUpCit7CisgICAgcmV0dXJuIHsgc2l6ZS53aWR0aCwgc2l6ZS5o
ZWlnaHQsIHNpemUuZGVwdGggfTsKK30KKworUmVmPFdlYk1ldGFsQ29tcHV0ZUNvbW1hbmRFbmNv
ZGVyPiBXZWJNZXRhbENvbXB1dGVDb21tYW5kRW5jb2Rlcjo6Y3JlYXRlKEdQVUNvbXB1dGVDb21t
YW5kRW5jb2RlciYmIGVuY29kZXIpCit7CisgICAgcmV0dXJuIGFkb3B0UmVmKCpuZXcgV2ViTWV0
YWxDb21wdXRlQ29tbWFuZEVuY29kZXIoV1RGTW92ZShlbmNvZGVyKSkpOworfQorICAgIAorV2Vi
TWV0YWxDb21wdXRlQ29tbWFuZEVuY29kZXI6OldlYk1ldGFsQ29tcHV0ZUNvbW1hbmRFbmNvZGVy
KEdQVUNvbXB1dGVDb21tYW5kRW5jb2RlciYmIGVuY29kZXIpCisgICAgOiBtX2VuY29kZXIgeyBX
VEZNb3ZlKGVuY29kZXIpIH0KK3sKK30KKwordm9pZCBXZWJNZXRhbENvbXB1dGVDb21tYW5kRW5j
b2Rlcjo6c2V0Q29tcHV0ZVBpcGVsaW5lU3RhdGUoV2ViTWV0YWxDb21wdXRlUGlwZWxpbmVTdGF0
ZSYgcGlwZWxpbmVTdGF0ZSkKK3sKKyAgICBtX2VuY29kZXIuc2V0Q29tcHV0ZVBpcGVsaW5lU3Rh
dGUocGlwZWxpbmVTdGF0ZS5zdGF0ZSgpKTsKK30KKwordm9pZCBXZWJNZXRhbENvbXB1dGVDb21t
YW5kRW5jb2Rlcjo6c2V0QnVmZmVyKFdlYk1ldGFsQnVmZmVyJiBidWZmZXIsIHVuc2lnbmVkIG9m
ZnNldCwgdW5zaWduZWQgaW5kZXgpCit7CisgICAgbV9lbmNvZGVyLnNldEJ1ZmZlcihidWZmZXIu
YnVmZmVyKCksIG9mZnNldCwgaW5kZXgpOworfQorCit2b2lkIFdlYk1ldGFsQ29tcHV0ZUNvbW1h
bmRFbmNvZGVyOjpkaXNwYXRjaChXZWJNZXRhbFNpemUgdGhyZWFkZ3JvdXBzUGVyR3JpZCwgV2Vi
TWV0YWxTaXplIHRocmVhZHNQZXJUaHJlYWRncm91cCkKK3sKKyAgICBtX2VuY29kZXIuZGlzcGF0
Y2goR1BVU2l6ZU1ha2UodGhyZWFkZ3JvdXBzUGVyR3JpZCksIEdQVVNpemVNYWtlKHRocmVhZHNQ
ZXJUaHJlYWRncm91cCkpOworfQorCit2b2lkIFdlYk1ldGFsQ29tcHV0ZUNvbW1hbmRFbmNvZGVy
OjplbmRFbmNvZGluZygpCit7CisgICAgbV9lbmNvZGVyLmVuZEVuY29kaW5nKCk7Cit9CisKK30g
Ly8gbmFtZXNwYWNlIFdlYkNvcmUKKworI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9odG1sL2NhbnZhcy9XZWJNZXRhbENvbXB1dGVDb21tYW5kRW5jb2Rlci5oIGIvU291cmNlL1dl
YkNvcmUvaHRtbC9jYW52YXMvV2ViTWV0YWxDb21wdXRlQ29tbWFuZEVuY29kZXIuaApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi5iZmJhOGM1YzQwYWYzMGIwNzBkNzUwNDc0NjgwOTA5ZWRlNjRiYzYxCi0tLSAvZGV2L251
bGwKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViTWV0YWxDb21wdXRlQ29tbWFu
ZEVuY29kZXIuaApAQCAtMCwwICsxLDU3IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE3IFl1
aWNoaXJvIEtpa3VyYSAoeS5raWt1cmFAZ21haWwuY29tKQorICoKKyAqIFJlZGlzdHJpYnV0aW9u
IGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICog
bW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBj
b25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBj
b2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBs
aXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJl
ZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29w
eXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9s
bG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhl
ciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMg
U09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBgYEFTIElTJycgQU5EIEFOWQorICog
RVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVE
IFRPLCBUSEUKKyAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJ
VE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5P
IEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IKKyAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9S
IEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAorICogRVhFTVBMQVJZ
LCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRP
LAorICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBP
RiBVU0UsIERBVEEsIE9SCisgKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhP
V0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCisgKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIg
SU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVH
TElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQor
ICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBP
RiBTVUNIIERBTUFHRS4KKyAqLworCisjcHJhZ21hIG9uY2UKKworI2lmIEVOQUJMRShXRUJNRVRB
TCkKKworI2luY2x1ZGUgIkdQVUNvbXB1dGVDb21tYW5kRW5jb2Rlci5oIgorI2luY2x1ZGUgIldl
Yk1ldGFsU2l6ZS5oIgorI2luY2x1ZGUgPHd0Zi9SZWYuaD4KKyNpbmNsdWRlIDx3dGYvUmVmQ291
bnRlZC5oPgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK2NsYXNzIFdlYk1ldGFsQnVmZmVyOwor
Y2xhc3MgV2ViTWV0YWxDb21wdXRlUGlwZWxpbmVTdGF0ZTsKKworY2xhc3MgV2ViTWV0YWxDb21w
dXRlQ29tbWFuZEVuY29kZXIgOiBwdWJsaWMgUmVmQ291bnRlZDxXZWJNZXRhbENvbXB1dGVDb21t
YW5kRW5jb2Rlcj4geworcHVibGljOgorICAgIHN0YXRpYyBSZWY8V2ViTWV0YWxDb21wdXRlQ29t
bWFuZEVuY29kZXI+IGNyZWF0ZShHUFVDb21wdXRlQ29tbWFuZEVuY29kZXImJik7CisKKyAgICB2
b2lkIHNldENvbXB1dGVQaXBlbGluZVN0YXRlKFdlYk1ldGFsQ29tcHV0ZVBpcGVsaW5lU3RhdGUm
KTsKKyAgICB2b2lkIHNldEJ1ZmZlcihXZWJNZXRhbEJ1ZmZlciYsIHVuc2lnbmVkLCB1bnNpZ25l
ZCk7CisgICAgdm9pZCBkaXNwYXRjaChXZWJNZXRhbFNpemUsIFdlYk1ldGFsU2l6ZSk7CisgICAg
dm9pZCBlbmRFbmNvZGluZygpOworCitwcml2YXRlOgorICAgIGV4cGxpY2l0IFdlYk1ldGFsQ29t
cHV0ZUNvbW1hbmRFbmNvZGVyKEdQVUNvbXB1dGVDb21tYW5kRW5jb2RlciYmKTsKKworICAgIEdQ
VUNvbXB1dGVDb21tYW5kRW5jb2RlciBtX2VuY29kZXI7Cit9OworCit9IC8vIG5hbWVzcGFjZSBX
ZWJDb3JlCisKKyNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMv
V2ViTWV0YWxDb21wdXRlQ29tbWFuZEVuY29kZXIuaWRsIGIvU291cmNlL1dlYkNvcmUvaHRtbC9j
YW52YXMvV2ViTWV0YWxDb21wdXRlQ29tbWFuZEVuY29kZXIuaWRsCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIwNWRi
NzkzMGU2YjRlYzg1YWU3NzgzZGQ5MjEyNDBlMGVjYWMzMWIKLS0tIC9kZXYvbnVsbAorKysgYi9T
b3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJNZXRhbENvbXB1dGVDb21tYW5kRW5jb2Rlci5p
ZGwKQEAgLTAsMCArMSwzOCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxNyBZdWljaGlybyBL
aWt1cmEgKHkua2lrdXJhQGdtYWlsLmNvbSkKKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNl
IGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNh
dGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9u
cworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0
IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBj
b25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1
dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAor
ICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBk
aXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJp
YWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJF
IElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gYGBBUyBJUycnIEFORCBBTlkKKyAqIEVYUFJFU1Mg
T1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhF
CisgKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZP
UiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBT
SEFMTCBBUFBMRSBJTkMuIE9SCisgKiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElS
RUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKKyAqIEVYRU1QTEFSWSwgT1IgQ09O
U0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFBS
T0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBE
QVRBLCBPUgorICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENB
VVNFRCBBTkQgT04gQU5ZIFRIRU9SWQorICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRS
QUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0Ug
T1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRI
SVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBE
QU1BR0UuCisgKi8KKworWworICAgIENvbmRpdGlvbmFsPVdFQk1FVEFMLAorICAgIEVuYWJsZWRB
dFJ1bnRpbWU9V2ViTWV0YWwsCisgICAgSW1wbGVtZW50YXRpb25MYWNrc1ZUYWJsZQorXSBpbnRl
cmZhY2UgV2ViTWV0YWxDb21wdXRlQ29tbWFuZEVuY29kZXIgeworCisgICAgdm9pZCBzZXRDb21w
dXRlUGlwZWxpbmVTdGF0ZShXZWJNZXRhbENvbXB1dGVQaXBlbGluZVN0YXRlIHBpcGVsaW5lU3Rh
dGUpOworICAgIHZvaWQgc2V0QnVmZmVyKFdlYk1ldGFsQnVmZmVyIGJ1ZmZlciwgdW5zaWduZWQg
bG9uZyBvZmZzZXQsIHVuc2lnbmVkIGxvbmcgaW5kZXgpOworICAgIHZvaWQgZGlzcGF0Y2goV2Vi
TWV0YWxTaXplIHRocmVhZGdyb3Vwc1BlckdyaWQsIFdlYk1ldGFsU2l6ZSB0aHJlYWRzUGVyVGhy
ZWFkZ3JvdXApOworCisgICAgdm9pZCBlbmRFbmNvZGluZygpOworCit9OwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViTWV0YWxDb21wdXRlUGlwZWxpbmVTdGF0ZS5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJNZXRhbENvbXB1dGVQaXBlbGluZVN0
YXRlLmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi4xMWI1M2I1NWEwMGY0M2UzYjNkZDI1YzliM2RjZmVlZGM5Njg5
NjY4Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViTWV0
YWxDb21wdXRlUGlwZWxpbmVTdGF0ZS5jcHAKQEAgLTAsMCArMSw0NSBAQAorLyoKKyAqIENvcHly
aWdodCAoQykgMjAxNyBZdWljaGlybyBLaWt1cmEgKHkua2lrdXJhQGdtYWlsLmNvbSkKKyAqCisg
KiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRo
IG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0
IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0
aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAg
ICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2Ns
YWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1
Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0
aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRh
dGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlv
bi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gYGBBUyBJ
UycnIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcs
IEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisgKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hB
TlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJ
U0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SCisgKiBDT05UUklCVVRP
UlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lB
TCwKKyAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJV
VCBOT1QgTElNSVRFRCBUTywKKyAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1Ig
U0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgorICogUFJPRklUUzsgT1IgQlVTSU5FU1Mg
SU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQorICogT0YgTElB
QklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisg
KiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkg
T1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBU
SEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5o
IgorI2luY2x1ZGUgIldlYk1ldGFsQ29tcHV0ZVBpcGVsaW5lU3RhdGUuaCIKKworI2lmIEVOQUJM
RShXRUJNRVRBTCkKKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitSZWY8V2ViTWV0YWxDb21wdXRl
UGlwZWxpbmVTdGF0ZT4gV2ViTWV0YWxDb21wdXRlUGlwZWxpbmVTdGF0ZTo6Y3JlYXRlKEdQVUNv
bXB1dGVQaXBlbGluZVN0YXRlJiYgc3RhdGUpCit7CisgICAgcmV0dXJuIGFkb3B0UmVmKCpuZXcg
V2ViTWV0YWxDb21wdXRlUGlwZWxpbmVTdGF0ZShXVEZNb3ZlKHN0YXRlKSkpOworfQorCitXZWJN
ZXRhbENvbXB1dGVQaXBlbGluZVN0YXRlOjpXZWJNZXRhbENvbXB1dGVQaXBlbGluZVN0YXRlKEdQ
VUNvbXB1dGVQaXBlbGluZVN0YXRlJiYgc3RhdGUpCisgICAgOiBtX3N0YXRlIHsgV1RGTW92ZShz
dGF0ZSkgfQoreworfQorCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKKyNlbmRpZgpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViTWV0YWxDb21wdXRlUGlwZWxpbmVT
dGF0ZS5oIGIvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViTWV0YWxDb21wdXRlUGlwZWxp
bmVTdGF0ZS5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLmJjZTQ3OGYyYjUyODdjZmIyN2UxZWIyY2Q3ODA5MTNmNzMx
MTU4NjkKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJN
ZXRhbENvbXB1dGVQaXBlbGluZVN0YXRlLmgKQEAgLTAsMCArMSw1MiBAQAorLyoKKyAqIENvcHly
aWdodCAoQykgMjAxNyBZdWljaGlybyBLaWt1cmEgKHkua2lrdXJhQGdtYWlsLmNvbSkKKyAqCisg
KiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRo
IG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0
IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0
aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAg
ICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2Ns
YWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1
Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0
aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRh
dGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlv
bi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gYGBBUyBJ
UycnIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcs
IEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisgKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hB
TlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJ
U0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SCisgKiBDT05UUklCVVRP
UlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lB
TCwKKyAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJV
VCBOT1QgTElNSVRFRCBUTywKKyAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1Ig
U0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgorICogUFJPRklUUzsgT1IgQlVTSU5FU1Mg
SU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQorICogT0YgTElB
QklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisg
KiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkg
T1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBU
SEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI3ByYWdtYSBvbmNlCisKKyNp
ZiBFTkFCTEUoV0VCTUVUQUwpCisKKyNpbmNsdWRlICJHUFVDb21wdXRlUGlwZWxpbmVTdGF0ZS5o
IgorI2luY2x1ZGUgPHd0Zi9SZWYuaD4KKyNpbmNsdWRlIDx3dGYvUmVmQ291bnRlZC5oPgorCitu
YW1lc3BhY2UgV2ViQ29yZSB7CisKK2NsYXNzIFdlYk1ldGFsRnVuY3Rpb247CisKK2NsYXNzIFdl
Yk1ldGFsQ29tcHV0ZVBpcGVsaW5lU3RhdGUgOiBwdWJsaWMgUmVmQ291bnRlZDxXZWJNZXRhbENv
bXB1dGVQaXBlbGluZVN0YXRlPiB7CitwdWJsaWM6CisgICAgc3RhdGljIFJlZjxXZWJNZXRhbENv
bXB1dGVQaXBlbGluZVN0YXRlPiBjcmVhdGUoR1BVQ29tcHV0ZVBpcGVsaW5lU3RhdGUmJik7CisK
KyAgICBHUFVDb21wdXRlUGlwZWxpbmVTdGF0ZSYgc3RhdGUoKSB7IHJldHVybiBtX3N0YXRlOyB9
CisKK3ByaXZhdGU6CisgICAgZXhwbGljaXQgV2ViTWV0YWxDb21wdXRlUGlwZWxpbmVTdGF0ZShH
UFVDb21wdXRlUGlwZWxpbmVTdGF0ZSYmKTsKKworICAgIEdQVUNvbXB1dGVQaXBlbGluZVN0YXRl
IG1fc3RhdGU7Cit9OworCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKKyNlbmRpZgpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViTWV0YWxDb21wdXRlUGlwZWxpbmVT
dGF0ZS5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJNZXRhbENvbXB1dGVQaXBl
bGluZVN0YXRlLmlkbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5jMzExMjQzMjg4NjNkODdlZjU3MzE5ZWU1MGRhZGZh
MDUyMDFkZjVkCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMv
V2ViTWV0YWxDb21wdXRlUGlwZWxpbmVTdGF0ZS5pZGwKQEAgLTAsMCArMSwzMSBAQAorLyoKKyAq
IENvcHlyaWdodCAoQykgMjAxNyBZdWljaGlybyBLaWt1cmEgKHkua2lrdXJhQGdtYWlsLmNvbSkK
KyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1z
LCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRl
ZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlz
dHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0
CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5n
IGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCBy
ZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2Yg
Y29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9j
dW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3Ry
aWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4g
YGBBUyBJUycnIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNM
VURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisgKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0Yg
TUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0Ug
QVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SCisgKiBDT05U
UklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwg
U1BFQ0lBTCwKKyAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJ
TkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09P
RFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgorICogUFJPRklUUzsgT1IgQlVT
SU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQorICog
T0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBU
T1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFO
WSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNF
RCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworWworICAgIENvbmRp
dGlvbmFsPVdFQk1FVEFMLAorICAgIEVuYWJsZWRBdFJ1bnRpbWU9V2ViTWV0YWwsCisgICAgSW1w
bGVtZW50YXRpb25MYWNrc1ZUYWJsZQorXSBpbnRlcmZhY2UgV2ViTWV0YWxDb21wdXRlUGlwZWxp
bmVTdGF0ZSB7Cit9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2Vi
TWV0YWxEZXB0aFN0ZW5jaWxEZXNjcmlwdG9yLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2Fu
dmFzL1dlYk1ldGFsRGVwdGhTdGVuY2lsRGVzY3JpcHRvci5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjU5Yjcw
MzA5N2QwN2U2YWU2NTFlYjBjOTVlMTMwNTYyYjM0MDY0YQotLS0gL2Rldi9udWxsCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYk1ldGFsRGVwdGhTdGVuY2lsRGVzY3JpcHRvci5j
cHAKQEAgLTAsMCArMSw2MSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxNyBBcHBsZSBJbmMu
IEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBz
b3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24s
IGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAq
IGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRh
aW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0
aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25z
IGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAg
IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xh
aW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBw
cm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQ
Uk9WSURFRCBCWSBBUFBMRSBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElN
UExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQorICog
SU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQ
QVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwg
QVBQTEUgSU5DLiBPUgorICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwg
SU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCisgKiBFWEVNUExBUlksIE9SIENPTlNFUVVF
TlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBQUk9DVVJF
TUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwg
T1IKKyAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQg
QU5EIE9OIEFOWSBUSEVPUlkKKyAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwg
U1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9U
SEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNP
RlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdF
LgorICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJXZWJNZXRhbERlcHRoU3Rl
bmNpbERlc2NyaXB0b3IuaCIKKworI2lmIEVOQUJMRShXRUJNRVRBTCkKKworbmFtZXNwYWNlIFdl
YkNvcmUgeworCitSZWY8V2ViTWV0YWxEZXB0aFN0ZW5jaWxEZXNjcmlwdG9yPiBXZWJNZXRhbERl
cHRoU3RlbmNpbERlc2NyaXB0b3I6OmNyZWF0ZSgpCit7CisgICAgcmV0dXJuIGFkb3B0UmVmKCpu
ZXcgV2ViTWV0YWxEZXB0aFN0ZW5jaWxEZXNjcmlwdG9yKTsKK30KKworYm9vbCBXZWJNZXRhbERl
cHRoU3RlbmNpbERlc2NyaXB0b3I6OmRlcHRoV3JpdGVFbmFibGVkKCkgY29uc3QKK3sKKyAgICBy
ZXR1cm4gbV9kZXNjcmlwdG9yLmRlcHRoV3JpdGVFbmFibGVkKCk7Cit9CisKK3ZvaWQgV2ViTWV0
YWxEZXB0aFN0ZW5jaWxEZXNjcmlwdG9yOjpzZXREZXB0aFdyaXRlRW5hYmxlZChib29sIG5ld0Rl
cHRoV3JpdGVFbmFibGVkKQoreworICAgIG1fZGVzY3JpcHRvci5zZXREZXB0aFdyaXRlRW5hYmxl
ZChuZXdEZXB0aFdyaXRlRW5hYmxlZCk7Cit9CisKK1dlYk1ldGFsQ29tcGFyZUZ1bmN0aW9uIFdl
Yk1ldGFsRGVwdGhTdGVuY2lsRGVzY3JpcHRvcjo6ZGVwdGhDb21wYXJlRnVuY3Rpb24oKSBjb25z
dAoreworICAgIHJldHVybiBtX2RlcHRoQ29tcGFyZUZ1bmN0aW9uOworfQorCit2b2lkIFdlYk1l
dGFsRGVwdGhTdGVuY2lsRGVzY3JpcHRvcjo6c2V0RGVwdGhDb21wYXJlRnVuY3Rpb24oQ29tcGFy
ZUZ1bmN0aW9uIG5ld0RlcHRoQ29tcGFyZUZ1bmN0aW9uKQoreworICAgIG1fZGVwdGhDb21wYXJl
RnVuY3Rpb24gPSBuZXdEZXB0aENvbXBhcmVGdW5jdGlvbjsKKyAgICBtX2Rlc2NyaXB0b3Iuc2V0
RGVwdGhDb21wYXJlRnVuY3Rpb24odG9HUFVDb21wYXJlRnVuY3Rpb24obV9kZXB0aENvbXBhcmVG
dW5jdGlvbikpOworfQorCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKKyNlbmRpZgpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViTWV0YWxEZXB0aFN0ZW5jaWxEZXNj
cmlwdG9yLmggYi9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJNZXRhbERlcHRoU3RlbmNp
bERlc2NyaXB0b3IuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5hM2I3OTUwYjUyZTg4M2Y5YmE1ZjM3ZjE5ZGEyMDc1
M2NiMjUwZDkzCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMv
V2ViTWV0YWxEZXB0aFN0ZW5jaWxEZXNjcmlwdG9yLmgKQEAgLTAsMCArMSw2NCBAQAorLyoKKyAq
IENvcHlyaWdodCAoQykgMjAxNyBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgor
ICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0
aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhh
dCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1
dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICog
ICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNj
bGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9k
dWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRp
dGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50
YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRp
b24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIGBgQVMg
SVMnJyBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5H
LCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQorICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNI
QU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBE
SVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUgorICogQ09OVFJJQlVU
T1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJ
QUwsCisgKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBC
VVQgTk9UIExJTUlURUQgVE8sCisgKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9S
IFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKKyAqIFBST0ZJVFM7IE9SIEJVU0lORVNT
IElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKKyAqIE9GIExJ
QUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAor
ICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZ
IE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0Yg
VEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNwcmFnbWEgb25jZQorCisj
aWYgRU5BQkxFKFdFQk1FVEFMKQorCisjaW5jbHVkZSAiR1BVRGVwdGhTdGVuY2lsRGVzY3JpcHRv
ci5oIgorI2luY2x1ZGUgIldlYk1ldGFsRW51bXMuaCIKKyNpbmNsdWRlIDx3dGYvUmVmLmg+Cisj
aW5jbHVkZSA8d3RmL1JlZkNvdW50ZWQuaD4KKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitjbGFz
cyBXZWJNZXRhbERlcHRoU3RlbmNpbERlc2NyaXB0b3IgOiBwdWJsaWMgUmVmQ291bnRlZDxXZWJN
ZXRhbERlcHRoU3RlbmNpbERlc2NyaXB0b3I+IHsKK3B1YmxpYzoKKyAgICBzdGF0aWMgUmVmPFdl
Yk1ldGFsRGVwdGhTdGVuY2lsRGVzY3JpcHRvcj4gY3JlYXRlKCk7CisKKyAgICBib29sIGRlcHRo
V3JpdGVFbmFibGVkKCkgY29uc3Q7CisgICAgdm9pZCBzZXREZXB0aFdyaXRlRW5hYmxlZChib29s
KTsKKworICAgIHVzaW5nIENvbXBhcmVGdW5jdGlvbiA9IFdlYk1ldGFsQ29tcGFyZUZ1bmN0aW9u
OworICAgIENvbXBhcmVGdW5jdGlvbiBkZXB0aENvbXBhcmVGdW5jdGlvbigpIGNvbnN0OworICAg
IHZvaWQgc2V0RGVwdGhDb21wYXJlRnVuY3Rpb24oQ29tcGFyZUZ1bmN0aW9uKTsKKworICAgIEdQ
VURlcHRoU3RlbmNpbERlc2NyaXB0b3ImIGRlc2NyaXB0b3IoKSB7IHJldHVybiBtX2Rlc2NyaXB0
b3I7IH0KKworcHJpdmF0ZToKKyAgICBXZWJNZXRhbERlcHRoU3RlbmNpbERlc2NyaXB0b3IoKSA9
IGRlZmF1bHQ7CisKKyAgICAvLyBGSVhNRTogVGhlIGRlZmF1bHQgdmFsdWUgb2YgIkFsd2F5cyIg
aXMgZGVmaW5lZCBib3RoIGhlcmUgYW5kIGluIHRoZQorICAgIC8vIEdQVURlcHRoU3RlbmNpbERl
c2NyaXB0b3IgY2xhc3MncyBpbXBsZW1lbnRhdGlvbi4gTWlnaHQgYmUgYmV0dGVyIHRvIG5vdAor
ICAgIC8vIHN0b3JlIHRoZSBjb21wYXJlIGZ1bmN0aW9uIHNlcGFyYXRlbHkgaGVyZSwgdHJhbnNs
YXRlIGl0IGluc3RlYWQsIGFuZCB0aGVuCisgICAgLy8gdGhlcmUgd291bGQgYmUgbm8gbmVlZCBm
b3IgYSBkZWZhdWx0IHZhbHVlIGhlcmUuCisKKyAgICBXZWJNZXRhbENvbXBhcmVGdW5jdGlvbiBt
X2RlcHRoQ29tcGFyZUZ1bmN0aW9uIHsgV2ViTWV0YWxDb21wYXJlRnVuY3Rpb246OkFsd2F5cyB9
OworICAgIEdQVURlcHRoU3RlbmNpbERlc2NyaXB0b3IgbV9kZXNjcmlwdG9yOworfTsKKworfSAv
LyBuYW1lc3BhY2UgV2ViQ29yZQorCisjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L2h0bWwvY2FudmFzL1dlYk1ldGFsRGVwdGhTdGVuY2lsRGVzY3JpcHRvci5pZGwgYi9Tb3VyY2Uv
V2ViQ29yZS9odG1sL2NhbnZhcy9XZWJNZXRhbERlcHRoU3RlbmNpbERlc2NyaXB0b3IuaWRsCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjA5YWQ5NDVhZTg4MDg0MTIzYmE5NTMyMjc3MmE1NzVlZTRiOGQ5YzUKLS0tIC9k
ZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJNZXRhbERlcHRoU3Rl
bmNpbERlc2NyaXB0b3IuaWRsCkBAIC0wLDAgKzEsNTAgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMp
IDIwMTcgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0
aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAor
ICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2lu
ZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJj
ZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhp
cyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIu
IFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUg
Y29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUg
Zm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBv
dGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRI
SVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBgYEFTIElTJycgQU5EIEFOWQor
ICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1J
VEVEIFRPLCBUSEUKKyAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5E
IEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElO
IE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IKKyAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUg
Rk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAorICogRVhFTVBM
QVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVE
IFRPLAorICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9T
UyBPRiBVU0UsIERBVEEsIE9SCisgKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04p
IEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCisgKiBPRiBMSUFCSUxJVFksIFdIRVRI
RVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcg
TkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVT
RQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElU
WSBPRiBTVUNIIERBTUFHRS4KKyAqLworCitbCisgICAgQ29uZGl0aW9uYWw9V0VCTUVUQUwsCisg
ICAgRW5hYmxlZEF0UnVudGltZT1XZWJNZXRhbAorXSBlbnVtIFdlYk1ldGFsQ29tcGFyZUZ1bmN0
aW9uIHsKKyAgICAibmV2ZXIiLAorICAgICJsZXNzIiwKKyAgICAiZXF1YWwiLAorICAgICJsZXNz
ZXF1YWwiLAorICAgICJncmVhdGVyIiwKKyAgICAibm90ZXF1YWwiLAorICAgICJncmVhdGVyZXF1
YWwiLAorICAgICJhbHdheXMiCit9OworCitbCisgICAgQ29uc3RydWN0b3IsCisgICAgQ29uZGl0
aW9uYWw9V0VCTUVUQUwsCisgICAgRW5hYmxlZEF0UnVudGltZT1XZWJNZXRhbCwKKyAgICBJbXBs
ZW1lbnRhdGlvbkxhY2tzVlRhYmxlCitdIGludGVyZmFjZSBXZWJNZXRhbERlcHRoU3RlbmNpbERl
c2NyaXB0b3IgeworCisgICAgYXR0cmlidXRlIFdlYk1ldGFsQ29tcGFyZUZ1bmN0aW9uIGRlcHRo
Q29tcGFyZUZ1bmN0aW9uOworICAgIGF0dHJpYnV0ZSBib29sZWFuIGRlcHRoV3JpdGVFbmFibGVk
OworCit9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViTWV0YWxE
ZXB0aFN0ZW5jaWxTdGF0ZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJNZXRh
bERlcHRoU3RlbmNpbFN0YXRlLmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42YTk0N2ViNGQ3MDdjMjNhMTc5YTM5
MzNkYjg2NzVjN2YxMmJkOTAwCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvaHRt
bC9jYW52YXMvV2ViTWV0YWxEZXB0aFN0ZW5jaWxTdGF0ZS5jcHAKQEAgLTAsMCArMSw1OCBAQAor
LyoKKyAqIENvcHlyaWdodCAoQykgMjAxNyBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQu
CisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jt
cywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlk
ZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRp
c3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdo
dAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2lu
ZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3Qg
cmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9m
IGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRv
Y3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0
cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMu
IGBgQVMgSVMnJyBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5D
TFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQorICogSU1QTElFRCBXQVJSQU5USUVTIE9G
IE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NF
IEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUgorICogQ09O
VFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUws
IFNQRUNJQUwsCisgKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVE
SU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdP
T0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKKyAqIFBST0ZJVFM7IE9SIEJV
U0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKKyAq
IE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1Ig
VE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBB
TlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklT
RUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpbmNsdWRlICJj
b25maWcuaCIKKyNpbmNsdWRlICJXZWJNZXRhbERlcHRoU3RlbmNpbFN0YXRlLmgiCisKKyNpZiBF
TkFCTEUoV0VCTUVUQUwpCisKKyNpbmNsdWRlICJXZWJNZXRhbERlcHRoU3RlbmNpbERlc2NyaXB0
b3IuaCIKKyNpbmNsdWRlIDx3dGYvdGV4dC9XVEZTdHJpbmcuaD4KKworbmFtZXNwYWNlIFdlYkNv
cmUgeworCitSZWY8V2ViTWV0YWxEZXB0aFN0ZW5jaWxTdGF0ZT4gV2ViTWV0YWxEZXB0aFN0ZW5j
aWxTdGF0ZTo6Y3JlYXRlKEdQVURlcHRoU3RlbmNpbFN0YXRlJiYgc3RhdGUpCit7CisgICAgcmV0
dXJuIGFkb3B0UmVmKCpuZXcgV2ViTWV0YWxEZXB0aFN0ZW5jaWxTdGF0ZShXVEZNb3ZlKHN0YXRl
KSkpOworfQorCitXZWJNZXRhbERlcHRoU3RlbmNpbFN0YXRlOjpXZWJNZXRhbERlcHRoU3RlbmNp
bFN0YXRlKEdQVURlcHRoU3RlbmNpbFN0YXRlJiYgc3RhdGUpCisgICAgOiBtX3N0YXRlIHsgV1RG
TW92ZShzdGF0ZSkgfQoreworfQorCitTdHJpbmcgV2ViTWV0YWxEZXB0aFN0ZW5jaWxTdGF0ZTo6
bGFiZWwoKSBjb25zdAoreworICAgIHJldHVybiBtX3N0YXRlLmxhYmVsKCk7Cit9CisKK3ZvaWQg
V2ViTWV0YWxEZXB0aFN0ZW5jaWxTdGF0ZTo6c2V0TGFiZWwoY29uc3QgU3RyaW5nJiBsYWJlbCkK
K3sKKyAgICBtX3N0YXRlLnNldExhYmVsKGxhYmVsKTsKK30KKworfSAvLyBuYW1lc3BhY2UgV2Vi
Q29yZQorCisjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dl
Yk1ldGFsRGVwdGhTdGVuY2lsU3RhdGUuaCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dl
Yk1ldGFsRGVwdGhTdGVuY2lsU3RhdGUuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mNDVjMmQ2ZDhkNWE5NzI2YzFj
OWU2MTUwMDkxZWRjZTU5ODM4Yzk3Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUv
aHRtbC9jYW52YXMvV2ViTWV0YWxEZXB0aFN0ZW5jaWxTdGF0ZS5oCkBAIC0wLDAgKzEsNTMgQEAK
Ky8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTcgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVk
LgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9y
bXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3Zp
ZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVk
aXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmln
aHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dp
bmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0
IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBk
b2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlz
dHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5D
LiBgYEFTIElTJycgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElO
Q0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKKyAqIElNUExJRUQgV0FSUkFOVElFUyBP
RiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9T
RSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IKKyAqIENP
TlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFM
LCBTUEVDSUFMLAorICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xV
RElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBH
T09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCisgKiBQUk9GSVRTOyBPUiBC
VVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCisg
KiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9S
IFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4g
QU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJ
U0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjcHJhZ21hIG9u
Y2UKKworI2lmIEVOQUJMRShXRUJNRVRBTCkKKworI2luY2x1ZGUgIkdQVURlcHRoU3RlbmNpbFN0
YXRlLmgiCisjaW5jbHVkZSA8d3RmL1JlZi5oPgorI2luY2x1ZGUgPHd0Zi9SZWZDb3VudGVkLmg+
CisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworY2xhc3MgV2ViTWV0YWxEZXB0aFN0ZW5jaWxTdGF0
ZSA6IHB1YmxpYyBSZWZDb3VudGVkPFdlYk1ldGFsRGVwdGhTdGVuY2lsU3RhdGU+IHsKK3B1Ymxp
YzoKKyAgICBzdGF0aWMgUmVmPFdlYk1ldGFsRGVwdGhTdGVuY2lsU3RhdGU+IGNyZWF0ZShHUFVE
ZXB0aFN0ZW5jaWxTdGF0ZSYmKTsKKworICAgIFN0cmluZyBsYWJlbCgpIGNvbnN0OworICAgIHZv
aWQgc2V0TGFiZWwoY29uc3QgU3RyaW5nJik7CisKKyAgICBHUFVEZXB0aFN0ZW5jaWxTdGF0ZSYg
c3RhdGUoKSB7IHJldHVybiBtX3N0YXRlOyB9CisKK3ByaXZhdGU6CisgICAgZXhwbGljaXQgV2Vi
TWV0YWxEZXB0aFN0ZW5jaWxTdGF0ZShHUFVEZXB0aFN0ZW5jaWxTdGF0ZSYmKTsKKworICAgIEdQ
VURlcHRoU3RlbmNpbFN0YXRlIG1fc3RhdGU7Cit9OworICAgIAorfSAvLyBuYW1lc3BhY2UgV2Vi
Q29yZQorCisjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dl
Yk1ldGFsRGVwdGhTdGVuY2lsU3RhdGUuaWRsIGIvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMv
V2ViTWV0YWxEZXB0aFN0ZW5jaWxTdGF0ZS5pZGwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMDA4MmI0MjBhNzQ5Mjg3
NmIzMGM2NmRjY2JlYzE3NzFlNzhiN2NjYwotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2h0bWwvY2FudmFzL1dlYk1ldGFsRGVwdGhTdGVuY2lsU3RhdGUuaWRsCkBAIC0wLDAgKzEs
MzQgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTcgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJl
c2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5h
cnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVk
IHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICog
MS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBj
b3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBm
b2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9y
bSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisg
KiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0
aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQ
TEUgSU5DLiBgYEFTIElTJycgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJ
RVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKKyAqIElNUExJRUQgV0FSUkFO
VElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICog
UFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IK
KyAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJ
REVOVEFMLCBTUEVDSUFMLAorICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMg
KElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJ
VFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCisgKiBQUk9GSVRT
OyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhF
T1JZCisgKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJ
VFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJ
TkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJ
RiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCitbCisg
ICAgQ29uZGl0aW9uYWw9V0VCTUVUQUwsCisgICAgRW5hYmxlZEF0UnVudGltZT1XZWJNZXRhbCwK
KyAgICBJbXBsZW1lbnRhdGlvbkxhY2tzVlRhYmxlCitdIGludGVyZmFjZSBXZWJNZXRhbERlcHRo
U3RlbmNpbFN0YXRlIHsKKworICAgIGF0dHJpYnV0ZSBET01TdHJpbmcgbGFiZWw7CisKK307CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJNZXRhbERyYXdhYmxlLmNw
cCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYk1ldGFsRHJhd2FibGUuY3BwCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjU3Zjc5MjE3ODEwMGM4YWExNzkyM2EzYmJjM2UzN2NmMGM1NDRjMDUKLS0tIC9kZXYv
bnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJNZXRhbERyYXdhYmxlLmNw
cApAQCAtMCwwICsxLDUxIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE3IEFwcGxlIEluYy4g
QWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNv
dXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwg
YXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICog
YXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFp
biB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRp
b25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMg
aW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAg
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFp
bWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHBy
b3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBS
T1ZJREVEIEJZIEFQUExFIElOQy4gYGBBUyBJUycnIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1Q
TElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisgKiBJ
TVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBB
UlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBB
UFBMRSBJTkMuIE9SCisgKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5D
TFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZP
UiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKKyAqIFBST0NVUkVN
RU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBP
UgorICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBB
TkQgT04gQU5ZIFRIRU9SWQorICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBT
VFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RI
RVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09G
VFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0Uu
CisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorI2luY2x1ZGUgIldlYk1ldGFsRHJhd2FibGUu
aCIKKworI2lmIEVOQUJMRShXRUJNRVRBTCkKKworI2luY2x1ZGUgIkdQVVRleHR1cmUuaCIKKyNp
bmNsdWRlICJXZWJNZXRhbFRleHR1cmUuaCIKKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitSZWY8
V2ViTWV0YWxEcmF3YWJsZT4gV2ViTWV0YWxEcmF3YWJsZTo6Y3JlYXRlKEdQVURyYXdhYmxlJiYg
ZHJhd2FibGUpCit7CisgICAgcmV0dXJuIGFkb3B0UmVmKCpuZXcgV2ViTWV0YWxEcmF3YWJsZShX
VEZNb3ZlKGRyYXdhYmxlKSkpOworfQorCitXZWJNZXRhbERyYXdhYmxlOjpXZWJNZXRhbERyYXdh
YmxlKEdQVURyYXdhYmxlJiYgZHJhd2FibGUpCisgICAgOiBtX2RyYXdhYmxlIHsgV1RGTW92ZShk
cmF3YWJsZSkgfQorICAgICwgbV90ZXh0dXJlIHsgV2ViTWV0YWxUZXh0dXJlOjpjcmVhdGUoR1BV
VGV4dHVyZSB7IG1fZHJhd2FibGUgfSkgfQoreworfQorCitXZWJNZXRhbERyYXdhYmxlOjp+V2Vi
TWV0YWxEcmF3YWJsZSgpID0gZGVmYXVsdDsKKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorCisj
ZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYk1ldGFsRHJh
d2FibGUuaCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYk1ldGFsRHJhd2FibGUuaApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi41MzdhYjViODY3NzRhNTUzMDRkNjAwZGQ5ZDZlZjdjNzY5YWM0N2FjCi0tLSAv
ZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViTWV0YWxEcmF3YWJs
ZS5oCkBAIC0wLDAgKzEsNTUgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTcgQXBwbGUgSW5j
LiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4g
c291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9u
LCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisg
KiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0
YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRp
dGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9u
cyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAg
ICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2Ns
YWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMg
cHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMg
UFJPVklERUQgQlkgQVBQTEUgSU5DLiBgYEFTIElTJycgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJ
TVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKKyAq
IElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEg
UEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxM
IEFQUExFIElOQy4gT1IKKyAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1Qs
IElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAorICogRVhFTVBMQVJZLCBPUiBDT05TRVFV
RU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogUFJPQ1VS
RU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEs
IE9SCisgKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VE
IEFORCBPTiBBTlkgVEhFT1JZCisgKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1Qs
IFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBP
VEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBT
T0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFH
RS4KKyAqLworCisjcHJhZ21hIG9uY2UKKworI2lmIEVOQUJMRShXRUJNRVRBTCkKKworI2luY2x1
ZGUgIkdQVURyYXdhYmxlLmgiCisjaW5jbHVkZSA8d3RmL1JlZi5oPgorI2luY2x1ZGUgPHd0Zi9S
ZWZDb3VudGVkLmg+CisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworY2xhc3MgV2ViTWV0YWxUZXh0
dXJlOworCitjbGFzcyBXZWJNZXRhbERyYXdhYmxlIDogcHVibGljIFJlZkNvdW50ZWQ8V2ViTWV0
YWxEcmF3YWJsZT4geworcHVibGljOgorICAgIH5XZWJNZXRhbERyYXdhYmxlKCk7CisgICAgc3Rh
dGljIFJlZjxXZWJNZXRhbERyYXdhYmxlPiBjcmVhdGUoR1BVRHJhd2FibGUmJik7CisKKyAgICBH
UFVEcmF3YWJsZSYgZHJhd2FibGUoKSB7IHJldHVybiBtX2RyYXdhYmxlOyB9CisgICAgV2ViTWV0
YWxUZXh0dXJlJiB0ZXh0dXJlKCkgeyByZXR1cm4gbV90ZXh0dXJlLmdldCgpOyB9CisKK3ByaXZh
dGU6CisgICAgZXhwbGljaXQgV2ViTWV0YWxEcmF3YWJsZShHUFVEcmF3YWJsZSYmKTsKKworICAg
IEdQVURyYXdhYmxlIG1fZHJhd2FibGU7CisgICAgUmVmPFdlYk1ldGFsVGV4dHVyZT4gbV90ZXh0
dXJlOworfTsKKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorCisjZW5kaWYKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYk1ldGFsRHJhd2FibGUuaWRsIGIvU291cmNl
L1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViTWV0YWxEcmF3YWJsZS5pZGwKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYTc2
ZDY5MWUyZDc4NjBkY2Y0ZjhlOTk1NWNjMjRkNmYyYmU3ZTk5MgotLS0gL2Rldi9udWxsCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYk1ldGFsRHJhd2FibGUuaWRsCkBAIC0wLDAg
KzEsMzQgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTcgQXBwbGUgSW5jLiBBbGwgcmlnaHRz
IHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBi
aW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0
dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0Ogor
ICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92
ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRo
ZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkg
Zm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRo
aXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhl
CisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0
aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkg
QVBQTEUgSU5DLiBgYEFTIElTJycgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJB
TlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKKyAqIElNUExJRUQgV0FS
UkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgor
ICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4g
T1IKKyAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJ
TkNJREVOVEFMLCBTUEVDSUFMLAorICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFH
RVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogUFJPQ1VSRU1FTlQgT0YgU1VC
U1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCisgKiBQUk9G
SVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkg
VEhFT1JZCisgKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFC
SUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFS
SVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZF
TiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCitb
CisgICAgQ29uZGl0aW9uYWw9V0VCTUVUQUwsCisgICAgRW5hYmxlZEF0UnVudGltZT1XZWJNZXRh
bCwKKyAgICBJbXBsZW1lbnRhdGlvbkxhY2tzVlRhYmxlCitdIGludGVyZmFjZSBXZWJNZXRhbERy
YXdhYmxlIHsKKworICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBXZWJNZXRhbFRleHR1cmUgdGV4dHVy
ZTsgLy8gRklYTUU6IE9ubHkgdGhlIGZyYW1lYnVmZmVyIHNob3VsZCBoYXZlIHRoaXMuCisKK307
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJNZXRhbEVudW1zLmNw
cCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYk1ldGFsRW51bXMuY3BwCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjZhZDBhNDZlYzI3MmQzNWQ5NTM5MTA4MjMyYmM3ZTA4YmY3MjhlOTIKLS0tIC9kZXYvbnVs
bAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJNZXRhbEVudW1zLmNwcApAQCAt
MCwwICsxLDEwNyBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxNyBBcHBsZSBJbmMuIEFsbCBy
aWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2Ug
YW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBw
ZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBt
ZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhl
IGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJp
bmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGlj
ZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBp
biB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRl
ZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURF
RCBCWSBBUFBMRSBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQg
V0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQorICogSU1QTElF
RCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNV
TEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUg
SU5DLiBPUgorICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJF
Q1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCisgKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwg
REFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBQUk9DVVJFTUVOVCBP
RiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKKyAq
IFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9O
IEFOWSBUSEVPUlkKKyAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNU
IExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lT
RSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJF
LCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICov
CisKKyNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJXZWJNZXRhbEVudW1zLmgiCisKKyNp
ZiBFTkFCTEUoV0VCTUVUQUwpCisKKyNpbmNsdWRlICJHUFVFbnVtcy5oIgorI2luY2x1ZGUgPHd0
Zi90ZXh0L1dURlN0cmluZy5oPgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK3N0ZDo6b3B0aW9u
YWw8V2ViTWV0YWxDb21wYXJlRnVuY3Rpb24+IHRvV2ViTWV0YWxDb21wYXJlRnVuY3Rpb24oY29u
c3QgU3RyaW5nJiBuYW1lKQoreworICAgIGlmIChlcXVhbExldHRlcnNJZ25vcmluZ0FTQ0lJQ2Fz
ZShuYW1lLCAibmV2ZXIiKSkKKyAgICAgICAgcmV0dXJuIFdlYk1ldGFsQ29tcGFyZUZ1bmN0aW9u
OjpOZXZlcjsKKyAgICBpZiAoZXF1YWxMZXR0ZXJzSWdub3JpbmdBU0NJSUNhc2UobmFtZSwgImxl
c3MiKSkKKyAgICAgICAgcmV0dXJuIFdlYk1ldGFsQ29tcGFyZUZ1bmN0aW9uOjpMZXNzOworICAg
IGlmIChlcXVhbExldHRlcnNJZ25vcmluZ0FTQ0lJQ2FzZShuYW1lLCAiZXF1YWwiKSkKKyAgICAg
ICAgcmV0dXJuIFdlYk1ldGFsQ29tcGFyZUZ1bmN0aW9uOjpFcXVhbDsKKyAgICBpZiAoZXF1YWxM
ZXR0ZXJzSWdub3JpbmdBU0NJSUNhc2UobmFtZSwgImxlc3NlcXVhbCIpKQorICAgICAgICByZXR1
cm4gV2ViTWV0YWxDb21wYXJlRnVuY3Rpb246Okxlc3NlcXVhbDsKKyAgICBpZiAoZXF1YWxMZXR0
ZXJzSWdub3JpbmdBU0NJSUNhc2UobmFtZSwgImdyZWF0ZXIiKSkKKyAgICAgICAgcmV0dXJuIFdl
Yk1ldGFsQ29tcGFyZUZ1bmN0aW9uOjpHcmVhdGVyOworICAgIGlmIChlcXVhbExldHRlcnNJZ25v
cmluZ0FTQ0lJQ2FzZShuYW1lLCAibm90ZXF1YWwiKSkKKyAgICAgICAgcmV0dXJuIFdlYk1ldGFs
Q29tcGFyZUZ1bmN0aW9uOjpOb3RlcXVhbDsKKyAgICBpZiAoZXF1YWxMZXR0ZXJzSWdub3JpbmdB
U0NJSUNhc2UobmFtZSwgImdyZWF0ZXJlcXVhbCIpKQorICAgICAgICByZXR1cm4gV2ViTWV0YWxD
b21wYXJlRnVuY3Rpb246OkdyZWF0ZXJlcXVhbDsKKyAgICBpZiAoZXF1YWxMZXR0ZXJzSWdub3Jp
bmdBU0NJSUNhc2UobmFtZSwgImFsd2F5cyIpKQorICAgICAgICByZXR1cm4gV2ViTWV0YWxDb21w
YXJlRnVuY3Rpb246OkFsd2F5czsKKworICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOworICAgIHJl
dHVybiBzdGQ6Om51bGxvcHQ7Cit9CisKK1N0cmluZyB3ZWIzRENvbXBhcmVGdW5jdGlvbk5hbWUo
V2ViTWV0YWxDb21wYXJlRnVuY3Rpb24gdmFsdWUpCit7CisgICAgaWYgKHZhbHVlID09IFdlYk1l
dGFsQ29tcGFyZUZ1bmN0aW9uOjpOZXZlcikKKyAgICAgICAgcmV0dXJuICJuZXZlciJfczsKKyAg
ICBpZiAodmFsdWUgPT0gV2ViTWV0YWxDb21wYXJlRnVuY3Rpb246Okxlc3MpCisgICAgICAgIHJl
dHVybiAibGVzcyJfczsKKyAgICBpZiAodmFsdWUgPT0gV2ViTWV0YWxDb21wYXJlRnVuY3Rpb246
OkVxdWFsKQorICAgICAgICByZXR1cm4gImVxdWFsIl9zOworICAgIGlmICh2YWx1ZSA9PSBXZWJN
ZXRhbENvbXBhcmVGdW5jdGlvbjo6TGVzc2VxdWFsKQorICAgICAgICByZXR1cm4gImxlc3NlcXVh
bCJfczsKKyAgICBpZiAodmFsdWUgPT0gV2ViTWV0YWxDb21wYXJlRnVuY3Rpb246OkdyZWF0ZXIp
CisgICAgICAgIHJldHVybiAiZ3JlYXRlciJfczsKKyAgICBpZiAodmFsdWUgPT0gV2ViTWV0YWxD
b21wYXJlRnVuY3Rpb246Ok5vdGVxdWFsKQorICAgICAgICByZXR1cm4gIm5vdGVxdWFsIl9zOwor
ICAgIGlmICh2YWx1ZSA9PSBXZWJNZXRhbENvbXBhcmVGdW5jdGlvbjo6R3JlYXRlcmVxdWFsKQor
ICAgICAgICByZXR1cm4gImdyZWF0ZXJlcXVhbCJfczsKKyAgICBpZiAodmFsdWUgPT0gV2ViTWV0
YWxDb21wYXJlRnVuY3Rpb246OkFsd2F5cykKKyAgICAgICAgcmV0dXJuICJhbHdheXMiX3M7Cisg
ICAgCisgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CisgICAgcmV0dXJuIGVtcHR5U3RyaW5nKCk7
Cit9CisKK0dQVUNvbXBhcmVGdW5jdGlvbiB0b0dQVUNvbXBhcmVGdW5jdGlvbihjb25zdCBXZWJN
ZXRhbENvbXBhcmVGdW5jdGlvbiB2YWx1ZSkKK3sKKyAgICBpZiAodmFsdWUgPT0gV2ViTWV0YWxD
b21wYXJlRnVuY3Rpb246Ok5ldmVyKQorICAgICAgICByZXR1cm4gR1BVQ29tcGFyZUZ1bmN0aW9u
OjpOZXZlcjsKKyAgICBpZiAodmFsdWUgPT0gV2ViTWV0YWxDb21wYXJlRnVuY3Rpb246Okxlc3Mp
CisgICAgICAgIHJldHVybiBHUFVDb21wYXJlRnVuY3Rpb246Okxlc3M7CisgICAgaWYgKHZhbHVl
ID09IFdlYk1ldGFsQ29tcGFyZUZ1bmN0aW9uOjpFcXVhbCkKKyAgICAgICAgcmV0dXJuIEdQVUNv
bXBhcmVGdW5jdGlvbjo6RXF1YWw7CisgICAgaWYgKHZhbHVlID09IFdlYk1ldGFsQ29tcGFyZUZ1
bmN0aW9uOjpMZXNzZXF1YWwpCisgICAgICAgIHJldHVybiBHUFVDb21wYXJlRnVuY3Rpb246Okxl
c3NFcXVhbDsKKyAgICBpZiAodmFsdWUgPT0gV2ViTWV0YWxDb21wYXJlRnVuY3Rpb246OkdyZWF0
ZXIpCisgICAgICAgIHJldHVybiBHUFVDb21wYXJlRnVuY3Rpb246OkdyZWF0ZXI7CisgICAgaWYg
KHZhbHVlID09IFdlYk1ldGFsQ29tcGFyZUZ1bmN0aW9uOjpOb3RlcXVhbCkKKyAgICAgICAgcmV0
dXJuIEdQVUNvbXBhcmVGdW5jdGlvbjo6Tm90RXF1YWw7CisgICAgaWYgKHZhbHVlID09IFdlYk1l
dGFsQ29tcGFyZUZ1bmN0aW9uOjpHcmVhdGVyZXF1YWwpCisgICAgICAgIHJldHVybiBHUFVDb21w
YXJlRnVuY3Rpb246OkdyZWF0ZXJFcXVhbDsKKyAgICBpZiAodmFsdWUgPT0gV2ViTWV0YWxDb21w
YXJlRnVuY3Rpb246OkFsd2F5cykKKyAgICAgICAgcmV0dXJuIEdQVUNvbXBhcmVGdW5jdGlvbjo6
QWx3YXlzOworICAgIAorICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOworICAgIHJldHVybiBHUFVD
b21wYXJlRnVuY3Rpb246Ok5ldmVyOworfQorCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKKyNl
bmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViTWV0YWxFbnVt
cy5oIGIvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViTWV0YWxFbnVtcy5oCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjI4MmM1MDYzYWZjMTc5MDNkYWQ4ZjRkNDQ5ZDNhYjdjM2U0NjU5MGQKLS0tIC9kZXYvbnVs
bAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJNZXRhbEVudW1zLmgKQEAgLTAs
MCArMSw1NCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxNyBBcHBsZSBJbmMuIEFsbCByaWdo
dHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5k
IGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJt
aXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6
CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFi
b3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQg
dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFy
eSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwg
dGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0
aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3
aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBC
WSBBUFBMRSBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FS
UkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQorICogSU1QTElFRCBX
QVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFS
CisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5D
LiBPUgorICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1Qs
IElOQ0lERU5UQUwsIFNQRUNJQUwsCisgKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFN
QUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBQUk9DVVJFTUVOVCBPRiBT
VUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKKyAqIFBS
T0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFO
WSBUSEVPUlkKKyAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJ
QUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkg
QVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBF
VkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisK
KyNwcmFnbWEgb25jZQorCisjaWYgRU5BQkxFKFdFQk1FVEFMKQorCisjaW5jbHVkZSA8d3RmL0Zv
cndhcmQuaD4KKyNpbmNsdWRlIDx3dGYvT3B0aW9uYWwuaD4KKworbmFtZXNwYWNlIFdlYkNvcmUg
eworCitlbnVtIGNsYXNzIEdQVUNvbXBhcmVGdW5jdGlvbjsKKworZW51bSBjbGFzcyBXZWJNZXRh
bENvbXBhcmVGdW5jdGlvbiB7CisgICAgTmV2ZXIsCisgICAgTGVzcywKKyAgICBFcXVhbCwKKyAg
ICBMZXNzZXF1YWwsCisgICAgR3JlYXRlciwKKyAgICBOb3RlcXVhbCwKKyAgICBHcmVhdGVyZXF1
YWwsCisgICAgQWx3YXlzCit9OworCitzdGQ6Om9wdGlvbmFsPFdlYk1ldGFsQ29tcGFyZUZ1bmN0
aW9uPiB0b1dlYk1ldGFsQ29tcGFyZUZ1bmN0aW9uKGNvbnN0IFN0cmluZyYpOworU3RyaW5nIHdl
YjNEQ29tcGFyZUZ1bmN0aW9uTmFtZShXZWJNZXRhbENvbXBhcmVGdW5jdGlvbik7CitHUFVDb21w
YXJlRnVuY3Rpb24gdG9HUFVDb21wYXJlRnVuY3Rpb24oV2ViTWV0YWxDb21wYXJlRnVuY3Rpb24p
OworCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKKyNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViTWV0YWxFbnVtcy5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9o
dG1sL2NhbnZhcy9XZWJNZXRhbEVudW1zLmlkbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41NWVhNDUxOTU4N2Y2Yzli
ZmViODE2ZTA1ZWM5ZDlmNTY4ZjMxOGFmCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNv
cmUvaHRtbC9jYW52YXMvV2ViTWV0YWxFbnVtcy5pZGwKQEAgLTAsMCArMSwyNzQgQEAKKy8qCisg
KiBDb3B5cmlnaHQgKEMpIDIwMTcgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoK
KyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdp
dGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRo
YXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmli
dXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAq
ICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlz
Y2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJv
ZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25k
aXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVu
dGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0
aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBgYEFT
IElTJycgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElO
RywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKKyAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJD
SEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUg
RElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IKKyAqIENPTlRSSUJV
VE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVD
SUFMLAorICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywg
QlVUIE5PVCBMSU1JVEVEIFRPLAorICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBP
UiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCisgKiBQUk9GSVRTOyBPUiBCVVNJTkVT
UyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCisgKiBPRiBM
SUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQK
KyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdB
WSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9G
IFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCitbCisgICAgQ29uZGl0aW9u
YWw9V0VCTUVUQUwsCisgICAgRW5hYmxlZEF0UnVudGltZT1XZWJNZXRhbAorXSBlbnVtIFdlYk1l
dGFsUGl4ZWxGb3JtYXQgeworICAgICJCR1JBOFVub3JtIgorfTsKKworWworICAgIENvbmRpdGlv
bmFsPVdFQk1FVEFMLAorICAgIEVuYWJsZWRBdFJ1bnRpbWU9V2ViTWV0YWwKK10gZW51bSBXZWJN
ZXRhbExvYWRBY3Rpb24geworICAgICJkb250Y2FyZSIsCisgICAgImxvYWQiLAorICAgICJjbGVh
ciIKK307CisKK1sKKyAgICBDb25kaXRpb25hbD1XRUJNRVRBTCwKKyAgICBFbmFibGVkQXRSdW50
aW1lPVdlYk1ldGFsCitdIGVudW0gV2ViTWV0YWxTdG9yZUFjdGlvbiB7CisgICAgImRvbnRjYXJl
IiwKKyAgICAic3RvcmUiLAorICAgICJtdWx0aXNhbXBsZXJlc29sdmUiCit9OworCitbCisgICAg
Q29uZGl0aW9uYWw9V0VCTUVUQUwsCisgICAgRW5hYmxlZEF0UnVudGltZT1XZWJNZXRhbAorXSBl
bnVtIFdlYk1ldGFsUHJpbWl0aXZlVHlwZSB7CisgICAgInBvaW50IiwKKyAgICAibGluZSIsCisg
ICAgImxpbmVzdHJpcCIsCisgICAgInRyaWFuZ2xlIiwKKyAgICAidHJpYW5nbGVzdHJpcCIKK307
CisKK1sKKyAgICBDb25kaXRpb25hbD1XRUJNRVRBTCwKKyAgICBFbmFibGVkQXRSdW50aW1lPVdl
Yk1ldGFsCitdIGVudW0gV2ViTWV0YWxGdW5jdGlvblR5cGUgeworICAgICJmcmFnbWVudCIsCisg
ICAgInZlcnRleCIKK307CisKK1sKKyAgICBDb25kaXRpb25hbD1XRUJNRVRBTCwKKyAgICBFbmFi
bGVkQXRSdW50aW1lPVdlYk1ldGFsCitdIGVudW0gV2ViTWV0YWxTdGVuY2lsT3BlcmF0aW9uIHsK
KyAgICAia2VlcCIsCisgICAgInplcm8iLAorICAgICJyZXBsYWNlIiwKKyAgICAiaW5jcmVtZW50
Y2xhbXAiLAorICAgICJkZWNyZW1lbnRjbGFtcCIsCisgICAgImludmVydCIsCisgICAgImluY3Jl
bWVudHdyYXAiLAorICAgICJkZWNyZW1lbnR3cmFwIgorfTsKKworWworICAgIENvbmRpdGlvbmFs
PVdFQk1FVEFMLAorICAgIEVuYWJsZWRBdFJ1bnRpbWU9V2ViTWV0YWwKK10gZW51bSBXZWJNZXRh
bFN0YXR1cyB7CisgICAgIm5vdGVucXVldWVkIiwKKyAgICAiZW5xdWV1ZWQiLAorICAgICJjb21t
aXR0ZWQiLAorICAgICJzY2hlZHVsZWQiLAorICAgICJjb21wbGV0ZWQiLAorICAgICJlcnJvciIK
K307CisKK1sKKyAgICBDb25kaXRpb25hbD1XRUJNRVRBTCwKKyAgICBFbmFibGVkQXRSdW50aW1l
PVdlYk1ldGFsCitdIGVudW0gV2ViTWV0YWxTYW1wbGVyQWRkcmVzc01vZGUgeworICAgICJjbGFt
cHRvZWRnZSIsCisgICAgIm1pcnJvcmNsYW1wdG9lZGdlIiwKKyAgICAicmVwZWF0IiwKKyAgICAi
bWlycm9ycmVwZWF0IiwKKyAgICAiY2xhbXB0b3plcm8iCit9OworCitbCisgICAgQ29uZGl0aW9u
YWw9V0VCTUVUQUwsCisgICAgRW5hYmxlZEF0UnVudGltZT1XZWJNZXRhbAorXSBlbnVtIFdlYk1l
dGFsU2FtcGxlck1pbk1hZ0ZpbHRlciB7CisgICAgIm5lYXJlc3QiLAorICAgICJsaW5lYXIiCit9
OworCitbCisgICAgQ29uZGl0aW9uYWw9V0VCTUVUQUwsCisgICAgRW5hYmxlZEF0UnVudGltZT1X
ZWJNZXRhbAorXSBlbnVtIFdlYk1ldGFsU2FtcGxlck1pcEZpbHRlciB7CisgICAgIm5vdG1pcG1h
cHBlZCIsCisgICAgIm5lYXJlc3QiLAorICAgICJsaW5lYXIiCit9OworCitbCisgICAgQ29uZGl0
aW9uYWw9V0VCTUVUQUwsCisgICAgRW5hYmxlZEF0UnVudGltZT1XZWJNZXRhbAorXSBlbnVtIFdl
Yk1ldGFsQ3VsbE1vZGUgeworICAgICJub25lIiwKKyAgICAiZnJvbnQiLAorICAgICJiYWNrIgor
fTsKKworWworICAgIENvbmRpdGlvbmFsPVdFQk1FVEFMLAorICAgIEVuYWJsZWRBdFJ1bnRpbWU9
V2ViTWV0YWwKK10gZW51bSBXZWJNZXRhbEluZGV4VHlwZSB7CisgICAgInVpbnQxNiIsCisgICAg
InVpbnQzMiIKK307CisKK1sKKyAgICBDb25kaXRpb25hbD1XRUJNRVRBTCwKKyAgICBFbmFibGVk
QXRSdW50aW1lPVdlYk1ldGFsCitdIGVudW0gV2ViTWV0YWxWaXNpYmlsaXR5UmVzdWx0TW9kZSB7
CisgICAgImRpc2FibGVkIiwKKyAgICAiYm9vbGVhbiIsCisgICAgImNvdW50aW5nIgorfTsKKwor
WworICAgIENvbmRpdGlvbmFsPVdFQk1FVEFMLAorICAgIEVuYWJsZWRBdFJ1bnRpbWU9V2ViTWV0
YWwKK10gZW51bSBXZWJNZXRhbFdpbmRpbmcgeworICAgICJjbG9ja3dpc2UiLAorICAgICJjb3Vu
dGVyY2xvY2t3aXNlIgorfTsKKworWworICAgIENvbmRpdGlvbmFsPVdFQk1FVEFMLAorICAgIEVu
YWJsZWRBdFJ1bnRpbWU9V2ViTWV0YWwKK10gZW51bSBXZWJNZXRhbERlcHRoQ2xpcE1vZGUgewor
ICAgICJjbGlwIiwKKyAgICAiY2xhbXAiCit9OworCitbCisgICAgQ29uZGl0aW9uYWw9V0VCTUVU
QUwsCisgICAgRW5hYmxlZEF0UnVudGltZT1XZWJNZXRhbAorXSBlbnVtIFdlYk1ldGFsVHJpYW5n
bGVGaWxsTW9kZSB7CisgICAgImZpbGwiLAorICAgICJsaW5lcyIKK307CisKK1sKKyAgICBDb25k
aXRpb25hbD1XRUJNRVRBTCwKKyAgICBFbmFibGVkQXRSdW50aW1lPVdlYk1ldGFsCitdIGVudW0g
V2ViTWV0YWxDUFVDYWNoZU1vZGUgeworICAgICJkZWZhdWx0Y2FjaGUiLAorICAgICJ3cml0ZWNv
bWJpbmVkIgorfTsKKworWworICAgIENvbmRpdGlvbmFsPVdFQk1FVEFMLAorICAgIEVuYWJsZWRB
dFJ1bnRpbWU9V2ViTWV0YWwKK10gZW51bSBXZWJNZXRhbFN0b3JhZ2VNb2RlIHsKKyAgICAic2hh
cmVkIiwKKyAgICAibWFuYWdlZCIsCisgICAgInByaXZhdGUiCit9OworCitbCisgICAgQ29uZGl0
aW9uYWw9V0VCTUVUQUwsCisgICAgRW5hYmxlZEF0UnVudGltZT1XZWJNZXRhbAorXSBlbnVtIFdl
Yk1ldGFsUmVzb3VyY2VPcHRpb25zIHsKKyAgICAiY3B1Y2FjaGVtb2RlZGVmYXVsdGNhY2hlIiwK
KyAgICAiY3B1Y2FjaGVtb2Rld3JpdGVjb21iaW5lZCIsCisgICAgInN0b3JhZ2Vtb2Rlc2hhcmVk
IiwKKyAgICAic3RvcmFnZW1vZGVtYW5hZ2VkIiwKKyAgICAic3RvcmFnZW1vZGVwcml2YXRlIiwK
KyAgICAib3B0aW9uY3B1Y2FjaGVtb2RlZGVmYXVsdGNhY2hlIiwKKyAgICAib3B0aW9uY3B1Y2Fj
aGVtb2Rld3JpdGVjb21iaW5lZCIKK307CisKK1sKKyAgICBDb25kaXRpb25hbD1XRUJNRVRBTCwK
KyAgICBFbmFibGVkQXRSdW50aW1lPVdlYk1ldGFsCitdIGVudW0gV2ViTWV0YWxUZXh0dXJlVXNh
Z2UgeworICAgICJ1bmtub3duIiwKKyAgICAic2hhZGVycmVhZCIsCisgICAgInNoYWRlcndyaXRl
IiwKKyAgICAicmVuZGVydGFyZ2V0IiwKKyAgICAicGl4ZWxmb3JtYXR2aWV3IgorfTsKKworWwor
ICAgIENvbmRpdGlvbmFsPVdFQk1FVEFMLAorICAgIEVuYWJsZWRBdFJ1bnRpbWU9V2ViTWV0YWwK
K10gZW51bSBXZWJNZXRhbEJsZW5kT3BlcmF0aW9uIHsKKyAgICAiYWRkIiwKKyAgICAic3VidHJh
Y3QiLAorICAgICJyZXZlcnNlc3VidHJhY3QiLAorICAgICJtaW4iLAorICAgICJtYXgiCit9Owor
CitbCisgICAgQ29uZGl0aW9uYWw9V0VCTUVUQUwsCisgICAgRW5hYmxlZEF0UnVudGltZT1XZWJN
ZXRhbAorXSBlbnVtIFdlYk1ldGFsQmxlbmRGYWN0b3IgeworICAgICJ6ZXJvIiwKKyAgICAib25l
IiwKKyAgICAic291cmNlY29sb3IiLAorICAgICJvbmVtaW51c3NvdXJjZWNvbG9yIiwKKyAgICAi
c291cmNlYWxwaGEiLAorICAgICJvbmVtaW51c3NvdXJjZWFscGhhIiwKKyAgICAiZGVzdGluYXRp
b25jb2xvciIsCisgICAgIm9uZW1pbnVzZGVzdGluYXRpb25jb2xvciIsCisgICAgImRlc3RpbmF0
aW9uYWxwaGEiLAorICAgICJvbmVtaW51c2Rlc3RpbmF0aW9uYWxwaGEiLAorICAgICJzb3VyY2Vh
bHBoYXNhdHVyYXRlZCIsCisgICAgImJsZW5kY29sb3IiLAorICAgICJvbmVtaW51c2JsZW5kY29s
b3IiLAorICAgICJibGVuZGFscGhhIiwKKyAgICAib25lbWludXNibGVuZGFscGhhIgorfTsKKwor
WworICAgIENvbmRpdGlvbmFsPVdFQk1FVEFMLAorICAgIEVuYWJsZWRBdFJ1bnRpbWU9V2ViTWV0
YWwKK10gZW51bSBXZWJNZXRhbENvbG9yV3JpdGVNYXNrIHsKKyAgICAibm9uZSIsCisgICAgInJl
ZCIsCisgICAgImdyZWVuIiwKKyAgICAiYmx1ZSIsCisgICAgImFscGhhIiwKKyAgICAiYWxsIgor
fTsKKworWworICAgIENvbmRpdGlvbmFsPVdFQk1FVEFMLAorICAgIEVuYWJsZWRBdFJ1bnRpbWU9
V2ViTWV0YWwKK10gZW51bSBXZWJNZXRhbE11bHRpc2FtcGxlRGVwdGhSZXNvbHZlRmlsdGVyIHsK
KyAgICAic2FtcGxlMCIsCisgICAgIm1pbiIsCisgICAgIm1heCIKK307CisKK1sKKyAgICBDb25k
aXRpb25hbD1XRUJNRVRBTCwKKyAgICBFbmFibGVkQXRSdW50aW1lPVdlYk1ldGFsCitdIGVudW0g
V2ViTWV0YWxGZWF0dXJlU2V0IHsKKyAgICAibGV2ZWwxIiwKKyAgICAibGV2ZWwyIgorfTsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYk1ldGFsRnVuY3Rpb24uY3Bw
IGIvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViTWV0YWxGdW5jdGlvbi5jcHAKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uNDdiZDNhZGQwZTc2ZTg2ODllMWQ2YTc3MzdlYjQwZTdiNjhiNjg1NAotLS0gL2Rldi9u
dWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYk1ldGFsRnVuY3Rpb24uY3Bw
CkBAIC0wLDAgKzEsNDcgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTcgQXBwbGUgSW5jLiBB
bGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291
cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBh
cmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBh
cmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWlu
IHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlv
bnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBp
biBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBu
b3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWlt
ZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJv
dmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJP
VklERUQgQlkgQVBQTEUgSU5DLiBgYEFTIElTJycgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBM
SUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKKyAqIElN
UExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFS
VElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQ
UExFIElOQy4gT1IKKyAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElO
RElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAorICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5U
SUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogUFJPQ1VSRU1F
TlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9S
CisgKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFO
RCBPTiBBTlkgVEhFT1JZCisgKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNU
UklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhF
UldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZU
V0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4K
KyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgiCisjaW5jbHVkZSAiV2ViTWV0YWxGdW5jdGlvbi5o
IgorCisjaWYgRU5BQkxFKFdFQk1FVEFMKQorCisjaW5jbHVkZSAiV2ViTWV0YWxMaWJyYXJ5Lmgi
CisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworUmVmPFdlYk1ldGFsRnVuY3Rpb24+IFdlYk1ldGFs
RnVuY3Rpb246OmNyZWF0ZShHUFVGdW5jdGlvbiYmIGZ1bmN0aW9uKQoreworICAgIHJldHVybiBh
ZG9wdFJlZigqbmV3IFdlYk1ldGFsRnVuY3Rpb24oV1RGTW92ZShmdW5jdGlvbikpKTsKK30KKwor
V2ViTWV0YWxGdW5jdGlvbjo6V2ViTWV0YWxGdW5jdGlvbihHUFVGdW5jdGlvbiYmIGZ1bmN0aW9u
KQorICAgIDogbV9mdW5jdGlvbiB7IFdURk1vdmUoZnVuY3Rpb24pIH0KK3sKK30KKworfSAvLyBu
YW1lc3BhY2UgV2ViQ29yZQorCisjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0
bWwvY2FudmFzL1dlYk1ldGFsRnVuY3Rpb24uaCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFz
L1dlYk1ldGFsRnVuY3Rpb24uaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yYmE2OTJjMTQzM2I4ODczODUxYmRjNTk1
MTI2NmFiN2Y0MTJiOGI3Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9j
YW52YXMvV2ViTWV0YWxGdW5jdGlvbi5oCkBAIC0wLDAgKzEsNTIgQEAKKy8qCisgKiBDb3B5cmln
aHQgKEMpIDIwMTcgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlz
dHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0
aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZv
bGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9m
IHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGlj
ZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4K
KyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUg
YWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFu
ZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFu
ZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoK
KyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBgYEFTIElTJycgQU5E
IEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5P
VCBMSU1JVEVEIFRPLCBUSEUKKyAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJ
VFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1F
RC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IKKyAqIENPTlRSSUJVVE9SUyBCRSBM
SUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAorICog
RVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBM
SU1JVEVEIFRPLAorICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNF
UzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCisgKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJV
UFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCisgKiBPRiBMSUFCSUxJVFks
IFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNM
VURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0Yg
VEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NT
SUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjcHJhZ21hIG9uY2UKKworI2lmIEVOQUJM
RShXRUJNRVRBTCkKKworI2luY2x1ZGUgIkdQVUZ1bmN0aW9uLmgiCisjaW5jbHVkZSA8d3RmL1Jl
Zi5oPgorI2luY2x1ZGUgPHd0Zi9SZWZDb3VudGVkLmg+CisjaW5jbHVkZSA8d3RmL3RleHQvV1RG
U3RyaW5nLmg+CisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworY2xhc3MgV2ViTWV0YWxGdW5jdGlv
biA6IHB1YmxpYyBSZWZDb3VudGVkPFdlYk1ldGFsRnVuY3Rpb24+IHsKK3B1YmxpYzoKKyAgICBz
dGF0aWMgUmVmPFdlYk1ldGFsRnVuY3Rpb24+IGNyZWF0ZShHUFVGdW5jdGlvbiYmKTsKKworICAg
IFN0cmluZyBuYW1lKCkgY29uc3QgeyByZXR1cm4gbV9mdW5jdGlvbi5uYW1lKCk7IH0KKyAgICBj
b25zdCBHUFVGdW5jdGlvbiYgZnVuY3Rpb24oKSBjb25zdCB7IHJldHVybiBtX2Z1bmN0aW9uOyB9
CisKK3ByaXZhdGU6CisgICAgZXhwbGljaXQgV2ViTWV0YWxGdW5jdGlvbihHUFVGdW5jdGlvbiYm
KTsKKworICAgIEdQVUZ1bmN0aW9uIG1fZnVuY3Rpb247Cit9OworICAgIAorfSAvLyBuYW1lc3Bh
Y2UgV2ViQ29yZQorCisjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2Fu
dmFzL1dlYk1ldGFsRnVuY3Rpb24uaWRsIGIvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2Vi
TWV0YWxGdW5jdGlvbi5pZGwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2JjYTU4OTgwMzExODg1ZmU2MGIzNGJkMjkw
Zjk2ZjEyNWZkMzhjMQotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2Fu
dmFzL1dlYk1ldGFsRnVuY3Rpb24uaWRsCkBAIC0wLDAgKzEsMzQgQEAKKy8qCisgKiBDb3B5cmln
aHQgKEMpIDIwMTcgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlz
dHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0
aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZv
bGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9m
IHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGlj
ZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4K
KyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUg
YWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFu
ZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFu
ZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoK
KyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBgYEFTIElTJycgQU5E
IEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5P
VCBMSU1JVEVEIFRPLCBUSEUKKyAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJ
VFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1F
RC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IKKyAqIENPTlRSSUJVVE9SUyBCRSBM
SUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAorICog
RVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBM
SU1JVEVEIFRPLAorICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNF
UzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCisgKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJV
UFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCisgKiBPRiBMSUFCSUxJVFks
IFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNM
VURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0Yg
VEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NT
SUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCitbCisgICAgQ29uZGl0aW9uYWw9V0VCTUVU
QUwsCisgICAgRW5hYmxlZEF0UnVudGltZT1XZWJNZXRhbCwKKyAgICBJbXBsZW1lbnRhdGlvbkxh
Y2tzVlRhYmxlCitdIGludGVyZmFjZSBXZWJNZXRhbEZ1bmN0aW9uIHsKKworICAgIHJlYWRvbmx5
IGF0dHJpYnV0ZSBET01TdHJpbmcgbmFtZTsKKworfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2h0bWwvY2FudmFzL1dlYk1ldGFsTGlicmFyeS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1s
L2NhbnZhcy9XZWJNZXRhbExpYnJhcnkuY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmI3OTE1NmJlZTM4MDRmOGE4
MTRiYzhkNDBmNWE2ZGMxZTYyMTFjNjIKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9odG1sL2NhbnZhcy9XZWJNZXRhbExpYnJhcnkuY3BwCkBAIC0wLDAgKzEsNjEgQEAKKy8qCisg
KiBDb3B5cmlnaHQgKEMpIDIwMTcgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoK
KyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdp
dGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRo
YXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmli
dXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAq
ICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlz
Y2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJv
ZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25k
aXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVu
dGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0
aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBgYEFT
IElTJycgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElO
RywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKKyAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJD
SEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUg
RElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IKKyAqIENPTlRSSUJV
VE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVD
SUFMLAorICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywg
QlVUIE5PVCBMSU1JVEVEIFRPLAorICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBP
UiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCisgKiBQUk9GSVRTOyBPUiBCVVNJTkVT
UyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCisgKiBPRiBM
SUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQK
KyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdB
WSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9G
IFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVkZSAiY29uZmln
LmgiCisjaW5jbHVkZSAiV2ViTWV0YWxMaWJyYXJ5LmgiCisKKyNpZiBFTkFCTEUoV0VCTUVUQUwp
CisKKyNpbmNsdWRlICJXZWJNZXRhbEZ1bmN0aW9uLmgiCisKK25hbWVzcGFjZSBXZWJDb3JlIHsK
KworUmVmPFdlYk1ldGFsTGlicmFyeT4gV2ViTWV0YWxMaWJyYXJ5OjpjcmVhdGUoR1BVTGlicmFy
eSYmIGxpYnJhcnksIGNvbnN0IFN0cmluZyYgc291cmNlQ29kZSkKK3sKKyAgICByZXR1cm4gYWRv
cHRSZWYoKm5ldyBXZWJNZXRhbExpYnJhcnkoV1RGTW92ZShsaWJyYXJ5KSwgc291cmNlQ29kZSkp
OworfQorCitXZWJNZXRhbExpYnJhcnk6OldlYk1ldGFsTGlicmFyeShHUFVMaWJyYXJ5JiYgbGli
cmFyeSwgY29uc3QgU3RyaW5nJiBzb3VyY2VDb2RlKQorICAgIDogbV9zb3VyY2VDb2RlIHsgc291
cmNlQ29kZSB9CisgICAgLCBtX2xpYnJhcnkgeyBXVEZNb3ZlKGxpYnJhcnkpIH0KK3sKK30KKwor
VmVjdG9yPFN0cmluZz4gV2ViTWV0YWxMaWJyYXJ5OjpmdW5jdGlvbk5hbWVzKCkgY29uc3QKK3sK
KyAgICByZXR1cm4gbV9saWJyYXJ5LmZ1bmN0aW9uTmFtZXMoKTsKK30KKworUmVmUHRyPFdlYk1l
dGFsRnVuY3Rpb24+IFdlYk1ldGFsTGlicmFyeTo6ZnVuY3Rpb25XaXRoTmFtZShjb25zdCBTdHJp
bmcmIG5hbWUpIGNvbnN0Cit7CisgICAgR1BVRnVuY3Rpb24gZnVuY3Rpb24geyBtX2xpYnJhcnks
IG5hbWUgfTsKKyAgICBpZiAoIWZ1bmN0aW9uKQorICAgICAgICByZXR1cm4gbnVsbHB0cjsKKyAg
ICByZXR1cm4gV2ViTWV0YWxGdW5jdGlvbjo6Y3JlYXRlKFdURk1vdmUoZnVuY3Rpb24pKTsKK30K
KworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorCisjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2h0bWwvY2FudmFzL1dlYk1ldGFsTGlicmFyeS5oIGIvU291cmNlL1dlYkNvcmUvaHRt
bC9jYW52YXMvV2ViTWV0YWxMaWJyYXJ5LmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZThlMTFkOWVmMDk2Zjk2Y2E3
OWJmNGY4YzE5YjhmYTk3Y2I2MjJhOAotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L2h0bWwvY2FudmFzL1dlYk1ldGFsTGlicmFyeS5oCkBAIC0wLDAgKzEsNjAgQEAKKy8qCisgKiBD
b3B5cmlnaHQgKEMpIDIwMTcgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAq
IFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGgg
b3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQg
dGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRp
b25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAg
IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xh
aW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVj
ZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRp
b25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0
aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9u
LgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBgYEFTIElT
JycgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywg
QlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKKyAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFO
VEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElT
Q0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IKKyAqIENPTlRSSUJVVE9S
UyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFM
LAorICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVU
IE5PVCBMSU1JVEVEIFRPLAorICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBT
RVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCisgKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJ
TlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCisgKiBPRiBMSUFC
SUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAq
IChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBP
VVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRI
RSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjcHJhZ21hIG9uY2UKKworI2lm
IEVOQUJMRShXRUJNRVRBTCkKKworI2luY2x1ZGUgIkdQVUxpYnJhcnkuaCIKKyNpbmNsdWRlIDx3
dGYvUmVmLmg+CisjaW5jbHVkZSA8d3RmL1JlZkNvdW50ZWQuaD4KKworbmFtZXNwYWNlIFdlYkNv
cmUgeworCitjbGFzcyBXZWJNZXRhbEZ1bmN0aW9uOworCitjbGFzcyBXZWJNZXRhbExpYnJhcnkg
OiBwdWJsaWMgUmVmQ291bnRlZDxXZWJNZXRhbExpYnJhcnk+IHsKK3B1YmxpYzoKKyAgICBzdGF0
aWMgUmVmPFdlYk1ldGFsTGlicmFyeT4gY3JlYXRlKEdQVUxpYnJhcnkmJiwgY29uc3QgU3RyaW5n
JiBzb3VyY2VDb2RlKTsKKworICAgIGNvbnN0IFN0cmluZyYgc291cmNlQ29kZSgpIGNvbnN0IHsg
cmV0dXJuIG1fc291cmNlQ29kZTsgfQorCisgICAgU3RyaW5nIGxhYmVsKCkgY29uc3QgeyByZXR1
cm4gbV9saWJyYXJ5LmxhYmVsKCk7IH0KKyAgICB2b2lkIHNldExhYmVsKGNvbnN0IFN0cmluZyYg
bGFiZWwpIHsgbV9saWJyYXJ5LnNldExhYmVsKGxhYmVsKTsgfQorCisgICAgVmVjdG9yPFN0cmlu
Zz4gZnVuY3Rpb25OYW1lcygpIGNvbnN0OworCisgICAgUmVmUHRyPFdlYk1ldGFsRnVuY3Rpb24+
IGZ1bmN0aW9uV2l0aE5hbWUoY29uc3QgU3RyaW5nJikgY29uc3Q7CisKK3ByaXZhdGU6CisgICAg
V2ViTWV0YWxMaWJyYXJ5KEdQVUxpYnJhcnkmJiwgY29uc3QgU3RyaW5nJiBzb3VyY2VDb2RlKTsK
KworICAgIFN0cmluZyBtX3NvdXJjZUNvZGU7CisgICAgR1BVTGlicmFyeSBtX2xpYnJhcnk7Cit9
OworCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKKyNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViTWV0YWxMaWJyYXJ5LmlkbCBiL1NvdXJjZS9XZWJDb3Jl
L2h0bWwvY2FudmFzL1dlYk1ldGFsTGlicmFyeS5pZGwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjFkMzAyYmVmZDQz
ZjFmODA0YjEwMzEyMmVkY2M4MjY1YTg3MmU4NAotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2h0bWwvY2FudmFzL1dlYk1ldGFsTGlicmFyeS5pZGwKQEAgLTAsMCArMSwzOCBAQAor
LyoKKyAqIENvcHlyaWdodCAoQykgMjAxNyBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQu
CisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jt
cywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlk
ZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRp
c3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdo
dAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2lu
ZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3Qg
cmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9m
IGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRv
Y3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0
cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMu
IGBgQVMgSVMnJyBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5D
TFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQorICogSU1QTElFRCBXQVJSQU5USUVTIE9G
IE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NF
IEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUgorICogQ09O
VFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUws
IFNQRUNJQUwsCisgKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVE
SU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdP
T0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKKyAqIFBST0ZJVFM7IE9SIEJV
U0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKKyAq
IE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1Ig
VE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBB
TlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklT
RUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKK1sKKyAgICBDb25k
aXRpb25hbD1XRUJNRVRBTCwKKyAgICBFbmFibGVkQXRSdW50aW1lPVdlYk1ldGFsLAorICAgIElt
cGxlbWVudGF0aW9uTGFja3NWVGFibGUKK10gaW50ZXJmYWNlIFdlYk1ldGFsTGlicmFyeSB7CisK
KyAgICByZWFkb25seSBhdHRyaWJ1dGUgRE9NU3RyaW5nIHNvdXJjZUNvZGU7CisgICAgYXR0cmli
dXRlIERPTVN0cmluZyBsYWJlbDsKKyAgICByZWFkb25seSBhdHRyaWJ1dGUgc2VxdWVuY2U8RE9N
U3RyaW5nPiBmdW5jdGlvbk5hbWVzOworCisgICAgV2ViTWV0YWxGdW5jdGlvbj8gZnVuY3Rpb25X
aXRoTmFtZShET01TdHJpbmcgbmFtZSk7CisKK307CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9odG1sL2NhbnZhcy9XZWJNZXRhbFJlbmRlckNvbW1hbmRFbmNvZGVyLmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL2h0bWwvY2FudmFzL1dlYk1ldGFsUmVuZGVyQ29tbWFuZEVuY29kZXIuY3BwCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLmU4ZTYxOGM2MjFlNGNjYjdkODM5OTJlMGU3ODM2ZjRkOTI2M2YxMTUKLS0tIC9kZXYv
bnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJNZXRhbFJlbmRlckNvbW1h
bmRFbmNvZGVyLmNwcApAQCAtMCwwICsxLDg1IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE3
IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBh
bmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1v
ZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29u
ZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29k
ZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlz
dCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRp
c3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHly
aWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxv
d2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIg
bWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNP
RlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gYGBBUyBJUycnIEFORCBBTlkKKyAqIEVY
UFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBU
TywgVEhFCisgKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRO
RVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBF
VkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SCisgKiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBB
TlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKKyAqIEVYRU1QTEFSWSwg
T1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywK
KyAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0Yg
VVNFLCBEQVRBLCBPUgorICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dF
VkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQorICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElO
IENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJ
R0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAq
IE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0Yg
U1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorI2luY2x1ZGUgIldlYk1l
dGFsUmVuZGVyQ29tbWFuZEVuY29kZXIuaCIKKworI2lmIEVOQUJMRShXRUJNRVRBTCkKKworI2lu
Y2x1ZGUgIkdQVUNvbW1hbmRCdWZmZXIuaCIKKyNpbmNsdWRlICJHUFVSZW5kZXJQYXNzRGVzY3Jp
cHRvci5oIgorI2luY2x1ZGUgIldlYk1ldGFsQnVmZmVyLmgiCisjaW5jbHVkZSAiV2ViTWV0YWxD
b21tYW5kQnVmZmVyLmgiCisjaW5jbHVkZSAiV2ViTWV0YWxEZXB0aFN0ZW5jaWxTdGF0ZS5oIgor
I2luY2x1ZGUgIldlYk1ldGFsUmVuZGVyUGFzc0Rlc2NyaXB0b3IuaCIKKyNpbmNsdWRlICJXZWJN
ZXRhbFJlbmRlclBpcGVsaW5lU3RhdGUuaCIKKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitSZWY8
V2ViTWV0YWxSZW5kZXJDb21tYW5kRW5jb2Rlcj4gV2ViTWV0YWxSZW5kZXJDb21tYW5kRW5jb2Rl
cjo6Y3JlYXRlKEdQVVJlbmRlckNvbW1hbmRFbmNvZGVyJiYgZW5jb2RlcikKK3sKKyAgICByZXR1
cm4gYWRvcHRSZWYoKm5ldyBXZWJNZXRhbFJlbmRlckNvbW1hbmRFbmNvZGVyKFdURk1vdmUoZW5j
b2RlcikpKTsKK30KKworV2ViTWV0YWxSZW5kZXJDb21tYW5kRW5jb2Rlcjo6V2ViTWV0YWxSZW5k
ZXJDb21tYW5kRW5jb2RlcihHUFVSZW5kZXJDb21tYW5kRW5jb2RlciYmIGVuY29kZXIpCisgICAg
OiBtX2VuY29kZXIgeyBXVEZNb3ZlKGVuY29kZXIpIH0KK3sKK30KKworV2ViTWV0YWxSZW5kZXJD
b21tYW5kRW5jb2Rlcjo6fldlYk1ldGFsUmVuZGVyQ29tbWFuZEVuY29kZXIoKSA9IGRlZmF1bHQ7
CisKK3ZvaWQgV2ViTWV0YWxSZW5kZXJDb21tYW5kRW5jb2Rlcjo6c2V0UmVuZGVyUGlwZWxpbmVT
dGF0ZShXZWJNZXRhbFJlbmRlclBpcGVsaW5lU3RhdGUmIHBpcGVsaW5lU3RhdGUpCit7CisgICAg
bV9lbmNvZGVyLnNldFJlbmRlclBpcGVsaW5lU3RhdGUocGlwZWxpbmVTdGF0ZS5zdGF0ZSgpKTsK
K30KKwordm9pZCBXZWJNZXRhbFJlbmRlckNvbW1hbmRFbmNvZGVyOjpzZXREZXB0aFN0ZW5jaWxT
dGF0ZShXZWJNZXRhbERlcHRoU3RlbmNpbFN0YXRlJiBkZXB0aFN0ZW5jaWxTdGF0ZSkKK3sKKyAg
ICBtX2VuY29kZXIuc2V0RGVwdGhTdGVuY2lsU3RhdGUoZGVwdGhTdGVuY2lsU3RhdGUuc3RhdGUo
KSk7Cit9CisKK3ZvaWQgV2ViTWV0YWxSZW5kZXJDb21tYW5kRW5jb2Rlcjo6c2V0VmVydGV4QnVm
ZmVyKFdlYk1ldGFsQnVmZmVyJiBidWZmZXIsIHVuc2lnbmVkIG9mZnNldCwgdW5zaWduZWQgaW5k
ZXgpCit7CisgICAgbV9lbmNvZGVyLnNldFZlcnRleEJ1ZmZlcihidWZmZXIuYnVmZmVyKCksIG9m
ZnNldCwgaW5kZXgpOworfQorCit2b2lkIFdlYk1ldGFsUmVuZGVyQ29tbWFuZEVuY29kZXI6OnNl
dEZyYWdtZW50QnVmZmVyKFdlYk1ldGFsQnVmZmVyJiBidWZmZXIsIHVuc2lnbmVkIG9mZnNldCwg
dW5zaWduZWQgaW5kZXgpCit7CisgICAgbV9lbmNvZGVyLnNldEZyYWdtZW50QnVmZmVyKGJ1ZmZl
ci5idWZmZXIoKSwgb2Zmc2V0LCBpbmRleCk7Cit9CisKK3ZvaWQgV2ViTWV0YWxSZW5kZXJDb21t
YW5kRW5jb2Rlcjo6ZHJhd1ByaW1pdGl2ZXModW5zaWduZWQgdHlwZSwgdW5zaWduZWQgc3RhcnQs
IHVuc2lnbmVkIGNvdW50KQoreworICAgIG1fZW5jb2Rlci5kcmF3UHJpbWl0aXZlcyh0eXBlLCBz
dGFydCwgY291bnQpOworfQorCit2b2lkIFdlYk1ldGFsUmVuZGVyQ29tbWFuZEVuY29kZXI6OmVu
ZEVuY29kaW5nKCkKK3sKKyAgICByZXR1cm4gbV9lbmNvZGVyLmVuZEVuY29kaW5nKCk7Cit9CisK
K30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKworI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9odG1sL2NhbnZhcy9XZWJNZXRhbFJlbmRlckNvbW1hbmRFbmNvZGVyLmggYi9Tb3VyY2Uv
V2ViQ29yZS9odG1sL2NhbnZhcy9XZWJNZXRhbFJlbmRlckNvbW1hbmRFbmNvZGVyLmgKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uOWRlZDdhYmU0NTczMjEzZWI5NTMzZTY5ZjQyYjBiOGQ5ZTc1MTg2MAotLS0gL2Rldi9u
dWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYk1ldGFsUmVuZGVyQ29tbWFu
ZEVuY29kZXIuaApAQCAtMCwwICsxLDYyIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE3IEFw
cGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQg
dXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlm
aWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0
aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBt
dXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3Ry
aWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdo
dAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2lu
ZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0
ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRX
QVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gYGBBUyBJUycnIEFORCBBTlkKKyAqIEVYUFJF
U1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywg
VEhFCisgKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNT
IEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVO
VCBTSEFMTCBBUFBMRSBJTkMuIE9SCisgKiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkg
RElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKKyAqIEVYRU1QTEFSWSwgT1Ig
Q09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAq
IFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNF
LCBEQVRBLCBPUgorICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVS
IENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQorICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENP
TlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VO
Q0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9G
IFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VD
SCBEQU1BR0UuCisgKi8KKworI3ByYWdtYSBvbmNlCisKKyNpZiBFTkFCTEUoV0VCTUVUQUwpCisK
KyNpbmNsdWRlICJHUFVSZW5kZXJDb21tYW5kRW5jb2Rlci5oIgorI2luY2x1ZGUgPHd0Zi9SZWYu
aD4KKyNpbmNsdWRlIDx3dGYvUmVmQ291bnRlZC5oPgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisK
K2NsYXNzIFdlYk1ldGFsQnVmZmVyOworY2xhc3MgV2ViTWV0YWxEZXB0aFN0ZW5jaWxTdGF0ZTsK
K2NsYXNzIFdlYk1ldGFsUmVuZGVyUGlwZWxpbmVTdGF0ZTsKKworY2xhc3MgV2ViTWV0YWxSZW5k
ZXJDb21tYW5kRW5jb2RlciA6IHB1YmxpYyBSZWZDb3VudGVkPFdlYk1ldGFsUmVuZGVyQ29tbWFu
ZEVuY29kZXI+IHsKK3B1YmxpYzoKKyAgICB+V2ViTWV0YWxSZW5kZXJDb21tYW5kRW5jb2Rlcigp
OworICAgIHN0YXRpYyBSZWY8V2ViTWV0YWxSZW5kZXJDb21tYW5kRW5jb2Rlcj4gY3JlYXRlKEdQ
VVJlbmRlckNvbW1hbmRFbmNvZGVyJiYpOworCisgICAgdm9pZCBzZXRSZW5kZXJQaXBlbGluZVN0
YXRlKFdlYk1ldGFsUmVuZGVyUGlwZWxpbmVTdGF0ZSYpOworICAgIHZvaWQgc2V0RGVwdGhTdGVu
Y2lsU3RhdGUoV2ViTWV0YWxEZXB0aFN0ZW5jaWxTdGF0ZSYpOworICAgIHZvaWQgc2V0VmVydGV4
QnVmZmVyKFdlYk1ldGFsQnVmZmVyJiwgdW5zaWduZWQgb2Zmc2V0LCB1bnNpZ25lZCBpbmRleCk7
CisgICAgdm9pZCBzZXRGcmFnbWVudEJ1ZmZlcihXZWJNZXRhbEJ1ZmZlciYsIHVuc2lnbmVkIG9m
ZnNldCwgdW5zaWduZWQgaW5kZXgpOworICAgIHZvaWQgZHJhd1ByaW1pdGl2ZXModW5zaWduZWQg
dHlwZSwgdW5zaWduZWQgc3RhcnQsIHVuc2lnbmVkIGNvdW50KTsKKyAgICB2b2lkIGVuZEVuY29k
aW5nKCk7CisKKyAgICBHUFVSZW5kZXJDb21tYW5kRW5jb2RlciYgZW5jb2RlcigpIHsgcmV0dXJu
IG1fZW5jb2RlcjsgfQorCitwcml2YXRlOgorICAgIGV4cGxpY2l0IFdlYk1ldGFsUmVuZGVyQ29t
bWFuZEVuY29kZXIoR1BVUmVuZGVyQ29tbWFuZEVuY29kZXImJik7CisKKyAgICBHUFVSZW5kZXJD
b21tYW5kRW5jb2RlciBtX2VuY29kZXI7Cit9OworCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisK
KyNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViTWV0YWxS
ZW5kZXJDb21tYW5kRW5jb2Rlci5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJN
ZXRhbFJlbmRlckNvbW1hbmRFbmNvZGVyLmlkbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5iZmIzYjk4ODkwNzhiM2Fl
YTg0NTM3NWQ2YmY2ZjU3OTBjNGE0NzNmCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNv
cmUvaHRtbC9jYW52YXMvV2ViTWV0YWxSZW5kZXJDb21tYW5kRW5jb2Rlci5pZGwKQEAgLTAsMCAr
MSw0MCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxNyBBcHBsZSBJbmMuIEFsbCByaWdodHMg
cmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJp
bmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0
ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6Cisg
KiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3Zl
IGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhl
IGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBm
b3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhp
cyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUK
KyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRo
IHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBB
UFBMRSBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFO
VElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQorICogSU1QTElFRCBXQVJS
QU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisg
KiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBP
UgorICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElO
Q0lERU5UQUwsIFNQRUNJQUwsCisgKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdF
UyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBQUk9DVVJFTUVOVCBPRiBTVUJT
VElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKKyAqIFBST0ZJ
VFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBU
SEVPUlkKKyAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJ
TElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJ
U0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVO
IElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKK1sK
KyAgICBDb25kaXRpb25hbD1XRUJNRVRBTCwKKyAgICBFbmFibGVkQXRSdW50aW1lPVdlYk1ldGFs
LAorICAgIEltcGxlbWVudGF0aW9uTGFja3NWVGFibGUKK10gaW50ZXJmYWNlIFdlYk1ldGFsUmVu
ZGVyQ29tbWFuZEVuY29kZXIgeworCisgICAgdm9pZCBzZXRSZW5kZXJQaXBlbGluZVN0YXRlKFdl
Yk1ldGFsUmVuZGVyUGlwZWxpbmVTdGF0ZSBwaXBlbGluZVN0YXRlKTsKKyAgICB2b2lkIHNldERl
cHRoU3RlbmNpbFN0YXRlKFdlYk1ldGFsRGVwdGhTdGVuY2lsU3RhdGUgZGVwdGhTdGVuY2lsU3Rh
dGUpOworICAgIHZvaWQgc2V0VmVydGV4QnVmZmVyKFdlYk1ldGFsQnVmZmVyIGJ1ZmZlciwgdW5z
aWduZWQgbG9uZyBvZmZzZXQsIHVuc2lnbmVkIGxvbmcgaW5kZXgpOworICAgIHZvaWQgc2V0RnJh
Z21lbnRCdWZmZXIoV2ViTWV0YWxCdWZmZXIgYnVmZmVyLCB1bnNpZ25lZCBsb25nIG9mZnNldCwg
dW5zaWduZWQgbG9uZyBpbmRleCk7CisgICAgdm9pZCBkcmF3UHJpbWl0aXZlcyh1bnNpZ25lZCBs
b25nIHR5cGUsIHVuc2lnbmVkIGxvbmcgc3RhcnQsIHVuc2lnbmVkIGxvbmcgY291bnQpOworCisg
ICAgdm9pZCBlbmRFbmNvZGluZygpOworCit9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
aHRtbC9jYW52YXMvV2ViTWV0YWxSZW5kZXJQYXNzQXR0YWNobWVudERlc2NyaXB0b3IuY3BwIGIv
U291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViTWV0YWxSZW5kZXJQYXNzQXR0YWNobWVudERl
c2NyaXB0b3IuY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjBmYzRiYWFhNjBmYWM3OWQ1YmFiYzRhYzJmOTg2M2I3
Njk4YWRmM2IKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9X
ZWJNZXRhbFJlbmRlclBhc3NBdHRhY2htZW50RGVzY3JpcHRvci5jcHAKQEAgLTAsMCArMSw4MSBA
QAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxNyBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2
ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBm
b3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJv
dmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBS
ZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHly
aWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxv
d2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11
c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAg
IGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBk
aXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJ
TkMuIGBgQVMgSVMnJyBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywg
SU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQorICogSU1QTElFRCBXQVJSQU5USUVT
IE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQ
T1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUgorICog
Q09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5U
QUwsIFNQRUNJQUwsCisgKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5D
TFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRF
IEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKKyAqIFBST0ZJVFM7IE9S
IEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkK
KyAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwg
T1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJ
TiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFE
VklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpbmNsdWRl
ICJjb25maWcuaCIKKyNpbmNsdWRlICJXZWJNZXRhbFJlbmRlclBhc3NBdHRhY2htZW50RGVzY3Jp
cHRvci5oIgorCisjaWYgRU5BQkxFKFdFQk1FVEFMKQorCisjaW5jbHVkZSAiR1BVUmVuZGVyUGFz
c0F0dGFjaG1lbnREZXNjcmlwdG9yLmgiCisjaW5jbHVkZSAiR1BVVGV4dHVyZS5oIgorI2luY2x1
ZGUgIldlYk1ldGFsVGV4dHVyZS5oIgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK1dlYk1ldGFs
UmVuZGVyUGFzc0F0dGFjaG1lbnREZXNjcmlwdG9yOjpXZWJNZXRhbFJlbmRlclBhc3NBdHRhY2ht
ZW50RGVzY3JpcHRvcigpCit7Cit9CisKK1dlYk1ldGFsUmVuZGVyUGFzc0F0dGFjaG1lbnREZXNj
cmlwdG9yOjp+V2ViTWV0YWxSZW5kZXJQYXNzQXR0YWNobWVudERlc2NyaXB0b3IoKSA9IGRlZmF1
bHQ7CisKK3Vuc2lnbmVkIFdlYk1ldGFsUmVuZGVyUGFzc0F0dGFjaG1lbnREZXNjcmlwdG9yOjps
b2FkQWN0aW9uKCkgY29uc3QKK3sKKyAgICByZXR1cm4gZGVzY3JpcHRvcigpLmxvYWRBY3Rpb24o
KTsKK30KKwordm9pZCBXZWJNZXRhbFJlbmRlclBhc3NBdHRhY2htZW50RGVzY3JpcHRvcjo6c2V0
TG9hZEFjdGlvbih1bnNpZ25lZCBuZXdMb2FkQWN0aW9uKQoreworICAgIGRlc2NyaXB0b3IoKS5z
ZXRMb2FkQWN0aW9uKG5ld0xvYWRBY3Rpb24pOworfQorCit1bnNpZ25lZCBXZWJNZXRhbFJlbmRl
clBhc3NBdHRhY2htZW50RGVzY3JpcHRvcjo6c3RvcmVBY3Rpb24oKSBjb25zdAoreworICAgIHJl
dHVybiBkZXNjcmlwdG9yKCkuc3RvcmVBY3Rpb24oKTsKK30KKwordm9pZCBXZWJNZXRhbFJlbmRl
clBhc3NBdHRhY2htZW50RGVzY3JpcHRvcjo6c2V0U3RvcmVBY3Rpb24odW5zaWduZWQgbmV3U3Rv
cmVBY3Rpb24pCit7CisgICAgZGVzY3JpcHRvcigpLnNldFN0b3JlQWN0aW9uKG5ld1N0b3JlQWN0
aW9uKTsKK30KKworV2ViTWV0YWxUZXh0dXJlKiBXZWJNZXRhbFJlbmRlclBhc3NBdHRhY2htZW50
RGVzY3JpcHRvcjo6dGV4dHVyZSgpIGNvbnN0Cit7CisgICAgcmV0dXJuIG1fdGV4dHVyZS5nZXQo
KTsKK30KKwordm9pZCBXZWJNZXRhbFJlbmRlclBhc3NBdHRhY2htZW50RGVzY3JpcHRvcjo6c2V0
VGV4dHVyZShSZWZQdHI8V2ViTWV0YWxUZXh0dXJlPiYmIG5ld1RleHR1cmUpCit7CisgICAgLy8g
RklYTUU6IFdoeSBjYW4ndCB3ZSBzZXQgdGhpcyB0byBudWxsPworICAgIGlmICghbmV3VGV4dHVy
ZSkKKyAgICAgICAgcmV0dXJuOworICAgIAorICAgIG1fdGV4dHVyZSA9IFdURk1vdmUobmV3VGV4
dHVyZSk7CisKKyAgICBkZXNjcmlwdG9yKCkuc2V0VGV4dHVyZShtX3RleHR1cmUtPnRleHR1cmUo
KSk7Cit9CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKworI2VuZGlmCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJNZXRhbFJlbmRlclBhc3NBdHRhY2htZW50RGVz
Y3JpcHRvci5oIGIvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViTWV0YWxSZW5kZXJQYXNz
QXR0YWNobWVudERlc2NyaXB0b3IuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yNmJjM2UwYzc1YTIyMTExNDZjNDNl
ZWFmY2NhZmJkN2UwOTgzMzFjCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvaHRt
bC9jYW52YXMvV2ViTWV0YWxSZW5kZXJQYXNzQXR0YWNobWVudERlc2NyaXB0b3IuaApAQCAtMCww
ICsxLDY0IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE3IEFwcGxlIEluYy4gQWxsIHJpZ2h0
cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQg
YmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1p
dHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoK
KyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJv
dmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5
IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0
aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRo
ZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdp
dGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZ
IEFQUExFIElOQy4gYGBBUyBJUycnIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJS
QU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisgKiBJTVBMSUVEIFdB
UlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIK
KyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMu
IE9SCisgKiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwg
SU5DSURFTlRBTCwgU1BFQ0lBTCwKKyAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1B
R0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFBST0NVUkVNRU5UIE9GIFNV
QlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgorICogUFJP
RklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5Z
IFRIRU9SWQorICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElB
QklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBB
UklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVW
RU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKwor
I3ByYWdtYSBvbmNlCisKKyNpZiBFTkFCTEUoV0VCTUVUQUwpCisKKyNpbmNsdWRlIDx3dGYvUmVm
Lmg+CisjaW5jbHVkZSA8d3RmL1JlZkNvdW50ZWQuaD4KKworbmFtZXNwYWNlIFdlYkNvcmUgewor
CitjbGFzcyBHUFVSZW5kZXJQYXNzQXR0YWNobWVudERlc2NyaXB0b3I7CitjbGFzcyBXZWJNZXRh
bFRleHR1cmU7CisKK2NsYXNzIFdlYk1ldGFsUmVuZGVyUGFzc0F0dGFjaG1lbnREZXNjcmlwdG9y
IDogcHVibGljIFJlZkNvdW50ZWQ8V2ViTWV0YWxSZW5kZXJQYXNzQXR0YWNobWVudERlc2NyaXB0
b3I+IHsKK3B1YmxpYzoKKyAgICB2aXJ0dWFsIH5XZWJNZXRhbFJlbmRlclBhc3NBdHRhY2htZW50
RGVzY3JpcHRvcigpOworCisgICAgdW5zaWduZWQgbG9hZEFjdGlvbigpIGNvbnN0OworICAgIHZv
aWQgc2V0TG9hZEFjdGlvbih1bnNpZ25lZCk7CisKKyAgICB1bnNpZ25lZCBzdG9yZUFjdGlvbigp
IGNvbnN0OworICAgIHZvaWQgc2V0U3RvcmVBY3Rpb24odW5zaWduZWQpOworCisgICAgV2ViTWV0
YWxUZXh0dXJlKiB0ZXh0dXJlKCkgY29uc3Q7CisgICAgdm9pZCBzZXRUZXh0dXJlKFJlZlB0cjxX
ZWJNZXRhbFRleHR1cmU+JiYpOworCisgICAgdmlydHVhbCBib29sIGlzQ29sb3JBdHRhY2htZW50
RGVzY3JpcHRvcigpIGNvbnN0ID0gMDsKKworcHJvdGVjdGVkOgorICAgIFdlYk1ldGFsUmVuZGVy
UGFzc0F0dGFjaG1lbnREZXNjcmlwdG9yKCk7CisKK3ByaXZhdGU6CisgICAgdmlydHVhbCBjb25z
dCBHUFVSZW5kZXJQYXNzQXR0YWNobWVudERlc2NyaXB0b3ImIGRlc2NyaXB0b3IoKSBjb25zdCA9
IDA7CisKKyAgICBSZWZQdHI8V2ViTWV0YWxUZXh0dXJlPiBtX3RleHR1cmU7Cit9OworCit9IC8v
IG5hbWVzcGFjZSBXZWJDb3JlCisKKyNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
aHRtbC9jYW52YXMvV2ViTWV0YWxSZW5kZXJQYXNzQXR0YWNobWVudERlc2NyaXB0b3IuaWRsIGIv
U291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViTWV0YWxSZW5kZXJQYXNzQXR0YWNobWVudERl
c2NyaXB0b3IuaWRsCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmE5MTQwODVlOWEzNzM2ZTE2YTBlYzY5N2NiY2RjMWRl
YmRhMmQ3YjAKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9X
ZWJNZXRhbFJlbmRlclBhc3NBdHRhY2htZW50RGVzY3JpcHRvci5pZGwKQEAgLTAsMCArMSwzOCBA
QAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxNyBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2
ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBm
b3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJv
dmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBS
ZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHly
aWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxv
d2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11
c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAg
IGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBk
aXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJ
TkMuIGBgQVMgSVMnJyBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywg
SU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQorICogSU1QTElFRCBXQVJSQU5USUVT
IE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQ
T1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUgorICog
Q09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5U
QUwsIFNQRUNJQUwsCisgKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5D
TFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRF
IEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKKyAqIFBST0ZJVFM7IE9S
IEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkK
KyAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwg
T1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJ
TiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFE
VklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKK1sKKyAgICBD
b25kaXRpb25hbD1XRUJNRVRBTCwKKyAgICBFbmFibGVkQXRSdW50aW1lPVdlYk1ldGFsLAorICAg
IEN1c3RvbVRvSlNPYmplY3QKK10KK2ludGVyZmFjZSBXZWJNZXRhbFJlbmRlclBhc3NBdHRhY2ht
ZW50RGVzY3JpcHRvciB7CisKKyAgICBhdHRyaWJ1dGUgV2ViTWV0YWxUZXh0dXJlPyB0ZXh0dXJl
OworCisgICAgYXR0cmlidXRlIHVuc2lnbmVkIGxvbmcgbG9hZEFjdGlvbjsgLy8gc2hvdWxkIGJl
IFdlYk1ldGFsTG9hZEFjdGlvbgorICAgIGF0dHJpYnV0ZSB1bnNpZ25lZCBsb25nIHN0b3JlQWN0
aW9uOyAvLyBzaG91bGQgYmUgV2ViTWV0YWxTdG9yZUFjdGlvbgorCit9OwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViTWV0YWxSZW5kZXJQYXNzQ29sb3JBdHRhY2ht
ZW50RGVzY3JpcHRvci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJNZXRhbFJl
bmRlclBhc3NDb2xvckF0dGFjaG1lbnREZXNjcmlwdG9yLmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42NjI4ZmY5
Njc0Yjk2NmE1YWRhNDhhNTMzZWZiNGQ1NjUyYjMxNjlhCi0tLSAvZGV2L251bGwKKysrIGIvU291
cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViTWV0YWxSZW5kZXJQYXNzQ29sb3JBdHRhY2htZW50
RGVzY3JpcHRvci5jcHAKQEAgLTAsMCArMSw2NiBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAx
NyBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24g
YW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBt
b2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNv
bmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNv
ZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxp
c3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVk
aXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5
cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xs
b3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVy
IG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBT
T0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCisgKiBF
WFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQg
VE8sIFRIRQorICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklU
TkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8g
RVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUgorICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1Ig
QU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCisgKiBFWEVNUExBUlks
IE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8s
CisgKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9G
IFVTRSwgREFUQSwgT1IKKyAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9X
RVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKKyAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJ
TiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdM
SUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisg
KiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9G
IFNVQ0ggREFNQUdFLgorICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJXZWJN
ZXRhbFJlbmRlclBhc3NDb2xvckF0dGFjaG1lbnREZXNjcmlwdG9yLmgiCisKKyNpZiBFTkFCTEUo
V0VCTUVUQUwpCisKKyNpbmNsdWRlICJHUFVUZXh0dXJlLmgiCisjaW5jbHVkZSAiV2ViTWV0YWxU
ZXh0dXJlLmgiCisjaW5jbHVkZSA8d3RmL1ZlY3Rvci5oPgorCituYW1lc3BhY2UgV2ViQ29yZSB7
CisKK1JlZjxXZWJNZXRhbFJlbmRlclBhc3NDb2xvckF0dGFjaG1lbnREZXNjcmlwdG9yPiBXZWJN
ZXRhbFJlbmRlclBhc3NDb2xvckF0dGFjaG1lbnREZXNjcmlwdG9yOjpjcmVhdGUoR1BVUmVuZGVy
UGFzc0NvbG9yQXR0YWNobWVudERlc2NyaXB0b3ImJiBkZXNjcmlwdG9yKQoreworICAgIHJldHVy
biBhZG9wdFJlZigqbmV3IFdlYk1ldGFsUmVuZGVyUGFzc0NvbG9yQXR0YWNobWVudERlc2NyaXB0
b3IoV1RGTW92ZShkZXNjcmlwdG9yKSkpOworfQorCitXZWJNZXRhbFJlbmRlclBhc3NDb2xvckF0
dGFjaG1lbnREZXNjcmlwdG9yOjpXZWJNZXRhbFJlbmRlclBhc3NDb2xvckF0dGFjaG1lbnREZXNj
cmlwdG9yKEdQVVJlbmRlclBhc3NDb2xvckF0dGFjaG1lbnREZXNjcmlwdG9yJiYgZGVzY3JpcHRv
cikKKyAgICA6IG1fZGVzY3JpcHRvciB7IFdURk1vdmUoZGVzY3JpcHRvcikgfQoreworfQorCitX
ZWJNZXRhbFJlbmRlclBhc3NDb2xvckF0dGFjaG1lbnREZXNjcmlwdG9yOjp+V2ViTWV0YWxSZW5k
ZXJQYXNzQ29sb3JBdHRhY2htZW50RGVzY3JpcHRvcigpID0gZGVmYXVsdDsKKworY29uc3QgR1BV
UmVuZGVyUGFzc0F0dGFjaG1lbnREZXNjcmlwdG9yJiBXZWJNZXRhbFJlbmRlclBhc3NDb2xvckF0
dGFjaG1lbnREZXNjcmlwdG9yOjpkZXNjcmlwdG9yKCkgY29uc3QKK3sKKyAgICByZXR1cm4gbV9k
ZXNjcmlwdG9yOworfQorCitWZWN0b3I8ZmxvYXQ+IFdlYk1ldGFsUmVuZGVyUGFzc0NvbG9yQXR0
YWNobWVudERlc2NyaXB0b3I6OmNsZWFyQ29sb3IoKSBjb25zdAoreworICAgIHJldHVybiBtX2Rl
c2NyaXB0b3IuY2xlYXJDb2xvcigpOworfQorCit2b2lkIFdlYk1ldGFsUmVuZGVyUGFzc0NvbG9y
QXR0YWNobWVudERlc2NyaXB0b3I6OnNldENsZWFyQ29sb3IoY29uc3QgVmVjdG9yPGZsb2F0PiYg
bmV3Q2xlYXJDb2xvcikKK3sKKyAgICBtX2Rlc2NyaXB0b3Iuc2V0Q2xlYXJDb2xvcihuZXdDbGVh
ckNvbG9yKTsKK30KKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorCisjZW5kaWYKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYk1ldGFsUmVuZGVyUGFzc0NvbG9yQXR0
YWNobWVudERlc2NyaXB0b3IuaCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYk1ldGFs
UmVuZGVyUGFzc0NvbG9yQXR0YWNobWVudERlc2NyaXB0b3IuaApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5kMTAxZTdi
ZTUwMTA4NDU3ZDhlNTZkNjcyNGNkYTYzZDFkZmQzMDQ1Ci0tLSAvZGV2L251bGwKKysrIGIvU291
cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViTWV0YWxSZW5kZXJQYXNzQ29sb3JBdHRhY2htZW50
RGVzY3JpcHRvci5oCkBAIC0wLDAgKzEsNTQgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTcg
QXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFu
ZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9k
aWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25k
aXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2Rl
IG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlz
dHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJp
Z2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93
aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBt
YXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09G
VFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBgYEFTIElTJycgQU5EIEFOWQorICogRVhQ
UkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRP
LCBUSEUKKyAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5F
U1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVW
RU5UIFNIQUxMIEFQUExFIElOQy4gT1IKKyAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFO
WSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAorICogRVhFTVBMQVJZLCBP
UiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAor
ICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBV
U0UsIERBVEEsIE9SCisgKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VW
RVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCisgKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4g
Q09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElH
RU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICog
T0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBT
VUNIIERBTUFHRS4KKyAqLworCisjcHJhZ21hIG9uY2UKKworI2lmIEVOQUJMRShXRUJNRVRBTCkK
KworI2luY2x1ZGUgIkdQVVJlbmRlclBhc3NDb2xvckF0dGFjaG1lbnREZXNjcmlwdG9yLmgiCisj
aW5jbHVkZSAiV2ViTWV0YWxSZW5kZXJQYXNzQXR0YWNobWVudERlc2NyaXB0b3IuaCIKKworbmFt
ZXNwYWNlIFdlYkNvcmUgeworCitjbGFzcyBXZWJNZXRhbFJlbmRlclBhc3NDb2xvckF0dGFjaG1l
bnREZXNjcmlwdG9yIGZpbmFsIDogcHVibGljIFdlYk1ldGFsUmVuZGVyUGFzc0F0dGFjaG1lbnRE
ZXNjcmlwdG9yIHsKK3B1YmxpYzoKKyAgICB2aXJ0dWFsIH5XZWJNZXRhbFJlbmRlclBhc3NDb2xv
ckF0dGFjaG1lbnREZXNjcmlwdG9yKCk7CisgICAgc3RhdGljIFJlZjxXZWJNZXRhbFJlbmRlclBh
c3NDb2xvckF0dGFjaG1lbnREZXNjcmlwdG9yPiBjcmVhdGUoR1BVUmVuZGVyUGFzc0NvbG9yQXR0
YWNobWVudERlc2NyaXB0b3ImJik7CisKKyAgICBWZWN0b3I8ZmxvYXQ+IGNsZWFyQ29sb3IoKSBj
b25zdDsKKyAgICB2b2lkIHNldENsZWFyQ29sb3IoY29uc3QgVmVjdG9yPGZsb2F0PiYpOworCitw
cml2YXRlOgorICAgIGV4cGxpY2l0IFdlYk1ldGFsUmVuZGVyUGFzc0NvbG9yQXR0YWNobWVudERl
c2NyaXB0b3IoR1BVUmVuZGVyUGFzc0NvbG9yQXR0YWNobWVudERlc2NyaXB0b3ImJik7CisKKyAg
ICBjb25zdCBHUFVSZW5kZXJQYXNzQXR0YWNobWVudERlc2NyaXB0b3ImIGRlc2NyaXB0b3IoKSBj
b25zdCBmaW5hbDsKKyAgICBib29sIGlzQ29sb3JBdHRhY2htZW50RGVzY3JpcHRvcigpIGNvbnN0
IGZpbmFsIHsgcmV0dXJuIHRydWU7IH0KKworICAgIEdQVVJlbmRlclBhc3NDb2xvckF0dGFjaG1l
bnREZXNjcmlwdG9yIG1fZGVzY3JpcHRvcjsKK307CisgICAgCit9IC8vIG5hbWVzcGFjZSBXZWJD
b3JlCisKKyNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2Vi
TWV0YWxSZW5kZXJQYXNzQ29sb3JBdHRhY2htZW50RGVzY3JpcHRvci5pZGwgYi9Tb3VyY2UvV2Vi
Q29yZS9odG1sL2NhbnZhcy9XZWJNZXRhbFJlbmRlclBhc3NDb2xvckF0dGFjaG1lbnREZXNjcmlw
dG9yLmlkbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi5lNzg0YTE0MGFjOGFmNDViNTRmY2Q3Y2NiMDA0ZWNmOWI3OTU1
ODQ1Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViTWV0
YWxSZW5kZXJQYXNzQ29sb3JBdHRhY2htZW50RGVzY3JpcHRvci5pZGwKQEAgLTAsMCArMSwzMyBA
QAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxNyBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2
ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBm
b3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJv
dmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBS
ZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHly
aWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxv
d2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11
c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAg
IGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBk
aXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJ
TkMuIGBgQVMgSVMnJyBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywg
SU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQorICogSU1QTElFRCBXQVJSQU5USUVT
IE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQ
T1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUgorICog
Q09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5U
QUwsIFNQRUNJQUwsCisgKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5D
TFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRF
IEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKKyAqIFBST0ZJVFM7IE9S
IEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkK
KyAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwg
T1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJ
TiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFE
VklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKK1sKKyAgICBD
b25kaXRpb25hbD1XRUJNRVRBTCwKKyAgICBFbmFibGVkQXRSdW50aW1lPVdlYk1ldGFsCitdIGlu
dGVyZmFjZSBXZWJNZXRhbFJlbmRlclBhc3NDb2xvckF0dGFjaG1lbnREZXNjcmlwdG9yIDogV2Vi
TWV0YWxSZW5kZXJQYXNzQXR0YWNobWVudERlc2NyaXB0b3IgeworCisgICAgYXR0cmlidXRlIHNl
cXVlbmNlPGZsb2F0PiBjbGVhckNvbG9yOworCit9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvaHRtbC9jYW52YXMvV2ViTWV0YWxSZW5kZXJQYXNzRGVwdGhBdHRhY2htZW50RGVzY3JpcHRv
ci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJNZXRhbFJlbmRlclBhc3NEZXB0
aEF0dGFjaG1lbnREZXNjcmlwdG9yLmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4wNWM1ZmIyMDRlNWFkYmUyNDZl
ODlkZDVhMjQ5MWIyODM5OTQ3YzBmCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUv
aHRtbC9jYW52YXMvV2ViTWV0YWxSZW5kZXJQYXNzRGVwdGhBdHRhY2htZW50RGVzY3JpcHRvci5j
cHAKQEAgLTAsMCArMSw2NCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxNyBBcHBsZSBJbmMu
IEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBz
b3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24s
IGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAq
IGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRh
aW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0
aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25z
IGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAg
IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xh
aW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBw
cm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQ
Uk9WSURFRCBCWSBBUFBMRSBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElN
UExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQorICog
SU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQ
QVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwg
QVBQTEUgSU5DLiBPUgorICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwg
SU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCisgKiBFWEVNUExBUlksIE9SIENPTlNFUVVF
TlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBQUk9DVVJF
TUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwg
T1IKKyAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQg
QU5EIE9OIEFOWSBUSEVPUlkKKyAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwg
U1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9U
SEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNP
RlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdF
LgorICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJXZWJNZXRhbFJlbmRlclBh
c3NEZXB0aEF0dGFjaG1lbnREZXNjcmlwdG9yLmgiCisKKyNpZiBFTkFCTEUoV0VCTUVUQUwpCisK
KyNpbmNsdWRlICJXZWJNZXRhbFRleHR1cmUuaCIKKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitS
ZWY8V2ViTWV0YWxSZW5kZXJQYXNzRGVwdGhBdHRhY2htZW50RGVzY3JpcHRvcj4gV2ViTWV0YWxS
ZW5kZXJQYXNzRGVwdGhBdHRhY2htZW50RGVzY3JpcHRvcjo6Y3JlYXRlKEdQVVJlbmRlclBhc3NE
ZXB0aEF0dGFjaG1lbnREZXNjcmlwdG9yJiYgZGVzY3JpcHRvcikKK3sKKyAgICByZXR1cm4gYWRv
cHRSZWYoKm5ldyBXZWJNZXRhbFJlbmRlclBhc3NEZXB0aEF0dGFjaG1lbnREZXNjcmlwdG9yKFdU
Rk1vdmUoZGVzY3JpcHRvcikpKTsKK30KKworV2ViTWV0YWxSZW5kZXJQYXNzRGVwdGhBdHRhY2ht
ZW50RGVzY3JpcHRvcjo6V2ViTWV0YWxSZW5kZXJQYXNzRGVwdGhBdHRhY2htZW50RGVzY3JpcHRv
cihHUFVSZW5kZXJQYXNzRGVwdGhBdHRhY2htZW50RGVzY3JpcHRvciYmIGRlc2NyaXB0b3IpCisg
ICAgOiBtX2Rlc2NyaXB0b3IgeyBXVEZNb3ZlKGRlc2NyaXB0b3IpIH0KK3sKK30KKworV2ViTWV0
YWxSZW5kZXJQYXNzRGVwdGhBdHRhY2htZW50RGVzY3JpcHRvcjo6fldlYk1ldGFsUmVuZGVyUGFz
c0RlcHRoQXR0YWNobWVudERlc2NyaXB0b3IoKSA9IGRlZmF1bHQ7CisKK2RvdWJsZSBXZWJNZXRh
bFJlbmRlclBhc3NEZXB0aEF0dGFjaG1lbnREZXNjcmlwdG9yOjpjbGVhckRlcHRoKCkgY29uc3QK
K3sKKyAgICByZXR1cm4gbV9kZXNjcmlwdG9yLmNsZWFyRGVwdGgoKTsKK30KKwordm9pZCBXZWJN
ZXRhbFJlbmRlclBhc3NEZXB0aEF0dGFjaG1lbnREZXNjcmlwdG9yOjpzZXRDbGVhckRlcHRoKGRv
dWJsZSBuZXdDbGVhckRlcHRoKQoreworICAgIG1fZGVzY3JpcHRvci5zZXRDbGVhckRlcHRoKG5l
d0NsZWFyRGVwdGgpOworfQorCitjb25zdCBHUFVSZW5kZXJQYXNzQXR0YWNobWVudERlc2NyaXB0
b3ImIFdlYk1ldGFsUmVuZGVyUGFzc0RlcHRoQXR0YWNobWVudERlc2NyaXB0b3I6OmRlc2NyaXB0
b3IoKSBjb25zdAoreworICAgIHJldHVybiBtX2Rlc2NyaXB0b3I7Cit9CisKK30gLy8gbmFtZXNw
YWNlIFdlYkNvcmUKKworI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL2Nh
bnZhcy9XZWJNZXRhbFJlbmRlclBhc3NEZXB0aEF0dGFjaG1lbnREZXNjcmlwdG9yLmggYi9Tb3Vy
Y2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJNZXRhbFJlbmRlclBhc3NEZXB0aEF0dGFjaG1lbnRE
ZXNjcmlwdG9yLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYmEwOTAyOTNlZTQwZjZjZDhlMTc5MzU0NjllNzg5NDAx
NTA5MjRlMAotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dl
Yk1ldGFsUmVuZGVyUGFzc0RlcHRoQXR0YWNobWVudERlc2NyaXB0b3IuaApAQCAtMCwwICsxLDU0
IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE3IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNl
cnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5
IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBw
cm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEu
IFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29w
eXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9s
bG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0g
bXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxp
c3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICog
ICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhl
IGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExF
IElOQy4gYGBBUyBJUycnIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVT
LCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisgKiBJTVBMSUVEIFdBUlJBTlRJ
RVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBV
UlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SCisg
KiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURF
TlRBTCwgU1BFQ0lBTCwKKyAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJ
TkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRV
VEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgorICogUFJPRklUUzsg
T1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9S
WQorICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZ
LCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5H
IElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYg
QURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI3ByYWdt
YSBvbmNlCisKKyNpZiBFTkFCTEUoV0VCTUVUQUwpCisKKyNpbmNsdWRlICJHUFVSZW5kZXJQYXNz
RGVwdGhBdHRhY2htZW50RGVzY3JpcHRvci5oIgorI2luY2x1ZGUgIldlYk1ldGFsUmVuZGVyUGFz
c0F0dGFjaG1lbnREZXNjcmlwdG9yLmgiCisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworY2xhc3Mg
V2ViTWV0YWxSZW5kZXJQYXNzRGVwdGhBdHRhY2htZW50RGVzY3JpcHRvciBmaW5hbCA6IHB1Ymxp
YyBXZWJNZXRhbFJlbmRlclBhc3NBdHRhY2htZW50RGVzY3JpcHRvciB7CitwdWJsaWM6CisgICAg
dmlydHVhbCB+V2ViTWV0YWxSZW5kZXJQYXNzRGVwdGhBdHRhY2htZW50RGVzY3JpcHRvcigpOwor
ICAgIHN0YXRpYyBSZWY8V2ViTWV0YWxSZW5kZXJQYXNzRGVwdGhBdHRhY2htZW50RGVzY3JpcHRv
cj4gY3JlYXRlKEdQVVJlbmRlclBhc3NEZXB0aEF0dGFjaG1lbnREZXNjcmlwdG9yJiYpOworCisg
ICAgZG91YmxlIGNsZWFyRGVwdGgoKSBjb25zdDsKKyAgICB2b2lkIHNldENsZWFyRGVwdGgoZG91
YmxlKTsKKworcHJpdmF0ZToKKyAgICBleHBsaWNpdCBXZWJNZXRhbFJlbmRlclBhc3NEZXB0aEF0
dGFjaG1lbnREZXNjcmlwdG9yKEdQVVJlbmRlclBhc3NEZXB0aEF0dGFjaG1lbnREZXNjcmlwdG9y
JiYpOworCisgICAgY29uc3QgR1BVUmVuZGVyUGFzc0F0dGFjaG1lbnREZXNjcmlwdG9yJiBkZXNj
cmlwdG9yKCkgY29uc3QgZmluYWw7CisgICAgYm9vbCBpc0NvbG9yQXR0YWNobWVudERlc2NyaXB0
b3IoKSBjb25zdCBmaW5hbCB7IHJldHVybiBmYWxzZTsgfQorCisgICAgR1BVUmVuZGVyUGFzc0Rl
cHRoQXR0YWNobWVudERlc2NyaXB0b3IgbV9kZXNjcmlwdG9yOworfTsKKyAgICAKK30gLy8gbmFt
ZXNwYWNlIFdlYkNvcmUKKworI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1s
L2NhbnZhcy9XZWJNZXRhbFJlbmRlclBhc3NEZXB0aEF0dGFjaG1lbnREZXNjcmlwdG9yLmlkbCBi
L1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYk1ldGFsUmVuZGVyUGFzc0RlcHRoQXR0YWNo
bWVudERlc2NyaXB0b3IuaWRsCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmY1NWIwOTQ4OWRmODQwODMxYWU5ZWYzNGJi
ZTE4ZjZiMWIyY2M2NWIKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL2Nh
bnZhcy9XZWJNZXRhbFJlbmRlclBhc3NEZXB0aEF0dGFjaG1lbnREZXNjcmlwdG9yLmlkbApAQCAt
MCwwICsxLDMzIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE3IEFwcGxlIEluYy4gQWxsIHJp
Z2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBh
bmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBl
cm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1l
dDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUg
YWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFu
ZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmlu
YXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNl
LCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGlu
IHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVk
IHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVE
IEJZIEFQUExFIElOQy4gYGBBUyBJUycnIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBX
QVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisgKiBJTVBMSUVE
IFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VM
QVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJ
TkMuIE9SCisgKiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVD
VCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKKyAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBE
QU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFBST0NVUkVNRU5UIE9G
IFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgorICog
UFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04g
QU5ZIFRIRU9SWQorICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1Qg
TElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNF
KSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUs
IEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8K
KworWworICAgIENvbmRpdGlvbmFsPVdFQk1FVEFMLAorICAgIEVuYWJsZWRBdFJ1bnRpbWU9V2Vi
TWV0YWwKK10gaW50ZXJmYWNlIFdlYk1ldGFsUmVuZGVyUGFzc0RlcHRoQXR0YWNobWVudERlc2Ny
aXB0b3IgOiBXZWJNZXRhbFJlbmRlclBhc3NBdHRhY2htZW50RGVzY3JpcHRvciB7CisKKyAgICBh
dHRyaWJ1dGUgdW5yZXN0cmljdGVkIGRvdWJsZSBjbGVhckRlcHRoOworCit9OwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViTWV0YWxSZW5kZXJQYXNzRGVzY3JpcHRv
ci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJNZXRhbFJlbmRlclBhc3NEZXNj
cmlwdG9yLmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5jZmRhMzhiNzUyZTZmNWE2YjI2ZTI4MTNhYWUwMmI5M2M1
ZmY5OGU1Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2Vi
TWV0YWxSZW5kZXJQYXNzRGVzY3JpcHRvci5jcHAKQEAgLTAsMCArMSw2MyBAQAorLyoKKyAqIENv
cHlyaWdodCAoQykgMjAxNyBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICog
UmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBv
ciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0
aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlv
bnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAg
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFp
bWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNl
IHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlv
bnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRp
b24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24u
CisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIGBgQVMgSVMn
JyBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBC
VVQgTk9UIExJTUlURUQgVE8sIFRIRQorICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5U
QUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVND
TEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUgorICogQ09OVFJJQlVUT1JT
IEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUws
CisgKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQg
Tk9UIExJTUlURUQgVE8sCisgKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNF
UlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKKyAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElO
VEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKKyAqIE9GIExJQUJJ
TElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICog
KElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9V
VCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhF
IFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpbmNsdWRlICJjb25maWcuaCIK
KyNpbmNsdWRlICJXZWJNZXRhbFJlbmRlclBhc3NEZXNjcmlwdG9yLmgiCisKKyNpZiBFTkFCTEUo
V0VCTUVUQUwpCisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworUmVmPFdlYk1ldGFsUmVuZGVyUGFz
c0Rlc2NyaXB0b3I+IFdlYk1ldGFsUmVuZGVyUGFzc0Rlc2NyaXB0b3I6OmNyZWF0ZSgpCit7Cisg
ICAgcmV0dXJuIGFkb3B0UmVmKCpuZXcgV2ViTWV0YWxSZW5kZXJQYXNzRGVzY3JpcHRvcik7Cit9
CisKK1dlYk1ldGFsUmVuZGVyUGFzc0Rlc2NyaXB0b3I6OldlYk1ldGFsUmVuZGVyUGFzc0Rlc2Ny
aXB0b3IoKSA9IGRlZmF1bHQ7CisKK1dlYk1ldGFsUmVuZGVyUGFzc0Rlc2NyaXB0b3I6On5XZWJN
ZXRhbFJlbmRlclBhc3NEZXNjcmlwdG9yKCkgPSBkZWZhdWx0OworCitXZWJNZXRhbFJlbmRlclBh
c3NEZXB0aEF0dGFjaG1lbnREZXNjcmlwdG9yJiBXZWJNZXRhbFJlbmRlclBhc3NEZXNjcmlwdG9y
OjpkZXB0aEF0dGFjaG1lbnQoKQoreworICAgIGlmICghbV9kZXB0aEF0dGFjaG1lbnQpCisgICAg
ICAgIG1fZGVwdGhBdHRhY2htZW50ID0gV2ViTWV0YWxSZW5kZXJQYXNzRGVwdGhBdHRhY2htZW50
RGVzY3JpcHRvcjo6Y3JlYXRlKG1fZGVzY3JpcHRvci5kZXB0aEF0dGFjaG1lbnQoKSk7CisgICAg
cmV0dXJuICptX2RlcHRoQXR0YWNobWVudDsKK30KKworY29uc3QgVmVjdG9yPFJlZlB0cjxXZWJN
ZXRhbFJlbmRlclBhc3NDb2xvckF0dGFjaG1lbnREZXNjcmlwdG9yPj4mIFdlYk1ldGFsUmVuZGVy
UGFzc0Rlc2NyaXB0b3I6OmNvbG9yQXR0YWNobWVudHMoKQoreworICAgIGlmIChtX2NvbG9yQXR0
YWNobWVudHMuaXNFbXB0eSgpKSB7CisgICAgICAgIGF1dG8gYXR0YWNobWVudHMgPSBtX2Rlc2Ny
aXB0b3IuY29sb3JBdHRhY2htZW50cygpOworICAgICAgICBBU1NFUlQoIWF0dGFjaG1lbnRzLmlz
RW1wdHkoKSk7CisgICAgICAgIG1fY29sb3JBdHRhY2htZW50cy5yZXNlcnZlSW5pdGlhbENhcGFj
aXR5KGF0dGFjaG1lbnRzLnNpemUoKSk7CisgICAgICAgIGZvciAoYXV0byYgYXR0YWNobWVudCA6
IGF0dGFjaG1lbnRzKQorICAgICAgICAgICAgbV9jb2xvckF0dGFjaG1lbnRzLnVuY2hlY2tlZEFw
cGVuZChXZWJNZXRhbFJlbmRlclBhc3NDb2xvckF0dGFjaG1lbnREZXNjcmlwdG9yOjpjcmVhdGUo
V1RGTW92ZShhdHRhY2htZW50KSkpOworICAgIH0KKyAgICByZXR1cm4gbV9jb2xvckF0dGFjaG1l
bnRzOworfQorCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKKyNlbmRpZgpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViTWV0YWxSZW5kZXJQYXNzRGVzY3JpcHRvci5o
IGIvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViTWV0YWxSZW5kZXJQYXNzRGVzY3JpcHRv
ci5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjJlMjM4OWM5YTQ3M2U2N2Q3YzUwYmUzMjRiNmVjMzUxYzI2MzQ2NWYK
LS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJNZXRhbFJl
bmRlclBhc3NEZXNjcmlwdG9yLmgKQEAgLTAsMCArMSw2MCBAQAorLyoKKyAqIENvcHlyaWdodCAo
QykgMjAxNyBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmli
dXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0
CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93
aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291
cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0
aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICog
Mi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92
ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRo
ZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29y
IG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICog
VEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIGBgQVMgSVMnJyBBTkQgQU5Z
CisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJ
TUlURUQgVE8sIFRIRQorICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBB
TkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAg
SU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUgorICogQ09OVFJJQlVUT1JTIEJFIExJQUJM
RSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCisgKiBFWEVN
UExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlU
RUQgVE8sCisgKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBM
T1NTIE9GIFVTRSwgREFUQSwgT1IKKyAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElP
TikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKKyAqIE9GIExJQUJJTElUWSwgV0hF
VEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElO
RyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUg
VVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklM
SVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNwcmFnbWEgb25jZQorCisjaWYgRU5BQkxFKFdF
Qk1FVEFMKQorCisjaW5jbHVkZSAiR1BVUmVuZGVyUGFzc0Rlc2NyaXB0b3IuaCIKKyNpbmNsdWRl
ICJXZWJNZXRhbFJlbmRlclBhc3NDb2xvckF0dGFjaG1lbnREZXNjcmlwdG9yLmgiCisjaW5jbHVk
ZSAiV2ViTWV0YWxSZW5kZXJQYXNzRGVwdGhBdHRhY2htZW50RGVzY3JpcHRvci5oIgorI2luY2x1
ZGUgPHd0Zi9SZWYuaD4KKyNpbmNsdWRlIDx3dGYvUmVmQ291bnRlZC5oPgorI2luY2x1ZGUgPHd0
Zi9WZWN0b3IuaD4KKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitjbGFzcyBXZWJNZXRhbFJlbmRl
clBhc3NEZXNjcmlwdG9yIDogcHVibGljIFJlZkNvdW50ZWQ8V2ViTWV0YWxSZW5kZXJQYXNzRGVz
Y3JpcHRvcj4geworcHVibGljOgorICAgIH5XZWJNZXRhbFJlbmRlclBhc3NEZXNjcmlwdG9yKCk7
CisgICAgc3RhdGljIFJlZjxXZWJNZXRhbFJlbmRlclBhc3NEZXNjcmlwdG9yPiBjcmVhdGUoKTsK
KworICAgIFdlYk1ldGFsUmVuZGVyUGFzc0RlcHRoQXR0YWNobWVudERlc2NyaXB0b3ImIGRlcHRo
QXR0YWNobWVudCgpOworICAgIGNvbnN0IFZlY3RvcjxSZWZQdHI8V2ViTWV0YWxSZW5kZXJQYXNz
Q29sb3JBdHRhY2htZW50RGVzY3JpcHRvcj4+JiBjb2xvckF0dGFjaG1lbnRzKCk7CisKKyAgICBj
b25zdCBHUFVSZW5kZXJQYXNzRGVzY3JpcHRvciYgZGVzY3JpcHRvcigpIGNvbnN0IHsgcmV0dXJu
IG1fZGVzY3JpcHRvcjsgfQorCitwcml2YXRlOgorICAgIFdlYk1ldGFsUmVuZGVyUGFzc0Rlc2Ny
aXB0b3IoKTsKKworICAgIFZlY3RvcjxSZWZQdHI8V2ViTWV0YWxSZW5kZXJQYXNzQ29sb3JBdHRh
Y2htZW50RGVzY3JpcHRvcj4+IG1fY29sb3JBdHRhY2htZW50czsKKyAgICBSZWZQdHI8V2ViTWV0
YWxSZW5kZXJQYXNzRGVwdGhBdHRhY2htZW50RGVzY3JpcHRvcj4gbV9kZXB0aEF0dGFjaG1lbnQ7
CisKKyAgICBHUFVSZW5kZXJQYXNzRGVzY3JpcHRvciBtX2Rlc2NyaXB0b3I7Cit9OworICAgIAor
fSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorCisjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2h0bWwvY2FudmFzL1dlYk1ldGFsUmVuZGVyUGFzc0Rlc2NyaXB0b3IuaWRsIGIvU291cmNl
L1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViTWV0YWxSZW5kZXJQYXNzRGVzY3JpcHRvci5pZGwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uMmYzZmVlY2I5Y2Y1M2M1OTA5MzgyMzg1ZmY1OTE4ODA4YTJmZjAyMQotLS0gL2Rl
di9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYk1ldGFsUmVuZGVyUGFz
c0Rlc2NyaXB0b3IuaWRsCkBAIC0wLDAgKzEsNDAgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIw
MTcgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9u
IGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICog
bW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBj
b25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBj
b2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBs
aXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJl
ZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29w
eXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9s
bG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhl
ciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMg
U09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBgYEFTIElTJycgQU5EIEFOWQorICog
RVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVE
IFRPLCBUSEUKKyAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJ
VE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5P
IEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IKKyAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9S
IEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAorICogRVhFTVBMQVJZ
LCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRP
LAorICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBP
RiBVU0UsIERBVEEsIE9SCisgKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhP
V0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCisgKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIg
SU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVH
TElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQor
ICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBP
RiBTVUNIIERBTUFHRS4KKyAqLworCitbCisgICAgQ29uc3RydWN0b3IsCisgICAgQ29uZGl0aW9u
YWw9V0VCTUVUQUwsCisgICAgRW5hYmxlZEF0UnVudGltZT1XZWJNZXRhbCwKKyAgICBJbXBsZW1l
bnRhdGlvbkxhY2tzVlRhYmxlCitdIGludGVyZmFjZSBXZWJNZXRhbFJlbmRlclBhc3NEZXNjcmlw
dG9yIHsKKworICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBzZXF1ZW5jZTxXZWJNZXRhbFJlbmRlclBh
c3NDb2xvckF0dGFjaG1lbnREZXNjcmlwdG9yPiBjb2xvckF0dGFjaG1lbnRzOworICAgIHJlYWRv
bmx5IGF0dHJpYnV0ZSBXZWJNZXRhbFJlbmRlclBhc3NEZXB0aEF0dGFjaG1lbnREZXNjcmlwdG9y
IGRlcHRoQXR0YWNobWVudDsKKyAgICAvL3JlYWRvbmx5IGF0dHJpYnV0ZSBXZWJNZXRhbFJlbmRl
clBhc3NTdGVuY2lsQXR0YWNobWVudERlc2NyaXB0b3Igc3RlbmNpbEF0dGFjaG1lbnQ7CisKKyAg
ICAvLyByZW5kZXJUYXJnZXRBcnJheUxlbmd0aAorICAgIC8vIHZpc2liaWxpdHlSZXN1bHRCdWZm
ZXIKKworfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYk1ldGFs
UmVuZGVyUGlwZWxpbmVDb2xvckF0dGFjaG1lbnREZXNjcmlwdG9yLmNwcCBiL1NvdXJjZS9XZWJD
b3JlL2h0bWwvY2FudmFzL1dlYk1ldGFsUmVuZGVyUGlwZWxpbmVDb2xvckF0dGFjaG1lbnREZXNj
cmlwdG9yLmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41YzZkOTYyMGYzYTk4ZTJiOTFhMTE0ZTBmZDBmZmM4ZWZj
MWFjZTg5Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2Vi
TWV0YWxSZW5kZXJQaXBlbGluZUNvbG9yQXR0YWNobWVudERlc2NyaXB0b3IuY3BwCkBAIC0wLDAg
KzEsNTUgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTcgQXBwbGUgSW5jLiBBbGwgcmlnaHRz
IHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBi
aW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0
dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0Ogor
ICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92
ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRo
ZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkg
Zm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRo
aXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhl
CisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0
aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkg
QVBQTEUgSU5DLiBgYEFTIElTJycgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJB
TlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKKyAqIElNUExJRUQgV0FS
UkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgor
ICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4g
T1IKKyAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJ
TkNJREVOVEFMLCBTUEVDSUFMLAorICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFH
RVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogUFJPQ1VSRU1FTlQgT0YgU1VC
U1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCisgKiBQUk9G
SVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkg
VEhFT1JZCisgKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFC
SUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFS
SVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZF
TiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisj
aW5jbHVkZSAiY29uZmlnLmgiCisjaW5jbHVkZSAiV2ViTWV0YWxSZW5kZXJQaXBlbGluZUNvbG9y
QXR0YWNobWVudERlc2NyaXB0b3IuaCIKKworI2lmIEVOQUJMRShXRUJNRVRBTCkKKworbmFtZXNw
YWNlIFdlYkNvcmUgeworCitSZWY8V2ViTWV0YWxSZW5kZXJQaXBlbGluZUNvbG9yQXR0YWNobWVu
dERlc2NyaXB0b3I+IFdlYk1ldGFsUmVuZGVyUGlwZWxpbmVDb2xvckF0dGFjaG1lbnREZXNjcmlw
dG9yOjpjcmVhdGUoR1BVUmVuZGVyUGlwZWxpbmVDb2xvckF0dGFjaG1lbnREZXNjcmlwdG9yJiYg
ZGVzY3JpcHRvcikKK3sKKyAgICByZXR1cm4gYWRvcHRSZWYoKm5ldyBXZWJNZXRhbFJlbmRlclBp
cGVsaW5lQ29sb3JBdHRhY2htZW50RGVzY3JpcHRvcihXVEZNb3ZlKGRlc2NyaXB0b3IpKSk7Cit9
CisKK1dlYk1ldGFsUmVuZGVyUGlwZWxpbmVDb2xvckF0dGFjaG1lbnREZXNjcmlwdG9yOjpXZWJN
ZXRhbFJlbmRlclBpcGVsaW5lQ29sb3JBdHRhY2htZW50RGVzY3JpcHRvcihHUFVSZW5kZXJQaXBl
bGluZUNvbG9yQXR0YWNobWVudERlc2NyaXB0b3ImJiBkZXNjcmlwdG9yKQorICAgIDogbV9kZXNj
cmlwdG9yIHsgV1RGTW92ZShkZXNjcmlwdG9yKSB9Cit7Cit9CisKK3Vuc2lnbmVkIFdlYk1ldGFs
UmVuZGVyUGlwZWxpbmVDb2xvckF0dGFjaG1lbnREZXNjcmlwdG9yOjpwaXhlbEZvcm1hdCgpIGNv
bnN0Cit7CisgICAgcmV0dXJuIG1fZGVzY3JpcHRvci5waXhlbEZvcm1hdCgpOworfQorCit2b2lk
IFdlYk1ldGFsUmVuZGVyUGlwZWxpbmVDb2xvckF0dGFjaG1lbnREZXNjcmlwdG9yOjpzZXRQaXhl
bEZvcm1hdCh1bnNpZ25lZCBuZXdQaXhlbEZvcm1hdCkKK3sKKyAgICBtX2Rlc2NyaXB0b3Iuc2V0
UGl4ZWxGb3JtYXQobmV3UGl4ZWxGb3JtYXQpOworfQorCit9IC8vIG5hbWVzcGFjZSBXZWJDb3Jl
CisKKyNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViTWV0
YWxSZW5kZXJQaXBlbGluZUNvbG9yQXR0YWNobWVudERlc2NyaXB0b3IuaCBiL1NvdXJjZS9XZWJD
b3JlL2h0bWwvY2FudmFzL1dlYk1ldGFsUmVuZGVyUGlwZWxpbmVDb2xvckF0dGFjaG1lbnREZXNj
cmlwdG9yLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uYjY2ZWY1MjVjNTExMTcwMWJiNTdmNzM1NTBlNmUyZjY2NjRl
NDRkZQotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYk1l
dGFsUmVuZGVyUGlwZWxpbmVDb2xvckF0dGFjaG1lbnREZXNjcmlwdG9yLmgKQEAgLTAsMCArMSw1
MSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxNyBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVz
ZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFy
eSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQg
cHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAx
LiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNv
cHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3Jt
IG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBs
aXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAq
ICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRo
ZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBM
RSBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElF
UywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQorICogSU1QTElFRCBXQVJSQU5U
SUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQ
VVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUgor
ICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lE
RU5UQUwsIFNQRUNJQUwsCisgKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAo
SU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElU
VVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKKyAqIFBST0ZJVFM7
IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVP
UlkKKyAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElU
WSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lO
RyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElG
IEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNwcmFn
bWEgb25jZQorCisjaWYgRU5BQkxFKFdFQk1FVEFMKQorCisjaW5jbHVkZSAiR1BVUmVuZGVyUGlw
ZWxpbmVDb2xvckF0dGFjaG1lbnREZXNjcmlwdG9yLmgiCisjaW5jbHVkZSA8d3RmL1JlZi5oPgor
I2luY2x1ZGUgPHd0Zi9SZWZDb3VudGVkLmg+CisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworY2xh
c3MgV2ViTWV0YWxSZW5kZXJQaXBlbGluZUNvbG9yQXR0YWNobWVudERlc2NyaXB0b3IgOiBwdWJs
aWMgUmVmQ291bnRlZDxXZWJNZXRhbFJlbmRlclBpcGVsaW5lQ29sb3JBdHRhY2htZW50RGVzY3Jp
cHRvcj4geworcHVibGljOgorICAgIHN0YXRpYyBSZWY8V2ViTWV0YWxSZW5kZXJQaXBlbGluZUNv
bG9yQXR0YWNobWVudERlc2NyaXB0b3I+IGNyZWF0ZShHUFVSZW5kZXJQaXBlbGluZUNvbG9yQXR0
YWNobWVudERlc2NyaXB0b3ImJik7CisKKyAgICB1bnNpZ25lZCBwaXhlbEZvcm1hdCgpIGNvbnN0
OworICAgIHZvaWQgc2V0UGl4ZWxGb3JtYXQodW5zaWduZWQpOworCitwcml2YXRlOgorICAgIGV4
cGxpY2l0IFdlYk1ldGFsUmVuZGVyUGlwZWxpbmVDb2xvckF0dGFjaG1lbnREZXNjcmlwdG9yKEdQ
VVJlbmRlclBpcGVsaW5lQ29sb3JBdHRhY2htZW50RGVzY3JpcHRvciYmKTsKKworICAgIEdQVVJl
bmRlclBpcGVsaW5lQ29sb3JBdHRhY2htZW50RGVzY3JpcHRvciBtX2Rlc2NyaXB0b3I7Cit9Owor
ICAgIAorfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorCisjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYk1ldGFsUmVuZGVyUGlwZWxpbmVDb2xvckF0dGFjaG1l
bnREZXNjcmlwdG9yLmlkbCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYk1ldGFsUmVu
ZGVyUGlwZWxpbmVDb2xvckF0dGFjaG1lbnREZXNjcmlwdG9yLmlkbApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42OThj
ZDVhYTkzZmIyMTk0NmIzYjc4NTkzMWNkODc2ZDIyZjUzYTZlCi0tLSAvZGV2L251bGwKKysrIGIv
U291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViTWV0YWxSZW5kZXJQaXBlbGluZUNvbG9yQXR0
YWNobWVudERlc2NyaXB0b3IuaWRsCkBAIC0wLDAgKzEsMzQgQEAKKy8qCisgKiBDb3B5cmlnaHQg
KEMpIDIwMTcgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJp
YnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91
dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxv
d2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNv
dXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwg
dGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAq
IDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJv
dmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9v
ciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAq
IFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBgYEFTIElTJycgQU5EIEFO
WQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBM
SU1JVEVEIFRPLCBUSEUKKyAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkg
QU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4g
IElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IKKyAqIENPTlRSSUJVVE9SUyBCRSBMSUFC
TEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAorICogRVhF
TVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1J
VEVEIFRPLAorICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsg
TE9TUyBPRiBVU0UsIERBVEEsIE9SCisgKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJ
T04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCisgKiBPRiBMSUFCSUxJVFksIFdI
RVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJ
TkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhF
IFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJ
TElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCitbCisgICAgQ29uZGl0aW9uYWw9V0VCTUVUQUws
CisgICAgRW5hYmxlZEF0UnVudGltZT1XZWJNZXRhbCwKKyAgICBJbXBsZW1lbnRhdGlvbkxhY2tz
VlRhYmxlCitdIGludGVyZmFjZSBXZWJNZXRhbFJlbmRlclBpcGVsaW5lQ29sb3JBdHRhY2htZW50
RGVzY3JpcHRvciB7CisKKyAgICBhdHRyaWJ1dGUgdW5zaWduZWQgbG9uZyBwaXhlbEZvcm1hdDsg
Ly8gc2hvdWxkIGJlIE1UTFBpeGVsRm9ybWF0CisKK307CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9odG1sL2NhbnZhcy9XZWJNZXRhbFJlbmRlclBpcGVsaW5lRGVzY3JpcHRvci5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJNZXRhbFJlbmRlclBpcGVsaW5lRGVzY3JpcHRv
ci5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uMGM3MTI4MDFkZTIzMzIwMDEzOWNjNGRmMTBjMTFiMDJmMjVlY2Q3
ZQotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYk1ldGFs
UmVuZGVyUGlwZWxpbmVEZXNjcmlwdG9yLmNwcApAQCAtMCwwICsxLDExMCBAQAorLyoKKyAqIENv
cHlyaWdodCAoQykgMjAxNyBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICog
UmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBv
ciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0
aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlv
bnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAg
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFp
bWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNl
IHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlv
bnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRp
b24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24u
CisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIGBgQVMgSVMn
JyBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBC
VVQgTk9UIExJTUlURUQgVE8sIFRIRQorICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5U
QUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVND
TEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUgorICogQ09OVFJJQlVUT1JT
IEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUws
CisgKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQg
Tk9UIExJTUlURUQgVE8sCisgKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNF
UlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKKyAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElO
VEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKKyAqIE9GIExJQUJJ
TElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICog
KElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9V
VCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhF
IFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpbmNsdWRlICJjb25maWcuaCIK
KyNpbmNsdWRlICJXZWJNZXRhbFJlbmRlclBpcGVsaW5lRGVzY3JpcHRvci5oIgorCisjaWYgRU5B
QkxFKFdFQk1FVEFMKQorCisjaW5jbHVkZSAiR1BVRnVuY3Rpb24uaCIKKyNpbmNsdWRlICJHUFVS
ZW5kZXJQaXBlbGluZUNvbG9yQXR0YWNobWVudERlc2NyaXB0b3IuaCIKKyNpbmNsdWRlICJXZWJN
ZXRhbEZ1bmN0aW9uLmgiCisjaW5jbHVkZSAiV2ViTWV0YWxSZW5kZXJQaXBlbGluZUNvbG9yQXR0
YWNobWVudERlc2NyaXB0b3IuaCIKKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitSZWY8V2ViTWV0
YWxSZW5kZXJQaXBlbGluZURlc2NyaXB0b3I+IFdlYk1ldGFsUmVuZGVyUGlwZWxpbmVEZXNjcmlw
dG9yOjpjcmVhdGUoKQoreworICAgIHJldHVybiBhZG9wdFJlZigqbmV3IFdlYk1ldGFsUmVuZGVy
UGlwZWxpbmVEZXNjcmlwdG9yKTsKK30KKworV2ViTWV0YWxSZW5kZXJQaXBlbGluZURlc2NyaXB0
b3I6OldlYk1ldGFsUmVuZGVyUGlwZWxpbmVEZXNjcmlwdG9yKCkgPSBkZWZhdWx0OworCitXZWJN
ZXRhbFJlbmRlclBpcGVsaW5lRGVzY3JpcHRvcjo6fldlYk1ldGFsUmVuZGVyUGlwZWxpbmVEZXNj
cmlwdG9yKCkgPSBkZWZhdWx0OworCitXZWJNZXRhbEZ1bmN0aW9uKiBXZWJNZXRhbFJlbmRlclBp
cGVsaW5lRGVzY3JpcHRvcjo6dmVydGV4RnVuY3Rpb24oKSBjb25zdAoreworICAgIHJldHVybiBt
X3ZlcnRleEZ1bmN0aW9uLmdldCgpOworfQorCit2b2lkIFdlYk1ldGFsUmVuZGVyUGlwZWxpbmVE
ZXNjcmlwdG9yOjpzZXRWZXJ0ZXhGdW5jdGlvbihSZWZQdHI8V2ViTWV0YWxGdW5jdGlvbj4mJiBu
ZXdWZXJ0ZXhGdW5jdGlvbikKK3sKKyAgICAvLyBGSVhNRTogV2h5IGNhbid0IHdlIHNldCB0aGlz
IHRvIG51bGw/CisgICAgaWYgKCFuZXdWZXJ0ZXhGdW5jdGlvbikKKyAgICAgICAgcmV0dXJuOwor
CisgICAgbV92ZXJ0ZXhGdW5jdGlvbiA9IFdURk1vdmUobmV3VmVydGV4RnVuY3Rpb24pOworCisg
ICAgbV9kZXNjcmlwdG9yLnNldFZlcnRleEZ1bmN0aW9uKG1fdmVydGV4RnVuY3Rpb24tPmZ1bmN0
aW9uKCkpOworfQorCitXZWJNZXRhbEZ1bmN0aW9uKiBXZWJNZXRhbFJlbmRlclBpcGVsaW5lRGVz
Y3JpcHRvcjo6ZnJhZ21lbnRGdW5jdGlvbigpIGNvbnN0Cit7CisgICAgcmV0dXJuIG1fZnJhZ21l
bnRGdW5jdGlvbi5nZXQoKTsKK30KKwordm9pZCBXZWJNZXRhbFJlbmRlclBpcGVsaW5lRGVzY3Jp
cHRvcjo6c2V0RnJhZ21lbnRGdW5jdGlvbihSZWZQdHI8V2ViTWV0YWxGdW5jdGlvbj4mJiBuZXdG
cmFnbWVudEZ1bmN0aW9uKQoreworICAgIC8vIEZJWE1FOiBXaHkgY2FuJ3Qgd2Ugc2V0IHRoaXMg
dG8gbnVsbD8KKyAgICBpZiAoIW5ld0ZyYWdtZW50RnVuY3Rpb24pCisgICAgICAgIHJldHVybjsK
KworICAgIG1fZnJhZ21lbnRGdW5jdGlvbiA9IFdURk1vdmUobmV3RnJhZ21lbnRGdW5jdGlvbik7
CisKKyAgICBtX2Rlc2NyaXB0b3Iuc2V0RnJhZ21lbnRGdW5jdGlvbihtX2ZyYWdtZW50RnVuY3Rp
b24tPmZ1bmN0aW9uKCkpOworfQorCitjb25zdCBWZWN0b3I8UmVmUHRyPFdlYk1ldGFsUmVuZGVy
UGlwZWxpbmVDb2xvckF0dGFjaG1lbnREZXNjcmlwdG9yPj4mIFdlYk1ldGFsUmVuZGVyUGlwZWxp
bmVEZXNjcmlwdG9yOjpjb2xvckF0dGFjaG1lbnRzKCkKK3sKKyAgICBpZiAoIW1fY29sb3JBdHRh
Y2htZW50cy5zaXplKCkpIHsKKyAgICAgICAgYXV0byBhdHRhY2htZW50cyA9IG1fZGVzY3JpcHRv
ci5jb2xvckF0dGFjaG1lbnRzKCk7CisgICAgICAgIG1fY29sb3JBdHRhY2htZW50cy5yZXNlcnZl
SW5pdGlhbENhcGFjaXR5KGF0dGFjaG1lbnRzLnNpemUoKSk7CisgICAgICAgIGZvciAoYXV0byYg
YXR0YWNobWVudCA6IGF0dGFjaG1lbnRzKQorICAgICAgICAgICAgbV9jb2xvckF0dGFjaG1lbnRz
LnVuY2hlY2tlZEFwcGVuZChXZWJNZXRhbFJlbmRlclBpcGVsaW5lQ29sb3JBdHRhY2htZW50RGVz
Y3JpcHRvcjo6Y3JlYXRlKFdURk1vdmUoYXR0YWNobWVudCkpKTsKKyAgICB9CisgICAgcmV0dXJu
IG1fY29sb3JBdHRhY2htZW50czsKK30KKwordW5zaWduZWQgV2ViTWV0YWxSZW5kZXJQaXBlbGlu
ZURlc2NyaXB0b3I6OmRlcHRoQXR0YWNobWVudFBpeGVsRm9ybWF0KCkgY29uc3QKK3sKKyAgICBy
ZXR1cm4gbV9kZXNjcmlwdG9yLmRlcHRoQXR0YWNobWVudFBpeGVsRm9ybWF0KCk7Cit9CisKK3Zv
aWQgV2ViTWV0YWxSZW5kZXJQaXBlbGluZURlc2NyaXB0b3I6OnNldERlcHRoQXR0YWNobWVudFBp
eGVsRm9ybWF0KHVuc2lnbmVkIG5ld1BpeGVsRm9ybWF0KQoreworICAgIG1fZGVzY3JpcHRvci5z
ZXREZXB0aEF0dGFjaG1lbnRQaXhlbEZvcm1hdChuZXdQaXhlbEZvcm1hdCk7Cit9CisKK3ZvaWQg
V2ViTWV0YWxSZW5kZXJQaXBlbGluZURlc2NyaXB0b3I6OnJlc2V0KCkKK3sKKyAgICBtX3ZlcnRl
eEZ1bmN0aW9uID0gbnVsbHB0cjsKKyAgICBtX2ZyYWdtZW50RnVuY3Rpb24gPSBudWxscHRyOwor
CisgICAgLy8gRklYTUU6IFdoeSBkb2Vzbid0IHRoaXMgY2xlYXIgb3V0IHRoZSBmdW5jdGlvbnMg
b24gbV9kZXNjcmlwdG9yPworfQorCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKKyNlbmRpZgpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViTWV0YWxSZW5kZXJQaXBl
bGluZURlc2NyaXB0b3IuaCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYk1ldGFsUmVu
ZGVyUGlwZWxpbmVEZXNjcmlwdG9yLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uOGEwNjIwMDAwMWNmZjU0OTg1MTc3
MzkyMmZjMThlODI5NWM2NzEyNgotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0
bWwvY2FudmFzL1dlYk1ldGFsUmVuZGVyUGlwZWxpbmVEZXNjcmlwdG9yLmgKQEAgLTAsMCArMSw3
NiBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxNyBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVz
ZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFy
eSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQg
cHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAx
LiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNv
cHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3Jt
IG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBs
aXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAq
ICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRo
ZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBM
RSBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElF
UywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQorICogSU1QTElFRCBXQVJSQU5U
SUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQ
VVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUgor
ICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lE
RU5UQUwsIFNQRUNJQUwsCisgKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAo
SU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElU
VVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKKyAqIFBST0ZJVFM7
IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVP
UlkKKyAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElU
WSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lO
RyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElG
IEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNwcmFn
bWEgb25jZQorCisjaWYgRU5BQkxFKFdFQk1FVEFMKQorCisjaW5jbHVkZSAiR1BVUmVuZGVyUGlw
ZWxpbmVEZXNjcmlwdG9yLmgiCisjaW5jbHVkZSAiV2ViTWV0YWxSZW5kZXJQaXBlbGluZUNvbG9y
QXR0YWNobWVudERlc2NyaXB0b3IuaCIKKyNpbmNsdWRlIDx3dGYvUmVmLmg+CisjaW5jbHVkZSA8
d3RmL1JlZkNvdW50ZWQuaD4KKyNpbmNsdWRlIDx3dGYvVmVjdG9yLmg+CisKK25hbWVzcGFjZSBX
ZWJDb3JlIHsKKworY2xhc3MgR1BVRnVuY3Rpb247CitjbGFzcyBHUFVSZW5kZXJQaXBlbGluZURl
c2NyaXB0b3I7CitjbGFzcyBXZWJNZXRhbEZ1bmN0aW9uOworY2xhc3MgV2ViTWV0YWxSZW5kZXJQ
aXBlbGluZUNvbG9yQXR0YWNobWVudERlc2NyaXB0b3I7CisKK2NsYXNzIFdlYk1ldGFsUmVuZGVy
UGlwZWxpbmVEZXNjcmlwdG9yIDogcHVibGljIFJlZkNvdW50ZWQ8V2ViTWV0YWxSZW5kZXJQaXBl
bGluZURlc2NyaXB0b3I+IHsKK3B1YmxpYzoKKyAgICB+V2ViTWV0YWxSZW5kZXJQaXBlbGluZURl
c2NyaXB0b3IoKTsKKyAgICBzdGF0aWMgUmVmPFdlYk1ldGFsUmVuZGVyUGlwZWxpbmVEZXNjcmlw
dG9yPiBjcmVhdGUoKTsKKworICAgIFdlYk1ldGFsRnVuY3Rpb24qIHZlcnRleEZ1bmN0aW9uKCkg
Y29uc3Q7CisgICAgdm9pZCBzZXRWZXJ0ZXhGdW5jdGlvbihSZWZQdHI8V2ViTWV0YWxGdW5jdGlv
bj4mJik7CisKKyAgICBXZWJNZXRhbEZ1bmN0aW9uKiBmcmFnbWVudEZ1bmN0aW9uKCkgY29uc3Q7
CisgICAgdm9pZCBzZXRGcmFnbWVudEZ1bmN0aW9uKFJlZlB0cjxXZWJNZXRhbEZ1bmN0aW9uPiYm
KTsKKworICAgIGNvbnN0IFZlY3RvcjxSZWZQdHI8V2ViTWV0YWxSZW5kZXJQaXBlbGluZUNvbG9y
QXR0YWNobWVudERlc2NyaXB0b3I+PiYgY29sb3JBdHRhY2htZW50cygpOworCisgICAgdW5zaWdu
ZWQgZGVwdGhBdHRhY2htZW50UGl4ZWxGb3JtYXQoKSBjb25zdDsKKyAgICB2b2lkIHNldERlcHRo
QXR0YWNobWVudFBpeGVsRm9ybWF0KHVuc2lnbmVkKTsKKworICAgIHZvaWQgcmVzZXQoKTsKKwor
ICAgIGNvbnN0IEdQVVJlbmRlclBpcGVsaW5lRGVzY3JpcHRvciYgZGVzY3JpcHRvcigpIHsgcmV0
dXJuIG1fZGVzY3JpcHRvcjsgfQorCitwcml2YXRlOgorICAgIFdlYk1ldGFsUmVuZGVyUGlwZWxp
bmVEZXNjcmlwdG9yKCk7CisKKyAgICBSZWZQdHI8V2ViTWV0YWxGdW5jdGlvbj4gbV92ZXJ0ZXhG
dW5jdGlvbjsKKyAgICBSZWZQdHI8V2ViTWV0YWxGdW5jdGlvbj4gbV9mcmFnbWVudEZ1bmN0aW9u
OworCisgICAgVmVjdG9yPFJlZlB0cjxXZWJNZXRhbFJlbmRlclBpcGVsaW5lQ29sb3JBdHRhY2ht
ZW50RGVzY3JpcHRvcj4+IG1fY29sb3JBdHRhY2htZW50czsKKworICAgIEdQVVJlbmRlclBpcGVs
aW5lRGVzY3JpcHRvciBtX2Rlc2NyaXB0b3I7Cit9OworCit9IC8vIG5hbWVzcGFjZSBXZWJDb3Jl
CisKKyNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViTWV0
YWxSZW5kZXJQaXBlbGluZURlc2NyaXB0b3IuaWRsIGIvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52
YXMvV2ViTWV0YWxSZW5kZXJQaXBlbGluZURlc2NyaXB0b3IuaWRsCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjI1NmQx
YmVkOWI2NjUzMmNkMDBiY2VkN2YyODJiNjhmMWE3ZDEyYjEKLS0tIC9kZXYvbnVsbAorKysgYi9T
b3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJNZXRhbFJlbmRlclBpcGVsaW5lRGVzY3JpcHRv
ci5pZGwKQEAgLTAsMCArMSw0MiBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxNyBBcHBsZSBJ
bmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBp
biBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRp
b24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMK
KyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCBy
ZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29u
ZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRp
b25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAq
ICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlz
Y2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFs
cyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJ
UyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCisgKiBFWFBSRVNTIE9S
IElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQor
ICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1Ig
QSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hB
TEwgQVBQTEUgSU5DLiBPUgorICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVD
VCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCisgKiBFWEVNUExBUlksIE9SIENPTlNF
UVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBQUk9D
VVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFU
QSwgT1IKKyAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVT
RUQgQU5EIE9OIEFOWSBUSEVPUlkKKyAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFD
VCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9S
IE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElT
IFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFN
QUdFLgorICovCisKK1sKKyAgICBDb25zdHJ1Y3RvciwKKyAgICBDb25kaXRpb25hbD1XRUJNRVRB
TCwKKyAgICBFbmFibGVkQXRSdW50aW1lPVdlYk1ldGFsLAorICAgIEltcGxlbWVudGF0aW9uTGFj
a3NWVGFibGUKK10gaW50ZXJmYWNlIFdlYk1ldGFsUmVuZGVyUGlwZWxpbmVEZXNjcmlwdG9yIHsK
KworICAgIGF0dHJpYnV0ZSBXZWJNZXRhbEZ1bmN0aW9uPyB2ZXJ0ZXhGdW5jdGlvbjsKKyAgICBh
dHRyaWJ1dGUgV2ViTWV0YWxGdW5jdGlvbj8gZnJhZ21lbnRGdW5jdGlvbjsKKworICAgIHJlYWRv
bmx5IGF0dHJpYnV0ZSBzZXF1ZW5jZTxXZWJNZXRhbFJlbmRlclBpcGVsaW5lQ29sb3JBdHRhY2ht
ZW50RGVzY3JpcHRvcj4gY29sb3JBdHRhY2htZW50czsKKworICAgIGF0dHJpYnV0ZSB1bnNpZ25l
ZCBsb25nIGRlcHRoQXR0YWNobWVudFBpeGVsRm9ybWF0OworCisgICAgdm9pZCByZXNldCgpOwor
Cit9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViTWV0YWxSZW5k
ZXJQaXBlbGluZVN0YXRlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYk1ldGFs
UmVuZGVyUGlwZWxpbmVTdGF0ZS5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjEzOGJmZmRmMmQ4MTQyZDMwMzFi
ZTM4ZjYxMzNkY2RhYjIxOTRkZgotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0
bWwvY2FudmFzL1dlYk1ldGFsUmVuZGVyUGlwZWxpbmVTdGF0ZS5jcHAKQEAgLTAsMCArMSw1NSBA
QAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxNyBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2
ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBm
b3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJv
dmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBS
ZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHly
aWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxv
d2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11
c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAg
IGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBk
aXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJ
TkMuIGBgQVMgSVMnJyBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywg
SU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQorICogSU1QTElFRCBXQVJSQU5USUVT
IE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQ
T1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUgorICog
Q09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5U
QUwsIFNQRUNJQUwsCisgKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5D
TFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRF
IEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKKyAqIFBST0ZJVFM7IE9S
IEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkK
KyAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwg
T1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJ
TiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFE
VklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpbmNsdWRl
ICJjb25maWcuaCIKKyNpbmNsdWRlICJXZWJNZXRhbFJlbmRlclBpcGVsaW5lU3RhdGUuaCIKKwor
I2lmIEVOQUJMRShXRUJNRVRBTCkKKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitSZWY8V2ViTWV0
YWxSZW5kZXJQaXBlbGluZVN0YXRlPiBXZWJNZXRhbFJlbmRlclBpcGVsaW5lU3RhdGU6OmNyZWF0
ZShHUFVSZW5kZXJQaXBlbGluZVN0YXRlJiYgc3RhdGUpCit7CisgICAgcmV0dXJuIGFkb3B0UmVm
KCpuZXcgV2ViTWV0YWxSZW5kZXJQaXBlbGluZVN0YXRlKFdURk1vdmUoc3RhdGUpKSk7Cit9CisK
K1dlYk1ldGFsUmVuZGVyUGlwZWxpbmVTdGF0ZTo6V2ViTWV0YWxSZW5kZXJQaXBlbGluZVN0YXRl
KEdQVVJlbmRlclBpcGVsaW5lU3RhdGUmJiBzdGF0ZSkKKyAgICA6IG1fc3RhdGUgeyBXVEZNb3Zl
KHN0YXRlKSB9Cit7Cit9CisKK1N0cmluZyBXZWJNZXRhbFJlbmRlclBpcGVsaW5lU3RhdGU6Omxh
YmVsKCkgY29uc3QKK3sKKyAgICByZXR1cm4gbV9zdGF0ZS5sYWJlbCgpOworfQorCit2b2lkIFdl
Yk1ldGFsUmVuZGVyUGlwZWxpbmVTdGF0ZTo6c2V0TGFiZWwoY29uc3QgU3RyaW5nJiBsYWJlbCkK
K3sKKyAgICBtX3N0YXRlLnNldExhYmVsKGxhYmVsKTsKK30KKworfSAvLyBuYW1lc3BhY2UgV2Vi
Q29yZQorCisjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dl
Yk1ldGFsUmVuZGVyUGlwZWxpbmVTdGF0ZS5oIGIvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMv
V2ViTWV0YWxSZW5kZXJQaXBlbGluZVN0YXRlLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODhmNzk5ZGY0ZTBjNWI4
OWZhYTU4MzZiNDM0MjQ5MDA0ZDM3MzBjMgotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2h0bWwvY2FudmFzL1dlYk1ldGFsUmVuZGVyUGlwZWxpbmVTdGF0ZS5oCkBAIC0wLDAgKzEs
NTMgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTcgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJl
c2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5h
cnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVk
IHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICog
MS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBj
b3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBm
b2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9y
bSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisg
KiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0
aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQ
TEUgSU5DLiBgYEFTIElTJycgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJ
RVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKKyAqIElNUExJRUQgV0FSUkFO
VElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICog
UFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IK
KyAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJ
REVOVEFMLCBTUEVDSUFMLAorICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMg
KElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJ
VFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCisgKiBQUk9GSVRT
OyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhF
T1JZCisgKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJ
VFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJ
TkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJ
RiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjcHJh
Z21hIG9uY2UKKworI2lmIEVOQUJMRShXRUJNRVRBTCkKKworI2luY2x1ZGUgIkdQVVJlbmRlclBp
cGVsaW5lU3RhdGUuaCIKKyNpbmNsdWRlIDx3dGYvUmVmLmg+CisjaW5jbHVkZSA8d3RmL1JlZkNv
dW50ZWQuaD4KKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitjbGFzcyBXZWJNZXRhbFJlbmRlclBp
cGVsaW5lU3RhdGUgOiBwdWJsaWMgUmVmQ291bnRlZDxXZWJNZXRhbFJlbmRlclBpcGVsaW5lU3Rh
dGU+IHsKK3B1YmxpYzoKKyAgICBzdGF0aWMgUmVmPFdlYk1ldGFsUmVuZGVyUGlwZWxpbmVTdGF0
ZT4gY3JlYXRlKEdQVVJlbmRlclBpcGVsaW5lU3RhdGUmJik7CisKKyAgICBTdHJpbmcgbGFiZWwo
KSBjb25zdDsKKyAgICB2b2lkIHNldExhYmVsKGNvbnN0IFN0cmluZyYpOworCisgICAgY29uc3Qg
R1BVUmVuZGVyUGlwZWxpbmVTdGF0ZSYgc3RhdGUoKSBjb25zdCB7IHJldHVybiBtX3N0YXRlOyB9
CisKK3ByaXZhdGU6CisgICAgZXhwbGljaXQgV2ViTWV0YWxSZW5kZXJQaXBlbGluZVN0YXRlKEdQ
VVJlbmRlclBpcGVsaW5lU3RhdGUmJik7CisKKyAgICBHUFVSZW5kZXJQaXBlbGluZVN0YXRlIG1f
c3RhdGU7Cit9OworICAgIAorfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorCisjZW5kaWYKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYk1ldGFsUmVuZGVyUGlwZWxpbmVT
dGF0ZS5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJNZXRhbFJlbmRlclBpcGVs
aW5lU3RhdGUuaWRsCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjBjMWU4YWNiNGYyMGQyYWVjMzgwOTdhOTI4OWVjMDRm
MjdkNWRkMTEKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9X
ZWJNZXRhbFJlbmRlclBpcGVsaW5lU3RhdGUuaWRsCkBAIC0wLDAgKzEsMzQgQEAKKy8qCisgKiBD
b3B5cmlnaHQgKEMpIDIwMTcgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAq
IFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGgg
b3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQg
dGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRp
b25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAg
IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xh
aW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVj
ZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRp
b25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0
aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9u
LgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBgYEFTIElT
JycgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywg
QlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKKyAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFO
VEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElT
Q0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IKKyAqIENPTlRSSUJVVE9S
UyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFM
LAorICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVU
IE5PVCBMSU1JVEVEIFRPLAorICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBT
RVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCisgKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJ
TlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCisgKiBPRiBMSUFC
SUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAq
IChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBP
VVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRI
RSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCitbCisgICAgQ29uZGl0aW9uYWw9
V0VCTUVUQUwsCisgICAgRW5hYmxlZEF0UnVudGltZT1XZWJNZXRhbCwKKyAgICBJbXBsZW1lbnRh
dGlvbkxhY2tzVlRhYmxlCitdIGludGVyZmFjZSBXZWJNZXRhbFJlbmRlclBpcGVsaW5lU3RhdGUg
eworCisgICAgYXR0cmlidXRlIERPTVN0cmluZyBsYWJlbDsKKworfTsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYk1ldGFsUmVuZGVyaW5nQ29udGV4dC5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJNZXRhbFJlbmRlcmluZ0NvbnRleHQuY3BwCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjE2OWVhYmQ0N2RmNjJiZDU2ZGExNzNjNmQ0Mjg1MjM3MGUzNmY2MjAKLS0tIC9k
ZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJNZXRhbFJlbmRlcmlu
Z0NvbnRleHQuY3BwCkBAIC0wLDAgKzEsMTk2IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE3
IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAxNyBZ
dWljaGlybyBLaWt1cmEgKHkua2lrdXJhQGdtYWlsLmNvbSkKKyAqCisgKiBSZWRpc3RyaWJ1dGlv
biBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAq
IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcg
Y29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2Ug
Y29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBS
ZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNv
cHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3Ro
ZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElT
IFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gYGBBUyBJUycnIEFORCBBTlkKKyAq
IEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRF
RCBUTywgVEhFCisgKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBG
SVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBO
TyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SCisgKiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZP
UiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKKyAqIEVYRU1QTEFS
WSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBU
TywKKyAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1Mg
T0YgVVNFLCBEQVRBLCBPUgorICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBI
T1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQorICogT0YgTElBQklMSVRZLCBXSEVUSEVS
IElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5F
R0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UK
KyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkg
T0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorI2luY2x1ZGUgIldl
Yk1ldGFsUmVuZGVyaW5nQ29udGV4dC5oIgorCisjaWYgRU5BQkxFKFdFQk1FVEFMKQorCisjaW5j
bHVkZSAiRG9jdW1lbnQuaCIKKyNpbmNsdWRlICJGcmFtZVZpZXcuaCIKKyNpbmNsdWRlICJHUFVE
ZXZpY2UuaCIKKyNpbmNsdWRlICJJbnNwZWN0b3JJbnN0cnVtZW50YXRpb24uaCIKKyNpbmNsdWRl
ICJXZWJNZXRhbEJ1ZmZlci5oIgorI2luY2x1ZGUgIldlYk1ldGFsQ29tbWFuZFF1ZXVlLmgiCisj
aW5jbHVkZSAiV2ViTWV0YWxDb21wdXRlUGlwZWxpbmVTdGF0ZS5oIgorI2luY2x1ZGUgIldlYk1l
dGFsRGVwdGhTdGVuY2lsRGVzY3JpcHRvci5oIgorI2luY2x1ZGUgIldlYk1ldGFsRGVwdGhTdGVu
Y2lsU3RhdGUuaCIKKyNpbmNsdWRlICJXZWJNZXRhbERyYXdhYmxlLmgiCisjaW5jbHVkZSAiV2Vi
TWV0YWxGdW5jdGlvbi5oIgorI2luY2x1ZGUgIldlYk1ldGFsTGlicmFyeS5oIgorI2luY2x1ZGUg
IldlYk1ldGFsUmVuZGVyUGFzc0Rlc2NyaXB0b3IuaCIKKyNpbmNsdWRlICJXZWJNZXRhbFJlbmRl
clBpcGVsaW5lRGVzY3JpcHRvci5oIgorI2luY2x1ZGUgIldlYk1ldGFsUmVuZGVyUGlwZWxpbmVT
dGF0ZS5oIgorI2luY2x1ZGUgIldlYk1ldGFsVGV4dHVyZS5oIgorI2luY2x1ZGUgIldlYk1ldGFs
VGV4dHVyZURlc2NyaXB0b3IuaCIKKyNpbmNsdWRlIDxKYXZhU2NyaXB0Q29yZS9BcnJheUJ1ZmZl
ci5oPgorI2luY2x1ZGUgPEphdmFTY3JpcHRDb3JlL0pTQ0lubGluZXMuaD4KKyNpbmNsdWRlIDxK
YXZhU2NyaXB0Q29yZS9UeXBlZEFycmF5SW5saW5lcy5oPgorI2luY2x1ZGUgPEphdmFTY3JpcHRD
b3JlL1VpbnQzMkFycmF5Lmg+CisjaW5jbHVkZSA8d3RmL1N0ZExpYkV4dHJhcy5oPgorI2luY2x1
ZGUgPHd0Zi90ZXh0L0NTdHJpbmcuaD4KKworbmFtZXNwYWNlIHsKKworaW50IGNsYW1wKGludCB2
YWx1ZSwgaW50IG1pbiwgaW50IG1heCkKK3sKKyAgICBpZiAodmFsdWUgPCBtaW4pCisgICAgICAg
IHZhbHVlID0gbWluOworICAgIGlmICh2YWx1ZSA+IG1heCkKKyAgICAgICAgdmFsdWUgPSBtYXg7
CisgICAgcmV0dXJuIHZhbHVlOworfQorCit9CisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworc3Rh
dGljIGNvbnN0IGludCBrTWF4VGV4dHVyZVNpemUgPSA0MDk2OworCitzdGQ6OnVuaXF1ZV9wdHI8
V2ViTWV0YWxSZW5kZXJpbmdDb250ZXh0PiBXZWJNZXRhbFJlbmRlcmluZ0NvbnRleHQ6OmNyZWF0
ZShDYW52YXNCYXNlJiBjYW52YXMpCit7CisgICAgR1BVRGV2aWNlIGRldmljZTsKKworICAgIGlm
ICghZGV2aWNlKSB7CisgICAgICAgIC8vIEZJWE1FOiBXZWJNZXRhbCAtIGRpc3BhdGNoIGFuIGV2
ZW50IGhlcmUgZm9yIHRoZSBmYWlsdXJlLgorICAgICAgICByZXR1cm4gbnVsbHB0cjsKKyAgICB9
CisKKyAgICBhdXRvIHJlbmRlcmluZ0NvbnRleHQgPSBzdGQ6OnVuaXF1ZV9wdHI8V2ViTWV0YWxS
ZW5kZXJpbmdDb250ZXh0PihuZXcgV2ViTWV0YWxSZW5kZXJpbmdDb250ZXh0KGNhbnZhcywgV1RG
TW92ZShkZXZpY2UpKSk7CisgICAgcmVuZGVyaW5nQ29udGV4dC0+c3VzcGVuZElmTmVlZGVkKCk7
CisKKyAgICBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OmRpZENyZWF0ZUNhbnZhc1JlbmRlcmlu
Z0NvbnRleHQoKnJlbmRlcmluZ0NvbnRleHQpOworCisgICAgcmV0dXJuIHJlbmRlcmluZ0NvbnRl
eHQ7Cit9CisKK1dlYk1ldGFsUmVuZGVyaW5nQ29udGV4dDo6V2ViTWV0YWxSZW5kZXJpbmdDb250
ZXh0KENhbnZhc0Jhc2UmIGNhbnZhcywgR1BVRGV2aWNlJiYgZGV2aWNlKQorICAgIDogR1BVQmFz
ZWRDYW52YXNSZW5kZXJpbmdDb250ZXh0KGNhbnZhcykKKyAgICAsIG1fZGV2aWNlKFdURk1vdmUo
ZGV2aWNlKSkKK3sKKyAgICBpbml0aWFsaXplTmV3Q29udGV4dCgpOworfQorCitIVE1MQ2FudmFz
RWxlbWVudCogV2ViTWV0YWxSZW5kZXJpbmdDb250ZXh0OjpjYW52YXMoKSBjb25zdAoreworICAg
IGF1dG8mIGJhc2UgPSBjYW52YXNCYXNlKCk7CisgICAgaWYgKCFpczxIVE1MQ2FudmFzRWxlbWVu
dD4oYmFzZSkpCisgICAgICAgIHJldHVybiBudWxscHRyOworICAgIHJldHVybiAmZG93bmNhc3Q8
SFRNTENhbnZhc0VsZW1lbnQ+KGJhc2UpOworfQorCit2b2lkIFdlYk1ldGFsUmVuZGVyaW5nQ29u
dGV4dDo6aW5pdGlhbGl6ZU5ld0NvbnRleHQoKQoreworICAgIC8vIEZJWE1FOiBXZWJNZXRhbCAt
IE1heWJlIHdlIHNob3VsZCByZXNldCBhIGJ1bmNoIG9mIHN0dWZmIGhlcmUuCisKKyAgICBJbnRT
aXplIGNhbnZhc1NpemUgPSBjbGFtcGVkQ2FudmFzU2l6ZSgpOworICAgIG1fZGV2aWNlLnJlc2hh
cGUoY2FudmFzU2l6ZS53aWR0aCgpLCBjYW52YXNTaXplLmhlaWdodCgpKTsKK30KKworSW50U2l6
ZSBXZWJNZXRhbFJlbmRlcmluZ0NvbnRleHQ6OmNsYW1wZWRDYW52YXNTaXplKCkgY29uc3QKK3sK
KyAgICByZXR1cm4gSW50U2l6ZShjbGFtcChjYW52YXMoKS0+d2lkdGgoKSwgMSwga01heFRleHR1
cmVTaXplKSwKKyAgICAgICAgY2xhbXAoY2FudmFzKCktPmhlaWdodCgpLCAxLCBrTWF4VGV4dHVy
ZVNpemUpKTsKK30KKworYm9vbCBXZWJNZXRhbFJlbmRlcmluZ0NvbnRleHQ6Omhhc1BlbmRpbmdB
Y3Rpdml0eSgpIGNvbnN0Cit7CisgICAgcmV0dXJuIGZhbHNlOworfQorCit2b2lkIFdlYk1ldGFs
UmVuZGVyaW5nQ29udGV4dDo6c3RvcCgpCit7Cit9CisKK2NvbnN0IGNoYXIqIFdlYk1ldGFsUmVu
ZGVyaW5nQ29udGV4dDo6YWN0aXZlRE9NT2JqZWN0TmFtZSgpIGNvbnN0Cit7CisgICAgcmV0dXJu
ICJXZWJNZXRhbFJlbmRlcmluZ0NvbnRleHQiOworfQorCitib29sIFdlYk1ldGFsUmVuZGVyaW5n
Q29udGV4dDo6Y2FuU3VzcGVuZEZvckRvY3VtZW50U3VzcGVuc2lvbigpIGNvbnN0Cit7CisgICAg
cmV0dXJuIGZhbHNlOworfQorCitQbGF0Zm9ybUxheWVyKiBXZWJNZXRhbFJlbmRlcmluZ0NvbnRl
eHQ6OnBsYXRmb3JtTGF5ZXIoKSBjb25zdAoreworICAgIHJldHVybiBtX2RldmljZS5wbGF0Zm9y
bUxheWVyKCk7Cit9CisKK3ZvaWQgV2ViTWV0YWxSZW5kZXJpbmdDb250ZXh0OjptYXJrTGF5ZXJD
b21wb3NpdGVkKCkKK3sKKyAgICBtX2RldmljZS5tYXJrTGF5ZXJDb21wb3NpdGVkKCk7Cit9CisK
K3ZvaWQgV2ViTWV0YWxSZW5kZXJpbmdDb250ZXh0OjpyZXNoYXBlKGludCB3aWR0aCwgaW50IGhl
aWdodCkKK3sKKyAgICAvLyBGSVhNRTogV2ViTWV0YWwgLSBEbyB3ZSBuZWVkIHRvIHJlc2V0IHN0
dWZmIGhlcmU/CisgICAgbV9kZXZpY2UucmVzaGFwZSh3aWR0aCwgaGVpZ2h0KTsKK30KKworUmVm
PFdlYk1ldGFsTGlicmFyeT4gV2ViTWV0YWxSZW5kZXJpbmdDb250ZXh0OjpjcmVhdGVMaWJyYXJ5
KGNvbnN0IFN0cmluZyYgc291cmNlQ29kZSkKK3sKKyAgICByZXR1cm4gV2ViTWV0YWxMaWJyYXJ5
OjpjcmVhdGUoR1BVTGlicmFyeSB7IG1fZGV2aWNlLCBzb3VyY2VDb2RlIH0sIHNvdXJjZUNvZGUp
OworfQorCitSZWY8V2ViTWV0YWxSZW5kZXJQaXBlbGluZVN0YXRlPiBXZWJNZXRhbFJlbmRlcmlu
Z0NvbnRleHQ6OmNyZWF0ZVJlbmRlclBpcGVsaW5lU3RhdGUoV2ViTWV0YWxSZW5kZXJQaXBlbGlu
ZURlc2NyaXB0b3ImIGRlc2NyaXB0b3IpCit7CisgICAgcmV0dXJuIFdlYk1ldGFsUmVuZGVyUGlw
ZWxpbmVTdGF0ZTo6Y3JlYXRlKEdQVVJlbmRlclBpcGVsaW5lU3RhdGUgeyBtX2RldmljZSwgZGVz
Y3JpcHRvci5kZXNjcmlwdG9yKCkgfSk7Cit9CisKK1JlZjxXZWJNZXRhbERlcHRoU3RlbmNpbFN0
YXRlPiBXZWJNZXRhbFJlbmRlcmluZ0NvbnRleHQ6OmNyZWF0ZURlcHRoU3RlbmNpbFN0YXRlKFdl
Yk1ldGFsRGVwdGhTdGVuY2lsRGVzY3JpcHRvciYgZGVzY3JpcHRvcikKK3sKKyAgICByZXR1cm4g
V2ViTWV0YWxEZXB0aFN0ZW5jaWxTdGF0ZTo6Y3JlYXRlKEdQVURlcHRoU3RlbmNpbFN0YXRlIHsg
bV9kZXZpY2UsIGRlc2NyaXB0b3IuZGVzY3JpcHRvcigpIH0pOworfQorCitSZWY8V2ViTWV0YWxD
b21wdXRlUGlwZWxpbmVTdGF0ZT4gV2ViTWV0YWxSZW5kZXJpbmdDb250ZXh0OjpjcmVhdGVDb21w
dXRlUGlwZWxpbmVTdGF0ZShXZWJNZXRhbEZ1bmN0aW9uJiBmdW5jdGlvbikKK3sKKyAgICByZXR1
cm4gV2ViTWV0YWxDb21wdXRlUGlwZWxpbmVTdGF0ZTo6Y3JlYXRlKEdQVUNvbXB1dGVQaXBlbGlu
ZVN0YXRlIHsgbV9kZXZpY2UsIGZ1bmN0aW9uLmZ1bmN0aW9uKCkgfSk7Cit9CisKK1JlZjxXZWJN
ZXRhbENvbW1hbmRRdWV1ZT4gV2ViTWV0YWxSZW5kZXJpbmdDb250ZXh0OjpjcmVhdGVDb21tYW5k
UXVldWUoKQoreworICAgIHJldHVybiBXZWJNZXRhbENvbW1hbmRRdWV1ZTo6Y3JlYXRlKEdQVUNv
bW1hbmRRdWV1ZSB7IG1fZGV2aWNlIH0pOworfQorCitSZWY8V2ViTWV0YWxEcmF3YWJsZT4gV2Vi
TWV0YWxSZW5kZXJpbmdDb250ZXh0OjpuZXh0RHJhd2FibGUoKQoreworICAgIHJldHVybiBXZWJN
ZXRhbERyYXdhYmxlOjpjcmVhdGUoR1BVRHJhd2FibGUgeyBtX2RldmljZSB9KTsKK30KKworUmVm
UHRyPFdlYk1ldGFsQnVmZmVyPiBXZWJNZXRhbFJlbmRlcmluZ0NvbnRleHQ6OmNyZWF0ZUJ1ZmZl
cihKU0M6OkFycmF5QnVmZmVyVmlldyYgZGF0YSkKK3sKKyAgICByZXR1cm4gV2ViTWV0YWxCdWZm
ZXI6OmNyZWF0ZShHUFVCdWZmZXIgeyBtX2RldmljZSwgZGF0YSB9KTsKK30KKworUmVmPFdlYk1l
dGFsVGV4dHVyZT4gV2ViTWV0YWxSZW5kZXJpbmdDb250ZXh0OjpjcmVhdGVUZXh0dXJlKFdlYk1l
dGFsVGV4dHVyZURlc2NyaXB0b3ImIGRlc2NyaXB0b3IpCit7CisgICAgcmV0dXJuIFdlYk1ldGFs
VGV4dHVyZTo6Y3JlYXRlKEdQVVRleHR1cmUgeyBtX2RldmljZSwgZGVzY3JpcHRvci5kZXNjcmlw
dG9yKCkgfSk7Cit9CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKworI2VuZGlmCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJNZXRhbFJlbmRlcmluZ0NvbnRleHQu
aCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYk1ldGFsUmVuZGVyaW5nQ29udGV4dC5o
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLmNmYzcwYmQwOTZhZmQ5MTE4MWQzYzVmZGQ0YTE3NTJjMDU2MWNjMDMKLS0t
IC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJNZXRhbFJlbmRl
cmluZ0NvbnRleHQuaApAQCAtMCwwICsxLDk1IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE3
IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAxNyBZ
dWljaGlybyBLaWt1cmEgKHkua2lrdXJhQGdtYWlsLmNvbSkKKyAqCisgKiBSZWRpc3RyaWJ1dGlv
biBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAq
IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcg
Y29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2Ug
Y29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBS
ZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNv
cHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3Ro
ZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElT
IFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gYGBBUyBJUycnIEFORCBBTlkKKyAq
IEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRF
RCBUTywgVEhFCisgKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBG
SVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBO
TyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SCisgKiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZP
UiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKKyAqIEVYRU1QTEFS
WSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBU
TywKKyAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1Mg
T0YgVVNFLCBEQVRBLCBPUgorICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBI
T1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQorICogT0YgTElBQklMSVRZLCBXSEVUSEVS
IElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5F
R0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UK
KyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkg
T0YgU1VDSCBEQU1BR0UuCisgKi8KKworI3ByYWdtYSBvbmNlCisKKyNpZiBFTkFCTEUoV0VCTUVU
QUwpCisKKyNpbmNsdWRlICJHUFVCYXNlZENhbnZhc1JlbmRlcmluZ0NvbnRleHQuaCIKKyNpbmNs
dWRlICJHUFVEZXZpY2UuaCIKKworbmFtZXNwYWNlIEpTQyB7CitjbGFzcyBBcnJheUJ1ZmZlclZp
ZXc7Cit9CisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworY2xhc3MgV2ViTWV0YWxCdWZmZXI7Citj
bGFzcyBXZWJNZXRhbENvbW1hbmRRdWV1ZTsKK2NsYXNzIFdlYk1ldGFsQ29tcHV0ZVBpcGVsaW5l
U3RhdGU7CitjbGFzcyBXZWJNZXRhbERlcHRoU3RlbmNpbERlc2NyaXB0b3I7CitjbGFzcyBXZWJN
ZXRhbERlcHRoU3RlbmNpbFN0YXRlOworY2xhc3MgV2ViTWV0YWxEcmF3YWJsZTsKK2NsYXNzIFdl
Yk1ldGFsRnVuY3Rpb247CitjbGFzcyBXZWJNZXRhbExpYnJhcnk7CitjbGFzcyBXZWJNZXRhbFJl
bmRlclBpcGVsaW5lRGVzY3JpcHRvcjsKK2NsYXNzIFdlYk1ldGFsUmVuZGVyUGlwZWxpbmVTdGF0
ZTsKK2NsYXNzIFdlYk1ldGFsVGV4dHVyZTsKK2NsYXNzIFdlYk1ldGFsVGV4dHVyZURlc2NyaXB0
b3I7CisKK2NsYXNzIFdlYk1ldGFsUmVuZGVyaW5nQ29udGV4dCBmaW5hbCA6IHB1YmxpYyBHUFVC
YXNlZENhbnZhc1JlbmRlcmluZ0NvbnRleHQgeworcHVibGljOgorICAgIHN0YXRpYyBzdGQ6OnVu
aXF1ZV9wdHI8V2ViTWV0YWxSZW5kZXJpbmdDb250ZXh0PiBjcmVhdGUoQ2FudmFzQmFzZSYpOwor
CisgICAgLy8gRklYTUU6IElETCBmaWxlIHNheXMgdGhpcyBpcyBub3QgbnVsbGFibGUsIGJ1dCB0
aGlzIGZ1bmN0aW9uIGNhbiByZXR1cm4gbnVsbC4KKyAgICBIVE1MQ2FudmFzRWxlbWVudCogY2Fu
dmFzKCkgY29uc3Q7CisKKyAgICBSZWY8V2ViTWV0YWxMaWJyYXJ5PiBjcmVhdGVMaWJyYXJ5KGNv
bnN0IFN0cmluZyYpOworICAgIFJlZjxXZWJNZXRhbFJlbmRlclBpcGVsaW5lU3RhdGU+IGNyZWF0
ZVJlbmRlclBpcGVsaW5lU3RhdGUoV2ViTWV0YWxSZW5kZXJQaXBlbGluZURlc2NyaXB0b3ImKTsK
KyAgICBSZWY8V2ViTWV0YWxEZXB0aFN0ZW5jaWxTdGF0ZT4gY3JlYXRlRGVwdGhTdGVuY2lsU3Rh
dGUoV2ViTWV0YWxEZXB0aFN0ZW5jaWxEZXNjcmlwdG9yJik7CisgICAgUmVmPFdlYk1ldGFsQ29t
cHV0ZVBpcGVsaW5lU3RhdGU+IGNyZWF0ZUNvbXB1dGVQaXBlbGluZVN0YXRlKFdlYk1ldGFsRnVu
Y3Rpb24mKTsKKyAgICBSZWY8V2ViTWV0YWxDb21tYW5kUXVldWU+IGNyZWF0ZUNvbW1hbmRRdWV1
ZSgpOworICAgIFJlZjxXZWJNZXRhbERyYXdhYmxlPiBuZXh0RHJhd2FibGUoKTsKKyAgICBSZWZQ
dHI8V2ViTWV0YWxCdWZmZXI+IGNyZWF0ZUJ1ZmZlcihKU0M6OkFycmF5QnVmZmVyVmlldyYpOwor
ICAgIFJlZjxXZWJNZXRhbFRleHR1cmU+IGNyZWF0ZVRleHR1cmUoV2ViTWV0YWxUZXh0dXJlRGVz
Y3JpcHRvciYpOworCisgICAgY29uc3QgR1BVRGV2aWNlJiBkZXZpY2UoKSBjb25zdCB7IHJldHVy
biBtX2RldmljZTsgfQorCitwcml2YXRlOgorICAgIFdlYk1ldGFsUmVuZGVyaW5nQ29udGV4dChD
YW52YXNCYXNlJiwgR1BVRGV2aWNlJiYpOworCisgICAgYm9vbCBoYXNQZW5kaW5nQWN0aXZpdHko
KSBjb25zdCBmaW5hbDsKKyAgICB2b2lkIHN0b3AoKSBmaW5hbDsKKyAgICBjb25zdCBjaGFyKiBh
Y3RpdmVET01PYmplY3ROYW1lKCkgY29uc3QgZmluYWw7CisgICAgYm9vbCBjYW5TdXNwZW5kRm9y
RG9jdW1lbnRTdXNwZW5zaW9uKCkgY29uc3QgZmluYWw7CisKKyAgICBJbnRTaXplIGNsYW1wZWRD
YW52YXNTaXplKCkgY29uc3Q7CisgICAgdm9pZCBpbml0aWFsaXplTmV3Q29udGV4dCgpOworCisg
ICAgYm9vbCBpc1dlYk1ldGFsKCkgY29uc3QgZmluYWwgeyByZXR1cm4gdHJ1ZTsgfQorCisgICAg
dm9pZCByZXNoYXBlKGludCB3aWR0aCwgaW50IGhlaWdodCkgZmluYWw7CisgICAgdm9pZCBtYXJr
TGF5ZXJDb21wb3NpdGVkKCkgZmluYWw7CisgICAgUGxhdGZvcm1MYXllciogcGxhdGZvcm1MYXll
cigpIGNvbnN0IGZpbmFsOworCisgICAgR1BVRGV2aWNlIG1fZGV2aWNlOworfTsKKworfSAvLyBu
YW1lc3BhY2UgV2ViQ29yZQorCitTUEVDSUFMSVpFX1RZUEVfVFJBSVRTX0NBTlZBU1JFTkRFUklO
R0NPTlRFWFQoV2ViQ29yZTo6V2ViTWV0YWxSZW5kZXJpbmdDb250ZXh0LCBpc1dlYk1ldGFsKCkp
CisKKyNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViTWV0
YWxSZW5kZXJpbmdDb250ZXh0LmlkbCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYk1l
dGFsUmVuZGVyaW5nQ29udGV4dC5pZGwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNjZiOGIwOWJjMTNhN2Y0ZTE5Y2Rm
YTAzOGNkYjYxNDI4ZjdlN2MyNwotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0
bWwvY2FudmFzL1dlYk1ldGFsUmVuZGVyaW5nQ29udGV4dC5pZGwKQEAgLTAsMCArMSwxMTUgQEAK
Ky8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTcgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVk
LgorICogQ29weXJpZ2h0IChDKSAyMDE3IFl1aWNoaXJvIEtpa3VyYSAoeS5raWt1cmFAZ21haWwu
Y29tKQorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkg
Zm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHBy
b3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4g
UmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5
cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xs
b3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBt
dXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlz
dCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAg
ICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUg
ZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUg
SU5DLiBgYEFTIElTJycgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMs
IElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKKyAqIElNUExJRUQgV0FSUkFOVElF
UyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVS
UE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IKKyAq
IENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVO
VEFMLCBTUEVDSUFMLAorICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElO
Q0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVU
RSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCisgKiBQUk9GSVRTOyBP
UiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZ
CisgKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFks
IE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcg
SU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBB
RFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCitbCisgICAg
Q29uZGl0aW9uYWw9V0VCTUVUQUwsCisgICAgRW5hYmxlZEF0UnVudGltZT1XZWJNZXRhbCwKKyAg
ICBKU0N1c3RvbU1hcmtGdW5jdGlvbiwKKyAgICBEb05vdENoZWNrQ29uc3RhbnRzCitdIGludGVy
ZmFjZSBXZWJNZXRhbFJlbmRlcmluZ0NvbnRleHQgeworICAgIC8vIGJhY2stcmVmZXJlbmNlIHRv
IHRoZSBjYW52YXMKKyAgICByZWFkb25seSBhdHRyaWJ1dGUgSFRNTENhbnZhc0VsZW1lbnQgY2Fu
dmFzOworCisgICAgLy8gUGl4ZWwgZm9ybWF0cworCisgICAgY29uc3QgdW5zaWduZWQgaW50IFBp
eGVsRm9ybWF0QkdSQThVbm9ybSA9IDgwOworICAgIGNvbnN0IHVuc2lnbmVkIGludCBQaXhlbEZv
cm1hdERlcHRoMzJGbG9hdCA9IDI1MjsKKyAgICBjb25zdCB1bnNpZ25lZCBpbnQgUGl4ZWxGb3Jt
YXRTdGVuY2lsOCA9IDI1MzsKKyAgICBjb25zdCB1bnNpZ25lZCBpbnQgUGl4ZWxGb3JtYXRJbnZh
bGlkID0gMDsKKworICAgIC8vIExvYWQgYWN0aW9ucworCisgICAgY29uc3QgdW5zaWduZWQgaW50
IExvYWRBY3Rpb25Eb250Q2FyZSA9IDA7CisgICAgY29uc3QgdW5zaWduZWQgaW50IExvYWRBY3Rp
b25Mb2FkID0gMTsKKyAgICBjb25zdCB1bnNpZ25lZCBpbnQgTG9hZEFjdGlvbkNsZWFyID0gMjsK
KworICAgIC8vIFN0b3JlIGFjdGlvbnMKKworICAgIGNvbnN0IHVuc2lnbmVkIGludCBTdG9yZUFj
dGlvbkRvbnRDYXJlID0gMDsKKyAgICBjb25zdCB1bnNpZ25lZCBpbnQgU3RvcmVBY3Rpb25TdG9y
ZSA9IDE7CisgICAgY29uc3QgdW5zaWduZWQgaW50IFN0b3JlQWN0aW9uTXVsdGlzYW1wbGVSZXNv
bHZlID0gMjsKKworICAgIC8vIFByaW1pdGl2ZSB0eXBlcworCisgICAgY29uc3QgdW5zaWduZWQg
aW50IFByaW1pdGl2ZVR5cGVQb2ludCA9IDA7CisgICAgY29uc3QgdW5zaWduZWQgaW50IFByaW1p
dGl2ZVR5cGVMaW5lID0gMTsKKyAgICBjb25zdCB1bnNpZ25lZCBpbnQgUHJpbWl0aXZlVHlwZUxp
bmVTdHJpcCA9IDI7CisgICAgY29uc3QgdW5zaWduZWQgaW50IFByaW1pdGl2ZVR5cGVUcmlhbmds
ZSA9IDM7CisgICAgY29uc3QgdW5zaWduZWQgaW50IFByaW1pdGl2ZVR5cGVUcmlhbmdsZVN0cmlw
ID0gNDsKKworICAgIC8vIENvbXBhcmlzb24gZnVuY3Rpb25zCisKKyAgICBjb25zdCB1bnNpZ25l
ZCBpbnQgQ29tcGFyZUZ1bmN0aW9uTmV2ZXIgPSAwOworICAgIGNvbnN0IHVuc2lnbmVkIGludCBD
b21wYXJlRnVuY3Rpb25MZXNzID0gMTsKKyAgICBjb25zdCB1bnNpZ25lZCBpbnQgQ29tcGFyZUZ1
bmN0aW9uRXF1YWwgPSAyOworICAgIGNvbnN0IHVuc2lnbmVkIGludCBDb21wYXJlRnVuY3Rpb25M
ZXNzRXF1YWwgPSAzOworICAgIGNvbnN0IHVuc2lnbmVkIGludCBDb21wYXJlRnVuY3Rpb25HcmVh
dGVyID0gNDsKKyAgICBjb25zdCB1bnNpZ25lZCBpbnQgQ29tcGFyZUZ1bmN0aW9uTm90RXF1YWwg
PSA1OworICAgIGNvbnN0IHVuc2lnbmVkIGludCBDb21wYXJlRnVuY3Rpb25HcmVhdGVyRXF1YWwg
PSA2OworICAgIGNvbnN0IHVuc2lnbmVkIGludCBDb21wYXJlRnVuY3Rpb25BbHdheXMgPSA3Owor
CisgICAgLy8gVGV4dHVyZSBUeXBlcworCisgICAgY29uc3QgdW5zaWduZWQgaW50IFRleHR1cmVU
eXBlMUQgPSAwOworICAgIGNvbnN0IHVuc2lnbmVkIGludCBUZXh0dXJlVHlwZTFEQXJyYXkgPSAx
OworICAgIGNvbnN0IHVuc2lnbmVkIGludCBUZXh0dXJlVHlwZTJEID0gMjsKKyAgICBjb25zdCB1
bnNpZ25lZCBpbnQgVGV4dHVyZVR5cGUyREFycmF5ID0gMzsKKyAgICBjb25zdCB1bnNpZ25lZCBp
bnQgVGV4dHVyZVR5cGUyRE11bHRpc2FtcGxlID0gNDsKKyAgICBjb25zdCB1bnNpZ25lZCBpbnQg
VGV4dHVyZVR5cGVDdWJlID0gNTsKKyAgICBjb25zdCB1bnNpZ25lZCBpbnQgVGV4dHVyZVR5cGVD
dWJlQXJyYXkgPSA2OworICAgIGNvbnN0IHVuc2lnbmVkIGludCBUZXh0dXJlVHlwZTNEID0gNzsK
KworICAgIC8vIFN0b3JhZ2UgbW9kZXMKKworICAgIGNvbnN0IHVuc2lnbmVkIGludCBTdG9yYWdl
TW9kZVNoYXJlZCAgPSAwOworICAgIGNvbnN0IHVuc2lnbmVkIGludCBTdG9yYWdlTW9kZU1hbmFn
ZWQgPSAxOworICAgIGNvbnN0IHVuc2lnbmVkIGludCBTdG9yYWdlTW9kZVByaXZhdGUgPSAyOwor
CisgICAgLy8gVXNhZ2UKKworICAgIGNvbnN0IHVuc2lnbmVkIGludCBUZXh0dXJlVXNhZ2VVbmtu
b3duID0gMHgwMDAwOworICAgIGNvbnN0IHVuc2lnbmVkIGludCBUZXh0dXJlVXNhZ2VTaGFkZXJS
ZWFkID0gMHgwMDAxOworICAgIGNvbnN0IHVuc2lnbmVkIGludCBUZXh0dXJlVXNhZ2VTaGFkZXJX
cml0ZSA9IDB4MDAwMjsKKyAgICBjb25zdCB1bnNpZ25lZCBpbnQgVGV4dHVyZVVzYWdlUmVuZGVy
VGFyZ2V0ID0gMHgwMDA0OworICAgIGNvbnN0IHVuc2lnbmVkIGludCBUZXh0dXJlVXNhZ2VQaXhl
bEZvcm1hdFZpZXcgPSAweDAwMTA7CisKKyAgICAvLyBFbnRyeSBwb2ludHMKKworICAgIFdlYk1l
dGFsTGlicmFyeSBjcmVhdGVMaWJyYXJ5KERPTVN0cmluZyBzb3VyY2VDb2RlKTsKKworICAgIFdl
Yk1ldGFsUmVuZGVyUGlwZWxpbmVTdGF0ZSBjcmVhdGVSZW5kZXJQaXBlbGluZVN0YXRlKFdlYk1l
dGFsUmVuZGVyUGlwZWxpbmVEZXNjcmlwdG9yIGRlc2NyaXB0b3IpOworICAgIFdlYk1ldGFsRGVw
dGhTdGVuY2lsU3RhdGUgY3JlYXRlRGVwdGhTdGVuY2lsU3RhdGUoV2ViTWV0YWxEZXB0aFN0ZW5j
aWxEZXNjcmlwdG9yIGRlc2NyaXB0b3IpOworICAgIFdlYk1ldGFsQ29tcHV0ZVBpcGVsaW5lU3Rh
dGUgY3JlYXRlQ29tcHV0ZVBpcGVsaW5lU3RhdGUoV2ViTWV0YWxGdW5jdGlvbiBmdW5jdGlvbik7
CisKKyAgICBXZWJNZXRhbENvbW1hbmRRdWV1ZSBjcmVhdGVDb21tYW5kUXVldWUoKTsKKworICAg
IFdlYk1ldGFsRHJhd2FibGUgbmV4dERyYXdhYmxlKCk7CisKKyAgICBXZWJNZXRhbEJ1ZmZlcj8g
Y3JlYXRlQnVmZmVyKEFycmF5QnVmZmVyVmlldyBkYXRhKTsKKworICAgIFdlYk1ldGFsVGV4dHVy
ZSBjcmVhdGVUZXh0dXJlKFdlYk1ldGFsVGV4dHVyZURlc2NyaXB0b3IgZGVzY3JpcHRvcik7CisK
K307CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJNZXRhbFNpemUu
aCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYk1ldGFsU2l6ZS5oCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjRlNDI1YWQ5NjY3OGZhMWNiYTZjYWQwM2Q4ZGM0NmYwNWI3MzA1ODMKLS0tIC9kZXYvbnVsbAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJNZXRhbFNpemUuaApAQCAtMCwwICsx
LDQwIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE3IFl1aWNoaXJvIEtpa3VyYSAoeS5raWt1
cmFAZ21haWwuY29tKQorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFu
ZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVy
bWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0
OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBh
Ym92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5k
IHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5h
cnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2Us
IHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4g
dGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQg
d2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQg
QlkgQVBQTEUgSU5DLiBgYEFTIElTJycgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdB
UlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKKyAqIElNUExJRUQg
V0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxB
UgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElO
Qy4gT1IKKyAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNU
LCBJTkNJREVOVEFMLCBTUEVDSUFMLAorICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERB
TUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogUFJPQ1VSRU1FTlQgT0Yg
U1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCisgKiBQ
Uk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBB
TlkgVEhFT1JZCisgKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBM
SUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0Up
IEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwg
RVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLwor
CisjcHJhZ21hIG9uY2UKKworI2lmIEVOQUJMRShXRUJNRVRBTCkKKworbmFtZXNwYWNlIFdlYkNv
cmUgeworICAgIAorc3RydWN0IFdlYk1ldGFsU2l6ZSB7CisgICAgdW5zaWduZWQgd2lkdGg7Cisg
ICAgdW5zaWduZWQgaGVpZ2h0OworICAgIHVuc2lnbmVkIGRlcHRoOworfTsKKyAgICAKK30gLy8g
bmFtZXNwYWNlIFdlYkNvcmUKKworI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9o
dG1sL2NhbnZhcy9XZWJNZXRhbFNpemUuaWRsIGIvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMv
V2ViTWV0YWxTaXplLmlkbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mYWU4YzdkMGRiYTFhMDZjOTM2YzNlZGIwNjI0
NGU1NjcyNGZkYmMzCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52
YXMvV2ViTWV0YWxTaXplLmlkbApAQCAtMCwwICsxLDMzIEBACisvKgorICogQ29weXJpZ2h0IChD
KSAyMDE3IFl1aWNoaXJvIEtpa3VyYSAoeS5raWt1cmFAZ21haWwuY29tKQorICoKKyAqIFJlZGlz
dHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0
aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZv
bGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9m
IHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGlj
ZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4K
KyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUg
YWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFu
ZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFu
ZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoK
KyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBgYEFTIElTJycgQU5E
IEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5P
VCBMSU1JVEVEIFRPLCBUSEUKKyAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJ
VFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1F
RC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IKKyAqIENPTlRSSUJVVE9SUyBCRSBM
SUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAorICog
RVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBM
SU1JVEVEIFRPLAorICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNF
UzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCisgKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJV
UFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCisgKiBPRiBMSUFCSUxJVFks
IFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNM
VURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0Yg
VEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NT
SUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworIAorWworICAgIENvbmRpdGlvbmFsPVdFQk1F
VEFMLAorICAgIEVuYWJsZWRBdFJ1bnRpbWU9V2ViTWV0YWwKK10gZGljdGlvbmFyeSBXZWJNZXRh
bFNpemUgeworICAgIHVuc2lnbmVkIGxvbmcgd2lkdGg7CisgICAgdW5zaWduZWQgbG9uZyBoZWln
aHQ7CisgICAgdW5zaWduZWQgbG9uZyBkZXB0aDsKK307CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9odG1sL2NhbnZhcy9XZWJNZXRhbFRleHR1cmUuY3BwIGIvU291cmNlL1dlYkNvcmUvaHRt
bC9jYW52YXMvV2ViTWV0YWxUZXh0dXJlLmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5jZGMzZTE2ZDNlOGYwZTY3
ODkzZGNmNjdiODgwZjVlNWMzMTFhZjNiCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNv
cmUvaHRtbC9jYW52YXMvV2ViTWV0YWxUZXh0dXJlLmNwcApAQCAtMCwwICsxLDQ1IEBACisvKgor
ICogQ29weXJpZ2h0IChDKSAyMDE3IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAq
CisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3
aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0
aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJp
YnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Cisg
KiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRp
c2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXBy
b2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29u
ZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1l
bnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1
dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gYGBB
UyBJUycnIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJ
TkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisgKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVS
Q0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJF
IERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SCisgKiBDT05UUklC
VVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BF
Q0lBTCwKKyAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcs
IEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMg
T1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgorICogUFJPRklUUzsgT1IgQlVTSU5F
U1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQorICogT0Yg
TElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JU
CisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBX
QVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBP
RiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUgImNvbmZp
Zy5oIgorI2luY2x1ZGUgIldlYk1ldGFsVGV4dHVyZS5oIgorCisjaWYgRU5BQkxFKFdFQk1FVEFM
KQorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK1JlZjxXZWJNZXRhbFRleHR1cmU+IFdlYk1ldGFs
VGV4dHVyZTo6Y3JlYXRlKEdQVVRleHR1cmUmJiB0ZXh0dXJlKQoreworICAgIHJldHVybiBhZG9w
dFJlZigqbmV3IFdlYk1ldGFsVGV4dHVyZShXVEZNb3ZlKHRleHR1cmUpKSk7Cit9CisKK1dlYk1l
dGFsVGV4dHVyZTo6V2ViTWV0YWxUZXh0dXJlKEdQVVRleHR1cmUmJiB0ZXh0dXJlKQorICAgIDog
bV90ZXh0dXJlIHsgV1RGTW92ZSh0ZXh0dXJlKSB9Cit7Cit9CisKK30gLy8gbmFtZXNwYWNlIFdl
YkNvcmUKKworI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9X
ZWJNZXRhbFRleHR1cmUuaCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYk1ldGFsVGV4
dHVyZS5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLmJlY2I0YWEzZjFiMDk3ZjM0ZGQ5ZDZlMjQ3ZmExOGZmZmUwZTli
ZjcKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJNZXRh
bFRleHR1cmUuaApAQCAtMCwwICsxLDU1IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE3IEFw
cGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQg
dXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlm
aWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0
aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBt
dXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3Ry
aWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdo
dAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2lu
ZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0
ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRX
QVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gYGBBUyBJUycnIEFORCBBTlkKKyAqIEVYUFJF
U1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywg
VEhFCisgKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNT
IEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVO
VCBTSEFMTCBBUFBMRSBJTkMuIE9SCisgKiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkg
RElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKKyAqIEVYRU1QTEFSWSwgT1Ig
Q09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAq
IFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNF
LCBEQVRBLCBPUgorICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVS
IENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQorICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENP
TlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VO
Q0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9G
IFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VD
SCBEQU1BR0UuCisgKi8KKworI3ByYWdtYSBvbmNlCisKKyNpZiBFTkFCTEUoV0VCTUVUQUwpCisK
KyNpbmNsdWRlICJHUFVUZXh0dXJlLmgiCisjaW5jbHVkZSA8d3RmL1JlZi5oPgorI2luY2x1ZGUg
PHd0Zi9SZWZDb3VudGVkLmg+CisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworY2xhc3MgR1BVVGV4
dHVyZURlc2NyaXB0b3I7CisKK2NsYXNzIFdlYk1ldGFsVGV4dHVyZSA6IHB1YmxpYyBSZWZDb3Vu
dGVkPFdlYk1ldGFsVGV4dHVyZT4geworcHVibGljOgorICAgIHN0YXRpYyBSZWY8V2ViTWV0YWxU
ZXh0dXJlPiBjcmVhdGUoR1BVVGV4dHVyZSYmKTsKKworICAgIHVuc2lnbmVkIHdpZHRoKCkgY29u
c3QgeyByZXR1cm4gbV90ZXh0dXJlLndpZHRoKCk7IH0KKyAgICB1bnNpZ25lZCBoZWlnaHQoKSBj
b25zdCB7IHJldHVybiBtX3RleHR1cmUuaGVpZ2h0KCk7IH0KKworICAgIGNvbnN0IEdQVVRleHR1
cmUmIHRleHR1cmUoKSBjb25zdCB7IHJldHVybiBtX3RleHR1cmU7IH0KKworcHJpdmF0ZToKKyAg
ICBleHBsaWNpdCBXZWJNZXRhbFRleHR1cmUoR1BVVGV4dHVyZSYmKTsKKworICAgIEdQVVRleHR1
cmUgbV90ZXh0dXJlOworfTsKKyAgICAKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKworI2VuZGlm
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJNZXRhbFRleHR1cmUu
aWRsIGIvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViTWV0YWxUZXh0dXJlLmlkbApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi43OWNmNGQ1YzI5N2IyNTJkOGFkYzRkYjlhYjA1Mjk5NGY4MzYyZjQ2Ci0tLSAvZGV2
L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViTWV0YWxUZXh0dXJlLmlk
bApAQCAtMCwwICsxLDM1IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE3IEFwcGxlIEluYy4g
QWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNv
dXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwg
YXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICog
YXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFp
biB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRp
b25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMg
aW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAg
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFp
bWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHBy
b3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBS
T1ZJREVEIEJZIEFQUExFIElOQy4gYGBBUyBJUycnIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1Q
TElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisgKiBJ
TVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBB
UlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBB
UFBMRSBJTkMuIE9SCisgKiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJ
TkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKKyAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVO
VElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFBST0NVUkVN
RU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBP
UgorICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBB
TkQgT04gQU5ZIFRIRU9SWQorICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBT
VFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RI
RVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09G
VFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0Uu
CisgKi8KKworWworICAgIENvbmRpdGlvbmFsPVdFQk1FVEFMLAorICAgIEVuYWJsZWRBdFJ1bnRp
bWU9V2ViTWV0YWwsCisgICAgSW1wbGVtZW50YXRpb25MYWNrc1ZUYWJsZQorXSBpbnRlcmZhY2Ug
V2ViTWV0YWxUZXh0dXJlIHsKKworICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSB1bnNpZ25lZCBsb25n
IHdpZHRoOworICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSB1bnNpZ25lZCBsb25nIGhlaWdodDsKKwor
fTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYk1ldGFsVGV4dHVy
ZURlc2NyaXB0b3IuY3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViTWV0YWxUZXh0
dXJlRGVzY3JpcHRvci5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNjIwN2JkZWY0ZWE2ZGQyMTgwYjRjNmFlNWU0
MTVhNzhhNmZiOTgzMQotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2Fu
dmFzL1dlYk1ldGFsVGV4dHVyZURlc2NyaXB0b3IuY3BwCkBAIC0wLDAgKzEsMTA1IEBACisvKgor
ICogQ29weXJpZ2h0IChDKSAyMDE3IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAq
CisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3
aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0
aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJp
YnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Cisg
KiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRp
c2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXBy
b2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29u
ZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1l
bnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1
dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gYGBB
UyBJUycnIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJ
TkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisgKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVS
Q0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJF
IERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SCisgKiBDT05UUklC
VVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BF
Q0lBTCwKKyAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcs
IEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMg
T1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgorICogUFJPRklUUzsgT1IgQlVTSU5F
U1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQorICogT0Yg
TElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JU
CisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBX
QVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBP
RiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUgImNvbmZp
Zy5oIgorI2luY2x1ZGUgIldlYk1ldGFsVGV4dHVyZURlc2NyaXB0b3IuaCIKKworI2lmIEVOQUJM
RShXRUJNRVRBTCkKKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitSZWY8V2ViTWV0YWxUZXh0dXJl
RGVzY3JpcHRvcj4gV2ViTWV0YWxUZXh0dXJlRGVzY3JpcHRvcjo6Y3JlYXRlKHVuc2lnbmVkIHBp
eGVsRm9ybWF0LCB1bnNpZ25lZCB3aWR0aCwgdW5zaWduZWQgaGVpZ2h0LCBib29sIG1pcG1hcHBl
ZCkKK3sKKyAgICByZXR1cm4gYWRvcHRSZWYoKm5ldyBXZWJNZXRhbFRleHR1cmVEZXNjcmlwdG9y
KHBpeGVsRm9ybWF0LCB3aWR0aCwgaGVpZ2h0LCBtaXBtYXBwZWQpKTsKK30KKworV2ViTWV0YWxU
ZXh0dXJlRGVzY3JpcHRvcjo6V2ViTWV0YWxUZXh0dXJlRGVzY3JpcHRvcih1bnNpZ25lZCBwaXhl
bEZvcm1hdCwgdW5zaWduZWQgd2lkdGgsIHVuc2lnbmVkIGhlaWdodCwgYm9vbCBtaXBtYXBwZWQp
CisgICAgOiBtX2Rlc2NyaXB0b3IgeyBwaXhlbEZvcm1hdCwgd2lkdGgsIGhlaWdodCwgbWlwbWFw
cGVkIH0KK3sKK30KKwordW5zaWduZWQgV2ViTWV0YWxUZXh0dXJlRGVzY3JpcHRvcjo6d2lkdGgo
KSBjb25zdAoreworICAgIHJldHVybiBtX2Rlc2NyaXB0b3Iud2lkdGgoKTsKK30KKwordm9pZCBX
ZWJNZXRhbFRleHR1cmVEZXNjcmlwdG9yOjpzZXRXaWR0aCh1bnNpZ25lZCB3aWR0aCkKK3sKKyAg
ICBtX2Rlc2NyaXB0b3Iuc2V0V2lkdGgod2lkdGgpOworfQorCit1bnNpZ25lZCBXZWJNZXRhbFRl
eHR1cmVEZXNjcmlwdG9yOjpoZWlnaHQoKSBjb25zdAoreworICAgIHJldHVybiBtX2Rlc2NyaXB0
b3IuaGVpZ2h0KCk7Cit9CisKK3ZvaWQgV2ViTWV0YWxUZXh0dXJlRGVzY3JpcHRvcjo6c2V0SGVp
Z2h0KHVuc2lnbmVkIGhlaWdodCkKK3sKKyAgICBtX2Rlc2NyaXB0b3Iuc2V0SGVpZ2h0KGhlaWdo
dCk7Cit9CisKK3Vuc2lnbmVkIFdlYk1ldGFsVGV4dHVyZURlc2NyaXB0b3I6OnNhbXBsZUNvdW50
KCkgY29uc3QKK3sKKyAgICByZXR1cm4gbV9kZXNjcmlwdG9yLnNhbXBsZUNvdW50KCk7Cit9CisK
K3ZvaWQgV2ViTWV0YWxUZXh0dXJlRGVzY3JpcHRvcjo6c2V0U2FtcGxlQ291bnQodW5zaWduZWQg
c2FtcGxlQ291bnQpCit7CisgICAgbV9kZXNjcmlwdG9yLnNldFNhbXBsZUNvdW50KHNhbXBsZUNv
dW50KTsKK30KKwordW5zaWduZWQgV2ViTWV0YWxUZXh0dXJlRGVzY3JpcHRvcjo6dGV4dHVyZVR5
cGUoKSBjb25zdAoreworICAgIHJldHVybiBtX2Rlc2NyaXB0b3IudGV4dHVyZVR5cGUoKTsKK30K
Kwordm9pZCBXZWJNZXRhbFRleHR1cmVEZXNjcmlwdG9yOjpzZXRUZXh0dXJlVHlwZSh1bnNpZ25l
ZCB0ZXh0dXJlVHlwZSkKK3sKKyAgICBtX2Rlc2NyaXB0b3Iuc2V0VGV4dHVyZVR5cGUodGV4dHVy
ZVR5cGUpOworfQorCit1bnNpZ25lZCBXZWJNZXRhbFRleHR1cmVEZXNjcmlwdG9yOjpzdG9yYWdl
TW9kZSgpIGNvbnN0Cit7CisgICAgcmV0dXJuIG1fZGVzY3JpcHRvci5zdG9yYWdlTW9kZSgpOwor
fQorCit2b2lkIFdlYk1ldGFsVGV4dHVyZURlc2NyaXB0b3I6OnNldFN0b3JhZ2VNb2RlKHVuc2ln
bmVkIHN0b3JhZ2VNb2RlKQoreworICAgIG1fZGVzY3JpcHRvci5zZXRTdG9yYWdlTW9kZShzdG9y
YWdlTW9kZSk7Cit9CisKK3Vuc2lnbmVkIFdlYk1ldGFsVGV4dHVyZURlc2NyaXB0b3I6OnVzYWdl
KCkgY29uc3QKK3sKKyAgICByZXR1cm4gbV9kZXNjcmlwdG9yLnVzYWdlKCk7Cit9CisKK3ZvaWQg
V2ViTWV0YWxUZXh0dXJlRGVzY3JpcHRvcjo6c2V0VXNhZ2UodW5zaWduZWQgdXNhZ2UpCit7Cisg
ICAgbV9kZXNjcmlwdG9yLnNldFVzYWdlKHVzYWdlKTsKK30KKyAgICAKK30gLy8gbmFtZXNwYWNl
IFdlYkNvcmUKKworI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZh
cy9XZWJNZXRhbFRleHR1cmVEZXNjcmlwdG9yLmggYi9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZh
cy9XZWJNZXRhbFRleHR1cmVEZXNjcmlwdG9yLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYzQ1MDAyMjNlMWE1NGE2
ZjZkNmVhNGNhNDEyMTZjYjgyNjY0YWI0NwotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2h0bWwvY2FudmFzL1dlYk1ldGFsVGV4dHVyZURlc2NyaXB0b3IuaApAQCAtMCwwICsxLDY4
IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE3IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNl
cnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5
IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBw
cm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEu
IFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29w
eXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9s
bG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0g
bXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxp
c3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICog
ICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhl
IGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExF
IElOQy4gYGBBUyBJUycnIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVT
LCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisgKiBJTVBMSUVEIFdBUlJBTlRJ
RVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBV
UlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SCisg
KiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURF
TlRBTCwgU1BFQ0lBTCwKKyAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJ
TkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRV
VEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgorICogUFJPRklUUzsg
T1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9S
WQorICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZ
LCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5H
IElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYg
QURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI3ByYWdt
YSBvbmNlCisKKyNpZiBFTkFCTEUoV0VCTUVUQUwpCisKKyNpbmNsdWRlICJHUFVUZXh0dXJlRGVz
Y3JpcHRvci5oIgorI2luY2x1ZGUgPHd0Zi9SZWYuaD4KKyNpbmNsdWRlIDx3dGYvUmVmQ291bnRl
ZC5oPgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK2NsYXNzIFdlYk1ldGFsVGV4dHVyZURlc2Ny
aXB0b3IgOiBwdWJsaWMgUmVmQ291bnRlZDxXZWJNZXRhbFRleHR1cmVEZXNjcmlwdG9yPiB7Citw
dWJsaWM6CisgICAgc3RhdGljIFJlZjxXZWJNZXRhbFRleHR1cmVEZXNjcmlwdG9yPiBjcmVhdGUo
dW5zaWduZWQgcGl4ZWxGb3JtYXQsIHVuc2lnbmVkIHdpZHRoLCB1bnNpZ25lZCBoZWlnaHQsIGJv
b2wgbWlwbWFwcGVkKTsKKworICAgIHVuc2lnbmVkIHdpZHRoKCkgY29uc3Q7CisgICAgdm9pZCBz
ZXRXaWR0aCh1bnNpZ25lZCk7CisKKyAgICB1bnNpZ25lZCBoZWlnaHQoKSBjb25zdDsKKyAgICB2
b2lkIHNldEhlaWdodCh1bnNpZ25lZCk7CisKKyAgICB1bnNpZ25lZCBzYW1wbGVDb3VudCgpIGNv
bnN0OworICAgIHZvaWQgc2V0U2FtcGxlQ291bnQodW5zaWduZWQpOworCisgICAgdW5zaWduZWQg
dGV4dHVyZVR5cGUoKSBjb25zdDsKKyAgICB2b2lkIHNldFRleHR1cmVUeXBlKHVuc2lnbmVkKTsK
KworICAgIHVuc2lnbmVkIHN0b3JhZ2VNb2RlKCkgY29uc3Q7CisgICAgdm9pZCBzZXRTdG9yYWdl
TW9kZSh1bnNpZ25lZCk7CisKKyAgICB1bnNpZ25lZCB1c2FnZSgpIGNvbnN0OworICAgIHZvaWQg
c2V0VXNhZ2UodW5zaWduZWQpOworCisgICAgY29uc3QgR1BVVGV4dHVyZURlc2NyaXB0b3ImIGRl
c2NyaXB0b3IoKSB7IHJldHVybiBtX2Rlc2NyaXB0b3I7IH0KKworcHJpdmF0ZToKKyAgICBXZWJN
ZXRhbFRleHR1cmVEZXNjcmlwdG9yKHVuc2lnbmVkIHBpeGVsRm9ybWF0LCB1bnNpZ25lZCB3aWR0
aCwgdW5zaWduZWQgaGVpZ2h0LCBib29sIG1pcG1hcHBlZCk7CisKKyAgICBHUFVUZXh0dXJlRGVz
Y3JpcHRvciBtX2Rlc2NyaXB0b3I7Cit9OworCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKKyNl
bmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViTWV0YWxUZXh0
dXJlRGVzY3JpcHRvci5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJNZXRhbFRl
eHR1cmVEZXNjcmlwdG9yLmlkbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xYTVmN2YxZjI4MWJmNWE3OTMwZjRiYmVi
ZDc3M2U1MGYyNmMyOTIxCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9j
YW52YXMvV2ViTWV0YWxUZXh0dXJlRGVzY3JpcHRvci5pZGwKQEAgLTAsMCArMSw0MyBAQAorLyoK
KyAqIENvcHlyaWdodCAoQykgMjAxNyBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisg
KgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywg
d2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQg
dGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3Ry
aWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAor
ICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBk
aXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVw
cm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNv
bmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3Vt
ZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmli
dXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIGBg
QVMgSVMnJyBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVE
SU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQorICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1F
UkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFS
RSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUgorICogQ09OVFJJ
QlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQ
RUNJQUwsCisgKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5H
LCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RT
IE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKKyAqIFBST0ZJVFM7IE9SIEJVU0lO
RVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKKyAqIE9G
IExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9S
VAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkg
V0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQg
T0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKK1sKKyAgICBDb25zdHJ1
Y3Rvcih1bnNpZ25lZCBsb25nIHBpeGVsRm9ybWF0LCB1bnNpZ25lZCBsb25nIHdpZHRoLCB1bnNp
Z25lZCBsb25nIGhlaWdodCwgYm9vbGVhbiBtaXBtYXBwZWQpLAorICAgIENvbmRpdGlvbmFsPVdF
Qk1FVEFMLAorICAgIEVuYWJsZWRBdFJ1bnRpbWU9V2ViTWV0YWwsCisgICAgSW1wbGVtZW50YXRp
b25MYWNrc1ZUYWJsZQorXSBpbnRlcmZhY2UgV2ViTWV0YWxUZXh0dXJlRGVzY3JpcHRvciB7CisK
KyAgICBhdHRyaWJ1dGUgdW5zaWduZWQgbG9uZyB0ZXh0dXJlVHlwZTsKKworICAgIGF0dHJpYnV0
ZSB1bnNpZ25lZCBsb25nIHdpZHRoOworICAgIGF0dHJpYnV0ZSB1bnNpZ25lZCBsb25nIGhlaWdo
dDsKKyAgICBhdHRyaWJ1dGUgdW5zaWduZWQgbG9uZyBzYW1wbGVDb3VudDsKKworICAgIGF0dHJp
YnV0ZSB1bnNpZ25lZCBsb25nIHN0b3JhZ2VNb2RlOworCisgICAgYXR0cmlidXRlIHVuc2lnbmVk
IGxvbmcgdXNhZ2U7CisKK307CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3Iv
SW5zcGVjdG9yQ2FudmFzLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JD
YW52YXMuY3BwCmluZGV4IDdlYzU3NTE2NjcyZjEzZDcyZGM0NzMwMzJmNDUzMjZhMjA0M2RlN2Mu
LjU1YTU2ZjVlZTA0NDI1Y2IxZmQ4YjBjNzYwMTVlMDA5MDg4NWI5N2QgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JDYW52YXMuY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JDYW52YXMuY3BwCkBAIC02NCw4ICs2NCw4IEBACiAj
aWYgRU5BQkxFKFdFQkdMMikKICNpbmNsdWRlICJXZWJHTDJSZW5kZXJpbmdDb250ZXh0LmgiCiAj
ZW5kaWYKLSNpZiBFTkFCTEUoV0VCR1BVKQotI2luY2x1ZGUgIldlYkdQVVJlbmRlcmluZ0NvbnRl
eHQuaCIKKyNpZiBFTkFCTEUoV0VCTUVUQUwpCisjaW5jbHVkZSAiV2ViTWV0YWxSZW5kZXJpbmdD
b250ZXh0LmgiCiAjZW5kaWYKICNpbmNsdWRlIDxKYXZhU2NyaXB0Q29yZS9JZGVudGlmaWVyc0Zh
Y3RvcnkuaD4KICNpbmNsdWRlIDxKYXZhU2NyaXB0Q29yZS9TY3JpcHRDYWxsU3RhY2suaD4KQEAg
LTIzMiw5ICsyMzIsOSBAQCBSZWY8SW5zcGVjdG9yOjpQcm90b2NvbDo6Q2FudmFzOjpDYW52YXM+
IEluc3BlY3RvckNhbnZhczo6YnVpbGRPYmplY3RGb3JDYW52YXMoSQogICAgIGVsc2UgaWYgKGlz
PFdlYkdMMlJlbmRlcmluZ0NvbnRleHQ+KG1fY29udGV4dCkpCiAgICAgICAgIGNvbnRleHRUeXBl
ID0gSW5zcGVjdG9yOjpQcm90b2NvbDo6Q2FudmFzOjpDb250ZXh0VHlwZTo6V2ViR0wyOwogI2Vu
ZGlmCi0jaWYgRU5BQkxFKFdFQkdQVSkKLSAgICBlbHNlIGlmIChpczxXZWJHUFVSZW5kZXJpbmdD
b250ZXh0PihtX2NvbnRleHQpKQotICAgICAgICBjb250ZXh0VHlwZSA9IEluc3BlY3Rvcjo6UHJv
dG9jb2w6OkNhbnZhczo6Q29udGV4dFR5cGU6OldlYkdQVTsKKyNpZiBFTkFCTEUoV0VCTUVUQUwp
CisgICAgZWxzZSBpZiAoaXM8V2ViTWV0YWxSZW5kZXJpbmdDb250ZXh0PihtX2NvbnRleHQpKQor
ICAgICAgICBjb250ZXh0VHlwZSA9IEluc3BlY3Rvcjo6UHJvdG9jb2w6OkNhbnZhczo6Q29udGV4
dFR5cGU6OldlYk1ldGFsOwogI2VuZGlmCiAgICAgZWxzZSB7CiAgICAgICAgIEFTU0VSVF9OT1Rf
UkVBQ0hFRCgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2FnZW50cy9J
bnNwZWN0b3JDYW52YXNBZ2VudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvYWdlbnRz
L0luc3BlY3RvckNhbnZhc0FnZW50LmNwcAppbmRleCAxNTQ2ZDUwODcxZTNkMDQzZWYzOGE3Y2E5
NGI2NDg4YzhkNjZjMTAyLi45ZjMzM2M2OGI2YTBhYzZkNjM4YjExOTgwNzdiNDJlOWRmZTAxZTQ3
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvYWdlbnRzL0luc3BlY3RvckNh
bnZhc0FnZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvYWdlbnRzL0luc3Bl
Y3RvckNhbnZhc0FnZW50LmNwcApAQCAtNTYsOCArNTYsOCBAQAogI2luY2x1ZGUgIkpTV2ViR0wy
UmVuZGVyaW5nQ29udGV4dC5oIgogI2VuZGlmCiAKLSNpZiBFTkFCTEUoV0VCR1BVKQotI2luY2x1
ZGUgIkpTV2ViR1BVUmVuZGVyaW5nQ29udGV4dC5oIgorI2lmIEVOQUJMRShXRUJNRVRBTCkKKyNp
bmNsdWRlICJKU1dlYk1ldGFsUmVuZGVyaW5nQ29udGV4dC5oIgogI2VuZGlmCiAKIApAQCAtMTk5
LDcgKzE5OSw3IEBAIHZvaWQgSW5zcGVjdG9yQ2FudmFzQWdlbnQ6OnJlcXVlc3RDb250ZW50KEVy
cm9yU3RyaW5nJiBlcnJvclN0cmluZywgY29uc3QgU3RyaW5nCiAjZW5kaWYKICAgICB9CiAKLSAg
ICAvLyBGSVhNRTogPGh0dHBzOi8vd2Via2l0Lm9yZy9iLzE3MzYyMT4gV2ViIEluc3BlY3Rvcjog
U3VwcG9ydCBnZXR0aW5nIHRoZSBjb250ZW50IG9mIFdlYkdQVSBjb250ZXh0OworICAgIC8vIEZJ
WE1FOiA8aHR0cHM6Ly93ZWJraXQub3JnL2IvMTczNjIxPiBXZWIgSW5zcGVjdG9yOiBTdXBwb3J0
IGdldHRpbmcgdGhlIGNvbnRlbnQgb2YgV2ViTWV0YWwgY29udGV4dDsKICAgICBlcnJvclN0cmlu
ZyA9ICJVbnN1cHBvcnRlZCBjYW52YXMgY29udGV4dCB0eXBlIl9zOwogfQogCkBAIC0yMzAsOSAr
MjMwLDkgQEAgc3RhdGljIEpTQzo6SlNWYWx1ZSBjb250ZXh0QXNTY3JpcHRWYWx1ZShKU0M6OkV4
ZWNTdGF0ZSYgc3RhdGUsIENhbnZhc1JlbmRlcmluZ0MKICAgICBpZiAoaXM8V2ViR0wyUmVuZGVy
aW5nQ29udGV4dD4oY29udGV4dCkpCiAgICAgICAgIHJldHVybiB0b0pTKCZzdGF0ZSwgZGVwcmVj
YXRlZEdsb2JhbE9iamVjdEZvclByb3RvdHlwZSgmc3RhdGUpLCBkb3duY2FzdDxXZWJHTDJSZW5k
ZXJpbmdDb250ZXh0Pihjb250ZXh0KSk7CiAjZW5kaWYKLSNpZiBFTkFCTEUoV0VCR1BVKQotICAg
IGlmIChpczxXZWJHUFVSZW5kZXJpbmdDb250ZXh0Pihjb250ZXh0KSkKLSAgICAgICAgcmV0dXJu
IHRvSlMoJnN0YXRlLCBkZXByZWNhdGVkR2xvYmFsT2JqZWN0Rm9yUHJvdG90eXBlKCZzdGF0ZSks
IGRvd25jYXN0PFdlYkdQVVJlbmRlcmluZ0NvbnRleHQ+KGNvbnRleHQpKTsKKyNpZiBFTkFCTEUo
V0VCTUVUQUwpCisgICAgaWYgKGlzPFdlYk1ldGFsUmVuZGVyaW5nQ29udGV4dD4oY29udGV4dCkp
CisgICAgICAgIHJldHVybiB0b0pTKCZzdGF0ZSwgZGVwcmVjYXRlZEdsb2JhbE9iamVjdEZvclBy
b3RvdHlwZSgmc3RhdGUpLCBkb3duY2FzdDxXZWJNZXRhbFJlbmRlcmluZ0NvbnRleHQ+KGNvbnRl
eHQpKTsKICNlbmRpZgogICAgIGlmIChpczxJbWFnZUJpdG1hcFJlbmRlcmluZ0NvbnRleHQ+KGNv
bnRleHQpKQogICAgICAgICByZXR1cm4gdG9KUygmc3RhdGUsIGRlcHJlY2F0ZWRHbG9iYWxPYmpl
Y3RGb3JQcm90b3R5cGUoJnN0YXRlKSwgZG93bmNhc3Q8SW1hZ2VCaXRtYXBSZW5kZXJpbmdDb250
ZXh0Pihjb250ZXh0KSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1J1bnRpbWVF
bmFibGVkRmVhdHVyZXMuaCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUnVudGltZUVuYWJsZWRGZWF0
dXJlcy5oCmluZGV4IDcxZTYyZTVlNjU1YzAzOWMyMWE3OTY5NjliMzRkZTdkYjg5MjliMjAuLmUz
YzA0Y2Q0ZjNiMzJmODU3ODkxZGZlZjYyZmRmZjViNTFiMGY5YjAgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3BhZ2UvUnVudGltZUVuYWJsZWRGZWF0dXJlcy5oCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3BhZ2UvUnVudGltZUVuYWJsZWRGZWF0dXJlcy5oCkBAIC0yNDcsOSArMjQ3LDkgQEAgcHVi
bGljOgogICAgIGJvb2wgd2ViR0wyRW5hYmxlZCgpIGNvbnN0IHsgcmV0dXJuIG1faXNXZWJHTDJF
bmFibGVkOyB9CiAjZW5kaWYKIAotI2lmIEVOQUJMRShXRUJHUFUpCi0gICAgdm9pZCBzZXRXZWJH
UFVFbmFibGVkKGJvb2wgaXNFbmFibGVkKSB7IG1faXNXZWJHUFVFbmFibGVkID0gaXNFbmFibGVk
OyB9Ci0gICAgYm9vbCB3ZWJHUFVFbmFibGVkKCkgY29uc3QgeyByZXR1cm4gbV9pc1dlYkdQVUVu
YWJsZWQ7IH0KKyNpZiBFTkFCTEUoV0VCTUVUQUwpCisgICAgdm9pZCBzZXRXZWJNZXRhbEVuYWJs
ZWQoYm9vbCBpc0VuYWJsZWQpIHsgbV9pc1dlYk1ldGFsRW5hYmxlZCA9IGlzRW5hYmxlZDsgfQor
ICAgIGJvb2wgd2ViTWV0YWxFbmFibGVkKCkgY29uc3QgeyByZXR1cm4gbV9pc1dlYk1ldGFsRW5h
YmxlZDsgfQogI2VuZGlmCiAKICNpZiBFTkFCTEUoU1RSRUFNU19BUEkpCkBAIC00MDAsOCArNDAw
LDggQEAgcHJpdmF0ZToKICAgICBib29sIG1faXNXZWJHTDJFbmFibGVkIHsgZmFsc2UgfTsKICNl
bmRpZgogCi0jaWYgRU5BQkxFKFdFQkdQVSkKLSAgICBib29sIG1faXNXZWJHUFVFbmFibGVkIHsg
ZmFsc2UgfTsKKyNpZiBFTkFCTEUoV0VCTUVUQUwpCisgICAgYm9vbCBtX2lzV2ViTWV0YWxFbmFi
bGVkIHsgZmFsc2UgfTsKICNlbmRpZgogCiAjaWYgRU5BQkxFKERPV05MT0FEX0FUVFJJQlVURSkK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL0xvZ2dpbmcuaCBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL0xvZ2dpbmcuaAppbmRleCAzOTBlMzc1ZjdmZmQ2OGY0ZDdiNzRmMDFm
NTllZjFhZmRjZWMzOGYxLi5mMTA1NjdkNmMyNDJlMGQwOTQyYTI4NTgwYzBiMzkwMDJiNDAyMDBk
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9Mb2dnaW5nLmgKKysrIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vTG9nZ2luZy5oCkBAIC05OSw3ICs5OSw3IEBAIG5hbWVzcGFj
ZSBXZWJDb3JlIHsKICAgICBNKFZpZXdwb3J0cykgXAogICAgIE0oV2ViQXVkaW8pIFwKICAgICBN
KFdlYkdMKSBcCi0gICAgTShXZWJHUFUpIFwKKyAgICBNKFdlYk1ldGFsKSBcCiAgICAgTShXZWJS
VEMpIFwKICAgICBNKFdoZWVsRXZlbnRUZXN0VHJpZ2dlcnMpIFwKIApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2EvY29jb2EvUGxhdGZvcm1DQUxheWVyQ29j
b2EubW0gYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jYS9jb2NvYS9QbGF0Zm9y
bUNBTGF5ZXJDb2NvYS5tbQppbmRleCBjZTAyZTA5YTIyNTdhNWNkNDc3MjA3YTRhNTJiMTg2MWI4
MjYzMjJhLi42YmUxZWY3OTM2MjAxNTZiOGU1MTdlYTQ4NzhkMzI4MzBhYjkzNzQwIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jYS9jb2NvYS9QbGF0Zm9ybUNB
TGF5ZXJDb2NvYS5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jYS9j
b2NvYS9QbGF0Zm9ybUNBTGF5ZXJDb2NvYS5tbQpAQCAtNDAsOCArNDAsOCBAQAogI2ltcG9ydCAi
V2ViR0xMYXllci5oIgogI2ltcG9ydCA8cGFsL3NwaS9jb2NvYS9RdWFydHpDb3JlU1BJLmg+CiAj
aW1wb3J0IDx3dGYvU29mdExpbmtpbmcuaD4KLSNpZiBFTkFCTEUoV0VCR1BVKQotI2ltcG9ydCAi
V2ViR1BVTGF5ZXIuaCIKKyNpZiBFTkFCTEUoV0VCTUVUQUwpCisjaW1wb3J0ICJXZWJNZXRhbExh
eWVyLmgiCiAjZW5kaWYKICNpbXBvcnQgIldlYkxheWVyLmgiCiAjaW1wb3J0ICJXZWJTeXN0ZW1C
YWNrZHJvcExheWVyLmgiCkBAIC0yMDMsOCArMjAzLDggQEAgUGxhdGZvcm1DQUxheWVyOjpMYXll
clR5cGUgUGxhdGZvcm1DQUxheWVyQ29jb2E6OmxheWVyVHlwZUZvclBsYXRmb3JtTGF5ZXIoUGxh
dGYKICAgICBpZiAoW2xheWVyIGlzS2luZE9mQ2xhc3M6W1dlYkdMTGF5ZXIgY2xhc3NdXSkKICAg
ICAgICAgcmV0dXJuIExheWVyVHlwZUNvbnRlbnRzUHJvdmlkZWRMYXllcjsKIAotI2lmIEVOQUJM
RShXRUJHUFUpCi0gICAgaWYgKFtsYXllciBpc0tpbmRPZkNsYXNzOltXZWJHUFVMYXllciBjbGFz
c11dKQorI2lmIEVOQUJMRShXRUJNRVRBTCkKKyAgICBpZiAoW2xheWVyIGlzS2luZE9mQ2xhc3M6
W1dlYk1ldGFsTGF5ZXIgY2xhc3NdXSkKICAgICAgICAgcmV0dXJuIExheWVyVHlwZUNvbnRlbnRz
UHJvdmlkZWRMYXllcjsKICNlbmRpZgogCkBAIC0yNTksNyArMjU5LDcgQEAgUGxhdGZvcm1DQUxh
eWVyQ29jb2E6OlBsYXRmb3JtQ0FMYXllckNvY29hKExheWVyVHlwZSBsYXllclR5cGUsIFBsYXRm
b3JtQ0FMYXllckMKICAgICAgICAgbGF5ZXJDbGFzcyA9IGdldEFWUGxheWVyTGF5ZXJDbGFzcygp
OwogICAgICAgICBicmVhazsKICAgICBjYXNlIExheWVyVHlwZUNvbnRlbnRzUHJvdmlkZWRMYXll
cjoKLSAgICAgICAgLy8gV2UgZG9uJ3QgY3JlYXRlIFBsYXRmb3JtQ0FMYXllckNvY29hcyB3cmFw
cGVkIGFyb3VuZCBXZWJHTExheWVycyBvciBXZWJHUFVMYXllcnMuCisgICAgICAgIC8vIFdlIGRv
bid0IGNyZWF0ZSBQbGF0Zm9ybUNBTGF5ZXJDb2NvYXMgd3JhcHBlZCBhcm91bmQgV2ViR0xMYXll
cnMgb3IgV2ViTWV0YWxMYXllcnMuCiAgICAgICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOwogICAg
ICAgICBicmVhazsKICAgICBjYXNlIExheWVyVHlwZVNoYXBlTGF5ZXI6CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jb2NvYS9XZWJHUFVMYXllci5oIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY29jb2EvV2ViR1BVTGF5ZXIuaApkZWxldGVk
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMzkzNjJlNGQwMDhlOTIxODcyMDY4OGY3Njc4ODJlNTU5
MWNlNjFiNS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jb2NvYS9XZWJHUFVMYXllci5oCisrKyAv
ZGV2L251bGwKQEAgLTEsNTQgKzAsMCBAQAotLyoKLSAqIENvcHlyaWdodCAoQykgMjAxNyBBcHBs
ZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0gKgotICogUmVkaXN0cmlidXRpb24gYW5kIHVz
ZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Ci0gKiBtb2RpZmlj
YXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlv
bnMKLSAqIGFyZSBtZXQ6Ci0gKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVz
dCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2Yg
Y29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgotICogMi4gUmVkaXN0cmli
dXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQK
LSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcg
ZGlzY2xhaW1lciBpbiB0aGUKLSAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVy
aWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCi0gKgotICogVEhJUyBTT0ZUV0FS
RSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCi0gKiBFWFBSRVNT
IE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRI
RQotICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBG
T1IgQSBQQVJUSUNVTEFSCi0gKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQg
U0hBTEwgQVBQTEUgSU5DLiBPUgotICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJ
UkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCi0gKiBFWEVNUExBUlksIE9SIENP
TlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCi0gKiBQ
Uk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwg
REFUQSwgT1IKLSAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBD
QVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKLSAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05U
UkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAotICogKElOQ0xVRElORyBORUdMSUdFTkNF
IE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCi0gKiBPRiBU
SElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0gg
REFNQUdFLgotICovCi0KLSNwcmFnbWEgb25jZQotCi0jaWYgRU5BQkxFKFdFQkdQVSkKLQotI2lt
cG9ydCA8TWV0YWwvTWV0YWwuaD4KLSNpbXBvcnQgPFF1YXJ0ekNvcmUvUXVhcnR6Q29yZS5oPgot
Ci1uYW1lc3BhY2UgV2ViQ29yZSB7Ci1jbGFzcyBHUFVEZXZpY2U7Ci19Ci0KLSNpZiAhUExBVEZP
Uk0oSU9TX1NJTVVMQVRPUikKLUBpbnRlcmZhY2UgV2ViR1BVTGF5ZXIgOiBDQU1ldGFsTGF5ZXIg
ewotI2Vsc2UKLUBpbnRlcmZhY2UgV2ViR1BVTGF5ZXIgOiBDQUxheWVyIHsgLy8gRklYTUU6IFdl
YkdQVSAtIERpc2FibGUgV2ViR1BVIG9uIGlPUyBzaW11bGF0b3I/Ci0jZW5kaWYKLSAgICBXZWJD
b3JlOjpHUFVEZXZpY2UqIF9jb250ZXh0OwotICAgIGZsb2F0IF9kZXZpY2VQaXhlbFJhdGlvOwot
fQotCi1AcHJvcGVydHkgKG5vbmF0b21pYykgV2ViQ29yZTo6R1BVRGV2aWNlKiBjb250ZXh0Owot
Ci0tIChpZClpbml0V2l0aEdQVURldmljZTooV2ViQ29yZTo6R1BVRGV2aWNlKiljb250ZXh0Owot
Ci0tIChDR0ltYWdlUmVmKWNvcHlJbWFnZVNuYXBzaG90V2l0aENvbG9yU3BhY2U6KENHQ29sb3JT
cGFjZVJlZiljb2xvclNwYWNlOwotCi1AZW5kCi0KLSNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY29jb2EvV2ViR1BVTGF5ZXIubW0gYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jb2NvYS9XZWJHUFVMYXllci5tbQpkZWxldGVkIGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMjVlZmI4Yjc0NzY4MDI0NTU4ZGJjZGYzMGY3NDMxODcxNDY5
NTVhOC4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jb2NvYS9XZWJHUFVMYXllci5tbQorKysgL2Rl
di9udWxsCkBAIC0xLDc0ICswLDAgQEAKLS8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTUgQXBwbGUg
SW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgotICoKLSAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2Ug
aW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAotICogbW9kaWZpY2F0
aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25z
Ci0gKiBhcmUgbWV0OgotICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3Qg
cmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNv
bmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KLSAqIDIuIFJlZGlzdHJpYnV0
aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Ci0g
KiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRp
c2NsYWltZXIgaW4gdGhlCi0gKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlh
bHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgotICoKLSAqIFRISVMgU09GVFdBUkUg
SVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBgYEFTIElTJycgQU5EIEFOWQotICogRVhQUkVTUyBP
UiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUK
LSAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9S
IEEgUEFSVElDVUxBUgotICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNI
QUxMIEFQUExFIElOQy4gT1IKLSAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJF
Q1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAotICogRVhFTVBMQVJZLCBPUiBDT05T
RVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAotICogUFJP
Q1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERB
VEEsIE9SCi0gKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FV
U0VEIEFORCBPTiBBTlkgVEhFT1JZCi0gKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJB
Q1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKLSAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBP
UiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQotICogT0YgVEhJ
UyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERB
TUFHRS4KLSAqLwotCi0jaW5jbHVkZSAiY29uZmlnLmgiCi0jaW1wb3J0ICJXZWJHUFVMYXllci5o
IgotCi0jaWYgRU5BQkxFKFdFQkdQVSkKLQotI2ltcG9ydCAiR1BVRGV2aWNlLmgiCi0jaW1wb3J0
ICJHcmFwaGljc0NvbnRleHRDRy5oIgotI2ltcG9ydCAiR3JhcGhpY3NMYXllci5oIgotI2ltcG9y
dCA8d3RmL0Zhc3RNYWxsb2MuaD4KLSNpbXBvcnQgPHd0Zi9SZXRhaW5QdHIuaD4KLQotQGltcGxl
bWVudGF0aW9uIFdlYkdQVUxheWVyCi0KLUBzeW50aGVzaXplIGNvbnRleHQ9X2NvbnRleHQ7Ci0K
LS0gKGlkKWluaXRXaXRoR1BVRGV2aWNlOihXZWJDb3JlOjpHUFVEZXZpY2UqKWNvbnRleHQKLXsK
LSAgICBzZWxmID0gW3N1cGVyIGluaXRdOwotICAgIF9jb250ZXh0ID0gY29udGV4dDsKLQotICAg
IC8vIEZJWE1FOiBXZWJHUFUgLSBoYW5kbGUgcmV0aW5hIGNvcnJlY3RseS4KLSAgICBfZGV2aWNl
UGl4ZWxSYXRpbyA9IDE7Ci0KLSNpZiBQTEFURk9STShNQUMpCi0gICAgc2VsZi5jb250ZW50c1Nj
YWxlID0gX2RldmljZVBpeGVsUmF0aW87Ci0gICAgc2VsZi5jb2xvcnNwYWNlID0gV2ViQ29yZTo6
c1JHQkNvbG9yU3BhY2VSZWYoKTsKLSNlbmRpZgotICAgIHJldHVybiBzZWxmOwotfQotCi0tIChD
R0ltYWdlUmVmKWNvcHlJbWFnZVNuYXBzaG90V2l0aENvbG9yU3BhY2U6KENHQ29sb3JTcGFjZVJl
Ziljb2xvclNwYWNlCi17Ci0gICAgaWYgKCFfY29udGV4dCkKLSAgICAgICAgcmV0dXJuIG51bGxw
dHI7Ci0KLSAgICBVTlVTRURfUEFSQU0oY29sb3JTcGFjZSk7Ci0gICAgcmV0dXJuIG51bGxwdHI7
Ci19Ci0KLS0gKHZvaWQpZGlzcGxheQotewotICAgIC8vIFRoaXMgaXMgYSBuby1vcC4gV2UgZG9u
J3QgbmVlZCB0bwotICAgIC8vIGNhbGwgZGlzcGxheSAtIGluc3RlYWQgd2UgcHJlc2VudAotICAg
IC8vIGEgZHJhd2FibGUgZnJvbSBvdXIgY29udGV4dC4KLX0KLQotQGVuZAotCi0jZW5kaWYKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NvY29hL1dlYk1ldGFs
TGF5ZXIuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NvY29hL1dlYk1ldGFs
TGF5ZXIuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi45ODA5YTc3ZGY5NDVlNDNhNTA2MTgxNWU5MGI5YmRiNWU1N2Q3
MTFlCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
Y29jb2EvV2ViTWV0YWxMYXllci5oCkBAIC0wLDAgKzEsNTQgQEAKKy8qCisgKiBDb3B5cmlnaHQg
KEMpIDIwMTcgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJp
YnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91
dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxv
d2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNv
dXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwg
dGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAq
IDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJv
dmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9v
ciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAq
IFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBgYEFTIElTJycgQU5EIEFO
WQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBM
SU1JVEVEIFRPLCBUSEUKKyAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkg
QU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4g
IElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IKKyAqIENPTlRSSUJVVE9SUyBCRSBMSUFC
TEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAorICogRVhF
TVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1J
VEVEIFRPLAorICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsg
TE9TUyBPRiBVU0UsIERBVEEsIE9SCisgKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJ
T04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCisgKiBPRiBMSUFCSUxJVFksIFdI
RVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJ
TkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhF
IFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJ
TElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjcHJhZ21hIG9uY2UKKworI2lmIEVOQUJMRShX
RUJNRVRBTCkKKworI2ltcG9ydCA8TWV0YWwvTWV0YWwuaD4KKyNpbXBvcnQgPFF1YXJ0ekNvcmUv
UXVhcnR6Q29yZS5oPgorCituYW1lc3BhY2UgV2ViQ29yZSB7CitjbGFzcyBHUFVEZXZpY2U7Cit9
CisKKyNpZiAhUExBVEZPUk0oSU9TX1NJTVVMQVRPUikKK0BpbnRlcmZhY2UgV2ViTWV0YWxMYXll
ciA6IENBTWV0YWxMYXllciB7CisjZWxzZQorQGludGVyZmFjZSBXZWJNZXRhbExheWVyIDogQ0FM
YXllciB7IC8vIEZJWE1FOiBXZWJNZXRhbCAtIERpc2FibGUgV2ViTWV0YWwgb24gaU9TIHNpbXVs
YXRvcj8KKyNlbmRpZgorICAgIFdlYkNvcmU6OkdQVURldmljZSogX2NvbnRleHQ7CisgICAgZmxv
YXQgX2RldmljZVBpeGVsUmF0aW87Cit9CisKK0Bwcm9wZXJ0eSAobm9uYXRvbWljKSBXZWJDb3Jl
OjpHUFVEZXZpY2UqIGNvbnRleHQ7CisKKy0gKGlkKWluaXRXaXRoR1BVRGV2aWNlOihXZWJDb3Jl
OjpHUFVEZXZpY2UqKWNvbnRleHQ7CisKKy0gKENHSW1hZ2VSZWYpY29weUltYWdlU25hcHNob3RX
aXRoQ29sb3JTcGFjZTooQ0dDb2xvclNwYWNlUmVmKWNvbG9yU3BhY2U7CisKK0BlbmQKKworI2Vu
ZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jb2NvYS9X
ZWJNZXRhbExheWVyLm1tIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY29jb2Ev
V2ViTWV0YWxMYXllci5tbQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi45MWMwMjMzNTczNzY4NDAxMzIxY2QzOGRjYTg5
NjY3OTdlM2ZhZGM0Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvY29jb2EvV2ViTWV0YWxMYXllci5tbQpAQCAtMCwwICsxLDc0IEBACisvKgorICog
Q29weXJpZ2h0IChDKSAyMDE1IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisg
KiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRo
IG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0
IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0
aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAg
ICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2Ns
YWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1
Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0
aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRh
dGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlv
bi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gYGBBUyBJ
UycnIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcs
IEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisgKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hB
TlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJ
U0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SCisgKiBDT05UUklCVVRP
UlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lB
TCwKKyAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJV
VCBOT1QgTElNSVRFRCBUTywKKyAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1Ig
U0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgorICogUFJPRklUUzsgT1IgQlVTSU5FU1Mg
SU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQorICogT0YgTElB
QklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisg
KiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkg
T1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBU
SEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5o
IgorI2ltcG9ydCAiV2ViTWV0YWxMYXllci5oIgorCisjaWYgRU5BQkxFKFdFQk1FVEFMKQorCisj
aW1wb3J0ICJHUFVEZXZpY2UuaCIKKyNpbXBvcnQgIkdyYXBoaWNzQ29udGV4dENHLmgiCisjaW1w
b3J0ICJHcmFwaGljc0xheWVyLmgiCisjaW1wb3J0IDx3dGYvRmFzdE1hbGxvYy5oPgorI2ltcG9y
dCA8d3RmL1JldGFpblB0ci5oPgorCitAaW1wbGVtZW50YXRpb24gV2ViTWV0YWxMYXllcgorCitA
c3ludGhlc2l6ZSBjb250ZXh0PV9jb250ZXh0OworCistIChpZClpbml0V2l0aEdQVURldmljZToo
V2ViQ29yZTo6R1BVRGV2aWNlKiljb250ZXh0Cit7CisgICAgc2VsZiA9IFtzdXBlciBpbml0XTsK
KyAgICBfY29udGV4dCA9IGNvbnRleHQ7CisKKyAgICAvLyBGSVhNRTogV2ViTWV0YWwgLSBoYW5k
bGUgcmV0aW5hIGNvcnJlY3RseS4KKyAgICBfZGV2aWNlUGl4ZWxSYXRpbyA9IDE7CisKKyNpZiBQ
TEFURk9STShNQUMpCisgICAgc2VsZi5jb250ZW50c1NjYWxlID0gX2RldmljZVBpeGVsUmF0aW87
CisgICAgc2VsZi5jb2xvcnNwYWNlID0gV2ViQ29yZTo6c1JHQkNvbG9yU3BhY2VSZWYoKTsKKyNl
bmRpZgorICAgIHJldHVybiBzZWxmOworfQorCistIChDR0ltYWdlUmVmKWNvcHlJbWFnZVNuYXBz
aG90V2l0aENvbG9yU3BhY2U6KENHQ29sb3JTcGFjZVJlZiljb2xvclNwYWNlCit7CisgICAgaWYg
KCFfY29udGV4dCkKKyAgICAgICAgcmV0dXJuIG51bGxwdHI7CisKKyAgICBVTlVTRURfUEFSQU0o
Y29sb3JTcGFjZSk7CisgICAgcmV0dXJuIG51bGxwdHI7Cit9CisKKy0gKHZvaWQpZGlzcGxheQor
eworICAgIC8vIFRoaXMgaXMgYSBuby1vcC4gV2UgZG9uJ3QgbmVlZCB0bworICAgIC8vIGNhbGwg
ZGlzcGxheSAtIGluc3RlYWQgd2UgcHJlc2VudAorICAgIC8vIGEgZHJhd2FibGUgZnJvbSBvdXIg
Y29udGV4dC4KK30KKworQGVuZAorCisjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL2dwdS9HUFVCdWZmZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvZ3B1L0dQVUJ1ZmZlci5jcHAKaW5kZXggMDFiMWVlNzM1NDNhMDM2MDQy
NmViMDIxMDkyNDhjMTgzNmRhMDQ4Ni4uNjU4MTBiNjYyZjc4NDFkN2JjNTQxNTJkMDdiZTNkN2Zk
MWVlOWNiMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1
L0dQVUJ1ZmZlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1
L0dQVUJ1ZmZlci5jcHAKQEAgLTI2LDcgKzI2LDcgQEAKICNpbmNsdWRlICJjb25maWcuaCIKICNp
bmNsdWRlICJHUFVCdWZmZXIuaCIKIAotI2lmIEVOQUJMRShXRUJHUFUpCisjaWYgRU5BQkxFKFdF
Qk1FVEFMKQogCiAjaW5jbHVkZSAiTG9nZ2luZy5oIgogI2luY2x1ZGUgPEphdmFTY3JpcHRDb3Jl
L0FycmF5QnVmZmVyLmg+CkBAIC0zNSw3ICszNSw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAog
R1BVQnVmZmVyOjp+R1BVQnVmZmVyKCkKIHsKLSAgICBMT0coV2ViR1BVLCAiR1BVQnVmZmVyOjp+
R1BVQnVmZmVyKCkiKTsKKyAgICBMT0coV2ViTWV0YWwsICJHUFVCdWZmZXI6On5HUFVCdWZmZXIo
KSIpOwogfQogCiB1bnNpZ25lZCBHUFVCdWZmZXI6Omxlbmd0aCgpIGNvbnN0CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9ncHUvR1BVQnVmZmVyLmggYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9ncHUvR1BVQnVmZmVyLmgKaW5kZXggYjU3MjEz
M2NhMjg4ZWIwODVkOTM5Y2I1MDc5OGNlZTgyNzA0MTE2Mi4uZTgyZTY5NGEyMTk3MjY3MjI5YWI3
MmE3ZjBkNjNjNzBlZDM4YWUxZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvZ3B1L0dQVUJ1ZmZlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL2dwdS9HUFVCdWZmZXIuaApAQCAtMjUsNyArMjUsNyBAQAogCiAjcHJhZ21hIG9uY2UK
IAotI2lmIEVOQUJMRShXRUJHUFUpCisjaWYgRU5BQkxFKFdFQk1FVEFMKQogCiAjaW5jbHVkZSA8
d3RmL1JlZlB0ci5oPgogI2luY2x1ZGUgPHd0Zi9SZXRhaW5QdHIuaD4KZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dwdS9HUFVDb21tYW5kQnVmZmVyLmNwcCBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dwdS9HUFVDb21tYW5kQnVmZmVyLmNw
cAppbmRleCAyODJjODI5MDgzMzM4NWVhZjdmYWMyZWZjYTgzYTZmN2UxN2NkYjI5Li4wMjFkZmIy
YzVjNjgzYWVlZGQ2MjNjOTExYmVjZDBjMzhjMGE4ZDlmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9ncHUvR1BVQ29tbWFuZEJ1ZmZlci5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L0dQVUNvbW1hbmRCdWZmZXIuY3BwCkBA
IC0yNyw3ICsyNyw3IEBACiAjaW5jbHVkZSAiY29uZmlnLmgiCiAjaW5jbHVkZSAiR1BVQ29tbWFu
ZEJ1ZmZlci5oIgogCi0jaWYgRU5BQkxFKFdFQkdQVSkKKyNpZiBFTkFCTEUoV0VCTUVUQUwpCiAK
ICNpbmNsdWRlICJMb2dnaW5nLmgiCiAKQEAgLTM1LDcgKzM1LDcgQEAgbmFtZXNwYWNlIFdlYkNv
cmUgewogCiBHUFVDb21tYW5kQnVmZmVyOjp+R1BVQ29tbWFuZEJ1ZmZlcigpCiB7Ci0gICAgTE9H
KFdlYkdQVSwgIkdQVUNvbW1hbmRCdWZmZXI6On5HUFVDb21tYW5kQnVmZmVyKCkiKTsKKyAgICBM
T0coV2ViTWV0YWwsICJHUFVDb21tYW5kQnVmZmVyOjp+R1BVQ29tbWFuZEJ1ZmZlcigpIik7CiB9
CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL2dwdS9HUFVDb21tYW5kQnVmZmVyLmggYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9ncHUvR1BVQ29tbWFuZEJ1ZmZlci5oCmluZGV4IDQ1NmNmNDg5OWNj
ZGQ0ZGFiY2M3OWUxNjIyMzA5ODY4MDE2ZmJhNjUuLmNiZTY1OWZkZmJjYzcwNzQwOTY1MmVhNjJj
Y2NiOWQzNjBiZjkyMDkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL2dwdS9HUFVDb21tYW5kQnVmZmVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvZ3B1L0dQVUNvbW1hbmRCdWZmZXIuaApAQCAtMjYsNyArMjYsNyBAQAogCiAjcHJh
Z21hIG9uY2UKIAotI2lmIEVOQUJMRShXRUJHUFUpCisjaWYgRU5BQkxFKFdFQk1FVEFMKQogCiAj
aW5jbHVkZSA8d3RmL0Z1bmN0aW9uLmg+CiAjaW5jbHVkZSA8d3RmL1JldGFpblB0ci5oPgpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L0dQVUNvbW1hbmRR
dWV1ZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9ncHUvR1BVQ29tbWFu
ZFF1ZXVlLmNwcAppbmRleCA4MjIyYWNlODhjNTRhYmJiODFlOGE0MmNmNzc0MDkzYzBiMGJhZjY5
Li5kZGUxNDhlZWJmMGNiMGVhODZmZjZkOTA1Y2I0MThiYjhmZDVkNjNmIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9ncHUvR1BVQ29tbWFuZFF1ZXVlLmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9ncHUvR1BVQ29tbWFuZFF1ZXVl
LmNwcApAQCAtMjYsNyArMjYsNyBAQAogI2luY2x1ZGUgImNvbmZpZy5oIgogI2luY2x1ZGUgIkdQ
VUNvbW1hbmRRdWV1ZS5oIgogCi0jaWYgRU5BQkxFKFdFQkdQVSkKKyNpZiBFTkFCTEUoV0VCTUVU
QUwpCiAKICNpbmNsdWRlICJMb2dnaW5nLmgiCiAKQEAgLTM0LDcgKzM0LDcgQEAgbmFtZXNwYWNl
IFdlYkNvcmUgewogCiBHUFVDb21tYW5kUXVldWU6On5HUFVDb21tYW5kUXVldWUoKQogewotICAg
IExPRyhXZWJHUFUsICJHUFVDb21tYW5kUXVldWU6On5HUFVDb21tYW5kUXVldWUoKSIpOworICAg
IExPRyhXZWJNZXRhbCwgIkdQVUNvbW1hbmRRdWV1ZTo6fkdQVUNvbW1hbmRRdWV1ZSgpIik7CiB9
CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL2dwdS9HUFVDb21tYW5kUXVldWUuaCBiL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL2dwdS9HUFVDb21tYW5kUXVldWUuaAppbmRleCBlM2QxZTRjODViMWFh
YzdjMDMxN2FkYTNlM2FlYjQ1NThkZTE3ZDcxLi45ZmQ5NmI2ODUwZWFiNzQ0YmE3ZjRjNDEzZGM5
YWJiYjJkYzE3NTE5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9ncHUvR1BVQ29tbWFuZFF1ZXVlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvZ3B1L0dQVUNvbW1hbmRRdWV1ZS5oCkBAIC0yNSw3ICsyNSw3IEBACiAKICNwcmFnbWEg
b25jZQogCi0jaWYgRU5BQkxFKFdFQkdQVSkKKyNpZiBFTkFCTEUoV0VCTUVUQUwpCiAKICNpbmNs
dWRlIDx3dGYvUmV0YWluUHRyLmg+CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL2dwdS9HUFVDb21wdXRlQ29tbWFuZEVuY29kZXIuY3BwIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L0dQVUNvbXB1dGVDb21tYW5kRW5jb2Rlci5jcHAK
aW5kZXggYzFiODM1MzYyMDUxNTg1Y2M1MDQ4NThkMTlkZmI5MWYwNDBjZDI0Ni4uYTUxNmVjNDcx
NjM1ZGRmZmQ0NWRmMjcxZWE3NzU1Y2Y5ZmE0MTMxYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L0dQVUNvbXB1dGVDb21tYW5kRW5jb2Rlci5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L0dQVUNvbXB1dGVDb21tYW5k
RW5jb2Rlci5jcHAKQEAgLTI2LDcgKzI2LDcgQEAKICNpbmNsdWRlICJjb25maWcuaCIKICNpbmNs
dWRlICJHUFVDb21wdXRlQ29tbWFuZEVuY29kZXIuaCIKIAotI2lmIEVOQUJMRShXRUJHUFUpCisj
aWYgRU5BQkxFKFdFQk1FVEFMKQogCiAjaW5jbHVkZSAiTG9nZ2luZy5oIgogCkBAIC0zNCw3ICsz
NCw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAKIEdQVUNvbXB1dGVDb21tYW5kRW5jb2Rl
cjo6fkdQVUNvbXB1dGVDb21tYW5kRW5jb2RlcigpCiB7Ci0gICAgTE9HKFdlYkdQVSwgIkdQVUNv
bXB1dGVDb21tYW5kRW5jb2Rlcjo6fkdQVUNvbXB1dGVDb21tYW5kRW5jb2RlcigpIik7CisgICAg
TE9HKFdlYk1ldGFsLCAiR1BVQ29tcHV0ZUNvbW1hbmRFbmNvZGVyOjp+R1BVQ29tcHV0ZUNvbW1h
bmRFbmNvZGVyKCkiKTsKIH0KICAgICAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dwdS9HUFVDb21wdXRlQ29tbWFu
ZEVuY29kZXIuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dwdS9HUFVDb21w
dXRlQ29tbWFuZEVuY29kZXIuaAppbmRleCBjZjE2N2MzNGE2YzM2Y2M0MTJiMjAxZjU3ZTEwYWQ3
YWM3NjJjZWFlLi43MTA3ZTMwOGYzZDk1MWRhMGU2MzE4OGFkYWY0ODgxYmE1ZjRiMTAxIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9ncHUvR1BVQ29tcHV0ZUNv
bW1hbmRFbmNvZGVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1
L0dQVUNvbXB1dGVDb21tYW5kRW5jb2Rlci5oCkBAIC0yNSw3ICsyNSw3IEBACiAKICNwcmFnbWEg
b25jZQogCi0jaWYgRU5BQkxFKFdFQkdQVSkKKyNpZiBFTkFCTEUoV0VCTUVUQUwpCiAKICNpbmNs
dWRlIDx3dGYvUmV0YWluUHRyLmg+CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL2dwdS9HUFVDb21wdXRlUGlwZWxpbmVTdGF0ZS5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9ncHUvR1BVQ29tcHV0ZVBpcGVsaW5lU3RhdGUuY3BwCmlu
ZGV4IGMxNTgyOWE5NGFiNDAyM2JjZmE3MTdmMjljZjJiMjlkNGMyNDY2ZWQuLjRiYjY2NzIzYjgz
YjIyNmNjZWZkZWVkNmE3ODgyM2Q1YTIxYjA1ZDIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL2dwdS9HUFVDb21wdXRlUGlwZWxpbmVTdGF0ZS5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L0dQVUNvbXB1dGVQaXBlbGluZVN0
YXRlLmNwcApAQCAtMjYsNyArMjYsNyBAQAogI2luY2x1ZGUgImNvbmZpZy5oIgogI2luY2x1ZGUg
IkdQVUNvbXB1dGVQaXBlbGluZVN0YXRlLmgiCiAKLSNpZiBFTkFCTEUoV0VCR1BVKQorI2lmIEVO
QUJMRShXRUJNRVRBTCkKIAogI2luY2x1ZGUgIkxvZ2dpbmcuaCIKIApAQCAtMzQsNyArMzQsNyBA
QCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgCiBHUFVDb21wdXRlUGlwZWxpbmVTdGF0ZTo6fkdQ
VUNvbXB1dGVQaXBlbGluZVN0YXRlKCkKIHsKLSAgICBMT0coV2ViR1BVLCAiR1BVQ29tcHV0ZVBp
cGVsaW5lU3RhdGU6On5HUFVDb21wdXRlUGlwZWxpbmVTdGF0ZSgpIik7CisgICAgTE9HKFdlYk1l
dGFsLCAiR1BVQ29tcHV0ZVBpcGVsaW5lU3RhdGU6On5HUFVDb21wdXRlUGlwZWxpbmVTdGF0ZSgp
Iik7CiB9CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dwdS9HUFVDb21wdXRlUGlwZWxpbmVTdGF0ZS5oIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L0dQVUNvbXB1dGVQaXBlbGluZVN0YXRl
LmgKaW5kZXggMTBlMGI0ZDc2ZWQyNGVhZjUzZTQyOGViMmRiYjQ4ODQ1NTY4NmM4MC4uNzk3NGM1
MTgyNGI0MTQ3YTZkNWEzYjVhNzgyMTc5MDRlYzVmMjc0OCAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L0dQVUNvbXB1dGVQaXBlbGluZVN0YXRlLmgKKysr
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L0dQVUNvbXB1dGVQaXBlbGlu
ZVN0YXRlLmgKQEAgLTI1LDcgKzI1LDcgQEAKIAogI3ByYWdtYSBvbmNlCiAKLSNpZiBFTkFCTEUo
V0VCR1BVKQorI2lmIEVOQUJMRShXRUJNRVRBTCkKIAogI2luY2x1ZGUgPHd0Zi9SZXRhaW5QdHIu
aD4KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L0dQ
VURlcHRoU3RlbmNpbERlc2NyaXB0b3IuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvZ3B1L0dQVURlcHRoU3RlbmNpbERlc2NyaXB0b3IuY3BwCmluZGV4IDg1MjU0NjhmMmFl
NmUwNzQ5MWZlOWU0Y2IxNjE1MjUyMGYxM2U3MjkuLjYyOGIyMDQ1NWRhOTdiNmNhYjJmMDA2OGEw
ZTBlODU0YzQ3ZjBiNGMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL2dwdS9HUFVEZXB0aFN0ZW5jaWxEZXNjcmlwdG9yLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9ncHUvR1BVRGVwdGhTdGVuY2lsRGVzY3JpcHRvci5jcHAKQEAg
LTI2LDcgKzI2LDcgQEAKICNpbmNsdWRlICJjb25maWcuaCIKICNpbmNsdWRlICJHUFVEZXB0aFN0
ZW5jaWxEZXNjcmlwdG9yLmgiCiAKLSNpZiBFTkFCTEUoV0VCR1BVKQorI2lmIEVOQUJMRShXRUJN
RVRBTCkKIAogI2luY2x1ZGUgIkxvZ2dpbmcuaCIKIApAQCAtMzQsNyArMzQsNyBAQCBuYW1lc3Bh
Y2UgV2ViQ29yZSB7CiAKIEdQVURlcHRoU3RlbmNpbERlc2NyaXB0b3I6On5HUFVEZXB0aFN0ZW5j
aWxEZXNjcmlwdG9yKCkKIHsKLSAgICBMT0coV2ViR1BVLCAiR1BVRGVwdGhTdGVuY2lsRGVzY3Jp
cHRvcjo6fkdQVURlcHRoU3RlbmNpbERlc2NyaXB0b3IoKSIpOworICAgIExPRyhXZWJNZXRhbCwg
IkdQVURlcHRoU3RlbmNpbERlc2NyaXB0b3I6On5HUFVEZXB0aFN0ZW5jaWxEZXNjcmlwdG9yKCki
KTsKIH0KIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L0dQVURlcHRoU3RlbmNpbERlc2NyaXB0b3IuaCBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dwdS9HUFVEZXB0aFN0ZW5jaWxEZXNjcmlw
dG9yLmgKaW5kZXggMDU3OWE2NmI4MWM2OWM0ZGRhMjk3NWU3YmJhN2ZhMThhZjNkNTJjOS4uY2Zh
MDE5OWU2NDE2MWM5MzM1Yjg2MDg4MzRjYjhhODI5YmExNTRmZSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L0dQVURlcHRoU3RlbmNpbERlc2NyaXB0b3Iu
aAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9ncHUvR1BVRGVwdGhTdGVu
Y2lsRGVzY3JpcHRvci5oCkBAIC0yNSw3ICsyNSw3IEBACiAKICNwcmFnbWEgb25jZQogCi0jaWYg
RU5BQkxFKFdFQkdQVSkKKyNpZiBFTkFCTEUoV0VCTUVUQUwpCiAKICNpbmNsdWRlIDx3dGYvUmV0
YWluUHRyLmg+CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L2dwdS9HUFVEZXB0aFN0ZW5jaWxTdGF0ZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9ncHUvR1BVRGVwdGhTdGVuY2lsU3RhdGUuY3BwCmluZGV4IDU3MWVkYWViMWQ3M2Y1
MDY3ZGE2NTY2YzQyZTU4ODdlN2FiZjE4OGIuLjZjMDBmOTc4NTU5ZjJiNDk1NTZhY2Q0NGZmMGVl
MDYyYTgyYzRlMDMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L2dwdS9HUFVEZXB0aFN0ZW5jaWxTdGF0ZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvZ3B1L0dQVURlcHRoU3RlbmNpbFN0YXRlLmNwcApAQCAtMjYsNyArMjYsNyBA
QAogI2luY2x1ZGUgImNvbmZpZy5oIgogI2luY2x1ZGUgIkdQVURlcHRoU3RlbmNpbFN0YXRlLmgi
CiAKLSNpZiBFTkFCTEUoV0VCR1BVKQorI2lmIEVOQUJMRShXRUJNRVRBTCkKIAogI2luY2x1ZGUg
IkxvZ2dpbmcuaCIKIApAQCAtMzQsNyArMzQsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIEdQ
VURlcHRoU3RlbmNpbFN0YXRlOjp+R1BVRGVwdGhTdGVuY2lsU3RhdGUoKQogewotICAgIExPRyhX
ZWJHUFUsICJHUFVEZXB0aFN0ZW5jaWxTdGF0ZTo6fkdQVURlcHRoU3RlbmNpbFN0YXRlKCkiKTsK
KyAgICBMT0coV2ViTWV0YWwsICJHUFVEZXB0aFN0ZW5jaWxTdGF0ZTo6fkdQVURlcHRoU3RlbmNp
bFN0YXRlKCkiKTsKIH0KIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L0dQVURlcHRoU3RlbmNpbFN0YXRlLmgg
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9ncHUvR1BVRGVwdGhTdGVuY2lsU3Rh
dGUuaAppbmRleCAzZjU3MzIzNDhiYmZjNWQzNzE4YmY3YjhhZWYxYjkxYjlkYzUyYTljLi5kNWJm
M2UzMjJiNzIwMTRhMzA1ODAxODcxNzdmMzM4ZjJkMTc0MjUxIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9ncHUvR1BVRGVwdGhTdGVuY2lsU3RhdGUuaAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9ncHUvR1BVRGVwdGhTdGVuY2lsU3Rh
dGUuaApAQCAtMjUsNyArMjUsNyBAQAogCiAjcHJhZ21hIG9uY2UKIAotI2lmIEVOQUJMRShXRUJH
UFUpCisjaWYgRU5BQkxFKFdFQk1FVEFMKQogCiAjaW5jbHVkZSA8d3RmL0ZvcndhcmQuaD4KICNp
bmNsdWRlIDx3dGYvUmV0YWluUHRyLmg+CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9ncHUvR1BVRGV2aWNlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL2dwdS9HUFVEZXZpY2UuY3BwCmluZGV4IDU0NDhmYmNjM2Q4NDVhZjhiYmU2ZjM2
YWIyNTg5MTIwYmY5ZGUyZWQuLjdkZmI1NTE2YTQ2YmQ4MmQwMjk4NzcwNTA1Mjc3Y2MyMDU4NWQ0
OTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dwdS9HUFVE
ZXZpY2UuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dwdS9HUFVE
ZXZpY2UuY3BwCkBAIC0yNiw3ICsyNiw3IEBACiAjaW5jbHVkZSAiY29uZmlnLmgiCiAjaW5jbHVk
ZSAiR1BVRGV2aWNlLmgiCiAKLSNpZiBFTkFCTEUoV0VCR1BVKQorI2lmIEVOQUJMRShXRUJNRVRB
TCkKIAogI2luY2x1ZGUgIkxvZ2dpbmcuaCIKIApAQCAtMzQsNyArMzQsNyBAQCBuYW1lc3BhY2Ug
V2ViQ29yZSB7CiAKIEdQVURldmljZTo6fkdQVURldmljZSgpCiB7Ci0gICAgTE9HKFdlYkdQVSwg
IkdQVURldmljZTo6fkdQVURldmljZSgpIik7CisgICAgTE9HKFdlYk1ldGFsLCAiR1BVRGV2aWNl
Ojp+R1BVRGV2aWNlKCkiKTsKICAgICBkaXNjb25uZWN0KCk7CiB9CiAKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dwdS9HUFVEZXZpY2UuaCBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dwdS9HUFVEZXZpY2UuaAppbmRleCBkOTg3MGY5Mjk4
YzNiZDZlYzdjNWUyMTA4MDkyN2ZmMWVlNmUwMDU5Li40MzJmZTFhM2U4N2RiMjdjN2ZmMjkxZTI4
MGYzNDMxYmU5ODE1OTYzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9ncHUvR1BVRGV2aWNlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvZ3B1L0dQVURldmljZS5oCkBAIC0yNSwxMiArMjUsMTIgQEAKIAogI3ByYWdtYSBvbmNlCiAK
LSNpZiBFTkFCTEUoV0VCR1BVKQorI2lmIEVOQUJMRShXRUJNRVRBTCkKIAogI2luY2x1ZGUgPHd0
Zi9SZXRhaW5QdHIuaD4KIAogT0JKQ19DTEFTUyBDQUxheWVyOwotT0JKQ19DTEFTUyBXZWJHUFVM
YXllcjsKK09CSkNfQ0xBU1MgV2ViTWV0YWxMYXllcjsKIAogT0JKQ19QUk9UT0NPTChNVExEZXZp
Y2UpOwogCkBAIC00Niw3ICs0Niw3IEBAIHB1YmxpYzoKICAgICB2b2lkIHJlc2hhcGUoaW50IHdp
ZHRoLCBpbnQgaGVpZ2h0KSBjb25zdDsKIAogI2lmIFVTRShNRVRBTCkKLSAgICBXZWJHUFVMYXll
ciAqbGF5ZXIoKSBjb25zdCB7IHJldHVybiBtX2xheWVyLmdldCgpOyB9CisgICAgV2ViTWV0YWxM
YXllciAqbGF5ZXIoKSBjb25zdCB7IHJldHVybiBtX2xheWVyLmdldCgpOyB9CiAgICAgV0VCQ09S
RV9FWFBPUlQgQ0FMYXllciAqcGxhdGZvcm1MYXllcigpIGNvbnN0OwogICAgIE1UTERldmljZSAq
bWV0YWwoKSBjb25zdCB7IHJldHVybiBtX21ldGFsLmdldCgpOyB9CiAjZW5kaWYKQEAgLTU3LDcg
KzU3LDcgQEAgcHJpdmF0ZToKICAgICB2b2lkIGRpc2Nvbm5lY3QoKTsKIAogI2lmIFVTRShNRVRB
TCkKLSAgICBSZXRhaW5QdHI8V2ViR1BVTGF5ZXI+IG1fbGF5ZXI7CisgICAgUmV0YWluUHRyPFdl
Yk1ldGFsTGF5ZXI+IG1fbGF5ZXI7CiAgICAgUmV0YWluUHRyPE1UTERldmljZT4gbV9tZXRhbDsK
ICNlbmRpZgogfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L2dwdS9HUFVEcmF3YWJsZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9n
cHUvR1BVRHJhd2FibGUuY3BwCmluZGV4IDhkOGVhNGMzY2ZmZWIxZDc4ODAzNTUxNGExZTcyY2Vj
ODEyNzM4YjcuLjcyZmE3NTBhYmYxOTMxMGJkYWY1ZWJlNGU0ZGYyMjZhMjNlMjY2ZmYgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dwdS9HUFVEcmF3YWJsZS5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L0dQVURyYXdhYmxl
LmNwcApAQCAtMjYsNyArMjYsNyBAQAogI2luY2x1ZGUgImNvbmZpZy5oIgogI2luY2x1ZGUgIkdQ
VURyYXdhYmxlLmgiCiAKLSNpZiBFTkFCTEUoV0VCR1BVKQorI2lmIEVOQUJMRShXRUJNRVRBTCkK
IAogI2luY2x1ZGUgIkxvZ2dpbmcuaCIKIApAQCAtMzQsNyArMzQsNyBAQCBuYW1lc3BhY2UgV2Vi
Q29yZSB7CiAKIEdQVURyYXdhYmxlOjp+R1BVRHJhd2FibGUoKQogewotICAgIExPRyhXZWJHUFUs
ICJHUFVEcmF3YWJsZTo6fkdQVURyYXdhYmxlKCkiKTsKKyAgICBMT0coV2ViTWV0YWwsICJHUFVE
cmF3YWJsZTo6fkdQVURyYXdhYmxlKCkiKTsKIH0KIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L0dQVURyYXdh
YmxlLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9ncHUvR1BVRHJhd2FibGUu
aAppbmRleCA2ZjQzMjkyMzNmNzI0ZTY3MjcxNDZjOTVhN2ZjOTQ5MDdmOWRkNTMyLi5iNjc5OGNl
ZGJiNGE5MjI4YzM2YjM0ZmQ3MjBlYzc5ODc3OTFjZWI1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9ncHUvR1BVRHJhd2FibGUuaAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9ncHUvR1BVRHJhd2FibGUuaApAQCAtMjUsNyArMjUsNyBA
QAogCiAjcHJhZ21hIG9uY2UKIAotI2lmIEVOQUJMRShXRUJHUFUpCisjaWYgRU5BQkxFKFdFQk1F
VEFMKQogCiAjaW5jbHVkZSA8d3RmL1JldGFpblB0ci5oPgogCkBAIC00Niw3ICs0Niw3IEBAIHB1
YmxpYzoKICNpZiBVU0UoTUVUQUwpCiAgICAgTVRMRHJhd2FibGUgKm1ldGFsKCkgY29uc3Q7CiAK
LSAgICAvLyBGSVhNRTogV2ViR1BVIC0gbm90IGFsbCBkcmF3YWJsZXMgc2hvdWxkIGhhdmUgdGhp
cy4gT25seSB0aGUgZnJhbWVidWZmZXIuCisgICAgLy8gRklYTUU6IFdlYk1ldGFsIC0gbm90IGFs
bCBkcmF3YWJsZXMgc2hvdWxkIGhhdmUgdGhpcy4gT25seSB0aGUgZnJhbWVidWZmZXIuCiAgICAg
TVRMVGV4dHVyZSAqdGV4dHVyZSgpIGNvbnN0OwogI2VuZGlmCiAKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dwdS9HUFVFbnVtcy5oIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L0dQVUVudW1zLmgKaW5kZXggNmRlZjYwYWEzMWY3NzE0
NTcxYjhjZjA2ZTkyMzE1ZGRjYmYyN2ExOC4uMTI0ZmY0M2RhNjMyNjlhM2EyNzViYjNmMjAxNTUy
ZmVjNzQ5MGI5YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
Z3B1L0dQVUVudW1zLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1
L0dQVUVudW1zLmgKQEAgLTI1LDcgKzI1LDcgQEAKIAogI3ByYWdtYSBvbmNlCiAKLSNpZiBFTkFC
TEUoV0VCR1BVKQorI2lmIEVOQUJMRShXRUJNRVRBTCkKIAogbmFtZXNwYWNlIFdlYkNvcmUgewog
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9ncHUvR1BVRnVu
Y3Rpb24uY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L0dQVUZ1bmN0
aW9uLmNwcAppbmRleCAwZDBiMzk5NDUwY2I3YmEwOWJmMjZkNzA4NzJmOTNmZGU3MjI1YmU4Li45
YzgwNzc3NDMzMzNmYzhkYmU4NjAwNThiNGM0MjhhZGQ0NTBmNzdhIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9ncHUvR1BVRnVuY3Rpb24uY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dwdS9HUFVGdW5jdGlvbi5jcHAKQEAgLTI2
LDcgKzI2LDcgQEAKICNpbmNsdWRlICJjb25maWcuaCIKICNpbmNsdWRlICJHUFVGdW5jdGlvbi5o
IgogCi0jaWYgRU5BQkxFKFdFQkdQVSkKKyNpZiBFTkFCTEUoV0VCTUVUQUwpCiAKICNpbmNsdWRl
ICJMb2dnaW5nLmgiCiAKQEAgLTM0LDcgKzM0LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogCiBH
UFVGdW5jdGlvbjo6fkdQVUZ1bmN0aW9uKCkKIHsKLSAgICBMT0coV2ViR1BVLCAiR1BVRnVuY3Rp
b246On5HUFVGdW5jdGlvbigpIik7CisgICAgTE9HKFdlYk1ldGFsLCAiR1BVRnVuY3Rpb246On5H
UFVGdW5jdGlvbigpIik7CiB9CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dwdS9HUFVGdW5jdGlvbi5oIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L0dQVUZ1bmN0aW9uLmgKaW5kZXggOTZm
YTQ5MmUxODJhMWJlM2NhYjc4NWVjNDA5MjE2YzM2OGE0NjQ3NS4uZDQ2MDQwMjBiNzlkOGE3OWJi
OTYwZTc0MTA1OGVlMWQzOGEzMmMzZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvZ3B1L0dQVUZ1bmN0aW9uLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvZ3B1L0dQVUZ1bmN0aW9uLmgKQEAgLTI1LDcgKzI1LDcgQEAKIAogI3ByYWdt
YSBvbmNlCiAKLSNpZiBFTkFCTEUoV0VCR1BVKQorI2lmIEVOQUJMRShXRUJNRVRBTCkKIAogI2lu
Y2x1ZGUgPHd0Zi9SZXRhaW5QdHIuaD4KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvZ3B1L0dQVUxpYnJhcnkuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvZ3B1L0dQVUxpYnJhcnkuY3BwCmluZGV4IDkwNjI0ODg1OTI2NTRkOTAwYTUw
MmYxYWNiNDIxOTY3MzM0ZmZmNTguLjQ4YzZjM2MzNmY0MWRjNDdlNGM0YTU5YjIwNjkyZjA0NGZh
NzU1MzcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dwdS9H
UFVMaWJyYXJ5LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9ncHUv
R1BVTGlicmFyeS5jcHAKQEAgLTI2LDcgKzI2LDcgQEAKICNpbmNsdWRlICJjb25maWcuaCIKICNp
bmNsdWRlICJHUFVMaWJyYXJ5LmgiCiAKLSNpZiBFTkFCTEUoV0VCR1BVKQorI2lmIEVOQUJMRShX
RUJNRVRBTCkKIAogI2luY2x1ZGUgIkxvZ2dpbmcuaCIKIApAQCAtMzQsNyArMzQsNyBAQCBuYW1l
c3BhY2UgV2ViQ29yZSB7CiAKIEdQVUxpYnJhcnk6On5HUFVMaWJyYXJ5KCkKIHsKLSAgICBMT0co
V2ViR1BVLCAiR1BVTGlicmFyeTo6fkdQVUxpYnJhcnkoKSIpOworICAgIExPRyhXZWJNZXRhbCwg
IkdQVUxpYnJhcnk6On5HUFVMaWJyYXJ5KCkiKTsKIH0KIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29y
ZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L0dQVUxp
YnJhcnkuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dwdS9HUFVMaWJyYXJ5
LmgKaW5kZXggZjM1ZDViYTE0NmE5NGJkNWJiNTBmMmQxODQxNTQwZTZlY2Y2YzhmNS4uNzRhYzQ0
NjRlODQyYmM3ZjRkMDI3YjJiZjA0NTQ5NGUyZGFiNTdmMyAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L0dQVUxpYnJhcnkuaAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9ncHUvR1BVTGlicmFyeS5oCkBAIC0yNSw3ICsyNSw3IEBA
CiAKICNwcmFnbWEgb25jZQogCi0jaWYgRU5BQkxFKFdFQkdQVSkKKyNpZiBFTkFCTEUoV0VCTUVU
QUwpCiAKICNpbmNsdWRlIDx3dGYvUmV0YWluUHRyLmg+CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dwdS9HUFVSZW5kZXJDb21tYW5kRW5jb2Rlci5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9ncHUvR1BVUmVuZGVyQ29tbWFuZEVu
Y29kZXIuY3BwCmluZGV4IDZkMWY1M2I5NDcyZTE3MzUwNTg3Zjc3NDMyYjRkYTIzNWUzYWExZjku
LjQ3NDYxYThmZWM0NGI5Mzc5NmFmMjg2MDI3MTMzNDc1ZjQxMjBkNWQgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dwdS9HUFVSZW5kZXJDb21tYW5kRW5jb2Rl
ci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L0dQVVJlbmRl
ckNvbW1hbmRFbmNvZGVyLmNwcApAQCAtMjYsNyArMjYsNyBAQAogI2luY2x1ZGUgImNvbmZpZy5o
IgogI2luY2x1ZGUgIkdQVVJlbmRlckNvbW1hbmRFbmNvZGVyLmgiCiAKLSNpZiBFTkFCTEUoV0VC
R1BVKQorI2lmIEVOQUJMRShXRUJNRVRBTCkKIAogI2luY2x1ZGUgIkxvZ2dpbmcuaCIKIApAQCAt
MzQsNyArMzQsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIEdQVVJlbmRlckNvbW1hbmRFbmNv
ZGVyOjp+R1BVUmVuZGVyQ29tbWFuZEVuY29kZXIoKQogewotICAgIExPRyhXZWJHUFUsICJHUFVS
ZW5kZXJDb21tYW5kRW5jb2Rlcjo6fkdQVVJlbmRlckNvbW1hbmRFbmNvZGVyKCkiKTsKKyAgICBM
T0coV2ViTWV0YWwsICJHUFVSZW5kZXJDb21tYW5kRW5jb2Rlcjo6fkdQVVJlbmRlckNvbW1hbmRF
bmNvZGVyKCkiKTsKIH0KIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L0dQVVJlbmRlckNvbW1hbmRFbmNvZGVy
LmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9ncHUvR1BVUmVuZGVyQ29tbWFu
ZEVuY29kZXIuaAppbmRleCBmOTA1M2NlYzViMGM5Yjk2MzBiNWQ3YjYzMmM2ZDliN2IzMWJmNDll
Li4yOWUyMDRhOGY5ZTMyNmE0M2MxZWNiZTg5MTYzYmM4MzBhNzk0MTFhIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9ncHUvR1BVUmVuZGVyQ29tbWFuZEVuY29k
ZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9ncHUvR1BVUmVuZGVy
Q29tbWFuZEVuY29kZXIuaApAQCAtMjUsNyArMjUsNyBAQAogCiAjcHJhZ21hIG9uY2UKIAotI2lm
IEVOQUJMRShXRUJHUFUpCisjaWYgRU5BQkxFKFdFQk1FVEFMKQogCiAjaW5jbHVkZSA8d3RmL1Jl
dGFpblB0ci5oPgogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9ncHUvR1BVUmVuZGVyUGFzc0F0dGFjaG1lbnREZXNjcmlwdG9yLmNwcCBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dwdS9HUFVSZW5kZXJQYXNzQXR0YWNobWVudERlc2NyaXB0
b3IuY3BwCmluZGV4IDc1ZDg5ZTk5ODQ0Y2UwNGIzZmI4YTU2MjY0YTY1NDM4YTljNTVhMDUuLjcx
NjJmN2ZlNzczZjViMjA5OWVhNDZkOGJjOWQwMDllYTk5NzdkZjUgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dwdS9HUFVSZW5kZXJQYXNzQXR0YWNobWVudERl
c2NyaXB0b3IuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dwdS9H
UFVSZW5kZXJQYXNzQXR0YWNobWVudERlc2NyaXB0b3IuY3BwCkBAIC0yNiw3ICsyNiw3IEBACiAj
aW5jbHVkZSAiY29uZmlnLmgiCiAjaW5jbHVkZSAiR1BVUmVuZGVyUGFzc0F0dGFjaG1lbnREZXNj
cmlwdG9yLmgiCiAKLSNpZiBFTkFCTEUoV0VCR1BVKQorI2lmIEVOQUJMRShXRUJNRVRBTCkKIAog
I2luY2x1ZGUgIkdQVVRleHR1cmUuaCIKICNpbmNsdWRlICJMb2dnaW5nLmgiCkBAIC0zNSw3ICsz
NSw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogR1BVUmVuZGVyUGFzc0F0dGFjaG1lbnREZXNj
cmlwdG9yOjp+R1BVUmVuZGVyUGFzc0F0dGFjaG1lbnREZXNjcmlwdG9yKCkKIHsKLSAgICBMT0co
V2ViR1BVLCAiR1BVUmVuZGVyUGFzc0F0dGFjaG1lbnREZXNjcmlwdG9yOjp+R1BVUmVuZGVyUGFz
c0F0dGFjaG1lbnREZXNjcmlwdG9yKCkiKTsKKyAgICBMT0coV2ViTWV0YWwsICJHUFVSZW5kZXJQ
YXNzQXR0YWNobWVudERlc2NyaXB0b3I6On5HUFVSZW5kZXJQYXNzQXR0YWNobWVudERlc2NyaXB0
b3IoKSIpOwogfQogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9ncHUvR1BVUmVuZGVyUGFzc0F0dGFjaG1lbnREZXNj
cmlwdG9yLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9ncHUvR1BVUmVuZGVy
UGFzc0F0dGFjaG1lbnREZXNjcmlwdG9yLmgKaW5kZXggZmVmNzA5NGE5Y2UzMjk5YzQwOTY3NGM5
YTdmNTc0NjliYWQ5YTZiOC4uNDZkOTIzODVhMzg2MzU5ZDM1MTIzNmI5ODk4NzhiZWE0ODNjMGYy
MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L0dQVVJl
bmRlclBhc3NBdHRhY2htZW50RGVzY3JpcHRvci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL2dwdS9HUFVSZW5kZXJQYXNzQXR0YWNobWVudERlc2NyaXB0b3IuaApAQCAt
MjUsNyArMjUsNyBAQAogCiAjcHJhZ21hIG9uY2UKIAotI2lmIEVOQUJMRShXRUJHUFUpCisjaWYg
RU5BQkxFKFdFQk1FVEFMKQogCiAjaW5jbHVkZSA8d3RmL1JldGFpblB0ci5oPgogCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9ncHUvR1BVUmVuZGVyUGFzc0Nv
bG9yQXR0YWNobWVudERlc2NyaXB0b3IuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvZ3B1L0dQVVJlbmRlclBhc3NDb2xvckF0dGFjaG1lbnREZXNjcmlwdG9yLmNwcAppbmRl
eCAyZjVhYzc4OGYyMThkYjNjYTcxYTUwMWFkMTExM2U4MzlkMWQ3NGI5Li5kZmIxNTU5YTZiYTdi
Y2Q4ODg2YmFhMmYyNjYwMDBhZDJkYzAxN2IyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9ncHUvR1BVUmVuZGVyUGFzc0NvbG9yQXR0YWNobWVudERlc2NyaXB0
b3IuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dwdS9HUFVSZW5k
ZXJQYXNzQ29sb3JBdHRhY2htZW50RGVzY3JpcHRvci5jcHAKQEAgLTI2LDcgKzI2LDcgQEAKICNp
bmNsdWRlICJjb25maWcuaCIKICNpbmNsdWRlICJHUFVSZW5kZXJQYXNzQ29sb3JBdHRhY2htZW50
RGVzY3JpcHRvci5oIgogCi0jaWYgRU5BQkxFKFdFQkdQVSkKKyNpZiBFTkFCTEUoV0VCTUVUQUwp
CiAKICNpbmNsdWRlICJMb2dnaW5nLmgiCiAKQEAgLTM0LDcgKzM0LDcgQEAgbmFtZXNwYWNlIFdl
YkNvcmUgewogCiBHUFVSZW5kZXJQYXNzQ29sb3JBdHRhY2htZW50RGVzY3JpcHRvcjo6fkdQVVJl
bmRlclBhc3NDb2xvckF0dGFjaG1lbnREZXNjcmlwdG9yKCkKIHsKLSAgICBMT0coV2ViR1BVLCAi
R1BVUmVuZGVyUGFzc0NvbG9yQXR0YWNobWVudERlc2NyaXB0b3I6On5HUFVSZW5kZXJQYXNzQ29s
b3JBdHRhY2htZW50RGVzY3JpcHRvcigpIik7CisgICAgTE9HKFdlYk1ldGFsLCAiR1BVUmVuZGVy
UGFzc0NvbG9yQXR0YWNobWVudERlc2NyaXB0b3I6On5HUFVSZW5kZXJQYXNzQ29sb3JBdHRhY2ht
ZW50RGVzY3JpcHRvcigpIik7CiB9CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dwdS9HUFVSZW5kZXJQYXNzQ29s
b3JBdHRhY2htZW50RGVzY3JpcHRvci5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvZ3B1L0dQVVJlbmRlclBhc3NDb2xvckF0dGFjaG1lbnREZXNjcmlwdG9yLmgKaW5kZXggMzFh
ZWU4ZmI2MmJjOTcxZGEwMmM5NmU1OGM0NGFhY2Q1Mzg4YWZmNi4uNzI0NDYxM2VmNmMwYjg2MGIw
ZTdmNzA1ZTdlNzM2NzMwZGRiZmQ5NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvZ3B1L0dQVVJlbmRlclBhc3NDb2xvckF0dGFjaG1lbnREZXNjcmlwdG9yLmgK
KysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L0dQVVJlbmRlclBhc3ND
b2xvckF0dGFjaG1lbnREZXNjcmlwdG9yLmgKQEAgLTI1LDcgKzI1LDcgQEAKIAogI3ByYWdtYSBv
bmNlCiAKLSNpZiBFTkFCTEUoV0VCR1BVKQorI2lmIEVOQUJMRShXRUJNRVRBTCkKIAogI2luY2x1
ZGUgIkdQVVJlbmRlclBhc3NBdHRhY2htZW50RGVzY3JpcHRvci5oIgogCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9ncHUvR1BVUmVuZGVyUGFzc0RlcHRoQXR0
YWNobWVudERlc2NyaXB0b3IuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
Z3B1L0dQVVJlbmRlclBhc3NEZXB0aEF0dGFjaG1lbnREZXNjcmlwdG9yLmNwcAppbmRleCA0YzFj
YTY3MTY3YTFmZjVmMDlmYTdiMDU1ZDQ3MjVhODZmMTg2OTFhLi5lOTQ1N2U3MjM0ZmNhNTc4N2M5
OTEzNjJkNWY3MDAwMjc1OGFlYjVkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9ncHUvR1BVUmVuZGVyUGFzc0RlcHRoQXR0YWNobWVudERlc2NyaXB0b3IuY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dwdS9HUFVSZW5kZXJQYXNz
RGVwdGhBdHRhY2htZW50RGVzY3JpcHRvci5jcHAKQEAgLTI2LDcgKzI2LDcgQEAKICNpbmNsdWRl
ICJjb25maWcuaCIKICNpbmNsdWRlICJHUFVSZW5kZXJQYXNzRGVwdGhBdHRhY2htZW50RGVzY3Jp
cHRvci5oIgogCi0jaWYgRU5BQkxFKFdFQkdQVSkKKyNpZiBFTkFCTEUoV0VCTUVUQUwpCiAKICNp
bmNsdWRlICJMb2dnaW5nLmgiCiAKQEAgLTM0LDcgKzM0LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUg
ewogCiBHUFVSZW5kZXJQYXNzRGVwdGhBdHRhY2htZW50RGVzY3JpcHRvcjo6fkdQVVJlbmRlclBh
c3NEZXB0aEF0dGFjaG1lbnREZXNjcmlwdG9yKCkKIHsKLSAgICBMT0coV2ViR1BVLCAiR1BVUmVu
ZGVyUGFzc0RlcHRoQXR0YWNobWVudERlc2NyaXB0b3I6On5HUFVSZW5kZXJQYXNzRGVwdGhBdHRh
Y2htZW50RGVzY3JpcHRvcigpIik7CisgICAgTE9HKFdlYk1ldGFsLCAiR1BVUmVuZGVyUGFzc0Rl
cHRoQXR0YWNobWVudERlc2NyaXB0b3I6On5HUFVSZW5kZXJQYXNzRGVwdGhBdHRhY2htZW50RGVz
Y3JpcHRvcigpIik7CiB9CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dwdS9HUFVSZW5kZXJQYXNzRGVwdGhBdHRh
Y2htZW50RGVzY3JpcHRvci5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1
L0dQVVJlbmRlclBhc3NEZXB0aEF0dGFjaG1lbnREZXNjcmlwdG9yLmgKaW5kZXggYjRjNTE3Mjg5
NzE0NjcwZmJhZDc1ODJlNmU1OTBkNzYzODA4MjgxZS4uNzJmZDc5MjAyZDdjMjZiZjIwNGYwNTYy
YzBhY2EzOWE4YjJjOTBlNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvZ3B1L0dQVVJlbmRlclBhc3NEZXB0aEF0dGFjaG1lbnREZXNjcmlwdG9yLmgKKysrIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L0dQVVJlbmRlclBhc3NEZXB0aEF0
dGFjaG1lbnREZXNjcmlwdG9yLmgKQEAgLTI1LDcgKzI1LDcgQEAKIAogI3ByYWdtYSBvbmNlCiAK
LSNpZiBFTkFCTEUoV0VCR1BVKQorI2lmIEVOQUJMRShXRUJNRVRBTCkKIAogI2luY2x1ZGUgIkdQ
VVJlbmRlclBhc3NBdHRhY2htZW50RGVzY3JpcHRvci5oIgogCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9ncHUvR1BVUmVuZGVyUGFzc0Rlc2NyaXB0b3IuY3Bw
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L0dQVVJlbmRlclBhc3NEZXNj
cmlwdG9yLmNwcAppbmRleCBmYTRhYmM5ZTFjOWQyNjY3Yzk4OTdjYjFmNjYwNjc0MzBhNWI2YzA4
Li43Mzk3MWJmZjg3OGFkY2U2MWJiZGJkYWNiZDZhMDU1YzU0ODM3OTU0IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9ncHUvR1BVUmVuZGVyUGFzc0Rlc2NyaXB0
b3IuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dwdS9HUFVSZW5k
ZXJQYXNzRGVzY3JpcHRvci5jcHAKQEAgLTI2LDcgKzI2LDcgQEAKICNpbmNsdWRlICJjb25maWcu
aCIKICNpbmNsdWRlICJHUFVSZW5kZXJQYXNzRGVzY3JpcHRvci5oIgogCi0jaWYgRU5BQkxFKFdF
QkdQVSkKKyNpZiBFTkFCTEUoV0VCTUVUQUwpCiAKICNpbmNsdWRlICJHUFVSZW5kZXJQYXNzRGVw
dGhBdHRhY2htZW50RGVzY3JpcHRvci5oIgogI2luY2x1ZGUgIkxvZ2dpbmcuaCIKQEAgLTM1LDcg
KzM1LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogCiBHUFVSZW5kZXJQYXNzRGVzY3JpcHRvcjo6
fkdQVVJlbmRlclBhc3NEZXNjcmlwdG9yKCkKIHsKLSAgICBMT0coV2ViR1BVLCAiR1BVUmVuZGVy
UGFzc0Rlc2NyaXB0b3I6On5HUFVSZW5kZXJQYXNzRGVzY3JpcHRvcigpIik7CisgICAgTE9HKFdl
Yk1ldGFsLCAiR1BVUmVuZGVyUGFzc0Rlc2NyaXB0b3I6On5HUFVSZW5kZXJQYXNzRGVzY3JpcHRv
cigpIik7CiB9CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dwdS9HUFVSZW5kZXJQYXNzRGVzY3JpcHRvci5oIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L0dQVVJlbmRlclBhc3NEZXNjcmlw
dG9yLmgKaW5kZXggNTRkYWUyNDJmYjVlNGY4MTEwODQ2YThjMmFkOGYwY2NlNDYwZjgwMi4uMjlk
NGUzZGQ5ODUwYWViOGNiNjk4YmNiMDEwMjQ3YWEyNGNkODI3OSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L0dQVVJlbmRlclBhc3NEZXNjcmlwdG9yLmgK
KysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L0dQVVJlbmRlclBhc3NE
ZXNjcmlwdG9yLmgKQEAgLTI1LDcgKzI1LDcgQEAKIAogI3ByYWdtYSBvbmNlCiAKLSNpZiBFTkFC
TEUoV0VCR1BVKQorI2lmIEVOQUJMRShXRUJNRVRBTCkKIAogI2luY2x1ZGUgPHd0Zi9SZXRhaW5Q
dHIuaD4KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1
L0dQVVJlbmRlclBpcGVsaW5lQ29sb3JBdHRhY2htZW50RGVzY3JpcHRvci5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9ncHUvR1BVUmVuZGVyUGlwZWxpbmVDb2xvckF0dGFj
aG1lbnREZXNjcmlwdG9yLmNwcAppbmRleCBhNzU4NzgwMDk0NDExYzA3ZjcxMTY1Y2JhMjE0ZDRj
YTI0NzgwNzg1Li5kODNiYTExMWQzNmQzYTA4MjM5NmMzOGMzY2ZiNDdkMmRlZTAzMWFhIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9ncHUvR1BVUmVuZGVyUGlw
ZWxpbmVDb2xvckF0dGFjaG1lbnREZXNjcmlwdG9yLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9ncHUvR1BVUmVuZGVyUGlwZWxpbmVDb2xvckF0dGFjaG1lbnREZXNj
cmlwdG9yLmNwcApAQCAtMjYsNyArMjYsNyBAQAogI2luY2x1ZGUgImNvbmZpZy5oIgogI2luY2x1
ZGUgIkdQVVJlbmRlclBpcGVsaW5lQ29sb3JBdHRhY2htZW50RGVzY3JpcHRvci5oIgogCi0jaWYg
RU5BQkxFKFdFQkdQVSkKKyNpZiBFTkFCTEUoV0VCTUVUQUwpCiAKICNpbmNsdWRlICJMb2dnaW5n
LmgiCiAKQEAgLTM0LDcgKzM0LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogCiBHUFVSZW5kZXJQ
aXBlbGluZUNvbG9yQXR0YWNobWVudERlc2NyaXB0b3I6On5HUFVSZW5kZXJQaXBlbGluZUNvbG9y
QXR0YWNobWVudERlc2NyaXB0b3IoKQogewotICAgIExPRyhXZWJHUFUsICJHUFVSZW5kZXJQaXBl
bGluZUNvbG9yQXR0YWNobWVudERlc2NyaXB0b3I6On5HUFVSZW5kZXJQaXBlbGluZUNvbG9yQXR0
YWNobWVudERlc2NyaXB0b3IoKSIpOworICAgIExPRyhXZWJNZXRhbCwgIkdQVVJlbmRlclBpcGVs
aW5lQ29sb3JBdHRhY2htZW50RGVzY3JpcHRvcjo6fkdQVVJlbmRlclBpcGVsaW5lQ29sb3JBdHRh
Y2htZW50RGVzY3JpcHRvcigpIik7CiB9CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dwdS9HUFVSZW5kZXJQaXBl
bGluZUNvbG9yQXR0YWNobWVudERlc2NyaXB0b3IuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL2dwdS9HUFVSZW5kZXJQaXBlbGluZUNvbG9yQXR0YWNobWVudERlc2NyaXB0b3Iu
aAppbmRleCBhODBhNWQwMGU2YjA2ZDNlN2NjODI5MDQxYjg5OTU5ZDc4MWVjNTVhLi5hODM2Y2Zm
MTU1NjBmN2RkN2NhNjljNTY0MzkxNmRkYWFmMDY2MzMwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9ncHUvR1BVUmVuZGVyUGlwZWxpbmVDb2xvckF0dGFjaG1l
bnREZXNjcmlwdG9yLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1
L0dQVVJlbmRlclBpcGVsaW5lQ29sb3JBdHRhY2htZW50RGVzY3JpcHRvci5oCkBAIC0yNSw3ICsy
NSw3IEBACiAKICNwcmFnbWEgb25jZQogCi0jaWYgRU5BQkxFKFdFQkdQVSkKKyNpZiBFTkFCTEUo
V0VCTUVUQUwpCiAKICNpbmNsdWRlIDx3dGYvUmV0YWluUHRyLmg+CiAKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dwdS9HUFVSZW5kZXJQaXBlbGluZURlc2Ny
aXB0b3IuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L0dQVVJlbmRl
clBpcGVsaW5lRGVzY3JpcHRvci5jcHAKaW5kZXggOTY4Y2M0NTM2MWViMDA2NDIzNWZlZWYwZGNm
OGE4MzQyMGE1NjM0ZC4uNjRjMWM0YzlmYjEwMTQxMThhYmRiZGIxM2Q3ZDk3N2E5YjEzNjllZiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L0dQVVJlbmRl
clBpcGVsaW5lRGVzY3JpcHRvci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvZ3B1L0dQVVJlbmRlclBpcGVsaW5lRGVzY3JpcHRvci5jcHAKQEAgLTI2LDcgKzI2LDcg
QEAKICNpbmNsdWRlICJjb25maWcuaCIKICNpbmNsdWRlICJHUFVSZW5kZXJQaXBlbGluZURlc2Ny
aXB0b3IuaCIKIAotI2lmIEVOQUJMRShXRUJHUFUpCisjaWYgRU5BQkxFKFdFQk1FVEFMKQogCiAj
aW5jbHVkZSAiTG9nZ2luZy5oIgogCkBAIC0zNCw3ICszNCw3IEBAIG5hbWVzcGFjZSBXZWJDb3Jl
IHsKIAogR1BVUmVuZGVyUGlwZWxpbmVEZXNjcmlwdG9yOjp+R1BVUmVuZGVyUGlwZWxpbmVEZXNj
cmlwdG9yKCkKIHsKLSAgICBMT0coV2ViR1BVLCAiR1BVUmVuZGVyUGlwZWxpbmVEZXNjcmlwdG9y
Ojp+R1BVUmVuZGVyUGlwZWxpbmVEZXNjcmlwdG9yKCkiKTsKKyAgICBMT0coV2ViTWV0YWwsICJH
UFVSZW5kZXJQaXBlbGluZURlc2NyaXB0b3I6On5HUFVSZW5kZXJQaXBlbGluZURlc2NyaXB0b3Io
KSIpOwogfQogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9ncHUvR1BVUmVuZGVyUGlwZWxpbmVEZXNjcmlwdG9yLmgg
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9ncHUvR1BVUmVuZGVyUGlwZWxpbmVE
ZXNjcmlwdG9yLmgKaW5kZXggMWZkZTkyNzg4ZjU1ZGE0ZmQ3ODg1MTgyZDdjYWIzYjQ4OGUzNjI4
Yi4uMDRjNWU2OGE3ZjcwMjM3ODkzMzVmYmQyZTBlMjVjOGQ3YTg2YzEyZiAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L0dQVVJlbmRlclBpcGVsaW5lRGVz
Y3JpcHRvci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dwdS9HUFVS
ZW5kZXJQaXBlbGluZURlc2NyaXB0b3IuaApAQCAtMjUsNyArMjUsNyBAQAogCiAjcHJhZ21hIG9u
Y2UKIAotI2lmIEVOQUJMRShXRUJHUFUpCisjaWYgRU5BQkxFKFdFQk1FVEFMKQogCiAjaW5jbHVk
ZSA8d3RmL1JldGFpblB0ci5oPgogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9ncHUvR1BVUmVuZGVyUGlwZWxpbmVTdGF0ZS5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9ncHUvR1BVUmVuZGVyUGlwZWxpbmVTdGF0ZS5jcHAKaW5kZXgg
NjlkYzQxMDVkMWZlMGY0NDNkMWMzNmIyNDZlMGY3N2YzMWFmOTRkYy4uYWFiMmIzZTgyMzQyY2Ri
NTljN2Q5N2JlZTgzOTEzYjk5ZDY5ODgyMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvZ3B1L0dQVVJlbmRlclBpcGVsaW5lU3RhdGUuY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dwdS9HUFVSZW5kZXJQaXBlbGluZVN0YXRlLmNw
cApAQCAtMjYsNyArMjYsNyBAQAogI2luY2x1ZGUgImNvbmZpZy5oIgogI2luY2x1ZGUgIkdQVVJl
bmRlclBpcGVsaW5lU3RhdGUuaCIKIAotI2lmIEVOQUJMRShXRUJHUFUpCisjaWYgRU5BQkxFKFdF
Qk1FVEFMKQogCiAjaW5jbHVkZSAiTG9nZ2luZy5oIgogCkBAIC0zNCw3ICszNCw3IEBAIG5hbWVz
cGFjZSBXZWJDb3JlIHsKIAogR1BVUmVuZGVyUGlwZWxpbmVTdGF0ZTo6fkdQVVJlbmRlclBpcGVs
aW5lU3RhdGUoKQogewotICAgIExPRyhXZWJHUFUsICJHUFVSZW5kZXJQaXBlbGluZVN0YXRlOjp+
R1BVUmVuZGVyUGlwZWxpbmVTdGF0ZSgpIik7CisgICAgTE9HKFdlYk1ldGFsLCAiR1BVUmVuZGVy
UGlwZWxpbmVTdGF0ZTo6fkdQVVJlbmRlclBpcGVsaW5lU3RhdGUoKSIpOwogfQogCiB9IC8vIG5h
bWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9ncHUvR1BVUmVuZGVyUGlwZWxpbmVTdGF0ZS5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvZ3B1L0dQVVJlbmRlclBpcGVsaW5lU3RhdGUuaAppbmRleCBjODgzMjQ5NmU4
N2E1ZGY2N2ExMDg5OGUxNzJkMDY4MzNmMWMxN2I0Li5jNjRhZmVkMTcwZGRjYzg4MWJiYTQyZWZl
MjUwNjRkODNhZTdhNzJkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9ncHUvR1BVUmVuZGVyUGlwZWxpbmVTdGF0ZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL2dwdS9HUFVSZW5kZXJQaXBlbGluZVN0YXRlLmgKQEAgLTI1LDcgKzI1
LDcgQEAKIAogI3ByYWdtYSBvbmNlCiAKLSNpZiBFTkFCTEUoV0VCR1BVKQorI2lmIEVOQUJMRShX
RUJNRVRBTCkKIAogI2luY2x1ZGUgPHd0Zi9SZXRhaW5QdHIuaD4KIApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L0dQVVNpemUuaCBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dwdS9HUFVTaXplLmgKaW5kZXggMzk1OGU4M2JmM2JlOGM4
MTQzYjY5MjU1NWQ4MjY4MDY1Yjk1OTRjYi4uMDY1OGYwODc4ZTVkN2E3YjJmMWFlODdjYzYxZjNm
N2UzOGRlYzkyMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
Z3B1L0dQVVNpemUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9ncHUv
R1BVU2l6ZS5oCkBAIC0yNSw3ICsyNSw3IEBACiAKICNwcmFnbWEgb25jZQogCi0jaWYgRU5BQkxF
KFdFQkdQVSkKKyNpZiBFTkFCTEUoV0VCTUVUQUwpCiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAg
ICAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dwdS9HUFVU
ZXh0dXJlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dwdS9HUFVUZXh0
dXJlLmNwcAppbmRleCBiY2M1ZThhMzFkYmU3MWQzMzI2YjE0YWIxZGE0ODNlM2QzNTJiZjNkLi5i
ZjExNDY5ZDRmMmExYTM4ODNlNGZhZWY2MTg0Y2U4MzRiMzQ5Mjk0IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9ncHUvR1BVVGV4dHVyZS5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L0dQVVRleHR1cmUuY3BwCkBAIC0yNiw3
ICsyNiw3IEBACiAjaW5jbHVkZSAiY29uZmlnLmgiCiAjaW5jbHVkZSAiR1BVVGV4dHVyZS5oIgog
Ci0jaWYgRU5BQkxFKFdFQkdQVSkKKyNpZiBFTkFCTEUoV0VCTUVUQUwpCiAKICNpbmNsdWRlICJM
b2dnaW5nLmgiCiAKQEAgLTM0LDcgKzM0LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogCiBHUFVU
ZXh0dXJlOjp+R1BVVGV4dHVyZSgpCiB7Ci0gICAgTE9HKFdlYkdQVSwgIkdQVVRleHR1cmU6On5H
UFVUZXh0dXJlKCkiKTsKKyAgICBMT0coV2ViTWV0YWwsICJHUFVUZXh0dXJlOjp+R1BVVGV4dHVy
ZSgpIik7CiB9CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dwdS9HUFVUZXh0dXJlLmggYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9ncHUvR1BVVGV4dHVyZS5oCmluZGV4IGQwMzY3OTFjZWU2YzJl
NTIzNTNjOThlNmE4NTFhMjg0MTMzNmY3NDcuLjZiN2EzMTdiMjJlMmZlYTkyNjZhMzhkMDQ3NTgw
N2M1ZmJhZmQ5OTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L2dwdS9HUFVUZXh0dXJlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
Z3B1L0dQVVRleHR1cmUuaApAQCAtMjUsNyArMjUsNyBAQAogCiAjcHJhZ21hIG9uY2UKIAotI2lm
IEVOQUJMRShXRUJHUFUpCisjaWYgRU5BQkxFKFdFQk1FVEFMKQogCiAjaW5jbHVkZSA8d3RmL1Jl
dGFpblB0ci5oPgogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9ncHUvR1BVVGV4dHVyZURlc2NyaXB0b3IuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvZ3B1L0dQVVRleHR1cmVEZXNjcmlwdG9yLmNwcAppbmRleCBkZjY3NWE0Y2QxNDk0
Y2FlNjIwNjBiNzM5MmU0ZDkwNmE2ZGNlNmM5Li4wMmNjZjQyMzE2NTY0OGUwNGU4NjRiZWJjMTFi
ZDM1Yzk5NTYyN2M4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9ncHUvR1BVVGV4dHVyZURlc2NyaXB0b3IuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL2dwdS9HUFVUZXh0dXJlRGVzY3JpcHRvci5jcHAKQEAgLTI2LDcgKzI2LDcg
QEAKICNpbmNsdWRlICJjb25maWcuaCIKICNpbmNsdWRlICJHUFVUZXh0dXJlRGVzY3JpcHRvci5o
IgogCi0jaWYgRU5BQkxFKFdFQkdQVSkKKyNpZiBFTkFCTEUoV0VCTUVUQUwpCiAKICNpbmNsdWRl
ICJMb2dnaW5nLmgiCiAKQEAgLTM0LDcgKzM0LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogCiBH
UFVUZXh0dXJlRGVzY3JpcHRvcjo6fkdQVVRleHR1cmVEZXNjcmlwdG9yKCkKIHsKLSAgICBMT0co
V2ViR1BVLCAiR1BVVGV4dHVyZURlc2NyaXB0b3I6On5HUFVUZXh0dXJlRGVzY3JpcHRvcigpIik7
CisgICAgTE9HKFdlYk1ldGFsLCAiR1BVVGV4dHVyZURlc2NyaXB0b3I6On5HUFVUZXh0dXJlRGVz
Y3JpcHRvcigpIik7CiB9CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dwdS9HUFVUZXh0dXJlRGVzY3JpcHRvci5o
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L0dQVVRleHR1cmVEZXNjcmlw
dG9yLmgKaW5kZXggMjQxMTFmY2ZhZjI2YzQ1N2MwMDUyYmJiNWU4YmY3ZDExZWQ1MzM2Mi4uMzM1
ODcxZDY2ZWQ5YTIxNjc3NWIyMjkwYmQ2OGUwZTMxYWIyZjUwZiAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L0dQVVRleHR1cmVEZXNjcmlwdG9yLmgKKysr
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L0dQVVRleHR1cmVEZXNjcmlw
dG9yLmgKQEAgLTI1LDcgKzI1LDcgQEAKIAogI3ByYWdtYSBvbmNlCiAKLSNpZiBFTkFCTEUoV0VC
R1BVKQorI2lmIEVOQUJMRShXRUJNRVRBTCkKIAogI2luY2x1ZGUgPHd0Zi9SZXRhaW5QdHIuaD4K
IApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvbWV0YWwvR1BV
QnVmZmVyTWV0YWwubW0gYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9tZXRhbC9H
UFVCdWZmZXJNZXRhbC5tbQppbmRleCA0YTExOWM3ZDlmNGZjNTllNmM5NjRkMmZiZWEwM2IyNzUz
Y2NiYmNkLi5hYTMwZDkzMDNiMjZhNzBhYTExZjI0OTk0YzMyYmNkN2UwMjlkYWFjIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9tZXRhbC9HUFVCdWZmZXJNZXRh
bC5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9tZXRhbC9HUFVCdWZm
ZXJNZXRhbC5tbQpAQCAtMjYsNyArMjYsNyBAQAogI2ltcG9ydCAiY29uZmlnLmgiCiAjaW1wb3J0
ICJHUFVCdWZmZXIuaCIKIAotI2lmIEVOQUJMRShXRUJHUFUpCisjaWYgRU5BQkxFKFdFQk1FVEFM
KQogCiAjaW1wb3J0ICJHUFVEZXZpY2UuaCIKICNpbXBvcnQgIkxvZ2dpbmcuaCIKQEAgLTM5LDcg
KzM5LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogCiBHUFVCdWZmZXI6OkdQVUJ1ZmZlcihjb25z
dCBHUFVEZXZpY2UmIGRldmljZSwgY29uc3QgSlNDOjpBcnJheUJ1ZmZlclZpZXcmIGRhdGEpCiB7
Ci0gICAgTE9HKFdlYkdQVSwgIkdQVUJ1ZmZlcjo6R1BVQnVmZmVyKCkiKTsKKyAgICBMT0coV2Vi
TWV0YWwsICJHUFVCdWZmZXI6OkdQVUJ1ZmZlcigpIik7CiAKICAgICBpZiAoIWRldmljZS5tZXRh
bCgpKQogICAgICAgICByZXR1cm47CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9tZXRhbC9HUFVDb21tYW5kQnVmZmVyTWV0YWwubW0gYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9tZXRhbC9HUFVDb21tYW5kQnVmZmVyTWV0YWwubW0KaW5kZXgg
NmRmNjM2MWFiNGRjYTA5MWU5NGJmOTk1YzRjMzg5OWVjZWJiZDdkOS4uZmNkM2RjMjM2ZTEyM2Zk
NzhmZTU1NjE4ZDIwMzg4MDdjMTQ1ZTBmNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvbWV0YWwvR1BVQ29tbWFuZEJ1ZmZlck1ldGFsLm1tCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL21ldGFsL0dQVUNvbW1hbmRCdWZmZXJNZXRhbC5t
bQpAQCAtMjYsNyArMjYsNyBAQAogI2ltcG9ydCAiY29uZmlnLmgiCiAjaW1wb3J0ICJHUFVDb21t
YW5kQnVmZmVyLmgiCiAKLSNpZiBFTkFCTEUoV0VCR1BVKQorI2lmIEVOQUJMRShXRUJNRVRBTCkK
IAogI2ltcG9ydCAiR1BVQ29tbWFuZFF1ZXVlLmgiCiAjaW1wb3J0ICJHUFVEcmF3YWJsZS5oIgpA
QCAtNDAsNyArNDAsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiBHUFVDb21tYW5kQnVmZmVyOjpH
UFVDb21tYW5kQnVmZmVyKGNvbnN0IEdQVUNvbW1hbmRRdWV1ZSYgcXVldWUsIEZ1bmN0aW9uPHZv
aWQoKT4mJiBjb21wbGV0ZWRDYWxsYmFjaykKICAgICA6IG1fbWV0YWwgeyBbcXVldWUubWV0YWwo
KSBjb21tYW5kQnVmZmVyXSB9CiB7Ci0gICAgTE9HKFdlYkdQVSwgIkdQVUNvbW1hbmRCdWZmZXI6
OkdQVUNvbW1hbmRCdWZmZXIoKSIpOworICAgIExPRyhXZWJNZXRhbCwgIkdQVUNvbW1hbmRCdWZm
ZXI6OkdQVUNvbW1hbmRCdWZmZXIoKSIpOwogCiAgICAgW21fbWV0YWwgYWRkQ29tcGxldGVkSGFu
ZGxlcjpCbG9ja1B0cjx2b2lkIChpZDxNVExDb21tYW5kQnVmZmVyPik+Ojpmcm9tQ2FsbGFibGUo
W2NvbXBsZXRlZENhbGxiYWNrID0gV1RGTW92ZShjb21wbGV0ZWRDYWxsYmFjayldIChpZDxNVExD
b21tYW5kQnVmZmVyPikgbXV0YWJsZSB7CiAgICAgICAgIGNhbGxPbk1haW5UaHJlYWQoV1RGTW92
ZShjb21wbGV0ZWRDYWxsYmFjaykpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvbWV0YWwvR1BVQ29tbWFuZFF1ZXVlTWV0YWwubW0gYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9tZXRhbC9HUFVDb21tYW5kUXVldWVNZXRhbC5tbQppbmRleCAz
MDNiMjVkYTNkNGE2NGVkMWIwMDMwYjcyYjlmZGJjNmY5NjVjMzNkLi45ZTJhMDBhN2ZmODcwYmQ4
ZDNmOTI4OTYzMWEyNmVmZDhhMjU0ZmQyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9tZXRhbC9HUFVDb21tYW5kUXVldWVNZXRhbC5tbQorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9tZXRhbC9HUFVDb21tYW5kUXVldWVNZXRhbC5tbQpA
QCAtMjYsNyArMjYsNyBAQAogI2ltcG9ydCAiY29uZmlnLmgiCiAjaW1wb3J0ICJHUFVDb21tYW5k
UXVldWUuaCIKIAotI2lmIEVOQUJMRShXRUJHUFUpCisjaWYgRU5BQkxFKFdFQk1FVEFMKQogCiAj
aW1wb3J0ICJHUFVEZXZpY2UuaCIKICNpbXBvcnQgIkxvZ2dpbmcuaCIKQEAgLTQxLDcgKzQxLDcg
QEAgc3RhdGljIE5TU3RyaW5nICogY29uc3QgY29tbWFuZFF1ZXVlTGFiZWxQcmVmaXggPSBAImNv
bS5hcHBsZS5XZWJLaXQuIjsKIEdQVUNvbW1hbmRRdWV1ZTo6R1BVQ29tbWFuZFF1ZXVlKGNvbnN0
IEdQVURldmljZSYgZGV2aWNlKQogICAgIDogbV9tZXRhbCB7IGFkb3B0TlMoW2RldmljZS5tZXRh
bCgpIG5ld0NvbW1hbmRRdWV1ZV0pIH0KIHsKLSAgICBMT0coV2ViR1BVLCAiR1BVQ29tbWFuZFF1
ZXVlOjpHUFVDb21tYW5kUXVldWUoKSIpOworICAgIExPRyhXZWJNZXRhbCwgIkdQVUNvbW1hbmRR
dWV1ZTo6R1BVQ29tbWFuZFF1ZXVlKCkiKTsKIAogICAgIFttX21ldGFsIHNldExhYmVsOmNvbW1h
bmRRdWV1ZURlZmF1bHRMYWJlbF07CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9tZXRhbC9HUFVDb21wdXRlQ29tbWFuZEVuY29kZXJNZXRhbC5tbSBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL21ldGFsL0dQVUNvbXB1dGVDb21tYW5kRW5j
b2Rlck1ldGFsLm1tCmluZGV4IDFhMDViYmRiOWU3OGEyNzA2OTM0MTY5MGUzNTQ3MGZhNTc5ZWE0
OTIuLmNmOTQ0ZDdmODRhNWI5NTE0MTg4MGFjNDIyZjRiODZhNGY4NmI1ZGYgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL21ldGFsL0dQVUNvbXB1dGVDb21tYW5k
RW5jb2Rlck1ldGFsLm1tCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL21l
dGFsL0dQVUNvbXB1dGVDb21tYW5kRW5jb2Rlck1ldGFsLm1tCkBAIC0yNiw3ICsyNiw3IEBACiAj
aW1wb3J0ICJjb25maWcuaCIKICNpbXBvcnQgIkdQVUNvbXB1dGVDb21tYW5kRW5jb2Rlci5oIgog
Ci0jaWYgRU5BQkxFKFdFQkdQVSkKKyNpZiBFTkFCTEUoV0VCTUVUQUwpCiAKICNpbXBvcnQgIkdQ
VUJ1ZmZlci5oIgogI2ltcG9ydCAiR1BVQ29tbWFuZEJ1ZmZlci5oIgpAQCAtNDUsNyArNDUsNyBA
QCBzdGF0aWMgaW5saW5lIE1UTFNpemUgTVRMU2l6ZU1ha2UoR1BVU2l6ZSBzaXplKQogR1BVQ29t
cHV0ZUNvbW1hbmRFbmNvZGVyOjpHUFVDb21wdXRlQ29tbWFuZEVuY29kZXIoY29uc3QgR1BVQ29t
bWFuZEJ1ZmZlciYgYnVmZmVyKQogICAgIDogbV9tZXRhbCB7IFtidWZmZXIubWV0YWwoKSBjb21w
dXRlQ29tbWFuZEVuY29kZXJdIH0KIHsKLSAgICBMT0coV2ViR1BVLCAiR1BVQ29tcHV0ZUNvbW1h
bmRFbmNvZGVyOjpHUFVDb21wdXRlQ29tbWFuZEVuY29kZXIoKSIpOworICAgIExPRyhXZWJNZXRh
bCwgIkdQVUNvbXB1dGVDb21tYW5kRW5jb2Rlcjo6R1BVQ29tcHV0ZUNvbW1hbmRFbmNvZGVyKCki
KTsKIH0KIAogdm9pZCBHUFVDb21wdXRlQ29tbWFuZEVuY29kZXI6OnNldENvbXB1dGVQaXBlbGlu
ZVN0YXRlKGNvbnN0IEdQVUNvbXB1dGVQaXBlbGluZVN0YXRlJiBjb21wdXRlUGlwZWxpbmVTdGF0
ZSkgY29uc3QKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL21l
dGFsL0dQVUNvbXB1dGVQaXBlbGluZVN0YXRlTWV0YWwubW0gYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9tZXRhbC9HUFVDb21wdXRlUGlwZWxpbmVTdGF0ZU1ldGFsLm1tCmluZGV4
IDUwMWJlZWU3ZDFjNGMzYjRhMmZjN2VmMDNhMGRhOWU1OTA1OWI2MWIuLjE1NzgyZTk3N2ZkYjBl
MTRjNzNmZDYxZDE4MmRhNGRlY2RmMDVmYTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL21ldGFsL0dQVUNvbXB1dGVQaXBlbGluZVN0YXRlTWV0YWwubW0KKysr
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvbWV0YWwvR1BVQ29tcHV0ZVBpcGVs
aW5lU3RhdGVNZXRhbC5tbQpAQCAtMjYsNyArMjYsNyBAQAogI2ltcG9ydCAiY29uZmlnLmgiCiAj
aW1wb3J0ICJHUFVDb21wdXRlUGlwZWxpbmVTdGF0ZS5oIgogCi0jaWYgRU5BQkxFKFdFQkdQVSkK
KyNpZiBFTkFCTEUoV0VCTUVUQUwpCiAKICNpbXBvcnQgIkdQVURldmljZS5oIgogI2ltcG9ydCAi
R1BVRnVuY3Rpb24uaCIKQEAgLTM3LDcgKzM3LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogCiBH
UFVDb21wdXRlUGlwZWxpbmVTdGF0ZTo6R1BVQ29tcHV0ZVBpcGVsaW5lU3RhdGUoY29uc3QgR1BV
RGV2aWNlJiBkZXZpY2UsIGNvbnN0IEdQVUZ1bmN0aW9uJiBmdW5jdGlvbikKIHsKLSAgICBMT0co
V2ViR1BVLCAiR1BVQ29tcHV0ZVBpcGVsaW5lU3RhdGU6OkdQVUNvbXB1dGVQaXBlbGluZVN0YXRl
KCkiKTsKKyAgICBMT0coV2ViTWV0YWwsICJHUFVDb21wdXRlUGlwZWxpbmVTdGF0ZTo6R1BVQ29t
cHV0ZVBpcGVsaW5lU3RhdGUoKSIpOwogCiAgICAgaWYgKCFmdW5jdGlvbi5tZXRhbCgpKQogICAg
ICAgICByZXR1cm47CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9tZXRhbC9HUFVEZXB0aFN0ZW5jaWxEZXNjcmlwdG9yTWV0YWwubW0gYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9tZXRhbC9HUFVEZXB0aFN0ZW5jaWxEZXNjcmlwdG9yTWV0YWwu
bW0KaW5kZXggZDRhOTg4MmNkMjkxMGQ1ZmI2YzM3ODFkY2ZmOWI3OTMwYTIyMmIyZi4uNWU4NWJj
NzFjOTdhODY1MzEzODZlZTA0MmVlYTM1YWI3M2NkOTQ4MiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvbWV0YWwvR1BVRGVwdGhTdGVuY2lsRGVzY3JpcHRvck1l
dGFsLm1tCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL21ldGFsL0dQVURl
cHRoU3RlbmNpbERlc2NyaXB0b3JNZXRhbC5tbQpAQCAtMjYsNyArMjYsNyBAQAogI2ltcG9ydCAi
Y29uZmlnLmgiCiAjaW1wb3J0ICJHUFVEZXB0aFN0ZW5jaWxEZXNjcmlwdG9yLmgiCiAKLSNpZiBF
TkFCTEUoV0VCR1BVKQorI2lmIEVOQUJMRShXRUJNRVRBTCkKIAogI2ltcG9ydCAiR1BVRW51bXMu
aCIKICNpbXBvcnQgIkxvZ2dpbmcuaCIKQEAgLTM3LDcgKzM3LDcgQEAgbmFtZXNwYWNlIFdlYkNv
cmUgewogR1BVRGVwdGhTdGVuY2lsRGVzY3JpcHRvcjo6R1BVRGVwdGhTdGVuY2lsRGVzY3JpcHRv
cigpCiAgICAgOiBtX21ldGFsIHsgYWRvcHROUyhbTVRMRGVwdGhTdGVuY2lsRGVzY3JpcHRvciBu
ZXddKSB9CiB7Ci0gICAgTE9HKFdlYkdQVSwgIkdQVURlcHRoU3RlbmNpbERlc2NyaXB0b3I6OkdQ
VURlcHRoU3RlbmNpbERlc2NyaXB0b3IoKSIpOworICAgIExPRyhXZWJNZXRhbCwgIkdQVURlcHRo
U3RlbmNpbERlc2NyaXB0b3I6OkdQVURlcHRoU3RlbmNpbERlc2NyaXB0b3IoKSIpOwogfQogCiBi
b29sIEdQVURlcHRoU3RlbmNpbERlc2NyaXB0b3I6OmRlcHRoV3JpdGVFbmFibGVkKCkgY29uc3QK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL21ldGFsL0dQVURl
cHRoU3RlbmNpbFN0YXRlTWV0YWwubW0gYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9tZXRhbC9HUFVEZXB0aFN0ZW5jaWxTdGF0ZU1ldGFsLm1tCmluZGV4IDcyNWYyNWFlNjM0MzA1
NDBlYjBhYTg5M2ZiZmEwMDcxNTYyODc0NDUuLjU1ODBjNzRjZTU0NjdkYjliNTkyNzU5OWEzNzEx
NDM3YWNmYzg1MzUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L21ldGFsL0dQVURlcHRoU3RlbmNpbFN0YXRlTWV0YWwubW0KKysrIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvbWV0YWwvR1BVRGVwdGhTdGVuY2lsU3RhdGVNZXRhbC5tbQpAQCAt
MjYsNyArMjYsNyBAQAogI2ltcG9ydCAiY29uZmlnLmgiCiAjaW1wb3J0ICJHUFVEZXB0aFN0ZW5j
aWxTdGF0ZS5oIgogCi0jaWYgRU5BQkxFKFdFQkdQVSkKKyNpZiBFTkFCTEUoV0VCTUVUQUwpCiAK
ICNpbXBvcnQgIkdQVURlcHRoU3RlbmNpbERlc2NyaXB0b3IuaCIKICNpbXBvcnQgIkdQVURldmlj
ZS5oIgpAQCAtMzksNyArMzksNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiBHUFVEZXB0aFN0ZW5j
aWxTdGF0ZTo6R1BVRGVwdGhTdGVuY2lsU3RhdGUoY29uc3QgR1BVRGV2aWNlJiBkZXZpY2UsIGNv
bnN0IEdQVURlcHRoU3RlbmNpbERlc2NyaXB0b3ImIGRlc2NyaXB0b3IpCiAgICAgOiBtX21ldGFs
IHsgYWRvcHROUyhbZGV2aWNlLm1ldGFsKCkgbmV3RGVwdGhTdGVuY2lsU3RhdGVXaXRoRGVzY3Jp
cHRvcjpkZXNjcmlwdG9yLm1ldGFsKCldKSB9CiB7Ci0gICAgTE9HKFdlYkdQVSwgIkdQVURlcHRo
U3RlbmNpbFN0YXRlOjpHUFVEZXB0aFN0ZW5jaWxTdGF0ZSgpIik7CisgICAgTE9HKFdlYk1ldGFs
LCAiR1BVRGVwdGhTdGVuY2lsU3RhdGU6OkdQVURlcHRoU3RlbmNpbFN0YXRlKCkiKTsKIH0KIAog
U3RyaW5nIEdQVURlcHRoU3RlbmNpbFN0YXRlOjpsYWJlbCgpIGNvbnN0CkBAIC01NCw3ICs1NCw3
IEBAIHZvaWQgR1BVRGVwdGhTdGVuY2lsU3RhdGU6OnNldExhYmVsKGNvbnN0IFN0cmluZyYpIGNv
bnN0CiB7CiAgICAgLy8gRklYTUU6IFRoZSBNVExEZXB0aFN0ZW5jaWxTdGF0ZSBwcm90b2NvbCBk
b2VzIG5vdCBhbGxvdyBzZXR0aW5nIHRoZSBsYWJlbC4KICAgICAvLyBUaGUgbGFiZWwgaGFzIHRv
IGJlIHNldCBvbiB0aGUgZGVzY3JpcHRvciB3aGVuIGNyZWF0aW5nIHRoZSBzdGF0ZSBvYmplY3Qu
Ci0gICAgLy8gV2Ugc2hvdWxkIGNvbnNpZGVyIGNoYW5naW5nIHRoZSBXZWJHUFUgaW50ZXJmYWNl
IHRvIG5vdCByZXF1aXJlIHRoaXMhCisgICAgLy8gV2Ugc2hvdWxkIGNvbnNpZGVyIGNoYW5naW5n
IHRoZSBXZWJNZXRhbCBpbnRlcmZhY2UgdG8gbm90IHJlcXVpcmUgdGhpcyEKIH0KICAgICAKIH0g
Ly8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL21ldGFsL0dQVURldmljZU1ldGFsLm1tIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvbWV0YWwvR1BVRGV2aWNlTWV0YWwubW0KaW5kZXggOGFkZGZlOWFjY2ZjN2Q5
NDlkZDZjOWUwZjU5ODhiODUzYjEwMjJjZS4uYmNlYTNmNzc0NDY0ZGUzNzg1NDdjYzc1NjI3MzFi
Y2ZjZTc2MTIxZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
bWV0YWwvR1BVRGV2aWNlTWV0YWwubW0KKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvbWV0YWwvR1BVRGV2aWNlTWV0YWwubW0KQEAgLTI2LDEwICsyNiwxMCBAQAogI2ltcG9y
dCAiY29uZmlnLmgiCiAjaW1wb3J0ICJHUFVEZXZpY2UuaCIKIAotI2lmIEVOQUJMRShXRUJHUFUp
CisjaWYgRU5BQkxFKFdFQk1FVEFMKQogCiAjaW1wb3J0ICJMb2dnaW5nLmgiCi0jaW1wb3J0ICJX
ZWJHUFVMYXllci5oIgorI2ltcG9ydCAiV2ViTWV0YWxMYXllci5oIgogI2ltcG9ydCA8SmF2YVNj
cmlwdENvcmUvQXJyYXlCdWZmZXIuaD4KICNpbXBvcnQgPE1ldGFsL01ldGFsLmg+CiAjaW1wb3J0
IDx3dGYvQmxvY2tPYmpDRXhjZXB0aW9ucy5oPgpAQCAtNDEsMTkgKzQxLDE5IEBAIEdQVURldmlj
ZTo6R1BVRGV2aWNlKCkKIHsKIAogICAgIGlmICghbV9tZXRhbCkgewotICAgICAgICBMT0coV2Vi
R1BVLCAiR1BVRGV2aWNlOjpHUFVEZXZpY2UgLS0gY291bGQgbm90IGNyZWF0ZSB0aGUgZGV2aWNl
LiBUaGlzIHVzdWFsbHkgbWVhbnMgTWV0YWwgaXMgbm90IGF2YWlsYWJsZSBvbiB0aGlzIGhhcmR3
YXJlLiIpOworICAgICAgICBMT0coV2ViTWV0YWwsICJHUFVEZXZpY2U6OkdQVURldmljZSAtLSBj
b3VsZCBub3QgY3JlYXRlIHRoZSBkZXZpY2UuIFRoaXMgdXN1YWxseSBtZWFucyBNZXRhbCBpcyBu
b3QgYXZhaWxhYmxlIG9uIHRoaXMgaGFyZHdhcmUuIik7CiAgICAgICAgIHJldHVybjsKICAgICB9
CiAKLSAgICBMT0coV2ViR1BVLCAiR1BVRGV2aWNlOjpHUFVEZXZpY2UgTWV0YWwgZGV2aWNlIGlz
ICVwIiwgbV9tZXRhbC5nZXQoKSk7CisgICAgTE9HKFdlYk1ldGFsLCAiR1BVRGV2aWNlOjpHUFVE
ZXZpY2UgTWV0YWwgZGV2aWNlIGlzICVwIiwgbV9tZXRhbC5nZXQoKSk7CiAKICAgICBCRUdJTl9C
TE9DS19PQkpDX0VYQ0VQVElPTlMKIAotICAgIG1fbGF5ZXIgPSBhZG9wdE5TKFtbV2ViR1BVTGF5
ZXIgYWxsb2NdIGluaXRXaXRoR1BVRGV2aWNlOnRoaXNdKTsKKyAgICBtX2xheWVyID0gYWRvcHRO
UyhbW1dlYk1ldGFsTGF5ZXIgYWxsb2NdIGluaXRXaXRoR1BVRGV2aWNlOnRoaXNdKTsKICAgICBb
bV9sYXllciBzZXRPcGFxdWU6MF07Ci0gICAgW21fbGF5ZXIgc2V0TmFtZTpAIldlYkdQVSBMYXll
ciJdOworICAgIFttX2xheWVyIHNldE5hbWU6QCJXZWJNZXRhbCBMYXllciJdOwogCi0gICAgLy8g
RklYTUU6IFdlYkdQVSAtIFNob3VsZCB0aGlzIGJlIGluIHRoZSBXZWJHUFVMYXllciBpbml0aWFs
aXplcj8KKyAgICAvLyBGSVhNRTogV2ViTWV0YWwgLSBTaG91bGQgdGhpcyBiZSBpbiB0aGUgV2Vi
TWV0YWxMYXllciBpbml0aWFsaXplcj8KICAgICBbbV9sYXllciBzZXREZXZpY2U6bV9tZXRhbC5n
ZXQoKV07CiAgICAgW21fbGF5ZXIgc2V0UGl4ZWxGb3JtYXQ6TVRMUGl4ZWxGb3JtYXRCR1JBOFVu
b3JtXTsKICAgICBbbV9sYXllciBzZXRGcmFtZWJ1ZmZlck9ubHk6WUVTXTsKQEAgLTcyLDcgKzcy
LDcgQEAgdm9pZCBHUFVEZXZpY2U6OnJlc2hhcGUoaW50IHdpZHRoLCBpbnQgaGVpZ2h0KSBjb25z
dAogICAgIFttX2xheWVyIHNldEJvdW5kczpDR1JlY3RNYWtlKDAsIDAsIHdpZHRoLCBoZWlnaHQp
XTsKICAgICBbbV9sYXllciBzZXREcmF3YWJsZVNpemU6Q0dTaXplTWFrZSh3aWR0aCwgaGVpZ2h0
KV07CiAKLSAgICAvLyBGSVhNRTogV2ViR1BVIC0gTG90cyBvZiByZXNoYXBlIHN0dWZmIHNob3Vs
ZCBnbyBoZXJlLiBTZWUgR0MzRC4KKyAgICAvLyBGSVhNRTogV2ViTWV0YWwgLSBMb3RzIG9mIHJl
c2hhcGUgc3R1ZmYgc2hvdWxkIGdvIGhlcmUuIFNlZSBHQzNELgogfQogCiBDQUxheWVyICpHUFVE
ZXZpY2U6OnBsYXRmb3JtTGF5ZXIoKSBjb25zdApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvbWV0YWwvR1BVRHJhd2FibGVNZXRhbC5tbSBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL21ldGFsL0dQVURyYXdhYmxlTWV0YWwubW0KaW5kZXggZmIz
MjY4Yzg0YTdlN2VhOTQwMjgxZDcwOTllN2VlM2JlODQ1ODY3ZS4uNWNhZDk4YWNhYzAxNGExZGFk
NjI3NjMwOWI0NzJiZTFhMDFjN2JkMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvbWV0YWwvR1BVRHJhd2FibGVNZXRhbC5tbQorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9tZXRhbC9HUFVEcmF3YWJsZU1ldGFsLm1tCkBAIC0yNiwyMyAr
MjYsMjMgQEAKICNpbXBvcnQgImNvbmZpZy5oIgogI2ltcG9ydCAiR1BVRHJhd2FibGUuaCIKIAot
I2lmIEVOQUJMRShXRUJHUFUpCisjaWYgRU5BQkxFKFdFQk1FVEFMKQogCiAjaW1wb3J0ICJHUFVE
ZXZpY2UuaCIKICNpbXBvcnQgIkxvZ2dpbmcuaCIKLSNpbXBvcnQgIldlYkdQVUxheWVyLmgiCisj
aW1wb3J0ICJXZWJNZXRhbExheWVyLmgiCiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogR1BVRHJh
d2FibGU6OkdQVURyYXdhYmxlKGNvbnN0IEdQVURldmljZSYgZGV2aWNlKQogICAgIDogbV9tZXRh
bCB7IFtkZXZpY2UubGF5ZXIoKSBuZXh0RHJhd2FibGVdIH0KIHsKLSAgICBMT0coV2ViR1BVLCAi
R1BVRHJhd2FibGU6OkdQVURyYXdhYmxlKCkiKTsKKyAgICBMT0coV2ViTWV0YWwsICJHUFVEcmF3
YWJsZTo6R1BVRHJhd2FibGUoKSIpOwogfQogCiB2b2lkIEdQVURyYXdhYmxlOjpyZWxlYXNlKCkK
IHsKLSAgICBMT0coV2ViR1BVLCAiR1BVRHJhd2FibGU6OnJlbGVhc2UoKSIpOworICAgIExPRyhX
ZWJNZXRhbCwgIkdQVURyYXdhYmxlOjpyZWxlYXNlKCkiKTsKICAgICBtX21ldGFsID0gbmlsOwog
fQogICAgIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvbWV0
YWwvR1BVRnVuY3Rpb25NZXRhbC5tbSBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L21ldGFsL0dQVUZ1bmN0aW9uTWV0YWwubW0KaW5kZXggMDgyMzIwOTlhZjY1OGU5OTRmYWE5Yzgx
NTgwNzk4ZDIzN2YzNzI0YS4uN2E0YmUzYmYzYWE4MjRlNzBkNzZlNjc0YzhjZTYwOTE2OTBkMWJm
YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvbWV0YWwvR1BV
RnVuY3Rpb25NZXRhbC5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9t
ZXRhbC9HUFVGdW5jdGlvbk1ldGFsLm1tCkBAIC0yNiw3ICsyNiw3IEBACiAjaW1wb3J0ICJjb25m
aWcuaCIKICNpbXBvcnQgIkdQVUZ1bmN0aW9uLmgiCiAKLSNpZiBFTkFCTEUoV0VCR1BVKQorI2lm
IEVOQUJMRShXRUJNRVRBTCkKIAogI2ltcG9ydCAiR1BVTGlicmFyeS5oIgogI2ltcG9ydCAiTG9n
Z2luZy5oIgpAQCAtMzgsNyArMzgsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiBHUFVGdW5jdGlv
bjo6R1BVRnVuY3Rpb24oY29uc3QgR1BVTGlicmFyeSYgbGlicmFyeSwgY29uc3QgU3RyaW5nJiBu
YW1lKQogICAgIDogbV9tZXRhbCB7IGFkb3B0TlMoW2xpYnJhcnkubWV0YWwoKSBuZXdGdW5jdGlv
bldpdGhOYW1lOm5hbWVdKSB9CiB7Ci0gICAgTE9HKFdlYkdQVSwgIkdQVUZ1bmN0aW9uOjpHUFVG
dW5jdGlvbigpIik7CisgICAgTE9HKFdlYk1ldGFsLCAiR1BVRnVuY3Rpb246OkdQVUZ1bmN0aW9u
KCkiKTsKIH0KIAogU3RyaW5nIEdQVUZ1bmN0aW9uOjpuYW1lKCkgY29uc3QKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL21ldGFsL0dQVUxpYnJhcnlNZXRhbC5t
bSBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL21ldGFsL0dQVUxpYnJhcnlNZXRh
bC5tbQppbmRleCA4YWU4ODdhZjI4NjBlOTNhOWVmMGM3NjgyZWZhZGVmY2IwOTRiYjc2Li5lMmFk
YjFhYTQ1ZWFhY2FkOTA3MzZkODk5NDQ5NmI3MzJmZDNhNGU0IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9tZXRhbC9HUFVMaWJyYXJ5TWV0YWwubW0KKysrIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvbWV0YWwvR1BVTGlicmFyeU1ldGFsLm1t
CkBAIC0yNiw3ICsyNiw3IEBACiAjaW1wb3J0ICJjb25maWcuaCIKICNpbXBvcnQgIkdQVUxpYnJh
cnkuaCIKIAotI2lmIEVOQUJMRShXRUJHUFUpCisjaWYgRU5BQkxFKFdFQk1FVEFMKQogCiAjaW1w
b3J0ICJHUFVEZXZpY2UuaCIKICNpbXBvcnQgIkxvZ2dpbmcuaCIKQEAgLTM4LDcgKzM4LDcgQEAg
bmFtZXNwYWNlIFdlYkNvcmUgewogCiBHUFVMaWJyYXJ5OjpHUFVMaWJyYXJ5KGNvbnN0IEdQVURl
dmljZSYgZGV2aWNlLCBjb25zdCBTdHJpbmcmIHNvdXJjZUNvZGUpCiB7Ci0gICAgTE9HKFdlYkdQ
VSwgIkdQVUxpYnJhcnk6OkdQVUxpYnJhcnkoKSIpOworICAgIExPRyhXZWJNZXRhbCwgIkdQVUxp
YnJhcnk6OkdQVUxpYnJhcnkoKSIpOwogCiAgICAgaWYgKCFkZXZpY2UubWV0YWwoKSkKICAgICAg
ICAgcmV0dXJuOwpAQCAtNDYsNyArNDYsNyBAQCBHUFVMaWJyYXJ5OjpHUFVMaWJyYXJ5KGNvbnN0
IEdQVURldmljZSYgZGV2aWNlLCBjb25zdCBTdHJpbmcmIHNvdXJjZUNvZGUpCiAgICAgTlNFcnJv
ciAqZXJyb3IgPSBbTlNFcnJvciBlcnJvcldpdGhEb21haW46QCJjb20uYXBwbGUuV2ViS2l0LkdQ
VSIgY29kZToxIHVzZXJJbmZvOm5pbF07CiAgICAgbV9tZXRhbCA9IGFkb3B0TlMoW2RldmljZS5t
ZXRhbCgpIG5ld0xpYnJhcnlXaXRoU291cmNlOnNvdXJjZUNvZGUgb3B0aW9uczpuaWwgZXJyb3I6
JmVycm9yXSk7CiAgICAgaWYgKCFtX21ldGFsKQotICAgICAgICBMT0coV2ViR1BVLCAiQ29tcGls
YXRpb24gZXJyb3I6ICVzIiwgW1tlcnJvciBsb2NhbGl6ZWREZXNjcmlwdGlvbl0gVVRGOFN0cmlu
Z10pOworICAgICAgICBMT0coV2ViTWV0YWwsICJDb21waWxhdGlvbiBlcnJvcjogJXMiLCBbW2Vy
cm9yIGxvY2FsaXplZERlc2NyaXB0aW9uXSBVVEY4U3RyaW5nXSk7CiB9CiAKIFN0cmluZyBHUFVM
aWJyYXJ5OjpsYWJlbCgpIGNvbnN0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9tZXRhbC9HUFVSZW5kZXJDb21tYW5kRW5jb2Rlck1ldGFsLm1tIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvbWV0YWwvR1BVUmVuZGVyQ29tbWFuZEVuY29kZXJN
ZXRhbC5tbQppbmRleCBjMWU2MmIzZTE3YTZmMjFjNzQ3NjMzYjQ5ODc5OWFhNjJmODVjM2RjLi5i
Nzc1ODNiMjU2NzlmYWE4NDJjMTBiMDcyNWFiZDUyZWQ0MTU2NjI1IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9tZXRhbC9HUFVSZW5kZXJDb21tYW5kRW5jb2Rl
ck1ldGFsLm1tCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL21ldGFsL0dQ
VVJlbmRlckNvbW1hbmRFbmNvZGVyTWV0YWwubW0KQEAgLTI2LDcgKzI2LDcgQEAKICNpbXBvcnQg
ImNvbmZpZy5oIgogI2ltcG9ydCAiR1BVUmVuZGVyQ29tbWFuZEVuY29kZXIuaCIKIAotI2lmIEVO
QUJMRShXRUJHUFUpCisjaWYgRU5BQkxFKFdFQk1FVEFMKQogCiAjaW1wb3J0ICJHUFVCdWZmZXIu
aCIKICNpbXBvcnQgIkdQVUNvbW1hbmRCdWZmZXIuaCIKQEAgLTQwLDcgKzQwLDcgQEAgbmFtZXNw
YWNlIFdlYkNvcmUgewogCiBHUFVSZW5kZXJDb21tYW5kRW5jb2Rlcjo6R1BVUmVuZGVyQ29tbWFu
ZEVuY29kZXIoY29uc3QgR1BVQ29tbWFuZEJ1ZmZlciYgYnVmZmVyLCBjb25zdCBHUFVSZW5kZXJQ
YXNzRGVzY3JpcHRvciYgZGVzY3JpcHRvcikKIHsKLSAgICBMT0coV2ViR1BVLCAiR1BVUmVuZGVy
Q29tbWFuZEVuY29kZXI6OkdQVVJlbmRlckNvbW1hbmRFbmNvZGVyKCkiKTsKKyAgICBMT0coV2Vi
TWV0YWwsICJHUFVSZW5kZXJDb21tYW5kRW5jb2Rlcjo6R1BVUmVuZGVyQ29tbWFuZEVuY29kZXIo
KSIpOwogCiAgICAgaWYgKCFkZXNjcmlwdG9yLm1ldGFsKCkpCiAgICAgICAgIHJldHVybjsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL21ldGFsL0dQVVJlbmRl
clBhc3NBdHRhY2htZW50RGVzY3JpcHRvck1ldGFsLm1tIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvbWV0YWwvR1BVUmVuZGVyUGFzc0F0dGFjaG1lbnREZXNjcmlwdG9yTWV0YWwu
bW0KaW5kZXggNzMwZTcwZjM3ODY1ZWNhNDRlODVmYTBmYjViYzQ5MWIwMGU2ZjI3MC4uOTI0OTM5
YThiYzI4M2MxMjRkODI1MWUzNGQ1MjVhNzlkNmQwOThjYSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvbWV0YWwvR1BVUmVuZGVyUGFzc0F0dGFjaG1lbnREZXNj
cmlwdG9yTWV0YWwubW0KKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvbWV0
YWwvR1BVUmVuZGVyUGFzc0F0dGFjaG1lbnREZXNjcmlwdG9yTWV0YWwubW0KQEAgLTI2LDcgKzI2
LDcgQEAKICNpbXBvcnQgImNvbmZpZy5oIgogI2ltcG9ydCAiR1BVUmVuZGVyUGFzc0F0dGFjaG1l
bnREZXNjcmlwdG9yLmgiCiAKLSNpZiBFTkFCTEUoV0VCR1BVKQorI2lmIEVOQUJMRShXRUJNRVRB
TCkKIAogI2ltcG9ydCAiR1BVVGV4dHVyZS5oIgogI2ltcG9ydCAiTG9nZ2luZy5oIgpAQCAtMzgs
NyArMzgsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiBHUFVSZW5kZXJQYXNzQXR0YWNobWVudERl
c2NyaXB0b3I6OkdQVVJlbmRlclBhc3NBdHRhY2htZW50RGVzY3JpcHRvcihNVExSZW5kZXJQYXNz
QXR0YWNobWVudERlc2NyaXB0b3IgKm1ldGFsKQogICAgIDogbV9tZXRhbCB7IG1ldGFsIH0KIHsK
LSAgICBMT0coV2ViR1BVLCAiR1BVUmVuZGVyUGFzc0F0dGFjaG1lbnREZXNjcmlwdG9yOjpHUFVS
ZW5kZXJQYXNzQXR0YWNobWVudERlc2NyaXB0b3IoKSIpOworICAgIExPRyhXZWJNZXRhbCwgIkdQ
VVJlbmRlclBhc3NBdHRhY2htZW50RGVzY3JpcHRvcjo6R1BVUmVuZGVyUGFzc0F0dGFjaG1lbnRE
ZXNjcmlwdG9yKCkiKTsKIH0KIAogdW5zaWduZWQgR1BVUmVuZGVyUGFzc0F0dGFjaG1lbnREZXNj
cmlwdG9yOjpsb2FkQWN0aW9uKCkgY29uc3QKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL21ldGFsL0dQVVJlbmRlclBhc3NDb2xvckF0dGFjaG1lbnREZXNjcmlw
dG9yTWV0YWwubW0gYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9tZXRhbC9HUFVS
ZW5kZXJQYXNzQ29sb3JBdHRhY2htZW50RGVzY3JpcHRvck1ldGFsLm1tCmluZGV4IDFmNWEzNjk1
MzI0OWEyNjM3NmE1YmE1OGYwZWNiMjg4MTY2YWFhMDQuLmNjZDBmNDkwOTVjNDc0YjYyYWM3ZTk5
OGJjNmVmYWExZmIzZWZiZTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL21ldGFsL0dQVVJlbmRlclBhc3NDb2xvckF0dGFjaG1lbnREZXNjcmlwdG9yTWV0YWwu
bW0KKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvbWV0YWwvR1BVUmVuZGVy
UGFzc0NvbG9yQXR0YWNobWVudERlc2NyaXB0b3JNZXRhbC5tbQpAQCAtMjYsNyArMjYsNyBAQAog
I2ltcG9ydCAiY29uZmlnLmgiCiAjaW1wb3J0ICJHUFVSZW5kZXJQYXNzQ29sb3JBdHRhY2htZW50
RGVzY3JpcHRvci5oIgogCi0jaWYgRU5BQkxFKFdFQkdQVSkKKyNpZiBFTkFCTEUoV0VCTUVUQUwp
CiAKICNpbXBvcnQgIkZsb2F0Q29udmVyc2lvbi5oIgogI2ltcG9ydCAiTG9nZ2luZy5oIgpAQCAt
MzgsNyArMzgsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiBHUFVSZW5kZXJQYXNzQ29sb3JBdHRh
Y2htZW50RGVzY3JpcHRvcjo6R1BVUmVuZGVyUGFzc0NvbG9yQXR0YWNobWVudERlc2NyaXB0b3Io
TVRMUmVuZGVyUGFzc0NvbG9yQXR0YWNobWVudERlc2NyaXB0b3IgKm1ldGFsKQogICAgIDogR1BV
UmVuZGVyUGFzc0F0dGFjaG1lbnREZXNjcmlwdG9yIHsgbWV0YWwgfQogewotICAgIExPRyhXZWJH
UFUsICJHUFVSZW5kZXJQYXNzQ29sb3JBdHRhY2htZW50RGVzY3JpcHRvcjo6R1BVUmVuZGVyUGFz
c0NvbG9yQXR0YWNobWVudERlc2NyaXB0b3IoKSIpOworICAgIExPRyhXZWJNZXRhbCwgIkdQVVJl
bmRlclBhc3NDb2xvckF0dGFjaG1lbnREZXNjcmlwdG9yOjpHUFVSZW5kZXJQYXNzQ29sb3JBdHRh
Y2htZW50RGVzY3JpcHRvcigpIik7CiB9CiAKIFZlY3RvcjxmbG9hdD4gR1BVUmVuZGVyUGFzc0Nv
bG9yQXR0YWNobWVudERlc2NyaXB0b3I6OmNsZWFyQ29sb3IoKSBjb25zdApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvbWV0YWwvR1BVUmVuZGVyUGFzc0RlcHRo
QXR0YWNobWVudERlc2NyaXB0b3JNZXRhbC5tbSBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL21ldGFsL0dQVVJlbmRlclBhc3NEZXB0aEF0dGFjaG1lbnREZXNjcmlwdG9yTWV0YWwu
bW0KaW5kZXggMzc2NWIxYTJhOTQ5ZDYxMmE4M2MwZTA5ZmE1ZmYwZmY3NWE4YTc4NS4uNzY0NzJl
OTNlNGIzYmZkNzhlM2Q0Zjg3YTBiOGMzNzgyN2VjMjQ4OSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvbWV0YWwvR1BVUmVuZGVyUGFzc0RlcHRoQXR0YWNobWVu
dERlc2NyaXB0b3JNZXRhbC5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9tZXRhbC9HUFVSZW5kZXJQYXNzRGVwdGhBdHRhY2htZW50RGVzY3JpcHRvck1ldGFsLm1tCkBA
IC0yNiw3ICsyNiw3IEBACiAjaW1wb3J0ICJjb25maWcuaCIKICNpbXBvcnQgIkdQVVJlbmRlclBh
c3NEZXB0aEF0dGFjaG1lbnREZXNjcmlwdG9yLmgiCiAKLSNpZiBFTkFCTEUoV0VCR1BVKQorI2lm
IEVOQUJMRShXRUJNRVRBTCkKIAogI2ltcG9ydCAiR1BVUmVuZGVyUGFzc0F0dGFjaG1lbnREZXNj
cmlwdG9yLmgiCiAjaW1wb3J0ICJMb2dnaW5nLmgiCkBAIC0zNyw3ICszNyw3IEBAIG5hbWVzcGFj
ZSBXZWJDb3JlIHsKIEdQVVJlbmRlclBhc3NEZXB0aEF0dGFjaG1lbnREZXNjcmlwdG9yOjpHUFVS
ZW5kZXJQYXNzRGVwdGhBdHRhY2htZW50RGVzY3JpcHRvcihNVExSZW5kZXJQYXNzRGVwdGhBdHRh
Y2htZW50RGVzY3JpcHRvciAqbWV0YWwpCiAgICAgOiBHUFVSZW5kZXJQYXNzQXR0YWNobWVudERl
c2NyaXB0b3IgeyBtZXRhbCB9CiB7Ci0gICAgTE9HKFdlYkdQVSwgIkdQVVJlbmRlclBhc3NEZXB0
aEF0dGFjaG1lbnREZXNjcmlwdG9yOjpHUFVSZW5kZXJQYXNzRGVwdGhBdHRhY2htZW50RGVzY3Jp
cHRvcigpIik7CisgICAgTE9HKFdlYk1ldGFsLCAiR1BVUmVuZGVyUGFzc0RlcHRoQXR0YWNobWVu
dERlc2NyaXB0b3I6OkdQVVJlbmRlclBhc3NEZXB0aEF0dGFjaG1lbnREZXNjcmlwdG9yKCkiKTsK
IH0KIAogZG91YmxlIEdQVVJlbmRlclBhc3NEZXB0aEF0dGFjaG1lbnREZXNjcmlwdG9yOjpjbGVh
ckRlcHRoKCkgY29uc3QKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL21ldGFsL0dQVVJlbmRlclBhc3NEZXNjcmlwdG9yTWV0YWwubW0gYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9tZXRhbC9HUFVSZW5kZXJQYXNzRGVzY3JpcHRvck1ldGFsLm1t
CmluZGV4IGI3YWUxOGJmMTY2ZGRhZDE4NTJhODdjOThiMDE0OGI4MzA0ODA2ZjMuLmVhOGRkNzE1
NzczMzU2ZjRjNzhkZTY0YzRiNWZlM2NkNDQ1ZjUyZDkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL21ldGFsL0dQVVJlbmRlclBhc3NEZXNjcmlwdG9yTWV0YWwu
bW0KKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvbWV0YWwvR1BVUmVuZGVy
UGFzc0Rlc2NyaXB0b3JNZXRhbC5tbQpAQCAtMjYsNyArMjYsNyBAQAogI2ltcG9ydCAiY29uZmln
LmgiCiAjaW1wb3J0ICJHUFVSZW5kZXJQYXNzRGVzY3JpcHRvci5oIgogCi0jaWYgRU5BQkxFKFdF
QkdQVSkKKyNpZiBFTkFCTEUoV0VCTUVUQUwpCiAKICNpbXBvcnQgIkdQVVJlbmRlclBhc3NDb2xv
ckF0dGFjaG1lbnREZXNjcmlwdG9yLmgiCiAjaW1wb3J0ICJHUFVSZW5kZXJQYXNzRGVwdGhBdHRh
Y2htZW50RGVzY3JpcHRvci5oIgpAQCAtMzksNyArMzksNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7
CiBHUFVSZW5kZXJQYXNzRGVzY3JpcHRvcjo6R1BVUmVuZGVyUGFzc0Rlc2NyaXB0b3IoKQogICAg
IDogbV9tZXRhbCB7IGFkb3B0TlMoW01UTFJlbmRlclBhc3NEZXNjcmlwdG9yIG5ld10pIH0KIHsK
LSAgICBMT0coV2ViR1BVLCAiR1BVUmVuZGVyUGFzc0Rlc2NyaXB0b3I6OkdQVVJlbmRlclBhc3NE
ZXNjcmlwdG9yKCkiKTsKKyAgICBMT0coV2ViTWV0YWwsICJHUFVSZW5kZXJQYXNzRGVzY3JpcHRv
cjo6R1BVUmVuZGVyUGFzc0Rlc2NyaXB0b3IoKSIpOwogfQogCiBWZWN0b3I8R1BVUmVuZGVyUGFz
c0NvbG9yQXR0YWNobWVudERlc2NyaXB0b3I+IEdQVVJlbmRlclBhc3NEZXNjcmlwdG9yOjpjb2xv
ckF0dGFjaG1lbnRzKCkgY29uc3QKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL21ldGFsL0dQVVJlbmRlclBpcGVsaW5lQ29sb3JBdHRhY2htZW50RGVzY3JpcHRv
ck1ldGFsLm1tIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvbWV0YWwvR1BVUmVu
ZGVyUGlwZWxpbmVDb2xvckF0dGFjaG1lbnREZXNjcmlwdG9yTWV0YWwubW0KaW5kZXggZGI4ZTUy
ZDZmYzk3MWVmN2YyNTI0MzgyZGZlN2Y2Njc2NDgwZjE3Zi4uYTljYWYxNTUzZDAxZDE5NzRmMzU5
MmY1N2JjNzhkMTFkYTkxYzg3ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvbWV0YWwvR1BVUmVuZGVyUGlwZWxpbmVDb2xvckF0dGFjaG1lbnREZXNjcmlwdG9y
TWV0YWwubW0KKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvbWV0YWwvR1BV
UmVuZGVyUGlwZWxpbmVDb2xvckF0dGFjaG1lbnREZXNjcmlwdG9yTWV0YWwubW0KQEAgLTI2LDcg
KzI2LDcgQEAKICNpbXBvcnQgImNvbmZpZy5oIgogI2ltcG9ydCAiR1BVUmVuZGVyUGlwZWxpbmVD
b2xvckF0dGFjaG1lbnREZXNjcmlwdG9yLmgiCiAKLSNpZiBFTkFCTEUoV0VCR1BVKQorI2lmIEVO
QUJMRShXRUJNRVRBTCkKIAogI2ltcG9ydCAiTG9nZ2luZy5oIgogI2ltcG9ydCA8TWV0YWwvTWV0
YWwuaD4KQEAgLTM2LDcgKzM2LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogR1BVUmVuZGVyUGlw
ZWxpbmVDb2xvckF0dGFjaG1lbnREZXNjcmlwdG9yOjpHUFVSZW5kZXJQaXBlbGluZUNvbG9yQXR0
YWNobWVudERlc2NyaXB0b3IoTVRMUmVuZGVyUGlwZWxpbmVDb2xvckF0dGFjaG1lbnREZXNjcmlw
dG9yICptZXRhbCkKICAgICA6IG1fbWV0YWwgeyBtZXRhbCB9CiB7Ci0gICAgTE9HKFdlYkdQVSwg
IkdQVVJlbmRlclBpcGVsaW5lQ29sb3JBdHRhY2htZW50RGVzY3JpcHRvcjo6R1BVUmVuZGVyUGlw
ZWxpbmVDb2xvckF0dGFjaG1lbnREZXNjcmlwdG9yKCkiKTsKKyAgICBMT0coV2ViTWV0YWwsICJH
UFVSZW5kZXJQaXBlbGluZUNvbG9yQXR0YWNobWVudERlc2NyaXB0b3I6OkdQVVJlbmRlclBpcGVs
aW5lQ29sb3JBdHRhY2htZW50RGVzY3JpcHRvcigpIik7CiB9CiAKIHVuc2lnbmVkIEdQVVJlbmRl
clBpcGVsaW5lQ29sb3JBdHRhY2htZW50RGVzY3JpcHRvcjo6cGl4ZWxGb3JtYXQoKSBjb25zdApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvbWV0YWwvR1BVUmVu
ZGVyUGlwZWxpbmVEZXNjcmlwdG9yTWV0YWwubW0gYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9tZXRhbC9HUFVSZW5kZXJQaXBlbGluZURlc2NyaXB0b3JNZXRhbC5tbQppbmRleCAy
NjMzMzc3NmIwYThiODljODNhNTM0ZGEzOTk3MmIxNzA1NzNlYzYxLi42YWQwMDI5OTcyZmZkMDA1
NGZkZGVmNGMwOTJkYmU3MDFhYmRkMjI4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9tZXRhbC9HUFVSZW5kZXJQaXBlbGluZURlc2NyaXB0b3JNZXRhbC5tbQor
KysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9tZXRhbC9HUFVSZW5kZXJQaXBl
bGluZURlc2NyaXB0b3JNZXRhbC5tbQpAQCAtMjYsNyArMjYsNyBAQAogI2ltcG9ydCAiY29uZmln
LmgiCiAjaW1wb3J0ICJHUFVSZW5kZXJQaXBlbGluZURlc2NyaXB0b3IuaCIKIAotI2lmIEVOQUJM
RShXRUJHUFUpCisjaWYgRU5BQkxFKFdFQk1FVEFMKQogCiAjaW1wb3J0ICJHUFVGdW5jdGlvbi5o
IgogI2ltcG9ydCAiR1BVUmVuZGVyUGlwZWxpbmVDb2xvckF0dGFjaG1lbnREZXNjcmlwdG9yLmgi
CkBAIC0zOSw3ICszOSw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIEdQVVJlbmRlclBpcGVsaW5l
RGVzY3JpcHRvcjo6R1BVUmVuZGVyUGlwZWxpbmVEZXNjcmlwdG9yKCkKICAgICA6IG1fbWV0YWwg
eyBhZG9wdE5TKFtNVExSZW5kZXJQaXBlbGluZURlc2NyaXB0b3IgbmV3XSkgfQogewotICAgIExP
RyhXZWJHUFUsICJHUFVSZW5kZXJQaXBlbGluZURlc2NyaXB0b3I6OkdQVVJlbmRlclBpcGVsaW5l
RGVzY3JpcHRvcigpIik7CisgICAgTE9HKFdlYk1ldGFsLCAiR1BVUmVuZGVyUGlwZWxpbmVEZXNj
cmlwdG9yOjpHUFVSZW5kZXJQaXBlbGluZURlc2NyaXB0b3IoKSIpOwogfQogCiB1bnNpZ25lZCBH
UFVSZW5kZXJQaXBlbGluZURlc2NyaXB0b3I6OmRlcHRoQXR0YWNobWVudFBpeGVsRm9ybWF0KCkg
Y29uc3QKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL21ldGFs
L0dQVVJlbmRlclBpcGVsaW5lU3RhdGVNZXRhbC5tbSBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL21ldGFsL0dQVVJlbmRlclBpcGVsaW5lU3RhdGVNZXRhbC5tbQppbmRleCBlZTc3
OTg2ODNjMmNhMWY3YzdhMjM3MTA0NmM0NWYzOGY1NGQyZmQxLi5jZTJkZjZhMDFiZDBkM2Q3Nzcy
MzE0YzdkOTg4ZWE0Y2MyYzdjYTUzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9tZXRhbC9HUFVSZW5kZXJQaXBlbGluZVN0YXRlTWV0YWwubW0KKysrIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvbWV0YWwvR1BVUmVuZGVyUGlwZWxpbmVTdGF0
ZU1ldGFsLm1tCkBAIC0yNiw3ICsyNiw3IEBACiAjaW1wb3J0ICJjb25maWcuaCIKICNpbXBvcnQg
IkdQVVJlbmRlclBpcGVsaW5lU3RhdGUuaCIKIAotI2lmIEVOQUJMRShXRUJHUFUpCisjaWYgRU5B
QkxFKFdFQk1FVEFMKQogCiAjaW1wb3J0ICJHUFVEZXZpY2UuaCIKICNpbXBvcnQgIkdQVVJlbmRl
clBpcGVsaW5lRGVzY3JpcHRvci5oIgpAQCAtMzksNyArMzksNyBAQCBuYW1lc3BhY2UgV2ViQ29y
ZSB7CiBHUFVSZW5kZXJQaXBlbGluZVN0YXRlOjpHUFVSZW5kZXJQaXBlbGluZVN0YXRlKGNvbnN0
IEdQVURldmljZSYgZGV2aWNlLCBjb25zdCBHUFVSZW5kZXJQaXBlbGluZURlc2NyaXB0b3ImIGRl
c2NyaXB0b3IpCiAgICAgOiBtX21ldGFsIHsgYWRvcHROUyhbZGV2aWNlLm1ldGFsKCkgbmV3UmVu
ZGVyUGlwZWxpbmVTdGF0ZVdpdGhEZXNjcmlwdG9yOmRlc2NyaXB0b3IubWV0YWwoKSBlcnJvcjpu
aWxdKSB9CiB7Ci0gICAgTE9HKFdlYkdQVSwgIkdQVVJlbmRlclBpcGVsaW5lU3RhdGU6OkdQVVJl
bmRlclBpcGVsaW5lU3RhdGUoKSIpOworICAgIExPRyhXZWJNZXRhbCwgIkdQVVJlbmRlclBpcGVs
aW5lU3RhdGU6OkdQVVJlbmRlclBpcGVsaW5lU3RhdGUoKSIpOwogfQogCiBTdHJpbmcgR1BVUmVu
ZGVyUGlwZWxpbmVTdGF0ZTo6bGFiZWwoKSBjb25zdApAQCAtNTMsNyArNTMsNyBAQCB2b2lkIEdQ
VVJlbmRlclBpcGVsaW5lU3RhdGU6OnNldExhYmVsKGNvbnN0IFN0cmluZyYpIGNvbnN0CiB7CiAg
ICAgLy8gRklYTUU6IFRoZSBNVExSZW5kZXJQaXBlbGluZVN0YXRlIHByb3RvY29sIGRvZXMgbm90
IGFsbG93IHNldHRpbmcgdGhlIGxhYmVsLgogICAgIC8vIFRoZSBsYWJlbCBoYXMgdG8gYmUgc2V0
IG9uIHRoZSBkZXNjcmlwdG9yIHdoZW4gY3JlYXRpbmcgdGhlIHN0YXRlIG9iamVjdC4KLSAgICAv
LyBXZSBzaG91bGQgY29uc2lkZXIgY2hhbmdpbmcgdGhlIFdlYkdQVSBpbnRlcmZhY2UgdG8gbm90
IHJlcXVpcmUgdGhpcyEKKyAgICAvLyBXZSBzaG91bGQgY29uc2lkZXIgY2hhbmdpbmcgdGhlIFdl
Yk1ldGFsIGludGVyZmFjZSB0byBub3QgcmVxdWlyZSB0aGlzIQogfQogICAgIAogTVRMUmVuZGVy
UGlwZWxpbmVTdGF0ZSAqR1BVUmVuZGVyUGlwZWxpbmVTdGF0ZTo6bWV0YWwoKSBjb25zdApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvbWV0YWwvR1BVVGV4dHVy
ZURlc2NyaXB0b3JNZXRhbC5tbSBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL21l
dGFsL0dQVVRleHR1cmVEZXNjcmlwdG9yTWV0YWwubW0KaW5kZXggNzMyODA2Zjc0MjUyNDRjOWU0
YWY2YjUyN2I3NDg4MTFkMDAzZmI5Zi4uYmE3MzA1M2VkYTg3ZmY2ODZhY2QwN2JlMDhkZGI5MWJk
NTllMmI2ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvbWV0
YWwvR1BVVGV4dHVyZURlc2NyaXB0b3JNZXRhbC5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9tZXRhbC9HUFVUZXh0dXJlRGVzY3JpcHRvck1ldGFsLm1tCkBAIC0yNiw3
ICsyNiw3IEBACiAjaW1wb3J0ICJjb25maWcuaCIKICNpbXBvcnQgIkdQVVRleHR1cmVEZXNjcmlw
dG9yLmgiCiAKLSNpZiBFTkFCTEUoV0VCR1BVKQorI2lmIEVOQUJMRShXRUJNRVRBTCkKIAogI2lt
cG9ydCAiTG9nZ2luZy5oIgogI2ltcG9ydCA8TWV0YWwvTWV0YWwuaD4KQEAgLTM2LDcgKzM2LDcg
QEAgbmFtZXNwYWNlIFdlYkNvcmUgewogR1BVVGV4dHVyZURlc2NyaXB0b3I6OkdQVVRleHR1cmVE
ZXNjcmlwdG9yKHVuc2lnbmVkIHBpeGVsRm9ybWF0LCB1bnNpZ25lZCB3aWR0aCwgdW5zaWduZWQg
aGVpZ2h0LCBib29sIG1pcG1hcHBlZCkKICAgICA6IG1fbWV0YWwgeyBbTVRMVGV4dHVyZURlc2Ny
aXB0b3IgdGV4dHVyZTJERGVzY3JpcHRvcldpdGhQaXhlbEZvcm1hdDpzdGF0aWNfY2FzdDxNVExQ
aXhlbEZvcm1hdD4ocGl4ZWxGb3JtYXQpIHdpZHRoOndpZHRoIGhlaWdodDpoZWlnaHQgbWlwbWFw
cGVkOm1pcG1hcHBlZF0gfQogewotICAgIExPRyhXZWJHUFUsICJHUFVUZXh0dXJlRGVzY3JpcHRv
cjo6R1BVVGV4dHVyZURlc2NyaXB0b3IoKSIpOworICAgIExPRyhXZWJNZXRhbCwgIkdQVVRleHR1
cmVEZXNjcmlwdG9yOjpHUFVUZXh0dXJlRGVzY3JpcHRvcigpIik7CiB9CiAKIHVuc2lnbmVkIEdQ
VVRleHR1cmVEZXNjcmlwdG9yOjp3aWR0aCgpIGNvbnN0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9tZXRhbC9HUFVUZXh0dXJlTWV0YWwubW0gYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9tZXRhbC9HUFVUZXh0dXJlTWV0YWwubW0KaW5kZXgg
MTEwN2ZjM2JjMmQxYzdkODE5NzkwNDM2OTg0OTMyMjU4MTM2MjI3MC4uYmNlZmNmZDFjMDY0ZGY1
ZGQ4Y2I2ZWJjYjU4OWVjNThkMTM4OWQyYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvbWV0YWwvR1BVVGV4dHVyZU1ldGFsLm1tCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL21ldGFsL0dQVVRleHR1cmVNZXRhbC5tbQpAQCAtMjYsNyAr
MjYsNyBAQAogI2ltcG9ydCAiY29uZmlnLmgiCiAjaW1wb3J0ICJHUFVUZXh0dXJlLmgiCiAKLSNp
ZiBFTkFCTEUoV0VCR1BVKQorI2lmIEVOQUJMRShXRUJNRVRBTCkKIAogI2ltcG9ydCAiR1BVRGV2
aWNlLmgiCiAjaW1wb3J0ICJHUFVEcmF3YWJsZS5oIgpAQCAtMzgsNyArMzgsNyBAQCBuYW1lc3Bh
Y2UgV2ViQ29yZSB7CiAKIEdQVVRleHR1cmU6OkdQVVRleHR1cmUoY29uc3QgR1BVRGV2aWNlJiBk
ZXZpY2UsIGNvbnN0IEdQVVRleHR1cmVEZXNjcmlwdG9yJiBkZXNjcmlwdG9yKQogewotICAgIExP
RyhXZWJHUFUsICJHUFVUZXh0dXJlOjpHUFVUZXh0dXJlKCkiKTsKKyAgICBMT0coV2ViTWV0YWws
ICJHUFVUZXh0dXJlOjpHUFVUZXh0dXJlKCkiKTsKIAogICAgIGlmICghZGVzY3JpcHRvci5tZXRh
bCgpKQogICAgICAgICByZXR1cm47CkBAIC00OSw3ICs0OSw3IEBAIEdQVVRleHR1cmU6OkdQVVRl
eHR1cmUoY29uc3QgR1BVRGV2aWNlJiBkZXZpY2UsIGNvbnN0IEdQVVRleHR1cmVEZXNjcmlwdG9y
JiBkZXNjCiBHUFVUZXh0dXJlOjpHUFVUZXh0dXJlKGNvbnN0IEdQVURyYXdhYmxlJiBvdGhlcikK
ICAgICA6IG1fbWV0YWwgeyBvdGhlci50ZXh0dXJlKCkgfQogewotICAgIExPRyhXZWJHUFUsICJH
UFVUZXh0dXJlOjpHUFVUZXh0dXJlKCkiKTsKKyAgICBMT0coV2ViTWV0YWwsICJHUFVUZXh0dXJl
OjpHUFVUZXh0dXJlKCkiKTsKIH0KIAogdW5zaWduZWQgR1BVVGV4dHVyZTo6d2lkdGgoKSBjb25z
dApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbFNldHRpbmdzLmNw
cCBiL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxTZXR0aW5ncy5jcHAKaW5kZXggMjdm
ZjkwOWIwMjIwZWEwOWRhYjdkNWJjNjQ0NDNmYjdkYmNlYTBhNS4uYmQxZmEzMTEyMTZiYzJmMGYz
NDAxZjFkZGIwZGY2NDZhZjg2ZWI4NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvdGVzdGlu
Zy9JbnRlcm5hbFNldHRpbmdzLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVy
bmFsU2V0dGluZ3MuY3BwCkBAIC0xMTEsOCArMTExLDggQEAgSW50ZXJuYWxTZXR0aW5nczo6QmFj
a3VwOjpCYWNrdXAoU2V0dGluZ3MmIHNldHRpbmdzKQogI2lmIEVOQUJMRShXRUJHTDIpCiAgICAg
LCBtX3dlYkdMMkVuYWJsZWQoUnVudGltZUVuYWJsZWRGZWF0dXJlczo6c2hhcmVkRmVhdHVyZXMo
KS53ZWJHTDJFbmFibGVkKCkpCiAjZW5kaWYKLSNpZiBFTkFCTEUoV0VCR1BVKQotICAgICwgbV93
ZWJHUFVFbmFibGVkKFJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6OnNoYXJlZEZlYXR1cmVzKCkud2Vi
R1BVRW5hYmxlZCgpKQorI2lmIEVOQUJMRShXRUJNRVRBTCkKKyAgICAsIG1fd2ViTWV0YWxFbmFi
bGVkKFJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6OnNoYXJlZEZlYXR1cmVzKCkud2ViTWV0YWxFbmFi
bGVkKCkpCiAjZW5kaWYKICAgICAsIG1fd2ViVlJFbmFibGVkKFJ1bnRpbWVFbmFibGVkRmVhdHVy
ZXM6OnNoYXJlZEZlYXR1cmVzKCkud2ViVlJFbmFibGVkKCkpCiAjaWYgRU5BQkxFKE1FRElBX1NU
UkVBTSkKQEAgLTIxNiw4ICsyMTYsOCBAQCB2b2lkIEludGVybmFsU2V0dGluZ3M6OkJhY2t1cDo6
cmVzdG9yZVRvKFNldHRpbmdzJiBzZXR0aW5ncykKICNpZiBFTkFCTEUoV0VCR0wyKQogICAgIFJ1
bnRpbWVFbmFibGVkRmVhdHVyZXM6OnNoYXJlZEZlYXR1cmVzKCkuc2V0V2ViR0wyRW5hYmxlZCht
X3dlYkdMMkVuYWJsZWQpOwogI2VuZGlmCi0jaWYgRU5BQkxFKFdFQkdQVSkKLSAgICBSdW50aW1l
RW5hYmxlZEZlYXR1cmVzOjpzaGFyZWRGZWF0dXJlcygpLnNldFdlYkdQVUVuYWJsZWQobV93ZWJH
UFVFbmFibGVkKTsKKyNpZiBFTkFCTEUoV0VCTUVUQUwpCisgICAgUnVudGltZUVuYWJsZWRGZWF0
dXJlczo6c2hhcmVkRmVhdHVyZXMoKS5zZXRXZWJNZXRhbEVuYWJsZWQobV93ZWJNZXRhbEVuYWJs
ZWQpOwogI2VuZGlmCiAgICAgUnVudGltZUVuYWJsZWRGZWF0dXJlczo6c2hhcmVkRmVhdHVyZXMo
KS5zZXRXZWJWUkVuYWJsZWQobV93ZWJWUkVuYWJsZWQpOwogI2lmIEVOQUJMRShNRURJQV9TVFJF
QU0pCkBAIC03NTgsMTAgKzc1OCwxMCBAQCB2b2lkIEludGVybmFsU2V0dGluZ3M6OnNldFdlYkdM
MkVuYWJsZWQoYm9vbCBlbmFibGVkKQogI2VuZGlmCiB9CiAKLXZvaWQgSW50ZXJuYWxTZXR0aW5n
czo6c2V0V2ViR1BVRW5hYmxlZChib29sIGVuYWJsZWQpCit2b2lkIEludGVybmFsU2V0dGluZ3M6
OnNldFdlYk1ldGFsRW5hYmxlZChib29sIGVuYWJsZWQpCiB7Ci0jaWYgRU5BQkxFKFdFQkdQVSkK
LSAgICBSdW50aW1lRW5hYmxlZEZlYXR1cmVzOjpzaGFyZWRGZWF0dXJlcygpLnNldFdlYkdQVUVu
YWJsZWQoZW5hYmxlZCk7CisjaWYgRU5BQkxFKFdFQk1FVEFMKQorICAgIFJ1bnRpbWVFbmFibGVk
RmVhdHVyZXM6OnNoYXJlZEZlYXR1cmVzKCkuc2V0V2ViTWV0YWxFbmFibGVkKGVuYWJsZWQpOwog
I2Vsc2UKICAgICBVTlVTRURfUEFSQU0oZW5hYmxlZCk7CiAjZW5kaWYKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxTZXR0aW5ncy5oIGIvU291cmNlL1dlYkNvcmUv
dGVzdGluZy9JbnRlcm5hbFNldHRpbmdzLmgKaW5kZXggNjcwN2ZlNmFhMTkyZmI4NzQ1YTJhN2Q4
MzU2NDQ4MDM2MjcyOGEzNy4uMzU1NjdmODdjZmUwNDU0ZDlmNGU2ZjUxMmM2MTVmNzIzMDU3N2I5
NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbFNldHRpbmdzLmgK
KysrIGIvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbFNldHRpbmdzLmgKQEAgLTEyMiw3
ICsxMjIsNyBAQCBwdWJsaWM6CiAgICAgLy8gUnVudGltZUVuYWJsZWRGZWF0dXJlcy4KICAgICBz
dGF0aWMgdm9pZCBzZXRJbmRleGVkREJXb3JrZXJzRW5hYmxlZChib29sKTsKICAgICBzdGF0aWMg
dm9pZCBzZXRXZWJHTDJFbmFibGVkKGJvb2wpOwotICAgIHN0YXRpYyB2b2lkIHNldFdlYkdQVUVu
YWJsZWQoYm9vbCk7CisgICAgc3RhdGljIHZvaWQgc2V0V2ViTWV0YWxFbmFibGVkKGJvb2wpOwog
ICAgIHN0YXRpYyB2b2lkIHNldFdlYlZSRW5hYmxlZChib29sKTsKICAgICBzdGF0aWMgdm9pZCBz
ZXRTY3JlZW5DYXB0dXJlRW5hYmxlZChib29sKTsKIApAQCAtMjA5LDcgKzIwOSw3IEBAIHByaXZh
dGU6CiAgICAgICAgIC8vIFJ1bnRpbWUgZW5hYmxlZCBzZXR0aW5ncy4KICAgICAgICAgYm9vbCBt
X2luZGV4ZWREQldvcmtlcnNFbmFibGVkOwogICAgICAgICBib29sIG1fd2ViR0wyRW5hYmxlZDsK
LSAgICAgICAgYm9vbCBtX3dlYkdQVUVuYWJsZWQ7CisgICAgICAgIGJvb2wgbV93ZWJNZXRhbEVu
YWJsZWQ7CiAgICAgICAgIGJvb2wgbV93ZWJWUkVuYWJsZWQ7CiAgICAgICAgIGJvb2wgbV9zZXRT
Y3JlZW5DYXB0dXJlRW5hYmxlZDsKICAgICAgICAgCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS90ZXN0aW5nL0ludGVybmFsU2V0dGluZ3MuaWRsIGIvU291cmNlL1dlYkNvcmUvdGVzdGluZy9J
bnRlcm5hbFNldHRpbmdzLmlkbAppbmRleCBkMTY5ODZlOGMyOGQ5ZGYzMzIzNjllYzNlMWFkNmQy
MDE5Nzg4M2YxLi41MWViMjQ2MDUxMGQ2YzJhMDJiY2JiYjMxNjI1YTJjZmJjZmVlZDA0IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFsU2V0dGluZ3MuaWRsCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxTZXR0aW5ncy5pZGwKQEAgLTkwLDcgKzkw
LDcgQEAgZW51bSBGb250TG9hZFRpbWluZ092ZXJyaWRlIHsgIkJsb2NrIiwgIlN3YXAiLCAiRmFp
bHVyZSIgfTsKICAgICAvLyBSdW50aW1lRW5hYmxlZEZlYXR1cmVzLgogICAgIHZvaWQgc2V0SW5k
ZXhlZERCV29ya2Vyc0VuYWJsZWQoYm9vbGVhbiBlbmFibGVkKTsKICAgICB2b2lkIHNldFdlYkdM
MkVuYWJsZWQoYm9vbGVhbiBlbmFibGVkKTsKLSAgICB2b2lkIHNldFdlYkdQVUVuYWJsZWQoYm9v
bGVhbiBlbmFibGVkKTsKKyAgICB2b2lkIHNldFdlYk1ldGFsRW5hYmxlZChib29sZWFuIGVuYWJs
ZWQpOwogICAgIHZvaWQgc2V0V2ViVlJFbmFibGVkKGJvb2xlYW4gZW5hYmxlZCk7CiAgICAgdm9p
ZCBzZXRTY3JlZW5DYXB0dXJlRW5hYmxlZChib29sZWFuIGVuYWJsZWQpOwogICAgIHZvaWQgc2V0
U3RvcmFnZUFjY2Vzc1Byb21wdHNFbmFibGVkKGJvb2xlYW4gZW5hYmxlZCk7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9Nb2RlbHMvQ2FudmFzLmpzIGIv
U291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvTW9kZWxzL0NhbnZhcy5qcwppbmRl
eCA0ZWZkYzUxMmViODViYTY0ZmMzNGNkNWIxMDY1NmVlZmIxZGI1ZGM0Li4zMzQ0YTAzMGI0Njg4
MDZhMWFmZTgxNjM3N2UxMmZhZDc5YTk3YmVmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViSW5zcGVj
dG9yVUkvVXNlckludGVyZmFjZS9Nb2RlbHMvQ2FudmFzLmpzCisrKyBiL1NvdXJjZS9XZWJJbnNw
ZWN0b3JVSS9Vc2VySW50ZXJmYWNlL01vZGVscy9DYW52YXMuanMKQEAgLTY4LDggKzY4LDggQEAg
V0kuQ2FudmFzID0gY2xhc3MgQ2FudmFzIGV4dGVuZHMgV0kuT2JqZWN0CiAgICAgICAgIGNhc2Ug
Q2FudmFzQWdlbnQuQ29udGV4dFR5cGUuV2ViR0wyOgogICAgICAgICAgICAgY29udGV4dFR5cGUg
PSBXSS5DYW52YXMuQ29udGV4dFR5cGUuV2ViR0wyOwogICAgICAgICAgICAgYnJlYWs7Ci0gICAg
ICAgIGNhc2UgQ2FudmFzQWdlbnQuQ29udGV4dFR5cGUuV2ViR1BVOgotICAgICAgICAgICAgY29u
dGV4dFR5cGUgPSBXSS5DYW52YXMuQ29udGV4dFR5cGUuV2ViR1BVOworICAgICAgICBjYXNlIENh
bnZhc0FnZW50LkNvbnRleHRUeXBlLldlYk1ldGFsOgorICAgICAgICAgICAgY29udGV4dFR5cGUg
PSBXSS5DYW52YXMuQ29udGV4dFR5cGUuV2ViTWV0YWw7CiAgICAgICAgICAgICBicmVhazsKICAg
ICAgICAgZGVmYXVsdDoKICAgICAgICAgICAgIGNvbnNvbGUuZXJyb3IoIkludmFsaWQgY2FudmFz
IGNvbnRleHQgdHlwZSIsIHBheWxvYWQuY29udGV4dFR5cGUpOwpAQCAtOTUsOCArOTUsOCBAQCBX
SS5DYW52YXMgPSBjbGFzcyBDYW52YXMgZXh0ZW5kcyBXSS5PYmplY3QKICAgICAgICAgICAgIHJl
dHVybiBXSS51bmxvY2FsaXplZFN0cmluZygiV2ViR0wiKTsKICAgICAgICAgY2FzZSBXSS5DYW52
YXMuQ29udGV4dFR5cGUuV2ViR0wyOgogICAgICAgICAgICAgcmV0dXJuIFdJLnVubG9jYWxpemVk
U3RyaW5nKCJXZWJHTDIiKTsKLSAgICAgICAgY2FzZSBXSS5DYW52YXMuQ29udGV4dFR5cGUuV2Vi
R1BVOgotICAgICAgICAgICAgcmV0dXJuIFdJLnVubG9jYWxpemVkU3RyaW5nKCJXZWJHUFUiKTsK
KyAgICAgICAgY2FzZSBXSS5DYW52YXMuQ29udGV4dFR5cGUuV2ViTWV0YWw6CisgICAgICAgICAg
ICByZXR1cm4gV0kudW5sb2NhbGl6ZWRTdHJpbmcoIldlYk1ldGFsIik7CiAgICAgICAgIGRlZmF1
bHQ6CiAgICAgICAgICAgICBjb25zb2xlLmVycm9yKCJJbnZhbGlkIGNhbnZhcyBjb250ZXh0IHR5
cGUiLCBjb250ZXh0VHlwZSk7CiAgICAgICAgIH0KQEAgLTMwNSw3ICszMDUsNyBAQCBXSS5DYW52
YXMuQ29udGV4dFR5cGUgPSB7CiAgICAgQml0bWFwUmVuZGVyZXI6ICJiaXRtYXByZW5kZXJlciIs
CiAgICAgV2ViR0w6ICJ3ZWJnbCIsCiAgICAgV2ViR0wyOiAid2ViZ2wyIiwKLSAgICBXZWJHUFU6
ICJ3ZWJncHUiLAorICAgIFdlYk1ldGFsOiAid2VibWV0YWwiLAogfTsKIAogV0kuQ2FudmFzLkV2
ZW50ID0gewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2Uv
UHJvdG9jb2wvTGVnYWN5LzExLjMvSW5zcGVjdG9yQmFja2VuZENvbW1hbmRzLmpzIGIvU291cmNl
L1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvUHJvdG9jb2wvTGVnYWN5LzExLjMvSW5zcGVj
dG9yQmFja2VuZENvbW1hbmRzLmpzCmluZGV4IGFjZjFjMDVmNWQ3MDJkNzUwMGNiMDMxMDY5MmRl
M2I5MzlhN2EzNGIuLmZlNGI4YThkNzllMTJiODFhMTRmMThjYjZkODM1YjFlYTY3NzFkZWMgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1Byb3RvY29sL0xl
Z2FjeS8xMS4zL0luc3BlY3RvckJhY2tlbmRDb21tYW5kcy5qcworKysgYi9Tb3VyY2UvV2ViSW5z
cGVjdG9yVUkvVXNlckludGVyZmFjZS9Qcm90b2NvbC9MZWdhY3kvMTEuMy9JbnNwZWN0b3JCYWNr
ZW5kQ29tbWFuZHMuanMKQEAgLTY3LDcgKzY3LDcgQEAgSW5zcGVjdG9yQmFja2VuZC5hY3RpdmF0
ZURvbWFpbigiQ1NTIiwgWyJ3ZWIiXSk7CiAKIC8vIENhbnZhcy4KIEluc3BlY3RvckJhY2tlbmQu
cmVnaXN0ZXJDYW52YXNEaXNwYXRjaGVyID0gSW5zcGVjdG9yQmFja2VuZC5yZWdpc3RlckRvbWFp
bkRpc3BhdGNoZXIuYmluZChJbnNwZWN0b3JCYWNrZW5kLCAiQ2FudmFzIik7Ci1JbnNwZWN0b3JC
YWNrZW5kLnJlZ2lzdGVyRW51bSgiQ2FudmFzLkNvbnRleHRUeXBlIiwge0NhbnZhczJEOiAiY2Fu
dmFzLTJkIiwgQml0bWFwUmVuZGVyZXI6ICJiaXRtYXByZW5kZXJlciIsIFdlYkdMOiAid2ViZ2wi
LCBXZWJHTDI6ICJ3ZWJnbDIiLCBXZWJHUFU6ICJ3ZWJncHUifSk7CitJbnNwZWN0b3JCYWNrZW5k
LnJlZ2lzdGVyRW51bSgiQ2FudmFzLkNvbnRleHRUeXBlIiwge0NhbnZhczJEOiAiY2FudmFzLTJk
IiwgQml0bWFwUmVuZGVyZXI6ICJiaXRtYXByZW5kZXJlciIsIFdlYkdMOiAid2ViZ2wiLCBXZWJH
TDI6ICJ3ZWJnbDIiLCBXZWJNZXRhbDogIndlYm1ldGFsIn0pOwogSW5zcGVjdG9yQmFja2VuZC5y
ZWdpc3RlckVudW0oIkNhbnZhcy5TaGFkZXJUeXBlIiwge0ZyYWdtZW50OiAiZnJhZ21lbnQiLCBW
ZXJ0ZXg6ICJ2ZXJ0ZXgifSk7CiBJbnNwZWN0b3JCYWNrZW5kLnJlZ2lzdGVyRXZlbnQoIkNhbnZh
cy5jYW52YXNBZGRlZCIsIFsiY2FudmFzIl0pOwogSW5zcGVjdG9yQmFja2VuZC5yZWdpc3RlckV2
ZW50KCJDYW52YXMuY2FudmFzUmVtb3ZlZCIsIFsiY2FudmFzSWQiXSk7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9Qcm90b2NvbC9MZWdhY3kvMTIuMC9J
bnNwZWN0b3JCYWNrZW5kQ29tbWFuZHMuanMgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlcklu
dGVyZmFjZS9Qcm90b2NvbC9MZWdhY3kvMTIuMC9JbnNwZWN0b3JCYWNrZW5kQ29tbWFuZHMuanMK
aW5kZXggMDAwZGY4NTFmOWRiYjdhN2E1ZWE0NDgwOGE1OTMwNmQxZDdkNGFlNi4uMWFlMDlkZjVl
Y2QzYmNkYzUwZjI5MDg0YjMzOGFiYmQxZWM1MDgxNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYklu
c3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvUHJvdG9jb2wvTGVnYWN5LzEyLjAvSW5zcGVjdG9yQmFj
a2VuZENvbW1hbmRzLmpzCisrKyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNl
L1Byb3RvY29sL0xlZ2FjeS8xMi4wL0luc3BlY3RvckJhY2tlbmRDb21tYW5kcy5qcwpAQCAtNjcs
NyArNjcsNyBAQCBJbnNwZWN0b3JCYWNrZW5kLmFjdGl2YXRlRG9tYWluKCJDU1MiLCBbIndlYiJd
KTsKIAogLy8gQ2FudmFzLgogSW5zcGVjdG9yQmFja2VuZC5yZWdpc3RlckNhbnZhc0Rpc3BhdGNo
ZXIgPSBJbnNwZWN0b3JCYWNrZW5kLnJlZ2lzdGVyRG9tYWluRGlzcGF0Y2hlci5iaW5kKEluc3Bl
Y3RvckJhY2tlbmQsICJDYW52YXMiKTsKLUluc3BlY3RvckJhY2tlbmQucmVnaXN0ZXJFbnVtKCJD
YW52YXMuQ29udGV4dFR5cGUiLCB7Q2FudmFzMkQ6ICJjYW52YXMtMmQiLCBCaXRtYXBSZW5kZXJl
cjogImJpdG1hcHJlbmRlcmVyIiwgV2ViR0w6ICJ3ZWJnbCIsIFdlYkdMMjogIndlYmdsMiIsIFdl
YkdQVTogIndlYmdwdSJ9KTsKK0luc3BlY3RvckJhY2tlbmQucmVnaXN0ZXJFbnVtKCJDYW52YXMu
Q29udGV4dFR5cGUiLCB7Q2FudmFzMkQ6ICJjYW52YXMtMmQiLCBCaXRtYXBSZW5kZXJlcjogImJp
dG1hcHJlbmRlcmVyIiwgV2ViR0w6ICJ3ZWJnbCIsIFdlYkdMMjogIndlYmdsMiIsIFdlYk1ldGFs
OiAid2VibWV0YWwifSk7CiBJbnNwZWN0b3JCYWNrZW5kLnJlZ2lzdGVyRW51bSgiQ2FudmFzLlNo
YWRlclR5cGUiLCB7RnJhZ21lbnQ6ICJmcmFnbWVudCIsIFZlcnRleDogInZlcnRleCJ9KTsKIElu
c3BlY3RvckJhY2tlbmQucmVnaXN0ZXJFdmVudCgiQ2FudmFzLmNhbnZhc0FkZGVkIiwgWyJjYW52
YXMiXSk7CiBJbnNwZWN0b3JCYWNrZW5kLnJlZ2lzdGVyRXZlbnQoIkNhbnZhcy5jYW52YXNSZW1v
dmVkIiwgWyJjYW52YXNJZCJdKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvQ29uZmlndXJh
dGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWcgYi9Tb3VyY2UvV2ViS2l0L0NvbmZpZ3VyYXRp
b25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnCmluZGV4IDY4ZWZjZTk0MmNhMGRjZGU2MjA5YTMw
ZmI0ZTVkMGJkODc2MGE3ODEuLjI0MjlkZDhkYzY5MTI0MzU2ZDAxNDYzYWFiNzc5OGU3ODc3OWM5
NWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmlu
ZXMueGNjb25maWcKKysrIGIvU291cmNlL1dlYktpdC9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVm
aW5lcy54Y2NvbmZpZwpAQCAtMzUwLDExICszNTAsMTEgQEAgRU5BQkxFX1dFQkdMID0gRU5BQkxF
X1dFQkdMOwogCiBFTkFCTEVfV0VCR0wyID0gRU5BQkxFX1dFQkdMMjsKIAotRU5BQkxFX1dFQkdQ
VSA9ICQoRU5BQkxFX1dFQkdQVV8kKFdLX1BMQVRGT1JNX05BTUUpKTsKLUVOQUJMRV9XRUJHUFVf
aXBob25lb3MgPSBFTkFCTEVfV0VCR1BVOwotRU5BQkxFX1dFQkdQVV93YXRjaG9zID0gRU5BQkxF
X1dFQkdQVTsKLUVOQUJMRV9XRUJHUFVfYXBwbGV0dm9zID0gRU5BQkxFX1dFQkdQVTsKLUVOQUJM
RV9XRUJHUFVfbWFjb3N4ID0gRU5BQkxFX1dFQkdQVTsKK0VOQUJMRV9XRUJNRVRBTCA9ICQoRU5B
QkxFX1dFQk1FVEFMXyQoV0tfUExBVEZPUk1fTkFNRSkpOworRU5BQkxFX1dFQk1FVEFMX2lwaG9u
ZW9zID0gRU5BQkxFX1dFQk1FVEFMOworRU5BQkxFX1dFQk1FVEFMX3dhdGNob3MgPSBFTkFCTEVf
V0VCTUVUQUw7CitFTkFCTEVfV0VCTUVUQUxfYXBwbGV0dm9zID0gRU5BQkxFX1dFQk1FVEFMOwor
RU5BQkxFX1dFQk1FVEFMX21hY29zeCA9IEVOQUJMRV9XRUJNRVRBTDsKIAogRU5BQkxFX1dFQl9B
VURJTyA9IEVOQUJMRV9XRUJfQVVESU87CiAKQEAgLTM3Miw0ICszNzIsNCBAQCBFTkFCTEVfV0lS
RUxFU1NfUExBWUJBQ0tfVEFSR0VUID0gRU5BQkxFX1dJUkVMRVNTX1BMQVlCQUNLX1RBUkdFVDsK
IAogRU5BQkxFX1hTTFQgPSBFTkFCTEVfWFNMVDsKIAotRkVBVFVSRV9ERUZJTkVTID0gJChFTkFC
TEVfM0RfVFJBTlNGT1JNUykgJChFTkFCTEVfQUNDRUxFUkFURURfMkRfQ0FOVkFTKSAkKEVOQUJM
RV9BQ0NFTEVSQVRFRF9PVkVSRkxPV19TQ1JPTExJTkcpICQoRU5BQkxFX0FQUExFX1BBWSkgJChF
TkFCTEVfQVBQTEVfUEFZX1NFU1NJT05fVjMpICQoRU5BQkxFX0FQUExFX1BBWV9TRVNTSU9OX1Y0
KSAkKEVOQUJMRV9BUFBMSUNBVElPTl9NQU5JRkVTVCkgJChFTkFCTEVfQVRUQUNITUVOVF9FTEVN
RU5UKSAkKEVOQUJMRV9BVkZfQ0FQVElPTlMpICQoRU5BQkxFX0NBQ0hFX1BBUlRJVElPTklORykg
JChFTkFCTEVfQ0hBTk5FTF9NRVNTQUdJTkcpICQoRU5BQkxFX0NPTlRFTlRfRklMVEVSSU5HKSAk
KEVOQUJMRV9DU1MzX1RFWFQpICQoRU5BQkxFX0NTU19CT1hfREVDT1JBVElPTl9CUkVBSykgJChF
TkFCTEVfQ1NTX0NPTVBPU0lUSU5HKSAkKEVOQUJMRV9DU1NfREVWSUNFX0FEQVBUQVRJT04pICQo
RU5BQkxFX0NTU19JTUFHRV9PUklFTlRBVElPTikgJChFTkFCTEVfQ1NTX0lNQUdFX1JFU09MVVRJ
T04pICQoRU5BQkxFX0NTU19TQ1JPTExfU05BUCkgJChFTkFCTEVfQ1NTX1NFTEVDVE9SU19MRVZF
TDQpICQoRU5BQkxFX0NTU19UUkFJTElOR19XT1JEKSAkKEVOQUJMRV9DVVJTT1JfVklTSUJJTElU
WSkgJChFTkFCTEVfQ1VTVE9NX1NDSEVNRV9IQU5ETEVSKSAkKEVOQUJMRV9EQVNIQk9BUkRfU1VQ
UE9SVCkgJChFTkFCTEVfREFUQV9JTlRFUkFDVElPTikgJChFTkFCTEVfREFUQUNVRV9WQUxVRSkg
JChFTkFCTEVfREFUQUxJU1RfRUxFTUVOVCkgJChFTkFCTEVfREVWSUNFX09SSUVOVEFUSU9OKSAk
KEVOQUJMRV9EUkFHX1NVUFBPUlQpICQoRU5BQkxFX0VOQ1JZUFRFRF9NRURJQSkgJChFTkFCTEVf
RVhQRVJJTUVOVEFMX0ZFQVRVUkVTKSAkKEVOQUJMRV9GQVNUX0pJVF9QRVJNSVNTSU9OUykgJChF
TkFCTEVfRklMVEVSU19MRVZFTF8yKSAkKEVOQUJMRV9GVExfSklUKSAkKEVOQUJMRV9GVUxMU0NS
RUVOX0FQSSkgJChFTkFCTEVfR0FNRVBBRCkgJChFTkFCTEVfR0VPTE9DQVRJT04pICQoRU5BQkxF
X0lDT05EQVRBQkFTRSkgJChFTkFCTEVfSU5ERVhFRF9EQVRBQkFTRSkgJChFTkFCTEVfSU5ERVhF
RF9EQVRBQkFTRV9JTl9XT1JLRVJTKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0NPTE9SKSAkKEVOQUJM
RV9JTlBVVF9UWVBFX0RBVEUpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURVRJTUVfSU5DT01QTEVU
RSkgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFVElNRUxPQ0FMKSAkKEVOQUJMRV9JTlBVVF9UWVBF
X01PTlRIKSAkKEVOQUJMRV9JTlBVVF9UWVBFX1RJTUUpICQoRU5BQkxFX0lOUFVUX1RZUEVfV0VF
SykgJChFTkFCTEVfSU5URVJTRUNUSU9OX09CU0VSVkVSKSAkKEVOQUJMRV9JTlRMKSAkKEVOQUJM
RV9JT1NfR0VTVFVSRV9FVkVOVFMpICQoRU5BQkxFX0lPU19UT1VDSF9FVkVOVFMpICQoRU5BQkxF
X0pJVCkgJChFTkFCTEVfSlNfQVNZTkNfSVRFUkFUSU9OKSAkKEVOQUJMRV9LRVlCT0FSRF9DT0RF
X0FUVFJJQlVURSkgJChFTkFCTEVfS0VZQk9BUkRfS0VZX0FUVFJJQlVURSkgJChFTkFCTEVfTEFZ
T1VUX0ZPUk1BVFRJTkdfQ09OVEVYVCkgJChFTkFCTEVfTEVHQUNZX0NTU19WRU5ET1JfUFJFRklY
RVMpICQoRU5BQkxFX0xFR0FDWV9DVVNUT01fUFJPVE9DT0xfTUFOQUdFUikgJChFTkFCTEVfTEVH
QUNZX0VOQ1JZUFRFRF9NRURJQSkgJChFTkFCTEVfTEVUVEVSUFJFU1MpICQoRU5BQkxFX01BQ19H
RVNUVVJFX0VWRU5UUykgJChFTkFCTEVfTUFDX1ZJREVPX1RPT0xCT1gpICQoRU5BQkxFX01BVEhN
TCkgJChFTkFCTEVfTUVESUFfQ0FQVFVSRSkgJChFTkFCTEVfTUVESUFfQ09OVFJPTFNfU0NSSVBU
KSAkKEVOQUJMRV9NRURJQV9TRVNTSU9OKSAkKEVOQUJMRV9NRURJQV9TT1VSQ0UpICQoRU5BQkxF
X01FRElBX1NUQVRJU1RJQ1MpICQoRU5BQkxFX01FRElBX1NUUkVBTSkgJChFTkFCTEVfTUVURVJf
RUxFTUVOVCkgJChFTkFCTEVfTUhUTUwpICQoRU5BQkxFX01PVVNFX0NVUlNPUl9TQ0FMRSkgJChF
TkFCTEVfTkFWSUdBVE9SX0NPTlRFTlRfVVRJTFMpICQoRU5BQkxFX05BVklHQVRPUl9TVEFOREFM
T05FKSAkKEVOQUJMRV9OT1RJRklDQVRJT05TKSAkKEVOQUJMRV9QQVlNRU5UX1JFUVVFU1QpICQo
RU5BQkxFX1BERktJVF9QTFVHSU4pICQoRU5BQkxFX1BPSU5URVJfTE9DSykgJChFTkFCTEVfUFVC
TElDX1NVRkZJWF9MSVNUKSAkKEVOQUJMRV9RVU9UQSkgJChFTkFCTEVfUkVNT1RFX0lOU1BFQ1RP
UikgJChFTkFCTEVfUkVTT0xVVElPTl9NRURJQV9RVUVSWSkgJChFTkFCTEVfUkVTT1VSQ0VfVVNB
R0UpICQoRU5BQkxFX1JVQkJFUl9CQU5ESU5HKSAkKEVOQUJMRV9TRVJWSUNFX0NPTlRST0xTKSAk
KEVOQUJMRV9TRVJWSUNFX1dPUktFUikgJChFTkFCTEVfU1BFRUNIX1NZTlRIRVNJUykgJChFTkFC
TEVfU1RSRUFNU19BUEkpICQoRU5BQkxFX1NVQlRMRV9DUllQVE8pICQoRU5BQkxFX1NWR19GT05U
UykgJChFTkFCTEVfVEVMRVBIT05FX05VTUJFUl9ERVRFQ1RJT04pICQoRU5BQkxFX1RFWFRfQVVU
T1NJWklORykgJChFTkFCTEVfVE9VQ0hfRVZFTlRTKSAkKEVOQUJMRV9VU0VSX01FU1NBR0VfSEFO
RExFUlMpICQoRU5BQkxFX1VTRVJTRUxFQ1RfQUxMKSAkKEVOQUJMRV9WQVJJQVRJT05fRk9OVFMp
ICQoRU5BQkxFX1ZJREVPKSAkKEVOQUJMRV9WSURFT19QUkVTRU5UQVRJT05fTU9ERSkgJChFTkFC
TEVfVklERU9fVFJBQ0spICQoRU5BQkxFX1ZJREVPX1VTRVNfRUxFTUVOVF9GVUxMU0NSRUVOKSAk
KEVOQUJMRV9XRUJfQVVESU8pICQoRU5BQkxFX1dFQl9BVVRITikgJChFTkFCTEVfV0VCX1JUQykg
JChFTkFCTEVfV0VCQVNTRU1CTFkpICQoRU5BQkxFX1dFQkFTU0VNQkxZX1NUUkVBTUlOR19BUEkp
ICQoRU5BQkxFX1dFQkdMKSAkKEVOQUJMRV9XRUJHTDIpICQoRU5BQkxFX1dFQkdQVSkgJChFTkFC
TEVfV0lSRUxFU1NfUExBWUJBQ0tfVEFSR0VUKSAkKEVOQUJMRV9YU0xUKTsKK0ZFQVRVUkVfREVG
SU5FUyA9ICQoRU5BQkxFXzNEX1RSQU5TRk9STVMpICQoRU5BQkxFX0FDQ0VMRVJBVEVEXzJEX0NB
TlZBUykgJChFTkFCTEVfQUNDRUxFUkFURURfT1ZFUkZMT1dfU0NST0xMSU5HKSAkKEVOQUJMRV9B
UFBMRV9QQVkpICQoRU5BQkxFX0FQUExFX1BBWV9TRVNTSU9OX1YzKSAkKEVOQUJMRV9BUFBMRV9Q
QVlfU0VTU0lPTl9WNCkgJChFTkFCTEVfQVBQTElDQVRJT05fTUFOSUZFU1QpICQoRU5BQkxFX0FU
VEFDSE1FTlRfRUxFTUVOVCkgJChFTkFCTEVfQVZGX0NBUFRJT05TKSAkKEVOQUJMRV9DQUNIRV9Q
QVJUSVRJT05JTkcpICQoRU5BQkxFX0NIQU5ORUxfTUVTU0FHSU5HKSAkKEVOQUJMRV9DT05URU5U
X0ZJTFRFUklORykgJChFTkFCTEVfQ1NTM19URVhUKSAkKEVOQUJMRV9DU1NfQk9YX0RFQ09SQVRJ
T05fQlJFQUspICQoRU5BQkxFX0NTU19DT01QT1NJVElORykgJChFTkFCTEVfQ1NTX0RFVklDRV9B
REFQVEFUSU9OKSAkKEVOQUJMRV9DU1NfSU1BR0VfT1JJRU5UQVRJT04pICQoRU5BQkxFX0NTU19J
TUFHRV9SRVNPTFVUSU9OKSAkKEVOQUJMRV9DU1NfU0NST0xMX1NOQVApICQoRU5BQkxFX0NTU19T
RUxFQ1RPUlNfTEVWRUw0KSAkKEVOQUJMRV9DU1NfVFJBSUxJTkdfV09SRCkgJChFTkFCTEVfQ1VS
U09SX1ZJU0lCSUxJVFkpICQoRU5BQkxFX0NVU1RPTV9TQ0hFTUVfSEFORExFUikgJChFTkFCTEVf
REFTSEJPQVJEX1NVUFBPUlQpICQoRU5BQkxFX0RBVEFfSU5URVJBQ1RJT04pICQoRU5BQkxFX0RB
VEFDVUVfVkFMVUUpICQoRU5BQkxFX0RBVEFMSVNUX0VMRU1FTlQpICQoRU5BQkxFX0RFVklDRV9P
UklFTlRBVElPTikgJChFTkFCTEVfRFJBR19TVVBQT1JUKSAkKEVOQUJMRV9FTkNSWVBURURfTUVE
SUEpICQoRU5BQkxFX0VYUEVSSU1FTlRBTF9GRUFUVVJFUykgJChFTkFCTEVfRkFTVF9KSVRfUEVS
TUlTU0lPTlMpICQoRU5BQkxFX0ZJTFRFUlNfTEVWRUxfMikgJChFTkFCTEVfRlRMX0pJVCkgJChF
TkFCTEVfRlVMTFNDUkVFTl9BUEkpICQoRU5BQkxFX0dBTUVQQUQpICQoRU5BQkxFX0dFT0xPQ0FU
SU9OKSAkKEVOQUJMRV9JQ09OREFUQUJBU0UpICQoRU5BQkxFX0lOREVYRURfREFUQUJBU0UpICQo
RU5BQkxFX0lOREVYRURfREFUQUJBU0VfSU5fV09SS0VSUykgJChFTkFCTEVfSU5QVVRfVFlQRV9D
T0xPUikgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVU
SU1FX0lOQ09NUExFVEUpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURVRJTUVMT0NBTCkgJChFTkFC
TEVfSU5QVVRfVFlQRV9NT05USCkgJChFTkFCTEVfSU5QVVRfVFlQRV9USU1FKSAkKEVOQUJMRV9J
TlBVVF9UWVBFX1dFRUspICQoRU5BQkxFX0lOVEVSU0VDVElPTl9PQlNFUlZFUikgJChFTkFCTEVf
SU5UTCkgJChFTkFCTEVfSU9TX0dFU1RVUkVfRVZFTlRTKSAkKEVOQUJMRV9JT1NfVE9VQ0hfRVZF
TlRTKSAkKEVOQUJMRV9KSVQpICQoRU5BQkxFX0pTX0FTWU5DX0lURVJBVElPTikgJChFTkFCTEVf
S0VZQk9BUkRfQ09ERV9BVFRSSUJVVEUpICQoRU5BQkxFX0tFWUJPQVJEX0tFWV9BVFRSSUJVVEUp
ICQoRU5BQkxFX0xBWU9VVF9GT1JNQVRUSU5HX0NPTlRFWFQpICQoRU5BQkxFX0xFR0FDWV9DU1Nf
VkVORE9SX1BSRUZJWEVTKSAkKEVOQUJMRV9MRUdBQ1lfQ1VTVE9NX1BST1RPQ09MX01BTkFHRVIp
ICQoRU5BQkxFX0xFR0FDWV9FTkNSWVBURURfTUVESUEpICQoRU5BQkxFX0xFVFRFUlBSRVNTKSAk
KEVOQUJMRV9NQUNfR0VTVFVSRV9FVkVOVFMpICQoRU5BQkxFX01BQ19WSURFT19UT09MQk9YKSAk
KEVOQUJMRV9NQVRITUwpICQoRU5BQkxFX01FRElBX0NBUFRVUkUpICQoRU5BQkxFX01FRElBX0NP
TlRST0xTX1NDUklQVCkgJChFTkFCTEVfTUVESUFfU0VTU0lPTikgJChFTkFCTEVfTUVESUFfU09V
UkNFKSAkKEVOQUJMRV9NRURJQV9TVEFUSVNUSUNTKSAkKEVOQUJMRV9NRURJQV9TVFJFQU0pICQo
RU5BQkxFX01FVEVSX0VMRU1FTlQpICQoRU5BQkxFX01IVE1MKSAkKEVOQUJMRV9NT1VTRV9DVVJT
T1JfU0NBTEUpICQoRU5BQkxFX05BVklHQVRPUl9DT05URU5UX1VUSUxTKSAkKEVOQUJMRV9OQVZJ
R0FUT1JfU1RBTkRBTE9ORSkgJChFTkFCTEVfTk9USUZJQ0FUSU9OUykgJChFTkFCTEVfUEFZTUVO
VF9SRVFVRVNUKSAkKEVOQUJMRV9QREZLSVRfUExVR0lOKSAkKEVOQUJMRV9QT0lOVEVSX0xPQ0sp
ICQoRU5BQkxFX1BVQkxJQ19TVUZGSVhfTElTVCkgJChFTkFCTEVfUVVPVEEpICQoRU5BQkxFX1JF
TU9URV9JTlNQRUNUT1IpICQoRU5BQkxFX1JFU09MVVRJT05fTUVESUFfUVVFUlkpICQoRU5BQkxF
X1JFU09VUkNFX1VTQUdFKSAkKEVOQUJMRV9SVUJCRVJfQkFORElORykgJChFTkFCTEVfU0VSVklD
RV9DT05UUk9MUykgJChFTkFCTEVfU0VSVklDRV9XT1JLRVIpICQoRU5BQkxFX1NQRUVDSF9TWU5U
SEVTSVMpICQoRU5BQkxFX1NUUkVBTVNfQVBJKSAkKEVOQUJMRV9TVUJUTEVfQ1JZUFRPKSAkKEVO
QUJMRV9TVkdfRk9OVFMpICQoRU5BQkxFX1RFTEVQSE9ORV9OVU1CRVJfREVURUNUSU9OKSAkKEVO
QUJMRV9URVhUX0FVVE9TSVpJTkcpICQoRU5BQkxFX1RPVUNIX0VWRU5UUykgJChFTkFCTEVfVVNF
Ul9NRVNTQUdFX0hBTkRMRVJTKSAkKEVOQUJMRV9VU0VSU0VMRUNUX0FMTCkgJChFTkFCTEVfVkFS
SUFUSU9OX0ZPTlRTKSAkKEVOQUJMRV9WSURFTykgJChFTkFCTEVfVklERU9fUFJFU0VOVEFUSU9O
X01PREUpICQoRU5BQkxFX1ZJREVPX1RSQUNLKSAkKEVOQUJMRV9WSURFT19VU0VTX0VMRU1FTlRf
RlVMTFNDUkVFTikgJChFTkFCTEVfV0VCX0FVRElPKSAkKEVOQUJMRV9XRUJfQVVUSE4pICQoRU5B
QkxFX1dFQl9SVEMpICQoRU5BQkxFX1dFQkFTU0VNQkxZKSAkKEVOQUJMRV9XRUJBU1NFTUJMWV9T
VFJFQU1JTkdfQVBJKSAkKEVOQUJMRV9XRUJHTCkgJChFTkFCTEVfV0VCR0wyKSAkKEVOQUJMRV9X
RUJNRVRBTCkgJChFTkFCTEVfV0lSRUxFU1NfUExBWUJBQ0tfVEFSR0VUKSAkKEVOQUJMRV9YU0xU
KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL1dlYlByZWZlcmVuY2VzLnlhbWwg
Yi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJQcmVmZXJlbmNlcy55YW1sCmluZGV4IDEzMDlmYjEz
MjdmYjgwNzI1NzZmOTlmZTliZTkxY2Q0Mjg2ZDNhOTkuLjYzYzRiOTNkNTMyNWRmMTgxNmIyNzI0
ZGY0NjA5ZDgwNGE1ZGYxOGUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL1dlYlBy
ZWZlcmVuY2VzLnlhbWwKKysrIGIvU291cmNlL1dlYktpdC9TaGFyZWQvV2ViUHJlZmVyZW5jZXMu
eWFtbApAQCAtMTIzOCwxNCArMTIzOCwxNCBAQCBXZWJHTDJFbmFibGVkOgogICB3ZWJjb3JlQmlu
ZGluZzogUnVudGltZUVuYWJsZWRGZWF0dXJlcwogICBjb25kaXRpb246IEVOQUJMRShXRUJHTDIp
CiAKLVdlYkdQVUVuYWJsZWQ6CitXZWJNZXRhbEVuYWJsZWQ6CiAgIHR5cGU6IGJvb2wKICAgZGVm
YXVsdFZhbHVlOiBmYWxzZQotICBodW1hblJlYWRhYmxlTmFtZTogIldlYkdQVSIKLSAgaHVtYW5S
ZWFkYWJsZURlc2NyaXB0aW9uOiAiV2ViR1BVIHByb3RvdHlwZSIKKyAgaHVtYW5SZWFkYWJsZU5h
bWU6ICJXZWJNZXRhbCIKKyAgaHVtYW5SZWFkYWJsZURlc2NyaXB0aW9uOiAiV2ViTWV0YWwgcHJv
dG90eXBlIgogICBjYXRlZ29yeTogZXhwZXJpbWVudGFsCiAgIHdlYmNvcmVCaW5kaW5nOiBSdW50
aW1lRW5hYmxlZEZlYXR1cmVzCi0gIGNvbmRpdGlvbjogRU5BQkxFKFdFQkdQVSkKKyAgY29uZGl0
aW9uOiBFTkFCTEUoV0VCTUVUQUwpCiAKIEFjY2Vzc2liaWxpdHlPYmplY3RNb2RlbEVuYWJsZWQ6
CiAgIHR5cGU6IGJvb2wKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9Jbmpl
Y3RlZEJ1bmRsZS9JbmplY3RlZEJ1bmRsZS5jcHAgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3Mv
SW5qZWN0ZWRCdW5kbGUvSW5qZWN0ZWRCdW5kbGUuY3BwCmluZGV4IDFiNGE0ZjQ2NGE5ZWE0Zjhk
YTM1YjQ5M2E5NzRkYzcxYzk1MTNmNzguLmVlMGQ0YmNlYmMxNWZkOTFlNzUxYWM3ODljN2ViOGU0
OTQ0MjA3OTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9JbmplY3RlZEJ1
bmRsZS9JbmplY3RlZEJ1bmRsZS5jcHAKKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0lu
amVjdGVkQnVuZGxlL0luamVjdGVkQnVuZGxlLmNwcApAQCAtMjExLDkgKzIxMSw5IEBAIHZvaWQg
SW5qZWN0ZWRCdW5kbGU6Om92ZXJyaWRlQm9vbFByZWZlcmVuY2VGb3JUZXN0UnVubmVyKFdlYlBh
Z2VHcm91cFByb3h5KiBwYWdlCiAgICAgICAgIFJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6OnNoYXJl
ZEZlYXR1cmVzKCkuc2V0V2ViR0wyRW5hYmxlZChlbmFibGVkKTsKICNlbmRpZgogCi0jaWYgRU5B
QkxFKFdFQkdQVSkKLSAgICBpZiAocHJlZmVyZW5jZSA9PSAiV2ViS2l0V2ViR1BVRW5hYmxlZCIp
Ci0gICAgICAgIFJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6OnNoYXJlZEZlYXR1cmVzKCkuc2V0V2Vi
R1BVRW5hYmxlZChlbmFibGVkKTsKKyNpZiBFTkFCTEUoV0VCTUVUQUwpCisgICAgaWYgKHByZWZl
cmVuY2UgPT0gIldlYktpdFdlYk1ldGFsRW5hYmxlZCIpCisgICAgICAgIFJ1bnRpbWVFbmFibGVk
RmVhdHVyZXM6OnNoYXJlZEZlYXR1cmVzKCkuc2V0V2ViTWV0YWxFbmFibGVkKGVuYWJsZWQpOwog
I2VuZGlmCiAKICAgICBpZiAocHJlZmVyZW5jZSA9PSAiV2ViS2l0TW9kZXJuTWVkaWFDb250cm9s
c0VuYWJsZWQiKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvQ29uZmlndXJh
dGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWcgYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9D
b25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZwppbmRleCA2OGVmY2U5NDJjYTBk
Y2RlNjIwOWEzMGZiNGU1ZDBiZDg3NjBhNzgxLi4yNDI5ZGQ4ZGM2OTEyNDM1NmQwMTQ2M2FhYjc3
OThlNzg3NzljOTVjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9Db25maWd1
cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZworKysgYi9Tb3VyY2UvV2ViS2l0TGVnYWN5
L21hYy9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZwpAQCAtMzUwLDExICsz
NTAsMTEgQEAgRU5BQkxFX1dFQkdMID0gRU5BQkxFX1dFQkdMOwogCiBFTkFCTEVfV0VCR0wyID0g
RU5BQkxFX1dFQkdMMjsKIAotRU5BQkxFX1dFQkdQVSA9ICQoRU5BQkxFX1dFQkdQVV8kKFdLX1BM
QVRGT1JNX05BTUUpKTsKLUVOQUJMRV9XRUJHUFVfaXBob25lb3MgPSBFTkFCTEVfV0VCR1BVOwot
RU5BQkxFX1dFQkdQVV93YXRjaG9zID0gRU5BQkxFX1dFQkdQVTsKLUVOQUJMRV9XRUJHUFVfYXBw
bGV0dm9zID0gRU5BQkxFX1dFQkdQVTsKLUVOQUJMRV9XRUJHUFVfbWFjb3N4ID0gRU5BQkxFX1dF
QkdQVTsKK0VOQUJMRV9XRUJNRVRBTCA9ICQoRU5BQkxFX1dFQk1FVEFMXyQoV0tfUExBVEZPUk1f
TkFNRSkpOworRU5BQkxFX1dFQk1FVEFMX2lwaG9uZW9zID0gRU5BQkxFX1dFQk1FVEFMOworRU5B
QkxFX1dFQk1FVEFMX3dhdGNob3MgPSBFTkFCTEVfV0VCTUVUQUw7CitFTkFCTEVfV0VCTUVUQUxf
YXBwbGV0dm9zID0gRU5BQkxFX1dFQk1FVEFMOworRU5BQkxFX1dFQk1FVEFMX21hY29zeCA9IEVO
QUJMRV9XRUJNRVRBTDsKIAogRU5BQkxFX1dFQl9BVURJTyA9IEVOQUJMRV9XRUJfQVVESU87CiAK
QEAgLTM3Miw0ICszNzIsNCBAQCBFTkFCTEVfV0lSRUxFU1NfUExBWUJBQ0tfVEFSR0VUID0gRU5B
QkxFX1dJUkVMRVNTX1BMQVlCQUNLX1RBUkdFVDsKIAogRU5BQkxFX1hTTFQgPSBFTkFCTEVfWFNM
VDsKIAotRkVBVFVSRV9ERUZJTkVTID0gJChFTkFCTEVfM0RfVFJBTlNGT1JNUykgJChFTkFCTEVf
QUNDRUxFUkFURURfMkRfQ0FOVkFTKSAkKEVOQUJMRV9BQ0NFTEVSQVRFRF9PVkVSRkxPV19TQ1JP
TExJTkcpICQoRU5BQkxFX0FQUExFX1BBWSkgJChFTkFCTEVfQVBQTEVfUEFZX1NFU1NJT05fVjMp
ICQoRU5BQkxFX0FQUExFX1BBWV9TRVNTSU9OX1Y0KSAkKEVOQUJMRV9BUFBMSUNBVElPTl9NQU5J
RkVTVCkgJChFTkFCTEVfQVRUQUNITUVOVF9FTEVNRU5UKSAkKEVOQUJMRV9BVkZfQ0FQVElPTlMp
ICQoRU5BQkxFX0NBQ0hFX1BBUlRJVElPTklORykgJChFTkFCTEVfQ0hBTk5FTF9NRVNTQUdJTkcp
ICQoRU5BQkxFX0NPTlRFTlRfRklMVEVSSU5HKSAkKEVOQUJMRV9DU1MzX1RFWFQpICQoRU5BQkxF
X0NTU19CT1hfREVDT1JBVElPTl9CUkVBSykgJChFTkFCTEVfQ1NTX0NPTVBPU0lUSU5HKSAkKEVO
QUJMRV9DU1NfREVWSUNFX0FEQVBUQVRJT04pICQoRU5BQkxFX0NTU19JTUFHRV9PUklFTlRBVElP
TikgJChFTkFCTEVfQ1NTX0lNQUdFX1JFU09MVVRJT04pICQoRU5BQkxFX0NTU19TQ1JPTExfU05B
UCkgJChFTkFCTEVfQ1NTX1NFTEVDVE9SU19MRVZFTDQpICQoRU5BQkxFX0NTU19UUkFJTElOR19X
T1JEKSAkKEVOQUJMRV9DVVJTT1JfVklTSUJJTElUWSkgJChFTkFCTEVfQ1VTVE9NX1NDSEVNRV9I
QU5ETEVSKSAkKEVOQUJMRV9EQVNIQk9BUkRfU1VQUE9SVCkgJChFTkFCTEVfREFUQV9JTlRFUkFD
VElPTikgJChFTkFCTEVfREFUQUNVRV9WQUxVRSkgJChFTkFCTEVfREFUQUxJU1RfRUxFTUVOVCkg
JChFTkFCTEVfREVWSUNFX09SSUVOVEFUSU9OKSAkKEVOQUJMRV9EUkFHX1NVUFBPUlQpICQoRU5B
QkxFX0VOQ1JZUFRFRF9NRURJQSkgJChFTkFCTEVfRVhQRVJJTUVOVEFMX0ZFQVRVUkVTKSAkKEVO
QUJMRV9GQVNUX0pJVF9QRVJNSVNTSU9OUykgJChFTkFCTEVfRklMVEVSU19MRVZFTF8yKSAkKEVO
QUJMRV9GVExfSklUKSAkKEVOQUJMRV9GVUxMU0NSRUVOX0FQSSkgJChFTkFCTEVfR0FNRVBBRCkg
JChFTkFCTEVfR0VPTE9DQVRJT04pICQoRU5BQkxFX0lDT05EQVRBQkFTRSkgJChFTkFCTEVfSU5E
RVhFRF9EQVRBQkFTRSkgJChFTkFCTEVfSU5ERVhFRF9EQVRBQkFTRV9JTl9XT1JLRVJTKSAkKEVO
QUJMRV9JTlBVVF9UWVBFX0NPTE9SKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEUpICQoRU5BQkxF
X0lOUFVUX1RZUEVfREFURVRJTUVfSU5DT01QTEVURSkgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRF
VElNRUxPQ0FMKSAkKEVOQUJMRV9JTlBVVF9UWVBFX01PTlRIKSAkKEVOQUJMRV9JTlBVVF9UWVBF
X1RJTUUpICQoRU5BQkxFX0lOUFVUX1RZUEVfV0VFSykgJChFTkFCTEVfSU5URVJTRUNUSU9OX09C
U0VSVkVSKSAkKEVOQUJMRV9JTlRMKSAkKEVOQUJMRV9JT1NfR0VTVFVSRV9FVkVOVFMpICQoRU5B
QkxFX0lPU19UT1VDSF9FVkVOVFMpICQoRU5BQkxFX0pJVCkgJChFTkFCTEVfSlNfQVNZTkNfSVRF
UkFUSU9OKSAkKEVOQUJMRV9LRVlCT0FSRF9DT0RFX0FUVFJJQlVURSkgJChFTkFCTEVfS0VZQk9B
UkRfS0VZX0FUVFJJQlVURSkgJChFTkFCTEVfTEFZT1VUX0ZPUk1BVFRJTkdfQ09OVEVYVCkgJChF
TkFCTEVfTEVHQUNZX0NTU19WRU5ET1JfUFJFRklYRVMpICQoRU5BQkxFX0xFR0FDWV9DVVNUT01f
UFJPVE9DT0xfTUFOQUdFUikgJChFTkFCTEVfTEVHQUNZX0VOQ1JZUFRFRF9NRURJQSkgJChFTkFC
TEVfTEVUVEVSUFJFU1MpICQoRU5BQkxFX01BQ19HRVNUVVJFX0VWRU5UUykgJChFTkFCTEVfTUFD
X1ZJREVPX1RPT0xCT1gpICQoRU5BQkxFX01BVEhNTCkgJChFTkFCTEVfTUVESUFfQ0FQVFVSRSkg
JChFTkFCTEVfTUVESUFfQ09OVFJPTFNfU0NSSVBUKSAkKEVOQUJMRV9NRURJQV9TRVNTSU9OKSAk
KEVOQUJMRV9NRURJQV9TT1VSQ0UpICQoRU5BQkxFX01FRElBX1NUQVRJU1RJQ1MpICQoRU5BQkxF
X01FRElBX1NUUkVBTSkgJChFTkFCTEVfTUVURVJfRUxFTUVOVCkgJChFTkFCTEVfTUhUTUwpICQo
RU5BQkxFX01PVVNFX0NVUlNPUl9TQ0FMRSkgJChFTkFCTEVfTkFWSUdBVE9SX0NPTlRFTlRfVVRJ
TFMpICQoRU5BQkxFX05BVklHQVRPUl9TVEFOREFMT05FKSAkKEVOQUJMRV9OT1RJRklDQVRJT05T
KSAkKEVOQUJMRV9QQVlNRU5UX1JFUVVFU1QpICQoRU5BQkxFX1BERktJVF9QTFVHSU4pICQoRU5B
QkxFX1BPSU5URVJfTE9DSykgJChFTkFCTEVfUFVCTElDX1NVRkZJWF9MSVNUKSAkKEVOQUJMRV9R
VU9UQSkgJChFTkFCTEVfUkVNT1RFX0lOU1BFQ1RPUikgJChFTkFCTEVfUkVTT0xVVElPTl9NRURJ
QV9RVUVSWSkgJChFTkFCTEVfUkVTT1VSQ0VfVVNBR0UpICQoRU5BQkxFX1JVQkJFUl9CQU5ESU5H
KSAkKEVOQUJMRV9TRVJWSUNFX0NPTlRST0xTKSAkKEVOQUJMRV9TRVJWSUNFX1dPUktFUikgJChF
TkFCTEVfU1BFRUNIX1NZTlRIRVNJUykgJChFTkFCTEVfU1RSRUFNU19BUEkpICQoRU5BQkxFX1NV
QlRMRV9DUllQVE8pICQoRU5BQkxFX1NWR19GT05UUykgJChFTkFCTEVfVEVMRVBIT05FX05VTUJF
Ul9ERVRFQ1RJT04pICQoRU5BQkxFX1RFWFRfQVVUT1NJWklORykgJChFTkFCTEVfVE9VQ0hfRVZF
TlRTKSAkKEVOQUJMRV9VU0VSX01FU1NBR0VfSEFORExFUlMpICQoRU5BQkxFX1VTRVJTRUxFQ1Rf
QUxMKSAkKEVOQUJMRV9WQVJJQVRJT05fRk9OVFMpICQoRU5BQkxFX1ZJREVPKSAkKEVOQUJMRV9W
SURFT19QUkVTRU5UQVRJT05fTU9ERSkgJChFTkFCTEVfVklERU9fVFJBQ0spICQoRU5BQkxFX1ZJ
REVPX1VTRVNfRUxFTUVOVF9GVUxMU0NSRUVOKSAkKEVOQUJMRV9XRUJfQVVESU8pICQoRU5BQkxF
X1dFQl9BVVRITikgJChFTkFCTEVfV0VCX1JUQykgJChFTkFCTEVfV0VCQVNTRU1CTFkpICQoRU5B
QkxFX1dFQkFTU0VNQkxZX1NUUkVBTUlOR19BUEkpICQoRU5BQkxFX1dFQkdMKSAkKEVOQUJMRV9X
RUJHTDIpICQoRU5BQkxFX1dFQkdQVSkgJChFTkFCTEVfV0lSRUxFU1NfUExBWUJBQ0tfVEFSR0VU
KSAkKEVOQUJMRV9YU0xUKTsKK0ZFQVRVUkVfREVGSU5FUyA9ICQoRU5BQkxFXzNEX1RSQU5TRk9S
TVMpICQoRU5BQkxFX0FDQ0VMRVJBVEVEXzJEX0NBTlZBUykgJChFTkFCTEVfQUNDRUxFUkFURURf
T1ZFUkZMT1dfU0NST0xMSU5HKSAkKEVOQUJMRV9BUFBMRV9QQVkpICQoRU5BQkxFX0FQUExFX1BB
WV9TRVNTSU9OX1YzKSAkKEVOQUJMRV9BUFBMRV9QQVlfU0VTU0lPTl9WNCkgJChFTkFCTEVfQVBQ
TElDQVRJT05fTUFOSUZFU1QpICQoRU5BQkxFX0FUVEFDSE1FTlRfRUxFTUVOVCkgJChFTkFCTEVf
QVZGX0NBUFRJT05TKSAkKEVOQUJMRV9DQUNIRV9QQVJUSVRJT05JTkcpICQoRU5BQkxFX0NIQU5O
RUxfTUVTU0FHSU5HKSAkKEVOQUJMRV9DT05URU5UX0ZJTFRFUklORykgJChFTkFCTEVfQ1NTM19U
RVhUKSAkKEVOQUJMRV9DU1NfQk9YX0RFQ09SQVRJT05fQlJFQUspICQoRU5BQkxFX0NTU19DT01Q
T1NJVElORykgJChFTkFCTEVfQ1NTX0RFVklDRV9BREFQVEFUSU9OKSAkKEVOQUJMRV9DU1NfSU1B
R0VfT1JJRU5UQVRJT04pICQoRU5BQkxFX0NTU19JTUFHRV9SRVNPTFVUSU9OKSAkKEVOQUJMRV9D
U1NfU0NST0xMX1NOQVApICQoRU5BQkxFX0NTU19TRUxFQ1RPUlNfTEVWRUw0KSAkKEVOQUJMRV9D
U1NfVFJBSUxJTkdfV09SRCkgJChFTkFCTEVfQ1VSU09SX1ZJU0lCSUxJVFkpICQoRU5BQkxFX0NV
U1RPTV9TQ0hFTUVfSEFORExFUikgJChFTkFCTEVfREFTSEJPQVJEX1NVUFBPUlQpICQoRU5BQkxF
X0RBVEFfSU5URVJBQ1RJT04pICQoRU5BQkxFX0RBVEFDVUVfVkFMVUUpICQoRU5BQkxFX0RBVEFM
SVNUX0VMRU1FTlQpICQoRU5BQkxFX0RFVklDRV9PUklFTlRBVElPTikgJChFTkFCTEVfRFJBR19T
VVBQT1JUKSAkKEVOQUJMRV9FTkNSWVBURURfTUVESUEpICQoRU5BQkxFX0VYUEVSSU1FTlRBTF9G
RUFUVVJFUykgJChFTkFCTEVfRkFTVF9KSVRfUEVSTUlTU0lPTlMpICQoRU5BQkxFX0ZJTFRFUlNf
TEVWRUxfMikgJChFTkFCTEVfRlRMX0pJVCkgJChFTkFCTEVfRlVMTFNDUkVFTl9BUEkpICQoRU5B
QkxFX0dBTUVQQUQpICQoRU5BQkxFX0dFT0xPQ0FUSU9OKSAkKEVOQUJMRV9JQ09OREFUQUJBU0Up
ICQoRU5BQkxFX0lOREVYRURfREFUQUJBU0UpICQoRU5BQkxFX0lOREVYRURfREFUQUJBU0VfSU5f
V09SS0VSUykgJChFTkFCTEVfSU5QVVRfVFlQRV9DT0xPUikgJChFTkFCTEVfSU5QVVRfVFlQRV9E
QVRFKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1FX0lOQ09NUExFVEUpICQoRU5BQkxFX0lO
UFVUX1RZUEVfREFURVRJTUVMT0NBTCkgJChFTkFCTEVfSU5QVVRfVFlQRV9NT05USCkgJChFTkFC
TEVfSU5QVVRfVFlQRV9USU1FKSAkKEVOQUJMRV9JTlBVVF9UWVBFX1dFRUspICQoRU5BQkxFX0lO
VEVSU0VDVElPTl9PQlNFUlZFUikgJChFTkFCTEVfSU5UTCkgJChFTkFCTEVfSU9TX0dFU1RVUkVf
RVZFTlRTKSAkKEVOQUJMRV9JT1NfVE9VQ0hfRVZFTlRTKSAkKEVOQUJMRV9KSVQpICQoRU5BQkxF
X0pTX0FTWU5DX0lURVJBVElPTikgJChFTkFCTEVfS0VZQk9BUkRfQ09ERV9BVFRSSUJVVEUpICQo
RU5BQkxFX0tFWUJPQVJEX0tFWV9BVFRSSUJVVEUpICQoRU5BQkxFX0xBWU9VVF9GT1JNQVRUSU5H
X0NPTlRFWFQpICQoRU5BQkxFX0xFR0FDWV9DU1NfVkVORE9SX1BSRUZJWEVTKSAkKEVOQUJMRV9M
RUdBQ1lfQ1VTVE9NX1BST1RPQ09MX01BTkFHRVIpICQoRU5BQkxFX0xFR0FDWV9FTkNSWVBURURf
TUVESUEpICQoRU5BQkxFX0xFVFRFUlBSRVNTKSAkKEVOQUJMRV9NQUNfR0VTVFVSRV9FVkVOVFMp
ICQoRU5BQkxFX01BQ19WSURFT19UT09MQk9YKSAkKEVOQUJMRV9NQVRITUwpICQoRU5BQkxFX01F
RElBX0NBUFRVUkUpICQoRU5BQkxFX01FRElBX0NPTlRST0xTX1NDUklQVCkgJChFTkFCTEVfTUVE
SUFfU0VTU0lPTikgJChFTkFCTEVfTUVESUFfU09VUkNFKSAkKEVOQUJMRV9NRURJQV9TVEFUSVNU
SUNTKSAkKEVOQUJMRV9NRURJQV9TVFJFQU0pICQoRU5BQkxFX01FVEVSX0VMRU1FTlQpICQoRU5B
QkxFX01IVE1MKSAkKEVOQUJMRV9NT1VTRV9DVVJTT1JfU0NBTEUpICQoRU5BQkxFX05BVklHQVRP
Ul9DT05URU5UX1VUSUxTKSAkKEVOQUJMRV9OQVZJR0FUT1JfU1RBTkRBTE9ORSkgJChFTkFCTEVf
Tk9USUZJQ0FUSU9OUykgJChFTkFCTEVfUEFZTUVOVF9SRVFVRVNUKSAkKEVOQUJMRV9QREZLSVRf
UExVR0lOKSAkKEVOQUJMRV9QT0lOVEVSX0xPQ0spICQoRU5BQkxFX1BVQkxJQ19TVUZGSVhfTElT
VCkgJChFTkFCTEVfUVVPVEEpICQoRU5BQkxFX1JFTU9URV9JTlNQRUNUT1IpICQoRU5BQkxFX1JF
U09MVVRJT05fTUVESUFfUVVFUlkpICQoRU5BQkxFX1JFU09VUkNFX1VTQUdFKSAkKEVOQUJMRV9S
VUJCRVJfQkFORElORykgJChFTkFCTEVfU0VSVklDRV9DT05UUk9MUykgJChFTkFCTEVfU0VSVklD
RV9XT1JLRVIpICQoRU5BQkxFX1NQRUVDSF9TWU5USEVTSVMpICQoRU5BQkxFX1NUUkVBTVNfQVBJ
KSAkKEVOQUJMRV9TVUJUTEVfQ1JZUFRPKSAkKEVOQUJMRV9TVkdfRk9OVFMpICQoRU5BQkxFX1RF
TEVQSE9ORV9OVU1CRVJfREVURUNUSU9OKSAkKEVOQUJMRV9URVhUX0FVVE9TSVpJTkcpICQoRU5B
QkxFX1RPVUNIX0VWRU5UUykgJChFTkFCTEVfVVNFUl9NRVNTQUdFX0hBTkRMRVJTKSAkKEVOQUJM
RV9VU0VSU0VMRUNUX0FMTCkgJChFTkFCTEVfVkFSSUFUSU9OX0ZPTlRTKSAkKEVOQUJMRV9WSURF
TykgJChFTkFCTEVfVklERU9fUFJFU0VOVEFUSU9OX01PREUpICQoRU5BQkxFX1ZJREVPX1RSQUNL
KSAkKEVOQUJMRV9WSURFT19VU0VTX0VMRU1FTlRfRlVMTFNDUkVFTikgJChFTkFCTEVfV0VCX0FV
RElPKSAkKEVOQUJMRV9XRUJfQVVUSE4pICQoRU5BQkxFX1dFQl9SVEMpICQoRU5BQkxFX1dFQkFT
U0VNQkxZKSAkKEVOQUJMRV9XRUJBU1NFTUJMWV9TVFJFQU1JTkdfQVBJKSAkKEVOQUJMRV9XRUJH
TCkgJChFTkFCTEVfV0VCR0wyKSAkKEVOQUJMRV9XRUJNRVRBTCkgJChFTkFCTEVfV0lSRUxFU1Nf
UExBWUJBQ0tfVEFSR0VUKSAkKEVOQUJMRV9YU0xUKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXRMZWdhY3kvbWFjL1dlYlZpZXcvV2ViUHJlZmVyZW5jZUtleXNQcml2YXRlLmggYi9Tb3VyY2Uv
V2ViS2l0TGVnYWN5L21hYy9XZWJWaWV3L1dlYlByZWZlcmVuY2VLZXlzUHJpdmF0ZS5oCmluZGV4
IGI4OWZmZjYwMDhjYWNjOTYzZDIyYWMyMWZkMGY2MDcyYTAyYzg2OTIuLjZjOWZmYTE1MTVhNzFh
MjM2Y2I3Yjc0MTdjODY2OTg2MzJmMjNlMmYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXRMZWdh
Y3kvbWFjL1dlYlZpZXcvV2ViUHJlZmVyZW5jZUtleXNQcml2YXRlLmgKKysrIGIvU291cmNlL1dl
YktpdExlZ2FjeS9tYWMvV2ViVmlldy9XZWJQcmVmZXJlbmNlS2V5c1ByaXZhdGUuaApAQCAtMTEz
LDcgKzExMyw3IEBACiAjZGVmaW5lIFdlYktpdFdlYkF1ZGlvRW5hYmxlZFByZWZlcmVuY2VLZXkg
QCJXZWJLaXRXZWJBdWRpb0VuYWJsZWQiCiAjZGVmaW5lIFdlYktpdFdlYkdMRW5hYmxlZFByZWZl
cmVuY2VLZXkgQCJXZWJLaXRXZWJHTEVuYWJsZWQiCiAjZGVmaW5lIFdlYktpdFdlYkdMMkVuYWJs
ZWRQcmVmZXJlbmNlS2V5IEAiV2ViS2l0V2ViR0wyRW5hYmxlZCIKLSNkZWZpbmUgV2ViS2l0V2Vi
R1BVRW5hYmxlZFByZWZlcmVuY2VLZXkgQCJXZWJLaXRXZWJHUFVFbmFibGVkIgorI2RlZmluZSBX
ZWJLaXRXZWJNZXRhbEVuYWJsZWRQcmVmZXJlbmNlS2V5IEAiV2ViS2l0V2ViTWV0YWxFbmFibGVk
IgogI2RlZmluZSBXZWJLaXRGb3JjZVNvZnR3YXJlV2ViR0xSZW5kZXJpbmdQcmVmZXJlbmNlS2V5
IEAiV2ViS2l0Rm9yY2VTb2Z0d2FyZVdlYkdMUmVuZGVyaW5nIgogI2RlZmluZSBXZWJLaXRGb3Jj
ZVdlYkdMVXNlc0xvd1Bvd2VyUHJlZmVyZW5jZUtleSBAIldlYktpdEZvcmNlV2ViR0xVc2VzTG93
UG93ZXIiCiAjZGVmaW5lIFdlYktpdEFjY2VsZXJhdGVkMmRDYW52YXNFbmFibGVkUHJlZmVyZW5j
ZUtleSBAIldlYktpdEFjY2VsZXJhdGVkMmRDYW52YXNFbmFibGVkIgpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViVmlldy9XZWJQcmVmZXJlbmNlcy5tbSBiL1NvdXJjZS9X
ZWJLaXRMZWdhY3kvbWFjL1dlYlZpZXcvV2ViUHJlZmVyZW5jZXMubW0KaW5kZXggYzY2ZmE5NTNk
ZmE0MzNiZGM2ZWVkMTFhMjhiMTRlNmRkZjM0YjhlYS4uMTgxMTE2ZjEyMzNlMjY5Mzg4MzVkYTI2
MmU2MzEzNDMyYzU0YmFmYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2Vi
Vmlldy9XZWJQcmVmZXJlbmNlcy5tbQorKysgYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJW
aWV3L1dlYlByZWZlcmVuY2VzLm1tCkBAIC02MzAsOCArNjMwLDggQEAgKyAodm9pZClpbml0aWFs
aXplCiAjaWYgRU5BQkxFKFdFQkdMMikKICAgICAgICAgW05TTnVtYmVyIG51bWJlcldpdGhCb29s
Ok5PXSwgV2ViS2l0V2ViR0wyRW5hYmxlZFByZWZlcmVuY2VLZXksCiAjZW5kaWYKLSNpZiBFTkFC
TEUoV0VCR1BVKQotICAgICAgICBbTlNOdW1iZXIgbnVtYmVyV2l0aEJvb2w6Tk9dLCBXZWJLaXRX
ZWJHUFVFbmFibGVkUHJlZmVyZW5jZUtleSwKKyNpZiBFTkFCTEUoV0VCTUVUQUwpCisgICAgICAg
IFtOU051bWJlciBudW1iZXJXaXRoQm9vbDpOT10sIFdlYktpdFdlYk1ldGFsRW5hYmxlZFByZWZl
cmVuY2VLZXksCiAjZW5kaWYKICAgICAgICAgW05TTnVtYmVyIG51bWJlcldpdGhCb29sOk5PXSwg
V2ViS2l0Q2FjaGVBUElFbmFibGVkUHJlZmVyZW5jZUtleSwKICAgICAgICAgW05TTnVtYmVyIG51
bWJlcldpdGhCb29sOllFU10sIFdlYktpdEZldGNoQVBJRW5hYmxlZFByZWZlcmVuY2VLZXksCkBA
IC0yMTA5LDE0ICsyMTA5LDE0IEBAIC0gKHZvaWQpc2V0Rm9yY2VXZWJHTFVzZXNMb3dQb3dlcjoo
Qk9PTClmb3JjZUxvd1Bvd2VyCiAgICAgW3NlbGYgX3NldEJvb2xWYWx1ZTpmb3JjZUxvd1Bvd2Vy
IGZvcktleTpXZWJLaXRGb3JjZVdlYkdMVXNlc0xvd1Bvd2VyUHJlZmVyZW5jZUtleV07CiB9CiAK
LS0gKEJPT0wpd2ViR1BVRW5hYmxlZAorLSAoQk9PTCl3ZWJNZXRhbEVuYWJsZWQKIHsKLSAgICBy
ZXR1cm4gW3NlbGYgX2Jvb2xWYWx1ZUZvcktleTpXZWJLaXRXZWJHUFVFbmFibGVkUHJlZmVyZW5j
ZUtleV07CisgICAgcmV0dXJuIFtzZWxmIF9ib29sVmFsdWVGb3JLZXk6V2ViS2l0V2ViTWV0YWxF
bmFibGVkUHJlZmVyZW5jZUtleV07CiB9CiAKLS0gKHZvaWQpc2V0V2ViR1BVRW5hYmxlZDooQk9P
TCllbmFibGVkCistICh2b2lkKXNldFdlYk1ldGFsRW5hYmxlZDooQk9PTCllbmFibGVkCiB7Ci0g
ICAgW3NlbGYgX3NldEJvb2xWYWx1ZTplbmFibGVkIGZvcktleTpXZWJLaXRXZWJHUFVFbmFibGVk
UHJlZmVyZW5jZUtleV07CisgICAgW3NlbGYgX3NldEJvb2xWYWx1ZTplbmFibGVkIGZvcktleTpX
ZWJLaXRXZWJNZXRhbEVuYWJsZWRQcmVmZXJlbmNlS2V5XTsKIH0KIAogLSAoQk9PTClhY2NlbGVy
YXRlZDJkQ2FudmFzRW5hYmxlZApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdExlZ2FjeS9tYWMv
V2ViVmlldy9XZWJQcmVmZXJlbmNlc1ByaXZhdGUuaCBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFj
L1dlYlZpZXcvV2ViUHJlZmVyZW5jZXNQcml2YXRlLmgKaW5kZXggNDcwYTZmZDk1MzhkZjMyOWQz
OGQxOWE1ZmFiMzkzMjkxN2M3NzFiZS4uZTJmODQwNzI0OGNlYTVkZjljZDNhYmI4MGYxYzgxMGQy
NTJjZGFhYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViVmlldy9XZWJQ
cmVmZXJlbmNlc1ByaXZhdGUuaAorKysgYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJWaWV3
L1dlYlByZWZlcmVuY2VzUHJpdmF0ZS5oCkBAIC0yNzIsOCArMjcyLDggQEAgZXh0ZXJuIE5TU3Ry
aW5nICpXZWJQcmVmZXJlbmNlc0NhY2hlTW9kZWxDaGFuZ2VkSW50ZXJuYWxOb3RpZmljYXRpb24g
V0VCS0lUX0RFUFIKIC0gKEJPT0wpZm9yY2VMb3dQb3dlckdQVUZvcldlYkdMOwogLSAodm9pZClz
ZXRGb3JjZVdlYkdMVXNlc0xvd1Bvd2VyOihCT09MKWZvcmNlTG93UG93ZXI7CiAKLS0gKEJPT0wp
d2ViR1BVRW5hYmxlZDsKLS0gKHZvaWQpc2V0V2ViR1BVRW5hYmxlZDooQk9PTCllbmFibGVkOwor
LSAoQk9PTCl3ZWJNZXRhbEVuYWJsZWQ7CistICh2b2lkKXNldFdlYk1ldGFsRW5hYmxlZDooQk9P
TCllbmFibGVkOwogCiAtIChCT09MKWFjY2VsZXJhdGVkMmRDYW52YXNFbmFibGVkOwogLSAodm9p
ZClzZXRBY2NlbGVyYXRlZDJkQ2FudmFzRW5hYmxlZDooQk9PTCllbmFibGVkOwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViVmlldy9XZWJWaWV3Lm1tIGIvU291cmNlL1dl
YktpdExlZ2FjeS9tYWMvV2ViVmlldy9XZWJWaWV3Lm1tCmluZGV4IDg1MmRlYmYxOWViY2MyMzhj
OGQzODM3ZWU3OGMwZTQxMjFmNTIxNTAuLjlkZWI2ZWVjZWEzYzE3MmZkOWE5MThlNTk1ZjcwZTE2
MjZmZjUzMWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYlZpZXcvV2Vi
Vmlldy5tbQorKysgYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJWaWV3L1dlYlZpZXcubW0K
QEAgLTMxMTEsOCArMzExMSw4IEBAIC0gKHZvaWQpX3ByZWZlcmVuY2VzQ2hhbmdlZDooV2ViUHJl
ZmVyZW5jZXMgKilwcmVmZXJlbmNlcwogICAgIFJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6OnNoYXJl
ZEZlYXR1cmVzKCkuc2V0V2ViR0wyRW5hYmxlZChbcHJlZmVyZW5jZXMgd2ViR0wyRW5hYmxlZF0p
OwogI2VuZGlmCiAKLSNpZiBFTkFCTEUoV0VCR1BVKQotICAgIFJ1bnRpbWVFbmFibGVkRmVhdHVy
ZXM6OnNoYXJlZEZlYXR1cmVzKCkuc2V0V2ViR1BVRW5hYmxlZChbcHJlZmVyZW5jZXMgd2ViR1BV
RW5hYmxlZF0pOworI2lmIEVOQUJMRShXRUJNRVRBTCkKKyAgICBSdW50aW1lRW5hYmxlZEZlYXR1
cmVzOjpzaGFyZWRGZWF0dXJlcygpLnNldFdlYk1ldGFsRW5hYmxlZChbcHJlZmVyZW5jZXMgd2Vi
TWV0YWxFbmFibGVkXSk7CiAjZW5kaWYKIAogI2lmIEVOQUJMRShET1dOTE9BRF9BVFRSSUJVVEUp
CmRpZmYgLS1naXQgYS9Tb3VyY2UvY21ha2UvV2ViS2l0RmVhdHVyZXMuY21ha2UgYi9Tb3VyY2Uv
Y21ha2UvV2ViS2l0RmVhdHVyZXMuY21ha2UKaW5kZXggZjUzMDdjY2RmNjUyYjlkOTU3ZmFiYTc3
NWUxMGQxYWM2MDEwOWM4My4uZjA5NDhkYjlkYTcwMTBkNmFlMDU2MTliYzVkMTY0Y2Q5YWI3Mjc1
MyAxMDA2NDQKLS0tIGEvU291cmNlL2NtYWtlL1dlYktpdEZlYXR1cmVzLmNtYWtlCisrKyBiL1Nv
dXJjZS9jbWFrZS9XZWJLaXRGZWF0dXJlcy5jbWFrZQpAQCAtMTg1LDcgKzE4NSw3IEBAIG1hY3Jv
KFdFQktJVF9PUFRJT05fQkVHSU4pCiAgICAgV0VCS0lUX09QVElPTl9ERUZJTkUoRU5BQkxFX1dF
QkRSSVZFUiAiV2hldGhlciB0byBlbmFibGUgdGhlIFdlYkRyaXZlciBzZXJ2aWNlIHByb2Nlc3Mi
IFBSSVZBVEUgT0ZGKQogICAgIFdFQktJVF9PUFRJT05fREVGSU5FKEVOQUJMRV9XRUJHTCAiVG9n
Z2xlIFdlYkdMIHN1cHBvcnQiIFBSSVZBVEUgT04pCiAgICAgV0VCS0lUX09QVElPTl9ERUZJTkUo
RU5BQkxFX1dFQkdMMiAiVG9nZ2xlIFdlYkdMIDIuMCBzdXBwb3J0IiBQUklWQVRFIE9GRikKLSAg
ICBXRUJLSVRfT1BUSU9OX0RFRklORShFTkFCTEVfV0VCR1BVICJUb2dnbGUgV2ViR1BVIHN1cHBv
cnQiIFBSSVZBVEUgT0ZGKQorICAgIFdFQktJVF9PUFRJT05fREVGSU5FKEVOQUJMRV9XRUJNRVRB
TCAiVG9nZ2xlIFdlYk1ldGFsIHN1cHBvcnQiIFBSSVZBVEUgT0ZGKQogICAgIFdFQktJVF9PUFRJ
T05fREVGSU5FKEVOQUJMRV9XRUJWVFRfUkVHSU9OUyAiVG9nZ2xlIHdlYnZ0dCByZWdpb24gc3Vw
cG9ydCIgUFJJVkFURSBPRkYpCiAgICAgV0VCS0lUX09QVElPTl9ERUZJTkUoRU5BQkxFX1dFQl9B
VURJTyAiVG9nZ2xlIFdlYiBBdWRpbyBzdXBwb3J0IiBQUklWQVRFIE9OKQogICAgIFdFQktJVF9P
UFRJT05fREVGSU5FKEVOQUJMRV9XRUJfQVVUSE4gIlRvZ2dsZSBXZWIgQXV0aG4gc3VwcG9ydCIg
UFJJVkFURSBPRkYpCmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cgYi9Ub29scy9DaGFuZ2VM
b2cKaW5kZXggOTNmMGNhNjQxNWY2Y2Y4ZGUyYTZmMWExNGMxNmQ0NzUzZjlmNGZhZC4uYWM4NWIy
NDY3Y2EwYmY0Yjk3Njg0NGY3NDFjZjcwNmYwNTU1ODFiNiAxMDA2NDQKLS0tIGEvVG9vbHMvQ2hh
bmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI5IEBACisyMDE4LTEwLTA1
ICBKdXN0aW4gRmFuICA8anVzdGluX2ZhbkBhcHBsZS5jb20+CisKKyAgICAgICAgV2ViR1BVOiBS
ZW5hbWUgb2xkIFdlYkdQVSBwcm90b3R5cGUgdG8gV2ViTWV0YWwKKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE5MDMyNQorICAgICAgICA8cmRhcjovL3By
b2JsZW0vNDQ5OTA0NDM+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisK
KyAgICAgICAgUmVuYW1lIFdlYkdQVSBwcm90b3R5cGUgZmlsZXMgdG8gV2ViTWV0YWwgaW4gcHJl
cGFyYXRpb24gZm9yIGltcGxlbWVudGluZyB0aGUgbmV3IChPY3QgMjAxOCkgV2ViR1BVIGludGVy
ZmFjZS4KKworICAgICAgICAqIER1bXBSZW5kZXJUcmVlL21hYy9EdW1wUmVuZGVyVHJlZS5tbToK
KyAgICAgICAgKGVuYWJsZUV4cGVyaW1lbnRhbEZlYXR1cmVzKToKKyAgICAgICAgKHJlc2V0V2Vi
UHJlZmVyZW5jZXNUb0NvbnNpc3RlbnRWYWx1ZXMpOgorICAgICAgICAqIFRlc3RXZWJLaXRBUEkv
Q29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWc6CisgICAgICAgICogVGVzdFdl
YktpdEFQSS9UZXN0cy9XZWJDb3JlL21hYy9HUFVCdWZmZXIubW06CisgICAgICAgICogVGVzdFdl
YktpdEFQSS9UZXN0cy9XZWJDb3JlL21hYy9HUFVDb21tYW5kUXVldWUubW06CisgICAgICAgICog
VGVzdFdlYktpdEFQSS9UZXN0cy9XZWJDb3JlL21hYy9HUFVEZXZpY2UubW06CisgICAgICAgICog
VGVzdFdlYktpdEFQSS9UZXN0cy9XZWJDb3JlL21hYy9HUFVGdW5jdGlvbi5tbToKKyAgICAgICAg
KiBUZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYkNvcmUvbWFjL0dQVUxpYnJhcnkubW06CisgICAgICAg
ICogV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9JbmplY3RlZEJ1bmRsZS5jcHA6Cisg
ICAgICAgIChXVFI6OkluamVjdGVkQnVuZGxlOjpiZWdpblRlc3RpbmcpOgorICAgICAgICAqIFdl
YktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvVGVzdFJ1bm5lci5jcHA6CisgICAgICAgIChX
VFI6OlRlc3RSdW5uZXI6OnNldFdlYk1ldGFsRW5hYmxlZCk6CisgICAgICAgIChXVFI6OlRlc3RS
dW5uZXI6OnNldFdlYkdQVUVuYWJsZWQpOiBEZWxldGVkLgorICAgICAgICAqIFdlYktpdFRlc3RS
dW5uZXIvSW5qZWN0ZWRCdW5kbGUvVGVzdFJ1bm5lci5oOgorCiAyMDE4LTEwLTA1ICBDaHJpcyBE
dW1leiAgPGNkdW1lekBhcHBsZS5jb20+CiAKICAgICAgICAgUmVncmVzc2lvbihyMjM2ODYyKTog
Q3Jhc2ggdW5kZXIgRE9NV2luZG93RXh0ZW5zaW9uOjp3aWxsRGV0YWNoR2xvYmFsT2JqZWN0RnJv
bUZyYW1lKCkKZGlmZiAtLWdpdCBhL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL21hYy9EdW1wUmVuZGVy
VHJlZS5tbSBiL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL21hYy9EdW1wUmVuZGVyVHJlZS5tbQppbmRl
eCAwYmJhZDNjNWMwMzU1ZjJjODRhNGRiOTg3YzZmZmE5YjgwNGJjYmM3Li42ZTBkNTliM2IyNjk5
YWY5MzMwNDNiYmIwMGQ0M2ZlM2U4ODgwZGFiIDEwMDY0NAotLS0gYS9Ub29scy9EdW1wUmVuZGVy
VHJlZS9tYWMvRHVtcFJlbmRlclRyZWUubW0KKysrIGIvVG9vbHMvRHVtcFJlbmRlclRyZWUvbWFj
L0R1bXBSZW5kZXJUcmVlLm1tCkBAIC04NTQsNyArODU0LDcgQEAgc3RhdGljIHZvaWQgZW5hYmxl
RXhwZXJpbWVudGFsRmVhdHVyZXMoV2ViUHJlZmVyZW5jZXMqIHByZWZlcmVuY2VzKQogICAgIFtw
cmVmZXJlbmNlcyBzZXRGZXRjaEFQSUtlZXBBbGl2ZUVuYWJsZWQ6WUVTXTsKICAgICBbcHJlZmVy
ZW5jZXMgc2V0V2ViQW5pbWF0aW9uc0VuYWJsZWQ6WUVTXTsKICAgICBbcHJlZmVyZW5jZXMgc2V0
V2ViR0wyRW5hYmxlZDpZRVNdOwotICAgIFtwcmVmZXJlbmNlcyBzZXRXZWJHUFVFbmFibGVkOllF
U107CisgICAgW3ByZWZlcmVuY2VzIHNldFdlYk1ldGFsRW5hYmxlZDpZRVNdOwogICAgIC8vIEZJ
WE1FOiBBc3luY0ZyYW1lU2Nyb2xsaW5nRW5hYmxlZAogICAgIFtwcmVmZXJlbmNlcyBzZXRXZWJB
dXRoZW50aWNhdGlvbkVuYWJsZWQ6Tk9dOwogICAgIFtwcmVmZXJlbmNlcyBzZXRDYWNoZUFQSUVu
YWJsZWQ6Tk9dOwpAQCAtOTcxLDcgKzk3MSw3IEBAIHN0YXRpYyB2b2lkIHJlc2V0V2ViUHJlZmVy
ZW5jZXNUb0NvbnNpc3RlbnRWYWx1ZXMoKQogICAgIFtwcmVmZXJlbmNlcyBzZXRDdXN0b21QYXN0
ZWJvYXJkRGF0YUVuYWJsZWQ6WUVTXTsKIAogICAgIFtwcmVmZXJlbmNlcyBzZXRXZWJHTDJFbmFi
bGVkOllFU107Ci0gICAgW3ByZWZlcmVuY2VzIHNldFdlYkdQVUVuYWJsZWQ6WUVTXTsKKyAgICBb
cHJlZmVyZW5jZXMgc2V0V2ViTWV0YWxFbmFibGVkOllFU107CiAKICAgICBbcHJlZmVyZW5jZXMg
c2V0RG93bmxvYWRBdHRyaWJ1dGVFbmFibGVkOllFU107CiAgICAgW3ByZWZlcmVuY2VzIHNldERp
cmVjdG9yeVVwbG9hZEVuYWJsZWQ6WUVTXTsKZGlmZiAtLWdpdCBhL1Rvb2xzL1Rlc3RXZWJLaXRB
UEkvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWcgYi9Ub29scy9UZXN0V2Vi
S2l0QVBJL0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnCmluZGV4IDY4ZWZj
ZTk0MmNhMGRjZGU2MjA5YTMwZmI0ZTVkMGJkODc2MGE3ODEuLjI0MjlkZDhkYzY5MTI0MzU2ZDAx
NDYzYWFiNzc5OGU3ODc3OWM5NWMgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvQ29u
ZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWcKKysrIGIvVG9vbHMvVGVzdFdlYktp
dEFQSS9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZwpAQCAtMzUwLDExICsz
NTAsMTEgQEAgRU5BQkxFX1dFQkdMID0gRU5BQkxFX1dFQkdMOwogCiBFTkFCTEVfV0VCR0wyID0g
RU5BQkxFX1dFQkdMMjsKIAotRU5BQkxFX1dFQkdQVSA9ICQoRU5BQkxFX1dFQkdQVV8kKFdLX1BM
QVRGT1JNX05BTUUpKTsKLUVOQUJMRV9XRUJHUFVfaXBob25lb3MgPSBFTkFCTEVfV0VCR1BVOwot
RU5BQkxFX1dFQkdQVV93YXRjaG9zID0gRU5BQkxFX1dFQkdQVTsKLUVOQUJMRV9XRUJHUFVfYXBw
bGV0dm9zID0gRU5BQkxFX1dFQkdQVTsKLUVOQUJMRV9XRUJHUFVfbWFjb3N4ID0gRU5BQkxFX1dF
QkdQVTsKK0VOQUJMRV9XRUJNRVRBTCA9ICQoRU5BQkxFX1dFQk1FVEFMXyQoV0tfUExBVEZPUk1f
TkFNRSkpOworRU5BQkxFX1dFQk1FVEFMX2lwaG9uZW9zID0gRU5BQkxFX1dFQk1FVEFMOworRU5B
QkxFX1dFQk1FVEFMX3dhdGNob3MgPSBFTkFCTEVfV0VCTUVUQUw7CitFTkFCTEVfV0VCTUVUQUxf
YXBwbGV0dm9zID0gRU5BQkxFX1dFQk1FVEFMOworRU5BQkxFX1dFQk1FVEFMX21hY29zeCA9IEVO
QUJMRV9XRUJNRVRBTDsKIAogRU5BQkxFX1dFQl9BVURJTyA9IEVOQUJMRV9XRUJfQVVESU87CiAK
QEAgLTM3Miw0ICszNzIsNCBAQCBFTkFCTEVfV0lSRUxFU1NfUExBWUJBQ0tfVEFSR0VUID0gRU5B
QkxFX1dJUkVMRVNTX1BMQVlCQUNLX1RBUkdFVDsKIAogRU5BQkxFX1hTTFQgPSBFTkFCTEVfWFNM
VDsKIAotRkVBVFVSRV9ERUZJTkVTID0gJChFTkFCTEVfM0RfVFJBTlNGT1JNUykgJChFTkFCTEVf
QUNDRUxFUkFURURfMkRfQ0FOVkFTKSAkKEVOQUJMRV9BQ0NFTEVSQVRFRF9PVkVSRkxPV19TQ1JP
TExJTkcpICQoRU5BQkxFX0FQUExFX1BBWSkgJChFTkFCTEVfQVBQTEVfUEFZX1NFU1NJT05fVjMp
ICQoRU5BQkxFX0FQUExFX1BBWV9TRVNTSU9OX1Y0KSAkKEVOQUJMRV9BUFBMSUNBVElPTl9NQU5J
RkVTVCkgJChFTkFCTEVfQVRUQUNITUVOVF9FTEVNRU5UKSAkKEVOQUJMRV9BVkZfQ0FQVElPTlMp
ICQoRU5BQkxFX0NBQ0hFX1BBUlRJVElPTklORykgJChFTkFCTEVfQ0hBTk5FTF9NRVNTQUdJTkcp
ICQoRU5BQkxFX0NPTlRFTlRfRklMVEVSSU5HKSAkKEVOQUJMRV9DU1MzX1RFWFQpICQoRU5BQkxF
X0NTU19CT1hfREVDT1JBVElPTl9CUkVBSykgJChFTkFCTEVfQ1NTX0NPTVBPU0lUSU5HKSAkKEVO
QUJMRV9DU1NfREVWSUNFX0FEQVBUQVRJT04pICQoRU5BQkxFX0NTU19JTUFHRV9PUklFTlRBVElP
TikgJChFTkFCTEVfQ1NTX0lNQUdFX1JFU09MVVRJT04pICQoRU5BQkxFX0NTU19TQ1JPTExfU05B
UCkgJChFTkFCTEVfQ1NTX1NFTEVDVE9SU19MRVZFTDQpICQoRU5BQkxFX0NTU19UUkFJTElOR19X
T1JEKSAkKEVOQUJMRV9DVVJTT1JfVklTSUJJTElUWSkgJChFTkFCTEVfQ1VTVE9NX1NDSEVNRV9I
QU5ETEVSKSAkKEVOQUJMRV9EQVNIQk9BUkRfU1VQUE9SVCkgJChFTkFCTEVfREFUQV9JTlRFUkFD
VElPTikgJChFTkFCTEVfREFUQUNVRV9WQUxVRSkgJChFTkFCTEVfREFUQUxJU1RfRUxFTUVOVCkg
JChFTkFCTEVfREVWSUNFX09SSUVOVEFUSU9OKSAkKEVOQUJMRV9EUkFHX1NVUFBPUlQpICQoRU5B
QkxFX0VOQ1JZUFRFRF9NRURJQSkgJChFTkFCTEVfRVhQRVJJTUVOVEFMX0ZFQVRVUkVTKSAkKEVO
QUJMRV9GQVNUX0pJVF9QRVJNSVNTSU9OUykgJChFTkFCTEVfRklMVEVSU19MRVZFTF8yKSAkKEVO
QUJMRV9GVExfSklUKSAkKEVOQUJMRV9GVUxMU0NSRUVOX0FQSSkgJChFTkFCTEVfR0FNRVBBRCkg
JChFTkFCTEVfR0VPTE9DQVRJT04pICQoRU5BQkxFX0lDT05EQVRBQkFTRSkgJChFTkFCTEVfSU5E
RVhFRF9EQVRBQkFTRSkgJChFTkFCTEVfSU5ERVhFRF9EQVRBQkFTRV9JTl9XT1JLRVJTKSAkKEVO
QUJMRV9JTlBVVF9UWVBFX0NPTE9SKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEUpICQoRU5BQkxF
X0lOUFVUX1RZUEVfREFURVRJTUVfSU5DT01QTEVURSkgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRF
VElNRUxPQ0FMKSAkKEVOQUJMRV9JTlBVVF9UWVBFX01PTlRIKSAkKEVOQUJMRV9JTlBVVF9UWVBF
X1RJTUUpICQoRU5BQkxFX0lOUFVUX1RZUEVfV0VFSykgJChFTkFCTEVfSU5URVJTRUNUSU9OX09C
U0VSVkVSKSAkKEVOQUJMRV9JTlRMKSAkKEVOQUJMRV9JT1NfR0VTVFVSRV9FVkVOVFMpICQoRU5B
QkxFX0lPU19UT1VDSF9FVkVOVFMpICQoRU5BQkxFX0pJVCkgJChFTkFCTEVfSlNfQVNZTkNfSVRF
UkFUSU9OKSAkKEVOQUJMRV9LRVlCT0FSRF9DT0RFX0FUVFJJQlVURSkgJChFTkFCTEVfS0VZQk9B
UkRfS0VZX0FUVFJJQlVURSkgJChFTkFCTEVfTEFZT1VUX0ZPUk1BVFRJTkdfQ09OVEVYVCkgJChF
TkFCTEVfTEVHQUNZX0NTU19WRU5ET1JfUFJFRklYRVMpICQoRU5BQkxFX0xFR0FDWV9DVVNUT01f
UFJPVE9DT0xfTUFOQUdFUikgJChFTkFCTEVfTEVHQUNZX0VOQ1JZUFRFRF9NRURJQSkgJChFTkFC
TEVfTEVUVEVSUFJFU1MpICQoRU5BQkxFX01BQ19HRVNUVVJFX0VWRU5UUykgJChFTkFCTEVfTUFD
X1ZJREVPX1RPT0xCT1gpICQoRU5BQkxFX01BVEhNTCkgJChFTkFCTEVfTUVESUFfQ0FQVFVSRSkg
JChFTkFCTEVfTUVESUFfQ09OVFJPTFNfU0NSSVBUKSAkKEVOQUJMRV9NRURJQV9TRVNTSU9OKSAk
KEVOQUJMRV9NRURJQV9TT1VSQ0UpICQoRU5BQkxFX01FRElBX1NUQVRJU1RJQ1MpICQoRU5BQkxF
X01FRElBX1NUUkVBTSkgJChFTkFCTEVfTUVURVJfRUxFTUVOVCkgJChFTkFCTEVfTUhUTUwpICQo
RU5BQkxFX01PVVNFX0NVUlNPUl9TQ0FMRSkgJChFTkFCTEVfTkFWSUdBVE9SX0NPTlRFTlRfVVRJ
TFMpICQoRU5BQkxFX05BVklHQVRPUl9TVEFOREFMT05FKSAkKEVOQUJMRV9OT1RJRklDQVRJT05T
KSAkKEVOQUJMRV9QQVlNRU5UX1JFUVVFU1QpICQoRU5BQkxFX1BERktJVF9QTFVHSU4pICQoRU5B
QkxFX1BPSU5URVJfTE9DSykgJChFTkFCTEVfUFVCTElDX1NVRkZJWF9MSVNUKSAkKEVOQUJMRV9R
VU9UQSkgJChFTkFCTEVfUkVNT1RFX0lOU1BFQ1RPUikgJChFTkFCTEVfUkVTT0xVVElPTl9NRURJ
QV9RVUVSWSkgJChFTkFCTEVfUkVTT1VSQ0VfVVNBR0UpICQoRU5BQkxFX1JVQkJFUl9CQU5ESU5H
KSAkKEVOQUJMRV9TRVJWSUNFX0NPTlRST0xTKSAkKEVOQUJMRV9TRVJWSUNFX1dPUktFUikgJChF
TkFCTEVfU1BFRUNIX1NZTlRIRVNJUykgJChFTkFCTEVfU1RSRUFNU19BUEkpICQoRU5BQkxFX1NV
QlRMRV9DUllQVE8pICQoRU5BQkxFX1NWR19GT05UUykgJChFTkFCTEVfVEVMRVBIT05FX05VTUJF
Ul9ERVRFQ1RJT04pICQoRU5BQkxFX1RFWFRfQVVUT1NJWklORykgJChFTkFCTEVfVE9VQ0hfRVZF
TlRTKSAkKEVOQUJMRV9VU0VSX01FU1NBR0VfSEFORExFUlMpICQoRU5BQkxFX1VTRVJTRUxFQ1Rf
QUxMKSAkKEVOQUJMRV9WQVJJQVRJT05fRk9OVFMpICQoRU5BQkxFX1ZJREVPKSAkKEVOQUJMRV9W
SURFT19QUkVTRU5UQVRJT05fTU9ERSkgJChFTkFCTEVfVklERU9fVFJBQ0spICQoRU5BQkxFX1ZJ
REVPX1VTRVNfRUxFTUVOVF9GVUxMU0NSRUVOKSAkKEVOQUJMRV9XRUJfQVVESU8pICQoRU5BQkxF
X1dFQl9BVVRITikgJChFTkFCTEVfV0VCX1JUQykgJChFTkFCTEVfV0VCQVNTRU1CTFkpICQoRU5B
QkxFX1dFQkFTU0VNQkxZX1NUUkVBTUlOR19BUEkpICQoRU5BQkxFX1dFQkdMKSAkKEVOQUJMRV9X
RUJHTDIpICQoRU5BQkxFX1dFQkdQVSkgJChFTkFCTEVfV0lSRUxFU1NfUExBWUJBQ0tfVEFSR0VU
KSAkKEVOQUJMRV9YU0xUKTsKK0ZFQVRVUkVfREVGSU5FUyA9ICQoRU5BQkxFXzNEX1RSQU5TRk9S
TVMpICQoRU5BQkxFX0FDQ0VMRVJBVEVEXzJEX0NBTlZBUykgJChFTkFCTEVfQUNDRUxFUkFURURf
T1ZFUkZMT1dfU0NST0xMSU5HKSAkKEVOQUJMRV9BUFBMRV9QQVkpICQoRU5BQkxFX0FQUExFX1BB
WV9TRVNTSU9OX1YzKSAkKEVOQUJMRV9BUFBMRV9QQVlfU0VTU0lPTl9WNCkgJChFTkFCTEVfQVBQ
TElDQVRJT05fTUFOSUZFU1QpICQoRU5BQkxFX0FUVEFDSE1FTlRfRUxFTUVOVCkgJChFTkFCTEVf
QVZGX0NBUFRJT05TKSAkKEVOQUJMRV9DQUNIRV9QQVJUSVRJT05JTkcpICQoRU5BQkxFX0NIQU5O
RUxfTUVTU0FHSU5HKSAkKEVOQUJMRV9DT05URU5UX0ZJTFRFUklORykgJChFTkFCTEVfQ1NTM19U
RVhUKSAkKEVOQUJMRV9DU1NfQk9YX0RFQ09SQVRJT05fQlJFQUspICQoRU5BQkxFX0NTU19DT01Q
T1NJVElORykgJChFTkFCTEVfQ1NTX0RFVklDRV9BREFQVEFUSU9OKSAkKEVOQUJMRV9DU1NfSU1B
R0VfT1JJRU5UQVRJT04pICQoRU5BQkxFX0NTU19JTUFHRV9SRVNPTFVUSU9OKSAkKEVOQUJMRV9D
U1NfU0NST0xMX1NOQVApICQoRU5BQkxFX0NTU19TRUxFQ1RPUlNfTEVWRUw0KSAkKEVOQUJMRV9D
U1NfVFJBSUxJTkdfV09SRCkgJChFTkFCTEVfQ1VSU09SX1ZJU0lCSUxJVFkpICQoRU5BQkxFX0NV
U1RPTV9TQ0hFTUVfSEFORExFUikgJChFTkFCTEVfREFTSEJPQVJEX1NVUFBPUlQpICQoRU5BQkxF
X0RBVEFfSU5URVJBQ1RJT04pICQoRU5BQkxFX0RBVEFDVUVfVkFMVUUpICQoRU5BQkxFX0RBVEFM
SVNUX0VMRU1FTlQpICQoRU5BQkxFX0RFVklDRV9PUklFTlRBVElPTikgJChFTkFCTEVfRFJBR19T
VVBQT1JUKSAkKEVOQUJMRV9FTkNSWVBURURfTUVESUEpICQoRU5BQkxFX0VYUEVSSU1FTlRBTF9G
RUFUVVJFUykgJChFTkFCTEVfRkFTVF9KSVRfUEVSTUlTU0lPTlMpICQoRU5BQkxFX0ZJTFRFUlNf
TEVWRUxfMikgJChFTkFCTEVfRlRMX0pJVCkgJChFTkFCTEVfRlVMTFNDUkVFTl9BUEkpICQoRU5B
QkxFX0dBTUVQQUQpICQoRU5BQkxFX0dFT0xPQ0FUSU9OKSAkKEVOQUJMRV9JQ09OREFUQUJBU0Up
ICQoRU5BQkxFX0lOREVYRURfREFUQUJBU0UpICQoRU5BQkxFX0lOREVYRURfREFUQUJBU0VfSU5f
V09SS0VSUykgJChFTkFCTEVfSU5QVVRfVFlQRV9DT0xPUikgJChFTkFCTEVfSU5QVVRfVFlQRV9E
QVRFKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1FX0lOQ09NUExFVEUpICQoRU5BQkxFX0lO
UFVUX1RZUEVfREFURVRJTUVMT0NBTCkgJChFTkFCTEVfSU5QVVRfVFlQRV9NT05USCkgJChFTkFC
TEVfSU5QVVRfVFlQRV9USU1FKSAkKEVOQUJMRV9JTlBVVF9UWVBFX1dFRUspICQoRU5BQkxFX0lO
VEVSU0VDVElPTl9PQlNFUlZFUikgJChFTkFCTEVfSU5UTCkgJChFTkFCTEVfSU9TX0dFU1RVUkVf
RVZFTlRTKSAkKEVOQUJMRV9JT1NfVE9VQ0hfRVZFTlRTKSAkKEVOQUJMRV9KSVQpICQoRU5BQkxF
X0pTX0FTWU5DX0lURVJBVElPTikgJChFTkFCTEVfS0VZQk9BUkRfQ09ERV9BVFRSSUJVVEUpICQo
RU5BQkxFX0tFWUJPQVJEX0tFWV9BVFRSSUJVVEUpICQoRU5BQkxFX0xBWU9VVF9GT1JNQVRUSU5H
X0NPTlRFWFQpICQoRU5BQkxFX0xFR0FDWV9DU1NfVkVORE9SX1BSRUZJWEVTKSAkKEVOQUJMRV9M
RUdBQ1lfQ1VTVE9NX1BST1RPQ09MX01BTkFHRVIpICQoRU5BQkxFX0xFR0FDWV9FTkNSWVBURURf
TUVESUEpICQoRU5BQkxFX0xFVFRFUlBSRVNTKSAkKEVOQUJMRV9NQUNfR0VTVFVSRV9FVkVOVFMp
ICQoRU5BQkxFX01BQ19WSURFT19UT09MQk9YKSAkKEVOQUJMRV9NQVRITUwpICQoRU5BQkxFX01F
RElBX0NBUFRVUkUpICQoRU5BQkxFX01FRElBX0NPTlRST0xTX1NDUklQVCkgJChFTkFCTEVfTUVE
SUFfU0VTU0lPTikgJChFTkFCTEVfTUVESUFfU09VUkNFKSAkKEVOQUJMRV9NRURJQV9TVEFUSVNU
SUNTKSAkKEVOQUJMRV9NRURJQV9TVFJFQU0pICQoRU5BQkxFX01FVEVSX0VMRU1FTlQpICQoRU5B
QkxFX01IVE1MKSAkKEVOQUJMRV9NT1VTRV9DVVJTT1JfU0NBTEUpICQoRU5BQkxFX05BVklHQVRP
Ul9DT05URU5UX1VUSUxTKSAkKEVOQUJMRV9OQVZJR0FUT1JfU1RBTkRBTE9ORSkgJChFTkFCTEVf
Tk9USUZJQ0FUSU9OUykgJChFTkFCTEVfUEFZTUVOVF9SRVFVRVNUKSAkKEVOQUJMRV9QREZLSVRf
UExVR0lOKSAkKEVOQUJMRV9QT0lOVEVSX0xPQ0spICQoRU5BQkxFX1BVQkxJQ19TVUZGSVhfTElT
VCkgJChFTkFCTEVfUVVPVEEpICQoRU5BQkxFX1JFTU9URV9JTlNQRUNUT1IpICQoRU5BQkxFX1JF
U09MVVRJT05fTUVESUFfUVVFUlkpICQoRU5BQkxFX1JFU09VUkNFX1VTQUdFKSAkKEVOQUJMRV9S
VUJCRVJfQkFORElORykgJChFTkFCTEVfU0VSVklDRV9DT05UUk9MUykgJChFTkFCTEVfU0VSVklD
RV9XT1JLRVIpICQoRU5BQkxFX1NQRUVDSF9TWU5USEVTSVMpICQoRU5BQkxFX1NUUkVBTVNfQVBJ
KSAkKEVOQUJMRV9TVUJUTEVfQ1JZUFRPKSAkKEVOQUJMRV9TVkdfRk9OVFMpICQoRU5BQkxFX1RF
TEVQSE9ORV9OVU1CRVJfREVURUNUSU9OKSAkKEVOQUJMRV9URVhUX0FVVE9TSVpJTkcpICQoRU5B
QkxFX1RPVUNIX0VWRU5UUykgJChFTkFCTEVfVVNFUl9NRVNTQUdFX0hBTkRMRVJTKSAkKEVOQUJM
RV9VU0VSU0VMRUNUX0FMTCkgJChFTkFCTEVfVkFSSUFUSU9OX0ZPTlRTKSAkKEVOQUJMRV9WSURF
TykgJChFTkFCTEVfVklERU9fUFJFU0VOVEFUSU9OX01PREUpICQoRU5BQkxFX1ZJREVPX1RSQUNL
KSAkKEVOQUJMRV9WSURFT19VU0VTX0VMRU1FTlRfRlVMTFNDUkVFTikgJChFTkFCTEVfV0VCX0FV
RElPKSAkKEVOQUJMRV9XRUJfQVVUSE4pICQoRU5BQkxFX1dFQl9SVEMpICQoRU5BQkxFX1dFQkFT
U0VNQkxZKSAkKEVOQUJMRV9XRUJBU1NFTUJMWV9TVFJFQU1JTkdfQVBJKSAkKEVOQUJMRV9XRUJH
TCkgJChFTkFCTEVfV0VCR0wyKSAkKEVOQUJMRV9XRUJNRVRBTCkgJChFTkFCTEVfV0lSRUxFU1Nf
UExBWUJBQ0tfVEFSR0VUKSAkKEVOQUJMRV9YU0xUKTsKZGlmZiAtLWdpdCBhL1Rvb2xzL1Rlc3RX
ZWJLaXRBUEkvVGVzdHMvV2ViQ29yZS9tYWMvR1BVQnVmZmVyLm1tIGIvVG9vbHMvVGVzdFdlYktp
dEFQSS9UZXN0cy9XZWJDb3JlL21hYy9HUFVCdWZmZXIubW0KaW5kZXggN2ZlM2ViNmI4NzIzMzFk
ZGJlNDNiOTFhYjdjNTI5ODI3NzY3MTM4NC4uNzdhYzU5ZTZjY2YyZDNmMzk4MjM2NzI2ZjI3NTlj
ZmY2MTAwZTMyMCAxMDA2NDQKLS0tIGEvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJDb3Jl
L21hYy9HUFVCdWZmZXIubW0KKysrIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJDb3Jl
L21hYy9HUFVCdWZmZXIubW0KQEAgLTI1LDcgKzI1LDcgQEAKIAogI2ltcG9ydCAiY29uZmlnLmgi
CiAKLSNpZiBFTkFCTEUoV0VCR1BVKQorI2lmIEVOQUJMRShXRUJNRVRBTCkKIAogI2ltcG9ydCAi
R1BVVGVzdC5oIgogI2ltcG9ydCA8SmF2YVNjcmlwdENvcmUvQXJyYXlCdWZmZXIuaD4KZGlmZiAt
LWdpdCBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViQ29yZS9tYWMvR1BVQ29tbWFuZFF1
ZXVlLm1tIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJDb3JlL21hYy9HUFVDb21tYW5k
UXVldWUubW0KaW5kZXggNTA3Yjg3ZTViNGU0MjY0YzIzYTkwZWM2NWExMDY0YmZlN2FjMGY1Zi4u
MmY1YjE2NWI3ZDhkNTM1ODVhNGQzYmU2ZDRhZGE5YzU5MzQ5ZDY4MiAxMDA2NDQKLS0tIGEvVG9v
bHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJDb3JlL21hYy9HUFVDb21tYW5kUXVldWUubW0KKysr
IGIvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJDb3JlL21hYy9HUFVDb21tYW5kUXVldWUu
bW0KQEAgLTI1LDcgKzI1LDcgQEAKIAogI2ltcG9ydCAiY29uZmlnLmgiCiAKLSNpZiBFTkFCTEUo
V0VCR1BVKQorI2lmIEVOQUJMRShXRUJNRVRBTCkKIAogI2ltcG9ydCAiR1BVVGVzdC5oIgogI2lt
cG9ydCAiUGxhdGZvcm1VdGlsaXRpZXMuaCIKZGlmZiAtLWdpdCBhL1Rvb2xzL1Rlc3RXZWJLaXRB
UEkvVGVzdHMvV2ViQ29yZS9tYWMvR1BVRGV2aWNlLm1tIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9U
ZXN0cy9XZWJDb3JlL21hYy9HUFVEZXZpY2UubW0KaW5kZXggNmE2MWYwZDIwYzJmZWE1ODBlYmY3
OTg5OWIzNTA1NWE3MDZhYzk0MS4uYTA0NDk0YmZmZTE2MzA4MmMwNGRkMTJmZTU2YmEwMGZmNjhm
MzFjZiAxMDA2NDQKLS0tIGEvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJDb3JlL21hYy9H
UFVEZXZpY2UubW0KKysrIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJDb3JlL21hYy9H
UFVEZXZpY2UubW0KQEAgLTI1LDcgKzI1LDcgQEAKIAogI2ltcG9ydCAiY29uZmlnLmgiCiAKLSNp
ZiBFTkFCTEUoV0VCR1BVKQorI2lmIEVOQUJMRShXRUJNRVRBTCkKIAogI2ltcG9ydCAiR1BVVGVz
dC5oIgogI2ltcG9ydCA8TWV0YWwvTWV0YWwuaD4KZGlmZiAtLWdpdCBhL1Rvb2xzL1Rlc3RXZWJL
aXRBUEkvVGVzdHMvV2ViQ29yZS9tYWMvR1BVRnVuY3Rpb24ubW0gYi9Ub29scy9UZXN0V2ViS2l0
QVBJL1Rlc3RzL1dlYkNvcmUvbWFjL0dQVUZ1bmN0aW9uLm1tCmluZGV4IDNmOTVhZjJmNmNkOWRm
N2QxMGZkM2E2ZTA4NmQ5YjA4Njk1ZmZmMmEuLmZjMDI3NGE2MGYyOTk4YzE4NTZmYTFjNTQ2M2Nk
MWE0NzgxMzBjOGQgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViQ29y
ZS9tYWMvR1BVRnVuY3Rpb24ubW0KKysrIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJD
b3JlL21hYy9HUFVGdW5jdGlvbi5tbQpAQCAtMjYsNyArMjYsNyBAQAogCiAjaW1wb3J0ICJjb25m
aWcuaCIKIAotI2lmIEVOQUJMRShXRUJHUFUpCisjaWYgRU5BQkxFKFdFQk1FVEFMKQogCiAjaW1w
b3J0ICJHUFVUZXN0LmgiCiAjaW1wb3J0ICJQbGF0Zm9ybVV0aWxpdGllcy5oIgpkaWZmIC0tZ2l0
IGEvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJDb3JlL21hYy9HUFVMaWJyYXJ5Lm1tIGIv
VG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJDb3JlL21hYy9HUFVMaWJyYXJ5Lm1tCmluZGV4
IGJkMTI5Mjk1ZjIwNTJkMTQyYzViOGQxODY1ZDI0YTY4MmJhNTE5OTcuLmM5MDY1MGExN2RjYzlh
ZGY2NjUxMTEyMzQwYWMwYzEwOTA5NDU0MzEgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1Rlc3RXZWJLaXRB
UEkvVGVzdHMvV2ViQ29yZS9tYWMvR1BVTGlicmFyeS5tbQorKysgYi9Ub29scy9UZXN0V2ViS2l0
QVBJL1Rlc3RzL1dlYkNvcmUvbWFjL0dQVUxpYnJhcnkubW0KQEAgLTI1LDcgKzI1LDcgQEAKIAog
I2ltcG9ydCAiY29uZmlnLmgiCiAKLSNpZiBFTkFCTEUoV0VCR1BVKQorI2lmIEVOQUJMRShXRUJN
RVRBTCkKIAogI2ltcG9ydCAiR1BVVGVzdC5oIgogI2ltcG9ydCAiUGxhdGZvcm1VdGlsaXRpZXMu
aCIKZGlmZiAtLWdpdCBhL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvSW5q
ZWN0ZWRCdW5kbGUuY3BwIGIvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9J
bmplY3RlZEJ1bmRsZS5jcHAKaW5kZXggMWQ3NTEzNmNlZTZiODYzNGQ4MGYyODlmYTRlYzUwYzA1
MDhhMGY5Ni4uOWNmMzFhMjQ1NTYxNGE4NjVlZTlmNWE0NWFmZTQyZDVlOWI2NzZkZCAxMDA2NDQK
LS0tIGEvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9JbmplY3RlZEJ1bmRs
ZS5jcHAKKysrIGIvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9JbmplY3Rl
ZEJ1bmRsZS5jcHAKQEAgLTQ5Niw3ICs0OTYsNyBAQCB2b2lkIEluamVjdGVkQnVuZGxlOjpiZWdp
blRlc3RpbmcoV0tEaWN0aW9uYXJ5UmVmIHNldHRpbmdzLCBCZWdpbmdUZXN0aW5nTW9kZSB0ZQog
ICAgIG1fdGVzdFJ1bm5lci0+c2V0WFNTQXVkaXRvckVuYWJsZWQoZmFsc2UpOwogCiAgICAgbV90
ZXN0UnVubmVyLT5zZXRXZWJHTDJFbmFibGVkKHRydWUpOwotICAgIG1fdGVzdFJ1bm5lci0+c2V0
V2ViR1BVRW5hYmxlZCh0cnVlKTsKKyAgICBtX3Rlc3RSdW5uZXItPnNldFdlYk1ldGFsRW5hYmxl
ZCh0cnVlKTsKIAogICAgIG1fdGVzdFJ1bm5lci0+c2V0V3JpdGFibGVTdHJlYW1BUElFbmFibGVk
KHRydWUpOwogICAgIG1fdGVzdFJ1bm5lci0+c2V0UmVhZGFibGVCeXRlU3RyZWFtQVBJRW5hYmxl
ZCh0cnVlKTsKZGlmZiAtLWdpdCBhL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5k
bGUvVGVzdFJ1bm5lci5jcHAgYi9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxl
L1Rlc3RSdW5uZXIuY3BwCmluZGV4IDI1YTAyMTJmNjczMDZhMzcwMTkyYTBkMDg4ODE0NjU0MWI5
N2FhOTQuLmM4NDNiYzcyNjIxOTIyM2Y1NzRiYmYyMjlkMjU5MDdhZTNjYTg1YTUgMTAwNjQ0Ci0t
LSBhL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvVGVzdFJ1bm5lci5jcHAK
KysrIGIvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9UZXN0UnVubmVyLmNw
cApAQCAtNDc2LDkgKzQ3Niw5IEBAIHZvaWQgVGVzdFJ1bm5lcjo6c2V0V2ViR0wyRW5hYmxlZChi
b29sIGVuYWJsZWQpCiAgICAgV0tCdW5kbGVPdmVycmlkZUJvb2xQcmVmZXJlbmNlRm9yVGVzdFJ1
bm5lcihpbmplY3RlZEJ1bmRsZS5idW5kbGUoKSwgaW5qZWN0ZWRCdW5kbGUucGFnZUdyb3VwKCks
IGtleS5nZXQoKSwgZW5hYmxlZCk7CiB9CiAKLXZvaWQgVGVzdFJ1bm5lcjo6c2V0V2ViR1BVRW5h
YmxlZChib29sIGVuYWJsZWQpCit2b2lkIFRlc3RSdW5uZXI6OnNldFdlYk1ldGFsRW5hYmxlZChi
b29sIGVuYWJsZWQpCiB7Ci0gICAgV0tSZXRhaW5QdHI8V0tTdHJpbmdSZWY+IGtleShBZG9wdFdL
LCBXS1N0cmluZ0NyZWF0ZVdpdGhVVEY4Q1N0cmluZygiV2ViS2l0V2ViR1BVRW5hYmxlZCIpKTsK
KyAgICBXS1JldGFpblB0cjxXS1N0cmluZ1JlZj4ga2V5KEFkb3B0V0ssIFdLU3RyaW5nQ3JlYXRl
V2l0aFVURjhDU3RyaW5nKCJXZWJLaXRXZWJNZXRhbEVuYWJsZWQiKSk7CiAgICAgYXV0byYgaW5q
ZWN0ZWRCdW5kbGUgPSBJbmplY3RlZEJ1bmRsZTo6c2luZ2xldG9uKCk7CiAgICAgV0tCdW5kbGVP
dmVycmlkZUJvb2xQcmVmZXJlbmNlRm9yVGVzdFJ1bm5lcihpbmplY3RlZEJ1bmRsZS5idW5kbGUo
KSwgaW5qZWN0ZWRCdW5kbGUucGFnZUdyb3VwKCksIGtleS5nZXQoKSwgZW5hYmxlZCk7CiB9CmRp
ZmYgLS1naXQgYS9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL1Rlc3RSdW5u
ZXIuaCBiL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvVGVzdFJ1bm5lci5o
CmluZGV4IDg5ZmVkN2JiMTYyMjM4OTMxOWVmYTg3MzU1Y2Q4NjM4NTM4ZGE3MWEuLjEyMTViM2Nh
MGJlYTEwNWU0MmVhZTkzMGUyYWIwYjg1N2NjZDBjMTQgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1dlYktp
dFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvVGVzdFJ1bm5lci5oCisrKyBiL1Rvb2xzL1dlYktp
dFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvVGVzdFJ1bm5lci5oCkBAIC0xMDQsNyArMTA0LDcg
QEAgcHVibGljOgogICAgIHZvaWQgc2V0WFNTQXVkaXRvckVuYWJsZWQoYm9vbCk7CiAgICAgdm9p
ZCBzZXRNb2Rlcm5NZWRpYUNvbnRyb2xzRW5hYmxlZChib29sKTsKICAgICB2b2lkIHNldFdlYkdM
MkVuYWJsZWQoYm9vbCk7Ci0gICAgdm9pZCBzZXRXZWJHUFVFbmFibGVkKGJvb2wpOworICAgIHZv
aWQgc2V0V2ViTWV0YWxFbmFibGVkKGJvb2wpOwogICAgIHZvaWQgc2V0V3JpdGFibGVTdHJlYW1B
UElFbmFibGVkKGJvb2wpOwogICAgIHZvaWQgc2V0UmVhZGFibGVCeXRlU3RyZWFtQVBJRW5hYmxl
ZChib29sKTsKIApkaWZmIC0tZ2l0IGEvV2Vic2l0ZXMvd2Via2l0Lm9yZy9DaGFuZ2VMb2cgYi9X
ZWJzaXRlcy93ZWJraXQub3JnL0NoYW5nZUxvZwppbmRleCAyMmY1ZTMyMjdhMTE0YjRmYTI2ZDNi
M2MwODUzN2NhNDZhYTBjMjVjLi45YWZlMmIwZGM0ODM1OTJmYzk4NzQwOTBmN2QzYjc5MTIxMmVm
MDhhIDEwMDY0NAotLS0gYS9XZWJzaXRlcy93ZWJraXQub3JnL0NoYW5nZUxvZworKysgYi9XZWJz
aXRlcy93ZWJraXQub3JnL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM4IEBACisyMDE4LTEwLTA1ICBK
dXN0aW4gRmFuICA8anVzdGluX2ZhbkBhcHBsZS5jb20+CisKKyAgICAgICAgV2ViR1BVOiBSZW5h
bWUgb2xkIFdlYkdQVSBwcm90b3R5cGUgdG8gV2ViTWV0YWwKKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE5MDMyNQorICAgICAgICA8cmRhcjovL3Byb2Js
ZW0vNDQ5OTA0NDM+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAg
ICAgICAgUmVuYW1lIFdlYkdQVSBwcm90b3R5cGUgZmlsZXMgdG8gV2ViTWV0YWwgaW4gcHJlcGFy
YXRpb24gZm9yIGltcGxlbWVudGluZyB0aGUgbmV3IChPY3QgMjAxOCkgV2ViR1BVIGludGVyZmFj
ZS4KKworICAgICAgICAqIGRlbW9zL3dlYmdwdS9zaGFyZWQuanM6IFJlbW92ZWQuCisgICAgICAg
ICogZGVtb3Mvd2VibWV0YWwvMmQuaHRtbDogUmVuYW1lZCBmcm9tIFdlYnNpdGVzL3dlYmtpdC5v
cmcvZGVtb3Mvd2ViZ3B1LzJkLmh0bWwuCisgICAgICAgICogZGVtb3Mvd2VibWV0YWwvMmQuanBn
OiBSZW5hbWVkIGZyb20gV2Vic2l0ZXMvd2Via2l0Lm9yZy9kZW1vcy93ZWJncHUvMmQuanBnLgor
ICAgICAgICAqIGRlbW9zL3dlYm1ldGFsLzJkLmpzOiBSZW5hbWVkIGZyb20gV2Vic2l0ZXMvd2Vi
a2l0Lm9yZy9kZW1vcy93ZWJncHUvMmQuanMuCisgICAgICAgIChpbml0KToKKyAgICAgICAgKiBk
ZW1vcy93ZWJtZXRhbC9jaXJjbGUuc3ZnOiBSZW5hbWVkIGZyb20gV2Vic2l0ZXMvd2Via2l0Lm9y
Zy9kZW1vcy93ZWJncHUvY2lyY2xlLnN2Zy4KKyAgICAgICAgKiBkZW1vcy93ZWJtZXRhbC9jdWJl
cy5odG1sOiBSZW5hbWVkIGZyb20gV2Vic2l0ZXMvd2Via2l0Lm9yZy9kZW1vcy93ZWJncHUvY3Vi
ZXMuaHRtbC4KKyAgICAgICAgKiBkZW1vcy93ZWJtZXRhbC9jdWJlcy5qcGc6IFJlbmFtZWQgZnJv
bSBXZWJzaXRlcy93ZWJraXQub3JnL2RlbW9zL3dlYmdwdS9jdWJlcy5qcGcuCisgICAgICAgICog
ZGVtb3Mvd2VibWV0YWwvY3ViZXMuanM6IFJlbmFtZWQgZnJvbSBXZWJzaXRlcy93ZWJraXQub3Jn
L2RlbW9zL3dlYmdwdS9jdWJlcy5qcy4KKyAgICAgICAgKGluaXQpOgorICAgICAgICAqIGRlbW9z
L3dlYm1ldGFsL2dsLW1hdHJpeC1taW4uanM6IFJlbmFtZWQgZnJvbSBXZWJzaXRlcy93ZWJraXQu
b3JnL2RlbW9zL3dlYmdwdS9nbC1tYXRyaXgtbWluLmpzLgorICAgICAgICAqIGRlbW9zL3dlYm1l
dGFsL2hlbGxvLmh0bWw6IFJlbmFtZWQgZnJvbSBXZWJzaXRlcy93ZWJraXQub3JnL2RlbW9zL3dl
YmdwdS9oZWxsby5odG1sLgorICAgICAgICAqIGRlbW9zL3dlYm1ldGFsL2hlbGxvLmpwZzogUmVu
YW1lZCBmcm9tIFdlYnNpdGVzL3dlYmtpdC5vcmcvZGVtb3Mvd2ViZ3B1L2hlbGxvLmpwZy4KKyAg
ICAgICAgKiBkZW1vcy93ZWJtZXRhbC9oZWxsby5qczogUmVuYW1lZCBmcm9tIFdlYnNpdGVzL3dl
YmtpdC5vcmcvZGVtb3Mvd2ViZ3B1L2hlbGxvLmpzLgorICAgICAgICAoaW5pdCk6CisgICAgICAg
ICogZGVtb3Mvd2VibWV0YWwvaW5kZXguaHRtbDogUmVuYW1lZCBmcm9tIFdlYnNpdGVzL3dlYmtp
dC5vcmcvZGVtb3Mvd2ViZ3B1L2luZGV4Lmh0bWwuCisgICAgICAgICogZGVtb3Mvd2VibWV0YWwv
c2hhcmVkLmNzczogUmVuYW1lZCBmcm9tIFdlYnNpdGVzL3dlYmtpdC5vcmcvZGVtb3Mvd2ViZ3B1
L3NoYXJlZC5jc3MuCisgICAgICAgICogZGVtb3Mvd2VibWV0YWwvc2hhcmVkLmpzOiBBZGRlZC4K
KyAgICAgICAgKGNvbnN0Lmhhc1dlYk1ldGFsKToKKyAgICAgICAgKGNvbnN0LmNoZWNrRm9yV2Vi
TWV0YWwpOgorICAgICAgICAqIGRlbW9zL3dlYm1ldGFsL3NpbXBsZS5odG1sOiBSZW5hbWVkIGZy
b20gV2Vic2l0ZXMvd2Via2l0Lm9yZy9kZW1vcy93ZWJncHUvc2ltcGxlLmh0bWwuCisgICAgICAg
ICogZGVtb3Mvd2VibWV0YWwvc2ltcGxlLmpwZzogUmVuYW1lZCBmcm9tIFdlYnNpdGVzL3dlYmtp
dC5vcmcvZGVtb3Mvd2ViZ3B1L3NpbXBsZS5qcGcuCisgICAgICAgICogZGVtb3Mvd2VibWV0YWwv
c2ltcGxlLmpzOiBSZW5hbWVkIGZyb20gV2Vic2l0ZXMvd2Via2l0Lm9yZy9kZW1vcy93ZWJncHUv
c2ltcGxlLmpzLgorICAgICAgICAoaW5pdCk6CisKIDIwMTgtMDktMDUgIEZ1amlpIEhpcm9ub3Jp
ICA8SGlyb25vcmkuRnVqaWlAc29ueS5jb20+CiAKICAgICAgICAgVXBkYXRlIGNvZGUgc3R5bGUg
Z3VpZGVsaW5lcyBmb3IgdXNpbmcgbmFtZXNwYWNlIGluc2lkZSBhIG5hbWVzcGFjZSBkZWZpbml0
aW9uCmRpZmYgLS1naXQgYS9XZWJzaXRlcy93ZWJraXQub3JnL2RlbW9zL3dlYmdwdS8yZC5odG1s
IGIvV2Vic2l0ZXMvd2Via2l0Lm9yZy9kZW1vcy93ZWJncHUvMmQuaHRtbApkZWxldGVkIGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggOGM2MjUyZTk2ZWI4ZTdkODdlM2MyMmMyZGVlZGZmZDUyYTU0NDBk
ZC4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9XZWJzaXRl
cy93ZWJraXQub3JnL2RlbW9zL3dlYmdwdS8yZC5odG1sCisrKyAvZGV2L251bGwKQEAgLTEsNjEg
KzAsMCBAQAotPCFET0NUWVBFIGh0bWw+Ci08aHRtbD4KLTxoZWFkPgotPG1ldGEgbmFtZT0idmll
d3BvcnQiIGNvbnRlbnQ9IndpZHRoPTYwMCI+Ci08bWV0YSBodHRwLWVxdWl2PSJDb250ZW50LXR5
cGUiIGNvbnRlbnQ9InRleHQvaHRtbDsgY2hhcnNldD11dGYtOCI+Ci08dGl0bGU+V2ViR1BVIDJE
IGRlbW88L3RpdGxlPgotPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSJzaGFyZWQuY3NzIj4K
LTxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iaHR0cHM6Ly93ZWJraXQub3JnL3dwLWNvbnRl
bnQvdGhlbWVzL3dlYmtpdC9zdHlsZS5jc3MiPgotPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVm
PSJodHRwczovL3d3dy5hcHBsZS5jb20vd3NzL2ZvbnRzP2ZhbWlseT1NeXJpYWQrU2V0K1BybyZh
bXA7dj0xIj4KLTxzY3JpcHQgc3JjPSJzaGFyZWQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9
IjJkLmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgaWQ9ImxpYnJhcnkiIHR5cGU9Ingtc2hhZGVyL3gt
bWV0YWwiPgotI2luY2x1ZGUgPG1ldGFsX3N0ZGxpYj4KLQotdXNpbmcgbmFtZXNwYWNlIG1ldGFs
OwotCi1zdHJ1Y3QgVmVydGV4Ci17Ci0gICAgZmxvYXQ0IHBvc2l0aW9uIFtbcG9zaXRpb25dXTsK
LX07Ci0KLXN0cnVjdCBVbmlmb3JtCi17Ci0gICAgZmxvYXQyIHJlc29sdXRpb247Ci0gICAgZmxv
YXQgdGltZTsKLX07Ci0KLXZlcnRleCBWZXJ0ZXggdmVydGV4X21haW4oZGV2aWNlIFZlcnRleCAq
dmVydGljZXMgW1tidWZmZXIoMCldXSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Rh
bnQgVW5pZm9ybSAqdW5pZm9ybXMgW1tidWZmZXIoMSldXSwKLSAgICAgICAgICAgICAgICAgICAg
ICAgICAgdWludCB2aWQgW1t2ZXJ0ZXhfaWRdXSkKLXsKLSAgICByZXR1cm4gdmVydGljZXNbdmlk
XTsKLX0KLQotZnJhZ21lbnQgZmxvYXQ0IGZyYWdtZW50X21haW4oVmVydGV4IHZlcnRleEluIFtb
c3RhZ2VfaW5dXSwgY29uc3RhbnQgVW5pZm9ybSAqdW5pZm9ybXMgW1tidWZmZXIoMCldXSkKLXsK
LSAgICBmbG9hdDIgcG9zaXRpb24gPSB2ZXJ0ZXhJbi5wb3NpdGlvbi54eSAvIHVuaWZvcm1zLT5y
ZXNvbHV0aW9uLnh5OwotCi0gICAgZmxvYXQgY29sb3IgPSAwLjA7Ci0gICAgZmxvYXQgdGltZSA9
IHVuaWZvcm1zLT50aW1lOwotICAgIGNvbG9yICs9IHNpbihwb3NpdGlvbi54ICogY29zKHRpbWUg
LyA3LjApICogOTAuMCkgKyBjb3MocG9zaXRpb24ueSAqIGNvcyh0aW1lIC8gMTcuMCkgKiAxNS4w
KTsKLSAgICBjb2xvciArPSBzaW4ocG9zaXRpb24ueSAqIHNpbih0aW1lIC8gMTMuMCkgKiAzNS4w
KSArIGNvcyhwb3NpdGlvbi54ICogc2luKHRpbWUgLyAyNy4wKSAqIDM1LjApOwotICAgIGNvbG9y
ICs9IHNpbihwb3NpdGlvbi54ICogc2luKHRpbWUgLyA1LjApICogMTUuMCkgKyBzaW4ocG9zaXRp
b24ueSAqIHNpbih0aW1lIC8gMzEuMCkgKiA5MC4wKTsKLSAgICBjb2xvciAqPSBzaW4odGltZSAv
IDEwLjApICogMC41OwotCi0gICAgcmV0dXJuIGZsb2F0NChjb2xvciwgY29sb3IgKiAwLjUgKyBz
aW4odGltZSAvIDEwKSwgc2luKGNvbG9yICsgdGltZSAvIDMuMCkgKiAwLjc1LCAxLjApOwotfQot
PC9zY3JpcHQ+Ci08L2hlYWQ+Ci08Ym9keT4KLTxjYW52YXM+PC9jYW52YXM+Ci08ZGl2IGlkPSJl
cnJvciI+Ci0gICAgPGgyPldlYkdQVSBub3QgYXZhaWxhYmxlPC9oMj4KLSAgICA8cD4KLSAgICAg
ICAgTWFrZSBzdXJlIHlvdSBhcmUgb24gYSBzeXN0ZW0gd2l0aCBXZWJHUFUgZW5hYmxlZC4gSW4K
LSAgICAgICAgU2FmYXJpLCBmaXJzdCBtYWtlIHN1cmUgdGhlIERldmVsb3BlciBNZW51IGlzIHZp
c2libGUgKFByZWZlcmVuY2VzIOKGkgotICAgICAgICBBZHZhbmNlZCksIHRoZW4gRGV2ZWxvcCDi
hpIgRXhwZXJpbWVudGFsIEZlYXR1cmVzIOKGkiBFbmFibGUgV2ViR1BVLgotICAgIDwvcD4KLTwv
ZGl2PgotPC9ib2R5PgotPC9odG1sPgpkaWZmIC0tZ2l0IGEvV2Vic2l0ZXMvd2Via2l0Lm9yZy9k
ZW1vcy93ZWJncHUvMmQuanBnIGIvV2Vic2l0ZXMvd2Via2l0Lm9yZy9kZW1vcy93ZWJncHUvMmQu
anBnCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA4YWU2YjQyZGI5MmE2YmFhMTNmNTFk
MDA0NmQ4ODJmN2JhNDk0ZjkxLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwCkdJVCBiaW5hcnkgcGF0Y2gKbGl0ZXJhbCAwCkhjbVY/ZDAwMDAxCgpsaXRlcmFsIDMwNDA3
CnpjbWVGWWNUXlA1X0FmZipFRTFLUih+eHRKQVgkYnlGYnM/WVZUZCMyOTI2QjFhM28wMUlXcjYr
VlVURCprfDNEQAp6UTRIaiRmYEVkOHpTZVdUb19wX0ZjZGclZz47M21tNGMtMGU+Z3d2K1JlTStN
e3BzZXt0NnZ7TD1PSVFXTWojUnIKejVhPGY8MU5+WThuSGZnPGMhRUlZPHsmVCMxZm05IWt9IWtG
MDdMQChLIzR2ZUA7P3teNShTUFI1TlIzZEtSRzBhCnpXbn0tc3pjMm47cTdtPjg0R3ErZ21HdXZp
YWRpKUheTj5MWF97bTFQMkZsOUkkak8yPGJzX15AayFYKWxlbTQmPAp6QUFjPnUmKXJXMWBGLTVB
MW1WaSZhXmB7aDleTzd6cUp1cWJxQWhIWihQKlQpeVAlRlh6aDxPSHErZygpTjJuYCoKenFAUztV
aChASEE7R2ZEaDBRQF4hUio/VHNreDthanB1TT5qemtXY2wyZnduNmw4bEBuYUNma35ydn11KD0t
PkFPCnpYSWdeKVplJkQ2Z2lNNUBPaEItZ3RofkNxeH4hYW50YiYzeFAobkgrJTBKWEtRcmJVNj0k
eyU0SlZLRGNLN3BZPQp6MHNqMklZamt4QjJuKkVgNnFFJj9BcDdxfXtEeXpxcz9HbzNeeHEhJVp4
OCZwMm1hZHd8THVZUV9RMyFEZGYtM2EKemopeTxzO3pSKHg0Q3ZRS2tlWmN1S3hqYVNjUihQJnFL
cTYhUDB6JWZ7SWA8QHEoNH5YND9JODFsZX59eVk5WmdjCnpNVSVJQ3RRWSVoYFFqQFJlU0hAenNI
S3NLbmMqS0Y/JjdkKFY0eUdRY0BXNllLUXRJPnRqQk5mZlooVEUwJGV2ewp6ej9HOCUkK3t2IzAo
R3NkJXpvR1QmKyQrRmV8S04hZW1pO34oMlZyJnk4ZFNXJmo2RDw7MSZWQ3E3X2l3JXs+SV4KejJq
RGhmZHg7RFQ0aDRiOFpVT20xNXV0JjxhVFMxQmdNa0pEeFpea1dgV0pycjhAdjRyZkF+fHo3T0RA
RklSdn4+CnpkUk56QUZBI194JE9pRjtCZldybj09bmgpTkBqbXxBQWI7dFNxWj99Tk4tbm41YT1S
czRKNzV+N3d7WEcwYSlEYQp6ZjJxZ29mNUVQPFpoen1eYkBscC18ME40PkMtN2hjcE84UmIqUWhA
eXw2bEk+ZThZaExgalo1S0otdjdFNikxMk4KejJLdVpIOWJvendgQDMwS3sqJihtTmMwYyg0IVoq
VDJPfnJEZnhpNkx6MyMzQ3J2S25ERykocyY+PjNROWYweXdJCnpITD84JTJNMGpeKjY7NllAbW9M
c3c4N2lNPFMrSUpGfF8kNy1feXMpPFIyWEVaNDNWZ2h4XiFCe0RWVyNIaDxkPwp6P1hDWWVLUjY4
Zng2UGl4TXReMVczanl4QF9qOGYxfDlNdVp3PUVFd3tIcn00QUArYVU8TCtUI18mNDdsX1AxPzsK
enA/WkpvNER8aEA+d2plTkBIUElNOX07ZiFfdWtOOCtyUmxKU0lCU097Wmw/TClhcX5sZlhxT0tB
T2pGVE5GVT9fCnpAJnxjPHs2TWIybkVgTVgwdHk4QTAldVg3OStBSXc0eH1GdDchflp9PHNIaGUz
c3tmYHpsbEZtTXY3bFNQRkB1Ugp6YGZaUUQlWVotISZfOHhZIWFuaHp5ZGRDeTRScylARCpqS050
MFZ+MkI/WHY3PEEzc21SWGB4UkxKKzhYMXNONmAKens7JkdUZTsrNzd2Pi0raER+SlFjM2xhaX1n
UVAoVUFRakxoJn1FP1k1UmZJdjdVVGVPMXxkUC1LPkxHMTV1b2QhCnorbkB4e2ViNTY/SG1DcXAz
YVNMdmZwRE19Jj84VX09b3g0Ykd6eXZvNWtZVDJBMyRyTTluYz09RTllSWEyPy1TbQp6MHxeVFcy
TUhnRTIjRisjMCpNLWxIaTtwTDgzfmxjZiNlI0E3bH1WZjd8Q14jSjAkbD5HRHIkWSUxUD07bm5e
bEkKem97X3ZEbkljJnJTdDhqWWA5a3VZbCNHO35sJERmK1JGcVZmUkU8PVopUmZlZylRUXhLRz45
fnNHQGRrLUc+XjFgCnp3MmAhKF5jbT9XRFV0TDg9Pz5gOzhIa0xJakdhdD9PcXh1TU9yT2s+M188
MmU3RUJnUGg5UyEjc35+RzQ+bW5OPgp6bjw0dV53bzcoR1BEIyF9JlFDNSlldT99RklnQWBoOXot
NVhvPWpkcVVQczxlLWNMUzV6Q154OXsqIWAlZn0yODsKekxXOUREIWspczVCNyExO0I4UUBlZjxR
NHFMOE1ydF8pMUFoJHhiT29zWS1jOyh0IzMxOEFGKiZTeGt3aWRgZFkqCnp4azduRk1NY0Z5Qn10
YDRXbDd+cTYtdCNybH4yYDNeQE03Z1lLYGljbnZSLX1UN2xZIzhiUiQoOVk+dSotOVlgQQp6ZFlY
RUpgVWxOPDhXOT18OGNQfj9ua2JxeW5rdCR1bmhCYVVuamZAR3Z8X1ljdzY/UzsrU3t+d3Zgd0BG
dzJRT3sKemJhWnJyYm4wfjBiVXQqcT08P191KGhidXMoVmZzVSh9VV50PV5nM0E9dV8heT43VVhz
Jj50YGBGby1mLVc8VzU2CnpHTmR4cEdkeVFfJDhkYSg8KCRrcGxYTEZwWmt7VlYqTTRzTCskVG1G
TWlFOWBNclghbyN2STAwI3RGdlZeRUJzMAp6JitESWVKcyozJUBPPGFfYFNWOWlFS0tyRG1QfiQz
JHhJRFFGUEp1JnNoQ0JYNFZtNFU8QyFhJnBFSXdwa2cqN3sKej0oOFlNP3l5dmA0NnYtUlFuSEcl
bnl7aStAM1oxcSQ2NUUtbkF3IXI/QVJqTjNmWCR1S0NxTHFpP1ctcmA/OUM4Cnp4M0pII2Y0eyhV
TEhCfmtnP2tzOEU9KnRlYzlIQWk8JT1Fe0YmRlV7aTVJX2ZATipiKXBnR2J4OSZ4PG9CPEJRawp6
VDYwRWxtVChTbT9zQm5tVUUpRz1WWXBoalVVUVJqZ1NueUhHMkU1aEZTKEMrY3pLTEAwKHRVenA3
WlNUdmghWiUKek1lJTB3S0lZeHhXOHVeMF5Xbj9sZCYwTlAmJklGSUA1YFVaLV9PNCV6JTZoXkFX
V2NLVXxpc2JwcUw7YEZpc0ZKCnpfKlJIa05LTUY3Q2AraE1YaXUwPSpqKUkhRmpufXIyI3R1RWhf
Xl90JGRKZjRRODdgdFhya3lOKE1fPzdWa1RuSQp6VnB5PzdhUnpaNkBnVlVFQG1VRTwye2oze002
dHZxbT12ckdfNjhTJUNuUU5GUlV+flJpelRPfEQ1VFYte0d9P1MKej1CNFNTYiowMGx2Qz5PMj5A
c0ZEYVdhbyZLRkpFcEI0cEVMaGglQHNEYS1sRlJtcmBQWE9AU14kSHtsZWVeQ0d7CnpBUWNKflcp
JkZ9alRDUHhifH4mRU5oKjBMbF88U1pXPkdkKlBFX3R3SzJ1UnUzMDclUiote2wmeXsxfkVJPExt
Ngp6V35HKl9IbXB2ZXVCVSFleSt7Mi1McSNLMHFlYktNQ0Z4NyhPQVZKY0hOYFlOR147ZE12Oz8o
V3dhVD9WWCFDMWQKeig9T0JncGQrQjtzI0JxfWR8QndTYHtrTzs4QGR2QERCVldnUGtNNUMhRm1M
fVp+N1lnSH1zenhrUW8+b1U8fTMkCnpuR0lvdjElfmc4MWRZNm11dHN+diVFbUZxUHA/cDFGfTsk
MFchezl4MVpoJWx2SWtMeCs8XjMoKHdvfHQ3TUwhWgp6Zno1KT15MzkkPEE/QklwaXh3Z2x7dVls
Y0w2IzwjblUtJkAjSEBtPnh+KGEjdCppXkoqUC0mej4oQyheNzhANnYKejJBaSs4ZGJWa3taKCFv
RUZqJGAqcW4pRSZ6MT1zczBYemYjIUN1ej5oVyk0bXItUDN9Mlo5UD1ocDBndVR7WE8jCnplUmEp
SSopaFIhJlBtS0UoJj5kV3I/YW5mdU00QSN0NHIlT2lmaXl8NGNBVXhFbk8+SWtLOWIkaXJuXilg
cDhgNQp6ans5WnpFY1khQkVzcVMzNE5vbzQ0OWB0M0V3NDxrRXBIdn45UGVFcGVWK29LZWJnMEhE
ZTQ+QTU/emJfPHFQLTQKemAlKEt7Xlh2M3lfREIybzJrLV8mMjIyRz8xfHxmNDIrfDEzNCUhUGc0
WHoweDMyX1NQMnhTRXZwTzwwY1ZSeXJwCnohbk1OLSE7ZDVFQjNkSnZCSzsjQE11RFU1TVF1YklN
T1ZqPSN+QD8rdF94aGhlU1BWTT92MyhUbDMySWN6TURjZgp6PDhROXJHUUwlSm9BeCZQX0U/LTtU
dD9qQzlyJkhEYyVKeE1AaGYrWT9fdnxxQj9LcVRDdGdZe08oSVk3TmdCVlcKemNyWDluUG1EV2U8
aTZiZm9jcEtBJG1FZH1gSU5rclUjWHN7PDdwfnNCQFpZY18mPUNTKkdhRi1WOUpRalNqalpjCnpZ
fHJBKSFla3cweUpXd31RT1lVSnJPZ2U/e2c3dnQqTzQhcnt+LVVnemBLQjBzOEAoRDt4NCpaXnNV
JnZjKUh8cgp6Tm1ENkw+SFg2MFdqPHhFJThrcTBEP31ARERrJj8mRTd6OytzKW5sN3NfU2J3WXdw
KmEpJXc/ZHNEc3deKlE/Z28KekgqaHprVk0oIUoqc1ZzIyN6fnczdUFAbzFzVHxMYXp5QT5RRnpu
JVdeUj8hPTdTb28jUjwraXFIaiVhPjB0KjR0CnpQU1BJTHpXMiFjKFQ1SSlqO1QmYVhKNk4pRTwo
M1ZjV3NZQVBobEB4WmB4enAkTUtKVUomQXNEXmZkNzQ/bFo0dgp6RH02M35aPVR5ZnBZNkJxQTBJ
RnM3Iz1obGRfSlQqXmtpNlR4YVduJmlfUV9Ya3c+RXtxd08hMVVsUFdZI3xZeXAKejxMd2l3NkNJ
UTRsVS1BcVE7KDswcmt+OWklblooJiUjSVEqaCpOWDB4bVdYIV5CLVFoenVIe3pVRCRzZXtgJHc4
CnpUWjxIbm43OE5PPURnIzZTTWdyckpecThyaHUkVEZySSpWIyVXcWJZRD82KHB0RVglNj5rUjhU
OCs7cX1uK2xzZgp6VFNpLXgrZ0c+T2JePj5QPj9WOTxgZElXeXs4UVdLJWIjRUYrMyY2RzJrLXkt
bDY9NSVQPHlDISptcT1nXnpOKFEKeipCez83I35qQ1hDdSUxey17SWRrZW5neTdvI3ZmTW9PUyYp
e2tpemRAN0okRCpJP0hfelFBdn5tZWRtPGFsaDFwCnpLbnhCYjVYJlM4TTBAVUV7Xz52XmZJQ2VC
bG1XMEVpNDRnT1gpJjJJeGRhNmojWGpYMClqYWlrbmtDd0FeYmAhRAp6PVMmJHgmekNYSHYoVHw+
dnFpSnhGS2xwdEliRkdPeGhIcmpfPn1vUTFYMlpDZ3I8YyppSVIkKTZLOW01MTdeTXgKeiQmWFM/
KGxhdjhXZUlYc0AoJmJsRDU4fD9sck83KlJhc098KXo7S3NZUDRNeyghOFVFKHVWNDJVelhENChf
X35eCnpaJE0qNlpnXigmJjNOejFycFg3JEU3TmhhMHJNVjxSIWZ7IWdMT1QkITNKbEdoYygtXiFk
dmF6OU5HfUFTNmR2TAp6byQkX2htekhaQ3VGdT9GQXtYNChKcXxzOGRESG9AcVhmfkN6Ukc/Jnt3
NHZpSyMhbl47Rk9TPiY/ak45IXVLTy0KenFXR2cjVj1TJkNaJCFwb1pzeSk5eUltZXZkTTdWRj9R
VExzT2t6LXk9UkV8Kjs9WFJPYSpCOD1jTis1cHheJFdoCnp5M0YlZzdxYk8mQnkqTVd3REp1TCVu
TTtmU0JzRyk9K2UtI1RqZFdiJH0wJn5CaH5MfjQocTd2eGZeNyRkV3xyZwp6UzVxV0Q+MHdURE1H
TG1Jd1hLV3JxPCFHZ2k7bDYqc1Ytdm90RFpOIz87byF8Kj9EQEBOQXtlcFV3bEF3Jn1zLWQKejlQ
dDcoUVokTnhgRHw9entLTGVAJClsPDcpMkF+KFd7LShTYk5sbGowY340KHtxRGBII3AkPFc/fXB6
R2Q+QzlCCnpTKU57YnlTbFlAdl9Zfi16amJrMlhoJnZPe2lGVVRsaDNBbTJLeCRNRWAwZk5GbSN4
SWcjTjFlP2NCSGIkTX08NQp6LT5yV0x7TWJLemM5I0QwK0FxMFp6eTchSm0hYVVOSH5ffGZufGhn
TXBOXkpaZ3UoRWZIKUdvUUtCZlp9WDt2NHUKemVEPkxrMz5AYTFjZSRRJmY4fnxyYkt5QEdYY0w/
aEl1djBQPHJXaGE3bSZDSnJVTV5LRT0hRnxjZ2EtQkNkLUEoCnpVc0V0cWx2QkUoYmYmempHTk91
QyVUa1psYUs1Q2NEWEstU3dXQj95KHtaXntIKGY3SUtmPUoqKDlPdXMqen02Rgp6aTlBSGVsK0JG
Rj9BVXpVViRwS1NZU185RGBxLXgxd2dYMTZka0R3YypFcDBUM2EofjNyWl49ISRHUDBSY0dFU14K
ejRUSD5kRlk+N01lQ1hCVHtuVGR8SEd3QWpGOFp6ZD8qPCRQUTNoV0trcVhyZHZrJik9eEQlTmgp
Zm9MR1g4UVctCnpqaVp+U3dgZ3lsaT0pM29kRk47UjtvWXItd34xM3AxTlM7Ryohdn5QNF5yWSVC
aHZnSGMlXiR+cGZaRUFxTzxTaAp6K3xTTC1FNmxHYnM0c2syTEA0ZWw9Xz8mQW49NDxmSUk1em96
RX1nVSl2VTlxY1dEVTMtZkRiK0R7STJ6ZG1vTjgKejZJPFQ1Wm5vX2FqQHk1QVA8QXFPdjM3SXpA
YmAqN21VXlEyUk89YX0mKjhhbXxJTEJTIVA9cCY7anRHVk0hdml4CnpBN2RYRW9sdV9Dbj0rZldu
U3N3RGg+bW00XkRlS2hFbkl1O2BvP3c5Xnt3a1cqWjBUfC1iO2JZKkg8dkIxIzgmIwp6P3YwbjVa
P2BeZnBZR0NzPG9xUTFTIVBkbVVrdVFJVWs2S3YmeUxFeiMocn09KTtQSSVeN1pAN2tCNnJ6WFEt
Yj4KenpsOHBlQCZDV3V8MlBYUnQwcjNyVkU+OzFgJHV2V2E/a1FJQE0tZCsxIyQlKzNvUSUoNmxE
Pzw1Qz08MGZXOyZRCnpxJlRJfCVoMVN6V0RuI3Y8WDxUYUU0Q311Q30qcU9RNExhYVFhOUM1eShG
WjBQVi1vNk1TRGBgPkUlfTRJPXdSZQp6TFc2OT5SSEg9V1RVUjFZMHdHP2UmU3RqZUNLbFMzRHBz
PUE1PlFiYVZPdjMlZkVeIzQrbiZSTDlsP0IrLWpUfFEKeiNPY2lXI08yJHlXN2kpQFFnPjwoTW8p
R3haZl5rfVE0fDwwPiNOfFc/NWBmNjZLRVZ7OXFiWWs3PHd4I0otakBrCnpJcjNATE1EKkwzbyRK
VDNxJkkxQShjaCt0QkxQOz8pJWUtRmVGXngpO3Z+JHlGcFRTY15KS0xZcDtYNHl2JFQmNwp6bWVV
dEFVUy1aX3l+PHc1ZDZvTXJaJDV2blY3NzNrWHNVUmtXVU8/Jllecj4mO3dgWSE/Tnh1VEM5aCtz
WEtVY2EKemlaO3NObCR0Y35JdUdAbTRPJEZhNGNoYndtKW9ALVg+X1B8RHQ1X3NPWkpITjNPP3Ey
IXU2RXY4RT5FUGJMb0U3CnowbGgpPEFeNVB7MypWOU8oVkgpbSM/cl8wQ1Eyc0RyeiluKVd7UEhX
aVJwOXE9aV5gOVNjckhYQFd5LWIrRk9Ucgp6SHQoJUlTVERocy1CeUJEPEpQaio+byZTSyRGQEZm
Zjd2RGYkb2ZoNnYlO1IlelFHcngxRVdMekJifjM4ek5zOWAKenBHYlple2xTMEFhbU1uSztUUHJh
QCY2WlpAX1M5NzFZKmk2VjRaKl5mPFJ7SkFXK0ZBOzJqPz1LdU1lZmZ2Z3huCnpBWHt9MXNhX2gw
UjhiS2BEcCZiO3tVOEJlYE8kI1JnRCEjdUskMEw7QVU/SlJ4cXQjZEgtVlY0MHo/NDQwS0Vrcgp6
a2tGQ3trWjYkRGtfMz1vTk5QejJOIUNheU55U09jZkxKZE5pMF5qRUlMTk0kTVUmeWxIcHp2N05V
ZSV8bFJeZkYKeiNyaH4yRFgmcXNRYytWfnF3MSE8TkY3UTJubnM3RjdLb0UjWCtQNHImYHJAQiZf
N31UR25BWlRKRDAqcCYzTn1iCnojclpAZ2RadFdmOV9EJSRSaEEpRUlPXyZtNmd3U3oqIypATGxO
V3RDWGdSUSk3TXpEJU1jbF5SMlJ2b0c9RGdxZQp6WVdaT1Q2YXd2bkM/TnIlKlRVSCVQKkUwOXFG
OTBXSDM+MF5rS2s2eENAQ0ZqTzZkdWlMUm9KKUhGLU11X1hfUWIKejUwcmVCJX5UWHJkRFUzZCZ1
Tl4kYlV7LTxPSUJNKSRMMkNoSChzdz98Q3p5eDV0VDljaW04Ylk8Z1JJJVMtMUhzCnppKkhzTyk+
PT54bj41PlEqYmJufW1KVkA8d3lTR1M/OU42bTUhYk07QUNNZ0dIWGlBb1F7RjUtX05YJVN1SFBt
OQp6KVBSajMhe0ZMYmhPbWg2KWt4Y0BwJXxefT9YZTBzQUtzUmFZbCZDOStuZ3chUkQ8RVlwTz9h
dG4qTSsoSnU4emwKenQwRzRfdz4jZ3dWNVI3MGlCUmNlYFExdzBZTzxPYWJyfXNWamREJDdffTkm
Q3Q/N2lJTjdrS2stRT0rNmp8b29gCnpgdDE5cTIxJHFCeWw1Wkk5dClwOU96RitZNXlqXmY3R1E3
ay12ME95ekk/aXR4T3JpX0B1U2hfKWh+JWh2Zm1jSgp6cj1BKTduTHF2K3t8a1N7VWotT3tEfVo2
fTFLanxuZzMzVXgwRWg0ZnY8RU4teWQ8aDVSd1FWVzFkPlhDM0hVJXQKekxNbFhSTTJhVE9Bbmho
eUN1MVNnQk1UI0lBWF9DREFhXkNOQ2Z9dHtxUFImaE0jKTFOSy1ve2xPJStaeDFIe3I8CnopRig5
OFhodnZOWD1+Xj49dStzKD0lZVpQOEdJTykmUnNuPiZ1R1V1ZkJ4JEVXaE9NIUh8RCE2PkA0LUgr
Tj84ZAp6SzVXMChiMSVxVzd6ME5DOTdoWU1Kcl5sZzZTcEd8MUo0dVFVX0tHUFNOcz9PRXJCbkJi
d2FNZkppPjI4M1BxajgKemd2RUJtMkA8ISFXfDl7cVNFUVB4cWh5Ul5TIUxKY0lePElvSlFPYzBh
Vnp+JGV5ajJ2U2tLRFUzcDVIWlJjSlA4CnpeI2IkUmBzSDdHVD4yVVlqKXUzNT5XIXphb0lyUkBi
PEFBTVomKHl0S0RKdGgoJTJ+Mkk+Uz16OT5XaERCb0o7Xwp6M21zPmlYPGMtJE1ZPVktP1lONzNj
ek09KWVlX1g2I2lCPzJJUS1FOFBsR3N1ISRhbzdHe2RWUjhLWjdRZjRjNV4KejxKQz47VFZydSVj
Z0Y1b0J9XndsP0Bpc2VORkdWT2t+V2xYa307a0klWUspTyZpaGBGVHFJRTNVRnVOd3ZqU1Y/CnpU
eXZwendtdXQrenpIPCVLSjBBNHZebHBjYnVlXnBiVSozTWRnQWQrPXtjeD5ZX01xOVp7K2dKM3VB
aXxGUT4zRwp6c2xAUGt1TFo5KyhRait0Pz0wKUNSJjNDMmgzJXw7TGhNWitTUlBGdCtrSm4zMjYm
dm53REhnUXxLSUtaLTU+aUcKentBMihBZjkhdCV1encwdEZAVygyQitWcyNMYj9yYkkpLUVzV0xV
Q2dhdnBMN3p8a3lIMm1veCVMeUEqTTJ4VEdWCnpYRFVPZ1Z0YFNCUTQ/cWAmfElma3AqNSVOcTck
ZGZxbylRbVYzKXkjVmZMS2F4ant4ZiMlSmdDJkpRd35GJWcrdgp6bkxvM3t2WXVsdFZeZCVvV09y
bWd5cFZRTD5mJWNkZUArKDhaWX5kUVg2fm12ZnhQXkBsWUY9Tjc1TFckM0klUDEKeiZJeWVRLXhv
MCNXZkVOd3N9VDItUHpPX2hyekRHfGU1NiVuc0FMdm9vODwxd0oxYn0/YXd2WFJkWiM/M0xRdXUz
CnopdX1nV2JZRlVAeHVvQDdoeUFqJHVEeEVZZXl6Y2I1dCpeIzZ7TmBuTlNFb2RJZ04kOUNCaUR2
YFZuLT9tS08lTQp6JVlhV2hvSlpKUCYyZkM/JTt8RlZUOU5CSnE+d3d4cXNAIU4rc2RaYF8wOEFQ
NDt3JW09b2RyYChGPCh9N21GeTEKejsqS3U3JlY4ZmVDaW9VMVBYRXNBVUdJZGBxejQjKmB3dnNK
UWVRbDxPSkMyNyUlO3omJUcxdCZReTVkc1RoZDxeCnpQe0NJQFNEanNwczI2RUNZOC1BVmVIaGdP
WiZQak8+TEJnaD9WaiZfX040WSUhZ0g0YWA1fV93JCZzPmAhUTtsMAp6ZHtaWWdiSHcpZmZgIXt9
e05LOTBjVWtnVWlDVzl0WHgpMFgzO0hDdmh4bjN3KiFUNnZpUnpFPXYoRGUrQUw2Tn4KekBPJCtE
azxqWV9eeTlsPHpZYyY4TCNRJTlwdEpOfXprWEV3YGdLK2IxUklNVyZ7Ti1rYXErKGtRPVNLYkdE
TytXCnpYSCQ7aXBaP0RILV9vekFBU1A7KEx5fCk+NTx3NnQ2QTJqOyQqK0Q4QU1nd2NmUDRoZktj
emBYJDtjQHZzaTxqYQp6PjN7LSteVDQrJVdNcmh8V0UyIz9VIWFpTzBJcXxgbkpBYkE8YUhAb3RY
LSlEZ0lFPUFyPFlSOz1gfXhOZ0hHKVUKekU0bF44KGFeR0F4WDhnTkF9U14+MGFqOTBRQl9tZCZe
SXROR1FNSTB2OVgyTyEyI004PkYoal88P1Z3QzJATU82CnpoPlZLOTZNcmAkRzNnI0FCUXE7SUNw
UnlAcHJXIz54fjhfU3pNLVlIam5NdzZxcUQyO2RIPXhSKEN+fHE+NnV5TAp6LTJBSkIqR3RQUXQ4
NDJVbl9KdWFVayhuQnpKNURDYFRrb2o1QDBSO0M7ZHlafDNmWSZLclR7cGF4IXdOLSpTPFYKek1n
U1diNkZHJXxKU0RUUEhJLWAraT1lYDdZRjU0VV41JG5XTFc8Qm1Ibi1wQFQ2U1RqQzZXRSNxV3pL
VmU8b1BtCnp8MH5KPDNpY25sLVQoXiQ+N1BWSzNYQnBOODhBfWhLbXVhUy13OWFLfDBMPnZDKXom
PXBnUVUzMDJjRyM9QChFNQp6Mn5ZPWNHYlFsSEt0bzBJJiF6d1FAei0weExFLT1QOGJsOTd5cmZL
SU9kdVc1PjVJMWUpblYqR2htQm1pKF9KejAKeihAKXM/Ty1ncmkmJCtJWVBkV0B0S1ZyUWA7P1JD
QTJvYmhDOHt6ZHktOXY7RXtMR05tJlp+bWUrN1JANlY9SW9oCnpofnZiQ2Rfej9uc3FiNHN0N2c9
RzQxYkBPa0tqWT4lMkZaTFdmQm9iZHRZPW9tbyt1UilHeV9JcEhyJUxWakZJQgp6TkwycHAzUmRm
Nz5+QWZTeTZTbVZNOX5BYFlLRV9feV9ZTW8mbkROciZMbzdSTSFza21tTld0Pk5EZEZkR2JnX1YK
el9lbEF0VCgkM2xvQkV0emUpI2QkYXUtXjY3KyhaNV8rajh6VVI5JkJxOHBPY2NmLXBYUDM1Tl8m
Nm5aTndhJVdzCno3cGtnK1kkQylmbnpiZT9GeWYkcFp6UFNYXm1mWCNIXy1tQXspd1YoSE08aSFA
PlI4X0hhUSg+SUhXbUdYYW88TQp6LUYyPjQxRjhjYStuZWZeVGc1YWV4ZTxpOWlGUnluSVFWRVYm
eUNofXEtXlZYdTI3PWYqKH1XWmEoR3FRKSRZMmEKellHQ0J5bTI0QzBlRU08RTRSWHtEOzgxejlX
Wkk1ZmFILVhhI3k7MGQqOXJ8STRET2N2bUNGTWpGUWR+S3hqMkZpCnpCdnJoM2ZeezctWTJPdjRR
T1EzeThkNDc3THV+azA/bF5mMmJJK0BYUXpgR2JkZF9zfE5LRVdhd1dgTyZAN1R8WAp6QXZSXnUl
JjBUM2dsMmB3cE9NUXdRZXBCUWg+MntwbyUyeUNLbUtqN3JkZWEhMkNzMFIoUWVmX3dSJTt+bG1y
Uk0KeiZ6cj5Td1FJeiE7RX59ZFI0NipySXN6KlhYVj5ud0ArIX05b294XnVlVGVnWVF3dGVRb05t
VnJLfkI5ZUs/LVo+CnpYQjV2bXR7ZlA9Wj9RMHAoRDEjWCl9JTMxKll3JCg0RCZOXjlNdVdTXiFo
NEd4PldoOCpyTndJIWZwR2B7Ozswawp6ZEpSK1BqbjU1XiY/KDxxJGAjYzRIRi1NTz1BUys1QENk
U3U2V01hb3NfSz44X2NkVFYhWUF5ZlBrIThlUTtta0oKemRkV2dJayR4aSNrcCFlPz5fKm5TT3xg
bz1NIVlmMlVjM1NXYG5gZHhNX3EmTENiO0plN2tnMTNuI01LNVU+MkZhCnp7WFBES21yZjdZK3he
JEwwaUJadGJadVlmIW1fNCZtX24wJWg8eXZldWBAVCpmJSUwQ0ZkbShOdlZ9REkrQy07Iwp6Kjco
PFBMYXNmNCYpUGdRJXwkTTRCUCspYEReZHtXPCVTeSNHVnNzRWx2an5eOEhrZHZAWUZQZyo9Xmpf
PmReTC0Kej41ZnJ7LT5ONElJUlA1fkRsJnFEdE1YQis+cC1ZQGE3OERWZE5rWkpLeSs7JkdKQ317
X1RhJVhRc2E3Y2ZwfHNkCnpMPE95USNqVV5GWHM3RiNPTGlhNSlwMnlMdChMMkdXSzVveGI9UHhJ
Nil+OUtNSTV+c0p0czlpVWt7O0w8OUlDWgp6bHp4UzFVNjN6S3UmIT59ZHsjPD44STtUPXYjbVNJ
VSFOVjdSeThqPVl7dlgzV098NipDJTZ0dEpFdE54aVd0a0UKekE+STUzaTl3dnIkZWJvJjsrUXoh
KSVaYjQmaGt5SzIwXzs9cDFnIXlmJGJpNXpmUCRYaGZITnRWUGRgI3A7d0tVCno1fUFeY1o/cmF+
Sm5yLWVMRn4tTWgwSDZnNzk4em02PXF5SHR4Uz97WmRMZmlnPiFvdUokSlhpWGlqcyYxc155Xgp6
aXtQOCFoTnE9PVdtUEt8T1ZTYn4/THQjQlVBbypPQl4+ejFQRUdRUmMyaVEjeHk7cT1zQH1MbjhR
cDA8ITZBQzQKekpFezFJTmZTemFaTnk2IWw5QGFTIUZNaE5wVGIrfm4kVWV7JiRuSDA5bEFyQHtS
c1R2YVY/ZE0xSypRQ1BnaD49Cno7djR0ckZgd0d6eDE3VmcjMDB4alJRJDZ+N202blh2QkRGKHVA
cio/Yj0lUzBqNmElZjB2YkMrJlIodDg5UTV3Mgp6SWZtJn1OVVU0e1JCITRPT0RIOVdUWTNkZV94
eVlwVFFxT3o2T3YzbnpzYHxFWUZqbTl7OVg2Q2BnWnYyVlRAXk4Kel9BRnZDbHg7JkwqR2FPNSg2
dSNvZU8mT344UUpzdjwoQXBxWFhOaENJbHRhWEFyMmhId2RhQHZONXRacExWX1MwCnphKlMhIytF
Nkk0QX0obUkhQ2NNeXd6Kl9Gd0NZLUMpZGR5YENgQ3ZfMVA+fCgrdGYzITchbVQ+c1pHMzt0ZUBr
eAp6d1R9WWY/R1IkXig8a3VRK2ooYm5MMSlLITIldyZRNUleQnFpdklqPF9ea1V1Rmp+Z01yYDVi
KkpPZ25pRD5uU2IKelJEWkFOQWNeZj1ieHV6SEkqYzlJJWBlT2hwUz99SGdZN3BoM34+O19QTU89
Jk5uY0d4PzF5TmtlQ2NKcERZNEE8CnpsQXpKOzFINmNzYzMyRTtWeTFaKkpAKmtlUFIoYF9qP05q
JERvT240czlHeEtYS0NFcHV7OVFFN3JgU3IqNyZJXwp6I0wydlItVTdXUXVWbEhZJXtqcWRQYHZ5
d0RCWXFsPTR3LVJXOCsxNGMoKFhMRFErcHE4aDZmSjEwIUNxcEAkSksKekJUZGZ9ZV5LUXt0QUxo
Uy1AKH07ISRhSkg8U0tjNjdgaSVrOTYhRTFpPmheVTNSfn58UUNRTTVVI0ByV3F+dTE0CnpiUXRz
VTNkZWVMWk82YC1WTmxvdlZ4Vjl7ZVozY1IoZXUhRjw+WVo+KH48T3hwZlEtd2pASEp2aFZ8JWc7
JWhiOwp6dWEyZGhaKnFNP007K0pPdC1PMkteRjdfYDhfcH1zVCZOKVR5eVUwUV51LXdCYWcpfGd3
I25Ke1Z1YWRmWFElNnwKekRfej18V0YtU2Y4az9XTSVaX2p7cDd+eFUofXNmJC1CUEZjM0FSVFh0
fiRMITdGdVg+cjxsb2s9Y0MrYUUjbmVOCnpmN0ZZaCZrbVczVkdZNGZMMzZGNW9ueFdVPWsyP1o+
WnleOU18PmVWeXs/WXRtTDspMGF8VTFMVSVOK1gpKFhHWQp6NW0/c2RIX15JTW5+UVRGNkVSVURX
R2ZNVjNeQSsqbUB9XmJsd01acUJuYWkwP1NZallpemJ1b1NCZD9wUGRyQnoKei1kKDlpP3dKa0FX
ays9P0NfezMrMm9DbiFGNXQlJUlhS0NweXMrZDA5PXBnTHI7M0lOb3s7NTA0UFBnWCpJOTFDCnp3
VXE3QnQ2VFA4TTkmI28yRlBBVUEyXkc9SVFqNn1jKFheT0w8NDNrSmw7MyQkbUVuLTlIPmpDeXBo
diMqaTx2UAp6TEp0NCh7LU90U3QqVFBtP3FrcnolLVpZYHdUdzxFSUd+TWx5eyFBfVJzR3w2bXdY
TSooeTdBKCFaMVBTKllzKDAKekxpQyZWKHB1JUE9Z1IxM3M9Y0I2VnZHVWhYQ3szYG1OQlNeeG0r
anByaD5WaFRJS2J4Xlc/fmFFb3VMKjVTTyUtCnpoWUdifj59aXt5eFJ4Y1c+bz9veW96IXU0eyUx
UzRBOVpiRVVNMXxqPmo4SSFkQFpVPjNQbHVHeWJYZiotd2x4cgp6YClye2Fkbyo/d3ZSJkVGYClQ
Z2xRUzREPlB9cUR5eCVCJjk0QFc+eytHe1dHZzspckRiRk8qPmNNMylxYmEoSEoKek5mUUMxRGVV
U1RrSFVNPSMwVUViJDc9T0U4ZGxERjVYVkY4Wk59ekJiQyFlQXlndHw/Wkp3cEN5UlVWTUpGeGRZ
CnotWV87Kk1VO0orZ150PWZgPWhgMWxxUitUXkg9OUwqNExLTUg+TngwMmZmPH5qejZwdUB5IVhC
Skh4ZVVZZ3R+NQp6PllJQ0R0O2coTDdvdiVJPnYlcWVyTyNvVEYoPH1zRihiUU0wdE1+VHBDbUll
Q31JTllHJT18byM8PWBQRjVTS24Keil+MihxPmx4ZVpZcDJsbG9fRFdUc3pid3A/IXBoV1lJZk9y
JktNdTIoRmdITiZtTG0wSFdrZ0NefWVAMlBlfVdCCnphTCptfTB5ZWpmd2ZnT0BFYzM5fTJJdFp+
RlVacDxOJEIpJEleTUF4bkN9Zjd4b2BZX2EocWRBSkslISN5UncrTwp6KSZvZXdkbWRFTEJqLWIt
YHxpdCUhLWc/NkAhdypQP3VKQ25WSkVecStlZkowS3pGNShlUTBlR25BJGM4aUlefGcKelghMXxm
b1E7NFJtIUsoUWt+YSN6JHdmKzcqaitqRyhwaT50ZmpXRSZERko0a1o1cHF9RW04ZEJtc0RRPXZD
NGhsCnomLVpyVVJYLXt5US1yWT5scTx9P1VGd0sxUGE2Kl52VGo7MEVpUTtHWGQhPWh4VVU9dlRZ
OVVhPyE5bCtVNUhsZwp6TVZSYzZjdypfNHVZWGNheXE7RzdHe2B1QU5AVCN7WUVlV303PzdgeSZs
dVB7dXRhezhiMlA4bigzNyNtMzNSSU0Keip0QE47YS1+SGQ9c2Nfcm5aSXNZdnRHSUEpb1l6fEdy
SD00WGQ7U19rWGMkXlpQTn0+VER9PiFaN01+flJockVoCnpiSTNINEppMn0tRiR9P1hlX3hlI0t9
KmpFUlokPDNkNmBsXzZKQ0xOO2Bic3IlbU9fOF5YN08rKUd8dXQtRUNHXwp6dFhsbilBKkxnSmUk
JEAmQCRkPFBrZCZpd0d1Sk44cmsmQXB4XzNLTFQxQX0pbngyYTdmej82RkJYe1ZIc0xVflUKemsr
ayskJXt5R35hOXlkVyM/QV9TJTI+PG5Ae0JQcWVuOEV7TD9PbmYzdlRTQVAySHJ4RjVmPEx3WX12
S3ptY2xDCnpeckshV1pTeV4mVEpieEgqMmY3T090K3pENFZ8eFFQYyZ2OU07K2xlVWd2WXE3VTxN
JjE8N18wSGdFbyNJa2liWgp6NUVCcF4zRCYoPkpxYGB7ciR4aHpuIUBIb1ppIypjYkhtb1VJQTZD
JWVvZ1kyUnNQJitVdEwrcURPSilKUTxaNioKem52U2JVUEMyI2NmVXFJTjAkXnR5ZDd8SE5rXlVN
WEVfclQmc1MyJCtBdFE9JiVMRU4jWFJZIT9aXiZwNlYwN3hBCno5a3JqXj48RT07SkI+TldiVHI8
LS09c2tWe14/KWA5UUM1OTtHKlotXm47VXs9bzlEaWtmNVJpYHY/fSFqM19MeAp6UHhTbnpyY1RD
emlBdmYpTWA7cElOdEtQYzE5VEs+RjUpcE5mVn1QVWN5SGFQWlN0cjBeMC1qISpHZ3gtNGJwNjYK
enR4PE42NVB0MzxNPHxqdEwrOFJFKCE8VUk+UTFUPWtxYWple1ZkYkZgMnA2aGBPUDY4JDgmaUVv
e3FycipreCNaCno3YFZvQWw/JlE1KDxPaiQ5d1ozbEcmP3x3aDt7QjtGMnglc04qP1VmSXRFTTBL
VyoxNU1NTCtAQjV8V1c2S3BUXgp6TWJPV3JXNkFtI0lKK2wqN0EkRUNnZD5VeElLWmY0LXZLPnhI
TEE7UV4jYT87SWFTSWYoZmwpLWJUNTIxRG0+ak8KemhTKGY3NVp2cXQ5RTA4e3VSLXA4N3JtZil5
fU5LTSV5ekJ3VGpPQkl3fSMtd24zKXZqQWN2THF3ZmF2VG5zWXAzCnpeOWM4RVJPdG5TQzgjNjBK
WSNqP3Y8YnpZcWxJbWVmeCFeXzhTfG44aXZuanR0YHk8QnprWWZ4eF5uTlEmQHd4fAp6JlEjaHUl
QlJKfCk7O0htPnhoRChOQk9hSE91d0lNeWByZiMyZFheeXQlTXg8KTU4VUBzY28jXntiaCt4QDZs
TDQKekhCO05LMSh0YnNNKylBQTx9dVNHdXZtUmYzbyQ7WUlZKkRkLVVSKTBhUEB4azVrfn5gQzdn
TTdQT1NyKSROZ0xWCno5T09qRyokQ2hLT15zSjVkfng9YFRWWENSPEJuTUxtdFVaVio8WkRDYHo+
PldTND81VElwc2NUNEp7Xl5aIU5uaQp6UFR0cVl7clVzNHc+MkQ0eGlVQkVYPUc1ZENOOHhlOUZS
QiEtdmNsOG9fJUsyY1NlbEgzYFFlV2RgQ3xTS2g/NUcKellvfjQwWXJVRTYxQzIrdCs7PjZWP1c7
PFlzbio0MG95RkRDUy1oNTxPWGJ0Z2Y3dCpuY2dMPXcqYihGSEpvYUBqCnpON0UlV0I5QyM4NWFu
Ul8lWFBJJkg0JjJ5QXZVNWo+Ml40ZUVsVktvdlFFeXI0cXRWJiZUaHpCRUMxJUdtX04jcAp6YnBM
VmtIWnBnV14lcUY+VH14JT1URHw3VERZKFglSD1fS0UkdSNNYDtDJVY3KjtCSkBBQSNVPTRFRVdt
KHptRmUKej9QR2lRMX1mS0RkUTdXZkNSfXA4WHVZR2BiZkd3ViNGS04mbnh1ZSFCcmNoYXoxQXEp
ZHg1WVh3VTx8Z09yPkQ9CnplY3l2Ul5NQVpFJikwXzR4M3FFdzY9RWpmKXpVaklhKGhpKndNVyRO
dVpkPEwjdFJAWnk7ai1TSD19WUFGWmZnbwp6SiFQfUU/RnR8eGBQKytRNGs2MDExSjY0cyFwZV5X
U2wyQmtwaml7SjJrekBSSGtwX1Y1ZztCajw0azV4SlY9TzEKeiZQSSV7Qn4zUn4qam5TOTREbkIl
RWZMZVF1eVMtM1o9ZldtWlNaREpQVlI5SlBZNzFmP2pCRD1EPXVoUlQjezRJCnopQWx+aEhYQWpT
akBIKF88SEREfVdNal96Xyp7NFZZPGV9X1QkYC1AZDFYYHxAd2tAeDFBNy09P19QckU+KHA5KAp6
QEB6YWtWWjg2SHF9Pkk0cFc7aT5iKzV3ISMmeWVWUkgoZVVUfERzfipEXzhqZG1rcEBAYWp5RkU+
R0xXdXR3UiEKenBAQlc0VmZiKiV5MVBaX0xmJDJSPEtLPTx3eD9aVkMqdHZwPXVecWMxSykyNztu
Q1NeKEohO05VKmE1RTIoZT1pCnpLQ2w8Py1QeENNS2JubiRIQE4zJCZ1KCN2dkRPajN1ZnlaNEZf
V2l+c3paPSFxYjR2OCFkIXhkUVhKdUh0MXE4eQp6bkkoRzI7U2pHU3M/aVFoRkpRRjMxWVFXUzlk
UzNPWFhNeUB5YTQ5dEc+SHxsWG8xTmpsO0IqbkZpI0Ird2VPU1YKenp3bG0mUkhrVUMzeExvPyYq
dlVkKygtKnJQczxIOSVEXmhKdENiZ0lRXmUlYUdoMXdvZDgpX1BSPSpISk94Xj9jCnpwYjw+Y0g9
MH0kO283TDRRRil3ODNhWkRnc1NNeG9iZ0ZzUEU/cSR5MGpxbGUlVnMrfmwmREo2NHJYT1VJTU5+
ewp6K3ZWanU7JSZ7cUREPTRfI2lacENzSSt4OStJK3pKMHNMTXtScGE9RyF0NmtZZyhTT2MhZFIj
eHA3UDxSMyVGUXgKemlSK0JueDRrZTxwOT01UTZHTlNzKzVgKWd6NX5tNWwzeCZjNnl0fEZtWCFz
ajNxI0lIemxmKnNvWXdidTVESWhHCnppOzgwQXpaIVg9Nl8qM3dSTHFLRGkxQmxfU2A7V2ZoRklC
dEFFKGxleX5eLT1eLU1WR0Z8UHNtM2Z1OVpmM0JpVgp6PjxnfG5MeFIkQmtod0wpQE9xKFgtVmdD
ZEJmMF8mJW1xKlE4PF4qeFdMTGpURDsjXlg9SUp9d0R2REZAdlU2T1YKei0qd2M/bztyNDZlZE91
Kz1zbmgmdyhmbXdsTDdrY1puY2M8T2BVYlZ7YDZSUl89UmZRV2EwcTZxWXA4MypEQ0FXCno+fmZF
ZD9xXkczeDhCSXo1Q3hTaipkcHhDYlhrYUZVVk1yfm1Jenoxdj0wUVdmakhxRmtXYCMwSklfZ3NL
V3htQwp6TEA+RmU/U20xZTVCRmxpQDhNfDFQPG0pRXVPeVVkYFUlWWh2fEZlMElQOV5sdypWRiMq
KVQ9Q3JHXzhoSHdvZFoKelVFKjQhUjdVOUFhYmpQPDt2dVVAdH5KRnE8em1AdD8tNUJBN3NNSCgy
eFJrZ0xkWEIqU2tfITxFeld6P3AjXmk2CnpEKnl5VSZaNURzO3c2WSRVOF8pM0YrKGl3bVQ1TCR2
ZkptNkpmcE49dDRwKEpYbG5ON1grb05jLVZGNSs+dnp9SAp6eHQzO21LX1NCQnpGTSpSSXotUnd1
TndUOWB8e00zelNjekdkQXAxfipndSMzMCMjR3BIbnRHZyMyaWUrd001XkcKektZTEw+VUItaDcj
YjJkT1UkYX42ektFbTdZQVlnYDtCejBDQyVeMW1TWVpuUzdsajIkZWhqP0kzeGg3eDdOZnxxCnpi
a21QOUlZYWFWK19QRUY9MVFIPU5FIXhMR2NBZGE9Mn5Fe1deMmhfWGEtKShJdWpTQUhrUjZEPG8r
RGYtKkl1dwp6LWBxWXxgRDg4dnQrPzN0JDtLalU4eD94JExwO2VnPXY/XjlURGE8Kl8tcFBJbVBL
Uz15TT1ga1YzenNWPz58JjwKei10RV5ETk9QNDk/b1h5PlcycWE/PDR9NDR2QkUzVnpkaUIoKm9O
e1deUCVaPDh4bTFaSkN9dWF4JGsrNWsxQm9hCnotZUVrRipmNT00UG4zWGdvfHc0WlNsTH5Qemd8
dUNuPiV1dnQxfX1VYXlXfjxHYW1ETjFzezNva2toaXhNb15mdQp6OWQmdVFfZWwpN0gha3Q0VGFp
O1lwPytFRSNheENjZXo2N2hFbCNJNkI+RWclZndCOylFMT95TT5QbTVtaUxXbXwKejJ5O1ZGNWl9
fk9sbjZWNk9eSzM4UnFOUSFgaW4jIyZXP1JIQ0ZOUz93d2wmejx6Uy0qc28rPW1ecF8ycjZMMUV+
CnoqTT48SFhneF57SGtgTkpsWihyYTc4ez41MUA0NjNFMnFYPyQqSnE+bHwrYURsaTh3MDxJbUtr
VTc8QllWRCh7Nwp6biNSVEI/X2k7eUhudXY8V1Y+dVY4ZHtgTDNOVXFPRj10T3A9ZiMoall3fk18
bXN4aFJTY2dwTTh9Q2RwYU8zcy0KenVTXlNoKTBuWD15QkA1PUchQkA+bWN3PFptTDBpZlVqKkdM
Tk4xNDNTXz0lczVfMEJ5dGRHT0pibztPfTY3ey09Cno0SWArXz0qPXlkcmpKM1BYcjUpWXM/emtr
PzhmYSlOUm9XciNoTHNEY0dMbHlzMlhxN1R5MUAmUWR0OFJZMk9Hagp6Wm9TamppQmIpflFRUUR1
JVZJc20lZSNlWDw7R3BGKXtgSCpsOH5LS1g+JGtqYnFfWTFSeC1HPiRUUFpNRnFKZkMKej54Vz1j
ekxEd3pOQX19YnBvKHkteGxtOE0wUkdYX1M8UWtlU3BscjE/SWJaPGBMSW8tZH1FQXhkVWV7YERM
cCtZCnp0ViZENUM7MkFpLW11VTQmSVNkfV9WdjE5Xnc4amhlcEFNNXglITdXb0Bhdy09YTJ6Nml5
TSokKlN8QytlfHdsTgp6cT89dilRUno1JF48dXBvYGIkR3o+NWJDenNiQE1+ZDxIanYmN1ljUCpX
RT5fcztnbEdhV30wdUlfflMxU1RaajQKelI9YmJ4O1VSTihRU3ArOU5qJjZ+RktJdWZiaD0wKSZk
ell0dTVBVF5ySmJ2aWE3cCZlJVVQZkxGPlplNm83R3hzCno1ZlRmQFN9dVlval5CdDZFWk5Fd2Ja
Y0VsRU1gazhjO0hQKm9DZHdkSnp3ZEI8Kn4+ak0pSnwmVlU3MjRvO1dTTgp6YlJKc2Z3dXpnezN6
ND9memtgfDFONlVBaCZPUnNadDc0MX5iWFo7MCFSaS1RUCNxfV8lPl45XlBtR0B0Q3l6Q24KelhM
fnF7RVBMVTB3Zj0wb2V7Xm1nKSRrRmoyPWhgTnhROHZUUj9BKlJIUW91YVN3LTJ+SihnQU5ONj4k
I1olRVd+CnpQb2NJV2xzUlhZKCQ0aXJ5ND5BWWtxIUItOHZoVnNGbkpzOCUoYFdKNFlCWURhd0A2
YkE3V25sVTYlalprMihVZwp6OCVgPjhHWldMc3tNYSpPX0RxUUc/cXRtclFRYiFRO1MxWH1OTVFj
Tzk/P1Z7MS1GKE8kZmcpJXhFUT9eb05Oa2gKektBRFRUR25FSSRjfHIpUzNVal8jbWxrKW1VWiFK
OT00KzE+TD1hVSpHbCpjP08yUFNeNkMrODNTY2NNVDFZWjtaCnohWm44XyEjdj5wSz9gZnM3N1Qx
ezY8TCZednIpQzchSEhlZnZvLVhyQTt+bkVvZ0U+cHhpenlKUnwyez12S3glRQp6aGFGYkk+aWd6
TG1pTURle2NiKG9kaWI7PWp2JlglMjUyOGFZYmZxcEk5UCpkZH52PGEwYWJQMWBJRk9xQkE7fk8K
endIdEZQRG1kemJtZE92eGNtd3EzRldZYlVENGZ8UlUpXmdzXmxUTUdKPmtIMktaUTsxPy0pRXp6
KTNWKkw1Jm9BCno/QF5qaUBvcVVNYWRjazI4bjNISm5WNHhVfEZxV0QzPyhLaFNkaz5HWS1EM3Mx
Py0kRHdRR187UjxkWDtWY0JoUgp6TkNgNVdFblVNRHY5Nl9hWkNBQWMkOGlpUUZLaEhmeW1uVi0p
bj4ofXozTWYzemFqNipqblgjalhSPTs9YFQmMXkKencwJUBiejIpJXl2dDU+ITtaNVRwKjVaNmVO
JUQ7bEM9KzZqYnxpdURhYzdUTHhOIURvO2dZP2k1UTEkQnY0Pn5OCnpyOWNuN2VqK2U8WHtAdyti
PChrfTljdio4JHZUK3NuYn4yNVZIQmkyRUN8aWc/aHtVdDtWMD1JSlJkcVg0aXdvTAp6XnRGMzYt
ckc1bjtWSkNXVk9tYS1ST0VEWjJ1PypLUCRQeDcqZE5iQiFpXjc5Rlc0YU5iNn1IRFN2TU0lO29K
N0EKejx0SStJNHBoQXxFOVRCd2d4IzltOzFuZFJoP3d2aD1HP0lfdEI7N3U3RlBDVGcxTytYQ1JT
ZTtqUyglSVhqKnpECnpXPjM2aipGI3FBe3RXWiNQOTZTZk0/cndpY2R6KWUtV2ZOTnQyeHs5X0gk
P0c7UD4zezxeMUgqSG1eZT9VNWIkdQp6QHRoX3coWXhXKm1iMzd9Y1RyQmRFVHB0ZUh0Si17d3pg
KG0wISlgUlJFKntmeHwoXllvVDN4YF4mdnc7KCY+Ul8KelQmdWglVGRwYFJzJXlAY0Bjb154WVdj
QWp2bzZZVzdAUW8zQUdOSyp6WTR5ME5vWChtSk1DYE9eSXAoJChmaGVQCno0ZnRFdkgpfWRkMUcq
QzRtJUB+JE94X1UrIV99QUFmKF9YYHNHQEo5YGE8el5UJXRGT3U5fHlXUk1lMFczXlpvQAp6OS1D
Zko0ZipzP2lJe2x6czdrUShOO0V1c3s4UCsxeH4kdUc/SCZaI3l7VSN9bWdDRHRZZCluRmpNWD5V
UyEqZ14Kek8oR2lvQWZtdSRMUTxKNkleZStwaThqRHIme0s0SF8hVzA/PWt1Mj5VYmF2dE5MdyRz
MCM9MmBKPWJFQ0RPYzBsCnpoOXJnN1EkZGFkNTdrJE5jIV9rcDFjQEUxTjcweVdIcztvWGF0Wjgm
dDtpO05MeUBaVFFlRk45cyFXSWQwfSs/Ygp6JiRlI0FLdiFMfF9QSS1pKDs4cEVjQW4xWmUhO3t0
RnI3X1Y7YD5xTjJkJj5tdFFeeDFmM3c5I24jJGdLKEorWSUKelkpWX4mR2ZgakpNeD1gelJxdENo
V1U1fE0jKl44UiVPV093VmA9KkhST2A+PWAjTHJrUEAoNF4wck1mMmx0YT0mCnpMVU8tbmgqNW0z
Xjs+Y3dYUXk+TFphfElUKW1UeUZhUzw7dEd5REJgTVFCN0RhSGIxdGF9WislN0tIYkEkfktnZAp6
OHpHTFVINGxrNUlDbkdEO2U+LUNBLTQ1LWhsRj5tKDc/c2JnKUMzeVk+NXw3dWBAYnwyfGgqN0Nv
eE5sTE1EblEKemdfISpZWHBxNGFyWCNMQTErXj80bjslIVA4eWpNJGNOPlQhPyQtTEBKKFdWJDlX
amt5RU4wVDlwQH1lWHVWTlElCnpWZE5neXNPUXJuWk9uM1FgTFU0dGI5TFFQKCtvRzUjPm8xckRC
KipEX01QOXNnaUN5bzQ4IShLbGY0e200T0ZPPQp6RHJ4KTJTMyE9OCV5I3xFXkdsdVc5RHt6UFF8
Z298bnN1OSVzQ043U2F6T2VqR3Y7SlYteyNPKU1teyl+cW9Ee3QKekFPcnl5d2Ftb1I0Nkl5YGEx
TCt1ZEVJMCM7eXhqQWdBJCQpVDtSMTReK2BwPUxuNmYhZj9BdyMkbW9ySXtAfXlBCnojM2ZDVylZ
UHRRVjdrel44OXArNkJsX2dwaEBBaU1zZ1U7MjtBaVdVN3U5cS01Rm1jUXcqakI8QVA9PylqPldA
WQp6RnxPcFdsKmhCdmd2UU5vanpNPTZZREMjaUdCdkI9Q3QoRkNteDV6TmxjWlJPZCZVKnluP3ZG
QyYqMzkoZCVAWnAKeldOOWducSQjVlUzKndiMnUlcTcjSjNuZk1NbiRsdCpnZT57XmxacWBpZGhJ
fWMqYGVXPSpoR2VvcW1Nc0psYC0/CnprS0xEIVAwWDFANFhxeSs2cGdqND5hX3s2KkA8QkhhV35k
b09jcj5SZU9TdHs1VmJtTSlITHBmQ25xUGJgPlE+UAp6THl9aUU/ZWtSPypJeEJxbncwYFN5STda
eDBfKkVsakwza0tFODQwTW1FaWRhPGtzZitZWCFNYVJFVGo0Vk8tNEoKeiM+NWp4JmVLT3A7O0l9
JVRWRU8pKnBOYUYrTUJnUj8+QjRRJWNXMT1Kej1sRWxZMj1nczUmaThfeSF9dSlJemh0CnpXZz92
SSl0RlkxKUYmO2lXKXc0YStDbnQ8MHk4cUNwTnBYTXI5O3Y/WlNFan5Pc0FpNEU9IzMlWl5rYjQ2
JmJYZAp6N1lqcUBsMClGP3RpJmkke0dnKDUlN0dUK2AoTyhKM3JVK1lobUlZSFhKZTJLa0khS0Fp
TW80UUEjISk2cERzN30KeiRDJCZIUUw3I3ojMDAmbSZ+eHZ0X3d+N2VleFEleVRrTEc3WjhKdVQ8
e1lRTHZpKUVAeDArX28qbXNPZ3M+cXk4CnpnfS09T2VOVXBmVHVpaTA1YzMyejY4eT0mRCphZG1u
SHR1aC1hSXR+eDBYUHI7PXU0bFMyK1lQMUVmbVY9TTh1bQp6OypgQkpMezxLQm4+OFFZVEo0aW4k
RSZnMGY5KzhEdF99TkA/S3x+MDEjZmV9PDJmMjkrQG9abmhnd292Ri1udUsKeis7UUlTUDFpa0R6
VCY3b3dwYE1LY3VobEo4fUlhcF5sUmRiRU55Qk1BT0tJaEV8QWshUVNnTHpMT35UXjR8dHcwCno+
VF5rMzZzWWdwPHQlcnVtY0ZaSG5TVGwmQCM2NEtufFlYajhXb3tadS1zc3hZXjZ4X0R0KDcjJShB
ZXd3TlRWYQp6bFVlO1RIc0NRVEUhPTgleT1ESHJkblpAZDxtc3NQXjJMUjE2JGVRVDJNTGR5KX5X
fjFQd0AtRS0wNTU4JEZqYCgKeisrbmxBIUlyRThXOzQ/WShac2dZQylRNnI3VkN4NmhVR2k5VjN9
RC1GdEFtJmhnLWI/PkBmNzloSHE0R0JYcl44CnpjTj5VWlYpalJLZER0amZPJj1fSTVPTyE4P0tT
dnJDMF5xKCNhR3E0TkY2REg7MHRKNTcqbEdHblVRXnx7JmFicwp6MSgkLVE+ZkQxLXRLQmtWTjFY
LVFqcSk9QmJkRyE0dDZII0x0UlE7RzR5dGghbT4oZkN7SDBsSyFGSkJmKjlYQzUKell7Q3NOcUJ9
Yyo3YldmWWNWSyordXZ2dD00X3BaSCE7emhSUFAyaFBCfW1MaHUlV0NaSHx3VGIpViQ8RCl6NH40
CnpGbz5OTE1QNEB6QTRFWGBlN1l1ZHVuSFIxcGRnSl9TY09TSWR5K2tRSCtRTlAmeEl+RyVkbHxJ
bj05QlVfbEtSVgp6aHNBWTheUyl6bXMtfDgmTDBRVmRqT0BzN248VjAyWmUtU3FQUEVoKHpjM1U2
TllLQ3hqZm4jQXlVNlhWXiFlYDsKemNePT1jXjV0NExoNkUzIThtZyQlN0k2e19JTEM5cSRNb34h
SHMocTxDfCZYX2xDI1EyKTVxUjVSU19vPXl2SDAmCnpjRHxnPkNwNWplYSVMbUV7Nm59PHdnMGR0
ZFdaI0BrNmphYUU/YkVGU1VJcWh5Ujc3bHN1ZDwkMU1pa181Jig2bgp6cEEkSVYlX216RjZ0QDw7
RlZ6fXRkKnlEYklTcSRxITZiKEI/MmBENE5ee30jNkskYDgyX31gKkwrVDNMI2d6ZG0KellkNUBi
Km1xdStUbkF+IWU0SGM3KnAzWnNvN3hENTZKN1RaeXJKOUt7aF5QWXVGX2E2SUxHeD5AX0FkeSZx
YCVpCnpLYFhwPk80Xnc+SkJTTHI4cyQ+M2ood3VLNVdhWm1ub1IxcGElI0FKTHEkJlYhU3Rpd19L
Yk48ciN4YnRZMGtTJgp6I3t+fEMtV1MyUkJBQ1Y7ZX1UcTB6R0FIPlQoVU1DUmx7RSFaPVklbkdf
ZmFfKUVaXlpfUWgoPChUPl5Cb2I0UkUKemd3eXxjISZpVXB4SHRJSnNJJX4wZERNPjUjQW0+S0JQ
fUBRLVE7X21KN1diR0doc0JJYjsyY0JvQHFZUjhKWEJwCnp3P2tYM09LRElAX047UzdjZGk9aUAk
dipCTCNeUjdhREo9UEE2Znl0NERSTWlEfFFHbVBkOD9CeXdWVmdYPjFKcAp6WUgjKnZjKXROSSol
LSMzaWxnNHY8JXpNfjxNYSpnOGp6SztGJD1wbmBuNHUrZCtwWVlZWWI5dCRWdiY7ZlVKQTEKenY0
cVAjO1QmdkVvdCFsUyYmJHR4ZilCdUprQnRxYGBKIU5RU2REOSRxMnJUPCQzfkFBJWJIPFg3QFFQ
TFc2MF4lCnpeKyZeZlZaI3wzP2RkYnE4ZzEkR1ElaUN4bn1OaGVyWGptKkFERSNUI1NJPk10QExO
bUdLeU1qISlXPDlCWmZ1Ygp6dnc+eWBSX25fUWZATlcyNG1BJihQX3M/PDt+UVZ6THBJaGdrQSo3
S3BqRXVUJnlURH0lRDdLaEdUSUYoPnxkWHEKemtiRiVqa3U0fShnWkc8QzZFfndycDV5fXpWeyt0
bjtTa35fMFhGPylNI19UQ2dmQ15MJmd9KThSU3hJZCgxcms+Cno+b3EjRW1nUVQzcUU3Mz41UH0r
Wmh2X2g1JXd3R2srMVRDYXRZIXVkN3EhWF8+PnlafEVzOVlyPHVrR3F4czZ5SAp6a1Z9NHgzUVlq
U0wjZCZzYHFvZkN4VSsrI3ctQE5HPTh9VktEcFErO1oodyZHYXM9QX1MPDV8OTEkJlEyRHJneDgK
em99WUlPeWVCa1BaKSp0MmwyKCgmWTRsPTNFbGtZKFUjcmEyO20hJktjbH09ezxJSHRBPmFxcHVT
Pkl7WT9hJD5TCnpaY3EwdDhnVkZBdStqU25ISi1UUDdLOXEwI3hCeG5Qc0p0PXozMEBvMVJCZ2Fz
MDYhYzFqbnAxSUZCMns/TW42TQp6JUl+M1ZKKmhsKXBmcUVVRE8qcVEzRmJ0WWleJSh5ZXp9SiZE
PE9ZT3UybVQjU1pAYno7RSlwaCU2OSEtK2d5dWUKenFrOVF6Rj5yUV4lXyRaOS1JM2ljU0FQSV4m
bGpWSGBlSkIjVyY1P1VpJVo8LV5rITV4bnlFMyY2PEg2fWN2JGFaCnp0V1RNdD00RUAhKnooS3ZR
LW83UkZaSSYyVG9+PDdDIzR+fnVSb3hFWSEtMUIrOVpKZz5FUThadDZePTVUQyExcwp6KFhhM3JB
I3UjdjlIfGB9YVpWe24rdyEla3dlUTZER1Bpa0xrQXoqPyFBYVg1c2tLYkFCaVRlI0R4XkEwQFhH
Y2AKejlxUmBJfDMkbi0zVkV1LUVKKXRla25SMSZEbVBYcjNuck9odXF+fEFxIVVwc3g/Kzh5Q1Yq
YFd5eHglUzYoKzlVCnpATkR9cyhXKzY1NmVVNDJDTEx4M3hpWHhSUSpYLVNKJHRVUk5lVl9HPjww
PD02ZnohRDlyPW8qT2UrWTtiPHh9ZAp6WnY7Mm8xWCNXVEEhUk9VKDw/XmtHZjJJfj1CYmcpenko
T243OXpQNUBXKW8lOSZTfU82fUB9fVhgR3JYbCFrbFkKeml+RTxAIzwjPUZSQGxVeztTbFNWb3tj
K2opdndpSSQqfW07NjBBK2J5Z3dnaGxaUXN4SjxLQ2NzMzVUbEB0cz9TCnpMbnh0WTJ0NH5WTEox
PnJebGBjdG5Ge1QmSGV7UT1ZO0ROZWJQR2BhWXBpX3xoaGRFeWJtZ15mbHtqYzlQS0N7Mwp6dUJY
VkhlMlFxe1g7VzwqeG5uKHQpcXVaVC1iP3lpWjlDJUtBaklhPUdKQk9HR0U1RyM7Zn42UmhrKnl8
Xmt+emUKeiNadF9WYD84QCpzVz9HczEyR0huYis1eDkqdFAqSWYtdEJ1I0RXUWpfU1pHOEVFUFNv
dDBLTG5Yby1ndzNsJV9GCnpOT0xmZjwlWntoWl5YMjFOJlElLUJAWFJeWWM4Yzx2d19VXmxiT0Zw
KTdWSH5OJVo0RkE7NFBjaj1TRTdLO0VubQp6a0s0QkFTZClVISg/aDJXTCN5M0w5fjQwaz4rVXIr
U1VpVTtFODVaQFVWP2R7elU8NjU2Ujg8eHR4cm1oWGklUD8KenFZdU98dnp4WX51Rz0yYjZBVSh6
YzVUZlhuUEFUaGc0c0N+TSl8NlpeQkM8VGIrQUUzZFYtSTQofUlrPDhfYj1mCno+Sj5PeHleXiR9
U2pabTxQLX0lMTd8QW5CdWNhMDBoRUwjOFRqX1RsWG9KXjw1Km9BUTthRmRBRD9CQUJQVUZLYwp6
P2Ywb1IraiE0Z14zRX19Xl5mRmsqXmFiNW8yIU5GUis0K0RuOGh7WEEkUCQrdVhgS2hDKVd5dnhx
KlMkOVBrZGcKeiVXNGZWQk50O1d0WTxfKDI4SkkpQXJlPiVvWnQmQFYwYjM9dWc7WVIqXzMzbno8
SW4yYmhDPDR0K1g5U0ZsPk1TCnpHb0ErP29+KFRZY14qUyFYRHh7TCZWNWV5bDhUSUs9ZURoOWoh
QCgqRURMY0xIM0cqYyN1LWEzQ304cj0lP3tNVgp6YVdQNjIhREZkX0REOUhePVBOSzB3KldsPXtj
Ql5CNGc8Yj8xTjs4Z2luaWFvaXdwc2YraGI8WSNFMzBOPHRqZ08KenduZF5Ic3o0dUIoISpgTEBX
en1lcl5hODJtJXhpMnRoWmo9UEJ5dD9KQSRneXdCNEMmRklOcnJWJjMoR1RkbFdGCno8QmVTbTxJ
fHM4dmx+TVloRmhsMmlAYj9raStZTWlRPktRWjUxTXxITmRNfkMwUjZwdisrMH0qbG0rJHs4YG4x
Vwp6QSpxTk1lcHVUTDNyRm9zNXsoQE5DQTcweyYzZT82I210diVad0hMblF9dFJURylVVHg1RXR8
czxjbXkpUUJPYkcKelBCbn1hZUJKemlkTn1XfXJuYUQ4PiM8aF5qUm5DKlBYTUp2MFJAZ0NFaUBx
e0EpIWYhQVJRRD88NTJgOEckfSNwCnpRYkhoPTdKNS0yRDdffGhnYThSZWtTZnlyPylKT1N5P15Z
VHZoekkydFVYejQmMlFjcjxKcC1Nc3FGVnhXWlppcgp6dDVvME1yQVpSciFuKG04YHF+YnlzOVhR
cDEzc3RNXmQyenZHcTVGY0ZqTDRFclFsMEQ5PXtWfEozfUUlZ2ZydkIKelMlaGRRN2FGYVlnMkBA
UGZ4XmdxYjkqQipuVipPZGJBMTBDOCs5KCo1e2BWdG1jU045K2NYUTRSYjdOdUdZSFpQCnpoJlp5
aHBBQjBrdD5qXjsqP3w8eVFlQFJGMFA0I0I9UCY7OWV+KFZFJGJacyNPWHNSWE8lejJ4bVlRbD9T
cGRJfQp6e1BAO0p6NmNeN2Q+KyhAa3R9cE5iX2kqUU8yPDs8MHN+Vz9FUnReSW9aaCVIVC07X2p2
U18wYGhZZ1NzZF83RHUKekg5NyRZYk5YZk8jO0ttdzBzcFk0RyY0TzhMdUx5TGkmZTthJC0hcGJE
JXJJa0EhMmMlPVghJjwzNmZiWU1gUXF2CnpCc0VXZ0RFYTliPnMzQSpKR2N1fDVGOTRvP2Z6KiM0
cUlMYyUjOWlMVXM0XlhsPVBjT0FseFdDQUM+OWtANVR8WAp6d1VYT2lOQGhYaDhAIXN9SXt0JjRF
SFZSNTtYTFItIyR5JjZyYFlYU1EpdHtnN3dSWlpAS3VHKGM/WHR1OSM0I2gKekxUX1U3VnYhKXFf
WiRyVys9UmFOSnw2eXVHNEg8aUlyI3RMbUFPKnEmZis2ZEw3fWlEdXRHKURBam90KT9JJThhCno2
JX5uUmlPMDExZTtGck5fY19LRilHJHtvK0lfN31iTz1KdUBpfmg0K30/ZzIlcmNwR2Q/ITZGK3dJ
c1BTVFJ5Qgp6aUhMVVZaM2lgJjh4ZXd3Vj1kPDd0bj92YzRHc3pPSzhTMzBGKlhzfnN0QGtmeDc4
MTBOeVoyI3sle1NNR2RUaF4KendhR2hXISYzVnl7PmUhRG1JODZpOGwwXig8QiQqQjhfJkc/WWJC
IWs/YDdXaDg2ZUhiWDc1JndCKFhSODgjZGxqCnpnciZ+eypGbHlxRkU0MDUhQjVLX21AXyN7NGxn
KT4+P1N8X1dUSmZ3cyE9dG0rQDRZaEtUN0koSU8lX0VraCp8Swp6MjUoXl5sNHxEcjwtTHcydnQm
fFZsMj41UHQhcCEoMH1mZns7THc2TkBNOGopPXdAKWoqXnFvUjVfISVIKyl0U0EKekF2ekBhUisj
cVVxZkBHKzxqbyhUZ2VfQzwydmZUez96Qz8qcGFhcEp2Q2dqbUJfaSRfJVJDPEQmfCpIRlJOd289
CnpNcFlibEFOR0R1b1VDWU0rSUFhcTglPiQ9Skp8ITc0XkglK1VOdTRwVzlnbWstWklHWnAzRGBD
QU0qLWg4QjFxbgp6RFg1N0QkcCFhQCg9MjthZ097Q315bV9PV1Z2UT17bWp8UHJEZiY9eipRMFok
RkpeLW5tV01KUG5DSndsKU1QVm4Kejt3OUpwb0VjeGB7N2dHQTNQIWY+QTl3e0xAWHhleHdTKTA9
YVlCUiRHZURlQ14yTVFWSl96Qk9AYFk/UCZiJSpQCnp6K1UpSGo0KyVjQ35+d3hOOX1ZYnQtK05h
dUZHcEhHaiopWTBYI3RNbWtlQ288c1dqM2d1Km1BUnc3NytpcSlHWgp6Pkd7VmFFPWpOeShNOU91
RjU5YWdkMlk3d3pOflBHQjwhYSheUDIhczA0cHI8V2lLYmsxWUdwJmRVWVZsb1ZzfU0Keik7QU5G
Tmc4e217OHohLUU5e2x1Rl9RUlRyR0AyREYoaF9YQHNFJE9QI21ZITVZVUNiRUYhfFZ1SF9VZFB5
Xng8CnpMb2ZucjlmTklpTyU4cmsze3J0XjRCLU1VSj9WO1hjNEE2Yjg7UEZ0PHBHdjs9fFhLfHVz
ZXBRVHtHZDBsPCsmfQp6VlRIeFcyTHtPVnU8ZllaPmQ7RGxYR0ZkQD5FfFlPUW1YY3p6RD0kfEx7
NTZ8Jjg1d31XTj5EKG8pYkIrXm15RXAKejdXfSZ3Z2Rzc056N3AmMyFCNE1PRSpZI09WWG9Oa2pG
fjktRDlgS3BXV0E8N3lRYVJOKnxHa356fllyX19USzl9CnpAcSMyK3Q1QVFOTTFiajZRaCUkelE5
eTdxclpecn03TFFfVG9sOTwwKF9TaHlocTE0ejA/WD5kUE02Q2tqMzlIeQp6Kj5xRkcpSHVSTS1l
TilpWFI1Vk98RjwlSEFTTTgwbilgT1QwV1dpbTx2TlRQKjh5XztFJStDKXVoRzQyS1cmV2YKem9Y
ZF9PRD0jJmRydURzTyYwYnlPcjFHQit3NiFVcSlJdDlPUWk2WHhyWWl7PmdRbHBWamI4Y2xSRVlg
d3lTJVV+CnpRXlhWc3hpbVpAYVhQQjlnKG0mITdvKio7Xk0tan1pTkBPWCRwV3E7UTZsVDBIPV9S
eVVIZyEmITdKPTskWmFtbwp6d2d4djc/flIkVW5mb1g9WDl5fVE+KDNqKFpeYClCKT5pJjFucWFw
cnIhODNTQW9RPk9xOS1yemtyTjk4NytJfnEKekRkVSgtcjhJQio4UWZmM2l5KWtrdCpXTzJXeXBl
KGx+dHh1M3Fjb3pXUUswenR+Y0cyUTR7aWdCaFB9bT5CX3NPCno9bVF+UEh7TDZGJnFTYG5HbHwz
LWpEaV5EI2V8QWVQRG5XRCUzO3REcHZuakQ/JD1pRVpALVkpN1U1cmcxMEVgYAp6WHhQKjRoZH4o
WmJ1TzYpZHAlOVp7QCMmbTNsKHhuJTVRX31pbkcmWSp7ZWZnWmpLeDMkNW8ha0J6WkZSbEhPMDQK
em8kQWZSYzg0OWA5bDYpVjdUP2ZsNlo7MFgmbnhaNUx4UV93MWg2RzF1ZHM9clRBVztsNTBVfWp0
UGBESnckfUUoCno4UUMjIV8mIWBGUmAjb2FSVzFyeXQzaVBASmk3WTVVa0YjPyZoNylRM1YyeTdW
T0R4NmBXfW1AeDdfbE1OfG54Mgp6JGx0fmBkZj5OKCZyeHU+ZFp0VTtBeld5SjU0QF4+d19iQ2l2
flNiY0g3c2ZlQHMzQ0Z7aiFNdURGfjBWcjkxOXcKejNyQVJJekhfbUghVVpJYHJPSHomYm4lQURe
fjlKezc9Nm1tPHNjZXwtOzhLUHIpRmFrSTthNkQjSXZZczFFb0h7Cno3ejttbU1fI2h+LU9qdlpp
b1A/PmskaC1QP20tX3dkVk8tRWJrUzBSUW9vK0lidDlpdWNQVjhIQ2VAQDJGX1FhRQp6RCYjdEVl
bHElciZhbGdBaHFtbGQ4ST1zU1hjPzQpRWx6TVFPdWBmPHBtM0w9MUFmT3BJKCpXezQoblM4Y0El
emAKej5UKFZ4K1pPUFZwRkc3MFpubkBeQWtxPE1QI2RQP1Z7ZytTIXE8NHwyPUBGVl9LIVpBVTtM
eE9aNWhRPWEtTztHCnpqIVdreXRyS04oPztiWT5Vd0hBVCEjcD4+WDRtK314QUFtXjt1ZkBEVFUz
OUV6UXc+PFIxPEcyNzk1O1dDTEcjKQp6Pz5raGZsWUZ4TT54fjNIPEcmPHRgaUE8cTM4Rl9WcGV6
X0NWSHx4dnM0NiNeQGcrK3FXOXN1dE15R35ZeHQrJE0Kei1eUE9SVypDN21WTlJIXnFhZD5CJSly
RWBlcjljZVg2fG9QU2F6Ym4oQilUe3pMPTM9KHdtYzBfKEE7MGFRKVNHCnpySigrVjYzdzhOaWw8
PFJtViFzJW9iaGR2RENESV9aTlp8S2pTe1BSPjd+RSMoYlhUbUBzYGgjeyt2SlQhOFZVWQp6Rzw7
K3JDIXxCbCpmUjVPJUpSQ0VPfU1EQzIwSzkrJUlPbG9lOWUkJlpabDV2bWxvaEZTRU1LTmhofX5J
dzhsVF8KemcxejBIVGA2R0tsQDhvUzxKTmEmdm5QTUJULSs3XkpwTXNVNDVsS1ViM15zV1ZQTzgr
YzBPXmQmdTxPaUZXY2NHCnpha3JoPzFEcUlHbUEldWJoWlZoU20hd1pfO0YxPEFpIUB3Vj4xPDNx
aDd4bDlTRldueEJGWmlqdl4+PTVeQEY+aQp6a3Q1TjE8d2tiajEza01yT3QpNVYmS3ZPSDh7dTg0
aD59ZUBZMkU5WGNSTlp4V0ZrYWA3VSlyOFRwbUlLUmVPMloKenpUK2o9JTxCKGpfTW5mUFc9VWto
QVNUIXtJaT15VTgpWHkmazdmbTEpcTRne19PNzBJRkstPj1Mc0tXYENlXlZBCnpweWY8PigjWV5U
ZCtRZH5eemppOWJJdT96SHVuZWNpJkFBMUQ7NmJSQFoweEY/eGQ/aU80aWFnIXxuVUpyfU0lfQp6
QipIPWNDYTBDcVctTUVWcXZ9b3tlMz5wak51LUNYaWZhJlRkOWRNbGFQQTZmVmFxc3A4MDlqRj1B
Wkl5c21MeUYKekdkcVNvOX1CdjI1akZJdjE4JGpsIWRBWkVoO3Q7KUwlOXU2aGtmKlJnR1AzQ2xX
V2c8byUmUVNDQEREIU9SJVMkCnpJME5FeE9OZ00jI21CM2NgZik0ZjReMSMxd05VNVBre3VXeVNw
MlRhVW4qQkZNd2R5eSg+XlNTdXxadE4qRHkyaAp6RTxMeE1aeDRFXkNAbFB6QkpyZCYwSTVlQVoo
SExIUzhLUV5QYk1iI1h1SGwoUnQoVWRwe0tQQ0w8cmxiKGFDPHwKemVWVFdoQ3VVJkFpZlJ7JGx5
NGlNQ2taKjEyZ1laOWtCcTxAWG5GJj42ITZCIVhlNDRgO25wQX1yPSNHWC0makQ9Cno3dFhBIW1G
OUdSYEpDI1ZLU1dtQ0lIQiVoUipSMjE2Z01CbUZuTE5vc3shRyFvd1FFND4pS24xMj9CfTw9Kz1j
YAp6YzJoYyozYnJvKXQxU0N6PTtARGNOMEkobkt0eDBQaSRyWHRObjE4LW9KdClncDtkJE15VGZw
QXQ9NDQzJkFUWmAKempIQ3EhQU1qOEpAKkxTbTQqUXc4OVY8QU1vPFcpJGx9aD9MKT9JJXZwd2pD
Q3RoM3lQUD5XNTZFTUt8U3RQMTJ1CnpUfCFyWDU0cE5vSHVqY1g1MklMMCFHPERLODFFPT5fXjs4
TjFERTl2VDQ8e0BmIy09YiMqaCEwQGNGNk5SQEUxSwp6OF99cFU4fXlgeSlZUH1NSVRKWDQ/Y1ZX
ez9yQmZeRlZJayp0QyQ3KDFmVStfMWdETjYhS3lJVit4M2deN0lkNVMKek9DVVA3NjZ6SD5oSGJW
ci1zN3I2KmpLbEdZJUglbipBbWhtX0ltKlJVbHQ2eXFrKVJfI2NPOHpNRzJFa09SV1RxCnojfUti
YyZVSld8YUVDOWBTMl9AYihfQkpJKytreilrVl9GKnhwV0pSJGVMYyFAbjx3V3Z4MjR5bmpXJVZt
TWh7MQp6NmNLJDBeJlFNQno0QDY/P3MxVkA7eFExJUApfkJgc05jc21eaVJkfCo5VlR4dFEyP21H
c0I1cUJNbUMjXjk4LS0KejZVSypkSn5xTGJeXlNvY3J6fX1oTTNEZVVSLWF7USZkYDhzSzVVcGsk
djY5SEF0ZGwrTCpUUm1WPG9XKnVhU2QxCnplcG4maGUhPCN0aiU3RFchdS1ycFRLbUMyQW5MQ3dH
ZXIlYHAobzkjUXFpMmM/XyRqQCVDUmghJGVTQCQ3dE0mSwp6ezxJKXV6OC1WP2s3PitQT2xHKUNy
TjhJODU/Yk5XTjB5RDxCTGJ0a1ZKZntgXkxEZFM1cFIlczJIdnBXWSpCZmMKeipARmBLO29IO1pA
R157U0tMMyR1aVdHRmBgJjk1cHg2fHQ3Vl5XUzV6fjYzPSEyUj5nKXhhOVJySSZSbDxmRkBPCno5
Sl9DVkV4e2pNdzZQcis+djk0Rm0lJmRoRUpQZntEMmM0Y3tPTDV2X2tZMjB8RGEybGIlWjY4SDNN
b1hIbTJ3Vgp6YEJPTWJvUCVZdDx+aTxAVEFmd0JsQyNKKEJhMCY4LWlSdkhlMn4qS04xVklPO2JK
SFROZnR+ZzMjJUpBV350Um0KejVnTnFlPUlLQ01gOX1qaVRyQT1gSFomek1Ce2JSekxsMTJiU0FA
RDRafUA3VntXNiVWbUZYX2QhNzcyNWBwTjx+CnpDe0dKfF5VRD9PblkwZj85RUEwfFQ9PmJKKXwq
P2Z5ekJaWU1QQ1Vac1UpbUx7fVlocG1wfElMe2N1dEZYOWFzdQp6MU5xbitLLSFQSllsQ01fZlpf
eWN1MH03djN1ekIhR1FIQ1hKPntOaSFuMU9hakItXyR8OVA1aWg+Tzh5KVN0eDMKekZsdFE5Mj1o
c2s4ZDlQZip7PUtBUj5wajxMXl4mKD1nbzFTSW54fD9xPm1LP0FsZkJiayU+c2U9WHI+Kzc4LVNt
CnpRemYkJGNxIzF6PFE2XkR1VXZpTVE8YmAoKWtZaHpeSiU7QVF9RmpzQSppIW1TM2sjKVAwPFcp
YEgwX1o0Q15iXwp6TyNNd2FmVUI4KUFxI0xBdXQyaEc1TXhCcWY2SGB0Qzl9bSgwZkBReEVnRlFf
bnU0LWNlbmdXa3dwOCo1O1pzb0YKelJOdTVxS0B4T1BrYXoqcEE2QUB3Z0x4Z2dDM1NgYlI4PSg7
cWpXbXpGfCVATmNzXn09OzY3R0k4Pmwhcnd3Qm9eCnowK0RkXnxDUklGdlVAK3Y/LXZkNVVyKW1G
Iy1gQDtaYDBLMSEwPi0pYEQ5YjU8dzUlamFhPyM8ezB0fSpvYH1mdgp6MWdEWWtIO2lUSWE3ODsj
O2dVUHs+NEw+R0lab3x5RGdJRDlBXkVsTTVvbTxFaGdDVklGPlJvSzJLYnN0cE9aOz4KempAa0tv
O1B0JEd6MkpkYFdWTlRkKylMQWhBcTRwYlNPK1F5LTMpYTZmJUEldnVpb0U2SV9+V0RuWF9VNCE/
ISFwCnooXiFwNzVhRShUIztHIWwld3w/NXs2bVc/K0peWlU7Ukptd3lkfm1Ae2BGZjFCNG8tKiY/
cjRTWDlGfGw3Zng1fAp6alMkVl9Ye3ViWnA4S3FDfEtHJjNWPGxTMGhMOCsoZzlURURxSChuTStH
QUpvSmBYPVkjM0dBbShpRkFweWB8WnAKej9JbT5nWnBhemV1Z0d8RUdrNiVrNkxzWmwwP09CfUh8
P357cD9mRCRDOHVJazYkb2Vobzl3ZkYoNVMoUmJKTnM8Cnp0cSR4cmhgYk17Jk9qTlgpWjE3YSkk
XndpJDxDaiVzMT5LQiFoN3BhTyh9MCgrQnZjaHhgPWIkKXNpdnUkantseQp6JmF+fCErfUlsMCh9
RWVxWXkxVmdGY0IydztXPi08T3pkYSZfNk5hOWYwd3gkc2M0KElkUVd5ZWJ7RWZrPmA1czEKei0x
fEcjSG1iQ2dZJihSbTtKKz0lZUo0ST8qeXlscT1gRkwxdWUodGlweX1EXzZEO09ybFVOSCElUVZB
Z1c7RXozCno0MWVAaGRgbT96UTxneVJrOzA1ODI1N3VlWDFUVWtsTkt5NG9aPkwkWkI/bXxhMGFF
dGR6WER5XkRfNXxlVGs5Xwp6d2dzcTIrZSNAV1YpdiVQbVElI0dPN0pVQFd7RVVKeFJtbWlyUX09
OFVNOGUqX35AVVBvZUs5aEZkfk8jMjktQjMKelBsdlpKX0k1OWk7QGY1TC1hZzFuKnV4aTk9XzF4
QVNVRVdZczNmLSFUdSViJjFYNU5HXkIhUG9PNVMtX0RnRSpVCnpIUGNRbEpley1UYm81cntVblk4
NVlRcH0hOyN4dEJHVylEI3FJeUk8RENATUhYV1U4eXY+TktabWxTTjVTN1krTQp6XyNYMXo/Mlh7
RUU1IX44QVhqfT4mfXppP2w/eFpMSlRlTWUqT2R1b3k0ZWErN2IzZjljUjhUODRjZXZZMXErbTcK
ejBPTFdGSyRqb1lDYVNIJSk1eVY/b3BxT1V1ZnhfT1pxbXslNlRmbV4kdjJIPUV7LWpOQVRENnsh
bGZII1Y7bFkyCnpKKm0rdCpeK1Q3KiNIZTM1Wlcre15ONER1K2d0VSRDaHZzYTB9M0ErV19eMl9E
TXs+ViM5TDNjSGlpbThidmJ4Ygp6eDJnNVFyOGdud15LNS0jNSl2cVFtPC1TdUlUWVJKSjNqd195
JD1manRWeDlfOEdYJnFiQ1N1cShFeXtRaWBgdVAKekEpbWpNSGdJe1Z4RilafTJfVWNIcF5yM2BR
MWkqQiZ2WDlIcEg1Mj1UbzZmIUVlKyVgRitqdmFFWlY5S0l6SSpTCnpJUH51dW5seXZpMFBrS1Vl
KyFPVHt+YFBjWSQqS2VgaG1EJkF0bHBXNm1mR3wyKU1nRFVvWW54d1N+aSsyQm9TRQp6dl5vMml4
KTgmWV4yQzw4T3BqRWV2KypySTYhNz9XPlVgZWtHUGYlakcyTFZfSkxRI1ZvKkcqVnF9bEpBZDBt
fHoKem07bHx2P1AlcnxJSDNOYio4e3NvcCVtbyNJZzZxK0M7KUc0Iyl2Z2dsKlQ0Uys8VUNYVVJO
UjYpJDg9Jl5SKDJiCnpqTCN8d0NuJWJFemZxVTYpZU01dmtuTXs4YmtESU8lVWlXTCVYY0tfb31E
flh7RVBlezZ6S3ZQd29ZNyNQMjheRgp6PylDSnhwempDO1B8UnVfTjFeX3ZWV2NrSk1AQiZNZkI+
aCsjZ2o/QWkmVzstWWZYO0k9a01BXnRmVk5aSWEzUSMKejgwfkM9MF5Ac3ktLSZGXldNQj4wPEpL
YzdOMTZXfHVYc34kYE5nellaeDx5OVBjZSEpVk5qTylQa007V3NHRjtnCnpEaS1OUD9xbWpxQjdM
a1pRWlNke2FSKihGZkItaXw+Q2xjXjVePkwoRTt7elAlLSlsVyFzPWdzNH1DSUg0JnpUaQp6T0ZZ
QFgxPHUrYk4kZFAkUV84d1YqeHhMI2skVHQrWkdgQUtRajFmTUIoK0ojJlJXR0AkWDJfVUs/fHBU
JSl8cXsKek0zOFJgWTQpUVBzdFYmbV9IQlc2bmE+M0tNNXhwdEwoemJUS0QpXiZicVFgdHVOb2tR
bDdocj5MRnhBQyQ/MTFGCnpoQk9vaitlV0F3bjc/IXc8Y2hvNjZ4aCt+JVFTc1Q1ZmFXX3ZATSp1
WGV8aVQ2R1hHKXM/ODdPSkxlayYwfDFYVgp6YDc2KDIpUT5tJUF3VjVOYXFNR0x2Z3NnO25WamZu
QClXPTt3Smo/c1YwVjV8MSQ7c0FoYk4xVE99MnlAODV5Mi0KenBEcWZ0SG1VZ0hwZSpPOWRfTW9j
QlRQKl9kSCVWeyNWdVc+cnkjXnx0Xj5rcXAjRm5oZk5uZGw7KE5lNmwwWkolCnpaMHpRITNLZjQp
Wl89ey0zJEgyS3NjPD5+P0pHZjMwZ3oyNUBnayRnY2khQDxvUS14TyRXOG1mOHxvKVVRQTQ5dgp6
OEBYajQ+MmRHdGwkWEpVVmN8LVM1MXE1QGtuZXN6cy1UaF4wWjJtZWN2b15EP0dFVUhvaHxmWlVy
K2tGX35YdTYKekh4RXAxU14kfkRLZEZ0PVpDWER8NT9mTmlSKT5MUVhMRyNYSkxpc3FiNnNYWWxH
LT5Ce0NNVGktZFRnb09TJTkjCnozKCNYJWdHO20yQTw4ZjNkKjFxa19BV0spcWR6bzZ1TCY8LUFy
JFMwIy00S2pWKkI2OTRWMjN8fDlIOU1saDQ3KAp6OGw5cF41YVRHZlVhVlE3XjlTeHsha3lPV0xq
WkdhbiV8KmI+KXhTSmJqT31iTCZIPTAteV9aMD48MHQ3dVQjb2YKeithbyQwajRhUk16aD1+JVBC
emhGbip5X3tsX1ZYfDAwWVBWYTEqbik2RTBNJm5Pc3EyQCtnTFdqcUl+ZGlMZm5yCnorKmBEVEZi
bWlxblZrbUVGPFEoNkFWYjUjVjV6KXs2Xkl0Yk5vb09nOWNyfUFyRzJxSWwwcDJ8UlhFd2FSfkEt
IQp6ZyF0ck42SHgzQyV3UHg7Y2NpSFdgXnM9UjtifXpxe3lFRX0jbWBqZkJsaih6UEhea2J3Rn5g
PGBWOz1gQHtDVEMKejRsVHItM3dxK3VJUFdyQjtrPFB9OGxLMjU2RzVvelYhV2whallTby1lNClC
XkpUVnpCYXNtQiNFWDNGNENyPj9mCnpIdkd5ZG9gSTVYQGslNVpvWWpNK25rVHRCOCVudVFtPT87
QnRjZCE3ZXReYFN5dE1ZcjM4bWNYaHhkNWRER0lybwp6Vm40ej10fGx4Xjt9SyU4VWdIdlE8ZTMj
ajY3P0ZsPHxKMFBlfSo9VGhRa1o7Ji1vWEd6UX5YaFRVd1NJT2JZcCYKentlR1B4Kn4rS1NLbS0t
WV5nemxAS29STSEzejVmSFg/V2ZDQXwkNSVNMF9Mez59JndFbT1weHxaOHR+d2QrOVVmCnpFS3Ry
eD5UbVo0WUNGND9QWGVLQjV4fE5+IzI2RGMyMGRhR3Z1QDNxP0toMWYkT1hwQF40fldvSllwSUtf
c2ZsIQp6UHp0JC07SDthbHh7VWBtZ3RnP2JfTWgxZnFvPihBSCNhXn5IYnQ+LVo1UH5FR3NGenli
dmVffmQtZio+cWpzfTEKejw0aXhAKXopLWxHPVlob1VFZ0smUzhyK28wPEdALUIhRi1TTjZCQ2NY
fUhhJUskaTEhRH5iT0llTVB1S2JDJX45CnpkUF5wWiotUzZkU0RHdTUzZjdyQFhee1YoVmxHVHoy
MUNLYjhmJUYyI1JeODcwX2RoPipPKzN8U3lSa0VHP2dydAp6bHxAMUdPKVFyV0VaSWA2NHl9WCk/
e3hSdkJ5ZFliQm0+bF42UCY0O143dVBNSERaOX5WOTR3bClzNW9GJlA1SCgKenJybkp+PjJnTyt8
OWszdXUjeDZ1JGdFVUVuendRNGFnKikjZjl0VkU0LTdtPWJFYVBoSHMkMDdEMzFCMk5peXp0Cnot
SG44KEc8MU5gLTJsYG48RlRKTXF3V3c5YDIhIT5GM1B7SylKMCQob053LSomPFZvVTkkelE+KDJa
Wlo4LW9+Swp6RGswfCtGYEVCUUp+PkgqTGpLekZJdkR4bG5DMCEyZnIpIVlRNWU4VGlQdWp0IWNQ
fV4lUlR5dEV8JUs4PHVvcWkKenN9Q1Y0Y1dDY0srfmYyKFhLXm09QWMrT0M2eD4wNWtqYyFwXlkl
Km8pUGooSjRZfCZ6NmA1Vy04fkxSVW98WDt+CnozUnRpPFRuVjd3ZU9IdlNhZj16YG5FYU9AQGxa
LWhjYjcqalNvUSYpPT4qJTt6MUEheihEKnhjLSRyLXlkJkM3Ugp6NHo8QUM4dUNqZFE8eGd0UCU/
VXV6T01BcVR3RDs5NCpyTF44RTlvK3czVCR7PF9DbyUlSCVxeHtCU1ZRM3c0cHwKelhXQk83MUh2
fW9MRCZHeSkoPW1HdEVkbDdpeHZudGRfTnc2Tmo5cjl4ZSRmWTsyLSskPjBzPlBIJUJTZ2pqcUZp
Cno1RDMpZUhnUSMrQzVmU09PRH07LUJXLT9KMTBRcE1lJTMlYEMwelRgVkkpVy1mRz44UWhPRj1B
Mm9jWldHfUcqPwp6KSMkdCQkeDtWcz9CNXtCSHJ0N3Y2eUFvNCRQU31qQ3JoKjRGbTtWNVArRHlU
TFdBbEI/NHd3bVFFKyFiUiViVWIKej5pfHNjKkBaXytOQ2Z0QGJaRXo7IzBgb3MpVE1uQykhX3tG
Y2djRjdtaSs3cDRlXzU0RlNvKzh3MmFiUUZVRVpWCnppJm5rcihIUXMpNG15V3p1OXdwPGctQDlQ
RUJUUXYmfkpueG1oWkF8QnpzXndDakJvJVdgUzJAemZwVTBreiNYewp6dlEmfHZpVlYoVkVAd1I0
OCN7NCgjaDxwfD5XOE96OUdrKz1GM040NkxgYDFtdzRkKndXY0pvNSNGciske25kP1oKemZBcmpK
V1crJVAqPyMqRWRve3JRRHN4OGxaZ0Y+UjtZeDNzOWdSPjx4e1FOLTd8dWtBcV82KClHeTgoUmIw
JmJeCnpWQ2pXeiVeMk5BdUZuSEw/WVB2WDY7fTBqJkVrUyEwRyY3Z1U2b3J8b3YpQ3hFejF5QEdn
NFheN2pMblE/NEZqMgp6MSF9OEJ7UmhyJFAkUk0jQk5iayVOSzlzQDJyNXFWeG1IRyErSjhiU1A+
T2lLMTNrKHdEKFNXdi1ZQnl4aF5IJnYKeihKRm5RdWJrfm1SV3AwUi1neHgyY19qMD90YXg5Xkwr
Wnd2d3Y8UDIwYmFvZV4meiU+PlNDPTQ+U2lremt5MGdrCnpFfDh8O0ZiNT1YdkcqXilifkU0a2d9
TX4lSlVjIXUyaERPbXk2fCpabVBAd08+YUR0S2ZKO003MXBSU1lsPGFqYAp6dVJsSD1Fc15FUEla
ZGVkNWBle1V6TFArO1VTOGlwJU52eGR3Yk1ic2h7UTtQZCVyQVY2YWVXdiVZKT8mRCsyYmIKelFj
bmspVC1De0dmWUB1eVZaJHQ2Vlp8KWNZPlhGK3pMXnxoK0YzUG5zKUg3e1MxZ3wwLVYzQn1McnVF
OygkYUAhCnp6MDEhYEw4ST9rJnxCeGZHZTlCdEU7N2lpZXBnK0BRLVFgOEIxeE93SmMqZTZkeDVt
QUViNyhgMkItTU4zPnU1Twp6cDViV3hRfG5URXdoU2czXnVRakYxXkNCREdFPTclRkxWQFh4cz1i
RDk3RkViVip+TTNVX04qeHQ8Pzl6T01JS0MKemgyREdzbytedTI4eXVae3JhYCYrRWhGV09ZPUdL
VnEhNzVVYU5yd3ZqcXRMbz8yRHVFJGhqdX1pd2g2Nl56MGFOCnpGNXNQdiMmMlV+aVdvS0VjOWJy
JlJjfG19JCN0Uj5gP3NoQUgob0hiaiQxNktfR2ZpP3dTaztGS3RLJVVhJT0+Pwp6Vms3bTxJI24t
QmlZQT49cjJCMTwoeFkhbmNNOXo5Yj0/Z0MtRVRJUTlnUVhyR281ckx0YUtSX1UkfntadkI9flgK
elB8V355MGgzWTROWjU2WVk1JGZzYkpfbWhqUlVtfndyOF4qPD14aHl3djFFVEJxM2xvJG49X19R
dnZgQURwSkchCno+YFE0bWI3LUtiWmAzYFFCVHhBNGEqMFIyaDJ7VHZhVWNPa00zYHBwYGxNJil1
NkVlcXVmOHxXRm5YbjctdVpIfgp6VXtCcFo+X3d6O0lHYGR3M3pIYD5KJnFXSUElUXtrSEApQSpl
UVpebUYxNGxsODIlWmFedHszPm1CbT40YkV9P1AKemRXTTR6NXpBcTdHPi19cTZoQU8hKGA4LXJ2
fTNUYDV6NyZPVEUwZ3UrMT1mZksjYz9BU0FrNkxVTWpmNysmKFElCnordjg8SF5UPT9pRF4rITk5
ZGJZKVYkbTJzVDxsVWRHNFN7c2paP3hlYHYjP2cyVW5GJlcrK0FhczlkSWEpfVdOMAp6Y2BWdlEy
NiVrb1IjS3tnKk9ZSzdQUCsreEMwNDdgXktyQkw9fENVcmo8SXFaTkxvYio/UFo7QXMreVU4JDxg
KWIKejEtSUVmPEFsJHpMM0E1ezk+cyhBUVlFfG1GYDJKallFKnghcEczWmN6c1NPUGZSdEspRi1r
fW8mI049e3Fyd0ptCnp2IUlkUGh6ZjImNjFaRmghUjRYKFJUfjsxR0x2MEZ1SHAodlIqZ0RYI2ph
Q0BSJkFsRTMpJkptIX1sMUkjNyNEZQp6czVfVSs0cU5nO3tUTkd4YCg0ajg2eF98al85SilZUk4y
clRzOFJLTjxPNShSKHZXKyM8KVNoazkjek91cE0jKUQKejR5fEEoJHRYVWJyRiFHeTslQVk1RSkq
bUlZOH14aUo3KSlTZUFmPWNtWC1+UEFjbSFsTFNiaThOXzZrNEdpKUctCnpjX1IkYW43JllqMX5i
eW5WKm8hLXdBaGxKa30hKygoYWp0azNFJTxeRDFaVV9XY0J9XyhqSFgpVVYwaCNHd1Z5Jgp6Vkl7
UCRtVVU8Y0ZqN31zWnZ9eGkmYDtnTCFNQWEkWTBHO2YtTW4kfFRiOEFsMDI2aVZJY2oqKVp8bn1C
LUZwQTMKenpKeD1sWGstMzRQT3ppbkR9U1k/XjtiTiUjelIxOEo/eSp8dlI0MkxFR0khWVFzMEVp
XktaSEQqQFFReDRyUD1HCnprNDBPa3R5MD1KZjlVYipzb1JQTnVrP29yVjg1VTV6bEAjUXs9dWtS
Yz1lZF8jUDgtMnJmSEohZH5WcTw+SlYpdQp6V3FsYjwmNX1jfTRQXj85LV8jLWBmIWtCU15POWwz
bDk0blZ2MmttTzAkLXNeT3BjSlUrQitAfj9fVU96b0pHbkEKemZeNDhGWHMyRik1N3c5TDt3PyNr
YkFveUxYbiZpZ3RoQSZ3IyVQVnh6ZT9hVHxOSDcxK1gqcWY0VnYzb1A8SmYyCnoqQT1gaTk1e0Fi
TzBVZEBRYlJiYWtJMFFMWT98XjFwSk5LNEE8KTVVNTBINFY9fFJWfGw7Mk4mRG4xSkYka2EtbAp6
UyFFI1pVeSNlNXZsaCkmaHVqe1BDLWU8eiNZNDZ9TTZZIzQhbmZOUko0TVVvIWB8SyFkUENlJXJH
MXBFZjJ2WVkKeipSZzBEV15oU0xhX047fUAzIyooeCZmXkByen1KcVcjczE3aHRGfm9mWHl2bDJU
MHkyaDB7aTV1U21PaDVAXmNHCnp2V3dlMyo0bzUrU2RJJkR7YU9eNVNCSTtHWiFUU0YmQUZKQDFI
TntqckdiWTs/S3M5RzBUJHVXdD13eVpBcUx2fQp6b1VKWVNiNTxRUV4pYF81ZlJoIV9rUlNvZlQj
aX1pKkVXOWc2WVR2S3VgWSgoX0tGcFlVM1pMSXo0SSo/WGRAKG0Keip9VFAwPkVGRT9wJV9YSjJn
PW93I1N3ajBUNXNJSjc3SShoWCs2eT9DQ2x3PTV+JCNkKFYpTlYqWkcpX1Z2SiVeCnpudWN7KEM/
I0lyMUskUishcHBuT2ZvJD5lP3lVQmJYS2pAfm96UCQmKDZGXkomQnEhOW1fVHZ8T3o7M3EleTF8
Jgp6X1Z2Z3RTPl9vTk58bTIxWmxtQlh6en1xbmdjQWQ5JEwmK0hSZWVXKF57K1JfajlNekVieTBo
PkFWMGZpWlFZZm4KempSdyVoYCtwN0haKSRNUyRFQGVSQjBqIUVidEdTSDAoSUJWaSZJVGA3amhF
TXJgdzRQY3BONytAaGY0XisoZmlsCnpfNCFtWlpGfEw8KDRfN3o5TyV4QEcyZVo0cnhpM0ZFK3RX
bWJiVSQ1anUrMUY5dn5XPWxfPTNUM3JmaVFyQklVKwp6WEdjPndUM3t5SjgoM0w4KU1YJXY4WUdJ
PStRZlZ4cnM8eHRqUz1QK1Nac0AmSD4oQ1lsdjUoUzdFeGtoYmFDaWMKekZvYHAlODByeDw+Mjwk
K28lWl9GVmQxWGYzYCM0Z09tI0BeX1omSzVXUEA4KGQ3VX5tTnQ8S2VKTlo9Xzg3eU1tCnpiZGpu
Kk4kPXpkY0tCQHkxfjc9TktDMntYIVBaU2QjfT9NQ1p2cVJncXwyIzdQcTc+ZzJ8Rks3SXNZXj07
bWdhbQp6b1VhbURlYGhgb0Awc3VLO3BHZEs0bEhpeklDWSgpemYkN3xTPn45UW1mb1ppcT57fSte
RzNZN3ZMdURVdHEzeiYKejA0PVlEV0BNPjQ7UTFeRVdoaForPV5OdEVGcTFZbFhGZHJWRG1OeDwq
YDlNUWkhOU4hb0BrRj5IT2hlamleWUszCnp2THBVV05pNlljKWYwOGQpXm9oeTVoTytUbSY8O343
VUB+ZkZaKSklZzZfT21ocm9gJGRKMjllUyRDfHp8NCRTdAp6UUM+Uj41U1pJYmplJm9+KldTdDxW
fEwlcllaZ3hDb3kjYEEoY2RBZjJtUTZUPzd6PH1YVyg3OGZvUml0KypIemkKejllZzNNfDQ1JHdP
UnhVI0B1PlA9OXFiO21hKSlVOyU0Y2NBNV9IOWF0XiY9fnJXVU1VUEFwaX00cnRsYlVEMkktCnpw
e3R7b01yI2VBeTFgUnM8KTNxODgmZnZET1dZX3xCbHMhLVBvMGI1e34qSGlQYHotUEplJikqbmAj
RzN4SVJjQAp6S1d1aV9gSlRAWjZHaFl0SmNCZWcma2l1N2U1fmJpOXE8aWhpYEhfVj00fGkyaWB6
TE9WMmFZIWE9Ql5AJCZDUGQKenRsaWFNKlZQXmhCeEkxNXdqYGohc1BqTyNFfFZ0IVRESV4xOVM7
OzBFSCtJeVhlcGdsXlZxcHM8QzZfMzFVWH1TCno5eHkjQzJHR04lWCFhZmIxMDxPNE9pPUM3djUm
Pk4yd31DcF9yQlBpe25rWnMlT0E7dG1GQnV8YXNRa0lfJSpWeAp6PmZFRX43T0B6SDQmaCl4dSE0
b0xacU1XVjgtWWBsZThNQFBvfH0jP1MtNiE1ZE1rKzY1PUR6ait4X2pXbWNnPjwKemgqeFYqUj5L
ZCFLaT5aRnwyOXw0eC03RVQ4Yko0KlF5VzB8amFSbDZhY1pyVSkwYzRZJTxreXFifUttYHVCIUpO
CnpGT3A8JVJJb0xybmkrdSUwYTMjc1dDOzx8fEFGU3hWcH15R0Z5cmAyI1lnaFc5Vmh2KUd+cWJi
P2ZRUUs3c0ZaRgp6cShvNj15a0pSQ1VlLV5me2h9Mio2IzEhMzdtfVUrYTBteVlyM1RFUTZfRCg1
PzUrY3oodzN5VmUmTylzUkw5d0AKelYjN0c9JmVXXjBEY05CQih0MXlDZVZTaUhJVEVFPTZuT3J2
JDY1THQmOU5BOypValBkZU9EfEIzTCFpWkNlVHU/CnpJfk0zYCNvNnNDbUJQPmM9emA1Ry1oSnR3
VW9zQ194cCk2aHdLcmRqVCVyeV43QytmUkc2VUluR2AtcWh5I1grXgp6e0pSYlJrNW5VJVcrdUBQ
bVc9QSgyd2d1Qi1RfVVTdjRqcjRJe3wmeG57Py0md0JVWSQ9SEptdmUkUzRtUXIlMT4KeiVVdEgm
Jilla0hqXjNXI01YOFBAaj9pdzJeWn07Oz09ITdJQ2dKJmVUdHtmdWVwT0ghQT9Kdng0Tl8mKG0t
SklDCnp4SVk3dVM5PFRZUlJfYj1UOD9CMl8+WlJUPFlFc1NvazhmbklSQCQpYGJCQE9HMFBDNV5P
dUhoRjYjb205PUdgYQp6ZWZfVmBKQl43ckdhPlF8d2J0c0x2YWdudFV3YSFIKnwoY09PTUxue3ZT
U09xeGoxeUhYWno0Rzk9Vjd8KDtwe2EKelZVQ0BoUjReS0tSVntkKkAqMzs3WHZpWn5gVyktOWlE
RG1JS3V1OTRVIUZocWZoJFNCNHV5Zk0yeUoydS1sXnlKCnp0S15EdlUtIU9XciZlWDg7XnJffj0h
N2R3bDd6RjdXIzJ0bikoKjk/KHhKbnorO0tuKUBSWDZOamx6LTRNMylfPAp6JW5IPkdgd21PXjF+
ZHxpcWNtQ3pAYWY9ckN4Y0VTbW98KmhJeUNicFk7UXp0PXhYT1p7YzQkVjM9R2JSMlJ2anMKemxW
R29MaT12USRXbT80TVp4NVdlVGg1M3ZgPTVQKlpWJWpATjdwUjZIKXlGaT1JP3NZMyl3JVI2OVlm
Uk5YMDY0CnoqNWZIQXBhJTVJTm8hOChhRENjWkVMWlBPKCokWmN6MkBNU0o8IUdZK1craUJnMFds
QUQpJndxKWQ0bFRMO25aVQpDPURjU0IKCmRpZmYgLS1naXQgYS9XZWJzaXRlcy93ZWJraXQub3Jn
L2RlbW9zL3dlYmdwdS8yZC5qcyBiL1dlYnNpdGVzL3dlYmtpdC5vcmcvZGVtb3Mvd2ViZ3B1LzJk
LmpzCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAzZmIzYzhiMmJlYWZhZjA5MDNiMTM4
N2JkM2ExYzdhNmVjOTI0YTY5Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwCi0tLSBhL1dlYnNpdGVzL3dlYmtpdC5vcmcvZGVtb3Mvd2ViZ3B1LzJkLmpzCisrKyAvZGV2
L251bGwKQEAgLTEsMTQyICswLDAgQEAKLWNsYXNzIFVuaWZvcm0gewotICAgIGNvbnN0cnVjdG9y
KGZsb2F0MzJBcnJheSkgewotICAgICAgICBpZiAoZmxvYXQzMkFycmF5ICYmIGZsb2F0MzJBcnJh
eS5sZW5ndGggIT0gNjQpIHsKLSAgICAgICAgICAgIGNvbnNvbGUubG9nKCJJbmNvcnJlY3QgYmFj
a2luZyBzdG9yZSBmb3IgVW5pZm9ybSIpOwotICAgICAgICAgICAgcmV0dXJuOwotICAgICAgICB9
Ci0KLSAgICAgICAgdGhpcy5hcnJheSA9IGZsb2F0MzJBcnJheSB8fCBuZXcgRmxvYXQzMkFycmF5
KDY0KTsKLSAgICB9Ci0gICAgLy8gTGF5b3V0IGlzCi0gICAgLy8gMC0xID0gcmVzb2x1dGlvbiAo
ZmxvYXQyKQotICAgIC8vIDIgPSB0aW1lIChmbG9hdCkKLSAgICBnZXQgYnVmZmVyKCkgewotICAg
ICAgICByZXR1cm4gdGhpcy5hcnJheTsKLSAgICB9Ci0gICAgZ2V0IHJlc29sdXRpb24oKSB7Ci0g
ICAgICAgIHJldHVybiB0aGlzLmFycmF5LnN1YmFycmF5KDAsIDIpOwotICAgIH0KLSAgICBnZXQg
dGltZSgpIHsKLSAgICAgICAgcmV0dXJuIHRoaXMuYXJyYXlbMl07Ci0gICAgfQotICAgIHNldCBy
ZXNvbHV0aW9uKHZhbHVlKSB7Ci0gICAgICAgIHRoaXMuYXJyYXlbMF0gPSB2YWx1ZVswXTsKLSAg
ICAgICAgdGhpcy5hcnJheVsxXSA9IHZhbHVlWzFdOwotICAgIH0KLSAgICBzZXQgdGltZSh2YWx1
ZSkgewotICAgICAgICB0aGlzLmFycmF5WzJdID0gdmFsdWU7Ci0gICAgfQotICAgIGNvcHlWYWx1
ZXNUbyhidWZmZXIpIHsKLSAgICAgICAgdmFyIGJ1ZmZlckRhdGEgPSBuZXcgRmxvYXQzMkFycmF5
KGJ1ZmZlci5jb250ZW50cyk7Ci0gICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgMzsgaSsrKSB7
Ci0gICAgICAgICAgICBidWZmZXJEYXRhW2ldID0gdGhpcy5hcnJheVtpXTsKLSAgICAgICAgfQot
ICAgIH0KLX0KLQotY29uc3QgdmVydGV4RGF0YSA9IG5ldyBGbG9hdDMyQXJyYXkoCi1bCi0gICAg
LTEsIC0xLCAwLCAxLAotICAgIDEsIC0xLCAwLCAxLAotICAgIDEsIDEsIDAsIDEsCi0gICAgLTEs
IC0xLCAwLCAxLAotICAgIC0xLCAxLCAwLCAxLAotICAgIDEsIDEsIDAsIDEsCi1dKTsKLQotbGV0
IGdwdTsKLWxldCBjb21tYW5kUXVldWU7Ci1sZXQgcmVuZGVyUGFzc0Rlc2NyaXB0b3I7Ci1sZXQg
cmVuZGVyUGlwZWxpbmVTdGF0ZTsKLQotY29uc3QgTnVtQWN0aXZlVW5pZm9ybUJ1ZmZlcnMgPSAz
OwotbGV0IHVuaWZvcm1zID0gbmV3IEFycmF5KE51bUFjdGl2ZVVuaWZvcm1CdWZmZXJzKTsKLWxl
dCB1bmlmb3JtQnVmZmVycyA9IG5ldyBBcnJheShOdW1BY3RpdmVVbmlmb3JtQnVmZmVycyk7Ci1s
ZXQgY3VycmVudFVuaWZvcm1CdWZmZXJJbmRleCA9IDA7Ci0KLXdpbmRvdy5hZGRFdmVudExpc3Rl
bmVyKCJsb2FkIiwgaW5pdCwgZmFsc2UpOwotCi1mdW5jdGlvbiBpbml0KCkgewotCi0gICAgaWYg
KCFjaGVja0ZvcldlYkdQVSgpKSB7Ci0gICAgICAgIHJldHVybjsKLSAgICB9Ci0KLSAgICBsZXQg
Y2FudmFzID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvcigiY2FudmFzIik7Ci0gICAgbGV0IGNhbnZh
c1NpemUgPSBjYW52YXMuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7Ci0gICAgY2FudmFzLndpZHRo
ID0gY2FudmFzU2l6ZS53aWR0aDsKLSAgICBjYW52YXMuaGVpZ2h0ID0gY2FudmFzU2l6ZS5oZWln
aHQ7Ci0KLSAgICBncHUgPSBjYW52YXMuZ2V0Q29udGV4dCgid2ViZ3B1Iik7Ci0gICAgY29tbWFu
ZFF1ZXVlID0gZ3B1LmNyZWF0ZUNvbW1hbmRRdWV1ZSgpOwotCi0gICAgbGV0IGxpYnJhcnkgPSBn
cHUuY3JlYXRlTGlicmFyeShkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgibGlicmFyeSIpLnRleHQp
OwotICAgIGxldCB2ZXJ0ZXhGdW5jdGlvbiA9IGxpYnJhcnkuZnVuY3Rpb25XaXRoTmFtZSgidmVy
dGV4X21haW4iKTsKLSAgICBsZXQgZnJhZ21lbnRGdW5jdGlvbiA9IGxpYnJhcnkuZnVuY3Rpb25X
aXRoTmFtZSgiZnJhZ21lbnRfbWFpbiIpOwotCi0gICAgaWYgKCFsaWJyYXJ5IHx8ICFmcmFnbWVu
dEZ1bmN0aW9uIHx8ICF2ZXJ0ZXhGdW5jdGlvbikgewotICAgICAgICByZXR1cm47Ci0gICAgfQot
Ci0gICAgbGV0IHBpcGVsaW5lRGVzY3JpcHRvciA9IG5ldyBXZWJHUFVSZW5kZXJQaXBlbGluZURl
c2NyaXB0b3IoKTsKLSAgICBwaXBlbGluZURlc2NyaXB0b3IudmVydGV4RnVuY3Rpb24gPSB2ZXJ0
ZXhGdW5jdGlvbjsKLSAgICBwaXBlbGluZURlc2NyaXB0b3IuZnJhZ21lbnRGdW5jdGlvbiA9IGZy
YWdtZW50RnVuY3Rpb247Ci0gICAgLy8gTk9URTogT3VyIEFQSSBwcm9wb3NhbCBoYXMgdGhlc2Ug
dmFsdWVzIGFzIGVudW1zLCBub3QgY29uc3RhbnQgbnVtYmVycy4KLSAgICAvLyBXZSBoYXZlbid0
IGdvdCBhcm91bmQgdG8gaW1wbGVtZW50aW5nIHRoZSBlbnVtcyB5ZXQuCi0gICAgcGlwZWxpbmVE
ZXNjcmlwdG9yLmNvbG9yQXR0YWNobWVudHNbMF0ucGl4ZWxGb3JtYXQgPSBncHUuUGl4ZWxGb3Jt
YXRCR1JBOFVub3JtOwotCi0gICAgcmVuZGVyUGlwZWxpbmVTdGF0ZSA9IGdwdS5jcmVhdGVSZW5k
ZXJQaXBlbGluZVN0YXRlKHBpcGVsaW5lRGVzY3JpcHRvcik7Ci0KLSAgICBmb3IgKGxldCBpID0g
MDsgaSA8IE51bUFjdGl2ZVVuaWZvcm1CdWZmZXJzOyBpKyspIHsKLSAgICAgICAgbGV0IHVuaWZv
cm0gPSBuZXcgVW5pZm9ybSgpOwotICAgICAgICB1bmlmb3JtLnJlc29sdXRpb24gPSBuZXcgRmxv
YXQzMkFycmF5KFtjYW52YXNTaXplLndpZHRoLCBjYW52YXNTaXplLmhlaWdodF0pOwotICAgICAg
ICB1bmlmb3Jtc1tpXSA9IHVuaWZvcm07Ci0gICAgICAgIHVuaWZvcm1CdWZmZXJzW2ldID0gZ3B1
LmNyZWF0ZUJ1ZmZlcih1bmlmb3JtLmJ1ZmZlcik7Ci0gICAgfQotCi0gICAgcmVuZGVyUGFzc0Rl
c2NyaXB0b3IgPSBuZXcgV2ViR1BVUmVuZGVyUGFzc0Rlc2NyaXB0b3IoKTsKLSAgICAvLyBOT1RF
OiBPdXIgQVBJIHByb3Bvc2FsIGhhcyBzb21lIG9mIHRoZXNlIHZhbHVlcyBhcyBlbnVtcywgbm90
IGNvbnN0YW50IG51bWJlcnMuCi0gICAgLy8gV2UgaGF2ZW4ndCBnb3QgYXJvdW5kIHRvIGltcGxl
bWVudGluZyB0aGUgZW51bXMgeWV0LgotICAgIHJlbmRlclBhc3NEZXNjcmlwdG9yLmNvbG9yQXR0
YWNobWVudHNbMF0ubG9hZEFjdGlvbiA9IGdwdS5Mb2FkQWN0aW9uQ2xlYXI7Ci0gICAgcmVuZGVy
UGFzc0Rlc2NyaXB0b3IuY29sb3JBdHRhY2htZW50c1swXS5zdG9yZUFjdGlvbiA9IGdwdS5TdG9y
ZUFjdGlvblN0b3JlOwotICAgIHJlbmRlclBhc3NEZXNjcmlwdG9yLmNvbG9yQXR0YWNobWVudHNb
MF0uY2xlYXJDb2xvciA9IFswLjM1LCAwLjY1LCAwLjg1LCAxLjBdOwotCi0gICAgdmVydGV4QnVm
ZmVyID0gZ3B1LmNyZWF0ZUJ1ZmZlcih2ZXJ0ZXhEYXRhKTsKLSAgICByZW5kZXIoKTsKLX0KLQot
ZnVuY3Rpb24gcmVuZGVyKCkgewotCi0gICAgdXBkYXRlVW5pZm9ybURhdGEoY3VycmVudFVuaWZv
cm1CdWZmZXJJbmRleCk7Ci0KLSAgICBsZXQgY29tbWFuZEJ1ZmZlciA9IGNvbW1hbmRRdWV1ZS5j
cmVhdGVDb21tYW5kQnVmZmVyKCk7Ci0KLSAgICBsZXQgZHJhd2FibGUgPSBncHUubmV4dERyYXdh
YmxlKCk7Ci0KLSAgICByZW5kZXJQYXNzRGVzY3JpcHRvci5jb2xvckF0dGFjaG1lbnRzWzBdLnRl
eHR1cmUgPSBkcmF3YWJsZS50ZXh0dXJlOwotCi0gICAgbGV0IGNvbW1hbmRFbmNvZGVyID0gY29t
bWFuZEJ1ZmZlci5jcmVhdGVSZW5kZXJDb21tYW5kRW5jb2RlcldpdGhEZXNjcmlwdG9yKHJlbmRl
clBhc3NEZXNjcmlwdG9yKTsKLSAgICBjb21tYW5kRW5jb2Rlci5zZXRSZW5kZXJQaXBlbGluZVN0
YXRlKHJlbmRlclBpcGVsaW5lU3RhdGUpOwotICAgIGNvbW1hbmRFbmNvZGVyLnNldFZlcnRleEJ1
ZmZlcih2ZXJ0ZXhCdWZmZXIsIDAsIDApOwotICAgIGNvbW1hbmRFbmNvZGVyLnNldFZlcnRleEJ1
ZmZlcih1bmlmb3JtQnVmZmVyc1tjdXJyZW50VW5pZm9ybUJ1ZmZlckluZGV4XSwgMCwgMSk7Ci0g
ICAgY29tbWFuZEVuY29kZXIuc2V0RnJhZ21lbnRCdWZmZXIodW5pZm9ybUJ1ZmZlcnNbY3VycmVu
dFVuaWZvcm1CdWZmZXJJbmRleF0sIDAsIDApOwotCi0gICAgLy8gTk9URTogT3VyIEFQSSBwcm9w
b3NhbCB1c2VzIHRoZSBlbnVtIHZhbHVlICJ0cmlhbmdsZSIgaGVyZS4gV2UgaGF2ZW4ndCBnb3Qg
YXJvdW5kIHRvIGltcGxlbWVudGluZyB0aGUgZW51bXMgeWV0LgotICAgIGNvbW1hbmRFbmNvZGVy
LmRyYXdQcmltaXRpdmVzKGdwdS5QcmltaXRpdmVUeXBlVHJpYW5nbGUsIDAsIDYpOwotCi0gICAg
Y29tbWFuZEVuY29kZXIuZW5kRW5jb2RpbmcoKTsKLSAgICBjb21tYW5kQnVmZmVyLnByZXNlbnRE
cmF3YWJsZShkcmF3YWJsZSk7Ci0gICAgY29tbWFuZEJ1ZmZlci5jb21taXQoKTsKLQotICAgIGN1
cnJlbnRVbmlmb3JtQnVmZmVySW5kZXggPSAoY3VycmVudFVuaWZvcm1CdWZmZXJJbmRleCArIDEp
ICUgTnVtQWN0aXZlVW5pZm9ybUJ1ZmZlcnM7Ci0gICAgcmVxdWVzdEFuaW1hdGlvbkZyYW1lKHJl
bmRlcik7Ci19Ci0KLWZ1bmN0aW9uIHVwZGF0ZVVuaWZvcm1EYXRhKGluZGV4KSB7Ci0gICAgdmFy
IG5vdyA9IERhdGUubm93KCkgJSAxMDAwMDAgLyA1MDA7Ci0gICAgbGV0IHVuaWZvcm0gPSB1bmlm
b3Jtc1tpbmRleF07Ci0gICAgdW5pZm9ybS50aW1lID0gbm93OwotCi0gICAgdW5pZm9ybS5jb3B5
VmFsdWVzVG8odW5pZm9ybUJ1ZmZlcnNbaW5kZXhdKTsKLQotfQpkaWZmIC0tZ2l0IGEvV2Vic2l0
ZXMvd2Via2l0Lm9yZy9kZW1vcy93ZWJncHUvY2lyY2xlLnN2ZyBiL1dlYnNpdGVzL3dlYmtpdC5v
cmcvZGVtb3Mvd2ViZ3B1L2NpcmNsZS5zdmcKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IGViN2EwZTkxMjg0ZWIyNjc0MmQzYWUxMDY3NDdhZTY3MjFmODE5NzQuLjAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvV2Vic2l0ZXMvd2Via2l0Lm9yZy9kZW1v
cy93ZWJncHUvY2lyY2xlLnN2ZworKysgL2Rldi9udWxsCkBAIC0xLDYgKzAsMCBAQAotPHN2ZyB4
bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxMDAgMTAwIj4K
LQotPGNpcmNsZSBmaWxsPSJyZ2IoMjI0LCAyMjQsIDIyNCkiIGN4PSI1MCIgY3k9IjUwIiByPSI0
MCIvPgotPGNpcmNsZSBmaWxsPSJub25lIiBzdHJva2U9InJnYigyMjQsIDIyNCwgMjI0KSIgc3Ry
b2tlLXdpZHRoPSIwLjUiIHN0cm9rZS1kYXNoYXJyYXk9IjIuNSAyIiBjeD0iNTAiIGN5PSI1MCIg
cj0iNDEiLz4KLQotPC9zdmc+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0
IGEvV2Vic2l0ZXMvd2Via2l0Lm9yZy9kZW1vcy93ZWJncHUvY3ViZXMuaHRtbCBiL1dlYnNpdGVz
L3dlYmtpdC5vcmcvZGVtb3Mvd2ViZ3B1L2N1YmVzLmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IGI2OTMxYTFjM2M5Mzk0YzFkYWZmNTM3NDczMGNiNDY1MTYyZTE5NTMuLjAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvV2Vic2l0ZXMvd2Via2l0
Lm9yZy9kZW1vcy93ZWJncHUvY3ViZXMuaHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDc4ICswLDAg
QEAKLTwhRE9DVFlQRSBodG1sPgotPGh0bWw+Ci08aGVhZD4KLTxtZXRhIG5hbWU9InZpZXdwb3J0
IiBjb250ZW50PSJ3aWR0aD02MDAiPgotPG1ldGEgaHR0cC1lcXVpdj0iQ29udGVudC10eXBlIiBj
b250ZW50PSJ0ZXh0L2h0bWw7IGNoYXJzZXQ9dXRmLTgiPgotPHRpdGxlPldlYkdQVSBDdWJlcyBk
ZW1vPC90aXRsZT4KLTxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0ic2hhcmVkLmNzcyI+Ci08
bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Imh0dHBzOi8vd2Via2l0Lm9yZy93cC1jb250ZW50
L3RoZW1lcy93ZWJraXQvc3R5bGUuY3NzIj4KLTxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0i
aHR0cHM6Ly93d3cuYXBwbGUuY29tL3dzcy9mb250cz9mYW1pbHk9TXlyaWFkK1NldCtQcm8mYW1w
O3Y9MSI+Ci08c2NyaXB0IHNyYz0iZ2wtbWF0cml4LW1pbi5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0
IHNyYz0ic2hhcmVkLmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSJjdWJlcy5qcyI+PC9zY3Jp
cHQ+Ci08c2NyaXB0IGlkPSJsaWJyYXJ5IiB0eXBlPSJ4LXNoYWRlci94LW1ldGFsIj4KLSNpbmNs
dWRlIDxtZXRhbF9zdGRsaWI+Ci0jaW5jbHVkZSA8c2ltZC9zaW1kLmg+Ci0KLXVzaW5nIG5hbWVz
cGFjZSBtZXRhbDsKLQotc3RydWN0IHVuaWZvcm1fdAotewotICAgIGZsb2F0NHg0IG1vZGVsdmll
d19wcm9qZWN0aW9uX21hdHJpeDsKLSAgICBmbG9hdDR4NCBub3JtYWxfbWF0cml4OwotICAgIGZs
b2F0NCBhbWJpZW50X2NvbG9yOwotICAgIGZsb2F0IG11bHRpcGxpZXI7Ci19IF9fYXR0cmlidXRl
X18gKChhbGlnbmVkICgyNTYpKSk7Ci0KLWNvbnN0YW50IGZsb2F0MyBsaWdodF9wb3NpdGlvbiA9
IGZsb2F0MygwLjAsIC0xLjAsIDEuMCk7Ci1jb25zdGFudCBmbG9hdDQgbGlnaHRfY29sb3IgPSBm
bG9hdDQoMSwgMSwgMSwgMSk7Ci0KLXN0cnVjdCB2ZXJ0ZXhfdAotewotICAgIHBhY2tlZF9mbG9h
dDMgcG9zaXRpb247Ci0gICAgcGFja2VkX2Zsb2F0MyBub3JtYWw7Ci19OwotCi1zdHJ1Y3QgdmFy
eWluZ190IHsKLSAgICBmbG9hdDQgcG9zaXRpb24gW1twb3NpdGlvbl1dOwotICAgIGhhbGY0IGNv
bG9yOwotfTsKLQotdmVydGV4IHZhcnlpbmdfdCB2ZXJ0ZXhfZnVuY3Rpb24oZGV2aWNlIHZlcnRl
eF90KiB2ZXJ0ZXhfYXJyYXkgW1sgYnVmZmVyKDApIF1dLAotICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGNvbnN0YW50IHVuaWZvcm1fdCYgdW5pZm9ybXMgW1sgYnVmZmVyKDEpIF1dLAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVuc2lnbmVkIGludCB2aWQgW1sgdmVydGV4
X2lkIF1dKQotewotICAgIHZhcnlpbmdfdCBvdXQ7Ci0KLSAgICBmbG9hdDQgcG9zaXRpb24gPSBm
bG9hdDQoZmxvYXQzKHZlcnRleF9hcnJheVt2aWRdLnBvc2l0aW9uKSwgMS4wKTsKLSAgICBvdXQu
cG9zaXRpb24gPSB1bmlmb3Jtcy5tb2RlbHZpZXdfcHJvamVjdGlvbl9tYXRyaXggKiBwb3NpdGlv
bjsKLQotICAgIGZsb2F0MyBub3JtYWwgPSB2ZXJ0ZXhfYXJyYXlbdmlkXS5ub3JtYWw7Ci0gICAg
ZmxvYXQ0IGV5ZV9ub3JtYWwgPSBub3JtYWxpemUodW5pZm9ybXMubm9ybWFsX21hdHJpeCAqIGZs
b2F0NChub3JtYWwsIDAuMCkpOwotCi0gICAgZmxvYXQgbl9kb3RfbCA9IGRvdChleWVfbm9ybWFs
LnJnYiwgbm9ybWFsaXplKGxpZ2h0X3Bvc2l0aW9uKSk7Ci0gICAgbl9kb3RfbCA9IGZtYXgoMC4w
LCBuX2RvdF9sKTsKLQotICAgIG91dC5jb2xvciA9IGhhbGY0KHVuaWZvcm1zLmFtYmllbnRfY29s
b3IgKyBsaWdodF9jb2xvciAqIG5fZG90X2wpOwotCi0gICAgcmV0dXJuIG91dDsKLX0KLQotZnJh
Z21lbnQgaGFsZjQgZnJhZ21lbnRfZnVuY3Rpb24odmFyeWluZ190IGluIFtbc3RhZ2VfaW5dXSkK
LXsKLSAgICByZXR1cm4gaW4uY29sb3I7Ci19OwotPC9zY3JpcHQ+Ci08L2hlYWQ+Ci08Ym9keT4K
LTxjYW52YXM+PC9jYW52YXM+Ci08ZGl2IGlkPSJlcnJvciI+Ci0gICAgPGgyPldlYkdQVSBub3Qg
YXZhaWxhYmxlPC9oMj4KLSAgICA8cD4KLSAgICAgICAgTWFrZSBzdXJlIHlvdSBhcmUgb24gYSBz
eXN0ZW0gd2l0aCBXZWJHUFUgZW5hYmxlZC4gSW4KLSAgICAgICAgU2FmYXJpLCBmaXJzdCBtYWtl
IHN1cmUgdGhlIERldmVsb3BlciBNZW51IGlzIHZpc2libGUgKFByZWZlcmVuY2VzIOKGkgotICAg
ICAgICBBZHZhbmNlZCksIHRoZW4gRGV2ZWxvcCDihpIgRXhwZXJpbWVudGFsIEZlYXR1cmVzIOKG
kiBFbmFibGUgV2ViR1BVLgotICAgIDwvcD4KLTwvZGl2PgotPC9ib2R5PgotPC9odG1sPgpkaWZm
IC0tZ2l0IGEvV2Vic2l0ZXMvd2Via2l0Lm9yZy9kZW1vcy93ZWJncHUvY3ViZXMuanBnIGIvV2Vi
c2l0ZXMvd2Via2l0Lm9yZy9kZW1vcy93ZWJncHUvY3ViZXMuanBnCmRlbGV0ZWQgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCA4YTNlYjFlYzZlNGVjY2E3OWYzYTkwZDU5ZmNhOTY1ZWJkYmUyNTk2Li4w
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCkdJVCBiaW5hcnkgcGF0Y2gK
bGl0ZXJhbCAwCkhjbVY/ZDAwMDAxCgpsaXRlcmFsIDQyMjk1CnpjbWVGWDF5byRtKGw1RykhUUl7
Ni04SHpvMX04dnBjUEVnTDFQdnJlZk1DSUdMVTZhPjdNJFNqPyNgWCRvZDVzYQp6YD5wcmdefVlB
KlRKS3h5b3UxalZmNGlyO2MyIyVSP3lCbmpIMW82IVVARk5lJF5qcXswNFA4fHp8I3M0RChoP2EK
ejUmJT9IMGNIUkk1Q0okNEhVTmVxNWNDNnBoeWwxaTd5eSgmQiE2UXE1YVR+LVU7eUIpOVJUfUo4
YmojJGNZJCpMCnotVEkkcm1ASnNUQ192e347RDYhWXEpI2hJUkpOWDt1RUhEfiZLflIqUnhVNUIq
KTNoMUlEOVEhSWs/ejRJUkhAIQp6VXNuckQyV3dCdDd1R2cqJlNLT0Bqamh5X2MyOzg0YGgyUktz
OzwpM3dzczJzPyQrQT1ZQzR3dzR3Z2J6KURxJjkKenFRMWh1UE9lVllvKShuOFBMOXFWIW9GaEVm
MHpxSEAkWUk1WVJXJChvKF5LdjJDNXBBKGt8fVNsemk7Rz8zfm9sCnoqNnZtPmd8JWVse0BFNktC
fVY7RUEkQCMmKm5OMXxVRUZPcnhQKmorSTVAZEV4VmhQJjZsQC1UJllsKiZZfGI3dQp6ZXtxbnBf
T051ZmJNPkB5YWk7dnUoYyo9Um0hfXZ0SDMjJCM5Ukl3PFp9XypZOyp8ZGB8TCVjKl9yU2s8O05M
eSkKej87aU1mNUImZUgybWE7bFNVVz5xOTNRQUoxM1ZvN2YqUTZpby1RNz9GMFBiMz8ze3EwbCVn
dV5aPkl9ZHskUlI0Cno1T2Fib2BkMXdBOWQ7KWFEUHtqIUQpPyFZYTdJeUQrRHQ9QlR+MUwmX0sp
OTMqbFhlSD5JajFnMDhZLUg/cHBGdgp6bG1eY1lER15xbjRqVlNxe2JMMDxFRyNgLUJ7ZWl1ZSlJ
aDZ7RD1TRktiS1F+KyZmXkw/S2lLI3ROJntOJUw/aWkKekxIJER3REVTTDM0QClOfnU3VnplbWFn
dWUwMDBoISozPFpTeThnendQPmt5aTYlZE4rZXEpPHw7S0FTYyNYcz0hCno5fnZEa1goLUooKVBx
SH11eUQ1bDA5MHItSzxSQzExTGNFQzI+fGZlJlFeQkwwRCNSNCNwMEg+N0ZHYTIyPmxPVwp6YiNp
an5qa0JQYkB4fWtkJEw0Pis3OFdvNT00b01KXkVkdjdGM15fSDhfVT52eEg/Kyt7a2l4KmBRem0x
MT97Z3QKemcmTypjWVV7M2Axd0dTM2A+ZkV4TWZxPit7NmJDcnVYO1BFTXRAO2pGOXFHZHUlKENl
Wnp1Z3ZUUHE3MDwtZjMoCnpnUmJPWCp1b3Uoe3orciFzaV5aOGM2WlZHbzQ+UTgrVkE9Q2htV25i
O0B7WlhMc3Q4KmBqPldjaWhwNSRUT0l3cwp6dSh6Rl8rRiNoaUxIbG5Se0I1UUd1Nk9zK2Bkajln
P3M5K1k9O1EleWBPb2BXVEt3eD9wMCt4X2dOe0cpU2JHQCEKekVzdkc4ak9eZF8mYm9pZz1JU1or
SCYwaWBLWGQmYlo1YCRSdUpgY1B7PTJRR3lVeVNCXzcrT049azZiUlM1Sis8CnpgdipffldDMG1+
NXw5UyQwQjY3Jlp+YG8jUzJFQm01NU5fMGdrSmYxVEtvUTxiQVlzcXREbjFfampibzhCLURiZQp6
REhXWTkqO3kmTUlrXk0/O0l9PmdyVThJNnR2X31LIVhOb3BvZzF7aHVuKyppZUVDPE0xcSVRKXV0
SDZ1Xmp+JGYKemB+Wk5HMV58c35tUnwxT3xLSkR2YHZlQ2QwfmkxPEttP0VqR3lvJk8yNTx4WGZD
JXNtRCFtZSo0KEleUzBhTCZkCnp1IVlMKzQpXzNweiQrakVoeXAkVWk5amxsMzQ4PyNmaW1EYlB6
eTh4P0xhcCQwUT58ZGZqTTlxKlp9cmBXOGYwRgp6MUEjeVlBVCRzVGh6TFhocTY0dmp4SXV5LWFn
WiFYMSo4UmY0bClQWGZTZl5JcGc+U0tDPD5HU04oRSh1aWEtXmgKemRRZHk0ND5TdDsxekd7XmZL
RVpURmtsIXw3K2VASzc8dzJFNyhwMEc3LWJrODchdyM5NyZqUHluQWIzfEZleHhPCnpGcl9keEZ6
cWt7RnExSUxGbmNmO1U7dkIpI3NeYkAqfSNIZVh8T3VqNWQwR0M0aHt4S2Z8SX5HO0JzJlN4Q2NC
QQp6VUl5PWpaKCFrSmFiUEs3KjxlTHI2PH5FP0VuKGVZZ0pHaiNRKCs1WFloWnVDaj5FM045PllH
dXB9fj5EdkFfdyMKekRaJn1SKn0oYjBNWmhKJjwtPTlPYi1fKS1aTk9jXiFeN2psR3IkWUxFNUpY
OHd9JWdha0Iwdk80fW91a0FCQTZvCnp6ZCU0aEFWT2U0NUpPTiR1dDR4Y2goUCNeUD5ScnNGb3Yq
IWFFKnc5TlApPFdEMkhmPj0hX1ZLbjFvbzIqbiY4UQp6eFBeRiFnbyM5bEIjZmt2V1FGOTE2by1f
SClQT1hDdzFJU29qRF5nQUVRWUx1WT4pZzNJUiZ7S3hlSXc3YDN3YUcKemcmSVcmTUg5c2lCQGB0
RTxyXypiJF9tTzJEbUUlSnN4KyFHc3V5WjNZNXs1Kz5NenRZRyZENE52fWI2QlhyNUBYCnpYaG1x
OVhwM21xPXM0KT89ISlvOD1wcEU3PXIhbkw9IVkwYzc8M3F0N15XRWg3KWNuRjckWD9fbWBJclBu
OWBVUQp6bjhCRTduRHY7YG09ezwkU1hAfUBTV1p+Y1NqQVg8U2xpZUwqITAtNCpqQ3VEdkE8JD5W
ejEkVmFjRlIpYVYmQWQKemFkTDZHYTVpd15hVCN6R2FxViVWYUxhSXFhZ1h0XkBwJHB7QE88Jm9A
UzU/S0B4bDE/Xz1APEJfO0w4KEB1JT1fCnozQ0lXfTM5SmQ7Nk88RS01bktfSDVJIVRjQ1g2SjY1
S2E9XzU+WFAjNTsralg2Vih6ZTVXXkJQNktmTHQ1Tjhsfgp6NSR9YFdsOEJJNGwwPWV4Q3omT01B
IVIxakFgS3dATjsqaC1LfUpwe1B2JVBZblhIcCtwQiRoMzhNIV9BQy1ONVoKejlTUiVAYVNBKCVQ
WlheYnlPZW04bDlZfj1EVT80YmtFdXdoNnNXd1l2WjtvdD94LTI0YiphT3NBPUM+ciRUV2c5CnpG
S0lyfWJrSDJyUXFaYz4yR1crJCZlOT4jM0RWaXBDRFpsTFVDfWVwPihqcmJ1Y2hCK0FZQFF2QE1r
RHRtfWYqfAp6bHdmcFkld2UyaGZAY3pCYSR4JHhecGhFZW5VQzMpSWdOUlExJWAjNiNnNjMqJVAx
PXhzfVFSKllZeXUpOCFEUzUKem4+U2t0K1hfMkF5OSM/NGRvQkFSMlE3eW9NPzZPbCQwSHtucnoy
LUI9TnVPe21sOVZQUnxENTZIIzReLWNOK0h1Cno0O3FnZ1BZNiNQJmp+TEp1UWhLNT8raE9mcERO
IzV6N0Q8emVnU0BXeyZNfnUwYV5pYmZwbWRzTDBteCUhRHp1PQp6QXZocl5wJTlAYXAmTWEtVk5j
PWohYmMpKEFgVCtPQkhOLTJxU202aHFIQUsqVmlzY0FWJDAlYDteeUw2Oz4hfEwKejUqODlVNjA2
VD5vPkBLMWYzX3ZiQnh4Xk1EdFJjeURkakZ6RXA7VT1FRkMxPkNJZ217bXgrYGFtY15GVWx9KGpo
CnpsJXRsamt0PmxxbWdrY1hrWik2ZlEmM2lqU0QwMkxRP3locFFhbn0/UHpxQXxwXlUxbXQoPmE3
cz19PHx1Rnt8aQp6cXBHQyhRRlVJOFBSJmBaUnZsMVJSUjVeSHB1d1F3cnFRU2d1Y0BKI3JuI3hi
cjRee3ZxbTgzJnJkX09rc1V4S20KenIhJUxec096UU1wQCpTb3RYSElXcjd4cU9wdWNSdVZHdnw2
QFNPTyQtU2F2XzFWY1Q7ZThVU1BTKSlYdzRQIXB6CnoyOyhVZTFgfVZDSzJ1Xi1ON0g2QTNeTk99
Tl4+fUtlZStgVGRrYn1vOUUqej1pWjlZJTk5djNUQ1JeQFZKK3R+YAp6d1BQKTJvblhFN1F0Vn5J
JVdXR21ufnlkLXdpMzJVdyk9THtjQnl0Sl82cWl5X0UhJC00aDBUUmp7MSVlQ3F5VDYKenIrUX4+
WDl3cFdGNjF1MEV+Qm4ydGBWLXdabytQZlpwWkcqPyllQGQ0LT0wJVBoNjx1R3c4K1deflAoKFRp
aVIlCnpgYFNtKHJfdlk4KlYlV19rSjwwTi08SDNlZV9qQT1mTXF+T0FYVlYyej9DNCRwekw1IUBR
ZEolNVNvekpBc2VDYwp6cEBweElVcGMlUTNnWmsqMnM7bmc0e3Z4KV9CITxTKzhnO2RCQHlUbT9o
KF4oTWMhdDxnTURaQlp1bVhWYF9Kem0KekJkc0YpcWQyM0lxVkEoRHF4KW1IVnAzd0JWcWVBJSRN
TUh5ZTFRTXB7OSE2eUJFQiNJRTVTY3U/VzV8KW5vcEZVCnpCMHJyY25rRHVuQGdgKl5CUFYrJEZR
PSVhKVAxSj97TmVMYHMlYDNJbnA3R2pvaXpQQGBxZFkhRkpsP2NHUmlaXwp6R05VcVl2K1N+RnZn
TmFEYV9Eb0N6UVRYP3s8QGl+bSlueWtteyppZm9GQTN7UH5jcCFUJlB2fXFlITVyc0Y8YGsKenRe
fXNVdDdOQ3R4YiRiNE9qJXR5VFh7QUY5fUBLcV9+IUwoeDVCKCk+YnZzeWohTURHQCshS2pebEZe
eSRRbj9NCnpVKElvP1pTOFgxXlNhU2ByVFVIcmslc0M8X1FyeEhzOzBETnl5bXpUPGQpWWhQcCRy
fjdqM1I+YHxVUkVZYU0xQwp6YkRhakE2RilTNjQwa0RhXj4pajNjbEpwM3dEeVlpSHVWWWopJU9l
YipBRE94KUN9P3NSdUF6RlJTKXdJKk5nfl4KeiljcTl0KilTP1ArQT0wRik7PXlYLWFWbD5GKSpu
JUlYYX5+SDhYOEl5KnkoenY7RThRKlU3Qis/QT1gR0psdVRiCnowX0gtfUJJI256NjRNZjduU1ol
P01QX0FpUmVOPUEmMm52VC1EQ1pKPE1rJW1YM2BlTFI/IzsxY0dIZ0ImZCooPQp6LUhrb2h5fVNM
MDFGVkRlTCZuM1pxaTA4aCN8Rm42Qys7VXRyX3BDYlg5ZWZIPU4lVXM3bUpycG12PmlAKkZAS2EK
ekgtYX1reEI5blJjUnUkQl9iQ3JkNC1KcFhrTW1EWFBmeEJFP2lQUTFmIWBAIW4zdkdSP2BaKTVw
Z2ppd29TeSlJCnpqUSRVUWA0MHV1b2QhV15walojWTQlJm5IMHljJFpmPHU1aWYheyV4TXFFTiNM
QjJ3VEwhKERtI18rXzwha1dmRwp6ITQ9MnokQT1KWDVpdHs2a1IrM2lraSR7JVFDZF5RUWglb3px
ZGxhRFZMKWZaVV95YURgRUZQYVNYYkRfKippSV4KeklkaSFfYTBsXyZeWGw8RTw3WERZNXg1dUo1
RT5NJjU9aj5nN3FiYEZrYFJCIURvRylRRk80YUtCbnZEMUFhXkJ5Cnp0Z3gtUHRUZHhNdGtSfDBx
KmtlM3JjdGF9cSpiaDRyVVRLZig1dXcxR15sIUJXbXN3Uy1NR1I4VmhTPClaZUN+Ngp6eyRrTWJt
KGB+QWBPN0M7Nmd6eC1ZNmxpYUp8X3VoTUhnTEhZZDBWRjc+fDY8Ujw5WkY2SkkxaE5gSFg+d0xy
QHQKei17OG9RPGp8fkYqPHFSQ0RYLSgrTF9gRjxiJGo+bnk8d3pVbHc+cXQzfVk7NTlRRnM0YyUl
ZkJrQz5rYjZSREN8CnpsNmgwYUtGZy02cnM8e3xlWC0xTiRuP3cjJkhqKit7azF4YEtXezFqeWIh
VTd3M3dxcnMjTGVrcnJhMHU/cHNudAp6Jmk5aGElQnFJeSl8IyVgelBoM00oVDImIW5Xbmtzckl6
Kjl5fCMtRWEzfGdtI3hCdXJqVUxOaHBUNVpjXmEwM1YKemBfU217XjJvdUBpX3pQJGB8LVBwPiZj
NiRsaiNIS1krSVhNb1NUXitUTnFtR1VGdXJ5VWc9KlFUVSVKKSp8XnZPCnpaS0xpRz8kWWVCPytZ
REJBMVdSeEFJcUZAcEF3diZwN29yNnpIcW57eStYZlF4YHkwQC1mR0BhLUpSVUdLZzIocAp6S1hF
PWl7VihJczRvMy1oMXw5IWgjOHNwZDZsN0Y3RytBXzhqNXkyPXRUUC1vVHI8NFNfIUVSXk01QEda
TlpMcCoKeiR5cTRPRDVJJldzSGJTbz1gaVI/OFIhfFFtPFg5c242RnRAUyU9dmcqdVFjX2I5IUBg
YjFVKzJAKUdicUBVOFJyCnozcVMtdjNIYnx+aWIjcGxpeT9+YmlIfU91Sl5MeWRGQks7M0JqWUlo
TFFZUiFTd1VRcE9ObUFxUFgkNWNUNklAIwp6VVZUKWZTRj1OX01ZfmFfUFBiYWBufF9Id3tffHxa
UkhJTUVGKHorSyFefWQ9TG9DOHhMfFQ1ZE8xQ2F9YE9UKXoKencjfX5CZSNCd1lhbyVhJmRFZSNR
NGM/dT1nVmpeWSVmUT4mQylfdkx1aGhSYVVAVU13PXBxQ3I2IXtmOzctfjN0Cnpffll5SUgjLXB2
WiU1eUN5fDBUYmlPUHVuNUVCO2I2WCoyN0NmKzgmey1nVVJ8SFNhNXNOfDArWGBnZGFpXypUTwp6
U0FTe0I9KlMkJW4jeHwheHlYZ2pCZ3wobTVHXzxJR0FuajEyYCY5bG1RQGFjRz1KLV9uRWJ2fXht
fFQhZU8+Y1oKejJWYWxZZlpJc2lNQT1OPSFySUV5Q2YyVWhAeDBVVk1AWk1sP3QtMyUtbDR3Yns/
a0YmQV5jKGI1eCQ+TnFiZyhDCno8TjZiWmxnM2t+KGBHWn56c3pTWDx9QnRkN0F6Sm1tTW9XVFM2
bypFKkNOK2JIJWN9ZXcrNlF0YmBFeSRfZlpkcwp6NTl5RUNrMnl7bHBmbGo8WX57VERCSWAydiVK
XkZOaFZiVXtjS3EoIWVhd1VYcXVka0NlO0VKJi0yUjdna2EwIXYKekpmUVl9MWhzIWxrfkdvQGF4
QEIyTihaV0I+SzIrKytEQ2RVMX1hOG9DTUlTRTdBalVeSGNXT1Q0dUlvfmJCaysrCnp5TypiaUg9
aSQmS1V9fn4mX3FhQ1NVYGtFNmtZVU1ZKSQ7OU1CQjRVJHdIfHQ9YEApeyo7dSleQH1VYThpbXBt
Rgp6JUJDdGhzKX1taj5paWxVbm9MXnMrTyNePHg+Un07YGxKUiMmKyFlaGpabHBkT2g2X05yWjs5
Kz1HUFc/bU1+VWAKeikpKzdHWkFmalk/Qzk7ODlYSzRobyVvIUVUcUlvTy04OXxKSlh9M1B6MmQj
SWVKWHQwezZfcDIwYD55MGdKRDlECnpMczRITGdAS0B9PT0kcjRIeXNnPndfbn54elcwaT5oKkZJ
ZmpHPjllaDwlN1ZfXj12M3BEXj1yYHFOQ311Y1ZwZQp6blV2fHpRPmhiYTxMUlNjTWx5eW5ocUZl
cnIqYW1jRThUSjRaMkBje1NgbDZgYz9vP2ZkbF8lSkZodF47YmNNYCEKeiotRHV6c3BAQW5WenQ2
YDBgKXUlOUV+aFpediU+UTxnRnhhQjw8dUt3NEgxfTFpR1pVUmVTViVVLVVXbGRrPSZSCnp6OGlg
a1A4ckdnbkxVfl9tTmxMfWt2dGhjNipje09DZ18qWHRqbkQzeSFwY09NZVFZeFd6N30rKWZhMVM+
dFAjLQp6bn11N0ErZTE2Y3lRbGxHMmVebHtOOEhDXkNvLXBVWEw5RyM3WlI1dVNOenZwSCFRZEdj
YS0tOzQ+KnIjUHc+Q1QKent+dmppLSlqT3FHXldnanRgb1glMFlEYGwwNVVgWGZGMm98bDBYTGw0
S3g3STVkdlZPO3M2KlA5c3F7KD4pLTFLCnoyKWdCbTFZaVAkMDJST2oydGVhd09+NEZyMFlhY0xX
ZSFqY15aXlVOODMtOWYxcmk0N2ZMdVY0cGFNYGdYYWZjdwp6aDdtPnU4dGJKJTxHWHpANW0qODI0
fkJyWlZRSGF9U315RTE5Nkt9Pz53dzNBSDsxbzhLdHdQe1hoYkFMXmhLT1MKemwwWWhlIyExMSoy
UGtHSnFvXntkd1A/Jn04UiZURUYmS3kjWiFxQzctKHNPK2VaKGZpRjJXSk8+QX1ePC1OTigzCnpO
NVJoYDVGcSRUPXR6VzJSNj92cWRgXjsxRG89VndtUE17Z2VvSWs2c1k/WSVSWVByMExxIyk3bkBG
Y2NrMyZEbgp6a2ppTXojSzNnR1QqPjBjRCF+VE5Ib342OVZhcUFWZ35HTU9VQm1OJSpPNTwhcElk
LWo1SncxSTcqbThtbHVDPzQKelR0WShvblo0dnxzY2grWG5LZH5DZDFlSj1NTFZUOCUyX0luc3h4
WD04YnEzNlRHclplSSpxen0oN0NNc0pqfTRsCnpYdXx+R1JMOyFEeXVAUEpsRV9OaUl7eExURXNt
WG1lVWAoJWxaYlB5JWEpdDBkeDBtS215aD9sdVp+fCZmTExIbgp6Rm43cWVTNnBHPVUtUGBGYysy
KUtLYXhCdUI/YyFwe3NVSjByO28mK2ErMjdSOCRZWTJ1QkNAJCZ9OUQxZSlDbF8KejUxaWp1bXs0
cTElMl5KRSV2TXhZIyNnKTVZU3djJHFCTzB4UkpUUVI4Mm4pRWhVdUI+c35KY2ZAKlhpOWxeVy1x
CnpXU3IqeXI4fTNoYUpUSGVkY1d+QG5fIyF9Szw7UyReejgtNSklPFBqZ1VwfWokNnc9NUBNcndf
cTJzUnMlYGk5dAp6S3xtfiExeW4rRjJ5PyhPRy1FJng1JiZzezk2JUFFdWgyfXVHN0pjWTIxWDlY
MFZWO2E1b1F5TjFDfDFOZnM0V0cKenV2RC1YdXo5ZmlhSitDS2E2fEI5QEdrSF81SihaYzV5cWpo
XmU0bXtCeSomR1dDNyVTNmU1JXVSNH1TUD5Jc0AxCnorNnVaNmBaUl9mI3gkbDg8fD52MCkpbj59
OURKTjJUeWZsU0pVaEg2e0EyPHlmKzZWV3FaNTU2SFh3bF5ESkx+MQp6TG5DVj9jYy1BRW40eWZN
NX5EaCRFfkslYkM4TTNBT1FTYnNwaz4lJnRZISpqUiQoRHZTenwze15KQUNlen4kS0IKenRtQkkx
dyZyPXBPVWlyNHg0Xz5DVUMqK0dRaWFuKmF6eDk7bnhXNkwmMVgraUIrfGslIzxIKkVpc1ZOWFpq
e0tDCnpCfjs4KmdWZXNMd2BpPHRBISYyI25DaXlwd2RrS2NYRUo8WWx4OTNgaWZrcm4/clR4O1Yk
WGB2K1U4fUUmNENAUwp6ZVh2OG42T3Bybk9QZD4heVNLLSptI0JCSEZOUi1gfDYhbS0mYGdNQz11
bnRTX3xPfVRoX1FFQz8/PEU1cVdmYk4KejsoRnAwNk5XJE9DTjNzQnF9LS1QciZFMXQlelUycG17
WEUjbm9tJExRSXVGPlNWbVI4fEU+T2VXUis8Ulp5ajN3CnpSJTJgUHImakJCLWNJMWhQPE1LLVF+
JEY7Zn0hSikhT0BjTypoJWtjbl9vNl97dEU/NWQjalNgSWF8bShVVjlzZAp6aFIwKVA+Szh3K149
XzlRcGRLZ212R0xkVnxMNjk8X3thWEt8SmM5dEFOJWl1K0NMbCYxMnA1fjNYPUBlM2JQQiUKej5C
eGU4eiRNXlNTVGF+Y1hwVXdjanRaS01gMzgzbnVMUGU0ZX1vezVAQ0JNdChNN0NBQjB2ZzZUMD5T
dlphYHJ+CnpOa0sofiZWWVMxR3FlZUc3NCZXbERVNWJaRGE+dng2fDZ+WTMreUFEVXxlK0VFSWUr
IVpoVHw+YkFtV1JSPkRDZAp6WEpRPVVNaU9nTVl8PUl8UzhfYDdwQUBlc3hoWGZQKHh8bSomfWp4
fXF2JXhXdkZMdj48UztyaDJ7RlNsa0Z0RFcKendQTz10TV9+V09RT0B+PiVhbUp+aGx1QnZjYWc3
JHpnbk9+dXUhTzZ4S1UoS2JWY2t8MHs8REdxPThoaGJiLXZjCno5OVcpNSFCWCpxUWlKbFVEdn16
UHh9bkJmJjA0Sjs5ZGNjTHkjKVFBJm9LP1BqZ3BMS09vYDJtJStvQ3ZFb3JSbQp6dCpkTjZ3aTxS
aF9FKFBUUDkta0x1MTs9fjkjV3ApeSV+SjZ7N0MpTjAhZjIlTFlQQ1YhPSVGfS1xPVJtenh4bkwK
ejc0PERmRVZsMjFVaXtgcS0kY307KyFYUThiNz11eiRUTk9xeCNVb01veXRvckZmNWBnejl7VzIm
LX57MVVCNjE4CnpoTktScmUhcD9MeHhLWlpKKSthQmk+bjlKYD9FaTUoMHkzYEMmbFFeX3wjPDBi
bjM1SGJJdURkbWRzWGMqOERhOwp6WmRMQmc+O3MxXiRBK2lUPU4qQEtIdilJdzVCMHl0LXtVMEBf
d1VzTTBISTFqKH5wWiFQaU9RMWZSRiRINUFqYj0KemNSNWNfNF9+M2QjeWtNRElzUExUfEM8O2Q2
OTV3RUBpN3pPMk93Pn5FQj1AQSlDT1E3ZzNkd2JVPVRGYGc5UVIoCnpmdTRRPDZ3cklYTDZlV3JA
KXRELTFgRz1ha0FSNFRpfj1SNyNzcHdNVUAjMFU3IUwwRDFffiQkYGFifVIxJjIrPQp6Qj8qdENY
QE5sUGhSZ2piSnt5cm5zLWhpRll4SjB3PVlATTE1Ozhza0FyVWJoSnAmXlhHY087JWZTezFEdzJa
OHIKenluPj5Wd3ZNaXpKflp1V1g9Vk09I0A1Yz4hXyYqIyRKZnQ0e1BtbE54OXtGWkNWYyNxbjNT
Q0lJV15+TlplRCZ0CnpWTnZuLSVCdCNgK1BlQ05qP04hbC05NWQxe2JTPTNsVCpfKHpoK2xmKlZa
PlN4MytoN1BmcEx5RkR8ZEhaKkc2PAp6MSVqQG5mMGNofF84O2BaZzZhaFczayF4dF9ebFRSI3Nf
K1V2MCZrLXhadHJSSDQhWV9hSHpSb0E+dkJLWElIYyUKeihlUCo7PEdwWW5NYUhNKVU3PFZxdD1i
Pld7JWVZYntYZiN8Wl5pemwqQm8+cWZjYUN2RndqdX5nUHxoQDNvWHpYCnpeTEskUj4zPDYxS01W
NG8wIT8rSXBnXjtqfDEze1hDTGt5ZVhrJlFqN1l6dms+OTQ+Mz4qdUVoc0RuY0pHeip8WQp6QlZI
SVJGY3UmSVR0cVZGd0J9KUthT09sWjB7PFQhO0hSSmVKO1dJTz87Kno2ZS1BT258OWdsckAhdnk/
JF5WMDUKek1Bfks3bnB8UGlEKH4qJjIzTXNpbnVPYGtCdEA/QlFNYExaODApIUp0OGhMRG0zcFEh
Q0BIdWRkVlhYV09ubWI0Cno/ZHBKQjw3bU1kNDN+YVBjYmBWdzUhRV8pZzhhMzlybXtmVzFtd2Ny
RGApR01xUUk1JGJgcEElI1FgMXMqVHVtZAp6Iys9QT1IUGA9fU1oJCtOYGhUSjZgbn4+fERvJVVO
JC1EeV9DeXcqITZrKTFWbXNAOyUkSG4yWkA8MldJU21LWTYKemNkNjAlMmFQbUp5ZiU5RlUtLU9s
WC1hY2lUcWgtTE1SZXk9PkVtZiVUZF5pPCFEXjJuKmdGZi1Pb1h3N1A2aUEzCnp1NHlkUkJwQmBW
e3NRO0xkNCRTZUVzNGhWel9qb1h0QDB+Tj9jI1daRUpXUWVCKERhMV4wZ3Q7VVg2P15jPi04Ngp6
Wk9HeChDNntXcUdgaWVpSC0yIV9NKTEkeDUlTiFVeVNsMk8zJDtUPU95cXdvKG9Ee2A2Y24ycDxE
Xkc/NCFkOEYKem8xfTZMOyktbHMhNjRYdU00amwpJkopK3sjaEkma25DfTxpKz9SajNFMXNfWk8x
JiNrdjtyJS1rV2NObGFXXj93CnpyfWdxNlBSXkswUWA8PkwmN2BiZ0RkZ3ReeEV4Xj48TmJ2aCUx
K1hpdW5ndmk9b3puWGRkKktmNnRgTl4yajRPbQp6QjtRdX5sY1c/ckhvNjtRKX1JcEM5WiRmNSt4
QCVjU1hzWkx1OHpQM1I7eDl+RXdhaV9rZG9FWGpqYFRoJVZSdE4KeiY1ZVkhMW9AYW1eWkpVRD8w
MGJpMT8hKHpXfE88akQzKXF8QHpHYiFgWUdFXlZJcj16dFgqdUBERyVIbyRreSU+CnpAUipRR09l
PjZlP3AoZCFOIWBDN3FiRkltR0R+b0RVNUp+aV5JSilubTVjRDI5aGV8fmJtYGhPWHd0dE1kYWkh
Mgp6K0IlZl5Salg0b0AxOE1seUhvflYqdihLX3VCXzEzRmp9fWdrdz8tND5CYn09Y0RKKTNXQkNh
WEYyU29GK2BeUE8KendVT3tyKyZNQmxfSTEhcE9NM3I7OyhScHAwYmJSOHlvZ2F6NFNtUXliXkFX
WDhqcDYzJlUyKEJuQnJientOOTlPCnojKjJjek1fMnZFeClFeS1MKylLaCFLNkEoalhkOU9ePktD
VVl2a2B1UzJFbG1Je09KSlY8cGtqIV5Hc05UWWVrfAp6YnEhNU5sK3JnUVpoaCpCTktuQ2QkXy1X
SGB1Sis5SEU1WmZeVCRpNDwlLUMmJFd7VGIwUTwoPm4kYTd0WXR8PSMKekFwKERMQ3k7RytwJjMw
WGtgWGVGQGZuI2hDLWxGMU5JWHNkKk5oPiZ0IzI5cXAoSmhNLWVTZHNnaHBxd15kSlJaCnpneHFA
Ul5yOW43ayFITmkoZztmXytIWCUkKjJqNzJiRHBxdjtmO0EodSlMeklwVlluR0Y9fWNxdWB6KnJ6
cylEdgp6dCN7QU88czlNWT03X1leeElzT0UkUVMtdz9Kb15mJW1nT3duTkdMJiQ3fD45LWdXM0B5
RXF8YDlDKD0qPUdUU0kKel4wNTdRa0J5b3orJThYPXB7aV5+ZXNCSj57N19VciM1WH5hT0pEdkpn
KHBpWTk4TT00OXklK2pvMUI/Zm5YRzBFCnpSeFE7dFBCI3soTWpROTwkWnEpY0RraUAkdXA2LSkx
VFNwe1ZIRjF8QUczZShVZkFPd3loZ0JNK1ktbCtlbSNQPgp6KSRzTkpWSXs9fWpsMUo9fDBLZm84
YEZxY2xRTD9NNUZ8Ym5uRytyJVljOzhycTEhaHRiI2cyK25qb1JeWmVlO2sKekM9bmZ9ejRKT3xW
OVJDVGUjQ1IpUVIyRjBlTkNuNmR4ZmReWD8zU3RgZV8kfXNRMjFiPEkkVFpmQj9PazxCfWtYCno5
bldSYEx6Kz1val5HQmBOUm5IZCtyOVlMKnk+WCF5bWotc0M0dWI3U28kKTM1Zn1WKGhmJitpbXF7
NGBXWXlPcAp6YTlVQSRncDQ8Myh9TkdaNVRmaDRfdFpQMXoxZkxMdTlFOW1yJjk8V25OZGhaUTZW
VlRpNTtlKTZeMTZ7JHA5KkIKemgkN2UwKjhwO3NxVSNFbUcheC1IcE1AbGFuemcldU14aUdsYmI2
T21JYz8/NGwmSWB8aFh9LWJ1UStoREEhTXF0Cno8bT1rJEplfkA8MUZ+KiVmWno2fHhhTzNuS240
Qms0MVRTY3lqR0B9aX5wOXhPZk0/KHdfWH1wXjV0cEhNZUxlewp6bXRKNGktZXE2ezNpcztRYGUh
QDApSFZvOEFqPnpmblVafUYpJG1TMzYkeVZEcmk9TFo0fXkzVmMrRXs8T3U2e0QKek9DNGx7TER4
dDgjdU4zbylkbStQTlZKaTxIXnpjTCt6VSklKFlYdUcjbjJyVm5tbyMkMDJqTWt7SCY5cDQ3O3Ep
Cno+KjN4SFpgfm85NldIaXpaZSk4ZHJlVzVqPWdRcXVseXwpR0g8PXcyTHpaI25MWFpHKCs+Zz5x
eXpuVUpHKT9kUQp6aTR7bjQ9QmkmeEY+WHRSUWxubnRaMGtlQXhzWlBuaWkyUDc4Qz93N0N2JHVh
U0IkQ1IoJkkpKWViX3NfbjU/Xj0KejlXJWt5MEozPHllUGRFb2JjQyQwMSVgcFB2fkVQYlhnI0ZG
WkloMTlXZlVIYmlZT0ZgYVcwbH42MnNyaE90aWYjCnpCNH1gbkw9NDZnNHJrZlBDSTJYMWFiMXdU
ZUpoc3RyWSFkZ3lBISEmOFMhSnRpTXlZOGVHbExBeHFoJV9tKjlUNgp6TV5UdFBjUzd9U1c2aUNa
ZGZOJXRwPHJGMXR8NlBjTChPJWNAOWdXQlhYQGArSj5KN1E0bHo8SiFZLTVnN3pkI1IKemMmOFFI
LThTYmU/b3tVZVV+OTd5WUEySUNyPld5UjtxdyRISX10QmkzQ09QPkNzWFFzI21XdDFgMmo7aVNs
fXpWCnplNT14KERkQ0FhU3cjNi1uJkx6T2R5Vm52eGwmKkctZSN1IT5nczh2TjZoeTJOWDIlIVE3
MVkzU2ZIak9kRWNjbQp6YjQyUXxrdDNRQmlldEpGRFY4RzB3ajtnPk0pWCV3SWVkR0swS1NLeXoz
ZWt4cmhhVTwpSm97SHJzM1V4PCQpdmQKemY5VkVDMVZqYmMmS2lCenFTWntZQlYrYDhYdmR1Qnlt
PXdlb3k5c2F2c0l0YWJFJVdYSi1zMWo4IW85dSYoR2ElCnopaldNPFZoK1E2OUozNF5RK0xWQS08
cTIjU0R0c1l5fCNvNUR0b09GNCo5MEUoRGZlPTY7SDBGWmh1KnRGTWs1Uwp6VzFaX1d2JHh+OTJS
cWhSbUR8RHlWblZuMi0zXiVzN15gemgtTmBvQUZTNTNfXnkoWmY7fWJOeik9QmxoPzF0Y28KejI5
JDYqR2BrLT5XMHE+YGZQP2NWbF9SKzU3MyZJWTtyUCs/Sj53RyUofHYralJPQG5wcj1TM2RtXn5s
R21uVlF0CnowX1IqZl43UUQ5c2hCIzZFJT9CPmIrJCRAXzVlWVQ0Qk9hV0YqWDFtUj07cTEta2ZX
fkV5ZWRtcC04dlYtaEgjKQp6JGx5KTc5KTNQflkybD12P2IqQDBNZWRla3dLKCFUMy1qZHRRenRK
IVJRcUBFJUFfI3IxJGJ3MkJgNCFPe3Q8ZV4KeiUxJVApQXJyRkFKd2c8c3BWdkxfbnJgKlNwOCFu
ckdmJktRbjJOelN1TVNDQTstKj57UEUxMlI5aFVmazs2NVJHCnpvYD4ka3gzPlg3RUdMS0pCUnJ6
KVI+dTwjTzEkJmhpZ3RVJikxSjRQZXd7P2w9cnZmbk1YRXczMXdrUWJIQjdzdgp6JXFSUjZAeH1K
RiQ7PnwxIzRuTX4rfnA9SXZHKE95RzY1SV4wRVA3OWR9ZkhEQTxHJFpiK0stOyptTTU3VEEhOy0K
ek9TTj4kZGhebnooNml+KCtzdExpa0JeP3okMWZZJVUmPk48XyVOYFNedTM/U1k/MjZ7YUdVVHJK
P0ViJEshN2Y8CnpJMWlLYiluKWYkQ0g9YXU8dyFCNWNec0p+bSFzVmdNUG5abWNoe2RVMWVWfWU9
PHBwakBYZyg0JH1kPylAZUNCTAp6KiRWVEN0NS1AV3V4dz5ndXk4fj1FNWl1VCVHbEorent7Xylq
MEtiSTNGbFhAeXZ2KDxQVE4lRFU3SHw3aHokI04Keno8TX55Yi1vYXRNbVMtM2wlc25CQU9Ae3pg
Z14xU2skRXZJeDRzUSNENHpeKEAmZzZYSDhWKGZ6OTFjYkc+YTR1CnpJdVVwcT9LbTN+OE43ZVNZ
RldyfDllUkYmSF8pRURzfUdBPG1mUE9MJHshbXYlcmF8cW5DPyZmKSQ5I0xSKSF6Swp6PiFiRGQ0
MjR6bCYjV1A4NXs1SjM5ZVJyNFptYkN6JU5GdUdMdGI4biReKjdfZSgqc0U0Q2xHKU4kZFRKJmI+
fiYKelcjWXAhMGxzKTlMPCsmQmg9KWk9V3xEekFQcndLOSVxUEdNO1Ilbz56RkR+TilwPE4xcytk
MSEkdllBRjVvN2VECnpYMip1RXRoJE0tPTZzZkRUfDMlfWl4UW4xZ0xKYmNpaDBEPCpBWVZVcmkz
Rm49UGszKzlzZ25AUDVZcEpSaExFeQp6bnZQM0lzJDdzdHJndyMtJWwqNzhTTGRaejhuaD5qNnQ1
Z01zcmN3VHtlUHc9RytedTc9R2NZdDZ1WnZfVX16czAKempGaHpBUzRMeUZkemkhfmYmNCkwUE5p
JWZRa2R8fi16Z2VOOCR4e00wfExDdVMhTTBJamY+ST1PSiZ4PzRKdERPCno/ckx7OGZ8NFVrI313
KG9qaHRXcnBCQUsmUSV8fm5XckpKNTZzViUxQVZpNzxVOGpRTT9tb3dvb3tQbWowakJqMAp6TnJW
aHZEcUtpPEx1TyF+ME9uI1pRbkZGYztzKXBLYX1mPkh5LVd8bz97VyMqdjloUzhvUlp1MjhJa21I
JUM+d2MKelY2dzN+Q2VOVihJc2FeeFZ8aFlLY2ozdn5haVcxQzB3VThMQGRsVCN0LTRwPEZBYShw
citrIXBhRWZoKlkqODxOCnpgTEAzRVZ0SihnSGZrdGMhXmF3Z1lYek5XMXwjSXZ3V3dJblVjSGMy
IUJfJEdhbEN+X219LXQ2QXMlNWg4QEwoWQp6JHVoSUkmZFZBQDtNSGFYXnFEaVZMNiRlXiRtY042
KjMqT1I1Z014QipZeHEpMWApTU0zQDZURFVPUkxxPUBFQ08KelV2NjQqX3QlLVBsVHRLeXRWTWds
eDRlUiZrTWNkaEVhXm9rbSZ3aUl5LSVzfGdUQkJRWkxgRVR0OSZCVGNKZnRsCnpCMXRPaU9BJCNX
c1c7ZSM/ezRXMFE3aV5yKG9fYV9sbGdgaVpmO1R9aTs9K0FISEFkbCZsMFV0VUJPIUdRTCtRUAp6
T2A2ck1hRnAmU3pIWUxQQndJM0YmPzd5PXgxKDV4dkZ1Y3FjTH1+XlJ4eGVYKTxTditiPTBsSzFD
XiFsVnR3VyUKemFzfS03V2c9IWpQZjlGYCQ3LXZoXmJad2Zhck5gZmFXIVJ1fEpAUHQxa0VDX1kl
UCVuZFdJbkZDN1Yqens8S2JBCno5aThBIT02VXprKThiMW5tZFFJSUxSeWJ1U0JELXh2JHooQzJf
JD9NeVppIUROJVNrSU9DMm49QWdAX18zWW4+eAp6X3hyUmB6LSZDTXI4ZE9hbEhvalhYbWkkcl5N
KGljTTAtT355YkxuN2YwdnhxeDltVTdTTHsyYDttPkdVeW5DdEYKenJTR1F5Kn5lMEZfXjBDRGZt
ejBFVz5rfUlYLXE/VE1TeTJyX3c/c1B4QWNkSiojZC0jbS1USk14cnFSX3k4PnhLCnp6PU9rdlRR
SDs4dzw+WT5rZW54QUp1VT5KdDtHSyNjO21NOVJReTZjPF9XO3FvTWJ5TWFqNElDY3JRYjNmeF5s
Pgp6STQ1VVAoSnFEdnQ2IzNhO2tSeW4xITtVbF8xI25feE9TWWk9U0crflp+aXZ5UGVkKVR5V1Vl
clYpVCUwM1BDKXsKekd3IzcqVyNeKH1EMFJ4OEQ+SXJkekRYeVE/Y19jN3ElbE1EUEQqSDl6Qko4
cit2aShmQjVZIXpoIW98bFVeSl5UCnpRZnxSX19NOzRJbURfZmhhJHFvZFJuRDgxR0VNdD41IWg4
YUd0PlczcihVfEB3TE48a2J2SVJWQjBwal5gNEI2ZAp6c0xwcjJKdTxqUEJCaTN6QD8xKSVvR1ZO
P0kpR1R8MGBoKjUyO1dFZzJmaEw8MFc0Yl44TlQqdE9XZX1ab35iU18KeiZhZk0qMylLQH50cTlx
YXB0KCQ3V150eEstI3hSdTU7cVdBSCpafmFjITdhWHpxekBOVkxMNVJeYU9wZXZ8dDRUCnpjYjZQ
fXk2aj58VnZgSHxkeHNqblpRN0JYdWI1bD1GMi04cyZqUyt1WmAwP0VQTD9Wa2wkfF9aamxRflh6
dFYwZQp6JnVQSUE/LWJTJXttej5rNT4kNXwwVDt3fllfRV9yM2h8dGc+azM7fEQxXnQ7KTdfJWJn
SDMmND41TmAyVzM/UHUKektTRWw3Rnd1PXF2SVAtKks1NFFAbWgkekFHUSlNdU9idUJkelUhSj1V
RilwUER0aHNiUnpwbDkzfWVNaVdOQnRACnpTMTtrMGFtOzh4KkNFQ1d2MzV2N3dWLU51bndLKj0+
V0FMP1puczNmR3hLZFU0JX1fYEhRVDhwe0ZiZEpWMjtTdQp6I0FzeiNkO2pQUGEqZEdDd1NwcDs2
N0BkIVEmRD8ycmZaMXNPem1oQHFhJEoyTjFFJWpQMD02K2B3ajI7LWJqaCkKendVZzVLN2xje2Y/
QEVyT2JZQnMrbGZeb21fTmo0UWY0OztpQXEtVU9JKTtmVTJFZ0J6d1dkJlokMSpRJDMzZmVuCnop
fChxWDl3fElLSClUUDN2ME84O28qfHcockBkcUw9QyYqXkRaWV5IVlVZajBPU3ExXkF6eSY4dVRT
KDhQV3o7Sgp6Rj5SSUpMfGR2Yz57MH5vKWNHfUF7VGt+TTNzJFV0algmfkRTKlM8LTt8cX10Xip0
a0VlMjhFNnVJNFUyQkBaSzQKejl9JkBXM3JDbGpoVTNtdChkbyVAMGs3e2ZSQGFmPHhtRTZzP3Uk
RWxJcGEwOE80SXR8bjtDZldCJjxPS0J8R0J8Cno2MFA7SzhIdXY0ZyFuezZNQzNXdVVMc3xMUlgr
WWtpRDRVfT9UK19EJmk7Zjs3NDYjfHoyJC1QKGY3cTYjNWFNdQp6Tjs9SEs/eTI2cFUmaGJPQ2hz
ej9GNWpUYkdPI19LdyFaV0hlMTZsa0phez5sYDV7NWteaUtWcFomPCUqV3x3cEsKenIxe00pcVlX
JHwlLVEzM1BGKkt2c2dSfnZlPiFaNnpiVjh1SiMhYSVmP0hvTFN+I0lTKFZHKDsrMzF3TndEMUo8
CnpSNSEmUClxPjlpYXI+RntePmI5K2lzdDM+eUNhbDhxdENROzh7Y31vTl9BPnwmOE8pNGxCLVEo
UndRbStxUHFkYgp6M31JR2tmT1o8WXU/UThKZiY8bkVIbjEoY1NFI0h8TTxkbUo0cE9qbyF+SW9I
Vn5Sb2syfCM9LSRTR0RYbEEjZysKel9FcDx6MiM5KSNkZHYpa2p+eXljV0Q9Q35aTklBd3A3TnFU
UGRtYW5KcV9CNmhVbVpsPUUrKEF4Xk07M1hVaTkwCnp3KW9uKnRaTFY8c3NhWj5WVyVEQkp0dUda
c3JrNX56N0U1RDBLMW1HRVM7bVM9ZD1YPjUjX2J7Zl5udCl5RWVfNgp6XndpeWhtWVpBTXskbilm
N2p4R0VeMGp3MHthYUhpdCFISmdXdWwjOHElZFImRGV9eDB1YW5nKTV8YHR4P0okPU0KelJjeis1
cExKT2R0Pz9xQFUqPCslYDFEWG5ybjBrcVgqOFRTayRWRGNxSStMeCk0OzkyQTtwUWs5PHRJR3V7
JUxBCno4fj9uZGooPVBnP3RtWk4qUn5US0FBViVLRmpaZj8mX0F4fitNYj47MlJ1e1U+ai03WnVY
MWhHZV9obWZyfFMxbgp6WDtJSW9XaUNKWkshNzJyZiY0PV9kdlFSIyhkNjIjVWJSP0VmN1NrMmhr
KjtLQkJnKHYrczxPTUdnNDBkZHopOUMKei1EfUw5Kj84PyMpc3tUUSUjSkU1K319QzFNNmpsc3pH
e3g2Nj4pYjl7MFE9Nnh3d1I9UEUlfH12TT1MSCNObVpMCnpHblhWbkNAaXpjO2c1S0MqM2EhPXNY
MCEqNWQ5NXA2ejM8cHpGMTQ1QnJBa2dWfDE+Kz9WTzQqWm9fYlhxUmVDfAp6RVlLcmxnKFpgeio0
Uz5XIz0zVDdmdVc9KUJXNzF2VV47YmtUNWAlSEVKX0dJLX4oXyFXRTl1WUYjbVpfRGRxN2oKekhp
VUtCKihfejFRfUVzRHg1fHhsP350I0RuTDVebnBQMVZfYXZFJUFXPSlHTU5AdXpYY1BkJHJtQUZm
cjw2UHg2Cno8WCEjcy1VTjBuJmpoTmtJODNJX0R3cTxAQVJSblVER2U5d3JGMzFacHBaVHwtKEcq
JlRJa0NZV3MkTEJKbnZeTwp6KXZ1aTIkYV5PdUNTY3xmZnxJZ0xQVkMpMEpfRjRfLXE4Jkk/fTh0
UnI/RTQkUyY5eCpONCp4IyR+WD5td2o7elIKekFqOVV0REVASUV1em53NzwxezhYJXtOQFJYMzhf
fDMtfEYkbEVQVWNHNEh4PWBNTzx9dnZHfU09anNBYEE0QjgjCno9LUkqSkJYP1gqPX15YVhMaTB6
eVUpP2hsQmArX3VXPSY2VGo7YG5MbW07YEttKVA/Y1BwKk93VDJWO3pAUDB8SQp6QWdLIW9mUHl8
KUotKTBsS2tpTj5WMjV4JDBaITI4R1J5aSVtZ3g5d0dzI0x6V3khVUE3a315bXt+MkdBeGEjYjMK
elZTbz5mazE+cFAxY2pSTClJUHM9UVlaZCNacGRMRiFkVkhlR29qZForM2AkZGlobCh9YzI/NjRx
R042UG5uZ1IyCnpJZFozaj1hQTBZMztpdX44KWxIP0k8WD9BQjF2fkEpa0cxNldAUCh1TXdYWDQr
UmsqVHZkQ1BQeUlWcChmQklUJQp6UDZQMntVZ3VPU149dGRHKz5iWkIhRHhvKmdfRFRfTyhyZENU
TXdwdj8yaEg3RkopYklLYjRycjQyKypySEAoK2sKej48SW4oKTZHb2tJLSswTU05RjBEdTBFeEsp
SyVKeDs7c01qZHEtIWhxKVFlKTQ3VHFCakwqYlJ5TXhXZStJRyQlCno4fGVkUnRtTT5yJGRTV3Jr
akRFZjM4JjgwdVg/Vz8zY2woeVk0e1J9VikkPkdYKkdRTzNXc28pUSFKWEc7SiRDUAp6PnRRTldG
P3o/P3tyb2pTTXtJYGpvV1VAJFdjLVpCZU0jWVFAKCtzQGhESSghek9uZ1lBbiZ5fkglXn0qTC12
bFQKemsqcTAoYUYrIzM0Xn43bll0bCYyV1d6ISpMU31UeU1YR2EqPnx5MFQjQGtqYj9RWGYleyE3
OUdqeDNUWC1XUGZiCnphYjYzPEl1OSN7WGphIUZvdnB1V0MxJjtCTT9JaDAxbjBVX3RkckM+Mk0q
PWdDcXYoXmdEKXlqKz9ZNDJTcj5+ZAp6e3N1TH5GcDxiUkJpWUYrMis2ZTxgJlVwLXozTkF+O0Ik
QTNyZEQwaUBPa3M7LTVZWENhXj9Zc3Ffdz1xYVdxUmQKenkhLVJKeSFAJHZnVlZ+KmVtQmhAcWhe
Z3NGKEdGRDsjTCFxMVJOUjVTVTAqT2MtdUBLbWlZRE50KC05YHlZU0YwCnpAUjJ5cHJQPUMwKXMr
S2peKG5NNFkxViFEISZ6Um9YMWBmRTFUIT1MeT94NU0rS1B6VE9CfmR+U0VkNF91X0FHOQp6V31q
WnhGYHNofnw4eitGd0tIQTI5T1RYMkVMXm9CP0IwQkZMbUBDVntQRjhoYWdQcng8K3NXaFljRGRU
azc0clQKek1WRG5FYy1MLUtCXjY/K0pjaCU7OFh5c3BoTzQhQGA7d3ctWVg/ODRCOW93O2cpeU5s
dXR6aiVpRCYhejdUPTFGCnpsV2Rpcm15dzFPRGZSTz8yJGpkN1VrUjEyOTRfZCplNkgofU94VUVv
d2FWO1ZhVzNsI05PQkdjIWZAJVlEP1hifgp6bj9JdnQ1fVZQSyNlSStXSlRhViE+UXlnSTd9UDZF
IyFvI2NzJSg4VyMqU3BYb0YwT0NieTNiLXshNmtAdzFuPXAKelIlSD5LNXxmemstWi05WENKUyRZ
WDRqWEVtZ0VBJUMhbnc8TSFrR0tiOHpDTCo+al9+QzNSeDI8IT5ZODMtLTNiCno8TGxYdHVpTDRK
Nz1QSERtenJVMm83dStRTiVjd2kxN30kQk9YUkpaeDY+KkcpfUNJJmM/cWBrQy1pOXFTZH5nNAp6
R299KGVrcHBSNkQheVUhcHh1Szx5Z3RxNiFaOWZnVzVVaFE5S35ZPXVFdTtIdXs7MlIpcUZ6KENS
MC12eVZFMFUKekRlIVg8JXA5fjRCam9DKDg3dEhAZFFuayohWTVXaz9XfWRVdSRWXkomUjhOWkoj
anV6MiUkTSE1clRDV0RMVXNYCnpGOyZtczwqfT1VQHZZYkglPWZpOzZwdmB1WVJ7Y3lqayktd1BB
aDNwMFh7cStxUmE/PXI1NFNnZCNXQWZAP0Q+UQp6T0spUE1UMil2fmlXKGtZdlJfPDZkZiNFaENk
fG1yNUdtT0txRz8rMislVyQkLW5+cEh6Qkw3bj1TYW42c2p9IzQKejxWMms4V0ZEPSY5Z0YjTHhf
UGgtUUpIfSNNWDZHVkZVQE5rMVBgbDZYPHBFUHpXbUJpJFF9TChAZ3skTDw7I2JDCnpQKSZsRSZa
V2YtYDkmP2x0RiYrclotbH5fa1JwayhZViV7fmp9KjcjdE9laV9DISV7ZUpFZ0EkZTAoLWVVVyQt
Wgp6ZjQ9b0RJPEo9IUtMfkQzXk5MN2YyKlloUXh7S1BpS1hDc1Y1JGZCbGE4VERBLX1oWE58MFBB
ZWw9SzJnczBVcDMKelFlVGIqYHZmbn5xKVl5RHR5TzhfRSFgO2w4fF5xJm9kQU5XYnE/USpzM2VJ
dVViXjk1ZChJU0BfRj58PllmSTk8CnpMQVJIe2BxRlB+Q2QtbmZ2YXZjVkVNTDlaOEw0azB6dTEy
UTQ2aUdIJXgrek5mOyFmPDY1R2MkOXVIUihVRlQlMgp6IXNuU3R6OVQ7eF98Z0BOYUVncjktaEhX
WEJmZ3hZeD84TFo0IVlDZEJQVmw5TFNURy1vWUdzQmU+N2FaPEd8T1AKej49azZYcG1za1VUOFhN
Z0VMaEFZV1ZHeHI7KHJqcjs5YF8xdDcod1JAeUBkPjc+RTd+fENhajJocV5nZG59PEJuCnpNPT1j
aEltb3MjS1ljODlZTUdSaFcmclF1PU5vU3Q0ODFxPE4+Iz5Jd2QhKXZOWTQ0aWUtX1MjSmRJeUdD
LUNSSwp6amxCN3w+WHJQZj1+PVIqRHw/b249bzVmVlI8SllNa14hTjxGMzhLQmIhd2gtdCtfJn00
YHAhbDJyUDkpeWVtS2AKemR+aTYmejtXTUVgb2lpLShDT1FuUUY3OXs3KTtZbkk3eV9fKFJXbVE8
OG05K0dsQj02cFg8Mz0qOWhYdCslUmFVCnomVTtLTkdgNEdhPHMkclImPUZ+UUV0fjlIQ3V7KW1B
bW9SMmJjaSpENFF1PHVDcl4meklta1RmNk9nQUpXTjcoVgp6aDhOdVExaVoxPEcqSElUeWIjKW1E
cSR9JCVEckN1YW0kO09HaihmTFgqZnVhVXlwKjVlJX5HbmR9I2FOdUNPSzgKejMjc3U4KGk9QShK
RShUUlV4MXI8QSR2aXppJX07XmUxOE1VNT1YcVErYHI8IVJ5dWhDZHxWQTNMQHomfUhlZyhaCnom
Ty14PEY7U3NhYDs8VlIyeyZ6TEpsNGQ4MUc/fH16ckBPeEtIYWNXNDxzNSY3PSZGVkw1OTRaMEV3
b24xMFIqZwp6QGR+YmQoZTJedXpLY1QlRUhtTm1ramlAfWx5NTU9I3R9RXF1LVY1aiVGJSlwTz82
a30tZF8wK0h7JXgtakcjNEgKej13PVMwRTtaP21BZDhSfVdLPkBVMjZaSTU0R1Q4bTNLYSkobkBy
MX17PDwtJDgwWnZRNVhRX1B6K3NYMXl6Pz1HCnorelh2TzBkZT5Jb0A2RWt3Vz44ZihXYjFQYG4h
RHg7a31wUWxPNmlnPGE5cVJycUFvbz1SI3JBUSE/KW9Ba3NJLQp6S18jMnBmbUcjNnIhK3NQeGVq
fFJsU0Z2RjZtelFzblFtc288NTV4ZUNLITFRKXgkMyR3PUc5NG07MERwdUgrRTUKel53KypzI3ZU
NEJTWkh5Y0lXaXZXKHcxa2ZzRzZFaFBtcmZBeiQkWGQ4dUl0KSUqNU8hJENge1hFK1kxdDlgTzk0
CnpGZ0dUdmQ5T1VhNVE1eD9qQkRgPkpRcnk9MmctUUNYXmBeYnhJdkE1P3s8R0d1Nk8wZnM7PDNy
YHEhYEdwPmVBJQp6Rj5McXpkayYobTNqR2lfRHFUYyR6Z1orJmE5bF5KPz5vdiNFODgzTiFXI3Qy
MW1XcjdpfHF7M3NsYCpvXk1Ne1YKencoa2U4UVhhUERNU0BHXzl5MFRTPE9FezU+YnVjPlMtVDNA
dHJARWxzejBnO2AtdjJeI0YjNz9nQFlwc3EjRHdCCno4IURROGQ3S3cjY28penZtcUo2ezZOWkBX
WHc4UzMyajEkNihPdWVPcnJXciYrPVFGYVgkRipEKnxUKGckczRMNwp6XyNqckBqfVpHel90UCFL
LWl8M247a0EpPTwlRDdYQjAtKD5uY1NgKnFkTGpeSGRyNXNQalJ4Q1VlbnJ1c1FYO0kKemY3MSs0
JTBjXyUkXjZvWEN4Q2RIRWZEMnBgbDdLUylBPShAbzR2bUItQUd0VkJpfDZZPlA7NGZ6Ni1hZU4y
aztvCnpmTn1PSzs3eThiJE9yfiZMJnheajw5NDJVVTh8JX4oYVBNeDN3M2UkU2khZncmLTtldXp2
MEVQbiN3QG5lZiU4egp6R0VFQUk5JDJQLVoxXkAxRGo3NlAlKVdsYXpyRlJrKnwkNWA9P2Y1Uyo0
eFZQT19uLVV3JiE7XiNrdVI5MnBXR18KeiokPGN8RnhgQWM4UXY/M3JRPndabW0/RntaZU9Ze0E7
YnpGMVh7en0xZyV4eyY9eG88NEZ9PWtPWE44a1UzKGJUCnozbzdldD8kS2lnU01PSXlxb1VMaFBI
fUIjVlFncT1BYmcmP0NPJGNLRX5rMHRQc3R2VlJYISZASWBhMFFuI2hVJAp6ckJ7SWQqJFp6Tnt4
eFVzUn0oaGo9fkxCYTczMD5FVEQkI0JxQitPJHQlYlhZMnMzTWBtdiNQTXs2RGBEdn5VP2QKemE8
RHo+S1lzIzVie3YrWm5HYyFLTWw2U2ctRjlUNSZ4d3J3UmJge1pVJGpvdVo/RkJzWEN+YzdASFRZ
e25CNkAkCnpPUSZNSU1RfkoyJFZlJG04NEpFZ0NkSkReMU1zeztMT3ReT1JXeW10NklyJiklZDw1
NVFnaSZacUlRfkJNJTs+fAp6bnBOTXckdmtfV2tgNXFmSWN6PXdTYkojWV9HNjFAOHlFP2cwZG1h
fTtzdHZ+S2w2cSFYNzxgd25vRnlIUUR8O28Keksybl50ekUhZmphJjZ1Zlh8ZlNhcUlOck5hR2Yp
dm19Ozg2P0tvMHgyb1JZVylhdiNfJFI+THkqMXFyMW9sYHhACnpJPm58bnFsfEd2SkliWUo3Rmc2
PFVVeDQkI28/NSZXVEhEa2pRMng7VlpCY0NWYWxBcEE9NEd7MCNlcDlIRUAhYAp6PzVnd2Qjb2tT
RykzRG52TF9uOClNMGZPO1ZjJi1DaipmYyl5S1NATXh4QEhaR3ErdHNFdkc4OWhmOVdBeStsaTIK
elpRWmRac3JYO043TERmU0x4SXxjNVBDVld7JHB2Nlo0YzgtaVpKJTg7TS1rMyFiZT0lJEdVUlQr
U2d9fTlwdksoCnp2aSlMKjNIT0dBWmkyLUllKHFEPUhhTnh0a3IkbVh7S0B1OU8+VEVuNmRlV0Uh
TVJATmMteEQ3VkxjdGg4bE1rUwp6OXJuVnM3QlJEIWRpMCFnblBWU0A7ZTVxMnRAK0QqeVg5elkw
PjZfTk5LOCFRK2tJU2hwTTMpS3heZkd3Vz5yUFoKem4kcnwteWVscjdDPXhxfjl2QXEwODRBKSZm
KFcqQGh0Ujt2WFk7MVJ0cXN6cjtMI01IVGpZYkNgMGpZPjk+VXBUCnpQR0JFU3lsTChIQnVpSytu
ZzNMajBQNmBUTnV7NW80I0lIVGNnSnV1am1aZz1PPEtaVnE8Xk8yJTMpeSZZJnwkeQp6KHp5ek1V
Jm9venwxeFUmREU7R0NnckAkaWBJZ21IKUQqe0xhUGkzQzJ+Um0kK3ZjWW1GNHlWWXF5KkVyYjAx
VXIKemFsST17NlJCR0tHMWR5Zntzem9gYDNnTH56K2J1YzB1Nll4M3c4LTkpODFDS3Y/K0EzWFA+
cVNwOCNMO3Q/OWdnCnpAPmk9VUNjelUhbXxVdmx1LV97QnIyTmdWdn1kM1R8S3I7Z2FuYmZJaVRa
QH52aXF7NU19cTBga2ZlZVlRVDJBOwp6cmg9PXt0RE8rO29rek95WF90KE0zdFVZeiZwPm1pPytO
XmUxTX4hYV9oJjBtS2tvQH1eYk5sS2YhZyN6UCY0fHoKeiZCfD5yek5ndCFDJiYtRj9LU3tiQ3dZ
XkJwRmdHdC1Sd1gwJm01PkBIOW5xUEYodjYqeTFmdld5JDtXUFhucHFjCnotcHpzTjJ+ZDNIMilT
SENhZFlPVXFPPjlUMWJ3U3dvJG81LXAwZEdZPFZgZ1BhIUtGMW5kbkZNUlc5NmVBRXN3Twp6bjt4
KjFkVj5eKlE8T1Zgd2pTUngrREhSUjY0RE5qJjNxSFdYaFVTfSpoKFp5PVhFNHNvNyErc2JRP3Bl
RD1ISUkKelA0T24oaUE7RHBja1d0MUpxfntMSWxXayQyKlM/RHAzJjU7Ky1IWXl4R0g7al9yfHlh
WkJ2ViliP0A3dGkoZyQ7Cnoqb3VkXllpQnpxXmwyK1l7PEZJeithXngqVlhfR1ZZKU58QkE2ejlL
V1pYPFk5PkB5ejwpYHw7Jno8fnk/aX1UTgp6OH1aUkRmSnZMU2Y8OzA1QE13R0hlNndtVj5YPllf
P3ghQTNnNDJmWXQreGN7P1hnMUBXSDA/S0B5VFp8UkFuRmMKek5TQ1NFTSojYHU5P2VVR192MG9j
Zl92TmRqckJVSFh1bH1wX19oKVJXJiV8YjV+TG9vM0RhJHUqS0t5dTYoRUxfCnpXaitQNytEOUJ7
aGhpYmZyfFFeV1drWDFKSzBGNUBKbWdBQE0/UEF3aUtnYjhyQX5lMkpNNjJNenZwJmRAP040agp6
YXZ4TjJCUSZVPDlodWteXjtgTHhXazFCJDBRYkd8ckxXczQ7JDdjQ15nNDhwP0pjQ1pgVjBNMW1u
ciQzWHU5WXEKej4kbCN7UHN6XkdBeUVIJFczSkArZXp8cDNnSzkjQDIzWmkxfE1YVWprQFMlTEVa
JW1XdThxPz42c349RV4+dm1QCnopMTl8bk9JKEh4djVtUG0yenZeMGU5RXdBTWs+a3BgJnRHdys/
PjBKPHh8c2IoYC1XPDlkY3FjQnlwUnJFWkheMwp6ITc9Y3RANkl4QlpSZGxmVmJaTnVDdnhfR0Iz
VHduN3RhSjBRLWFNKURgTElIZ0BaNzNGWXVJKlFXdmVoXypuQE4Kekw4TTF7bzVqX3x5UW1mUDN7
THFPJX5Ic2x7QkBGQVV9e1pXb0hOdmY0NyVHaGl+MW09KyFeU0RtNFNTc3JwUWQpCnpgc3pCTDQ4
NDZXN01fYjsmUCtwaCYzUlh6QDN2eTJJSmBUfGUhalpCbHprfEg/OXt1Vz5iWjByYF4oVnF5SXJz
NQp6U3p7OGIoSHduISRwYFB+KnRlUFhDeFU1anhQRm5AaiY8Y3VCIyFJYlVGcUF8SHszVS1wTDZO
I25UI2B5JUhvflQKenVnSD9BQXV4PFZyMU97TiYzbk0rUzF6QXx0RVhTTHk+UWRNXnRFP1NKSFRD
OVMxQk1ZPjZfVUo8WHhVc18lZnl6CnpnMl4mK3EzcXtXanErfk9CKTR+MVoxTyRqYm5mO1BqKTUl
b3UrQz5mdGcwPFMhdSZsJENIdGZxIXNseSFGPiQqWAp6Nl82I2pkeTwkelV1YHJ3I3FNVUAqe0kj
fV5IWG83TVNyb3dDU2lqYT9YSkZ1JnQ5Vlc1UWNmUHRZV0F5cSZCTFEKek4yVyVrNG9oNTw9QHxx
VUJIcXU9KX56JXxBdFVfWkxzcFU/STY+VikrMU1yNEQ/RTJ3aSZhSDBwbW59bWFeMj5MCnpxQ0dA
Z2hJKU5XYzA0QCZsViheWiZPWkxCdHhhX1ptNmRnQD9GfDEwMHdeLXdZcD0pdCFVZ1F4KnFRb2Z6
NmtESwp6bmY2X188KTw1R0hHZzJIWmB+NlQ9a0tQVlloViNkdnleJXA5WXkka0ZvLW9zQEp2dTM/
O3MkKmNEakNoXj9Se3kKemsrOXdEKT94PHpAeEszTFo2P05tN2pgQ0ZxdV5kdXJ1NTd1Z2F9Z14/
YE4xVTZTZXIxLWcyMDV4RzdXYWJ6PkpYCnpgUStHemF2PkpGT3Q2TFRvbTw1ZkoxMUFEY3VJTjZC
ZmZXbXBCdmU1Z2BKQ05RUmVfbWltQnd4dz5+WC0yemxiNgp6VGQrO2k3UlRPPHp3Pyluc3claFNG
WHc+K0xvNSlVO1NPdHFiY3deOFBoWCpuKkwyWjd1QWJiaCloN1VVY0xjM0AKejw5PHBYSjVpSWch
cFVUZClHeXE5YFF4aWBgZXE1ayVIeUw1LWwoI2Q1NXgpdzhaRmNBS0REeVgxWXMrZF8zXmRhCnpR
dHBGQFVmNTBLWE9rSXVzMHxGc2U9Wlo1PkF7TVFBdTg2Mis2PUkzVTkjTVF5bFlzQmNUNlFreVgh
a1hUZFQ1IQp6WnU3TG9aTDx1Vk19WjMkT1c3WEZnNiVOd1hsbUVTTnxxSyFpcDxuUSt+VzlHPD5K
SDZOI2M7aktEbW0kQG4/VHUKemZGfEIyOWs8d2JyVnchVUdaPTQwM09VX1JeSFJfcklVUUhrVDJ+
aEZEPjZLQWlUQllqK2l2PnYlZVZvTGQkOz83CnopMTZ6ckU/bmJYKGNRYUZmdG5qJUU7cXVoU1ZH
SVdkelAlQHFhUjB2ekJjJU0/Iz42fWFnfmVLOVp4e1JRY3d1RAp6U1Y+LVN2TDMhcU56RW8qTk59
fEgrY05LRTRebFBzZnxgekBaajxyYXIzRjdSXmd1Y00jUSNDb2RxPWJWIygpMSYKelpNQ0l6cGVX
TVQtbkJQWHdXfklAVGJ0Tj5DUTRDaXZ9Vm9OTilVVlJTJG01O1ZwRF98MzZiOVV7TFghVD1sPFVK
CnpBMzZDYXw4VTsjPnZ+P1Y9aX5Yaj5gd0tmSypLI1Z3VERXNU9ed3Nle00jZDZWX0RkJmx4NHIj
Ul90cWRqQ2t1KQp6WWtmMj5lVC1nQ1p3NDlfdCZOZkheeFVefjkhNCM1YVhrQDA5b34qMCR1VWBi
RXd4YzN5ZyljfVBNPktUP01zakUKeitfS3VES3M0Y25EaC1gS007MXVVWUklZXZZJHNtP0crKFIr
SFRlTjs2SyV5UGI1YVUoZ3AlQFZYQlRgSG8mRXM/Cno5fXc2d3ZNYkhwRDc1VDFpOT50fU9KLWZC
SjQmalVOJTwpfjlOO2NAb1J3N2pmVlhyOz58NmtEczIhUlNyJm0rbQp6KnhzT35DYm5RYEM4bm5a
RXRjc25oNmhZfHJtTm8/YUdYaDBwMGhYb2M0ejVhM0xQaEJvKnF8ejswfTFNKXg3YVQKei07V2FT
JkBwcldoP2pScyNZZD1+ezRWaHIoX258Y14/PXlMREF5VklRVUNZPTh+M340KlEpUyQjfj9sKU1t
WCVTCnpDOyQpWDY7czh3U2lUa1o8MHZ6I1Q/RzQ9SnlaQXh4VjJqTiUjMEg/Njc0P1oxTiskWkJn
QmYmamJeZEY5UEFpdgp6ITAmWWVUNXJ3UFZmKTZOem9nOGxtaW4jI19adjQxViNoOXVNS1cyNFdT
WDQ+VGBVajtgcz83RTVEbj9ocXVPNjIKelNjZSkzTUlCOyNJTXBnfUJwK0ojNE1EdnxnTmJIcG8x
SThMdj9UfDhaPV9+N2JsTjtrb3FLWms2dWBpTDQlZFZhCnpzWXdvZkN2OSohezgpTjEkdnA5TVRG
UXxZcUo9XjF3TUNYSjk7OFZwU0tJbD4yaSozXnhwMVhHISVOcmp0WXY4ZAp6QTEkPUNXNzJBODw3
UWYrK2lfe2dFTVAlT2ZjV35ObzZtPEUjREwyY1U4MHNrUTAzYE0xeGloI3xOU0JQX3h9VUQKejBz
JUlRPzNjKXZyK3BXU0xwfUFEJmVJdkMyWisyX3xMZjRTT00+c3RLITdsTk92VHxXUUBrNVE/fGFN
QzkoYGJGCnpwVj9zdVdsWH1ATXElWnt7UVdZaDw0eGMqcnRudHRCYmxqaXtfcGNjPGQ7VHBqUlVr
KU5LUVFSVWk8N0gqdHppRgp6aXJWalBIPWNxRzJ7cUNoWjhyN3Qyb1NtU3leYERVP3RhM1VqTE08
RWQ1ZylQKzZFPHhnfT1YQjdadHl0MGhaWWcKemxudXs2UnhDZDlsYngoJkZaWis5bW5qbEROd1N7
cGA7OER6ajlkJTlAVXszNkdWdF9RQ3NQakEpZFBjPSVweUohCnp6PGdKYjZTVFApPVFiZG97cyRu
OXZtdXUwZjdQYTZVZXZrcigmZ2Q3a0NuPC0zbVZITmFVVTFrWEViQ3BnUF56RQp6b0o/UT5wPlVE
aXEyOzlJTnJRPjxDQWhmflp8TW58aklYfE1ieiRqaEtKaGlAUXBqdTJLcEBFUyFYflZQTWVpR2wK
ell9ZTkxMEtadlBYP2YwZ3hJUTM2OyptZXlASnZtQnkzTWxGUVByKTZQZWF7cSkzeiheO0VoO257
Q3A/ZShncE87CnpWcGFGajBLR2NIKUlUVClFU2I1KUtXb1AoMkoqPSsydDV9YXU9dVQrdT5VbmB5
RzNXY20ycFFxUENJSyFzRVFZewp6OFFrakBAQDZmPSY5bl8jeE07N1JKMkBfemR8eV9PVDNpfD0r
SCpoTVpnWFFSRnlORjZZYiFId0xUZWBDRTJVa04Kejsqe29KKnFwWjw8RXdZR0M3cyU5eWtLTSRU
c1BrVDIpTHhsKi1MMjxgKE02KypqKE48RXM3WVlJJkBgd1cjQ35KCnpSM05VZHhEPE8+a0d8Vl94
NGtnJUllYVdadytMNFkrQE9LVnJ0X143WkJtVU0oMyNZZWpNaXV4ZXBfa20tQHBxYAp6WHFqaSo7
JCoqJHpLJGJfSFp0MlFuPTtrTVhHSl9EZCQmODVNZT57P3tLejxVT1pnXmNUWHROKE1nfnxCJDdx
QXEKenhLPClRcjcwV0NET3YzPSpoP2A9RVY+VU85clJeOHk1JiNxa042VVR4e2gkaU5XX0xEKWpH
U1JKSio0YSpGMSs5Cnp6TGo4Z1J4N3Mqe3NFfDRffTZiTmorSWhBR3l0dkIyaHJKJnQzPWdEVm1j
ZTdFRUQ/SWpsSXBPYVU9b3Q1fFE9WAp6JURwYHIpY2l+Rl9XKERiJUB9UEpYS1RAZmozR2g2S1M3
NDA4Jj9VMlVSWDA9JityJXA4eSRae2Ijc2wwbFhjTHUKenJqNHA4LTV9MmZwTkgoX0hwZVVmMDZR
TVhGfHNgPzNeUkpoPmVGUztxUDllPSs4PFYwdFFmaFJsKWNDelQlfCg5CnpObHhMVFJWNSNrWTBG
NFc0ZkhCciUmamFmOS00KkByY1UyRTFKRHpsIUU/R1cmNXxzVS1GJGpuO0RAcnEkbHxWdgp6ZX1F
SihuWHttM3Ema2hNcUR4dUk8dzshVG85bGhxLS1pYiNpNlNXbUc+X2dNcFh0UG43NUx0UF84Yz9K
MTVAPGwKektMP0E5TSFwfmxsRntAIzl0R3xHMUI4UXhRdV5xbSM9c1dGKkQ5Ki1le3Z8eUUla0xn
QG52RXYtWmMyaC1UbiZNCnp2aXU+c05ZUHo9eihAdmRzPFo5d0orcGZaSXU2Kjs1OWNDIWRzLThK
SzgwY3A/TV9TVi1faVQoJkZpa1FDVEsyegp6UTw8aGQ9JFY/NlZAb0hgT24yP3s0dD1yeFJebFd9
X1E2JHVBTzRqRkRhUGhmcFZAQ1AlZHt5MmhhTmMxLWRLZngKejsjI00rXzIld3J1NEdPYXV3aTRx
UUdyWHdfPEM+Km1+eWl8NnhGKylPdzMjYFgwZikwd1g1eElgX29ISCVxK3BDCno9an5lazJeXjJE
YGcjenI8VXVOMTt+UHtMZjZYY0ZCNFNzKEpiOTxmJGZXMCZTX2ZvYUdVWmZ1IV5udXwrdGtAXgp6
SHEjRE1Bb04mTnduJWpieyM3TyQ0VDlnPmYzI0pXJCE0ejZ1PTtjM3l4YnF6Y1JDS089e1ZWRntP
fHU0cCFicH0Kem9Xe3paNHVJLVYtaDR0fkw0Tk93P3AqZGMyQnZrUV5pQGpRalhPUT5PRkAwQlIt
Y1FkUiVNKFM5ZTJnJGgrKSZYCnpDIylzKSNsM3peOStxT1NlQHxiaW8hRCQmIWx0cyZ7ezdURFJN
fXdQK0xRWCUoQiZqNF9rQlooLSo2QmM+fDA4MAp6aGkzQ2RXbz9ROSg5aXl+SzBaTzVwVENHIXs7
fkdUIU5FPSo/KVgmZHZmSWVNdkdManBjS3NXQzxTK09TYTFJK1UKens8LUpBSjVpVl5xKFIjRVQz
PjspPVRjMGo1TmY4TkpTZ0I2VSMoUDRvel9HITQ3ME95RHxsTn0zS3VJQ2MoezF3Cno/dXE/NU9v
LX10cCl1Kl9SQzk4OUd9anJOIWI/djY9N25YUChNc2xoNzEoYTxmfWkmKmhrYVJhIzRJQmI+aUVK
bQp6O3YjMCslNTw0Kj9PZUkoX1hTJXE0d2dTdE9KR157OXpRS3pVMDdyYSV2WE9FZWJGYioyNmUh
fGJ1ZUV4cXxJR2gKelgzQjRnS3ohfiQlS3A8eV5NOyYlRjJOKX5QJXhEfio/WTU2KyMrYVQ2TEIh
LUVaTWErQyR7RmtCKXZmZThZdTd+Cno3KT00S0sxeVM3M0o/PDFAPEYwQ2VVQXpmQDRWPkdjI1Vr
USFRNWY3TVdMNn1jKT9iJnVQVyMtXiNkUHw2KU0kUQp6P0psJCFeO1c8Q3pFdmZ6fDkmJTA5dXN4
cWVAXmxCRGtrNUk4UShMI1ZkeTA2YiprKkxtTVNuJm1ET2A5Y21eTG0KemAxfj8kTHAkMTFSbVhj
bV88M3RoYk0wfmhYdHNZPnRDK2pgKX1zNkdZJmgoTHpWVSV8MDlQJFVFaT1xRnJUNko4CnpraGtq
cT9SejhjRDIpXjVRZGhVZEJXUExCUn5ne0R2XjEzK21rTEBOMF5CcH1IWCU0M3hgWUM0QHhfVTx4
X3JDVAp6VSNFSTlJeXQrMT5tUl9BIXxmaitYSmVPWkJKUiRIYCt7S2EyNypnbER7QUZaeT8pUVMy
bnUycFlOKV5lT0UzSnsKelpFUWxFUH1YZDwzWkw7WUxDVCY9YTFpfCY7Yy12REwjZyVWUEVoTiQl
KXkyKE8yPU5IKGYld3c7eWNPamFQdXJGCnpfWVplZihYb252LWF2Vj95PXolYT1ydmJna3hIYFpr
QTBNb29YWG5Sdm9SbnotPGpkUUd9cGViRERkMjVIcispZgp6MEtRWWRWWXdwKXpqS35aPWU7Nnhp
Z20lNVQhIz9VKlhtZGc7VmIqcnxOYzw/QTJGNzRwV2ZOTjxMKHNJTWx7ZEcKelFsRkNNI0UlYVkm
Vm5QSmRpMGd0Nkg8SkdlK28yYypUVz9reCUhWX54d0tqNEl3VS1zSEshbjVKVjdTXj9YYndBCnpZ
akckfnp3KG10IXtwP0tyS19JPTxzMCpPRSF1N1ZfITcpSjxIcDhOfEUwbkk2Zl83clJCT014MERA
M0J4OX5XJQp6ZHNXJnk4T0NsdTw9fTAoeXVFMlRqXzU2NXU7TGZeYDZ8QUVBQU9oUHcmZ1M8N3Y/
fjhofDN4P18+MSEmZlJaN3oKej9pZFIrZW8qbmRhcW47NmdmVnArYUYkT3plNVBZbVJROFhvaUdj
IVcmQTZXayZpak48UHAkPFlfeURhWVd+OFVACnpRQT1kR2RzayEydFFvWCtOVmw0KmNTSGBeJTUl
Zj0tdHBBR05Vci17SCVvJkF7JCk0SUl3UHRAQSsqfllDaGxleQp6RTQpJiU0dldtRTtrJHBgPk5q
fHtRXnoje2AtKGElbHZjOH0qOTwrVWsyKlRJOHRRJk8+LSNxPHoydWwobDtvNzQKej9wVy13K0Bu
IU5yaS0/fXktSChqMWctKXp0amVHN2gwZk9RKktVSEhZQVFEKmV9K3JAIW50flJzcWhtV0xFdzte
CnpMbCgkS0ZMTkhtaCEtREUmIzZZZHZGdEU5RHI5P21XdDYwOz40eVRQQ0hMVnRnP319ajNkYlR7
aWNGTHM0I3c4bwp6NmcySUI4O05gISReV3JwQyF1LVZZbDh8bUEzbyRKak5HM3JWIUgjZzdsfXMp
Rnp2MW5aZkNELXpRKUE4JCZ+dDIKek9LUT5CRkY9R2woSjhPWllyZF5eO0I2eFlQO0YjRyE7P343
bHxUT3g2SzcwSkh5OClNaDMmZj9gTWRETmRIajk7Cnp7TSpSMTJJVihaPF4wVHtWOEt6cEdxXzZa
JEFVWEtVTyRNVlZSd05BVjFHKmFQQSUrJVdEZSRGc3R+MWJQdmU9cQp6LSlJeStjcnlaeT1uUztS
IXpZVTZ3MDNsU3p+YG0yWH1rdCNNOSQ4SjBFPW5TN3wwTE9EZmB3QUtHeGdQcyF2dWcKejNKQUY7
PEMjSTIrVERUXkVHaUtDQWQ1PTNDQUZ9ekdPMjlTJDZ8RW9APCpqcUxlMlMzNW9eMjJ5N3tBR1Ri
bG1SCnpCdHtqKCtHRGVlSnllKyFkPzFVX0dHMntUWksyckl8S3IqST5EYyRDcVBaNW4zclokJWp6
RGlIVm5gI2k1PShUTAp6Yn1vVFUqfD1Oa0JCZW43RTheMW81cWoqZE59RlkkK1liT15PV0lpakxB
K2ZSc3UmZz5ZYj0+eFQ+SnhJZDR7V2AKeldOWjVydVgoYDc3IWohLTNuUElGSEtjN3l2aDBec1c8
ZXckPnQkUE5lbmZBdWl4T2pQbmgzJmpGX0wkKTtXTkoyCnpSaT0hdlk/U1l9cl5IUVk1WFc8VFc+
JF48QzVCQ200SEJuZmwtbzFJemozQV5LQnB+dFlBPDIoNHslV1MoJUVCPgp6eWxDJFlCaFZ9cG0w
KmhSS2x3Xk1EZV9gRWFpUDVzamFHeWw9Znc0dWtGNGBobzlUPGohSSNgZ1dLQ3UqZU9YeiYKejt6
eTVrZjhNaj0mUihEMSh4Qi1oPVc2RX5YOFkybykyRmxZUH1iUEY0V3lBOGB6b1lOUmt4czgzMzc0
fkZmSjZKCnpJYWRSYmMkKzZSKiEqVjluS0E8YHl4enU4YXFYUi0tZSh6YzhGdzVUaWlRe0JgU3R8
JldwMmVAZH5WdU53e3ZGWgp6Qm5QfTtFfjQhS2kxLW52eFAqdzJPbTg4cXAoZz4jVS1rTTh7eEtG
SmFaVH5+X1hwYWdlS3E/JjBraD1Wd3pFLTIKemhHTj1KaTNXO08qVCt8eDQrJGc4ZGpWZSpENCZx
OTIyKyM7PzFUITE3VEVvbkVIKnI8PFBKV2sxK3dHcjFwV2dNCnpLIXBXVUM3IXtXejJ8ckJIckRE
Xi1WQ2Yrb3kjTkBtRXgzNzcpdXl3bjJxbH0kMmo1Zihxc3xQS1JpTThjV24pdwp6d1h9VjRyZCEm
eFUkdXskbyN1SExSfUZGeT0zbWchMztjUGlRaSZfJitFYkg1S0MyKzc7PT5pelgmaUAoPDJXVzwK
em5ZbXYlWmoyVyl1WjFTWThlfCYjJUJtNkVeYyZkdl9sUiVMSllTb2ohKiEteUh7Qyk2diQqPGJr
fWR3SzNEUElDCnpGKyZPR2wzZlY3bClfQys9fXF7MEI/em85R056RHtFNHAjMXYySXBeVHcpQUo/
VFdSSmhfK1ctWm8odTRpMUctdgp6Q0QrekEmdDA3MD44MXpXcW1vWHFQQlpOU1gxJXhVMTY3bnZv
eXJNdWY8YDZuQHBHcV9RVHg9Qj8rREM2WGBpTDYKekJFN3pQa21GIV4wc1VRX1BIaDItWCMtTGlQ
Ry1YRWlGTTdnQ0M0VUtvKiMtS1NfOUwtKWcofFF0Ji1EMjRqejE0CnokI0koKDVKX1BBQypRVj0p
K0pyMT9PSnAxZX1MNEo8YShEKWhiTllLQCFiYjJSYV9IK2VtTyg9YD1UTk9LYUwmdAp6ZVNXX1hY
YlN4YWc+UTM+IXE1dmY0JStEamRQWjhfcGxWfWk/SytvWT9MRUVGcmcpOEdJUiMyeDF8bj8qP2g0
Z30Kemp6IzlrcT17REE1NCFsPHh9S1V9VjdwYEVLKz1OPk92Ozw4Kl9AMy17I3lyflRyYndBSHlT
PkhIWiZGfVJPN3BtCnpNQ30mdXtnZClfU2x3cCVtS3kqYlVyeGBAO2Y1RnI8Y28qTFZNa1U2XyFO
aEh7RkMxc3lRYDZmO0s/LTN2R3A1MQp6XkVicnZycUJILTBLYmwmI208WCkoYzJPO0JNd3VgeHZ0
SF9zcmU1M015fm8qenpeSGkxV2BFWlhWK31zdyFVNXEKekc/flNII0VZMkslUDNWPHc2elYrRkFq
KmBDYXpRaVh1UXR+c2VncnZfX2w0NCtkRC1wP3BgNypoNDRibksxJFBACnp6RS15OTcxX3luUktr
RFEkPVhXUyZMc09ATmBqQmJIfG1XVnYofjNHS2Y9ekRIVzlaelREVGF2YDFgNVk2Mk9LRAp6Rih2
JCRRal9HRDAmMVFaRDBCMHp8MlkkMj1ZK01IZzJlYWs9dX1VVy1ibjNDfEg5eyVzQ1RZPEIhbGlz
Zk9DYDMKemVSM3t2dHF9QiktM29QKzFpcTFWQ19zN25DKkByfllvPmVPV0x3PGJfTSk+MEZZaX58
PT17UkpqWStGa25UdUdhCnpneEJzTDlXdFZoTXUoYX4/fUZ+YkZybzZ9OzhDeWlVMmNXVkU+ZWhl
bXRWWi1POVNaLVQkWFRFK35mJjcjdFRscgp6ZjlsfDBRIzVvWmQxMjB0XjZ9SEl1dVc+Rj1qcmtO
aXZTLThJYW1rO0NZdnZHWHRPRUtYTWJzN2JKdGhFPEpXUXsKenIjT35vMUwodVJidmBXMXUpWTxR
Qj1OSVdDakoweitBMVBMQF5wUWNsU1gtX0t5djFRNXo0bFQwTj56R2IxTVFSCnpreG1yN3t7SClF
NDx9OEhEO0hFemY0V1BXR05fb0FedntFNEJ6X2NBTmpVR0ZFQTFyTmVASS1HaCNHT3VUMzRYZAp6
T0FSQmE5cEx8cjM9KElme3gwKDdOOHRUZ20xWkN9VVJ5RytDd1lYOXBEWWpEWD5xJEwyPHpMQGlu
anZ0azRuVHAKel5ocmp5KjZjfW0kd1BsMWFtTXg3SjwqI3dTQn0tMiR2cSUhOWwrVzRecDtOcEpN
c2VJcFEoPGZeJiFhRXZANGtMCnojRHo9KFRpSjtFUjZ5UilaYnwpIWd5SEIjRE5MYTZaJjt1MT4p
WCtCcztLYWp7PlhnRS1aeztzO0w2e2BkcHwmQAp6TXhHZ1UodG90dz1kU0tYVllmQUNGditAZWgq
NkBXa2BtdmBUWkg2bm1saEl1YjxZSHtzdDNeejhqJmdFLUkrMjkKel95eH5TQWMtV1lIeytVOFdg
YXxwRUR0MUZWeXl4ZUx4JFpvKHo+QT9sT3RzeShafDJhYEh1NENxaFZ1QTxQeHElCno/VyR8QiFp
SU1sJU5hY3pyXyheamg2YGhQdE1hM0xvNXpuP1NoemwzY2ZYaUNONER1PjxqUktaaz87ejJyV1hJ
Tgp6SlR6cHohU1BafThUMSFSZzY2dTJWPTB+PFBqbX4jPjt9MWhgZ2VvWUc8NE9uKDFpPkw3fipU
eEhxdn1mXlJ1NjMKemt1SHE1Zig5O3ZOZlAxeWA+QjU9NilLWiUwR3c/VlhhT1BMYilGbDRSUDxu
SVdFKCRybVFDX0FkcFIybWpNKHBiCnpmWV4jTXpje15sRCZlbHx2R0huRXQtUytWcSN5RDNEeWNg
bEBVJU12TVZOSU1qbHkqc1FLYj8rUHspQXF1TiQ4cQp6PFckR3ZXfFVDM2pXdHNJN25ffTxFbCla
fUFnYGc+U3h5VDY2dTF8SGtnPEtwWUJnUyVLST5Lc3opI2Rve0o3QiYKeihpYmVvYz54U3JfKX5F
cnZ8dipEJk9lYnhaZ0ojbUdCOHFHWTI1XmxkeXhqa1U1Mjd2QFR9JGI7QWU9TUFoUkx1CnpZQ0R6
eWAkO1hkPHghUnIqT0hZMXtEK018aG1EWmlfckMrP1F9KkQ4OEZMRXtZVlNgNThRfU9ZRyl4Uzd6
JU5APAp6dj1IYWQ9UXxDT19mNWswWiZoa2FrT3p+YFQ8bys0TE4/MHklTDFLIzh9YFg9QWlhfEE5
YC0qQ1VjIXJTUktWd1AKeiNzeWt5Y0RmcU4rVipnZjhWR1k1N1J1anM4ZFdDTmRVKjhAKEVTVzI+
OVY8M3ZpWjV0VnJPcTBvWWVlMk47cGE9CnooKklRJEZpZldYaj82ZCM/KndvS2JuNjJiQnR9fTgx
SFl8KzJzN0xhZD1YV3NEUWo0MWVAPyVmbHA4aWhkO0ptUAp6Vl9rUVpeTU9PTkxLVTYrV0k+JDJf
S1hydVNKUjlabVImJUJxb3VyUnpxU01DMF8pTjxSK3IhZml+aF9sYyVfUXsKekdfUyhTQjlsRnpw
fCtKSGt0bF54ZndJfF9RU15IME54QTFpdWQ0Kn1QfGUyOCl9ST9MWG9+NXFSU1I4a2xiWnhFCno7
V2AtTlcyO2AyYX0/dzs7eEdDWVhYJTBqJSE7YmtFaE41M2VLfCYraHVJakArcUNrY3lgc0FiQW5o
PmA/Zm5IVQp6TEdDcl44cCtrJHZUUk5mNHYwPDFUUntwdlVeK0p2KG9lR3o4OGZRaEVtJUZRZDcz
eyNLPX5QdUBiR09Kdl5fKFYKejY1MFJWV1M1UFZVRSN3XkNTMikxelJnZStCRlJ7TEVeV0pGRkpZ
NzI/QmJOMHZZY29ZTH02cVlAd0h9bzwhLVo/Cnp3Z0ZEQm9pJEomN2AwWEY4Pz9JbDQ9e3w/S2hT
KHM4NmBZS1BCYFlnR0VPYzAybCZfJUMpWXZQSzRSN3VkM1l6Swp6WkJeZz9qQ2VkNl9NTkRpaHtt
PV4zUnZjUTE2SW5+b0dYUHI8N1ZWczhYUXdrMyh7WjdEdXp5KWtYNG5NblE4ei0KekJVLUNuXnot
WV9qPjt5b2JFQ05XV09tdGFXSEpjQmxfMGU+Xkc5KXk/QSUoKSh3aU9TI2czR0xUIyR8a1NyZGU8
CnpJaFFZNjRfbylicmpGYGRaOXxWSmFmUDw4MytEZExVZk5hbXFjPC0kOFJnKm5qNl9KaiF9cW5F
dkZHO0pScD4qJAp6d0FCJG8/OS1sRDhocm5WKWdHNjJ2N2dkVjNzfVIySDRmVkwrVjB4cnU9ZG1h
KmR4QmBmeGpuYnhNfUVNbl5tJCUKemx3eEY0Jkk+JSVCe1c5SjhYK2FfV0IxSCtBfTVXKW9Abzxv
JCNlcGJeNVQpJU1zNjk2LWU8TGNtSn54TyVKMnR9CnpoRmszK2dZUCV5bD54KHhURzhgKDNFV3VB
OHZXRlBwK3oyRjZ0d3d0OEI3LSMzeXdOO1l5PGt7cVZKVDJSYmA8WQp6YlB6eUt0ODBZcVhIQFA+
dzFkeXpySiVXfEYwI2lXa2ZjRVZpPUZRPy0kODI0ZWZNcTI1LVA9ZD85OERaMjl4QFgKemNUbHwl
ISp2IW1xZHAock4xKD1sMXp4V15BMiNgVXBPaC1naEVjTlAhVGBRO0F2bTU1MkNnMURGI0p4e0Iz
N3tjCnpTbXNUMG8rRFFARlZhMUtXNjU5d04/R0drP25gVzM4NiFHYUh6TExLMCg/cjU9X2xVKkFx
Vzw3QktuPE0+THV2bQp6JT5yJWFtS149UEgtNHw+RUNsLXAjZHIxeWE9WWQtQi1iV25NYGIybD9s
eHRfNTZFRjUxPVc9Z0ByTFZvMmh6MSsKekZyelhuM1U2UENTT1l1dFZhKjhEWVpPdFArVXwpeV4k
Rl5IISlPaG57XzFYIyR5K3E8Q3NvXnpuJXp1ZXs2ciM4CnpuN1R4WThHbDgzKmdIcGVHTjtPeXp7
SHV7d0VLaG8jTmNfSmFrck5ie0dIbGhNWFFEeVBNI3NrYEJDem01fjQ0ewp6d0wqV0l2eEUtdnww
KSp5eXRYLWVBPkhDRjU+QyRQVGtLdmBKSVdoJUY0amdmbDd4bmpReX1sdHZaMHRhJmhtNm4Kencm
NkpHIWxlVmNpKCtuKDxoe250dTU5YD5eMzd4XmZILVVHRk8tP2Y7RmcyfmhuSVVDSGNKck1RbDB2
aWlhdmR3CnplYU83eTxWSWV6WDdiU047ITJLUTFycnx0a1c4Mn03K2IpJWBAcWQ7d149XkZlYUcp
anVxdSNvOXlncXEtJj5TIQp6K0tVSGchNENFbGpufn1UOEBeYGdQPGpgczh4cUZhMFl1fmpzaEN5
JHBtT1NAK2A/SG5pWkRjfm01NGJlX2wyNkUKenZodGhpeklaeTdRJkxHZSQxMkVuemhXZXE0MEJQ
fTJKMVYwbkl3SD9XfnMkYWxqan5DVlQtVEZmKDB5b3RYY2c3Cnp4SypzQShqeigoQUttTERCeEs2
V2o/e1otTn1KNF5kP0clIXd3WGVxc34kVFpFM30+NEtVPytlJipFMmltaT5aOAp6ZlVyYl5LSiRs
UUAlPH51KiMoTHlZU1J4Ql5BPUktTDs9NFd4ezVVZyp+ZjdBMHhxckBTQ0ckdFlhXkd0YChGJUoK
ej8xSWo1Y35WezV1ZVk7cnd3ZU9xNylEIzlfJG1lUnY/LSRAPzVIKXI0dVQ1SSVBZUwhMnB8Y0V7
OWg1X0I4U3p6Cnp3cjk7WFFtd190LSlfN14oVmhwdjhhc3NMa0N0PVFZYk1YLSgmUTdOcjIqP0tA
SkhWemFpKilfODE2NU5HIURBPAp6N2xocTBwUFNMJW4/QyYoRVJaYn5AJj15YkNGeDtiWS0kOT5U
MSFSN15Kbm4pR3IkZyUmalFZZVY7SEJTO3wqZzQKem87NUp8OWghP2B1QkkwLUNGdDs1Sz8lMTRq
PHFyWnRTczZTYzJiWlAjb1QpMF42N2ZSWC0hekRTN2BENXFRTjcjCno4WjhDNklaQUNTfEIwVig9
cDtVNVV3d2V0bU1DNDh2QmYmfmhrZWQhYWNgdSR7SG1SUSFoR14qOzhsYit4dHU7Tgp6e1NEVXxX
ejZRRWNlZHZYX3dqbGMySGkyTD5LZEkzZmVGcyZQeDROenhGZXFYaXdRcEBxSmdTNjMwLTlVRE5v
Ry0KenQzOFArMU1AZVI9NUZYZjF3fll0LWpxZj1wNX08RjE0cURzZCtKfCl0Y2JMWEJkT0ZJQVUr
WDNQRmxsRCk+N2tOCnpCfjFaTDZ5czAhNig9PHNkeEgkM1BKVztJaVhEIV5GVilWKThvYzE4JUA7
Ulg9e0MoeVE+KU8/Rzk0ejxwQ3hBPAp6eDFpPnVNTjl3YnlnVDswPElpSl5DVkJtbVJRZi0pYH4j
PkNtJkg4UW5tUDs4O2BLNSgpbH1AZ3VQQEY8OUZ1KTkKejslfkBUO1RMdSVHQSZ2PiZ3RHV1VUpu
MVdrWXlhKHImQ09KaGdMVVVMeiFUcDQrdClCYj5vP0tIISlFNDhCfTBoCnp5e0NtK2VXMjE3Vzg9
I0tvTEtvS3tePnNlOFNPQH1OZ2VZR3pidV9eMi15e2p5RTNnQDwtVGhUYUAoJnxUTlQlNgp6Zilx
aGw4WH5kZ0o9aD08YSswVUNMYkhfKUNncXAyVjxtKnNkJDxnMW9sZT4mKSF5dUkjWitOX1crUVVM
WVpoVEQKekI7JVVmZEozVn5PPF8pVCV3ZFVEQSsxUmBIXz5NfjQja1BuS1VxPzFufTc3b19ETjw1
aVA+YHxEeSp8JFNJYzB1CnokK3x1e20jTUspJkA0X3Zob1ZROWIze2lvTVIwLXs0JUBBNXo5d1h8
YCN8IVY+Y1lIK3A4ZChuTntZWFRweE57cgp6MlhPYDNASW41aEIpYSRsPmlwVDE0K29vOSZeQXxp
KmolKShXei0xIzFCSURKJT8lYEYzTCojUzwpSmk0NU8wK0gKemJGO2BoPGw2OW5pe2ZpWXcxRVAp
dHFqfXh3KSNrNklrVSY4QDdJZHlhYDk1Vz1PQFdXNV4tOGZgZUJyTikweUhOCnpvJTNabiN6amx9
RmpjRDBvTyppNW5YfnwqT08xaTdnWV9IdHNVOFV2cW9tQCNefTJWYCtII2khRT9HbHMjMGZEPAp6
TV8kZUxScnNnN2ZhZ0o8WmlDemVnKU1QNTdkRDk/a0BCPUEteClHfTh0a0NAPGJJRHB6I2UxfkJq
PEwwa3ZwWDYKemhiTmRQclg7cUxjK0khM3tSMkdwcjRBSEw2VnBhZVhkaDlhem9UUkQ0cjVKdlVa
bF4xS0oqMzI5UXckK2hLbi14CnpIKFc5KDFWKXRYUDEofldeYCpMY3UrKVV6JERgOyZGKEQ2d2V3
cW9NbjdgMnYyUj01MmsxKVB5PS1BSzRNU347YQp6YV5Pcm94WD1VTko4fTd+U0h7QGg8NGMhNGs3
LW1+cSlmckRtWnN7UFd2NzxIeTZmNGpJdz12dDc8OSstRHdzV1EKenJUSE9nMmJrbDh5dVlIIz5k
UWFDNzgwX281TkRGNXZHeCQpYzc3Sm9aVF5fU1R1SCpLK3FyUUhtQ0RBRkU5LWlyCnp2QEVPSW5q
Sl96O248fVAqST5iUUMod2NTRFQ7dVNVfW9GTlIpTTFfbTVHe15RfCo8JCo/QXdVSjVmU2YyKH5Y
JQp6KH07TiNxWkBhLVNWMzhpPW4hQWxzej8zY1BBNFdOVVM0cDM2SzNYI2tPQ1hTKTAqbDdYbHYx
JU1pI3FmViQtRlIKelJJenIkO3trYVVrbnY0MFJTbT1yNyoxQDhANVdFTWl+Mnp2QUdPY25oQnB8
VUJfUT5lKGclZW4hVWJocHF2PVJWCnpSK1Q5Vk4yfCF0Sm14JWlrdX0jaFQoTEt4M3YjaWRAWnFX
ZntqTCNKLU9UMDh2LXk3aj1wV3Aoa2I8Wm9MSDVhQgp6eGp0ZE5xJCM3TF9NdlRTRXVDJkJII2RC
dDJxYz5UVE4jYUcweUdtQ1pUPmBERTN1dFlWSj04bmB6X0E5d0d2WjIKekd1ditCNWQ1aXFCPV8t
WGVnMj95Z1h7WCZDOVRXVCljVFZ2Q0tidiNaOyQkYGVoLXUlUTlMdip6S2hnUG08TWEhCnpzMFZo
UTYhcCZQNWJVJEFtcE0rPyhzeyVJb2JtNHk7TDI0MllfflVITDBrKkh1SEtVT0JkK0BSYCQkMSVy
e0xyIQp6b0NYKGg/PU5tfHcqNUtnP012cmI2fkMxK2x2R3xYbTxpZiopc3EkLW9kM3FwUlNePXhL
UDd2fVNoVWg4ZXdmcHcKeiFSdGpQdDkyJF87P0lARnVjZmNsPTd3MHtwMmZ6bTNLWTVGKWJQVE1Z
dFYwSTlIPXtjaml+ZWFTaGs/NDEobFMjCnpecS1qJUo0RH1UUnZKRjxgfEZva3VpQUBUMX48aj1u
amUhIz5gTX4laGxMcGJNNEotcjFaYDhUbV9UWEh2dGBaKwp6P2VFTGRUOT9uZHB8Tj1DbG00VjRe
OWBrMDhsbnJvQzdNRlp4TmB5MmJHRjxKOFMhM1VwTUlDOHpFIyZmPk4pJCMKelghYHxTbEF3JS1H
NChIZihlc0goVkRScVBBTzBXcjtsRz9xJWVmYUZoeCU8OEQ4PjttajRpVGY/XjdFTUNlJCVkCnpE
U059dz5AKDIwaWpCMUd7dXJDWG5hPGQ/RFFxOSsjJHAwfnk2QFh+K1AtWnAlZlNMNDNGYDBIVDJ+
YyE3Q2V7fQp6Xk1HIyF6ekl3YjRteXpHTTE/cURxXiprYHgoP3s3LSFQZT1TWiNSNkEpUk9HbGox
fE01KmhOdD1NeDdaOFdgO04KejBCYmJPcmZPMWNVVjtfUSF2WmJrQTN2RGJBKmdNfG1OZnNPJjh7
Zisod0xCfVo+TFREYlNkNjFePm5TYHtSdVJ6CnplS3okPS02dHY/I1BLVGQ/NztoTFZVdiVBVzhU
fGY1JlY3clolUVN2OGp0dEp7bHs7d2tlfjxfM3JGJDMqM3E9ZAp6NlJPNVgjQi0xdUM3czE9eFk9
WWE/MnU5V3FBYnkrXnxeWnQjIzt0aTEoSHt2YWByTVZzSHI3KCt4bTRncWNzZ2gKems5ZDc1XyFp
XmEhaD0wN3MyNGp5YipvVmJlXjtBZEcoTlBQPCZpU1RVM3kha0JLOVMyTU1kbnpLWS1TO0s0aEpG
CnpvWiFAK0B7Slp1MzR3UzdDVX5Aey0tX0ZNLUFScXBJczdZNGExLVg4QVVqe3BGRlc5aT9FVF53
WmFheTUpPEtLfQp6TGVkaFlpdkg3QC08c2lJYmhMOGpqcU17R1lXXz5DfElaZXtUZVVrbGV8N3VA
ZyE2PiYzQzJUWnk3cVFVWWg/YjkKem9+T3FAVWd2S0ZEQGheaG14PUBZOT1SbmtveCE8ZzhqfVVf
VzlSVVdtUVNHe20hejcrK0JeUk5JK2JRbzgjbUw0CnopTlp6fmZsfEAqTSNRbmhmOTAtMTlMOGA9
TWtGfGxKZUY9VHhCWjFvXnIkSjVzd1NtalhZZ3hUQEFoP2wlaiVqKQp6Wi12YC10KighVmEzI0h6
ZlprWjQ+dTwyRTI3cDE0dU1TPzAzRXduO0l+ZGBiM2dvbnFjI0N6VyRIdWtYQkE7YzsKeiFFdjNu
S1h8cGB5P1BePXZoJWNlP0QqVX4/ZEMmbDNtaHEmVn1FdkNhaTFpUkVtclZISF5DTHFFd31BOChw
eytpCnpzPHBfOSV9dXFeWVBLVzMmRGhyMFpvQT53PGh6dklgYXI5dEcpPkpMSWFPNn1WN1htWXZZ
KldQRytfIWkjKiRsfgp6a0xxaXJBXkY+anpVa0FzYXAxISEpc0E2TDZhRTFoMnk4cHY0b2IyOEdx
OT4jbSo1PCs7RlZVbm9mLUJeXyohWUUKenoxOWZyNDc+Zzw+e2UrcjZDfSo+dVZzeFlVRj8zfk11
eDV+ZlR8fkdfTCtgYXZpSX4+PVBISEpAPll0YndRe29GCno2QmdUWntVcjh3fEEyemM9RH1yfGk8
JWQ4bTg2bFpvOUNvXj1qWC1uKHd3JjdQV0ZFUXVnWEVGbUh8NkZzbSNkQgp6ZFBNTipHUSF0fERF
X25sUXpCQWN4RFZUTWB5T3YzcXBfY0BhUDs9ZENqcyU+b31jIyNsVHhhVXJ3JFhsUzFzOVoKelQ8
Y0VqUUgrMjMzcz5MekdmSHlebGlzVm5OMmN4Q29mem18Z3lTMEpFd2lwa0p1SWhtVyhXd09JMX5R
c2RpPlpACnp6e0pYfUxFTkVVIT1BU28zKWF2Zj1Vd00ran0rTTNuKlp0PEFiZ0B8JUpPVSNaNnI7
NVpZUkV9IXlMbUpsbHhQaQp6RFdzSSpNV35zXjhrOG9aQEhefkpIaF9BO1ctWTZlaEpYb3FVaFd+
X1dyeiE8aGk8SC1HOTlJNiZ1I05fRlRkfW4KejtoTWBkKEN5S192aSQzVEJXckZqeTszVzxKI1lN
WC0wYUAydVlQTUAranA9TnhgXz9EP3p8TzUoVWN8MnZ7SzJuCnpUem1MUitNQEd0XmZuQ3JaVTx1
bWtzbjhkdDNCXiM+Z0cpSHY/ISZ9bDxTMFZ1Umlpcyo9KWMmYTlzLVhaZnZjewp6QEBEQkRjd0N7
byR8WCR7bDFgRHBZWHZTMj47LWZUWnFHS15PJkR9d2h8ZUc4TXpQPUdTWGNYJk10Zkg7VihadXgK
ek49U1BRSVB1fEw4Nn4mfSpRUkhNaz5JTHY2NktPcy1zU0ZuVTYocXx2RTNnKylZNE85PWE3K1Yl
fUBJUS1qYEQzCno9ZkBIKmVgakYoT2BscTN5ITBsJHl2IXY9WEAwMCRjeTtQPDlDVWwjJnRUanMy
cUdhbnhmN1RVQj1jZz5vPmFyOwp6VVljKnMmcU1rOHEmVUtuXnlQKTctekhpdWBMXlFjQGlBV054
bSRXfFJyUy0zK20laDRzTGAwYHB9WEN7MHo+PkwKejt3JW82Zj1OVUNNTkMrJGFTUktWV1pidUst
ZCh9R0txPkcqRUl6cTRJMVo3fUQ/QShkMDczOzZWVERnK2c5VzlVCnpYJWo3WHpWO003czk5Wl85
ZyVHO1N7VE0kWWZpdSZ5Jn0pX1Z6I3FyLSNoI2NPWVBUdEs/TUVmVkhUTjxWPnNiMAp6ZD1qTFVA
Y3Y2dkRPM3RXSTVxaEt6a3tqSG9EKk5mQklVUVRsUWppalh3bj8rLVkwT0l5OThuPCVBSTNOSm14
KFkKeiNeP0wtdi07Jn53OUAoSUp2VTBoalBmbDBLd31sfV98QFpPS090OE1pZjs0IXlEeXA1PGF9
SmUwJVo9S2gkczxjCnpWMCY9K2J1ZlcxblNgbk4rP0pCYCpjQkhaXmlBbGsrQCV4VnVJNUI/RFd8
Pm52U0IqPGVIaWJgV2RhTER6WW1seQp6bEwpTGkxbCF2YF9jXzk9e0lhRVlOd2w4MjVPelQ4d2s5
JGl0S0t5OHI3TENQXmYyZV50S25tOzMzcG5XM2FjeEEKenkzb3YlYWxoZihRVDMoJEJXZDdhU3hj
eHs5KmIlZCM+NUNoeCljSnp7WGNYeD5oRFV2VFd9e0lqe2hyJCZCIylHCnpMcEFHPTtzRnYoRjxB
SkNFQD02PWxAMXc2X0REY2Y+YEk1WjhRYGhJd1hHXiNJTkJTUWltdz1Sbj0yWjxJN3Q8Sgp6UjxH
dkpDI2ppXl4zfnBQRjZianl1UWBsVHt8WUJjM2h4cERmQTBvdDJmYW8rblA7Rk16YVkqIUFTQm0m
WE9kPFQKent4LSheKmExTUJ6ITVubXdSQDg9M0hQMUN6cW1OZ1N+ezshPi1ycSEhYEo7Qz9LUk1f
K0hhRiVlVmsxWCpUdjkmCnowaiFxLXBKPUxnSHlGM3VlJCtNOXdic1dUanB9Q0lTS0xmeUM2QVZ0
Q2tyKT9vMC1TUkJQcVYpTlpETjs/bXY7Ywp6ZHBLdEk1NzFIQGM8Uy1nUmQ3MEshREUyNj9VLVl1
V1YlZClmempeTE5IJVJBNC1gYX4/c058ZHlCUDRMYUpNSnoKendgcTdgYUI9Tm05JCYxfl5QRkB3
NHR8KSF5I2RGJmY9QGl7emUlVExBMCN1PzJFSENQe0xhckR1Zm5gWnhNbjl2CnpVRG92RTFgK01t
Y3dQcDJIMEp1fExIQDVpMXNZd0dRXjRoc2BuITlkWHE4YF95PXNHZV5DLTN2RC11VFd5bFFFXwp6
WVI1Mjg2czw+eGk8Pj54ZiVHSS1mckRDflZjVCpFTyFPTT96ZUZFRWMhRjZ3cDUwcE5rc3JhUnF6
R2h+NG01RFEKek8zR2FGNTJgeVgtY2crTmB8OEM+V1M7MGJzdilIfWJgTjgtKEpONzkkZn5efXJR
LUdpZS1Bd2xzYVlvM1Mhaz1UCnpzamFXOWl5RUR7P2I/O3xuRFd5ZE4rUkA1MXBlOyswP1g+ZlM0
SXwpYVJIWHRYYn1nZS1PUF9Wa31zQ2w0Sm4hdQp6dTBAVW9PU0RMNmdKYy0mait+I29MV240Ynpy
dCheYVQqMyYyPnY9SHhwVyk5VmF1Xl54QkZyQ1VlPD5lRH5EJFYKemp6YzY0VlEwS18+dmwqfkpT
QDU/eHtZZV9kUjRYYEV8MkVyTFNqRXZ7Pj1NUW9key1JeT45MmhXekEwRzNhbVhYCnpWb1JmbyRW
d2tuRiNVZTk3OXZke3c5QGs2OGpWIXlWdEMlcWV3OT5BRWl1QHEkNGQhNWFgWkd6XmtOOTVfIVdU
bwp6aW1fZXl4KHEqeCpALSVReVVjYEtrOzQ4WWdEfGQlUkd5dE5SR1cpdHg/WnNITGZoY3ZAeTNE
SXZVP18xcjRmOysKeilPX2p3QSlRalFlKmkqUyY3MEhyWC1FSjIjWm5NXjthPjNURjIlcWZrWiVf
JjVSRWViR0FpZjMhNDF0T0g4dHl7CnpCTTQhVF5PdmlxPXp8X30mSz5WRnJFeHZqMTZNQ2pOZnd4
OHNuQilWaGI8P2tyeWxqJTtRY3MjPjk3RihwWlB8Ngp6KUxyLVBlcTgmcmIxVnNvJFMmTW5rWnl8
c1pOQndzclhQNUBLWEw+MyVWcE1Yd1ZwKjZkeTg/UXVHU297dyVLbFEKekJpbl9rakBuN3B5YFdf
SDRhY1JBVjc8Km5IPzxVfiZXbjExfE5oP3xUeyF6SiFnXmZlPW0+fjhfaXl6fWlGI0MrCnpBSmxn
fCtXenRjTE9LJFheVWQ1dzlrUW5TNHsmWE5XK0U9Qm1tdnVzIXFleyVtVmV5c3RGX1ZfZDdZWjZO
NzYmfAp6Yj42PmVkNz50NldqOXlWd01HMUNkYjJtfXtvKlFncTRCX0FZcit9KXJFYGdqZCtHKjg8
dlU/b3BLeTk9WUNobXEKenBYdEVKK30xTWUzYSMkKD9ZaH1HY1J+RllsN3tHQCZYRnRqUmYjKFM/
Xk81KUJfcXNtcDMrTFlyWjc3TDJ9QGQlCnpWOyohRWZ2S3p9VW99Z0xGZ2ZHKmBhSyl0Rld7RDhJ
JU9tQE1nVU82eXx9cTZIMW1NQUVILTVVU0V+PyU7JlZ0Pwp6JWpaSCY/JW1mbXFgd0YqeT5hODZo
LSsweXF7ZVI/czA8JFVER092Nms2Y2lVQjdgSSk9bW1aKihPcj50dTBDRnkKek5zfF5kVVVjIVJ4
dCVUK1lheDRmX2hMN3wtezgjbHdsN28tSVBfKTJEOEA5Z0UqYzZ8OXp3WipNMUpDeWAmWFhvCno0
PmVYfEJ8UCQpVl4yZCk1N19ZPkU/KGFMMT1fOWNicm9AZWhYZENvNjdgZWlIKGFDVmJ9cH0peV87
RjtwSD88Zwp6e1VzQHNqSmxHMilCdk9VWCs4QSNZcnpQSXE9eVRRLXc/dWpeMTN6UUIjP0VAaz5j
dDBAJV5+K29PfFdZeGAqT2UKenJHbihzZkpOKShYaSlAdWIhYzFGSFNaYH1pVnAreiZyX2huMTt6
OXNgVjVsVXM2O3NpbWd9NEdQMlRnc1UwJm5sCnpiJDZXNVloTytXJUMqdz9kQTxYbVg4K2M9UVM5
WTlIQyY9UFFAUFdoPTNKfXptTE03fkljMSNlI0RseX1uO31ZZAp6NEpOUEdWKUlBe3dBPz95OXA2
OThqdVlwOGw8eHJfUylIWVpBKjl8KkI9UmQyd1docSVpb25EPm5jJDZvMFFvfikKek5rbHsmOVJ9
VTI1a3NRVClEU0gpPEB6UlMqO1A+XlpBPHF7IytKJHIqUGdGSTxWaC17dW12aXVDX2lzZnRAO00y
Cnp3Qj9ESGpLdjdAQVJWaGRhKDZGLUs4fV5MRWM/bThPMz5BMlNUbW11UT9mcnJBOFhCMTcxQFoz
d0Z1LVNkQm96TAp6WD5XMlctMHRLYnp5PWN3bEtrRnFEP0VOd2h4Nj5aZHtOSF91REY7YSg7OE4h
QFJRNyRuQ3NSKD4zaE9BWm1ISDcKelhPO243UEs5MXdSanFDUEx+fHQ8LWQ0S1MldjJtSHBAPzlW
OUxYamo3YEBDUEhrN20/N15lJGBla2Y1ZkhUe1V+CnppYG9yVCVCX243WVlXVFRyMTBFN1Y/Zn1F
N1oqPXBTKEdUKiRVdTlxMyNTTDtlfWEpfWt1cXcmP0pJJTYwWGRsJgp6VHg2PkM0MnFfQj9TeWtH
dj5NK21qcXJye1M8e3czN3dud3NVKXZoXztJTX59dEpZOSM1fUZ3QnE/TE1iQXhuJi0Keks5VClT
JVhAeT9pQXxtUERmak5YTmp+OEloTH1fdyh3WFFsWG18QSU/aW1YNEhMJj5fQzJYcVloYn1aPGV6
JHJ5CnpERUxFNlkteWZ0cCZzWFBCSE9oPkptcDtiJn1mZmpVYjd8Q14rOHRwVnolX19Kbm4hODA9
Vzk4djlRMGRmNEhabAp6Q0BpPGVuO1AzdzIjPXIpdHd8I0xyIzBpQzJKPHxOS35MMSVgbFZxZWZn
KDNxeFRpa0lmYihtZis2THRuX2NvYGsKenJQSUw1b315eUU9SyVKdSpjTzhnTHxtSD89Q1hmOUdO
bThBWih5WGJ0TXhGJC0rRnA+Jig8K29ePDVhZl5UQmw9CnooYERIWiomVigxbGo7cmckVG1TdCFu
S21GY2ltKl41Tmw9OzZPQCZiZDBVYSpJa2pKMykteH48Qz16SmFIcEQlIQp6QGx9MUtTbWtgcmcr
fkBYYn1HWSFPaU45aXdsZm8mOVhNTGBhYkE5PWohVChIZHYrKighWl8pPSFqJjRSYG43ekkKel9r
P1A2cU8tZl9tUztjWCREUUlHcmQxc093UzFzN3FEJWdfMjVZMnlNfD9gaHozTj83bFJsTmQwdVJD
ZFRJSz1DCnpaWkBBb3FLZld3JGtgPHJ2MjF+NClnN0NHJD1mWH5ESH1WU0dmI0U9OGApcSUlU1hg
aytFdEo5cXVHN1pVejdXegp6eEBtJnBEb21nRGx7RG9APXg0dnlCYzdtKT9hc18oJjEkaDYqfW18
ZUh0SnMqPiZxV0BHe25qRHBXUTR2O20+VEAKekEmK25QJnFUdnk/UWgmQ142RX12R3BUZFBUQG1g
YDRIPnVtZkJwS2tOTClePEA+ZCQlT3dzRW5CVH5iO097dHlYCno/Y343JTl6fmRZWE82fGV5QmNT
MiNpKXVxZEc4SCpyaG9UN2c0PHBtJXcwUlEqPHVjbWFVdmt8MlN6R00tPUIkbwp6ZilIcSQ1fWgr
ejN1IW1naX1hSmBeO3ZrfmxLSURkMmUkZXpKMGQhdjQ9Myk9RiRNakY1LUpMcl9uVlNOdEJYdz8K
ej5WS2grdyhRTHJoJUNuZ2gmcndlbCVET0pTJT5KcFBTRDwyRSgmXjkxUjJ+OHIwQXxxbWlVLXFM
TFpiaDAxRnNICnpSM1Q+amYoVVI9R08rVVQ1VCNDXk1KalI1ZXlJUmdWbXFxVGBGJTNRNzhKWF4x
WWgleUl2Xnh+ZnNIa2QpZXpvbwp6ayhnJU5vR1pwfjdAfjZJd2tXJHJtaGV2djhgfD0/NCM+VGwp
dTtQPnpzO3FKM2x7MDYqaX0+V25UfCtDdz1+NWEKeko7cllsbVoyN2dIQig2Y3Yren09Wn0ob2cp
PDRzQkJOSVBBOGlgd3tLTn0/eFVpRjF7RXgzZmJ0ZlM2PEI8PEFLCnpEPlhHSFFsVTNmd3dKelYt
ME42KEpDNlNWSSY+bkl1YyhUOCRvME5IYzQ2YGtLPFA9Q0NhbTglfDApYVEpM2Zwagp6XiQrbWZR
OVpXU0U8VEs4RiE1bmsqVzMjTVN4clRNJmtLMGJmVWpBYldramEwPmc8RiQ+fGslb1JPOURaTG8t
RlAKek1lK0kkQmp8dzNJWXE7KSRxd3YzVkZ1cUFgYFVDSVlJQDhnemJ+UTVfS2R3VFVZSG5mezNA
RjdkZ3Y3RGEya2NHCnp7S2JoZWljTm1TRGAxV296VHpnQXJISWFsdHJyJE55OCtFKFVsJCppNn0y
PSpQMG8tZHlrQlJNbkBNZVk1WWlUYgp6RjwoMmJGcGhpZHB6PUxFP0EwPWoyZlkmSit1eU0oaVpi
YGkycShnYm1DUDdwdGZIcFN5KStRZm1gS3J2NHtlKi0KenoyaFNobCg0I1YmbWZHeCpgRSlTUiFy
fjBScTdUcSt6JWslTUM5KChhZVFgc01jPXIhTlhTSjVBRFhMbyg+QCpNCnplK0VUdXZfbihJOzM8
RXdBOSM+ZCQpQkNuQGZZUzREYlMlSkEyZV84Nk00RWBudVh1NU5vci1IeEd2Xjs3MSg8WAp6bk5h
ciF3RyRGRTdheFFtN2dtbV9MJC15Sk1GPnhWPntiNnRRRXAtJEVnTE9ZO2lIVGs3SXNNP3p0UTN+
X200eVEKemVfa3UhT2N4YlJ3Qzl2cHpubDBwUVQ5JEhKVCtLZ0Fvay13eiNHWDIzJU09UEsjRGNq
aEtSQDxRazkjYjJ+VHw0CnpeZDxrMitBa3l1Y0s9KGtGVEN9bGBNP0RldXVHNyUwYztgdjNFVGV+
RGdMaWY0V1FoYGFRd01tZ1VhTSo+Z2ZlSgp6KUE9MmwrJEw0NztnUEM5UkA7Y0hhdUtRVkNodWs9
eFhfZW5IX3x+OUQkUW8mN1RRXntrek89KjlnMV4he3ZRIWQKej1UKHtJUzE2ciR0SV82Ky1vVm53
PnRXKFVIJVRXd1Y1Q2d3NStaNWVEMCg1T0dmbiZMKn1KZ152aTtNRE8lbzVMCnoybXZ6RHMre20+
KmhvTmVxYUAkOTU1Iz5SbW1zVClMV2lOclUta3cjcHh3R1Z1ZzRVSXt7ZlFoK2tHYmRZSFNHdAp6
OWZ3Jnl3Pj5ZUTZXWDI5RSNefE5pPVRnNDl7R3g5bFBEP3RvPmEmflNPMmthQk9aaT0jbkJzcTNF
UTc+TV58eXEKendYMGduKTJPUl53PzlSUFBCU1hfbl5tc1F4JT5rX0t5QDZ+Q3QobkgmTHZ6dGpu
LSspJlE/MSU7Kkw3TktRMHVeCnpXVT8yfHotUDx+O3k+bHlWTzVUQkJ1dSRUd3h0aTI4NjFWMURV
KWZSXyVjNjdDWDB8c05CdU9YTHJnJSgxTm81Wgp6UGxuQypKJXIweipQaXIkZXF9dmFmeiUoa2Ap
V0NiX1ZXTzcpSjsrTTNSajxIVkZMdUh1e2FTQUdCd2RfQkR7fiUKejI1UCU7VTRoRSRXVVIpKF5B
djhfeGopSyZGRTxmPjtaeUBuanhwUEY9cj4oWng4QElWTGxnWl9RZUAxOThSWUwlCnpLUWB+TWJS
P25BK2hFYmE5Kz4mTHgkdTtaLTBtaUN8SCt1UShEcFBBTHRRNXF4bGBjeGRIWkpHOCMwSlBEOSFq
NAp6clgwM1dWVzFKbihxfm09Y0Y0Nj4lJXhHbCQqR0lpZzt8X3BkTl5WNUtjK0dKd3p9NVRUeTZh
Q1hpbGtWeDN5eV8KejwmZm1wSHpPVWlHUFUqQW1JMX00TnxyXlBFRihTcmomQVA/bUx0IUl2MWJl
aVRZTCtvaFNuem03KyV0X1IzWWxxCnpWPV5XRm8waG5oU01eRyNhYCEmRXdOJmdFd28xV3hsTGVa
SllKNlAmVkI2U3tnZSF7SyUjfXAqNFNldF80KX4zOwp6Jn4+RzVyPkJOPmFlYSZ8KTcqdHFPcEsy
RDw0Z1UjcitJRklpSXozJm9nOVNNazZPYU9kUERaeE5RcDU2WTQ9MXIKejU1S19JLSpjMU15SHR1
SVoxcDs7M3x5IVoodHJUTi1rRSVtaWBjLUVFfiNRN1kxaDVsQEJzOVB8QSZ8cE9RY05MCno3ZmJr
WiVPYHBUY1pFU3VWIVRuZkdocHA1QGp8PWQrVFY4ZSFBZT1melJ1fSpqQ1UyZitQYGh8JURiJXk5
UllNeAp6NDFqKWFnTjBfO14pOVFKdUJnPT48e2xUVThhUG8qWCN4UGBmWmFQKEN3SnFuSDhBQ2lf
c2pQNU1Hd1lDTlRzVlUKemBoaEx4I204cFEwYE9HVXk9Ri0tVitKTWxPPFhWYXk2YXQhPnM7ZjY0
alRDSz5tfT5OU3dnNiMxJTVwTT98MTNKCnpkLWI1YW9ze3NWOSgrZU57e1JtT3Q7KUxyPkNaX3w9
PjIxd21VPzE9THBJaUEyOT16MG95VmJuOzJeP0UrI15rQAp6UTYyWG87UkFqJmdzT3xEQjt1UnAl
QDFPJHRCcmxvdyk4V2taRSliNXhBc1BkaVNoTEshPnp7eTlrKzR0JjwtaHQKemQlbmM2ZH1FTGo2
UGp1KSE/alFlM2RYblM3SnhoeWpjeUs8KENeUDEwJTk/NztSWjlQMWg9cmAwa0lXUHUhaTJMCnot
SUA2I29jd2dIYHN+NmQ1Jml6PyhDWno+UDFuM1IrWE01QWUqbmhnNzhQV3h5RT02amw2QTdDfEc4
N2Q7SDFlSAp6XnEqbnkzR0c1Jk9jN2hXPz18bn43SXp0Mk9Udi1kXlRCMXo4O3Z0fiM4SjZiT0pt
eHBoMXdYQ1lFUT1MVz4hKHcKeklodE44dn52Xmx6fFl6QSZLKSklcnY+eGpPQ0p9dzwoYDt9KDZB
dGB1TW17Mz4mMEAlWnE9P0gyZVk8bjs7cnxHCnppWSomMSYmI0l4ayM7Uz1LOFVgZGtqTG1iVG5U
KSUkUnpXNF4oVWdGO3hAUTt6PTg0cFdPPnleZEtxditUO21WSAp6Wk49XjBrZXhvQGBhTGM2dmg/
SERoTVdmdD9lYTc4VUpjcE4jJC1pQl9COXhKY0p5Tm05bChqd0t6PCFVWnRlPisKemo4THc4e3ZJ
azZaXj1hb3kzRHdkQjtPOH1wdCQyfWU2OUsleyYtKUBjfWkmRk4yeCZkUXF+aWgyK3NWRnw5KChe
Cnp1KitjM0wwNWBAOG1mUV90NzxMIyZXamxlT0lGV2dxRncpJGtVVCZPenVpI1pAWldlZSpWajZG
ZWRES1U3MVklZwp6UkojdCtEV2E/WHU5WkJOY2xJaXJHZSVgRmt1QFcpc1NQJnNoX0RMJm9jKFZ4
fDUjSmcoQUU/X0lITldxUyEkUXAKeiUtP35ONHVidUNOVEwrX1g0MmBiTEhyU1hiYW1CWk5FOFhg
MTVeNVg5RXhpRE1yfWNTOU4mOW1rMiEjWGtQZit5CnpPV2B2Y0RDbU40JjhFeWRaMkkwRFNhey1W
KkwyVHAlbWNOUmd2ejBxLWw/d2Z0WElgRjdVZCZ7dGMhb0AkaCNAewp6aENUTT9eYjA1ciZkNztM
JFhGUl5gfnd0PkBmMmVvU1F2bDVabDhzMTZzKDAlKTskb0k5Nn5ASkhXey1LIUk8bHsKemFBK0I9
bS16JDclNjcrUVdCeEBhTEgrXnBQWDJuY1EyUWdVKSFrQXdTQHB4MWcxP29JbntXbnNMUExVJWBz
TjBVCnpwUkh7WCl1KjZoKU1jbSlFbDU9MnRRZzU0PE5JPGRfNUR1PytZeFh7YzY5anJQd2A/KmFW
OX5jajR7UXB5QjRkMAp6PytTKnxUeF8/fU1QVk8rZiRLVmY9VD9aTTZmOW8oSXgzNkJsM3UkPWtw
c0pvaG48VngwRl48a19EOX5TOFZgdjYKelh5STgybklVLVAoQ0wqSj1ZejAyUiZBSHRXOHVTUzJA
Rm9ZMldoJkEtYFdmejlSOC1wMnUjVFR4Y2ZvJnpsTXFiCnpYPyp+RzdpRHFUclROWGhkTklJU1A7
I2tYdkdRaD8oQ3pnNkgkSEVycUV9KXQ4VmAzNGtURV80cl98Tjg/ST1GaAp6XmpmUF96bV9hX0hh
MGBkQXxAe3VjMllyZnJEPlVjJElXQ2BTa1A0SChsdkNsaXAkNGZlMHolR1NOOyZ1RUBuJDMKeiZr
fW85JThCUGc4dT12KCh6UCFQbCNERXxxVXpPKkxIMTQqTjJBb1JxJXJQLW85TDxScUA/IWU9aTY9
TlNGOEdqCnpYVTExKXtRcGJUWHRxc1ElIVZ4OTh+VmAwdHRoPEF4LWt3QWNmOFVNZmwxIWhSTzFI
IzFYUUV9I0tyTDM3T3dTWAp6bXh2fSRHcDNtdD55dzh8a2xrZEwkcTY4PVZQfmcqaWg7eiM2bC1H
YEluNGpNPm9lMWN4RnBMfStrbHJYRztPPVYKenFAR21EU3M8Xz9zdV99ZHc1bCtaMFNTfCN3dWd9
RUdxey1mZFRCZ1NqPUhHcF58JVhkZlJ0THhnMCZfKmZ7VXtFCnpMRiR8RjJLTHJBS0pKRjh2NCla
UkRufHw9U247djViI3Mja15BeHwyPCNkQUghUFJQTGdCciFwUGRBQ2UjZUFgKgp6dEphJU1MQn4z
bj9pa0cyKDtsJV5DIU9Waj1mOVB6anRIfkl0REIqQlJIPzsjbUhVcWwqUjlSOER6QVcrTXhGLWEK
ekhpcGo2VXczUGVlMilgaUU9OFBJbip0UkJrSkt8WjFXS0t4eGB8e3xEfTI8IXR5QSt3Y305IXwr
fWlSPzNoYlBOCnp1NSN0eXlSeDNsMjNvXmQ2WT47Vlc5Ylp5enBja0xIfnk2LShlfFlwSEBEWXNp
dkhRTUhUQyY8bnZecH5tWGVoMQp6Y3ZpJXpiWmRKUXBKJUpvOXdVN2U1OTchOz96JT5GITMmfSQh
fU0pJG5MSDxtdW1RP2s3KGJFcDs3TUc/dlUqIXcKekxERGs5Xmh3YjkpSFBraXEjIWY/UGRJQX0l
WHZ7PTVtaGItRT9CaHtCPCRwNT50djBBQjMoJUZMK3haUGFHYDtYCnope3x0fGJFQSpTMms2QEYo
RDIyS3tAWUJ2aXRhcj0lbSZFb21hNjZ2c1dfcGtXKTwhI2BqJldjP3hYJUAkdFN9Qgp6QHRfNX5H
LWtRUWEtO2QlciQqM3M5eVhFNk5+Yk9yXmZndjZwP1JBflA2fTY0MzRjLT90YFJZMEQ8IzVjR1ZB
VFcKemFPaUVjKklNaGRUOXpfb2lBaX51ZEFoO3h3JDs9V2I4TDBwJTZyaWt3UD50WDZ+JGhyQUB2
e0UyYFcoKmBJRlAxCnpNQEFeaFBxQGs4NWhqSUctO3slekR7Vm4hZVBVOHJzZmJefV94WTFLeV5H
SUEzSD9LOCFuNFF1VnJsczg/e25yZwp6aXFTU0M9Mj5va3tAYHBjUTlTQVU8fWR4Sk9iP2Y/JiNv
Ul5pckopUip+e141bn0tKkxeLU82Rjl0O3JmPmNNJjUKelhsUCZ4Mi1WOEE3KTIhMjN6ZmhqJDV6
NEdTYWJPR2kmRmBNIUs2Yjc/S3oqSVgyczs9aDdpXlVIfmUmaiF2JWc8CnpgazxGPFgyYTM4ZXQz
KGo9MUpUPjtSK0YjcFdQaTgrMFJMZThoLVZCNlgxSjxLTHlLbCZ7Y2gwUXpvZnhWeiF1SAp6TF8/
LURFRTZxJDE5fT87SyRwcFAqITJ0KWoyY1hHYDBiM3AtYShIOShWYEFJLUZ6aCNOSlM5U3lqPXJj
dVRJNmIKekVPbWxhJVlEenFoNXkpNUQtIXlBPk8qTlk3Z3JrPUdONlJLPHlLaHpxUlojSHplaj4r
Xnc3IUxKWEpqaCNZRjB8Cnp7OHF5eHxBflNSZGJUdz5FKSRGfklTYzlQMHlKfTxmNFI4ODJ3ajx5
SiNGT3c5bWlncil+NCZsRGA7MFBAZU41Qwp6O3R5Z1cjNkomQnJLeFZIKWNFcX54bjFMPFR2ZlBh
blhxbDspQEMwWUVubCtIKS02dlIxJUBKNUw7ZG1MWDIlTW4KeiNhODVSPGh+flk0X35aVD96Ym9U
cUItPEFKM3toOUN+aU5WZW1zWlJ5PlZeaCExJTFrUUY4PD1MYUxYJm85ZXNOCnoydEBlP3glNGtP
T3lLSTUmc0BfVHMkKkVRUmtvPWVoJVB1Wjl1cH5NbHgrUFJ6SE4qe20/eVE7cURHNz1zflY8Vgp6
VUp8QlhReS04KmpFNlRRSSVaK1cpaTV2JXNfcHZNKVV7JSNvVFp5ezV4ZVlPejh8K3Q5QEN6d1Bp
T2wqSFVDckoKelNuRHBiWnMjNlhOeSNgSjkwQmhQJmVEcXhmQkQmMzlvPElRV1lxbHJTOC1QISlJ
XyVSNXApOEdNdj0lNEJGSkl7Cno2YzhBO0k1SCVGa2cjVzFHbEdKRT80WWNQZlUrK3RBaEhOMzZK
KmFJQVBQdThtYXFyYFN0OSEkMCpDfXEycUVDdAp6YGg5UThaPU47dnJyeFcxZXt9Y2x1SXtRK190
cmdxJitxPXVgTXQtY0BHTmo+RFl3Q2t7ZkFhLW1UfmZBPnB1VU8KenN4RHk8TnQ5OGs/MitKPEAj
S01aPEN+a3U5ZVlIaDU0QFg/YE9LeldlOTJiN09tYkxZP3Z2OSVXO0xLUU8qdSV+Cnp4N1RNc2sm
aWpHeFVqR2JCZlRLUiZ1OEUmRkFvO1VZXjJwfitOWERLMU83OENvRExCNnwwb0t1Pz5wXnAzSSUt
MAp6OFVLZVMtYWdKUnFBdUQkbD8ocXU/fjZHPGx5Z3dnRCF6emdIPCEqVHNlUklMR2dqUys8SSZ8
O1EzQEpfQzslNXoKejkwV29SI2UhKzl7MkxfXl53MyRlSzkodHRDKjZnNHpJY2JzY092UH5zYkZN
OW8tVkYtV14oSk0wMSV1dVhvdX43CnpXX3VKZylAJHF+NSQ3K3ZKYUNxQCY3YGM4QXBtYmdsRih1
QVhPODA7QV9NPV5vaCtNTk8xNERYSHR4dmZaOTRoRQp6NkdxO2EheX00dyE7TjZiKyZ6aUpnNEFo
QXZvflE3SUJGM2lHOUMoRmI4PUk9Y3whPV9WbHJrIzdQQEx9ckcjdkoKejlKejBPX05mZ01KWDJu
LUxJQnlyT1JhM3o8KClgJkZ2VkB6XlhyRzt4eyhQKm9uPzk8aS1oen4zPXU2JWhRKnowCnpDaSY4
KDw/bHgoSiYwdX1sVV5PPVAmaj80PXkydUpDMEZfRzF8eTduTztYQHN2aGVmRSp2cyEwOytGQmRf
JnVuRAp6OD9UIzkqPzhLPWBAN1NwM2lVU0krViZyS3VOKzRnZi1jYl5TMGY2U0ZOO2clcX0jWlRC
QlB0QXszSjZBcFJ5amcKemlNSmpsVE5GYVpNPFpBakczbVpWKEVGOzZlMn4wQWw3MUsxY3l2X1VQ
VXYweTxgY144TFFnSCY3MDMxb1VhSWtFCnokZ0VyZlB7KTE9SStoSGZ0fSVTVGJYPXhPcXotPjR7
PyEybnAoQjYhQHMxZk9Dc2ckXzh7O15VV2dKWHRDTUYxfQp6d2I7WCNqVmRaP0Q7fHMtZyl1THxl
fiFHdFhgZXV2cFVSI3NCPXBwN0M1UEtZWl45RCVEYjVuLUlwaXhATz5pa3AKemBpK251T2k2eG1U
ZlV4M1ooSWBic0FGZEkpY2U1LXdmXzJSZW8wNVdXK1JLdCFOfnFOND56WCFVflZYeVlZbDJUCnpf
O0Q0NFheNT13U31edENOZ0IwTVJfdyY2WVpkbEAlQXN9VDsyQVltZURxI30jR1coSmpPXkMpen1e
OWA9S1NSUwp6OSlrSzNCNEdMRVQ3T31BYntnZGtZcTZnMDY8WnBWYDVKQT9HQ2QwSGA7IWJ7NCQh
UTc0JHtMKTRAWTsoeHBUc2oKejR1IyNaezIodXtLKUVgMD9vR3BlU3VmOFM7ditDRWVAKzlzQ2BA
SnhibDVvTXEwPlhFPVB+Z284Tz9xeUh7Njt3CnpeY0BNPDdLXygjc1dJK0srRmlSS3JseG4zcDl0
MU14dSVHNGAyeCg7c2cmZVJUTSloNll7UGlxajZtNl5zQHxqNwp6K2M2aHIzRkB0RTBhKjY4aUY/
bCFyUjx1b3NIRyhGTTFNJExXfXJ1TFRvUW8jR0dtKTc+Wn43MlNIN1I3N2RrekMKej0pfElzaWZN
WnUzYnUtdUVWcz1nfEszT18rflhVNGAwLU43e28hTUZjWW58YmFzd0BBR0FGcTM8U2deQjZrSF54
CnpYeCt7T29pMH5jX2t6JDA+IWx8UHhnbzY5a29jU1RFcyV+VEEhamZyMVVnNzNEMmtZPz9oYXIm
d0whMzJTYSFycAp6VjU5ZVhEeX1nZHc5eUBPeXFmTzBlKTI3aS0oNiMwPyY7YU5RMDVPRHVIK1hH
K0pjP3YhP3ZvbUJoYEErNklufkUKem1Baz99RChOVjlvcWBKbHJ4KG9Kcis3ZVdGdlc7aVE9ODAh
KmI+QCgmVDRsOTR9JlF8ZShwKVFBWlZrc21YVnFJCno2cDRmIUd4aVNfX2R9TVIpPGIzKT55JWdr
UFI3fXFoVFVJRHJTMy1tcmpON1FPSXl3MT8+Q2VpeEh8UGFSNnlzXgp6PS1QQE1FSkVkWWheRE8t
bzBRd0I+PloqeUdiZTNAeVNOeH5mc0tidmdBTXUtMzJGfjNMIz1Sa2pWQ3UjY1VWTjIKej9uYVUo
ZEdJdURjbVZUQ0Z9fngqX01YRis/TWBPWF9LYDAmKTY2Qn4pSitoKSNqPjx3X0hZSnc3Ky0wUD15
KWskCnolREp6ciNWPjV0emN8RmROdE9QXzw5K3BmclE/VzgpZFJCISl0ZVFeMUUka2loLXowMGV6
bWpLd3B+SEtPJW1aawp6MV9JZV5GLWo7Y2VASTdDKUFYOWZzcCFfOTQ4aWBKZHFsfWZNVXRhO1Y5
Ym9TcEhHbyE8fEsxe0RIT2FtdkVBUTcKelhaWSlqYG5UNUBSSXYmUz1tPH5GM3Jmbjk4fXl+JkhM
PEVhTnk7YUF0a0hyPT9TbT1Mb3tLK2o/YHNFMXVxT3BPCnpLQHVAPCo3R2w+OyEpZ1gjJWYpWk9F
ZXNVNDJmK1NjYGlTWmU8XmJXSXhMZTFiajRTcEJ8aTJSKihEQHMpKiZPYAp6VVF9JGU/VVQ+bTlU
Zz4zdi1mV1E0X1gxKjhmY0QhKSYrO1EtPiU0dztrWn15JClIeWpTN2tkNEhKYFhaV002YlMKelZe
ZHBDY0ptciNtJlM/UW4ydGhoMDl0LVY/VV84QComaU5JJm88PHFJT0U1I0J1Q3JDeUVUQ055aEl8
WGVVaFE3CnpHaCZLJj1XPWZQdn07M1VXXlM/fk5gYnNyK0dqU31iSGIkWjdgblFCMl81d3wwdy10
N0JEVm16U3RWSm5IK01MTgp6ck1RUVAyUjE3aWF5I3VgaGYje1Z5e1lrWFF1SUFrZnVXREV4RW90
JWxoKGN6bmtIcFg+e3dyMGJsI30tKiVvfjAKemE3RTcqRU5aQHkxJHx4NW00Qz5vPHd6e3J8MlVE
RERpLWEhamhMRDJZeyghQ3UoWjQ2MSF0KT5Uaip0YFZoWmZeCno4YzRiUmFkX25EMW4lazUtWmZ4
Vnc1ITdFe2EtQXpyWiFlT3cpVkY7TERaQmx2PlE8MCtZPWU2PjMrSn18SWB6YQp6d3hPRkZOSCpG
ej5oTV80ZCk5WU1LfCQrOXJrZ19ARH5HbilOUFNvQF43OGpWa3VjVG12VyllcDhoVGYmIyplTmkK
elooJG5xYip8UChmJkYxO1M7fV44a0ApVW5fWnpqMlpMSmR+cVVSI20qTH1nclktKzwkYXFoMWJK
SEhUanZAb3UwCnpnJTN9RnF1U3NmPlpqMUhqeDMkIyZMPERWQClOdkBnQk83O25WeUJRVXMteEJA
VD9eMSUrI2BjOCtSKFBiSy1XZQp6JDhEUXs7IXpUJXEtSENOMnhNeSFgdC10OXhjTy1QaTkme2Jo
OF5PJGpeYGxJIThFdD5iPFkpbXYyN349b2M/a20KentDU2Y2RFY2VVpPTSRPZmYmZ1B9MkZFflAj
bTgrZz9rSDU+SURYVkdZR2YpeXA5dSNPWSZMXnV2O3dBQTZ6JSZACnpoOVA/bndwT05lPipidWt0
MXctNG1zNEZHbUtJbyNJOTxeTnRyaDJvPyRxdmZaZllscS07cn4rYUkmNElWc05ONwp6NT4tX2oj
RF5ZSFdAKnkoVEI1OH4rKVlTPUA5LWU4JklgTHgxK1V1XjJRcWJLLVpeTGltXmhtRUI9fGBiO04o
Iz4Kemo9OXMmcjZNZChwcEpweVkpRV9STjQ9flFWRiVANDhLcDA9cGxnWWVEakkyWCpIRTIhcnxh
TSV3b0pDfGY7aUAzCnp1Vyt8M0Z5fHI4V1g4e1QqKFlQSUk2anRrVjFITzxoYVlpIVAkb2BLUGl6
KTErQEN5ak9STT4oYz08Q0U0XjNJaQp6UG8oeXheIWl6T3ZTMj5iQGZqKjFNWkRJSTUqZjJTTGxh
OHBhdTUqUWd9MXFPbHJ0KitfSEZBaz5NP0VEaUB2TlkKent3NCtzY3pYQHNxVnFgTVNOdFU+QCVw
YjFgd2hFPTUkT3kxOHNaV0RAdH5oWGglVkx6YCk9ZWFjfEQyK0Y8dmZBCnpXWC0tM0h5S2hINGc1
JX1VeD5uO09aTnUzbiReMXEmUWFWJlQ+MEdqb0gqa2toJjxEOXJ1aX5jd2NIJER6X0Z1KQp6SGt+
KV41MGw/Ulk8djxLRG0jT3QlJEFsPClCI3koaGVJbUAzWUp1NV8jYWcyX09Dd1gkUElQK1JEMjtx
PWBmLT8Kej57XmgzUjxkcTtzcXBHU25veUdRVjFpeW5CMkRXI2l6MkZ0VVNKUnBKNkFWYnAqanNH
PEFgKEVAWWAhYlU/YT1wCnpeKXNzc097YDB8M2M3a0NST0t6YyVpN01eNlh7KFIlTkhFYj82ZypI
d2wmQE0oejlobU9ZUEY9cTR9RCp6K0hFMAp6TVd9ZFk/X2ZVX0dmdHNUKHNpPTlURFBxdl8wVmFi
KitOaE5mVmpib0B7N3JRek4jWWMrJF9EYDg4e0gmYVZMR2wKekUtcWZifDhSQSYmMDtaXkhEMWg5
NmFKJnEzVGNERF49cndfd08oJkc8Ni1IdG1tZSsoPmJ+byYmR2EjTi1ycW9+CnpWNSMtPldhYUhY
R21aNWM/VmtISnJ0dmorbkwpfHhIfDE2TldtZWRkJX5JQF5IKXRNN3BrPnpfOzFONDZhTG9oYQp6
d1NpTUJWeSRGMnhnQGxyaiVtLVcwYCFWMTA0PUZRcDdgQEc7Y3dwbW1BR0BFPVpRLVhyRHx8PkMo
fmV3IyhHQjYKemZ+fkkmN3RePnBkQ2xWbyNUM3Q9Y25DYlghSyRhUmN7Qk90JHR7fnZsY3ZoYWI+
NE52RGMjNmpYZn1jUnJoaCpACnp1PWIoTHJZJU14SCtXeiNycHFVdXxJWDdHakh9R1hAKW9kdWh1
LT98MUBxQkQlJXI4SzdZOzlSdDdsM2xDZ0l8Zwp6P34oZTdTRE95VzEmOW1kJEJKSTZqMFZZbzFs
aSVRV3dldiFsa3hyLS1zXmspKTZMI3Mpaz4qSEtGeSlnK1o2TDEKem5DbkdSVlk4dH1JX0BSbT9C
X153b0NfZXJxfH1qK0kzfCshYihvVlhwOHJgV2NeO3RQRjllcUdlK24leGVYISFZCnolZnpCfUFe
PH59WSVIbFNhckt1JikyUms7V2VaaXdUYH0xMnVGQVE9ZShSbX5HbzNXJnhRdlRSSEE8KElRQHVM
Mwp6MEo5NzR7PntHcmU7KEBwelVCQzVjSkheWmFZKzkxSG1aZEVYQXlZY15Ramg+aF9lV3tgTmBN
KDtsIUktKlJ9Tn0KelM/PElxNExHSWcmXmwyfE57akE5bjdPLUc8SlM1SVkwXn5EWH0oaCokYGZV
WEdlTEVNWGlKYHArZVZ0QUA1cWFtCnpxc19zTWp7N0FsIz8rZzMtM01kfExSaiZ1X2xHK3xETkQl
P0F8Vi15djNqZ3I4ZCtMSHE0Y20kbXlDJE5fXmY2Mwp6OWVSKClKUC0hfj19TEQoNG5iT0JodENx
RyUxJGkteWpzYTtWaUp5TWxBJlQ+XmAxK2wrdDQ4I2V0Znc4YHA+PWsKenVRLT5VaXAoYXRfaENn
QlclVEcpX25ifiVQaytDQnJhNTh6OEVkNnx4cjA/d3djTTJkbD5IU31iWHh0WTx2ZURACnpQcW5Q
TnRaYikmbCtxJCVleEBoaytLIUlKcXBlcCEkKGs/R1ZiSj5KPz9pOyhpeFU2Tkd0aFU0TmRKTD57
ZE5AcAp1bHtVd0JfNzQ5bVg4YmVjYGQ9flFrOXZVTGhXWTxXTkIkP0BgUztZZXwzRH1IVTZWTEk1
QzBEclJidWV+CgpkaWZmIC0tZ2l0IGEvV2Vic2l0ZXMvd2Via2l0Lm9yZy9kZW1vcy93ZWJncHUv
Y3ViZXMuanMgYi9XZWJzaXRlcy93ZWJraXQub3JnL2RlbW9zL3dlYmdwdS9jdWJlcy5qcwpkZWxl
dGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNmY1MmEyNDIxNTg5OGZhZjZmMTY2NjhhYmU4M2Fh
MjlhOTFlNDA0OC4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0g
YS9XZWJzaXRlcy93ZWJraXQub3JnL2RlbW9zL3dlYmdwdS9jdWJlcy5qcworKysgL2Rldi9udWxs
CkBAIC0xLDM0NCArMCwwIEBACi1jbGFzcyBVbmlmb3JtIHsKLSAgICBjb25zdHJ1Y3RvcihmbG9h
dDMyQXJyYXkpIHsKLSAgICAgICAgaWYgKGZsb2F0MzJBcnJheSAmJiBmbG9hdDMyQXJyYXkubGVu
Z3RoICE9IDY0KSB7Ci0gICAgICAgICAgICBjb25zb2xlLmxvZygiSW5jb3JyZWN0IGJhY2tpbmcg
c3RvcmUgZm9yIFVuaWZvcm0iKTsKLSAgICAgICAgICAgIHJldHVybjsKLSAgICAgICAgfQotCi0g
ICAgICAgIHRoaXMuYXJyYXkgPSBmbG9hdDMyQXJyYXkgfHwgbmV3IEZsb2F0MzJBcnJheSg2NCk7
Ci0gICAgfQotICAgIC8vIExheW91dCBpcwotICAgIC8vIDAtMTUgPSBtb2RlbF92aWV3X3Byb2pl
Y3Rpb25fbWF0cml4IChmbG9hdDR4NCkKLSAgICAvLyAxNi0zMSA9IG5vcm1hbCBtYXRyaXggKGZs
b2F0NHg0KQotICAgIC8vIDMyLTM1ID0gYW1iaWVudCBjb2xvciAoZmxvYXQ0KQotICAgIC8vIDM2
ID0gbXVsdGlwbGllciAoaW50KQotICAgIGdldCBidWZmZXIoKSB7Ci0gICAgICAgIHJldHVybiB0
aGlzLmFycmF5OwotICAgIH0KLSAgICBnZXQgbXZwKCkgewotICAgICAgICByZXR1cm4gdGhpcy5h
cnJheS5zdWJhcnJheSgwLCAxNik7Ci0gICAgfQotICAgIGdldCBub3JtYWwoKSB7Ci0gICAgICAg
IHJldHVybiB0aGlzLmFycmF5LnN1YmFycmF5KDE2LCAzMik7Ci0gICAgfQotICAgIGdldCBhbWJp
ZW50Q29sb3IoKSB7Ci0gICAgICAgIHJldHVybiB0aGlzLmFycmF5LnN1YmFycmF5KDMyLCAzNik7
Ci0gICAgfQotICAgIGdldCBtdWx0aXBsaWVyKCkgewotICAgICAgICByZXR1cm4gdGhpcy5hcnJh
eVs0MF07Ci0gICAgfQotICAgIHNldCBtdnAodmFsdWUpIHsKLSAgICAgICAgdGhpcy5fY29weU1h
dHJpeCh2YWx1ZSwgMCk7Ci0gICAgfQotICAgIHNldCBub3JtYWwodmFsdWUpIHsKLSAgICAgICAg
dGhpcy5fY29weU1hdHJpeCh2YWx1ZSwgMTYpOwotICAgIH0KLSAgICBzZXQgYW1iaWVudENvbG9y
KHZhbHVlKSB7Ci0gICAgICAgIHRoaXMuYXJyYXlbMzJdID0gdmFsdWVbMF07Ci0gICAgICAgIHRo
aXMuYXJyYXlbMzNdID0gdmFsdWVbMV07Ci0gICAgICAgIHRoaXMuYXJyYXlbMzRdID0gdmFsdWVb
Ml07Ci0gICAgICAgIHRoaXMuYXJyYXlbMzVdID0gdmFsdWVbM107Ci0gICAgfQotICAgIHNldCBt
dWx0aXBsaWVyKHZhbHVlKSB7Ci0gICAgICAgIHRoaXMuYXJyYXlbMzZdID0gdmFsdWU7Ci0gICAg
fQotICAgIF9jb3B5TWF0cml4KG1hdHJpeCwgb2Zmc2V0KSB7Ci0gICAgICAgIGZvciAodmFyIGkg
PSAwOyBpIDwgMTY7IGkrKykgewotICAgICAgICAgICAgdGhpcy5hcnJheVtvZmZzZXQgKyBpXSA9
IG1hdHJpeFtpXTsKLSAgICAgICAgfQotICAgIH0KLX0KLQotY29uc3Qgc21vb3Roc3RlcCA9ICht
aW4sIG1heCwgdmFsdWUpID0+IHsKLSAgICBsZXQgeCA9IE1hdGgubWF4KDAsIE1hdGgubWluKDEs
ICh2YWx1ZSAtIG1pbikgLyAobWF4IC0gbWluKSkpOwotICAgIHJldHVybiB4ICogeCAqICgzIC0g
MiAqIHgpOwotfTsKLQotY29uc3QgaW5UaW1lUmFuZ2UgPSAobm93LCBzdGFydCwgZW5kLCBwZXJp
b2QpID0+IHsKLSAgICBsZXQgb2Zmc2V0ID0gbm93ICUgcGVyaW9kOwotICAgIHJldHVybiBvZmZz
ZXQgPj0gc3RhcnQgJiYgb2Zmc2V0IDw9IGVuZDsKLX07Ci0KLWNvbnN0IHRpbWVSYW5nZU9mZnNl
dCA9IChub3csIHN0YXJ0LCBlbmQsIHBlcmlvZCkgPT4gewotICAgIGlmICghaW5UaW1lUmFuZ2Uo
bm93LCBzdGFydCwgZW5kLCBwZXJpb2QpKSB7Ci0gICAgICAgIHJldHVybiAwOwotICAgIH0KLSAg
ICBsZXQgb2Zmc2V0ID0gbm93ICUgcGVyaW9kOwotICAgIHJldHVybiBNYXRoLm1pbigxLCBNYXRo
Lm1heCgwLCAob2Zmc2V0IC0gc3RhcnQpIC8gKGVuZCAtIHN0YXJ0KSkpOwotfTsKLQotY29uc3Qg
bWlkZGxlUGVha1RpbWVSYW5nZU9mZnNldCA9IChub3csIHN0YXJ0LCBlbmQsIHBlcmlvZCkgPT4g
ewotICAgIGxldCBvZmZzZXQgPSB0aW1lUmFuZ2VPZmZzZXQobm93LCBzdGFydCwgZW5kLCBwZXJp
b2QpOwotICAgIHJldHVybiAxIC0gTWF0aC5hYnMoMC41IC0gb2Zmc2V0KSAqIDI7Ci19OwotCi1j
b25zdCBrTnVtQWN0aXZlVW5pZm9ybUJ1ZmZlcnMgPSAzOwotY29uc3Qga051bWJlck9mQm94ZXNQ
ZXJBeGlzID0gNjsKLWNvbnN0IGtOdW1iZXJPZkJveGVzID0ga051bWJlck9mQm94ZXNQZXJBeGlz
ICoga051bWJlck9mQm94ZXNQZXJBeGlzOwotY29uc3Qga0JveEJhc2VBbWJpZW50Q29sb3IgPSBb
MC4yLCAwLjIsIDAuMiwgMS4wXTsKLWNvbnN0IGtGT1ZZID0gNDUuMCAvIDE4MCAqIE1hdGguUEk7
Ci1jb25zdCBrRXllID0gdmVjMy5mcm9tVmFsdWVzKDAuMCwgMi43NSwgLTIpOwotY29uc3Qga0Nl
bnRlciA9IHZlYzMuZnJvbVZhbHVlcygwLjAsIDEuNSwgMS4wKTsKLWNvbnN0IGtVcCA9IHZlYzMu
ZnJvbVZhbHVlcygwLjAsIDEuMCwgMC4wKTsKLWNvbnN0IGtFZGdlID0gMS41IC8ga051bWJlck9m
Qm94ZXNQZXJBeGlzIDsKLQotY29uc3Qga0N1YmVWZXJ0ZXhEYXRhID0gbmV3IEZsb2F0MzJBcnJh
eSgKLVsKLSAgICBrRWRnZSwgLWtFZGdlLCBrRWRnZSwgMC4wLCAtMS4wLCAwLjAsCi0gICAgLWtF
ZGdlLCAta0VkZ2UsIGtFZGdlLCAwLjAsIC0xLjAsIDAuMCwKLSAgICAta0VkZ2UsIC1rRWRnZSwg
LWtFZGdlLCAwLjAsIC0xLjAsIDAuMCwKLSAgICBrRWRnZSwgLWtFZGdlLCAta0VkZ2UsIDAuMCwg
LTEuMCwgMC4wLAotICAgIGtFZGdlLCAta0VkZ2UsIGtFZGdlLCAwLjAsIC0xLjAsIDAuMCwKLSAg
ICAta0VkZ2UsIC1rRWRnZSwgLWtFZGdlLCAwLjAsIC0xLjAsIDAuMCwKLQotICAgIGtFZGdlLCBr
RWRnZSwga0VkZ2UsIDEuMCwgMC4wLCAwLjAsCi0gICAga0VkZ2UsIC1rRWRnZSwga0VkZ2UsIDEu
MCwgMC4wLCAwLjAsCi0gICAga0VkZ2UsIC1rRWRnZSwgLWtFZGdlLCAxLjAsIDAuMCwgMC4wLAot
ICAgIGtFZGdlLCBrRWRnZSwgLWtFZGdlLCAxLjAsIDAuMCwgMC4wLAotICAgIGtFZGdlLCBrRWRn
ZSwga0VkZ2UsIDEuMCwgMC4wLCAwLjAsCi0gICAga0VkZ2UsIC1rRWRnZSwgLWtFZGdlLCAxLjAs
IDAuMCwgMC4wLAotCi0gICAgLWtFZGdlLCBrRWRnZSwga0VkZ2UsIDAuMCwgMS4wLCAwLjAsCi0g
ICAga0VkZ2UsIGtFZGdlLCBrRWRnZSwgMC4wLCAxLjAsIDAuMCwKLSAgICBrRWRnZSwga0VkZ2Us
IC1rRWRnZSwgMC4wLCAxLjAsIDAuMCwKLSAgICAta0VkZ2UsIGtFZGdlLCAta0VkZ2UsIDAuMCwg
MS4wLCAwLjAsCi0gICAgLWtFZGdlLCBrRWRnZSwga0VkZ2UsIDAuMCwgMS4wLCAwLjAsCi0gICAg
a0VkZ2UsIGtFZGdlLCAta0VkZ2UsIDAuMCwgMS4wLCAwLjAsCi0KLSAgICAta0VkZ2UsIC1rRWRn
ZSwga0VkZ2UsIC0xLjAsIDAuMCwgMC4wLAotICAgIC1rRWRnZSwga0VkZ2UsIGtFZGdlLCAtMS4w
LCAwLjAsIDAuMCwKLSAgICAta0VkZ2UsIGtFZGdlLCAta0VkZ2UsIC0xLjAsIDAuMCwgMC4wLAot
ICAgIC1rRWRnZSwgLWtFZGdlLCAta0VkZ2UsIC0xLjAsIDAuMCwgMC4wLAotICAgIC1rRWRnZSwg
LWtFZGdlLCBrRWRnZSwgLTEuMCwgMC4wLCAwLjAsCi0gICAgLWtFZGdlLCBrRWRnZSwgLWtFZGdl
LCAtMS4wLCAwLjAsIDAuMCwKLQotICAgIGtFZGdlLCBrRWRnZSwga0VkZ2UsIDAuMCwgMC4wLCAx
LjAsCi0gICAgLWtFZGdlLCBrRWRnZSwga0VkZ2UsIDAuMCwgMC4wLCAxLjAsCi0gICAgLWtFZGdl
LCAta0VkZ2UsIGtFZGdlLCAwLjAsIDAuMCwgMS4wLAotICAgIC1rRWRnZSwgLWtFZGdlLCBrRWRn
ZSwgMC4wLCAwLjAsIDEuMCwKLSAgICBrRWRnZSwgLWtFZGdlLCBrRWRnZSwgMC4wLCAwLjAsIDEu
MCwKLSAgICBrRWRnZSwga0VkZ2UsIGtFZGdlLCAwLjAsIDAuMCwgMS4wLAotCi0gICAga0VkZ2Us
IC1rRWRnZSwgLWtFZGdlLCAwLjAsIDAuMCwgLTEuMCwKLSAgICAta0VkZ2UsIC1rRWRnZSwgLWtF
ZGdlLCAwLjAsIDAuMCwgLTEuMCwKLSAgICAta0VkZ2UsIGtFZGdlLCAta0VkZ2UsIDAuMCwgMC4w
LCAtMS4wLAotICAgIGtFZGdlLCBrRWRnZSwgLWtFZGdlLCAwLjAsIDAuMCwgLTEuMCwKLSAgICBr
RWRnZSwgLWtFZGdlLCAta0VkZ2UsIDAuMCwgMC4wLCAtMS4wLAotICAgIC1rRWRnZSwga0VkZ2Us
IC1rRWRnZSwgMC4wLCAwLjAsIC0xLjAKLV0pOwotCi1sZXQgZ3B1OwotbGV0IGNvbW1hbmRRdWV1
ZTsKLWxldCByZW5kZXJQYXNzRGVzY3JpcHRvcjsKLWxldCByZW5kZXJQaXBlbGluZVN0YXRlOwot
bGV0IGRlcHRoU3RlbmNpbFN0YXRlOwotCi1sZXQgcHJvamVjdGlvbk1hdHJpeCA9IG1hdDQuY3Jl
YXRlKCk7Ci1sZXQgdmlld01hdHJpeCA9IG1hdDQuY3JlYXRlKCk7Ci0KLXZhciBzdGFydFRpbWU7
Ci12YXIgZWxhcHNlZFRpbWU7Ci1sZXQgY2FtZXJhUm90YXRpb24gPSAwOwotbGV0IGNhbWVyYUFs
dGl0dWRlID0gMDsKLQotY29uc3QgdW5pZm9ybUJ1ZmZlcnMgPSBuZXcgQXJyYXkoa051bUFjdGl2
ZVVuaWZvcm1CdWZmZXJzKTsKLXZhciBjdXJyZW50VW5pZm9ybUJ1ZmZlckluZGV4ID0gMDsKLQot
d2luZG93LmFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBpbml0LCBmYWxzZSk7Ci0KLWZ1bmN0aW9u
IGluaXQoKSB7Ci0KLSAgICBpZiAoIWNoZWNrRm9yV2ViR1BVKCkpIHsKLSAgICAgICAgcmV0dXJu
OwotICAgIH0KLQotICAgIGxldCBjYW52YXMgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCJjYW52
YXMiKTsKLSAgICBsZXQgY2FudmFzU2l6ZSA9IGNhbnZhcy5nZXRCb3VuZGluZ0NsaWVudFJlY3Qo
KTsKLSAgICBjYW52YXMud2lkdGggPSBjYW52YXNTaXplLndpZHRoOwotICAgIGNhbnZhcy5oZWln
aHQgPSBjYW52YXNTaXplLmhlaWdodDsKLQotICAgIGxldCBhc3BlY3QgPSBNYXRoLmFicyhjYW52
YXNTaXplLndpZHRoIC8gY2FudmFzU2l6ZS5oZWlnaHQpOwotICAgIG1hdDQucGVyc3BlY3RpdmUo
cHJvamVjdGlvbk1hdHJpeCwga0ZPVlksIGFzcGVjdCwgMC4xLCAxMDAuMCk7Ci0gICAgbWF0NC5s
b29rQXQodmlld01hdHJpeCwga0V5ZSwga0NlbnRlciwga1VwKTsKLQotICAgIGdwdSA9IGNhbnZh
cy5nZXRDb250ZXh0KCJ3ZWJncHUiKTsKLSAgICBjb21tYW5kUXVldWUgPSBncHUuY3JlYXRlQ29t
bWFuZFF1ZXVlKCk7Ci0KLSAgICBsZXQgbGlicmFyeSA9IGdwdS5jcmVhdGVMaWJyYXJ5KGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJsaWJyYXJ5IikudGV4dCk7Ci0gICAgbGV0IHZlcnRleEZ1bmN0
aW9uID0gbGlicmFyeS5mdW5jdGlvbldpdGhOYW1lKCJ2ZXJ0ZXhfZnVuY3Rpb24iKTsKLSAgICBs
ZXQgZnJhZ21lbnRGdW5jdGlvbiA9IGxpYnJhcnkuZnVuY3Rpb25XaXRoTmFtZSgiZnJhZ21lbnRf
ZnVuY3Rpb24iKTsKLQotICAgIGlmICghbGlicmFyeSB8fCAhZnJhZ21lbnRGdW5jdGlvbiB8fCAh
dmVydGV4RnVuY3Rpb24pIHsKLSAgICAgICAgcmV0dXJuOwotICAgIH0KLQotICAgIHZhciBwaXBl
bGluZURlc2NyaXB0b3IgPSBuZXcgV2ViR1BVUmVuZGVyUGlwZWxpbmVEZXNjcmlwdG9yKCk7Ci0g
ICAgcGlwZWxpbmVEZXNjcmlwdG9yLnZlcnRleEZ1bmN0aW9uID0gdmVydGV4RnVuY3Rpb247Ci0g
ICAgcGlwZWxpbmVEZXNjcmlwdG9yLmZyYWdtZW50RnVuY3Rpb24gPSBmcmFnbWVudEZ1bmN0aW9u
OwotICAgIC8vIE5PVEU6IE91ciBBUEkgcHJvcG9zYWwgaGFzIHRoZXNlIHZhbHVlcyBhcyBlbnVt
cywgbm90IGNvbnN0YW50IG51bWJlcnMuCi0gICAgLy8gV2UgaGF2ZW4ndCBnb3QgYXJvdW5kIHRv
IGltcGxlbWVudGluZyB0aGUgZW51bXMgeWV0LgotICAgIHBpcGVsaW5lRGVzY3JpcHRvci5jb2xv
ckF0dGFjaG1lbnRzWzBdLnBpeGVsRm9ybWF0ID0gZ3B1LlBpeGVsRm9ybWF0QkdSQThVbm9ybTsK
LSAgICBwaXBlbGluZURlc2NyaXB0b3IuZGVwdGhBdHRhY2htZW50UGl4ZWxGb3JtYXQgPSBncHUu
UGl4ZWxGb3JtYXREZXB0aDMyRmxvYXQ7Ci0KLSAgICByZW5kZXJQaXBlbGluZVN0YXRlID0gZ3B1
LmNyZWF0ZVJlbmRlclBpcGVsaW5lU3RhdGUocGlwZWxpbmVEZXNjcmlwdG9yKTsKLQotICAgIGxl
dCBkZXB0aFN0ZW5jaWxEZXNjcmlwdG9yID0gbmV3IFdlYkdQVURlcHRoU3RlbmNpbERlc2NyaXB0
b3IoKTsKLSAgICBkZXB0aFN0ZW5jaWxEZXNjcmlwdG9yLmRlcHRoV3JpdGVFbmFibGVkID0gdHJ1
ZTsKLSAgICBkZXB0aFN0ZW5jaWxEZXNjcmlwdG9yLmRlcHRoQ29tcGFyZUZ1bmN0aW9uID0gImxl
c3MiOwotCi0gICAgZGVwdGhTdGVuY2lsU3RhdGUgPSBncHUuY3JlYXRlRGVwdGhTdGVuY2lsU3Rh
dGUoZGVwdGhTdGVuY2lsRGVzY3JpcHRvcik7Ci0KLSAgICBmb3IgKGxldCBpID0gMDsgaSA8IGtO
dW1BY3RpdmVVbmlmb3JtQnVmZmVyczsgaSsrKSB7Ci0gICAgICAgIHVuaWZvcm1CdWZmZXJzW2ld
ID0gW107Ci0gICAgICAgIGZvciAobGV0IGogPSAwOyBqIDwga051bWJlck9mQm94ZXM7IGorKykg
ewotICAgICAgICAgICAgbGV0IHVuaWZvcm0gPSBuZXcgVW5pZm9ybSgpOwotICAgICAgICAgICAg
dW5pZm9ybS5tdWx0aXBsaWVyID0gKGogJSAyKSA/IC0xIDogMTsKLSAgICAgICAgICAgIHVuaWZv
cm0uYW1iaWVudENvbG9yID0ga0JveEJhc2VBbWJpZW50Q29sb3I7Ci0gICAgICAgICAgICB1bmlm
b3JtQnVmZmVyc1tpXS5wdXNoKGdwdS5jcmVhdGVCdWZmZXIodW5pZm9ybS5idWZmZXIpKTsKLSAg
ICAgICAgfQotICAgIH0KLQotICAgIGxldCBkZXB0aFRleHR1cmVEZXNjcmlwdG9yID0gbmV3IFdl
YkdQVVRleHR1cmVEZXNjcmlwdG9yKGdwdS5QaXhlbEZvcm1hdERlcHRoMzJGbG9hdCwgY2FudmFz
U2l6ZS53aWR0aCwgY2FudmFzU2l6ZS5oZWlnaHQsIGZhbHNlKTsKLSAgICAvLyBOT1RFOiBPdXIg
QVBJIHByb3Bvc2FsIGhhcyBzb21lIG9mIHRoZXNlIHZhbHVlcyBhcyBlbnVtcywgbm90IGNvbnN0
YW50IG51bWJlcnMuCi0gICAgLy8gV2UgaGF2ZW4ndCBnb3QgYXJvdW5kIHRvIGltcGxlbWVudGlu
ZyB0aGUgZW51bXMgeWV0LgotICAgIGRlcHRoVGV4dHVyZURlc2NyaXB0b3IudGV4dHVyZVR5cGUg
PSBncHUuVGV4dHVyZVR5cGUyRDsKLSAgICBkZXB0aFRleHR1cmVEZXNjcmlwdG9yLnNhbXBsZUNv
dW50ID0gMTsKLSAgICBkZXB0aFRleHR1cmVEZXNjcmlwdG9yLnVzYWdlID0gZ3B1LlRleHR1cmVV
c2FnZVVua25vd247Ci0gICAgZGVwdGhUZXh0dXJlRGVzY3JpcHRvci5zdG9yYWdlTW9kZSA9IGdw
dS5TdG9yYWdlTW9kZVByaXZhdGU7Ci0KLSAgICBsZXQgZGVwdGhUZXh0dXJlID0gZ3B1LmNyZWF0
ZVRleHR1cmUoZGVwdGhUZXh0dXJlRGVzY3JpcHRvcik7Ci0KLSAgICByZW5kZXJQYXNzRGVzY3Jp
cHRvciA9IG5ldyBXZWJHUFVSZW5kZXJQYXNzRGVzY3JpcHRvcigpOwotICAgIC8vIE5PVEU6IE91
ciBBUEkgcHJvcG9zYWwgaGFzIHNvbWUgb2YgdGhlc2UgdmFsdWVzIGFzIGVudW1zLCBub3QgY29u
c3RhbnQgbnVtYmVycy4KLSAgICAvLyBXZSBoYXZlbid0IGdvdCBhcm91bmQgdG8gaW1wbGVtZW50
aW5nIHRoZSBlbnVtcyB5ZXQuCi0gICAgcmVuZGVyUGFzc0Rlc2NyaXB0b3IuY29sb3JBdHRhY2ht
ZW50c1swXS5sb2FkQWN0aW9uID0gZ3B1LkxvYWRBY3Rpb25DbGVhcjsKLSAgICByZW5kZXJQYXNz
RGVzY3JpcHRvci5jb2xvckF0dGFjaG1lbnRzWzBdLnN0b3JlQWN0aW9uID0gZ3B1LlN0b3JlQWN0
aW9uU3RvcmU7Ci0gICAgcmVuZGVyUGFzc0Rlc2NyaXB0b3IuY29sb3JBdHRhY2htZW50c1swXS5j
bGVhckNvbG9yID0gWzAuMzUsIDAuNjUsIDAuODUsIDEuMF07Ci0gICAgcmVuZGVyUGFzc0Rlc2Ny
aXB0b3IuZGVwdGhBdHRhY2htZW50LmxvYWRBY3Rpb24gPSBncHUuTG9hZEFjdGlvbkNsZWFyOwot
ICAgIHJlbmRlclBhc3NEZXNjcmlwdG9yLmRlcHRoQXR0YWNobWVudC5zdG9yZUFjdGlvbiA9IGdw
dS5TdG9yZUFjdGlvbkRvbnRDYXJlOwotICAgIHJlbmRlclBhc3NEZXNjcmlwdG9yLmRlcHRoQXR0
YWNobWVudC5jbGVhckRlcHRoID0gMS4wOwotICAgIHJlbmRlclBhc3NEZXNjcmlwdG9yLmRlcHRo
QXR0YWNobWVudC50ZXh0dXJlID0gZGVwdGhUZXh0dXJlOwotCi0gICAgdmVydGV4QnVmZmVyID0g
Z3B1LmNyZWF0ZUJ1ZmZlcihrQ3ViZVZlcnRleERhdGEpOwotCi0gICAgc3RhcnRUaW1lID0gRGF0
ZS5ub3coKTsKLSAgICByZW5kZXIoKTsKLX0KLQotZnVuY3Rpb24gcmVuZGVyKCkgewotCi0gICAg
ZWxhcHNlZFRpbWUgPSAoRGF0ZS5ub3coKSAtIHN0YXJ0VGltZSkgLyAxMDAwOwotCi0gICAgY2Ft
ZXJhUm90YXRpb24gPSBNYXRoLlBJICogMiAqICgxIC0gdGltZVJhbmdlT2Zmc2V0KGVsYXBzZWRU
aW1lLCAwLCAxMSwgMTEpKTsKLSAgICBjYW1lcmFBbHRpdHVkZSA9IE1hdGguc2luKGVsYXBzZWRU
aW1lIC8gNiAqIE1hdGguUEkpICsgMTsKLQotICAgIGxldCBleWUgPSB2ZWMzLmNyZWF0ZSgpOwot
ICAgIHZlYzMuYWRkKGV5ZSwga0V5ZSwgdmVjMy5mcm9tVmFsdWVzKDAsIGNhbWVyYUFsdGl0dWRl
LCAwKSk7Ci0gICAgbWF0NC5sb29rQXQodmlld01hdHJpeCwgZXllLCBrQ2VudGVyLCBrVXApOwot
Ci0gICAgdXBkYXRlVW5pZm9ybURhdGEoY3VycmVudFVuaWZvcm1CdWZmZXJJbmRleCk7Ci0KLSAg
ICBsZXQgY29tbWFuZEJ1ZmZlciA9IGNvbW1hbmRRdWV1ZS5jcmVhdGVDb21tYW5kQnVmZmVyKCk7
Ci0KLSAgICBsZXQgZHJhd2FibGUgPSBncHUubmV4dERyYXdhYmxlKCk7Ci0KLSAgICByZW5kZXJQ
YXNzRGVzY3JpcHRvci5jb2xvckF0dGFjaG1lbnRzWzBdLnRleHR1cmUgPSBkcmF3YWJsZS50ZXh0
dXJlOwotCi0gICAgbGV0IGNvbW1hbmRFbmNvZGVyID0gY29tbWFuZEJ1ZmZlci5jcmVhdGVSZW5k
ZXJDb21tYW5kRW5jb2RlcldpdGhEZXNjcmlwdG9yKHJlbmRlclBhc3NEZXNjcmlwdG9yKTsKLSAg
ICBjb21tYW5kRW5jb2Rlci5zZXREZXB0aFN0ZW5jaWxTdGF0ZShkZXB0aFN0ZW5jaWxTdGF0ZSk7
Ci0gICAgY29tbWFuZEVuY29kZXIuc2V0UmVuZGVyUGlwZWxpbmVTdGF0ZShyZW5kZXJQaXBlbGlu
ZVN0YXRlKTsKLSAgICBjb21tYW5kRW5jb2Rlci5zZXRWZXJ0ZXhCdWZmZXIodmVydGV4QnVmZmVy
LCAwLCAwKTsKLQotICAgIGZvciAobGV0IGdlb21ldHJ5QnVmZmVyIG9mIHVuaWZvcm1CdWZmZXJz
W2N1cnJlbnRVbmlmb3JtQnVmZmVySW5kZXhdKSB7Ci0gICAgICAgIGNvbW1hbmRFbmNvZGVyLnNl
dFZlcnRleEJ1ZmZlcihnZW9tZXRyeUJ1ZmZlciwgMCwgMSk7Ci0gICAgICAgIC8vIE5PVEU6IE91
ciBBUEkgcHJvcG9zYWwgdXNlcyB0aGUgZW51bSB2YWx1ZSAidHJpYW5nbGUiIGhlcmUuIFdlIGhh
dmVuJ3QgZ290IGFyb3VuZCB0byBpbXBsZW1lbnRpbmcgdGhlIGVudW1zIHlldC4KLSAgICAgICAg
Y29tbWFuZEVuY29kZXIuZHJhd1ByaW1pdGl2ZXMoZ3B1LlByaW1pdGl2ZVR5cGVUcmlhbmdsZSwg
MCwga0N1YmVWZXJ0ZXhEYXRhLmxlbmd0aCk7Ci0gICAgfQotCi0gICAgY29tbWFuZEVuY29kZXIu
ZW5kRW5jb2RpbmcoKTsKLSAgICBjb21tYW5kQnVmZmVyLnByZXNlbnREcmF3YWJsZShkcmF3YWJs
ZSk7Ci0gICAgY29tbWFuZEJ1ZmZlci5jb21taXQoKTsKLQotICAgIGN1cnJlbnRVbmlmb3JtQnVm
ZmVySW5kZXggPSAoY3VycmVudFVuaWZvcm1CdWZmZXJJbmRleCArIDEpICUga051bUFjdGl2ZVVu
aWZvcm1CdWZmZXJzOwotICAgIHJlcXVlc3RBbmltYXRpb25GcmFtZShyZW5kZXIpOwotfQotCi1m
dW5jdGlvbiB1cGRhdGVVbmlmb3JtRGF0YShpbmRleCkgewotCi0gICAgbGV0IGJhc2VNb2RlbFZp
ZXdNYXRyaXggPSBtYXQ0LmNyZWF0ZSgpOwotICAgIG1hdDQudHJhbnNsYXRlKGJhc2VNb2RlbFZp
ZXdNYXRyaXgsIGJhc2VNb2RlbFZpZXdNYXRyaXgsIHZlYzMuZnJvbVZhbHVlcygwLCAtMSAqIGNh
bWVyYUFsdGl0dWRlLCA1KSk7Ci0gICAgbWF0NC5yb3RhdGUoYmFzZU1vZGVsVmlld01hdHJpeCwg
YmFzZU1vZGVsVmlld01hdHJpeCwgY2FtZXJhUm90YXRpb24sIHZlYzMuZnJvbVZhbHVlcygwLCAx
LCAwKSk7Ci0KLSAgICBtYXQ0Lm11bHRpcGx5KGJhc2VNb2RlbFZpZXdNYXRyaXgsIHZpZXdNYXRy
aXgsIGJhc2VNb2RlbFZpZXdNYXRyaXgpOwotCi0gICAgZm9yIChsZXQgaSA9IDA7IGkgPCBrTnVt
YmVyT2ZCb3hlc1BlckF4aXM7IGkrKykgewotICAgICAgICBmb3IgKGxldCBqID0gMDsgaiA8IGtO
dW1iZXJPZkJveGVzUGVyQXhpczsgaisrKSB7Ci0KLSAgICAgICAgICAgIGxldCBib3hJbmRleCA9
IGkgKiBrTnVtYmVyT2ZCb3hlc1BlckF4aXMgKyBqOwotCi0gICAgICAgICAgICBsZXQgbW9kZWxW
aWV3TWF0cml4ID0gbWF0NC5jcmVhdGUoKTsKLQotICAgICAgICAgICAgLy8gUG9zaXRpb24gdGhl
IGN1YmUgaW4gWCxZLgotICAgICAgICAgICAgbGV0IHRyYW5zbGF0aW9uTWF0cml4ID0gbWF0NC5j
cmVhdGUoKTsKLSAgICAgICAgICAgIGlmIChrTnVtYmVyT2ZCb3hlc1BlckF4aXMgPiAxKSB7Ci0g
ICAgICAgICAgICAgICAgbGV0IHN0ZXAgPSA0IC8gKGtOdW1iZXJPZkJveGVzUGVyQXhpcyAtIDEp
OwotICAgICAgICAgICAgICAgIG1hdDQudHJhbnNsYXRlKHRyYW5zbGF0aW9uTWF0cml4LCB0cmFu
c2xhdGlvbk1hdHJpeCwgdmVjMy5mcm9tVmFsdWVzKGogKiBzdGVwIC0gMiwgMCwgaSAqIHN0ZXAg
LSAyKSk7Ci0gICAgICAgICAgICB9IGVsc2UgewotICAgICAgICAgICAgICAgIG1hdDQudHJhbnNs
YXRlKHRyYW5zbGF0aW9uTWF0cml4LCB0cmFuc2xhdGlvbk1hdHJpeCwgdmVjMy5mcm9tVmFsdWVz
KDAsIDAsIDApKTsKLSAgICAgICAgICAgIH0KLQotICAgICAgICAgICAgbGV0IHRyYW5zbGF0ZUVs
YXBzZWRPZmZzZXQgPSBlbGFwc2VkVGltZSArIGJveEluZGV4ICogMC42OwotICAgICAgICAgICAg
aWYgKGluVGltZVJhbmdlKHRyYW5zbGF0ZUVsYXBzZWRPZmZzZXQsIDEwLCAxMiwgMjMpKSB7Ci0g
ICAgICAgICAgICAgICAgbGV0IHRyYW5zbGF0ZSA9IHNtb290aHN0ZXAoMCwgMSwgbWlkZGxlUGVh
a1RpbWVSYW5nZU9mZnNldCh0cmFuc2xhdGVFbGFwc2VkT2Zmc2V0LCAxMCwgMTIsIDIzKSkgKiAw
LjQ7Ci0gICAgICAgICAgICAgICAgbWF0NC50cmFuc2xhdGUodHJhbnNsYXRpb25NYXRyaXgsIHRy
YW5zbGF0aW9uTWF0cml4LCB2ZWMzLmZyb21WYWx1ZXMoMCwgdHJhbnNsYXRlLCAwKSk7Ci0gICAg
ICAgICAgICB9Ci0KLSAgICAgICAgICAgIGxldCBzY2FsZU1hdHJpeCA9IG1hdDQuY3JlYXRlKCk7
Ci0gICAgICAgICAgICBsZXQgc2NhbGVFbGFwc2VkT2Zmc2V0ID0gZWxhcHNlZFRpbWUgKyBib3hJ
bmRleCAqIDAuMTsKLSAgICAgICAgICAgIGlmIChpblRpbWVSYW5nZShzY2FsZUVsYXBzZWRPZmZz
ZXQsIDIsIDYsIDE5KSkgewotICAgICAgICAgICAgICAgIGxldCBzY2FsZSA9IHNtb290aHN0ZXAo
MCwgMSwgbWlkZGxlUGVha1RpbWVSYW5nZU9mZnNldChzY2FsZUVsYXBzZWRPZmZzZXQsIDIsIDYs
IDE5KSkgKiAwLjUgKyAxOwotICAgICAgICAgICAgICAgIG1hdDQuc2NhbGUoc2NhbGVNYXRyaXgs
IHNjYWxlTWF0cml4LCB2ZWMzLmZyb21WYWx1ZXMoc2NhbGUsIHNjYWxlLCBzY2FsZSkpOwotICAg
ICAgICAgICAgfQotICAgICAgICAgICAgbWF0NC5tdWx0aXBseShtb2RlbFZpZXdNYXRyaXgsIHRy
YW5zbGF0aW9uTWF0cml4LCBzY2FsZU1hdHJpeCk7Ci0KLSAgICAgICAgICAgIC8vIFJvdGF0ZSB0
aGUgY3ViZS4KLSAgICAgICAgICAgIGxldCByb3RhdGlvbk1hdHJpeCA9IG1hdDQuY3JlYXRlKCk7
Ci0gICAgICAgICAgICBsZXQgcm90YXRpb25FbGFwc2VkT2Zmc2V0ID0gZWxhcHNlZFRpbWUgKyAo
a051bWJlck9mQm94ZXMgLSBib3hJbmRleCkgKiAwLjE7Ci0gICAgICAgICAgICBpZiAoaW5UaW1l
UmFuZ2Uocm90YXRpb25FbGFwc2VkT2Zmc2V0LCAzLCA3LCAxMSkpIHsKLSAgICAgICAgICAgICAg
ICB2YXIgcm90YXRpb24gPSBzbW9vdGhzdGVwKDAsIDEsIHRpbWVSYW5nZU9mZnNldChyb3RhdGlv
bkVsYXBzZWRPZmZzZXQsIDMsIDcsIDExKSkgKiBNYXRoLlBJICogMjsKLSAgICAgICAgICAgICAg
ICBtYXQ0LnJvdGF0ZShyb3RhdGlvbk1hdHJpeCwgcm90YXRpb25NYXRyaXgsIHJvdGF0aW9uLCB2
ZWMzLmZyb21WYWx1ZXMoMC41LCAxLCAxKSk7Ci0gICAgICAgICAgICB9Ci0gICAgICAgICAgICBt
YXQ0Lm11bHRpcGx5KG1vZGVsVmlld01hdHJpeCwgbW9kZWxWaWV3TWF0cml4LCByb3RhdGlvbk1h
dHJpeCk7Ci0KLSAgICAgICAgICAgIG1hdDQubXVsdGlwbHkobW9kZWxWaWV3TWF0cml4LCBiYXNl
TW9kZWxWaWV3TWF0cml4LCBtb2RlbFZpZXdNYXRyaXgpOwotCi0gICAgICAgICAgICBsZXQgbm9y
bWFsTWF0cml4ID0gbWF0NC5jbG9uZShtb2RlbFZpZXdNYXRyaXgpOwotICAgICAgICAgICAgbWF0
NC50cmFuc3Bvc2Uobm9ybWFsTWF0cml4LCBub3JtYWxNYXRyaXgpOwotICAgICAgICAgICAgbWF0
NC5pbnZlcnQobm9ybWFsTWF0cml4LCBub3JtYWxNYXRyaXgpOwotCi0gICAgICAgICAgICBsZXQg
dW5pZm9ybSA9IG5ldyBVbmlmb3JtKG5ldyBGbG9hdDMyQXJyYXkodW5pZm9ybUJ1ZmZlcnNbaW5k
ZXhdW2kgKiBrTnVtYmVyT2ZCb3hlc1BlckF4aXMgKyBqXS5jb250ZW50cykpOwotCi0gICAgICAg
ICAgICB1bmlmb3JtLm5vcm1hbCA9IG5vcm1hbE1hdHJpeDsKLQotICAgICAgICAgICAgbGV0IG1v
ZGVsVmlld1Byb2plY3Rpb25NYXRyaXggPSBtYXQ0LmNyZWF0ZSgpOwotICAgICAgICAgICAgbWF0
NC5tdWx0aXBseShtb2RlbFZpZXdQcm9qZWN0aW9uTWF0cml4LCBwcm9qZWN0aW9uTWF0cml4LCBt
b2RlbFZpZXdNYXRyaXgpOwotCi0gICAgICAgICAgICB1bmlmb3JtLm12cCA9IG1vZGVsVmlld1By
b2plY3Rpb25NYXRyaXg7Ci0KLSAgICAgICAgICAgIGxldCBjb2xvckVsYXBzZWRPZmZzZXQgPSBl
bGFwc2VkVGltZSArIGJveEluZGV4ICogMC4xNTsKLSAgICAgICAgICAgIGlmIChpblRpbWVSYW5n
ZShjb2xvckVsYXBzZWRPZmZzZXQsIDIsIDMsIDEwKSkgewotICAgICAgICAgICAgICAgIGxldCBy
ZWRCb29zdCA9IG1pZGRsZVBlYWtUaW1lUmFuZ2VPZmZzZXQoY29sb3JFbGFwc2VkT2Zmc2V0LCAy
LCAzLCAxMCkgKiAwLjU7Ci0gICAgICAgICAgICAgICAgdW5pZm9ybS5hbWJpZW50Q29sb3JbMF0g
PSBNYXRoLm1pbigxLjAsIE1hdGgubWF4KDAsIGtCb3hCYXNlQW1iaWVudENvbG9yWzBdICsgcmVk
Qm9vc3QpKTsKLSAgICAgICAgICAgIH0gZWxzZSB7Ci0gICAgICAgICAgICAgICAgdW5pZm9ybS5h
bWJpZW50Q29sb3JbMF0gPSBrQm94QmFzZUFtYmllbnRDb2xvclswXTsKLSAgICAgICAgICAgIH0K
LSAgICAgICAgICAgIGNvbG9yRWxhcHNlZE9mZnNldCA9IGVsYXBzZWRUaW1lICsgKGtOdW1iZXJP
ZkJveGVzIC0gYm94SW5kZXgpICogMC4xOwotICAgICAgICAgICAgaWYgKGluVGltZVJhbmdlKGNv
bG9yRWxhcHNlZE9mZnNldCwgNywgMTEsIDIxKSkgewotICAgICAgICAgICAgICAgIGxldCBncmVl
bkJvb3N0ID0gbWlkZGxlUGVha1RpbWVSYW5nZU9mZnNldChjb2xvckVsYXBzZWRPZmZzZXQsIDcs
IDExLCAyMSkgKiAwLjM7Ci0gICAgICAgICAgICAgICAgdW5pZm9ybS5hbWJpZW50Q29sb3JbMV0g
PSBNYXRoLm1pbigxLjAsIE1hdGgubWF4KDAsIGtCb3hCYXNlQW1iaWVudENvbG9yWzFdICsgZ3Jl
ZW5Cb29zdCkpOwotICAgICAgICAgICAgfSBlbHNlIHsKLSAgICAgICAgICAgICAgICB1bmlmb3Jt
LmFtYmllbnRDb2xvclsxXSA9IGtCb3hCYXNlQW1iaWVudENvbG9yWzFdOwotICAgICAgICAgICAg
fQotICAgICAgICB9Ci0gICAgfQotfQpkaWZmIC0tZ2l0IGEvV2Vic2l0ZXMvd2Via2l0Lm9yZy9k
ZW1vcy93ZWJncHUvZ2wtbWF0cml4LW1pbi5qcyBiL1dlYnNpdGVzL3dlYmtpdC5vcmcvZGVtb3Mv
d2ViZ3B1L2dsLW1hdHJpeC1taW4uanMKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDFj
NTZkNmNjYTdmZmU3YzQ5ZjdjZmNmMGU5N2I1ZGM4Mzc3YTY2YjcuLjAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvV2Vic2l0ZXMvd2Via2l0Lm9yZy9kZW1vcy93
ZWJncHUvZ2wtbWF0cml4LW1pbi5qcworKysgL2Rldi9udWxsCkBAIC0xLDI4ICswLDAgQEAKLS8q
KgotICogQGZpbGVvdmVydmlldyBnbC1tYXRyaXggLSBIaWdoIHBlcmZvcm1hbmNlIG1hdHJpeCBh
bmQgdmVjdG9yIG9wZXJhdGlvbnMKLSAqIEBhdXRob3IgQnJhbmRvbiBKb25lcwotICogQGF1dGhv
ciBDb2xpbiBNYWNLZW56aWUgSVYKLSAqIEB2ZXJzaW9uIDIuNC4wCi0gKi8KLQotLyogQ29weXJp
Z2h0IChjKSAyMDE1LCBCcmFuZG9uIEpvbmVzLCBDb2xpbiBNYWNLZW56aWUgSVYuCi0KLVBlcm1p
c3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9i
dGFpbmluZyBhIGNvcHkKLW9mIHRoaXMgc29mdHdhcmUgYW5kIGFzc29jaWF0ZWQgZG9jdW1lbnRh
dGlvbiBmaWxlcyAodGhlICJTb2Z0d2FyZSIpLCB0byBkZWFsCi1pbiB0aGUgU29mdHdhcmUgd2l0
aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nIHdpdGhvdXQgbGltaXRhdGlvbiB0aGUgcmlnaHRz
Ci10byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsIGRpc3RyaWJ1dGUsIHN1Ymxp
Y2Vuc2UsIGFuZC9vciBzZWxsCi1jb3BpZXMgb2YgdGhlIFNvZnR3YXJlLCBhbmQgdG8gcGVybWl0
IHBlcnNvbnMgdG8gd2hvbSB0aGUgU29mdHdhcmUgaXMKLWZ1cm5pc2hlZCB0byBkbyBzbywgc3Vi
amVjdCB0byB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6Ci0KLVRoZSBhYm92ZSBjb3B5cmlnaHQg
bm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIHNoYWxsIGJlIGluY2x1ZGVkIGluCi1h
bGwgY29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZSBTb2Z0d2FyZS4KLQotVEhF
IFNPRlRXQVJFIElTIFBST1ZJREVEICJBUyBJUyIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJ
TkQsIEVYUFJFU1MgT1IKLUlNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhF
IFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZLAotRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFS
IFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFCi1BVVRI
T1JTIE9SIENPUFlSSUdIVCBIT0xERVJTIEJFIExJQUJMRSBGT1IgQU5ZIENMQUlNLCBEQU1BR0VT
IE9SIE9USEVSCi1MSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULCBU
T1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLAotT1VUIE9GIE9SIElOIENPTk5FQ1RJT04g
V0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTgotVEhFIFNP
RlRXQVJFLiAqLwotCi0hZnVuY3Rpb24odCxuKXtpZigib2JqZWN0Ij09dHlwZW9mIGV4cG9ydHMm
JiJvYmplY3QiPT10eXBlb2YgbW9kdWxlKW1vZHVsZS5leHBvcnRzPW4oKTtlbHNlIGlmKCJmdW5j
dGlvbiI9PXR5cGVvZiBkZWZpbmUmJmRlZmluZS5hbWQpZGVmaW5lKFtdLG4pO2Vsc2V7dmFyIHI9
bigpO2Zvcih2YXIgYSBpbiByKSgib2JqZWN0Ij09dHlwZW9mIGV4cG9ydHM/ZXhwb3J0czp0KVth
XT1yW2FdfX0odGhpcyxmdW5jdGlvbigpe3JldHVybiBmdW5jdGlvbih0KXtmdW5jdGlvbiBuKGEp
e2lmKHJbYV0pcmV0dXJuIHJbYV0uZXhwb3J0czt2YXIgZT1yW2FdPXtpOmEsbDohMSxleHBvcnRz
Ont9fTtyZXR1cm4gdFthXS5jYWxsKGUuZXhwb3J0cyxlLGUuZXhwb3J0cyxuKSxlLmw9ITAsZS5l
eHBvcnRzfXZhciByPXt9O3JldHVybiBuLm09dCxuLmM9cixuLmQ9ZnVuY3Rpb24odCxyLGEpe24u
byh0LHIpfHxPYmplY3QuZGVmaW5lUHJvcGVydHkodCxyLHtjb25maWd1cmFibGU6ITEsZW51bWVy
YWJsZTohMCxnZXQ6YX0pfSxuLm49ZnVuY3Rpb24odCl7dmFyIHI9dCYmdC5fX2VzTW9kdWxlP2Z1
bmN0aW9uKCl7cmV0dXJuIHQuZGVmYXVsdH06ZnVuY3Rpb24oKXtyZXR1cm4gdH07cmV0dXJuIG4u
ZChyLCJhIixyKSxyfSxuLm89ZnVuY3Rpb24odCxuKXtyZXR1cm4gT2JqZWN0LnByb3RvdHlwZS5o
YXNPd25Qcm9wZXJ0eS5jYWxsKHQsbil9LG4ucD0iIixuKG4ucz00KX0oW2Z1bmN0aW9uKHQsbixy
KXsidXNlIHN0cmljdCI7ZnVuY3Rpb24gYSh0KXtuLkFSUkFZX1RZUEU9aT10fWZ1bmN0aW9uIGUo
dCl7cmV0dXJuIHQqc31mdW5jdGlvbiB1KHQsbil7cmV0dXJuIE1hdGguYWJzKHQtbik8PW8qTWF0
aC5tYXgoMSxNYXRoLmFicyh0KSxNYXRoLmFicyhuKSl9T2JqZWN0LmRlZmluZVByb3BlcnR5KG4s
Il9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLG4uc2V0TWF0cml4QXJyYXlUeXBlPWEsbi50b1JhZGlh
bj1lLG4uZXF1YWxzPXU7dmFyIG89bi5FUFNJTE9OPTFlLTYsaT1uLkFSUkFZX1RZUEU9InVuZGVm
aW5lZCIhPXR5cGVvZiBGbG9hdDMyQXJyYXk/RmxvYXQzMkFycmF5OkFycmF5LHM9KG4uUkFORE9N
PU1hdGgucmFuZG9tLE1hdGguUEkvMTgwKX0sZnVuY3Rpb24odCxuLHIpeyJ1c2Ugc3RyaWN0Ijtm
dW5jdGlvbiBhKCl7dmFyIHQ9bmV3IGcuQVJSQVlfVFlQRSg5KTtyZXR1cm4gdFswXT0xLHRbMV09
MCx0WzJdPTAsdFszXT0wLHRbNF09MSx0WzVdPTAsdFs2XT0wLHRbN109MCx0WzhdPTEsdH1mdW5j
dGlvbiBlKHQsbil7cmV0dXJuIHRbMF09blswXSx0WzFdPW5bMV0sdFsyXT1uWzJdLHRbM109bls0
XSx0WzRdPW5bNV0sdFs1XT1uWzZdLHRbNl09bls4XSx0WzddPW5bOV0sdFs4XT1uWzEwXSx0fWZ1
bmN0aW9uIHUodCl7dmFyIG49bmV3IGcuQVJSQVlfVFlQRSg5KTtyZXR1cm4gblswXT10WzBdLG5b
MV09dFsxXSxuWzJdPXRbMl0sblszXT10WzNdLG5bNF09dFs0XSxuWzVdPXRbNV0sbls2XT10WzZd
LG5bN109dFs3XSxuWzhdPXRbOF0sbn1mdW5jdGlvbiBvKHQsbil7cmV0dXJuIHRbMF09blswXSx0
WzFdPW5bMV0sdFsyXT1uWzJdLHRbM109blszXSx0WzRdPW5bNF0sdFs1XT1uWzVdLHRbNl09bls2
XSx0WzddPW5bN10sdFs4XT1uWzhdLHR9ZnVuY3Rpb24gaSh0LG4scixhLGUsdSxvLGkscyl7dmFy
IGM9bmV3IGcuQVJSQVlfVFlQRSg5KTtyZXR1cm4gY1swXT10LGNbMV09bixjWzJdPXIsY1szXT1h
LGNbNF09ZSxjWzVdPXUsY1s2XT1vLGNbN109aSxjWzhdPXMsY31mdW5jdGlvbiBzKHQsbixyLGEs
ZSx1LG8saSxzLGMpe3JldHVybiB0WzBdPW4sdFsxXT1yLHRbMl09YSx0WzNdPWUsdFs0XT11LHRb
NV09byx0WzZdPWksdFs3XT1zLHRbOF09Yyx0fWZ1bmN0aW9uIGModCl7cmV0dXJuIHRbMF09MSx0
WzFdPTAsdFsyXT0wLHRbM109MCx0WzRdPTEsdFs1XT0wLHRbNl09MCx0WzddPTAsdFs4XT0xLHR9
ZnVuY3Rpb24gZih0LG4pe2lmKHQ9PT1uKXt2YXIgcj1uWzFdLGE9blsyXSxlPW5bNV07dFsxXT1u
WzNdLHRbMl09bls2XSx0WzNdPXIsdFs1XT1uWzddLHRbNl09YSx0WzddPWV9ZWxzZSB0WzBdPW5b
MF0sdFsxXT1uWzNdLHRbMl09bls2XSx0WzNdPW5bMV0sdFs0XT1uWzRdLHRbNV09bls3XSx0WzZd
PW5bMl0sdFs3XT1uWzVdLHRbOF09bls4XTtyZXR1cm4gdH1mdW5jdGlvbiBNKHQsbil7dmFyIHI9
blswXSxhPW5bMV0sZT1uWzJdLHU9blszXSxvPW5bNF0saT1uWzVdLHM9bls2XSxjPW5bN10sZj1u
WzhdLE09ZipvLWkqYyxoPS1mKnUraSpzLGw9Yyp1LW8qcyx2PXIqTSthKmgrZSpsO3JldHVybiB2
Pyh2PTEvdix0WzBdPU0qdix0WzFdPSgtZiphK2UqYykqdix0WzJdPShpKmEtZSpvKSp2LHRbM109
aCp2LHRbNF09KGYqci1lKnMpKnYsdFs1XT0oLWkqcitlKnUpKnYsdFs2XT1sKnYsdFs3XT0oLWMq
cithKnMpKnYsdFs4XT0obypyLWEqdSkqdix0KTpudWxsfWZ1bmN0aW9uIGgodCxuKXt2YXIgcj1u
WzBdLGE9blsxXSxlPW5bMl0sdT1uWzNdLG89bls0XSxpPW5bNV0scz1uWzZdLGM9bls3XSxmPW5b
OF07cmV0dXJuIHRbMF09bypmLWkqYyx0WzFdPWUqYy1hKmYsdFsyXT1hKmktZSpvLHRbM109aSpz
LXUqZix0WzRdPXIqZi1lKnMsdFs1XT1lKnUtcippLHRbNl09dSpjLW8qcyx0WzddPWEqcy1yKmMs
dFs4XT1yKm8tYSp1LHR9ZnVuY3Rpb24gbCh0KXt2YXIgbj10WzBdLHI9dFsxXSxhPXRbMl0sZT10
WzNdLHU9dFs0XSxvPXRbNV0saT10WzZdLHM9dFs3XSxjPXRbOF07cmV0dXJuIG4qKGMqdS1vKnMp
K3IqKC1jKmUrbyppKSthKihzKmUtdSppKX1mdW5jdGlvbiB2KHQsbixyKXt2YXIgYT1uWzBdLGU9
blsxXSx1PW5bMl0sbz1uWzNdLGk9bls0XSxzPW5bNV0sYz1uWzZdLGY9bls3XSxNPW5bOF0saD1y
WzBdLGw9clsxXSx2PXJbMl0sZD1yWzNdLGI9cls0XSxtPXJbNV0scD1yWzZdLFA9cls3XSxFPXJb
OF07cmV0dXJuIHRbMF09aCphK2wqbyt2KmMsdFsxXT1oKmUrbCppK3YqZix0WzJdPWgqdStsKnMr
dipNLHRbM109ZCphK2IqbyttKmMsdFs0XT1kKmUrYippK20qZix0WzVdPWQqdStiKnMrbSpNLHRb
Nl09cCphK1AqbytFKmMsdFs3XT1wKmUrUCppK0UqZix0WzhdPXAqdStQKnMrRSpNLHR9ZnVuY3Rp
b24gZCh0LG4scil7dmFyIGE9blswXSxlPW5bMV0sdT1uWzJdLG89blszXSxpPW5bNF0scz1uWzVd
LGM9bls2XSxmPW5bN10sTT1uWzhdLGg9clswXSxsPXJbMV07cmV0dXJuIHRbMF09YSx0WzFdPWUs
dFsyXT11LHRbM109byx0WzRdPWksdFs1XT1zLHRbNl09aCphK2wqbytjLHRbN109aCplK2wqaStm
LHRbOF09aCp1K2wqcytNLHR9ZnVuY3Rpb24gYih0LG4scil7dmFyIGE9blswXSxlPW5bMV0sdT1u
WzJdLG89blszXSxpPW5bNF0scz1uWzVdLGM9bls2XSxmPW5bN10sTT1uWzhdLGg9TWF0aC5zaW4o
ciksbD1NYXRoLmNvcyhyKTtyZXR1cm4gdFswXT1sKmEraCpvLHRbMV09bCplK2gqaSx0WzJdPWwq
dStoKnMsdFszXT1sKm8taCphLHRbNF09bCppLWgqZSx0WzVdPWwqcy1oKnUsdFs2XT1jLHRbN109
Zix0WzhdPU0sdH1mdW5jdGlvbiBtKHQsbixyKXt2YXIgYT1yWzBdLGU9clsxXTtyZXR1cm4gdFsw
XT1hKm5bMF0sdFsxXT1hKm5bMV0sdFsyXT1hKm5bMl0sdFszXT1lKm5bM10sdFs0XT1lKm5bNF0s
dFs1XT1lKm5bNV0sdFs2XT1uWzZdLHRbN109bls3XSx0WzhdPW5bOF0sdH1mdW5jdGlvbiBwKHQs
bil7cmV0dXJuIHRbMF09MSx0WzFdPTAsdFsyXT0wLHRbM109MCx0WzRdPTEsdFs1XT0wLHRbNl09
blswXSx0WzddPW5bMV0sdFs4XT0xLHR9ZnVuY3Rpb24gUCh0LG4pe3ZhciByPU1hdGguc2luKG4p
LGE9TWF0aC5jb3Mobik7cmV0dXJuIHRbMF09YSx0WzFdPXIsdFsyXT0wLHRbM109LXIsdFs0XT1h
LHRbNV09MCx0WzZdPTAsdFs3XT0wLHRbOF09MSx0fWZ1bmN0aW9uIEUodCxuKXtyZXR1cm4gdFsw
XT1uWzBdLHRbMV09MCx0WzJdPTAsdFszXT0wLHRbNF09blsxXSx0WzVdPTAsdFs2XT0wLHRbN109
MCx0WzhdPTEsdH1mdW5jdGlvbiBPKHQsbil7cmV0dXJuIHRbMF09blswXSx0WzFdPW5bMV0sdFsy
XT0wLHRbM109blsyXSx0WzRdPW5bM10sdFs1XT0wLHRbNl09bls0XSx0WzddPW5bNV0sdFs4XT0x
LHR9ZnVuY3Rpb24geCh0LG4pe3ZhciByPW5bMF0sYT1uWzFdLGU9blsyXSx1PW5bM10sbz1yK3Is
aT1hK2Escz1lK2UsYz1yKm8sZj1hKm8sTT1hKmksaD1lKm8sbD1lKmksdj1lKnMsZD11Km8sYj11
KmksbT11KnM7cmV0dXJuIHRbMF09MS1NLXYsdFszXT1mLW0sdFs2XT1oK2IsdFsxXT1mK20sdFs0
XT0xLWMtdix0WzddPWwtZCx0WzJdPWgtYix0WzVdPWwrZCx0WzhdPTEtYy1NLHR9ZnVuY3Rpb24g
QSh0LG4pe3ZhciByPW5bMF0sYT1uWzFdLGU9blsyXSx1PW5bM10sbz1uWzRdLGk9bls1XSxzPW5b
Nl0sYz1uWzddLGY9bls4XSxNPW5bOV0saD1uWzEwXSxsPW5bMTFdLHY9blsxMl0sZD1uWzEzXSxi
PW5bMTRdLG09blsxNV0scD1yKmktYSpvLFA9cipzLWUqbyxFPXIqYy11Km8sTz1hKnMtZSppLHg9
YSpjLXUqaSxBPWUqYy11KnMscT1mKmQtTSp2LHk9ZipiLWgqdix3PWYqbS1sKnYsUj1NKmItaCpk
LEw9TSptLWwqZCxTPWgqbS1sKmIsXz1wKlMtUCpMK0UqUitPKncteCp5K0EqcTtyZXR1cm4gXz8o
Xz0xL18sdFswXT0oaSpTLXMqTCtjKlIpKl8sdFsxXT0ocyp3LW8qUy1jKnkpKl8sdFsyXT0obypM
LWkqdytjKnEpKl8sdFszXT0oZSpMLWEqUy11KlIpKl8sdFs0XT0ocipTLWUqdyt1KnkpKl8sdFs1
XT0oYSp3LXIqTC11KnEpKl8sdFs2XT0oZCpBLWIqeCttKk8pKl8sdFs3XT0oYipFLXYqQS1tKlAp
Kl8sdFs4XT0odip4LWQqRSttKnApKl8sdCk6bnVsbH1mdW5jdGlvbiBxKHQsbixyKXtyZXR1cm4g
dFswXT0yL24sdFsxXT0wLHRbMl09MCx0WzNdPTAsdFs0XT0tMi9yLHRbNV09MCx0WzZdPS0xLHRb
N109MSx0WzhdPTEsdH1mdW5jdGlvbiB5KHQpe3JldHVybiJtYXQzKCIrdFswXSsiLCAiK3RbMV0r
IiwgIit0WzJdKyIsICIrdFszXSsiLCAiK3RbNF0rIiwgIit0WzVdKyIsICIrdFs2XSsiLCAiK3Rb
N10rIiwgIit0WzhdKyIpIn1mdW5jdGlvbiB3KHQpe3JldHVybiBNYXRoLnNxcnQoTWF0aC5wb3co
dFswXSwyKStNYXRoLnBvdyh0WzFdLDIpK01hdGgucG93KHRbMl0sMikrTWF0aC5wb3codFszXSwy
KStNYXRoLnBvdyh0WzRdLDIpK01hdGgucG93KHRbNV0sMikrTWF0aC5wb3codFs2XSwyKStNYXRo
LnBvdyh0WzddLDIpK01hdGgucG93KHRbOF0sMikpfWZ1bmN0aW9uIFIodCxuLHIpe3JldHVybiB0
WzBdPW5bMF0rclswXSx0WzFdPW5bMV0rclsxXSx0WzJdPW5bMl0rclsyXSx0WzNdPW5bM10rclsz
XSx0WzRdPW5bNF0rcls0XSx0WzVdPW5bNV0rcls1XSx0WzZdPW5bNl0rcls2XSx0WzddPW5bN10r
cls3XSx0WzhdPW5bOF0rcls4XSx0fWZ1bmN0aW9uIEwodCxuLHIpe3JldHVybiB0WzBdPW5bMF0t
clswXSx0WzFdPW5bMV0tclsxXSx0WzJdPW5bMl0tclsyXSx0WzNdPW5bM10tclszXSx0WzRdPW5b
NF0tcls0XSx0WzVdPW5bNV0tcls1XSx0WzZdPW5bNl0tcls2XSx0WzddPW5bN10tcls3XSx0Wzhd
PW5bOF0tcls4XSx0fWZ1bmN0aW9uIFModCxuLHIpe3JldHVybiB0WzBdPW5bMF0qcix0WzFdPW5b
MV0qcix0WzJdPW5bMl0qcix0WzNdPW5bM10qcix0WzRdPW5bNF0qcix0WzVdPW5bNV0qcix0WzZd
PW5bNl0qcix0WzddPW5bN10qcix0WzhdPW5bOF0qcix0fWZ1bmN0aW9uIF8odCxuLHIsYSl7cmV0
dXJuIHRbMF09blswXStyWzBdKmEsdFsxXT1uWzFdK3JbMV0qYSx0WzJdPW5bMl0rclsyXSphLHRb
M109blszXStyWzNdKmEsdFs0XT1uWzRdK3JbNF0qYSx0WzVdPW5bNV0rcls1XSphLHRbNl09bls2
XStyWzZdKmEsdFs3XT1uWzddK3JbN10qYSx0WzhdPW5bOF0rcls4XSphLHR9ZnVuY3Rpb24gSSh0
LG4pe3JldHVybiB0WzBdPT09blswXSYmdFsxXT09PW5bMV0mJnRbMl09PT1uWzJdJiZ0WzNdPT09
blszXSYmdFs0XT09PW5bNF0mJnRbNV09PT1uWzVdJiZ0WzZdPT09bls2XSYmdFs3XT09PW5bN10m
JnRbOF09PT1uWzhdfWZ1bmN0aW9uIE4odCxuKXt2YXIgcj10WzBdLGE9dFsxXSxlPXRbMl0sdT10
WzNdLG89dFs0XSxpPXRbNV0scz10WzZdLGM9dFs3XSxmPXRbOF0sTT1uWzBdLGg9blsxXSxsPW5b
Ml0sdj1uWzNdLGQ9bls0XSxiPW5bNV0sbT1uWzZdLHA9bls3XSxQPW5bOF07cmV0dXJuIE1hdGgu
YWJzKHItTSk8PWcuRVBTSUxPTipNYXRoLm1heCgxLE1hdGguYWJzKHIpLE1hdGguYWJzKE0pKSYm
TWF0aC5hYnMoYS1oKTw9Zy5FUFNJTE9OKk1hdGgubWF4KDEsTWF0aC5hYnMoYSksTWF0aC5hYnMo
aCkpJiZNYXRoLmFicyhlLWwpPD1nLkVQU0lMT04qTWF0aC5tYXgoMSxNYXRoLmFicyhlKSxNYXRo
LmFicyhsKSkmJk1hdGguYWJzKHUtdik8PWcuRVBTSUxPTipNYXRoLm1heCgxLE1hdGguYWJzKHUp
LE1hdGguYWJzKHYpKSYmTWF0aC5hYnMoby1kKTw9Zy5FUFNJTE9OKk1hdGgubWF4KDEsTWF0aC5h
YnMobyksTWF0aC5hYnMoZCkpJiZNYXRoLmFicyhpLWIpPD1nLkVQU0lMT04qTWF0aC5tYXgoMSxN
YXRoLmFicyhpKSxNYXRoLmFicyhiKSkmJk1hdGguYWJzKHMtbSk8PWcuRVBTSUxPTipNYXRoLm1h
eCgxLE1hdGguYWJzKHMpLE1hdGguYWJzKG0pKSYmTWF0aC5hYnMoYy1wKTw9Zy5FUFNJTE9OKk1h
dGgubWF4KDEsTWF0aC5hYnMoYyksTWF0aC5hYnMocCkpJiZNYXRoLmFicyhmLVApPD1nLkVQU0lM
T04qTWF0aC5tYXgoMSxNYXRoLmFicyhmKSxNYXRoLmFicyhQKSl9T2JqZWN0LmRlZmluZVByb3Bl
cnR5KG4sIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLG4uc3ViPW4ubXVsPXZvaWQgMCxuLmNyZWF0
ZT1hLG4uZnJvbU1hdDQ9ZSxuLmNsb25lPXUsbi5jb3B5PW8sbi5mcm9tVmFsdWVzPWksbi5zZXQ9
cyxuLmlkZW50aXR5PWMsbi50cmFuc3Bvc2U9ZixuLmludmVydD1NLG4uYWRqb2ludD1oLG4uZGV0
ZXJtaW5hbnQ9bCxuLm11bHRpcGx5PXYsbi50cmFuc2xhdGU9ZCxuLnJvdGF0ZT1iLG4uc2NhbGU9
bSxuLmZyb21UcmFuc2xhdGlvbj1wLG4uZnJvbVJvdGF0aW9uPVAsbi5mcm9tU2NhbGluZz1FLG4u
ZnJvbU1hdDJkPU8sbi5mcm9tUXVhdD14LG4ubm9ybWFsRnJvbU1hdDQ9QSxuLnByb2plY3Rpb249
cSxuLnN0cj15LG4uZnJvYj13LG4uYWRkPVIsbi5zdWJ0cmFjdD1MLG4ubXVsdGlwbHlTY2FsYXI9
UyxuLm11bHRpcGx5U2NhbGFyQW5kQWRkPV8sbi5leGFjdEVxdWFscz1JLG4uZXF1YWxzPU47dmFy
IFk9cigwKSxnPWZ1bmN0aW9uKHQpe2lmKHQmJnQuX19lc01vZHVsZSlyZXR1cm4gdDt2YXIgbj17
fTtpZihudWxsIT10KWZvcih2YXIgciBpbiB0KU9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVy
dHkuY2FsbCh0LHIpJiYobltyXT10W3JdKTtyZXR1cm4gbi5kZWZhdWx0PXQsbn0oWSk7bi5tdWw9
dixuLnN1Yj1MfSxmdW5jdGlvbih0LG4scil7InVzZSBzdHJpY3QiO2Z1bmN0aW9uIGEoKXt2YXIg
dD1uZXcgWi5BUlJBWV9UWVBFKDMpO3JldHVybiB0WzBdPTAsdFsxXT0wLHRbMl09MCx0fWZ1bmN0
aW9uIGUodCl7dmFyIG49bmV3IFouQVJSQVlfVFlQRSgzKTtyZXR1cm4gblswXT10WzBdLG5bMV09
dFsxXSxuWzJdPXRbMl0sbn1mdW5jdGlvbiB1KHQpe3ZhciBuPXRbMF0scj10WzFdLGE9dFsyXTty
ZXR1cm4gTWF0aC5zcXJ0KG4qbityKnIrYSphKX1mdW5jdGlvbiBvKHQsbixyKXt2YXIgYT1uZXcg
Wi5BUlJBWV9UWVBFKDMpO3JldHVybiBhWzBdPXQsYVsxXT1uLGFbMl09cixhfWZ1bmN0aW9uIGko
dCxuKXtyZXR1cm4gdFswXT1uWzBdLHRbMV09blsxXSx0WzJdPW5bMl0sdH1mdW5jdGlvbiBzKHQs
bixyLGEpe3JldHVybiB0WzBdPW4sdFsxXT1yLHRbMl09YSx0fWZ1bmN0aW9uIGModCxuLHIpe3Jl
dHVybiB0WzBdPW5bMF0rclswXSx0WzFdPW5bMV0rclsxXSx0WzJdPW5bMl0rclsyXSx0fWZ1bmN0
aW9uIGYodCxuLHIpe3JldHVybiB0WzBdPW5bMF0tclswXSx0WzFdPW5bMV0tclsxXSx0WzJdPW5b
Ml0tclsyXSx0fWZ1bmN0aW9uIE0odCxuLHIpe3JldHVybiB0WzBdPW5bMF0qclswXSx0WzFdPW5b
MV0qclsxXSx0WzJdPW5bMl0qclsyXSx0fWZ1bmN0aW9uIGgodCxuLHIpe3JldHVybiB0WzBdPW5b
MF0vclswXSx0WzFdPW5bMV0vclsxXSx0WzJdPW5bMl0vclsyXSx0fWZ1bmN0aW9uIGwodCxuKXty
ZXR1cm4gdFswXT1NYXRoLmNlaWwoblswXSksdFsxXT1NYXRoLmNlaWwoblsxXSksdFsyXT1NYXRo
LmNlaWwoblsyXSksdH1mdW5jdGlvbiB2KHQsbil7cmV0dXJuIHRbMF09TWF0aC5mbG9vcihuWzBd
KSx0WzFdPU1hdGguZmxvb3IoblsxXSksdFsyXT1NYXRoLmZsb29yKG5bMl0pLHR9ZnVuY3Rpb24g
ZCh0LG4scil7cmV0dXJuIHRbMF09TWF0aC5taW4oblswXSxyWzBdKSx0WzFdPU1hdGgubWluKG5b
MV0sclsxXSksdFsyXT1NYXRoLm1pbihuWzJdLHJbMl0pLHR9ZnVuY3Rpb24gYih0LG4scil7cmV0
dXJuIHRbMF09TWF0aC5tYXgoblswXSxyWzBdKSx0WzFdPU1hdGgubWF4KG5bMV0sclsxXSksdFsy
XT1NYXRoLm1heChuWzJdLHJbMl0pLHR9ZnVuY3Rpb24gbSh0LG4pe3JldHVybiB0WzBdPU1hdGgu
cm91bmQoblswXSksdFsxXT1NYXRoLnJvdW5kKG5bMV0pLHRbMl09TWF0aC5yb3VuZChuWzJdKSx0
fWZ1bmN0aW9uIHAodCxuLHIpe3JldHVybiB0WzBdPW5bMF0qcix0WzFdPW5bMV0qcix0WzJdPW5b
Ml0qcix0fWZ1bmN0aW9uIFAodCxuLHIsYSl7cmV0dXJuIHRbMF09blswXStyWzBdKmEsdFsxXT1u
WzFdK3JbMV0qYSx0WzJdPW5bMl0rclsyXSphLHR9ZnVuY3Rpb24gRSh0LG4pe3ZhciByPW5bMF0t
dFswXSxhPW5bMV0tdFsxXSxlPW5bMl0tdFsyXTtyZXR1cm4gTWF0aC5zcXJ0KHIqcithKmErZSpl
KX1mdW5jdGlvbiBPKHQsbil7dmFyIHI9blswXS10WzBdLGE9blsxXS10WzFdLGU9blsyXS10WzJd
O3JldHVybiByKnIrYSphK2UqZX1mdW5jdGlvbiB4KHQpe3ZhciBuPXRbMF0scj10WzFdLGE9dFsy
XTtyZXR1cm4gbipuK3IqcithKmF9ZnVuY3Rpb24gQSh0LG4pe3JldHVybiB0WzBdPS1uWzBdLHRb
MV09LW5bMV0sdFsyXT0tblsyXSx0fWZ1bmN0aW9uIHEodCxuKXtyZXR1cm4gdFswXT0xL25bMF0s
dFsxXT0xL25bMV0sdFsyXT0xL25bMl0sdH1mdW5jdGlvbiB5KHQsbil7dmFyIHI9blswXSxhPW5b
MV0sZT1uWzJdLHU9cipyK2EqYStlKmU7cmV0dXJuIHU+MCYmKHU9MS9NYXRoLnNxcnQodSksdFsw
XT1uWzBdKnUsdFsxXT1uWzFdKnUsdFsyXT1uWzJdKnUpLHR9ZnVuY3Rpb24gdyh0LG4pe3JldHVy
biB0WzBdKm5bMF0rdFsxXSpuWzFdK3RbMl0qblsyXX1mdW5jdGlvbiBSKHQsbixyKXt2YXIgYT1u
WzBdLGU9blsxXSx1PW5bMl0sbz1yWzBdLGk9clsxXSxzPXJbMl07cmV0dXJuIHRbMF09ZSpzLXUq
aSx0WzFdPXUqby1hKnMsdFsyXT1hKmktZSpvLHR9ZnVuY3Rpb24gTCh0LG4scixhKXt2YXIgZT1u
WzBdLHU9blsxXSxvPW5bMl07cmV0dXJuIHRbMF09ZSthKihyWzBdLWUpLHRbMV09dSthKihyWzFd
LXUpLHRbMl09bythKihyWzJdLW8pLHR9ZnVuY3Rpb24gUyh0LG4scixhLGUsdSl7dmFyIG89dSp1
LGk9byooMip1LTMpKzEscz1vKih1LTIpK3UsYz1vKih1LTEpLGY9byooMy0yKnUpO3JldHVybiB0
WzBdPW5bMF0qaStyWzBdKnMrYVswXSpjK2VbMF0qZix0WzFdPW5bMV0qaStyWzFdKnMrYVsxXSpj
K2VbMV0qZix0WzJdPW5bMl0qaStyWzJdKnMrYVsyXSpjK2VbMl0qZix0fWZ1bmN0aW9uIF8odCxu
LHIsYSxlLHUpe3ZhciBvPTEtdSxpPW8qbyxzPXUqdSxjPWkqbyxmPTMqdSppLE09MypzKm8saD1z
KnU7cmV0dXJuIHRbMF09blswXSpjK3JbMF0qZithWzBdKk0rZVswXSpoLHRbMV09blsxXSpjK3Jb
MV0qZithWzFdKk0rZVsxXSpoLHRbMl09blsyXSpjK3JbMl0qZithWzJdKk0rZVsyXSpoLHR9ZnVu
Y3Rpb24gSSh0LG4pe249bnx8MTt2YXIgcj0yKlouUkFORE9NKCkqTWF0aC5QSSxhPTIqWi5SQU5E
T00oKS0xLGU9TWF0aC5zcXJ0KDEtYSphKSpuO3JldHVybiB0WzBdPU1hdGguY29zKHIpKmUsdFsx
XT1NYXRoLnNpbihyKSplLHRbMl09YSpuLHR9ZnVuY3Rpb24gTih0LG4scil7dmFyIGE9blswXSxl
PW5bMV0sdT1uWzJdLG89clszXSphK3JbN10qZStyWzExXSp1K3JbMTVdO3JldHVybiBvPW98fDEs
dFswXT0oclswXSphK3JbNF0qZStyWzhdKnUrclsxMl0pL28sdFsxXT0oclsxXSphK3JbNV0qZSty
WzldKnUrclsxM10pL28sdFsyXT0oclsyXSphK3JbNl0qZStyWzEwXSp1K3JbMTRdKS9vLHR9ZnVu
Y3Rpb24gWSh0LG4scil7dmFyIGE9blswXSxlPW5bMV0sdT1uWzJdO3JldHVybiB0WzBdPWEqclsw
XStlKnJbM10rdSpyWzZdLHRbMV09YSpyWzFdK2Uqcls0XSt1KnJbN10sdFsyXT1hKnJbMl0rZSpy
WzVdK3Uqcls4XSx0fWZ1bmN0aW9uIGcodCxuLHIpe3ZhciBhPW5bMF0sZT1uWzFdLHU9blsyXSxv
PXJbMF0saT1yWzFdLHM9clsyXSxjPXJbM10sZj1jKmEraSp1LXMqZSxNPWMqZStzKmEtbyp1LGg9
Yyp1K28qZS1pKmEsbD0tbyphLWkqZS1zKnU7cmV0dXJuIHRbMF09ZipjK2wqLW8rTSotcy1oKi1p
LHRbMV09TSpjK2wqLWkraCotby1mKi1zLHRbMl09aCpjK2wqLXMrZiotaS1NKi1vLHR9ZnVuY3Rp
b24gVCh0LG4scixhKXt2YXIgZT1bXSx1PVtdO3JldHVybiBlWzBdPW5bMF0tclswXSxlWzFdPW5b
MV0tclsxXSxlWzJdPW5bMl0tclsyXSx1WzBdPWVbMF0sdVsxXT1lWzFdKk1hdGguY29zKGEpLWVb
Ml0qTWF0aC5zaW4oYSksdVsyXT1lWzFdKk1hdGguc2luKGEpK2VbMl0qTWF0aC5jb3MoYSksdFsw
XT11WzBdK3JbMF0sdFsxXT11WzFdK3JbMV0sdFsyXT11WzJdK3JbMl0sdH1mdW5jdGlvbiBqKHQs
bixyLGEpe3ZhciBlPVtdLHU9W107cmV0dXJuIGVbMF09blswXS1yWzBdLGVbMV09blsxXS1yWzFd
LGVbMl09blsyXS1yWzJdLHVbMF09ZVsyXSpNYXRoLnNpbihhKStlWzBdKk1hdGguY29zKGEpLHVb
MV09ZVsxXSx1WzJdPWVbMl0qTWF0aC5jb3MoYSktZVswXSpNYXRoLnNpbihhKSx0WzBdPXVbMF0r
clswXSx0WzFdPXVbMV0rclsxXSx0WzJdPXVbMl0rclsyXSx0fWZ1bmN0aW9uIEQodCxuLHIsYSl7
dmFyIGU9W10sdT1bXTtyZXR1cm4gZVswXT1uWzBdLXJbMF0sZVsxXT1uWzFdLXJbMV0sZVsyXT1u
WzJdLXJbMl0sdVswXT1lWzBdKk1hdGguY29zKGEpLWVbMV0qTWF0aC5zaW4oYSksdVsxXT1lWzBd
Kk1hdGguc2luKGEpK2VbMV0qTWF0aC5jb3MoYSksdVsyXT1lWzJdLHRbMF09dVswXStyWzBdLHRb
MV09dVsxXStyWzFdLHRbMl09dVsyXStyWzJdLHR9ZnVuY3Rpb24gVih0LG4pe3ZhciByPW8odFsw
XSx0WzFdLHRbMl0pLGE9byhuWzBdLG5bMV0sblsyXSk7eShyLHIpLHkoYSxhKTt2YXIgZT13KHIs
YSk7cmV0dXJuIGU+MT8wOmU8LTE/TWF0aC5QSTpNYXRoLmFjb3MoZSl9ZnVuY3Rpb24geih0KXty
ZXR1cm4idmVjMygiK3RbMF0rIiwgIit0WzFdKyIsICIrdFsyXSsiKSJ9ZnVuY3Rpb24gRih0LG4p
e3JldHVybiB0WzBdPT09blswXSYmdFsxXT09PW5bMV0mJnRbMl09PT1uWzJdfWZ1bmN0aW9uIFEo
dCxuKXt2YXIgcj10WzBdLGE9dFsxXSxlPXRbMl0sdT1uWzBdLG89blsxXSxpPW5bMl07cmV0dXJu
IE1hdGguYWJzKHItdSk8PVouRVBTSUxPTipNYXRoLm1heCgxLE1hdGguYWJzKHIpLE1hdGguYWJz
KHUpKSYmTWF0aC5hYnMoYS1vKTw9Wi5FUFNJTE9OKk1hdGgubWF4KDEsTWF0aC5hYnMoYSksTWF0
aC5hYnMobykpJiZNYXRoLmFicyhlLWkpPD1aLkVQU0lMT04qTWF0aC5tYXgoMSxNYXRoLmFicyhl
KSxNYXRoLmFicyhpKSl9T2JqZWN0LmRlZmluZVByb3BlcnR5KG4sIl9fZXNNb2R1bGUiLHt2YWx1
ZTohMH0pLG4uZm9yRWFjaD1uLnNxckxlbj1uLmxlbj1uLnNxckRpc3Q9bi5kaXN0PW4uZGl2PW4u
bXVsPW4uc3ViPXZvaWQgMCxuLmNyZWF0ZT1hLG4uY2xvbmU9ZSxuLmxlbmd0aD11LG4uZnJvbVZh
bHVlcz1vLG4uY29weT1pLG4uc2V0PXMsbi5hZGQ9YyxuLnN1YnRyYWN0PWYsbi5tdWx0aXBseT1N
LG4uZGl2aWRlPWgsbi5jZWlsPWwsbi5mbG9vcj12LG4ubWluPWQsbi5tYXg9YixuLnJvdW5kPW0s
bi5zY2FsZT1wLG4uc2NhbGVBbmRBZGQ9UCxuLmRpc3RhbmNlPUUsbi5zcXVhcmVkRGlzdGFuY2U9
TyxuLnNxdWFyZWRMZW5ndGg9eCxuLm5lZ2F0ZT1BLG4uaW52ZXJzZT1xLG4ubm9ybWFsaXplPXks
bi5kb3Q9dyxuLmNyb3NzPVIsbi5sZXJwPUwsbi5oZXJtaXRlPVMsbi5iZXppZXI9XyxuLnJhbmRv
bT1JLG4udHJhbnNmb3JtTWF0ND1OLG4udHJhbnNmb3JtTWF0Mz1ZLG4udHJhbnNmb3JtUXVhdD1n
LG4ucm90YXRlWD1ULG4ucm90YXRlWT1qLG4ucm90YXRlWj1ELG4uYW5nbGU9VixuLnN0cj16LG4u
ZXhhY3RFcXVhbHM9RixuLmVxdWFscz1RO3ZhciBYPXIoMCksWj1mdW5jdGlvbih0KXtpZih0JiZ0
Ll9fZXNNb2R1bGUpcmV0dXJuIHQ7dmFyIG49e307aWYobnVsbCE9dClmb3IodmFyIHIgaW4gdClP
YmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwodCxyKSYmKG5bcl09dFtyXSk7cmV0
dXJuIG4uZGVmYXVsdD10LG59KFgpO24uc3ViPWYsbi5tdWw9TSxuLmRpdj1oLG4uZGlzdD1FLG4u
c3FyRGlzdD1PLG4ubGVuPXUsbi5zcXJMZW49eCxuLmZvckVhY2g9ZnVuY3Rpb24oKXt2YXIgdD1h
KCk7cmV0dXJuIGZ1bmN0aW9uKG4scixhLGUsdSxvKXt2YXIgaT12b2lkIDAscz12b2lkIDA7Zm9y
KHJ8fChyPTMpLGF8fChhPTApLHM9ZT9NYXRoLm1pbihlKnIrYSxuLmxlbmd0aCk6bi5sZW5ndGgs
aT1hO2k8cztpKz1yKXRbMF09bltpXSx0WzFdPW5baSsxXSx0WzJdPW5baSsyXSx1KHQsdCxvKSxu
W2ldPXRbMF0sbltpKzFdPXRbMV0sbltpKzJdPXRbMl07cmV0dXJuIG59fSgpfSxmdW5jdGlvbih0
LG4scil7InVzZSBzdHJpY3QiO2Z1bmN0aW9uIGEoKXt2YXIgdD1uZXcgVC5BUlJBWV9UWVBFKDQp
O3JldHVybiB0WzBdPTAsdFsxXT0wLHRbMl09MCx0WzNdPTAsdH1mdW5jdGlvbiBlKHQpe3ZhciBu
PW5ldyBULkFSUkFZX1RZUEUoNCk7cmV0dXJuIG5bMF09dFswXSxuWzFdPXRbMV0sblsyXT10WzJd
LG5bM109dFszXSxufWZ1bmN0aW9uIHUodCxuLHIsYSl7dmFyIGU9bmV3IFQuQVJSQVlfVFlQRSg0
KTtyZXR1cm4gZVswXT10LGVbMV09bixlWzJdPXIsZVszXT1hLGV9ZnVuY3Rpb24gbyh0LG4pe3Jl
dHVybiB0WzBdPW5bMF0sdFsxXT1uWzFdLHRbMl09blsyXSx0WzNdPW5bM10sdH1mdW5jdGlvbiBp
KHQsbixyLGEsZSl7cmV0dXJuIHRbMF09bix0WzFdPXIsdFsyXT1hLHRbM109ZSx0fWZ1bmN0aW9u
IHModCxuLHIpe3JldHVybiB0WzBdPW5bMF0rclswXSx0WzFdPW5bMV0rclsxXSx0WzJdPW5bMl0r
clsyXSx0WzNdPW5bM10rclszXSx0fWZ1bmN0aW9uIGModCxuLHIpe3JldHVybiB0WzBdPW5bMF0t
clswXSx0WzFdPW5bMV0tclsxXSx0WzJdPW5bMl0tclsyXSx0WzNdPW5bM10tclszXSx0fWZ1bmN0
aW9uIGYodCxuLHIpe3JldHVybiB0WzBdPW5bMF0qclswXSx0WzFdPW5bMV0qclsxXSx0WzJdPW5b
Ml0qclsyXSx0WzNdPW5bM10qclszXSx0fWZ1bmN0aW9uIE0odCxuLHIpe3JldHVybiB0WzBdPW5b
MF0vclswXSx0WzFdPW5bMV0vclsxXSx0WzJdPW5bMl0vclsyXSx0WzNdPW5bM10vclszXSx0fWZ1
bmN0aW9uIGgodCxuKXtyZXR1cm4gdFswXT1NYXRoLmNlaWwoblswXSksdFsxXT1NYXRoLmNlaWwo
blsxXSksdFsyXT1NYXRoLmNlaWwoblsyXSksdFszXT1NYXRoLmNlaWwoblszXSksdH1mdW5jdGlv
biBsKHQsbil7cmV0dXJuIHRbMF09TWF0aC5mbG9vcihuWzBdKSx0WzFdPU1hdGguZmxvb3Ioblsx
XSksdFsyXT1NYXRoLmZsb29yKG5bMl0pLHRbM109TWF0aC5mbG9vcihuWzNdKSx0fWZ1bmN0aW9u
IHYodCxuLHIpe3JldHVybiB0WzBdPU1hdGgubWluKG5bMF0sclswXSksdFsxXT1NYXRoLm1pbihu
WzFdLHJbMV0pLHRbMl09TWF0aC5taW4oblsyXSxyWzJdKSx0WzNdPU1hdGgubWluKG5bM10sclsz
XSksdH1mdW5jdGlvbiBkKHQsbixyKXtyZXR1cm4gdFswXT1NYXRoLm1heChuWzBdLHJbMF0pLHRb
MV09TWF0aC5tYXgoblsxXSxyWzFdKSx0WzJdPU1hdGgubWF4KG5bMl0sclsyXSksdFszXT1NYXRo
Lm1heChuWzNdLHJbM10pLHR9ZnVuY3Rpb24gYih0LG4pe3JldHVybiB0WzBdPU1hdGgucm91bmQo
blswXSksdFsxXT1NYXRoLnJvdW5kKG5bMV0pLHRbMl09TWF0aC5yb3VuZChuWzJdKSx0WzNdPU1h
dGgucm91bmQoblszXSksdH1mdW5jdGlvbiBtKHQsbixyKXtyZXR1cm4gdFswXT1uWzBdKnIsdFsx
XT1uWzFdKnIsdFsyXT1uWzJdKnIsdFszXT1uWzNdKnIsdH1mdW5jdGlvbiBwKHQsbixyLGEpe3Jl
dHVybiB0WzBdPW5bMF0rclswXSphLHRbMV09blsxXStyWzFdKmEsdFsyXT1uWzJdK3JbMl0qYSx0
WzNdPW5bM10rclszXSphLHR9ZnVuY3Rpb24gUCh0LG4pe3ZhciByPW5bMF0tdFswXSxhPW5bMV0t
dFsxXSxlPW5bMl0tdFsyXSx1PW5bM10tdFszXTtyZXR1cm4gTWF0aC5zcXJ0KHIqcithKmErZSpl
K3UqdSl9ZnVuY3Rpb24gRSh0LG4pe3ZhciByPW5bMF0tdFswXSxhPW5bMV0tdFsxXSxlPW5bMl0t
dFsyXSx1PW5bM10tdFszXTtyZXR1cm4gcipyK2EqYStlKmUrdSp1fWZ1bmN0aW9uIE8odCl7dmFy
IG49dFswXSxyPXRbMV0sYT10WzJdLGU9dFszXTtyZXR1cm4gTWF0aC5zcXJ0KG4qbityKnIrYSph
K2UqZSl9ZnVuY3Rpb24geCh0KXt2YXIgbj10WzBdLHI9dFsxXSxhPXRbMl0sZT10WzNdO3JldHVy
biBuKm4rcipyK2EqYStlKmV9ZnVuY3Rpb24gQSh0LG4pe3JldHVybiB0WzBdPS1uWzBdLHRbMV09
LW5bMV0sdFsyXT0tblsyXSx0WzNdPS1uWzNdLHR9ZnVuY3Rpb24gcSh0LG4pe3JldHVybiB0WzBd
PTEvblswXSx0WzFdPTEvblsxXSx0WzJdPTEvblsyXSx0WzNdPTEvblszXSx0fWZ1bmN0aW9uIHko
dCxuKXt2YXIgcj1uWzBdLGE9blsxXSxlPW5bMl0sdT1uWzNdLG89cipyK2EqYStlKmUrdSp1O3Jl
dHVybiBvPjAmJihvPTEvTWF0aC5zcXJ0KG8pLHRbMF09cipvLHRbMV09YSpvLHRbMl09ZSpvLHRb
M109dSpvKSx0fWZ1bmN0aW9uIHcodCxuKXtyZXR1cm4gdFswXSpuWzBdK3RbMV0qblsxXSt0WzJd
Km5bMl0rdFszXSpuWzNdfWZ1bmN0aW9uIFIodCxuLHIsYSl7dmFyIGU9blswXSx1PW5bMV0sbz1u
WzJdLGk9blszXTtyZXR1cm4gdFswXT1lK2EqKHJbMF0tZSksdFsxXT11K2EqKHJbMV0tdSksdFsy
XT1vK2EqKHJbMl0tbyksdFszXT1pK2EqKHJbM10taSksdH1mdW5jdGlvbiBMKHQsbil7cmV0dXJu
IG49bnx8MSx0WzBdPVQuUkFORE9NKCksdFsxXT1ULlJBTkRPTSgpLHRbMl09VC5SQU5ET00oKSx0
WzNdPVQuUkFORE9NKCkseSh0LHQpLG0odCx0LG4pLHR9ZnVuY3Rpb24gUyh0LG4scil7dmFyIGE9
blswXSxlPW5bMV0sdT1uWzJdLG89blszXTtyZXR1cm4gdFswXT1yWzBdKmErcls0XSplK3JbOF0q
dStyWzEyXSpvLHRbMV09clsxXSphK3JbNV0qZStyWzldKnUrclsxM10qbyx0WzJdPXJbMl0qYSty
WzZdKmUrclsxMF0qdStyWzE0XSpvLHRbM109clszXSphK3JbN10qZStyWzExXSp1K3JbMTVdKm8s
dH1mdW5jdGlvbiBfKHQsbixyKXt2YXIgYT1uWzBdLGU9blsxXSx1PW5bMl0sbz1yWzBdLGk9clsx
XSxzPXJbMl0sYz1yWzNdLGY9YyphK2kqdS1zKmUsTT1jKmUrcyphLW8qdSxoPWMqdStvKmUtaSph
LGw9LW8qYS1pKmUtcyp1O3JldHVybiB0WzBdPWYqYytsKi1vK00qLXMtaCotaSx0WzFdPU0qYyts
Ki1pK2gqLW8tZiotcyx0WzJdPWgqYytsKi1zK2YqLWktTSotbyx0WzNdPW5bM10sdH1mdW5jdGlv
biBJKHQpe3JldHVybiJ2ZWM0KCIrdFswXSsiLCAiK3RbMV0rIiwgIit0WzJdKyIsICIrdFszXSsi
KSJ9ZnVuY3Rpb24gTih0LG4pe3JldHVybiB0WzBdPT09blswXSYmdFsxXT09PW5bMV0mJnRbMl09
PT1uWzJdJiZ0WzNdPT09blszXX1mdW5jdGlvbiBZKHQsbil7dmFyIHI9dFswXSxhPXRbMV0sZT10
WzJdLHU9dFszXSxvPW5bMF0saT1uWzFdLHM9blsyXSxjPW5bM107cmV0dXJuIE1hdGguYWJzKHIt
byk8PVQuRVBTSUxPTipNYXRoLm1heCgxLE1hdGguYWJzKHIpLE1hdGguYWJzKG8pKSYmTWF0aC5h
YnMoYS1pKTw9VC5FUFNJTE9OKk1hdGgubWF4KDEsTWF0aC5hYnMoYSksTWF0aC5hYnMoaSkpJiZN
YXRoLmFicyhlLXMpPD1ULkVQU0lMT04qTWF0aC5tYXgoMSxNYXRoLmFicyhlKSxNYXRoLmFicyhz
KSkmJk1hdGguYWJzKHUtYyk8PVQuRVBTSUxPTipNYXRoLm1heCgxLE1hdGguYWJzKHUpLE1hdGgu
YWJzKGMpKX1PYmplY3QuZGVmaW5lUHJvcGVydHkobiwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSks
bi5mb3JFYWNoPW4uc3FyTGVuPW4ubGVuPW4uc3FyRGlzdD1uLmRpc3Q9bi5kaXY9bi5tdWw9bi5z
dWI9dm9pZCAwLG4uY3JlYXRlPWEsbi5jbG9uZT1lLG4uZnJvbVZhbHVlcz11LG4uY29weT1vLG4u
c2V0PWksbi5hZGQ9cyxuLnN1YnRyYWN0PWMsbi5tdWx0aXBseT1mLG4uZGl2aWRlPU0sbi5jZWls
PWgsbi5mbG9vcj1sLG4ubWluPXYsbi5tYXg9ZCxuLnJvdW5kPWIsbi5zY2FsZT1tLG4uc2NhbGVB
bmRBZGQ9cCxuLmRpc3RhbmNlPVAsbi5zcXVhcmVkRGlzdGFuY2U9RSxuLmxlbmd0aD1PLG4uc3F1
YXJlZExlbmd0aD14LG4ubmVnYXRlPUEsbi5pbnZlcnNlPXEsbi5ub3JtYWxpemU9eSxuLmRvdD13
LG4ubGVycD1SLG4ucmFuZG9tPUwsbi50cmFuc2Zvcm1NYXQ0PVMsbi50cmFuc2Zvcm1RdWF0PV8s
bi5zdHI9SSxuLmV4YWN0RXF1YWxzPU4sbi5lcXVhbHM9WTt2YXIgZz1yKDApLFQ9ZnVuY3Rpb24o
dCl7aWYodCYmdC5fX2VzTW9kdWxlKXJldHVybiB0O3ZhciBuPXt9O2lmKG51bGwhPXQpZm9yKHZh
ciByIGluIHQpT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKHQscikmJihuW3Jd
PXRbcl0pO3JldHVybiBuLmRlZmF1bHQ9dCxufShnKTtuLnN1Yj1jLG4ubXVsPWYsbi5kaXY9TSxu
LmRpc3Q9UCxuLnNxckRpc3Q9RSxuLmxlbj1PLG4uc3FyTGVuPXgsbi5mb3JFYWNoPWZ1bmN0aW9u
KCl7dmFyIHQ9YSgpO3JldHVybiBmdW5jdGlvbihuLHIsYSxlLHUsbyl7dmFyIGk9dm9pZCAwLHM9
dm9pZCAwO2ZvcihyfHwocj00KSxhfHwoYT0wKSxzPWU/TWF0aC5taW4oZSpyK2Esbi5sZW5ndGgp
Om4ubGVuZ3RoLGk9YTtpPHM7aSs9cil0WzBdPW5baV0sdFsxXT1uW2krMV0sdFsyXT1uW2krMl0s
dFszXT1uW2krM10sdSh0LHQsbyksbltpXT10WzBdLG5baSsxXT10WzFdLG5baSsyXT10WzJdLG5b
aSszXT10WzNdO3JldHVybiBufX0oKX0sZnVuY3Rpb24odCxuLHIpeyJ1c2Ugc3RyaWN0IjtmdW5j
dGlvbiBhKHQpe2lmKHQmJnQuX19lc01vZHVsZSlyZXR1cm4gdDt2YXIgbj17fTtpZihudWxsIT10
KWZvcih2YXIgciBpbiB0KU9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbCh0LHIp
JiYobltyXT10W3JdKTtyZXR1cm4gbi5kZWZhdWx0PXQsbn1PYmplY3QuZGVmaW5lUHJvcGVydHko
biwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksbi52ZWM0PW4udmVjMz1uLnZlYzI9bi5xdWF0PW4u
bWF0ND1uLm1hdDM9bi5tYXQyZD1uLm1hdDI9bi5nbE1hdHJpeD12b2lkIDA7dmFyIGU9cigwKSx1
PWEoZSksbz1yKDUpLGk9YShvKSxzPXIoNiksYz1hKHMpLGY9cigxKSxNPWEoZiksaD1yKDcpLGw9
YShoKSx2PXIoOCksZD1hKHYpLGI9cig5KSxtPWEoYikscD1yKDIpLFA9YShwKSxFPXIoMyksTz1h
KEUpO24uZ2xNYXRyaXg9dSxuLm1hdDI9aSxuLm1hdDJkPWMsbi5tYXQzPU0sbi5tYXQ0PWwsbi5x
dWF0PWQsbi52ZWMyPW0sbi52ZWMzPVAsbi52ZWM0PU99LGZ1bmN0aW9uKHQsbixyKXsidXNlIHN0
cmljdCI7ZnVuY3Rpb24gYSgpe3ZhciB0PW5ldyBMLkFSUkFZX1RZUEUoNCk7cmV0dXJuIHRbMF09
MSx0WzFdPTAsdFsyXT0wLHRbM109MSx0fWZ1bmN0aW9uIGUodCl7dmFyIG49bmV3IEwuQVJSQVlf
VFlQRSg0KTtyZXR1cm4gblswXT10WzBdLG5bMV09dFsxXSxuWzJdPXRbMl0sblszXT10WzNdLG59
ZnVuY3Rpb24gdSh0LG4pe3JldHVybiB0WzBdPW5bMF0sdFsxXT1uWzFdLHRbMl09blsyXSx0WzNd
PW5bM10sdH1mdW5jdGlvbiBvKHQpe3JldHVybiB0WzBdPTEsdFsxXT0wLHRbMl09MCx0WzNdPTEs
dH1mdW5jdGlvbiBpKHQsbixyLGEpe3ZhciBlPW5ldyBMLkFSUkFZX1RZUEUoNCk7cmV0dXJuIGVb
MF09dCxlWzFdPW4sZVsyXT1yLGVbM109YSxlfWZ1bmN0aW9uIHModCxuLHIsYSxlKXtyZXR1cm4g
dFswXT1uLHRbMV09cix0WzJdPWEsdFszXT1lLHR9ZnVuY3Rpb24gYyh0LG4pe2lmKHQ9PT1uKXt2
YXIgcj1uWzFdO3RbMV09blsyXSx0WzJdPXJ9ZWxzZSB0WzBdPW5bMF0sdFsxXT1uWzJdLHRbMl09
blsxXSx0WzNdPW5bM107cmV0dXJuIHR9ZnVuY3Rpb24gZih0LG4pe3ZhciByPW5bMF0sYT1uWzFd
LGU9blsyXSx1PW5bM10sbz1yKnUtZSphO3JldHVybiBvPyhvPTEvbyx0WzBdPXUqbyx0WzFdPS1h
Km8sdFsyXT0tZSpvLHRbM109cipvLHQpOm51bGx9ZnVuY3Rpb24gTSh0LG4pe3ZhciByPW5bMF07
cmV0dXJuIHRbMF09blszXSx0WzFdPS1uWzFdLHRbMl09LW5bMl0sdFszXT1yLHR9ZnVuY3Rpb24g
aCh0KXtyZXR1cm4gdFswXSp0WzNdLXRbMl0qdFsxXX1mdW5jdGlvbiBsKHQsbixyKXt2YXIgYT1u
WzBdLGU9blsxXSx1PW5bMl0sbz1uWzNdLGk9clswXSxzPXJbMV0sYz1yWzJdLGY9clszXTtyZXR1
cm4gdFswXT1hKmkrdSpzLHRbMV09ZSppK28qcyx0WzJdPWEqYyt1KmYsdFszXT1lKmMrbypmLHR9
ZnVuY3Rpb24gdih0LG4scil7dmFyIGE9blswXSxlPW5bMV0sdT1uWzJdLG89blszXSxpPU1hdGgu
c2luKHIpLHM9TWF0aC5jb3Mocik7cmV0dXJuIHRbMF09YSpzK3UqaSx0WzFdPWUqcytvKmksdFsy
XT1hKi1pK3Uqcyx0WzNdPWUqLWkrbypzLHR9ZnVuY3Rpb24gZCh0LG4scil7dmFyIGE9blswXSxl
PW5bMV0sdT1uWzJdLG89blszXSxpPXJbMF0scz1yWzFdO3JldHVybiB0WzBdPWEqaSx0WzFdPWUq
aSx0WzJdPXUqcyx0WzNdPW8qcyx0fWZ1bmN0aW9uIGIodCxuKXt2YXIgcj1NYXRoLnNpbihuKSxh
PU1hdGguY29zKG4pO3JldHVybiB0WzBdPWEsdFsxXT1yLHRbMl09LXIsdFszXT1hLHR9ZnVuY3Rp
b24gbSh0LG4pe3JldHVybiB0WzBdPW5bMF0sdFsxXT0wLHRbMl09MCx0WzNdPW5bMV0sdH1mdW5j
dGlvbiBwKHQpe3JldHVybiJtYXQyKCIrdFswXSsiLCAiK3RbMV0rIiwgIit0WzJdKyIsICIrdFsz
XSsiKSJ9ZnVuY3Rpb24gUCh0KXtyZXR1cm4gTWF0aC5zcXJ0KE1hdGgucG93KHRbMF0sMikrTWF0
aC5wb3codFsxXSwyKStNYXRoLnBvdyh0WzJdLDIpK01hdGgucG93KHRbM10sMikpfWZ1bmN0aW9u
IEUodCxuLHIsYSl7cmV0dXJuIHRbMl09YVsyXS9hWzBdLHJbMF09YVswXSxyWzFdPWFbMV0sclsz
XT1hWzNdLXRbMl0qclsxXSxbdCxuLHJdfWZ1bmN0aW9uIE8odCxuLHIpe3JldHVybiB0WzBdPW5b
MF0rclswXSx0WzFdPW5bMV0rclsxXSx0WzJdPW5bMl0rclsyXSx0WzNdPW5bM10rclszXSx0fWZ1
bmN0aW9uIHgodCxuLHIpe3JldHVybiB0WzBdPW5bMF0tclswXSx0WzFdPW5bMV0tclsxXSx0WzJd
PW5bMl0tclsyXSx0WzNdPW5bM10tclszXSx0fWZ1bmN0aW9uIEEodCxuKXtyZXR1cm4gdFswXT09
PW5bMF0mJnRbMV09PT1uWzFdJiZ0WzJdPT09blsyXSYmdFszXT09PW5bM119ZnVuY3Rpb24gcSh0
LG4pe3ZhciByPXRbMF0sYT10WzFdLGU9dFsyXSx1PXRbM10sbz1uWzBdLGk9blsxXSxzPW5bMl0s
Yz1uWzNdO3JldHVybiBNYXRoLmFicyhyLW8pPD1MLkVQU0lMT04qTWF0aC5tYXgoMSxNYXRoLmFi
cyhyKSxNYXRoLmFicyhvKSkmJk1hdGguYWJzKGEtaSk8PUwuRVBTSUxPTipNYXRoLm1heCgxLE1h
dGguYWJzKGEpLE1hdGguYWJzKGkpKSYmTWF0aC5hYnMoZS1zKTw9TC5FUFNJTE9OKk1hdGgubWF4
KDEsTWF0aC5hYnMoZSksTWF0aC5hYnMocykpJiZNYXRoLmFicyh1LWMpPD1MLkVQU0lMT04qTWF0
aC5tYXgoMSxNYXRoLmFicyh1KSxNYXRoLmFicyhjKSl9ZnVuY3Rpb24geSh0LG4scil7cmV0dXJu
IHRbMF09blswXSpyLHRbMV09blsxXSpyLHRbMl09blsyXSpyLHRbM109blszXSpyLHR9ZnVuY3Rp
b24gdyh0LG4scixhKXtyZXR1cm4gdFswXT1uWzBdK3JbMF0qYSx0WzFdPW5bMV0rclsxXSphLHRb
Ml09blsyXStyWzJdKmEsdFszXT1uWzNdK3JbM10qYSx0fU9iamVjdC5kZWZpbmVQcm9wZXJ0eShu
LCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSxuLnN1Yj1uLm11bD12b2lkIDAsbi5jcmVhdGU9YSxu
LmNsb25lPWUsbi5jb3B5PXUsbi5pZGVudGl0eT1vLG4uZnJvbVZhbHVlcz1pLG4uc2V0PXMsbi50
cmFuc3Bvc2U9YyxuLmludmVydD1mLG4uYWRqb2ludD1NLG4uZGV0ZXJtaW5hbnQ9aCxuLm11bHRp
cGx5PWwsbi5yb3RhdGU9dixuLnNjYWxlPWQsbi5mcm9tUm90YXRpb249YixuLmZyb21TY2FsaW5n
PW0sbi5zdHI9cCxuLmZyb2I9UCxuLkxEVT1FLG4uYWRkPU8sbi5zdWJ0cmFjdD14LG4uZXhhY3RF
cXVhbHM9QSxuLmVxdWFscz1xLG4ubXVsdGlwbHlTY2FsYXI9eSxuLm11bHRpcGx5U2NhbGFyQW5k
QWRkPXc7dmFyIFI9cigwKSxMPWZ1bmN0aW9uKHQpe2lmKHQmJnQuX19lc01vZHVsZSlyZXR1cm4g
dDt2YXIgbj17fTtpZihudWxsIT10KWZvcih2YXIgciBpbiB0KU9iamVjdC5wcm90b3R5cGUuaGFz
T3duUHJvcGVydHkuY2FsbCh0LHIpJiYobltyXT10W3JdKTtyZXR1cm4gbi5kZWZhdWx0PXQsbn0o
Uik7bi5tdWw9bCxuLnN1Yj14fSxmdW5jdGlvbih0LG4scil7InVzZSBzdHJpY3QiO2Z1bmN0aW9u
IGEoKXt2YXIgdD1uZXcgUi5BUlJBWV9UWVBFKDYpO3JldHVybiB0WzBdPTEsdFsxXT0wLHRbMl09
MCx0WzNdPTEsdFs0XT0wLHRbNV09MCx0fWZ1bmN0aW9uIGUodCl7dmFyIG49bmV3IFIuQVJSQVlf
VFlQRSg2KTtyZXR1cm4gblswXT10WzBdLG5bMV09dFsxXSxuWzJdPXRbMl0sblszXT10WzNdLG5b
NF09dFs0XSxuWzVdPXRbNV0sbn1mdW5jdGlvbiB1KHQsbil7cmV0dXJuIHRbMF09blswXSx0WzFd
PW5bMV0sdFsyXT1uWzJdLHRbM109blszXSx0WzRdPW5bNF0sdFs1XT1uWzVdLHR9ZnVuY3Rpb24g
byh0KXtyZXR1cm4gdFswXT0xLHRbMV09MCx0WzJdPTAsdFszXT0xLHRbNF09MCx0WzVdPTAsdH1m
dW5jdGlvbiBpKHQsbixyLGEsZSx1KXt2YXIgbz1uZXcgUi5BUlJBWV9UWVBFKDYpO3JldHVybiBv
WzBdPXQsb1sxXT1uLG9bMl09cixvWzNdPWEsb1s0XT1lLG9bNV09dSxvfWZ1bmN0aW9uIHModCxu
LHIsYSxlLHUsbyl7cmV0dXJuIHRbMF09bix0WzFdPXIsdFsyXT1hLHRbM109ZSx0WzRdPXUsdFs1
XT1vLHR9ZnVuY3Rpb24gYyh0LG4pe3ZhciByPW5bMF0sYT1uWzFdLGU9blsyXSx1PW5bM10sbz1u
WzRdLGk9bls1XSxzPXIqdS1hKmU7cmV0dXJuIHM/KHM9MS9zLHRbMF09dSpzLHRbMV09LWEqcyx0
WzJdPS1lKnMsdFszXT1yKnMsdFs0XT0oZSppLXUqbykqcyx0WzVdPShhKm8tcippKSpzLHQpOm51
bGx9ZnVuY3Rpb24gZih0KXtyZXR1cm4gdFswXSp0WzNdLXRbMV0qdFsyXX1mdW5jdGlvbiBNKHQs
bixyKXt2YXIgYT1uWzBdLGU9blsxXSx1PW5bMl0sbz1uWzNdLGk9bls0XSxzPW5bNV0sYz1yWzBd
LGY9clsxXSxNPXJbMl0saD1yWzNdLGw9cls0XSx2PXJbNV07cmV0dXJuIHRbMF09YSpjK3UqZix0
WzFdPWUqYytvKmYsdFsyXT1hKk0rdSpoLHRbM109ZSpNK28qaCx0WzRdPWEqbCt1KnYraSx0WzVd
PWUqbCtvKnYrcyx0fWZ1bmN0aW9uIGgodCxuLHIpe3ZhciBhPW5bMF0sZT1uWzFdLHU9blsyXSxv
PW5bM10saT1uWzRdLHM9bls1XSxjPU1hdGguc2luKHIpLGY9TWF0aC5jb3Mocik7cmV0dXJuIHRb
MF09YSpmK3UqYyx0WzFdPWUqZitvKmMsdFsyXT1hKi1jK3UqZix0WzNdPWUqLWMrbypmLHRbNF09
aSx0WzVdPXMsdH1mdW5jdGlvbiBsKHQsbixyKXt2YXIgYT1uWzBdLGU9blsxXSx1PW5bMl0sbz1u
WzNdLGk9bls0XSxzPW5bNV0sYz1yWzBdLGY9clsxXTtyZXR1cm4gdFswXT1hKmMsdFsxXT1lKmMs
dFsyXT11KmYsdFszXT1vKmYsdFs0XT1pLHRbNV09cyx0fWZ1bmN0aW9uIHYodCxuLHIpe3ZhciBh
PW5bMF0sZT1uWzFdLHU9blsyXSxvPW5bM10saT1uWzRdLHM9bls1XSxjPXJbMF0sZj1yWzFdO3Jl
dHVybiB0WzBdPWEsdFsxXT1lLHRbMl09dSx0WzNdPW8sdFs0XT1hKmMrdSpmK2ksdFs1XT1lKmMr
bypmK3MsdH1mdW5jdGlvbiBkKHQsbil7dmFyIHI9TWF0aC5zaW4obiksYT1NYXRoLmNvcyhuKTty
ZXR1cm4gdFswXT1hLHRbMV09cix0WzJdPS1yLHRbM109YSx0WzRdPTAsdFs1XT0wLHR9ZnVuY3Rp
b24gYih0LG4pe3JldHVybiB0WzBdPW5bMF0sdFsxXT0wLHRbMl09MCx0WzNdPW5bMV0sdFs0XT0w
LHRbNV09MCx0fWZ1bmN0aW9uIG0odCxuKXtyZXR1cm4gdFswXT0xLHRbMV09MCx0WzJdPTAsdFsz
XT0xLHRbNF09blswXSx0WzVdPW5bMV0sdH1mdW5jdGlvbiBwKHQpe3JldHVybiJtYXQyZCgiK3Rb
MF0rIiwgIit0WzFdKyIsICIrdFsyXSsiLCAiK3RbM10rIiwgIit0WzRdKyIsICIrdFs1XSsiKSJ9
ZnVuY3Rpb24gUCh0KXtyZXR1cm4gTWF0aC5zcXJ0KE1hdGgucG93KHRbMF0sMikrTWF0aC5wb3co
dFsxXSwyKStNYXRoLnBvdyh0WzJdLDIpK01hdGgucG93KHRbM10sMikrTWF0aC5wb3codFs0XSwy
KStNYXRoLnBvdyh0WzVdLDIpKzEpfWZ1bmN0aW9uIEUodCxuLHIpe3JldHVybiB0WzBdPW5bMF0r
clswXSx0WzFdPW5bMV0rclsxXSx0WzJdPW5bMl0rclsyXSx0WzNdPW5bM10rclszXSx0WzRdPW5b
NF0rcls0XSx0WzVdPW5bNV0rcls1XSx0fWZ1bmN0aW9uIE8odCxuLHIpe3JldHVybiB0WzBdPW5b
MF0tclswXSx0WzFdPW5bMV0tclsxXSx0WzJdPW5bMl0tclsyXSx0WzNdPW5bM10tclszXSx0WzRd
PW5bNF0tcls0XSx0WzVdPW5bNV0tcls1XSx0fWZ1bmN0aW9uIHgodCxuLHIpe3JldHVybiB0WzBd
PW5bMF0qcix0WzFdPW5bMV0qcix0WzJdPW5bMl0qcix0WzNdPW5bM10qcix0WzRdPW5bNF0qcix0
WzVdPW5bNV0qcix0fWZ1bmN0aW9uIEEodCxuLHIsYSl7cmV0dXJuIHRbMF09blswXStyWzBdKmEs
dFsxXT1uWzFdK3JbMV0qYSx0WzJdPW5bMl0rclsyXSphLHRbM109blszXStyWzNdKmEsdFs0XT1u
WzRdK3JbNF0qYSx0WzVdPW5bNV0rcls1XSphLHR9ZnVuY3Rpb24gcSh0LG4pe3JldHVybiB0WzBd
PT09blswXSYmdFsxXT09PW5bMV0mJnRbMl09PT1uWzJdJiZ0WzNdPT09blszXSYmdFs0XT09PW5b
NF0mJnRbNV09PT1uWzVdfWZ1bmN0aW9uIHkodCxuKXt2YXIgcj10WzBdLGE9dFsxXSxlPXRbMl0s
dT10WzNdLG89dFs0XSxpPXRbNV0scz1uWzBdLGM9blsxXSxmPW5bMl0sTT1uWzNdLGg9bls0XSxs
PW5bNV07cmV0dXJuIE1hdGguYWJzKHItcyk8PVIuRVBTSUxPTipNYXRoLm1heCgxLE1hdGguYWJz
KHIpLE1hdGguYWJzKHMpKSYmTWF0aC5hYnMoYS1jKTw9Ui5FUFNJTE9OKk1hdGgubWF4KDEsTWF0
aC5hYnMoYSksTWF0aC5hYnMoYykpJiZNYXRoLmFicyhlLWYpPD1SLkVQU0lMT04qTWF0aC5tYXgo
MSxNYXRoLmFicyhlKSxNYXRoLmFicyhmKSkmJk1hdGguYWJzKHUtTSk8PVIuRVBTSUxPTipNYXRo
Lm1heCgxLE1hdGguYWJzKHUpLE1hdGguYWJzKE0pKSYmTWF0aC5hYnMoby1oKTw9Ui5FUFNJTE9O
Kk1hdGgubWF4KDEsTWF0aC5hYnMobyksTWF0aC5hYnMoaCkpJiZNYXRoLmFicyhpLWwpPD1SLkVQ
U0lMT04qTWF0aC5tYXgoMSxNYXRoLmFicyhpKSxNYXRoLmFicyhsKSl9T2JqZWN0LmRlZmluZVBy
b3BlcnR5KG4sIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLG4uc3ViPW4ubXVsPXZvaWQgMCxuLmNy
ZWF0ZT1hLG4uY2xvbmU9ZSxuLmNvcHk9dSxuLmlkZW50aXR5PW8sbi5mcm9tVmFsdWVzPWksbi5z
ZXQ9cyxuLmludmVydD1jLG4uZGV0ZXJtaW5hbnQ9ZixuLm11bHRpcGx5PU0sbi5yb3RhdGU9aCxu
LnNjYWxlPWwsbi50cmFuc2xhdGU9dixuLmZyb21Sb3RhdGlvbj1kLG4uZnJvbVNjYWxpbmc9Yixu
LmZyb21UcmFuc2xhdGlvbj1tLG4uc3RyPXAsbi5mcm9iPVAsbi5hZGQ9RSxuLnN1YnRyYWN0PU8s
bi5tdWx0aXBseVNjYWxhcj14LG4ubXVsdGlwbHlTY2FsYXJBbmRBZGQ9QSxuLmV4YWN0RXF1YWxz
PXEsbi5lcXVhbHM9eTt2YXIgdz1yKDApLFI9ZnVuY3Rpb24odCl7aWYodCYmdC5fX2VzTW9kdWxl
KXJldHVybiB0O3ZhciBuPXt9O2lmKG51bGwhPXQpZm9yKHZhciByIGluIHQpT2JqZWN0LnByb3Rv
dHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKHQscikmJihuW3JdPXRbcl0pO3JldHVybiBuLmRlZmF1
bHQ9dCxufSh3KTtuLm11bD1NLG4uc3ViPU99LGZ1bmN0aW9uKHQsbixyKXsidXNlIHN0cmljdCI7
ZnVuY3Rpb24gYSgpe3ZhciB0PW5ldyBDLkFSUkFZX1RZUEUoMTYpO3JldHVybiB0WzBdPTEsdFsx
XT0wLHRbMl09MCx0WzNdPTAsdFs0XT0wLHRbNV09MSx0WzZdPTAsdFs3XT0wLHRbOF09MCx0Wzld
PTAsdFsxMF09MSx0WzExXT0wLHRbMTJdPTAsdFsxM109MCx0WzE0XT0wLHRbMTVdPTEsdH1mdW5j
dGlvbiBlKHQpe3ZhciBuPW5ldyBDLkFSUkFZX1RZUEUoMTYpO3JldHVybiBuWzBdPXRbMF0sblsx
XT10WzFdLG5bMl09dFsyXSxuWzNdPXRbM10sbls0XT10WzRdLG5bNV09dFs1XSxuWzZdPXRbNl0s
bls3XT10WzddLG5bOF09dFs4XSxuWzldPXRbOV0sblsxMF09dFsxMF0sblsxMV09dFsxMV0sblsx
Ml09dFsxMl0sblsxM109dFsxM10sblsxNF09dFsxNF0sblsxNV09dFsxNV0sbn1mdW5jdGlvbiB1
KHQsbil7cmV0dXJuIHRbMF09blswXSx0WzFdPW5bMV0sdFsyXT1uWzJdLHRbM109blszXSx0WzRd
PW5bNF0sdFs1XT1uWzVdLHRbNl09bls2XSx0WzddPW5bN10sdFs4XT1uWzhdLHRbOV09bls5XSx0
WzEwXT1uWzEwXSx0WzExXT1uWzExXSx0WzEyXT1uWzEyXSx0WzEzXT1uWzEzXSx0WzE0XT1uWzE0
XSx0WzE1XT1uWzE1XSx0fWZ1bmN0aW9uIG8odCxuLHIsYSxlLHUsbyxpLHMsYyxmLE0saCxsLHYs
ZCl7dmFyIGI9bmV3IEMuQVJSQVlfVFlQRSgxNik7cmV0dXJuIGJbMF09dCxiWzFdPW4sYlsyXT1y
LGJbM109YSxiWzRdPWUsYls1XT11LGJbNl09byxiWzddPWksYls4XT1zLGJbOV09YyxiWzEwXT1m
LGJbMTFdPU0sYlsxMl09aCxiWzEzXT1sLGJbMTRdPXYsYlsxNV09ZCxifWZ1bmN0aW9uIGkodCxu
LHIsYSxlLHUsbyxpLHMsYyxmLE0saCxsLHYsZCxiKXtyZXR1cm4gdFswXT1uLHRbMV09cix0WzJd
PWEsdFszXT1lLHRbNF09dSx0WzVdPW8sdFs2XT1pLHRbN109cyx0WzhdPWMsdFs5XT1mLHRbMTBd
PU0sdFsxMV09aCx0WzEyXT1sLHRbMTNdPXYsdFsxNF09ZCx0WzE1XT1iLHR9ZnVuY3Rpb24gcyh0
KXtyZXR1cm4gdFswXT0xLHRbMV09MCx0WzJdPTAsdFszXT0wLHRbNF09MCx0WzVdPTEsdFs2XT0w
LHRbN109MCx0WzhdPTAsdFs5XT0wLHRbMTBdPTEsdFsxMV09MCx0WzEyXT0wLHRbMTNdPTAsdFsx
NF09MCx0WzE1XT0xLHR9ZnVuY3Rpb24gYyh0LG4pe2lmKHQ9PT1uKXt2YXIgcj1uWzFdLGE9blsy
XSxlPW5bM10sdT1uWzZdLG89bls3XSxpPW5bMTFdO3RbMV09bls0XSx0WzJdPW5bOF0sdFszXT1u
WzEyXSx0WzRdPXIsdFs2XT1uWzldLHRbN109blsxM10sdFs4XT1hLHRbOV09dSx0WzExXT1uWzE0
XSx0WzEyXT1lLHRbMTNdPW8sdFsxNF09aX1lbHNlIHRbMF09blswXSx0WzFdPW5bNF0sdFsyXT1u
WzhdLHRbM109blsxMl0sdFs0XT1uWzFdLHRbNV09bls1XSx0WzZdPW5bOV0sdFs3XT1uWzEzXSx0
WzhdPW5bMl0sdFs5XT1uWzZdLHRbMTBdPW5bMTBdLHRbMTFdPW5bMTRdLHRbMTJdPW5bM10sdFsx
M109bls3XSx0WzE0XT1uWzExXSx0WzE1XT1uWzE1XTtyZXR1cm4gdH1mdW5jdGlvbiBmKHQsbil7
dmFyIHI9blswXSxhPW5bMV0sZT1uWzJdLHU9blszXSxvPW5bNF0saT1uWzVdLHM9bls2XSxjPW5b
N10sZj1uWzhdLE09bls5XSxoPW5bMTBdLGw9blsxMV0sdj1uWzEyXSxkPW5bMTNdLGI9blsxNF0s
bT1uWzE1XSxwPXIqaS1hKm8sUD1yKnMtZSpvLEU9cipjLXUqbyxPPWEqcy1lKmkseD1hKmMtdSpp
LEE9ZSpjLXUqcyxxPWYqZC1NKnYseT1mKmItaCp2LHc9ZiptLWwqdixSPU0qYi1oKmQsTD1NKm0t
bCpkLFM9aCptLWwqYixfPXAqUy1QKkwrRSpSK08qdy14KnkrQSpxO3JldHVybiBfPyhfPTEvXyx0
WzBdPShpKlMtcypMK2MqUikqXyx0WzFdPShlKkwtYSpTLXUqUikqXyx0WzJdPShkKkEtYip4K20q
TykqXyx0WzNdPShoKngtTSpBLWwqTykqXyx0WzRdPShzKnctbypTLWMqeSkqXyx0WzVdPShyKlMt
ZSp3K3UqeSkqXyx0WzZdPShiKkUtdipBLW0qUCkqXyx0WzddPShmKkEtaCpFK2wqUCkqXyx0Wzhd
PShvKkwtaSp3K2MqcSkqXyx0WzldPShhKnctcipMLXUqcSkqXyx0WzEwXT0odip4LWQqRSttKnAp
Kl8sdFsxMV09KE0qRS1mKngtbCpwKSpfLHRbMTJdPShpKnktbypSLXMqcSkqXyx0WzEzXT0ocipS
LWEqeStlKnEpKl8sdFsxNF09KGQqUC12Kk8tYipwKSpfLHRbMTVdPShmKk8tTSpQK2gqcCkqXyx0
KTpudWxsfWZ1bmN0aW9uIE0odCxuKXt2YXIgcj1uWzBdLGE9blsxXSxlPW5bMl0sdT1uWzNdLG89
bls0XSxpPW5bNV0scz1uWzZdLGM9bls3XSxmPW5bOF0sTT1uWzldLGg9blsxMF0sbD1uWzExXSx2
PW5bMTJdLGQ9blsxM10sYj1uWzE0XSxtPW5bMTVdO3JldHVybiB0WzBdPWkqKGgqbS1sKmIpLU0q
KHMqbS1jKmIpK2QqKHMqbC1jKmgpLHRbMV09LShhKihoKm0tbCpiKS1NKihlKm0tdSpiKStkKihl
KmwtdSpoKSksdFsyXT1hKihzKm0tYypiKS1pKihlKm0tdSpiKStkKihlKmMtdSpzKSx0WzNdPS0o
YSoocypsLWMqaCktaSooZSpsLXUqaCkrTSooZSpjLXUqcykpLHRbNF09LShvKihoKm0tbCpiKS1m
KihzKm0tYypiKSt2KihzKmwtYypoKSksdFs1XT1yKihoKm0tbCpiKS1mKihlKm0tdSpiKSt2Kihl
KmwtdSpoKSx0WzZdPS0ocioocyptLWMqYiktbyooZSptLXUqYikrdiooZSpjLXUqcykpLHRbN109
cioocypsLWMqaCktbyooZSpsLXUqaCkrZiooZSpjLXUqcyksdFs4XT1vKihNKm0tbCpkKS1mKihp
Km0tYypkKSt2KihpKmwtYypNKSx0WzldPS0ociooTSptLWwqZCktZiooYSptLXUqZCkrdiooYSps
LXUqTSkpLHRbMTBdPXIqKGkqbS1jKmQpLW8qKGEqbS11KmQpK3YqKGEqYy11KmkpLHRbMTFdPS0o
ciooaSpsLWMqTSktbyooYSpsLXUqTSkrZiooYSpjLXUqaSkpLHRbMTJdPS0obyooTSpiLWgqZCkt
ZiooaSpiLXMqZCkrdiooaSpoLXMqTSkpLHRbMTNdPXIqKE0qYi1oKmQpLWYqKGEqYi1lKmQpK3Yq
KGEqaC1lKk0pLHRbMTRdPS0ociooaSpiLXMqZCktbyooYSpiLWUqZCkrdiooYSpzLWUqaSkpLHRb
MTVdPXIqKGkqaC1zKk0pLW8qKGEqaC1lKk0pK2YqKGEqcy1lKmkpLHR9ZnVuY3Rpb24gaCh0KXt2
YXIgbj10WzBdLHI9dFsxXSxhPXRbMl0sZT10WzNdLHU9dFs0XSxvPXRbNV0saT10WzZdLHM9dFs3
XSxjPXRbOF0sZj10WzldLE09dFsxMF0saD10WzExXSxsPXRbMTJdLHY9dFsxM10sZD10WzE0XSxi
PXRbMTVdO3JldHVybihuKm8tcip1KSooTSpiLWgqZCktKG4qaS1hKnUpKihmKmItaCp2KSsobipz
LWUqdSkqKGYqZC1NKnYpKyhyKmktYSpvKSooYypiLWgqbCktKHIqcy1lKm8pKihjKmQtTSpsKSso
YSpzLWUqaSkqKGMqdi1mKmwpfWZ1bmN0aW9uIGwodCxuLHIpe3ZhciBhPW5bMF0sZT1uWzFdLHU9
blsyXSxvPW5bM10saT1uWzRdLHM9bls1XSxjPW5bNl0sZj1uWzddLE09bls4XSxoPW5bOV0sbD1u
WzEwXSx2PW5bMTFdLGQ9blsxMl0sYj1uWzEzXSxtPW5bMTRdLHA9blsxNV0sUD1yWzBdLEU9clsx
XSxPPXJbMl0seD1yWzNdO3JldHVybiB0WzBdPVAqYStFKmkrTypNK3gqZCx0WzFdPVAqZStFKnMr
TypoK3gqYix0WzJdPVAqdStFKmMrTypsK3gqbSx0WzNdPVAqbytFKmYrTyp2K3gqcCxQPXJbNF0s
RT1yWzVdLE89cls2XSx4PXJbN10sdFs0XT1QKmErRSppK08qTSt4KmQsdFs1XT1QKmUrRSpzK08q
aCt4KmIsdFs2XT1QKnUrRSpjK08qbCt4Km0sdFs3XT1QKm8rRSpmK08qdit4KnAsUD1yWzhdLEU9
cls5XSxPPXJbMTBdLHg9clsxMV0sdFs4XT1QKmErRSppK08qTSt4KmQsdFs5XT1QKmUrRSpzK08q
aCt4KmIsdFsxMF09UCp1K0UqYytPKmwreCptLHRbMTFdPVAqbytFKmYrTyp2K3gqcCxQPXJbMTJd
LEU9clsxM10sTz1yWzE0XSx4PXJbMTVdLHRbMTJdPVAqYStFKmkrTypNK3gqZCx0WzEzXT1QKmUr
RSpzK08qaCt4KmIsdFsxNF09UCp1K0UqYytPKmwreCptLHRbMTVdPVAqbytFKmYrTyp2K3gqcCx0
fWZ1bmN0aW9uIHYodCxuLHIpe3ZhciBhPXJbMF0sZT1yWzFdLHU9clsyXSxvPXZvaWQgMCxpPXZv
aWQgMCxzPXZvaWQgMCxjPXZvaWQgMCxmPXZvaWQgMCxNPXZvaWQgMCxoPXZvaWQgMCxsPXZvaWQg
MCx2PXZvaWQgMCxkPXZvaWQgMCxiPXZvaWQgMCxtPXZvaWQgMDtyZXR1cm4gbj09PXQ/KHRbMTJd
PW5bMF0qYStuWzRdKmUrbls4XSp1K25bMTJdLHRbMTNdPW5bMV0qYStuWzVdKmUrbls5XSp1K25b
MTNdLHRbMTRdPW5bMl0qYStuWzZdKmUrblsxMF0qdStuWzE0XSx0WzE1XT1uWzNdKmErbls3XSpl
K25bMTFdKnUrblsxNV0pOihvPW5bMF0saT1uWzFdLHM9blsyXSxjPW5bM10sZj1uWzRdLE09bls1
XSxoPW5bNl0sbD1uWzddLHY9bls4XSxkPW5bOV0sYj1uWzEwXSxtPW5bMTFdLHRbMF09byx0WzFd
PWksdFsyXT1zLHRbM109Yyx0WzRdPWYsdFs1XT1NLHRbNl09aCx0WzddPWwsdFs4XT12LHRbOV09
ZCx0WzEwXT1iLHRbMTFdPW0sdFsxMl09byphK2YqZSt2KnUrblsxMl0sdFsxM109aSphK00qZStk
KnUrblsxM10sdFsxNF09cyphK2gqZStiKnUrblsxNF0sdFsxNV09YyphK2wqZSttKnUrblsxNV0p
LHR9ZnVuY3Rpb24gZCh0LG4scil7dmFyIGE9clswXSxlPXJbMV0sdT1yWzJdO3JldHVybiB0WzBd
PW5bMF0qYSx0WzFdPW5bMV0qYSx0WzJdPW5bMl0qYSx0WzNdPW5bM10qYSx0WzRdPW5bNF0qZSx0
WzVdPW5bNV0qZSx0WzZdPW5bNl0qZSx0WzddPW5bN10qZSx0WzhdPW5bOF0qdSx0WzldPW5bOV0q
dSx0WzEwXT1uWzEwXSp1LHRbMTFdPW5bMTFdKnUsdFsxMl09blsxMl0sdFsxM109blsxM10sdFsx
NF09blsxNF0sdFsxNV09blsxNV0sdH1mdW5jdGlvbiBiKHQsbixyLGEpe3ZhciBlPWFbMF0sdT1h
WzFdLG89YVsyXSxpPU1hdGguc3FydChlKmUrdSp1K28qbykscz12b2lkIDAsYz12b2lkIDAsZj12
b2lkIDAsTT12b2lkIDAsaD12b2lkIDAsbD12b2lkIDAsdj12b2lkIDAsZD12b2lkIDAsYj12b2lk
IDAsbT12b2lkIDAscD12b2lkIDAsUD12b2lkIDAsRT12b2lkIDAsTz12b2lkIDAseD12b2lkIDAs
QT12b2lkIDAscT12b2lkIDAseT12b2lkIDAsdz12b2lkIDAsUj12b2lkIDAsTD12b2lkIDAsUz12
b2lkIDAsXz12b2lkIDAsST12b2lkIDA7cmV0dXJuIE1hdGguYWJzKGkpPEMuRVBTSUxPTj9udWxs
OihpPTEvaSxlKj1pLHUqPWksbyo9aSxzPU1hdGguc2luKHIpLGM9TWF0aC5jb3MociksZj0xLWMs
TT1uWzBdLGg9blsxXSxsPW5bMl0sdj1uWzNdLGQ9bls0XSxiPW5bNV0sbT1uWzZdLHA9bls3XSxQ
PW5bOF0sRT1uWzldLE89blsxMF0seD1uWzExXSxBPWUqZSpmK2MscT11KmUqZitvKnMseT1vKmUq
Zi11KnMsdz1lKnUqZi1vKnMsUj11KnUqZitjLEw9byp1KmYrZSpzLFM9ZSpvKmYrdSpzLF89dSpv
KmYtZSpzLEk9bypvKmYrYyx0WzBdPU0qQStkKnErUCp5LHRbMV09aCpBK2IqcStFKnksdFsyXT1s
KkErbSpxK08qeSx0WzNdPXYqQStwKnEreCp5LHRbNF09TSp3K2QqUitQKkwsdFs1XT1oKncrYipS
K0UqTCx0WzZdPWwqdyttKlIrTypMLHRbN109dip3K3AqUit4KkwsdFs4XT1NKlMrZCpfK1AqSSx0
WzldPWgqUytiKl8rRSpJLHRbMTBdPWwqUyttKl8rTypJLHRbMTFdPXYqUytwKl8reCpJLG4hPT10
JiYodFsxMl09blsxMl0sdFsxM109blsxM10sdFsxNF09blsxNF0sdFsxNV09blsxNV0pLHQpfWZ1
bmN0aW9uIG0odCxuLHIpe3ZhciBhPU1hdGguc2luKHIpLGU9TWF0aC5jb3MociksdT1uWzRdLG89
bls1XSxpPW5bNl0scz1uWzddLGM9bls4XSxmPW5bOV0sTT1uWzEwXSxoPW5bMTFdO3JldHVybiBu
IT09dCYmKHRbMF09blswXSx0WzFdPW5bMV0sdFsyXT1uWzJdLHRbM109blszXSx0WzEyXT1uWzEy
XSx0WzEzXT1uWzEzXSx0WzE0XT1uWzE0XSx0WzE1XT1uWzE1XSksdFs0XT11KmUrYyphLHRbNV09
byplK2YqYSx0WzZdPWkqZStNKmEsdFs3XT1zKmUraCphLHRbOF09YyplLXUqYSx0WzldPWYqZS1v
KmEsdFsxMF09TSplLWkqYSx0WzExXT1oKmUtcyphLHR9ZnVuY3Rpb24gcCh0LG4scil7dmFyIGE9
TWF0aC5zaW4ociksZT1NYXRoLmNvcyhyKSx1PW5bMF0sbz1uWzFdLGk9blsyXSxzPW5bM10sYz1u
WzhdLGY9bls5XSxNPW5bMTBdLGg9blsxMV07cmV0dXJuIG4hPT10JiYodFs0XT1uWzRdLHRbNV09
bls1XSx0WzZdPW5bNl0sdFs3XT1uWzddLHRbMTJdPW5bMTJdLHRbMTNdPW5bMTNdLHRbMTRdPW5b
MTRdLHRbMTVdPW5bMTVdKSx0WzBdPXUqZS1jKmEsdFsxXT1vKmUtZiphLHRbMl09aSplLU0qYSx0
WzNdPXMqZS1oKmEsdFs4XT11KmErYyplLHRbOV09byphK2YqZSx0WzEwXT1pKmErTSplLHRbMTFd
PXMqYStoKmUsdH1mdW5jdGlvbiBQKHQsbixyKXt2YXIgYT1NYXRoLnNpbihyKSxlPU1hdGguY29z
KHIpLHU9blswXSxvPW5bMV0saT1uWzJdLHM9blszXSxjPW5bNF0sZj1uWzVdLE09bls2XSxoPW5b
N107cmV0dXJuIG4hPT10JiYodFs4XT1uWzhdLHRbOV09bls5XSx0WzEwXT1uWzEwXSx0WzExXT1u
WzExXSx0WzEyXT1uWzEyXSx0WzEzXT1uWzEzXSx0WzE0XT1uWzE0XSx0WzE1XT1uWzE1XSksdFsw
XT11KmUrYyphLHRbMV09byplK2YqYSx0WzJdPWkqZStNKmEsdFszXT1zKmUraCphLHRbNF09Yypl
LXUqYSx0WzVdPWYqZS1vKmEsdFs2XT1NKmUtaSphLHRbN109aCplLXMqYSx0fWZ1bmN0aW9uIEUo
dCxuKXtyZXR1cm4gdFswXT0xLHRbMV09MCx0WzJdPTAsdFszXT0wLHRbNF09MCx0WzVdPTEsdFs2
XT0wLHRbN109MCx0WzhdPTAsdFs5XT0wLHRbMTBdPTEsdFsxMV09MCx0WzEyXT1uWzBdLHRbMTNd
PW5bMV0sdFsxNF09blsyXSx0WzE1XT0xLHR9ZnVuY3Rpb24gTyh0LG4pe3JldHVybiB0WzBdPW5b
MF0sdFsxXT0wLHRbMl09MCx0WzNdPTAsdFs0XT0wLHRbNV09blsxXSx0WzZdPTAsdFs3XT0wLHRb
OF09MCx0WzldPTAsdFsxMF09blsyXSx0WzExXT0wLHRbMTJdPTAsdFsxM109MCx0WzE0XT0wLHRb
MTVdPTEsdH1mdW5jdGlvbiB4KHQsbixyKXt2YXIgYT1yWzBdLGU9clsxXSx1PXJbMl0sbz1NYXRo
LnNxcnQoYSphK2UqZSt1KnUpLGk9dm9pZCAwLHM9dm9pZCAwLGM9dm9pZCAwO3JldHVybiBNYXRo
LmFicyhvKTxDLkVQU0lMT04/bnVsbDoobz0xL28sYSo9byxlKj1vLHUqPW8saT1NYXRoLnNpbihu
KSxzPU1hdGguY29zKG4pLGM9MS1zLHRbMF09YSphKmMrcyx0WzFdPWUqYSpjK3UqaSx0WzJdPXUq
YSpjLWUqaSx0WzNdPTAsdFs0XT1hKmUqYy11KmksdFs1XT1lKmUqYytzLHRbNl09dSplKmMrYSpp
LHRbN109MCx0WzhdPWEqdSpjK2UqaSx0WzldPWUqdSpjLWEqaSx0WzEwXT11KnUqYytzLHRbMTFd
PTAsdFsxMl09MCx0WzEzXT0wLHRbMTRdPTAsdFsxNV09MSx0KX1mdW5jdGlvbiBBKHQsbil7dmFy
IHI9TWF0aC5zaW4obiksYT1NYXRoLmNvcyhuKTtyZXR1cm4gdFswXT0xLHRbMV09MCx0WzJdPTAs
dFszXT0wLHRbNF09MCx0WzVdPWEsdFs2XT1yLHRbN109MCx0WzhdPTAsdFs5XT0tcix0WzEwXT1h
LHRbMTFdPTAsdFsxMl09MCx0WzEzXT0wLHRbMTRdPTAsdFsxNV09MSx0fWZ1bmN0aW9uIHEodCxu
KXt2YXIgcj1NYXRoLnNpbihuKSxhPU1hdGguY29zKG4pO3JldHVybiB0WzBdPWEsdFsxXT0wLHRb
Ml09LXIsdFszXT0wLHRbNF09MCx0WzVdPTEsdFs2XT0wLHRbN109MCx0WzhdPXIsdFs5XT0wLHRb
MTBdPWEsdFsxMV09MCx0WzEyXT0wLHRbMTNdPTAsdFsxNF09MCx0WzE1XT0xLHR9ZnVuY3Rpb24g
eSh0LG4pe3ZhciByPU1hdGguc2luKG4pLGE9TWF0aC5jb3Mobik7cmV0dXJuIHRbMF09YSx0WzFd
PXIsdFsyXT0wLHRbM109MCx0WzRdPS1yLHRbNV09YSx0WzZdPTAsdFs3XT0wLHRbOF09MCx0Wzld
PTAsdFsxMF09MSx0WzExXT0wLHRbMTJdPTAsdFsxM109MCx0WzE0XT0wLHRbMTVdPTEsdH1mdW5j
dGlvbiB3KHQsbixyKXt2YXIgYT1uWzBdLGU9blsxXSx1PW5bMl0sbz1uWzNdLGk9YSthLHM9ZStl
LGM9dSt1LGY9YSppLE09YSpzLGg9YSpjLGw9ZSpzLHY9ZSpjLGQ9dSpjLGI9byppLG09bypzLHA9
bypjO3JldHVybiB0WzBdPTEtKGwrZCksdFsxXT1NK3AsdFsyXT1oLW0sdFszXT0wLHRbNF09TS1w
LHRbNV09MS0oZitkKSx0WzZdPXYrYix0WzddPTAsdFs4XT1oK20sdFs5XT12LWIsdFsxMF09MS0o
ZitsKSx0WzExXT0wLHRbMTJdPXJbMF0sdFsxM109clsxXSx0WzE0XT1yWzJdLHRbMTVdPTEsdH1m
dW5jdGlvbiBSKHQsbil7cmV0dXJuIHRbMF09blsxMl0sdFsxXT1uWzEzXSx0WzJdPW5bMTRdLHR9
ZnVuY3Rpb24gTCh0LG4pe3ZhciByPW5bMF0sYT1uWzFdLGU9blsyXSx1PW5bNF0sbz1uWzVdLGk9
bls2XSxzPW5bOF0sYz1uWzldLGY9blsxMF07cmV0dXJuIHRbMF09TWF0aC5zcXJ0KHIqcithKmEr
ZSplKSx0WzFdPU1hdGguc3FydCh1KnUrbypvK2kqaSksdFsyXT1NYXRoLnNxcnQocypzK2MqYytm
KmYpLHR9ZnVuY3Rpb24gUyh0LG4pe3ZhciByPW5bMF0rbls1XStuWzEwXSxhPTA7cmV0dXJuIHI+
MD8oYT0yKk1hdGguc3FydChyKzEpLHRbM109LjI1KmEsdFswXT0obls2XS1uWzldKS9hLHRbMV09
KG5bOF0tblsyXSkvYSx0WzJdPShuWzFdLW5bNF0pL2EpOm5bMF0+bls1XSZuWzBdPm5bMTBdPyhh
PTIqTWF0aC5zcXJ0KDErblswXS1uWzVdLW5bMTBdKSx0WzNdPShuWzZdLW5bOV0pL2EsdFswXT0u
MjUqYSx0WzFdPShuWzFdK25bNF0pL2EsdFsyXT0obls4XStuWzJdKS9hKTpuWzVdPm5bMTBdPyhh
PTIqTWF0aC5zcXJ0KDErbls1XS1uWzBdLW5bMTBdKSx0WzNdPShuWzhdLW5bMl0pL2EsdFswXT0o
blsxXStuWzRdKS9hLHRbMV09LjI1KmEsdFsyXT0obls2XStuWzldKS9hKTooYT0yKk1hdGguc3Fy
dCgxK25bMTBdLW5bMF0tbls1XSksdFszXT0oblsxXS1uWzRdKS9hLHRbMF09KG5bOF0rblsyXSkv
YSx0WzFdPShuWzZdK25bOV0pL2EsdFsyXT0uMjUqYSksdH1mdW5jdGlvbiBfKHQsbixyLGEpe3Zh
ciBlPW5bMF0sdT1uWzFdLG89blsyXSxpPW5bM10scz1lK2UsYz11K3UsZj1vK28sTT1lKnMsaD1l
KmMsbD1lKmYsdj11KmMsZD11KmYsYj1vKmYsbT1pKnMscD1pKmMsUD1pKmYsRT1hWzBdLE89YVsx
XSx4PWFbMl07cmV0dXJuIHRbMF09KDEtKHYrYikpKkUsdFsxXT0oaCtQKSpFLHRbMl09KGwtcCkq
RSx0WzNdPTAsdFs0XT0oaC1QKSpPLHRbNV09KDEtKE0rYikpKk8sdFs2XT0oZCttKSpPLHRbN109
MCx0WzhdPShsK3ApKngsdFs5XT0oZC1tKSp4LHRbMTBdPSgxLShNK3YpKSp4LHRbMTFdPTAsdFsx
Ml09clswXSx0WzEzXT1yWzFdLHRbMTRdPXJbMl0sdFsxNV09MSx0fWZ1bmN0aW9uIEkodCxuLHIs
YSxlKXt2YXIgdT1uWzBdLG89blsxXSxpPW5bMl0scz1uWzNdLGM9dSt1LGY9bytvLE09aStpLGg9
dSpjLGw9dSpmLHY9dSpNLGQ9bypmLGI9bypNLG09aSpNLHA9cypjLFA9cypmLEU9cypNLE89YVsw
XSx4PWFbMV0sQT1hWzJdLHE9ZVswXSx5PWVbMV0sdz1lWzJdO3JldHVybiB0WzBdPSgxLShkK20p
KSpPLHRbMV09KGwrRSkqTyx0WzJdPSh2LVApKk8sdFszXT0wLHRbNF09KGwtRSkqeCx0WzVdPSgx
LShoK20pKSp4LHRbNl09KGIrcCkqeCx0WzddPTAsdFs4XT0oditQKSpBLHRbOV09KGItcCkqQSx0
WzEwXT0oMS0oaCtkKSkqQSx0WzExXT0wLHRbMTJdPXJbMF0rcS0odFswXSpxK3RbNF0qeSt0Wzhd
KncpLHRbMTNdPXJbMV0reS0odFsxXSpxK3RbNV0qeSt0WzldKncpLHRbMTRdPXJbMl0rdy0odFsy
XSpxK3RbNl0qeSt0WzEwXSp3KSx0WzE1XT0xLHR9ZnVuY3Rpb24gTih0LG4pe3ZhciByPW5bMF0s
YT1uWzFdLGU9blsyXSx1PW5bM10sbz1yK3IsaT1hK2Escz1lK2UsYz1yKm8sZj1hKm8sTT1hKmks
aD1lKm8sbD1lKmksdj1lKnMsZD11Km8sYj11KmksbT11KnM7cmV0dXJuIHRbMF09MS1NLXYsdFsx
XT1mK20sdFsyXT1oLWIsdFszXT0wLHRbNF09Zi1tLHRbNV09MS1jLXYsdFs2XT1sK2QsdFs3XT0w
LHRbOF09aCtiLHRbOV09bC1kLHRbMTBdPTEtYy1NLHRbMTFdPTAsdFsxMl09MCx0WzEzXT0wLHRb
MTRdPTAsdFsxNV09MSx0fWZ1bmN0aW9uIFkodCxuLHIsYSxlLHUsbyl7dmFyIGk9MS8oci1uKSxz
PTEvKGUtYSksYz0xLyh1LW8pO3JldHVybiB0WzBdPTIqdSppLHRbMV09MCx0WzJdPTAsdFszXT0w
LHRbNF09MCx0WzVdPTIqdSpzLHRbNl09MCx0WzddPTAsdFs4XT0ocituKSppLHRbOV09KGUrYSkq
cyx0WzEwXT0obyt1KSpjLHRbMTFdPS0xLHRbMTJdPTAsdFsxM109MCx0WzE0XT1vKnUqMipjLHRb
MTVdPTAsdH1mdW5jdGlvbiBnKHQsbixyLGEsZSl7dmFyIHU9MS9NYXRoLnRhbihuLzIpLG89MS8o
YS1lKTtyZXR1cm4gdFswXT11L3IsdFsxXT0wLHRbMl09MCx0WzNdPTAsdFs0XT0wLHRbNV09dSx0
WzZdPTAsdFs3XT0wLHRbOF09MCx0WzldPTAsdFsxMF09KGUrYSkqbyx0WzExXT0tMSx0WzEyXT0w
LHRbMTNdPTAsdFsxNF09MiplKmEqbyx0WzE1XT0wLHR9ZnVuY3Rpb24gVCh0LG4scixhKXt2YXIg
ZT1NYXRoLnRhbihuLnVwRGVncmVlcypNYXRoLlBJLzE4MCksdT1NYXRoLnRhbihuLmRvd25EZWdy
ZWVzKk1hdGguUEkvMTgwKSxvPU1hdGgudGFuKG4ubGVmdERlZ3JlZXMqTWF0aC5QSS8xODApLGk9
TWF0aC50YW4obi5yaWdodERlZ3JlZXMqTWF0aC5QSS8xODApLHM9Mi8obytpKSxjPTIvKGUrdSk7
cmV0dXJuIHRbMF09cyx0WzFdPTAsdFsyXT0wLHRbM109MCx0WzRdPTAsdFs1XT1jLHRbNl09MCx0
WzddPTAsdFs4XT0tKG8taSkqcyouNSx0WzldPShlLXUpKmMqLjUsdFsxMF09YS8oci1hKSx0WzEx
XT0tMSx0WzEyXT0wLHRbMTNdPTAsdFsxNF09YSpyLyhyLWEpLHRbMTVdPTAsdH1mdW5jdGlvbiBq
KHQsbixyLGEsZSx1LG8pe3ZhciBpPTEvKG4tcikscz0xLyhhLWUpLGM9MS8odS1vKTtyZXR1cm4g
dFswXT0tMippLHRbMV09MCx0WzJdPTAsdFszXT0wLHRbNF09MCx0WzVdPS0yKnMsdFs2XT0wLHRb
N109MCx0WzhdPTAsdFs5XT0wLHRbMTBdPTIqYyx0WzExXT0wLHRbMTJdPShuK3IpKmksdFsxM109
KGUrYSkqcyx0WzE0XT0obyt1KSpjLHRbMTVdPTEsdH1mdW5jdGlvbiBEKHQsbixyLGEpe3ZhciBl
PXZvaWQgMCx1PXZvaWQgMCxvPXZvaWQgMCxpPXZvaWQgMCxzPXZvaWQgMCxjPXZvaWQgMCxmPXZv
aWQgMCxNPXZvaWQgMCxoPXZvaWQgMCxsPXZvaWQgMCx2PW5bMF0sZD1uWzFdLGI9blsyXSxtPWFb
MF0scD1hWzFdLFA9YVsyXSxFPXJbMF0sTz1yWzFdLHg9clsyXTtyZXR1cm4gTWF0aC5hYnModi1F
KTxDLkVQU0lMT04mJk1hdGguYWJzKGQtTyk8Qy5FUFNJTE9OJiZNYXRoLmFicyhiLXgpPEMuRVBT
SUxPTj9tYXQ0LmlkZW50aXR5KHQpOihmPXYtRSxNPWQtTyxoPWIteCxsPTEvTWF0aC5zcXJ0KGYq
ZitNKk0raCpoKSxmKj1sLE0qPWwsaCo9bCxlPXAqaC1QKk0sdT1QKmYtbSpoLG89bSpNLXAqZixs
PU1hdGguc3FydChlKmUrdSp1K28qbyksbD8obD0xL2wsZSo9bCx1Kj1sLG8qPWwpOihlPTAsdT0w
LG89MCksaT1NKm8taCp1LHM9aCplLWYqbyxjPWYqdS1NKmUsbD1NYXRoLnNxcnQoaSppK3Mqcytj
KmMpLGw/KGw9MS9sLGkqPWwscyo9bCxjKj1sKTooaT0wLHM9MCxjPTApLHRbMF09ZSx0WzFdPWks
dFsyXT1mLHRbM109MCx0WzRdPXUsdFs1XT1zLHRbNl09TSx0WzddPTAsdFs4XT1vLHRbOV09Yyx0
WzEwXT1oLHRbMTFdPTAsdFsxMl09LShlKnYrdSpkK28qYiksdFsxM109LShpKnYrcypkK2MqYiks
dFsxNF09LShmKnYrTSpkK2gqYiksdFsxNV09MSx0KX1mdW5jdGlvbiBWKHQsbixyLGEpe3ZhciBl
PW5bMF0sdT1uWzFdLG89blsyXSxpPWFbMF0scz1hWzFdLGM9YVsyXSxmPWUtclswXSxNPXUtclsx
XSxoPW8tclsyXSxsPWYqZitNKk0raCpoO2w+MCYmKGw9MS9NYXRoLnNxcnQobCksZio9bCxNKj1s
LGgqPWwpO3ZhciB2PXMqaC1jKk0sZD1jKmYtaSpoLGI9aSpNLXMqZjtyZXR1cm4gdFswXT12LHRb
MV09ZCx0WzJdPWIsdFszXT0wLHRbNF09TSpiLWgqZCx0WzVdPWgqdi1mKmIsdFs2XT1mKmQtTSp2
LHRbN109MCx0WzhdPWYsdFs5XT1NLHRbMTBdPWgsdFsxMV09MCx0WzEyXT1lLHRbMTNdPXUsdFsx
NF09byx0WzE1XT0xLHR9ZnVuY3Rpb24geih0KXtyZXR1cm4ibWF0NCgiK3RbMF0rIiwgIit0WzFd
KyIsICIrdFsyXSsiLCAiK3RbM10rIiwgIit0WzRdKyIsICIrdFs1XSsiLCAiK3RbNl0rIiwgIit0
WzddKyIsICIrdFs4XSsiLCAiK3RbOV0rIiwgIit0WzEwXSsiLCAiK3RbMTFdKyIsICIrdFsxMl0r
IiwgIit0WzEzXSsiLCAiK3RbMTRdKyIsICIrdFsxNV0rIikifWZ1bmN0aW9uIEYodCl7cmV0dXJu
IE1hdGguc3FydChNYXRoLnBvdyh0WzBdLDIpK01hdGgucG93KHRbMV0sMikrTWF0aC5wb3codFsy
XSwyKStNYXRoLnBvdyh0WzNdLDIpK01hdGgucG93KHRbNF0sMikrTWF0aC5wb3codFs1XSwyKStN
YXRoLnBvdyh0WzZdLDIpK01hdGgucG93KHRbN10sMikrTWF0aC5wb3codFs4XSwyKStNYXRoLnBv
dyh0WzldLDIpK01hdGgucG93KHRbMTBdLDIpK01hdGgucG93KHRbMTFdLDIpK01hdGgucG93KHRb
MTJdLDIpK01hdGgucG93KHRbMTNdLDIpK01hdGgucG93KHRbMTRdLDIpK01hdGgucG93KHRbMTVd
LDIpKX1mdW5jdGlvbiBRKHQsbixyKXtyZXR1cm4gdFswXT1uWzBdK3JbMF0sdFsxXT1uWzFdK3Jb
MV0sdFsyXT1uWzJdK3JbMl0sdFszXT1uWzNdK3JbM10sdFs0XT1uWzRdK3JbNF0sdFs1XT1uWzVd
K3JbNV0sdFs2XT1uWzZdK3JbNl0sdFs3XT1uWzddK3JbN10sdFs4XT1uWzhdK3JbOF0sdFs5XT1u
WzldK3JbOV0sdFsxMF09blsxMF0rclsxMF0sdFsxMV09blsxMV0rclsxMV0sdFsxMl09blsxMl0r
clsxMl0sdFsxM109blsxM10rclsxM10sdFsxNF09blsxNF0rclsxNF0sdFsxNV09blsxNV0rclsx
NV0sdH1mdW5jdGlvbiBYKHQsbixyKXtyZXR1cm4gdFswXT1uWzBdLXJbMF0sdFsxXT1uWzFdLXJb
MV0sdFsyXT1uWzJdLXJbMl0sdFszXT1uWzNdLXJbM10sdFs0XT1uWzRdLXJbNF0sdFs1XT1uWzVd
LXJbNV0sdFs2XT1uWzZdLXJbNl0sdFs3XT1uWzddLXJbN10sdFs4XT1uWzhdLXJbOF0sdFs5XT1u
WzldLXJbOV0sdFsxMF09blsxMF0tclsxMF0sdFsxMV09blsxMV0tclsxMV0sdFsxMl09blsxMl0t
clsxMl0sdFsxM109blsxM10tclsxM10sdFsxNF09blsxNF0tclsxNF0sdFsxNV09blsxNV0tclsx
NV0sdH1mdW5jdGlvbiBaKHQsbixyKXtyZXR1cm4gdFswXT1uWzBdKnIsdFsxXT1uWzFdKnIsdFsy
XT1uWzJdKnIsdFszXT1uWzNdKnIsdFs0XT1uWzRdKnIsdFs1XT1uWzVdKnIsdFs2XT1uWzZdKnIs
dFs3XT1uWzddKnIsdFs4XT1uWzhdKnIsdFs5XT1uWzldKnIsdFsxMF09blsxMF0qcix0WzExXT1u
WzExXSpyLHRbMTJdPW5bMTJdKnIsdFsxM109blsxM10qcix0WzE0XT1uWzE0XSpyLHRbMTVdPW5b
MTVdKnIsdH1mdW5jdGlvbiBrKHQsbixyLGEpe3JldHVybiB0WzBdPW5bMF0rclswXSphLHRbMV09
blsxXStyWzFdKmEsdFsyXT1uWzJdK3JbMl0qYSx0WzNdPW5bM10rclszXSphLHRbNF09bls0XSty
WzRdKmEsdFs1XT1uWzVdK3JbNV0qYSx0WzZdPW5bNl0rcls2XSphLHRbN109bls3XStyWzddKmEs
dFs4XT1uWzhdK3JbOF0qYSx0WzldPW5bOV0rcls5XSphLHRbMTBdPW5bMTBdK3JbMTBdKmEsdFsx
MV09blsxMV0rclsxMV0qYSx0WzEyXT1uWzEyXStyWzEyXSphLHRbMTNdPW5bMTNdK3JbMTNdKmEs
dFsxNF09blsxNF0rclsxNF0qYSx0WzE1XT1uWzE1XStyWzE1XSphLHR9ZnVuY3Rpb24gVSh0LG4p
e3JldHVybiB0WzBdPT09blswXSYmdFsxXT09PW5bMV0mJnRbMl09PT1uWzJdJiZ0WzNdPT09blsz
XSYmdFs0XT09PW5bNF0mJnRbNV09PT1uWzVdJiZ0WzZdPT09bls2XSYmdFs3XT09PW5bN10mJnRb
OF09PT1uWzhdJiZ0WzldPT09bls5XSYmdFsxMF09PT1uWzEwXSYmdFsxMV09PT1uWzExXSYmdFsx
Ml09PT1uWzEyXSYmdFsxM109PT1uWzEzXSYmdFsxNF09PT1uWzE0XSYmdFsxNV09PT1uWzE1XX1m
dW5jdGlvbiBXKHQsbil7dmFyIHI9dFswXSxhPXRbMV0sZT10WzJdLHU9dFszXSxvPXRbNF0saT10
WzVdLHM9dFs2XSxjPXRbN10sZj10WzhdLE09dFs5XSxoPXRbMTBdLGw9dFsxMV0sdj10WzEyXSxk
PXRbMTNdLGI9dFsxNF0sbT10WzE1XSxwPW5bMF0sUD1uWzFdLEU9blsyXSxPPW5bM10seD1uWzRd
LEE9bls1XSxxPW5bNl0seT1uWzddLHc9bls4XSxSPW5bOV0sTD1uWzEwXSxTPW5bMTFdLF89blsx
Ml0sST1uWzEzXSxOPW5bMTRdLFk9blsxNV07cmV0dXJuIE1hdGguYWJzKHItcCk8PUMuRVBTSUxP
TipNYXRoLm1heCgxLE1hdGguYWJzKHIpLE1hdGguYWJzKHApKSYmTWF0aC5hYnMoYS1QKTw9Qy5F
UFNJTE9OKk1hdGgubWF4KDEsTWF0aC5hYnMoYSksTWF0aC5hYnMoUCkpJiZNYXRoLmFicyhlLUUp
PD1DLkVQU0lMT04qTWF0aC5tYXgoMSxNYXRoLmFicyhlKSxNYXRoLmFicyhFKSkmJk1hdGguYWJz
KHUtTyk8PUMuRVBTSUxPTipNYXRoLm1heCgxLE1hdGguYWJzKHUpLE1hdGguYWJzKE8pKSYmTWF0
aC5hYnMoby14KTw9Qy5FUFNJTE9OKk1hdGgubWF4KDEsTWF0aC5hYnMobyksTWF0aC5hYnMoeCkp
JiZNYXRoLmFicyhpLUEpPD1DLkVQU0lMT04qTWF0aC5tYXgoMSxNYXRoLmFicyhpKSxNYXRoLmFi
cyhBKSkmJk1hdGguYWJzKHMtcSk8PUMuRVBTSUxPTipNYXRoLm1heCgxLE1hdGguYWJzKHMpLE1h
dGguYWJzKHEpKSYmTWF0aC5hYnMoYy15KTw9Qy5FUFNJTE9OKk1hdGgubWF4KDEsTWF0aC5hYnMo
YyksTWF0aC5hYnMoeSkpJiZNYXRoLmFicyhmLXcpPD1DLkVQU0lMT04qTWF0aC5tYXgoMSxNYXRo
LmFicyhmKSxNYXRoLmFicyh3KSkmJk1hdGguYWJzKE0tUik8PUMuRVBTSUxPTipNYXRoLm1heCgx
LE1hdGguYWJzKE0pLE1hdGguYWJzKFIpKSYmTWF0aC5hYnMoaC1MKTw9Qy5FUFNJTE9OKk1hdGgu
bWF4KDEsTWF0aC5hYnMoaCksTWF0aC5hYnMoTCkpJiZNYXRoLmFicyhsLVMpPD1DLkVQU0lMT04q
TWF0aC5tYXgoMSxNYXRoLmFicyhsKSxNYXRoLmFicyhTKSkmJk1hdGguYWJzKHYtXyk8PUMuRVBT
SUxPTipNYXRoLm1heCgxLE1hdGguYWJzKHYpLE1hdGguYWJzKF8pKSYmTWF0aC5hYnMoZC1JKTw9
Qy5FUFNJTE9OKk1hdGgubWF4KDEsTWF0aC5hYnMoZCksTWF0aC5hYnMoSSkpJiZNYXRoLmFicyhi
LU4pPD1DLkVQU0lMT04qTWF0aC5tYXgoMSxNYXRoLmFicyhiKSxNYXRoLmFicyhOKSkmJk1hdGgu
YWJzKG0tWSk8PUMuRVBTSUxPTipNYXRoLm1heCgxLE1hdGguYWJzKG0pLE1hdGguYWJzKFkpKX1P
YmplY3QuZGVmaW5lUHJvcGVydHkobiwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksbi5zdWI9bi5t
dWw9dm9pZCAwLG4uY3JlYXRlPWEsbi5jbG9uZT1lLG4uY29weT11LG4uZnJvbVZhbHVlcz1vLG4u
c2V0PWksbi5pZGVudGl0eT1zLG4udHJhbnNwb3NlPWMsbi5pbnZlcnQ9ZixuLmFkam9pbnQ9TSxu
LmRldGVybWluYW50PWgsbi5tdWx0aXBseT1sLG4udHJhbnNsYXRlPXYsbi5zY2FsZT1kLG4ucm90
YXRlPWIsbi5yb3RhdGVYPW0sbi5yb3RhdGVZPXAsbi5yb3RhdGVaPVAsbi5mcm9tVHJhbnNsYXRp
b249RSxuLmZyb21TY2FsaW5nPU8sbi5mcm9tUm90YXRpb249eCxuLmZyb21YUm90YXRpb249QSxu
LmZyb21ZUm90YXRpb249cSxuLmZyb21aUm90YXRpb249eSxuLmZyb21Sb3RhdGlvblRyYW5zbGF0
aW9uPXcsbi5nZXRUcmFuc2xhdGlvbj1SLG4uZ2V0U2NhbGluZz1MLG4uZ2V0Um90YXRpb249Uyxu
LmZyb21Sb3RhdGlvblRyYW5zbGF0aW9uU2NhbGU9XyxuLmZyb21Sb3RhdGlvblRyYW5zbGF0aW9u
U2NhbGVPcmlnaW49SSxuLmZyb21RdWF0PU4sbi5mcnVzdHVtPVksbi5wZXJzcGVjdGl2ZT1nLG4u
cGVyc3BlY3RpdmVGcm9tRmllbGRPZlZpZXc9VCxuLm9ydGhvPWosbi5sb29rQXQ9RCxuLnRhcmdl
dFRvPVYsbi5zdHI9eixuLmZyb2I9RixuLmFkZD1RLG4uc3VidHJhY3Q9WCxuLm11bHRpcGx5U2Nh
bGFyPVosbi5tdWx0aXBseVNjYWxhckFuZEFkZD1rLG4uZXhhY3RFcXVhbHM9VSxuLmVxdWFscz1X
O3ZhciBCPXIoMCksQz1mdW5jdGlvbih0KXtpZih0JiZ0Ll9fZXNNb2R1bGUpcmV0dXJuIHQ7dmFy
IG49e307aWYobnVsbCE9dClmb3IodmFyIHIgaW4gdClPYmplY3QucHJvdG90eXBlLmhhc093blBy
b3BlcnR5LmNhbGwodCxyKSYmKG5bcl09dFtyXSk7cmV0dXJuIG4uZGVmYXVsdD10LG59KEIpO24u
bXVsPWwsbi5zdWI9WH0sZnVuY3Rpb24odCxuLHIpeyJ1c2Ugc3RyaWN0IjtmdW5jdGlvbiBhKHQp
e2lmKHQmJnQuX19lc01vZHVsZSlyZXR1cm4gdDt2YXIgbj17fTtpZihudWxsIT10KWZvcih2YXIg
ciBpbiB0KU9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbCh0LHIpJiYobltyXT10
W3JdKTtyZXR1cm4gbi5kZWZhdWx0PXQsbn1mdW5jdGlvbiBlKCl7dmFyIHQ9bmV3IEUuQVJSQVlf
VFlQRSg0KTtyZXR1cm4gdFswXT0wLHRbMV09MCx0WzJdPTAsdFszXT0xLHR9ZnVuY3Rpb24gdSh0
KXtyZXR1cm4gdFswXT0wLHRbMV09MCx0WzJdPTAsdFszXT0xLHR9ZnVuY3Rpb24gbyh0LG4scil7
cio9LjU7dmFyIGE9TWF0aC5zaW4ocik7cmV0dXJuIHRbMF09YSpuWzBdLHRbMV09YSpuWzFdLHRb
Ml09YSpuWzJdLHRbM109TWF0aC5jb3MociksdH1mdW5jdGlvbiBpKHQsbil7dmFyIHI9MipNYXRo
LmFjb3MoblszXSksYT1NYXRoLnNpbihyLzIpO3JldHVybiAwIT1hPyh0WzBdPW5bMF0vYSx0WzFd
PW5bMV0vYSx0WzJdPW5bMl0vYSk6KHRbMF09MSx0WzFdPTAsdFsyXT0wKSxyfWZ1bmN0aW9uIHMo
dCxuLHIpe3ZhciBhPW5bMF0sZT1uWzFdLHU9blsyXSxvPW5bM10saT1yWzBdLHM9clsxXSxjPXJb
Ml0sZj1yWzNdO3JldHVybiB0WzBdPWEqZitvKmkrZSpjLXUqcyx0WzFdPWUqZitvKnMrdSppLWEq
Yyx0WzJdPXUqZitvKmMrYSpzLWUqaSx0WzNdPW8qZi1hKmktZSpzLXUqYyx0fWZ1bmN0aW9uIGMo
dCxuLHIpe3IqPS41O3ZhciBhPW5bMF0sZT1uWzFdLHU9blsyXSxvPW5bM10saT1NYXRoLnNpbihy
KSxzPU1hdGguY29zKHIpO3JldHVybiB0WzBdPWEqcytvKmksdFsxXT1lKnMrdSppLHRbMl09dSpz
LWUqaSx0WzNdPW8qcy1hKmksdH1mdW5jdGlvbiBmKHQsbixyKXtyKj0uNTt2YXIgYT1uWzBdLGU9
blsxXSx1PW5bMl0sbz1uWzNdLGk9TWF0aC5zaW4ocikscz1NYXRoLmNvcyhyKTtyZXR1cm4gdFsw
XT1hKnMtdSppLHRbMV09ZSpzK28qaSx0WzJdPXUqcythKmksdFszXT1vKnMtZSppLHR9ZnVuY3Rp
b24gTSh0LG4scil7cio9LjU7dmFyIGE9blswXSxlPW5bMV0sdT1uWzJdLG89blszXSxpPU1hdGgu
c2luKHIpLHM9TWF0aC5jb3Mocik7cmV0dXJuIHRbMF09YSpzK2UqaSx0WzFdPWUqcy1hKmksdFsy
XT11KnMrbyppLHRbM109bypzLXUqaSx0fWZ1bmN0aW9uIGgodCxuKXt2YXIgcj1uWzBdLGE9blsx
XSxlPW5bMl07cmV0dXJuIHRbMF09cix0WzFdPWEsdFsyXT1lLHRbM109TWF0aC5zcXJ0KE1hdGgu
YWJzKDEtcipyLWEqYS1lKmUpKSx0fWZ1bmN0aW9uIGwodCxuLHIsYSl7dmFyIGU9blswXSx1PW5b
MV0sbz1uWzJdLGk9blszXSxzPXJbMF0sYz1yWzFdLGY9clsyXSxNPXJbM10saD12b2lkIDAsbD12
b2lkIDAsdj12b2lkIDAsZD12b2lkIDAsYj12b2lkIDA7cmV0dXJuIGw9ZSpzK3UqYytvKmYraSpN
LGw8MCYmKGw9LWwscz0tcyxjPS1jLGY9LWYsTT0tTSksMS1sPjFlLTY/KGg9TWF0aC5hY29zKGwp
LHY9TWF0aC5zaW4oaCksZD1NYXRoLnNpbigoMS1hKSpoKS92LGI9TWF0aC5zaW4oYSpoKS92KToo
ZD0xLWEsYj1hKSx0WzBdPWQqZStiKnMsdFsxXT1kKnUrYipjLHRbMl09ZCpvK2IqZix0WzNdPWQq
aStiKk0sdH1mdW5jdGlvbiB2KHQsbil7dmFyIHI9blswXSxhPW5bMV0sZT1uWzJdLHU9blszXSxv
PXIqcithKmErZSplK3UqdSxpPW8/MS9vOjA7cmV0dXJuIHRbMF09LXIqaSx0WzFdPS1hKmksdFsy
XT0tZSppLHRbM109dSppLHR9ZnVuY3Rpb24gZCh0LG4pe3JldHVybiB0WzBdPS1uWzBdLHRbMV09
LW5bMV0sdFsyXT0tblsyXSx0WzNdPW5bM10sdH1mdW5jdGlvbiBiKHQsbil7dmFyIHI9blswXStu
WzRdK25bOF0sYT12b2lkIDA7aWYocj4wKWE9TWF0aC5zcXJ0KHIrMSksdFszXT0uNSphLGE9LjUv
YSx0WzBdPShuWzVdLW5bN10pKmEsdFsxXT0obls2XS1uWzJdKSphLHRbMl09KG5bMV0tblszXSkq
YTtlbHNle3ZhciBlPTA7bls0XT5uWzBdJiYoZT0xKSxuWzhdPm5bMyplK2VdJiYoZT0yKTt2YXIg
dT0oZSsxKSUzLG89KGUrMiklMzthPU1hdGguc3FydChuWzMqZStlXS1uWzMqdSt1XS1uWzMqbytv
XSsxKSx0W2VdPS41KmEsYT0uNS9hLHRbM109KG5bMyp1K29dLW5bMypvK3VdKSphLHRbdV09KG5b
Myp1K2VdK25bMyplK3VdKSphLHRbb109KG5bMypvK2VdK25bMyplK29dKSphfXJldHVybiB0fWZ1
bmN0aW9uIG0odCxuLHIsYSl7dmFyIGU9LjUqTWF0aC5QSS8xODA7bio9ZSxyKj1lLGEqPWU7dmFy
IHU9TWF0aC5zaW4obiksbz1NYXRoLmNvcyhuKSxpPU1hdGguc2luKHIpLHM9TWF0aC5jb3Mociks
Yz1NYXRoLnNpbihhKSxmPU1hdGguY29zKGEpO3JldHVybiB0WzBdPXUqcypmLW8qaSpjLHRbMV09
byppKmYrdSpzKmMsdFsyXT1vKnMqYy11KmkqZix0WzNdPW8qcypmK3UqaSpjLHR9ZnVuY3Rpb24g
cCh0KXtyZXR1cm4icXVhdCgiK3RbMF0rIiwgIit0WzFdKyIsICIrdFsyXSsiLCAiK3RbM10rIiki
fU9iamVjdC5kZWZpbmVQcm9wZXJ0eShuLCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSxuLnNldEF4
ZXM9bi5zcWxlcnA9bi5yb3RhdGlvblRvPW4uZXF1YWxzPW4uZXhhY3RFcXVhbHM9bi5ub3JtYWxp
emU9bi5zcXJMZW49bi5zcXVhcmVkTGVuZ3RoPW4ubGVuPW4ubGVuZ3RoPW4ubGVycD1uLmRvdD1u
LnNjYWxlPW4ubXVsPW4uYWRkPW4uc2V0PW4uY29weT1uLmZyb21WYWx1ZXM9bi5jbG9uZT12b2lk
IDAsbi5jcmVhdGU9ZSxuLmlkZW50aXR5PXUsbi5zZXRBeGlzQW5nbGU9byxuLmdldEF4aXNBbmds
ZT1pLG4ubXVsdGlwbHk9cyxuLnJvdGF0ZVg9YyxuLnJvdGF0ZVk9ZixuLnJvdGF0ZVo9TSxuLmNh
bGN1bGF0ZVc9aCxuLnNsZXJwPWwsbi5pbnZlcnQ9dixuLmNvbmp1Z2F0ZT1kLG4uZnJvbU1hdDM9
YixuLmZyb21FdWxlcj1tLG4uc3RyPXA7dmFyIFA9cigwKSxFPWEoUCksTz1yKDEpLHg9YShPKSxB
PXIoMikscT1hKEEpLHk9cigzKSx3PWEoeSksUj0obi5jbG9uZT13LmNsb25lLG4uZnJvbVZhbHVl
cz13LmZyb21WYWx1ZXMsbi5jb3B5PXcuY29weSxuLnNldD13LnNldCxuLmFkZD13LmFkZCxuLm11
bD1zLG4uc2NhbGU9dy5zY2FsZSxuLmRvdD13LmRvdCxuLmxlcnA9dy5sZXJwLG4ubGVuZ3RoPXcu
bGVuZ3RoKSxMPShuLmxlbj1SLG4uc3F1YXJlZExlbmd0aD13LnNxdWFyZWRMZW5ndGgpLFM9KG4u
c3FyTGVuPUwsbi5ub3JtYWxpemU9dy5ub3JtYWxpemUpO24uZXhhY3RFcXVhbHM9dy5leGFjdEVx
dWFscyxuLmVxdWFscz13LmVxdWFscyxuLnJvdGF0aW9uVG89ZnVuY3Rpb24oKXt2YXIgdD1xLmNy
ZWF0ZSgpLG49cS5mcm9tVmFsdWVzKDEsMCwwKSxyPXEuZnJvbVZhbHVlcygwLDEsMCk7cmV0dXJu
IGZ1bmN0aW9uKGEsZSx1KXt2YXIgaT1xLmRvdChlLHUpO3JldHVybiBpPC0uOTk5OTk5PyhxLmNy
b3NzKHQsbixlKSxxLmxlbih0KTwxZS02JiZxLmNyb3NzKHQscixlKSxxLm5vcm1hbGl6ZSh0LHQp
LG8oYSx0LE1hdGguUEkpLGEpOmk+Ljk5OTk5OT8oYVswXT0wLGFbMV09MCxhWzJdPTAsYVszXT0x
LGEpOihxLmNyb3NzKHQsZSx1KSxhWzBdPXRbMF0sYVsxXT10WzFdLGFbMl09dFsyXSxhWzNdPTEr
aSxTKGEsYSkpfX0oKSxuLnNxbGVycD1mdW5jdGlvbigpe3ZhciB0PWUoKSxuPWUoKTtyZXR1cm4g
ZnVuY3Rpb24ocixhLGUsdSxvLGkpe3JldHVybiBsKHQsYSxvLGkpLGwobixlLHUsaSksbChyLHQs
biwyKmkqKDEtaSkpLHJ9fSgpLG4uc2V0QXhlcz1mdW5jdGlvbigpe3ZhciB0PXguY3JlYXRlKCk7
cmV0dXJuIGZ1bmN0aW9uKG4scixhLGUpe3JldHVybiB0WzBdPWFbMF0sdFszXT1hWzFdLHRbNl09
YVsyXSx0WzFdPWVbMF0sdFs0XT1lWzFdLHRbN109ZVsyXSx0WzJdPS1yWzBdLHRbNV09LXJbMV0s
dFs4XT0tclsyXSxTKG4sYihuLHQpKX19KCl9LGZ1bmN0aW9uKHQsbixyKXsidXNlIHN0cmljdCI7
ZnVuY3Rpb24gYSgpe3ZhciB0PW5ldyBWLkFSUkFZX1RZUEUoMik7cmV0dXJuIHRbMF09MCx0WzFd
PTAsdH1mdW5jdGlvbiBlKHQpe3ZhciBuPW5ldyBWLkFSUkFZX1RZUEUoMik7cmV0dXJuIG5bMF09
dFswXSxuWzFdPXRbMV0sbn1mdW5jdGlvbiB1KHQsbil7dmFyIHI9bmV3IFYuQVJSQVlfVFlQRSgy
KTtyZXR1cm4gclswXT10LHJbMV09bixyfWZ1bmN0aW9uIG8odCxuKXtyZXR1cm4gdFswXT1uWzBd
LHRbMV09blsxXSx0fWZ1bmN0aW9uIGkodCxuLHIpe3JldHVybiB0WzBdPW4sdFsxXT1yLHR9ZnVu
Y3Rpb24gcyh0LG4scil7cmV0dXJuIHRbMF09blswXStyWzBdLHRbMV09blsxXStyWzFdLHR9ZnVu
Y3Rpb24gYyh0LG4scil7cmV0dXJuIHRbMF09blswXS1yWzBdLHRbMV09blsxXS1yWzFdLHR9ZnVu
Y3Rpb24gZih0LG4scil7cmV0dXJuIHRbMF09blswXSpyWzBdLHRbMV09blsxXSpyWzFdLHR9ZnVu
Y3Rpb24gTSh0LG4scil7cmV0dXJuIHRbMF09blswXS9yWzBdLHRbMV09blsxXS9yWzFdLHR9ZnVu
Y3Rpb24gaCh0LG4pe3JldHVybiB0WzBdPU1hdGguY2VpbChuWzBdKSx0WzFdPU1hdGguY2VpbChu
WzFdKSx0fWZ1bmN0aW9uIGwodCxuKXtyZXR1cm4gdFswXT1NYXRoLmZsb29yKG5bMF0pLHRbMV09
TWF0aC5mbG9vcihuWzFdKSx0fWZ1bmN0aW9uIHYodCxuLHIpe3JldHVybiB0WzBdPU1hdGgubWlu
KG5bMF0sclswXSksdFsxXT1NYXRoLm1pbihuWzFdLHJbMV0pLHR9ZnVuY3Rpb24gZCh0LG4scil7
cmV0dXJuIHRbMF09TWF0aC5tYXgoblswXSxyWzBdKSx0WzFdPU1hdGgubWF4KG5bMV0sclsxXSks
dH1mdW5jdGlvbiBiKHQsbil7cmV0dXJuIHRbMF09TWF0aC5yb3VuZChuWzBdKSx0WzFdPU1hdGgu
cm91bmQoblsxXSksdH1mdW5jdGlvbiBtKHQsbixyKXtyZXR1cm4gdFswXT1uWzBdKnIsdFsxXT1u
WzFdKnIsdH1mdW5jdGlvbiBwKHQsbixyLGEpe3JldHVybiB0WzBdPW5bMF0rclswXSphLHRbMV09
blsxXStyWzFdKmEsdH1mdW5jdGlvbiBQKHQsbil7dmFyIHI9blswXS10WzBdLGE9blsxXS10WzFd
O3JldHVybiBNYXRoLnNxcnQocipyK2EqYSl9ZnVuY3Rpb24gRSh0LG4pe3ZhciByPW5bMF0tdFsw
XSxhPW5bMV0tdFsxXTtyZXR1cm4gcipyK2EqYX1mdW5jdGlvbiBPKHQpe3ZhciBuPXRbMF0scj10
WzFdO3JldHVybiBNYXRoLnNxcnQobipuK3Iqcil9ZnVuY3Rpb24geCh0KXt2YXIgbj10WzBdLHI9
dFsxXTtyZXR1cm4gbipuK3Iqcn1mdW5jdGlvbiBBKHQsbil7cmV0dXJuIHRbMF09LW5bMF0sdFsx
XT0tblsxXSx0fWZ1bmN0aW9uIHEodCxuKXtyZXR1cm4gdFswXT0xL25bMF0sdFsxXT0xL25bMV0s
dH1mdW5jdGlvbiB5KHQsbil7dmFyIHI9blswXSxhPW5bMV0sZT1yKnIrYSphO3JldHVybiBlPjAm
JihlPTEvTWF0aC5zcXJ0KGUpLHRbMF09blswXSplLHRbMV09blsxXSplKSx0fWZ1bmN0aW9uIHco
dCxuKXtyZXR1cm4gdFswXSpuWzBdK3RbMV0qblsxXX1mdW5jdGlvbiBSKHQsbixyKXt2YXIgYT1u
WzBdKnJbMV0tblsxXSpyWzBdO3JldHVybiB0WzBdPXRbMV09MCx0WzJdPWEsdH1mdW5jdGlvbiBM
KHQsbixyLGEpe3ZhciBlPW5bMF0sdT1uWzFdO3JldHVybiB0WzBdPWUrYSooclswXS1lKSx0WzFd
PXUrYSooclsxXS11KSx0fWZ1bmN0aW9uIFModCxuKXtuPW58fDE7dmFyIHI9MipWLlJBTkRPTSgp
Kk1hdGguUEk7cmV0dXJuIHRbMF09TWF0aC5jb3Mocikqbix0WzFdPU1hdGguc2luKHIpKm4sdH1m
dW5jdGlvbiBfKHQsbixyKXt2YXIgYT1uWzBdLGU9blsxXTtyZXR1cm4gdFswXT1yWzBdKmErclsy
XSplLHRbMV09clsxXSphK3JbM10qZSx0fWZ1bmN0aW9uIEkodCxuLHIpe3ZhciBhPW5bMF0sZT1u
WzFdO3JldHVybiB0WzBdPXJbMF0qYStyWzJdKmUrcls0XSx0WzFdPXJbMV0qYStyWzNdKmUrcls1
XSx0fWZ1bmN0aW9uIE4odCxuLHIpe3ZhciBhPW5bMF0sZT1uWzFdO3JldHVybiB0WzBdPXJbMF0q
YStyWzNdKmUrcls2XSx0WzFdPXJbMV0qYStyWzRdKmUrcls3XSx0fWZ1bmN0aW9uIFkodCxuLHIp
e3ZhciBhPW5bMF0sZT1uWzFdO3JldHVybiB0WzBdPXJbMF0qYStyWzRdKmUrclsxMl0sdFsxXT1y
WzFdKmErcls1XSplK3JbMTNdLHR9ZnVuY3Rpb24gZyh0KXtyZXR1cm4idmVjMigiK3RbMF0rIiwg
Iit0WzFdKyIpIn1mdW5jdGlvbiBUKHQsbil7cmV0dXJuIHRbMF09PT1uWzBdJiZ0WzFdPT09blsx
XX1mdW5jdGlvbiBqKHQsbil7dmFyIHI9dFswXSxhPXRbMV0sZT1uWzBdLHU9blsxXTtyZXR1cm4g
TWF0aC5hYnMoci1lKTw9Vi5FUFNJTE9OKk1hdGgubWF4KDEsTWF0aC5hYnMociksTWF0aC5hYnMo
ZSkpJiZNYXRoLmFicyhhLXUpPD1WLkVQU0lMT04qTWF0aC5tYXgoMSxNYXRoLmFicyhhKSxNYXRo
LmFicyh1KSl9T2JqZWN0LmRlZmluZVByb3BlcnR5KG4sIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0p
LG4uZm9yRWFjaD1uLnNxckxlbj1uLnNxckRpc3Q9bi5kaXN0PW4uZGl2PW4ubXVsPW4uc3ViPW4u
bGVuPXZvaWQgMCxuLmNyZWF0ZT1hLG4uY2xvbmU9ZSxuLmZyb21WYWx1ZXM9dSxuLmNvcHk9byxu
LnNldD1pLG4uYWRkPXMsbi5zdWJ0cmFjdD1jLG4ubXVsdGlwbHk9ZixuLmRpdmlkZT1NLG4uY2Vp
bD1oLG4uZmxvb3I9bCxuLm1pbj12LG4ubWF4PWQsbi5yb3VuZD1iLG4uc2NhbGU9bSxuLnNjYWxl
QW5kQWRkPXAsbi5kaXN0YW5jZT1QLG4uc3F1YXJlZERpc3RhbmNlPUUsbi5sZW5ndGg9TyxuLnNx
dWFyZWRMZW5ndGg9eCxuLm5lZ2F0ZT1BLG4uaW52ZXJzZT1xLG4ubm9ybWFsaXplPXksbi5kb3Q9
dyxuLmNyb3NzPVIsbi5sZXJwPUwsbi5yYW5kb209UyxuLnRyYW5zZm9ybU1hdDI9XyxuLnRyYW5z
Zm9ybU1hdDJkPUksbi50cmFuc2Zvcm1NYXQzPU4sbi50cmFuc2Zvcm1NYXQ0PVksbi5zdHI9Zyxu
LmV4YWN0RXF1YWxzPVQsbi5lcXVhbHM9ajt2YXIgRD1yKDApLFY9ZnVuY3Rpb24odCl7aWYodCYm
dC5fX2VzTW9kdWxlKXJldHVybiB0O3ZhciBuPXt9O2lmKG51bGwhPXQpZm9yKHZhciByIGluIHQp
T2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKHQscikmJihuW3JdPXRbcl0pO3Jl
dHVybiBuLmRlZmF1bHQ9dCxufShEKTtuLmxlbj1PLG4uc3ViPWMsbi5tdWw9ZixuLmRpdj1NLG4u
ZGlzdD1QLG4uc3FyRGlzdD1FLG4uc3FyTGVuPXgsbi5mb3JFYWNoPWZ1bmN0aW9uKCl7dmFyIHQ9
YSgpO3JldHVybiBmdW5jdGlvbihuLHIsYSxlLHUsbyl7dmFyIGk9dm9pZCAwLHM9dm9pZCAwO2Zv
cihyfHwocj0yKSxhfHwoYT0wKSxzPWU/TWF0aC5taW4oZSpyK2Esbi5sZW5ndGgpOm4ubGVuZ3Ro
LGk9YTtpPHM7aSs9cil0WzBdPW5baV0sdFsxXT1uW2krMV0sdSh0LHQsbyksbltpXT10WzBdLG5b
aSsxXT10WzFdO3JldHVybiBufX0oKX1dKX0pOwpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUK
ZGlmZiAtLWdpdCBhL1dlYnNpdGVzL3dlYmtpdC5vcmcvZGVtb3Mvd2ViZ3B1L2hlbGxvLmh0bWwg
Yi9XZWJzaXRlcy93ZWJraXQub3JnL2RlbW9zL3dlYmdwdS9oZWxsby5odG1sCmRlbGV0ZWQgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAyZTBkMWQ4NGU1ZTBiNmFhODM3MTRlZDczNzhkN2U2YTgwNjUw
NDE3Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL1dlYnNp
dGVzL3dlYmtpdC5vcmcvZGVtb3Mvd2ViZ3B1L2hlbGxvLmh0bWwKKysrIC9kZXYvbnVsbApAQCAt
MSw1OCArMCwwIEBACi08IURPQ1RZUEUgaHRtbD4KLTxodG1sPgotPGhlYWQ+Ci08bWV0YSBuYW1l
PSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9NjAwIj4KLTxtZXRhIGh0dHAtZXF1aXY9IkNvbnRl
bnQtdHlwZSIgY29udGVudD0idGV4dC9odG1sOyBjaGFyc2V0PXV0Zi04Ij4KLTx0aXRsZT5XZWJH
UFUgSGVsbG8gV29ybGQgZGVtbzwvdGl0bGU+Ci08bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9
InNoYXJlZC5jc3MiPgotPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSJodHRwczovL3dlYmtp
dC5vcmcvd3AtY29udGVudC90aGVtZXMvd2Via2l0L3N0eWxlLmNzcyI+Ci08bGluayByZWw9InN0
eWxlc2hlZXQiIGhyZWY9Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS93c3MvZm9udHM/ZmFtaWx5PU15
cmlhZCtTZXQrUHJvJmFtcDt2PTEiPgotPHNjcmlwdCBzcmM9InNoYXJlZC5qcyI+PC9zY3JpcHQ+
Ci08c2NyaXB0IHNyYz0iaGVsbG8uanMiPjwvc2NyaXB0PgotPHNjcmlwdCBpZD0ibGlicmFyeSIg
dHlwZT0ieC1zaGFkZXIveC1tZXRhbCI+Ci0jaW5jbHVkZSA8bWV0YWxfc3RkbGliPgotCi11c2lu
ZyBuYW1lc3BhY2UgbWV0YWw7Ci0KLXN0cnVjdCBWZXJ0ZXgKLXsKLSAgICBmbG9hdDQgcG9zaXRp
b24gW1twb3NpdGlvbl1dOwotfTsKLQotdmVydGV4IFZlcnRleCB2ZXJ0ZXhfbWFpbih1aW50IHZp
ZCBbW3ZlcnRleF9pZF1dKQotewotICAgIFZlcnRleCB2OwotICAgIHN3aXRjaCAodmlkKSB7Ci0g
ICAgY2FzZSAwOgotICAgICAgICB2LnBvc2l0aW9uID0gZmxvYXQ0KC0uNzUsIC0uNzUsIDAsIDEp
OwotICAgICAgICBicmVhazsKLSAgICBjYXNlIDE6Ci0gICAgICAgIHYucG9zaXRpb24gPSBmbG9h
dDQoLjc1LCAtLjc1LCAwLCAxKTsKLSAgICAgICAgYnJlYWs7Ci0gICAgY2FzZSAyOgotICAgICAg
ICB2LnBvc2l0aW9uID0gZmxvYXQ0KDAsIC43NSwgMCwgMSk7Ci0gICAgICAgIGJyZWFrOwotICAg
IGRlZmF1bHQ6Ci0gICAgICAgIHYucG9zaXRpb24gPSBmbG9hdDQoMCwgMCwgMCwgMSk7Ci0gICAg
fQotICAgIHJldHVybiB2OwotfQotCi1mcmFnbWVudCBmbG9hdDQgZnJhZ21lbnRfbWFpbihWZXJ0
ZXggdmVydGV4SW4gW1tzdGFnZV9pbl1dKQotewotICAgIHJldHVybiBmbG9hdDQoMS4wLCAwLjAs
IDAuMCwgMS4wKTsKLX0KLTwvc2NyaXB0PgotPC9oZWFkPgotPGJvZHk+Ci08Y2FudmFzPjwvY2Fu
dmFzPgotPGRpdiBpZD0iZXJyb3IiPgotICAgIDxoMj5XZWJHUFUgbm90IGF2YWlsYWJsZTwvaDI+
Ci0gICAgPHA+Ci0gICAgICAgIE1ha2Ugc3VyZSB5b3UgYXJlIG9uIGEgc3lzdGVtIHdpdGggV2Vi
R1BVIGVuYWJsZWQuIEluCi0gICAgICAgIFNhZmFyaSwgZmlyc3QgbWFrZSBzdXJlIHRoZSBEZXZl
bG9wZXIgTWVudSBpcyB2aXNpYmxlIChQcmVmZXJlbmNlcyDihpIKLSAgICAgICAgQWR2YW5jZWQp
LCB0aGVuIERldmVsb3Ag4oaSIEV4cGVyaW1lbnRhbCBGZWF0dXJlcyDihpIgRW5hYmxlIFdlYkdQ
VS4KLSAgICA8L3A+Ci08L2Rpdj4KLTwvYm9keT4KLTwvaHRtbD4KZGlmZiAtLWdpdCBhL1dlYnNp
dGVzL3dlYmtpdC5vcmcvZGVtb3Mvd2ViZ3B1L2hlbGxvLmpwZyBiL1dlYnNpdGVzL3dlYmtpdC5v
cmcvZGVtb3Mvd2ViZ3B1L2hlbGxvLmpwZwpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
ODcxMDAzOWRhN2YyOGY2MzY5OTJkM2JiZWFiOWY3NGY1MTA1MmYzNi4uMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMApHSVQgYmluYXJ5IHBhdGNoCmxpdGVyYWwgMApIY21W
P2QwMDAwMQoKbGl0ZXJhbCAzODYzMwp6Y21lRloxejIyNXdnJFF6Y2heOTBjTVQyIWYoSG9oRyFC
aXNUT2ZmMWNNPjJXYzw9O3dtdFl9eWFFRml0NFgkc0sKem5SRGo4YGB0VHA9RkI8c3pWRj9zWDde
clF5UTtjWSl2OCkre2s1OCMmb0BmfGotc3JCRUM3SzNmSVJwRFprQjxFCnpHVHR5TjA4bXkyU081
UygwcEs4YjA2YSlSeiF3az4wfXlgRjBLZnA9MFJaanwrJUd4cyYpPmxSamxPKyZ2eTRoQAp6PEw+
UyglKnBCSyMkanNWV007YD4/JlFHZlpSKlUpJkI0VjloKVFAbm8wezhNeD5LMjFURWlVMFhtJVQw
WHtjWnAKelZsK0RaJTNSOU0odn4oYmQwJHNjNFBPO2FiNi0xaUFxeUdfYVZrLTdWUSZYIzJUT05U
RHNLbVNNPms8X0ZgQSFeCnozeG83K0hZV3wkJm0hKTJWbD13U2tFbz1iVHJIe2lJcnVvWlh1I1U4
N0ZOUlE0YGx5Wjd5S2tmXlZkIyNkM2tZbwp6QHAzcjFUNjF5PjI/PXA+QG9ANit1IUFNby1Gekl+
T30qSjItRHJQbDtlbi1feGh1QHM5cD5hbmI9I3Q7blVqYVIKejchM180X3pqJFl7ZmItaSpTP0JW
e1VgbHIxcFlHdXt+M1kqaktGX0o7NkVlcWV7VGYtWDY7eHlmK21nXlh2K1hNCnora29JQjh6Ki1z
SHliQnNEcWFwUUt1fTZTOFI2RSowQEZ7THt3SWt1ZW04MTU3TnxoajNQeWVMe1p1T09XYCpSbAp6
ZzB3WEJrLURtXiFiNiMjSFhPK1pRKWcjO0kyLV9RYUNDUTdteUBFPil6aGEhVUl0QSFKa1hTNTEy
fDMxLUpCJksKekokaVdDPH1kZjM/Zj8zQUpiNyNBMGwqbWhaQ2slKXwyNntHMHlLKzJUayNRQyt8
MHR3K3lTSmt6LSFSbCswYDhZCno7RGY8QFN9JTkhVFJJbnszMCVQcmZeXisyWlQlTnxAUm0wRjMl
JkhTakhiRllTbXFHNE1sbm9IVTlBQkMxSXp9Zgp6Sms3MWFifSo7XzAxNDAwMF9GJCtjemhyJlpm
O3wwMFJTWjZHbDAjKCFSZU5NMUpYPXB8RF8lNHwzYUlabipHfFEKenNqMm1eXmp+LVpZbDJfPTBP
c2F3WnxkeyYheW96UFZEQUJyKlV2LSl6R0srOSVCekVTSSZqUzErQnFyeE47e2dWCnpzUSFgPDEz
Q0pJdygqZUhgaF8ta2xMcDd+RkxmPFVBMU03b2QpUjQ3e3o5OSZnNEFFanp9eXV5ZjF6RVMpUEhU
Pwp6KE8lX05LN1JKVyMhfSV8K1J7eCU8Q2xDWm41QER0dzZCZSgmTSZrbE9rM3BfK1JhWW0qRk5+
I05kS0RlPllASD8KenBSSFZGZjkyN140WHBYcz89PzY1K2pxSSFYbzlaRVU7MU98cnUlRHVFRyE/
JHtGPzhtXj1zZHAtS0JuUSk3ayF+Cnp0cERXMihxOFZAZF5iO3hVK2NRTllXfHZVWXBRckZ5RmJm
MnlGZERNZTFNMDU0RGJNOzA7QjtMOzBSYSg0dUMyNgp6PT5obzM0UjhrUiFCME4hbWZwOEEyU19f
UGA/JGlhWlFROU8hNCtnbHJRbTRKIUE4WnkjVnI1O3g5am4/MztfSTQKenxHQ1p9TThraX1hez1v
TTN4UXRNdEgwJSR2STBOQDhATUQmeyszNX40Kjx+OTBpYmMhK3s0eExGWU9gUi1WZ3lhCnowMj8z
eE5DNjZmN0dNSXswVXFFVUFPaFM2ZCM/em4wLUFzeFU8e1o4SGVtbDwwV1pLR2NucExBa3c2QGY0
NVJePgp6S28wTzBDPFE4alRBJkdOMllQQDM7MWUoYiVtUGNtSWA5cUgxQ0RfVTJuMiEqIUd6I0xO
RmtJRWRJJjNvMk88YSYKemhzWiE0TGV3Rjg1RUY8cyMxWX5GQHJRJiRBfFZOb0cpTll0NWJfPlU0
ezMrPUt9STBja1kmZ2c8TiRJRzJNPm48CnpNKncjaGpzY0RuUDdxRUtQNjx2RSZJcnlMJklRZ0Y/
Zz9CQit6WXNEeER2UDt4T1RWIXhDeXU9eE5tU3JAQmxuSQp6SlB8eEtKVWhHfnlmbk5qeWdzfVl5
ZW9WbGQ8MSs3ZF5VVTtkO0AkaHsyMlRhe0NEXj4xU0FBfTFTJGt9MVE3JnoKejFUNiR9MVEmIXJn
ZVpoR2d0ckphMndlemMyK0loMjItaz8xaH4kV0Boe0F7cGhgTlpAaCtjP2NoJClFcWh9RFNRCnpo
IWNxR2h7czRzTkpMMUNOQ0hVbU5QMC1OTlBiOUJOVXhCfWs9bD8oa1hEaDdrZGN1fGt5KCsma1g0
YVFrPT5FUQp6a1k2SH5BaCNscUJDaksjcU0pTnRxVlMtfHFVZlZJcUoqSE5wY0o5QnBwMnF5cUZr
V2pwd2dvWHFwRzQ+cCElVDMKenFVTkdEcGJuJDFxaDZybHFBe1kwcD1xTW9xQ0d9P2ZtVmpyalcm
biYxMDVabTIzLWhVNElQRmFqUSNAczlyXzNLCnpXJU0lKUpQWn5MWCQoVVE0fiFVJDAqcDN7WF5i
RDNuM3hRaF9jOFNgLTcjWUAzbyR6fTdjZnQ7QFVifHM2dEZDPwp6ZzBSeERZT3FHSmNDYjtnPjlI
bFRqaj9eUFE/TShzaHExcm9weUR2I05hTDh8MW1kTFEpWjxMeTlPMl5RYV50R3YKekleYWcoN1VB
fmNlISlZPVc1QVFhdiVxX1RteElAZHd+N3lzUG0zPiZaO2xefHBOcnAoemZPUWV6KH1BI1VgcjU1
CnpQKWhLVFYyPT13a2RJS0MoMz4hd3UkZ2QpMiVkPDZOUCk8bkQzKyojWHAtb2hfJTUqfHVfZl95
O3hnaDw7dThgdwp6bEtVaTxCb1FSI0JvaWQocSpTQ2JxO3tuN3FfdzI7Y00kSGQrKT15WmI/NWIr
P21PU2YyKl5hcCUqaTZpRCMmS1kKejttQkZZKXllKEhiSTFxRGtNMl8zbUFtVkZfdlBLcnlXYzVA
RERHMyhRWTJCZFA7NjErUTtKaTxEM2Q1I0RaZiQ/CnpRYnwoVFFAeDwtcVN+Vi1yPFNNb3B3NlFI
TlBSKVdOVFdwKUxRX3NOUG00dz9OTll1I01CNzJUTUBMRGdPeV5IbQp6T2dCVDFOLXMhbkwhVjBE
T01rK14kZV9heiZRUXpuZ15gMyZmemcrLW1+b0I/bFN6V2ZnKDtoOW9FZUUoa2xCdjsKejc0cygr
STJMe3U4PHVwSVZPQldTZCNvX2xTRjlzIWgtXlleaiU/WCVRfHVWKmxJKSlCI3E3JSpMPnZ6fUxP
NXpVCnpifnghY14qUTQ/ZHBXUFVfX14lNGE9Qik/QHdnU2FMJTE4YjR8ckkzJXo0c3ojKDZQJFdx
RV5tPnY7RzFTb3RqWgp6VWh7cUMkTENrKDU5amFUenElKUkmLUdyfXkpNk1jMFRZMT9maGo9KCFB
RjhvZioqdHNnYHxYbmdxbm9UZ3pwS3YKejNzKHM1aW07Mj1pND0pXjVvSHYkNndNVn42ezhVfDcw
VkpeNX5tVjM1cX40VEJ0YjE8RHY+UiphLWE2VCNyXiNJCnpvMDgwdXd2cnsxSjVwUnl1MlIpZkMo
Xj53MG4lKmA7MiszNmg8TlooMjJWeXlDUVc4Um1QWGNFd3BleWdqJGg3Qwp6dTF5fE1VUChTKWVv
RW80ZzFKSlchayhnbFZ0YF9vNXs4bjdRa3Y0ckx6YWlHNDt6JT5sb2djfG1GSENHUlVCMW4KelJS
TDg2KWtNfCNNfnNoTDl5T3tWc1hiQ2xTS0NuTVJgKngkKXhnKClZN31XNFlmNVJ4WVIrbWdYP2JY
TVhrJSp8CnpZOFBzcz1zZUkjJntAKnUpRDYlYig3VTR0KTJxYCoqNE5oMCpGUTNsRi1TSThIez5A
QUduX1BISDFhbTtHcm5WTgp6WmA9JlVoTUdidk8lUDNWT29+aHtPO3ReXk9eP2hKJXJlYU8lJSNt
ISZBKGFQd0A5K3N2SnxzU3Utdm9+dnI0ZX4KelZsOEghWHVWfTRWVXVGPjlWUUorZ1lEYk8raCpG
SCpzMG5UKnhsSWMqcTF3P0lHOHhwSkt7T29JZChad0lDKHBiCnpJSX12M0lXTV5neUNsMnB4aGxF
bHlGdUtILTBJdjNLKk1MeWdVUkVtJEZpcm1YUyhPOW0kcH0+SD9GcyVfbjs0cAp6JnZUem1Vcz5O
Z0tMa0g+elljJER8SHVCejBnP2UoZnNqRDZ6PlhsPXBlSTQ9IUUoV0dBRVEwQ2RwczF2Nl9PQmcK
ejdeKU42QFp8MjM7M3VuMzwoP0xZVlRITWRPQClodVhGZnhDMjdDN0xJcSZuQSYjeG1hQktqa19C
Mnl3U3FzKmlGCnpxcShEQk1CbF8lI2U5c3Q3eUNMNkRiNnUmR0Z+RzdaMzFxQlpeQ00jYSQtI3FS
Wj5MS1ZLT3dpRk5INTlHWmloPgp6QlgjTTsheHdjZz4wWlhZeWlCdTZuQEU+UkZWNyYpYyVFX2Ml
SHF9Tj4tKD9FR1ZmK2FXfWQlK3o0QEZhbXNPTF4KemtlIWwpbDtmR1JrKmw1Q248dG84bjEzZmZH
WEpXO3YwJit+YHJFRVRmeF5OZkB9ayZjeE1HanV0ckVrTVBvKW5eCno+Jm4+NnZkVzNkQml7azxK
bD1oTVp9TlYhTGFDeW9RbjBlRGlvUG5OOG94VEMyMiRmd3ZzWV9WeUh1eEZIJlUteQp6LV9hbl9Q
fkZKVVNrT2U+bC1eOSg5TlU3e0B9JVhhKXdsSmkmQUlKK3lMSjAmMmVmMGhRQDMteE9SZWk7d15I
fHEKejlAKERHVWRpNnA0YExzaGBoQCVIYHZ2PUoya3M1ajREdF9GNUFoRkdmNHVqeFc+e2RqP3Z2
MWBoN3IrYG1RamgoCnpfT1M8Sko+dkBGMH4wQ31CYT5RX3BRajlgbU9majJ7eFdTcHkrN2tRYjFA
cXtoZDM4OGsyOWFMSykjVEAkaD1zLQp6YlpARDdgTjh0d2lwSSs5c2A9YC1ITWgwUF4oUHljOCE0
TlZufXVJXnpCRnlnWmhpVntAT0F5MF5TNnVkVmNXUmQKejg5UGluUmxFMGgybHNVTSo3c2ZhWnd7
aDxrcDN0KjxVOHkqZFVVaks+fk1UPjVeK2o7YHUwcmx0b0t+IWVEbEtWCno2OFpBUTc0dWNZd2JK
JDZqbDwyMnYjRzE7UGd+Iz91NyRHI0xFTTdeMEtuNygwUV5xP2ZRSSFLZC0tUHgoNDI7Vgp6V2s2
YVIhVTZkUF9YXiReZmYqNFFhVVc/NWM/eDlfYnM2bWgwfSt6fU85fFRAPU1DLUBLMDFMb3ApWE42
QGdeekQKejlhRk1ZQD9pPUBOYDVMIT5LS3t8K0VLYjQxfl43NkNUd1BPYU9YUT8tRFg+NkFMSG9j
dG1ldylqXmhkN3dkSz8xCnp6a2lRSzBBSnV6YTl3Q254Sm8yTEcqcngxVHdPeF5LQVIrXjZwPUt9
MTVfQ1ZuSmR7N3hqcCRXM1FMTmdsfERZfgp6UiZHK01SNHNpfXEqa2IycSoxQ191SnZCS1FtMGI0
TzBQPTQoeEFmZHktflN3SWtkdjAmYX5aWigwdGxyIX04R1QKeiNzKGNtV0pfYm1ZUn5UPTtpJXhH
PCF0SFY8cj9qbEA4MFYxKj5tMzspclpQZ3opIXtCSml0M0pBfUJUWiZFdT8pCnolK01FNFZ4TllF
YEd2Yll2d0Ule3AlTig+I1VJVFNMbXJENGhhUWliZlMhbnhNM1BMTSFrV3RXTGhQa1huc1R+VQp6
aFFUWkkqTElvaVotVFNwdmFAb2tiTmxsYV5BRiNtNnB8Tmw3RTZfQW0wRmoxbXBeLSNAOzx3d3hV
I2FVcH1NdUUKenlTQUB4c0Q3a2pxVmFSbloxWkJ2VEk7dkFxWW41XiFZLXo2KFZqPVc8eyFOSkJL
azgxJF9Md3JNbXtiTForfCkoCnpJVWxfb3lCSSY2SUdXc18rNkpYPGIhSzdxXlc1bkMoODducz94
bWpQeyp9P3lgTChVfXFmTipjajRoSXt3Qkk8cwp6M3ZFbTlEQ3tjako9b190QVUtKHcoUj12diRu
SUc1MW5YcSt3RVFnaVQ8d0RUVipqJUpEKm9FIWhVQDAkfDI2KnsKemgqWEZfITFAMSp2Vnl2Z2op
cDt4RFQ4SCQ5Z0VYfWB2YWV5MDgwM2hYcSpJLVJRYitSdk5yTiMzUlglZVJUT208CnolX1F3MUp2
SVk1QkxmcFBHWUpiaSVQSCMkK2Voe1dqdlVTP0U+Q1V+OXRCPTVLNFFLcns8VkFrMF9CMjlMY1lT
cgp6QjJ1Q1pWa2x6WSM3ODlSPyZuQ3hPTkJeI0orUE5DbGh1fH1rezRJdFIteyFUZTJEejtSUWFw
UW9hKUc8NHs5Q2kKekVnRnJRYnowVGg/e3RjRl5ZeWF5KCtyWGZxbTlDaUwhZHo+TDhjKlE1JDFe
JjhJfWNCQDJ1LT0rRiYxU2h3VWNwCno9TiM0P3pkTjB9QWh7Qnx2QUlpbT16MlBPZz9ndkBsPSF5
I2pyeSt6OTBrRHpxZG1xNyEzYWVQeT8lMXxiU3JFPQp6ZUJAZDheU1glUSRrJFBFKElHS2p1P30o
OEB6eDJwaUxPYiQkKVBFY3NmalByVXVMSGpyb1lSbWUlMTg0QlhpKSoKeldZJHt0UTclIypOal4o
fj12JFJTWHB3VnFhN2tTMG8zaXJxPTZDKD9Dbl4+enpmfHAycFZyKmVBPVA2eDVII0x0CnpxSDFQ
blZRYn1XNktoeE8oQ2Y3QzNoR1ltRGQ9dFpGeDBveWU9dndKTUQmcWluRSNYMSRpcT5NRmBhUyEz
QnlVXwp6RGQ9YURYX0ZiI1M8Xll3ZEQ4e2NNZWArX1cjPCtEKXJoc1VfMlB9aiZBfjc4VGlhaFJ6
aGk5USo8c2tfKnlHJTEKejFTUjArJE1Sd08oVk9HSTZUPyZDR21eOTheUmJJfW0oZj9ZKlJuVVh8
ODQmTl94MWt+QUJ7a2kmPCRNd3lXc2phCnpDcmMrRXJAKjhYckx2PD1yRD5zRXB9U19sV3UjX2VW
UDxBd1dUakBpITtacyYkX2E0KDtNKE49JT0zWV9oQSpFIwp6YENoMWlpPWRIXmxDWGRYdHRnaTBz
bzFMY0N5QlFFbTZDNnotYmtsRU5TMjlfNFZNZCtfZn5MTHZ7b3tIc0h2PT0KekJDZE14NXZMbG5J
KWV0Q0NYRSlnSGwrQF5FfnlAb0tBcilGQStpeX49KnN2RWRTWV5GZFNNUHtmbnRlbU1QeUJHCnpM
ayhsRld3R1A1PVcqYjc2bXBWcW1VQl5hZ31PUHIyWWJZT1dfaTgkWnUxJVRvJWozWmU7Tm9FZ2Nn
a1A3JlFhfQp6WVNGYlA8NC0lbiVFTW5oaStKdTRWSCY5JUJeWFRgZ0JeMWZ5QilVQEtiUD0xYVZx
SV5AXnM0USlYeSliVVFWV3MKenI7bFpmeWMmS3psPTw8Xk5ZLVRiSmdEalJeM0Rxby1lTUxLN0V1
JjRseUg+dGw/aihpeXB3K2FwaEJrZEw2dWJYCnp7VGlgYTtXfmtPLVVpTV8pK1VCI25paCZ5dk5w
MUlpVm5JP19BWV5Mc1VHRUNvZXlTeF9XaG0lTDQoaFI7eT1DXgp6ZSpHekhCenlHRFNqS3FqTUVx
cHIpUldIdihfUy05dm8+PWteTGgmIWk7dEdubVVVTGxSJGJPWSl7ezVoWlo+YHkKeitGSlUwQEV1
e0JWMjVzKFhIUlZaIUdZYCMqK2MwZ2lEUXdJZCNCdUl0bWgwRFJGfFl6X303Pj5OVm9JPDd1QDds
CnpDbT99N1dpRl5Fdzg4PTRWTFNsNTc2SCVyJl9HQjYzamlLcjApVkN2MDRFZy0hMTN8fGE5bGFS
PkpKRWI8Y0E5Mgp6MDMtbDR6elBVfXs7P1ZXMSlQOCYoNUs3PnMpMFVXOXsyJTRnSFNfK0Eoe3s7
TkNjeisoZ1J0Q0x4TisxZGtGZV4KekZGXm45SjNKfThKaUlTX0lzNnZ7ST96K2dNZmlmcTBzM01j
TlozZHdOUmBNYSRSQH4qQz9xSn1DXk0pTXMwRTsoCno2b3xIczRuLWZxY3p7dWgkJTZTQml4NFhz
OHdMOSo0a0F1Q0UoVUhRLWQoJnhkOyREazB2Jj0pTExWWUBxQnEwPgp6I0dncClOenE3KUAySzI0
QitEUnxCbVomdDRUVW5ySWJ7S3I3QndQdTRVSGA9SFNHKnRHUUJ6aktFbmlLOGp9ZSMKekJsOSoo
Qzk0bWMxVW5NQEZoQEc0NFZOR3tJYDwrXjRSMEt1Sl4jYWRKT1VKZ18oRTkxSTNtUU4pTUF8QzUp
dkJzCnpaNiUqYldsNlVgU2R+U1ZXMDYtPGZHSXZ6ZGhAVlJgTG9LJkJUX1huYnhWeXslfEArbnBl
KEVFaDNIb3F0USEjLQp6JVI7P09pY09jeU5pOCVpPEU9KClATHteUFp8dUgxaCZhWUxaTXcqfjdQ
dz0yY3pMZFFZeD95MWlUVCRBQCZ2dG0KeiVwRnFrZyFrJERhUTB7VTVmcVV4cVZaJG08OGI0WDY3
TThzcj85NnN6RW48SSU/TnI7b0IxajBYXnZ6YmUxNn5DCnpnZCU3T1J+ZFp5JT1AYSFfLWREMHdS
KX5iXnJuQFQ+YjleQi03ZEJzeFpjXm1udHxqWSZ0ZCUkc1dHa3pyWVc5agp6dD1Tano3ZllUaW0r
UnFRaGAqTD4la0hpbmdkY0k5JSQ+KHZKQH5uUXs0KVE8S2o7NCpJUkI0OGd1d3ZfMEFoZVEKektx
WkpGJW1SQkxWbjZ7QWZJTmNPTEJiJDhBUUc/eTJaNXU3bFpDVGBPTXEqSCtrblQxbXhBfHpGTT9r
fnBoaHI3CnokVjIjISRjR3EmSUR+VzskcUFfb25IPD5AYz98VFdsVGdsM087RyNNMWttISlOenRQ
Kjs0eXFMX0F6MFklVUF8agp6UWBwK3JRI2J9VkU0WCZKQ3dOY3NpU1A+diMwa2EtVlQzbkNzbD9w
R0wqVlJWa3loTiVDNChhP0JSOU5AZEFGNnEKem02RCRGR2dTbiY4MShfb1RVdH1QeUw3WWs9P3Vu
PGJkMkFhcytvZ1g5PG1hJXVDa1N9YCo2cnw1XiUwXylwNXUwCnpTbn1USUJqPnh8cFRFfSQ+YSM0
Tkd+c2xTWXwlMllXXmd+LXhQSyE+Q04yRUhRMEIzMHExPWY0bkllVWYjNnpmWgp6ZlhYWT9tUGFl
PHMyVigpIyMrKFpFam1CK25EeHlKKGhiTHEoViZ0aC1scCUoekY5Qz9UM1ohYlpeUVUoMU1UYDkK
ek5GRDgqK0ZWRm9KPjh9fUxfS3I4djMmeDNjbD1FUUpfbzQ8NH4wQW85ZVZtR1oxa0Q+Xk5+b0Vz
UXd1Rip4cT1CCnpncFd5RCRxVDc9RlY1NFZHTkBsUVg2bjdVJk13WTEmTD1KeUZIQTFoRlFxUX57
O3N8dnFSUDAydU1WPyp2JDNAfgp6c254UWJ1TV9BUj5kRS12KDBfbEJjeFoyVWFITSFGWDJOc0lk
Zkl4e2NmTWZwK2x1NWBfOW9odiRHN3p6e2tfcDIKenN6O3dyd2EqdT9LI0xSSEhoITdefDkkOzB7
OU9NdUtpOXdHJi1MRjh1NzU7ME1pQjlGaEQoS09oNUhJKEl4X0hICnpAV3Q+ZTJ6TD9tTDV5WSZr
czNyfS1YVUhoREklcEs/SU96e3pYQX56RXRHMGhWcE08QlJXeE9eMjZRSSQ3WkBtQAp6MWJvTVlW
dmJgeSNPbEc4IWZ3WnIhcyk/JWgmekYyaW5vZyZOUHREfmhMREdfaHNjb1ZrVHtsdmpieEQyQGVj
bC0Kek1sd3JzSm8yYD8mSjxKPnBDfSh3QGxiNzByXypUQVYkbHhKTWJheFg7NCh9elctfmMzMyRZ
LXdqSWgzOWdSdSo2CnpBYWhKfW1UXjdoSHMlckxDRk1RbVRqMX0jUzFuTDFfKlNTKXhLVShLYlhu
fE5nNktaS3FeP3c7YmlzbyRTJEh7Swp6ZDJAdzAjUmpEbldtRll6UnNCY2RZUElUSG5pTl8oKzZn
K0pebDxidzN7bmd+OHtkSCVtfUhuUG5BMkw9VDJAJkAKelkjemF+WkJPaH45ZzNhTW9FPTt5K0Aj
enFKUT07LV8+bFhpYDshTWAyZUFaS2hlKEh4S2VZK0ZkPT9pJDlyLVI9CnpFVCU2YEpBTmI0SX5n
TS1fbDVZJio+dH5HNnRCRDlJQXY0ak95KHNRPW9pdSM5aEgxMiVZNWZrcDtJTUxMc2tiQAp6fEdq
YWx4eEtaWkoqKlNqJkR7KDZAVHZkSnB6QkF1UG4wOFBXME1tI1EpJHpXWEMzRnc3Tk5gNXQzSzxB
bzBWSWkKenpYTG4wZC0/fWFoYUpaa1g5NT9WU018NV4/YEZsemJFYGM3MiE8MzBLUTckZGB+VSso
a1Bgc2xEKm9vP0JLemolCnpEaEc1bjxeWjcwe3g0WWtaREF4RjA3emdVIWJ3SU5DfnYjWF88eUNG
SFVKanx7eUYlOSY7VzNfNU9gZTNPJjM1Mwp6ZWdgNTVLNyMzJihoeFghMVZraWM2alVeSHVzfTVx
N14/eWc0fkdEY2g8Sk58MHRvPTAwfD5aP2MrfWpJTmNkYHwKeiRUVGhsSmRma0VQLXZ5enctYyg1
Pzl1VT54clUmazVmUEorLWwxbjtXTVhGRjxHJnskQz9xV1hLdEAoaFVPYGJxCnpRJWhTMWdrOC1v
RVVtMDxWNzZ9VjktZHlfS0U5eihvYCFgI2RtZlJIbjNTQjdgcj42O2Mxfl95ZSE8KHFxS2U5QAp6
PllDY1JgaTczcXVJYEBSNH1KWmtXOClLKFE9Z30ybVJEQlMpO0JpNFk8PUI3XztHbDJkfiRrcmUj
O2pHKVRPX3EKenppe143X2AoSkdmPHIpbk0/ayppM2oqZl9VaHVkR2h9N0lqYyM+KyFyWWB0Mkpk
YVRicX5mI1F4MS1ZWHNfemsrCnp4c0lSXyhlVytRQDg3Y2FsZTZFKFNqZ3w8PntySkEjQDgmVTI7
aER1Y3NPdkQ7TmlpVUxJNHghVzhObEVyVDxKUQp6ZUAkcFY2OXsjcHFrfH5zVSgqZlAybjF7Y3Rj
KFF5VldKfFZ7X15Pei0qNHRZMTRaYSYyRVlKNFVOfkhNVHRFVWkKemllU29hJkJJPmolOHA8SHso
cFNJLStjUE4hfEtUWTlhY3lHQDMxPWR7fCYxeFJ7T1F4ZXBlRWBUKWxhaSRORnApCnoodE80aSZ1
VWZMKnNeLXpQYj4oZGwxKWc2Jkt8P0gjOG8hY2o8WVNiUnRFOCl6WmtYMkx+djk5RUNzMT48OXU8
YAp6JmlvQElEPXVlPXBTTGc1YD19Km5XflN9YkNxbjZ0WkV0fGApNXhWJWR9blJ0cXxLS1Q5UXdO
RntgPFNnZXM1TEoKekVWay0yRHtIJH1fb1pOWiolN1E/dXxMMj9GdW5QQVVEITl7fE11fU43ZD9I
c2luSkZWdUowJEhIU1JkdVNCPTJ4CnpBWkR6Yjh9LUVhKVAoI2tSakFTQm42dnslRGxzMEwrSm42
THh1O3JNcS08UyMwQ3xHbEdXNzBnWF9OVTFiRzQ7eAp6JSlGTHFQNHd9T3lhdGApakJxODk4SU1h
TkRIWW5+YTVvM3tiIVkhOFZaM1ZKKzktenhzNGJLfEhRbmd0bUVFRUUKejl7Y0lqOWAwQHt6VE1R
TkdoM3wmNzJmMDx6KVBsfVJZWjl9d3d7Km1gI1Jadl48akQyNE00JmQkcnhKeD5pJTxtCnpKTXlS
TWw0aGc1ODZteXcmOWI4fHQmOU5WaG44TXRRe0M3dTYofFFCZWxUXkxPa21zbDExSlpmQTtQIzMq
Vjs/aAp6XnJpN3VOazduWlVALWQyNXg/PllwV05ZTmlDIys3SiE0d3VLLU1yOSYjM2lYXj5tJE01
QSM1VXZTdmR8MlNhLUwKekBoanImYGN+QV93Qmhhc0A7ZWkwWE10QVF4PVA0NGREM0IwYXZNQWw3
UmsxY3Rod2JvZ0FfYjU5OGI2ZmVjWXNBCnpkPX57cDV9VlJ1ZWNhUmMlJVJNS1RNWnN4YFg2TiY/
PFgwaGpjIWVzaj1eQClDMW5WNzZ4STw1KWI5VH5GM092VQp6ZjNyO1dPP2ZtQFZyPnglUHYrX3gl
KUdWdy0xczdlVDEoVG41KGkxMXtOUjJjJHFNVU9tWkRhJWYtSlhrJjlRPioKej8xQjlEZmF7I0xY
PUdrLStuNUtkUisxQDd4M1BMc25wJVhCZmRnR2I8cCoqOCk5JUEmQXlJWlM3eDZxJnppYENsCnpv
WjkoZEJyZmJVdCl6cCVOMFFKTnhDZVBLeUV+O0ReK2lVdUMpKjh2XzQ7eWFhckl3ez5rPGZNMzF3
OVhBYlFvOAp6KyZ6flhJdWIrSChKNjhJbEFhTj44JUl0PHZsZy1FXnlsSzxCMlZeYUwhSGtNU3Jy
P3YpX3V4cndZNktYOFdFQ2MKej9mbCo9bXN2Q1BHaUE1anpwNld5MnlOakdLc1BpKGBtITtnb3M1
STBkIXxEfGpyUjcjKWlPMk48NGR9Qz0lR2ozCnpmbGdDMW5kcVY+RXpFbWdDN3IqWSREfGN2aitp
VjgzZ1B6RXJPWC1XWXx3M2JuK0t4fDl+T2lkbmh6NnFvKSs0Ywp6dnZfU2M8czN7WjFxZTBKMXRt
ZU4oQSVufHN6akNnbkorNVczIVc+OEYjR2Q7NlE1aHlYMTE/U21aKVl9JXZYfmsKenl1dH1lZUpu
JXAyPVpeWmtaJmdjdHdMMHVCK2w+TVVhZjVDWjlGdGxhPTQtTUJEZiU2NT1EWkdAITNTcD5OQG9h
Cno5MlN6OylDeSV9KT9SRzViJVRQSSgrKipGZ19QX25ic0dtbjh7cS1nWUpBbGFHdTZBeyZNe15G
IUJJbSlgT3lKWgp6VmxQKnttb0xeVEAlIWl3NncyRX4/Tl5SdXBTWkh8SEp7Q0IpWEU9NTl7RTtK
YjBrUU4/b01BVmBNKkRsUj5nSSoKemgxVGN6ZFZBM0NZbUwzbVprVWkxSzxQN2J0SmZkUm1qVCFD
NThVaGVwRFdtLTEkQUdtSH1wfnhzZyFzSy1IYUBFCnpoTlFXWENseClSJk5OdGEmQS1oJER6czB7
JFEjNE1wTk41XmlMYyVvREp7QHUtI2EkRTtfYHlFJVZONWVVO1V7fgp6b2VGMUJMZ2teSWAtI2Vz
WlMyU2d0RlI0ezlyaVVudnQ7UjxFUjIjODkjWitHNUZySDM8UnVBMlFQfWFVeitRZiMKelRmQHBN
cnVsfXo7Mnp9MWdDQDZpYjFFVzZTUXx0bUhuNG5gZl9Rfm8rJCZ7bChEPz57Knx3JUF4bktLdlgk
UHBECnpiPyptdFZoblUldnZ4YzhTZD91d2M0JnwwM0U4MlJvIz19fFEqNn4xKnFFey0mZiRPakpC
KU1xbzJoQEpTbmJDfgp6RXBSenQlTlFZYmp+amgwK1R4SVV1Y1ZJRmltPzloJCtrdlM2bW1OVGdo
QnZrXk0hdlZYWXFAYktvYShiKzZ0d2kKelg2JlpELXA7diE3e05AYGp4KzZLeVoqVWg4eVZKKnVD
PztyX2J6NHp3N29nSW9KZC11e09fT09sSSFYX2hLeHdzCnpeQkBUJmg0dEp+S3xQYTFCVURqYith
cGtldyFiWDFlbTNhaCFUcV93WEs0TmdGaUlLdGEwQkZBVj1jMilLMFNDUwp6ZlczQmojJnQtT01j
NyNKYnh9YFlLfFIzMDktTjZFIStCXi0qfT1DTFVzWnRpNTl0WVo0P208P3ZEeylCKlpjTSEKeitC
MT9Zb2grVFNFYmA/fG1qWSE1ci17OylRfHoraWpaeGV4RCFtQkJgU09PfW9wbDYoUm9hTmxeS3pG
eyk+V2pACnpCZSFNMFVhaVY7ejFNaEIoVyR6Q2VeKDVoKUA8eUgpRVIoTz1xa01abik3O2FAQ0st
U2s5UmQ+bTcwNFRjXkhJIwp6Q0xYQEdJRntJcypnWiNvVTFnY0g4e05qcCp0e3Q8RyMtey1DJFMp
VkxDO3FtZS1yQG5JYzBxc014WjdHe01sRX4Kenp0NmRYN3RvIXNLTlJFbXJxazsxUEc1Rlpme0xo
RCM7Nk4hKDdBfCpyd2k/cnc8flNFX2N7Ti1rbjB4KnpqYEh2CnpyU0pGUXZNbXJsYzB0Xk5SZHte
TFpCQ2Iwdyg/cUhKTU83aGJpJFI/Vyt9aWFQLTVRVW4mSDg5elR7VGR3WGo2PQp6S1pFd1k9NSt9
PTRsfSg8M3tUeTgrd0F8PHtzITExdDJfVlVMJUEqU051bkxHKH4jP1FpbnFZdE59TSYodU09eT0K
eiNpLVNIdkBtWk0rcSR2PWwjZjstaTU5ODxXfl5lQDEoS2gzaTwmUFYpK01jNmtKJUkzRHowWlJi
LW0lPnMmSkwtCnoyVGJ+VGgjNmJVISYpZjM4PU8jMUJoVSt5USN6SllTalEyenhpZjstNVh+TXcq
ZFpae0s/e0s9elohdGZ5ZTB1Vgp6eFREX09SQm9Ke0JPJFMjZGV6aVFhODl8VEdySFQzeFYoNXJW
ZzJ5VF8wczY7cXZ+eGt7JXZOdjgkZigqT3U+bDcKekV2JlhkMXs5NTQlS2tyRlZJa2xBZDtIS2Ny
SmU8citQJEZnJjU2OVRlRVV3QGJTMzBFT1M4eENia01reiRZWWJwCnotR1k1KlBBZ1kzcXNZMyZY
fXNDenAoPGx+JWhmRXpuflpQQDAmdWdUNl8+Zj5fR3IkaUxae2Zjcn1ZLTM0fnhjdgp6U340NTRq
VmxmI3JYfmw8R0RqQz5mKUZmTVJQU2lDdVN7S0ZRQjJzaT81b2JfUzFzZ0xgUlN2JXNfWk1BSEh8
NXwKekBxdTxaVXF5ZlN7OUtCYWxATUZrZnI0bSlFZWxpbWlqWUZCU04jb2V8OFQxWl9mYmZOSzMk
REd4U2h5NntxSlVICnpmYSN1MjR8KSp7eCNKe2UkZnRsK2xyQnRVK1o4eF9GNHs5eE9VWjs8MXZ0
QUwxbFdEaXBGYXVyQE49K0pYNW5EaAp6dD1LaXtteGUxVDVoR1BWTXhnTWZUOGUkWVdYJHFmR0Zf
VXFTenU/I0R7XjdNJlNScj17RX5NSWVgJGxWc3w9JmQKekxTPnsmP2oodXNQXzNCWU92QlNOWUcr
eU9aYzxxeWo1M1EpK2NDQ2lgZGdZJlMtSHZWbzVwQWg2LW4wRE1ZOVQhCnpxOyp9Mzw7UjQxKDc4
aTlzWnptLSsrOSstdjdPaTg9SmFZVjVFKGI1WXJLN0JYPDBvWiE7Jn5CRCpPQUcoVT54Kgp6d3Bn
WChLdSY9Xz4kPkBPeGN7WC1LMjhQRyEkSUVIaEQwTXhxYjthMkBnYWxHNUp0Y3FvfVZ8dmx2dD5k
ekw3c20KenM/XyY9angye3BxNUBzbnRTPz17TTlyWkJoMChyS1B2JjBxN2k7Q1FHWEdOVDh2eU9L
ZnRqdkoteSl9VSlUJnVWCnpWSU54b2lfODl5YClqcyt7Pj9+X3pONnlxZ1VkbS1NYDBaQUFCM1U+
WEFVal94YH5mN2JPZk5DKlZIY2RtNnRRUgp6Jm1gdEw9Uj5CSlRhSV94N1krMnBWJGJvPHhsYkE4
SSpsPU1RWUomcng5djIkbHdffVJsOytlOGRlVG5KdHlUa2wKeiVBQEROc2FSSjE2OHlnKWVESTRj
WHg/TXJieit5NSlpKWlRS2k9c2JiVl9EcSs8NU4ySWBye0E4YDUkeHhgYyQ5CnomTCRuTnZJQ3pO
KEUqPSZTTnE3UFdKXm1TajlnYX4oR2I/MWF5YWkmZkFpKGY5IyUzaiVYKFMkKEU8KCVpM3I8cwp6
IWFUXyl4ODVoK28kS3M5alZOUEFpfn57ND01eVA8Ul4yMSRAaSQtMmJ6ZDAlVyQ8flJIJVVkdEJu
OT1fVld+N2UKekotTCoybTdUJS10Q2FwQyl0NTYxQmdVI30qeyRaRm93cUFAKjdScDt2IUkobEE3
dj58elpVaWB6WlNjc3dQd3M0CnorTF5vb1RHZVhFdTk1bCZaVUU4R2NhRGROeXdpcHxedlRhQlI/
YzE8NkVSNjZ6JTFSSy1kRWpsTW55d3k/X3BnVQp6NyNONl9JYEYmYntsUXFEeXBnPHp2PkJJVDl0
QEImejlBe15ZX2VINzNUPGFnI2t2N313Mlh9KHdPLUYxOTsjZ0EKelR3JENlY3ZGZz1KZnJXZSZ5
YmpRY0NEdEhPZX54SCkqb1QzUWBeZz1jVHJKbzNvNVE7P0JocCZaPyY/SDFybTk7CnpIP2duS2cp
QzMtWjdVPkBXdyFAUEB6NXJedXZYQ3UzQFk/PV5kZFp0PDtpWHFPfjJQPWBRb2VZQzJRNXZQT0lp
Kwp6VDBAfDZDVmo2elkwQUQ2X1I2Vn5Lc1owZjE5SWNrJF57O3NpJEA2Pmt5fWchcFJUQn5vN3xS
bXFjbl5ATy1WS2cKekhqa1A9S3VEJT1YcHhzSDt0S0t2V1M0RkxSNW0zT3pxPikrWW9yVTUwc351
Q0ItVDRhI2BCcSltdHpmPVJUNyhJCnpVOUgkWiM4RnI1cCVfKkpDc2xNND1QRHV7RXtwUlNgVXdX
Yik2QEMhcGIpK0RYSHRfUDBSRHN2QH40QUZLT2Bhbwp6eHVFRlk5IXNeSiU1diZEVmRIT3w7eEpJ
QD1GcW04TilPYFBuaE0qMil4blEkX1RxWXZpKHxWKnF8a05gbTQrSlcKekglNSt7UH1eVW82NzNg
NWhhRWd+KTlGJXtmJSZub0dkZmtHNmJPbU9NK1JWe29wIUVsUlMpQVRXWH4hdG52QmwmCnplP348
K1ZVNEdhKF5BbilCPjU8WlB9b1UraERlflo9TlJ6SGpNdSlTJT1DSFM7akhLUDF7b2p2Pl9kcSFL
Uk5eOQp6MkR+fUwtdWQkOyVafFU1bHMmR0BYcWlfcSpqQ1g9WUZiREctN3ttITxLPShnQXRPc0ok
S3BjMDRmSmEjKzRMU2kKejReSDhDJGhKe0hUKHU3KUYlZSFgU2BNZXVTdmRBZUllKGYjZUMpSSM+
Ml5tTWU8YHw7M1pubzRqdDUoYzd5NjN1CnooRTFqbVZzcDV+c0djWE0qXiE1dHBzMGZ3UmFfMnd2
K082e1J6XkRiaT1hPykoPDVAWHpJfnBuZEYhM3xGOW95TAp6aT9iN1FfMUZHYVYqYzFTZlVkVyVz
OVZ4bDNvOWI9d3gtdEg3dnQ/bHlOZ3R4PDQ0SnxpdyZpUmQ3dUZgUUU9TS0KelhZRThtZT1iZjBD
ekt5SEwoMEtIcjw/cztzaihpZHNFOX1KYDRTKlJIYFBJTDVBPmQrTD95KmJJUzBALSRUVmpOCnpA
KXt9JEZoaSF6NkxpLXV5SD13aEpGUnl2VmFLZHxkLTx0dUg3bEYhMHFlRGNha3ZMdmIxb2EzYlYk
Zkg/VEZDSwp6Ukoke2BvKSU4czU+M35LWXxaXz9BN19RIXB+cWhyRkZ3eFpUIW94TnllWmpvbTxt
XnJvRD9WQ0UyVl9rRWtxTTYKekAqVX4+WHtXTSZRKC1PYHhIVE8xJSYjYlpAd1djJXowJXNwckM+
b2EkbS1oZ2NyPHJKOTVTO1gqWTdOZWpObmQ3CnpzMn1sRzx4eFYkLUwmYktJJDRVJSV4YX5DT2JV
RXNJPzdecVV8K2BjYEcjOVdObXUwa2IoVXc5UDBea2tjXmNCSgp6cDEyaVkpeTtLRk83TWlaeSg8
KjZkc2BrOGkwM19ham9hKURZbHQzQiZWI04pMmttN3JQUlohTXhNYkx5Q3pEWFcKelNlNnk8RGNg
O1V1bXZrZmtKWnBkZ1BPd3xgOFFJbzZYdCM5LUt7VEF1OSFyTCU5bmV8YmxUTFB6U0cqKCFEZV4o
CnpGeHhEJEoqMDNeWUpBejA1T2ZGUnU7dSU7YGA9fnN1ZGU0bVRTbnFmI0VWSylAJDZFciR2KkEh
NGBrSnwpM1Z7bQp6SH18MUVrMFQ/U2QtQFREdn5RKjYrZ2ZYTUFuV3p5Nm5eS1Z0N0ctKGtCeDJu
Ozw8TmNtMD5MWSlufkh6RXpNUzEKemN3QGN1Z148KVZOTHJzPWVkZ1IxJWdtbFhzampOTzcjP1lE
cEp9MFVYKDZNMUhGPH0hc2hvWl5OeHc7QmJUciktCnpIXl8xelpBZDFrJm0mczxodjVXQXdjcWkp
Kmp5Pj9meE98Til8PiliNHE2VCk4YztJQlJLOHBeUUp8ZSRHfnR6JAp6P3JgR2Q4VDRyZjl6TUw/
dn5YIUo/b29qWDN3T2tiRVZzNC1NO34xcjI7O3BSfEUoKlVASG5VPW1aVVlKTiEoI3EKeiNwIVVF
MTJ2dGtOMGFyVVViaU9EZFp4WF8lIX1DKDlzKHVOKE80U0JRKGppWil3ZV5AP1RXNWdDWUVTPWVD
cEEmCnpqJmM3aTJ8cyNTVkdIV0ZKVm1UVEooUSNFYmkjWEwpenFMZyRxRDg2N3s3S3BSfEN6dXR7
Qyp2a1N4bU0/X3lzfgp6KlJLd256eHRLM2Jofj0wdWN4PU5YRCVGU0l1QnRFYT9jcmpzT1YtMW15
O3NaKTN4QTxaJTElTkRQK0N5PHh3YFcKejQ7b0haYmJYUytQJTtAVUhVXjUkJVJkXlRNRT4ofEJs
ekljPXY5SX11a2VLeCtWcVImUHg/JSgkKnUpRmFudD8xCno/R250MDVydThgdkVqdnlye09ER08t
M3VzSXw8ciQ9JDx3dWFmd3kzVDxGMUNAO3ZjJVltVEk3M1RXSU5Je1R7Ngp6bzFqO1g9QFJDd3BZ
cHNyaHRLa0UwNE0lfTFTOGR4LTdrcXRBJCM5S21mbndfeG5WJXI2KXpUcUM5RDswZlRfMkEKemgz
dzZfMXkmTztLO2J5K3lIZm5FO18qd2wwTnk/NjklbEFOWj1PU05vOVgqTG1rZiFFOF4kNSRIdEVn
P1NrYkojCnpwQ2NoWHdkdDUlMiEjPVVgbEBkfjxtQmMheUJhU1hJQFhHUyttMXtYQjhoUDRWekpZ
QXo0Yll0aD93aVJnSGx+NQp6IVA8OWMjUmlMfkFBMXFxZzBYbDYlZkRlRzNBU0VIMHwhd0xUbTU3
PnB1JkVmbXgkQjhmQGhnNEN1NzY2U2NNJEwKeno1Y0NQKVJASE1sLTk7KWxqPV5fdCprP090LWsh
Nm1VaTFDR0szZVZtd3p9JF5rLXAwPD1DZWF0QjlrQWtDKilmCnpFU3R1KWpMcU9OUXxoVE0raFF5
JUxFd3lGNHV6RVRYeG0oP14zITJzc3FzfSFKQiY+SkdUN2lRcCUpSDFjZ05jZwp6MTMwV3AoT3cy
RWAkWGsjck01RTQtRDV9Jms9NkdmNW8qYjB6WGRFM2QrOU9+UGp7bjRPfE1jQFpVQyQwI2ElbXcK
elg2bmtvYSFYS1AjS1RWe0tIMFZIOXlMWn01P1o8MzBBXzg5Slc2TlpjMlR5aU5qTC1iN3B7bCYz
UG1oSFh9T0ZECnpzLV54MXckQV4hNnBjc3J0YjVTMnpBMysxNmhUK2tpbD1GX0xVb3RkVHEwK1J5
SWJPITgyNkd8bEQ3THh4bXxlVwp6cHNlWiheK0QlRjAqZClOKCo8amo7cTlsZG1VaiQjJCs7dCF7
aWhWUVJ2aiZ5PXcyLWdFfHlwJThme3pXTlhScFIKejJhTUxNTmMlekkrSjMjLTt8XnFmNEZKb0lu
N1o8dDN9b1plTX19TWcjNWYkZkFmeTVkQUFJTSZ8NT9YZG5XNDRzCnp0VGdsRzRJcFI7Pm1XQDwr
cEhfUUpHNDNnI1RHeXt1JG1sPWdiOSRjRHN1R2khIzt5diE9ZFZuZV54dkZ6NDgpJgp6M1ZeaVE8
aDQ9X1pZb3cyJHdXJEZtU0htal5WSip2QHJeY0xpYiRWKl8mOF5RI35SRGtgPkFjWSRlZiN9aVlu
Y3kKekZSKGRQQ3U/Vn43anJ7WUdUcFI3RyhTX0VyZkMmTHR8fDk+KnxDRC0+P3JmUzhITHdgYD5v
eGR6VXFBUEhkanJ5CnoyPHdpamx8ZUIqZXl6I2l4bzU4SzdEbWU8MzZ5JVhFQWZwUDQkKmdhTVlD
MUJfd3U1RGA3JWF7VFFvdEhFLWopcAp6dkBZYCo+ISNpLSE9OUR7VXljIWRgVThVI3VLPzleO2ww
U3RocG9aaHM+bUhAcDZ+TjBlVH1UdVJueSE4RDspYlMKenh6fVUqWnRaSHd4JX1fK1crMWN2Vioz
KThHPVdVajw5WVZfMUp8KSRKd1l6aXE+aEI/WWJLT3ZKZjdSVFAmYThsCnowal4jYkN6PTYqcVB1
cmRFRzxwcmBzRU9DS2hVJWFlKjQtUUB8cnQ5TG5SMHVOPE4oNUxvd2ZIMSFGJWszQyghQwp6UE5X
NWJaXjZYdGJrYFM0c2wtPU1UKChHalBFVXReM2lYPXpoY0Z8YnZJQmBCcnkyT0EoN31xQ0skPjtV
VD80RlMKelE3UEBvPFZBV1YkMm9jcUp1eFU8cUd6Ozd4ZCYodHA4TVliRz1KcFRLbFkhMTloRT03
VyhHWmJ5alRMfFcwPTVhCnpVOHxXe0o0LVV5KiYyekpNc292SyZsK2xjeXojZ0YkUjZlXzg7M1ZE
ODRGKVc4dH45RVNyKH47RVFLVlI1VkgzcQp6b2BvU2cyVEdOMWwjfHNwWWk3NyZAUSZVfm1mSml3
S1JDQENENiYzcHpZeEV+ZW9ZYXJpZFNpKUg/Q2R+cld9d3kKemxjelFOdk9xO2RndDt8TCVebj05
R3RmPGJeZT5INykhI2tkRDRBaFo8UyRVbndIQF9MKHVXPH1TLUd6NjNIbSRVCnokO1QhfTYheEg1
V29wKlVwfD91PUpfZ0lvbmhgSXlFYHhiQ0c+MUJkP0N7NDZBKFooUkpKMkMlQiUzQ05BIXNOMgp6
N3cmMkZGejA+Y1QoKDwlIz9MSDBUaENIX3dgVUg9RXlWdipRQkw5eTBQZUNZdyY+ZU1MNU5efU4+
SCppKjxGVUoKenZ+QnY8ekFzYVdINzYzQSZASlNwOW5NWmlvLVBZUUNsPjZKQiE9c0dYNSs9PCEj
bUUmK3EqSlZeQGF4RXpJNlUkCnpBTG9CVHpXJiptSH4ycG9BUyUqTiR1ck5AOVYpY2RVfmpIJipp
RGY4Zn4rIV5wYkI2bCRPQ3dgK3h9RGdvanZIWgp6YSFjUWNQMFRGUUUrOSNHbnRXPVRSOXV9LXJk
M2hqK2Rva0d4MDM5JHZxaUVMekVHSlBrU3twU0olJCQ3SntYPzUKek1CbUZIVWcwRCk2fH09MUVi
Uk5Db3VSWSRyRHlKLUlaYWlJcV41TTNzaTF4KGthM156QipMUk8rVSlHYk9Xa0tWCnpSJiYlKEBZ
TU8rKVNlPWpBKnR2ZEQ3emkxS3w4I2d3Q3Q1KEU4S1hsOFItdHF2d29HPWtxN3BmaClHTEs+bnxQ
WAp6Umh9fXZtRSEoc00qQzhNKHdBYDxeNTBIQXsjajgoSEJHYUY8PCE7MlhRd2I9I1hLb3lXJlU3
RTh6O0dqM3c2RX0Kei1GRnd+KiF4YmIlMkl2UlBAP2t8V3NaJiVAJldBKT5pcyNjZHJgPjwkJTNh
PSZHXmZpUU4kZS1HPHYmdFEmayRGCnozfTFrdURpNEt3QXZ8aTAlZz8wUjtGSlRDbXhHOSM2N05O
XkR2cTx2QFV7JDh3V3hZc21Zen1lLTJoNnZAVCk3Pgp6aH53cUtjfCRLdUluYHJYbih8OWBOMlk1
KFIhOFZKI0R+PjExVVo1Vnt3Zz08QGpuN0h7em5EPktOdG5iZT1LWVMKenBTcXY8b08tVnktMD4p
ISNacVM0Rio8Zlo8JnRMQUgzaGdGZ25WcjRheFpfdiQ7cld3LW5ZOTtJcndAKkNyemh+Cno/NnM2
JDM7PFpYNG1OOFJTbE51cys4MjExR05xYnFePT9lRjgkQW83TGpJSmU7bmtafUR5SD9NP3tmdjEj
djBJYAp6WWN9dTxzPmdRa3Z5YnNwdlRuVUM9NzIpYU1WWGR9WipFdTk9ZnZLM3VYQ0wzLVJ3V1Vz
PkU+QlYpVEclNmZfSSMKemV8P29ISTtLIUtrWC1JXj4qWEkqVVhjR2l4YmRIUGNEfWhaOTdTZTBW
aiRWI0E+Z1o/RWZaWDFKUHM3TDM3TTBVCno+MkFYI0AramV7UiEoaEJnJmhzVlZ0en5VVTRKYHdv
RGp5YHcoeHx8eSQ+X2Bpe2Q2aSlTNFVBQUomaUBRKk1yeAp6bXBAb2JHPTwoR2dyOVgrPE4hcSEk
NXwycTJjYFZtNFM/ZF5kWkVMMTl6JnkzRG0kUTRsNjRGblNvUyt+eGFkOWcKekliN1RteGwmJFBK
Yz92M3V0eVRCWEp3VXJXbXpmQCVUflhweVZ0eClRbWtSJDJxS1cqM2lmZStyXjVjUHVxRVVWCnoj
RUhyfFBSbXpgX3NZWSZvOCFCJDNwT090RXQ5JCkybD1vaF9ZUzVmYVNtY19WMTdfJTlwJlU/S2ZE
a0U8el5zYwp6TWolYjZUfH1KPWxwREd3dFlFN2FUdXwmN19NeStwaj42ZSFKVkNMYG9OdnBaUyM/
OUNeQjt1dDlDVWU8NH5YaWwKelFocWxxfDlhfTktKXV6ZS1NZylIWHpYfiE3RyFwWChTJmEzKH1U
YEMjSnRHYXVKNnwxUypVU3NHfTx6SUBrOVVPCnp7V3tEb3p1cCN2cj13I31aY3BPPnVtZEk1RkZf
I2ArfT5xbT9XcU9hTG1SNEFZd3VaPmtpM0p9cklJbUxjWUBtKwp6UWJeOExeMUApSGA3dFhDdkp0
djNnb1dgK04oIWl4VmtEOHtXQ0RvTVQ8LWVFQClvPiFIMkhCOUl6LSQ2K1JBZCkKenBEcjdGcHk7
bDxJQ1Y7ZG91cHdnKzA4O1QqQj90WCk/UVVMWExnbTxYUm5oTFhYZCE7JkBXe1k4a319Xj8lOXNg
CnpTOGBBe0RDYkVUdkpeVmt2bkxCN3M7S3RNYGgyK1M1YWhNUUo8azJZIyV5bk48SDshT2pRODVM
RTtoVXBCYkBJeAp6U1ZjZ2tuTigxUEdiZ2gwTlkodz1jRjNrOWZ+bDtzYHxsYW16dmJCPDJOfHtQ
T0ZTI19YVjBGcUJPWk03QVhrUiQKei1XWHBPVVZJcm1gVE0paCZPRSlyY0EzTnhJYmtfJHZOVmNa
NWV7SUdob2BVSko9TiU7X2xLXjdISG40QkJ9dnBJCnpVKVB5TT0kaUZiWlVDfU52dmBCQFBfYEow
Xm51cz0/ZHBVT3dzX25EQnNSan5kMXxSNjQzezdMI15jcWorczVZKAp6TzZvN21JMl82UjZDfjdx
SihtRE16eSRtfjBZdWE4UjNvWWB0dD1wSXltITFJVzwpaHRkdGdkP0cyUXgjPW9FTEUKejFHX1RA
dEo4VWI7JHpYdEgpWjNvUW84IUphJSU/eWJONVUtYX1VMyNBbk1CJip6dD5SfDN9P0BWP2lYVDtI
bSQ4Cno1Sl9VPW1qSUNAbVRYNE1UTz4oYmJGUklgPGxjS24jbTcrVnNnMHxFPSlGWW5JNUVNLVR6
VEJsZV9wJGo8PVdnegp6QDZDczRQUlJed2JNcDVlRm5aWnx1U2wwdE5wamNZJTw+akFjVGY1eUIl
VE0mRjM2cTFGNzd2QnhNXk4wX0g3eEoKej4zaXB2YHt+SWg+eH1sJUUyPl5NUGFDYH0qU3xIZ0A4
MTl7fEVsKUp7KH1JYV43dzBCP3s8JE5tXiZHPElWX0ppCnp3O20mRj1QfURBZWktaUtZTCFvfVA9
ckUraX1KMnY1YGliOCFlaTQ3V2pVUzslNVNMK1V8JGEkPXF6WVhJKVFaJQp6SnZvaE5lY2p9K2lm
eWVUZ2hjdntSazB2cGYlfE9kdlVHbS1PNWBmRDF2JFd1UEB9NzRNdG9nPiNvT1ppPEIoPXkKeiY0
XzlPcmh0I28hYmpBSzImVkZsJkAwUXx2UyRBMkdHRn5rUn1gOTxTNkcheihNalRLM340cWA7dl8p
bUlxTWxFCnpQbCF0c3Zsd2VpY0VkWnR7Pzg4fGFPLS0oK1ZlQmh5eVJsTE5VX2pHMkRuTVpFd093
Rm16aCs9Ul9WcnxaWDxgagp6bmMwOG1TVllAeVF9eXZSN21QPzE4N2xsM3VXQ3tWRWpPZSlGSUVV
SyM9dGleY1FzSDJmZEE1UHl9aXNxb0FjVnoKenklSjZUVU1jO0kodSM1RmdxSmUhd09mPEBVT0N6
RkNXK2FwSW11WkxAe21mPHUlaUNoPmo0ODhVekxWPmdhaG1DCnpOYWFafHtuTForVW9kVG5LT2wo
Yz9NNTF6allWQnV5amNXMiRJY297KGMzO04jJGFHQVFDO1YkenVrVzFtYW5Vfgp6ZSVESFhCRl9t
SEk7KSZoQlk8SC0keWR6MGNLSWZ4bTVhODAjcmBAPkRQPn5OWmtzVEJtb1ptbz0mRkMkQX4xSEQK
ekdpKkFSIW8/Vy0+QX1SVmM0eys2VHorKy16fVMzKjE3fGc+aklwfT5wM15ASnpGeEotWlZoJEEy
PU1vMCQ+K3NxCnp7cGU3MHh3dGokdTF8WCVEYCp+ZXV0VkFKSldaalludXNsaGAtRkNlVFUqRGs9
RVVJfSE+bUtpP1ZpcCV8RX48fgp6LT5iX3V5PGlBQ2lHeG5Kcml4VitAfkgtVUhkKmp3OzdHUkxN
ZD1STVQkYUdzSkZTJXQpdnR0ZDQpemJBbnJzdWkKemJeYWlLKj5qJj5VWFpsZ0FLQUVmJiNRK3Ml
UCNXR0pvJldrWGZ+VkBDQ2UlVHdIN0k1NkNKSXkjRkc/PWJDQkwlCnpZLURTTjg/PG5SLWo9XjQo
fmA1fHZiSilvYllVaWw9O35lKjl2Rlk7JkE8ODVmeHx1IXFVY2lkQmQxdzYkUnteaAp6cDUxNj03
MUxfJHsxfXcyQDRUMVhlfippUV56MDlTbEhlSlFDY3BjTzxRamd7azJpSSklfU9gaEcxR21qclNe
NjMKekp9SCUzQTNVOHVjOFA2bStENCZBQG5YJV4mTl9AVEwyNUkqWSgtditNMmw0TDV1elZ1UGIq
MSY7b0V8ekJgUExrCnptWW1LQCNjWmkkJk9uZCtLYDc1X3hqfWk+Z0Fqan4qN3puZlB8PENSNHFP
T2V2WDB+d2x3Nk07IyYkSEZ5XyZKUAp6MFVUT0Z1MklEQ21nVHpqQDxoeUN3KWtGXnFtaGpuc30k
X2htdj9PQ0N1USR8cDJfTCopbyh0Pl9gT09qcG00OVUKejJZbj9JRTAtOCtgMFo5dismbUhIa0k7
RFheeWQhVTZNPCRiVVNXYmopVlpaVT9VRXtDWkReQVdSPl9BXmdOaUJ2Cno/KT4+LV5yY3NnO2FW
bW9OVjEtKlJRT1Bqe31vLVReaz15cGlqcTlfYT9adChEJDkrUSE0XkJZanIwK3xwaXFnMgp6dT9V
cEZlKHJ2S2ZRYVNrZl5BWXc2PVRyQz0kNH0lS05HOUxeaFlxe2xFKSVSTyh5Vmw1RGxvZmVeKz12
PC1aNksKemxAYjRqc0F2eDt3IWlGdDxZe2pnd2hNMGUpQkc+JjFWbyl3PH1jOyNPPj50cmxXPyok
KlVENWsjVG9YNGopfk4tCnpxRHFaUlNGdCVhUW0tMGJ6amtuIUM9N2ZxanZ8NVVKJkp4O0hKITc9
Yi1jVmZ1bFUkS15DfT1vS1ZmbVkjfWhXNAp6IVM/cTsoK1kxeCkyPVR5M1BAejYoRTRsPXJhPjI7
bmR0WTUjYyE9Z2N0cVQ7ZE1CVn09I3NnfWFIcD1PUX0tPFQKemhiWjdiIWJ5SW5gdkxMIWo1RENR
eDtgXkhhJTM9c3R5dytzb3lgNj9xMnpmVjxvJCNKNDUxaks3JGQ1WHJsbTVaCnpGMXQpUlpMRnRy
WH53Un1feSp1X19AUl9fU3t1ODd2dmV1OUdeZEleckp6JFFNIU15IzYkN0hKUmhBYDtTQUJ8Owp6
b18yQEE1blghPV4tZTN3U2leP1pXYT5MeS05alNkY3g1bEMtUUtxd0YyUDV8dXNYSWpJRGJ5bGpv
fDgxT0oxZisKejNtRFQ7LUgxSz1KWEJGKXRRUys3dmJ0NUxveVJRWTtAOUtpJFBAV1BuR2Y4Z09O
VHsmazhBUVQwWkshWXswM3MhCnpOKH5kY3YtVSpzUmswcnMtO2UwSDBGfnF7UUJtKlZEb2diVjNq
MGZTWWBYNilUR1V6XyFeMSE4UyVIQl5wS2dXZgp6aXJmKHN7cHl8eTlOU2cjPnJtMXJsTnBNTDJG
JUV9alQyZzxoRUw1PmF0US1iYChMOFk2dT9OWkxyQ0RuV2xMTX0Kej57MlB7clp+Wn4tcyt1b0h2
R2B7MEM/NipFUHtqaDVoQj5QQHQqYjZEYn5CcD1oe0ozLUQjVEI2VE0wWSVFLVEwCnpUSyliOGtj
UF9NMDd5Mzg0KDtDbFgpc1lrRmdEM3BhYl9aNlFlYmpGenhoTFJudUBsSEc2LVp0aTJ7IypzfEB8
Qwp6PEB7cFhwKE9XR2khOyN8Z2lCdiU1QUchcCpmK0duWl92NVdsK0YyZndSezVsaDl7MkJUMHpp
QlhnfFdjd3t5I2QKenglKD5yR3NrJUhmU31zKmAtWXwjWXEzY3tkeSlsKj5mdXl+enhucHRyZkA8
fFUqUnpAdkBRMGt2RWpoVTY4fCNjCnpKbXsyWVB4ckhUWX50OX1nbj18KGY+S0tVcntjfFI7KEE2
KW1ASXFFU0opelcwKFhURl56IWxsZkRIWDMxbkZOdgp6aj49IVEyJUw3VypGbGw9JG1PdDgjYTJW
d0QmekVNWHJIblc2bFhTfTZNb1Ukb0UzRmdER293RDRHaHFTcmRiVyUKekUzQTZ3N3BCY2JoVWxE
d0BjelNAV1VuQ2RHSEhJPTFgR0ApZm10UjtIckJIWjQhWV8rVXJYP3puXzh5ZSttRF4jCnpEeUhp
Z1NiU1M5IVFeP0FjIV9eKWVub2w/P0BkJSR2Snl5VE8+aEhEQDBGKjd6LUJ4ZWhReH4hWDYxSktf
e1E/Ygp6QjAhYkRvXnV1Y2tKUzFmYGg1MnFqTCpLanlNaj1jdzkmQigjJUMqO0s2KGVuWFM8Rlok
bmA2el9qNEswMjRePjgKejYhVWdqZXMxdm97eGh6dll9azZ1ZX5NJTtNWCNIYmZpZTY/ZyNXNFV6
SGBGI15wUj9BX0JLO1hHKCV2Vm5sYUArCno0KHJfXnlqdCNqY315dVpQLXJDPmtZQkNTJUtEOVhC
WGhBOzxKelQzVntlc2JOcmtDPHVMb0IwckdGJjNxKTc0YAp6VEQ8LWkpQVk+RiQ5PX53UHtBMjVw
TUNpITV2QVhjOXZ3ZzwxTm0tJUNyO0FCajw0TC1aRUhfODRgJVQ/a3lPcm4KeiQqc3U8KT5SWk5n
KjBMciNYZFN1dEg3MCtNdERYTVVlMTA9UDR9aFVfN188YTlnOH1STUQ1ZlFiPCVIMmF3XlNrCno4
REY9bkNYcWN6UkFeKyFfbW02dSpWcXNCRjZkSDRZJUpjSXVAaytRQ3Z+fkRxYDxJYjtPcSVhM1hP
aU8wJH4pbAp6MVcjQj1HZDRhKTRkMnpGalBTfnNVO0w3cXBzbXlnVEdNcy1wKiN6QyVhQEZwPnAx
SUs7VU4qRFEtMXZfaT8qKGcKenRedCt8PWVKe0pkWCk3JCo0alQ+aSt9R3FRcD9sUU1RPDtpbiNy
b3M/M0lafmotJEM7RXwmaHprKSR8aCQ7fVdmCnpsIzR+VjNIemZWand6alk0eGZ5QURqMkRmaHFX
QVhnWm9gZWMlMGlKRjg5aj1QbmxPJC15MklqPHlVJURiMFRPKgp6JD0jeHZrKG94bjhZPl9LeWR3
KCgqZTxWIW1sbGFqWVBvIWo4TU8yQ3d4KDRKdGBWQjJIVX5ha3FufkA4UWdTZGEKektpZHp+UClh
OSN0b24rNlJ+NmZAJiErbFZ4Izc3T2ZzdWpqWHBxYDF0WmY/PFZmcyVGJmhQdzE4ZUh9SWRQfUNZ
Cnoqd3lOcHZ3YGRuI1p5TEdTIzw2O2diY19oakgmajI2Y1N4YD5BVzgqYH5GbjhkO0diVVJaRSpU
NiVyPGFQYWxoRwp6PDdXcUNHQT9JJTM0V2J9QEBQQCQoViVVZ15YU3opcW1SI1VaTGFwfihzYFNn
Kkw/d3lDTEJFP05wWjB1KmJQdiUKek84OW8rPFNEfCptYkpkKFJsdFkje1E1TnoxfVgxVUpydypz
RCphIXIhPWhgSUhlJjwrOz47JVJkMXlgK09Na3lCCnpzcih2XzR9endxTXBULVlMQS1pfkg4RTsm
TDVgfGJZfnY7Qk83KHRoeGFxYDhCOVcpeUZWKjx3c35IflIqRSlhYwp6Kjl6fElgRUMoc19yNSQq
ezVKJmNSKC1wMD5VM24rSjY1fXM0QmFpZnNRZUs/NTVfI09gYFdveiR6NUlydSFgYWIKemxEams7
YSRwZyl0dkttbXc+QT04ZWJxbjg8TWduZDRTa1p7bHFMZnpASGRvJCVtME08e0dSQmNHTjxtPjQz
JkUrCno7b3taYUUhTD98QlhIWDk9b3YwUSFhdkpebEx+UW1pUCZPWS1IajZHTkheUmtOTW8tbUo7
cjJqRGgtWStjZGZAMAp6TGV5TVc7RXF+elI/T2ZZP21QfGNqe21eKGU4dURqQFo8RVBUKFJAPmpG
X3RhLWpNbGVRQzFjNHQ5TjQweE5GaD0KejRQYyZnRig9JiFaSCFjaz1kVVdkbXQ4VWp7YDF5bD4h
YnheTHRFbSsjUlo5JVZ1UiY7PC1yMT9QYiRkKXBpZDB3CnoqM09RJnpNSFd3QnM0Vk5KYmVSNVJX
WWUmRGV+RUwlaT0xfkJffTk3TllKTkNjQENQfEVYcT48OyRhIXdAMiVnYAp6ZEA4YV5GeStxdyR1
V2wwe2x5NGBVTX00ITBqRFU2YXl9VGhQTkc4ej89dk59Jk9aKnZvcG5ZZ1FsYzhsaWJ4RlgKekh+
djAjMCleQH0+bGpVRzJUMjZiYHhFRF49cGF0XkdzXkB4WDZ8d3dJOEdLNFQhOGBhRFkqdXJFemhm
MmphZTRvCno1Tk8kbjM8T0FoTTg2UkRLfioya0BPKTJwRWU9VHwxVlcwT01Pd14lKXJaPlNxN21C
USQ5d0gjX1grJTtsNVp5Pwp6cWdHfk0jZTk+fGRgRG0pQyU5V19rJUc0NFoqdVZ7fDdubVoyOXtN
NXJXRTt7aCQmbHJYR2Z+MkNAUkl3OF5CV0YKeiVjRHpQPXBITHo/dnB+Pnsqb3xYSWRzaUArVjBR
M0pRWHJPJjN7K0htYHB2Wjx2dGYocUJDbiVjNVQxcCRBYmF7CnpffUdZVnJUZXVKV3VtNGxzN0o2
c1ReKzhPezctcjg2RUVKXzZBaDNqXmZHUVJsQUI7RHdtIVIqVGlNTHE3JWYpNQp6LWt8c3tDT21O
Y3w4I2ZWUUI3cypILWFPZUQyZjZpQzUoVXxxNHpkcWxtUUZ+UUEkRk9qaU57dzIqdUQqMFlPN2sK
emRXIzRjcUJRQTk3bztlNDQ4MXBqJjt4fDxGN3NQJnQkRHZebj5Xc3puVX13Xj9vQ2NeJk9QVip6
TyZFWGB3bjwpCno4cl8wVWZ1eyZWcDxjMj5DMV8+aTlndG5FRzJWQCs/VX47bHJ4ekNQKzBxSWwh
Y0dFbCVMakBCIXE8UHpEJmI+OAp6a1NSQHRqJEMjMXgteXM3aHg1LW00OUJFRVhRUUspI3shUj0m
QiojRFkkKSk2YWdnUUkpfT5LK25JRS08UWFwISkKenJGemo4akQ4PEUxZjtfJGI7dnhoVm5BY1RF
TShVWCE/VVNLdmwjbEs/WWAtbjk2NTsjQGFFK0I0Pz1LYlk5YDRmCnpSSGZNOFU2aH0/Z2V+KEw/
KEcpWTBTJD9gVDlKb1ckUndwTHJYUnc9O30tIU1TR2B0ckYzUGV6WmxkPkdTOHllQQp6P3BRQm9O
JFYqOWQ5Tz1SPUQpVXp7SC03b1ZHcD9uTlpDZGlmenFXM0ZXRDRxN0RPdHBgR2lORytEK0whOyE1
aUQKekxYPDVxQVhmQX5JT1BeUXs8YmdyVktsPypmdzkxIVVMVSthZXxCOyY8SmNsPC0pRSl0czFS
fnZ5X28xTDtwX3R0CnpnSiVXdkRMcCROOGs/QW9JREdobWNYRXR4Tkg3e31ZN3dWOVFGWH47VWNp
Y2RMXnhnIz9nRXAhSUpjbmFuVmx2Sgp6NDNARkg/YVooM2ZqeyhmdEF2MldVI2QjZTZMeDlOPEpY
WkokWXFXcnN3KD4kY2ROP2Q8TGRPNUApeUpUUV9GOUwKekRBdGI0WnlFKSQ1SEdrYio8QGp+dD1t
RXRrTlBaQ05EY1IpNHE2PjRLZTZhbzVmaWN7YiQ+b0cxKT9lUEImUl56Cno0NGklcDhSSTFnS3JQ
dWQ2OVgjfkpEfkdSTHl2UXRFelZZIU11a3tTKzx3TH1BPmI0fUIrZkQ7dnB0VFRBYldNdAp6WUtk
MnVSXk9PaXZndU9GMEc5dk5xeDFDNVdhd1EtRlBWNmE9bjhJQUxMTmQjNShTNyRCRTRkUHpBMEI3
YGBCRmcKenxIcG5DXj1MP2k3aFJ7IUhOME1RY1k/WmJpIzIldnhNXmx7eH4kVSs2MT9mbWxgSURp
VVZvV3AodU9QWjZEMVoxCnpwIWU5RVVvKkZBQyVHfExkUjxIeUY3ZykwWHVDX2ByXmlQUEF+d345
bUxqR2l0YWliMClMTE90QjZuVmRPSE5GWgp6b1E7TH5fPz96YDNCN1NibE8hI0tqYi1FKEFkQGFy
T0dMSXhvaFQwRClzWFhhSFFgQEVwemlIfUchb2crP2xCfn0KejFERDdzNXd9NDRfZjZmLWFveF4w
PTNBWlk1VHlsa3AxVWxOU3sySWd0JUFQUV9ySlcrdkxPRW5nK0ZxVj5ua1h7CnpyRCNhcUVMfSpu
KTstS1A2NzNGdXh2UnlFKFc2WG4tWD8+VTdmeGp+eWd4NjdWJkZEejZ0T3J2bSR9Jjw7ZkNsdwp6
OGV1REZ3OU4jTjBhaGliaW9tTW1pfT8ldTg7fk1FTkJsangjR1ZadT8zb0BGVGlxV0U7cDNZLTU9
dHx+cVJXX1cKenJAIz8oN0pEfC1sVGM0TUUqZ3swYmxgb2QkVjYoXl41TnEqM21XTXJfQiEqNV9J
YlR9R1c2cj93I0hSVDxFVEJgCnope1M/czlkZyQlRlgtbkRuREdMY1hUSGFeJj1LMGgxbyQoIWIm
QVYpc2tjbTEqSyUpPlgwIX1Ed3A8SzBKMjdMJQp6dSYzKEFNVi1MQnM3d2w5ZEcpUHM9ZUtBX1h6
akM8Pm9oZXBwfVkoay1NQWFEZXdqNHduO3JBY0JjdzxQZVN5SGIKekdkbDRkcD1vXmE3T2MtWTtP
ZXBPR1NaQnRSQGdxeig4aVorZkJ8WD5uYChGNW5GPzNkKnpBKlBLRiFRaTQ+RGlMCnpVKnU2VG9E
PXc3QH5vZG01Nmt3T1NFZmtEOW5rM0Brek9MZiloMGoyPGQkeH5ZeHlwTXJpXzl5P1h3fTwpO3xp
Mwp6V2htblYwSk82QHooOHUzPnQxQFktU3xWVkNQRVZpNmhTQyE0RT5qWUc0SFFyOCRJailFUT95
UiFpWVJMR1VXbzkKelFrS1lRJTJtQm1aO34xeXo2QlJMcylVeHZSSCEpOyF7ZFhmKDdJMWZPO25C
U1l8dzE9Sm1WSjhKTjZPLU9EZW4jCnpGNXtefktkZVhGZmlxbEdOQWMxWGAhOUJ6aHVPVWlVciYj
RkMpRlUrWj97IXpUOzV1YyRzKSZncDFufUNZdE40Ywp6MkhlNVBkJDRkJHRka0JmWWU8REIlUWFV
bWpQdjdocitWI08ya0AxJFpKUHBzY2ExMTJWQXMxd2YydXRjQFVBaEkKejItTzk9WW5Xa3RDQShx
aVgjVGV0S0hzdHAkbFBFTU0lPG9fPnwjfnNWeXBoSEVIMFRRWFM5b3QkbmVUI0FASTh6Cno1UXRA
dyNkVk8kM2wwI0VsN2RCQ1BNZmdpMCVqSGNpJUVVdylKKn57SDsmVSloYkVNSV9EbShSRkZMPUBM
emZXTgp6V2tsSDVqSGt1NlR6NWR1dTY8UDByVipKUmQ8MTw4cl8zbzlVY0dGUEptKEk+RXdyMD9k
dGhPPHp6JXc8JTFtbG4KemtoUkBxZmFSaFZlT2d+cEBvLWE5NFp3MXQ9WTYwQ0xsR0NUSClnTD1Y
Zmt5IUw8RHBKZ1Q0ZVB5N2hRSSo5fjlDCnpPcml+MjkxUU5NOHNMZ1U9b15XJE17YCZZeTdvTD9R
bENwcGVRTD9ldEt8Nkw5M2p2JCo1K3xLdSYwWlFNZ1YpZAp6Y35UTzxvLVAoUDdHWnY4UUxFMEk2
cDJvPyZ4Mkp8KlR7REZuaDVzNytqd2R1Nlh4Q3AkPz0+STRQTiUzTi1WLWQKejIzK0Q0Xi09VEkw
fT56bHgyTF88JXdjWDtUa2xwQk5oK01RUlMpViVRKkw1cClOdjtHJU4qdGpWcTE9S3I+JkVlCnoo
LVMoY1VJRlQoWDg1ZDY+Ujswd2tAam9ZKklSZkRkVEo5dGFWTmBvWDY8MDFDayprXm45dDhNXzxU
UXVBY0cpdgp6e2Y4KXdeKEg+QzcpSno3bW1EYlN7JU1UNDcmIWZhVUJANnU9bEJzKzVCSCUoJipy
N2M9bj1ELWNRQW5nRStgMmMKenhNOTNtPXpZJnlDeTkycitFbGxRQVFibzx5I1pfRiQwXlBsNWow
fnZ3SkheMT5aZWNXMTNQZjl5JXwyMi1vUmc+CnpQYV49eD9DN3ojYExiX3FiP2paTmB4KEIyTjcr
QiUlI0JZUHB0KjwhKlEoTUtzbypuakFRYVU/aVAxUjgtZD5aTwp6NEwqI3x0K19AJTV+entTWFYw
ayRNdTNTI0RBVTg2MCEqYVpyZG9pQkd8YjNAZVY5V05EKUB0Z3EqRFhkVyhtJEYKelV1VTZVKSM8
UVFhSEExdEpJYSsjQT5eWXgzIWNIfXlpPiR7IXwlJSVJM0JYbkJzMTwhNll3UEJZXlNTa1ZNOD1z
CnpTaEpjV3VtIyVnbj9SeHE0YDFpfCtfZDwhJnE0WXpgX1htTTwhVGZXRlVOZzJLfkZiK2dSNGNv
ZXVvXzN1YEsjZAp6bWBmbmtxbGQhPSFrXk9sNC1DZ3NFM19XI0hlMWBYV2k3QyEkRiRzVFpNJWhX
OU8oJnFANWIlJExASUVaZjQpMXMKelJQXzFOZigpNlNleWxkM2ZUTTBlKHQ0WEN3RnFANVFTP3NU
MEdIcU5JSEt+VUxHYkR4anNTbGkxOzdoa2tSeGN7CnpKOFV2R2dSOUZNWlNnbzdFTUJjd0tXcVdX
UG0mMVVHST9mUD97K3s2b016UjxGJGIqLXBaVXZXR35Qey1WPDFTYwp6Qk1WMFB1ZEFEQWlvbVNq
MF9iSSoqUVlANkp6ciFjalo+QHVqbj9WbS10eDskazF4OEtxK01OKXNIODlJIX0mbV4KeksrZXg0
eEY5aUhwPWtqJVo3Zz9QMUNIOG1AVmswKUxMWkRlbSRmbFBqNmFfd21eJWpXNChNTHpVb1NfZ1dz
WjFyCnpEcXFUIyN2RlIjeTY9PGA7V18mbWVwTk1ZQ3Q2MD9ISTgkdyY3Nkw4dHVCXkpPUVJSYzV+
KyluIyg0e09vWSRWPgp6RzUkd0dwbmI1WmVMQEFeNDMySWB5NCQyUWl2IUokeCgzZyZrTyhGPndo
OTMoTm5NNDNqUHhUZGA7KzEme0pxLSEKekNOaU91KiY7WEs3UHU4WmtFZW9sZzxiRH5edzxLPHtA
a1BrTmApYGhufTc2WXhiS25MPkpKUHY5VDhwK2R5YD5DCnpoYDByXkJyMnhJb25hVTNDKUl2YDM3
RThmZ3FGPihxNGxuYWBJJW4rRnImcCZUaDh5VXc+b2ZmVzQ+Jm1BM1B5Mgp6TT8rR1lIOGpUWFRT
JS09S2tjWitiK2MoRVh1a35jaW0peE10TTB5RnlZJk41R19fQXxOUG50b2BqVT1+YTMzUnoKekUm
KDQhLT9QMjdmdmBDIWJOKWlmO1d2RVl7KlgtS0F4V0FyQmJ9QmVocHEpRTMqYCF4Zyt6WHREX199
M2RId3koCnorKCE/QDdXajNHSFhAdD9IKz1pNWl1YkV8VH1ISzwlUG5GYTRwWEV7SDhVb1VRKzIp
OTc5TFpkUH0+TjUhN31pcAp6UXBPJmhvdXJvcUNEbkw/OV97T0QxSD4pPjAwVXdRKWRBV0MoNWU2
VzQhLSF4Z1I/USo5NmlGVFohUStrQGlYZkEKem1lVUpPVj52azlNenUxcXpuKnZAaCRzQ1ZUamNR
OyptbG9namxDVn4xfE1zSyR+SFpKb1ZjJmhCPllLK2BaRWlMCnp4O2E2WmUzTXc/bE1kKWxFQiVA
YyRRTzVYSjFrOD9ZeXQ7NEA0WEY2KngxV1dGVkV2Z3p0QDFjNWpTKXYpRXA4LQp6dlkyam1jOF8+
cEVVYTB5Q3lfX3QwIX4kYURfUHRRN29fci1GeURHYDxjODZqMFVXSDtXQzliI25nRWBaKCUhOWkK
eiFsPXhuJUpRUn1AUGl8dyhfKXk9ZXVBUTtKeXhlMWBLfSVUYkZOMXFvJnpDZ1JiYUkwQllea2sl
I1g1cVZ4bCoxCnokRkh4NGs1fTFwdl9PVXVHTEgqNGZTNFdWZXZ8XjNkZzFxfTY2ZiRlUm5aIWYr
VCg1THEwSWUwKGRYYHRgP0t6IQp6b1BVdHc1aFRDU0RtPGQ3ej5QJFRYT3wjPzdYKE96eFdVe35z
Nk5UMHkzZyZkREpveiVvfjZAQFp3Qlc1cnNTZHgKejVwRWAkTSM/RGJ5Vl48RzBrTTtAX0FLUCEx
dypINTBvJi1RX3VHOTgpdU05WngqRS18SVBIWnNqS2BtKlJ0OEE/CnotMUt3VlBtNnxrKyo9OTw8
Sl8jYVBkSEZqe1RkfmtScDhNeipnJCZxIXtPRi1kQCszbXg2TTw0U2FiVHI5fn47Ygp6UnJ8fn0o
JWxeempgcUIyIXNvZlQ3IVV8T0sqYDRBfE4zT2JHUmYtUl9sdX1Jd2xWPWl7NFZidUxjO3I3O311
N3AKelNAdSR6NytSfi1SfCZxZW90Uj8pNSg2MmJ3ZkF0bW9WbnB9ez1MQndkSGVwUngpKTFOQ0py
dnxERnxgVy1AbU9ACno5VlRXWllWJCRqUF5YUXQ8ZFV9fjNLUU5xbV9xU2ZYKGckNmN+KF50Ki1n
ZDVVb0dvRCFGRF5pdUh8blZZZFFgcgp6YDMwTUEqP2liN0EjJWU+MFVzKzlLMjFpVnJMQ28mZF9n
SjxhZVJpN15rc2Z7Pn1LIXpqPkRTak1UfTBoRT4qQUkKemFQSn1iJUspLXdXSlIyQT1NJFRkeFMm
RDRAWG99OUJHNGg9U3RZOz1pVEFReF5xWS1zcE9PYD1ANmZiQElrQnR1CnooLUBFaTc8cC1MQnFX
YmpGejdOWWRRaFFAbypAR152OX5wdEFuI0klMiVfIzV5bWZIQE16OGFCe3BKeGduRVQpYAp6T1Ja
NnFzM31JX3cySC1vVVRWJkNtNl5HNjt9JEZqVWo7TCMybVRaI2x1RzxWRn5uYy1OeCMrYXNNTTJU
cWlgfXoKelRIP3Uhb1FocmM8dFQ1N0ptSSgzWnBJfEhPMSVnKDlOVHZfbnRlNWslditWbjdnd0Vs
R1FhIXFpK2Rhdil1UF8rCnp3NH5ZbE9+LXdnMXFDPiZCaWJ3R0tWeShnWjZMKmszXisjSkhhUUNF
UFA0OTxoZ3pFM3JgXyV2bT9aMTFiZFhlKAp6NTd2dnhHLVd5c04lVkVgVDNBPSg3aiRFRGJDRVkz
IXRTWT9XfWxPNjBuJTdqUWF2eW98SFh1cT9ofX5OP3tYU1cKenhAI0B+P0VkR351XkM1ZCN+RF8+
bzBEJnQ9TV5+RWw8b0NGWWRBPUt0fmA0Z2VoZ2krI2RPKnMxJWt7KipTRzFICnp5Y3k0M3d4O0g3
ZzJ+Xz0mPUk9T1ZVJEVoT1UlJW1GMX5BMiZaU1hwV3hjO0k7JDV8Kk54cX0+TUt5MFdAUGhTawp6
PFRMelE4U3wmVE40OGhlUVpCVSVDbXlQQnEyYSYmJSF2aXxVNUZPOSgqZSVIUlNzQV5CXzJmQVZx
cDIxWkk1WCgKel5xJFElQmI7KHw2d3cmd0VwMHgjWUpPZDYzQ2lndVA9JnI8TWIyVGJCVEJgVFl1
Y2pUY2lyRE9Sa0c/QlJwMWFBCnpxcWt4bntFRX43aCVOTHxkdUxnTig+MFR8UDg1elp6TUAkeUpS
NkAwRU9FcVp7Mi1YaFFpbiViXjA1LU5tJmI0bgp6ZD50bXpZZ1V3ck5kKjxUKCslQmtxPWEtNUph
aXI2RXEqYUBUTElTaSRUSmd4enA1MCRBNFFKLWNSaHdiN0taOzAKeiROdGpaJGFFaXBoNnF0QWZV
VUhRd2k7azc/WXVBVUcrLS1qYmdpaEBYUD19LUJ6eHFOJTlTJnkkZk5WbiF4U143CnowNTdFPCtC
TEppOXE9cXpXO3ltbGRtUSNaS2dyfDljfFQoaD83SldnY2tKflhPWUYjcWRiRSpZWChfaDN4cTwm
dAp6QjF7MFFqaURYMkktWWZtUlcmZkNRYzBtVi05d3xYRmxQcjtZNnJMc1MwPlo+aEtufl9qaX1n
YnR4SSNKK3xpK34Kem5pI3Q8enBzeHMye3EzcSU2OCU0PWJpIyhfR01fI2d9KzBZe2kkb3JkR2pn
fVZvISQtPH0hTWl7P2Z3UT95N2NhCnpCM3FTYCtvN3h+TCZuZyNgWDVnZjVnfmJFNEx6PyRHRHBT
Ul5NXlglRXRySEpnRVZEUGYjSV4heU9ReGI4Z1k3KQp6SDlZfC1eNlF+ZDM1bkRBNCYlRD80c0c1
UUMtIykkQWYqc0BSenV1e3NWUCttZ2ZVMjBvK3M9SzNxUDlhJVZnaWQKej81JnpXQCpTcHhAJSZ7
QERBQVpPal9ycGdfSUQtZVFKc2BncSM4K31iYDQlTW0zUnkodV9IejBYWCtTTittdl5RCnpeXkNf
eHhgaEMjelFUdm57TGlXUlotQ010PHU7NTIpSkl8PWwlRzFAbSZ6dHNSey1qeDc+OFo7KE5MKmRI
UC1oRwp6RDBzTzxrVEJIT0RfdmA4KiExWHdVZkQjaV9nTEJnbkdGdmQ3LW9ESz1wLXo1WCNCYDdP
KWJFX1JMZFFmOXViKV4KekVAMHM8YHZGKnd4O0okRUl7SlJBQktXYEEmSXgwY1oxPEZ6WGg4cE9v
N2lzZlA9UUJRRzI1MFc+VD1aT2hmI2RVCnohNHNANnVhMWJFPl4xSnQ7XyQ9P20tZzd1cS1SNXoz
QCk5aTt0Z1hzRjBrQlAtWWBUNjw8UlBDM3RacXJ2fFk0Qgp6IX1pT1hVRH50RUVkTE5gcipae2w0
WjFlRENQcjZPdm4zYDtaSztMIUJkJllFdVdmVTtRVHVOKjRUb29sYDN9eXkKej9hdlc8ISVPWTsy
fkY9PWVtbWV1b1dGcGZ4RD1HOTx+Ym9ZRColamxIalNlRyZ3M0kxdVNuN0ZINXxUNDl2byRoCno5
YDw2dD1FJGpIeCptM2JydUVGVnlKNSRrPmdIZmIhcEljOHEoc1B1UW9XdCVDaVBOb3lmUSZFV1c4
K1dNaVB9Swp6ZXt9KiVnZVRra3A9SmdkLWB0bmRNQVZJQG1NNSUtdUBlRENMbHNecXl2KlEtMF5x
N0VrM2xQR3skI3F4eEJDNkIKekdmQlF2QGtPVFl7MFY5b3NVZjhEckRXNmAmU000N3pWN2AtWXxD
QSZUIzc9c1gtV28mWkhKZmRUZG5SbEV5anFoCnozWXU4WSY3Q0d9dUFoZDhqWVRUPDBmQShqbFp4
Q081eC1XWWVWeCY4JX04YWFVWSQ3KT56YW5fMzlIOUBNV1FaNAp6cVBOR2drV2szbmctUXR5ZVl4
LU01X31ncUxKK0V2Tz9iSmo+ODxESHdeNz9BMSpeRjstbXE7fXVjSngjSUJtNCgKemc4ZXR8QUpE
SXJwPTQyPnVWKFY0XntYYW80SilAXmVeTUxeKDItNlVTek1XKSpPSFJyaksxUXxtazUoI0lmaCgz
CnptZmw8MXcqeU1meDswQXdebylAUnZrNHklTW93MSRqfD5pKWlzeWk3YGdkS0B7KHh6XldtIWo1
QkN7JmpTfXxhbgp6b19OKT1II35BTDVoTzNhcDs4RSN1YlpPbk8/Uz1MQy1XbUVib1E8QTBPc3BB
P2F3MFJgSykranc/eX1qSlJWYWgKelNHSjsqVmdTT0wyQDtlMmkkU3UkSDJjc2g2U0tVKShUNnh7
JEFRa3w2JEJwZU40Qj9hb29CdiVqOExMNkNCaFB5CnpIZEUqXjVvNDQ2ditSYFVzTHt+fW52Kz9E
P0xTJjVBbFQoRXNhOzJ8JWJhK2R0c2A/P3NVOE1BZTxUayY9QDBnOwp6ejRTc3g5OTwtQHBDUTFt
SFo+fChEJjJGZDwyKjNQLWo0bE5OPlM/SDBPUnxfSFBVXz56eU4qWER9VUdILWBYVlIKekZXZnp9
QTYqanVeP35VQnBpNX4jdlQqcWluKXkybllUQUQqcTVtaUU9PGNvZj8+X2hCUHdodDlvJWpDJG82
O29TCgpkaWZmIC0tZ2l0IGEvV2Vic2l0ZXMvd2Via2l0Lm9yZy9kZW1vcy93ZWJncHUvaGVsbG8u
anMgYi9XZWJzaXRlcy93ZWJraXQub3JnL2RlbW9zL3dlYmdwdS9oZWxsby5qcwpkZWxldGVkIGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggNDYxOWIxOTEzZWJkNTU4OTBjY2E0ZmZhNjM1OTQ0Yzk2NmQ2
Njk4YS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9XZWJz
aXRlcy93ZWJraXQub3JnL2RlbW9zL3dlYmdwdS9oZWxsby5qcworKysgL2Rldi9udWxsCkBAIC0x
LDY3ICswLDAgQEAKLWxldCBncHU7Ci1sZXQgY29tbWFuZFF1ZXVlOwotbGV0IHJlbmRlclBhc3NE
ZXNjcmlwdG9yOwotbGV0IHJlbmRlclBpcGVsaW5lU3RhdGU7Ci0KLXdpbmRvdy5hZGRFdmVudExp
c3RlbmVyKCJsb2FkIiwgaW5pdCwgZmFsc2UpOwotCi1mdW5jdGlvbiBpbml0KCkgewotCi0gICAg
aWYgKCFjaGVja0ZvcldlYkdQVSgpKSB7Ci0gICAgICAgIHJldHVybjsKLSAgICB9Ci0KLSAgICBs
ZXQgY2FudmFzID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvcigiY2FudmFzIik7Ci0gICAgbGV0IGNh
bnZhc1NpemUgPSBjYW52YXMuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7Ci0gICAgY2FudmFzLndp
ZHRoID0gY2FudmFzU2l6ZS53aWR0aDsKLSAgICBjYW52YXMuaGVpZ2h0ID0gY2FudmFzU2l6ZS5o
ZWlnaHQ7Ci0KLSAgICBncHUgPSBjYW52YXMuZ2V0Q29udGV4dCgid2ViZ3B1Iik7Ci0gICAgY29t
bWFuZFF1ZXVlID0gZ3B1LmNyZWF0ZUNvbW1hbmRRdWV1ZSgpOwotCi0gICAgbGV0IGxpYnJhcnkg
PSBncHUuY3JlYXRlTGlicmFyeShkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgibGlicmFyeSIpLnRl
eHQpOwotICAgIGxldCB2ZXJ0ZXhGdW5jdGlvbiA9IGxpYnJhcnkuZnVuY3Rpb25XaXRoTmFtZSgi
dmVydGV4X21haW4iKTsKLSAgICBsZXQgZnJhZ21lbnRGdW5jdGlvbiA9IGxpYnJhcnkuZnVuY3Rp
b25XaXRoTmFtZSgiZnJhZ21lbnRfbWFpbiIpOwotCi0gICAgaWYgKCFsaWJyYXJ5IHx8ICFmcmFn
bWVudEZ1bmN0aW9uIHx8ICF2ZXJ0ZXhGdW5jdGlvbikgewotICAgICAgICByZXR1cm47Ci0gICAg
fQotCi0gICAgbGV0IHBpcGVsaW5lRGVzY3JpcHRvciA9IG5ldyBXZWJHUFVSZW5kZXJQaXBlbGlu
ZURlc2NyaXB0b3IoKTsKLSAgICBwaXBlbGluZURlc2NyaXB0b3IudmVydGV4RnVuY3Rpb24gPSB2
ZXJ0ZXhGdW5jdGlvbjsKLSAgICBwaXBlbGluZURlc2NyaXB0b3IuZnJhZ21lbnRGdW5jdGlvbiA9
IGZyYWdtZW50RnVuY3Rpb247Ci0gICAgLy8gTk9URTogT3VyIEFQSSBwcm9wb3NhbCBoYXMgdGhl
c2UgdmFsdWVzIGFzIGVudW1zLCBub3QgY29uc3RhbnQgbnVtYmVycy4KLSAgICAvLyBXZSBoYXZl
bid0IGdvdCBhcm91bmQgdG8gaW1wbGVtZW50aW5nIHRoZSBlbnVtcyB5ZXQuCi0gICAgcGlwZWxp
bmVEZXNjcmlwdG9yLmNvbG9yQXR0YWNobWVudHNbMF0ucGl4ZWxGb3JtYXQgPSBncHUuUGl4ZWxG
b3JtYXRCR1JBOFVub3JtOwotCi0gICAgcmVuZGVyUGlwZWxpbmVTdGF0ZSA9IGdwdS5jcmVhdGVS
ZW5kZXJQaXBlbGluZVN0YXRlKHBpcGVsaW5lRGVzY3JpcHRvcik7Ci0KLSAgICByZW5kZXJQYXNz
RGVzY3JpcHRvciA9IG5ldyBXZWJHUFVSZW5kZXJQYXNzRGVzY3JpcHRvcigpOwotICAgIC8vIE5P
VEU6IE91ciBBUEkgcHJvcG9zYWwgaGFzIHNvbWUgb2YgdGhlc2UgdmFsdWVzIGFzIGVudW1zLCBu
b3QgY29uc3RhbnQgbnVtYmVycy4KLSAgICAvLyBXZSBoYXZlbid0IGdvdCBhcm91bmQgdG8gaW1w
bGVtZW50aW5nIHRoZSBlbnVtcyB5ZXQuCi0gICAgcmVuZGVyUGFzc0Rlc2NyaXB0b3IuY29sb3JB
dHRhY2htZW50c1swXS5sb2FkQWN0aW9uID0gZ3B1LkxvYWRBY3Rpb25DbGVhcjsKLSAgICByZW5k
ZXJQYXNzRGVzY3JpcHRvci5jb2xvckF0dGFjaG1lbnRzWzBdLnN0b3JlQWN0aW9uID0gZ3B1LlN0
b3JlQWN0aW9uU3RvcmU7Ci0gICAgcmVuZGVyUGFzc0Rlc2NyaXB0b3IuY29sb3JBdHRhY2htZW50
c1swXS5jbGVhckNvbG9yID0gWzAuMzUsIDAuNjUsIDAuODUsIDEuMF07Ci0KLSAgICByZW5kZXIo
KTsKLX0KLQotZnVuY3Rpb24gcmVuZGVyKCkgewotCi0gICAgbGV0IGNvbW1hbmRCdWZmZXIgPSBj
b21tYW5kUXVldWUuY3JlYXRlQ29tbWFuZEJ1ZmZlcigpOwotICAgIGxldCBkcmF3YWJsZSA9IGdw
dS5uZXh0RHJhd2FibGUoKTsKLSAgICByZW5kZXJQYXNzRGVzY3JpcHRvci5jb2xvckF0dGFjaG1l
bnRzWzBdLnRleHR1cmUgPSBkcmF3YWJsZS50ZXh0dXJlOwotCi0gICAgbGV0IGNvbW1hbmRFbmNv
ZGVyID0gY29tbWFuZEJ1ZmZlci5jcmVhdGVSZW5kZXJDb21tYW5kRW5jb2RlcldpdGhEZXNjcmlw
dG9yKHJlbmRlclBhc3NEZXNjcmlwdG9yKTsKLSAgICBjb21tYW5kRW5jb2Rlci5zZXRSZW5kZXJQ
aXBlbGluZVN0YXRlKHJlbmRlclBpcGVsaW5lU3RhdGUpOwotCi0gICAgLy8gTk9URTogV2UgZGlk
bid0IGF0dGFjaCBhbnkgYnVmZmVycy4gV2UgY3JlYXRlIHRoZSBnZW9tZXRyeSBpbiB0aGUgdmVy
dGV4IHNoYWRlciB1c2luZwotICAgIC8vIHRoZSB2ZXJ0ZXggSUQuCi0KLSAgICAvLyBOT1RFOiBP
dXIgQVBJIHByb3Bvc2FsIHVzZXMgdGhlIGVudW0gdmFsdWUgInRyaWFuZ2xlIiBoZXJlLiBXZSBo
YXZlbid0IGdvdCBhcm91bmQgdG8gaW1wbGVtZW50aW5nIHRoZSBlbnVtcyB5ZXQuCi0gICAgY29t
bWFuZEVuY29kZXIuZHJhd1ByaW1pdGl2ZXMoZ3B1LlByaW1pdGl2ZVR5cGVUcmlhbmdsZSwgMCwg
Myk7Ci0KLSAgICBjb21tYW5kRW5jb2Rlci5lbmRFbmNvZGluZygpOwotICAgIGNvbW1hbmRCdWZm
ZXIucHJlc2VudERyYXdhYmxlKGRyYXdhYmxlKTsKLSAgICBjb21tYW5kQnVmZmVyLmNvbW1pdCgp
OwotfQpkaWZmIC0tZ2l0IGEvV2Vic2l0ZXMvd2Via2l0Lm9yZy9kZW1vcy93ZWJncHUvaW5kZXgu
aHRtbCBiL1dlYnNpdGVzL3dlYmtpdC5vcmcvZGVtb3Mvd2ViZ3B1L2luZGV4Lmh0bWwKZGVsZXRl
ZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGIxNDViMWNkOTMzNGJhOWM5ZjkzNTc4OGVhZDA1MTcw
OTU0YjEyMDEuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEv
V2Vic2l0ZXMvd2Via2l0Lm9yZy9kZW1vcy93ZWJncHUvaW5kZXguaHRtbAorKysgL2Rldi9udWxs
CkBAIC0xLDIxNyArMCwwIEBACi08IURPQ1RZUEUgaHRtbD4KLTxodG1sPgotPGhlYWQ+Ci08bWV0
YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoIj4KLTxtZXRhIGh0
dHAtZXF1aXY9IkNvbnRlbnQtdHlwZSIgY29udGVudD0idGV4dC9odG1sOyBjaGFyc2V0PXV0Zi04
Ij4KLTx0aXRsZT5XZWJHUFUgZGVtb3M8L3RpdGxlPgotPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBo
cmVmPSJodHRwczovL3dlYmtpdC5vcmcvd3AtY29udGVudC90aGVtZXMvd2Via2l0L3N0eWxlLmNz
cyI+Ci08bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS93
c3MvZm9udHM/ZmFtaWx5PU15cmlhZCtTZXQrUHJvJmFtcDt2PTEiPgotPHN0eWxlPgotKiB7Ci0g
ICAgLS1iYWNrOiByZ2IoMTMwLCAxMzAsIDEyNik7Ci0gICAgLS1kYXJrOiByZ2IoNjUsIDY1LCA2
Myk7Ci0gICAgLS1zdWItaGlnaGxpZ2h0OiByZ2IoMTQ4LCAxNzYsIDgzKTsKLSAgICAtLWhpZ2hs
aWdodDogcmdiKDE4OSwgMjM1LCA3KTsKLSAgICAtLWJvZHk6IHJnYigyMjQsIDIyNCwgMjI0KTsK
LSAgICAtLWJvZHktZGFya2VyOiByZ2IoMjA0LCAyMDQsIDIwNCk7Ci19Ci0KLWJvZHkgewotICAg
IGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJvZHkpOwotICAgIGNvbG9yOiB2YXIoLS1kYXJrKTsK
LSAgICBtYXJnaW46IDA7Ci0gICAgcGFkZGluZzogMDsKLSAgICBsaW5lLWhlaWdodDogMS40Owot
fQotCi1oZWFkZXIgewotICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKLSAgICBoZWlnaHQ6IDIwdnc7
Ci0gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFjayk7Ci0gICAgb3ZlcmZsb3c6IGhpZGRl
bjsKLSAgICBib3JkZXItYm90dG9tOiBub25lOwotfQotCi1oZWFkZXIgKiB7Ci0gICAgcG9zaXRp
b246IGFic29sdXRlOwotICAgIHRvcDogMDsKLSAgICBsZWZ0OiAzMHZ3OwotfQotCi1oZWFkZXIg
aW1nIHsKLSAgICB3aWR0aDogNDB2dzsKLSAgICBoZWlnaHQ6IDQwdnc7Ci0gICAgYW5pbWF0aW9u
OiBzcGluIDYwcyBpbmZpbml0ZSBsaW5lYXI7Ci19Ci0KLUBrZXlmcmFtZXMgc3BpbiB7Ci0gIGZy
b20gewotICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7Ci0gIH0KLSAgdG8gewotICAgICAg
dHJhbnNmb3JtOiByb3RhdGUoMzYwZGVnKTsKLSAgfQotfQotCi1oMSB7Ci0gICAgdG9wOiAxMHZ3
OwotICAgIHdpZHRoOiA0MHZ3OwotICAgIG1hcmdpbjogMCBhdXRvOwotICAgIGZvbnQtc2l6ZTog
NXZ3OwotICAgIHRleHQtYWxpZ246IGNlbnRlcjsKLSAgICBmb250LXdlaWdodDogYm9sZDsKLSAg
ICBjb2xvcjogdmFyKC0tZGFyayk7Ci0gICAgbGluZS1oZWlnaHQ6IDEuMDsKLSAgICB0ZXh0LXNo
YWRvdzogMHB4IDJweCAwcHggdmFyKC0tYmFjayk7Ci19Ci0KLXNlY3Rpb24uZGVtb3MgewotICAg
IGRpc3BsYXk6IGdyaWQ7Ci0gICAgbWFyZ2luOiA1dncgMjB2dzsKLSAgICBncmlkLXRlbXBsYXRl
LWNvbHVtbnM6IDE2dncgMTZ2dyAxNnZ3OwotICAgIGdyaWQtZ2FwOiA2dnc7Ci19Ci0KLXNlY3Rp
b24gcCB7Ci0gICAgcGFkZGluZzogMTJweCAyMHB4OwotICAgIGNvbG9yOiB2YXIoLS1kYXJrKTsK
LX0KLQotc2VjdGlvbiBwIGEgewotICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsKLSAgICBjb2xv
cjogdmFyKC0tc3ViLWhpZ2hsaWdodCk7Ci0gICAgZm9udC13ZWlnaHQ6IGJvbGQ7Ci19Ci0KLS5p
bnRybyB7Ci0gICAgZ3JpZC1jb2x1bW46IDEgLyA0OwotICAgIGdyaWQtcm93OiAxOwotfQotCi0u
aG93dG8gewotICAgIGdyaWQtY29sdW1uOiAxIC8gNDsKLSAgICBncmlkLXJvdzogMjsKLX0KLQot
Lndhcm5pbmcgewotICAgIGdyaWQtY29sdW1uOiAxIC8gNDsKLSAgICBncmlkLXJvdzogMzsKLSAg
ICBib3JkZXI6IDJweCBzb2xpZCB2YXIoLS1zdWItaGlnaGxpZ2h0KTsKLSAgICBiYWNrZ3JvdW5k
LWNvbG9yOiB2YXIoLS1oaWdobGlnaHQpOwotICAgIGNvbG9yOiBibGFjazsKLX0KLQotLmV4YW1w
bGUgewotICAgIGJvcmRlcjogMnB4IHNvbGlkIHZhcigtLXN1Yi1oaWdobGlnaHQpOwotICAgIHRl
eHQtYWxpZ246IGNlbnRlcjsKLSAgICBwYWRkaW5nOiAxMHB4IDEwcHg7Ci0gICAgYmFja2dyb3Vu
ZC1jb2xvcjogdmFyKC0tYm9keS1kYXJrZXIpOwotfQotCi0uZXhhbXBsZSBpbWcgewotICAgIGJh
Y2tncm91bmQtY29sb3I6IGJsYWNrOwotICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsYWNrOwotICAg
IGJveC1zaXppbmc6IGJvcmRlci1ib3g7Ci0gICAgd2lkdGg6IDEydnc7Ci0gICAgaGVpZ2h0OiAx
MnZ3OwotfQotCi0uZXhhbXBsZSBhIHsKLSAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7Ci0gICAg
Y29sb3I6IHZhcigtLWRhcmspOwotfQotCi1AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lk
dGg6IDYwMHB4KSB7Ci0gICAgaGVhZGVyIHsKLSAgICAgICAgaGVpZ2h0OiA0MHZ3OwotICAgIH0K
LQotICAgIGhlYWRlciAqIHsKLSAgICAgICAgbGVmdDogMTB2dzsKLSAgICB9Ci0KLSAgICBoZWFk
ZXIgaW1nIHsKLSAgICAgICAgd2lkdGg6IDgwdnc7Ci0gICAgICAgIGhlaWdodDogODB2dzsKLSAg
ICB9Ci0KLSAgICBoMSB7Ci0gICAgICAgIHRvcDogMjB2dzsKLSAgICAgICAgd2lkdGg6IDgwdnc7
Ci0gICAgICAgIGZvbnQtc2l6ZTogMTB2dzsKLSAgICB9Ci0KLSAgICBzZWN0aW9uLmRlbW9zIHsK
LSAgICAgICAgbWFyZ2luOiA1dncgNXZ3OwotICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6
IDkwdnc7Ci0gICAgICAgIGdyaWQtZ2FwOiA2dnc7Ci0gICAgfQotCi0gICAgLmludHJvLCAuaG93
dG8sIC53YXJuaW5nIHsKLSAgICAgICAgZ3JpZC1jb2x1bW46IDE7Ci0gICAgfQotCi0gICAgLmV4
YW1wbGUgaW1nIHsKLSAgICAgICAgd2lkdGg6IDcwdnc7Ci0gICAgICAgIGhlaWdodDogNzB2dzsK
LSAgICB9Ci19Ci0KLTwvc3R5bGU+Ci08L2hlYWQ+Ci08Ym9keT4KLSAgICA8aGVhZGVyPgotICAg
ICAgICA8aW1nIHNyYz0iY2lyY2xlLnN2ZyI+Ci0gICAgICAgIDxoMT5XZWJHUFU8YnI+ZGVtb3M8
L2gxPgotICAgIDwvaGVhZGVyPgotICAgIDxzZWN0aW9uIGNsYXNzPSJkZW1vcyI+Ci0gICAgICAg
IDxwIGNsYXNzPSJpbnRybyI+Ci0gICAgICAgICAgICBIZXJlIGFyZSBhIGNvbGxlY3Rpb24gb2Yg
c2ltcGxlIDxhCi0gICAgICAgICAgICBocmVmPSJodHRwczovL3dlYmtpdC5vcmcvYmxvZy83Mzgw
L25leHQtZ2VuZXJhdGlvbi0zZC1ncmFwaGljcy1vbi10aGUtd2ViLyI+V2ViR1BVPC9hPgotICAg
ICAgICAgICAgZXhhbXBsZXMuIFRoZXkgc2hvdWxkIHdvcmsgaW4gdGhlIGxhdGVzdCA8YQotICAg
ICAgICAgICAgaHJlZj0iaHR0cHM6Ly9kZXZlbG9wZXIuYXBwbGUuY29tL3NhZmFyaS90ZWNobm9s
b2d5LXByZXZpZXcvIj5TYWZhcmkKLSAgICAgICAgICAgICBUZWNobm9sb2d5IFByZXZpZXc8L2E+
IHJlbGVhc2VzLCBhcyB3ZWxsIGFzIDxhCi0gICAgICAgICAgICBocmVmPSJodHRwczovL3dlYmtp
dC5vcmcvbmlnaHRseS8iPm5pZ2h0bHkgV2ViS2l0PC9hPiBidWlsZHMuIEF0Ci0gICAgICAgICAg
ICB0aGUgbW9tZW50IHRoZXJlIGFyZSBhIGZldyBzbWFsbCBkaWZmZXJlbmNlcyBiZXR3ZWVuIHRo
ZQotICAgICAgICAgICAgaW1wbGVtZW50YXRpb24gYW5kIHRoZSA8YQotICAgICAgICAgICAgaHJl
Zj0iaHR0cHM6Ly93ZWJraXQub3JnL3dwLWNvbnRlbnQvdXBsb2Fkcy93ZWJncHUtYXBpLXByb3Bv
c2FsLmh0bWwKLSAgICAgICAgICAgICI+ZG9jdW1lbnRlZCBwcm9wb3NhbDwvYT4sIG1vc3Qgb2Yg
d2hpY2ggYXJlIGRvY3VtZW50ZWQgaW4gdGhlIGNvZGUuCi0gICAgICAgIDwvcD4KLSAgICAgICAg
PHAgY2xhc3M9Imhvd3RvIj4KLSAgICAgICAgICAgIE1ha2Ugc3VyZSB5b3UgYXJlIG9uIGEgc3lz
dGVtIHdpdGggV2ViR1BVIGVuYWJsZWQuIEluIFNhZmFyaSwgZmlyc3QKLSAgICAgICAgICAgIG1h
a2Ugc3VyZSB0aGUgRGV2ZWxvcGVyIE1lbnUgaXMgdmlzaWJsZSAoUHJlZmVyZW5jZXMg4oaSIEFk
dmFuY2VkKSwKLSAgICAgICAgICAgIHRoZW4gRGV2ZWxvcCDihpIgRXhwZXJpbWVudGFsIEZlYXR1
cmVzIOKGkiBFbmFibGUgV2ViR1BVLgotICAgICAgICA8L3A+Ci0gICAgICAgIDxwIGNsYXNzPSJ3
YXJuaW5nIj4KLSAgICAgICAgICAgIFdlYkdQVSBpcyBhbiBleHBlcmltZW50YWwgdGVjaG5vbG9n
eSwgYW5kIHlvdSBzaG91bGQgbm90IGJyb3dzZSB0aGUgZW50aXJlCi0gICAgICAgICAgICBXZWIg
d2l0aCBpdCBlbmFibGVkIGZvciBub3cuIEl0IGRvZXNuJ3QgZG8gYW55IHZhbGlkYXRpb24gb2Yg
Y29udGVudCwgYW5kCi0gICAgICAgICAgICB0aHVzIG1heSBjYXVzZSBzb21lIGlzc3VlcyB3aXRo
IHlvdXIgY29tcHV0ZXIuCi0gICAgICAgIDwvcD4KLSAgICAgICAgPGRpdiBjbGFzcz0iZXhhbXBs
ZSI+Ci0gICAgICAgICAgICA8YSBocmVmPSJoZWxsby5odG1sIj4KLSAgICAgICAgICAgIDxpbWcg
c3JjPSJoZWxsby5qcGciPjxicj4KLSAgICAgICAgICAgIEhlbGxvIFdvcmxkIFRyaWFuZ2xlCi0g
ICAgICAgICAgICA8L2E+Ci0gICAgICAgIDwvZGl2PgotICAgICAgICA8ZGl2IGNsYXNzPSJleGFt
cGxlIj4KLSAgICAgICAgICAgIDxhIGhyZWY9IjJkLmh0bWwiPgotICAgICAgICAgICAgPGltZyBz
cmM9IjJkLmpwZyI+PGJyPgotICAgICAgICAgICAgMmQtZHJhd2luZyBsaWtlIFNoYWRlcnRveQot
ICAgICAgICAgICAgPC9hPgotICAgICAgICA8L2Rpdj4KLSAgICAgICAgPGRpdiBjbGFzcz0iZXhh
bXBsZSI+Ci0gICAgICAgICAgICA8YSBocmVmPSJzaW1wbGUuaHRtbCI+Ci0gICAgICAgICAgICA8
aW1nIHNyYz0ic2ltcGxlLmpwZyI+PGJyPgotICAgICAgICAgICAgU2ltcGxlIFNwaW5uaW5nIEN1
YmUKLSAgICAgICAgICAgIDwvYT4KLSAgICAgICAgPC9kaXY+Ci0gICAgICAgIDxkaXYgY2xhc3M9
ImV4YW1wbGUiPgotICAgICAgICAgICAgPGEgaHJlZj0iY3ViZXMuaHRtbCI+Ci0gICAgICAgICAg
ICA8aW1nIHNyYz0iY3ViZXMuanBnIj48YnI+Ci0gICAgICAgICAgICBBbmltYXRpbmcgQ3ViZXMK
LSAgICAgICAgICAgIDwvYT4KLSAgICAgICAgPC9kaXY+Ci0gICAgPC9zZWN0aW9uPgotPC9kaXY+
Ci08L2JvZHk+Ci08L2h0bWw+CmRpZmYgLS1naXQgYS9XZWJzaXRlcy93ZWJraXQub3JnL2RlbW9z
L3dlYmdwdS9zaGFyZWQuY3NzIGIvV2Vic2l0ZXMvd2Via2l0Lm9yZy9kZW1vcy93ZWJncHUvc2hh
cmVkLmNzcwpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMjM1MTQ0OTU0NDk4NzJmNDFk
NzQ2NWZmN2I0NDhiY2IwMjQ5N2UxOC4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMAotLS0gYS9XZWJzaXRlcy93ZWJraXQub3JnL2RlbW9zL3dlYmdwdS9zaGFyZWQuY3Nz
CisrKyAvZGV2L251bGwKQEAgLTEsNDUgKzAsMCBAQAotYm9keSB7Ci0gICAgYmFja2dyb3VuZC1j
b2xvcjogcmdiKDM1JSwgNjUlLCA4NSUpOwotICAgIG1hcmdpbjogMDsKLSAgICBwYWRkaW5nOiAw
OwotICAgIGhlaWdodDogMTAwdmg7Ci0gICAgZGlzcGxheTogZmxleDsKLSAgICBhbGlnbi1pdGVt
czogY2VudGVyOwotICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOwotfQotCi1jYW52YXMgewot
ICAgIGRpc3BsYXk6IGJsb2NrOwotICAgIHdpZHRoOiAxMDB2dzsKLSAgICBoZWlnaHQ6IDEwMHZo
OwotfQotCi1ib2R5LmVycm9yIHsKLSAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2IoODUlLCAzNSUs
IDM1JSk7Ci19Ci0KLWJvZHkuZXJyb3IgY2FudmFzIHsKLSAgICBkaXNwbGF5OiBub25lOwotfQot
Ci0jZXJyb3IgewotICAgIG1hcmdpbjogMDsKLSAgICBwYWRkaW5nOiAwOwotICAgIHdpZHRoOiA1
MHZ3OwotICAgIGRpc3BsYXk6IG5vbmU7Ci0gICAgdGV4dC1hbGlnbjogY2VudGVyOwotfQotCi1i
b2R5LmVycm9yICNlcnJvciB7Ci0gICAgZGlzcGxheTogYmxvY2s7Ci19Ci0KLSNlcnJvciBoMiB7
Ci0gICAgZm9udC13ZWlnaHQ6IGJvbGQ7Ci0gICAgZm9udC1zaXplOiA0MHB4OwotICAgIG1hcmdp
bi1ib3R0b206IDIwcHg7Ci19Ci0KLSNlcnJvciBwIHsKLSAgICBmb250LXNpemU6IDMwcHg7Ci19
CmRpZmYgLS1naXQgYS9XZWJzaXRlcy93ZWJraXQub3JnL2RlbW9zL3dlYmdwdS9zaGFyZWQuanMg
Yi9XZWJzaXRlcy93ZWJraXQub3JnL2RlbW9zL3dlYmdwdS9zaGFyZWQuanMKZGVsZXRlZCBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IGU0OTk3Njc0Y2Y5MjkzNTM3M2QwOTEyMzJkMjE2N2FhYjNiNDk1
ZDUuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvV2Vic2l0
ZXMvd2Via2l0Lm9yZy9kZW1vcy93ZWJncHUvc2hhcmVkLmpzCisrKyAvZGV2L251bGwKQEAgLTEs
MTEgKzAsMCBAQAotY29uc3QgaGFzV2ViR1BVID0gKCkgPT4gewotICAgIHJldHVybiAnV2ViR1BV
UmVuZGVyaW5nQ29udGV4dCcgaW4gd2luZG93OwotfTsKLQotY29uc3QgY2hlY2tGb3JXZWJHUFUg
PSAoKSA9PiB7Ci0gICAgaWYgKGhhc1dlYkdQVSgpKQotICAgICAgcmV0dXJuIHRydWU7Ci0KLSAg
ICBkb2N1bWVudC5ib2R5LmNsYXNzTmFtZSA9ICJlcnJvciI7Ci0gICAgcmV0dXJuIGZhbHNlOwot
fQpkaWZmIC0tZ2l0IGEvV2Vic2l0ZXMvd2Via2l0Lm9yZy9kZW1vcy93ZWJncHUvc2ltcGxlLmh0
bWwgYi9XZWJzaXRlcy93ZWJraXQub3JnL2RlbW9zL3dlYmdwdS9zaW1wbGUuaHRtbApkZWxldGVk
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMWEwOWU0NmU0ZGZhYTAwOTk1YTc4YjE3MDE0MTlkODRk
MjIyNzQ3OC4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9X
ZWJzaXRlcy93ZWJraXQub3JnL2RlbW9zL3dlYmdwdS9zaW1wbGUuaHRtbAorKysgL2Rldi9udWxs
CkBAIC0xLDU3ICswLDAgQEAKLTwhRE9DVFlQRSBodG1sPgotPGh0bWw+Ci08aGVhZD4KLTxtZXRh
IG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD02MDAiPgotPG1ldGEgaHR0cC1lcXVpdj0i
Q29udGVudC10eXBlIiBjb250ZW50PSJ0ZXh0L2h0bWw7IGNoYXJzZXQ9dXRmLTgiPgotPHRpdGxl
PldlYkdQVSBTaW1wbGUgZGVtbzwvdGl0bGU+Ci08bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9
InNoYXJlZC5jc3MiPgotPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSJodHRwczovL3dlYmtp
dC5vcmcvd3AtY29udGVudC90aGVtZXMvd2Via2l0L3N0eWxlLmNzcyI+Ci08bGluayByZWw9InN0
eWxlc2hlZXQiIGhyZWY9Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS93c3MvZm9udHM/ZmFtaWx5PU15
cmlhZCtTZXQrUHJvJmFtcDt2PTEiPgotPHNjcmlwdCBzcmM9ImdsLW1hdHJpeC1taW4uanMiPjwv
c2NyaXB0PgotPHNjcmlwdCBzcmM9InNoYXJlZC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0i
c2ltcGxlLmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgaWQ9ImxpYnJhcnkiIHR5cGU9Ingtc2hhZGVy
L3gtbWV0YWwiPgotI2luY2x1ZGUgPG1ldGFsX3N0ZGxpYj4KLQotdXNpbmcgbmFtZXNwYWNlIG1l
dGFsOwotCi1zdHJ1Y3QgVmVydGV4Ci17Ci0gICAgZmxvYXQ0IHBvc2l0aW9uIFtbcG9zaXRpb25d
XTsKLSAgICBmbG9hdDQgY29sb3I7Ci19OwotCi1zdHJ1Y3QgVW5pZm9ybQotewotICAgIGZsb2F0
NHg0IG1vZGVsVmlld1Byb2plY3Rpb25NYXRyaXg7Ci19OwotCi12ZXJ0ZXggVmVydGV4IHZlcnRl
eF9tYWluKGRldmljZSBWZXJ0ZXggKnZlcnRpY2VzIFtbYnVmZmVyKDApXV0sCi0gICAgICAgICAg
ICAgICAgICAgICAgICAgIGNvbnN0YW50IFVuaWZvcm0gKnVuaWZvcm1zIFtbYnVmZmVyKDEpXV0s
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQgdmlkIFtbdmVydGV4X2lkXV0pCi17Ci0g
ICAgVmVydGV4IHZlcnRleE91dDsKLSAgICB2ZXJ0ZXhPdXQucG9zaXRpb24gPSB1bmlmb3Jtcy0+
bW9kZWxWaWV3UHJvamVjdGlvbk1hdHJpeCAqIHZlcnRpY2VzW3ZpZF0ucG9zaXRpb247Ci0gICAg
dmVydGV4T3V0LmNvbG9yID0gdmVydGljZXNbdmlkXS5jb2xvcjsKLQotICAgIHJldHVybiB2ZXJ0
ZXhPdXQ7Ci19Ci0KLWZyYWdtZW50IGZsb2F0NCBmcmFnbWVudF9tYWluKFZlcnRleCB2ZXJ0ZXhJ
biBbW3N0YWdlX2luXV0pCi17Ci0gICAgcmV0dXJuIGZsb2F0NCh2ZXJ0ZXhJbi5jb2xvcik7Ci19
Ci08L3NjcmlwdD4KLTwvaGVhZD4KLTxib2R5PgotPGNhbnZhcz48L2NhbnZhcz4KLTxkaXYgaWQ9
ImVycm9yIj4KLSAgICA8aDI+V2ViR1BVIG5vdCBhdmFpbGFibGU8L2gyPgotICAgIDxwPgotICAg
ICAgICBNYWtlIHN1cmUgeW91IGFyZSBvbiBhIHN5c3RlbSB3aXRoIFdlYkdQVSBlbmFibGVkLiBJ
bgotICAgICAgICBTYWZhcmksIGZpcnN0IG1ha2Ugc3VyZSB0aGUgRGV2ZWxvcGVyIE1lbnUgaXMg
dmlzaWJsZSAoUHJlZmVyZW5jZXMg4oaSCi0gICAgICAgIEFkdmFuY2VkKSwgdGhlbiBEZXZlbG9w
IOKGkiBFeHBlcmltZW50YWwgRmVhdHVyZXMg4oaSIEVuYWJsZSBXZWJHUFUuCi0gICAgPC9wPgot
PC9kaXY+Ci08L2JvZHk+Ci08L2h0bWw+CmRpZmYgLS1naXQgYS9XZWJzaXRlcy93ZWJraXQub3Jn
L2RlbW9zL3dlYmdwdS9zaW1wbGUuanBnIGIvV2Vic2l0ZXMvd2Via2l0Lm9yZy9kZW1vcy93ZWJn
cHUvc2ltcGxlLmpwZwpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggOTE5OTMwMTNhZjFm
MjU1MWNhOTc0ODlmMTk2NmE0OGRmNDc4NjllYy4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMApHSVQgYmluYXJ5IHBhdGNoCmxpdGVyYWwgMApIY21WP2QwMDAwMQoKbGl0
ZXJhbCAyODU2NAp6Y21lRlhiekJ8R3gmXyNxamtePXYtUTZMJDEkUE0mKyYxbjY1fFdVRkFPVjV8
Y2VtaDlmWnpkd0MlNlE2X2JeUykKeko/Rmw2LUBOPG8lKUkle0E5RCtPX3QofGMpbTdjQXpGT2J2
eThDeyYydypHQUU2RD44Mm1tTzhmNTY9bUBKUDxyCnotVWF8dlJSSTxOMEZWSlYycmQ4eEVlUUFy
eXRXNzZmNzx9UzBQWDwqRSg3ayo5TFB4cV56WmlsJC01O0tZQ0JJKQp6Un1vSDVtPE5aMm1DRi1y
NG9lcWpQRzFYR1BIcWteUEMhaTMqVlYkKChifCpoaU02ZGdPcV4hRnNmfnVwLWIkUUMKenBJPzxy
KW02c1kmUilecS1DRW1VT349eVQoTmZyb01wQS1HJXZaJE0rMTEoRih9SyNeKiRMKCQ7d3coYHlL
KWlHCnp6UiV7UXE1NTZLKEB+dHBLdmpjRSM+TCY1aWwyanpnTnB7ZCtURkBWTGB6b3daYFhvSDt4
dkQycT5xbWVoWXY0QAp6aUBQbCt4M0k3PENsP1BWNC1ZJDdnNUFScD00cyl9NClkVj52aiRtZjRA
LUFAUzVKRXY3fWI0XjdFZkhmSmpIMmYKeklLZXdge19QZ2A9M2l9PHAhIz9FX1k/VHs2WnJRTmAx
Y2R8X1k/VHs2WnJxJTZaa3ZadjQoKlojfFB2eHp9K3EmCnpxKyNkYz5FZERNOyE0SEshMzc5T0Uy
K1pZbFBvYSh3JntQSCp5SDVrS2NhdzJffDBjMWk4fms0TDNoZyF6QU1TZAp6bX16TEslUFQjU2Bf
MTdWXmpmJk9JPkJLQmZIVGF+VH13ZmwlRH5XdzNUWCtYWm56K29WKkB4WEVJbk1NRyZDT0YKeipa
SnJFY20wMztvSzQ7bkpwZFNFenB2fUI/MD9PYHU+eHJrJFEzb2Y7IW10UkVTKjhTOHI7NUd5MUlK
OzBRNER7CnpQd1Y2OWRULX18SG9pTzlLK3Z3Z3d7OEVoenV3elZ7OyhIK20oa0laMG40MCNZIXV6
WCFyY31DKDd8a2clRz1Udwp6dE91UDYwMSRDdVJgeEllen51dk4yfT9UKkQqJClebyYoc05vbjd3
ajRBNXFKQCpuRTR7U1VUPCNnbzc0dzZMKUsKeiVsQE07O0ZhS3dXJGlzJm9oPHgqQU4rNnJJNkha
UCYrQiloMGV7aSQrIWVMSkpzdFNXM0xJVGp7PDJ8RClZU2pYCnp3K0RPbHIpfXFAc1FhZ0Y9XitD
PyVSakVRdlhFOHopQW4tSW1ITn1SYTBqaXdtOWg2ISgpclZOY2hVTipld2RUbQp6SndBVDchT21M
Z0ZXY0hmUFcjViU4KyY9QktXJT9JOXNOSVRaK2t0cEtXel8zP1o0WEtaenVDdHpQcCMhVXYwSz0K
em07YkFlJkt9XkVmNGlAeCNvekRjWHtRNSpDViNaWStRWjxsX0U9ZlYlS2VvTylCVVMkdUFiNj0p
Iz5XPTh8JU9PCnpWKHB+eFNINmUwX0Z2YX15NmdPdj9faTtQa0tOenBUfEc3YWRPcEEtS257PXZy
fm56ajkpSlBYZkhQbkw5PzYxNwp6OSlLKDAxUm5XJFRLbkUoNHY9d2lePmVxa3dlekhzMCFOVEZs
QGlSN2dOPSVaaSgzIT8/I0pWTzgyfnVlYGFSQWQKemd1e1EmYXw1cHo1ZUIyRylXN0ZodW1WNk04
I3A5TnsrPnJDMDAzeW8wTU44ej5FLVZJTX02QDNJfEtqfnp5azBBCnpWdEBqbTEoKlBLZkNtciZN
MWhCMz55LWdAS25FfWNPYVYqNDRzNT9XLX4kOCMmdylfajlxPUJBMUNvR3JBUjh6RQp6TmBYcUM0
cm03MmZvQDtgX3kkWT5HciVJUzNUeSloeiFgODJmazJRVDchVylORkB6RkE0YEdHeUshaEw/NUlN
KnIKemghKF5VVmgqdXx6I3Z8YksqJFRvSjRnJjkzNmNwWmduV1dESy13WEZrUCpsYSRQIzF8YXM7
YDhnVGtUMTtscSlgCnpGfkQpYzNCZ0loc2xlJkxKJStQfGJBJDdUZGtHZl9tazVeeVJ7fmNIKkE2
IVRIdnpXQHcrKGorMSl5azlMTVN6cQp6OVYhSHNmdlE3fHBmKnI8WGI/MEU4Vn04YW1PJmUjSjx1
YGVCNko2TzM2QlZtMlR1amg0bGZGPzIoSnJvM0dXNlUKejFSb0JjMVlaRE8zO3pYdjQxTmp6MFI5
Jk8xX0J1WkR9bzR1NWBxRE9FckpoMUNfKzMhOXpxUjU3czNSPkQjOTVlCnpBfGZGb0JjZFJwQkJD
THAxN1pNVElBU1ZkSXBTeDs1eVRiNVF6UnJMVmtBfjFhVV52bDNuV2paUF42RFlCfWk+Wgp6cWUh
YnI3c3pQSGwqbH5EXjJrUVdGeXMqQWM7cTdGUl4oQ1NiPndSbFkhckdGNWZwVjRELT1KSkQzbHpP
TXdEVGMKelJnYE5+OTheWUJhYTB7dDJoYGBOaUt1MCRVOHU5RCQ3cEQxRy0kJFRuclFaRCYoSVJs
RCRzaC1tZTROSWFuVmBPCnpXemJFfnowZjFrXlUqKH18M0UqK3pgJFVAYyEqKHk7ZldFNlFIYXJy
Rl5fUzlpSEZJN3NmMX5UOEh8flhTJktQfQp6eHJjPjxNVU4kZ1dzMnBHNl5+VmdISEBgYGplXmE5
RXJWQD05Zlh+WC1HRHVYZVRzdkohO1BiazxCU3VJUS1zcnAKenZ3QDMqJVlaOX5ZbFpzfkh5Z0pU
Y0xmaU1NfmYkZVhObVUkRjkpditaeHRVQXBBbGFQLXZSI31la3VNQ3tzOTNsCnowVXY9TGZpRlFh
Sz99aG1BKFc3VFA+SWxxRnA5OH1hRlh6ZmhANDFAJGVRUmFRNW4lRihmST8/Mk0tQHVLTH5xSgp6
eyRTJDQ2KV9kRDlJKyNERzt0bUE5MEAhTDN5Q0kpNEBud0g3cyhET0tCKnxGQzIxSUdDRndMNzky
cENsN0Zoc1UKekhyWkZRUSpzSiYxIyh5TmtLfj0/SX4wVHo0PUVmZEsyV3EkWSpPTTtOPkpLVWV4
UGlsK0BkMCZsQT5+PU5+SFFpCnpid0V1PHR3YC1mb2s9fUplTkRxaXFlfk0pUSUqQlNpJUtnKlll
Vn5pd3VBUDdqKj9FNUV8OUw2WmtpczJVV25kfgp6SzdxYzZ7K3hsNEw3KDlATG1rNWc7eyEkfE10
e2EpIyN0cnxDUF5rWXJZeHAkVzwrS29XPUd+IT01SCk7RWNgNVgKekVYZ2R4dFo9TFh0b0UjX3RS
cmopWXtHMFh3ayk8T2M2ND9yYzVuNyNfOVlITmp6PTZKOUNhTGZvT0dOPG9ZOTs7CnpvV0hwRXh0
ekZpeE1zTDx4c3x5P3hFcn5UY3Z5SFdkNklkP2NgPG45ZDRxWkRjQE96bWBLPFpVX2BkVndAdkhL
YAp6PUlgTFk2JVo2fjdicHxoNnI+WTA3ZmNiSDYyY2VLNURGTFM2LUUlMjc3aTl9N1FQZV81Yitl
TDZ4a1BMN2orYVoKejY1U0FFNnRmbn41bkI8YjV3e1N9NmtuOH1rfSNMWmtYViRZbWI4JH1sM2Fk
QmBfU3JQLW90ZSVXKz99JDV+KTNECnpFQF5rXjh0SFF4NXQqa2xwSmshNDNiSjljTHZweHN4XmhX
IV5ZUyRFdyhgYUQyTVlXTzBTY2NMNWZvSnZxWk94PQp6JGR4UlczWTg5JjEobHlGZV5FaEsoTjst
UFMkQFJ3JG8pfkhEeDlqYVlPTHo0OG9lNCF0eGc/S1M1bDh2cFZNSH0KemFNTmhnTUFYI0tPeDll
fTs/QGUoPmUwczJIcSRRQktHVHViaVBEK1RXenpOMT9hOyYwR3RuIzVKSiotaGtJYFE9Cno7NTJ3
QEZrbmJ4WG00MD1nays+PWx4SzhtRU4ye055bFRSNDVeNkh9bkRNZGk8MzNYb1F6ejNGR2J9Ujt2
bnEyMAp6YkE5dDdeQlc2d2khNilOQ3JWRkpvKlk9cFNTREMqVFJwVjtWNnx5MlpYSUwyWlg8M0pX
M3lvXlpYMFg2WCh3cUgKelo/fEpGVzFuUHk9JUREMz9yYHA/P3dJZCo9Y01tYz91X2hnPyVWKndn
Km4yJHhLT3pHeHtTRTh4YHcoZ3h7MHtPCnp4Z0VIeHhhV0M1SlJXPTBkKlh3ez1jXlohKkRKM2pa
d2M+WT8rWUoycERKRypVenFQI0tOaTJZZShWMTd7PCM3MAp6MGhSJEJmeipNfDFEQnBrSjxTWSkx
VSg3cjImTjV3OE5CKlQ7YVMwUilhUT1SMlNkMCpWblIrez0pWSl1TiZmUUwKeiVhdkNPdVpseDRM
KX1CQ1VXPmo/ZSpeITx7PnspXi1uU3Ake3RCfVM+d219ZkY4PHczeE1nXk0xYjBNWSM5Z0ZLCno8
V1E3QVJOOHlRX3B0WXEoVVE+eEYqcV4pRilPakV2OSV3bEs3QFRaaThHN3FpfDMwXlBlNHVaTj8x
Jk1sdnd8Zgp6PyZKSDlIJVdGJDZVb3hhPHRiei1aJlNgd3R4YHdSOTtUSjBsYyZFK3pzailCX0Ax
ZWRTKTBYPjZgemZtP1ZZYHIKenFuRmNARTBrTjlOMFJxMD89fk5uemdWREVAVEV8JnUme2AlRDVA
Qikqc0ZONiNIOGR+c2NkT3w4R0JofkliciNgCnozWlROUFYoWExucl4hbHslOG58YnM8TFlPPlhh
SjFueV58KHR6WWR5b243NXh5PHo9R2dLfFNocWlBREk2R3V+aQp6R2ooJXYzcWVhJUR7QVlAKjFJ
PFV3JHNuOXBMZzFBK2dDY3dJJVlaekk+KjBnZWlgYWc+RlZ2NEA5eWw4PlNebTAKej9gYGZBPjEq
ZzA+YVFDUjded1pxfEZ2ZTJmM1JqcVY1b0xqYUpjQFBAVkNZaHY2MHFNJDxnKlAqfEZ8JXJTWDlZ
Cnp3VFkyUS1PMkEkQ1IyO3d0LWYja2FRYm1MP0xCPXheSzJHakhmIz1pRWBGWURLNUt6X3A/cHpi
djFMaGk+RmN1Zwp6XjMwMG0lSnhyPnBFcyo3KkQlKU4qRDJRdkgrVkxoSHwwMEtaNWVOXlpvNihA
P31ZQis/NTZCNz9OI3FULTJaeEQKemFJa3ZsZXQzNWplb1RDdmY1TGF0YWpKMVRmOThDNGVJOWx9
ZHtKO0libEcjSWYzPCQ/YkF4bn5jKn1nLV8pRiMyCno/NDklN292VmVyI2N3V2ZGVzE3XmZGa1p1
Sl4pfUMwcyE3TzA2QGszZ0Q/THMwbiV2KlNPJkU5QVJMZnd4S3lZcQp6SlRuM2shWGVAJihpSExu
JGBhfjFJc3lnKnJWNXJQYl9VS0E5dlojYGZqP242KEs7fjtpM01vXyopUm5IQnxudWwKemJ0RndD
P0lfKEkwfntrSjZCYVdYPT1tO0xjaUVRTSQyZEFVWXEpWl8tfTV9PmI+UCRFZTw7OHJoJG5hPnY/
fX5uCnpxKl5wWj8xaXw0Z3FFYmxMcENXJlgranhuU3JqPlZ4bSk+amcjKlA2ckE2aU1EbnBPRFJH
WmJSKUpydnJHeit6Zwp6dmBjbCRid0JBPD1+byQ0OCYoQHQ4Q1JOb2RSJVQ9WmRQZXRaXyluYnRL
fD0/SFJ9X2JKM0JPY0xJKWEwUndzVUUKek50bHcwdUIpfTFrOSZraW9AYmxhY2tlQEE2aEE2fCEy
cT5EJWNzNlVWWmpOe0dNO0NLcWB5ZGY4VEJlT0d+bCh7Cno4PUpSQVZRVE5CIXVjYlpCRlVtfi09
anNOI0d1N3VlfFFpXzluWUc7bW5pO0dFPWVfNkhebiZCR1ItbUZHdml0Mgp6YD5mM0RudzxYSmd9
anBqPFUrQ3smU0wyai1CUX4hLXx7eVZAdD85UGk+cz10OCpBRVh5WHlNdDJPQ0JqQ3pgJUQKeiYk
S01HeyVxVStlQSlyK0I+Mk1BQ0R5SWNXNytHfDd1S0lMUTJ3PWphQWF0NGM9eX1zJGtwaTAqIUIz
dSNPZFZXCnopR21tJm1GZkFKQDNXKEdnWSYlJFU1bmpJe21ZeyhiM1pwJVB1QyRFPSRqOT1YdHow
YmdtLTIzbD1mOClXRGp8Ywp6aD5uaHFkcm0le0ktWkgwVzFjVHVsd1VyKCghOGQ9S0Q9cWFqczlo
UiQ4fnIycFdaKFEwdXtuQmAyTSQkbXIpTVUKelB8QGl6PFNefjlxT2R6fmpgNyY+JT9MZ2NqejdS
NFJ3YTJ3YGtDeUVmfGImWUR4QThTV3xIPVY5KmNwRGslNVZ0CnpgMmg8VyVMVkgpK1lveXJNPmMw
VG1wOFhMan1rOHo5fShYenw0KUhfIUUmSnchdX0kcnFTOWd2Oz5oQ0w1K2pvSgp6NTN7QUJyOSko
VldTISltJG09UG5DYHVAQ0U3UGhGSlZKVk9wfU02dXQzSU85dEokSHxzQDxlaHVVbiY2cDxpcn0K
elhQOVl9V2M8TS07XysrSzVWSyhPVjJoOV5WVjFGMERjMVFtNn1JKHVwWTN9Y2g4LXVJV31TYitj
M2R2cDVaI0c5CnoqZ1UxWjQ3XzFKRk1KZEhPOG5hYk1neEM3SnE/Qz9oV1o+YzFwTmkjaShmQktV
VHVjWHkmaWVmXnxuNSZfKzQ3fgp6YC1xVDhwRDU/fHckWmpSNHpjYlp7TnJCNHplfFdzTyNZYWFS
RzNfbVFqXi04KXsjRHRGYDQtQD5vZjszX2R5O0AKenpGMmA7cDs/aEBAdzFabXI1Uj1BPHQtS2Nw
QyYzN3N5MzwqWUEkTjs+SmJ8LTh1NlAqbnlGZUNUR2Byb0thMDAzCnpjTmxnJGVGXlQwP2F1Rk0+
PmNifD5fN1NuS1MoJmxGd0ZsPWRnUmZsX0wlOy0oUypzUT42Rj1iXkI/Qlo3QmQjSgp6N0lQTiE3
N0xiKGMxeTB5ZmglREBsVTlxQG4lMks9JXgmJiYtUnorNmxJJF87YX55Q1VHSiopV0o2PHx6S2d+
RGAKekl5Ym94eHFOVldiflNjZ2FUOVV0QEpzJVZfODtFPWU/Ul8qQEtFdV4ydDJeP3pZbVVvT1ZW
VnJhUzlBZEYpQnl1CnoxZSNYYld4OEpzSUU+VXhFWD5SLWpJN2piQjwkRTZENFlRMkcxb2Z4Y2I7
Q31URTBCfklEcj59WmJGWlJSWVV8dQp6WH5pKGJGMnErUHpEYSg1U1MzeztvZ3RHZjh6JmJqfDYx
WGhxT1gjeHZhTzJnQk9PJkdIM0BZQTROZ3NGRWUzNW0KejlVNUl+SnhZQnQxN2JyJEJWMSMyNlFz
d0ckRzRgSlg2TlA/N1QxPD1SPjs7XkhpV2loY0dVSV40bEl0R1BDVTsxCnpGa3UlLVJ8UGpzY1FY
JUgmdTNvSS1rQ24xZF9WZ1FgX0JiejJWTWxoMSoxTWdlfnVDWTBjWCpsRlVNYlhncUZXZgp6ZUd+
VDlFNm4xWllQZTdZWjZzRllaUGYxajw+PVglQDNCKUt6UV9IRHxETnpZYXE4bl8ocz1TJSUxRypQ
K0Y8JW4KeiN6Xkw1KSpMdn45cHFsKyF4dnhfNSlAR3NHbjg8WUB8QjV7T0lGQnlsQzZ9aGxDNzRt
Y35+bzZDc0hyaXp9dnsjCnojTTtjekxlb21vTSo1a3dvdVklVGxsX1plbXZweWtrQUNseUtCcz1+
ZiM5IWkyQlVgKGh0c31naiUxQnlqSFFleAp6T2hpdzxufGteRT0/fFoybWw/WlJeRXR6TD9GRWZS
JV9hVGlDbzY3MExzc0x+M2Y3eDgxfihWQ2omfFU4QCVRTlYKemNARCU2V3NsXks8eGdaekNDXjA5
MXVuUVJTKzV3YnNjd2pHQHFTXzRBPlAwTEtYakEoSVJPIWpEUmFQaUxpYVRRCnpKYzxUQEcqUiN5
QTFXd0dVOz07ITFfMDs/MTh+dyYwMzB0YjBMUFg2KlpjdGlLbHp+bSp1VnBUOGVqemshVDRBYwp6
RmF1bkdVQClmNDAmMExoVT1CRWpwaEJvMkFgbCZqM25VRFo1OXgtaSFYZCZqITk0PEZ5K2ttKytr
cH44NmB9c24KemFfOXk7OVQ9KFF6OzdVTWZVI0h5QXtMQEtWaWdpSGt+dlpuQCZqYUY8WV5SMWx6
Y0V3M1BSbVFHZWE5ZW1xbzlgCnpWOEtZa0IqMldvTGRKVDlqZXp8YzJPVEZDbW1JZWNQWXx5TVVt
dCYrej5nNChGb1FedD0tVUcpVnBRVHs1O2MrJgp6KGlBY1V2U2FjTDNSUXxMJTZ1d2FZNlIrOThW
NmN4K0cpQnRkTXlTI2g2JTxiQ1VhJis9M1NPNVJ6RWdMYzB+NEoKemokfT9kRStLOS0/Z2dHJi11
SFk/e0VxfjkxU3kyQGdmVF8xTVR4fHkjV15KO0NBQStxTldHTktseGRlO2t3O1FzCnpRQitaflNB
TTBFQHUqNGx5VnwpMXY4SzN8d1JWKEZsa1BUJVdwJT80cWlXO1QkQXFUeFc8S1Z7N0tAZ3xSQCZD
bAp6SFkwWDtfNjgwYWp5dWt4dXQ9QTZII3pyd1BZZj5+QDFNUnBlbXchPWZ3ZShBITQ9UUJMbj5l
THpXVmY8e1lfcE4KeiNrPDReeXZYU0hJTUUrc05qX3g3dm5Nb3RSODNrKjJ+TUw7fENhZUdUUGhj
dCpIO2l6V0xDbWUxfSZmZFI5ekthCno8NXM4SHp9MUEteXhkeXpJa2R5ejN0S2xfJnJEektLLXs0
QnUrZlAwN31vXlQ2d2VSY25aJnY0TWVwVUMpej0kRAp6VFAzXmxgIytDZnBLX2toVVBhIUB7YE1i
I3pKSD9NP19VNlh7fkRtZTswIXprQjdxRWAzZSpzMGZDRXI1cG53UU0KekckNCtVUClJaFkxVDRa
cTtBcjlHO1QrKiY7RntwcHBtPFBlczI4KmRgVipjUy1VMj1zZWd9YU1Bc0FzMGtzUSRsCnpAZTJ8
ZWt+aCpBNyl5VVp6Qzx4Yz18PmVyJXxqemJpJEk1PmA9Y0xYKmtkZVY4ZT5qaj4wd1BfOClHbHlJ
TzNlKwp6elFRQktFNXcoO0EweDBReEZidjs7d0JtZC0jI1hCQzVadGs5QkNQdTJ7e0lOOC0rVjFK
Pl8/KkZsdXE/QmJvd1EKejNwI1NUOFR3PWZRJHsrKlpLZkxMWERwOWNpQzk8SSVHbXVsPFQ+IzxT
R25yQkJZQ1dPQU0lbSRVR3ZXZ2JifDkpCnpyZmB4LXZTXmxBblJwQjYmKDxFXk50NFFtJGVQR0tt
b0hRcFFNXj45UD8zQ09ydXRNWlJsUVlYU3FudipONUBuKgp6TGEkWi0qcFMpaWlFKjtZbT9eNTZs
KTEwUHJ6aEsxT3hDdEdnfEByKWQ9NWQ1e20jVE5OMC1sVCNPfmY2UShqYDsKeklsZnFhUHlQMS1F
dU1aNClfZ1Y/XjYxNmpEfi1fNkgoR0I7LWw+SzZNPUQxM0xAVUolZWI5fVlQakYxVU4oeFYqCnpQ
SGpweiU9bmQ2b01XMHRsc3tlPVM4UDtEVUE5eHZQI0lRalRGWTBEKFhpZ3MqN0Jqdnh9QzJSXyVo
Zz8oKEJ5Kwp6QEdIXmEhU0w2Uzs8M21IPzx3MEt3bG5eN2AzdXwyUWFgaVNROCZHfFNORHQjTXZ2
N2B6Z181RUUhPXtQNkxjR1kKenpXQEp6e0xsWCR8MWBoSEtrV0RUPypoal4wdnNjI19fKUYpel9y
MGBmdHJwUylDWEQmVTR8IXpIdiU9OVNwO2ZPCnpqajJHbUt+elJlTSUraHxMck1ofDY8eT5TNmU1
JkJsb2VEfSlKOE5Xdl95MWQ1Q0o8RlcqRm1gazEpSGpxX050dQp6ckxudGw5XnAqalRIeDtFMT5z
fWpYQXRsWmJRNzhvbylBU25WMC1ZRDcpRjllKG5NLWFoRC1MRCs/OWZnO3Y0MDIKekRqdXBlPlNQ
KmlUMT9zanhfOSlkM14pdXc3XypxMW5UMSZwU1ZtWT0rM2VXYElnbUpoYUYlaHM7eF4/RztVKHQx
Cno7K3lDMTV2VU8/N0FnPWY2S045dER6K3FrQn13PkBVJj1yX05HNHgpT2RoSmh0N3hoOFViI19h
U3J0VyVUaXI8Rwp6d1B1fnhyVmZSIXpGdiZ9SCQhWUFaUjI+OEAxYFZYI154eSZeT20kJDQlWEdT
NUlZVX5FUWZPXmI/MElpUjk5IVcKejJAaCR7Tl5lRz0zX21qZTxVcTJnUy1+dk5ZQz5kUWpLOHVB
eT9PSUtqUVUrZ2dtYDQlZCVmdGpTbD5BR18/JCRFCnprMkE+dXNUNjVuR0YtQUt2bk8tb0B7SjFW
aSV2Xj0laERfU0QpcC1jWWYwPGo4Z2BuZFRINCQ0K2UxNmV5MTA4Rgp6ejJFdlh6UGItN2U0YHc+
OUdqZXxvbDUlZ2Q8SGk2V1dqOTdjRXhXc2NELXV6YHdwPGpkU0ctRWUkc0p2ZUpPYkQKemVjTiNW
e3lsN1hkRzJRcTBEPitKJTgmRFJjZ050dTVUcUNZeFEpS015VXgxMXlVaGxKamFkTnI/RFU1Z2Vf
dDM4Cno4dnRTJDIoalozMmcqTytYWil2aF9aaCVKaE1ZaTdwYiMxVzRoSTZvZiF1dW9EOFlMbWZa
YCpWe3d4aUZnVGY7cQp6QXxhIW9xSmFmIXUpKHp8UCQoUWM2YW5HPjB9QTlSY3BpWXFMQk9Udm1P
e2tTdl9QVjkhez5QKG9yejI8e2kmVG0Kell2aDJBX2xiSzUzTXdKZDE3Wj8tMjFYYGs3Q3dGZktf
T3VnOENmfWIxd3whZ1o1PkBiZU5jOV93NmVDYndYPThkCnpAYnZRYkAlOGg2QCR5eVo+bzslMVZx
IW5VI1V+X3dPdj1qNiQ8NTB6Q0BpWTFzOztUNnQ4WnhSPT17PnYtUDdDRwp6S1JQeChGKilgOSRN
bitqJUZvcmNeXk1KfiE9dk1xKTNmdTclZDdpLUxCUDU2Ji02I257LUl3dVY4N3R0O2kyJEkKel94
Knl2YEc2WX4yT2ZjJTh4ZERaNlVvOTJrQX4rdEdRTTxsPUJJV1BUMylSS2YreX1Ic0R5TlVPWjEy
TFVIamQkCnpmMzBJN3xGP1NmU0k3Unx1TmlQNmZjdUBHYU50e2xMY3VvJDQ8PDBpeWllZWl7eVFR
NkV1c0VTcHd4K20yQ0E1VQp6T0x0JTs1VT52TFZucHlDMHxnMT8mcnw+VXslI0g9Q3slYVQwNkd9
KSFyPyUxMDc+OTlqNDcpdjdpKk8oRH50KkYKenw3ZTVXZWZ4aT44QkxPP2ZudGFHNWpXaWp0I1NO
MlpaSXFYSnRpb31ZPEBCO1VCSlBYSCpEQGppWH1zbmBkZGleCnp1aT8tbiFqQzBlZzZ+YWxFQilC
WjxtemN5e1R7TlQ3Qn1kfWV3QX1xa0l6SjFqRDQ/O2Y2VF9scyh7N3ZFX0o4OAp6ezAxditKeVZe
elRjPms/ZlcrbFRrS1MoSCsydXtTXk9ATF9GczhEeFZOfEI5WGFDQTNje2xSRSojRCZZYEdBSSUK
em53cDVVQndLQChOUGYxeDlvTTJGOXdvWChORlNlfHZqTyZxPkZWT2J2bWw7QmoreFpRITQqIUNL
Pjt9b3REbCshCnpZY0tVNFNROChrMmVUcVI/cjY8QmgtJSpsRV9mREFyO1dzS21uQU9CeWJ1bDNY
aXpJSjlTQUo3TjxRa05HfikoMgp6eHRTdEx6QngjQT9CK34qb1VuQ3ZiQmgoc3pWeXxHSnVpVlJw
elRPUD4+I344Xz5CWnQ3K01wJTxjPkcqUUp2ND0KelBrRWdURlZ9aldNajxOSkVTP3p1TU89eEJn
USVWVE1OVFhfa0x8RmwrYnQyTCkpajghIWlhWW02fH5xb0EoQGtVCnooWj1LZW9xaVNub2I7Nkc9
Xl5vSj8zRnspOVclTkJoMlozY3l+LW09b25CdjNCKVApekQ2ekpkeDwyUmd4eXhqMQp6eys3NkFK
QDRvbz8xJTVqSDAzakthMWFTfTxwQip1YTAjRURlcHNgcD9UUVBVZ0RGdiliTXpNVzJTWUNQSUZ8
UV4Kek8wVFRnUzlePFFlMVB4bWklSTJZREplRUpySHE/cT5+Rk5ROVYpekllQUVaTUJwKCZWamx+
bT5xX19+NE92UjQmCnp7SClFKnBTTEg4bjJhaz5TYmMxJE81YzNBaGYhJmVtfGRuNUN1QS0hTVJt
cm4rfWVEYipHaSM4SntxVnJDY2dtXwp6T01XY1J1V3dfaGdDRlQwV1VYVlpge3dyWjB8cjROcC1h
cCpoZHkyLXpldm1uaUMlTndQeFVZVERFbHc+R19+MmcKemhmJWNpaDhzOFRmWj9HZkllaCZoS1px
UUAje2FZLS1IclkpS3heKD5BYjBzaStSdGVfMGo7Xmw2K2FEbGB9YmQ1CnpxVGs1JllEYXZyM1Ao
QCtJSypXIz5peTZ7d319Kk9TOGJFY2JIKSQwWEVvR29FKn5SNWpZaF4ycTZXfHtkSj4lTQp6aHUj
NlUxRVBMM2pmYlkkWFFeJHgofXAzQEB0RFluSGwzOWA9dj5HVnY3SyhRQ3hwQFlfN29KSzkqZkZX
aHhOfksKemRDTyt7YUFgQ3BwODhQQjhAeyFTUjRQeUpJd1QrbytDfSpLWXhPbypVITA3PVNnVUYk
RHlmPEpUNjlZPThGcGp1CnpiKD5Ca3hlO0dkWCtxZzdWSn40OWBAViNHNFc9YkU/WUsjYWE+M2I9
aFd1alM4KFdOVW17WkpfYG4qWG12Y15ufgp6KnQwR3V7XlA9P19nVTRgK3cpbkRNVkY2azFjfX5f
bVE/UmxuQHlEdHhBWXlNeTRufWFvZU1AeCtAdFUleFM+Nl4KenNrZU03c1dSWGBVQFlUVCowTSN8
Y3dSIzVITiVoN2E5KjFJUXNTSXJLO1laUE84dE9XPjQwSkpvNFJEaVFjdUQkCnomdkhgIVR4LWtr
VF40TDVwOG5sWWBNJWxHRWVCXk1PfWoyamMyPUxZMkleZm04d19QS0pFXkk1JjlOTUEkX19ESwp6
NiE9PTJ2PnlCX082RGtHMEx6JHtSdiZFRXYqTFMhV25meFp7PG03eT5BOFhCKkp7M0dCMHB7KGol
RUdZUDBSZmgKenkjSG1lTSZjODE2OV5pNVAzX01nN2JiWCNvKV9Lckh+QT8hcE89YXwxeUxeaFYy
T08ham0mRz0zYitHYT9WcFEzCno8cH1meDtrQWRmTmN9SjJZd1o2NHpEezxiT00rb3V4eUo4dTlg
bnByaFFLUTZTP2ZidHV9TGZJaGJWMSEhcFg/Twp6dzxjZmw0Kz5oYylOR0ZHN3dxXiZjK1Y0RTFU
MDRwSXd6PnI5K2ojRWtNNXlGVmw3aUx4NyVLUkRFdi1wLUBUKGgKekdFYVZDeUY/RGhIdGR2P0k+
N09SekY5Wmc0PXB0c1RUQD0ySGVgaGtNJF9fTz90MUZvK2FjMyYrVC1CV1RtSnt6CnpVOzJ3ez0j
T3BWRjA+Y3hVWWBWV29QU1pqRSV0NlE/cTZsczM+fU1UXk1BeGUlTytpIXJxeG8hT2tFbyk+UyQk
PAp6YEJxd2kxU29pdTRZfmdeP2d9akdROHlNdUVWVElZUGRGVHs3NDFGY2NwVHNGRUtDaypKVEZN
djRxRkY3bGBVdSoKem5rQkAwQjM4dlJCalk8NEZmUEE4VWxCMUJGbUFJfVY8Mi12Uj53OVk8MnJq
aG5GeEVqalhwYld2cHJ2SnB1TytECnpRfEZBKT5HNFFWO2BBajxYPHhCd3dRPUlzc1B7U3IpNjY9
NitfYHk8SEtSNT8qVWtHX0AzZ3VuKCgkSzxGVSZUZwp6KF98MHlUU29mUnUhTG17byl4KnQoJFQm
Q1U5cEREKmxmJmZjPUokcnhEc1MqYjdaUCNqJmFyTGBUVjBzIUBYOzUKelk9YUdqMThKQ3A0b1Ah
LWZrQm9iO21hJWhvPiFFS1g8UD9gM29ufTAzb2FaXj4tc0ZZPHpmTjlYZjYhPUxfUERTCno2Pkh9
UGRYRT5xe0RiPF8zKU1YQGZ+ITNwKXlXT1pfcDllPjZILW9WPEwmXkAqP1AqUnhVZU9pRCEmRnM2
Zl52KAp6NkJuZEljI3JWMUd8dEB7b30td0J7Wlc7Xj5gU0NEOXdscVRoKTB9MTx8VVRgcDNYP31i
JVpnTT1TJW85V3JZRiUKellgWXUoem1DQmd6N2BfZyR2aUg1P190LTBeUlJIMXBTWGhEOWM4WD1G
fSZZQU9pUCEqIVNGYGx2MlNGc3s1MmNXCno/Ynokc1Y/QzVwRUpLfUFXWXtueCpEI2o+Skx7bEZG
dzRhNCFnfVVQe0E4VmVSY1RFTWsyPiRWbE4rOy02TTcwMAp6ZDx2akcrRn5xcXAtXkl+dmdVWmlr
cSVlS295fUd5Z3k4UT9rQl9hMHUwJDJwQz5PdkhtJHlsUiYjPDZhNlp5azwKenBJfihjS0R1R1pA
S2JEZj9ETm1kKXY2MEV1RFZfMEBnRjlsa18qMmlyYVdxSntqP2g4USt4LXxVdEdvVWFpYUx6Cnpi
fjt0ciQyKUtrPW13MjJeUWdTZlJlfTN+WT1HQmZ1SGlCRWZNNmBTKzwkIz1wK3kjVXlCJVUrdVg/
T0JtbGhBQAp6REFZNEtDM1gzX1ZZRU0qQzFgcCZvTHBxbGN3UGh8KDQ/SUM0YEFBP2dUUzFTaHFZ
YD87QD1Ybl5gQ3Y0N1poNkkKenI8YHV0TXhHdFI3O2RwWSlqbU9RYGk8QT9GXnNfe3F8WmR9dnZw
a2E9VTBEdFBtfGcjQyZHfFFwT0J7ZXlHKUMzCnpPK0w1fE0we0t1SXlMUUpWQUVGP0lJT3Bya1Rp
Xj01Ulp9bVNPc1o3LUxqJTRJYyZaKklvQjxJJXBKa1NTb01WJgp6TFVOfV5aYGFiZnNJbFJkekxL
TSluJlllNTxmTSZLK3d1WTRxPTBuQmgpKGtHJDtxVkpiZFRKSHtBNVF6XiFWZVIKemBtJjIkdHde
MzZ1S3BNdldaSWVfRThucFdxeDI5bElpSUNsUms4PDwhfGB+V2h6TmcxbGw0UW5JLWheem9fNWIp
CnooXyVkLThWIW5ENHo1LVI+MjZ6aykyd2VueFY9ang7b1VYUlhTS2RRR3xvMSFWJHA1RExMRDgm
UH1+VilfUzE4KAp6JmBzWWZ1NU9ffUdhR0RAKWN0LVZeSlNqK1k5M3tJbFhHNkg9YD4zQlhmRShO
OWNASTg7OHJiSTsxI34rTHhne18KelFRbDRiPiojR3ZyUiklP0V2P2xgeDJiY1k2d25NV1oxM21Q
PmxIP05Cfmh+fVYqQTNBb2QwRUlYM0diRlJ7fDlwCnpmYFNybXpNYyoxY182JE5IeWshfWFtX3JD
dihhIW9aZX1DMHk+QDJtenREU0IlRyY4YVJNfmVYWUl+SFBGNUtQdwp6NDVLPT09ZiNWMDRzfDRH
KmVOO2RRZnNWSkF3eE91VCkoajB3QGNUZmBXe04qX0M5IW1WUGJOUkEya2F0KHktZXQKekdEaDB0
UyQkSFFBTWFNUHVNNH4qPypMKCFiQXlAWnJNdUx8MGc5dUB2NyVjMSRrfmpIZkhgXz5sRDV5aiR6
anVaCnohUWZQamF7SVlwfDR7PHRBcDZqPnhodjR5alphQ1FDRH1LZzdhTTR3RyM0fTdCaGYjfXFP
azxlVn1AX0lkWkw4Kwp6Tj8hbE5aZX1hJj1AemZvekpkSnVfP1lUJmkmalRePUlUZSZZMGBCMm9O
SSpeaXt5TEFWSGtDIVhJVEhSbkk7V2cKenBIR0IyO19YdExnZjE2YUxeVFpAP04kcCFiT3tjaG16
WSZ3a05UWWs+cSlGWTUtdiYyPzdIfTcxMTFJMiNPPWs3Cnp3LXFMJFlDZkJiTVB2I3lSR1ROfmRm
KkprOG9nSUJefG53T2BMczlEPkU3TSoqaE5yendobn5zZnZVMGh2MWo+RQp6bD5zZDlqMX13S0Y4
a1clVn5tbnApO0cxdUhKKmYzb0A7SEtMbClUKiMteVJNZCFARlVnUHk0RGQlSGlZbjw1eE8Kekpu
ZEcpPGpeQXt4JSZJMTtJVW4kN1E+Y3laOHNtWT1pSVUkSj0oKEwqIUVhQ015SWpRaXlBNl9CWX5h
JWA0P08zCnpIIyR1N2g/QFo9R3NlTiUqdSl0KDlyVEJuQ0l2R3MyQUZZT1E/bTx7VnlNM3U1MC10
Q0E0T3BOZEswNTBwcXZAPQp6MT9+dHZaczVWMmA2MkBWSnJOLWhkTjNJTF9gOyhyZGljbzVfcFFx
THIqb1VlVn4pMTdxcDd0aW5Ud1YxTikmNzEKemxud2VsYW0kVVh6KjtiYlgrNX5xXyRSPzNebHRL
QiEwQC14b3lnMXBAO1lqaXVpPklwVE9LYzdlNzZtY1IlTXVyCno5dGBncT9mOTApJntYey0qYD8z
SGNfV0EqLUpuajtVNSExblBuVFlXN2JvKUpyVGwhaEBEX0wyTmQmTExENCZVVgp6aiZVQzQoWEBK
IStBU3RtR2cpQVVtRGl3ajluTVYwZHpxc2lsOSFxKE9GSEo1NHBzQihFazB4SWYoPHU/PjI3SngK
elh9WU9gbiV5czgtO0NfMVJTZ0cqYzhobUIpJjJIMF99NSFKQjdGOFdObFZWbDUqSyVmUDFTMihn
QzI4PilAI0V0CnpUfktCKzNEemBPalBeNHE/IXpqbm9lU3R2VHxoU28tSVdNVUsxPXM2RlFVdntI
SSR6dz9jU2JHSzE9RWw2azFEeQp6YEg0K0QpdyFpKT9YTHk+Q0xhakZpcT4hVDcrc1dsa30/RENF
IUJiJlZAaFk/PU95YVoqSkQ4PUl1JCgmdDNPfk0KemZiSF5idioka3ItVTBxJTs4dEV0PjZOZkxX
OUl+Qk1vRz9wWUNjdi0tJmZnTXBFYypYdHJvYTEwcGlyKVM4IShiCnphUT47c0Y0cUgkWVd8ITEr
XmdRPipRSWF7NUBrOyMoViN6Rkl7Nik/KmdkY1pfS2hrQU1xMn1UQmlGdHNBP2Q9YAp6KVZUMXdZ
cDU2dDlQNihPbWszRyg1V0UmO3dRbUdUTH0lRlk/JUptRDxlMl4lQGZTWVp1UGE8VkV7PjhralZl
bDQKejl3emtGYkZBNFEqJGglbTloPCNtZ0F2S0pSKUdaS2FeX0lJeXxiTnlyK0dCdmFqb2B+eWBH
ZGlBaUd+fVZsfW5SCnp5RkdoPWU2WUAybkJjcSUxb3FjbyFXU3lQYUg5fXZpPTclO3pTWWUhTzhV
PH1LWU8ockNyPT56dX5Uc0d0WUFQZAp6NGN7JkozPTNDMiFwfHNfPTM5Yyp7K2BPdXhuekgpZSlZ
X1ledFUmPnIjSDJfaDJgXkYlP1V9QERyK156X095I3YKenBwd3lgeldWSCswKEkodDFadnJXUVV1
PyVOZzkwdWBXO1kpQ344amVibyliPClZQEMpRVYzdyVuV0l3dT1KV0RrCno9N0hJJStMI2tiPl9Z
YGZ1ZUN9TyhHa1BwREtFPFNtPn09MSRYRUx3XkJJQ2NjQDFsU2MpRWFYIzZVdio1QSlPSAp6Q3s0
U2ROOD15OSVAPGR0dl9JaHcpfEZLMXVaKllgWSNyTkluMH5zUWV5IWZaSWdLRyVsJTh3dHJ2YCMq
RUJQJE8KejVvO0khRFRzayQlNTNZOGRlZnc3ITdZP182Zzk4VVVWd201bT5CKzZJYX1xN0Y8aE1f
Yn5ETUNXX0xWWCUyfU5MCnpHe0wmYiZpVjJyLUxBdyVCNEshdClCTmVBUyVQekIpJXdXI0B+NH05
NUdMWiEmbzBwMG9INWVITSVKJDxCfiRsUgp6KTxANWZla3s1JncxR2VhdmxMU0k2O2Mle0ItIypP
OVAhXj1gSyFibCVzWj4mKkFPcnBGXihAQylKNjxONjhyMXIKekBFbj9xWWZZeGBPIWVBbSZhUXZh
NVAzdHRZMFJaK2xFTzNqMV4wO2N4T3RRYFR7NWdRKXZJfTskJVdzb19TbSFaCnpKSHpIK2tUcDJQ
dVg3dUNSTSNlbFo4JFRZbShmaGFRWUxSZiZ2X0tTbUEyayo+RG0rRUQ1PDx6dmM1VSFEb31NJgp6
NzZWU3k3aVIkfkBffDkxdkxrb3NeWkM7U1hfcVF1SSUhIzRWOTBYc0MpO1RlQl4rLWtnVE15UTdo
MzhrTzY2P2oKelpMSik+NH1GSypXOFdEeDUyfm1SJmdEJUV3Mm9aJmhUXjFMejglcGcmQyUpbVQ+
aX1RSS11UURJOGRvYCNQe09ACnpqPjJyPSk0NWgrJHdUJTlMdVNoRUclREJpR2NgeDFGfS18QWZB
SXZicXVeSHxBVHluY2RpfiQySkNncntxTG83agp6aUImTnFzPl9pNEBPdGw1Qkw1QzNISTM5eTck
JHpCbFU9KzI/TGE3MkcqdGgySm9TeWJWJWJxWlZFbGZjNTVNWW4KeiYxd24rWDtAVUwkSitrPCRG
cCsoVGo/fGVYJT1vSCtSSk9Da1Y0YnFRaGhfRSs2Q2BacjtWVm9lV2tOPjgzUmlECnpWU2tCe1ZX
WU85Pj1VOzg4OHUqNmMlODQhPyExSnVgWWlXMVB8aFRrYDtTdHExeiZZPlBQM3h6Ozx4JTBgZyl3
MAp6UkkkIztjen1+O1lqOT9YbHdeeUxUN1hXb0BELXRQKy1fI2dkWGt5TXJ7O1pzKlFFVGRiJiYz
WHRfI2p6UT9TTUkKelpHYEFoP2hhUHR6fHA7ZngtdGA7dU19SFJTPVlKNytqU01YX2ZBYGAkPmFB
eFFeVjZ+TUVZVXdZQVdCQnMqcXxaCno/YyhubUFEaXttOHc9M14jZVV3VSNybSFOeXQ3S3lRPTl0
P2hqRmN3NjFtdTwyQ30lR3V2YnxEMztOWStBPFR8eQp6I1F5ckNfO0swekhIVXM1ZThqZCspWiZS
OU87UDt5SW5pNUtqWmhxcVhOTkA3Qz5TeGxHKm4wSCp3Kz80T2FrJVQKempKLWpwX09WJHwhc2pu
PGNpSl5HSTlnWV8pPW9DSFlCKHI5b1ktdjx4aTsjKiQ8RFpHTEpuZFBiYXRTN0wtYlNlCnpgMSRH
azw2KV9MWitCNEZPXkZ6VmU5YEoqUG4zfGlXIU98Yi1KfmY8SVdObDxfRl5DP3RZTD11UUEqT2Ek
WUBaPwp6cX5JNGJ3QlFieCNxQWFiPmMlNnMkQSV0SkN2VG9sSCNjKGI8NSZBeHpNNSt5aEQmJXdL
XjB0TnFLZitjd0crUmkKemM0NjZEIUpJb194Mk8ybWM4cFFnVktBPCo9MzBZaTlRfTIjc3BqI1Ih
NXVLT2tRejB0NEVucCN1fWs+PkU7UmI1CnpzLWswS2NrYipmVUhCTF4wOXdlOXF9b0krNVl4bmFz
JlpPVUg8dnl5cF5IVFIpTmhDTmpicDcxbzBgKGtxflNeYQp6KmtKIz9ASkNGX1VxcWVCNTEqZW05
dUxETjY2QHNLWT9yPmkqeihvYzt0Vm9zO319QElvVzA/RlEkPWlaYE5CMjAKekYqTiR0WSZidEle
N1NyN1VjeFRfR1k7UFFHIUFpJGZDV0FBbD5HWnAhLVVldkg5Z25qP1Z5blF6USkxJnJrfDtICnpa
UmxlOWQ+WjM8M0FiP20rdUpQKXZPblVGOE45S1ZyKHEweWhtdEthbyNgMj80R3Y+NlIlKj00e0By
KnNER1ZpWgp6KDAhZ0EoM2VIP2l3PjgjM0FUdS1ZSGQpdUpeU3BPUzttbCRRY1MwXnVZVC02anQ5
PD88UGpHOUxNbiNSK1VtSUQKekI4KSVHRTk1aWMpOUNyKj5HUihAa2tmOXY4dF5fK1FPQ1dXRz5A
SDZxYnUtP0RzRXJHcHIjajcrQmVMUyhMIU1yCnpSSj0tSXojbFZZblJWOV81alIkMT9kdldieTg1
OHtKK35BJmNYUUM9YUtII2gjU0FhOCQ3ODVlYzRJbGQjdiZvdAp6Z0ltU3V7ZVQoZFcyWitLPXBH
YTRPVyprd2UrWSVlbUJUa3J0XktHTDZocWV8K2hKY1RvJC02dDFeUCQ1KSNoM0sKeilzRys7bGU/
QjhDbnNUWEJTeXBmQ2o4KmtuXmtqPE1oWlc1azUlcV4lYShnPWohbTAqdH5GblF6SHd8P2VKdHQ1
CnpRWmwjVXVwdCF4UWdTOGdXelh2eXF2QEs7PHpiVHImKnBYSyYkUHApaEtafCpOLTBkMlg5YnN6
VUUzJDVKKk4wawp6SndiJSZ2YmMybUVDYj4+bTlYIXpKP3ttYlgreVBvKWt5N30rbSEoUV5eKmcy
TjNyLWk/cSopO1U5I3hqK3tmZjwKeiNEP2xyRldRbWJKNl8pYjghTzl2ek9rWCUmJU8qQGwoMSl0
P3R1WGAkTklXJm5jbHQrUXw8MjhzMS1eKVVtSFVgCnpYT3s2NTJWRUVYcFQ5PTBQYW1fNTh1UEcj
RDkqJGhmKHY4SF97UjxGcE5OLWIoQyleSytQOXVmX0hKd2AhX2BOSAp6a0AkeDxoUWxVezlfP2pT
MXsyUUomSnhEZ0BjQC01ZWhNKXFCP340TjxBJHJTN31RTUFianlkUjQlY0soKEpFZGgKei1nNWo3
Y3FqQDhMQm5wKnA0RUc7YThvYG1ZM1glZD1lIWBqbikhTSQjNUc5SExhQ2l+ZCUzPyNjX0hkPSk7
bWM9CnpjM1N3VmVGZEBNWEY3cUVUMHFpbW50e2l2ZHRrbVojKXhFI1YkfiRjVkF1IU1Fa19nJE4l
ajg5KHJTUyh6ZlAlPQp6S0ZROTxRNipKK1Z2U1VPMSF3QUxhWWNwXzN3fWo8NVZhQGhiP2hAVD1C
aXBLI1oofmRDZV99YWB2cmxLYSgjUm4KekxyRXNQbjk5RCFNIUwmQWohV3B6XldRbyRzYzV9cldt
TFF0ISRqJkcjfnU0cGxTcDMoQUQ1ZzFRYXotZl85elpnCnpedExEJVZvSFhNM1h8cHNxMz5nSWFQ
P2VjYTxCfFZZJHEoWl40e0U9T0lzU0p2Q21IfjkmcmJQT3tPUzdFUkBtWAp6ZUhERkA9cz44P04z
aGtlV2F3fmVMMDFrWGlDfFJ4NXZrbHBSYFpIMSZSXkpaYDUxWjZidDIyOWlgfkFILTZMQVgKek5L
PDlCNl4lRD9KPSptN208K3BQcj1hcGBXXyhSWGU0RnJLWDJhNEcqTDZlcUlhYz4rcnsoJCRoU0NB
UU0qWTx2CnpBZiF7ZkVRWSRMLUZvPUgmOFk5MnM1YWtCLWQyTSV6UjZ6TmBvTX43eksxOys+Z1Yw
I2B0IVhlKSN3UDRQUDImaAp6QGozfHclMihvV0xxVCRaeHJZbEt2YFNPaWh5M0JqJmlzTHdHeTEz
cmJgbm16OHJnIztMVmF2cz5HKTRsYjhkd1QKelpYUGR2N3FlWG83KHsmPlZ1PCYmQnIwbGRtWFcp
NXdAZTRgcn4mSFRaN3dvTmYjPl56MUFZMDVJTXZWP09MQWBGCno0dURTcil6VWloe0cmU1UhIXtn
Vzw3O0VxTFRSK349PTFEZl5rWnZmdCt3bDMxWj0rdCF4VlMzX0ZzYm13TCZaZQp6MyFYeCVwIW5B
TjwlJj9EKyNLJmtYPGxsZ3JXfUZ2S2U3Ykx5Wj1yIUp6aldZJUJHSEdBMzhjUXdSO3w+aU8tRk4K
ej99Vz9+KEh3JD4qMUh+Xm54bWY/d18wO31RRERLZmJyZ0h1UlFFSCFxIWFKV0ReI19UR2xld1lK
RHwoSCp6NnF8Cnpxa2RKald6RVEyTG58dWw3R3pVaGJANSgwbEgrIVg2QHprKnE8Q1MrdDc2dFp5
VlZPdDNub3IpKjhSUE9XZEhPZQp6YEJ4P3w9QmVWUVUhX05hbFE1USFLPzZzMndhT3trMHgtSDMp
e1hmI2dRdF9fKDJZQWohMHlyaV9EYkZgLWo1V3sKekQ5KmElSWxGU0BCdjAxVVUmaXNmbkhCVj5o
NDN7V0RzezRxeF48JE8yYWN8ZFdwcUB1Knk3XnAzaVpfZSE4fGFpCno0dmRndVNFZWlKaXBrWTR2
M18qVGhLWGtSTkQxXzshWTFSSCtzeFYkTyRhWktfKy1ZNT4xflUzYFh8Q09Lbyk+JQp6aE5YPkUx
U3p0MT0rPTxQTWhmTTRUXkxzc2xONHVFQGoqU1dXOWZ7ZWMpV2k/UmFHcXlKa0lKRVZRMUF6RX5A
OGkKekR2cXl4YjhiSVkkJk9TUXc9S3I2T3dzQj9oQDBuLTZYITA+Tj0jUipMPzBNclVNSzlKQzFA
RjZPJXE+MTgmbHJKCno5PmAhI0tGcmVzJT9VTSlEfjdONkQjeGlqOSV8fSUrJm9FfCN6RklaTFc8
cEtYMyEpQmNlMU5fYzR8JHlPTUUhfQp6JWhGS0N5d2o3cSghNU8qRD9IRUE4VCUtTE85M0Jza0Z+
PUAlYkkoS0ohJTl4PHxYJDB3TUpIQEVCJSFwcnxpU0EKei1BbjJaIThwb2AoMSU+T1Q+S0E1dGAz
VEBNOG8jNUtzfTNCdmpeJnR6cCE0WXdiVU5NbDJQUmxHckNEQDleeVlPCnpQUWJQRlZiRGJxKWpg
akVxOVB1NlprRXxOQUxZMjVqeH5QfmJYZVF0aHg3MHpvI1VhNWB+YFkkdHE/fXxHcSlHKgp6PC0t
SHB0Zj5OTER7M3czOUx0bVhwKnA/Sm1HV0glUj1Ba1JUUE9zLS1hVyspUjg3RD5fKnpOa3gmT0Fe
TlRrSkQKelNednlzSURSTyhifGpvKnBaMjEmdEJtTl47R2pmPHlnPElPbkcpeVF6Pnxiem1ycl5p
NGM/fGJgcDF3OWBoVHYtCnohbk1xZTZBRHpCJkkkQjd1aD81VDtuaVJoVDBXMClNUz9qbC12TXxS
WTNwQWFvMk5AWnw1JnJJZThYKVckLWt0Nwp6Y2JOajk7a3hwTW91cjVWOzxqYFpxcVQ5M19WYWpM
IUdffEZNclktVWBpZjxKQTVRcyUjcDhJfSNIS0Fma1pwPGEKelJtVUNSQFB3I01Hb1YjdHt0aEBo
aXlHbkJ4cFoycUQoOUNMPHNBTTZEWEFpYSlwKmdCRnJ9NXsjOWllb0U5QSNvCnppd1o+SyMrUl93
TThAZDhpZk4hJXljSnt2S2l5MGtJJj0mZXZOR25YUnFGRTxRaTYoLVBqbkdvVlo2SGtmRlg7UQp6
ZX1fJn4hQHZRbG9kYTdPUG00fFFffTF3I2l8dmZMdDkpMz9xakpObzM2VUMpZXgmY182KmVJYWc+
aFJVSFRVPyQKekRzNWo8PT83MH5ZVXwtb2lEZjwyISRXQDsxfERsYFlac1EjPDg0K3txZDdRdUAj
fShVWnBlJHUwbnlBe0k2azRfCnpWQ31GVGVJbiRiU2U9KXp0PHlSRmReXmNxQHd7U19XJl80N3NP
eCZ0UjI8U0F0NUF5SXNvdDFFUU04d2ZWVCNDOQp6aG42dCVoZCZuKTR+IVFsOSpYYCU3OGtfcWgo
Y0Y5KHIxUFJhK0h1N3lvQGxURiVhdjZVN1g2SlZNYUlDcGo7NkoKeklgbUY8Q24tVnh7IVVLaU4k
fjd0bnYxJGUyTUZ7PTZvMCl7a2NVTHBDNU8jYD5RfDY8c2BsKlZ0UkJVPnleRWxsCnpXNikkISs/
U2NiZWREdlNsZUlSPVZQO3JobklLeGp5cGo1N1Z9TUZ6JTJmSjJNY0tVbnEjOXZjVF8rKDRgZ0Zx
bgp6bUU2RzchPGh+fGBXO2k9aW5uUUtGQVpGTk5ZTXl1cW1ZSEdrUmgyY3FUJit9aT5CQzRKQyV2
KHE7VldeMW1jeC0Kenh4UXJxemFeVH4+cURNLU10bWVpM05IcGVwVGZmbG1qO3JyZ3U1V1MpbmY2
cVp4aT12NjtpSXtZYmghRD1pQiQ+CnpeSH5OST1VK157bmRNakU/UHR7fVl9V29AVy1sa3VkYUhm
cGJVXmBQYFJ3eUE7e1dRY3xFb1ktQ2ZKazRyakJedwp6P3JnJSs9bFpvYE0qaDBDY3txbCorRVcr
KGk8Sz5tMlppOD1ldW8pO3BjYGVsbkJ3dkctb2Q8UyZSRHcjSmJVRCgKenN5UWh7dW5SMj5qeiM0
MT03YU5CNm4tQkliaiV2Xj9iVX4/Z0xuNV5gKGBZWTMzTkxzX0k2ZmFvSHE0SUQofktzCnpDfE4o
KitmKDc/QzV1dHw4UkgrVEw2QEEmfEd8Y0NRTWNZVz9BUFpyUkdkbk1eaylOZU8zQjxVQ1E3VWZn
MmleSAp6Sno1e0hPIWViYHV3JSVAbG9VQHM1aldIOzZhSVhRIX5zJT9vRzNsclpERW9VUigtYWBy
YD1FbE0tdFF0WW9uQCgKenFKRU9LNiFvZ2xpdndFfDdEazJDI21KOEZaVzVoSHVRLVp6VXBlSUVt
RT9NO1F0SDN4KyVjQlghPUkyWE13TjNQCnpxfHwod1ZYVW8oSjtCd0hoWlZNIzhrTihqdD1NPnZR
Skx8dTxweEgrczkrNHNodkxjPFJyaTw7JkRFYUdxP01JaQp6KEwmbiZPKz5vMTNVfEltWE93RnBs
Xm1RaGA3YW1ob1leVjFRc2lMaUsqeCh0SkhmTFcoTjE7I3N1UEc7ZzVMYkEKeiVjaWdXQkw9OXFi
cDVraSg8b1phTlhLRG1wOz0wTEQ+MHdxd3IxVit5Vmh8Mj1GZ3dSSCpCb2xRKnR2JWw3aCFUCnpz
cTd8b0xmQXk4KEhiPkskPlpBdTJBOHRNT2pNIThBY2pHUUtIQmhycCl9ZEFfXjVkO1pHQ3Z6XipT
e1U2ZjJ5Qwp6UiszZ2dIRnBxWntLJlZ3KlE0SiFvajFHXzxeeVVHemxuKUheakA5LTFJNTgwO1dW
dztPRVBhRms4ZSl2S1h0TCoKejd7enR2S1JkTiZIP3dTM0xKPmtAPTZnI1Q9YHJ5antGSGJsc25B
fU1yYj5jRndkciRHJSsrb0I5aVklLUQpX295CnoqfkBvQEY8Kn5HKTMqcEV1UG4qUyFnRmorQkxD
KytsfTRQe0o1bnU8TDlLJFpUfDNAWTVzKSNAYmx6PEpTRF5sKgp6M2o1YGRAKHRmVW5xN2tidWFZ
NWxyKkZLTWp0JD9kNU9nKVN6RGtGYGhsc3VCayp7WGJEYzlxKD5wcUhBcUhsN00Kek8oPSRUd35G
fkxAaXs7NlJxSXdULWM9PTdWPEdsNyslcGV5KSZFSEJ5fFJXTjd6JC1nazEjVSZSUEghNlBkJX1C
CnorOUZxSFZ5WDtNSz8wTEIwdn0lTkgoVyhMdHtJcFU1elV7dmY/WnRJUU03dzI+JisqdGY9KDl2
I0RBJCtaQEJqLQp6N3FUWH4zODw7cyVUTDQrKnZVST9JJUlEajF5PVR2WHgxM1ptej9tc1ZmZFpX
MVZ0cDZkdyoqVmNOaXRmY155YHAKeiR7Sn0wZW5yQnVkbn17KGV1QSU5JDsza2VqTldwcWBKR3Ze
eW95O204ZHhaZVV2eiUyams5K010MW87UipRS1IrCno3MDUxPkV1fm1FQHdzRipDZkFUUEVMVWN1
VnBQUmFRMysoeHs4b2pzYVVqQz5tZSVaMTVSQHpSLTIxZHA1THxWTgp6MCh8fEZxKEc5S1FtT01C
ZzFnXjdXPko3LVckfjBNcmsrSnR5YSpTaEN0MW92eFBMb3NAelZ+ZVAkcD5AT1JJUV8KektzbW9n
VDBXISYjUVYhUUNqWFVHP0hgJTY1NSo8RDlwM25WNU88dkBfVn1KJVh6SztwWVRaKHVTWHt3dW1F
TE1HCnpSQU9abDJXT2FHJWxJfHo5SCQ8Nyg9ZWtCQzYqb2NzU1g+ciorbnBuJXVMOT09aUhrMm9P
PnxIRXZaeDk/P0Qpbgp6Q1ZXajV7QX0zSXJLRmxBJj1Xc1MoVmpoVTxIUEtqaHNEKV9JQD1fdXYo
Kzxmbm5rYUJvPWJRVGdeQyo2SHxpXloKemgrVDVkeVo9QmokOWxNUDZjNVU1NzVOJFd7TihkUmJp
bn1EJWZWJn48Kylpb3khOFVqazMjRVpLZ2sxWngzenVACnprMHFgRHFFJXxeb0x1PnBIZypUZF4l
P21KaFU2UTZWYXd5VV5lbVJVUz1uYml2WF9qJE5PPD0/ailTMFFoKHl3Ngp6cyZDYGgkdU00NDgw
JjM+PGx5SWomfUVAX3w1PUwjS1g2Q3slS2xvSTN8Xyg9cVpBMj48LVY1VS1uREhGWjxLaEQKekAq
eH5JOHsqeS1eO0xsNjNUdVZ2aX43YUdLKjMpaipJcDN7cDVEWSFVdjw5ZzU1YHFXLS1MREEyQGt8
dzh2MGxzCnpTSlZXe1RyanFxUFAjflRefkBQKng5TH5zOXtySEduYlRBelZrMmhwYkB3WW1JcCVr
ZXVETkJeR144a2Q5SX5GeQp6JVNUZkBHUXJlazdPd3dNSCRCX0JwMXFvYi1YeVkrOG1fZVh4Iz81
K3I/cDYhQHZBP0o/VmxTS2dYQ0JyTG4oV2sKeiVZa1dKND0mJTNtRHZpIS0xPk9ZUXdFYUVsRklQ
YGRoMyFubUkyZUpNKX1fP2liJnFrS2RSSS0+ZUVKSDlWKm0wCnp1YjlBKXE2WlE4cXp9WWxOVXJ2
TD1RdXhuOTd+XyFKMXwjMjltSiU/bipDY0E+ekZEKzx2NlB7KUhybnlFTThTQgp6MCt4SDAoVkBI
dVJeZldZckBOJnxaO01vQHlCKzRHNHRwNnZAQmN4YHU7YWN3TnUwVjE3T2t1aj11ezZHVGFAWCoK
emozfUBHZzh2NXpSdzIrOCpCOXhEQyF2cSU3ZVhnfSFIQ2Q9cE9zPGBnQGsmOFU4bk9iZX1CO0xi
bHVaYHs4VFJECnpsJSsqJEtASDF7SkhqfUFHcyZMYkk4d1JXa1khWks0RFh8WU1eWSlDS2VNQVVH
cE5GbSlxez88ZUNYSn5aa1ZNNwp6bmhXeFVRdUsqfFBJaVkqXzheTkM4SUxidHpLSU9ANn5qOyhe
KG4hUzVRYjc7LWRFTFZkQGwtPE1eeUtPWkxzSFcKejQhUX05ZDZyKD1nVkVsNVRoQlRQR3R5QWUw
V2tKNkZjb2krJCh7YUBrYFFBX0NIeyV6eX5uVXdpZTsxJHMwRjc/CnpWbnZ3dzgoak0+VCs7YCUw
QGYjbzZtK1phaSEwLWwwI31yQzV8KlFIaiNwO1ZOSkJuTlBgNn5YWTg0ezR3Tzc1awp6Tjg9Tzgh
SDUzXmplbFEqU09EVy0tKF9FSVlLbyV7IU1DVDJtcSZpe2hVZT43UnsqZXp7WT0wZ24xOEskKFd6
RE8Kej5DPUglanlpYz5QVSFOTV9kOH4kU0t+UkZ6M1RKJmtCPE56TkteX3AoI0QxUVlscm9ackVJ
a3k4dk40QXRNd3tfCnpVO31hIVhSYCZ9ZHAoMTkwOFg9OyYmbVMrPn4/SG0/UkZ3dEhXTjtFamxB
VXBiMlJJcjxzbCErI0ZXNSM9IT5+RAp6N1RvYzwzKnF3cEt0dj8wPWJiVnJwJUl6ekZ7VWI0PDIm
SXYjYzwyaisyKlc+IWRwa0dueD9rbnQ1eH48QTVfMSoKek4zRT0hV0VzI1NHJip3QmtyK2xZbV5P
NnFpdktpZj0zaH1jbTdySTZeNCtNcnVANX1tYkQhVGxUPzBsPDZhMTQjCnpBM0A5fTViejlhbnRG
ay1UYEVmMnpLNTtXZkhxcyl4XkJAXkxYeW1UX04mfSkydHU9WXQ0MktsT0ptflJ0Xl50Sgp6TjJf
dilLYWl9YXtMIWk7SHdHTE5BKkdoe29zWShGYnE0NWQqd1JpfWBiP2lIX3E0b0BFfnhhXkRRMFoz
MGVOJHUKejJ8cjhQOSkoUihUa2ReTzcoMVY1JFFxaCFJb3RVYXlldiFrPjsyRFN2QjVkbDUjTl9N
cmtFPURJSWZzXzJSLXAtCnp1fFhWcVd4NStqVlhIenQ8KXVQe3Z4NmYoKzR+YWwlSX1wLWJYaDRU
UClNWWUtOzNMI3V4UWV8PjY4VE0oM3ZnQgp6VWxtWktIYTNATkgjVGZDJUBJSy1VZEJ7RyFCOHtN
K2soNnxtRFdMKzx3azF+LWQlVE53UzQkayhRWEtKVHJHXikKelFJRlgxPDJfNDsjYStnYFZHeXFA
R20kPzY8R2Y8TzteK2BxKyRaPm5PRW9hc2B3UipqOXJGJXpfbHQ0akxFayVMCnpmMklHXmFFXlVB
OEJ+OylMMU8lSWBKPGtjLUE5QkVpaSpRajxuX09GJHc0MTFZViExNEd5VGQ2WD1+eXZVNEV5TAp6
S1R4KH4weWFPeVpgSGk3cmNwUD9kSzB5fXBFSUhHZE5KQDM/IX5IX01BfXV0dU5qdyo1I1M9TkU2
P0RNOzk5YHsKenY8ZVhFS2dobWlFP3NHT0JWdndPc3V8bmdFXkNpJmBVanJWQGNgYV5xfl5PYGVl
TGI9eFgzSnU7YDlXcXE8SCNSCnpkaSl6by1FS2FyYzRMbjw3PW1uWClHc3Y0MHtOUVc9RXY/e0pz
dSlOSXw9WDNkdHt2KiVgPE8mcGQ5Z3FDO1l8eAp6X1B+XnlwdkcreWlJM25LcWptWDc9YXwyKkZe
VWQoZlE/IX5SUzFNMkJlcUVkdT9PTnpOUlc1KW1rUVg5UzFZKWUKemE7c0tPNkYjOWU0MmVOfnt9
QV9Da3klS0FHVUJnLWdYPUNrb0E7NFd7K0xLd3QyNkVFWU9TTFkkKlB1d096RnltCnpDaVk+aGct
QUtXRiNvfGhgNkRjJlRidDU9dnthT088QEpaTHkxN1hXOHwmeEFadnxXWV89X2tGcExhYmI/UEU3
RQp6Yml8PUFXQFFKbigpQ31LSUo0RD0zPlhaczh6P3pgRSFNZW1WJU41P0V9UyYjSEZVNV9tPFFu
O21FRWNQe2ZEODAKemIkbGZ1STI2aFNheEZKcENzZSlTXjkmdjd0cWJGZ2oqSWpwVVNNY1Vma2sy
fV5ee1lzJU95JUpIQEs/IUxFRVklCnpFPE8pO0RxWmk+eyEpPHY3JnpYSzNVREJ0LStTKzEzfGAl
UG4xV0hHYiRtVUdwN15aVHBqLUB5YmEydiR6WCRLUgp6Pm9Hcn1HVSZnNVBYR3dZSnFgRFJNNW1i
RTI4QmZ6QnB2cnhMfncoNkZLTkdAQXV5REM+UncwWihTWmFlPkhlb24Kej4obFBpUGtYanxffWBD
I2B1eUwrO2JrMF5LZ2QkRGx2ZkgzZDFvXkE5eHRmdDdhNEVMRVZsK3c3S3g8dHM/cnJsCnpnQWF0
PkRBTVRTKFUxc2xRWjhOKXZ0S0ViYih1VDNkeXJjYFNtcDF9SjVjXmA2Q0B4YFF2Qn1rMkw+SjYx
elVvMgp6IUp6TnBsVGJqYV81Q00zITR8ZylSYnZxSFlpO3lIaDQrZ2ZGZnltN3pZNDctN3FuaSF6
WEt7SEtiQUR2SHxvQU0Kel9JJWFpYzJqJihve2VhPj4kfmpiOyRrY0JlJWhSZzxgPH5IVURMUkU2
TDhYNGRKMDItRGVTViMrOThwKXZtUHVOCnpJdyNuc2YmKHQ1YFNtdF4/VHd9IUtKWHRsJFVpOD0x
dSpCKmVmSEpycm5paUxFVW16ZHE1Vkk0SXJESFJgfjhuawp6UHZPeDxnfGI5dERRaSg5TmhYeXZn
ZSleLWhOemZpIyNVcnNOfmxtNip+MjVkODhaeUJXUW1ZUzNTJlpjV3NSfEIKejhUYEp0Jk47djVK
a0w0al9kRDExYDwqfEdZcmdaRGA/e31kVWliVV57PUMyNmB3bWZ9S2xlKSY7ZE1LZHt2eXVxCnpe
bCQzMCNkNmtXMTZEPj9uTCs9LWdgQk53SSs5ZkVyMHZJe2t8OG1yZUpwam1UODk0blUoc1JnOHVM
blBTckJBRAp6NXo4OzFhMyM0Vl8xN2pQKmVOZTUlb1JIZGFsLU9FQGU9a0k+KG45fVdxSExwXnhE
PyReO3p1Y0NTRSVwK2k3dnIKekwxemoxVmA2IXA+NUpoRyo4aF9BQmszVWJGKD5xM1FWKUhiQXRn
Wjlyd1V6cT5qIUlvenBedERqemZ8WXBBdzJBCnpGY0ljaV5UbCN7YnUqMWRsKV5fT01yMmYzSGJY
ekY4bS0pcE9UYmY1UCh0eUlMR2V9PSRmTUk0MGExQlRWMz8qMQp6QVk+S2wyMUkzR2lUZmQ8WFU3
PW80fGY9TVkpRz5KUkhCKz1HeStWPTJGZUcybWI5Tj8hX1ErT3RsdlMlbW59enYKelBWS2xFNUA8
YU0qY1crNkFlb0NjYWIoSE01PHR1VytKTVVQaHEyam88N3luMzA4a3FvUG4+OCVrPHhaVSZQRmI+
CnokfW4lVGUrWXlqS2FHcThSan5jY2QkbExQPjE/RVp5RHxKNVR5SjAtMTJSSEByUDwkZmVaJU87
TTIwJTtZKkxnfAp6Z0gmNVgodFVvK05takkwKClrdF9uT2hTNzVMYGheQjZYQHQ4SkRgQTt5d25N
Nk8qM2UlMDxkJFhET1hSJEQ0RGAKempeMm5YeWNTakJtaTcmNUAjSF8pT3U3fF5vTkI5citkJj1Q
dVRZMHFpV3lwSmw1Z0cmbWo4NlhXYH5CQ1VwWSYqCnowYmd2JnZ6I2hrYGUyRFVvfUB8SC1waEFt
VEJyWlgtbn42RFMpNyR+KFoxcEFsWERFKFI8b21pKWRmcHdTQ0s5Uwp6SGZ7UkRRKUhYb1ZNI3Ml
aXlwMmUzWkg9ez9EdjFafDJYQntKYWpiRmNhdlZ4TFh3RF5RMTY8UVMhMVRuR3wlRzcKeldiMyg8
SFBhdT9WJmZqNkp5dUFUY2lVY05qOGFGPmdAcXJ5ciMwbWF2eWtIOUl8Wj9OVGp9OWBKT2BOSD9Z
ejNECnpuU0VEX1lKe3opNCtuPEp2dnEjaVBDY2lVZEdXejdyP184WmprandaOU5lZE0rTkhwazte
Xj5iJnpzQ14kTT9Gfgp6M0EjKXFNSk1VJm1XT2EmWnpTQXhuZT1neE9DeC03WVdIVDhIJH1kR2lP
R0coUVR3WEV1dlg/Nz1AZjUmPGc8SUkKelhDYmBxb0ctQjIlbjUkUXQ9YzJZNlleU3wmZTlPR05s
eXRjQlFWanB0b2F4QCVfYX48JU19SmpwYVNCYE4oJXdBCnpuM0U4QjZqVkgxd2I5JVRfcUxePEQ2
QXVvMShKKj5aPEJYdDVYSDB0dlZrTmtISlhnZVUjMnRUKElzPGt4Ynl9SAp6e1NiUUZ4Vi15M0cz
azZqd2tfcG4yPyhQVDNgXiRyNWR1cjBsQmVgRmE5fWZqcUxAWnRDSzBOXlpVY3V8Vkl+PXQKek8h
Y1MjOUZjXyUlJU1HODg1cH1eJCptfWIkRCR6akpFN0t1Mk13VmpSdEt1c3Aqe1RTVlIkeVo/RkZ6
bDs5NGpxCnpVPzlDVWZXUVVsVzQlRmM7bmUqR0VWeWhgS3BILVZgSEErVzRNbW9xcDR2YmlDXlF7
PzRlQilDKXY0ZTVHUzdEXgp6dmRNfT5lUzFgb3hXa0hrOCpJUGZmKE0yU2xoMk80aCQ9aTdScWBr
O008c3BLQkYzOFVoZyElKmsrQjFERlIjVi0KemxwTWoybikyI2VKUjNleXEkVUVRSEFfM1YyUzs5
MGZmaSUkNjZQNlR4JX1vbmNCWX0rPG1ZNmtSK1c5VUV9dmpHCno/V0U0dzBPeFlYdVR0elVzbSNQ
TytUPExmKiY7KWlVX0E0bHl1RyhsQ1FgYFVBakhWRU9ZNnckdmg2I3RYdVFecAp6X3lHSHA0Z1JO
bFgqYnZVRDZ4ZkZkfU00Nm5TezdfdFVrQkdudXBLT1hTXlA+eE5wVG9fLShyTkltKm5oZWpPSDcK
ekl7QWRXTldfJFd5eFdEOXFmTWtMSGZAUmRrYHY8aFlkIXdqZDBBPGgxYFJfRSZQcUdrcml2cTgk
NT4jfDA+UHNrCnpPNXImKXchaGlaREBlIWBZcUlsZmVZZnk2WmdCfXQqZDBNc14hRyl9O0lYZngq
WWt2MCpwe1ErP3B7cG0zNEJSUAp6QD05c2srWm5geC1MfE91O2tnXyFWWWxObzIlZlVAeEJGP2t5
TyNEfFZiX284WHNUVmxndVFXdGJFSiFsMytBXnEKejdyaXx0OGt0TCt3Kzs/NGsqKSZ5Tl5qcGRT
dF9BYlJVKGM7VktrQEMrZXkpczNvWFlUPz19c15RUkVtdWZvPj5sCnomYTZoQys+T2k0TTwzRWIz
bExeeW5DajhvIyRDV1okSz9zJmZVOGFiX3tRTVVUbUZoSzkxeHpReHE8Sjc+Q25yXgp6Sz1gVDww
ez1qR1Y1YVNjRldJO1YwSVElfDZ5NjU5JVhVQGhQO1ZnUVpRYEkwK3NeP1g0aHtTYj9gP20+SX4+
QVcKejlea0ZpMillbiUxKSs9Q2pZaXklWXc8NHg9M3VIbmx8WUZFbSZpSFhHbXg4NUomV0NpVWZ7
eHpTZmMhODM5M3dGCnp2K0teTGpmTkJsSEtiMT0qej5WP3ZiNE9WVCs5QERIKlRxeztpUFdEQGYy
cmhAbFckOHlyfnZgM25hdHIpe198fQp6LTxaRVN2bD8zcGB7R0pXWmpSenVPKVpyJkFFZlF3T3JE
PT0/YGtzdFlKbkstcmBqS1M4RkheeF4raU9ob2E2RUsKemloSHpQcFdzRkpIIUZIJV5Lb2FBNTMk
bz92VUhfK19WRE5yTHNFQFpqUHZTVC1WVy0hUWZXa2RAUU5QQFgyKWpQCnp0VXU+bmUtMzdVaHg2
dig+RTxfNlRmSHVQOHY0WEd1LXlNenV+ZyNAemgpQ3p5flVqU2w5WTBUR0B8PFJyWik7Mgp6P0J8
T2F0alpiLVB9LT9YdWVlS0ROdnZNd2R0fjJsc0MwSk5IYUpXb2dtZmptUUM5WmtNN2ZpP0pqKUBf
PnUkPSsKejJMcH0yJlRrVjRtKXVvaVdrb2BpaipPcl88ejh5WWx8JmxOa2EjTGQhd2c1SUEmKnYx
WTdjUl9aR05WIy0zXlB3Cnp5KHdBfWRvLSVaWiohUTJUa0tgJlc1TVFkWmM4UWVNVklBc2EhMmN6
QjE7PyZkSD09e2RzYyQ/bS1ecjZfcytqPwp6XlV3YGlTc2N1MlB0UGBUeX1YSzBzNV9VK3VXZGg/
dShiKHxDSmVXRDZodlMrMiphUFJqbU05fHV+OyZQNm5QdW0KekooOEdZOzdfcnFGc3xSRXojKXBp
RntzYE8wJERIZmZqWnwyNUZsSkp5eHlWJCR1SD4pfDBybEFBQ3Q1SmE5fDdRCno4VlItNz83TU1n
JVoxRzspb3NkQVArTiRIJSFPYjJmbnx7c2xlVXpLYEpZUyFhbE5jRHIoelE/ZG8mRiExOHh2bwp6
V3lJXnZEUmRFdEcrMGY2YmxrRDZNcyFXKz1FZ3dTIz1yLU5YYHlOeVhjS3tII3U5X2w1QiRoJmYl
X05BRy03bz8KeiRJMFpzdFRBPGMycHxpYjFRODUpVkVDckZIdV5eMzhYQlE/QHtWemg9JW5ieS0k
KXJxQX40YUI8SU9aSTV9Vmo5CnozJV9abmJ5V0xmNU1oe3ZFOWF9TzVDQDFSNVYmLT1jZ3Zie215
YnNWO3k/KEBFPmNNPTg1blJKX1UmSkNCN2YjRgp6anEjbVJ3NzleMHpxWiNKKz08PS1TTG41UTYh
dSQweiV9R3hFLVllMWJ+SUAxKFh3KnU/WiFONnJ7fEAwKnkhUDwKemxYTDRaZ1YwQEg5VjtzOD8w
ZlFDWE03I09WKCtTeUZZSiQ3elF6OU0/WGpFMUVJeXVhOzJVQjNoKXJ7KHhee1pjCnotSVZUbz0w
eno3eU1qXkE/bG0tPW14VlFHej9mZnxaITBeeHR9TFI4WVJyWDZnR1F8UEAhfS14JWZpfWNPIyMy
JAp6MkAwfGR1TmI8MmNEb21OSzluRT1MbiFZfk9IYTBlMmUxe3RiZVl3JG56cStWSmlSbztmISVN
eSt3ZUx9VzFza2cKenREb2goRlB8dTlXKkI/S25pRFlgaFNUazVGIU9DfVVTeEtReyo7OVkra0dg
Xk57ej9IYklAVXZUNkN3IzlXfCF2CnpaOX1IZS1ISl47UkJRKzx4d3wrX15oQnFyOF95eE9lU3ww
VCkyYXZEdldlNUREJm1gUS1VKWBiIXVaVUxefD1UcQp6YlFKaE9kXzQ7Q0Ymd3p6JlRIZXM8OFVt
SnloKTBUK3o/OEF8Ny1fMjJMMnw2PzxjTWBWIUhtPktMR345RVhOcGIKenN9YSkpJGhNZEo5bnYr
eEt4RW9jM0lYSnJrb09wNylGZVM4OClgfkVUNWZ7WGIpVWF8XyFIMW1TeDhUbnBnZzJNCno+Iz0o
OWp3XyF4QHtvMlROTVZoMzE3NEdKcH4laChgbVB6ajteQnxpKH17OCpYYG47IVEteHc4ZGYhfVRV
PHRQKwp6QHAzVnNWO2p0UmR9aFA/Wm5TWFp0QEVgO2U0ZH0oPEF7PWFHO0g+fllXWiNCVEc0TiEk
Pn1zQmF5eX0xazdrQmEKeilHQiFoVnF9VnohVllXTXcmWWpMaD4qKy0wZ3E0R3g0SHZ1K3NwUmNF
Vi0wayNoPGdLWE1VOzJMQzVMZ29gK2B+CnpgaUo3bkZnRm42TVFjR0clamdRek1MVmdmZUt2ekB1
WTU8TVg8NCQlSXdTTDw9QXpXZihZZWFHQW5WMkVtOXhvPgp6MTUhSkQreDg8PyZwWk5wUz9QKWh7
TiljallrMjtVeVolbHh8SVE4Mm5qSnpkPXZjOCViKEtZUVYpVUx4azBYXm0KeiRLa1BEQmFMPU5F
N2l4PnM0fWJFRkE2ZnlTNm07RDs1I0N7XyRgUTwlaGJAZUhCUzx1QWM4ckhgTXp5TU1vZjVZCnpr
NlVrbFpjI3pJXntpeEBeT0VWaXp+IUBQeyZ+a1pFSzk9Z3A/QURJd2F3dz8jaG9vYUFvNmp8eFow
ZEMjKjRKTwp6WWJYOWpaT180e0NUU3MmJmQjPDxeZX5Ncnp3cSRpeXsmNHRgc3pVUTV6RE5zN0xX
Tz5uRTVaQzBqSWlDVzs2T3oKelhjQSMmWShUJVBpbUEjR04wRElvTVI9ZnwjcktxVDdOP0F8QkI5
d19nNWpUIWlpfDU4MTAjLXdQWjtxJSY7JD1PCnpAaD9ANWd9TXY/OClSYWlKcCY1SzJRKUplQ31j
byVQbzk3UWZUc19GWFdQY0M0fkMqRkpRREVLdHVaTn12KGlvYgp6Kj9mXz1OamUoV2loKzNfN3xg
b0AzZT1PRzg0cFo5dmItSGBia3ohY1kkWD9vbSlRNmdoISMqRDNGaD1xVzdReDgKelE/ITJkRnEw
dDUyPUhqY2B+fDNEa0hFTmM2RD4tdU09bEslWG5fSjdHQU1ZelFKYGlwZDN7VnNkO1lxNEs1RmMp
CnokNiF7X25mR1ZUdkZ5QG04Z1JWcSV8c0dFeXppU3BUPFBocjk0ZCpjRUwlOyk8OCo3KCY3Y09Z
YX5ITXErP2U3WQp6enUhMU1hJXN2ITd0YHB3ZDhsX0ZJQyZqKldlRzg3aTwrMTgpbjYzWCllMXlL
Y097TVpmfTF3PU1lemVeQ2h4dnEKemR7UzI2cGRhdFIwMipnTzZSWHFzUX5MRFpHM3F9OT4jeVQ5
NjJiPTJAdj9Pd0BfQ3tIJWx+JGxUV1B5dTMzNjkkCnp3JnVSLVQzSGQ5NTd+LSo4TCR3b2dCXnRm
JVJORHtubi1MeSV5d192e2RuXlMxPGB7Oz85ayFMOFg8dl97ezQ0bQp6LX1wJTZOOWVjQkVuVVY0
JS1rOyM3VG0oQ097YSU3Ry0haHQ/Snp3TEFaR2MjVmltOXZVbTw3MzZIO2RvSE9wUkIKekhsMl5U
aHpkSTFhbF5PZEp8NXEjMFZ9d3liTDJvTmFgRWR4PSs/IVEqUFMoU0ppIUh4Mn51bGstWnFxK2Qt
ZHNSCnolQjtBPEQ+OzApVXd1RyR1MWc7T1k9XihLWDd+M210NmMkJGFaaiUhPCtKNlBWYFleSjZ9
TTl2Y3F6KTM3KUVMZwp6XkZEXnBDKUJAMmNvZEdxbUo9Yi1KNFJFYzkkQmBQYmFJeWhGNis3ayEk
dH18JSV+Tzk0V1FhZjZ5b3VlNlZXfDYKejV7MUw0KzlhSS1EaUFybUI7YFVCZ3xhYiU0NH5MaUJD
a3RRakg3IWZzZ1lHaTBeWHVSQVB8VjcpNnVGKHY+e2pACnoybkwqKmU4JFJEQmVDMylJSGFzIXk0
PG58KyFBWD1tV0J3bDBjIzJ8YDZJXnxQZiNRWkM2WXUhTVNAV0UxXyVJKgp6ODR6NGliWDApSFZC
KFA8eCRgP1RKP0ojLXJGcCEwYW1NMl9VKkpYdDxgbWlYOHw1WSNEc24qSW1CK1hoYGEmRUgKenk9
JEUwX01yUHMrbGswQXlEdzt1YXg4fGI5WkJfY21OOHBLXmw9b0hNZE8tZ3JLfCVfeU1Ab1ZBJDlV
WXRWTHAmCnpCcWhiU01peDM0NVFnVXVCZjVHUWhTeTwqPGs3OGIpdlR3eExidnVtTjMqeyN0PEM3
bkFpWTlhKX11d3tZNUlhcgp6WmhFP3o2amZ3LUckWnFzTGN7bDAzT1ZJbmtrKHk3Sm9FZEwqOE97
VCozJT54LT9DaTZ7dD59NGgwZEwybURYaU4Kenk7QVg2N3c+MSM2WWptK0ViZ1UkUHg0V2kkZmt6
VTZrM2pmZiNHeE96MS13PHlONU4jJCVnUkVoOEVNfk9ZQDhPCnpgO1BLXjlpNyU/YGc+aXFUa3Zm
M1FuUWJ9ckV1LVdJc01JSEN1PGZ9UktTJChTNHd9WERAcDVKaGR1SjtRSW5yTwp6VShHYiVIR1At
WERLfmoreTUzKUlwKjhkMTtyc1FjQmAtZjA7bmszLTNYanp2KDYyLUlpJFZ7VE9hR3tMdyg/ZWYK
ekB5NGtJVHIwblM+RH1oVFIjezxeazA3SGVFP3pXQFVCRl92Uno4cEtUckt4fnpkRykoUWtRc3JD
OCoqJXN4YEhZCnpJYWNhRSpKcEAoTm4peDsyIVJIXmohYEY7LUxKXkd0Yks7aSZ9MVNsWjtCKX5r
KU5uMWFocldYS0VXWk8ze0BJNQp6PzF+UlQzbV5ZajkqbWYzdjNQMkJ4S3p0eUYwZWwyWEpZa1ZI
SXgrUTdBRmNTRTIyOWAwYCZJcnRFbG02LWN7QUEKek4oenB2VyNqSkJ7TmF6ak0hVTNeN0xaelk3
MyVEN0hUIWtJb0olO3lzJjZ9S1EqKzBTWX0xYWBoPkNWeXV3T15+CnopNUJkfitmSjJOOU5QN0Bl
Q2kwPClVJGlrekRPbENEbn14NkxUNSRFJVcxekNkPnQwQ2ZNQURUe2hsPThKI0ZZfAp6VmxQJHAk
PDhWWT8mNDx9YCMkX1FPIzlUKz92TTF1byRkSmd6VklmcUpLTWpKMmBWPTEwcHs/SHEjek81S3k4
JGgKejVOX2MpZWpTIXRXY2UrWDFUTGZiaWh2YSV3LSprbCpMRVh6ZUt6XnRGfC07YT0tQGhoeEBh
bHNYMig7LUNtcnVUCnpDXm47UFJzPkRvSSZKRyZlMktKYypIbjVka2EjRzNhRW0/ND5HcHcoO3Mr
RWohZSRIUmEjQ0tpSEJpIThKWFJ8Vwp6dmFDQ21lYnpfQys9Tz09PHtwZTc3UmN5SzVfVFMpbnBa
IUpncUc1TmQkNGR9KEg4T1RGeDl0ciNiTkN0d01jaDAKelBKTmROUipVR0EpfHt5d1V1NT5CTX5f
fSU1Pyp8RVRJO29uQEQpZVNKOXFUMClRJlkxdnxFTms8MERyMHV0VWB8CnpURjhFXms0QW51QyVz
Y1JkQFZjLSZgWjVuaXhBNFlmZUs+QTFqMVJUYF8mKWNWV1EyMjMmWHAmVFV7LVBlKGF+dwp6dU9N
bz88ODJTQG40bjxRRGV6PjBlcEJ9OGJ5JXtnPH5wcCh5SyleU093RHZWQUZHV2hxaXRjQUJueyUx
TUVIR1QKenklNUBJeHUzVlRndTMrYXtVTlAwaSNZT1d7S2NtTkY8Iz1EIS03RHBkKitnYFMxO1o0
OVV7OCZ3NXpSQWt4T2dICnpkPTslZG1gTDxJP005Z3h4T0N2WWZYYSZ9PU9rYEQqcVdVSkpGKiRK
NlA4OChuOSoxSU9ePlFIb18oY2dVPGdwfgp6cnA4LV5jdGwmfWEpUHc7OVpGe30xdHI8Syh5Nn1j
dDAxb34hYWk0MDlNcC19TENCc2R0eE1OQWI+cGxfcFM+JGUKeigqa2AxQ1BMekhrIThzYTZwd0BY
WV5hO0k0aWx3KUJGS0pCPjhyejdlPCEjM0pTV2N2dEJGeyZNZyo1Y3g4PHQxCnpRT2c9cSpUIyhs
RCF6RyVYUkxpZEBKQGFnRkR7UElxbGVHTjk4VCFHUDw2bm5SXilOTDs2QlQkVlhnenRJRSNyLQp6
MUs3aihfUGRfS0NnKm4zWjBUa3RVTG42d2JNR2w4eTYkPHQtNj96bCZwJjNzM1ZvUHRANzkyeEkh
dyNTU3V8TykKendRZkNLUWAkZ3lMTkczJisyYWhuRHhSfWZZKWVZWSEyS1VhVikrTmZXfGhGe0pf
TDc1VzZUbE9oJUtRQEpgQ1RmCnoyP1lCX2A5amVBRWpRdkRWfjU1N3oxMSZpPiMjSXIqTnw1dFYk
QClPZE5qSW9jI20wOGslWThTUHVHbW1sWkJRYQp6RkpFQHx6QWZtekA1PnsxP0gxTH05P3EjP3FU
fVFeKjJsfkZAdH5wdD1rYk9KbDZ4SkRgSml0ZF85b3NZQ0dwSUQKem9lTmNNWVAwcUpTQG1CKzUy
OGhyP3tnKlpxaU1lPSRDPlI5WWVrO3QoJFN5UHRTbkQmNHl8KD05RlVUNk4tK0R1CnpLVj1fdmgr
O3w4R2tLP1pSRCRBIVU8SjZIVClVQGd5fChHaUk7XkpzZHFRTWxmXkMkQypEaDFqdytaMEVtTTU7
KAp6TDxDJWN5Xn4xdCRrKzVkYWNtITlfaSYxeXFJWmtWakptTW1mTGhuRilYYyRZbCNJc2RQTiEj
KV5PJEApXlFRNHsKeikhPDFnYEVgRzZ7aHt9V0tWPClad0g1I0JLTHhSU2skNyU4RnU9MXZYJUFM
Mig8YVhVcUhNNmNNJn4jJW43aj1RCnp1YSM4OD5SJjVgejF+JSNkSEZAXmIxUTE+bUZMTmxNXyEl
cWFxaj5aZyp5OWBYZW8xVms3N2w8PH02OztuKmFIMgp6XklzbzFOYjl5RENHY1YyZHdRKW11Xmg5
KWl9SjtDOWpiUz1ub0oqRit0VFNmdik/O2spNkprQ1k9djhHU242SzAKelVBRFFNPyRZVU5MVHFX
QShQfFF+cG9fZzApPWBtOVhINjh7SVdLaGEjfiM5N0tXeXctUE9WK0tCRytTUFRuPHQ3Cnp3e3Iw
Xzdrdzk4N0E1PFc1R3lDRW1ZcGtZSXgxSCpPYnpPcUs2Zm5DI1ckfEpKKl8tQmM8U31yMCl3bTFY
M1EjZgp6WCE5TTJUTnxxIXh7VnF6PnEje3Ure2l3JD85fFlFY2Z2OHNjYm9kWVFLcUJDPW87QHdK
OERpVUdDNkwpUXM9MmQKekJxaFBDZnxsRFVsdWNXQkhISSoqbio4MGAwams8PDFKTig/ekF8Z2sp
WWhEbnZhV1YoKkVSWGo+NmB4R3tyPXRlCnRUPm0mQXxHT3NTVTtVVz5OMXkkWiY4cStUKUEqTlop
Xz59QnsmJTxYez1ZdmVZViYlPmUqdkhEez1OVkoKCmRpZmYgLS1naXQgYS9XZWJzaXRlcy93ZWJr
aXQub3JnL2RlbW9zL3dlYmdwdS9zaW1wbGUuanMgYi9XZWJzaXRlcy93ZWJraXQub3JnL2RlbW9z
L3dlYmdwdS9zaW1wbGUuanMKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDJmMDhkNTFl
ZGZkM2VlYzdiMzdjYzhhOGYyZmNjZGQ4NWE4ODI4MzIuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvV2Vic2l0ZXMvd2Via2l0Lm9yZy9kZW1vcy93ZWJncHUv
c2ltcGxlLmpzCisrKyAvZGV2L251bGwKQEAgLTEsMTcyICswLDAgQEAKLWNvbnN0IHZlcnRleERh
dGEgPSBuZXcgRmxvYXQzMkFycmF5KAotWwotICAgIC8vIGZsb2F0NCBwb3NpdGlvbiwgZmxvYXQ0
IGNvbG9yCi0gICAgMSwgLTEsIDEsIDEsIDEsIDAsIDEsIDEsCi0gICAgLTEsIC0xLCAxLCAxLCAw
LCAwLCAxLCAxLAotICAgIC0xLCAtMSwgLTEsIDEsIDAsIDAsIDAsIDEsCi0gICAgMSwgLTEsIC0x
LCAxLCAxLCAwLCAwLCAxLAotICAgIDEsIC0xLCAxLCAxLCAxLCAwLCAxLCAxLAotICAgIC0xLCAt
MSwgLTEsIDEsIDAsIDAsIDAsIDEsCi0KLSAgICAxLCAxLCAxLCAxLCAxLCAxLCAxLCAxLAotICAg
IDEsIC0xLCAxLCAxLCAxLCAwLCAxLCAxLAotICAgIDEsIC0xLCAtMSwgMSwgMSwgMCwgMCwgMSwK
LSAgICAxLCAxLCAtMSwgMSwgMSwgMSwgMCwgMSwKLSAgICAxLCAxLCAxLCAxLCAxLCAxLCAxLCAx
LAotICAgIDEsIC0xLCAtMSwgMSwgMSwgMCwgMCwgMSwKLQotICAgIC0xLCAxLCAxLCAxLCAwLCAx
LCAxLCAxLAotICAgIDEsIDEsIDEsIDEsIDEsIDEsIDEsIDEsCi0gICAgMSwgMSwgLTEsIDEsIDEs
IDEsIDAsIDEsCi0gICAgLTEsIDEsIC0xLCAxLCAwLCAxLCAwLCAxLAotICAgIC0xLCAxLCAxLCAx
LCAwLCAxLCAxLCAxLAotICAgIDEsIDEsIC0xLCAxLCAxLCAxLCAwLCAxLAotCi0gICAgLTEsIC0x
LCAxLCAxLCAwLCAwLCAxLCAxLAotICAgIC0xLCAxLCAxLCAxLCAwLCAxLCAxLCAxLAotICAgIC0x
LCAxLCAtMSwgMSwgMCwgMSwgMCwgMSwKLSAgICAtMSwgLTEsIC0xLCAxLCAwLCAwLCAwLCAxLAot
ICAgIC0xLCAtMSwgMSwgMSwgMCwgMCwgMSwgMSwKLSAgICAtMSwgMSwgLTEsIDEsIDAsIDEsIDAs
IDEsCi0KLSAgICAxLCAxLCAxLCAxLCAxLCAxLCAxLCAxLAotICAgIC0xLCAxLCAxLCAxLCAwLCAx
LCAxLCAxLAotICAgIC0xLCAtMSwgMSwgMSwgMCwgMCwgMSwgMSwKLSAgICAtMSwgLTEsIDEsIDEs
IDAsIDAsIDEsIDEsCi0gICAgMSwgLTEsIDEsIDEsIDEsIDAsIDEsIDEsCi0gICAgMSwgMSwgMSwg
MSwgMSwgMSwgMSwgMSwKLQotICAgIDEsIC0xLCAtMSwgMSwgMSwgMCwgMCwgMSwKLSAgICAtMSwg
LTEsIC0xLCAxLCAwLCAwLCAwLCAxLAotICAgIC0xLCAxLCAtMSwgMSwgMCwgMSwgMCwgMSwKLSAg
ICAxLCAxLCAtMSwgMSwgMSwgMSwgMCwgMSwKLSAgICAxLCAtMSwgLTEsIDEsIDEsIDAsIDAsIDEs
Ci0gICAgLTEsIDEsIC0xLCAxLCAwLCAxLCAwLCAxLAotXSk7Ci0KLWNvbnN0IE51bUFjdGl2ZVVu
aWZvcm1CdWZmZXJzID0gMzsKLQotbGV0IGdwdTsKLWxldCBjb21tYW5kUXVldWU7Ci1sZXQgcmVu
ZGVyUGFzc0Rlc2NyaXB0b3I7Ci1sZXQgcmVuZGVyUGlwZWxpbmVTdGF0ZTsKLWxldCBkZXB0aFN0
ZW5jaWxTdGF0ZTsKLWxldCBwcm9qZWN0aW9uTWF0cml4ID0gbWF0NC5jcmVhdGUoKTsKLQotbGV0
IHVuaWZvcm1CdWZmZXJzID0gbmV3IEFycmF5KE51bUFjdGl2ZVVuaWZvcm1CdWZmZXJzKTsKLXZh
ciBjdXJyZW50VW5pZm9ybUJ1ZmZlckluZGV4ID0gMDsKLQotd2luZG93LmFkZEV2ZW50TGlzdGVu
ZXIoImxvYWQiLCBpbml0LCBmYWxzZSk7Ci0KLWZ1bmN0aW9uIGluaXQoKSB7Ci0KLSAgICBpZiAo
IWNoZWNrRm9yV2ViR1BVKCkpIHsKLSAgICAgICAgcmV0dXJuOwotICAgIH0KLQotICAgIGxldCBj
YW52YXMgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCJjYW52YXMiKTsKLSAgICBsZXQgY2FudmFz
U2l6ZSA9IGNhbnZhcy5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTsKLSAgICBjYW52YXMud2lkdGgg
PSBjYW52YXNTaXplLndpZHRoOwotICAgIGNhbnZhcy5oZWlnaHQgPSBjYW52YXNTaXplLmhlaWdo
dDsKLQotICAgIGxldCBhc3BlY3QgPSBNYXRoLmFicyhjYW52YXNTaXplLndpZHRoIC8gY2FudmFz
U2l6ZS5oZWlnaHQpOwotICAgIG1hdDQucGVyc3BlY3RpdmUocHJvamVjdGlvbk1hdHJpeCwgKDIg
KiBNYXRoLlBJKSAvIDUsIGFzcGVjdCwgMSwgMTAwLjApOwotCi0gICAgZ3B1ID0gY2FudmFzLmdl
dENvbnRleHQoIndlYmdwdSIpOwotICAgIGNvbW1hbmRRdWV1ZSA9IGdwdS5jcmVhdGVDb21tYW5k
UXVldWUoKTsKLQotICAgIGxldCBsaWJyYXJ5ID0gZ3B1LmNyZWF0ZUxpYnJhcnkoZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImxpYnJhcnkiKS50ZXh0KTsKLSAgICBsZXQgdmVydGV4RnVuY3Rpb24g
PSBsaWJyYXJ5LmZ1bmN0aW9uV2l0aE5hbWUoInZlcnRleF9tYWluIik7Ci0gICAgbGV0IGZyYWdt
ZW50RnVuY3Rpb24gPSBsaWJyYXJ5LmZ1bmN0aW9uV2l0aE5hbWUoImZyYWdtZW50X21haW4iKTsK
LQotICAgIGlmICghbGlicmFyeSB8fCAhZnJhZ21lbnRGdW5jdGlvbiB8fCAhdmVydGV4RnVuY3Rp
b24pIHsKLSAgICAgICAgcmV0dXJuOwotICAgIH0KLQotICAgIGxldCBwaXBlbGluZURlc2NyaXB0
b3IgPSBuZXcgV2ViR1BVUmVuZGVyUGlwZWxpbmVEZXNjcmlwdG9yKCk7Ci0gICAgcGlwZWxpbmVE
ZXNjcmlwdG9yLnZlcnRleEZ1bmN0aW9uID0gdmVydGV4RnVuY3Rpb247Ci0gICAgcGlwZWxpbmVE
ZXNjcmlwdG9yLmZyYWdtZW50RnVuY3Rpb24gPSBmcmFnbWVudEZ1bmN0aW9uOwotICAgIC8vIE5P
VEU6IE91ciBBUEkgcHJvcG9zYWwgaGFzIHRoZXNlIHZhbHVlcyBhcyBlbnVtcywgbm90IGNvbnN0
YW50IG51bWJlcnMuCi0gICAgLy8gV2UgaGF2ZW4ndCBnb3QgYXJvdW5kIHRvIGltcGxlbWVudGlu
ZyB0aGUgZW51bXMgeWV0LgotICAgIHBpcGVsaW5lRGVzY3JpcHRvci5jb2xvckF0dGFjaG1lbnRz
WzBdLnBpeGVsRm9ybWF0ID0gZ3B1LlBpeGVsRm9ybWF0QkdSQThVbm9ybTsKLSAgICBwaXBlbGlu
ZURlc2NyaXB0b3IuZGVwdGhBdHRhY2htZW50UGl4ZWxGb3JtYXQgPSBncHUuUGl4ZWxGb3JtYXRE
ZXB0aDMyRmxvYXQ7Ci0KLSAgICByZW5kZXJQaXBlbGluZVN0YXRlID0gZ3B1LmNyZWF0ZVJlbmRl
clBpcGVsaW5lU3RhdGUocGlwZWxpbmVEZXNjcmlwdG9yKTsKLQotICAgIGxldCBkZXB0aFN0ZW5j
aWxEZXNjcmlwdG9yID0gbmV3IFdlYkdQVURlcHRoU3RlbmNpbERlc2NyaXB0b3IoKTsKLSAgICBk
ZXB0aFN0ZW5jaWxEZXNjcmlwdG9yLmRlcHRoV3JpdGVFbmFibGVkID0gdHJ1ZTsKLSAgICBkZXB0
aFN0ZW5jaWxEZXNjcmlwdG9yLmRlcHRoQ29tcGFyZUZ1bmN0aW9uID0gImxlc3MiOwotCi0gICAg
ZGVwdGhTdGVuY2lsU3RhdGUgPSBncHUuY3JlYXRlRGVwdGhTdGVuY2lsU3RhdGUoZGVwdGhTdGVu
Y2lsRGVzY3JpcHRvcik7Ci0KLSAgICBmb3IgKGxldCBpID0gMDsgaSA8IE51bUFjdGl2ZVVuaWZv
cm1CdWZmZXJzOyBpKyspIHsKLSAgICAgICAgdW5pZm9ybUJ1ZmZlcnNbaV0gPSBncHUuY3JlYXRl
QnVmZmVyKG5ldyBGbG9hdDMyQXJyYXkoMTYpKTsKLSAgICB9Ci0KLSAgICBsZXQgZGVwdGhUZXh0
dXJlRGVzY3JpcHRvciA9IG5ldyBXZWJHUFVUZXh0dXJlRGVzY3JpcHRvcihncHUuUGl4ZWxGb3Jt
YXREZXB0aDMyRmxvYXQsIGNhbnZhc1NpemUud2lkdGgsIGNhbnZhc1NpemUuaGVpZ2h0LCBmYWxz
ZSk7Ci0gICAgLy8gTk9URTogT3VyIEFQSSBwcm9wb3NhbCBoYXMgc29tZSBvZiB0aGVzZSB2YWx1
ZXMgYXMgZW51bXMsIG5vdCBjb25zdGFudCBudW1iZXJzLgotICAgIC8vIFdlIGhhdmVuJ3QgZ290
IGFyb3VuZCB0byBpbXBsZW1lbnRpbmcgdGhlIGVudW1zIHlldC4KLSAgICBkZXB0aFRleHR1cmVE
ZXNjcmlwdG9yLnRleHR1cmVUeXBlID0gZ3B1LlRleHR1cmVUeXBlMkQ7Ci0gICAgZGVwdGhUZXh0
dXJlRGVzY3JpcHRvci5zYW1wbGVDb3VudCA9IDE7Ci0gICAgZGVwdGhUZXh0dXJlRGVzY3JpcHRv
ci51c2FnZSA9IGdwdS5UZXh0dXJlVXNhZ2VVbmtub3duOwotICAgIGRlcHRoVGV4dHVyZURlc2Ny
aXB0b3Iuc3RvcmFnZU1vZGUgPSBncHUuU3RvcmFnZU1vZGVQcml2YXRlOwotCi0gICAgbGV0IGRl
cHRoVGV4dHVyZSA9IGdwdS5jcmVhdGVUZXh0dXJlKGRlcHRoVGV4dHVyZURlc2NyaXB0b3IpOwot
Ci0gICAgcmVuZGVyUGFzc0Rlc2NyaXB0b3IgPSBuZXcgV2ViR1BVUmVuZGVyUGFzc0Rlc2NyaXB0
b3IoKTsKLSAgICAvLyBOT1RFOiBPdXIgQVBJIHByb3Bvc2FsIGhhcyBzb21lIG9mIHRoZXNlIHZh
bHVlcyBhcyBlbnVtcywgbm90IGNvbnN0YW50IG51bWJlcnMuCi0gICAgLy8gV2UgaGF2ZW4ndCBn
b3QgYXJvdW5kIHRvIGltcGxlbWVudGluZyB0aGUgZW51bXMgeWV0LgotICAgIHJlbmRlclBhc3NE
ZXNjcmlwdG9yLmNvbG9yQXR0YWNobWVudHNbMF0ubG9hZEFjdGlvbiA9IGdwdS5Mb2FkQWN0aW9u
Q2xlYXI7Ci0gICAgcmVuZGVyUGFzc0Rlc2NyaXB0b3IuY29sb3JBdHRhY2htZW50c1swXS5zdG9y
ZUFjdGlvbiA9IGdwdS5TdG9yZUFjdGlvblN0b3JlOwotICAgIHJlbmRlclBhc3NEZXNjcmlwdG9y
LmNvbG9yQXR0YWNobWVudHNbMF0uY2xlYXJDb2xvciA9IFswLjM1LCAwLjY1LCAwLjg1LCAxLjBd
OwotICAgIHJlbmRlclBhc3NEZXNjcmlwdG9yLmRlcHRoQXR0YWNobWVudC5sb2FkQWN0aW9uID0g
Z3B1LkxvYWRBY3Rpb25DbGVhcjsKLSAgICByZW5kZXJQYXNzRGVzY3JpcHRvci5kZXB0aEF0dGFj
aG1lbnQuc3RvcmVBY3Rpb24gPSBncHUuU3RvcmVBY3Rpb25Eb250Q2FyZTsKLSAgICByZW5kZXJQ
YXNzRGVzY3JpcHRvci5kZXB0aEF0dGFjaG1lbnQuY2xlYXJEZXB0aCA9IDEuMDsKLSAgICByZW5k
ZXJQYXNzRGVzY3JpcHRvci5kZXB0aEF0dGFjaG1lbnQudGV4dHVyZSA9IGRlcHRoVGV4dHVyZTsK
LQotICAgIHZlcnRleEJ1ZmZlciA9IGdwdS5jcmVhdGVCdWZmZXIodmVydGV4RGF0YSk7Ci0gICAg
cmVuZGVyKCk7Ci19Ci0KLWZ1bmN0aW9uIHJlbmRlcigpIHsKLQotICAgIHVwZGF0ZVVuaWZvcm1E
YXRhKGN1cnJlbnRVbmlmb3JtQnVmZmVySW5kZXgpOwotCi0gICAgbGV0IGNvbW1hbmRCdWZmZXIg
PSBjb21tYW5kUXVldWUuY3JlYXRlQ29tbWFuZEJ1ZmZlcigpOwotCi0gICAgbGV0IGRyYXdhYmxl
ID0gZ3B1Lm5leHREcmF3YWJsZSgpOwotCi0gICAgcmVuZGVyUGFzc0Rlc2NyaXB0b3IuY29sb3JB
dHRhY2htZW50c1swXS50ZXh0dXJlID0gZHJhd2FibGUudGV4dHVyZTsKLQotICAgIGxldCBjb21t
YW5kRW5jb2RlciA9IGNvbW1hbmRCdWZmZXIuY3JlYXRlUmVuZGVyQ29tbWFuZEVuY29kZXJXaXRo
RGVzY3JpcHRvcihyZW5kZXJQYXNzRGVzY3JpcHRvcik7Ci0gICAgY29tbWFuZEVuY29kZXIuc2V0
RGVwdGhTdGVuY2lsU3RhdGUoZGVwdGhTdGVuY2lsU3RhdGUpOwotICAgIGNvbW1hbmRFbmNvZGVy
LnNldFJlbmRlclBpcGVsaW5lU3RhdGUocmVuZGVyUGlwZWxpbmVTdGF0ZSk7Ci0gICAgY29tbWFu
ZEVuY29kZXIuc2V0VmVydGV4QnVmZmVyKHZlcnRleEJ1ZmZlciwgMCwgMCk7Ci0gICAgY29tbWFu
ZEVuY29kZXIuc2V0VmVydGV4QnVmZmVyKHVuaWZvcm1CdWZmZXJzW2N1cnJlbnRVbmlmb3JtQnVm
ZmVySW5kZXhdLCAwLCAxKTsKLQotICAgIC8vIE5PVEU6IE91ciBBUEkgcHJvcG9zYWwgdXNlcyB0
aGUgZW51bSB2YWx1ZSAidHJpYW5nbGUiIGhlcmUuIFdlIGhhdmVuJ3QgZ290IGFyb3VuZCB0byBp
bXBsZW1lbnRpbmcgdGhlIGVudW1zIHlldC4KLSAgICBjb21tYW5kRW5jb2Rlci5kcmF3UHJpbWl0
aXZlcyhncHUuUHJpbWl0aXZlVHlwZVRyaWFuZ2xlLCAwLCAzNik7Ci0KLSAgICBjb21tYW5kRW5j
b2Rlci5lbmRFbmNvZGluZygpOwotICAgIGNvbW1hbmRCdWZmZXIucHJlc2VudERyYXdhYmxlKGRy
YXdhYmxlKTsKLSAgICBjb21tYW5kQnVmZmVyLmNvbW1pdCgpOwotCi0gICAgY3VycmVudFVuaWZv
cm1CdWZmZXJJbmRleCA9IChjdXJyZW50VW5pZm9ybUJ1ZmZlckluZGV4ICsgMSkgJSBOdW1BY3Rp
dmVVbmlmb3JtQnVmZmVyczsKLSAgICByZXF1ZXN0QW5pbWF0aW9uRnJhbWUocmVuZGVyKTsKLX0K
LQotZnVuY3Rpb24gdXBkYXRlVW5pZm9ybURhdGEoaW5kZXgpIHsKLQotICAgIGxldCB2aWV3TWF0
cml4ID0gbWF0NC5jcmVhdGUoKTsKLSAgICBtYXQ0LnRyYW5zbGF0ZSh2aWV3TWF0cml4LCB2aWV3
TWF0cml4LCB2ZWMzLmZyb21WYWx1ZXMoMCwgMCwgLTUpKTsKLSAgICBsZXQgbm93ID0gRGF0ZS5u
b3coKSAvIDEwMDA7Ci0gICAgbWF0NC5yb3RhdGUodmlld01hdHJpeCwgdmlld01hdHJpeCwgMSwg
dmVjMy5mcm9tVmFsdWVzKE1hdGguc2luKG5vdyksIE1hdGguY29zKG5vdyksIDApKTsKLQotICAg
IGxldCBtb2RlbFZpZXdQcm9qZWN0aW9uTWF0cml4ID0gbWF0NC5jcmVhdGUoKTsKLSAgICBtYXQ0
Lm11bHRpcGx5KG1vZGVsVmlld1Byb2plY3Rpb25NYXRyaXgsIHByb2plY3Rpb25NYXRyaXgsIHZp
ZXdNYXRyaXgpOwotCi0gICAgbGV0IHVuaWZvcm0gPSBuZXcgRmxvYXQzMkFycmF5KHVuaWZvcm1C
dWZmZXJzW2luZGV4XS5jb250ZW50cyk7Ci0gICAgZm9yIChsZXQgaSA9IDA7IGkgPCAxNjsgaSsr
KSB7Ci0gICAgICAgIHVuaWZvcm1baV0gPSBtb2RlbFZpZXdQcm9qZWN0aW9uTWF0cml4W2ldOwot
ICAgIH0KLX0KZGlmZiAtLWdpdCBhL1dlYnNpdGVzL3dlYmtpdC5vcmcvZGVtb3Mvd2VibWV0YWwv
MmQuaHRtbCBiL1dlYnNpdGVzL3dlYmtpdC5vcmcvZGVtb3Mvd2VibWV0YWwvMmQuaHRtbApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi5mM2VkMGE5MzZjNDBmMjZhZjJiN2Y2NjkwYTUwOWZhMTVmMTVmNTk5Ci0tLSAvZGV2
L251bGwKKysrIGIvV2Vic2l0ZXMvd2Via2l0Lm9yZy9kZW1vcy93ZWJtZXRhbC8yZC5odG1sCkBA
IC0wLDAgKzEsNjEgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5h
bWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD02MDAiPgorPG1ldGEgaHR0cC1lcXVpdj0iQ29u
dGVudC10eXBlIiBjb250ZW50PSJ0ZXh0L2h0bWw7IGNoYXJzZXQ9dXRmLTgiPgorPHRpdGxlPldl
Yk1ldGFsIDJEIGRlbW88L3RpdGxlPgorPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSJzaGFy
ZWQuY3NzIj4KKzxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iaHR0cHM6Ly93ZWJraXQub3Jn
L3dwLWNvbnRlbnQvdGhlbWVzL3dlYmtpdC9zdHlsZS5jc3MiPgorPGxpbmsgcmVsPSJzdHlsZXNo
ZWV0IiBocmVmPSJodHRwczovL3d3dy5hcHBsZS5jb20vd3NzL2ZvbnRzP2ZhbWlseT1NeXJpYWQr
U2V0K1BybyZhbXA7dj0xIj4KKzxzY3JpcHQgc3JjPSJzaGFyZWQuanMiPjwvc2NyaXB0PgorPHNj
cmlwdCBzcmM9IjJkLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgaWQ9ImxpYnJhcnkiIHR5cGU9Ingt
c2hhZGVyL3gtbWV0YWwiPgorI2luY2x1ZGUgPG1ldGFsX3N0ZGxpYj4KKwordXNpbmcgbmFtZXNw
YWNlIG1ldGFsOworCitzdHJ1Y3QgVmVydGV4Cit7CisgICAgZmxvYXQ0IHBvc2l0aW9uIFtbcG9z
aXRpb25dXTsKK307CisKK3N0cnVjdCBVbmlmb3JtCit7CisgICAgZmxvYXQyIHJlc29sdXRpb247
CisgICAgZmxvYXQgdGltZTsKK307CisKK3ZlcnRleCBWZXJ0ZXggdmVydGV4X21haW4oZGV2aWNl
IFZlcnRleCAqdmVydGljZXMgW1tidWZmZXIoMCldXSwKKyAgICAgICAgICAgICAgICAgICAgICAg
ICAgY29uc3RhbnQgVW5pZm9ybSAqdW5pZm9ybXMgW1tidWZmZXIoMSldXSwKKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgdWludCB2aWQgW1t2ZXJ0ZXhfaWRdXSkKK3sKKyAgICByZXR1cm4gdmVy
dGljZXNbdmlkXTsKK30KKworZnJhZ21lbnQgZmxvYXQ0IGZyYWdtZW50X21haW4oVmVydGV4IHZl
cnRleEluIFtbc3RhZ2VfaW5dXSwgY29uc3RhbnQgVW5pZm9ybSAqdW5pZm9ybXMgW1tidWZmZXIo
MCldXSkKK3sKKyAgICBmbG9hdDIgcG9zaXRpb24gPSB2ZXJ0ZXhJbi5wb3NpdGlvbi54eSAvIHVu
aWZvcm1zLT5yZXNvbHV0aW9uLnh5OworCisgICAgZmxvYXQgY29sb3IgPSAwLjA7CisgICAgZmxv
YXQgdGltZSA9IHVuaWZvcm1zLT50aW1lOworICAgIGNvbG9yICs9IHNpbihwb3NpdGlvbi54ICog
Y29zKHRpbWUgLyA3LjApICogOTAuMCkgKyBjb3MocG9zaXRpb24ueSAqIGNvcyh0aW1lIC8gMTcu
MCkgKiAxNS4wKTsKKyAgICBjb2xvciArPSBzaW4ocG9zaXRpb24ueSAqIHNpbih0aW1lIC8gMTMu
MCkgKiAzNS4wKSArIGNvcyhwb3NpdGlvbi54ICogc2luKHRpbWUgLyAyNy4wKSAqIDM1LjApOwor
ICAgIGNvbG9yICs9IHNpbihwb3NpdGlvbi54ICogc2luKHRpbWUgLyA1LjApICogMTUuMCkgKyBz
aW4ocG9zaXRpb24ueSAqIHNpbih0aW1lIC8gMzEuMCkgKiA5MC4wKTsKKyAgICBjb2xvciAqPSBz
aW4odGltZSAvIDEwLjApICogMC41OworCisgICAgcmV0dXJuIGZsb2F0NChjb2xvciwgY29sb3Ig
KiAwLjUgKyBzaW4odGltZSAvIDEwKSwgc2luKGNvbG9yICsgdGltZSAvIDMuMCkgKiAwLjc1LCAx
LjApOworfQorPC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxjYW52YXM+PC9jYW52YXM+Cis8
ZGl2IGlkPSJlcnJvciI+CisgICAgPGgyPldlYk1ldGFsIG5vdCBhdmFpbGFibGU8L2gyPgorICAg
IDxwPgorICAgICAgICBNYWtlIHN1cmUgeW91IGFyZSBvbiBhIHN5c3RlbSB3aXRoIFdlYk1ldGFs
IGVuYWJsZWQuIEluCisgICAgICAgIFNhZmFyaSwgZmlyc3QgbWFrZSBzdXJlIHRoZSBEZXZlbG9w
ZXIgTWVudSBpcyB2aXNpYmxlIChQcmVmZXJlbmNlcyDihpIKKyAgICAgICAgQWR2YW5jZWQpLCB0
aGVuIERldmVsb3Ag4oaSIEV4cGVyaW1lbnRhbCBGZWF0dXJlcyDihpIgRW5hYmxlIFdlYk1ldGFs
LgorICAgIDwvcD4KKzwvZGl2PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvV2Vic2l0
ZXMvd2Via2l0Lm9yZy9kZW1vcy93ZWJtZXRhbC8yZC5qcGcgYi9XZWJzaXRlcy93ZWJraXQub3Jn
L2RlbW9zL3dlYm1ldGFsLzJkLmpwZwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44YWU2YjQyZGI5MmE2YmFhMTNmNTFk
MDA0NmQ4ODJmN2JhNDk0ZjkxCkdJVCBiaW5hcnkgcGF0Y2gKbGl0ZXJhbCAzMDQwNwp6Y21lRllj
VF5QNV9BZmYqRUUxS1Iofnh0SkFYJGJ5RmJzP1lWVGQjMjkyNkIxYTNvMDFJV3I2K1ZVVEQqa3wz
REAKelE0SGokZmBFZDh6U2VXVG9fcF9GY2RnJWc+OzNtbTRjLTBlPmd3ditSZU0rTXtwc2V7dDZ2
e0w9T0lRV01qI1JyCno1YTxmPDFOflk4bkhmZzxjIUVJWTx7JlQjMWZtOSFrfSFrRjA3TEAoSyM0
dmVAOz97XjUoU1BSNU5SM2RLUkcwYQp6V259LXN6YzJuO3E3bT44NEdxK2dtR3V2aWFkaSlIXk4+
TFhfe20xUDJGbDlJJGpPMjxic19eQGshWClsZW00JjwKekFBYz51JilyVzFgRi01QTFtVmkmYV5g
e2g5Xk83enFKdXFicUFoSFooUCpUKXlQJUZYemg8T0hxK2coKU4ybmAqCnpxQFM7VWgoQEhBO0dm
RGgwUUBeIVIqP1Rza3g7YWpwdU0+anprV2NsMmZ3bjZsOGxAbmFDZmt+cnZ9dSg9LT5BTwp6WEln
XilaZSZENmdpTTVAT2hCLWd0aH5DcXh+IWFudGImM3hQKG5IKyUwSlhLUXJiVTY9JHslNEpWS0Rj
SzdwWT0KejBzajJJWWpreEIybipFYDZxRSY/QXA3cX17RHl6cXM/R28zXnhxISVaeDgmcDJtYWR3
fEx1WVFfUTMhRGRmLTNhCnpqKXk8czt6Uih4NEN2UUtrZVpjdUt4amFTY1IoUCZxS3E2IVAweiVm
e0lgPEBxKDR+WDQ/STgxbGV+fXlZOVpnYwp6TVUlSUN0UVklaGBRakBSZVNIQHpzSEtzS25jKktG
PyY3ZChWNHlHUWNAVzZZS1F0ST50akJOZmZaKFRFMCRldnsKeno/RzglJCt7diMwKEdzZCV6b0dU
JiskK0ZlfEtOIWVtaTt+KDJWciZ5OGRTVyZqNkQ8OzEmVkNxN19pdyV7PkleCnoyakRoZmR4O0RU
NGg0YjhaVU9tMTV1dCY8YVRTMUJnTWtKRHhaXmtXYFdKcnI4QHY0cmZBfnx6N09EQEZJUnZ+Pgp6
ZFJOekFGQSNfeCRPaUY7QmZXcm49PW5oKU5Aam18QUFiO3RTcVo/fU5OLW5uNWE9UnM0Sjc1fjd3
e1hHMGEpRGEKemYycWdvZjVFUDxaaHp9XmJAbHAtfDBOND5DLTdoY3BPOFJiKlFoQHl8NmxJPmU4
WWhMYGpaNUtKLXY3RTYpMTJOCnoyS3VaSDlib3p3YEAzMEt7KiYobU5jMGMoNCFaKlQyT35yRGZ4
aTZMejMjM0NydktuREcpKHMmPj4zUTlmMHl3SQp6SEw/OCUyTTBqXio2OzZZQG1vTHN3ODdpTTxT
K0lKRnxfJDctX3lzKTxSMlhFWjQzVmdoeF4hQntEVlcjSGg8ZD8Kej9YQ1llS1I2OGZ4NlBpeE10
XjFXM2p5eEBfajhmMXw5TXVadz1FRXd7SHJ9NEFAK2FVPEwrVCNfJjQ3bF9QMT87CnpwP1pKbzRE
fGhAPndqZU5ASFBJTTl9O2YhX3VrTjgrclJsSlNJQlNPe1psP0wpYXF+bGZYcU9LQU9qRlRORlU/
Xwp6QCZ8Yzx7Nk1iMm5FYE1YMHR5OEEwJXVYNzkrQUl3NHh9RnQ3IX5afTxzSGhlM3N7ZmB6bGxG
bU12N2xTUEZAdVIKemBmWlFEJVlaLSEmXzh4WSFhbmh6eWRkQ3k0UnMpQEQqaktOdDBWfjJCP1h2
NzxBM3NtUlhgeFJMSis4WDFzTjZgCnp7OyZHVGU7Kzc3dj4tK2hEfkpRYzNsYWl9Z1FQKFVBUWpM
aCZ9RT9ZNVJmSXY3VVRlTzF8ZFAtSz5MRzE1dW9kIQp6K25AeHtlYjU2P0htQ3FwM2FTTHZmcERN
fSY/OFV9PW94NGJHenl2bzVrWVQyQTMkck05bmM9PUU5ZUlhMj8tU20KejB8XlRXMk1IZ0UyI0Yr
IzAqTS1sSGk7cEw4M35sY2YjZSNBN2x9VmY3fENeI0owJGw+R0RyJFklMVA9O25uXmxJCnpve192
RG5JYyZyU3Q4allgOWt1WWwjRzt+bCREZitSRnFWZlJFPD1aKVJmZWcpUVF4S0c+OX5zR0Bkay1H
Pl4xYAp6dzJgISheY20/V0RVdEw4PT8+YDs4SGtMSWpHYXQ/T3F4dU1Pck9rPjNfPDJlN0VCZ1Bo
OVMhI3N+fkc0Pm1uTj4Kem48NHVed283KEdQRCMhfSZRQzUpZXU/fUZJZ0FgaDl6LTVYbz1qZHFV
UHM8ZS1jTFM1ekNeeDl7KiFgJWZ9Mjg7CnpMVzlERCFrKXM1QjchMTtCOFFAZWY8UTRxTDhNcnRf
KTFBaCR4Yk9vc1ktYzsodCMzMThBRiomU3hrd2lkYGRZKgp6eGs3bkZNTWNGeUJ9dGA0V2w3fnE2
LXQjcmx+MmAzXkBNN2dZS2BpY252Ui19VDdsWSM4YlIkKDlZPnUqLTlZYEEKemRZWEVKYFVsTjw4
Vzk9fDhjUH4/bmticXlua3QkdW5oQmFVbmpmQEd2fF9ZY3c2P1M7K1N7fnd2YHdARncyUU97Cnpi
YVpycmJuMH4wYlV0KnE9PD9fdShoYnVzKFZmc1UofVVedD1eZzNBPXVfIXk+N1VYcyY+dGBgRm8t
Zi1XPFc1Ngp6R05keHBHZHlRXyQ4ZGEoPCgka3BsWExGcFpre1ZWKk00c0wrJFRtRk1pRTlgTXJY
IW8jdkkwMCN0RnZWXkVCczAKeiYrREllSnMqMyVATzxhX2BTVjlpRUtLckRtUH4kMyR4SURRRlBK
dSZzaENCWDRWbTRVPEMhYSZwRUl3cGtnKjd7Cno9KDhZTT95eXZgNDZ2LVJRbkhHJW55e2krQDNa
MXEkNjVFLW5BdyFyP0FSak4zZlgkdUtDcUxxaT9XLXJgPzlDOAp6eDNKSCNmNHsoVUxIQn5rZz9r
czhFPSp0ZWM5SEFpPCU9RXtGJkZVe2k1SV9mQE4qYilwZ0dieDkmeDxvQjxCUWsKelQ2MEVsbVQo
U20/c0JubVVFKUc9VllwaGpVVVFSamdTbnlIRzJFNWhGUyhDK2N6S0xAMCh0VXpwN1pTVHZoIVol
CnpNZSUwd0tJWXh4Vzh1XjBeV24/bGQmME5QJiZJRklANWBVWi1fTzQleiU2aF5BV1djS1V8aXNi
cHFMO2BGaXNGSgp6XypSSGtOS01GN0NgK2hNWGl1MD0qailJIUZqbn1yMiN0dUVoX15fdCRkSmY0
UTg3YHRYcmt5TihNXz83VmtUbkkKelZweT83YVJ6WjZAZ1ZVRUBtVUU8MntqM3tNNnR2cW09dnJH
XzY4UyVDblFORlJVfn5SaXpUT3xENVRWLXtHfT9TCno9QjRTU2IqMDBsdkM+TzI+QHNGRGFXYW8m
S0ZKRXBCNHBFTGhoJUBzRGEtbEZSbXJgUFhPQFNeJEh7bGVlXkNHewp6QVFjSn5XKSZGfWpUQ1B4
Ynx+JkVOaCowTGxfPFNaVz5HZCpQRV90d0sydVJ1MzA3JVIqLXtsJnl7MX5FSTxMbTYKeld+Rypf
SG1wdmV1QlUhZXkrezItTHEjSzBxZWJLTUNGeDcoT0FWSmNITmBZTkdeO2RNdjs/KFd3YVQ/Vlgh
QzFkCnooPU9CZ3BkK0I7cyNCcX1kfEJ3U2B7a087OEBkdkBEQlZXZ1BrTTVDIUZtTH1afjdZZ0h9
c3p4a1FvPm9VPH0zJAp6bkdJb3YxJX5nODFkWTZtdXRzfnYlRW1GcVBwP3AxRn07JDBXIXs5eDFa
aCVsdklrTHgrPF4zKCh3b3x0N01MIVoKemZ6NSk9eTM5JDxBP0JJcGl4d2dse3VZbGNMNiM8I25V
LSZAI0hAbT54fihhI3QqaV5KKlAtJno+KEMoXjc4QDZ2CnoyQWkrOGRiVmt7Wighb0VGaiRgKnFu
KUUmejE9c3MwWHpmIyFDdXo+aFcpNG1yLVAzfTJaOVA9aHAwZ3VUe1hPIwp6ZVJhKUkqKWhSISZQ
bUtFKCY+ZFdyP2FuZnVNNEEjdDRyJU9pZml5fDRjQVV4RW5PPklrSzliJGlybl4pYHA4YDUKemp7
OVp6RWNZIUJFc3FTMzROb280NDlgdDNFdzQ8a0VwSHZ+OVBlRXBlVitvS2ViZzBIRGU0PkE1P3pi
XzxxUC00CnpgJShLe15YdjN5X0RCMm8yay1fJjIyMkc/MXx8ZjQyK3wxMzQlIVBnNFh6MHgzMl9T
UDJ4U0V2cE88MGNWUnlycAp6IW5NTi0hO2Q1RUIzZEp2Qks7I0BNdURVNU1RdWJJTU9Waj0jfkA/
K3RfeGhoZVNQVk0/djMoVGwzMkljek1EY2YKejw4UTlyR1FMJUpvQXgmUF9FPy07VHQ/akM5ciZI
RGMlSnhNQGhmK1k/X3Z8cUI/S3FUQ3RnWXtPKElZN05nQlZXCnpjclg5blBtRFdlPGk2YmZvY3BL
QSRtRWR9YElOa3JVI1hzezw3cH5zQkBaWWNfJj1DUypHYUYtVjlKUWpTampaYwp6WXxyQSkhZWt3
MHlKV3d9UU9ZVUpyT2dlP3tnN3Z0Kk80IXJ7fi1VZ3pgS0IwczhAKEQ7eDQqWl5zVSZ2YylIfHIK
ek5tRDZMPkhYNjBXajx4RSU4a3EwRD99QEREayY/JkU3ejsrcylubDdzX1Nid1l3cCphKSV3P2Rz
RHN3XipRP2dvCnpIKmh6a1ZNKCFKKnNWcyMjen53M3VBQG8xc1R8TGF6eUE+UUZ6biVXXlI/IT03
U29vI1I8K2lxSGolYT4wdCo0dAp6UFNQSUx6VzIhYyhUNUkpajtUJmFYSjZOKUU8KDNWY1dzWUFQ
aGxAeFpgeHpwJE1LSlVKJkFzRF5mZDc0P2xaNHYKekR9NjN+Wj1UeWZwWTZCcUEwSUZzNyM9aGxk
X0pUKl5raTZUeGFXbiZpX1FfWGt3PkV7cXdPITFVbFBXWSN8WXlwCno8THdpdzZDSVE0bFUtQXFR
Oyg7MHJrfjlpJW5aKCYlI0lRKmgqTlgweG1XWCFeQi1RaHp1SHt6VUQkc2V7YCR3OAp6VFo8SG5u
NzhOTz1EZyM2U01ncnJKXnE4cmh1JFRGckkqViMlV3FiWUQ/NihwdEVYJTY+a1I4VDgrO3F9bits
c2YKelRTaS14K2dHPk9iXj4+UD4/Vjk8YGRJV3l7OFFXSyViI0VGKzMmNkcyay15LWw2PTUlUDx5
QyEqbXE9Z156TihRCnoqQns/NyN+akNYQ3UlMXste0lka2VuZ3k3byN2Zk1vT1MmKXtraXpkQDdK
JEQqST9IX3pRQXZ+bWVkbTxhbGgxcAp6S254QmI1WCZTOE0wQFVFe18+dl5mSUNlQmxtVzBFaTQ0
Z09YKSYySXhkYTZqI1hqWDApamFpa25rQ3dBXmJgIUQKej1TJiR4JnpDWEh2KFR8PnZxaUp4Rkts
cHRJYkZHT3hoSHJqXz59b1ExWDJaQ2dyPGMqaUlSJCk2SzltNTE3Xk14CnokJlhTPyhsYXY4V2VJ
WHNAKCZibEQ1OHw/bHJPNypSYXNPfCl6O0tzWVA0TXsoIThVRSh1VjQyVXpYRDQoX19+Xgp6WiRN
KjZaZ14oJiYzTnoxcnBYNyRFN05oYTByTVY8UiFmeyFnTE9UJCEzSmxHaGMoLV4hZHZhejlOR31B
UzZkdkwKem8kJF9obXpIWkN1RnU/RkF7WDQoSnF8czhkREhvQHFYZn5DelJHPyZ7dzR2aUsjIW5e
O0ZPUz4mP2pOOSF1S08tCnpxV0dnI1Y9UyZDWiQhcG9ac3kpOXlJbWV2ZE03VkY/UVRMc09rei15
PVJFfCo7PVhST2EqQjg9Y04rNXB4XiRXaAp6eTNGJWc3cWJPJkJ5Kk1Xd0RKdUwlbk07ZlNCc0cp
PStlLSNUamRXYiR9MCZ+Qmh+TH40KHE3dnhmXjckZFd8cmcKelM1cVdEPjB3VERNR0xtSXdYS1dy
cTwhR2dpO2w2KnNWLXZvdERaTiM/O28hfCo/REBATkF7ZXBVd2xBdyZ9cy1kCno5UHQ3KFFaJE54
YER8PXp7S0xlQCQpbDw3KTJBfihXey0oU2JObGxqMGN+NCh7cURgSCNwJDxXP31wekdkPkM5Qgp6
UylOe2J5U2xZQHZfWX4tempiazJYaCZ2T3tpRlVUbGgzQW0yS3gkTUVgMGZORm0jeElnI04xZT9j
QkhiJE19PDUKei0+cldMe01iS3pjOSNEMCtBcTBaenk3IUptIWFVTkh+X3xmbnxoZ01wTl5KWmd1
KEVmSClHb1FLQmZafVg7djR1CnplRD5MazM+QGExY2UkUSZmOH58cmJLeUBHWGNMP2hJdXYwUDxy
V2hhN20mQ0pyVU1eS0U9IUZ8Y2dhLUJDZC1BKAp6VXNFdHFsdkJFKGJmJnpqR05PdUMlVGtabGFL
NUNjRFhLLVN3V0I/eSh7Wl57SChmN0lLZj1KKig5T3VzKnp9NkYKemk5QUhlbCtCRkY/QVV6VVYk
cEtTWVNfOURgcS14MXdnWDE2ZGtEd2MqRXAwVDNhKH4zclpePSEkR1AwUmNHRVNeCno0VEg+ZEZZ
PjdNZUNYQlR7blRkfEhHd0FqRjhaemQ/KjwkUFEzaFdLa3FYcmR2ayYpPXhEJU5oKWZvTEdYOFFX
LQp6amlaflN3YGd5bGk9KTNvZEZOO1I7b1lyLXd+MTNwMU5TO0cqIXZ+UDReclklQmh2Z0hjJV4k
fnBmWkVBcU88U2gKeit8U0wtRTZsR2JzNHNrMkxANGVsPV8/JkFuPTQ8ZklJNXpvekV9Z1UpdlU5
cWNXRFUzLWZEYitEe0kyemRtb044Cno2STxUNVpub19hakB5NUFQPEFxT3YzN0l6QGJgKjdtVV5R
MlJPPWF9Jio4YW18SUxCUyFQPXAmO2p0R1ZNIXZpeAp6QTdkWEVvbHVfQ249K2ZXblNzd0RoPm1t
NF5EZUtoRW5JdTtgbz93OV57d2tXKlowVHwtYjtiWSpIPHZCMSM4JiMKej92MG41Wj9gXmZwWUdD
czxvcVExUyFQZG1Va3VRSVVrNkt2JnlMRXojKHJ9PSk7UEklXjdaQDdrQjZyelhRLWI+Cnp6bDhw
ZUAmQ1d1fDJQWFJ0MHIzclZFPjsxYCR1dldhP2tRSUBNLWQrMSMkJSszb1ElKDZsRD88NUM9PDBm
VzsmUQp6cSZUSXwlaDFTeldEbiN2PFg8VGFFNEN9dUN9KnFPUTRMYWFRYTlDNXkoRlowUFYtbzZN
U0RgYD5FJX00ST13UmUKekxXNjk+UkhIPVdUVVIxWTB3Rz9lJlN0amVDS2xTM0Rwcz1BNT5RYmFW
T3YzJWZFXiM0K24mUkw5bD9CKy1qVHxRCnojT2NpVyNPMiR5VzdpKUBRZz48KE1vKUd4WmZea31R
NHw8MD4jTnxXPzVgZjY2S0VWezlxYllrNzx3eCNKLWpAawp6SXIzQExNRCpMM28kSlQzcSZJMUEo
Y2grdEJMUDs/KSVlLUZlRl54KTt2fiR5RnBUU2NeSktMWXA7WDR5diRUJjcKem1lVXRBVVMtWl95
fjx3NWQ2b01yWiQ1dm5WNzcza1hzVVJrV1VPPyZZXnI+Jjt3YFkhP054dVRDOWgrc1hLVWNhCnpp
WjtzTmwkdGN+SXVHQG00TyRGYTRjaGJ3bSlvQC1YPl9QfER0NV9zT1pKSE4zTz9xMiF1NkV2OEU+
RVBiTG9FNwp6MGxoKTxBXjVQezMqVjlPKFZIKW0jP3JfMENRMnNEcnopbilXe1BIV2lScDlxPWle
YDlTY3JIWEBXeS1iK0ZPVHIKekh0KCVJU1REaHMtQnlCRDxKUGoqPm8mU0skRkBGZmY3dkRmJG9m
aDZ2JTtSJXpRR3J4MUVXTHpCYn4zOHpOczlgCnpwR2JaZXtsUzBBYW1Nbks7VFByYUAmNlpaQF9T
OTcxWSppNlY0WipeZjxSe0pBVytGQTsyaj89S3VNZWZmdmd4bgp6QVh7fTFzYV9oMFI4YktgRHAm
Yjt7VThCZWBPJCNSZ0QhI3VLJDBMO0FVP0pSeHF0I2RILVZWNDB6PzQ0MEtFa3IKemtrRkN7a1o2
JERrXzM9b05OUHoyTiFDYXlOeVNPY2ZMSmROaTBeakVJTE5NJE1VJnlsSHB6djdOVWUlfGxSXmZG
Cnojcmh+MkRYJnFzUWMrVn5xdzEhPE5GN1Eybm5zN0Y3S29FI1grUDRyJmByQEImXzd9VEduQVpU
SkQwKnAmM059Ygp6I3JaQGdkWnRXZjlfRCUkUmhBKUVJT18mbTZnd1N6KiMqQExsTld0Q1hnUlEp
N016RCVNY2xeUjJSdm9HPURncWUKellXWk9UNmF3dm5DP05yJSpUVUglUCpFMDlxRjkwV0gzPjBe
a0trNnhDQENGak82ZHVpTFJvSilIRi1NdV9YX1FiCno1MHJlQiV+VFhyZERVM2QmdU5eJGJVey08
T0lCTSkkTDJDaEgoc3c/fEN6eXg1dFQ5Y2ltOGJZPGdSSSVTLTFIcwp6aSpIc08pPj0+eG4+NT5R
KmJibn1tSlZAPHd5U0dTPzlONm01IWJNO0FDTWdHSFhpQW9Re0Y1LV9OWCVTdUhQbTkKeilQUmoz
IXtGTGJoT21oNilreGNAcCV8Xn0/WGUwc0FLc1JhWWwmQzkrbmd3IVJEPEVZcE8/YXRuKk0rKEp1
OHpsCnp0MEc0X3c+I2d3VjVSNzBpQlJjZWBRMXcwWU88T2Ficn1zVmpkRCQ3X305JkN0PzdpSU43
a0trLUU9KzZqfG9vYAp6YHQxOXEyMSRxQnlsNVpJOXQpcDlPekYrWTV5al5mN0dRN2stdjBPeXpJ
P2l0eE9yaV9AdVNoXylofiVodmZtY0oKenI9QSk3bkxxdit7fGtTe1VqLU97RH1aNn0xS2p8bmcz
M1V4MEVoNGZ2PEVOLXlkPGg1UndRVlcxZD5YQzNIVSV0CnpMTWxYUk0yYVRPQW5oaHlDdTFTZ0JN
VCNJQVhfQ0RBYV5DTkNmfXR7cVBSJmhNIykxTkstb3tsTyUrWngxSHtyPAp6KUYoOThYaHZ2Tlg9
fl4+PXUrcyg9JWVaUDhHSU8pJlJzbj4mdUdVdWZCeCRFV2hPTSFIfEQhNj5ANC1IK04/OGQKeks1
VzAoYjElcVc3ejBOQzk3aFlNSnJebGc2U3BHfDFKNHVRVV9LR1BTTnM/T0VyQm5CYndhTWZKaT4y
ODNQcWo4CnpndkVCbTJAPCEhV3w5e3FTRVFQeHFoeVJeUyFMSmNJXjxJb0pRT2MwYVZ6fiRleWoy
dlNrS0RVM3A1SFpSY0pQOAp6XiNiJFJgc0g3R1Q+MlVZail1MzU+VyF6YW9JclJAYjxBQU1aJih5
dEtESnRoKCUyfjJJPlM9ejk+V2hEQm9KO18KejNtcz5pWDxjLSRNWT1ZLT9ZTjczY3pNPSllZV9Y
NiNpQj8ySVEtRThQbEdzdSEkYW83R3tkVlI4S1o3UWY0YzVeCno8SkM+O1RWcnUlY2dGNW9CfV53
bD9AaXNlTkZHVk9rfldsWGt9O2tJJVlLKU8maWhgRlRxSUUzVUZ1Tnd2alNWPwp6VHl2cHp3bXV0
K3p6SDwlS0owQTR2XmxwY2J1ZV5wYlUqM01kZ0FkKz17Y3g+WV9NcTlaeytnSjN1QWl8RlE+M0cK
enNsQFBrdUxaOSsoUWordD89MClDUiYzQzJoMyV8O0xoTVorU1JQRnQra0puMzI2JnZud0RIZ1F8
S0lLWi01PmlHCnp7QTIoQWY5IXQldXp3MHRGQFcoMkIrVnMjTGI/cmJJKS1Fc1dMVUNnYXZwTDd6
fGt5SDJtb3glTHlBKk0yeFRHVgp6WERVT2dWdGBTQlE0P3FgJnxJZmtwKjUlTnE3JGRmcW8pUW1W
Myl5I1ZmTEtheGp7eGYjJUpnQyZKUXd+RiVnK3YKem5MbzN7dll1bHRWXmQlb1dPcm1neXBWUUw+
ZiVjZGVAKyg4Wll+ZFFYNn5tdmZ4UF5AbFlGPU43NUxXJDNJJVAxCnomSXllUS14bzAjV2ZFTndz
fVQyLVB6T19ocnpER3xlNTYlbnNBTHZvbzg8MXdKMWJ9P2F3dlhSZFojPzNMUXV1Mwp6KXV9Z1di
WUZVQHh1b0A3aHlBaiR1RHhFWWV5emNiNXQqXiM2e05gbk5TRW9kSWdOJDlDQmlEdmBWbi0/bUtP
JU0KeiVZYVdob0paSlAmMmZDPyU7fEZWVDlOQkpxPnd3eHFzQCFOK3NkWmBfMDhBUDQ7dyVtPW9k
cmAoRjwofTdtRnkxCno7Kkt1NyZWOGZlQ2lvVTFQWEVzQVVHSWRgcXo0Iypgd3ZzSlFlUWw8T0pD
MjclJTt6JiVHMXQmUXk1ZHNUaGQ8Xgp6UHtDSUBTRGpzcHMyNkVDWTgtQVZlSGhnT1omUGpPPkxC
Z2g/VmomX19ONFklIWdINGFgNX1fdyQmcz5gIVE7bDAKemR7WllnYkh3KWZmYCF7fXtOSzkwY1Vr
Z1VpQ1c5dFh4KTBYMztIQ3ZoeG4zdyohVDZ2aVJ6RT12KERlK0FMNk5+CnpATyQrRGs8allfXnk5
bDx6WWMmOEwjUSU5cHRKTn16a1hFd2BnSytiMVJJTVcme04ta2FxKyhrUT1TS2JHRE8rVwp6WEgk
O2lwWj9ESC1fb3pBQVNQOyhMeXwpPjU8dzZ0NkEyajskKitEOEFNZ3djZlA0aGZLY3pgWCQ7Y0B2
c2k8amEKej4zey0rXlQ0KyVXTXJofFdFMiM/VSFhaU8wSXF8YG5KQWJBPGFIQG90WC0pRGdJRT1B
cjxZUjs9YH14TmdIRylVCnpFNGxeOChhXkdBeFg4Z05BfVNePjBhajkwUUJfbWQmXkl0TkdRTUkw
djlYMk8hMiNNOD5GKGpfPD9Wd0MyQE1PNgp6aD5WSzk2TXJgJEczZyNBQlFxO0lDcFJ5QHByVyM+
eH44X1N6TS1ZSGpuTXc2cXFEMjtkSD14UihDfnxxPjZ1eUwKei0yQUpCKkd0UFF0ODQyVW5fSnVh
VWsobkJ6SjVEQ2BUa29qNUAwUjtDO2R5WnwzZlkmS3JUe3BheCF3Ti0qUzxWCnpNZ1NXYjZGRyV8
SlNEVFBISS1gK2k9ZWA3WUY1NFVeNSRuV0xXPEJtSG4tcEBUNlNUakM2V0UjcVd6S1ZlPG9QbQp6
fDB+SjwzaWNubC1UKF4kPjdQVkszWEJwTjg4QX1oS211YVMtdzlhS3wwTD52Qyl6Jj1wZ1FVMzAy
Y0cjPUAoRTUKejJ+WT1jR2JRbEhLdG8wSSYhendRQHotMHhMRS09UDhibDk3eXJmS0lPZHVXNT41
STFlKW5WKkdobUJtaShfSnowCnooQClzP08tZ3JpJiQrSVlQZFdAdEtWclFgOz9SQ0Eyb2JoQzh7
emR5LTl2O0V7TEdObSZafm1lKzdSQDZWPUlvaAp6aH52YkNkX3o/bnNxYjRzdDdnPUc0MWJAT2tL
alk+JTJGWkxXZkJvYmR0WT1vbW8rdVIpR3lfSXBIciVMVmpGSUIKek5MMnBwM1JkZjc+fkFmU3k2
U21WTTl+QWBZS0VfX3lfWU1vJm5ETnImTG83Uk0hc2ttbU5XdD5ORGRGZEdiZ19WCnpfZWxBdFQo
JDNsb0JFdHplKSNkJGF1LV42NysoWjVfK2o4elVSOSZCcThwT2NjZi1wWFAzNU5fJjZuWk53YSVX
cwp6N3BrZytZJEMpZm56YmU/RnlmJHBaelBTWF5tZlgjSF8tbUF7KXdWKEhNPGkhQD5SOF9IYVEo
PklIV21HWGFvPE0Kei1GMj40MUY4Y2ErbmVmXlRnNWFleGU8aTlpRlJ5bklRVkVWJnlDaH1xLV5W
WHUyNz1mKih9V1phKEdxUSkkWTJhCnpZR0NCeW0yNEMwZUVNPEU0Ulh7RDs4MXo5V1pJNWZhSC1Y
YSN5OzBkKjlyfEk0RE9jdm1DRk1qRlFkfkt4ajJGaQp6QnZyaDNmXns3LVkyT3Y0UU9RM3k4ZDQ3
N0x1fmswP2xeZjJiSStAWFF6YEdiZGRfc3xOS0VXYXdXYE8mQDdUfFgKekF2Ul51JSYwVDNnbDJg
d3BPTVF3UWVwQlFoPjJ7cG8lMnlDS21LajdyZGVhITJDczBSKFFlZl93UiU7fmxtclJNCnomenI+
U3dRSXohO0V+fWRSNDYqcklzeipYWFY+bndAKyF9OW9veF51ZVRlZ1lRd3RlUW9ObVZyS35COWVL
Py1aPgp6WEI1dm10e2ZQPVo/UTBwKEQxI1gpfSUzMSpZdyQoNEQmTl45TXVXU14haDRHeD5XaDgq
ck53SSFmcEdgezs7MGsKemRKUitQam41NV4mPyg8cSRgI2M0SEYtTU89QVMrNUBDZFN1NldNYW9z
X0s+OF9jZFRWIVlBeWZQayE4ZVE7bWtKCnpkZFdnSWskeGkja3AhZT8+XypuU098YG89TSFZZjJV
YzNTV2BuYGR4TV9xJkxDYjtKZTdrZzEzbiNNSzVVPjJGYQp6e1hQREttcmY3WSt4XiRMMGlCWnRi
WnVZZiFtXzQmbV9uMCVoPHl2ZXVgQFQqZiUlMENGZG0oTnZWfURJK0MtOyMKeio3KDxQTGFzZjQm
KVBnUSV8JE00QlArKWBEXmR7VzwlU3kjR1Zzc0Vsdmp+XjhIa2R2QFlGUGcqPV5qXz5kXkwtCno+
NWZyey0+TjRJSVJQNX5EbCZxRHRNWEIrPnAtWUBhNzhEVmROa1pKS3krOyZHSkN9e19UYSVYUXNh
N2NmcHxzZAp6TDxPeVEjalVeRlhzN0YjT0xpYTUpcDJ5THQoTDJHV0s1b3hiPVB4STYpfjlLTUk1
fnNKdHM5aVVreztMPDlJQ1oKemx6eFMxVTYzekt1JiE+fWR7Izw+OEk7VD12I21TSVUhTlY3Unk4
aj1Ze3ZYM1dPfDYqQyU2dHRKRXROeGlXdGtFCnpBPkk1M2k5d3ZyJGVibyY7K1F6ISklWmI0Jmhr
eUsyMF87PXAxZyF5ZiRiaTV6ZlAkWGhmSE50VlBkYCNwO3dLVQp6NX1BXmNaP3Jhfkpuci1lTEZ+
LU1oMEg2Zzc5OHptNj1xeUh0eFM/e1pkTGZpZz4hb3VKJEpYaVhpanMmMXNeeV4Keml7UDghaE5x
PT1XbVBLfE9WU2J+P0x0I0JVQW8qT0JePnoxUEVHUVJjMmlRI3h5O3E9c0B9TG44UXAwPCE2QUM0
CnpKRXsxSU5mU3phWk55NiFsOUBhUyFGTWhOcFRiK35uJFVleyYkbkgwOWxBckB7UnNUdmFWP2RN
MUsqUUNQZ2g+PQp6O3Y0dHJGYHdHengxN1ZnIzAweGpSUSQ2fjdtNm5YdkJERih1QHIqP2I9JVMw
ajZhJWYwdmJDKyZSKHQ4OVE1dzIKeklmbSZ9TlVVNHtSQiE0T09ESDlXVFkzZGVfeHlZcFRRcU96
Nk92M256c2B8RVlGam05ezlYNkNgZ1p2MlZUQF5OCnpfQUZ2Q2x4OyZMKkdhTzUoNnUjb2VPJk9+
OFFKc3Y8KEFwcVhYTmhDSWx0YVhBcjJoSHdkYUB2TjV0WnBMVl9TMAp6YSpTISMrRTZJNEF9KG1J
IUNjTXl3eipfRndDWS1DKWRkeWBDYEN2XzFQPnwoK3RmMyE3IW1UPnNaRzM7dGVAa3gKendUfVlm
P0dSJF4oPGt1UStqKGJuTDEpSyEyJXcmUTVJXkJxaXZJajxfXmtVdUZqfmdNcmA1YipKT2duaUQ+
blNiCnpSRFpBTkFjXmY9Ynh1ekhJKmM5SSVgZU9ocFM/fUhnWTdwaDN+PjtfUE1PPSZObmNHeD8x
eU5rZUNjSnBEWTRBPAp6bEF6SjsxSDZjc2MzMkU7VnkxWipKQCprZVBSKGBfaj9OaiREb09uNHM5
R3hLWEtDRXB1ezlRRTdyYFNyKjcmSV8KeiNMMnZSLVU3V1F1VmxIWSV7anFkUGB2eXdEQllxbD00
dy1SVzgrMTRjKChYTERRK3BxOGg2ZkoxMCFDcXBAJEpLCnpCVGRmfWVeS1F7dEFMaFMtQCh9OyEk
YUpIPFNLYzY3YGklazk2IUUxaT5oXlUzUn5+fFFDUU01VSNAcldxfnUxNAp6YlF0c1UzZGVlTFpP
NmAtVk5sb3ZWeFY5e2VaM2NSKGV1IUY8PllaPih+PE94cGZRLXdqQEhKdmhWfCVnOyVoYjsKenVh
MmRoWipxTT9NOytKT3QtTzJLXkY3X2A4X3B9c1QmTilUeXlVMFFedS13QmFnKXxndyNuSntWdWFk
ZlhRJTZ8CnpEX3o9fFdGLVNmOGs/V00lWl9qe3A3fnhVKH1zZiQtQlBGYzNBUlRYdH4kTCE3RnVY
PnI8bG9rPWNDK2FFI25lTgp6ZjdGWWgma21XM1ZHWTRmTDM2RjVvbnhXVT1rMj9aPlp5XjlNfD5l
Vnl7P1l0bUw7KTBhfFUxTFUlTitYKShYR1kKejVtP3NkSF9eSU1uflFURjZFUlVEV0dmTVYzXkEr
Km1AfV5ibHdNWnFCbmFpMD9TWWpZaXpidW9TQmQ/cFBkckJ6CnotZCg5aT93SmtBV2srPT9DX3sz
KzJvQ24hRjV0JSVJYUtDcHlzK2QwOT1wZ0xyOzNJTm97OzUwNFBQZ1gqSTkxQwp6d1VxN0J0NlRQ
OE05JiNvMkZQQVVBMl5HPUlRajZ9YyhYXk9MPDQza0psOzMkJG1Fbi05SD5qQ3lwaHYjKmk8dlAK
ekxKdDQoey1PdFN0KlRQbT9xa3J6JS1aWWB3VHc8RUlHfk1seXshQX1Sc0d8Nm13WE0qKHk3QSgh
WjFQUypZcygwCnpMaUMmVihwdSVBPWdSMTNzPWNCNlZ2R1VoWEN7M2BtTkJTXnhtK2pwcmg+VmhU
SUtieF5XP35hRW91TCo1U08lLQp6aFlHYn4+fWl7eXhSeGNXPm8/b3lveiF1NHslMVM0QTlaYkVV
TTF8aj5qOEkhZEBaVT4zUGx1R3liWGYqLXdseHIKemApcnthZG8qP3d2UiZFRmApUGdsUVM0RD5Q
fXFEeXglQiY5NEBXPnsrR3tXR2c7KXJEYkZPKj5jTTMpcWJhKEhKCnpOZlFDMURlVVNUa0hVTT0j
MFVFYiQ3PU9FOGRsREY1WFZGOFpOfXpCYkMhZUF5Z3R8P1pKd3BDeVJVVk1KRnhkWQp6LVlfOypN
VTtKK2dedD1mYD1oYDFscVIrVF5IPTlMKjRMS01IPk54MDJmZjx+ano2cHVAeSFYQkpIeGVVWWd0
fjUKej5ZSUNEdDtnKEw3b3YlST52JXFlck8jb1RGKDx9c0YoYlFNMHRNflRwQ21JZUN9SU5ZRyU9
fG8jPD1gUEY1U0tuCnopfjIocT5seGVaWXAybGxvX0RXVHN6YndwPyFwaFdZSWZPciZLTXUyKEZn
SE4mbUxtMEhXa2dDXn1lQDJQZX1XQgp6YUwqbX0weWVqZndmZ09ARWMzOX0ySXRafkZVWnA8TiRC
KSRJXk1BeG5DfWY3eG9gWV9hKHFkQUpLJSEjeVJ3K08Keikmb2V3ZG1kRUxCai1iLWB8aXQlIS1n
PzZAIXcqUD91SkNuVkpFXnErZWZKMEt6RjUoZVEwZUduQSRjOGlJXnxnCnpYITF8Zm9ROzRSbSFL
KFFrfmEjeiR3Zis3KmorakcocGk+dGZqV0UmREZKNGtaNXBxfUVtOGRCbXNEUT12QzRobAp6Ji1a
clVSWC17eVEtclk+bHE8fT9VRndLMVBhNipedlRqOzBFaVE7R1hkIT1oeFVVPXZUWTlVYT8hOWwr
VTVIbGcKek1WUmM2Y3cqXzR1WVhjYXlxO0c3R3tgdUFOQFQje1lFZVd9Nz83YHkmbHVQe3V0YXs4
YjJQOG4oMzcjbTMzUklNCnoqdEBOO2EtfkhkPXNjX3JuWklzWXZ0R0lBKW9ZenxHckg9NFhkO1Nf
a1hjJF5aUE59PlREfT4hWjdNfn5SaHJFaAp6YkkzSDRKaTJ9LUYkfT9YZV94ZSNLfSpqRVJaJDwz
ZDZgbF82SkNMTjtgYnNyJW1PXzheWDdPKylHfHV0LUVDR18KenRYbG4pQSpMZ0plJCRAJkAkZDxQ
a2QmaXdHdUpOOHJrJkFweF8zS0xUMUF9KW54MmE3Zno/NkZCWHtWSHNMVX5VCnprK2srJCV7eUd+
YTl5ZFcjP0FfUyUyPjxuQHtCUHFlbjhFe0w/T25mM3ZUU0FQMkhyeEY1ZjxMd1l9dkt6bWNsQwp6
XnJLIVdaU3leJlRKYnhIKjJmN09PdCt6RDRWfHhRUGMmdjlNOytsZVVndllxN1U8TSYxPDdfMEhn
RW8jSWtpYloKejVFQnBeM0QmKD5KcWBge3IkeGh6biFASG9aaSMqY2JIbW9VSUE2QyVlb2dZMlJz
UCYrVXRMK3FET0opSlE8WjYqCnpudlNiVVBDMiNjZlVxSU4wJF50eWQ3fEhOa15VTVhFX3JUJnNT
MiQrQXRRPSYlTEVOI1hSWSE/Wl4mcDZWMDd4QQp6OWtyal4+PEU9O0pCPk5XYlRyPC0tPXNrVnte
PylgOVFDNTk7RypaLV5uO1V7PW85RGlrZjVSaWB2P30hajNfTHgKelB4U256cmNUQ3ppQXZmKU1g
O3BJTnRLUGMxOVRLPkY1KXBOZlZ9UFVjeUhhUFpTdHIwXjAtaiEqR2d4LTRicDY2Cnp0eDxONjVQ
dDM8TTx8anRMKzhSRSghPFVJPlExVD1rcWFqZXtWZGJGYDJwNmhgT1A2OCQ4JmlFb3txcnIqa3gj
Wgp6N2BWb0FsPyZRNSg8T2okOXdaM2xHJj98d2g7e0I7RjJ4JXNOKj9VZkl0RU0wS1cqMTVNTUwr
QEI1fFdXNktwVF4Kek1iT1dyVzZBbSNJSitsKjdBJEVDZ2Q+VXhJS1pmNC12Sz54SExBO1FeI2E/
O0lhU0lmKGZsKS1iVDUyMURtPmpPCnpoUyhmNzVadnF0OUUwOHt1Ui1wODdybWYpeX1OS00leXpC
d1RqT0JJd30jLXduMyl2akFjdkxxd2ZhdlRuc1lwMwp6XjljOEVST3RuU0M4IzYwSlkjaj92PGJ6
WXFsSW1lZnghXl84U3xuOGl2bmp0dGB5PEJ6a1lmeHhebk5RJkB3eHwKeiZRI2h1JUJSSnwpOztI
bT54aEQoTkJPYUhPdXdJTXlgcmYjMmRYXnl0JU14PCk1OFVAc2NvI157YmgreEA2bEw0CnpIQjtO
SzEodGJzTSspQUE8fXVTR3V2bVJmM28kO1lJWSpEZC1VUikwYVBAeGs1a35+YEM3Z003UE9Tcikk
TmdMVgp6OU9PakcqJENoS09ec0o1ZH54PWBUVlhDUjxCbk1MbXRVWlYqPFpEQ2B6Pj5XUzQ/NVRJ
cHNjVDRKe15eWiFObmkKelBUdHFZe3JVczR3PjJENHhpVUJFWD1HNWRDTjh4ZTlGUkIhLXZjbDhv
XyVLMmNTZWxIM2BRZVdkYEN8U0toPzVHCnpZb340MFlyVUU2MUMyK3QrOz42Vj9XOzxZc24qNDBv
eUZEQ1MtaDU8T1hidGdmN3QqbmNnTD13KmIoRkhKb2FAagp6TjdFJVdCOUMjODVhblJfJVhQSSZI
NCYyeUF2VTVqPjJeNGVFbFZLb3ZRRXlyNHF0ViYmVGh6QkVDMSVHbV9OI3AKemJwTFZrSFpwZ1de
JXFGPlR9eCU9VER8N1REWShYJUg9X0tFJHUjTWA7QyVWNyo7QkpAQUEjVT00RUVXbSh6bUZlCno/
UEdpUTF9ZktEZFE3V2ZDUn1wOFh1WUdgYmZHd1YjRktOJm54dWUhQnJjaGF6MUFxKWR4NVlYd1U8
fGdPcj5EPQp6ZWN5dlJeTUFaRSYpMF80eDNxRXc2PUVqZil6VWpJYShoaSp3TVckTnVaZDxMI3RS
QFp5O2otU0g9fVlBRlpmZ28KekohUH1FP0Z0fHhgUCsrUTRrNjAxMUo2NHMhcGVeV1NsMkJrcGpp
e0oya3pAUkhrcF9WNWc7Qmo8NGs1eEpWPU8xCnomUEkle0J+M1J+KmpuUzk0RG5CJUVmTGVRdXlT
LTNaPWZXbVpTWkRKUFZSOUpQWTcxZj9qQkQ9RD11aFJUI3s0SQp6KUFsfmhIWEFqU2pASChfPEhE
RH1XTWpfel8qezRWWTxlfV9UJGAtQGQxWGB8QHdrQHgxQTctPT9fUHJFPihwOSgKekBAemFrVlo4
NkhxfT5JNHBXO2k+Yis1dyEjJnllVlJIKGVVVHxEc34qRF84amRta3BAQGFqeUZFPkdMV3V0d1Ih
CnpwQEJXNFZmYioleTFQWl9MZiQyUjxLSz08d3g/WlZDKnR2cD11XnFjMUspMjc7bkNTXihKITtO
VSphNUUyKGU9aQp6S0NsPD8tUHhDTUtibm4kSEBOMyQmdSgjdnZET2ozdWZ5WjRGX1dpfnN6Wj0h
cWI0djghZCF4ZFFYSnVIdDFxOHkKem5JKEcyO1NqR1NzP2lRaEZKUUYzMVlRV1M5ZFMzT1hYTXlA
eWE0OXRHPkh8bFhvMU5qbDtCKm5GaSNCK3dlT1NWCnp6d2xtJlJIa1VDM3hMbz8mKnZVZCsoLSpy
UHM8SDklRF5oSnRDYmdJUV5lJWFHaDF3b2Q4KV9QUj0qSEpPeF4/Ywp6cGI8PmNIPTB9JDtvN0w0
UUYpdzgzYVpEZ3NTTXhvYmdGc1BFP3EkeTBqcWxlJVZzK35sJkRKNjRyWE9VSU1OfnsKeit2Vmp1
OyUme3FERD00XyNpWnBDc0kreDkrSSt6SjBzTE17UnBhPUchdDZrWWcoU09jIWRSI3hwN1A8UjMl
RlF4CnppUitCbng0a2U8cDk9NVE2R05Tcys1YClnejV+bTVsM3gmYzZ5dHxGbVghc2ozcSNJSHps
Zipzb1l3YnU1REloRwp6aTs4MEF6WiFYPTZfKjN3UkxxS0RpMUJsX1NgO1dmaEZJQnRBRShsZXl+
Xi09Xi1NVkdGfFBzbTNmdTlaZjNCaVYKej48Z3xuTHhSJEJraHdMKUBPcShYLVZnQ2RCZjBfJiVt
cSpRODxeKnhXTExqVEQ7I15YPUlKfXdEdkRGQHZVNk9WCnotKndjP287cjQ2ZWRPdSs9c25oJnco
Zm13bEw3a2NabmNjPE9gVWJWe2A2UlJfPVJmUVdhMHE2cVlwODMqRENBVwp6Pn5mRWQ/cV5HM3g4
Qkl6NUN4U2oqZHB4Q2JYa2FGVVZNcn5tSXp6MXY9MFFXZmpIcUZrV2AjMEpJX2dzS1d4bUMKekxA
PkZlP1NtMWU1QkZsaUA4TXwxUDxtKUV1T3lVZGBVJVlodnxGZTBJUDlebHcqVkYjKilUPUNyR184
aEh3b2RaCnpVRSo0IVI3VTlBYWJqUDw7dnVVQHR+SkZxPHptQHQ/LTVCQTdzTUgoMnhSa2dMZFhC
KlNrXyE8RXpXej9wI15pNgp6RCp5eVUmWjVEczt3NlkkVThfKTNGKyhpd21UNUwkdmZKbTZKZnBO
PXQ0cChKWGxuTjdYK29OYy1WRjUrPnZ6fUgKenh0MzttS19TQkJ6Rk0qUkl6LVJ3dU53VDlgfHtN
M3pTY3pHZEFwMX4qZ3UjMzAjI0dwSG50R2cjMmllK3dNNV5HCnpLWUxMPlVCLWg3I2IyZE9VJGF+
NnpLRW03WUFZZ2A7QnowQ0MlXjFtU1lablM3bGoyJGVoaj9JM3hoN3g3TmZ8cQp6YmttUDlJWWFh
VitfUEVGPTFRSD1ORSF4TEdjQWRhPTJ+RXtXXjJoX1hhLSkoSXVqU0FIa1I2RDxvK0RmLSpJdXcK
ei1gcVl8YEQ4OHZ0Kz8zdCQ7S2pVOHg/eCRMcDtlZz12P145VERhPCpfLXBQSW1QS1M9eU09YGtW
M3pzVj8+fCY8CnotdEVeRE5PUDQ5P29YeT5XMnFhPzw0fTQ0dkJFM1Z6ZGlCKCpvTntXXlAlWjw4
eG0xWkpDfXVheCRrKzVrMUJvYQp6LWVFa0YqZjU9NFBuM1hnb3x3NFpTbEx+UHpnfHVDbj4ldXZ0
MX19VWF5V348R2FtRE4xc3szb2traGl4TW9eZnUKejlkJnVRX2VsKTdIIWt0NFRhaTtZcD8rRUUj
YXhDY2V6NjdoRWwjSTZCPkVnJWZ3QjspRTE/eU0+UG01bWlMV218CnoyeTtWRjVpfX5PbG42VjZP
XkszOFJxTlEhYGluIyMmVz9SSENGTlM/d3dsJno8elMtKnNvKz1tXnBfMnI2TDFFfgp6Kk0+PEhY
Z3hee0hrYE5KbFoocmE3OHs+NTFANDYzRTJxWD8kKkpxPmx8K2FEbGk4dzA8SW1La1U3PEJZVkQo
ezcKem4jUlRCP19pO3lIbnV2PFdWPnVWOGR7YEwzTlVxT0Y9dE9wPWYjKGpZd35NfG1zeGhSU2Nn
cE04fUNkcGFPM3MtCnp1U15TaCkwblg9eUJANT1HIUJAPm1jdzxabUwwaWZVaipHTE5OMTQzU189
JXM1XzBCeXRkR09KYm87T302N3stPQp6NElgK189Kj15ZHJqSjNQWHI1KVlzP3praz84ZmEpTlJv
V3IjaExzRGNHTGx5czJYcTdUeTFAJlFkdDhSWTJPR2oKelpvU2pqaUJiKX5RUVFEdSVWSXNtJWUj
ZVg8O0dwRil7YEgqbDh+S0tYPiRramJxX1kxUngtRz4kVFBaTUZxSmZDCno+eFc9Y3pMRHd6TkF9
fWJwbyh5LXhsbThNMFJHWF9TPFFrZVNwbHIxP0liWjxgTElvLWR9RUF4ZFVle2BETHArWQp6dFYm
RDVDOzJBaS1tdVU0JklTZH1fVnYxOV53OGpoZXBBTTV4JSE3V29AYXctPWEyejZpeU0qJCpTfEMr
ZXx3bE4KenE/PXYpUVJ6NSRePHVwb2BiJEd6PjViQ3pzYkBNfmQ8SGp2JjdZY1AqV0U+X3M7Z2xH
YVd9MHVJX35TMVNUWmo0CnpSPWJieDtVUk4oUVNwKzlOaiY2fkZLSXVmYmg9MCkmZHpZdHU1QVRe
ckpidmlhN3AmZSVVUGZMRj5aZTZvN0d4cwp6NWZUZkBTfXVZb2peQnQ2RVpORXdiWmNFbEVNYGs4
YztIUCpvQ2R3ZEp6d2RCPCp+PmpNKUp8JlZVNzI0bztXU04KemJSSnNmd3V6Z3szejQ/ZnprYHwx
TjZVQWgmT1JzWnQ3NDF+YlhaOzAhUmktUVAjcX1fJT5eOV5QbUdAdEN5ekNuCnpYTH5xe0VQTFUw
d2Y9MG9le15tZykka0ZqMj1oYE54UTh2VFI/QSpSSFFvdWFTdy0yfkooZ0FOTjY+JCNaJUVXfgp6
UG9jSVdsc1JYWSgkNGlyeTQ+QVlrcSFCLTh2aFZzRm5KczglKGBXSjRZQllEYXdANmJBN1dubFU2
JWpaazIoVWcKejglYD44R1pXTHN7TWEqT19EcVFHP3F0bXJRUWIhUTtTMVh9Tk1RY085Pz9WezEt
RihPJGZnKSV4RVE/Xm9OTmtoCnpLQURUVEduRUkkY3xyKVMzVWpfI21sayltVVohSjk9NCsxPkw9
YVUqR2wqYz9PMlBTXjZDKzgzU2NjTVQxWVo7Wgp6IVpuOF8hI3Y+cEs/YGZzNzdUMXs2PEwmXnZy
KUM3IUhIZWZ2by1YckE7fm5Fb2dFPnB4aXp5SlJ8Mns9dkt4JUUKemhhRmJJPmlnekxtaU1EZXtj
YihvZGliOz1qdiZYJTI1MjhhWWJmcXBJOVAqZGR+djxhMGFiUDFgSUZPcUJBO35PCnp3SHRGUERt
ZHpibWRPdnhjbXdxM0ZXWWJVRDRmfFJVKV5nc15sVE1HSj5rSDJLWlE7MT8tKUV6eikzVipMNSZv
QQp6P0BeamlAb3FVTWFkY2syOG4zSEpuVjR4VXxGcVdEMz8oS2hTZGs+R1ktRDNzMT8tJER3UUdf
O1I8ZFg7VmNCaFIKek5DYDVXRW5VTUR2OTZfYVpDQUFjJDhpaVFGS2hIZnltblYtKW4+KH16M01m
M3phajYqam5YI2pYUj07PWBUJjF5Cnp3MCVAYnoyKSV5dnQ1PiE7WjVUcCo1WjZlTiVEO2xDPSs2
amJ8aXVEYWM3VEx4TiFEbztnWT9pNVExJEJ2ND5+Tgp6cjljbjdlaitlPFh7QHcrYjwoa305Y3Yq
OCR2VCtzbmJ+MjVWSEJpMkVDfGlnP2h7VXQ7VjA9SUpSZHFYNGl3b0wKel50RjM2LXJHNW47VkpD
V1ZPbWEtUk9FRFoydT8qS1AkUHg3KmROYkIhaV43OUZXNGFOYjZ9SERTdk1NJTtvSjdBCno8dEkr
STRwaEF8RTlUQndneCM5bTsxbmRSaD93dmg9Rz9JX3RCOzd1N0ZQQ1RnMU8rWENSU2U7alMoJUlY
aip6RAp6Vz4zNmoqRiNxQXt0V1ojUDk2U2ZNP3J3aWNkeillLVdmTk50Mnh7OV9IJD9HO1A+M3s8
XjFIKkhtXmU/VTViJHUKekB0aF93KFl4VyptYjM3fWNUckJkRVRwdGVIdEote3d6YChtMCEpYFJS
RSp7Znh8KF5Zb1QzeGBeJnZ3OygmPlJfCnpUJnVoJVRkcGBScyV5QGNAY29eeFlXY0Fqdm82WVc3
QFFvM0FHTksqelk0eTBOb1gobUpNQ2BPXklwKCQoZmhlUAp6NGZ0RXZIKX1kZDFHKkM0bSVAfiRP
eF9VKyFffUFBZihfWGBzR0BKOWBhPHpeVCV0Rk91OXx5V1JNZTBXM15ab0AKejktQ2ZKNGYqcz9p
SXtsenM3a1EoTjtFdXN7OFArMXh+JHVHP0gmWiN5e1UjfW1nQ0R0WWQpbkZqTVg+VVMhKmdeCnpP
KEdpb0FmbXUkTFE8SjZJXmUrcGk4akRyJntLNEhfIVcwPz1rdTI+VWJhdnROTHckczAjPTJgSj1i
RUNET2MwbAp6aDlyZzdRJGRhZDU3ayROYyFfa3AxY0BFMU43MHlXSHM7b1hhdFo4JnQ7aTtOTHlA
WlRRZUZOOXMhV0lkMH0rP2IKeiYkZSNBS3YhTHxfUEktaSg7OHBFY0FuMVplITt7dEZyN19WO2A+
cU4yZCY+bXRRXngxZjN3OSNuIyRnSyhKK1klCnpZKVl+JkdmYGpKTXg9YHpScXRDaFdVNXxNIype
OFIlT1dPd1ZgPSpIUk9gPj1gI0xya1BAKDReMHJNZjJsdGE9Jgp6TFVPLW5oKjVtM147PmN3WFF5
PkxaYXxJVCltVHlGYVM8O3RHeURCYE1RQjdEYUhiMXRhfVorJTdLSGJBJH5LZ2QKejh6R0xVSDRs
azVJQ25HRDtlPi1DQS00NS1obEY+bSg3P3NiZylDM3lZPjV8N3VgQGJ8MnxoKjdDb3hObExNRG5R
CnpnXyEqWVhwcTRhclgjTEExK14/NG47JSFQOHlqTSRjTj5UIT8kLUxASihXViQ5V2preUVOMFQ5
cEB9ZVh1Vk5RJQp6VmROZ3lzT1FyblpPbjNRYExVNHRiOUxRUCgrb0c1Iz5vMXJEQioqRF9NUDlz
Z2lDeW80OCEoS2xmNHttNE9GTz0KekRyeCkyUzMhPTgleSN8RV5HbHVXOUR7elBRfGdvfG5zdTkl
c0NON1Nhek9lakd2O0pWLXsjTylNbXspfnFvRHt0CnpBT3J5eXdhbW9SNDZJeWBhMUwrdWRFSTAj
O3l4akFnQSQkKVQ7UjE0XitgcD1MbjZmIWY/QXcjJG1vckl7QH15QQp6IzNmQ1cpWVB0UVY3a3pe
ODlwKzZCbF9ncGhAQWlNc2dVOzI7QWlXVTd1OXEtNUZtY1F3KmpCPEFQPT8paj5XQFkKekZ8T3BX
bCpoQnZndlFOb2p6TT02WURDI2lHQnZCPUN0KEZDbXg1ek5sY1pST2QmVSp5bj92RkMmKjM5KGQl
QFpwCnpXTjlnbnEkI1ZVMyp3YjJ1JXE3I0ozbmZNTW4kbHQqZ2U+e15sWnFgaWRoSX1jKmBlVz0q
aEdlb3FtTXNKbGAtPwp6a0tMRCFQMFgxQDRYcXkrNnBnajQ+YV97NipAPEJIYVd+ZG9PY3I+UmVP
U3R7NVZibU0pSExwZkNucVBiYD5RPlAKekx5fWlFP2VrUj8qSXhCcW53MGBTeUk3WngwXypFbGpM
M2tLRTg0ME1tRWlkYTxrc2YrWVghTWFSRVRqNFZPLTRKCnojPjVqeCZlS09wOztJfSVUVkVPKSpw
TmFGK01CZ1I/PkI0USVjVzE9Sno9bEVsWTI9Z3M1Jmk4X3khfXUpSXpodAp6V2c/dkkpdEZZMSlG
JjtpVyl3NGErQ250PDB5OHFDcE5wWE1yOTt2P1pTRWp+T3NBaTRFPSMzJVpea2I0NiZiWGQKejdZ
anFAbDApRj90aSZpJHtHZyg1JTdHVCtgKE8oSjNyVStZaG1JWUhYSmUyS2tJIUtBaU1vNFFBIyEp
NnBEczd9CnokQyQmSFFMNyN6IzAwJm0mfnh2dF93fjdlZXhRJXlUa0xHN1o4SnVUPHtZUUx2aSlF
QHgwK19vKm1zT2dzPnF5OAp6Z30tPU9lTlVwZlR1aWkwNWMzMno2OHk9JkQqYWRtbkh0dWgtYUl0
fngwWFByOz11NGxTMitZUDFFZm1WPU04dW0KejsqYEJKTHs8S0JuPjhRWVRKNGluJEUmZzBmOSs4
RHRffU5AP0t8fjAxI2ZlfTwyZjI5K0BvWm5oZ3dvdkYtbnVLCnorO1FJU1AxaWtEelQmN293cGBN
S2N1aGxKOH1JYXBebFJkYkVOeUJNQU9LSWhFfEFrIVFTZ0x6TE9+VF40fHR3MAp6PlReazM2c1ln
cDx0JXJ1bWNGWkhuU1RsJkAjNjRLbnxZWGo4V297WnUtc3N4WV42eF9EdCg3IyUoQWV3d05UVmEK
emxVZTtUSHNDUVRFIT04JXk9REhyZG5aQGQ8bXNzUF4yTFIxNiRlUVQyTUxkeSl+V34xUHdALUUt
MDU1OCRGamAoCnorK25sQSFJckU4Vzs0P1koWnNnWUMpUTZyN1ZDeDZoVUdpOVYzfUQtRnRBbSZo
Zy1iPz5AZjc5aEhxNEdCWHJeOAp6Y04+VVpWKWpSS2REdGpmTyY9X0k1T08hOD9LU3ZyQzBecSgj
YUdxNE5GNkRIOzB0SjU3KmxHR25VUV58eyZhYnMKejEoJC1RPmZEMS10S0JrVk4xWC1RanEpPUJi
ZEchNHQ2SCNMdFJRO0c0eXRoIW0+KGZDe0gwbEshRkpCZio5WEM1CnpZe0NzTnFCfWMqN2JXZllj
VksqK3V2dnQ9NF9wWkghO3poUlBQMmhQQn1tTGh1JVdDWkh8d1RiKVYkPEQpejR+NAp6Rm8+TkxN
UDRAekE0RVhgZTdZdWR1bkhSMXBkZ0pfU2NPU0lkeStrUUgrUU5QJnhJfkclZGx8SW49OUJVX2xL
UlYKemhzQVk4XlMpem1zLXw4JkwwUVZkak9AczduPFYwMlplLVNxUFBFaCh6YzNVNk5ZS0N4amZu
I0F5VTZYVl4hZWA7CnpjXj09Y141dDRMaDZFMyE4bWckJTdJNntfSUxDOXEkTW9+IUhzKHE8Q3wm
WF9sQyNRMik1cVI1UlNfbz15dkgwJgp6Y0R8Zz5DcDVqZWElTG1FezZufTx3ZzBkdGRXWiNAazZq
YWFFP2JFRlNVSXFoeVI3N2xzdWQ8JDFNaWtfNSYoNm4KenBBJElWJV9tekY2dEA8O0ZWen10ZCp5
RGJJU3EkcSE2YihCPzJgRDROXnt9IzZLJGA4Ml99YCpMK1QzTCNnemRtCnpZZDVAYiptcXUrVG5B
fiFlNEhjNypwM1pzbzd4RDU2SjdUWnlySjlLe2heUFl1Rl9hNklMR3g+QF9BZHkmcWAlaQp6S2BY
cD5PNF53PkpCU0xyOHMkPjNqKHd1SzVXYVptbm9SMXBhJSNBSkxxJCZWIVN0aXdfS2JOPHIjeGJ0
WTBrUyYKeiN7fnxDLVdTMlJCQUNWO2V9VHEwekdBSD5UKFVNQ1Jse0UhWj1ZJW5HX2ZhXylFWl5a
X1FoKDwoVD5eQm9iNFJFCnpnd3l8YyEmaVVweEh0SUpzSSV+MGRETT41I0FtPktCUH1AUS1RO19t
SjdXYkdHaHNCSWI7MmNCb0BxWVI4SlhCcAp6dz9rWDNPS0RJQF9OO1M3Y2RpPWlAJHYqQkwjXlI3
YURKPVBBNmZ5dDREUk1pRHxRR21QZDg/Qnl3VlZnWD4xSnAKellIIyp2Yyl0TkkqJS0jM2lsZzR2
PCV6TX48TWEqZzhqeks7RiQ9cG5gbjR1K2QrcFlZWVliOXQkVnYmO2ZVSkExCnp2NHFQIztUJnZF
b3QhbFMmJiR0eGYpQnVKa0J0cWBgSiFOUVNkRDkkcTJyVDwkM35BQSViSDxYN0BRUExXNjBeJQp6
XismXmZWWiN8Mz9kZGJxOGcxJEdRJWlDeG59TmhlclhqbSpBREUjVCNTST5NdEBMTm1HS3lNaiEp
Vzw5QlpmdWIKenZ3PnlgUl9uX1FmQE5XMjRtQSYoUF9zPzw7flFWekxwSWhna0EqN0twakV1VCZ5
VER9JUQ3S2hHVElGKD58ZFhxCnprYkYlamt1NH0oZ1pHPEM2RX53cnA1eX16VnsrdG47U2t+XzBY
Rj8pTSNfVENnZkNeTCZnfSk4UlN4SWQoMXJrPgp6Pm9xI0VtZ1FUM3FFNzM+NVB9K1podl9oNSV3
d0drKzFUQ2F0WSF1ZDdxIVhfPj55WnxFczlZcjx1a0dxeHM2eUgKemtWfTR4M1FZalNMI2Qmc2Bx
b2ZDeFUrKyN3LUBORz04fVZLRHBRKztaKHcmR2FzPUF9TDw1fDkxJCZRMkRyZ3g4CnpvfVlJT3ll
QmtQWikqdDJsMigoJlk0bD0zRWxrWShVI3JhMjttISZLY2x9PXs8SUh0QT5hcXB1Uz5Je1k/YSQ+
Uwp6WmNxMHQ4Z1ZGQXUralNuSEotVFA3SzlxMCN4QnhuUHNKdD16MzBAbzFSQmdhczA2IWMxam5w
MUlGQjJ7P01uNk0KeiVJfjNWSipobClwZnFFVURPKnFRM0ZidFlpXiUoeWV6fUomRDxPWU91Mm1U
I1NaQGJ6O0UpcGglNjkhLStneXVlCnpxazlRekY+clFeJV8kWjktSTNpY1NBUEleJmxqVkhgZUpC
I1cmNT9VaSVaPC1eayE1eG55RTMmNjxINn1jdiRhWgp6dFdUTXQ9NEVAISp6KEt2US1vN1JGWkkm
MlRvfjw3QyM0fn51Um94RVkhLTFCKzlaSmc+RVE4WnQ2Xj01VEMhMXMKeihYYTNyQSN1I3Y5SHxg
fWFaVntuK3chJWt3ZVE2REdQaWtMa0F6Kj8hQWFYNXNrS2JBQmlUZSNEeF5BMEBYR2NgCno5cVJg
SXwzJG4tM1ZFdS1FSil0ZWtuUjEmRG1QWHIzbnJPaHVxfnxBcSFVcHN4Pys4eUNWKmBXeXh4JVM2
KCs5VQp6QE5EfXMoVys2NTZlVTQyQ0xMeDN4aVh4UlEqWC1TSiR0VVJOZVZfRz48MDw9NmZ6IUQ5
cj1vKk9lK1k7Yjx4fWQKelp2OzJvMVgjV1RBIVJPVSg8P15rR2YySX49QmJnKXp5KE9uNzl6UDVA
VylvJTkmU31PNn1AfX1YYEdyWGwha2xZCnppfkU8QCM8Iz1GUkBsVXs7U2xTVm97YytqKXZ3aUkk
Kn1tOzYwQStieWd3Z2hsWlFzeEo8S0NjczM1VGxAdHM/Uwp6TG54dFkydDR+VkxKMT5yXmxgY3Ru
RntUJkhle1E9WTtETmViUEdgYVlwaV98aGhkRXlibWdeZmx7amM5UEtDezMKenVCWFZIZTJRcXtY
O1c8Knhubih0KXF1WlQtYj95aVo5QyVLQWpJYT1HSkJPR0dFNUcjO2Z+NlJoayp5fF5rfnplCnoj
WnRfVmA/OEAqc1c/R3MxMkdIbmIrNXg5KnRQKklmLXRCdSNEV1FqX1NaRzhFRVBTb3QwS0xuWG8t
Z3czbCVfRgp6Tk9MZmY8JVp7aFpeWDIxTiZRJS1CQFhSXlljOGM8dndfVV5sYk9GcCk3Vkh+TiVa
NEZBOzRQY2o9U0U3SztFbm0KemtLNEJBU2QpVSEoP2gyV0wjeTNMOX40MGs+K1VyK1NVaVU7RTg1
WkBVVj9ke3pVPDY1NlI4PHh0eHJtaFhpJVA/CnpxWXVPfHZ6eFl+dUc9MmI2QVUoemM1VGZYblBB
VGhnNHNDfk0pfDZaXkJDPFRiK0FFM2RWLUk0KH1Jazw4X2I9Zgp6Pko+T3h5Xl4kfVNqWm08UC19
JTE3fEFuQnVjYTAwaEVMIzhUal9UbFhvSl48NSpvQVE7YUZkQUQ/QkFCUFVGS2MKej9mMG9SK2oh
NGdeM0V9fV5eZkZrKl5hYjVvMiFORlIrNCtEbjhoe1hBJFAkK3VYYEtoQylXeXZ4cSpTJDlQa2Rn
CnolVzRmVkJOdDtXdFk8XygyOEpJKUFyZT4lb1p0JkBWMGIzPXVnO1lSKl8zM256PEluMmJoQzw0
dCtYOVNGbD5NUwp6R29BKz9vfihUWWNeKlMhWER4e0wmVjVleWw4VElLPWVEaDlqIUAoKkVETGNM
SDNHKmMjdS1hM0N9OHI9JT97TVYKemFXUDYyIURGZF9ERDlIXj1QTkswdypXbD17Y0JeQjRnPGI/
MU47OGdpbmlhb2l3cHNmK2hiPFkjRTMwTjx0amdPCnp3bmReSHN6NHVCKCEqYExAV3p9ZXJeYTgy
bSV4aTJ0aFpqPVBCeXQ/SkEkZ3l3QjRDJkZJTnJyViYzKEdUZGxXRgp6PEJlU208SXxzOHZsfk1Z
aEZobDJpQGI/a2krWU1pUT5LUVo1MU18SE5kTX5DMFI2cHYrKzB9KmxtKyR7OGBuMVcKekEqcU5N
ZXB1VEwzckZvczV7KEBOQ0E3MHsmM2U/NiNtdHYlWndITG5RfXRSVEcpVVR4NUV0fHM8Y215KVFC
T2JHCnpQQm59YWVCSnppZE59V31ybmFEOD4jPGhealJuQypQWE1KdjBSQGdDRWlAcXtBKSFmIUFS
UUQ/PDUyYDhHJH0jcAp6UWJIaD03SjUtMkQ3X3xoZ2E4UmVrU2Z5cj8pSk9TeT9eWVR2aHpJMnRV
WHo0JjJRY3I8SnAtTXNxRlZ4V1paaXIKenQ1bzBNckFaUnIhbihtOGBxfmJ5czlYUXAxM3N0TV5k
Mnp2R3E1RmNGakw0RXJRbDBEOT17VnxKM31FJWdmcnZCCnpTJWhkUTdhRmFZZzJAQFBmeF5ncWI5
KkIqblYqT2RiQTEwQzgrOSgqNXtgVnRtY1NOOStjWFE0UmI3TnVHWUhaUAp6aCZaeWhwQUIwa3Q+
al47Kj98PHlRZUBSRjBQNCNCPVAmOzllfihWRSRiWnMjT1hzUlhPJXoyeG1ZUWw/U3BkSX0KentQ
QDtKejZjXjdkPisoQGt0fXBOYl9pKlFPMjw7PDBzflc/RVJ0XklvWmglSFQtO19qdlNfMGBoWWdT
c2RfN0R1CnpIOTckWWJOWGZPIztLbXcwc3BZNEcmNE84THVMeUxpJmU7YSQtIXBiRCVySWtBITJj
JT1YISY8MzZmYllNYFFxdgp6QnNFV2dERWE5Yj5zM0EqSkdjdXw1Rjk0bz9meiojNHFJTGMlIzlp
TFVzNF5YbD1QY09BbHhXQ0FDPjlrQDVUfFgKendVWE9pTkBoWGg4QCFzfUl7dCY0RUhWUjU7WExS
LSMkeSY2cmBZWFNRKXR7Zzd3UlpaQEt1RyhjP1h0dTkjNCNoCnpMVF9VN1Z2ISlxX1okclcrPVJh
Tkp8Nnl1RzRIPGlJciN0TG1BTypxJmYrNmRMN31pRHV0RylEQWpvdCk/SSU4YQp6NiV+blJpTzAx
MWU7RnJOX2NfS0YpRyR7bytJXzd9Yk89SnVAaX5oNCt9P2cyJXJjcEdkPyE2Rit3SXNQU1RSeUIK
emlITFVWWjNpYCY4eGV3d1Y9ZDw3dG4/dmM0R3N6T0s4UzMwRipYc35zdEBrZng3ODEwTnlaMiN7
JXtTTUdkVGheCnp3YUdoVyEmM1Z5ez5lIURtSTg2aThsMF4oPEIkKkI4XyZHP1liQiFrP2A3V2g4
NmVIYlg3NSZ3QihYUjg4I2Rsagp6Z3ImfnsqRmx5cUZFNDA1IUI1S19tQF8jezRsZyk+Pj9TfF9X
VEpmd3MhPXRtK0A0WWhLVDdJKElPJV9Fa2gqfEsKejI1KF5ebDR8RHI8LUx3MnZ0JnxWbDI+NVB0
IXAhKDB9ZmZ7O0x3Nk5ATThqKT13QClqKl5xb1I1XyElSCspdFNBCnpBdnpAYVIrI3FVcWZARys8
am8oVGdlX0M8MnZmVHs/ekM/KnBhYXBKdkNnam1CX2kkXyVSQzxEJnwqSEZSTndvPQp6TXBZYmxB
TkdEdW9VQ1lNK0lBYXE4JT4kPUpKfCE3NF5IJStVTnU0cFc5Z21rLVpJR1pwM0RgQ0FNKi1oOEIx
cW4KekRYNTdEJHAhYUAoPTI7YWdPe0N9eW1fT1dWdlE9e21qfFByRGYmPXoqUTBaJEZKXi1ubVdN
SlBuQ0p3bClNUFZuCno7dzlKcG9FY3hgezdnR0EzUCFmPkE5d3tMQFh4ZXh3UykwPWFZQlIkR2VE
ZUNeMk1RVkpfekJPQGBZP1AmYiUqUAp6eitVKUhqNCslY0N+fnd4Tjl9WWJ0LStOYXVGR3BIR2oq
KVkwWCN0TW1rZUNvPHNXajNndSptQVJ3NzcraXEpR1oKej5He1ZhRT1qTnkoTTlPdUY1OWFnZDJZ
N3d6Tn5QR0I8IWEoXlAyIXMwNHByPFdpS2JrMVlHcCZkVVlWbG9Wc31NCnopO0FORk5nOHttezh6
IS1FOXtsdUZfUVJUckdAMkRGKGhfWEBzRSRPUCNtWSE1WVVDYkVGIXxWdUhfVWRQeV54PAp6TG9m
bnI5Zk5JaU8lOHJrM3tydF40Qi1NVUo/VjtYYzRBNmI4O1BGdDxwR3Y7PXxYS3x1c2VwUVR7R2Qw
bDwrJn0KelZUSHhXMkx7T1Z1PGZZWj5kO0RsWEdGZEA+RXxZT1FtWGN6ekQ9JHxMezU2fCY4NXd9
V04+RChvKWJCK15teUVwCno3V30md2dkc3NOejdwJjMhQjRNT0UqWSNPVlhvTmtqRn45LUQ5YEtw
V1dBPDd5UWFSTip8R2t+en5Zcl9fVEs5fQp6QHEjMit0NUFRTk0xYmo2UWglJHpROXk3cXJaXnJ9
N0xRX1RvbDk8MChfU2h5aHExNHowP1g+ZFBNNkNrajM5SHkKeio+cUZHKUh1Uk0tZU4paVhSNVZP
fEY8JUhBU004MG4pYE9UMFdXaW08dk5UUCo4eV87RSUrQyl1aEc0MktXJldmCnpvWGRfT0Q9IyZk
cnVEc08mMGJ5T3IxR0IrdzYhVXEpSXQ5T1FpNlh4cllpez5nUWxwVmpiOGNsUkVZYHd5UyVVfgp6
UV5YVnN4aW1aQGFYUEI5ZyhtJiE3byoqO15NLWp9aU5AT1gkcFdxO1E2bFQwSD1fUnlVSGchJiE3
Sj07JFphbW8KendneHY3P35SJFVuZm9YPVg5eX1RPigzaihaXmApQik+aSYxbnFhcHJyITgzU0Fv
UT5PcTktcnprck45ODcrSX5xCnpEZFUoLXI4SUIqOFFmZjNpeSlra3QqV08yV3lwZShsfnR4dTNx
Y296V1FLMHp0fmNHMlE0e2lnQmhQfW0+Ql9zTwp6PW1RflBIe0w2RiZxU2BuR2x8My1qRGleRCNl
fEFlUERuV0QlMzt0RHB2bmpEPyQ9aUVaQC1ZKTdVNXJnMTBFYGAKelh4UCo0aGR+KFpidU82KWRw
JTlae0AjJm0zbCh4biU1UV99aW5HJlkqe2VmZ1pqS3gzJDVvIWtCelpGUmxITzA0CnpvJEFmUmM4
NDlgOWw2KVY3VD9mbDZaOzBYJm54WjVMeFFfdzFoNkcxdWRzPXJUQVc7bDUwVX1qdFBgREp3JH1F
KAp6OFFDIyFfJiFgRlJgI29hUlcxcnl0M2lQQEppN1k1VWtGIz8maDcpUTNWMnk3Vk9EeDZgV31t
QHg3X2xNTnxueDIKeiRsdH5gZGY+Tigmcnh1PmRadFU7QXpXeUo1NEBePndfYkNpdn5TYmNIN3Nm
ZUBzM0NGe2ohTXVERn4wVnI5MTl3CnozckFSSXpIX21IIVVaSWByT0h6JmJuJUFEXn45Sns3PTZt
bTxzY2V8LTs4S1ByKUZha0k7YTZEI0l2WXMxRW9Iewp6N3o7bW1NXyNofi1PanZaaW9QPz5rJGgt
UD9tLV93ZFZPLUVia1MwUlFvbytJYnQ5aXVjUFY4SENlQEAyRl9RYUUKekQmI3RFZWxxJXImYWxn
QWhxbWxkOEk9c1NYYz80KUVsek1RT3VgZjxwbTNMPTFBZk9wSSgqV3s0KG5TOGNBJXpgCno+VChW
eCtaT1BWcEZHNzBabm5AXkFrcTxNUCNkUD9We2crUyFxPDR8Mj1ARlZfSyFaQVU7THhPWjVoUT1h
LU87Rwp6aiFXa3l0cktOKD87Ylk+VXdIQVQhI3A+Plg0bSt9eEFBbV47dWZARFRVMzlFelF3PjxS
MTxHMjc5NTtXQ0xHIykKej8+a2hmbFlGeE0+eH4zSDxHJjx0YGlBPHEzOEZfVnBlel9DVkh8eHZz
NDYjXkBnKytxVzlzdXRNeUd+WXh0KyRNCnotXlBPUlcqQzdtVk5SSF5xYWQ+QiUpckVgZXI5Y2VY
NnxvUFNhemJuKEIpVHt6TD0zPSh3bWMwXyhBOzBhUSlTRwp6ckooK1Y2M3c4TmlsPDxSbVYhcyVv
YmhkdkRDRElfWk5afEtqU3tQUj43fkUjKGJYVG1Ac2BoI3srdkpUIThWVVkKekc8OytyQyF8Qmwq
ZlI1TyVKUkNFT31NREMyMEs5KyVJT2xvZTllJCZaWmw1dm1sb2hGU0VNS05oaH1+SXc4bFRfCnpn
MXowSFRgNkdLbEA4b1M8Sk5hJnZuUE1CVC0rN15KcE1zVTQ1bEtVYjNec1dWUE84K2MwT15kJnU8
T2lGV2NjRwp6YWtyaD8xRHFJR21BJXViaFpWaFNtIXdaXztGMTxBaSFAd1Y+MTwzcWg3eGw5U0ZX
bnhCRlppanZePj01XkBGPmkKemt0NU4xPHdrYmoxM2tNck90KTVWJkt2T0g4e3U4NGg+fWVAWTJF
OVhjUk5aeFdGa2FgN1UpcjhUcG1JS1JlTzJaCnp6VCtqPSU8QihqX01uZlBXPVVraEFTVCF7SWk9
eVU4KVh5Jms3Zm0xKXE0Z3tfTzcwSUZLLT49THNLV2BDZV5WQQp6cHlmPD4oI1leVGQrUWR+Xnpq
aTliSXU/ekh1bmVjaSZBQTFEOzZiUkBaMHhGP3hkP2lPNGlhZyF8blVKcn1NJX0KekIqSD1jQ2Ew
Q3FXLU1FVnF2fW97ZTM+cGpOdS1DWGlmYSZUZDlkTWxhUEE2ZlZhcXNwODA5akY9QVpJeXNtTHlG
CnpHZHFTbzl9QnYyNWpGSXYxOCRqbCFkQVpFaDt0OylMJTl1NmhrZipSZ0dQM0NsV1dnPG8lJlFT
Q0BERCFPUiVTJAp6STBORXhPTmdNIyNtQjNjYGYpNGY0XjEjMXdOVTVQa3t1V3lTcDJUYVVuKkJG
TXdkeXkoPl5TU3V8WnROKkR5MmgKekU8THhNWng0RV5DQGxQekJKcmQmMEk1ZUFaKEhMSFM4S1Fe
UGJNYiNYdUhsKFJ0KFVkcHtLUENMPHJsYihhQzx8CnplVlRXaEN1VSZBaWZSeyRseTRpTUNrWiox
MmdZWjlrQnE8QFhuRiY+NiE2QiFYZTQ0YDtucEF9cj0jR1gtJmpEPQp6N3RYQSFtRjlHUmBKQyNW
S1NXbUNJSEIlaFIqUjIxNmdNQm1GbkxOb3N7IUchb3dRRTQ+KUtuMTI/Qn08PSs9Y2AKemMyaGMq
M2Jybyl0MVNDej07QERjTjBJKG5LdHgwUGkkclh0Tm4xOC1vSnQpZ3A7ZCRNeVRmcEF0PTQ0MyZB
VFpgCnpqSENxIUFNajhKQCpMU200KlF3ODlWPEFNbzxXKSRsfWg/TCk/SSV2cHdqQ0N0aDN5UFA+
VzU2RU1LfFN0UDEydQp6VHwhclg1NHBOb0h1amNYNTJJTDAhRzxESzgxRT0+X147OE4xREU5dlQ0
PHtAZiMtPWIjKmghMEBjRjZOUkBFMUsKejhffXBVOH15YHkpWVB9TUlUSlg0P2NWV3s/ckJmXkZW
SWsqdEMkNygxZlUrXzFnRE42IUt5SVYreDNnXjdJZDVTCnpPQ1VQNzY2ekg+aEhiVnItczdyNipq
S2xHWSVIJW4qQW1obV9JbSpSVWx0NnlxaylSXyNjTzh6TUcyRWtPUldUcQp6I31LYmMmVUpXfGFF
QzlgUzJfQGIoX0JKSSsra3opa1ZfRip4cFdKUiRlTGMhQG48d1d2eDI0eW5qVyVWbU1oezEKejZj
SyQwXiZRTUJ6NEA2Pz9zMVZAO3hRMSVAKX5CYHNOY3NtXmlSZHwqOVZUeHRRMj9tR3NCNXFCTW1D
I145OC0tCno2VUsqZEp+cUxiXl5Tb2Nyen19aE0zRGVVUi1he1EmZGA4c0s1VXBrJHY2OUhBdGRs
K0wqVFJtVjxvVyp1YVNkMQp6ZXBuJmhlITwjdGolN0RXIXUtcnBUS21DMkFuTEN3R2VyJWBwKG85
I1FxaTJjP18kakAlQ1JoISRlU0AkN3RNJksKens8SSl1ejgtVj9rNz4rUE9sRylDck44STg1P2JO
V04weUQ8QkxidGtWSmZ7YF5MRGRTNXBSJXMySHZwV1kqQmZjCnoqQEZgSztvSDtaQEdee1NLTDMk
dWlXR0ZgYCY5NXB4Nnx0N1ZeV1M1en42Mz0hMlI+Zyl4YTlSckkmUmw8ZkZATwp6OUpfQ1ZFeHtq
TXc2UHIrPnY5NEZtJSZkaEVKUGZ7RDJjNGN7T0w1dl9rWTIwfERhMmxiJVo2OEgzTW9YSG0yd1YK
emBCT01ib1AlWXQ8fmk8QFRBZndCbEMjSihCYTAmOC1pUnZIZTJ+KktOMVZJTztiSkhUTmZ0fmcz
IyVKQVd+dFJtCno1Z05xZT1JS0NNYDl9amlUckE9YEhaJnpNQntiUnpMbDEyYlNBQEQ0Wn1AN1Z7
VzYlVm1GWF9kITc3MjVgcE48fgp6Q3tHSnxeVUQ/T25ZMGY/OUVBMHxUPT5iSil8Kj9meXpCWllN
UENVWnNVKW1Me31ZaHBtcHxJTHtjdXRGWDlhc3UKejFOcW4rSy0hUEpZbENNX2ZaX3ljdTB9N3Yz
dXpCIUdRSENYSj57TmkhbjFPYWpCLV8kfDlQNWloPk84eSlTdHgzCnpGbHRROTI9aHNrOGQ5UGYq
ez1LQVI+cGo8TF5eJig9Z28xU0lueHw/cT5tSz9BbGZCYmslPnNlPVhyPis3OC1TbQp6UXpmJCRj
cSMxejxRNl5EdVV2aU1RPGJgKClrWWh6XkolO0FRfUZqc0EqaSFtUzNrIylQMDxXKWBIMF9aNENe
Yl8Kek8jTXdhZlVCOClBcSNMQXV0MmhHNU14QnFmNkhgdEM5fW0oMGZAUXhFZ0ZRX251NC1jZW5n
V2t3cDgqNTtac29GCnpSTnU1cUtAeE9Qa2F6KnBBNkFAd2dMeGdnQzNTYGJSOD0oO3FqV216Rnwl
QE5jc159PTs2N0dJOD5sIXJ3d0JvXgp6MCtEZF58Q1JJRnZVQCt2Py12ZDVVciltRiMtYEA7WmAw
SzEhMD4tKWBEOWI1PHc1JWphYT8jPHswdH0qb2B9ZnYKejFnRFlrSDtpVElhNzg7IztnVVB7PjRM
PkdJWm98eURnSUQ5QV5FbE01b208RWhnQ1ZJRj5Sb0syS2JzdHBPWjs+CnpqQGtLbztQdCRHejJK
ZGBXVk5UZCspTEFoQXE0cGJTTytReS0zKWE2ZiVBJXZ1aW9FNklffldEblhfVTQhPyEhcAp6KF4h
cDc1YUUoVCM7RyFsJXd8PzV7Nm1XPytKXlpVO1JKbXd5ZH5tQHtgRmYxQjRvLSomP3I0U1g5Rnxs
N2Z4NXwKempTJFZfWHt1YlpwOEtxQ3xLRyYzVjxsUzBoTDgrKGc5VEVEcUgobk0rR0FKb0pgWD1Z
IzNHQW0oaUZBcHlgfFpwCno/SW0+Z1pwYXpldWdHfEVHazYlazZMc1psMD9PQn1IfD9+e3A/ZkQk
Qzh1SWs2JG9laG85d2ZGKDVTKFJiSk5zPAp6dHEkeHJoYGJNeyZPak5YKVoxN2EpJF53aSQ8Q2ol
czE+S0IhaDdwYU8ofTAoK0J2Y2h4YD1iJClzaXZ1JGp7bHkKeiZhfnwhK31JbDAofUVlcVl5MVZn
RmNCMnc7Vz4tPE96ZGEmXzZOYTlmMHd4JHNjNChJZFFXeWVie0Vmaz5gNXMxCnotMXxHI0htYkNn
WSYoUm07Sis9JWVKNEk/Knl5bHE9YEZMMXVlKHRpcHl9RF82RDtPcmxVTkghJVFWQWdXO0V6Mwp6
NDFlQGhkYG0/elE8Z3lSazswNTgyNTd1ZVgxVFVrbE5LeTRvWj5MJFpCP218YTBhRXRkelhEeV5E
XzV8ZVRrOV8Kendnc3EyK2UjQFdWKXYlUG1RJSNHTzdKVUBXe0VVSnhSbW1pclF9PThVTThlKl9+
QFVQb2VLOWhGZH5PIzI5LUIzCnpQbHZaSl9JNTlpO0BmNUwtYWcxbip1eGk5PV8xeEFTVUVXWXMz
Zi0hVHUlYiYxWDVOR15CIVBvTzVTLV9EZ0UqVQp6SFBjUWxKZXstVGJvNXJ7VW5ZODVZUXB9ITsj
eHRCR1cpRCNxSXlJPERDQE1IWFdVOHl2Pk5LWm1sU041UzdZK00Kel8jWDF6PzJYe0VFNSF+OEFY
an0+Jn16aT9sP3haTEpUZU1lKk9kdW95NGVhKzdiM2Y5Y1I4VDg0Y2V2WTFxK203CnowT0xXRksk
am9ZQ2FTSCUpNXlWP29wcU9VdWZ4X09acW17JTZUZm1eJHYySD1Fey1qTkFURDZ7IWxmSCNWO2xZ
Mgp6SiptK3QqXitUNyojSGUzNVpXK3teTjREdStndFUkQ2h2c2EwfTNBK1dfXjJfRE17PlYjOUwz
Y0hpaW04YnZieGIKengyZzVRcjhnbndeSzUtIzUpdnFRbTwtU3VJVFlSSkozandfeSQ9Zmp0Vng5
XzhHWCZxYkNTdXEoRXl7UWlgYHVQCnpBKW1qTUhnSXtWeEYpWn0yX1VjSHBecjNgUTFpKkImdlg5
SHBINTI9VG82ZiFFZSslYEYranZhRVpWOUtJekkqUwp6SVB+dXVubHl2aTBQa0tVZSshT1R7fmBQ
Y1kkKktlYGhtRCZBdGxwVzZtZkd8MilNZ0RVb1lueHdTfmkrMkJvU0UKenZebzJpeCk4JlleMkM8
OE9wakVldisqckk2ITc/Vz5VYGVrR1BmJWpHMkxWX0pMUSNWbypHKlZxfWxKQWQwbXx6CnptO2x8
dj9QJXJ8SUgzTmIqOHtzb3AlbW8jSWc2cStDOylHNCMpdmdnbCpUNFMrPFVDWFVSTlI2KSQ4PSZe
UigyYgp6akwjfHdDbiViRXpmcVU2KWVNNXZrbk17OGJrRElPJVVpV0wlWGNLX299RH5Ye0VQZXs2
ekt2UHdvWTcjUDI4XkYKej8pQ0p4cHpqQztQfFJ1X04xXl92Vldja0pNQEImTWZCPmgrI2dqP0Fp
Jlc7LVlmWDtJPWtNQV50ZlZOWklhM1EjCno4MH5DPTBeQHN5LS0mRl5XTUI+MDxKS2M3TjE2V3x1
WHN+JGBOZ3pZWng8eTlQY2UhKVZOak8pUGtNO1dzR0Y7Zwp6RGktTlA/cW1qcUI3TGtaUVpTZHth
UiooRmZCLWl8PkNsY141Xj5MKEU7e3pQJS0pbFchcz1nczR9Q0lINCZ6VGkKek9GWUBYMTx1K2JO
JGRQJFFfOHdWKnh4TCNrJFR0K1pHYEFLUWoxZk1CKCtKIyZSV0dAJFgyX1VLP3xwVCUpfHF7CnpN
MzhSYFk0KVFQc3RWJm1fSEJXNm5hPjNLTTV4cHRMKHpiVEtEKV4mYnFRYHR1Tm9rUWw3aHI+TEZ4
QUMkPzExRgp6aEJPb2orZVdBd243PyF3PGNobzY2eGgrfiVRU3NUNWZhV192QE0qdVhlfGlUNkdY
RylzPzg3T0pMZWsmMHwxWFYKemA3NigyKVE+bSVBd1Y1TmFxTUdMdmdzZztuVmpmbkApVz07d0pq
P3NWMFY1fDEkO3NBaGJOMVRPfTJ5QDg1eTItCnpwRHFmdEhtVWdIcGUqTzlkX01vY0JUUCpfZEgl
VnsjVnVXPnJ5I158dF4+a3FwI0ZuaGZObmRsOyhOZTZsMFpKJQp6WjB6USEzS2Y0KVpfPXstMyRI
MktzYzw+fj9KR2YzMGd6MjVAZ2skZ2NpIUA8b1EteE8kVzhtZjh8bylVUUE0OXYKejhAWGo0PjJk
R3RsJFhKVVZjfC1TNTFxNUBrbmVzenMtVGheMFoybWVjdm9eRD9HRVVIb2h8ZlpVcitrRl9+WHU2
CnpIeEVwMVNeJH5ES2RGdD1aQ1hEfDU/Zk5pUik+TFFYTEcjWEpMaXNxYjZzWFlsRy0+QntDTVRp
LWRUZ29PUyU5Iwp6MygjWCVnRzttMkE8OGYzZCoxcWtfQVdLKXFkem82dUwmPC1BciRTMCMtNEtq
VipCNjk0VjIzfHw5SDlNbGg0NygKejhsOXBeNWFUR2ZVYVZRN145U3h7IWt5T1dMalpHYW4lfCpi
Pil4U0piak99YkwmSD0wLXlfWjA+PDB0N3VUI29mCnorYW8kMGo0YVJNemg9fiVQQnpoRm4qeV97
bF9WWHwwMFlQVmExKm4pNkUwTSZuT3NxMkArZ0xXanFJfmRpTGZucgp6KypgRFRGYm1pcW5Wa21F
RjxRKDZBVmI1I1Y1eil7Nl5JdGJOb29PZzljcn1BckcycUlsMHAyfFJYRXdhUn5BLSEKemchdHJO
Nkh4M0Mld1B4O2NjaUhXYF5zPVI7Yn16cXt5RUV9I21gamZCbGooelBIXmtid0Z+YDxgVjs9YEB7
Q1RDCno0bFRyLTN3cSt1SVBXckI7azxQfThsSzI1Nkc1b3pWIVdsIWpZU28tZTQpQl5KVFZ6QmFz
bUIjRVgzRjRDcj4/Zgp6SHZHeWRvYEk1WEBrJTVab1lqTStua1R0QjglbnVRbT0/O0J0Y2QhN2V0
XmBTeXRNWXIzOG1jWGh4ZDVkREdJcm8KelZuNHo9dHxseF47fUslOFVnSHZRPGUzI2o2Nz9GbDx8
SjBQZX0qPVRoUWtaOyYtb1hHelF+WGhUVXdTSU9iWXAmCnp7ZUdQeCp+K0tTS20tLVleZ3psQEtv
Uk0hM3o1ZkhYP1dmQ0F8JDUlTTBfTHs+fSZ3RW09cHh8Wjh0fndkKzlVZgp6RUt0cng+VG1aNFlD
RjQ/UFhlS0I1eHxOfiMyNkRjMjBkYUd2dUAzcT9LaDFmJE9YcEBeNH5Xb0pZcElLX3NmbCEKelB6
dCQtO0g7YWx4e1VgbWd0Zz9iX01oMWZxbz4oQUgjYV5+SGJ0Pi1aNVB+RUdzRnp5YnZlX35kLWYq
PnFqc30xCno8NGl4QCl6KS1sRz1ZaG9VRWdLJlM4citvMDxHQC1CIUYtU042QkNjWH1IYSVLJGkx
IUR+Yk9JZU1QdUtiQyV+OQp6ZFBecFoqLVM2ZFNER3U1M2Y3ckBYXntWKFZsR1R6MjFDS2I4ZiVG
MiNSXjg3MF9kaD4qTyszfFN5UmtFRz9ncnQKemx8QDFHTylRcldFWklgNjR5fVgpP3t4UnZCeWRZ
YkJtPmxeNlAmNDteN3VQTUhEWjl+Vjk0d2wpczVvRiZQNUgoCnpycm5Kfj4yZ08rfDlrM3V1I3g2
dSRnRVVFbnp3UTRhZyopI2Y5dFZFNC03bT1iRWFQaEhzJDA3RDMxQjJOaXl6dAp6LUhuOChHPDFO
YC0ybGBuPEZUSk1xd1d3OWAyISE+RjNQe0spSjAkKG9Ody0qJjxWb1U5JHpRPigyWlpaOC1vfksK
ekRrMHwrRmBFQlFKfj5IKkxqS3pGSXZEeGxuQzAhMmZyKSFZUTVlOFRpUHVqdCFjUH1eJVJUeXRF
fCVLODx1b3FpCnpzfUNWNGNXQ2NLK35mMihYS15tPUFjK09DNng+MDVramMhcF5ZJSpvKVBqKEo0
WXwmejZgNVctOH5MUlVvfFg7fgp6M1J0aTxUblY3d2VPSHZTYWY9emBuRWFPQEBsWi1oY2I3KmpT
b1EmKT0+KiU7ejFBIXooRCp4Yy0kci15ZCZDN1IKejR6PEFDOHVDamRRPHhndFAlP1V1ek9NQXFU
d0Q7OTQqckxeOEU5byt3M1QkezxfQ28lJUglcXh7QlNWUTN3NHB8CnpYV0JPNzFIdn1vTEQmR3kp
KD1tR3RFZGw3aXh2bnRkX053Nk5qOXI5eGUkZlk7Mi0rJD4wcz5QSCVCU2dqanFGaQp6NUQzKWVI
Z1EjK0M1ZlNPT0R9Oy1CVy0/SjEwUXBNZSUzJWBDMHpUYFZJKVctZkc+OFFoT0Y9QTJvY1pXR31H
Kj8KeikjJHQkJHg7VnM/QjV7QkhydDd2NnlBbzQkUFN9akNyaCo0Rm07VjVQK0R5VExXQWxCPzR3
d21RRSshYlIlYlViCno+aXxzYypAWl8rTkNmdEBiWkV6OyMwYG9zKVRNbkMpIV97RmNnY0Y3bWkr
N3A0ZV81NEZTbys4dzJhYlFGVUVaVgp6aSZua3IoSFFzKTRteVd6dTl3cDxnLUA5UEVCVFF2Jn5K
bnhtaFpBfEJ6c153Q2pCbyVXYFMyQHpmcFUwa3ojWHsKenZRJnx2aVZWKFZFQHdSNDgjezQoI2g8
cHw+VzhPejlHays9RjNONDZMYGAxbXc0ZCp3V2NKbzUjRnIrJHtuZD9aCnpmQXJqSldXKyVQKj8j
KkVkb3tyUURzeDhsWmdGPlI7WXgzczlnUj48eHtRTi03fHVrQXFfNigpR3k4KFJiMCZiXgp6VkNq
V3olXjJOQXVGbkhMP1lQdlg2O30waiZFa1MhMEcmN2dVNm9yfG92KUN4RXoxeUBHZzRYXjdqTG5R
PzRGajIKejEhfThCe1JociRQJFJNI0JOYmslTks5c0AycjVxVnhtSEchK0o4YlNQPk9pSzEzayh3
RChTV3YtWUJ5eGheSCZ2CnooSkZuUXVia35tUldwMFItZ3h4MmNfajA/dGF4OV5MK1p3dnd2PFAy
MGJhb2VeJnolPj5TQz00PlNpa3preTBnawp6RXw4fDtGYjU9WHZHKl4pYn5FNGtnfU1+JUpVYyF1
MmhET215NnwqWm1QQHdPPmFEdEtmSjtNNzFwUlNZbDxhamAKenVSbEg9RXNeRVBJWmRlZDVgZXtV
ekxQKztVUzhpcCVOdnhkd2JNYnNoe1E7UGQlckFWNmFlV3YlWSk/JkQrMmJiCnpRY25rKVQtQ3tH
ZllAdXlWWiR0NlZafCljWT5YRit6TF58aCtGM1BucylIN3tTMWd8MC1WM0J9THJ1RTsoJGFAIQp6
ejAxIWBMOEk/ayZ8QnhmR2U5QnRFOzdpaWVwZytAUS1RYDhCMXhPd0pjKmU2ZHg1bUFFYjcoYDJC
LU1OMz51NU8KenA1Yld4UXxuVEV3aFNnM151UWpGMV5DQkRHRT03JUZMVkBYeHM9YkQ5N0ZFYlYq
fk0zVV9OKnh0PD85ek9NSUtDCnpoMkRHc28rXnUyOHl1WntyYWAmK0VoRldPWT1HS1ZxITc1VWFO
cnd2anF0TG8/MkR1RSRoanV9aXdoNjZeejBhTgp6RjVzUHYjJjJVfmlXb0tFYzliciZSY3xtfSQj
dFI+YD9zaEFIKG9IYmokMTZLX0dmaT93U2s7Rkt0SyVVYSU9Pj8KelZrN208SSNuLUJpWUE+PXIy
QjE8KHhZIW5jTTl6OWI9P2dDLUVUSVE5Z1FYckdvNXJMdGFLUl9VJH57WnZCPX5YCnpQfFd+eTBo
M1k0Tlo1NllZNSRmc2JKX21oalJVbX53cjheKjw9eGh5d3YxRVRCcTNsbyRuPV9fUXZ2YEFEcEpH
IQp6PmBRNG1iNy1LYlpgM2BRQlR4QTRhKjBSMmgye1R2YVVjT2tNM2BwcGBsTSYpdTZFZXF1Zjh8
V0ZuWG43LXVaSH4KelV7QnBaPl93ejtJR2BkdzN6SGA+SiZxV0lBJVF7a0hAKUEqZVFaXm1GMTRs
bDgyJVphXnR7Mz5tQm0+NGJFfT9QCnpkV000ejV6QXE3Rz4tfXE2aEFPIShgOC1ydn0zVGA1ejcm
T1RFMGd1KzE9ZmZLI2M/QVNBazZMVU1qZjcrJihRJQp6K3Y4PEheVD0/aUReKyE5OWRiWSlWJG0y
c1Q8bFVkRzRTe3NqWj94ZWB2Iz9nMlVuRiZXKytBYXM5ZElhKX1XTjAKemNgVnZRMjYla29SI0t7
ZypPWUs3UFArK3hDMDQ3YF5LckJMPXxDVXJqPElxWk5Mb2IqP1BaO0FzK3lVOCQ8YCliCnoxLUlF
ZjxBbCR6TDNBNXs5PnMoQVFZRXxtRmAySmpZRSp4IXBHM1pjenNTT1BmUnRLKUYta31vJiNOPXtx
cndKbQp6diFJZFBoemYyJjYxWkZoIVI0WChSVH47MUdMdjBGdUhwKHZSKmdEWCNqYUNAUiZBbEUz
KSZKbSF9bDFJIzcjRGUKenM1X1UrNHFOZzt7VE5HeGAoNGo4NnhffGpfOUopWVJOMnJUczhSS048
TzUoUih2VysjPClTaGs5I3pPdXBNIylECno0eXxBKCR0WFVickYhR3k7JUFZNUUpKm1JWTh9eGlK
NykpU2VBZj1jbVgtflBBY20hbExTYmk4Tl82azRHaSlHLQp6Y19SJGFuNyZZajF+YnluVipvIS13
QWhsSmt9ISsoKGFqdGszRSU8XkQxWlVfV2NCfV8oakhYKVVWMGgjR3dWeSYKelZJe1AkbVVVPGNG
ajd9c1p2fXhpJmA7Z0whTUFhJFkwRztmLU1uJHxUYjhBbDAyNmlWSWNqKilafG59Qi1GcEEzCnp6
Sng9bFhrLTM0UE96aW5EfVNZP147Yk4lI3pSMThKP3kqfHZSNDJMRUdJIVlRczBFaV5LWkhEKkBR
UXg0clA9Rwp6azQwT2t0eTA9SmY5VWIqc29SUE51az9vclY4NVU1emxAI1F7PXVrUmM9ZWRfI1A4
LTJyZkhKIWR+VnE8PkpWKXUKeldxbGI8JjV9Y300UF4/OS1fIy1gZiFrQlNeTzlsM2w5NG5WdjJr
bU8wJC1zXk9wY0pVK0IrQH4/X1VPem9KR25BCnpmXjQ4RlhzMkYpNTd3OUw7dz8ja2JBb3lMWG4m
aWd0aEEmdyMlUFZ4emU/YVR8Tkg3MStYKnFmNFZ2M29QPEpmMgp6KkE9YGk5NXtBYk8wVWRAUWJS
YmFrSTBRTFk/fF4xcEpOSzRBPCk1VTUwSDRWPXxSVnxsOzJOJkRuMUpGJGthLWwKelMhRSNaVXkj
ZTV2bGgpJmh1antQQy1lPHojWTQ2fU02WSM0IW5mTlJKNE1VbyFgfEshZFBDZSVyRzFwRWYydllZ
CnoqUmcwRFdeaFNMYV9OO31AMyMqKHgmZl5Acnp9SnFXI3MxN2h0Rn5vZlh5dmwyVDB5Mmgwe2k1
dVNtT2g1QF5jRwp6dld3ZTMqNG81K1NkSSZEe2FPXjVTQkk7R1ohVFNGJkFGSkAxSE57anJHYlk7
P0tzOUcwVCR1V3Q9d3laQXFMdn0Kem9VSllTYjU8UVFeKWBfNWZSaCFfa1JTb2ZUI2l9aSpFVzln
NllUdkt1YFkoKF9LRnBZVTNaTEl6NEkqP1hkQChtCnoqfVRQMD5FRkU/cCVfWEoyZz1vdyNTd2ow
VDVzSUo3N0koaFgrNnk/Q0Nsdz01fiQjZChWKU5WKlpHKV9WdkolXgp6bnVjeyhDPyNJcjFLJFIr
IXBwbk9mbyQ+ZT95VUJiWEtqQH5velAkJig2Rl5KJkJxITltX1R2fE96OzNxJXkxfCYKel9Wdmd0
Uz5fb05OfG0yMVpsbUJYenp9cW5nY0FkOSRMJitIUmVlVyheeytSX2o5TXpFYnkwaD5BVjBmaVpR
WWZuCnpqUnclaGArcDdIWikkTVMkRUBlUkIwaiFFYnRHU0gwKElCVmkmSVRgN2poRU1yYHc0UGNw
TjcrQGhmNF4rKGZpbAp6XzQhbVpaRnxMPCg0Xzd6OU8leEBHMmVaNHJ4aTNGRSt0V21iYlUkNWp1
KzFGOXZ+Vz1sXz0zVDNyZmlRckJJVSsKelhHYz53VDN7eUo4KDNMOClNWCV2OFlHST0rUWZWeHJz
PHh0alM9UCtTWnNAJkg+KENZbHY1KFM3RXhraGJhQ2ljCnpGb2BwJTgwcng8PjI8JCtvJVpfRlZk
MVhmM2AjNGdPbSNAXl9aJks1V1BAOChkN1V+bU50PEtlSk5aPV84N3lNbQp6YmRqbipOJD16ZGNL
QkB5MX43PU5LQzJ7WCFQWlNkI30/TUNadnFSZ3F8MiM3UHE3PmcyfEZLN0lzWV49O21nYW0Kem9V
YW1EZWBoYG9AMHN1SztwR2RLNGxIaXpJQ1koKXpmJDd8Uz5+OVFtZm9aaXE+e30rXkczWTd2THVE
VXRxM3omCnowND1ZRFdATT40O1ExXkVXaGhaKz1eTnRFRnExWWxYRmRyVkRtTng8KmA5TVFpITlO
IW9Aa0Y+SE9oZWppXllLMwp6dkxwVVdOaTZZYylmMDhkKV5vaHk1aE8rVG0mPDt+N1VAfmZGWikp
JWc2X09taHJvYCRkSjI5ZVMkQ3x6fDQkU3QKelFDPlI+NVNaSWJqZSZvfipXU3Q8VnxMJXJZWmd4
Q295I2BBKGNkQWYybVE2VD83ejx9WFcoNzhmb1JpdCsqSHppCno5ZWczTXw0NSR3T1J4VSNAdT5Q
PTlxYjttYSkpVTslNGNjQTVfSDlhdF4mPX5yV1VNVVBBcGl9NHJ0bGJVRDJJLQp6cHt0e29NciNl
QXkxYFJzPCkzcTg4JmZ2RE9XWV98QmxzIS1QbzBiNXt+KkhpUGB6LVBKZSYpKm5gI0czeElSY0AK
ektXdWlfYEpUQFo2R2hZdEpjQmVnJmtpdTdlNX5iaTlxPGloaWBIX1Y9NHxpMmlgekxPVjJhWSFh
PUJeQCQmQ1BkCnp0bGlhTSpWUF5oQnhJMTV3amBqIXNQak8jRXxWdCFUREleMTlTOzswRUgrSXlY
ZXBnbF5WcXBzPEM2XzMxVVh9Uwp6OXh5I0MyR0dOJVghYWZiMTA8TzRPaT1DN3Y1Jj5OMnd9Q3Bf
ckJQaXtua1pzJU9BO3RtRkJ1fGFzUWtJXyUqVngKej5mRUV+N09Aekg0JmgpeHUhNG9MWnFNV1Y4
LVlgbGU4TUBQb3x9Iz9TLTYhNWRNays2NT1EemoreF9qV21jZz48CnpoKnhWKlI+S2QhS2k+WkZ8
Mjl8NHgtN0VUOGJKNCpReVcwfGphUmw2YWNaclUpMGM0WSU8a3lxYn1LbWB1QiFKTgp6Rk9wPCVS
SW9Mcm5pK3UlMGEzI3NXQzs8fHxBRlN4VnB9eUdGeXJgMiNZZ2hXOVZodilHfnFiYj9mUVFLN3NG
WkYKenEobzY9eWtKUkNVZS1eZntofTIqNiMxITM3bX1VK2EwbXlZcjNURVE2X0QoNT81K2N6KHcz
eVZlJk8pc1JMOXdACnpWIzdHPSZlV14wRGNOQkIodDF5Q2VWU2lISVRFRT02bk9ydiQ2NUx0JjlO
QTsqVWpQZGVPRHxCM0whaVpDZVR1Pwp6SX5NM2AjbzZzQ21CUD5jPXpgNUctaEp0d1Vvc0NfeHAp
Nmh3S3JkalQlcnleN0MrZlJHNlVJbkdgLXFoeSNYK14KentKUmJSazVuVSVXK3VAUG1XPUEoMndn
dUItUX1VU3Y0anI0SXt8Jnhuez8tJndCVVkkPUhKbXZlJFM0bVFyJTE+CnolVXRIJiYpZWtIal4z
VyNNWDhQQGo/aXcyXlp9Ozs9PSE3SUNnSiZlVHR7ZnVlcE9IIUE/SnZ4NE5fJihtLUpJQwp6eElZ
N3VTOTxUWVJSX2I9VDg/QjJfPlpSVDxZRXNTb2s4Zm5JUkAkKWBiQkBPRzBQQzVeT3VIaEY2I29t
OT1HYGEKemVmX1ZgSkJeN3JHYT5RfHdidHNMdmFnbnRVd2EhSCp8KGNPT01Mbnt2U1NPcXhqMXlI
WFp6NEc5PVY3fCg7cHthCnpWVUNAaFI0XktLUlZ7ZCpAKjM7N1h2aVp+YFcpLTlpRERtSUt1dTk0
VSFGaHFmaCRTQjR1eWZNMnlKMnUtbF55Sgp6dEteRHZVLSFPV3ImZVg4O15yX349ITdkd2w3ekY3
VyMydG4pKCo5Pyh4Sm56KztLbilAUlg2Tmpsei00TTMpXzwKeiVuSD5HYHdtT14xfmR8aXFjbUN6
QGFmPXJDeGNFU21vfCpoSXlDYnBZO1F6dD14WE9ae2M0JFYzPUdiUjJSdmpzCnpsVkdvTGk9dlEk
V20/NE1aeDVXZVRoNTN2YD01UCpaViVqQE43cFI2SCl5Rmk9ST9zWTMpdyVSNjlZZlJOWDA2NAp6
KjVmSEFwYSU1SU5vITgoYURDY1pFTFpQTygqJFpjejJATVNKPCFHWStXK2lCZzBXbEFEKSZ3cSlk
NGxUTDtuWlUKQz1EY1NCCgpsaXRlcmFsIDAKSGNtVj9kMDAwMDEKCmRpZmYgLS1naXQgYS9XZWJz
aXRlcy93ZWJraXQub3JnL2RlbW9zL3dlYm1ldGFsLzJkLmpzIGIvV2Vic2l0ZXMvd2Via2l0Lm9y
Zy9kZW1vcy93ZWJtZXRhbC8yZC5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42Yzk4NGRlOTgxMzlkNTVhNTQ5OTVh
MjUxY2E1M2Q0YWY5YjEwOTRjCi0tLSAvZGV2L251bGwKKysrIGIvV2Vic2l0ZXMvd2Via2l0Lm9y
Zy9kZW1vcy93ZWJtZXRhbC8yZC5qcwpAQCAtMCwwICsxLDE0MiBAQAorY2xhc3MgVW5pZm9ybSB7
CisgICAgY29uc3RydWN0b3IoZmxvYXQzMkFycmF5KSB7CisgICAgICAgIGlmIChmbG9hdDMyQXJy
YXkgJiYgZmxvYXQzMkFycmF5Lmxlbmd0aCAhPSA2NCkgeworICAgICAgICAgICAgY29uc29sZS5s
b2coIkluY29ycmVjdCBiYWNraW5nIHN0b3JlIGZvciBVbmlmb3JtIik7CisgICAgICAgICAgICBy
ZXR1cm47CisgICAgICAgIH0KKworICAgICAgICB0aGlzLmFycmF5ID0gZmxvYXQzMkFycmF5IHx8
IG5ldyBGbG9hdDMyQXJyYXkoNjQpOworICAgIH0KKyAgICAvLyBMYXlvdXQgaXMKKyAgICAvLyAw
LTEgPSByZXNvbHV0aW9uIChmbG9hdDIpCisgICAgLy8gMiA9IHRpbWUgKGZsb2F0KQorICAgIGdl
dCBidWZmZXIoKSB7CisgICAgICAgIHJldHVybiB0aGlzLmFycmF5OworICAgIH0KKyAgICBnZXQg
cmVzb2x1dGlvbigpIHsKKyAgICAgICAgcmV0dXJuIHRoaXMuYXJyYXkuc3ViYXJyYXkoMCwgMik7
CisgICAgfQorICAgIGdldCB0aW1lKCkgeworICAgICAgICByZXR1cm4gdGhpcy5hcnJheVsyXTsK
KyAgICB9CisgICAgc2V0IHJlc29sdXRpb24odmFsdWUpIHsKKyAgICAgICAgdGhpcy5hcnJheVsw
XSA9IHZhbHVlWzBdOworICAgICAgICB0aGlzLmFycmF5WzFdID0gdmFsdWVbMV07CisgICAgfQor
ICAgIHNldCB0aW1lKHZhbHVlKSB7CisgICAgICAgIHRoaXMuYXJyYXlbMl0gPSB2YWx1ZTsKKyAg
ICB9CisgICAgY29weVZhbHVlc1RvKGJ1ZmZlcikgeworICAgICAgICB2YXIgYnVmZmVyRGF0YSA9
IG5ldyBGbG9hdDMyQXJyYXkoYnVmZmVyLmNvbnRlbnRzKTsKKyAgICAgICAgZm9yIChsZXQgaSA9
IDA7IGkgPCAzOyBpKyspIHsKKyAgICAgICAgICAgIGJ1ZmZlckRhdGFbaV0gPSB0aGlzLmFycmF5
W2ldOworICAgICAgICB9CisgICAgfQorfQorCitjb25zdCB2ZXJ0ZXhEYXRhID0gbmV3IEZsb2F0
MzJBcnJheSgKK1sKKyAgICAtMSwgLTEsIDAsIDEsCisgICAgMSwgLTEsIDAsIDEsCisgICAgMSwg
MSwgMCwgMSwKKyAgICAtMSwgLTEsIDAsIDEsCisgICAgLTEsIDEsIDAsIDEsCisgICAgMSwgMSwg
MCwgMSwKK10pOworCitsZXQgZ3B1OworbGV0IGNvbW1hbmRRdWV1ZTsKK2xldCByZW5kZXJQYXNz
RGVzY3JpcHRvcjsKK2xldCByZW5kZXJQaXBlbGluZVN0YXRlOworCitjb25zdCBOdW1BY3RpdmVV
bmlmb3JtQnVmZmVycyA9IDM7CitsZXQgdW5pZm9ybXMgPSBuZXcgQXJyYXkoTnVtQWN0aXZlVW5p
Zm9ybUJ1ZmZlcnMpOworbGV0IHVuaWZvcm1CdWZmZXJzID0gbmV3IEFycmF5KE51bUFjdGl2ZVVu
aWZvcm1CdWZmZXJzKTsKK2xldCBjdXJyZW50VW5pZm9ybUJ1ZmZlckluZGV4ID0gMDsKKword2lu
ZG93LmFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBpbml0LCBmYWxzZSk7CisKK2Z1bmN0aW9uIGlu
aXQoKSB7CisKKyAgICBpZiAoIWNoZWNrRm9yV2ViTWV0YWwoKSkgeworICAgICAgICByZXR1cm47
CisgICAgfQorCisgICAgbGV0IGNhbnZhcyA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoImNhbnZh
cyIpOworICAgIGxldCBjYW52YXNTaXplID0gY2FudmFzLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgp
OworICAgIGNhbnZhcy53aWR0aCA9IGNhbnZhc1NpemUud2lkdGg7CisgICAgY2FudmFzLmhlaWdo
dCA9IGNhbnZhc1NpemUuaGVpZ2h0OworCisgICAgZ3B1ID0gY2FudmFzLmdldENvbnRleHQoIndl
Ym1ldGFsIik7CisgICAgY29tbWFuZFF1ZXVlID0gZ3B1LmNyZWF0ZUNvbW1hbmRRdWV1ZSgpOwor
CisgICAgbGV0IGxpYnJhcnkgPSBncHUuY3JlYXRlTGlicmFyeShkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgibGlicmFyeSIpLnRleHQpOworICAgIGxldCB2ZXJ0ZXhGdW5jdGlvbiA9IGxpYnJhcnku
ZnVuY3Rpb25XaXRoTmFtZSgidmVydGV4X21haW4iKTsKKyAgICBsZXQgZnJhZ21lbnRGdW5jdGlv
biA9IGxpYnJhcnkuZnVuY3Rpb25XaXRoTmFtZSgiZnJhZ21lbnRfbWFpbiIpOworCisgICAgaWYg
KCFsaWJyYXJ5IHx8ICFmcmFnbWVudEZ1bmN0aW9uIHx8ICF2ZXJ0ZXhGdW5jdGlvbikgeworICAg
ICAgICByZXR1cm47CisgICAgfQorCisgICAgbGV0IHBpcGVsaW5lRGVzY3JpcHRvciA9IG5ldyBX
ZWJNZXRhbFJlbmRlclBpcGVsaW5lRGVzY3JpcHRvcigpOworICAgIHBpcGVsaW5lRGVzY3JpcHRv
ci52ZXJ0ZXhGdW5jdGlvbiA9IHZlcnRleEZ1bmN0aW9uOworICAgIHBpcGVsaW5lRGVzY3JpcHRv
ci5mcmFnbWVudEZ1bmN0aW9uID0gZnJhZ21lbnRGdW5jdGlvbjsKKyAgICAvLyBOT1RFOiBPdXIg
QVBJIHByb3Bvc2FsIGhhcyB0aGVzZSB2YWx1ZXMgYXMgZW51bXMsIG5vdCBjb25zdGFudCBudW1i
ZXJzLgorICAgIC8vIFdlIGhhdmVuJ3QgZ290IGFyb3VuZCB0byBpbXBsZW1lbnRpbmcgdGhlIGVu
dW1zIHlldC4KKyAgICBwaXBlbGluZURlc2NyaXB0b3IuY29sb3JBdHRhY2htZW50c1swXS5waXhl
bEZvcm1hdCA9IGdwdS5QaXhlbEZvcm1hdEJHUkE4VW5vcm07CisKKyAgICByZW5kZXJQaXBlbGlu
ZVN0YXRlID0gZ3B1LmNyZWF0ZVJlbmRlclBpcGVsaW5lU3RhdGUocGlwZWxpbmVEZXNjcmlwdG9y
KTsKKworICAgIGZvciAobGV0IGkgPSAwOyBpIDwgTnVtQWN0aXZlVW5pZm9ybUJ1ZmZlcnM7IGkr
KykgeworICAgICAgICBsZXQgdW5pZm9ybSA9IG5ldyBVbmlmb3JtKCk7CisgICAgICAgIHVuaWZv
cm0ucmVzb2x1dGlvbiA9IG5ldyBGbG9hdDMyQXJyYXkoW2NhbnZhc1NpemUud2lkdGgsIGNhbnZh
c1NpemUuaGVpZ2h0XSk7CisgICAgICAgIHVuaWZvcm1zW2ldID0gdW5pZm9ybTsKKyAgICAgICAg
dW5pZm9ybUJ1ZmZlcnNbaV0gPSBncHUuY3JlYXRlQnVmZmVyKHVuaWZvcm0uYnVmZmVyKTsKKyAg
ICB9CisKKyAgICByZW5kZXJQYXNzRGVzY3JpcHRvciA9IG5ldyBXZWJNZXRhbFJlbmRlclBhc3NE
ZXNjcmlwdG9yKCk7CisgICAgLy8gTk9URTogT3VyIEFQSSBwcm9wb3NhbCBoYXMgc29tZSBvZiB0
aGVzZSB2YWx1ZXMgYXMgZW51bXMsIG5vdCBjb25zdGFudCBudW1iZXJzLgorICAgIC8vIFdlIGhh
dmVuJ3QgZ290IGFyb3VuZCB0byBpbXBsZW1lbnRpbmcgdGhlIGVudW1zIHlldC4KKyAgICByZW5k
ZXJQYXNzRGVzY3JpcHRvci5jb2xvckF0dGFjaG1lbnRzWzBdLmxvYWRBY3Rpb24gPSBncHUuTG9h
ZEFjdGlvbkNsZWFyOworICAgIHJlbmRlclBhc3NEZXNjcmlwdG9yLmNvbG9yQXR0YWNobWVudHNb
MF0uc3RvcmVBY3Rpb24gPSBncHUuU3RvcmVBY3Rpb25TdG9yZTsKKyAgICByZW5kZXJQYXNzRGVz
Y3JpcHRvci5jb2xvckF0dGFjaG1lbnRzWzBdLmNsZWFyQ29sb3IgPSBbMC4zNSwgMC42NSwgMC44
NSwgMS4wXTsKKworICAgIHZlcnRleEJ1ZmZlciA9IGdwdS5jcmVhdGVCdWZmZXIodmVydGV4RGF0
YSk7CisgICAgcmVuZGVyKCk7Cit9CisKK2Z1bmN0aW9uIHJlbmRlcigpIHsKKworICAgIHVwZGF0
ZVVuaWZvcm1EYXRhKGN1cnJlbnRVbmlmb3JtQnVmZmVySW5kZXgpOworCisgICAgbGV0IGNvbW1h
bmRCdWZmZXIgPSBjb21tYW5kUXVldWUuY3JlYXRlQ29tbWFuZEJ1ZmZlcigpOworCisgICAgbGV0
IGRyYXdhYmxlID0gZ3B1Lm5leHREcmF3YWJsZSgpOworCisgICAgcmVuZGVyUGFzc0Rlc2NyaXB0
b3IuY29sb3JBdHRhY2htZW50c1swXS50ZXh0dXJlID0gZHJhd2FibGUudGV4dHVyZTsKKworICAg
IGxldCBjb21tYW5kRW5jb2RlciA9IGNvbW1hbmRCdWZmZXIuY3JlYXRlUmVuZGVyQ29tbWFuZEVu
Y29kZXJXaXRoRGVzY3JpcHRvcihyZW5kZXJQYXNzRGVzY3JpcHRvcik7CisgICAgY29tbWFuZEVu
Y29kZXIuc2V0UmVuZGVyUGlwZWxpbmVTdGF0ZShyZW5kZXJQaXBlbGluZVN0YXRlKTsKKyAgICBj
b21tYW5kRW5jb2Rlci5zZXRWZXJ0ZXhCdWZmZXIodmVydGV4QnVmZmVyLCAwLCAwKTsKKyAgICBj
b21tYW5kRW5jb2Rlci5zZXRWZXJ0ZXhCdWZmZXIodW5pZm9ybUJ1ZmZlcnNbY3VycmVudFVuaWZv
cm1CdWZmZXJJbmRleF0sIDAsIDEpOworICAgIGNvbW1hbmRFbmNvZGVyLnNldEZyYWdtZW50QnVm
ZmVyKHVuaWZvcm1CdWZmZXJzW2N1cnJlbnRVbmlmb3JtQnVmZmVySW5kZXhdLCAwLCAwKTsKKwor
ICAgIC8vIE5PVEU6IE91ciBBUEkgcHJvcG9zYWwgdXNlcyB0aGUgZW51bSB2YWx1ZSAidHJpYW5n
bGUiIGhlcmUuIFdlIGhhdmVuJ3QgZ290IGFyb3VuZCB0byBpbXBsZW1lbnRpbmcgdGhlIGVudW1z
IHlldC4KKyAgICBjb21tYW5kRW5jb2Rlci5kcmF3UHJpbWl0aXZlcyhncHUuUHJpbWl0aXZlVHlw
ZVRyaWFuZ2xlLCAwLCA2KTsKKworICAgIGNvbW1hbmRFbmNvZGVyLmVuZEVuY29kaW5nKCk7Cisg
ICAgY29tbWFuZEJ1ZmZlci5wcmVzZW50RHJhd2FibGUoZHJhd2FibGUpOworICAgIGNvbW1hbmRC
dWZmZXIuY29tbWl0KCk7CisKKyAgICBjdXJyZW50VW5pZm9ybUJ1ZmZlckluZGV4ID0gKGN1cnJl
bnRVbmlmb3JtQnVmZmVySW5kZXggKyAxKSAlIE51bUFjdGl2ZVVuaWZvcm1CdWZmZXJzOworICAg
IHJlcXVlc3RBbmltYXRpb25GcmFtZShyZW5kZXIpOworfQorCitmdW5jdGlvbiB1cGRhdGVVbmlm
b3JtRGF0YShpbmRleCkgeworICAgIHZhciBub3cgPSBEYXRlLm5vdygpICUgMTAwMDAwIC8gNTAw
OworICAgIGxldCB1bmlmb3JtID0gdW5pZm9ybXNbaW5kZXhdOworICAgIHVuaWZvcm0udGltZSA9
IG5vdzsKKworICAgIHVuaWZvcm0uY29weVZhbHVlc1RvKHVuaWZvcm1CdWZmZXJzW2luZGV4XSk7
CisKK30KZGlmZiAtLWdpdCBhL1dlYnNpdGVzL3dlYmtpdC5vcmcvZGVtb3Mvd2VibWV0YWwvY2ly
Y2xlLnN2ZyBiL1dlYnNpdGVzL3dlYmtpdC5vcmcvZGVtb3Mvd2VibWV0YWwvY2lyY2xlLnN2Zwpu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi5lYjdhMGU5MTI4NGViMjY3NDJkM2FlMTA2NzQ3YWU2NzIxZjgxOTc0Ci0tLSAv
ZGV2L251bGwKKysrIGIvV2Vic2l0ZXMvd2Via2l0Lm9yZy9kZW1vcy93ZWJtZXRhbC9jaXJjbGUu
c3ZnCkBAIC0wLDAgKzEsNiBAQAorPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9z
dmciIHZpZXdCb3g9IjAgMCAxMDAgMTAwIj4KKworPGNpcmNsZSBmaWxsPSJyZ2IoMjI0LCAyMjQs
IDIyNCkiIGN4PSI1MCIgY3k9IjUwIiByPSI0MCIvPgorPGNpcmNsZSBmaWxsPSJub25lIiBzdHJv
a2U9InJnYigyMjQsIDIyNCwgMjI0KSIgc3Ryb2tlLXdpZHRoPSIwLjUiIHN0cm9rZS1kYXNoYXJy
YXk9IjIuNSAyIiBjeD0iNTAiIGN5PSI1MCIgcj0iNDEiLz4KKworPC9zdmc+ClwgTm8gbmV3bGlu
ZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvV2Vic2l0ZXMvd2Via2l0Lm9yZy9kZW1vcy93
ZWJtZXRhbC9jdWJlcy5odG1sIGIvV2Vic2l0ZXMvd2Via2l0Lm9yZy9kZW1vcy93ZWJtZXRhbC9j
dWJlcy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLmZkNmFlNjYyYWJkNTg2OTEyZWE0MGM5ODcyMjliNTdkY2Nj
ZmIzNmMKLS0tIC9kZXYvbnVsbAorKysgYi9XZWJzaXRlcy93ZWJraXQub3JnL2RlbW9zL3dlYm1l
dGFsL2N1YmVzLmh0bWwKQEAgLTAsMCArMSw3OCBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4K
KzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPTYwMCI+Cis8bWV0
YSBodHRwLWVxdWl2PSJDb250ZW50LXR5cGUiIGNvbnRlbnQ9InRleHQvaHRtbDsgY2hhcnNldD11
dGYtOCI+Cis8dGl0bGU+V2ViTWV0YWwgQ3ViZXMgZGVtbzwvdGl0bGU+Cis8bGluayByZWw9InN0
eWxlc2hlZXQiIGhyZWY9InNoYXJlZC5jc3MiPgorPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVm
PSJodHRwczovL3dlYmtpdC5vcmcvd3AtY29udGVudC90aGVtZXMvd2Via2l0L3N0eWxlLmNzcyI+
Cis8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS93c3Mv
Zm9udHM/ZmFtaWx5PU15cmlhZCtTZXQrUHJvJmFtcDt2PTEiPgorPHNjcmlwdCBzcmM9ImdsLW1h
dHJpeC1taW4uanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9InNoYXJlZC5qcyI+PC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iY3ViZXMuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBpZD0ibGlicmFyeSIg
dHlwZT0ieC1zaGFkZXIveC1tZXRhbCI+CisjaW5jbHVkZSA8bWV0YWxfc3RkbGliPgorI2luY2x1
ZGUgPHNpbWQvc2ltZC5oPgorCit1c2luZyBuYW1lc3BhY2UgbWV0YWw7CisKK3N0cnVjdCB1bmlm
b3JtX3QKK3sKKyAgICBmbG9hdDR4NCBtb2RlbHZpZXdfcHJvamVjdGlvbl9tYXRyaXg7CisgICAg
ZmxvYXQ0eDQgbm9ybWFsX21hdHJpeDsKKyAgICBmbG9hdDQgYW1iaWVudF9jb2xvcjsKKyAgICBm
bG9hdCBtdWx0aXBsaWVyOworfSBfX2F0dHJpYnV0ZV9fICgoYWxpZ25lZCAoMjU2KSkpOworCitj
b25zdGFudCBmbG9hdDMgbGlnaHRfcG9zaXRpb24gPSBmbG9hdDMoMC4wLCAtMS4wLCAxLjApOwor
Y29uc3RhbnQgZmxvYXQ0IGxpZ2h0X2NvbG9yID0gZmxvYXQ0KDEsIDEsIDEsIDEpOworCitzdHJ1
Y3QgdmVydGV4X3QKK3sKKyAgICBwYWNrZWRfZmxvYXQzIHBvc2l0aW9uOworICAgIHBhY2tlZF9m
bG9hdDMgbm9ybWFsOworfTsKKworc3RydWN0IHZhcnlpbmdfdCB7CisgICAgZmxvYXQ0IHBvc2l0
aW9uIFtbcG9zaXRpb25dXTsKKyAgICBoYWxmNCBjb2xvcjsKK307CisKK3ZlcnRleCB2YXJ5aW5n
X3QgdmVydGV4X2Z1bmN0aW9uKGRldmljZSB2ZXJ0ZXhfdCogdmVydGV4X2FycmF5IFtbIGJ1ZmZl
cigwKSBdXSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdGFudCB1bmlmb3Jt
X3QmIHVuaWZvcm1zIFtbIGJ1ZmZlcigxKSBdXSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICB1bnNpZ25lZCBpbnQgdmlkIFtbIHZlcnRleF9pZCBdXSkKK3sKKyAgICB2YXJ5aW5nX3Qg
b3V0OworCisgICAgZmxvYXQ0IHBvc2l0aW9uID0gZmxvYXQ0KGZsb2F0Myh2ZXJ0ZXhfYXJyYXlb
dmlkXS5wb3NpdGlvbiksIDEuMCk7CisgICAgb3V0LnBvc2l0aW9uID0gdW5pZm9ybXMubW9kZWx2
aWV3X3Byb2plY3Rpb25fbWF0cml4ICogcG9zaXRpb247CisKKyAgICBmbG9hdDMgbm9ybWFsID0g
dmVydGV4X2FycmF5W3ZpZF0ubm9ybWFsOworICAgIGZsb2F0NCBleWVfbm9ybWFsID0gbm9ybWFs
aXplKHVuaWZvcm1zLm5vcm1hbF9tYXRyaXggKiBmbG9hdDQobm9ybWFsLCAwLjApKTsKKworICAg
IGZsb2F0IG5fZG90X2wgPSBkb3QoZXllX25vcm1hbC5yZ2IsIG5vcm1hbGl6ZShsaWdodF9wb3Np
dGlvbikpOworICAgIG5fZG90X2wgPSBmbWF4KDAuMCwgbl9kb3RfbCk7CisKKyAgICBvdXQuY29s
b3IgPSBoYWxmNCh1bmlmb3Jtcy5hbWJpZW50X2NvbG9yICsgbGlnaHRfY29sb3IgKiBuX2RvdF9s
KTsKKworICAgIHJldHVybiBvdXQ7Cit9CisKK2ZyYWdtZW50IGhhbGY0IGZyYWdtZW50X2Z1bmN0
aW9uKHZhcnlpbmdfdCBpbiBbW3N0YWdlX2luXV0pCit7CisgICAgcmV0dXJuIGluLmNvbG9yOwor
fTsKKzwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8Y2FudmFzPjwvY2FudmFzPgorPGRpdiBp
ZD0iZXJyb3IiPgorICAgIDxoMj5XZWJNZXRhbCBub3QgYXZhaWxhYmxlPC9oMj4KKyAgICA8cD4K
KyAgICAgICAgTWFrZSBzdXJlIHlvdSBhcmUgb24gYSBzeXN0ZW0gd2l0aCBXZWJNZXRhbCBlbmFi
bGVkLiBJbgorICAgICAgICBTYWZhcmksIGZpcnN0IG1ha2Ugc3VyZSB0aGUgRGV2ZWxvcGVyIE1l
bnUgaXMgdmlzaWJsZSAoUHJlZmVyZW5jZXMg4oaSCisgICAgICAgIEFkdmFuY2VkKSwgdGhlbiBE
ZXZlbG9wIOKGkiBFeHBlcmltZW50YWwgRmVhdHVyZXMg4oaSIEVuYWJsZSBXZWJNZXRhbC4KKyAg
ICA8L3A+Cis8L2Rpdj4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL1dlYnNpdGVzL3dl
YmtpdC5vcmcvZGVtb3Mvd2VibWV0YWwvY3ViZXMuanBnIGIvV2Vic2l0ZXMvd2Via2l0Lm9yZy9k
ZW1vcy93ZWJtZXRhbC9jdWJlcy5qcGcKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uOGEzZWIxZWM2ZTRlY2NhNzlmM2E5
MGQ1OWZjYTk2NWViZGJlMjU5NgpHSVQgYmluYXJ5IHBhdGNoCmxpdGVyYWwgNDIyOTUKemNtZUZY
MXlvJG0obDVHKSFRSXs2LThIem8xfTh2cGNQRWdMMVB2cmVmTUNJR0xVNmE+N00kU2o/I2BYJG9k
NXNhCnpgPnByZ159WUEqVEpLeHlvdTFqVmY0aXI7YzIjJVI/eUJuakgxbzYhVUBGTmUkXmpxezA0
UDh8enwjczREKGg/YQp6NSYlP0gwY0hSSTVDSiQ0SFVOZXE1Y0M2cGh5bDFpN3l5KCZCITZRcTVh
VH4tVTt5Qik5UlR9SjhiaiMkY1kkKkwKei1USSRybUBKc1RDX3Z7fjtENiFZcSkjaElSSk5YO3VF
SER+Jkt+UipSeFU1QiopM2gxSUQ5USFJaz96NElSSEAhCnpVc25yRDJXd0J0N3VHZyomU0tPQGpq
aHlfYzI7ODRgaDJSS3M7PCkzd3NzMnM/JCtBPVlDNHd3NHdnYnopRHEmOQp6cVExaHVQT2VWWW8p
KG44UEw5cVYhb0ZoRWYwenFIQCRZSTVZUlckKG8oXkt2MkM1cEEoa3x9U2x6aTtHPzN+b2wKeio2
dm0+Z3wlZWx7QEU2S0J9VjtFQSRAIyYqbk4xfFVFRk9yeFAqaitJNUBkRXhWaFAmNmxALVQmWWwq
Jll8Yjd1Cnple3FucF9PTnVmYk0+QHlhaTt2dShjKj1SbSF9dnRIMyMkIzlSSXc8Wn1fKlk7Knxk
YHxMJWMqX3JTazw7Tkx5KQp6PztpTWY1QiZlSDJtYTtsU1VXPnE5M1FBSjEzVm83ZipRNmlvLVE3
P0YwUGIzPzN7cTBsJWd1Xlo+SX1keyRSUjQKejVPYWJvYGQxd0E5ZDspYURQe2ohRCk/IVlhN0l5
RCtEdD1CVH4xTCZfSyk5MypsWGVIPklqMWcwOFktSD9wcEZ2CnpsbV5jWURHXnFuNGpWU3F7Ykww
PEVHI2AtQntlaXVlKUloNntEPVNGS2JLUX4rJmZeTD9LaUsjdE4me04lTD9paQp6TEgkRHdERVNM
MzRAKU5+dTdWemVtYWd1ZTAwMGghKjM8WlN5OGd6d1A+a3lpNiVkTitlcSk8fDtLQVNjI1hzPSEK
ejl+dkRrWCgtSigpUHFIfXV5RDVsMDkwci1LPFJDMTFMY0VDMj58ZmUmUV5CTDBEI1I0I3AwSD43
RkdhMjI+bE9XCnpiI2lqfmprQlBiQHh9a2QkTDQ+Kzc4V281PTRvTUpeRWR2N0YzXl9IOF9VPnZ4
SD8rK3traXgqYFF6bTExP3tndAp6ZyZPKmNZVXszYDF3R1MzYD5mRXhNZnE+K3s2YkNydVg7UEVN
dEA7akY5cUdkdSUoQ2VaenVndlRQcTcwPC1mMygKemdSYk9YKnVvdSh7eityIXNpXlo4YzZaVkdv
ND5ROCtWQT1DaG1XbmI7QHtaWExzdDgqYGo+V2NpaHA1JFRPSXdzCnp1KHpGXytGI2hpTEhsblJ7
QjVRR3U2T3MrYGRqOWc/czkrWT07USV5YE9vYFdUS3d4P3AwK3hfZ057RylTYkdAIQp6RXN2Rzhq
T15kXyZib2lnPUlTWitIJjBpYEtYZCZiWjVgJFJ1SmBjUHs9MlFHeVV5U0JfNytPTj1rNmJSUzVK
KzwKemB2Kl9+V0MwbX41fDlTJDBCNjcmWn5gbyNTMkVCbTU1Tl8wZ2tKZjFUS29RPGJBWXNxdERu
MV9qamJvOEItRGJlCnpESFdZOSo7eSZNSWteTT87SX0+Z3JVOEk2dHZffUshWE5vcG9nMXtodW4r
KmllRUM8TTFxJVEpdXRINnVean4kZgp6YH5aTkcxXnxzfm1SfDFPfEtKRHZgdmVDZDB+aTE8S20/
RWpHeW8mTzI1PHhYZkMlc21EIW1lKjQoSV5TMGFMJmQKenUhWUwrNClfM3B6JCtqRWh5cCRVaTlq
bGwzNDg/I2ZpbURiUHp5OHg/TGFwJDBRPnxkZmpNOXEqWn1yYFc4ZjBGCnoxQSN5WUFUJHNUaHpM
WGhxNjR2anhJdXktYWdaIVgxKjhSZjRsKVBYZlNmXklwZz5TS0M8PkdTTihFKHVpYS1eaAp6ZFFk
eTQ0PlN0OzF6R3teZktFWlRGa2whfDcrZUBLNzx3MkU3KHAwRzctYms4NyF3Izk3JmpQeW5BYjN8
RmV4eE8KekZyX2R4Rnpxa3tGcTFJTEZuY2Y7VTt2Qikjc15iQCp9I0hlWHxPdWo1ZDBHQzRoe3hL
ZnxJfkc7QnMmU3hDY0JBCnpVSXk9alooIWtKYWJQSzcqPGVMcjY8fkU/RW4oZVlnSkdqI1EoKzVY
WWhadUNqPkUzTjk+WUd1cH1+PkR2QV93Iwp6RFomfVIqfShiME1aaEomPC09OU9iLV8pLVpOT2Ne
IV43amxHciRZTEU1Slg4d30lZ2FrQjB2TzR9b3VrQUJBNm8KenpkJTRoQVZPZTQ1Sk9OJHV0NHhj
aChQI15QPlJyc0ZvdiohYUUqdzlOUCk8V0QySGY+PSFfVktuMW9vMipuJjhRCnp4UF5GIWdvIzls
QiNma3ZXUUY5MTZvLV9IKVBPWEN3MUlTb2pEXmdBRVFZTHVZPilnM0lSJntLeGVJdzdgM3dhRwp6
ZyZJVyZNSDlzaUJAYHRFPHJfKmIkX21PMkRtRSVKc3grIUdzdXlaM1k1ezUrPk16dFlHJkQ0TnZ9
YjZCWHI1QFgKelhobXE5WHAzbXE9czQpPz0hKW84PXBwRTc9ciFuTD0hWTBjNzwzcXQ3XldFaDcp
Y25GNyRYP19tYElyUG45YFVRCnpuOEJFN25EdjtgbT17PCRTWEB9QFNXWn5jU2pBWDxTbGllTCoh
MC00KmpDdUR2QTwkPlZ6MSRWYWNGUilhViZBZAp6YWRMNkdhNWl3XmFUI3pHYXFWJVZhTGFJcWFn
WHReQHAkcHtATzwmb0BTNT9LQHhsMT9fPUA8Ql87TDgoQHUlPV8KejNDSVd9MzlKZDs2TzxFLTVu
S19INUkhVGNDWDZKNjVLYT1fNT5YUCM1OytqWDZWKHplNVdeQlA2S2ZMdDVOOGx+Cno1JH1gV2w4
Qkk0bDA9ZXhDeiZPTUEhUjFqQWBLd0BOOypoLUt9SnB7UHYlUFluWEhwK3BCJGgzOE0hX0FDLU41
Wgp6OVNSJUBhU0EoJVBaWF5ieU9lbThsOVl+PURVPzRia0V1d2g2c1d3WXZaO290P3gtMjRiKmFP
c0E9Qz5yJFRXZzkKekZLSXJ9YmtIMnJRcVpjPjJHVyskJmU5PiMzRFZpcENEWmxMVUN9ZXA+KGpy
YnVjaEIrQVlAUXZATWtEdG19Zip8Cnpsd2ZwWSV3ZTJoZkBjekJhJHgkeF5waEVlblVDMylJZ05S
UTElYCM2I2c2MyolUDE9eHN9UVIqWVl5dSk4IURTNQp6bj5Ta3QrWF8yQXk5Iz80ZG9CQVIyUTd5
b00/Nk9sJDBIe25yejItQj1OdU97bWw5VlBSfEQ1NkgjNF4tY04rSHUKejQ7cWdnUFk2I1Aman5M
SnVRaEs1PytoT2ZwRE4jNXo3RDx6ZWdTQFd7Jk1+dTBhXmliZnBtZHNMMG14JSFEenU9CnpBdmhy
XnAlOUBhcCZNYS1WTmM9aiFiYykoQWBUK09CSE4tMnFTbTZocUhBSypWaXNjQVYkMCVgO155TDY7
PiF8TAp6NSo4OVU2MDZUPm8+QEsxZjNfdmJCeHheTUR0UmN5RGRqRnpFcDtVPUVGQzE+Q0lnbXtt
eCtgYW1jXkZVbH0oamgKemwldGxqa3Q+bHFtZ2tjWGtaKTZmUSYzaWpTRDAyTFE/eWhwUWFufT9Q
enFBfHBeVTFtdCg+YTdzPX08fHVGe3xpCnpxcEdDKFFGVUk4UFImYFpSdmwxUlJSNV5IcHV3UXdy
cVFTZ3VjQEojcm4jeGJyNF57dnFtODMmcmRfT2tzVXhLbQp6ciElTF5zT3pRTXBAKlNvdFhISVdy
N3hxT3B1Y1J1Vkd2fDZAU09PJC1TYXZfMVZjVDtlOFVTUFMpKVh3NFAhcHoKejI7KFVlMWB9VkNL
MnVeLU43SDZBM15OT31OXj59S2VlK2BUZGtifW85RSp6PWlaOVklOTl2M1RDUl5AVkordH5gCnp3
UFApMm9uWEU3UXRWfkklV1dHbW5+eWQtd2kzMlV3KT1Me2NCeXRKXzZxaXlfRSEkLTRoMFRSansx
JWVDcXlUNgp6citRfj5YOXdwV0Y2MXUwRX5CbjJ0YFYtd1pvK1BmWnBaRyo/KWVAZDQtPTAlUGg2
PHVHdzgrV15+UCgoVGlpUiUKemBgU20ocl92WTgqViVXX2tKPDBOLTxIM2VlX2pBPWZNcX5PQVhW
VjJ6P0M0JHB6TDUhQFFkSiU1U296SkFzZUNjCnpwQHB4SVVwYyVRM2daayoycztuZzR7dngpX0Ih
PFMrOGc7ZEJAeVRtP2goXihNYyF0PGdNRFpCWnVtWFZgX0p6bQp6QmRzRilxZDIzSXFWQShEcXgp
bUhWcDN3QlZxZUElJE1NSHllMVFNcHs5ITZ5QkVCI0lFNVNjdT9XNXwpbm9wRlUKekIwcnJjbmtE
dW5AZ2AqXkJQViskRlE9JWEpUDFKP3tOZUxgcyVgM0lucDdHam9pelBAYHFkWSFGSmw/Y0dSaVpf
CnpHTlVxWXYrU35GdmdOYURhX0RvQ3pRVFg/ezxAaX5tKW55a217Kmlmb0ZBM3tQfmNwIVQmUHZ9
cWUhNXJzRjxgawp6dF59c1V0N05DdHhiJGI0T2oldHlUWHtBRjl9QEtxX34hTCh4NUIoKT5idnN5
aiFNREdAKyFLal5sRl55JFFuP00KelUoSW8/WlM4WDFeU2FTYHJUVUhyayVzQzxfUXJ4SHM7MERO
eXltelQ8ZClZaFBwJHJ+N2ozUj5gfFVSRVlhTTFDCnpiRGFqQTZGKVM2NDBrRGFePilqM2NsSnAz
d0R5WWlIdVZZaiklT2ViKkFET3gpQ30/c1J1QXpGUlMpd0kqTmd+Xgp6KWNxOXQqKVM/UCtBPTBG
KTs9eVgtYVZsPkYpKm4lSVhhfn5IOFg4SXkqeSh6djtFOFEqVTdCKz9BPWBHSmx1VGIKejBfSC19
Qkkjbno2NE1mN25TWiU/TVBfQWlSZU49QSYybnZULURDWko8TWslbVgzYGVMUj8jOzFjR0hnQiZk
Kig9CnotSGtvaHl9U0wwMUZWRGVMJm4zWnFpMDhoI3xGbjZDKztVdHJfcENiWDllZkg9TiVVczdt
SnJwbXY+aUAqRkBLYQp6SC1hfWt4QjluUmNSdSRCX2JDcmQ0LUpwWGtNbURYUGZ4QkU/aVBRMWYh
YEAhbjN2R1I/YFopNXBnaml3b1N5KUkKempRJFVRYDQwdXVvZCFXXnBqWiNZNCUmbkgweWMkWmY8
dTVpZiF7JXhNcUVOI0xCMndUTCEoRG0jXytfPCFrV2ZHCnohND0yeiRBPUpYNWl0ezZrUiszaWtp
JHslUUNkXlFRaCVvenFkbGFEVkwpZlpVX3lhRGBFRlBhU1hiRF8qKmlJXgp6SWRpIV9hMGxfJl5Y
bDxFPDdYRFk1eDV1SjVFPk0mNT1qPmc3cWJgRmtgUkIhRG9HKVFGTzRhS0JudkQxQWFeQnkKenRn
eC1QdFRkeE10a1J8MHEqa2UzcmN0YX1xKmJoNHJVVEtmKDV1dzFHXmwhQldtc3dTLU1HUjhWaFM8
KVplQ342Cnp7JGtNYm0oYH5BYE83Qzs2Z3p4LVk2bGlhSnxfdWhNSGdMSFlkMFZGNz58NjxSPDla
RjZKSTFoTmBIWD53THJAdAp6LXs4b1E8anx+Rio8cVJDRFgtKCtMX2BGPGIkaj5ueTx3elVsdz5x
dDN9WTs1OVFGczRjJSVmQmtDPmtiNlJEQ3wKemw2aDBhS0ZnLTZyczx7fGVYLTFOJG4/dyMmSGoq
K3trMXhgS1d7MWp5YiFVN3czd3FycyNMZWtycmEwdT9wc250CnomaTloYSVCcUl5KXwjJWB6UGgz
TShUMiYhbldua3NySXoqOXl8Iy1FYTN8Z20jeEJ1cmpVTE5ocFQ1WmNeYTAzVgp6YF9TbXteMm91
QGlfelAkYHwtUHA+JmM2JGxqI0hLWStJWE1vU1ReK1ROcW1HVUZ1cnlVZz0qUVRVJUopKnxedk8K
elpLTGlHPyRZZUI/K1lEQkExV1J4QUlxRkBwQXd2JnA3b3I2ekhxbnt5K1hmUXhgeTBALWZHQGEt
SlJVR0tnMihwCnpLWEU9aXtWKElzNG8zLWgxfDkhaCM4c3BkNmw3RjdHK0FfOGo1eTI9dFRQLW9U
cjw0U18hRVJeTTVAR1pOWkxwKgp6JHlxNE9ENUkmV3NIYlNvPWBpUj84UiF8UW08WDlzbjZGdEBT
JT12Zyp1UWNfYjkhQGBiMVUrMkApR2JxQFU4UnIKejNxUy12M0hifH5pYiNwbGl5P35iaUh9T3VK
Xkx5ZEZCSzszQmpZSWhMUVlSIVN3VVFwT05tQXFQWCQ1Y1Q2SUAjCnpVVlQpZlNGPU5fTVl+YV9Q
UGJhYG58X0h3e198fFpSSElNRUYoeitLIV59ZD1Mb0M4eEx8VDVkTzFDYX1gT1Qpegp6dyN9fkJl
I0J3WWFvJWEmZEVlI1E0Yz91PWdWal5ZJWZRPiZDKV92THVoaFJhVUBVTXc9cHFDcjYhe2Y7Ny1+
M3QKel9+WXlJSCMtcHZaJTV5Q3l8MFRiaU9QdW41RUI7YjZYKjI3Q2YrOCZ7LWdVUnxIU2E1c058
MCtYYGdkYWlfKlRPCnpTQVN7Qj0qUyQlbiN4fCF4eVhnakJnfChtNUdfPElHQW5qMTJgJjlsbVFA
YWNHPUotX25FYnZ9eG18VCFlTz5jWgp6MlZhbFlmWklzaU1BPU49IXJJRXlDZjJVaEB4MFVWTUBa
TWw/dC0zJS1sNHdiez9rRiZBXmMoYjV4JD5OcWJnKEMKejxONmJabGcza34oYEdafnpzelNYPH1C
dGQ3QXpKbW1Nb1dUUzZvKkUqQ04rYkglY31ldys2UXRiYEV5JF9mWmRzCno1OXlFQ2syeXtscGZs
ajxZfntUREJJYDJ2JUpeRk5oVmJVe2NLcSghZWF3VVhxdWRrQ2U7RUomLTJSN2drYTAhdgp6SmZR
WX0xaHMhbGt+R29AYXhAQjJOKFpXQj5LMisrK0RDZFUxfWE4b0NNSVNFN0FqVV5IY1dPVDR1SW9+
YkJrKysKenlPKmJpSD1pJCZLVX1+fiZfcWFDU1Vga0U2a1lVTVkpJDs5TUJCNFUkd0h8dD1gQCl7
Kjt1KV5AfVVhOGltcG1GCnolQkN0aHMpfW1qPmlpbFVub0xecytPI148eD5SfTtgbEpSIyYrIWVo
alpscGRPaDZfTnJaOzkrPUdQVz9tTX5VYAp6KSkrN0daQWZqWT9DOTs4OVhLNGhvJW8hRVRxSW9P
LTg5fEpKWH0zUHoyZCNJZUpYdDB7Nl9wMjBgPnkwZ0pEOUQKekxzNEhMZ0BLQH09PSRyNEh5c2c+
d19ufnh6VzBpPmgqRklmakc+OWVoPCU3Vl9ePXYzcERePXJgcU5DfXVjVnBlCnpuVXZ8elE+aGJh
PExSU2NNbHl5bmhxRmVyciphbWNFOFRKNFoyQGN7U2BsNmBjP28/ZmRsXyVKRmh0XjtiY01gIQp6
Ki1EdXpzcEBBblZ6dDZgMGApdSU5RX5oWl52JT5RPGdGeGFCPDx1S3c0SDF9MWlHWlVSZVNWJVUt
VVdsZGs9JlIKeno4aWBrUDhyR2duTFV+X21ObEx9a3Z0aGM2KmN7T0NnXypYdGpuRDN5IXBjT01l
UVl4V3o3fSspZmExUz50UCMtCnpufXU3QStlMTZjeVFsbEcyZV5se044SENeQ28tcFVYTDlHIzda
UjV1U056dnBIIVFkR2NhLS07ND4qciNQdz5DVAp6e352amktKWpPcUdeV2dqdGBvWCUwWURgbDA1
VWBYZkYyb3xsMFhMbDRLeDdJNWR2Vk87czYqUDlzcXsoPiktMUsKejIpZ0JtMVlpUCQwMlJPajJ0
ZWF3T340RnIwWWFjTFdlIWpjXlpeVU44My05ZjFyaTQ3Zkx1VjRwYU1gZ1hhZmN3CnpoN20+dTh0
YkolPEdYekA1bSo4MjR+QnJaVlFIYX1TfXlFMTk2S30/Pnd3M0FIOzFvOEt0d1B7WGhiQUxeaEtP
Uwp6bDBZaGUjITExKjJQa0dKcW9ee2R3UD8mfThSJlRFRiZLeSNaIXFDNy0oc08rZVooZmlGMldK
Tz5BfV48LU5OKDMKek41UmhgNUZxJFQ9dHpXMlI2P3ZxZGBeOzFEbz1Wd21QTXtnZW9JazZzWT9Z
JVJZUHIwTHEjKTduQEZjY2szJkRuCnpramlNeiNLM2dHVCo+MGNEIX5UTkhvfjY5VmFxQVZnfkdN
T1VCbU4lKk81PCFwSWQtajVKdzFJNyptOG1sdUM/NAp6VHRZKG9uWjR2fHNjaCtYbktkfkNkMWVK
PU1MVlQ4JTJfSW5zeHhYPThicTM2VEdyWmVJKnF6fSg3Q01zSmp9NGwKelh1fH5HUkw7IUR5dUBQ
SmxFX05pSXt4TFRFc21YbWVVYCglbFpiUHklYSl0MGR4MG1LbXloP2x1Wn58JmZMTEhuCnpGbjdx
ZVM2cEc9VS1QYEZjKzIpS0theEJ1Qj9jIXB7c1VKMHI7byYrYSsyN1I4JFlZMnVCQ0AkJn05RDFl
KUNsXwp6NTFpanVtezRxMSUyXkpFJXZNeFkjI2cpNVlTd2MkcUJPMHhSSlRRUjgybilFaFV1Qj5z
fkpjZkAqWGk5bF5XLXEKeldTcip5cjh9M2hhSlRIZWRjV35Abl8jIX1LPDtTJF56OC01KSU8UGpn
VXB9aiQ2dz01QE1yd19xMnNScyVgaTl0CnpLfG1+ITF5bitGMnk/KE9HLUUmeDUmJnN7OTYlQUV1
aDJ9dUc3SmNZMjFYOVgwVlY7YTVvUXlOMUN8MU5mczRXRwp6dXZELVh1ejlmaWFKK0NLYTZ8QjlA
R2tIXzVKKFpjNXlxamheZTRte0J5KiZHV0M3JVM2ZTUldVI0fVNQPklzQDEKeis2dVo2YFpSX2Yj
eCRsODx8PnYwKSluPn05REpOMlR5ZmxTSlVoSDZ7QTI8eWYrNlZXcVo1NTZIWHdsXkRKTH4xCnpM
bkNWP2NjLUFFbjR5Zk01fkRoJEV+SyViQzhNM0FPUVNic3BrPiUmdFkhKmpSJChEdlN6fDN7XkpB
Q2V6fiRLQgp6dG1CSTF3JnI9cE9VaXI0eDRfPkNVQyorR1FpYW4qYXp4OTtueFc2TCYxWCtpQit8
ayUjPEgqRWlzVk5YWmp7S0MKekJ+OzgqZ1Zlc0x3YGk8dEEhJjIjbkNpeXB3ZGtLY1hFSjxZbHg5
M2BpZmtybj9yVHg7ViRYYHYrVTh9RSY0Q0BTCnplWHY4bjZPcHJuT1BkPiF5U0stKm0jQkJIRk5S
LWB8NiFtLSZgZ01DPXVudFNffE99VGhfUUVDPz88RTVxV2ZiTgp6OyhGcDA2TlckT0NOM3NCcX0t
LVByJkUxdCV6VTJwbXtYRSNub20kTFFJdUY+U1ZtUjh8RT5PZVdSKzxSWnlqM3cKelIlMmBQciZq
QkItY0kxaFA8TUstUX4kRjtmfSFKKSFPQGNPKmgla2NuX282X3t0RT81ZCNqU2BJYXxtKFVWOXNk
CnpoUjApUD5LOHcrXj1fOVFwZEtnbXZHTGRWfEw2OTxfe2FYS3xKYzl0QU4laXUrQ0xsJjEycDV+
M1g9QGUzYlBCJQp6PkJ4ZTh6JE1eU1NUYX5jWHBVd2NqdFpLTWAzODNudUxQZTRlfW97NUBDQk10
KE03Q0FCMHZnNlQwPlN2WmFgcn4Kek5rSyh+JlZZUzFHcWVlRzc0JldsRFU1YlpEYT52eDZ8Nn5Z
Myt5QURVfGUrRUVJZSshWmhUfD5iQW1XUlI+RENkCnpYSlE9VU1pT2dNWXw9SXxTOF9gN3BBQGVz
eGhYZlAoeHxtKiZ9anh9cXYleFd2Rkx2PjxTO3JoMntGU2xrRnREVwp6d1BPPXRNX35XT1FPQH4+
JWFtSn5obHVCdmNhZzckemduT351dSFPNnhLVShLYlZja3wwezxER3E9OGhoYmItdmMKejk5Vyk1
IUJYKnFRaUpsVUR2fXpQeH1uQmYmMDRKOzlkY2NMeSMpUUEmb0s/UGpncExLT29gMm0lK29DdkVv
clJtCnp0KmRONndpPFJoX0UoUFRQOS1rTHUxOz1+OSNXcCl5JX5KNns3QylOMCFmMiVMWVBDViE9
JUZ9LXE9Um16eHhuTAp6NzQ8RGZFVmwyMVVpe2BxLSRjfTsrIVhROGI3PXV6JFROT3F4I1VvTW95
dG9yRmY1YGd6OXtXMiYtfnsxVUI2MTgKemhOS1JyZSFwP0x4eEtaWkopK2FCaT5uOUpgP0VpNSgw
eTNgQyZsUV5ffCM8MGJuMzVIYkl1RGRtZHNYYyo4RGE7CnpaZExCZz47czFeJEEraVQ9TipAS0h2
KUl3NUIweXQte1UwQF93VXNNMEhJMWoofnBaIVBpT1ExZlJGJEg1QWpiPQp6Y1I1Y180X34zZCN5
a01ESXNQTFR8Qzw7ZDY5NXdFQGk3ek8yT3c+fkVCPUBBKUNPUTdnM2R3YlU9VEZgZzlRUigKemZ1
NFE8NndySVhMNmVXckApdEQtMWBHPWFrQVI0VGl+PVI3I3Nwd01VQCMwVTchTDBEMV9+JCRgYWJ9
UjEmMis9CnpCPyp0Q1hATmxQaFJnamJKe3lybnMtaGlGWXhKMHc9WUBNMTU7OHNrQXJVYmhKcCZe
WEdjTzslZlN7MUR3Mlo4cgp6eW4+PlZ3dk1pekp+WnVXWD1WTT0jQDVjPiFfJiojJEpmdDR7UG1s
Tng5e0ZaQ1ZjI3FuM1NDSUlXXn5OWmVEJnQKelZOdm4tJUJ0I2ArUGVDTmo/TiFsLTk1ZDF7YlM9
M2xUKl8oemgrbGYqVlo+U3gzK2g3UGZwTHlGRHxkSFoqRzY8CnoxJWpAbmYwY2h8Xzg7YFpnNmFo
VzNrIXh0X15sVFIjc18rVXYwJmsteFp0clJINCFZX2FIelJvQT52QktYSUhjJQp6KGVQKjs8R3BZ
bk1hSE0pVTc8VnF0PWI+V3slZVlie1hmI3xaXml6bCpCbz5xZmNhQ3ZGd2p1fmdQfGhAM29YelgK
el5MSyRSPjM8NjFLTVY0bzAhPytJcGdeO2p8MTN7WENMa3llWGsmUWo3WXp2az45ND4zPip1RWhz
RG5jSkd6KnxZCnpCVkhJUkZjdSZJVHRxVkZ3Qn0pS2FPT2xaMHs8VCE7SFJKZUo7V0lPPzsqejZl
LUFPbnw5Z2xyQCF2eT8kXlYwNQp6TUF+SzducHxQaUQofiomMjNNc2ludU9ga0J0QD9CUU1gTFo4
MCkhSnQ4aExEbTNwUSFDQEh1ZGRWWFhXT25tYjQKej9kcEpCPDdtTWQ0M35hUGNiYFZ3NSFFXyln
OGEzOXJte2ZXMW13Y3JEYClHTXFRSTUkYmBwQSUjUWAxcypUdW1kCnojKz1BPUhQYD19TWgkK05g
aFRKNmBufj58RG8lVU4kLUR5X0N5dyohNmspMVZtc0A7JSRIbjJaQDwyV0lTbUtZNgp6Y2Q2MCUy
YVBtSnlmJTlGVS0tT2xYLWFjaVRxaC1MTVJleT0+RW1mJVRkXmk8IUReMm4qZ0ZmLU9vWHc3UDZp
QTMKenU0eWRSQnBCYFZ7c1E7TGQ0JFNlRXM0aFZ6X2pvWHRAMH5OP2MjV1pFSldRZUIoRGExXjBn
dDtVWDY/XmM+LTg2CnpaT0d4KEM2e1dxR2BpZWlILTIhX00pMSR4NSVOIVV5U2wyTzMkO1Q9T3lx
d28ob0R7YDZjbjJwPEReRz80IWQ4Rgp6bzF9Nkw7KS1scyE2NFh1TTRqbCkmSikreyNoSSZrbkN9
PGkrP1JqM0Uxc19aTzEmI2t2O3IlLWtXY05sYVdeP3cKenJ9Z3E2UFJeSzBRYDw+TCY3YGJnRGRn
dF54RXhePjxOYnZoJTErWGl1bmd2aT1vem5YZGQqS2Y2dGBOXjJqNE9tCnpCO1F1fmxjVz9ySG82
O1EpfUlwQzlaJGY1K3hAJWNTWHNaTHU4elAzUjt4OX5Fd2FpX2tkb0VYampgVGglVlJ0Tgp6JjVl
WSExb0BhbV5aSlVEPzAwYmkxPyEoeld8TzxqRDMpcXxAekdiIWBZR0VeVklyPXp0WCp1QERHJUhv
JGt5JT4KekBSKlFHT2U+NmU/cChkIU4hYEM3cWJGSW1HRH5vRFU1Sn5pXklKKW5tNWNEMjloZXx+
Ym1gaE9Yd3R0TWRhaSEyCnorQiVmXlJqWDRvQDE4TWx5SG9+Vip2KEtfdUJfMTNGan19Z2t3Py00
PkJifT1jREopM1dCQ2FYRjJTb0YrYF5QTwp6d1VPe3IrJk1CbF9JMSFwT00zcjs7KFJwcDBiYlI4
eW9nYXo0U21ReWJeQVdYOGpwNjMmVTIoQm5CcmJ6e045OU8KeiMqMmN6TV8ydkV4KUV5LUwrKUto
IUs2QShqWGQ5T14+S0NVWXZrYHVTMkVsbUl7T0pKVjxwa2ohXkdzTlRZZWt8CnpicSE1TmwrcmdR
WmhoKkJOS25DZCRfLVdIYHVKKzlIRTVaZl5UJGk0PCUtQyYkV3tUYjBRPCg+biRhN3RZdHw9Iwp6
QXAoRExDeTtHK3AmMzBYa2BYZUZAZm4jaEMtbEYxTklYc2QqTmg+JnQjMjlxcChKaE0tZVNkc2do
cHF3XmRKUloKemd4cUBSXnI5bjdrIUhOaShnO2ZfK0hYJSQqMmo3MmJEcHF2O2Y7QSh1KUx6SXBW
WW5HRj19Y3F1YHoqcnpzKUR2Cnp0I3tBTzxzOU1ZPTdfWV54SXNPRSRRUy13P0pvXmYlbWdPd25O
R0wmJDd8PjktZ1czQHlFcXxgOUMoPSo9R1RTSQp6XjA1N1FrQnlveislOFg9cHtpXn5lc0JKPns3
X1VyIzVYfmFPSkR2SmcocGlZOThNPTQ5eSUram8xQj9mblhHMEUKelJ4UTt0UEIjeyhNalE5PCRa
cSljRGtpQCR1cDYtKTFUU3B7VkhGMXxBRzNlKFVmQU93eWhnQk0rWS1sK2VtI1A+CnopJHNOSlZJ
ez19amwxSj18MEtmbzhgRnFjbFFMP001Rnxibm5HK3IlWWM7OHJxMSFodGIjZzIrbmpvUl5aZWU7
awp6Qz1uZn16NEpPfFY5UkNUZSNDUilRUjJGMGVOQ242ZHhmZF5YPzNTdGBlXyR9c1EyMWI8SSRU
WmZCP09rPEJ9a1gKejluV1JgTHorPW9qXkdCYE5SbkhkK3I5WUwqeT5YIXltai1zQzR1YjdTbyQp
MzVmfVYoaGYmK2ltcXs0YFdZeU9wCnphOVVBJGdwNDwzKH1OR1o1VGZoNF90WlAxejFmTEx1OUU5
bXImOTxXbk5kaFpRNlZWVGk1O2UpNl4xNnskcDkqQgp6aCQ3ZTAqOHA7c3FVI0VtRyF4LUhwTUBs
YW56ZyV1TXhpR2xiYjZPbUljPz80bCZJYHxoWH0tYnVRK2hEQSFNcXQKejxtPWskSmV+QDwxRn4q
JWZaejZ8eGFPM25LbjRCazQxVFNjeWpHQH1pfnA5eE9mTT8od19YfXBeNXRwSE1lTGV7CnptdEo0
aS1lcTZ7M2lzO1FgZSFAMClIVm84QWo+emZuVVp9RikkbVMzNiR5VkRyaT1MWjR9eTNWYytFezxP
dTZ7RAp6T0M0bHtMRHh0OCN1TjNvKWRtK1BOVkppPEheemNMK3pVKSUoWVh1RyNuMnJWbm1vIyQw
MmpNa3tIJjlwNDc7cSkKej4qM3hIWmB+bzk2V0hpelplKThkcmVXNWo9Z1FxdWx5fClHSDw9dzJM
elojbkxYWkcoKz5nPnF5em5VSkcpP2RRCnppNHtuND1CaSZ4Rj5YdFJRbG5udFowa2VBeHNaUG5p
aTJQNzhDP3c3Q3YkdWFTQiRDUigmSSkpZWJfc19uNT9ePQp6OVcla3kwSjM8eWVQZEVvYmNDJDAx
JWBwUHZ+RVBiWGcjRkZaSWgxOVdmVUhiaVlPRmBhVzBsfjYyc3JoT3RpZiMKekI0fWBuTD00Nmc0
cmtmUENJMlgxYWIxd1RlSmhzdHJZIWRneUEhISY4UyFKdGlNeVk4ZUdsTEF4cWglX20qOVQ2CnpN
XlR0UGNTN31TVzZpQ1pkZk4ldHA8ckYxdHw2UGNMKE8lY0A5Z1dCWFhAYCtKPko3UTRsejxKIVkt
NWc3emQjUgp6YyY4UUgtOFNiZT9ve1VlVX45N3lZQTJJQ3I+V3lSO3F3JEhJfXRCaTNDT1A+Q3NY
UXMjbVd0MWAyajtpU2x9elYKemU1PXgoRGRDQWFTdyM2LW4mTHpPZHlWbnZ4bCYqRy1lI3UhPmdz
OHZONmh5Mk5YMiUhUTcxWTNTZkhqT2RFY2NtCnpiNDJRfGt0M1FCaWV0SkZEVjhHMHdqO2c+TSlY
JXdJZWRHSzBLU0t5ejNla3hyaGFVPClKb3tIcnMzVXg8JCl2ZAp6ZjlWRUMxVmpiYyZLaUJ6cVNa
e1lCVitgOFh2ZHVCeW09d2VveTlzYXZzSXRhYkUlV1hKLXMxajghbzl1JihHYSUKeilqV008Vmgr
UTY5SjM0XlErTFZBLTxxMiNTRHRzWXl8I281RHRvT0Y0KjkwRShEZmU9NjtIMEZaaHUqdEZNazVT
CnpXMVpfV3YkeH45MlJxaFJtRHxEeVZuVm4yLTNeJXM3XmB6aC1OYG9BRlM1M19eeShaZjt9Yk56
KT1CbGg/MXRjbwp6MjkkNipHYGstPlcwcT5gZlA/Y1ZsX1IrNTczJklZO3JQKz9KPndHJSh8ditq
Uk9AbnByPVMzZG1efmxHbW5WUXQKejBfUipmXjdRRDlzaEIjNkUlP0I+YiskJEBfNWVZVDRCT2FX
RipYMW1SPTtxMS1rZld+RXllZG1wLTh2Vi1oSCMpCnokbHkpNzkpM1B+WTJsPXY/YipAME1lZGVr
d0soIVQzLWpkdFF6dEohUlFxQEUlQV8jcjEkYncyQmA0IU97dDxlXgp6JTElUClBcnJGQUp3Zzxz
cFZ2TF9ucmAqU3A4IW5yR2YmS1FuMk56U3VNU0NBOy0qPntQRTEyUjloVWZrOzY1UkcKem9gPiRr
eDM+WDdFR0xLSkJScnopUj51PCNPMSQmaGlndFUmKTFKNFBld3s/bD1ydmZuTVhFdzMxd2tRYkhC
N3N2CnolcVJSNkB4fUpGJDs+fDEjNG5Nfit+cD1JdkcoT3lHNjVJXjBFUDc5ZH1mSERBPEckWmIr
Sy07Km1NNTdUQSE7LQp6T1NOPiRkaF5ueig2aX4oK3N0TGlrQl4/eiQxZlklVSY+TjxfJU5gU151
Mz9TWT8yNnthR1VUcko/RWIkSyE3ZjwKekkxaUtiKW4pZiRDSD1hdTx3IUI1Y15zSn5tIXNWZ01Q
blptY2h7ZFUxZVZ9ZT08cHBqQFhnKDQkfWQ/KUBlQ0JMCnoqJFZUQ3Q1LUBXdXh3Pmd1eTh+PUU1
aXVUJUdsSit6e3tfKWowS2JJM0ZsWEB5dnYoPFBUTiVEVTdIfDdoeiQjTgp6ejxNfnliLW9hdE1t
Uy0zbCVzbkJBT0B7emBnXjFTayRFdkl4NHNRI0Q0el4oQCZnNlhIOFYoZno5MWNiRz5hNHUKekl1
VXBxP0ttM344TjdlU1lGV3J8OWVSRiZIXylFRHN9R0E8bWZQT0wkeyFtdiVyYXxxbkM/JmYpJDkj
TFIpIXpLCno+IWJEZDQyNHpsJiNXUDg1ezVKMzllUnI0Wm1iQ3olTkZ1R0x0YjhuJF4qN19lKCpz
RTRDbEcpTiRkVEomYj5+Jgp6VyNZcCEwbHMpOUw8KyZCaD0paT1XfER6QVByd0s5JXFQR007UiVv
PnpGRH5OKXA8TjFzK2QxISR2WUFGNW83ZUQKelgyKnVFdGgkTS09NnNmRFR8MyV9aXhRbjFnTEpi
Y2loMEQ8KkFZVlVyaTNGbj1QazMrOXNnbkBQNVlwSlJoTEV5CnpudlAzSXMkN3N0cmd3Iy0lbCo3
OFNMZFp6OG5oPmo2dDVnTXNyY3dUe2VQdz1HK151Nz1HY1l0NnVadl9VfXpzMAp6akZoekFTNEx5
RmR6aSF+ZiY0KTBQTmklZlFrZHx+LXpnZU44JHh7TTB8TEN1UyFNMElqZj5JPU9KJng/NEp0RE8K
ej9yTHs4Znw0VWsjfXcob2podFdycEJBSyZRJXx+bldySko1NnNWJTFBVmk3PFU4alFNP21vd29v
e1BtajBqQmowCnpOclZodkRxS2k8THVPIX4wT24jWlFuRkZjO3MpcEthfWY+SHktV3xvP3tXIyp2
OWhTOG9SWnUyOElrbUglQz53Ywp6VjZ3M35DZU5WKElzYV54VnxoWUtjajN2fmFpVzFDMHdVOExA
ZGxUI3QtNHA8RkFhKHByK2shcGFFZmgqWSo4PE4KemBMQDNFVnRKKGdIZmt0YyFeYXdnWVh6Tlcx
fCNJdndXd0luVWNIYzIhQl8kR2FsQ35fbX0tdDZBcyU1aDhATChZCnokdWhJSSZkVkFAO01IYVhe
cURpVkw2JGVeJG1jTjYqMypPUjVnTXhCKll4cSkxYClNTTNANlREVU9STHE9QEVDTwp6VXY2NCpf
dCUtUGxUdEt5dFZNZ2x4NGVSJmtNY2RoRWFeb2ttJndpSXktJXN8Z1RCQlFaTGBFVHQ5JkJUY0pm
dGwKekIxdE9pT0EkI1dzVztlIz97NFcwUTdpXnIob19hX2xsZ2BpWmY7VH1pOz0rQUhIQWRsJmww
VXRVQk8hR1FMK1FQCnpPYDZyTWFGcCZTekhZTFBCd0kzRiY/N3k9eDEoNXh2RnVjcWNMfX5eUnh4
ZVgpPFN2K2I9MGxLMUNeIWxWdHdXJQp6YXN9LTdXZz0halBmOUZgJDctdmheYlp3ZmFyTmBmYVch
UnV8SkBQdDFrRUNfWSVQJW5kV0luRkM3Vip6ezxLYkEKejlpOEEhPTZVemspOGIxbm1kUUlJTFJ5
YnVTQkQteHYkeihDMl8kP015WmkhRE4lU2tJT0Mybj1BZ0BfXzNZbj54CnpfeHJSYHotJkNNcjhk
T2FsSG9qWFhtaSRyXk0oaWNNMC1PfnliTG43ZjB2eHF4OW1VN1NMezJgO20+R1V5bkN0Rgp6clNH
UXkqfmUwRl9eMENEZm16MEVXPmt9SVgtcT9UTVN5MnJfdz9zUHhBY2RKKiNkLSNtLVRKTXhycVJf
eTg+eEsKeno9T2t2VFFIOzh3PD5ZPmtlbnhBSnVVPkp0O0dLI2M7bU05UlF5NmM8X1c7cW9NYnlN
YWo0SUNjclFiM2Z4Xmw+CnpJNDVVUChKcUR2dDYjM2E7a1J5bjEhO1VsXzEjbl94T1NZaT1TRyt+
Wn5pdnlQZWQpVHlXVWVyVilUJTAzUEMpewp6R3cjNypXI14ofUQwUng4RD5JcmR6RFh5UT9jX2M3
cSVsTURQRCpIOXpCSjhyK3ZpKGZCNVkhemghb3xsVV5KXlQKelFmfFJfX007NEltRF9maGEkcW9k
Um5EODFHRU10PjUhaDhhR3Q+VzNyKFV8QHdMTjxrYnZJUlZCMHBqXmA0QjZkCnpzTHByMkp1PGpQ
QkJpM3pAPzEpJW9HVk4/SSlHVHwwYGgqNTI7V0VnMmZoTDwwVzRiXjhOVCp0T1dlfVpvfmJTXwp6
JmFmTSozKUtAfnRxOXFhcHQoJDdXXnR4Sy0jeFJ1NTtxV0FIKlp+YWMhN2FYenF6QE5WTEw1Ul5h
T3Bldnx0NFQKemNiNlB9eTZqPnxWdmBIfGR4c2puWlE3Qlh1YjVsPUYyLThzJmpTK3VaYDA/RVBM
P1ZrbCR8X1pqbFF+WHp0VjBlCnomdVBJQT8tYlMle216Pms1PiQ1fDBUO3d+WV9FX3IzaHx0Zz5r
Mzt8RDFedDspN18lYmdIMyY0PjVOYDJXMz9QdQp6S1NFbDdGd3U9cXZJUC0qSzU0UUBtaCR6QUdR
KU11T2J1QmR6VSFKPVVGKXBQRHRoc2JSenBsOTN9ZU1pV05CdEAKelMxO2swYW07OHgqQ0VDV3Yz
NXY3d1YtTnVud0sqPT5XQUw/Wm5zM2ZHeEtkVTQlfV9gSFFUOHB7RmJkSlYyO1N1CnojQXN6I2Q7
alBQYSpkR0N3U3BwOzY3QGQhUSZEPzJyZloxc096bWhAcWEkSjJOMUUlalAwPTYrYHdqMjstYmpo
KQp6d1VnNUs3bGN7Zj9ARXJPYllCcytsZl5vbV9OajRRZjQ7O2lBcS1VT0kpO2ZVMkVnQnp3V2Qm
WiQxKlEkMzNmZW4Keil8KHFYOXd8SUtIKVRQM3YwTzg7byp8dyhyQGRxTD1DJipeRFpZXkhWVVlq
ME9TcTFeQXp5Jjh1VFMoOFBXejtKCnpGPlJJSkx8ZHZjPnswfm8pY0d9QXtUa35NM3MkVXRqWCZ+
RFMqUzwtO3xxfXReKnRrRWUyOEU2dUk0VTJCQFpLNAp6OX0mQFczckNsamhVM210KGRvJUAwazd7
ZlJAYWY8eG1FNnM/dSRFbElwYTA4TzRJdHxuO0NmV0ImPE9LQnxHQnwKejYwUDtLOEh1djRnIW57
Nk1DM1d1VUxzfExSWCtZa2lENFV9P1QrX0QmaTtmOzc0NiN8ejIkLVAoZjdxNiM1YU11CnpOOz1I
Sz95MjZwVSZoYk9DaHN6P0Y1alRiR08jX0t3IVpXSGUxNmxrSmF7PmxgNXs1a15pS1ZwWiY8JSpX
fHdwSwp6cjF7TSlxWVckfCUtUTMzUEYqS3ZzZ1J+dmU+IVo2emJWOHVKIyFhJWY/SG9MU34jSVMo
VkcoOyszMXdOd0QxSjwKelI1ISZQKXE+OWlhcj5Ge14+YjkraXN0Mz55Q2FsOHF0Q1E7OHtjfW9O
X0E+fCY4Tyk0bEItUShSd1FtK3FQcWRiCnozfUlHa2ZPWjxZdT9ROEpmJjxuRUhuMShjU0UjSHxN
PGRtSjRwT2pvIX5Jb0hWflJvazJ8Iz0tJFNHRFhsQSNnKwp6X0VwPHoyIzkpI2Rkdilran55eWNX
RD1DflpOSUF3cDdOcVRQZG1hbkpxX0I2aFVtWmw9RSsoQXheTTszWFVpOTAKencpb24qdFpMVjxz
c2FaPlZXJURCSnR1R1pzcms1fno3RTVEMEsxbUdFUzttUz1kPVg+NSNfYntmXm50KXlFZV82Cnpe
d2l5aG1ZWkFNeyRuKWY3anhHRV4wancwe2FhSGl0IUhKZ1d1bCM4cSVkUiZEZX14MHVhbmcpNXxg
dHg/SiQ9TQp6UmN6KzVwTEpPZHQ/P3FAVSo8KyVgMURYbnJuMGtxWCo4VFNrJFZEY3FJK0x4KTQ7
OTJBO3BRazk8dElHdXslTEEKejh+P25kaig9UGc/dG1aTipSflRLQUFWJUtGalpmPyZfQXh+K01i
PjsyUnV7VT5qLTdadVgxaEdlX2htZnJ8UzFuCnpYO0lJb1dpQ0paSyE3MnJmJjQ9X2R2UVIjKGQ2
MiNVYlI/RWY3U2syaGsqO0tCQmcoditzPE9NR2c0MGRkeik5Qwp6LUR9TDkqPzg/Iylze1RRJSNK
RTUrfX1DMU02amxzekd7eDY2PiliOXswUT02eHd3Uj1QRSV8fXZNPUxII05tWkwKekduWFZuQ0Bp
emM7ZzVLQyozYSE9c1gwISo1ZDk1cDZ6MzxwekYxNDVCckFrZ1Z8MT4rP1ZPNCpab19iWHFSZUN8
CnpFWUtybGcoWmB6KjRTPlcjPTNUN2Z1Vz0pQlc3MXZVXjtia1Q1YCVIRUpfR0ktfihfIVdFOXVZ
RiNtWl9EZHE3agp6SGlVS0IqKF96MVF9RXNEeDV8eGw/fnQjRG5MNV5ucFAxVl9hdkUlQVc9KUdN
TkB1elhjUGQkcm1BRmZyPDZQeDYKejxYISNzLVVOMG4mamhOa0k4M0lfRHdxPEBBUlJuVURHZTl3
ckYzMVpwcFpUfC0oRyomVElrQ1lXcyRMQkpudl5PCnopdnVpMiRhXk91Q1NjfGZmfElnTFBWQykw
Sl9GNF8tcTgmST99OHRScj9FNCRTJjl4Kk40KngjJH5YPm13ajt6Ugp6QWo5VXRERUBJRXV6bnc3
PDF7OFgle05AUlgzOF98My18RiRsRVBVY0c0SHg9YE1PPH12dkd9TT1qc0FgQTRCOCMKej0tSSpK
Qlg/WCo9fXlhWExpMHp5VSk/aGxCYCtfdVc9JjZUajtgbkxtbTtgS20pUD9jUHAqT3dUMlY7ekBQ
MHxJCnpBZ0shb2ZQeXwpSi0pMGxLa2lOPlYyNXgkMFohMjhHUnlpJW1neDl3R3MjTHpXeSFVQTdr
fXlte34yR0F4YSNiMwp6VlNvPmZrMT5wUDFjalJMKUlQcz1RWVpkI1pwZExGIWRWSGVHb2pkWisz
YCRkaWhsKH1jMj82NHFHTjZQbm5nUjIKeklkWjNqPWFBMFkzO2l1fjgpbEg/STxYP0FCMXZ+QSlr
RzE2V0BQKHVNd1hYNCtSaypUdmRDUFB5SVZwKGZCSVQlCnpQNlAye1VndU9TXj10ZEcrPmJaQiFE
eG8qZ19EVF9PKHJkQ1RNd3B2PzJoSDdGSiliSUtiNHJyNDIrKnJIQCgrawp6PjxJbigpNkdva0kt
KzBNTTlGMER1MEV4SylLJUp4OztzTWpkcS0haHEpUWUpNDdUcUJqTCpiUnlNeFdlK0lHJCUKejh8
ZWRSdG1NPnIkZFNXcmtqREVmMzgmODB1WD9XPzNjbCh5WTR7Un1WKSQ+R1gqR1FPM1dzbylRIUpY
RztKJENQCno+dFFOV0Y/ej8/e3JvalNNe0lgam9XVUAkV2MtWkJlTSNZUUAoK3NAaERJKCF6T25n
WUFuJnl+SCVefSpMLXZsVAp6aypxMChhRisjMzRefjduWXRsJjJXV3ohKkxTfVR5TVhHYSo+fHkw
VCNAa2piP1FYZiV7ITc5R2p4M1RYLVdQZmIKemFiNjM8SXU5I3tYamEhRm92cHVXQzEmO0JNP0lo
MDFuMFVfdGRyQz4yTSo9Z0NxdiheZ0QpeWorP1k0MlNyPn5kCnp7c3VMfkZwPGJSQmlZRisyKzZl
PGAmVXAtejNOQX47QiRBM3JkRDBpQE9rczstNVlYQ2FeP1lzcV93PXFhV3FSZAp6eSEtUkp5IUAk
dmdWVn4qZW1CaEBxaF5nc0YoR0ZEOyNMIXExUk5SNVNVMCpPYy11QEttaVlETnQoLTlgeVlTRjAK
ekBSMnlwclA9QzApcytLal4obk00WTFWIUQhJnpSb1gxYGZFMVQhPUx5P3g1TStLUHpUT0J+ZH5T
RWQ0X3VfQUc5CnpXfWpaeEZgc2h+fDh6K0Z3S0hBMjlPVFgyRUxeb0I/QjBCRkxtQENWe1BGOGhh
Z1ByeDwrc1doWWNEZFRrNzRyVAp6TVZEbkVjLUwtS0JeNj8rSmNoJTs4WHlzcGhPNCFAYDt3dy1Z
WD84NEI5b3c7Zyl5Tmx1dHpqJWlEJiF6N1Q9MUYKemxXZGlybXl3MU9EZlJPPzIkamQ3VWtSMTI5
NF9kKmU2SCh9T3hVRW93YVY7VmFXM2wjTk9CR2MhZkAlWUQ/WGJ+CnpuP0l2dDV9VlBLI2VJK1dK
VGFWIT5ReWdJN31QNkUjIW8jY3MlKDhXIypTcFhvRjBPQ2J5M2IteyE2a0B3MW49cAp6UiVIPks1
fGZ6ay1aLTlYQ0pTJFlYNGpYRW1nRUElQyFudzxNIWtHS2I4ekNMKj5qX35DM1J4MjwhPlk4My0t
M2IKejxMbFh0dWlMNEo3PVBIRG16clUybzd1K1FOJWN3aTE3fSRCT1hSSlp4Nj4qRyl9Q0kmYz9x
YGtDLWk5cVNkfmc0CnpHb30oZWtwcFI2RCF5VSFweHVLPHlndHE2IVo5ZmdXNVVoUTlLflk9dUV1
O0h1ezsyUilxRnooQ1IwLXZ5VkUwVQp6RGUhWDwlcDl+NEJqb0MoODd0SEBkUW5rKiFZNVdrP1d9
ZFV1JFZeSiZSOE5aSiNqdXoyJSRNITVyVENXRExVc1gKekY7Jm1zPCp9PVVAdlliSCU9Zmk7NnB2
YHVZUntjeWprKS13UEFoM3AwWHtxK3FSYT89cjU0U2dkI1dBZkA/RD5RCnpPSylQTVQyKXZ+aVco
a1l2Ul88NmRmI0VoQ2R8bXI1R21PS3FHPysyKyVXJCQtbn5wSHpCTDduPVNhbjZzan0jNAp6PFYy
azhXRkQ9JjlnRiNMeF9QaC1RSkh9I01YNkdWRlVATmsxUGBsNlg8cEVQeldtQmkkUX1MKEBneyRM
PDsjYkMKelApJmxFJlpXZi1gOSY/bHRGJityWi1sfl9rUnBrKFlWJXt+an0qNyN0T2VpX0MhJXtl
SkVnQSRlMCgtZVVXJC1aCnpmND1vREk8Sj0hS0x+RDNeTkw3ZjIqWWhReHtLUGlLWENzVjUkZkJs
YThUREEtfWhYTnwwUEFlbD1LMmdzMFVwMwp6UWVUYipgdmZufnEpWXlEdHlPOF9FIWA7bDh8XnEm
b2RBTldicT9RKnMzZUl1VWJeOTVkKElTQF9GPnw+WWZJOTwKekxBUkh7YHFGUH5DZC1uZnZhdmNW
RU1MOVo4TDRrMHp1MTJRNDZpR0gleCt6TmY7IWY8NjVHYyQ5dUhSKFVGVCUyCnohc25TdHo5VDt4
X3xnQE5hRWdyOS1oSFdYQmZneFl4PzhMWjQhWUNkQlBWbDlMU1RHLW9ZR3NCZT43YVo8R3xPUAp6
Pj1rNlhwbXNrVVQ4WE1nRUxoQVlXVkd4cjsocmpyOzlgXzF0Nyh3UkB5QGQ+Nz5FN358Q2FqMmhx
Xmdkbn08Qm4Kek09PWNoSW1vcyNLWWM4OVlNR1JoVyZyUXU9Tm9TdDQ4MXE8Tj4jPkl3ZCEpdk5Z
NDRpZS1fUyNKZEl5R0MtQ1JLCnpqbEI3fD5YclBmPX49UipEfD9vbj1vNWZWUjxKWU1rXiFOPEYz
OEtCYiF3aC10K18mfTRgcCFsMnJQOSl5ZW1LYAp6ZH5pNiZ6O1dNRWBvaWktKENPUW5RRjc5ezcp
O1luSTd5X18oUldtUTw4bTkrR2xCPTZwWDwzPSo5aFh0KyVSYVUKeiZVO0tOR2A0R2E8cyRyUiY9
Rn5RRXR+OUhDdXspbUFtb1IyYmNpKkQ0UXU8dUNyXiZ6SW1rVGY2T2dBSldONyhWCnpoOE51UTFp
WjE8RypISVR5YiMpbURxJH0kJURyQ3VhbSQ7T0dqKGZMWCpmdWFVeXAqNWUlfkduZH0jYU51Q09L
OAp6MyNzdTgoaT1BKEpFKFRSVXgxcjxBJHZpemklfTteZTE4TVU1PVhxUStgcjwhUnl1aENkfFZB
M0xAeiZ9SGVnKFoKeiZPLXg8RjtTc2FgOzxWUjJ7JnpMSmw0ZDgxRz98fXpyQE94S0hhY1c0PHM1
Jjc9JkZWTDU5NFowRXdvbjEwUipnCnpAZH5iZChlMl51ektjVCVFSG1ObWtqaUB9bHk1NT0jdH1F
cXUtVjVqJUYlKXBPPzZrfS1kXzArSHsleC1qRyM0SAp6PXc9UzBFO1o/bUFkOFJ9V0s+QFUyNlpJ
NTRHVDhtM0thKShuQHIxfXs8PC0kODBadlE1WFFfUHorc1gxeXo/PUcKeit6WHZPMGRlPklvQDZF
a3dXPjhmKFdiMVBgbiFEeDtrfXBRbE82aWc8YTlxUnJxQW9vPVIjckFRIT8pb0Frc0ktCnpLXyMy
cGZtRyM2ciErc1B4ZWp8UmxTRnZGNm16UXNuUW1zbzw1NXhlQ0shMVEpeCQzJHc9Rzk0bTswRHB1
SCtFNQp6XncrKnMjdlQ0QlNaSHljSVdpdlcodzFrZnNHNkVoUG1yZkF6JCRYZDh1SXQpJSo1TyEk
Q2B7WEUrWTF0OWBPOTQKekZnR1R2ZDlPVWE1UTV4P2pCRGA+SlFyeT0yZy1RQ1heYF5ieEl2QTU/
ezxHR3U2TzBmczs8M3JgcSFgR3A+ZUElCnpGPkxxemRrJihtM2pHaV9EcVRjJHpnWismYTlsXko/
Pm92I0U4ODNOIVcjdDIxbVdyN2l8cXszc2xgKm9eTU17Vgp6dyhrZThRWGFQRE1TQEdfOXkwVFM8
T0V7NT5idWM+Uy1UM0B0ckBFbHN6MGc7YC12Ml4jRiM3P2dAWXBzcSNEd0IKejghRFE4ZDdLdyNj
byl6dm1xSjZ7Nk5aQFdYdzhTMzJqMSQ2KE91ZU9ycldyJis9UUZhWCRGKkQqfFQoZyRzNEw3Cnpf
I2pyQGp9Wkd6X3RQIUstaXwzbjtrQSk9PCVEN1hCMC0oPm5jU2AqcWRMal5IZHI1c1BqUnhDVWVu
cnVzUVg7SQp6ZjcxKzQlMGNfJSReNm9YQ3hDZEhFZkQycGBsN0tTKUE9KEBvNHZtQi1BR3RWQml8
Nlk+UDs0Zno2LWFlTjJrO28KemZOfU9LOzd5OGIkT3J+JkwmeF5qPDk0MlVVOHwlfihhUE14M3cz
ZSRTaSFmdyYtO2V1enYwRVBuI3dAbmVmJTh6CnpHRUVBSTkkMlAtWjFeQDFEajc2UCUpV2xhenJG
UmsqfCQ1YD0/ZjVTKjR4VlBPX24tVXcmITteI2t1UjkycFdHXwp6KiQ8Y3xGeGBBYzhRdj8zclE+
d1ptbT9Ge1plT1l7QTtiekYxWHt6fTFnJXh7Jj14bzw0Rn09a09YTjhrVTMoYlQKejNvN2V0PyRL
aWdTTU9JeXFvVUxoUEh9QiNWUWdxPUFiZyY/Q08kY0tFfmswdFBzdHZWUlghJkBJYGEwUW4jaFUk
CnpyQntJZCokWnpOe3h4VXNSfShoaj1+TEJhNzMwPkVURCQjQnFCK08kdCViWFkyczNNYG12I1BN
ezZEYER2flU/ZAp6YTxEej5LWXMjNWJ7ditabkdjIUtNbDZTZy1GOVQ1Jnh3cndSYmB7WlUkam91
Wj9GQnNYQ35jN0BIVFl7bkI2QCQKek9RJk1JTVF+SjIkVmUkbTg0SkVnQ2RKRF4xTXN7O0xPdF5P
Uld5bXQ2SXImKSVkPDU1UWdpJlpxSVF+Qk0lOz58CnpucE5NdyR2a19Xa2A1cWZJY3o9d1NiSiNZ
X0c2MUA4eUU/ZzBkbWF9O3N0dn5LbDZxIVg3PGB3bm9GeUhRRHw7bwp6SzJuXnR6RSFmamEmNnVm
WHxmU2FxSU5yTmFHZil2bX07ODY/S28weDJvUllXKWF2I18kUj5MeSoxcXIxb2xgeEAKekk+bnxu
cWx8R3ZKSWJZSjdGZzY8VVV4NCQjbz81JldUSERralEyeDtWWkJjQ1ZhbEFwQT00R3swI2VwOUhF
QCFgCno/NWd3ZCNva1NHKTNEbnZMX244KU0wZk87VmMmLUNqKmZjKXlLU0BNeHhASFpHcSt0c0V2
Rzg5aGY5V0F5K2xpMgp6WlFaZFpzclg7TjdMRGZTTHhJfGM1UENWV3skcHY2WjRjOC1pWkolODtN
LWszIWJlPSUkR1VSVCtTZ319OXB2SygKenZpKUwqM0hPR0FaaTItSWUocUQ9SGFOeHRrciRtWHtL
QHU5Tz5URW42ZGVXRSFNUkBOYy14RDdWTGN0aDhsTWtTCno5cm5WczdCUkQhZGkwIWduUFZTQDtl
NXEydEArRCp5WDl6WTA+Nl9OTks4IVEra0lTaHBNMylLeF5mR3dXPnJQWgp6biRyfC15ZWxyN0M9
eHF+OXZBcTA4NEEpJmYoVypAaHRSO3ZYWTsxUnRxc3pyO0wjTUhUalliQ2Awalk+OT5VcFQKelBH
QkVTeWxMKEhCdWlLK25nM0xqMFA2YFROdXs1bzQjSUhUY2dKdXVqbVpnPU88S1pWcTxeTzIlMyl5
JlkmfCR5Cnooenl6TVUmb296fDF4VSZERTtHQ2dyQCRpYElnbUgpRCp7TGFQaTNDMn5SbSQrdmNZ
bUY0eVZZcXkqRXJiMDFVcgp6YWxJPXs2UkJHS0cxZHlme3N6b2BgM2dMfnorYnVjMHU2WXgzdzgt
OSk4MUNLdj8rQTNYUD5xU3A4I0w7dD85Z2cKekA+aT1VQ2N6VSFtfFV2bHUtX3tCcjJOZ1Z2fWQz
VHxLcjtnYW5iZklpVFpAfnZpcXs1TX1xMGBrZmVlWVFUMkE7CnpyaD09e3RETys7b2t6T3lYX3Qo
TTN0VVl6JnA+bWk/K05eZTFNfiFhX2gmMG1La29AfV5iTmxLZiFnI3pQJjR8egp6JkJ8PnJ6Tmd0
IUMmJi1GP0tTe2JDd1leQnBGZ0d0LVJ3WDAmbTU+QEg5bnFQRih2Nip5MWZ2V3kkO1dQWG5wcWMK
ei1wenNOMn5kM0gyKVNIQ2FkWU9VcU8+OVQxYndTd28kbzUtcDBkR1k8VmBnUGEhS0YxbmRuRk1S
Vzk2ZUFFc3dPCnpuO3gqMWRWPl4qUTxPVmB3alNSeCtESFJSNjRETmomM3FIV1hoVVN9KmgoWnk9
WEU0c283IStzYlE/cGVEPUhJSQp6UDRPbihpQTtEcGNrV3QxSnF+e0xJbFdrJDIqUz9EcDMmNTsr
LUhZeXhHSDtqX3J8eWFaQnZWKWI/QDd0aShnJDsKeipvdWReWWlCenFebDIrWXs8Rkl6K2FeeCpW
WF9HVlkpTnxCQTZ6OUtXWlg8WTk+QHl6PClgfDsmejx+eT9pfVROCno4fVpSRGZKdkxTZjw7MDVA
TXdHSGU2d21WPlg+WV8/eCFBM2c0MmZZdCt4Y3s/WGcxQFdIMD9LQHlUWnxSQW5GYwp6TlNDU0VN
KiNgdTk/ZVVHX3Ywb2NmX3ZOZGpyQlVIWHVsfXBfX2gpUlcmJXxiNX5Mb28zRGEkdSpLS3l1NihF
TF8KeldqK1A3K0Q5QntoaGliZnJ8UV5XV2tYMUpLMEY1QEptZ0FATT9QQXdpS2diOHJBfmUySk02
Mk16dnAmZEA/TjRqCnphdnhOMkJRJlU8OWh1a15eO2BMeFdrMUIkMFFiR3xyTFdzNDskN2NDXmc0
OHA/SmNDWmBWME0xbW5yJDNYdTlZcQp6PiRsI3tQc3peR0F5RUgkVzNKQCtlenxwM2dLOSNAMjNa
aTF8TVhVamtAUyVMRVolbVd1OHE/PjZzfj1FXj52bVAKeikxOXxuT0koSHh2NW1QbTJ6dl4wZTlF
d0FNaz5rcGAmdEd3Kz8+MEo8eHxzYihgLVc8OWRjcWNCeXBSckVaSF4zCnohNz1jdEA2SXhCWlJk
bGZWYlpOdUN2eF9HQjNUd243dGFKMFEtYU0pRGBMSUhnQFo3M0ZZdUkqUVd2ZWhfKm5ATgp6TDhN
MXtvNWpffHlRbWZQM3tMcU8lfkhzbHtCQEZBVX17WldvSE52ZjQ3JUdoaX4xbT0rIV5TRG00U1Nz
cnBRZCkKemBzekJMNDg0Nlc3TV9iOyZQK3BoJjNSWHpAM3Z5MklKYFR8ZSFqWkJsemt8SD85e3VX
PmJaMHJgXihWcXlJcnM1CnpTens4YihId24hJHBgUH4qdGVQWEN4VTVqeFBGbkBqJjxjdUIjIUli
VUZxQXxIezNVLXBMNk4jblQjYHklSG9+VAp6dWdIP0FBdXg8VnIxT3tOJjNuTStTMXpBfHRFWFNM
eT5RZE1edEU/U0pIVEM5UzFCTVk+Nl9VSjxYeFVzXyVmeXoKemcyXiYrcTNxe1dqcSt+T0IpNH4x
WjFPJGpibmY7UGopNSVvdStDPmZ0ZzA8UyF1JmwkQ0h0ZnEhc2x5IUY+JCpYCno2XzYjamR5PCR6
VXVgcncjcU1VQCp7SSN9XkhYbzdNU3Jvd0NTaWphP1hKRnUmdDlWVzVRY2ZQdFlXQXlxJkJMUQp6
TjJXJWs0b2g1PD1AfHFVQkhxdT0pfnolfEF0VV9aTHNwVT9JNj5WKSsxTXI0RD9FMndpJmFIMHBt
bn1tYV4yPkwKenFDR0BnaEkpTldjMDRAJmxWKF5aJk9aTEJ0eGFfWm02ZGdAP0Z8MTAwd14td1lw
PSl0IVVnUXgqcVFvZno2a0RLCnpuZjZfXzwpPDVHSEdnMkhaYH42VD1rS1BWWWhWI2R2eV4lcDlZ
eSRrRm8tb3NASnZ1Mz87cyQqY0RqQ2heP1J7eQp6ays5d0QpP3g8ekB4SzNMWjY/Tm03amBDRnF1
XmR1cnU1N3VnYX1nXj9gTjFVNlNlcjEtZzIwNXhHN1dhYno+SlgKemBRK0d6YXY+SkZPdDZMVG9t
PDVmSjExQURjdUlONkJmZldtcEJ2ZTVnYEpDTlFSZV9taW1Cd3h3Pn5YLTJ6bGI2CnpUZCs7aTdS
VE88enc/KW5zdyVoU0ZYdz4rTG81KVU7U090cWJjd144UGhYKm4qTDJaN3VBYmJoKWg3VVVjTGMz
QAp6PDk8cFhKNWlJZyFwVVRkKUd5cTlgUXhpYGBlcTVrJUh5TDUtbCgjZDU1eCl3OFpGY0FLRER5
WDFZcytkXzNeZGEKelF0cEZAVWY1MEtYT2tJdXMwfEZzZT1aWjU+QXtNUUF1ODYyKzY9STNVOSNN
UXlsWXNCY1Q2UWt5WCFrWFRkVDUhCnpadTdMb1pMPHVWTX1aMyRPVzdYRmc2JU53WGxtRVNOfHFL
IWlwPG5RK35XOUc8PkpINk4jYztqS0RtbSRAbj9UdQp6ZkZ8QjI5azx3YnJWdyFVR1o9NDAzT1Vf
Ul5IUl9ySVVRSGtUMn5oRkQ+NktBaVRCWWoraXY+diVlVm9MZCQ7PzcKeikxNnpyRT9uYlgoY1Fh
RmZ0bmolRTtxdWhTVkdJV2R6UCVAcWFSMHZ6QmMlTT8jPjZ9YWd+ZUs5Wnh7UlFjd3VECnpTVj4t
U3ZMMyFxTnpFbypOTn18SCtjTktFNF5sUHNmfGB6QFpqPHJhcjNGN1JeZ3VjTSNRI0NvZHE9YlYj
KCkxJgp6Wk1DSXpwZVdNVC1uQlBYd1d+SUBUYnROPkNRNENpdn1Wb05OKVVWUlMkbTU7VnBEX3wz
NmI5VXtMWCFUPWw8VUoKekEzNkNhfDhVOyM+dn4/Vj1pflhqPmB3S2ZLKksjVndURFc1T153c2V7
TSNkNlZfRGQmbHg0ciNSX3RxZGpDa3UpCnpZa2YyPmVULWdDWnc0OV90Jk5mSF54VV5+OSE0IzVh
WGtAMDlvfiowJHVVYGJFd3hjM3lnKWN9UE0+S1Q/TXNqRQp6K19LdURLczRjbkRoLWBLTTsxdVVZ
SSVldlkkc20/RysoUitIVGVOOzZLJXlQYjVhVShncCVAVlhCVGBIbyZFcz8Kejl9dzZ3dk1iSHBE
NzVUMWk5PnR9T0otZkJKNCZqVU4lPCl+OU47Y0BvUnc3amZWWHI7Pnw2a0RzMiFSU3ImbSttCnoq
eHNPfkNiblFgQzhublpFdGNzbmg2aFl8cm1Obz9hR1hoMHAwaFhvYzR6NWEzTFBoQm8qcXx6OzB9
MU0peDdhVAp6LTtXYVMmQHByV2g/alJzI1lkPX57NFZocihfbnxjXj89eUxEQXlWSVFVQ1k9OH4z
fjQqUSlTJCN+P2wpTW1YJVMKekM7JClYNjtzOHdTaVRrWjwwdnojVD9HND1KeVpBeHhWMmpOJSMw
SD82NzQ/WjFOKyRaQmdCZiZqYl5kRjlQQWl2CnohMCZZZVQ1cndQVmYpNk56b2c4bG1pbiMjX1p2
NDFWI2g5dU1LVzI0V1NYND5UYFVqO2BzPzdFNURuP2hxdU82Mgp6U2NlKTNNSUI7I0lNcGd9QnAr
SiM0TUR2fGdOYkhwbzFJOEx2P1R8OFo9X343YmxOO2tvcUtaazZ1YGlMNCVkVmEKenNZd29mQ3Y5
KiF7OClOMSR2cDlNVEZRfFlxSj1eMXdNQ1hKOTs4VnBTS0lsPjJpKjNeeHAxWEchJU5yanRZdjhk
CnpBMSQ9Q1c3MkE4PDdRZisraV97Z0VNUCVPZmNXfk5vNm08RSNETDJjVTgwc2tRMDNgTTF4aWgj
fE5TQlBfeH1VRAp6MHMlSVE/M2MpdnIrcFdTTHB9QUQmZUl2QzJaKzJffExmNFNPTT5zdEshN2xO
T3ZUfFdRQGs1UT98YU1DOShgYkYKenBWP3N1V2xYfUBNcSVae3tRV1loPDR4YypydG50dEJibGpp
e19wY2M8ZDtUcGpSVWspTktRUVJVaTw3SCp0emlGCnppclZqUEg9Y3FHMntxQ2haOHI3dDJvU21T
eV5gRFU/dGEzVWpMTTxFZDVnKVArNkU8eGd9PVhCN1p0eXQwaFpZZwp6bG51ezZSeENkOWxieCgm
RlpaKzltbmpsRE53U3twYDs4RHpqOWQlOUBVezM2R1Z0X1FDc1BqQSlkUGM9JXB5SiEKeno8Z0pi
NlNUUCk9UWJkb3tzJG45dm11dTBmN1BhNlVldmtyKCZnZDdrQ248LTNtVkhOYVVVMWtYRWJDcGdQ
XnpFCnpvSj9RPnA+VURpcTI7OUlOclE+PENBaGZ+WnxNbnxqSVh8TWJ6JGpoS0poaUBRcGp1Mktw
QEVTIVh+VlBNZWlHbAp6WX1lOTEwS1p2UFg/ZjBneElRMzY7Km1leUBKdm1CeTNNbEZRUHIpNlBl
YXtxKTN6KF47RWg7bntDcD9lKGdwTzsKelZwYUZqMEtHY0gpSVRUKUVTYjUpS1dvUCgySio9KzJ0
NX1hdT11VCt1PlVuYHlHM1djbTJwUXFQQ0lLIXNFUVl7Cno4UWtqQEBANmY9JjluXyN4TTs3Ukoy
QF96ZHx5X09UM2l8PStIKmhNWmdYUVJGeU5GNlliIUh3TFRlYENFMlVrTgp6Oyp7b0oqcXBaPDxF
d1lHQzdzJTl5a0tNJFRzUGtUMilMeGwqLUwyPGAoTTYrKmooTjxFczdZWUkmQGB3VyNDfkoKelIz
TlVkeEQ8Tz5rR3xWX3g0a2clSWVhV1p3K0w0WStAT0tWcnRfXjdaQm1VTSgzI1llak1pdXhlcF9r
bS1AcHFgCnpYcWppKjskKiokekskYl9IWnQyUW49O2tNWEdKX0RkJCY4NU1lPns/e0t6PFVPWmde
Y1RYdE4oTWd+fEIkN3FBcQp6eEs8KVFyNzBXQ0RPdjM9Kmg/YD1FVj5VTzlyUl44eTUmI3FrTjZV
VHh7aCRpTldfTEQpakdTUkpKKjRhKkYxKzkKenpMajhnUng3cyp7c0V8NF99NmJOaitJaEFHeXR2
QjJockomdDM9Z0RWbWNlN0VFRD9JamxJcE9hVT1vdDV8UT1YCnolRHBgciljaX5GX1coRGIlQH1Q
SlhLVEBmajNHaDZLUzc0MDgmP1UyVVJYMD0mK3IlcDh5JFp7YiNzbDBsWGNMdQp6cmo0cDgtNX0y
ZnBOSChfSHBlVWYwNlFNWEZ8c2A/M15SSmg+ZUZTO3FQOWU9Kzg8VjB0UWZoUmwpY0N6VCV8KDkK
ek5seExUUlY1I2tZMEY0VzRmSEJyJSZqYWY5LTQqQHJjVTJFMUpEemwhRT9HVyY1fHNVLUYkam47
REBycSRsfFZ2CnplfUVKKG5Ye20zcSZraE1xRHh1STx3OyFUbzlsaHEtLWliI2k2U1dtRz5fZ01w
WHRQbjc1THRQXzhjP0oxNUA8bAp6S0w/QTlNIXB+bGxGe0AjOXRHfEcxQjhReFF1XnFtIz1zV0Yq
RDkqLWV7dnx5RSVrTGdAbnZFdi1aYzJoLVRuJk0KenZpdT5zTllQej16KEB2ZHM8Wjl3SitwZlpJ
dTYqOzU5Y0MhZHMtOEpLODBjcD9NX1NWLV9pVCgmRmlrUUNUSzJ6CnpRPDxoZD0kVj82VkBvSGBP
bjI/ezR0PXJ4Ul5sV31fUTYkdUFPNGpGRGFQaGZwVkBDUCVke3kyaGFOYzEtZEtmeAp6OyMjTStf
MiV3cnU0R09hdXdpNHFRR3JYd188Qz4qbX55aXw2eEYrKU93MyNgWDBmKTB3WDV4SWBfb0hIJXEr
cEMKej1qfmVrMl5eMkRgZyN6cjxVdU4xO35Qe0xmNlhjRkI0U3MoSmI5PGYkZlcwJlNfZm9hR1Va
ZnUhXm51fCt0a0BeCnpIcSNETUFvTiZOd24lamJ7IzdPJDRUOWc+ZjMjSlckITR6NnU9O2MzeXhi
cXpjUkNLTz17VlZGe098dTRwIWJwfQp6b1d7elo0dUktVi1oNHR+TDROT3c/cCpkYzJCdmtRXmlA
alFqWE9RPk9GQDBCUi1jUWRSJU0oUzllMmckaCspJlgKekMjKXMpI2wzel45K3FPU2VAfGJpbyFE
JCYhbHRzJnt7N1REUk19d1ArTFFYJShCJmo0X2tCWigtKjZCYz58MDgwCnpoaTNDZFdvP1E5KDlp
eX5LMFpPNXBUQ0chezt+R1QhTkU9Kj8pWCZkdmZJZU12R0xqcGNLc1dDPFMrT1NhMUkrVQp6ezwt
SkFKNWlWXnEoUiNFVDM+Oyk9VGMwajVOZjhOSlNnQjZVIyhQNG96X0chNDcwT3lEfGxOfTNLdUlD
Yyh7MXcKej91cT81T28tfXRwKXUqX1JDOTg5R31qck4hYj92Nj03blhQKE1zbGg3MShhPGZ9aSYq
aGthUmEjNElCYj5pRUptCno7diMwKyU1PDQqP09lSShfWFMlcTR3Z1N0T0pHXns5elFLelUwN3Jh
JXZYT0VlYkZiKjI2ZSF8YnVlRXhxfElHaAp6WDNCNGdLeiF+JCVLcDx5Xk07JiVGMk4pflAleER+
Kj9ZNTYrIythVDZMQiEtRVpNYStDJHtGa0IpdmZlOFl1N34KejcpPTRLSzF5UzczSj88MUA8RjBD
ZVVBemZANFY+R2MjVWtRIVE1ZjdNV0w2fWMpP2ImdVBXIy1eI2RQfDYpTSRRCno/SmwkIV47VzxD
ekV2Znp8OSYlMDl1c3hxZUBebEJEa2s1SThRKEwjVmR5MDZiKmsqTG1NU24mbURPYDljbV5MbQp6
YDF+PyRMcCQxMVJtWGNtXzwzdGhiTTB+aFh0c1k+dEMramApfXM2R1kmaChMelZVJXwwOVAkVUVp
PXFGclQ2SjgKemtoa2pxP1J6OGNEMileNVFkaFVkQldQTEJSfmd7RHZeMTMrbWtMQE4wXkJwfUhY
JTQzeGBZQzRAeF9VPHhfckNUCnpVI0VJOUl5dCsxPm1SX0EhfGZqK1hKZU9aQkpSJEhgK3tLYTI3
KmdsRHtBRlp5PylRUzJudTJwWU4pXmVPRTNKewp6WkVRbEVQfVhkPDNaTDtZTENUJj1hMWl8Jjtj
LXZETCNnJVZQRWhOJCUpeTIoTzI9TkgoZiV3dzt5Y09qYVB1ckYKel9ZWmVmKFhvbnYtYXZWP3k9
eiVhPXJ2YmdreEhgWmtBME1vb1hYblJ2b1Juei08amRRR31wZWJERGQyNUhyKylmCnowS1FZZFZZ
d3ApempLflo9ZTs2eGlnbSU1VCEjP1UqWG1kZztWYipyfE5jPD9BMkY3NHBXZk5OPEwoc0lNbHtk
Rwp6UWxGQ00jRSVhWSZWblBKZGkwZ3Q2SDxKR2UrbzJjKlRXP2t4JSFZfnh3S2o0SXdVLXNISyFu
NUpWN1NeP1hid0EKellqRyR+encobXQhe3A/S3JLX0k9PHMwKk9FIXU3Vl8hNylKPEhwOE58RTBu
STZmXzdyUkJPTXgwREAzQng5flclCnpkc1cmeThPQ2x1PD19MCh5dUUyVGpfNTY1dTtMZl5gNnxB
RUFBT2hQdyZnUzw3dj9+OGh8M3g/Xz4xISZmUlo3egp6P2lkUitlbypuZGFxbjs2Z2ZWcCthRiRP
emU1UFltUlE4WG9pR2MhVyZBNldrJmlqTjxQcCQ8WV95RGFZV344VUAKelFBPWRHZHNrITJ0UW9Y
K05WbDQqY1NIYF4lNSVmPS10cEFHTlVyLXtIJW8mQXskKTRJSXdQdEBBKyp+WUNobGV5CnpFNCkm
JTR2V21FO2skcGA+Tmp8e1FeeiN7YC0oYSVsdmM4fSo5PCtVazIqVEk4dFEmTz4tI3E8ejJ1bChs
O283NAp6P3BXLXcrQG4hTnJpLT99eS1IKGoxZy0penRqZUc3aDBmT1EqS1VISFlBUUQqZX0rckAh
bnR+UnNxaG1XTEV3O14KekxsKCRLRkxOSG1oIS1ERSYjNllkdkZ0RTlEcjk/bVd0NjA7PjR5VFBD
SExWdGc/fX1qM2RiVHtpY0ZMczQjdzhvCno2ZzJJQjg7TmAhJF5XcnBDIXUtVllsOHxtQTNvJEpq
TkczclYhSCNnN2x9cylGenYxblpmQ0QtelEpQTgkJn50Mgp6T0tRPkJGRj1HbChKOE9aWXJkXl47
QjZ4WVA7RiNHITs/fjdsfFRPeDZLNzBKSHk4KU1oMyZmP2BNZEROZEhqOTsKentNKlIxMklWKFo8
XjBUe1Y4S3pwR3FfNlokQVVYS1VPJE1WVlJ3TkFWMUcqYVBBJSslV0RlJEZzdH4xYlB2ZT1xCnot
KUl5K2NyeVp5PW5TO1IhellVNncwM2xTen5gbTJYfWt0I005JDhKMEU9blM3fDBMT0RmYHdBS0d4
Z1BzIXZ1Zwp6M0pBRjs8QyNJMitURFReRUdpS0NBZDU9M0NBRn16R08yOVMkNnxFb0A8KmpxTGUy
UzM1b14yMnk3e0FHVGJsbVIKekJ0e2ooK0dEZWVKeWUrIWQ/MVVfR0cye1RaSzJySXxLcipJPkRj
JENxUFo1bjNyWiQlanpEaUhWbmAjaTU9KFRMCnpifW9UVSp8PU5rQkJlbjdFOF4xbzVxaipkTn1G
WSQrWWJPXk9XSWlqTEErZlJzdSZnPlliPT54VD5KeElkNHtXYAp6V05aNXJ1WChgNzchaiEtM25Q
SUZIS2M3eXZoMF5zVzxldyQ+dCRQTmVuZkF1aXhPalBuaDMmakZfTCQpO1dOSjIKelJpPSF2WT9T
WX1yXkhRWTVYVzxUVz4kXjxDNUJDbTRIQm5mbC1vMUl6ajNBXktCcH50WUE8Mig0eyVXUyglRUI+
Cnp5bEMkWUJoVn1wbTAqaFJLbHdeTURlX2BFYWlQNXNqYUd5bD1mdzR1a0Y0YGhvOVQ8aiFJI2Bn
V0tDdSplT1h6Jgp6O3p5NWtmOE1qPSZSKEQxKHhCLWg9VzZFflg4WTJvKTJGbFlQfWJQRjRXeUE4
YHpvWU5Sa3hzODMzNzR+RmZKNkoKeklhZFJiYyQrNlIqISpWOW5LQTxgeXh6dThhcVhSLS1lKHpj
OEZ3NVRpaVF7QmBTdHwmV3AyZUBkflZ1Tnd7dkZaCnpCblB9O0V+NCFLaTEtbnZ4UCp3Mk9tODhx
cChnPiNVLWtNOHt4S0ZKYVpUfn5fWHBhZ2VLcT8mMGtoPVZ3ekUtMgp6aEdOPUppM1c7TypUK3x4
NCskZzhkalZlKkQ0JnE5MjIrIzs/MVQhMTdURW9uRUgqcjw8UEpXazErd0dyMXBXZ00KekshcFdV
Qzche1d6MnxyQkhyREReLVZDZitveSNOQG1FeDM3Nyl1eXduMnFsfSQyajVmKHFzfFBLUmlNOGNX
bil3Cnp3WH1WNHJkISZ4VSR1eyRvI3VITFJ9RkZ5PTNtZyEzO2NQaVFpJl8mK0ViSDVLQzIrNzs9
Pml6WCZpQCg8MldXPAp6blltdiVaajJXKXVaMVNZOGV8JiMlQm02RV5jJmR2X2xSJUxKWVNvaiEq
IS15SHtDKTZ2JCo8Ymt9ZHdLM0RQSUMKekYrJk9HbDNmVjdsKV9DKz19cXswQj96bzlHTnpEe0U0
cCMxdjJJcF5UdylBSj9UV1JKaF8rVy1abyh1NGkxRy12CnpDRCt6QSZ0MDcwPjgxeldxbW9YcVBC
Wk5TWDEleFUxNjdudm95ck11ZjxgNm5AcEdxX1FUeD1CPytEQzZYYGlMNgp6QkU3elBrbUYhXjBz
VVFfUEhoMi1YIy1MaVBHLVhFaUZNN2dDQzRVS28qIy1LU185TC0pZyh8UXQmLUQyNGp6MTQKeiQj
SSgoNUpfUEFDKlFWPSkrSnIxP09KcDFlfUw0SjxhKEQpaGJOWUtAIWJiMlJhX0grZW1PKD1gPVRO
T0thTCZ0CnplU1dfWFhiU3hhZz5RMz4hcTV2ZjQlK0RqZFBaOF9wbFZ9aT9LK29ZP0xFRUZyZyk4
R0lSIzJ4MXxuPyo/aDRnfQp6anojOWtxPXtEQTU0IWw8eH1LVX1WN3BgRUsrPU4+T3Y7PDgqX0Az
LXsjeXJ+VHJid0FIeVM+SEhaJkZ9Uk83cG0Kek1DfSZ1e2dkKV9TbHdwJW1LeSpiVXJ4YEA7ZjVG
cjxjbypMVk1rVTZfIU5oSHtGQzFzeVFgNmY7Sz8tM3ZHcDUxCnpeRWJydnJxQkgtMEtibCYjbTxY
KShjMk87Qk13dWB4dnRIX3NyZTUzTXl+byp6el5IaTFXYEVaWFYrfXN3IVU1cQp6Rz9+U0gjRVky
SyVQM1Y8dzZ6VitGQWoqYENhelFpWHVRdH5zZWdydl9fbDQ0K2RELXA/cGA3Kmg0NGJuSzEkUEAK
enpFLXk5NzFfeW5SS2tEUSQ9WFdTJkxzT0BOYGpCYkh8bVdWdih+M0dLZj16REhXOVp6VERUYXZg
MWA1WTYyT0tECnpGKHYkJFFqX0dEMCYxUVpEMEIwenwyWSQyPVkrTUhnMmVhaz11fVVXLWJuM0N8
SDl7JXNDVFk8QiFsaXNmT0NgMwp6ZVIze3Z0cX1CKS0zb1ArMWlxMVZDX3M3bkMqQHJ+WW8+ZU9X
THc8Yl9NKT4wRllpfnw9PXtSSmpZK0ZrblR1R2EKemd4QnNMOVd0VmhNdShhfj99Rn5iRnJvNn07
OEN5aVUyY1dWRT5laGVtdFZaLU85U1otVCRYVEUrfmYmNyN0VGxyCnpmOWx8MFEjNW9aZDEyMHRe
Nn1ISXV1Vz5GPWpya05pdlMtOElhbWs7Q1l2dkdYdE9FS1hNYnM3Ykp0aEU8SldRewp6ciNPfm8x
TCh1UmJ2YFcxdSlZPFFCPU5JV0NqSjB6K0ExUExAXnBRY2xTWC1fS3l2MVE1ejRsVDBOPnpHYjFN
UVIKemt4bXI3e3tIKUU0PH04SEQ7SEV6ZjRXUFdHTl9vQV52e0U0QnpfY0FOalVHRkVBMXJOZUBJ
LUdoI0dPdVQzNFhkCnpPQVJCYTlwTHxyMz0oSWZ7eDAoN044dFRnbTFaQ31VUnlHK0N3WVg5cERZ
akRYPnEkTDI8ekxAaW5qdnRrNG5UcAp6XmhyankqNmN9bSR3UGwxYW1NeDdKPCojd1NCfS0yJHZx
JSE5bCtXNF5wO05wSk1zZUlwUSg8Zl4mIWFFdkA0a0wKeiNEej0oVGlKO0VSNnlSKVpifCkhZ3lI
QiNETkxhNlomO3UxPilYK0JzO0thans+WGdFLVp7O3M7TDZ7YGRwfCZACnpNeEdnVSh0b3R3PWRT
S1hWWWZBQ0Z2K0BlaCo2QFdrYG12YFRaSDZubWxoSXViPFlIe3N0M156OGomZ0UtSSsyOQp6X3l4
flNBYy1XWUh7K1U4V2BhfHBFRHQxRlZ5eXhlTHgkWm8oej5BP2xPdHN5KFp8MmFgSHU0Q3FoVnVB
PFB4cSUKej9XJHxCIWlJTWwlTmFjenJfKF5qaDZgaFB0TWEzTG81em4/U2h6bDNjZlhpQ040RHU+
PGpSS1prPzt6MnJXWElOCnpKVHpweiFTUFp9OFQxIVJnNjZ1MlY9MH48UGptfiM+O30xaGBnZW9Z
Rzw0T24oMWk+TDd+KlR4SHF2fWZeUnU2Mwp6a3VIcTVmKDk7dk5mUDF5YD5CNT02KUtaJTBHdz9W
WGFPUExiKUZsNFJQPG5JV0UoJHJtUUNfQWRwUjJtak0ocGIKemZZXiNNemN7XmxEJmVsfHZHSG5F
dC1TK1ZxI3lEM0R5Y2BsQFUlTXZNVk5JTWpseSpzUUtiPytQeylBcXVOJDhxCno8VyRHdld8VUMz
ald0c0k3bl99PEVsKVp9QWdgZz5TeHlUNjZ1MXxIa2c8S3BZQmdTJUtJPktzeikjZG97SjdCJgp6
KGliZW9jPnhTcl8pfkVydnx2KkQmT2VieFpnSiNtR0I4cUdZMjVebGR5eGprVTUyN3ZAVH0kYjtB
ZT1NQWhSTHUKellDRHp5YCQ7WGQ8eCFScipPSFkxe0QrTXxobURaaV9yQys/UX0qRDg4RkxFe1lW
U2A1OFF9T1lHKXhTN3olTkA8Cnp2PUhhZD1RfENPX2Y1azBaJmhrYWtPen5gVDxvKzRMTj8weSVM
MUsjOH1gWD1BaWF8QTlgLSpDVWMhclNSS1Z3UAp6I3N5a3ljRGZxTitWKmdmOFZHWTU3UnVqczhk
V0NOZFUqOEAoRVNXMj45VjwzdmlaNXRWck9xMG9ZZWUyTjtwYT0KeigqSVEkRmlmV1hqPzZkIz8q
d29LYm42MmJCdH19ODFIWXwrMnM3TGFkPVhXc0RRajQxZUA/JWZscDhpaGQ7Sm1QCnpWX2tRWl5N
T09OTEtVNitXST4kMl9LWHJ1U0pSOVptUiYlQnFvdXJSenFTTUMwXylOPFIrciFmaX5oX2xjJV9R
ewp6R19TKFNCOWxGenB8K0pIa3RsXnhmd0l8X1FTXkgwTnhBMWl1ZDQqfVB8ZTI4KX1JP0xYb341
cVJTUjhrbGJaeEUKejtXYC1OVzI7YDJhfT93Ozt4R0NZWFglMGolITtia0VoTjUzZUt8JitodUlq
QCtxQ2tjeWBzQWJBbmg+YD9mbkhVCnpMR0NyXjhwK2skdlRSTmY0djA8MVRSe3B2VV4rSnYob2VH
ejg4ZlFoRW0lRlFkNzN7I0s9flB1QGJHT0p2Xl8oVgp6NjUwUlZXUzVQVlVFI3deQ1MyKTF6Umdl
K0JGUntMRV5XSkZGSlk3Mj9CYk4wdlljb1lMfTZxWUB3SH1vPCEtWj8KendnRkRCb2kkSiY3YDBY
Rjg/P0lsND17fD9LaFMoczg2YFlLUEJgWWdHRU9jMDJsJl8lQylZdlBLNFI3dWQzWXpLCnpaQl5n
P2pDZWQ2X01ORGloe209XjNSdmNRMTZJbn5vR1hQcjw3VlZzOFhRd2szKHtaN0R1enkpa1g0bk1u
UTh6LQp6QlUtQ25eei1ZX2o+O3lvYkVDTldXT210YVdISmNCbF8wZT5eRzkpeT9BJSgpKHdpT1Mj
ZzNHTFQjJHxrU3JkZTwKekloUVk2NF9vKWJyakZgZFo5fFZKYWZQPDgzK0RkTFVmTmFtcWM8LSQ4
Umcqbmo2X0pqIX1xbkV2Rkc7SlJwPiokCnp3QUIkbz85LWxEOGhyblYpZ0c2MnY3Z2RWM3N9UjJI
NGZWTCtWMHhydT1kbWEqZHhCYGZ4am5ieE19RU1uXm0kJQp6bHd4RjQmST4lJUJ7VzlKOFgrYV9X
QjFIK0F9NVcpb0BvPG8kI2VwYl41VCklTXM2OTYtZTxMY21KfnhPJUoydH0KemhGazMrZ1lQJXls
PngoeFRHOGAoM0VXdUE4dldGUHArejJGNnR3d3Q4QjctIzN5d047WXk8a3txVkpUMlJiYDxZCnpi
UHp5S3Q4MFlxWEhAUD53MWR5enJKJVd8RjAjaVdrZmNFVmk9RlE/LSQ4MjRlZk1xMjUtUD1kPzk4
RFoyOXhAWAp6Y1RsfCUhKnYhbXFkcChyTjEoPWwxenhXXkEyI2BVcE9oLWdoRWNOUCFUYFE7QXZt
NTUyQ2cxREYjSnh7QjM3e2MKelNtc1QwbytEUUBGVmExS1c2NTl3Tj9HR2s/bmBXMzg2IUdhSHpM
TEswKD9yNT1fbFUqQXFXPDdCS248TT5MdXZtCnolPnIlYW1LXj1QSC00fD5FQ2wtcCNkcjF5YT1Z
ZC1CLWJXbk1gYjJsP2x4dF81NkVGNTE9Vz1nQHJMVm8yaHoxKwp6RnJ6WG4zVTZQQ1NPWXV0VmEq
OERZWk90UCtVfCl5XiRGXkghKU9obntfMVgjJHkrcTxDc29eem4lenVlezZyIzgKem43VHhZOEds
ODMqZ0hwZUdOO095entIdXt3RUtobyNOY19KYWtyTmJ7R0hsaE1YUUR5UE0jc2tgQkN6bTV+NDR7
Cnp3TCpXSXZ4RS12fDApKnl5dFgtZUE+SENGNT5DJFBUa0t2YEpJV2glRjRqZ2ZsN3hualF5fWx0
dlowdGEmaG02bgp6dyY2SkchbGVWY2koK24oPGh7bnR1NTlgPl4zN3heZkgtVUdGTy0/ZjtGZzJ+
aG5JVUNIY0pyTVFsMHZpaWF2ZHcKemVhTzd5PFZJZXpYN2JTTjshMktRMXJyfHRrVzgyfTcrYikl
YEBxZDt3Xj1eRmVhRylqdXF1I285eWdxcS0mPlMhCnorS1VIZyE0Q0Vsam5+fVQ4QF5gZ1A8amBz
OHhxRmEwWXV+anNoQ3kkcG1PU0ArYD9IbmlaRGN+bTU0YmVfbDI2RQp6dmh0aGl6SVp5N1EmTEdl
JDEyRW56aFdlcTQwQlB9MkoxVjBuSXdIP1d+cyRhbGpqfkNWVC1URmYoMHlvdFhjZzcKenhLKnNB
KGp6KChBS21MREJ4SzZXaj97Wi1OfUo0XmQ/RyUhd3dYZXFzfiRUWkUzfT40S1U/K2UmKkUyaW1p
Plo4CnpmVXJiXktKJGxRQCU8fnUqIyhMeVlTUnhCXkE9SS1MOz00V3h7NVVnKn5mN0EweHFyQFND
RyR0WWFeR3RgKEYlSgp6PzFJajVjflZ7NXVlWTtyd3dlT3E3KUQjOV8kbWVSdj8tJEA/NUgpcjR1
VDVJJUFlTCEycHxjRXs5aDVfQjhTenoKendyOTtYUW13X3QtKV83XihWaHB2OGFzc0xrQ3Q9UVli
TVgtKCZRN05yMio/S0BKSFZ6YWkqKV84MTY1TkchREE8Cno3bGhxMHBQU0wlbj9DJihFUlpifkAm
PXliQ0Z4O2JZLSQ5PlQxIVI3XkpubilHciRnJSZqUVllVjtIQlM7fCpnNAp6bzs1Snw5aCE/YHVC
STAtQ0Z0OzVLPyUxNGo8cXJadFNzNlNjMmJaUCNvVCkwXjY3ZlJYLSF6RFM3YEQ1cVFONyMKejha
OEM2SVpBQ1N8QjBWKD1wO1U1VXd3ZXRtTUM0OHZCZiZ+aGtlZCFhY2B1JHtIbVJRIWhHXio7OGxi
K3h0dTtOCnp7U0RVfFd6NlFFY2Vkdlhfd2psYzJIaTJMPktkSTNmZUZzJlB4NE56eEZlcVhpd1Fw
QHFKZ1M2MzAtOVVETm9HLQp6dDM4UCsxTUBlUj01RlhmMXd+WXQtanFmPXA1fTxGMTRxRHNkK0p8
KXRjYkxYQmRPRklBVStYM1BGbGxEKT43a04KekJ+MVpMNnlzMCE2KD08c2R4SCQzUEpXO0lpWEQh
XkZWKVYpOG9jMTglQDtSWD17Qyh5UT4pTz9HOTR6PHBDeEE8Cnp4MWk+dU1OOXdieWdUOzA8SWlK
XkNWQm1tUlFmLSlgfiM+Q20mSDhRbm1QOzg7YEs1KClsfUBndVBARjw5RnUpOQp6OyV+QFQ7VEx1
JUdBJnY+JndEdXVVSm4xV2tZeWEociZDT0poZ0xVVUx6IVRwNCt0KUJiPm8/S0ghKUU0OEJ9MGgK
enl7Q20rZVcyMTdXOD0jS29MS29Le14+c2U4U09AfU5nZVlHemJ1X14yLXl7anlFM2dAPC1UaFRh
QCgmfFROVCU2CnpmKXFobDhYfmRnSj1oPTxhKzBVQ0xiSF8pQ2dxcDJWPG0qc2QkPGcxb2xlPiYp
IXl1SSNaK05fVytRVUxZWmhURAp6QjslVWZkSjNWfk88XylUJXdkVURBKzFSYEhfPk1+NCNrUG5L
VXE/MW59NzdvX0ROPDVpUD5gfER5KnwkU0ljMHUKeiQrfHV7bSNNSykmQDRfdmhvVlE5YjN7aW9N
UjAtezQlQEE1ejl3WHxgI3whVj5jWUgrcDhkKG5Oe1lYVHB4TntyCnoyWE9gM0BJbjVoQilhJGw+
aXBUMTQrb285Jl5BfGkqaiUpKFd6LTEjMUJJREolPyVgRjNMKiNTPClKaTQ1TzArSAp6YkY7YGg8
bDY5bml7ZmlZdzFFUCl0cWp9eHcpI2s2SWtVJjhAN0lkeWFgOTVXPU9AV1c1Xi04ZmBlQnJOKTB5
SE4Kem8lM1puI3pqbH1GamNEMG9PKmk1blh+fCpPTzFpN2dZX0h0c1U4VXZxb21AI159MlZgK0gj
aSFFP0dscyMwZkQ8CnpNXyRlTFJyc2c3ZmFnSjxaaUN6ZWcpTVA1N2REOT9rQEI9QS14KUd9OHRr
Q0A8YklEcHojZTF+Qmo8TDBrdnBYNgp6aGJOZFByWDtxTGMrSSEze1IyR3ByNEFITDZWcGFlWGRo
OWF6b1RSRDRyNUp2VVpsXjFLSiozMjlRdyQraEtuLXgKekgoVzkoMVYpdFhQMSh+V15gKkxjdSsp
VXokRGA7JkYoRDZ3ZXdxb01uN2AydjJSPTUyazEpUHk9LUFLNE1TfjthCnphXk9yb3hYPVVOSjh9
N35TSHtAaDw0YyE0azctbX5xKWZyRG1ac3tQV3Y3PEh5NmY0akl3PXZ0Nzw5Ky1Ed3NXUQp6clRI
T2cyYmtsOHl1WUgjPmRRYUM3ODBfbzVOREY1dkd4JCljNzdKb1pUXl9TVHVIKksrcXJRSG1DREFG
RTktaXIKenZARU9JbmpKX3o7bjx9UCpJPmJRQyh3Y1NEVDt1U1V9b0ZOUilNMV9tNUd7XlF8Kjwk
Kj9Bd1VKNWZTZjIoflglCnoofTtOI3FaQGEtU1YzOGk9biFBbHN6PzNjUEE0V05VUzRwMzZLM1gj
a09DWFMpMCpsN1hsdjElTWkjcWZWJC1GUgp6Ukl6ciQ7e2thVWtudjQwUlNtPXI3KjFAOEA1V0VN
aX4yenZBR09jbmhCcHxVQl9RPmUoZyVlbiFVYmhwcXY9UlYKelIrVDlWTjJ8IXRKbXglaWt1fSNo
VChMS3gzdiNpZEBacVdme2pMI0otT1QwOHYteTdqPXBXcChrYjxab0xINWFCCnp4anRkTnEkIzdM
X012VFNFdUMmQkgjZEJ0MnFjPlRUTiNhRzB5R21DWlQ+YERFM3V0WVZKPThuYHpfQTl3R3ZaMgp6
R3V2K0I1ZDVpcUI9Xy1YZWcyP3lnWHtYJkM5VFdUKWNUVnZDS2J2I1o7JCRgZWgtdSVROUx2KnpL
aGdQbTxNYSEKenMwVmhRNiFwJlA1YlUkQW1wTSs/KHN7JUlvYm00eTtMMjQyWV9+VUhMMGsqSHVI
S1VPQmQrQFJgJCQxJXJ7THIhCnpvQ1goaD89Tm18dyo1S2c/TXZyYjZ+QzErbHZHfFhtPGlmKilz
cSQtb2QzcXBSU149eEtQN3Z9U2hVaDhld2Zwdwp6IVJ0alB0OTIkXzs/SUBGdWNmY2w9N3cwe3Ay
ZnptM0tZNUYpYlBUTVl0VjBJOUg9e2NqaX5lYVNoaz80MShsUyMKel5xLWolSjREfVRSdkpGPGB8
Rm9rdWlBQFQxfjxqPW5qZSEjPmBNfiVobExwYk00Si1yMVpgOFRtX1RYSHZ0YForCno/ZUVMZFQ5
P25kcHxOPUNsbTRWNF45YGswOGxucm9DN01GWnhOYHkyYkdGPEo4UyEzVXBNSUM4ekUjJmY+Tikk
Iwp6WCFgfFNsQXclLUc0KEhmKGVzSChWRFJxUEFPMFdyO2xHP3ElZWZhRmh4JTw4RDg+O21qNGlU
Zj9eN0VNQ2UkJWQKekRTTn13PkAoMjBpakIxR3t1ckNYbmE8ZD9EUXE5KyMkcDB+eTZAWH4rUC1a
cCVmU0w0M0ZgMEhUMn5jITdDZXt9CnpeTUcjIXp6SXdiNG15ekdNMT9xRHFeKmtgeCg/ezctIVBl
PVNaI1I2QSlST0dsajF8TTUqaE50PU14N1o4V2A7Tgp6MEJiYk9yZk8xY1VWO19RIXZaYmtBM3ZE
YkEqZ018bU5mc08mOHtmKyh3TEJ9Wj5MVERiU2Q2MV4+blNge1J1UnoKemVLeiQ9LTZ0dj8jUEtU
ZD83O2hMVlV2JUFXOFR8ZjUmVjdyWiVRU3Y4anR0Sntsezt3a2V+PF8zckYkMyozcT1kCno2Uk81
WCNCLTF1QzdzMT14WT1ZYT8ydTlXcUFieStefF5adCMjO3RpMShIe3ZhYHJNVnNIcjcoK3htNGdx
Y3NnaAp6azlkNzVfIWleYSFoPTA3czI0anliKm9WYmVeO0FkRyhOUFA8JmlTVFUzeSFrQks5UzJN
TWRuektZLVM7SzRoSkYKem9aIUArQHtKWnUzNHdTN0NVfkB7LS1fRk0tQVJxcElzN1k0YTEtWDhB
VWp7cEZGVzlpP0VUXndaYWF5NSk8S0t9CnpMZWRoWWl2SDdALTxzaUliaEw4ampxTXtHWVdfPkN8
SVple1RlVWtsZXw3dUBnITY+JjNDMlRaeTdxUVVZaD9iOQp6b35PcUBVZ3ZLRkRAaF5obXg9QFk5
PVJua294ITxnOGp9VV9XOVJVV21RU0d7bSF6NysrQl5STkkrYlFvOCNtTDQKeilOWnp+Zmx8QCpN
I1FuaGY5MC0xOUw4YD1Na0Z8bEplRj1UeEJaMW9eciRKNXN3U21qWFlneFRAQWg/bCVqJWopCnpa
LXZgLXQqKCFWYTMjSHpmWmtaND51PDJFMjdwMTR1TVM/MDNFd247SX5kYGIzZ29ucWMjQ3pXJEh1
a1hCQTtjOwp6IUV2M25LWHxwYHk/UF49dmglY2U/RCpVfj9kQyZsM21ocSZWfUV2Q2FpMWlSRW1y
VkhIXkNMcUV3fUE4KHB7K2kKenM8cF85JX11cV5ZUEtXMyZEaHIwWm9BPnc8aHp2SWBhcjl0Ryk+
SkxJYU82fVY3WG1ZdlkqV1BHK18haSMqJGx+CnprTHFpckFeRj5qelVrQXNhcDEhISlzQTZMNmFF
MWgyeThwdjRvYjI4R3E5PiNtKjU8KztGVlVub2YtQl5fKiFZRQp6ejE5ZnI0Nz5nPD57ZStyNkN9
Kj51VnN4WVVGPzN+TXV4NX5mVHx+R19MK2BhdmlJfj49UEhISkA+WXRid1F7b0YKejZCZ1Rae1Vy
OHd8QTJ6Yz1EfXJ8aTwlZDhtODZsWm85Q29ePWpYLW4od3cmN1BXRkVRdWdYRUZtSHw2RnNtI2RC
CnpkUE1OKkdRIXR8REVfbmxRekJBY3hEVlRNYHlPdjNxcF9jQGFQOz1kQ2pzJT5vfWMjI2xUeGFV
cnckWGxTMXM5Wgp6VDxjRWpRSCsyMzNzPkx6R2ZIeV5saXNWbk4yY3hDb2Z6bXxneVMwSkV3aXBr
SnVJaG1XKFd3T0kxflFzZGk+WkAKenp7Slh9TEVORVUhPUFTbzMpYXZmPVV3TStqfStNM24qWnQ8
QWJnQHwlSk9VI1o2cjs1WllSRX0heUxtSmxseFBpCnpEV3NJKk1XfnNeOGs4b1pASF5+SkhoX0E7
Vy1ZNmVoSlhvcVVoV35fV3J6ITxoaTxILUc5OUk2JnUjTl9GVGR9bgp6O2hNYGQoQ3lLX3ZpJDNU
QldyRmp5OzNXPEojWU1YLTBhQDJ1WVBNQCtqcD1OeGBfP0Q/enxPNShVY3wydntLMm4KelR6bUxS
K01AR3ReZm5DclpVPHVta3NuOGR0M0JeIz5nRylIdj8hJn1sPFMwVnVSaWlzKj0pYyZhOXMtWFpm
dmN7CnpAQERCRGN3Q3tvJHxYJHtsMWBEcFlYdlMyPjstZlRacUdLXk8mRH13aHxlRzhNelA9R1NY
Y1gmTXRmSDtWKFp1eAp6Tj1TUFFJUHV8TDg2fiZ9KlFSSE1rPklMdjY2S09zLXNTRm5VNihxfHZF
M2crKVk0Tzk9YTcrViV9QElRLWpgRDMKej1mQEgqZWBqRihPYGxxM3khMGwkeXYhdj1YQDAwJGN5
O1A8OUNVbCMmdFRqczJxR2FueGY3VFVCPWNnPm8+YXI7CnpVWWMqcyZxTWs4cSZVS25eeVApNy16
SGl1YExeUWNAaUFXTnhtJFd8UnJTLTMrbSVoNHNMYDBgcH1YQ3swej4+TAp6O3clbzZmPU5VQ01O
QyskYVNSS1ZXWmJ1Sy1kKH1HS3E+RypFSXpxNEkxWjd9RD9BKGQwNzM7NlZURGcrZzlXOVUKelgl
ajdYelY7TTdzOTlaXzlnJUc7U3tUTSRZZml1JnkmfSlfVnojcXItI2gjY09ZUFR0Sz9NRWZWSFRO
PFY+c2IwCnpkPWpMVUBjdjZ2RE8zdFdJNXFoS3pre2pIb0QqTmZCSVVRVGxRamlqWHduPystWTBP
SXk5OG48JUFJM05KbXgoWQp6I14/TC12LTsmfnc5QChJSnZVMGhqUGZsMEt3fWx9X3xAWk9LT3Q4
TWlmOzQheUR5cDU8YX1KZTAlWj1LaCRzPGMKelYwJj0rYnVmVzFuU2BuTis/SkJgKmNCSFpeaUFs
aytAJXhWdUk1Qj9EV3w+bnZTQio8ZUhpYmBXZGFMRHpZbWx5CnpsTClMaTFsIXZgX2NfOT17SWFF
WU53bDgyNU96VDh3azkkaXRLS3k4cjdMQ1BeZjJlXnRLbm07MzNwblczYWN4QQp6eTNvdiVhbGhm
KFFUMygkQldkN2FTeGN4ezkqYiVkIz41Q2h4KWNKentYY1h4PmhEVXZUV317SWp7aHIkJkIjKUcK
ekxwQUc9O3NGdihGPEFKQ0VAPTY9bEAxdzZfRERjZj5gSTVaOFFgaEl3WEdeI0lOQlNRaW13PVJu
PTJaPEk3dDxKCnpSPEd2SkMjamleXjN+cFBGNmJqeXVRYGxUe3xZQmMzaHhwRGZBMG90MmZhbytu
UDtGTXphWSohQVNCbSZYT2Q8VAp6e3gtKF4qYTFNQnohNW5td1JAOD0zSFAxQ3pxbU5nU357OyE+
LXJxISFgSjtDP0tSTV8rSGFGJWVWazFYKlR2OSYKejBqIXEtcEo9TGdIeUYzdWUkK005d2JzV1Rq
cH1DSVNLTGZ5QzZBVnRDa3IpP28wLVNSQlBxVilOWkROOz9tdjtjCnpkcEt0STU3MUhAYzxTLWdS
ZDcwSyFERTI2P1UtWXVXViVkKWZ6al5MTkglUkE0LWBhfj9zTnxkeUJQNExhSk1Kegp6d2BxN2Bh
Qj1ObTkkJjF+XlBGQHc0dHwpIXkjZEYmZj1AaXt6ZSVUTEEwI3U/MkVIQ1B7TGFyRHVmbmBaeE1u
OXYKelVEb3ZFMWArTW1jd1BwMkgwSnV8TEhANWkxc1l3R1FeNGhzYG4hOWRYcThgX3k9c0dlXkMt
M3ZELXVUV3lsUUVfCnpZUjUyODZzPD54aTw+PnhmJUdJLWZyREN+VmNUKkVPIU9NP3plRkVFYyFG
NndwNTBwTmtzcmFScXpHaH40bTVEUQp6TzNHYUY1MmB5WC1jZytOYHw4Qz5XUzswYnN2KUh9YmBO
OC0oSk43OSRmfl59clEtR2llLUF3bHNhWW8zUyFrPVQKenNqYVc5aXlFRHs/Yj87fG5EV3lkTitS
QDUxcGU7KzA/WD5mUzRJfClhUkhYdFhifWdlLU9QX1ZrfXNDbDRKbiF1Cnp1MEBVb09TREw2Z0pj
LSZqK34jb0xXbjRienJ0KF5hVCozJjI+dj1IeHBXKTlWYXVeXnhCRnJDVWU8PmVEfkQkVgp6anpj
NjRWUTBLXz52bCp+SlNANT94e1llX2RSNFhgRXwyRXJMU2pFdns+PU1Rb2R7LUl5PjkyaFd6QTBH
M2FtWFgKelZvUmZvJFZ3a25GI1VlOTc5dmR7dzlAazY4alYheVZ0QyVxZXc5PkFFaXVAcSQ0ZCE1
YWBaR3pea045NV8hV1RvCnppbV9leXgocSp4KkAtJVF5VWNgS2s7NDhZZ0R8ZCVSR3l0TlJHVyl0
eD9ac0hMZmhjdkB5M0RJdlU/XzFyNGY7Kwp6KU9fandBKVFqUWUqaSpTJjcwSHJYLUVKMiNabk1e
O2E+M1RGMiVxZmtaJV8mNVJFZWJHQWlmMyE0MXRPSDh0eXsKekJNNCFUXk92aXE9enxffSZLPlZG
ckV4dmoxNk1Dak5md3g4c25CKVZoYjw/a3J5bGolO1FjcyM+OTdGKHBaUHw2CnopTHItUGVxOCZy
YjFWc28kUyZNbmtaeXxzWk5Cd3NyWFA1QEtYTD4zJVZwTVh3VnAqNmR5OD9RdUdTb3t3JUtsUQp6
QmluX2tqQG43cHlgV19INGFjUkFWNzwqbkg/PFV+JlduMTF8Tmg/fFR7IXpKIWdeZmU9bT5+OF9p
eXp9aUYjQysKekFKbGd8K1d6dGNMT0skWF5VZDV3OWtRblM0eyZYTlcrRT1CbW12dXMhcWV7JW1W
ZXlzdEZfVl9kN1laNk43NiZ8CnpiPjY+ZWQ3PnQ2V2o5eVZ3TUcxQ2RiMm19e28qUWdxNEJfQVly
K30pckVgZ2pkK0cqODx2VT9vcEt5OT1ZQ2htcQp6cFh0RUorfTFNZTNhIyQoP1lofUdjUn5GWWw3
e0dAJlhGdGpSZiMoUz9eTzUpQl9xc21wMytMWXJaNzdMMn1AZCUKelY7KiFFZnZLen1Vb31nTEZn
ZkcqYGFLKXRGV3tEOEklT21ATWdVTzZ5fH1xNkgxbU1BRUgtNVVTRX4/JTsmVnQ/CnolalpIJj8l
bWZtcWB3Rip5PmE4NmgtKzB5cXtlUj9zMDwkVURHT3Y2azZjaVVCN2BJKT1tbVoqKE9yPnR1MENG
eQp6TnN8XmRVVWMhUnh0JVQrWWF4NGZfaEw3fC17OCNsd2w3by1JUF8pMkQ4QDlnRSpjNnw5enda
Kk0xSkN5YCZYWG8KejQ+ZVh8QnxQJClWXjJkKTU3X1k+RT8oYUwxPV85Y2Jyb0BlaFhkQ282N2Bl
aUgoYUNWYn1wfSl5XztGO3BIPzxnCnp7VXNAc2pKbEcyKUJ2T1VYKzhBI1lyelBJcT15VFEtdz91
al4xM3pRQiM/RUBrPmN0MEAlXn4rb098V1l4YCpPZQp6ckduKHNmSk4pKFhpKUB1YiFjMUZIU1pg
fWlWcCt6JnJfaG4xO3o5c2BWNWxVczY7c2ltZ300R1AyVGdzVTAmbmwKemIkNlc1WWhPK1clQyp3
P2RBPFhtWDgrYz1RUzlZOUhDJj1QUUBQV2g9M0p9em1MTTd+SWMxI2UjRGx5fW47fVlkCno0Sk5Q
R1YpSUF7d0E/P3k5cDY5OGp1WXA4bDx4cl9TKUhZWkEqOXwqQj1SZDJ3V2hxJWlvbkQ+bmMkNm8w
UW9+KQp6TmtseyY5Un1VMjVrc1FUKURTSCk8QHpSUyo7UD5eWkE8cXsjK0okcipQZ0ZJPFZoLXt1
bXZpdUNfaXNmdEA7TTIKendCP0RIakt2N0BBUlZoZGEoNkYtSzh9XkxFYz9tOE8zPkEyU1RtbXVR
P2ZyckE4WEIxNzFAWjN3RnUtU2RCb3pMCnpYPlcyVy0wdEtienk9Y3dsS2tGcUQ/RU53aHg2Plpk
e05IX3VERjthKDs4TiFAUlE3JG5Dc1IoPjNoT0FabUhINwp6WE87bjdQSzkxd1JqcUNQTH58dDwt
ZDRLUyV2Mm1IcEA/OVY5TFhqajdgQENQSGs3bT83XmUkYGVrZjVmSFR7VX4Kemlgb3JUJUJfbjdZ
WVdUVHIxMEU3Vj9mfUU3Wio9cFMoR1QqJFV1OXEzI1NMO2V9YSl9a3VxdyY/SkklNjBYZGwmCnpU
eDY+QzQycV9CP1N5a0d2Pk0rbWpxcnJ7Uzx7dzM3d253c1UpdmhfO0lNfn10Slk5IzV9RndCcT9M
TWJBeG4mLQp6SzlUKVMlWEB5P2lBfG1QRGZqTlhOan44SWhMfV93KHdYUWxYbXxBJT9pbVg0SEwm
Pl9DMlhxWWhifVo8ZXokcnkKekRFTEU2WS15ZnRwJnNYUEJIT2g+Sm1wO2ImfWZmalViN3xDXis4
dHBWeiVfX0pubiE4MD1XOTh2OVEwZGY0SFpsCnpDQGk8ZW47UDN3MiM9cil0d3wjTHIjMGlDMko8
fE5LfkwxJWBsVnFlZmcoM3F4VGlrSWZiKG1mKzZMdG5fY29gawp6clBJTDVvfXl5RT1LJUp1KmNP
OGdMfG1IPz1DWGY5R05tOEFaKHlYYnRNeEYkLStGcD4mKDwrb148NWFmXlRCbD0KeihgREhaKiZW
KDFsajtyZyRUbVN0IW5LbUZjaW0qXjVObD07Nk9AJmJkMFVhKklrakozKS14fjxDPXpKYUhwRCUh
CnpAbH0xS1Nta2ByZyt+QFhifUdZIU9pTjlpd2xmbyY5WE1MYGFiQTk9aiFUKEhkdisqKCFaXyk9
IWomNFJgbjd6SQp6X2s/UDZxTy1mX21TO2NYJERRSUdyZDFzT3dTMXM3cUQlZ18yNVkyeU18P2Bo
ejNOPzdsUmxOZDB1UkNkVElLPUMKelpaQEFvcUtmV3cka2A8cnYyMX40KWc3Q0ckPWZYfkRIfVZT
R2YjRT04YClxJSVTWGBrK0V0SjlxdUc3WlV6N1d6Cnp4QG0mcERvbWdEbHtEb0A9eDR2eUJjN20p
P2FzXygmMSRoNip9bXxlSHRKcyo+JnFXQEd7bmpEcFdRNHY7bT5UQAp6QSYrblAmcVR2eT9RaCZD
XjZFfXZHcFRkUFRAbWBgNEg+dW1mQnBLa05MKV48QD5kJCVPd3NFbkJUfmI7T3t0eVgKej9jfjcl
OXp+ZFlYTzZ8ZXlCY1MyI2kpdXFkRzhIKnJob1Q3ZzQ8cG0ldzBSUSo8dWNtYVV2a3wyU3pHTS09
QiRvCnpmKUhxJDV9aCt6M3UhbWdpfWFKYF47dmt+bEtJRGQyZSRlekowZCF2ND0zKT1GJE1qRjUt
SkxyX25WU050Qlh3Pwp6PlZLaCt3KFFMcmglQ25naCZyd2VsJURPSlMlPkpwUFNEPDJFKCZeOTFS
Mn44cjBBfHFtaVUtcUxMWmJoMDFGc0gKelIzVD5qZihVUj1HTytVVDVUI0NeTUpqUjVleUlSZ1Zt
cXFUYEYlM1E3OEpYXjFZaCV5SXZeeH5mc0hrZCllem9vCnprKGclTm9HWnB+N0B+Nkl3a1ckcm1o
ZXZ2OGB8PT80Iz5UbCl1O1A+enM7cUozbHswNippfT5XblR8K0N3PX41YQp6SjtyWWxtWjI3Z0hC
KDZjdit6fT1afShvZyk8NHNCQk5JUEE4aWB3e0tOfT94VWlGMXtFeDNmYnRmUzY8Qjw8QUsKekQ+
WEdIUWxVM2Z3d0p6Vi0wTjYoSkM2U1ZJJj5uSXVjKFQ4JG8wTkhjNDZga0s8UD1DQ2FtOCV8MClh
USkzZnBqCnpeJCttZlE5WldTRTxUSzhGITVuaypXMyNNU3hyVE0ma0swYmZVakFiV2tqYTA+ZzxG
JD58ayVvUk85RFpMby1GUAp6TWUrSSRCanx3M0lZcTspJHF3djNWRnVxQWBgVUNJWUlAOGd6Yn5R
NV9LZHdUVVlIbmZ7M0BGN2RndjdEYTJrY0cKentLYmhlaWNObVNEYDFXb3pUemdBckhJYWx0cnIk
Tnk4K0UoVWwkKmk2fTI9KlAwby1keWtCUk1uQE1lWTVZaVRiCnpGPCgyYkZwaGlkcHo9TEU/QTA9
ajJmWSZKK3V5TShpWmJgaTJxKGdibUNQN3B0ZkhwU3kpK1FmbWBLcnY0e2UqLQp6ejJoU2hsKDQj
ViZtZkd4KmBFKVNSIXJ+MFJxN1RxK3olayVNQzkoKGFlUWBzTWM9ciFOWFNKNUFEWExvKD5AKk0K
emUrRVR1dl9uKEk7MzxFd0E5Iz5kJClCQ25AZllTNERiUyVKQTJlXzg2TTRFYG51WHU1Tm9yLUh4
R3ZeOzcxKDxYCnpuTmFyIXdHJEZFN2F4UW03Z21tX0wkLXlKTUY+eFY+e2I2dFFFcC0kRWdMT1k7
aUhUazdJc00/enRRM35fbTR5UQp6ZV9rdSFPY3hiUndDOXZwem5sMHBRVDkkSEpUK0tnQW9rLXd6
I0dYMjMlTT1QSyNEY2poS1JAPFFrOSNiMn5UfDQKel5kPGsyK0FreXVjSz0oa0ZUQ31sYE0/RGV1
dUc3JTBjO2B2M0VUZX5EZ0xpZjRXUWhgYVF3TW1nVWFNKj5nZmVKCnopQT0ybCskTDQ3O2dQQzlS
QDtjSGF1S1FWQ2h1az14WF9lbkhffH45RCRRbyY3VFFee2t6Tz0qOWcxXiF7dlEhZAp6PVQoe0lT
MTZyJHRJXzYrLW9Wbnc+dFcoVUglVFd3VjVDZ3c1K1o1ZUQwKDVPR2ZuJkwqfUpnXnZpO01ETyVv
NUwKejJtdnpEcyt7bT4qaG9OZXFhQCQ5NTUjPlJtbXNUKUxXaU5yVS1rdyNweHdHVnVnNFVJe3tm
UWgra0diZFlIU0d0Cno5ZncmeXc+PllRNldYMjlFI158Tmk9VGc0OXtHeDlsUEQ/dG8+YSZ+U08y
a2FCT1ppPSNuQnNxM0VRNz5NXnx5cQp6d1gwZ24pMk9SXnc/OVJQUEJTWF9uXm1zUXglPmtfS3lA
Nn5DdChuSCZMdnp0am4tKykmUT8xJTsqTDdOS1EwdV4KeldVPzJ8ei1QPH47eT5seVZPNVRCQnV1
JFR3eHRpMjg2MVYxRFUpZlJfJWM2N0NYMHxzTkJ1T1hMcmclKDFObzVaCnpQbG5DKkolcjB6KlBp
ciRlcX12YWZ6JShrYClXQ2JfVldPNylKOytNM1JqPEhWRkx1SHV7YVNBR0J3ZF9CRHt+JQp6MjVQ
JTtVNGhFJFdVUikoXkF2OF94ailLJkZFPGY+O1p5QG5qeHBQRj1yPihaeDhASVZMbGdaX1FlQDE5
OFJZTCUKektRYH5NYlI/bkEraEViYTkrPiZMeCR1O1otMG1pQ3xIK3VRKERwUEFMdFE1cXhsYGN4
ZEhaSkc4IzBKUEQ5IWo0CnpyWDAzV1ZXMUpuKHF+bT1jRjQ2PiUleEdsJCpHSWlnO3xfcGROXlY1
S2MrR0p3en01VFR5NmFDWGlsa1Z4M3l5Xwp6PCZmbXBIek9VaUdQVSpBbUkxfTROfHJeUEVGKFNy
aiZBUD9tTHQhSXYxYmVpVFlMK29oU256bTcrJXRfUjNZbHEKelY9XldGbzBobmhTTV5HI2FgISZF
d04mZ0V3bzFXeGxMZVpKWUo2UCZWQjZTe2dlIXtLJSN9cCo0U2V0XzQpfjM7Cnomfj5HNXI+Qk4+
YWVhJnwpNyp0cU9wSzJEPDRnVSNyK0lGSWlJejMmb2c5U01rNk9hT2RQRFp4TlFwNTZZND0xcgp6
NTVLX0ktKmMxTXlIdHVJWjFwOzszfHkhWih0clROLWtFJW1pYGMtRUV+I1E3WTFoNWxAQnM5UHxB
JnxwT1FjTkwKejdmYmtaJU9gcFRjWkVTdVYhVG5mR2hwcDVAanw9ZCtUVjhlIUFlPWZ6UnV9KmpD
VTJmK1BgaHwlRGIleTlSWU14Cno0MWopYWdOMF87Xik5UUp1Qmc9Pjx7bFRVOGFQbypYI3hQYGZa
YVAoQ3dKcW5IOEFDaV9zalA1TUd3WUNOVHNWVQp6YGhoTHgjbThwUTBgT0dVeT1GLS1WK0pNbE88
WFZheTZhdCE+cztmNjRqVENLPm19Pk5Td2c2IzElNXBNP3wxM0oKemQtYjVhb3N7c1Y5KCtlTnt7
Um1PdDspTHI+Q1pffD0+MjF3bVU/MT1McElpQTI5PXowb3lWYm47Ml4/RSsjXmtACnpRNjJYbztS
QWomZ3NPfERCO3VScCVAMU8kdEJybG93KThXa1pFKWI1eEFzUGRpU2hMSyE+ent5OWsrNHQmPC1o
dAp6ZCVuYzZkfUVMajZQanUpIT9qUWUzZFhuUzdKeGh5amN5SzwoQ15QMTAlOT83O1JaOVAxaD1y
YDBrSVdQdSFpMkwKei1JQDYjb2N3Z0hgc342ZDUmaXo/KENaej5QMW4zUitYTTVBZSpuaGc3OFBX
eHlFPTZqbDZBN0N8Rzg3ZDtIMWVICnpecSpueTNHRzUmT2M3aFc/PXxufjdJenQyT1R2LWReVEIx
ejg7dnR+IzhKNmJPSm14cGgxd1hDWUVRPUxXPiEodwp6SWh0Tjh2fnZebHp8WXpBJkspKSVydj54
ak9DSn13PChgO30oNkF0YHVNbXszPiYwQCVacT0/SDJlWTxuOztyfEcKemlZKiYxJiYjSXhrIztT
PUs4VWBka2pMbWJUblQpJSRSelc0XihVZ0Y7eEBRO3o9ODRwV08+eV5kS3F2K1Q7bVZICnpaTj1e
MGtleG9AYGFMYzZ2aD9IRGhNV2Z0P2VhNzhVSmNwTiMkLWlCX0I5eEpjSnlObTlsKGp3S3o8IVVa
dGU+Kwp6ajhMdzh7dklrNlpePWFveTNEd2RCO084fXB0JDJ9ZTY5SyV7Ji0pQGN9aSZGTjJ4JmRR
cX5paDIrc1ZGfDkoKF4KenUqK2MzTDA1YEA4bWZRX3Q3PEwjJldqbGVPSUZXZ3FGdykka1VUJk96
dWkjWkBaV2VlKlZqNkZlZERLVTcxWSVnCnpSSiN0K0RXYT9YdTlaQk5jbElpckdlJWBGa3VAVylz
U1Amc2hfREwmb2MoVnh8NSNKZyhBRT9fSUhOV3FTISRRcAp6JS0/fk40dWJ1Q05UTCtfWDQyYGJM
SHJTWGJhbUJaTkU4WGAxNV41WDlFeGlETXJ9Y1M5TiY5bWsyISNYa1BmK3kKek9XYHZjRENtTjQm
OEV5ZFoySTBEU2F7LVYqTDJUcCVtY05SZ3Z6MHEtbD93ZnRYSWBGN1VkJnt0YyFvQCRoI0B7Cnpo
Q1RNP15iMDVyJmQ3O0wkWEZSXmB+d3Q+QGYyZW9TUXZsNVpsOHMxNnMoMCUpOyRvSTk2fkBKSFd7
LUshSTxsewp6YUErQj1tLXokNyU2NytRV0J4QGFMSCtecFBYMm5jUTJRZ1UpIWtBd1NAcHgxZzE/
b0lue1duc0xQTFUlYHNOMFUKenBSSHtYKXUqNmgpTWNtKUVsNT0ydFFnNTQ8Tkk8ZF81RHU/K1l4
WHtjNjlqclB3YD8qYVY5fmNqNHtRcHlCNGQwCno/K1MqfFR4Xz99TVBWTytmJEtWZj1UP1pNNmY5
byhJeDM2QmwzdSQ9a3BzSm9objxWeDBGXjxrX0Q5flM4VmB2Ngp6WHlJODJuSVUtUChDTCpKPVl6
MDJSJkFIdFc4dVNTMkBGb1kyV2gmQS1gV2Z6OVI4LXAydSNUVHhjZm8memxNcWIKelg/Kn5HN2lE
cVRyVE5YaGROSUlTUDsja1h2R1FoPyhDemc2SCRIRXJxRX0pdDhWYDM0a1RFXzRyX3xOOD9JPUZo
CnpeamZQX3ptX2FfSGEwYGRBfEB7dWMyWXJmckQ+VWMkSVdDYFNrUDRIKGx2Q2xpcCQ0ZmUweiVH
U047JnVFQG4kMwp6Jmt9bzklOEJQZzh1PXYoKHpQIVBsI0RFfHFVek8qTEgxNCpOMkFvUnElclAt
bzlMPFJxQD8hZT1pNj1OU0Y4R2oKelhVMTEpe1FwYlRYdHFzUSUhVng5OH5WYDB0dGg8QXgta3dB
Y2Y4VU1mbDEhaFJPMUgjMVhRRX0jS3JMMzdPd1NYCnpteHZ9JEdwM210Pnl3OHxrbGtkTCRxNjg9
VlB+ZyppaDt6IzZsLUdgSW40ak0+b2UxY3hGcEx9K2tsclhHO089Vgp6cUBHbURTczxfP3N1X31k
dzVsK1owU1N8I3d1Z31FR3F7LWZkVEJnU2o9SEdwXnwlWGRmUnRMeGcwJl8qZntVe0UKekxGJHxG
MktMckFLSkpGOHY0KVpSRG58fD1Tbjt2NWIjcyNrXkF4fDI8I2RBSCFQUlBMZ0JyIXBQZEFDZSNl
QWAqCnp0SmElTUxCfjNuP2lrRzIoO2wlXkMhT1ZqPWY5UHpqdEh+SXREQipCUkg/OyNtSFVxbCpS
OVI4RHpBVytNeEYtYQp6SGlwajZVdzNQZWUyKWBpRT04UEluKnRSQmtKS3xaMVdLS3h4YHx7fER9
MjwhdHlBK3djfTkhfCt9aVI/M2hiUE4KenU1I3R5eVJ4M2wyM29eZDZZPjtWVzliWnl6cGNrTEh+
eTYtKGV8WXBIQERZc2l2SFFNSFRDJjxudl5wfm1YZWgxCnpjdmklemJaZEpRcEolSm85d1U3ZTU5
NyE7P3olPkYhMyZ9JCF9TSkkbkxIPG11bVE/azcoYkVwOzdNRz92VSohdwp6TEREazleaHdiOSlI
UGtpcSMhZj9QZElBfSVYdns9NW1oYi1FP0Joe0I8JHA1PnR2MEFCMyglRkwreFpQYUdgO1gKeil7
fHR8YkVBKlMyazZARihEMjJLe0BZQnZpdGFyPSVtJkVvbWE2NnZzV19wa1cpPCEjYGomV2M/eFgl
QCR0U31CCnpAdF81fkcta1FRYS07ZCVyJCozczl5WEU2Tn5iT3JeZmd2NnA/UkF+UDZ9NjQzNGMt
P3RgUlkwRDwjNWNHVkFUVwp6YU9pRWMqSU1oZFQ5el9vaUFpfnVkQWg7eHckOz1XYjhMMHAlNnJp
a3dQPnRYNn4kaHJBQHZ7RTJgVygqYElGUDEKek1AQV5oUHFAazg1aGpJRy07eyV6RHtWbiFlUFU4
cnNmYl59X3hZMUt5XkdJQTNIP0s4IW40UXVWcmxzOD97bnJnCnppcVNTQz0yPm9re0BgcGNROVNB
VTx9ZHhKT2I/Zj8mI29SXmlySilSKn57XjVufS0qTF4tTzZGOXQ7cmY+Y00mNQp6WGxQJngyLVY4
QTcpMiEyM3pmaGokNXo0R1NhYk9HaSZGYE0hSzZiNz9LeipJWDJzOz1oN2leVUh+ZSZqIXYlZzwK
emBrPEY8WDJhMzhldDMoaj0xSlQ+O1IrRiNwV1BpOCswUkxlOGgtVkI2WDFKPEtMeUtsJntjaDBR
em9meFZ6IXVICnpMXz8tREVFNnEkMTl9PztLJHBwUCohMnQpajJjWEdgMGIzcC1hKEg5KFZgQUkt
RnpoI05KUzlTeWo9cmN1VEk2Ygp6RU9tbGElWUR6cWg1eSk1RC0heUE+TypOWTdncms9R042Uks8
eUtoenFSWiNIemVqPitedzchTEpYSmpoI1lGMHwKens4cXl4fEF+U1JkYlR3PkUpJEZ+SVNjOVAw
eUp9PGY0Ujg4MndqPHlKI0ZPdzltaWdyKX40JmxEYDswUEBlTjVDCno7dHlnVyM2SiZCckt4Vkgp
Y0VxfnhuMUw8VHZmUGFuWHFsOylAQzBZRW5sK0gpLTZ2UjElQEo1TDtkbUxYMiVNbgp6I2E4NVI8
aH5+WTRfflpUP3pib1RxQi08QUoze2g5Q35pTlZlbXNaUnk+Vl5oITElMWtRRjg8PUxhTFgmbzll
c04KejJ0QGU/eCU0a09PeUtJNSZzQF9UcyQqRVFSa289ZWglUHVaOXVwfk1seCtQUnpITip7bT95
UTtxREc3PXN+VjxWCnpVSnxCWFF5LTgqakU2VFFJJVorVylpNXYlc19wdk0pVXslI29UWnl7NXhl
WU96OHwrdDlAQ3p3UGlPbCpIVUNySgp6U25EcGJacyM2WE55I2BKOTBCaFAmZURxeGZCRCYzOW88
SVFXWXFsclM4LVAhKUlfJVI1cCk4R012PSU0QkZKSXsKejZjOEE7STVIJUZrZyNXMUdsR0pFPzRZ
Y1BmVSsrdEFoSE4zNkoqYUlBUFB1OG1hcXJgU3Q5ISQwKkN9cTJxRUN0CnpgaDlROFo9Tjt2cnJ4
VzFle31jbHVJe1ErX3RyZ3EmK3E9dWBNdC1jQEdOaj5EWXdDa3tmQWEtbVR+ZkE+cHVVTwp6c3hE
eTxOdDk4az8yK0o8QCNLTVo8Q35rdTllWUhoNTRAWD9gT0t6V2U5MmI3T21iTFk/dnY5JVc7TEtR
Typ1JX4Keng3VE1zayZpakd4VWpHYkJmVEtSJnU4RSZGQW87VVleMnB+K05YREsxTzc4Q29ETEI2
fDBvS3U/PnBecDNJJS0wCno4VUtlUy1hZ0pScUF1RCRsPyhxdT9+Nkc8bHlnd2dEIXp6Z0g8ISpU
c2VSSUxHZ2pTKzxJJnw7UTNASl9DOyU1egp6OTBXb1IjZSErOXsyTF9eXnczJGVLOSh0dEMqNmc0
ekljYnNjT3ZQfnNiRk05by1WRi1XXihKTTAxJXV1WG91fjcKeldfdUpnKUAkcX41JDcrdkphQ3FA
JjdgYzhBcG1iZ2xGKHVBWE84MDtBX009Xm9oK01OTzE0RFhIdHh2Zlo5NGhFCno2R3E7YSF5fTR3
ITtONmIrJnppSmc0QWhBdm9+UTdJQkYzaUc5QyhGYjg9ST1jfCE9X1ZscmsjN1BATH1yRyN2Sgp6
OUp6ME9fTmZnTUpYMm4tTElCeXJPUmEzejwoKWAmRnZWQHpeWHJHO3h7KFAqb24/OTxpLWh6fjM9
dTYlaFEqejAKekNpJjgoPD9seChKJjB1fWxVXk89UCZqPzQ9eTJ1SkMwRl9HMXx5N25PO1hAc3Zo
ZWZFKnZzITA7K0ZCZF8mdW5ECno4P1QjOSo/OEs9YEA3U3AzaVVTSStWJnJLdU4rNGdmLWNiXlMw
ZjZTRk47ZyVxfSNaVEJCUHRBezNKNkFwUnlqZwp6aU1KamxUTkZhWk08WkFqRzNtWlYoRUY7NmUy
fjBBbDcxSzFjeXZfVVBVdjB5PGBjXjhMUWdIJjcwMzFvVWFJa0UKeiRnRXJmUHspMT1JK2hIZnR9
JVNUYlg9eE9xei0+NHs/ITJucChCNiFAczFmT0NzZyRfOHs7XlVXZ0pYdENNRjF9Cnp3YjtYI2pW
ZFo/RDt8cy1nKXVMfGV+IUd0WGBldXZwVVIjc0I9cHA3QzVQS1laXjlEJURiNW4tSXBpeEBPPmlr
cAp6YGkrbnVPaTZ4bVRmVXgzWihJYGJzQUZkSSljZTUtd2ZfMlJlbzA1V1crUkt0IU5+cU40PnpY
IVV+Vlh5WVlsMlQKel87RDQ0WF41PXdTfV50Q05nQjBNUl93JjZZWmRsQCVBc31UOzJBWW1lRHEj
fSNHVyhKak9eQyl6fV45YD1LU1JTCno5KWtLM0I0R0xFVDdPfUFie2dka1lxNmcwNjxacFZgNUpB
P0dDZDBIYDshYns0JCFRNzQke0wpNEBZOyh4cFRzagp6NHUjI1p7Mih1e0spRWAwP29HcGVTdWY4
Uzt2K0NFZUArOXNDYEBKeGJsNW9NcTA+WEU9UH5nbzhPP3F5SHs2O3cKel5jQE08N0tfKCNzV0kr
SytGaVJLcmx4bjNwOXQxTXh1JUc0YDJ4KDtzZyZlUlRNKWg2WXtQaXFqNm02XnNAfGo3CnorYzZo
cjNGQHRFMGEqNjhpRj9sIXJSPHVvc0hHKEZNMU0kTFd9cnVMVG9RbyNHR20pNz5afjcyU0g3Ujc3
ZGt6Qwp6PSl8SXNpZk1adTNidS11RVZzPWd8SzNPXyt+WFU0YDAtTjd7byFNRmNZbnxiYXN3QEFH
QUZxMzxTZ15CNmtIXngKelh4K3tPb2kwfmNfa3okMD4hbHxQeGdvNjlrb2NTVEVzJX5UQSFqZnIx
VWc3M0Qya1k/P2hhciZ3TCEzMlNhIXJwCnpWNTllWER5fWdkdzl5QE95cWZPMGUpMjdpLSg2IzA/
JjthTlEwNU9EdUgrWEcrSmM/diE/dm9tQmhgQSs2SW5+RQp6bUFrP31EKE5WOW9xYEpscngob0py
KzdlV0Z2VztpUT04MCEqYj5AKCZUNGw5NH0mUXxlKHApUUFaVmtzbVhWcUkKejZwNGYhR3hpU19f
ZH1NUik8YjMpPnklZ2tQUjd9cWhUVUlEclMzLW1yak43UU9JeXcxPz5DZWl4SHxQYVI2eXNeCno9
LVBATUVKRWRZaF5ETy1vMFF3Qj4+Wip5R2JlM0B5U054fmZzS2J2Z0FNdS0zMkZ+M0wjPVJralZD
dSNjVVZOMgp6P25hVShkR0l1RGNtVlRDRn1+eCpfTVhGKz9NYE9YX0tgMCYpNjZCfilKK2gpI2o+
PHdfSFlKdzcrLTBQPXkpayQKeiVESnpyI1Y+NXR6Y3xGZE50T1BfPDkrcGZyUT9XOClkUkIhKXRl
UV4xRSRraWgtejAwZXptakt3cH5IS08lbVprCnoxX0llXkYtajtjZUBJN0MpQVg5ZnNwIV85NDhp
YEpkcWx9Zk1VdGE7Vjlib1NwSEdvITx8SzF7REhPYW12RUFRNwp6WFpZKWpgblQ1QFJJdiZTPW08
fkYzcmZuOTh9eX4mSEw8RWFOeTthQXRrSHI9P1NtPUxve0sraj9gc0UxdXFPcE8KektAdUA8KjdH
bD47ISlnWCMlZilaT0Vlc1U0MmYrU2NgaVNaZTxeYldJeExlMWJqNFNwQnxpMlIqKERAcykqJk9g
CnpVUX0kZT9VVD5tOVRnPjN2LWZXUTRfWDEqOGZjRCEpJis7US0+JTR3O2tafXkkKUh5alM3a2Q0
SEpgWFpXTTZiUwp6Vl5kcENjSm1yI20mUz9RbjJ0aGgwOXQtVj9VXzhAKiZpTkkmbzw8cUlPRTUj
QnVDckN5RVRDTnloSXxYZVVoUTcKekdoJksmPVc9ZlB2fTszVVdeUz9+TmBic3IrR2pTfWJIYiRa
N2BuUUIyXzV3fDB3LXQ3QkRWbXpTdFZKbkgrTUxOCnpyTVFRUDJSMTdpYXkjdWBoZiN7Vnl7WWtY
UXVJQWtmdVdERXhFb3QlbGgoY3pua0hwWD57d3IwYmwjfS0qJW9+MAp6YTdFNypFTlpAeTEkfHg1
bTRDPm88d3p7cnwyVURERGktYSFqaExEMll7KCFDdShaNDYxIXQpPlRqKnRgVmhaZl4KejhjNGJS
YWRfbkQxbiVrNS1aZnhWdzUhN0V7YS1BenJaIWVPdylWRjtMRFpCbHY+UTwwK1k9ZTY+MytKfXxJ
YHphCnp3eE9GRk5IKkZ6PmhNXzRkKTlZTUt8JCs5cmtnX0BEfkduKU5QU29AXjc4alZrdWNUbXZX
KWVwOGhUZiYjKmVOaQp6WigkbnFiKnxQKGYmRjE7Uzt9XjhrQClVbl9aemoyWkxKZH5xVVIjbSpM
fWdyWS0rPCRhcWgxYkpISFRqdkBvdTAKemclM31GcXVTc2Y+WmoxSGp4MyQjJkw8RFZAKU52QGdC
Tzc7blZ5QlFVcy14QkBUP14xJSsjYGM4K1IoUGJLLVdlCnokOERRezshelQlcS1IQ04yeE15IWB0
LXQ5eGNPLVBpOSZ7Ymg4Xk8kal5gbEkhOEV0PmI8WSltdjI3fj1vYz9rbQp6e0NTZjZEVjZVWk9N
JE9mZiZnUH0yRkV+UCNtOCtnP2tINT5JRFhWR1lHZil5cDl1I09ZJkxedXY7d0FBNnolJkAKemg5
UD9ud3BPTmU+KmJ1a3Qxdy00bXM0RkdtS0lvI0k5PF5OdHJoMm8/JHF2ZlpmWWxxLTtyfithSSY0
SVZzTk43Cno1Pi1faiNEXllIV0AqeShUQjU4fispWVM9QDktZTgmSWBMeDErVXVeMlFxYkstWl5M
aW1eaG1FQj18YGI7TigjPgp6aj05cyZyNk1kKHBwSnB5WSlFX1JOND1+UVZGJUA0OEtwMD1wbGdZ
ZURqSTJYKkhFMiFyfGFNJXdvSkN8ZjtpQDMKenVXK3wzRnl8cjhXWDh7VCooWVBJSTZqdGtWMUhP
PGhhWWkhUCRvYEtQaXopMStAQ3lqT1JNPihjPTxDRTReM0lpCnpQbyh5eF4haXpPdlMyPmJAZmoq
MU1aRElJNSpmMlNMbGE4cGF1NSpRZ30xcU9scnQqK19IRkFrPk0/RURpQHZOWQp6e3c0K3NjelhA
c3FWcWBNU050VT5AJXBiMWB3aEU9NSRPeTE4c1pXREB0fmhYaCVWTHpgKT1lYWN8RDIrRjx2ZkEK
eldYLS0zSHlLaEg0ZzUlfVV4Pm47T1pOdTNuJF4xcSZRYVYmVD4wR2pvSCpra2gmPEQ5cnVpfmN3
Y0gkRHpfRnUpCnpIa34pXjUwbD9SWTx2PEtEbSNPdCUkQWw8KUIjeShoZUltQDNZSnU1XyNhZzJf
T0N3WCRQSVArUkQyO3E9YGYtPwp6PnteaDNSPGRxO3NxcEdTbm95R1FWMWl5bkIyRFcjaXoyRnRV
U0pScEo2QVZicCpqc0c8QWAoRUBZYCFiVT9hPXAKel4pc3NzT3tgMHwzYzdrQ1JPS3pjJWk3TV42
WHsoUiVOSEViPzZnKkh3bCZATSh6OWhtT1lQRj1xNH1EKnorSEUwCnpNV31kWT9fZlVfR2Z0c1Qo
c2k9OVREUHF2XzBWYWIqK05oTmZWamJvQHs3clF6TiNZYyskX0RgODh7SCZhVkxHbAp6RS1xZmJ8
OFJBJiYwO1peSEQxaDk2YUomcTNUY0REXj1yd193TygmRzw2LUh0bW1lKyg+Yn5vJiZHYSNOLXJx
b34KelY1Iy0+V2FhSFhHbVo1Yz9Wa0hKcnR2aituTCl8eEh8MTZOV21lZGQlfklAXkgpdE03cGs+
el87MU40NmFMb2hhCnp3U2lNQlZ5JEYyeGdAbHJqJW0tVzBgIVYxMDQ9RlFwN2BARztjd3BtbUFH
QEU9WlEtWHJEfHw+Qyh+ZXcjKEdCNgp6Zn5+SSY3dF4+cGRDbFZvI1QzdD1jbkNiWCFLJGFSY3tC
T3QkdHt+dmxjdmhhYj40TnZEYyM2alhmfWNScmhoKkAKenU9YihMclklTXhIK1d6I3JwcVV1fElY
N0dqSH1HWEApb2R1aHUtP3wxQHFCRCUlcjhLN1k7OVJ0N2wzbENnSXxnCno/fihlN1NET3lXMSY5
bWQkQkpJNmowVllvMWxpJVFXd2V2IWxreHItLXNeaykpNkwjcylrPipIS0Z5KWcrWjZMMQp6bkNu
R1JWWTh0fUlfQFJtP0JfXndvQ19lcnF8fWorSTN8KyFiKG9WWHA4cmBXY147dFBGOWVxR2UrbiV4
ZVghIVkKeiVmekJ9QV48fn1ZJUhsU2FyS3UmKTJSaztXZVppd1RgfTEydUZBUT1lKFJtfkdvM1cm
eFF2VFJIQTwoSVFAdUwzCnowSjk3NHs+e0dyZTsoQHB6VUJDNWNKSF5aYVkrOTFIbVpkRVhBeVlj
XlFqaD5oX2VXe2BOYE0oO2whSS0qUn1OfQp6Uz88SXE0TEdJZyZebDJ8TntqQTluN08tRzxKUzVJ
WTBefkRYfShoKiRgZlVYR2VMRU1YaUpgcCtlVnRBQDVxYW0KenFzX3NNans3QWwjPytnMy0zTWR8
TFJqJnVfbEcrfERORCU/QXxWLXl2M2pncjhkK0xIcTRjbSRteUMkTl9eZjYzCno5ZVIoKUpQLSF+
PX1MRCg0bmJPQmh0Q3FHJTEkaS15anNhO1ZpSnlNbEEmVD5eYDErbCt0NDgjZXRmdzhgcD49awp6
dVEtPlVpcChhdF9oQ2dCVyVURylfbmJ+JVBrK0NCcmE1OHo4RWQ2fHhyMD93d2NNMmRsPkhTfWJY
eHRZPHZlREAKelBxblBOdFpiKSZsK3EkJWV4QGhrK0shSUpxcGVwISQoaz9HVmJKPko/P2k7KGl4
VTZOR3RoVTROZEpMPntkTkBwCnVse1V3Ql83NDltWDhiZWNgZD1+UWs5dlVMaFdZPFdOQiQ/QGBT
O1llfDNEfUhVNlZMSTVDMERyUmJ1ZX4KCmxpdGVyYWwgMApIY21WP2QwMDAwMQoKZGlmZiAtLWdp
dCBhL1dlYnNpdGVzL3dlYmtpdC5vcmcvZGVtb3Mvd2VibWV0YWwvY3ViZXMuanMgYi9XZWJzaXRl
cy93ZWJraXQub3JnL2RlbW9zL3dlYm1ldGFsL2N1YmVzLmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjNkZWJiODkx
Mzg0NTNiZjU2ZmY4NDExZmE2ODFkNzBlZWFhYjgzZWMKLS0tIC9kZXYvbnVsbAorKysgYi9XZWJz
aXRlcy93ZWJraXQub3JnL2RlbW9zL3dlYm1ldGFsL2N1YmVzLmpzCkBAIC0wLDAgKzEsMzQ0IEBA
CitjbGFzcyBVbmlmb3JtIHsKKyAgICBjb25zdHJ1Y3RvcihmbG9hdDMyQXJyYXkpIHsKKyAgICAg
ICAgaWYgKGZsb2F0MzJBcnJheSAmJiBmbG9hdDMyQXJyYXkubGVuZ3RoICE9IDY0KSB7CisgICAg
ICAgICAgICBjb25zb2xlLmxvZygiSW5jb3JyZWN0IGJhY2tpbmcgc3RvcmUgZm9yIFVuaWZvcm0i
KTsKKyAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAgfQorCisgICAgICAgIHRoaXMuYXJyYXkg
PSBmbG9hdDMyQXJyYXkgfHwgbmV3IEZsb2F0MzJBcnJheSg2NCk7CisgICAgfQorICAgIC8vIExh
eW91dCBpcworICAgIC8vIDAtMTUgPSBtb2RlbF92aWV3X3Byb2plY3Rpb25fbWF0cml4IChmbG9h
dDR4NCkKKyAgICAvLyAxNi0zMSA9IG5vcm1hbCBtYXRyaXggKGZsb2F0NHg0KQorICAgIC8vIDMy
LTM1ID0gYW1iaWVudCBjb2xvciAoZmxvYXQ0KQorICAgIC8vIDM2ID0gbXVsdGlwbGllciAoaW50
KQorICAgIGdldCBidWZmZXIoKSB7CisgICAgICAgIHJldHVybiB0aGlzLmFycmF5OworICAgIH0K
KyAgICBnZXQgbXZwKCkgeworICAgICAgICByZXR1cm4gdGhpcy5hcnJheS5zdWJhcnJheSgwLCAx
Nik7CisgICAgfQorICAgIGdldCBub3JtYWwoKSB7CisgICAgICAgIHJldHVybiB0aGlzLmFycmF5
LnN1YmFycmF5KDE2LCAzMik7CisgICAgfQorICAgIGdldCBhbWJpZW50Q29sb3IoKSB7CisgICAg
ICAgIHJldHVybiB0aGlzLmFycmF5LnN1YmFycmF5KDMyLCAzNik7CisgICAgfQorICAgIGdldCBt
dWx0aXBsaWVyKCkgeworICAgICAgICByZXR1cm4gdGhpcy5hcnJheVs0MF07CisgICAgfQorICAg
IHNldCBtdnAodmFsdWUpIHsKKyAgICAgICAgdGhpcy5fY29weU1hdHJpeCh2YWx1ZSwgMCk7Cisg
ICAgfQorICAgIHNldCBub3JtYWwodmFsdWUpIHsKKyAgICAgICAgdGhpcy5fY29weU1hdHJpeCh2
YWx1ZSwgMTYpOworICAgIH0KKyAgICBzZXQgYW1iaWVudENvbG9yKHZhbHVlKSB7CisgICAgICAg
IHRoaXMuYXJyYXlbMzJdID0gdmFsdWVbMF07CisgICAgICAgIHRoaXMuYXJyYXlbMzNdID0gdmFs
dWVbMV07CisgICAgICAgIHRoaXMuYXJyYXlbMzRdID0gdmFsdWVbMl07CisgICAgICAgIHRoaXMu
YXJyYXlbMzVdID0gdmFsdWVbM107CisgICAgfQorICAgIHNldCBtdWx0aXBsaWVyKHZhbHVlKSB7
CisgICAgICAgIHRoaXMuYXJyYXlbMzZdID0gdmFsdWU7CisgICAgfQorICAgIF9jb3B5TWF0cml4
KG1hdHJpeCwgb2Zmc2V0KSB7CisgICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgMTY7IGkrKykg
eworICAgICAgICAgICAgdGhpcy5hcnJheVtvZmZzZXQgKyBpXSA9IG1hdHJpeFtpXTsKKyAgICAg
ICAgfQorICAgIH0KK30KKworY29uc3Qgc21vb3Roc3RlcCA9IChtaW4sIG1heCwgdmFsdWUpID0+
IHsKKyAgICBsZXQgeCA9IE1hdGgubWF4KDAsIE1hdGgubWluKDEsICh2YWx1ZSAtIG1pbikgLyAo
bWF4IC0gbWluKSkpOworICAgIHJldHVybiB4ICogeCAqICgzIC0gMiAqIHgpOworfTsKKworY29u
c3QgaW5UaW1lUmFuZ2UgPSAobm93LCBzdGFydCwgZW5kLCBwZXJpb2QpID0+IHsKKyAgICBsZXQg
b2Zmc2V0ID0gbm93ICUgcGVyaW9kOworICAgIHJldHVybiBvZmZzZXQgPj0gc3RhcnQgJiYgb2Zm
c2V0IDw9IGVuZDsKK307CisKK2NvbnN0IHRpbWVSYW5nZU9mZnNldCA9IChub3csIHN0YXJ0LCBl
bmQsIHBlcmlvZCkgPT4geworICAgIGlmICghaW5UaW1lUmFuZ2Uobm93LCBzdGFydCwgZW5kLCBw
ZXJpb2QpKSB7CisgICAgICAgIHJldHVybiAwOworICAgIH0KKyAgICBsZXQgb2Zmc2V0ID0gbm93
ICUgcGVyaW9kOworICAgIHJldHVybiBNYXRoLm1pbigxLCBNYXRoLm1heCgwLCAob2Zmc2V0IC0g
c3RhcnQpIC8gKGVuZCAtIHN0YXJ0KSkpOworfTsKKworY29uc3QgbWlkZGxlUGVha1RpbWVSYW5n
ZU9mZnNldCA9IChub3csIHN0YXJ0LCBlbmQsIHBlcmlvZCkgPT4geworICAgIGxldCBvZmZzZXQg
PSB0aW1lUmFuZ2VPZmZzZXQobm93LCBzdGFydCwgZW5kLCBwZXJpb2QpOworICAgIHJldHVybiAx
IC0gTWF0aC5hYnMoMC41IC0gb2Zmc2V0KSAqIDI7Cit9OworCitjb25zdCBrTnVtQWN0aXZlVW5p
Zm9ybUJ1ZmZlcnMgPSAzOworY29uc3Qga051bWJlck9mQm94ZXNQZXJBeGlzID0gNjsKK2NvbnN0
IGtOdW1iZXJPZkJveGVzID0ga051bWJlck9mQm94ZXNQZXJBeGlzICoga051bWJlck9mQm94ZXNQ
ZXJBeGlzOworY29uc3Qga0JveEJhc2VBbWJpZW50Q29sb3IgPSBbMC4yLCAwLjIsIDAuMiwgMS4w
XTsKK2NvbnN0IGtGT1ZZID0gNDUuMCAvIDE4MCAqIE1hdGguUEk7Citjb25zdCBrRXllID0gdmVj
My5mcm9tVmFsdWVzKDAuMCwgMi43NSwgLTIpOworY29uc3Qga0NlbnRlciA9IHZlYzMuZnJvbVZh
bHVlcygwLjAsIDEuNSwgMS4wKTsKK2NvbnN0IGtVcCA9IHZlYzMuZnJvbVZhbHVlcygwLjAsIDEu
MCwgMC4wKTsKK2NvbnN0IGtFZGdlID0gMS41IC8ga051bWJlck9mQm94ZXNQZXJBeGlzIDsKKwor
Y29uc3Qga0N1YmVWZXJ0ZXhEYXRhID0gbmV3IEZsb2F0MzJBcnJheSgKK1sKKyAgICBrRWRnZSwg
LWtFZGdlLCBrRWRnZSwgMC4wLCAtMS4wLCAwLjAsCisgICAgLWtFZGdlLCAta0VkZ2UsIGtFZGdl
LCAwLjAsIC0xLjAsIDAuMCwKKyAgICAta0VkZ2UsIC1rRWRnZSwgLWtFZGdlLCAwLjAsIC0xLjAs
IDAuMCwKKyAgICBrRWRnZSwgLWtFZGdlLCAta0VkZ2UsIDAuMCwgLTEuMCwgMC4wLAorICAgIGtF
ZGdlLCAta0VkZ2UsIGtFZGdlLCAwLjAsIC0xLjAsIDAuMCwKKyAgICAta0VkZ2UsIC1rRWRnZSwg
LWtFZGdlLCAwLjAsIC0xLjAsIDAuMCwKKworICAgIGtFZGdlLCBrRWRnZSwga0VkZ2UsIDEuMCwg
MC4wLCAwLjAsCisgICAga0VkZ2UsIC1rRWRnZSwga0VkZ2UsIDEuMCwgMC4wLCAwLjAsCisgICAg
a0VkZ2UsIC1rRWRnZSwgLWtFZGdlLCAxLjAsIDAuMCwgMC4wLAorICAgIGtFZGdlLCBrRWRnZSwg
LWtFZGdlLCAxLjAsIDAuMCwgMC4wLAorICAgIGtFZGdlLCBrRWRnZSwga0VkZ2UsIDEuMCwgMC4w
LCAwLjAsCisgICAga0VkZ2UsIC1rRWRnZSwgLWtFZGdlLCAxLjAsIDAuMCwgMC4wLAorCisgICAg
LWtFZGdlLCBrRWRnZSwga0VkZ2UsIDAuMCwgMS4wLCAwLjAsCisgICAga0VkZ2UsIGtFZGdlLCBr
RWRnZSwgMC4wLCAxLjAsIDAuMCwKKyAgICBrRWRnZSwga0VkZ2UsIC1rRWRnZSwgMC4wLCAxLjAs
IDAuMCwKKyAgICAta0VkZ2UsIGtFZGdlLCAta0VkZ2UsIDAuMCwgMS4wLCAwLjAsCisgICAgLWtF
ZGdlLCBrRWRnZSwga0VkZ2UsIDAuMCwgMS4wLCAwLjAsCisgICAga0VkZ2UsIGtFZGdlLCAta0Vk
Z2UsIDAuMCwgMS4wLCAwLjAsCisKKyAgICAta0VkZ2UsIC1rRWRnZSwga0VkZ2UsIC0xLjAsIDAu
MCwgMC4wLAorICAgIC1rRWRnZSwga0VkZ2UsIGtFZGdlLCAtMS4wLCAwLjAsIDAuMCwKKyAgICAt
a0VkZ2UsIGtFZGdlLCAta0VkZ2UsIC0xLjAsIDAuMCwgMC4wLAorICAgIC1rRWRnZSwgLWtFZGdl
LCAta0VkZ2UsIC0xLjAsIDAuMCwgMC4wLAorICAgIC1rRWRnZSwgLWtFZGdlLCBrRWRnZSwgLTEu
MCwgMC4wLCAwLjAsCisgICAgLWtFZGdlLCBrRWRnZSwgLWtFZGdlLCAtMS4wLCAwLjAsIDAuMCwK
KworICAgIGtFZGdlLCBrRWRnZSwga0VkZ2UsIDAuMCwgMC4wLCAxLjAsCisgICAgLWtFZGdlLCBr
RWRnZSwga0VkZ2UsIDAuMCwgMC4wLCAxLjAsCisgICAgLWtFZGdlLCAta0VkZ2UsIGtFZGdlLCAw
LjAsIDAuMCwgMS4wLAorICAgIC1rRWRnZSwgLWtFZGdlLCBrRWRnZSwgMC4wLCAwLjAsIDEuMCwK
KyAgICBrRWRnZSwgLWtFZGdlLCBrRWRnZSwgMC4wLCAwLjAsIDEuMCwKKyAgICBrRWRnZSwga0Vk
Z2UsIGtFZGdlLCAwLjAsIDAuMCwgMS4wLAorCisgICAga0VkZ2UsIC1rRWRnZSwgLWtFZGdlLCAw
LjAsIDAuMCwgLTEuMCwKKyAgICAta0VkZ2UsIC1rRWRnZSwgLWtFZGdlLCAwLjAsIDAuMCwgLTEu
MCwKKyAgICAta0VkZ2UsIGtFZGdlLCAta0VkZ2UsIDAuMCwgMC4wLCAtMS4wLAorICAgIGtFZGdl
LCBrRWRnZSwgLWtFZGdlLCAwLjAsIDAuMCwgLTEuMCwKKyAgICBrRWRnZSwgLWtFZGdlLCAta0Vk
Z2UsIDAuMCwgMC4wLCAtMS4wLAorICAgIC1rRWRnZSwga0VkZ2UsIC1rRWRnZSwgMC4wLCAwLjAs
IC0xLjAKK10pOworCitsZXQgZ3B1OworbGV0IGNvbW1hbmRRdWV1ZTsKK2xldCByZW5kZXJQYXNz
RGVzY3JpcHRvcjsKK2xldCByZW5kZXJQaXBlbGluZVN0YXRlOworbGV0IGRlcHRoU3RlbmNpbFN0
YXRlOworCitsZXQgcHJvamVjdGlvbk1hdHJpeCA9IG1hdDQuY3JlYXRlKCk7CitsZXQgdmlld01h
dHJpeCA9IG1hdDQuY3JlYXRlKCk7CisKK3ZhciBzdGFydFRpbWU7Cit2YXIgZWxhcHNlZFRpbWU7
CitsZXQgY2FtZXJhUm90YXRpb24gPSAwOworbGV0IGNhbWVyYUFsdGl0dWRlID0gMDsKKworY29u
c3QgdW5pZm9ybUJ1ZmZlcnMgPSBuZXcgQXJyYXkoa051bUFjdGl2ZVVuaWZvcm1CdWZmZXJzKTsK
K3ZhciBjdXJyZW50VW5pZm9ybUJ1ZmZlckluZGV4ID0gMDsKKword2luZG93LmFkZEV2ZW50TGlz
dGVuZXIoImxvYWQiLCBpbml0LCBmYWxzZSk7CisKK2Z1bmN0aW9uIGluaXQoKSB7CisKKyAgICBp
ZiAoIWNoZWNrRm9yV2ViTWV0YWwoKSkgeworICAgICAgICByZXR1cm47CisgICAgfQorCisgICAg
bGV0IGNhbnZhcyA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoImNhbnZhcyIpOworICAgIGxldCBj
YW52YXNTaXplID0gY2FudmFzLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpOworICAgIGNhbnZhcy53
aWR0aCA9IGNhbnZhc1NpemUud2lkdGg7CisgICAgY2FudmFzLmhlaWdodCA9IGNhbnZhc1NpemUu
aGVpZ2h0OworCisgICAgbGV0IGFzcGVjdCA9IE1hdGguYWJzKGNhbnZhc1NpemUud2lkdGggLyBj
YW52YXNTaXplLmhlaWdodCk7CisgICAgbWF0NC5wZXJzcGVjdGl2ZShwcm9qZWN0aW9uTWF0cml4
LCBrRk9WWSwgYXNwZWN0LCAwLjEsIDEwMC4wKTsKKyAgICBtYXQ0Lmxvb2tBdCh2aWV3TWF0cml4
LCBrRXllLCBrQ2VudGVyLCBrVXApOworCisgICAgZ3B1ID0gY2FudmFzLmdldENvbnRleHQoIndl
Ym1ldGFsIik7CisgICAgY29tbWFuZFF1ZXVlID0gZ3B1LmNyZWF0ZUNvbW1hbmRRdWV1ZSgpOwor
CisgICAgbGV0IGxpYnJhcnkgPSBncHUuY3JlYXRlTGlicmFyeShkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgibGlicmFyeSIpLnRleHQpOworICAgIGxldCB2ZXJ0ZXhGdW5jdGlvbiA9IGxpYnJhcnku
ZnVuY3Rpb25XaXRoTmFtZSgidmVydGV4X2Z1bmN0aW9uIik7CisgICAgbGV0IGZyYWdtZW50RnVu
Y3Rpb24gPSBsaWJyYXJ5LmZ1bmN0aW9uV2l0aE5hbWUoImZyYWdtZW50X2Z1bmN0aW9uIik7CisK
KyAgICBpZiAoIWxpYnJhcnkgfHwgIWZyYWdtZW50RnVuY3Rpb24gfHwgIXZlcnRleEZ1bmN0aW9u
KSB7CisgICAgICAgIHJldHVybjsKKyAgICB9CisKKyAgICB2YXIgcGlwZWxpbmVEZXNjcmlwdG9y
ID0gbmV3IFdlYk1ldGFsUmVuZGVyUGlwZWxpbmVEZXNjcmlwdG9yKCk7CisgICAgcGlwZWxpbmVE
ZXNjcmlwdG9yLnZlcnRleEZ1bmN0aW9uID0gdmVydGV4RnVuY3Rpb247CisgICAgcGlwZWxpbmVE
ZXNjcmlwdG9yLmZyYWdtZW50RnVuY3Rpb24gPSBmcmFnbWVudEZ1bmN0aW9uOworICAgIC8vIE5P
VEU6IE91ciBBUEkgcHJvcG9zYWwgaGFzIHRoZXNlIHZhbHVlcyBhcyBlbnVtcywgbm90IGNvbnN0
YW50IG51bWJlcnMuCisgICAgLy8gV2UgaGF2ZW4ndCBnb3QgYXJvdW5kIHRvIGltcGxlbWVudGlu
ZyB0aGUgZW51bXMgeWV0LgorICAgIHBpcGVsaW5lRGVzY3JpcHRvci5jb2xvckF0dGFjaG1lbnRz
WzBdLnBpeGVsRm9ybWF0ID0gZ3B1LlBpeGVsRm9ybWF0QkdSQThVbm9ybTsKKyAgICBwaXBlbGlu
ZURlc2NyaXB0b3IuZGVwdGhBdHRhY2htZW50UGl4ZWxGb3JtYXQgPSBncHUuUGl4ZWxGb3JtYXRE
ZXB0aDMyRmxvYXQ7CisKKyAgICByZW5kZXJQaXBlbGluZVN0YXRlID0gZ3B1LmNyZWF0ZVJlbmRl
clBpcGVsaW5lU3RhdGUocGlwZWxpbmVEZXNjcmlwdG9yKTsKKworICAgIGxldCBkZXB0aFN0ZW5j
aWxEZXNjcmlwdG9yID0gbmV3IFdlYk1ldGFsRGVwdGhTdGVuY2lsRGVzY3JpcHRvcigpOworICAg
IGRlcHRoU3RlbmNpbERlc2NyaXB0b3IuZGVwdGhXcml0ZUVuYWJsZWQgPSB0cnVlOworICAgIGRl
cHRoU3RlbmNpbERlc2NyaXB0b3IuZGVwdGhDb21wYXJlRnVuY3Rpb24gPSAibGVzcyI7CisKKyAg
ICBkZXB0aFN0ZW5jaWxTdGF0ZSA9IGdwdS5jcmVhdGVEZXB0aFN0ZW5jaWxTdGF0ZShkZXB0aFN0
ZW5jaWxEZXNjcmlwdG9yKTsKKworICAgIGZvciAobGV0IGkgPSAwOyBpIDwga051bUFjdGl2ZVVu
aWZvcm1CdWZmZXJzOyBpKyspIHsKKyAgICAgICAgdW5pZm9ybUJ1ZmZlcnNbaV0gPSBbXTsKKyAg
ICAgICAgZm9yIChsZXQgaiA9IDA7IGogPCBrTnVtYmVyT2ZCb3hlczsgaisrKSB7CisgICAgICAg
ICAgICBsZXQgdW5pZm9ybSA9IG5ldyBVbmlmb3JtKCk7CisgICAgICAgICAgICB1bmlmb3JtLm11
bHRpcGxpZXIgPSAoaiAlIDIpID8gLTEgOiAxOworICAgICAgICAgICAgdW5pZm9ybS5hbWJpZW50
Q29sb3IgPSBrQm94QmFzZUFtYmllbnRDb2xvcjsKKyAgICAgICAgICAgIHVuaWZvcm1CdWZmZXJz
W2ldLnB1c2goZ3B1LmNyZWF0ZUJ1ZmZlcih1bmlmb3JtLmJ1ZmZlcikpOworICAgICAgICB9Cisg
ICAgfQorCisgICAgbGV0IGRlcHRoVGV4dHVyZURlc2NyaXB0b3IgPSBuZXcgV2ViTWV0YWxUZXh0
dXJlRGVzY3JpcHRvcihncHUuUGl4ZWxGb3JtYXREZXB0aDMyRmxvYXQsIGNhbnZhc1NpemUud2lk
dGgsIGNhbnZhc1NpemUuaGVpZ2h0LCBmYWxzZSk7CisgICAgLy8gTk9URTogT3VyIEFQSSBwcm9w
b3NhbCBoYXMgc29tZSBvZiB0aGVzZSB2YWx1ZXMgYXMgZW51bXMsIG5vdCBjb25zdGFudCBudW1i
ZXJzLgorICAgIC8vIFdlIGhhdmVuJ3QgZ290IGFyb3VuZCB0byBpbXBsZW1lbnRpbmcgdGhlIGVu
dW1zIHlldC4KKyAgICBkZXB0aFRleHR1cmVEZXNjcmlwdG9yLnRleHR1cmVUeXBlID0gZ3B1LlRl
eHR1cmVUeXBlMkQ7CisgICAgZGVwdGhUZXh0dXJlRGVzY3JpcHRvci5zYW1wbGVDb3VudCA9IDE7
CisgICAgZGVwdGhUZXh0dXJlRGVzY3JpcHRvci51c2FnZSA9IGdwdS5UZXh0dXJlVXNhZ2VVbmtu
b3duOworICAgIGRlcHRoVGV4dHVyZURlc2NyaXB0b3Iuc3RvcmFnZU1vZGUgPSBncHUuU3RvcmFn
ZU1vZGVQcml2YXRlOworCisgICAgbGV0IGRlcHRoVGV4dHVyZSA9IGdwdS5jcmVhdGVUZXh0dXJl
KGRlcHRoVGV4dHVyZURlc2NyaXB0b3IpOworCisgICAgcmVuZGVyUGFzc0Rlc2NyaXB0b3IgPSBu
ZXcgV2ViTWV0YWxSZW5kZXJQYXNzRGVzY3JpcHRvcigpOworICAgIC8vIE5PVEU6IE91ciBBUEkg
cHJvcG9zYWwgaGFzIHNvbWUgb2YgdGhlc2UgdmFsdWVzIGFzIGVudW1zLCBub3QgY29uc3RhbnQg
bnVtYmVycy4KKyAgICAvLyBXZSBoYXZlbid0IGdvdCBhcm91bmQgdG8gaW1wbGVtZW50aW5nIHRo
ZSBlbnVtcyB5ZXQuCisgICAgcmVuZGVyUGFzc0Rlc2NyaXB0b3IuY29sb3JBdHRhY2htZW50c1sw
XS5sb2FkQWN0aW9uID0gZ3B1LkxvYWRBY3Rpb25DbGVhcjsKKyAgICByZW5kZXJQYXNzRGVzY3Jp
cHRvci5jb2xvckF0dGFjaG1lbnRzWzBdLnN0b3JlQWN0aW9uID0gZ3B1LlN0b3JlQWN0aW9uU3Rv
cmU7CisgICAgcmVuZGVyUGFzc0Rlc2NyaXB0b3IuY29sb3JBdHRhY2htZW50c1swXS5jbGVhckNv
bG9yID0gWzAuMzUsIDAuNjUsIDAuODUsIDEuMF07CisgICAgcmVuZGVyUGFzc0Rlc2NyaXB0b3Iu
ZGVwdGhBdHRhY2htZW50LmxvYWRBY3Rpb24gPSBncHUuTG9hZEFjdGlvbkNsZWFyOworICAgIHJl
bmRlclBhc3NEZXNjcmlwdG9yLmRlcHRoQXR0YWNobWVudC5zdG9yZUFjdGlvbiA9IGdwdS5TdG9y
ZUFjdGlvbkRvbnRDYXJlOworICAgIHJlbmRlclBhc3NEZXNjcmlwdG9yLmRlcHRoQXR0YWNobWVu
dC5jbGVhckRlcHRoID0gMS4wOworICAgIHJlbmRlclBhc3NEZXNjcmlwdG9yLmRlcHRoQXR0YWNo
bWVudC50ZXh0dXJlID0gZGVwdGhUZXh0dXJlOworCisgICAgdmVydGV4QnVmZmVyID0gZ3B1LmNy
ZWF0ZUJ1ZmZlcihrQ3ViZVZlcnRleERhdGEpOworCisgICAgc3RhcnRUaW1lID0gRGF0ZS5ub3co
KTsKKyAgICByZW5kZXIoKTsKK30KKworZnVuY3Rpb24gcmVuZGVyKCkgeworCisgICAgZWxhcHNl
ZFRpbWUgPSAoRGF0ZS5ub3coKSAtIHN0YXJ0VGltZSkgLyAxMDAwOworCisgICAgY2FtZXJhUm90
YXRpb24gPSBNYXRoLlBJICogMiAqICgxIC0gdGltZVJhbmdlT2Zmc2V0KGVsYXBzZWRUaW1lLCAw
LCAxMSwgMTEpKTsKKyAgICBjYW1lcmFBbHRpdHVkZSA9IE1hdGguc2luKGVsYXBzZWRUaW1lIC8g
NiAqIE1hdGguUEkpICsgMTsKKworICAgIGxldCBleWUgPSB2ZWMzLmNyZWF0ZSgpOworICAgIHZl
YzMuYWRkKGV5ZSwga0V5ZSwgdmVjMy5mcm9tVmFsdWVzKDAsIGNhbWVyYUFsdGl0dWRlLCAwKSk7
CisgICAgbWF0NC5sb29rQXQodmlld01hdHJpeCwgZXllLCBrQ2VudGVyLCBrVXApOworCisgICAg
dXBkYXRlVW5pZm9ybURhdGEoY3VycmVudFVuaWZvcm1CdWZmZXJJbmRleCk7CisKKyAgICBsZXQg
Y29tbWFuZEJ1ZmZlciA9IGNvbW1hbmRRdWV1ZS5jcmVhdGVDb21tYW5kQnVmZmVyKCk7CisKKyAg
ICBsZXQgZHJhd2FibGUgPSBncHUubmV4dERyYXdhYmxlKCk7CisKKyAgICByZW5kZXJQYXNzRGVz
Y3JpcHRvci5jb2xvckF0dGFjaG1lbnRzWzBdLnRleHR1cmUgPSBkcmF3YWJsZS50ZXh0dXJlOwor
CisgICAgbGV0IGNvbW1hbmRFbmNvZGVyID0gY29tbWFuZEJ1ZmZlci5jcmVhdGVSZW5kZXJDb21t
YW5kRW5jb2RlcldpdGhEZXNjcmlwdG9yKHJlbmRlclBhc3NEZXNjcmlwdG9yKTsKKyAgICBjb21t
YW5kRW5jb2Rlci5zZXREZXB0aFN0ZW5jaWxTdGF0ZShkZXB0aFN0ZW5jaWxTdGF0ZSk7CisgICAg
Y29tbWFuZEVuY29kZXIuc2V0UmVuZGVyUGlwZWxpbmVTdGF0ZShyZW5kZXJQaXBlbGluZVN0YXRl
KTsKKyAgICBjb21tYW5kRW5jb2Rlci5zZXRWZXJ0ZXhCdWZmZXIodmVydGV4QnVmZmVyLCAwLCAw
KTsKKworICAgIGZvciAobGV0IGdlb21ldHJ5QnVmZmVyIG9mIHVuaWZvcm1CdWZmZXJzW2N1cnJl
bnRVbmlmb3JtQnVmZmVySW5kZXhdKSB7CisgICAgICAgIGNvbW1hbmRFbmNvZGVyLnNldFZlcnRl
eEJ1ZmZlcihnZW9tZXRyeUJ1ZmZlciwgMCwgMSk7CisgICAgICAgIC8vIE5PVEU6IE91ciBBUEkg
cHJvcG9zYWwgdXNlcyB0aGUgZW51bSB2YWx1ZSAidHJpYW5nbGUiIGhlcmUuIFdlIGhhdmVuJ3Qg
Z290IGFyb3VuZCB0byBpbXBsZW1lbnRpbmcgdGhlIGVudW1zIHlldC4KKyAgICAgICAgY29tbWFu
ZEVuY29kZXIuZHJhd1ByaW1pdGl2ZXMoZ3B1LlByaW1pdGl2ZVR5cGVUcmlhbmdsZSwgMCwga0N1
YmVWZXJ0ZXhEYXRhLmxlbmd0aCk7CisgICAgfQorCisgICAgY29tbWFuZEVuY29kZXIuZW5kRW5j
b2RpbmcoKTsKKyAgICBjb21tYW5kQnVmZmVyLnByZXNlbnREcmF3YWJsZShkcmF3YWJsZSk7Cisg
ICAgY29tbWFuZEJ1ZmZlci5jb21taXQoKTsKKworICAgIGN1cnJlbnRVbmlmb3JtQnVmZmVySW5k
ZXggPSAoY3VycmVudFVuaWZvcm1CdWZmZXJJbmRleCArIDEpICUga051bUFjdGl2ZVVuaWZvcm1C
dWZmZXJzOworICAgIHJlcXVlc3RBbmltYXRpb25GcmFtZShyZW5kZXIpOworfQorCitmdW5jdGlv
biB1cGRhdGVVbmlmb3JtRGF0YShpbmRleCkgeworCisgICAgbGV0IGJhc2VNb2RlbFZpZXdNYXRy
aXggPSBtYXQ0LmNyZWF0ZSgpOworICAgIG1hdDQudHJhbnNsYXRlKGJhc2VNb2RlbFZpZXdNYXRy
aXgsIGJhc2VNb2RlbFZpZXdNYXRyaXgsIHZlYzMuZnJvbVZhbHVlcygwLCAtMSAqIGNhbWVyYUFs
dGl0dWRlLCA1KSk7CisgICAgbWF0NC5yb3RhdGUoYmFzZU1vZGVsVmlld01hdHJpeCwgYmFzZU1v
ZGVsVmlld01hdHJpeCwgY2FtZXJhUm90YXRpb24sIHZlYzMuZnJvbVZhbHVlcygwLCAxLCAwKSk7
CisKKyAgICBtYXQ0Lm11bHRpcGx5KGJhc2VNb2RlbFZpZXdNYXRyaXgsIHZpZXdNYXRyaXgsIGJh
c2VNb2RlbFZpZXdNYXRyaXgpOworCisgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBrTnVtYmVyT2ZC
b3hlc1BlckF4aXM7IGkrKykgeworICAgICAgICBmb3IgKGxldCBqID0gMDsgaiA8IGtOdW1iZXJP
ZkJveGVzUGVyQXhpczsgaisrKSB7CisKKyAgICAgICAgICAgIGxldCBib3hJbmRleCA9IGkgKiBr
TnVtYmVyT2ZCb3hlc1BlckF4aXMgKyBqOworCisgICAgICAgICAgICBsZXQgbW9kZWxWaWV3TWF0
cml4ID0gbWF0NC5jcmVhdGUoKTsKKworICAgICAgICAgICAgLy8gUG9zaXRpb24gdGhlIGN1YmUg
aW4gWCxZLgorICAgICAgICAgICAgbGV0IHRyYW5zbGF0aW9uTWF0cml4ID0gbWF0NC5jcmVhdGUo
KTsKKyAgICAgICAgICAgIGlmIChrTnVtYmVyT2ZCb3hlc1BlckF4aXMgPiAxKSB7CisgICAgICAg
ICAgICAgICAgbGV0IHN0ZXAgPSA0IC8gKGtOdW1iZXJPZkJveGVzUGVyQXhpcyAtIDEpOworICAg
ICAgICAgICAgICAgIG1hdDQudHJhbnNsYXRlKHRyYW5zbGF0aW9uTWF0cml4LCB0cmFuc2xhdGlv
bk1hdHJpeCwgdmVjMy5mcm9tVmFsdWVzKGogKiBzdGVwIC0gMiwgMCwgaSAqIHN0ZXAgLSAyKSk7
CisgICAgICAgICAgICB9IGVsc2UgeworICAgICAgICAgICAgICAgIG1hdDQudHJhbnNsYXRlKHRy
YW5zbGF0aW9uTWF0cml4LCB0cmFuc2xhdGlvbk1hdHJpeCwgdmVjMy5mcm9tVmFsdWVzKDAsIDAs
IDApKTsKKyAgICAgICAgICAgIH0KKworICAgICAgICAgICAgbGV0IHRyYW5zbGF0ZUVsYXBzZWRP
ZmZzZXQgPSBlbGFwc2VkVGltZSArIGJveEluZGV4ICogMC42OworICAgICAgICAgICAgaWYgKGlu
VGltZVJhbmdlKHRyYW5zbGF0ZUVsYXBzZWRPZmZzZXQsIDEwLCAxMiwgMjMpKSB7CisgICAgICAg
ICAgICAgICAgbGV0IHRyYW5zbGF0ZSA9IHNtb290aHN0ZXAoMCwgMSwgbWlkZGxlUGVha1RpbWVS
YW5nZU9mZnNldCh0cmFuc2xhdGVFbGFwc2VkT2Zmc2V0LCAxMCwgMTIsIDIzKSkgKiAwLjQ7Cisg
ICAgICAgICAgICAgICAgbWF0NC50cmFuc2xhdGUodHJhbnNsYXRpb25NYXRyaXgsIHRyYW5zbGF0
aW9uTWF0cml4LCB2ZWMzLmZyb21WYWx1ZXMoMCwgdHJhbnNsYXRlLCAwKSk7CisgICAgICAgICAg
ICB9CisKKyAgICAgICAgICAgIGxldCBzY2FsZU1hdHJpeCA9IG1hdDQuY3JlYXRlKCk7CisgICAg
ICAgICAgICBsZXQgc2NhbGVFbGFwc2VkT2Zmc2V0ID0gZWxhcHNlZFRpbWUgKyBib3hJbmRleCAq
IDAuMTsKKyAgICAgICAgICAgIGlmIChpblRpbWVSYW5nZShzY2FsZUVsYXBzZWRPZmZzZXQsIDIs
IDYsIDE5KSkgeworICAgICAgICAgICAgICAgIGxldCBzY2FsZSA9IHNtb290aHN0ZXAoMCwgMSwg
bWlkZGxlUGVha1RpbWVSYW5nZU9mZnNldChzY2FsZUVsYXBzZWRPZmZzZXQsIDIsIDYsIDE5KSkg
KiAwLjUgKyAxOworICAgICAgICAgICAgICAgIG1hdDQuc2NhbGUoc2NhbGVNYXRyaXgsIHNjYWxl
TWF0cml4LCB2ZWMzLmZyb21WYWx1ZXMoc2NhbGUsIHNjYWxlLCBzY2FsZSkpOworICAgICAgICAg
ICAgfQorICAgICAgICAgICAgbWF0NC5tdWx0aXBseShtb2RlbFZpZXdNYXRyaXgsIHRyYW5zbGF0
aW9uTWF0cml4LCBzY2FsZU1hdHJpeCk7CisKKyAgICAgICAgICAgIC8vIFJvdGF0ZSB0aGUgY3Vi
ZS4KKyAgICAgICAgICAgIGxldCByb3RhdGlvbk1hdHJpeCA9IG1hdDQuY3JlYXRlKCk7CisgICAg
ICAgICAgICBsZXQgcm90YXRpb25FbGFwc2VkT2Zmc2V0ID0gZWxhcHNlZFRpbWUgKyAoa051bWJl
ck9mQm94ZXMgLSBib3hJbmRleCkgKiAwLjE7CisgICAgICAgICAgICBpZiAoaW5UaW1lUmFuZ2Uo
cm90YXRpb25FbGFwc2VkT2Zmc2V0LCAzLCA3LCAxMSkpIHsKKyAgICAgICAgICAgICAgICB2YXIg
cm90YXRpb24gPSBzbW9vdGhzdGVwKDAsIDEsIHRpbWVSYW5nZU9mZnNldChyb3RhdGlvbkVsYXBz
ZWRPZmZzZXQsIDMsIDcsIDExKSkgKiBNYXRoLlBJICogMjsKKyAgICAgICAgICAgICAgICBtYXQ0
LnJvdGF0ZShyb3RhdGlvbk1hdHJpeCwgcm90YXRpb25NYXRyaXgsIHJvdGF0aW9uLCB2ZWMzLmZy
b21WYWx1ZXMoMC41LCAxLCAxKSk7CisgICAgICAgICAgICB9CisgICAgICAgICAgICBtYXQ0Lm11
bHRpcGx5KG1vZGVsVmlld01hdHJpeCwgbW9kZWxWaWV3TWF0cml4LCByb3RhdGlvbk1hdHJpeCk7
CisKKyAgICAgICAgICAgIG1hdDQubXVsdGlwbHkobW9kZWxWaWV3TWF0cml4LCBiYXNlTW9kZWxW
aWV3TWF0cml4LCBtb2RlbFZpZXdNYXRyaXgpOworCisgICAgICAgICAgICBsZXQgbm9ybWFsTWF0
cml4ID0gbWF0NC5jbG9uZShtb2RlbFZpZXdNYXRyaXgpOworICAgICAgICAgICAgbWF0NC50cmFu
c3Bvc2Uobm9ybWFsTWF0cml4LCBub3JtYWxNYXRyaXgpOworICAgICAgICAgICAgbWF0NC5pbnZl
cnQobm9ybWFsTWF0cml4LCBub3JtYWxNYXRyaXgpOworCisgICAgICAgICAgICBsZXQgdW5pZm9y
bSA9IG5ldyBVbmlmb3JtKG5ldyBGbG9hdDMyQXJyYXkodW5pZm9ybUJ1ZmZlcnNbaW5kZXhdW2kg
KiBrTnVtYmVyT2ZCb3hlc1BlckF4aXMgKyBqXS5jb250ZW50cykpOworCisgICAgICAgICAgICB1
bmlmb3JtLm5vcm1hbCA9IG5vcm1hbE1hdHJpeDsKKworICAgICAgICAgICAgbGV0IG1vZGVsVmll
d1Byb2plY3Rpb25NYXRyaXggPSBtYXQ0LmNyZWF0ZSgpOworICAgICAgICAgICAgbWF0NC5tdWx0
aXBseShtb2RlbFZpZXdQcm9qZWN0aW9uTWF0cml4LCBwcm9qZWN0aW9uTWF0cml4LCBtb2RlbFZp
ZXdNYXRyaXgpOworCisgICAgICAgICAgICB1bmlmb3JtLm12cCA9IG1vZGVsVmlld1Byb2plY3Rp
b25NYXRyaXg7CisKKyAgICAgICAgICAgIGxldCBjb2xvckVsYXBzZWRPZmZzZXQgPSBlbGFwc2Vk
VGltZSArIGJveEluZGV4ICogMC4xNTsKKyAgICAgICAgICAgIGlmIChpblRpbWVSYW5nZShjb2xv
ckVsYXBzZWRPZmZzZXQsIDIsIDMsIDEwKSkgeworICAgICAgICAgICAgICAgIGxldCByZWRCb29z
dCA9IG1pZGRsZVBlYWtUaW1lUmFuZ2VPZmZzZXQoY29sb3JFbGFwc2VkT2Zmc2V0LCAyLCAzLCAx
MCkgKiAwLjU7CisgICAgICAgICAgICAgICAgdW5pZm9ybS5hbWJpZW50Q29sb3JbMF0gPSBNYXRo
Lm1pbigxLjAsIE1hdGgubWF4KDAsIGtCb3hCYXNlQW1iaWVudENvbG9yWzBdICsgcmVkQm9vc3Qp
KTsKKyAgICAgICAgICAgIH0gZWxzZSB7CisgICAgICAgICAgICAgICAgdW5pZm9ybS5hbWJpZW50
Q29sb3JbMF0gPSBrQm94QmFzZUFtYmllbnRDb2xvclswXTsKKyAgICAgICAgICAgIH0KKyAgICAg
ICAgICAgIGNvbG9yRWxhcHNlZE9mZnNldCA9IGVsYXBzZWRUaW1lICsgKGtOdW1iZXJPZkJveGVz
IC0gYm94SW5kZXgpICogMC4xOworICAgICAgICAgICAgaWYgKGluVGltZVJhbmdlKGNvbG9yRWxh
cHNlZE9mZnNldCwgNywgMTEsIDIxKSkgeworICAgICAgICAgICAgICAgIGxldCBncmVlbkJvb3N0
ID0gbWlkZGxlUGVha1RpbWVSYW5nZU9mZnNldChjb2xvckVsYXBzZWRPZmZzZXQsIDcsIDExLCAy
MSkgKiAwLjM7CisgICAgICAgICAgICAgICAgdW5pZm9ybS5hbWJpZW50Q29sb3JbMV0gPSBNYXRo
Lm1pbigxLjAsIE1hdGgubWF4KDAsIGtCb3hCYXNlQW1iaWVudENvbG9yWzFdICsgZ3JlZW5Cb29z
dCkpOworICAgICAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAgICAgICB1bmlmb3JtLmFtYmll
bnRDb2xvclsxXSA9IGtCb3hCYXNlQW1iaWVudENvbG9yWzFdOworICAgICAgICAgICAgfQorICAg
ICAgICB9CisgICAgfQorfQpkaWZmIC0tZ2l0IGEvV2Vic2l0ZXMvd2Via2l0Lm9yZy9kZW1vcy93
ZWJtZXRhbC9nbC1tYXRyaXgtbWluLmpzIGIvV2Vic2l0ZXMvd2Via2l0Lm9yZy9kZW1vcy93ZWJt
ZXRhbC9nbC1tYXRyaXgtbWluLmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjFjNTZkNmNjYTdmZmU3YzQ5ZjdjZmNm
MGU5N2I1ZGM4Mzc3YTY2YjcKLS0tIC9kZXYvbnVsbAorKysgYi9XZWJzaXRlcy93ZWJraXQub3Jn
L2RlbW9zL3dlYm1ldGFsL2dsLW1hdHJpeC1taW4uanMKQEAgLTAsMCArMSwyOCBAQAorLyoqCisg
KiBAZmlsZW92ZXJ2aWV3IGdsLW1hdHJpeCAtIEhpZ2ggcGVyZm9ybWFuY2UgbWF0cml4IGFuZCB2
ZWN0b3Igb3BlcmF0aW9ucworICogQGF1dGhvciBCcmFuZG9uIEpvbmVzCisgKiBAYXV0aG9yIENv
bGluIE1hY0tlbnppZSBJVgorICogQHZlcnNpb24gMi40LjAKKyAqLworCisvKiBDb3B5cmlnaHQg
KGMpIDIwMTUsIEJyYW5kb24gSm9uZXMsIENvbGluIE1hY0tlbnppZSBJVi4KKworUGVybWlzc2lv
biBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWlu
aW5nIGEgY29weQorb2YgdGhpcyBzb2Z0d2FyZSBhbmQgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9u
IGZpbGVzICh0aGUgIlNvZnR3YXJlIiksIHRvIGRlYWwKK2luIHRoZSBTb2Z0d2FyZSB3aXRob3V0
IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcgd2l0aG91dCBsaW1pdGF0aW9uIHRoZSByaWdodHMKK3Rv
IHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwgZGlzdHJpYnV0ZSwgc3VibGljZW5z
ZSwgYW5kL29yIHNlbGwKK2NvcGllcyBvZiB0aGUgU29mdHdhcmUsIGFuZCB0byBwZXJtaXQgcGVy
c29ucyB0byB3aG9tIHRoZSBTb2Z0d2FyZSBpcworZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0
IHRvIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczoKKworVGhlIGFib3ZlIGNvcHlyaWdodCBub3Rp
Y2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWQgaW4KK2FsbCBj
b3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIFNvZnR3YXJlLgorCitUSEUgU09G
VFdBUkUgSVMgUFJPVklERUQgIkFTIElTIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwg
RVhQUkVTUyBPUgorSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FS
UkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFksCitGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVS
UE9TRSBBTkQgTk9OSU5GUklOR0VNRU5ULiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUKK0FVVEhPUlMg
T1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkgQ0xBSU0sIERBTUFHRVMgT1Ig
T1RIRVIKK0xJQUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsIFRPUlQg
T1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sCitPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRI
IFRIRSBTT0ZUV0FSRSBPUiBUSEUgVVNFIE9SIE9USEVSIERFQUxJTkdTIElOCitUSEUgU09GVFdB
UkUuICovCisKKyFmdW5jdGlvbih0LG4pe2lmKCJvYmplY3QiPT10eXBlb2YgZXhwb3J0cyYmIm9i
amVjdCI9PXR5cGVvZiBtb2R1bGUpbW9kdWxlLmV4cG9ydHM9bigpO2Vsc2UgaWYoImZ1bmN0aW9u
Ij09dHlwZW9mIGRlZmluZSYmZGVmaW5lLmFtZClkZWZpbmUoW10sbik7ZWxzZXt2YXIgcj1uKCk7
Zm9yKHZhciBhIGluIHIpKCJvYmplY3QiPT10eXBlb2YgZXhwb3J0cz9leHBvcnRzOnQpW2FdPXJb
YV19fSh0aGlzLGZ1bmN0aW9uKCl7cmV0dXJuIGZ1bmN0aW9uKHQpe2Z1bmN0aW9uIG4oYSl7aWYo
clthXSlyZXR1cm4gclthXS5leHBvcnRzO3ZhciBlPXJbYV09e2k6YSxsOiExLGV4cG9ydHM6e319
O3JldHVybiB0W2FdLmNhbGwoZS5leHBvcnRzLGUsZS5leHBvcnRzLG4pLGUubD0hMCxlLmV4cG9y
dHN9dmFyIHI9e307cmV0dXJuIG4ubT10LG4uYz1yLG4uZD1mdW5jdGlvbih0LHIsYSl7bi5vKHQs
cil8fE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LHIse2NvbmZpZ3VyYWJsZTohMSxlbnVtZXJhYmxl
OiEwLGdldDphfSl9LG4ubj1mdW5jdGlvbih0KXt2YXIgcj10JiZ0Ll9fZXNNb2R1bGU/ZnVuY3Rp
b24oKXtyZXR1cm4gdC5kZWZhdWx0fTpmdW5jdGlvbigpe3JldHVybiB0fTtyZXR1cm4gbi5kKHIs
ImEiLHIpLHJ9LG4ubz1mdW5jdGlvbih0LG4pe3JldHVybiBPYmplY3QucHJvdG90eXBlLmhhc093
blByb3BlcnR5LmNhbGwodCxuKX0sbi5wPSIiLG4obi5zPTQpfShbZnVuY3Rpb24odCxuLHIpeyJ1
c2Ugc3RyaWN0IjtmdW5jdGlvbiBhKHQpe24uQVJSQVlfVFlQRT1pPXR9ZnVuY3Rpb24gZSh0KXty
ZXR1cm4gdCpzfWZ1bmN0aW9uIHUodCxuKXtyZXR1cm4gTWF0aC5hYnModC1uKTw9bypNYXRoLm1h
eCgxLE1hdGguYWJzKHQpLE1hdGguYWJzKG4pKX1PYmplY3QuZGVmaW5lUHJvcGVydHkobiwiX19l
c01vZHVsZSIse3ZhbHVlOiEwfSksbi5zZXRNYXRyaXhBcnJheVR5cGU9YSxuLnRvUmFkaWFuPWUs
bi5lcXVhbHM9dTt2YXIgbz1uLkVQU0lMT049MWUtNixpPW4uQVJSQVlfVFlQRT0idW5kZWZpbmVk
IiE9dHlwZW9mIEZsb2F0MzJBcnJheT9GbG9hdDMyQXJyYXk6QXJyYXkscz0obi5SQU5ET009TWF0
aC5yYW5kb20sTWF0aC5QSS8xODApfSxmdW5jdGlvbih0LG4scil7InVzZSBzdHJpY3QiO2Z1bmN0
aW9uIGEoKXt2YXIgdD1uZXcgZy5BUlJBWV9UWVBFKDkpO3JldHVybiB0WzBdPTEsdFsxXT0wLHRb
Ml09MCx0WzNdPTAsdFs0XT0xLHRbNV09MCx0WzZdPTAsdFs3XT0wLHRbOF09MSx0fWZ1bmN0aW9u
IGUodCxuKXtyZXR1cm4gdFswXT1uWzBdLHRbMV09blsxXSx0WzJdPW5bMl0sdFszXT1uWzRdLHRb
NF09bls1XSx0WzVdPW5bNl0sdFs2XT1uWzhdLHRbN109bls5XSx0WzhdPW5bMTBdLHR9ZnVuY3Rp
b24gdSh0KXt2YXIgbj1uZXcgZy5BUlJBWV9UWVBFKDkpO3JldHVybiBuWzBdPXRbMF0sblsxXT10
WzFdLG5bMl09dFsyXSxuWzNdPXRbM10sbls0XT10WzRdLG5bNV09dFs1XSxuWzZdPXRbNl0sbls3
XT10WzddLG5bOF09dFs4XSxufWZ1bmN0aW9uIG8odCxuKXtyZXR1cm4gdFswXT1uWzBdLHRbMV09
blsxXSx0WzJdPW5bMl0sdFszXT1uWzNdLHRbNF09bls0XSx0WzVdPW5bNV0sdFs2XT1uWzZdLHRb
N109bls3XSx0WzhdPW5bOF0sdH1mdW5jdGlvbiBpKHQsbixyLGEsZSx1LG8saSxzKXt2YXIgYz1u
ZXcgZy5BUlJBWV9UWVBFKDkpO3JldHVybiBjWzBdPXQsY1sxXT1uLGNbMl09cixjWzNdPWEsY1s0
XT1lLGNbNV09dSxjWzZdPW8sY1s3XT1pLGNbOF09cyxjfWZ1bmN0aW9uIHModCxuLHIsYSxlLHUs
byxpLHMsYyl7cmV0dXJuIHRbMF09bix0WzFdPXIsdFsyXT1hLHRbM109ZSx0WzRdPXUsdFs1XT1v
LHRbNl09aSx0WzddPXMsdFs4XT1jLHR9ZnVuY3Rpb24gYyh0KXtyZXR1cm4gdFswXT0xLHRbMV09
MCx0WzJdPTAsdFszXT0wLHRbNF09MSx0WzVdPTAsdFs2XT0wLHRbN109MCx0WzhdPTEsdH1mdW5j
dGlvbiBmKHQsbil7aWYodD09PW4pe3ZhciByPW5bMV0sYT1uWzJdLGU9bls1XTt0WzFdPW5bM10s
dFsyXT1uWzZdLHRbM109cix0WzVdPW5bN10sdFs2XT1hLHRbN109ZX1lbHNlIHRbMF09blswXSx0
WzFdPW5bM10sdFsyXT1uWzZdLHRbM109blsxXSx0WzRdPW5bNF0sdFs1XT1uWzddLHRbNl09blsy
XSx0WzddPW5bNV0sdFs4XT1uWzhdO3JldHVybiB0fWZ1bmN0aW9uIE0odCxuKXt2YXIgcj1uWzBd
LGE9blsxXSxlPW5bMl0sdT1uWzNdLG89bls0XSxpPW5bNV0scz1uWzZdLGM9bls3XSxmPW5bOF0s
TT1mKm8taSpjLGg9LWYqdStpKnMsbD1jKnUtbypzLHY9cipNK2EqaCtlKmw7cmV0dXJuIHY/KHY9
MS92LHRbMF09TSp2LHRbMV09KC1mKmErZSpjKSp2LHRbMl09KGkqYS1lKm8pKnYsdFszXT1oKnYs
dFs0XT0oZipyLWUqcykqdix0WzVdPSgtaSpyK2UqdSkqdix0WzZdPWwqdix0WzddPSgtYypyK2Eq
cykqdix0WzhdPShvKnItYSp1KSp2LHQpOm51bGx9ZnVuY3Rpb24gaCh0LG4pe3ZhciByPW5bMF0s
YT1uWzFdLGU9blsyXSx1PW5bM10sbz1uWzRdLGk9bls1XSxzPW5bNl0sYz1uWzddLGY9bls4XTty
ZXR1cm4gdFswXT1vKmYtaSpjLHRbMV09ZSpjLWEqZix0WzJdPWEqaS1lKm8sdFszXT1pKnMtdSpm
LHRbNF09cipmLWUqcyx0WzVdPWUqdS1yKmksdFs2XT11KmMtbypzLHRbN109YSpzLXIqYyx0Wzhd
PXIqby1hKnUsdH1mdW5jdGlvbiBsKHQpe3ZhciBuPXRbMF0scj10WzFdLGE9dFsyXSxlPXRbM10s
dT10WzRdLG89dFs1XSxpPXRbNl0scz10WzddLGM9dFs4XTtyZXR1cm4gbiooYyp1LW8qcykrcioo
LWMqZStvKmkpK2EqKHMqZS11KmkpfWZ1bmN0aW9uIHYodCxuLHIpe3ZhciBhPW5bMF0sZT1uWzFd
LHU9blsyXSxvPW5bM10saT1uWzRdLHM9bls1XSxjPW5bNl0sZj1uWzddLE09bls4XSxoPXJbMF0s
bD1yWzFdLHY9clsyXSxkPXJbM10sYj1yWzRdLG09cls1XSxwPXJbNl0sUD1yWzddLEU9cls4XTty
ZXR1cm4gdFswXT1oKmErbCpvK3YqYyx0WzFdPWgqZStsKmkrdipmLHRbMl09aCp1K2wqcyt2Kk0s
dFszXT1kKmErYipvK20qYyx0WzRdPWQqZStiKmkrbSpmLHRbNV09ZCp1K2IqcyttKk0sdFs2XT1w
KmErUCpvK0UqYyx0WzddPXAqZStQKmkrRSpmLHRbOF09cCp1K1AqcytFKk0sdH1mdW5jdGlvbiBk
KHQsbixyKXt2YXIgYT1uWzBdLGU9blsxXSx1PW5bMl0sbz1uWzNdLGk9bls0XSxzPW5bNV0sYz1u
WzZdLGY9bls3XSxNPW5bOF0saD1yWzBdLGw9clsxXTtyZXR1cm4gdFswXT1hLHRbMV09ZSx0WzJd
PXUsdFszXT1vLHRbNF09aSx0WzVdPXMsdFs2XT1oKmErbCpvK2MsdFs3XT1oKmUrbCppK2YsdFs4
XT1oKnUrbCpzK00sdH1mdW5jdGlvbiBiKHQsbixyKXt2YXIgYT1uWzBdLGU9blsxXSx1PW5bMl0s
bz1uWzNdLGk9bls0XSxzPW5bNV0sYz1uWzZdLGY9bls3XSxNPW5bOF0saD1NYXRoLnNpbihyKSxs
PU1hdGguY29zKHIpO3JldHVybiB0WzBdPWwqYStoKm8sdFsxXT1sKmUraCppLHRbMl09bCp1K2gq
cyx0WzNdPWwqby1oKmEsdFs0XT1sKmktaCplLHRbNV09bCpzLWgqdSx0WzZdPWMsdFs3XT1mLHRb
OF09TSx0fWZ1bmN0aW9uIG0odCxuLHIpe3ZhciBhPXJbMF0sZT1yWzFdO3JldHVybiB0WzBdPWEq
blswXSx0WzFdPWEqblsxXSx0WzJdPWEqblsyXSx0WzNdPWUqblszXSx0WzRdPWUqbls0XSx0WzVd
PWUqbls1XSx0WzZdPW5bNl0sdFs3XT1uWzddLHRbOF09bls4XSx0fWZ1bmN0aW9uIHAodCxuKXty
ZXR1cm4gdFswXT0xLHRbMV09MCx0WzJdPTAsdFszXT0wLHRbNF09MSx0WzVdPTAsdFs2XT1uWzBd
LHRbN109blsxXSx0WzhdPTEsdH1mdW5jdGlvbiBQKHQsbil7dmFyIHI9TWF0aC5zaW4obiksYT1N
YXRoLmNvcyhuKTtyZXR1cm4gdFswXT1hLHRbMV09cix0WzJdPTAsdFszXT0tcix0WzRdPWEsdFs1
XT0wLHRbNl09MCx0WzddPTAsdFs4XT0xLHR9ZnVuY3Rpb24gRSh0LG4pe3JldHVybiB0WzBdPW5b
MF0sdFsxXT0wLHRbMl09MCx0WzNdPTAsdFs0XT1uWzFdLHRbNV09MCx0WzZdPTAsdFs3XT0wLHRb
OF09MSx0fWZ1bmN0aW9uIE8odCxuKXtyZXR1cm4gdFswXT1uWzBdLHRbMV09blsxXSx0WzJdPTAs
dFszXT1uWzJdLHRbNF09blszXSx0WzVdPTAsdFs2XT1uWzRdLHRbN109bls1XSx0WzhdPTEsdH1m
dW5jdGlvbiB4KHQsbil7dmFyIHI9blswXSxhPW5bMV0sZT1uWzJdLHU9blszXSxvPXIrcixpPWEr
YSxzPWUrZSxjPXIqbyxmPWEqbyxNPWEqaSxoPWUqbyxsPWUqaSx2PWUqcyxkPXUqbyxiPXUqaSxt
PXUqcztyZXR1cm4gdFswXT0xLU0tdix0WzNdPWYtbSx0WzZdPWgrYix0WzFdPWYrbSx0WzRdPTEt
Yy12LHRbN109bC1kLHRbMl09aC1iLHRbNV09bCtkLHRbOF09MS1jLU0sdH1mdW5jdGlvbiBBKHQs
bil7dmFyIHI9blswXSxhPW5bMV0sZT1uWzJdLHU9blszXSxvPW5bNF0saT1uWzVdLHM9bls2XSxj
PW5bN10sZj1uWzhdLE09bls5XSxoPW5bMTBdLGw9blsxMV0sdj1uWzEyXSxkPW5bMTNdLGI9blsx
NF0sbT1uWzE1XSxwPXIqaS1hKm8sUD1yKnMtZSpvLEU9cipjLXUqbyxPPWEqcy1lKmkseD1hKmMt
dSppLEE9ZSpjLXUqcyxxPWYqZC1NKnYseT1mKmItaCp2LHc9ZiptLWwqdixSPU0qYi1oKmQsTD1N
Km0tbCpkLFM9aCptLWwqYixfPXAqUy1QKkwrRSpSK08qdy14KnkrQSpxO3JldHVybiBfPyhfPTEv
Xyx0WzBdPShpKlMtcypMK2MqUikqXyx0WzFdPShzKnctbypTLWMqeSkqXyx0WzJdPShvKkwtaSp3
K2MqcSkqXyx0WzNdPShlKkwtYSpTLXUqUikqXyx0WzRdPShyKlMtZSp3K3UqeSkqXyx0WzVdPShh
KnctcipMLXUqcSkqXyx0WzZdPShkKkEtYip4K20qTykqXyx0WzddPShiKkUtdipBLW0qUCkqXyx0
WzhdPSh2KngtZCpFK20qcCkqXyx0KTpudWxsfWZ1bmN0aW9uIHEodCxuLHIpe3JldHVybiB0WzBd
PTIvbix0WzFdPTAsdFsyXT0wLHRbM109MCx0WzRdPS0yL3IsdFs1XT0wLHRbNl09LTEsdFs3XT0x
LHRbOF09MSx0fWZ1bmN0aW9uIHkodCl7cmV0dXJuIm1hdDMoIit0WzBdKyIsICIrdFsxXSsiLCAi
K3RbMl0rIiwgIit0WzNdKyIsICIrdFs0XSsiLCAiK3RbNV0rIiwgIit0WzZdKyIsICIrdFs3XSsi
LCAiK3RbOF0rIikifWZ1bmN0aW9uIHcodCl7cmV0dXJuIE1hdGguc3FydChNYXRoLnBvdyh0WzBd
LDIpK01hdGgucG93KHRbMV0sMikrTWF0aC5wb3codFsyXSwyKStNYXRoLnBvdyh0WzNdLDIpK01h
dGgucG93KHRbNF0sMikrTWF0aC5wb3codFs1XSwyKStNYXRoLnBvdyh0WzZdLDIpK01hdGgucG93
KHRbN10sMikrTWF0aC5wb3codFs4XSwyKSl9ZnVuY3Rpb24gUih0LG4scil7cmV0dXJuIHRbMF09
blswXStyWzBdLHRbMV09blsxXStyWzFdLHRbMl09blsyXStyWzJdLHRbM109blszXStyWzNdLHRb
NF09bls0XStyWzRdLHRbNV09bls1XStyWzVdLHRbNl09bls2XStyWzZdLHRbN109bls3XStyWzdd
LHRbOF09bls4XStyWzhdLHR9ZnVuY3Rpb24gTCh0LG4scil7cmV0dXJuIHRbMF09blswXS1yWzBd
LHRbMV09blsxXS1yWzFdLHRbMl09blsyXS1yWzJdLHRbM109blszXS1yWzNdLHRbNF09bls0XS1y
WzRdLHRbNV09bls1XS1yWzVdLHRbNl09bls2XS1yWzZdLHRbN109bls3XS1yWzddLHRbOF09bls4
XS1yWzhdLHR9ZnVuY3Rpb24gUyh0LG4scil7cmV0dXJuIHRbMF09blswXSpyLHRbMV09blsxXSpy
LHRbMl09blsyXSpyLHRbM109blszXSpyLHRbNF09bls0XSpyLHRbNV09bls1XSpyLHRbNl09bls2
XSpyLHRbN109bls3XSpyLHRbOF09bls4XSpyLHR9ZnVuY3Rpb24gXyh0LG4scixhKXtyZXR1cm4g
dFswXT1uWzBdK3JbMF0qYSx0WzFdPW5bMV0rclsxXSphLHRbMl09blsyXStyWzJdKmEsdFszXT1u
WzNdK3JbM10qYSx0WzRdPW5bNF0rcls0XSphLHRbNV09bls1XStyWzVdKmEsdFs2XT1uWzZdK3Jb
Nl0qYSx0WzddPW5bN10rcls3XSphLHRbOF09bls4XStyWzhdKmEsdH1mdW5jdGlvbiBJKHQsbil7
cmV0dXJuIHRbMF09PT1uWzBdJiZ0WzFdPT09blsxXSYmdFsyXT09PW5bMl0mJnRbM109PT1uWzNd
JiZ0WzRdPT09bls0XSYmdFs1XT09PW5bNV0mJnRbNl09PT1uWzZdJiZ0WzddPT09bls3XSYmdFs4
XT09PW5bOF19ZnVuY3Rpb24gTih0LG4pe3ZhciByPXRbMF0sYT10WzFdLGU9dFsyXSx1PXRbM10s
bz10WzRdLGk9dFs1XSxzPXRbNl0sYz10WzddLGY9dFs4XSxNPW5bMF0saD1uWzFdLGw9blsyXSx2
PW5bM10sZD1uWzRdLGI9bls1XSxtPW5bNl0scD1uWzddLFA9bls4XTtyZXR1cm4gTWF0aC5hYnMo
ci1NKTw9Zy5FUFNJTE9OKk1hdGgubWF4KDEsTWF0aC5hYnMociksTWF0aC5hYnMoTSkpJiZNYXRo
LmFicyhhLWgpPD1nLkVQU0lMT04qTWF0aC5tYXgoMSxNYXRoLmFicyhhKSxNYXRoLmFicyhoKSkm
Jk1hdGguYWJzKGUtbCk8PWcuRVBTSUxPTipNYXRoLm1heCgxLE1hdGguYWJzKGUpLE1hdGguYWJz
KGwpKSYmTWF0aC5hYnModS12KTw9Zy5FUFNJTE9OKk1hdGgubWF4KDEsTWF0aC5hYnModSksTWF0
aC5hYnModikpJiZNYXRoLmFicyhvLWQpPD1nLkVQU0lMT04qTWF0aC5tYXgoMSxNYXRoLmFicyhv
KSxNYXRoLmFicyhkKSkmJk1hdGguYWJzKGktYik8PWcuRVBTSUxPTipNYXRoLm1heCgxLE1hdGgu
YWJzKGkpLE1hdGguYWJzKGIpKSYmTWF0aC5hYnMocy1tKTw9Zy5FUFNJTE9OKk1hdGgubWF4KDEs
TWF0aC5hYnMocyksTWF0aC5hYnMobSkpJiZNYXRoLmFicyhjLXApPD1nLkVQU0lMT04qTWF0aC5t
YXgoMSxNYXRoLmFicyhjKSxNYXRoLmFicyhwKSkmJk1hdGguYWJzKGYtUCk8PWcuRVBTSUxPTipN
YXRoLm1heCgxLE1hdGguYWJzKGYpLE1hdGguYWJzKFApKX1PYmplY3QuZGVmaW5lUHJvcGVydHko
biwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksbi5zdWI9bi5tdWw9dm9pZCAwLG4uY3JlYXRlPWEs
bi5mcm9tTWF0ND1lLG4uY2xvbmU9dSxuLmNvcHk9byxuLmZyb21WYWx1ZXM9aSxuLnNldD1zLG4u
aWRlbnRpdHk9YyxuLnRyYW5zcG9zZT1mLG4uaW52ZXJ0PU0sbi5hZGpvaW50PWgsbi5kZXRlcm1p
bmFudD1sLG4ubXVsdGlwbHk9dixuLnRyYW5zbGF0ZT1kLG4ucm90YXRlPWIsbi5zY2FsZT1tLG4u
ZnJvbVRyYW5zbGF0aW9uPXAsbi5mcm9tUm90YXRpb249UCxuLmZyb21TY2FsaW5nPUUsbi5mcm9t
TWF0MmQ9TyxuLmZyb21RdWF0PXgsbi5ub3JtYWxGcm9tTWF0ND1BLG4ucHJvamVjdGlvbj1xLG4u
c3RyPXksbi5mcm9iPXcsbi5hZGQ9UixuLnN1YnRyYWN0PUwsbi5tdWx0aXBseVNjYWxhcj1TLG4u
bXVsdGlwbHlTY2FsYXJBbmRBZGQ9XyxuLmV4YWN0RXF1YWxzPUksbi5lcXVhbHM9Tjt2YXIgWT1y
KDApLGc9ZnVuY3Rpb24odCl7aWYodCYmdC5fX2VzTW9kdWxlKXJldHVybiB0O3ZhciBuPXt9O2lm
KG51bGwhPXQpZm9yKHZhciByIGluIHQpT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5j
YWxsKHQscikmJihuW3JdPXRbcl0pO3JldHVybiBuLmRlZmF1bHQ9dCxufShZKTtuLm11bD12LG4u
c3ViPUx9LGZ1bmN0aW9uKHQsbixyKXsidXNlIHN0cmljdCI7ZnVuY3Rpb24gYSgpe3ZhciB0PW5l
dyBaLkFSUkFZX1RZUEUoMyk7cmV0dXJuIHRbMF09MCx0WzFdPTAsdFsyXT0wLHR9ZnVuY3Rpb24g
ZSh0KXt2YXIgbj1uZXcgWi5BUlJBWV9UWVBFKDMpO3JldHVybiBuWzBdPXRbMF0sblsxXT10WzFd
LG5bMl09dFsyXSxufWZ1bmN0aW9uIHUodCl7dmFyIG49dFswXSxyPXRbMV0sYT10WzJdO3JldHVy
biBNYXRoLnNxcnQobipuK3IqcithKmEpfWZ1bmN0aW9uIG8odCxuLHIpe3ZhciBhPW5ldyBaLkFS
UkFZX1RZUEUoMyk7cmV0dXJuIGFbMF09dCxhWzFdPW4sYVsyXT1yLGF9ZnVuY3Rpb24gaSh0LG4p
e3JldHVybiB0WzBdPW5bMF0sdFsxXT1uWzFdLHRbMl09blsyXSx0fWZ1bmN0aW9uIHModCxuLHIs
YSl7cmV0dXJuIHRbMF09bix0WzFdPXIsdFsyXT1hLHR9ZnVuY3Rpb24gYyh0LG4scil7cmV0dXJu
IHRbMF09blswXStyWzBdLHRbMV09blsxXStyWzFdLHRbMl09blsyXStyWzJdLHR9ZnVuY3Rpb24g
Zih0LG4scil7cmV0dXJuIHRbMF09blswXS1yWzBdLHRbMV09blsxXS1yWzFdLHRbMl09blsyXS1y
WzJdLHR9ZnVuY3Rpb24gTSh0LG4scil7cmV0dXJuIHRbMF09blswXSpyWzBdLHRbMV09blsxXSpy
WzFdLHRbMl09blsyXSpyWzJdLHR9ZnVuY3Rpb24gaCh0LG4scil7cmV0dXJuIHRbMF09blswXS9y
WzBdLHRbMV09blsxXS9yWzFdLHRbMl09blsyXS9yWzJdLHR9ZnVuY3Rpb24gbCh0LG4pe3JldHVy
biB0WzBdPU1hdGguY2VpbChuWzBdKSx0WzFdPU1hdGguY2VpbChuWzFdKSx0WzJdPU1hdGguY2Vp
bChuWzJdKSx0fWZ1bmN0aW9uIHYodCxuKXtyZXR1cm4gdFswXT1NYXRoLmZsb29yKG5bMF0pLHRb
MV09TWF0aC5mbG9vcihuWzFdKSx0WzJdPU1hdGguZmxvb3IoblsyXSksdH1mdW5jdGlvbiBkKHQs
bixyKXtyZXR1cm4gdFswXT1NYXRoLm1pbihuWzBdLHJbMF0pLHRbMV09TWF0aC5taW4oblsxXSxy
WzFdKSx0WzJdPU1hdGgubWluKG5bMl0sclsyXSksdH1mdW5jdGlvbiBiKHQsbixyKXtyZXR1cm4g
dFswXT1NYXRoLm1heChuWzBdLHJbMF0pLHRbMV09TWF0aC5tYXgoblsxXSxyWzFdKSx0WzJdPU1h
dGgubWF4KG5bMl0sclsyXSksdH1mdW5jdGlvbiBtKHQsbil7cmV0dXJuIHRbMF09TWF0aC5yb3Vu
ZChuWzBdKSx0WzFdPU1hdGgucm91bmQoblsxXSksdFsyXT1NYXRoLnJvdW5kKG5bMl0pLHR9ZnVu
Y3Rpb24gcCh0LG4scil7cmV0dXJuIHRbMF09blswXSpyLHRbMV09blsxXSpyLHRbMl09blsyXSpy
LHR9ZnVuY3Rpb24gUCh0LG4scixhKXtyZXR1cm4gdFswXT1uWzBdK3JbMF0qYSx0WzFdPW5bMV0r
clsxXSphLHRbMl09blsyXStyWzJdKmEsdH1mdW5jdGlvbiBFKHQsbil7dmFyIHI9blswXS10WzBd
LGE9blsxXS10WzFdLGU9blsyXS10WzJdO3JldHVybiBNYXRoLnNxcnQocipyK2EqYStlKmUpfWZ1
bmN0aW9uIE8odCxuKXt2YXIgcj1uWzBdLXRbMF0sYT1uWzFdLXRbMV0sZT1uWzJdLXRbMl07cmV0
dXJuIHIqcithKmErZSplfWZ1bmN0aW9uIHgodCl7dmFyIG49dFswXSxyPXRbMV0sYT10WzJdO3Jl
dHVybiBuKm4rcipyK2EqYX1mdW5jdGlvbiBBKHQsbil7cmV0dXJuIHRbMF09LW5bMF0sdFsxXT0t
blsxXSx0WzJdPS1uWzJdLHR9ZnVuY3Rpb24gcSh0LG4pe3JldHVybiB0WzBdPTEvblswXSx0WzFd
PTEvblsxXSx0WzJdPTEvblsyXSx0fWZ1bmN0aW9uIHkodCxuKXt2YXIgcj1uWzBdLGE9blsxXSxl
PW5bMl0sdT1yKnIrYSphK2UqZTtyZXR1cm4gdT4wJiYodT0xL01hdGguc3FydCh1KSx0WzBdPW5b
MF0qdSx0WzFdPW5bMV0qdSx0WzJdPW5bMl0qdSksdH1mdW5jdGlvbiB3KHQsbil7cmV0dXJuIHRb
MF0qblswXSt0WzFdKm5bMV0rdFsyXSpuWzJdfWZ1bmN0aW9uIFIodCxuLHIpe3ZhciBhPW5bMF0s
ZT1uWzFdLHU9blsyXSxvPXJbMF0saT1yWzFdLHM9clsyXTtyZXR1cm4gdFswXT1lKnMtdSppLHRb
MV09dSpvLWEqcyx0WzJdPWEqaS1lKm8sdH1mdW5jdGlvbiBMKHQsbixyLGEpe3ZhciBlPW5bMF0s
dT1uWzFdLG89blsyXTtyZXR1cm4gdFswXT1lK2EqKHJbMF0tZSksdFsxXT11K2EqKHJbMV0tdSks
dFsyXT1vK2EqKHJbMl0tbyksdH1mdW5jdGlvbiBTKHQsbixyLGEsZSx1KXt2YXIgbz11KnUsaT1v
KigyKnUtMykrMSxzPW8qKHUtMikrdSxjPW8qKHUtMSksZj1vKigzLTIqdSk7cmV0dXJuIHRbMF09
blswXSppK3JbMF0qcythWzBdKmMrZVswXSpmLHRbMV09blsxXSppK3JbMV0qcythWzFdKmMrZVsx
XSpmLHRbMl09blsyXSppK3JbMl0qcythWzJdKmMrZVsyXSpmLHR9ZnVuY3Rpb24gXyh0LG4scixh
LGUsdSl7dmFyIG89MS11LGk9bypvLHM9dSp1LGM9aSpvLGY9Myp1KmksTT0zKnMqbyxoPXMqdTty
ZXR1cm4gdFswXT1uWzBdKmMrclswXSpmK2FbMF0qTStlWzBdKmgsdFsxXT1uWzFdKmMrclsxXSpm
K2FbMV0qTStlWzFdKmgsdFsyXT1uWzJdKmMrclsyXSpmK2FbMl0qTStlWzJdKmgsdH1mdW5jdGlv
biBJKHQsbil7bj1ufHwxO3ZhciByPTIqWi5SQU5ET00oKSpNYXRoLlBJLGE9MipaLlJBTkRPTSgp
LTEsZT1NYXRoLnNxcnQoMS1hKmEpKm47cmV0dXJuIHRbMF09TWF0aC5jb3MocikqZSx0WzFdPU1h
dGguc2luKHIpKmUsdFsyXT1hKm4sdH1mdW5jdGlvbiBOKHQsbixyKXt2YXIgYT1uWzBdLGU9blsx
XSx1PW5bMl0sbz1yWzNdKmErcls3XSplK3JbMTFdKnUrclsxNV07cmV0dXJuIG89b3x8MSx0WzBd
PShyWzBdKmErcls0XSplK3JbOF0qdStyWzEyXSkvbyx0WzFdPShyWzFdKmErcls1XSplK3JbOV0q
dStyWzEzXSkvbyx0WzJdPShyWzJdKmErcls2XSplK3JbMTBdKnUrclsxNF0pL28sdH1mdW5jdGlv
biBZKHQsbixyKXt2YXIgYT1uWzBdLGU9blsxXSx1PW5bMl07cmV0dXJuIHRbMF09YSpyWzBdK2Uq
clszXSt1KnJbNl0sdFsxXT1hKnJbMV0rZSpyWzRdK3Uqcls3XSx0WzJdPWEqclsyXStlKnJbNV0r
dSpyWzhdLHR9ZnVuY3Rpb24gZyh0LG4scil7dmFyIGE9blswXSxlPW5bMV0sdT1uWzJdLG89clsw
XSxpPXJbMV0scz1yWzJdLGM9clszXSxmPWMqYStpKnUtcyplLE09YyplK3MqYS1vKnUsaD1jKnUr
byplLWkqYSxsPS1vKmEtaSplLXMqdTtyZXR1cm4gdFswXT1mKmMrbCotbytNKi1zLWgqLWksdFsx
XT1NKmMrbCotaStoKi1vLWYqLXMsdFsyXT1oKmMrbCotcytmKi1pLU0qLW8sdH1mdW5jdGlvbiBU
KHQsbixyLGEpe3ZhciBlPVtdLHU9W107cmV0dXJuIGVbMF09blswXS1yWzBdLGVbMV09blsxXS1y
WzFdLGVbMl09blsyXS1yWzJdLHVbMF09ZVswXSx1WzFdPWVbMV0qTWF0aC5jb3MoYSktZVsyXSpN
YXRoLnNpbihhKSx1WzJdPWVbMV0qTWF0aC5zaW4oYSkrZVsyXSpNYXRoLmNvcyhhKSx0WzBdPXVb
MF0rclswXSx0WzFdPXVbMV0rclsxXSx0WzJdPXVbMl0rclsyXSx0fWZ1bmN0aW9uIGoodCxuLHIs
YSl7dmFyIGU9W10sdT1bXTtyZXR1cm4gZVswXT1uWzBdLXJbMF0sZVsxXT1uWzFdLXJbMV0sZVsy
XT1uWzJdLXJbMl0sdVswXT1lWzJdKk1hdGguc2luKGEpK2VbMF0qTWF0aC5jb3MoYSksdVsxXT1l
WzFdLHVbMl09ZVsyXSpNYXRoLmNvcyhhKS1lWzBdKk1hdGguc2luKGEpLHRbMF09dVswXStyWzBd
LHRbMV09dVsxXStyWzFdLHRbMl09dVsyXStyWzJdLHR9ZnVuY3Rpb24gRCh0LG4scixhKXt2YXIg
ZT1bXSx1PVtdO3JldHVybiBlWzBdPW5bMF0tclswXSxlWzFdPW5bMV0tclsxXSxlWzJdPW5bMl0t
clsyXSx1WzBdPWVbMF0qTWF0aC5jb3MoYSktZVsxXSpNYXRoLnNpbihhKSx1WzFdPWVbMF0qTWF0
aC5zaW4oYSkrZVsxXSpNYXRoLmNvcyhhKSx1WzJdPWVbMl0sdFswXT11WzBdK3JbMF0sdFsxXT11
WzFdK3JbMV0sdFsyXT11WzJdK3JbMl0sdH1mdW5jdGlvbiBWKHQsbil7dmFyIHI9byh0WzBdLHRb
MV0sdFsyXSksYT1vKG5bMF0sblsxXSxuWzJdKTt5KHIscikseShhLGEpO3ZhciBlPXcocixhKTty
ZXR1cm4gZT4xPzA6ZTwtMT9NYXRoLlBJOk1hdGguYWNvcyhlKX1mdW5jdGlvbiB6KHQpe3JldHVy
biJ2ZWMzKCIrdFswXSsiLCAiK3RbMV0rIiwgIit0WzJdKyIpIn1mdW5jdGlvbiBGKHQsbil7cmV0
dXJuIHRbMF09PT1uWzBdJiZ0WzFdPT09blsxXSYmdFsyXT09PW5bMl19ZnVuY3Rpb24gUSh0LG4p
e3ZhciByPXRbMF0sYT10WzFdLGU9dFsyXSx1PW5bMF0sbz1uWzFdLGk9blsyXTtyZXR1cm4gTWF0
aC5hYnMoci11KTw9Wi5FUFNJTE9OKk1hdGgubWF4KDEsTWF0aC5hYnMociksTWF0aC5hYnModSkp
JiZNYXRoLmFicyhhLW8pPD1aLkVQU0lMT04qTWF0aC5tYXgoMSxNYXRoLmFicyhhKSxNYXRoLmFi
cyhvKSkmJk1hdGguYWJzKGUtaSk8PVouRVBTSUxPTipNYXRoLm1heCgxLE1hdGguYWJzKGUpLE1h
dGguYWJzKGkpKX1PYmplY3QuZGVmaW5lUHJvcGVydHkobiwiX19lc01vZHVsZSIse3ZhbHVlOiEw
fSksbi5mb3JFYWNoPW4uc3FyTGVuPW4ubGVuPW4uc3FyRGlzdD1uLmRpc3Q9bi5kaXY9bi5tdWw9
bi5zdWI9dm9pZCAwLG4uY3JlYXRlPWEsbi5jbG9uZT1lLG4ubGVuZ3RoPXUsbi5mcm9tVmFsdWVz
PW8sbi5jb3B5PWksbi5zZXQ9cyxuLmFkZD1jLG4uc3VidHJhY3Q9ZixuLm11bHRpcGx5PU0sbi5k
aXZpZGU9aCxuLmNlaWw9bCxuLmZsb29yPXYsbi5taW49ZCxuLm1heD1iLG4ucm91bmQ9bSxuLnNj
YWxlPXAsbi5zY2FsZUFuZEFkZD1QLG4uZGlzdGFuY2U9RSxuLnNxdWFyZWREaXN0YW5jZT1PLG4u
c3F1YXJlZExlbmd0aD14LG4ubmVnYXRlPUEsbi5pbnZlcnNlPXEsbi5ub3JtYWxpemU9eSxuLmRv
dD13LG4uY3Jvc3M9UixuLmxlcnA9TCxuLmhlcm1pdGU9UyxuLmJlemllcj1fLG4ucmFuZG9tPUks
bi50cmFuc2Zvcm1NYXQ0PU4sbi50cmFuc2Zvcm1NYXQzPVksbi50cmFuc2Zvcm1RdWF0PWcsbi5y
b3RhdGVYPVQsbi5yb3RhdGVZPWosbi5yb3RhdGVaPUQsbi5hbmdsZT1WLG4uc3RyPXosbi5leGFj
dEVxdWFscz1GLG4uZXF1YWxzPVE7dmFyIFg9cigwKSxaPWZ1bmN0aW9uKHQpe2lmKHQmJnQuX19l
c01vZHVsZSlyZXR1cm4gdDt2YXIgbj17fTtpZihudWxsIT10KWZvcih2YXIgciBpbiB0KU9iamVj
dC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbCh0LHIpJiYobltyXT10W3JdKTtyZXR1cm4g
bi5kZWZhdWx0PXQsbn0oWCk7bi5zdWI9ZixuLm11bD1NLG4uZGl2PWgsbi5kaXN0PUUsbi5zcXJE
aXN0PU8sbi5sZW49dSxuLnNxckxlbj14LG4uZm9yRWFjaD1mdW5jdGlvbigpe3ZhciB0PWEoKTty
ZXR1cm4gZnVuY3Rpb24obixyLGEsZSx1LG8pe3ZhciBpPXZvaWQgMCxzPXZvaWQgMDtmb3Iocnx8
KHI9MyksYXx8KGE9MCkscz1lP01hdGgubWluKGUqcithLG4ubGVuZ3RoKTpuLmxlbmd0aCxpPWE7
aTxzO2krPXIpdFswXT1uW2ldLHRbMV09bltpKzFdLHRbMl09bltpKzJdLHUodCx0LG8pLG5baV09
dFswXSxuW2krMV09dFsxXSxuW2krMl09dFsyXTtyZXR1cm4gbn19KCl9LGZ1bmN0aW9uKHQsbixy
KXsidXNlIHN0cmljdCI7ZnVuY3Rpb24gYSgpe3ZhciB0PW5ldyBULkFSUkFZX1RZUEUoNCk7cmV0
dXJuIHRbMF09MCx0WzFdPTAsdFsyXT0wLHRbM109MCx0fWZ1bmN0aW9uIGUodCl7dmFyIG49bmV3
IFQuQVJSQVlfVFlQRSg0KTtyZXR1cm4gblswXT10WzBdLG5bMV09dFsxXSxuWzJdPXRbMl0sblsz
XT10WzNdLG59ZnVuY3Rpb24gdSh0LG4scixhKXt2YXIgZT1uZXcgVC5BUlJBWV9UWVBFKDQpO3Jl
dHVybiBlWzBdPXQsZVsxXT1uLGVbMl09cixlWzNdPWEsZX1mdW5jdGlvbiBvKHQsbil7cmV0dXJu
IHRbMF09blswXSx0WzFdPW5bMV0sdFsyXT1uWzJdLHRbM109blszXSx0fWZ1bmN0aW9uIGkodCxu
LHIsYSxlKXtyZXR1cm4gdFswXT1uLHRbMV09cix0WzJdPWEsdFszXT1lLHR9ZnVuY3Rpb24gcyh0
LG4scil7cmV0dXJuIHRbMF09blswXStyWzBdLHRbMV09blsxXStyWzFdLHRbMl09blsyXStyWzJd
LHRbM109blszXStyWzNdLHR9ZnVuY3Rpb24gYyh0LG4scil7cmV0dXJuIHRbMF09blswXS1yWzBd
LHRbMV09blsxXS1yWzFdLHRbMl09blsyXS1yWzJdLHRbM109blszXS1yWzNdLHR9ZnVuY3Rpb24g
Zih0LG4scil7cmV0dXJuIHRbMF09blswXSpyWzBdLHRbMV09blsxXSpyWzFdLHRbMl09blsyXSpy
WzJdLHRbM109blszXSpyWzNdLHR9ZnVuY3Rpb24gTSh0LG4scil7cmV0dXJuIHRbMF09blswXS9y
WzBdLHRbMV09blsxXS9yWzFdLHRbMl09blsyXS9yWzJdLHRbM109blszXS9yWzNdLHR9ZnVuY3Rp
b24gaCh0LG4pe3JldHVybiB0WzBdPU1hdGguY2VpbChuWzBdKSx0WzFdPU1hdGguY2VpbChuWzFd
KSx0WzJdPU1hdGguY2VpbChuWzJdKSx0WzNdPU1hdGguY2VpbChuWzNdKSx0fWZ1bmN0aW9uIGwo
dCxuKXtyZXR1cm4gdFswXT1NYXRoLmZsb29yKG5bMF0pLHRbMV09TWF0aC5mbG9vcihuWzFdKSx0
WzJdPU1hdGguZmxvb3IoblsyXSksdFszXT1NYXRoLmZsb29yKG5bM10pLHR9ZnVuY3Rpb24gdih0
LG4scil7cmV0dXJuIHRbMF09TWF0aC5taW4oblswXSxyWzBdKSx0WzFdPU1hdGgubWluKG5bMV0s
clsxXSksdFsyXT1NYXRoLm1pbihuWzJdLHJbMl0pLHRbM109TWF0aC5taW4oblszXSxyWzNdKSx0
fWZ1bmN0aW9uIGQodCxuLHIpe3JldHVybiB0WzBdPU1hdGgubWF4KG5bMF0sclswXSksdFsxXT1N
YXRoLm1heChuWzFdLHJbMV0pLHRbMl09TWF0aC5tYXgoblsyXSxyWzJdKSx0WzNdPU1hdGgubWF4
KG5bM10sclszXSksdH1mdW5jdGlvbiBiKHQsbil7cmV0dXJuIHRbMF09TWF0aC5yb3VuZChuWzBd
KSx0WzFdPU1hdGgucm91bmQoblsxXSksdFsyXT1NYXRoLnJvdW5kKG5bMl0pLHRbM109TWF0aC5y
b3VuZChuWzNdKSx0fWZ1bmN0aW9uIG0odCxuLHIpe3JldHVybiB0WzBdPW5bMF0qcix0WzFdPW5b
MV0qcix0WzJdPW5bMl0qcix0WzNdPW5bM10qcix0fWZ1bmN0aW9uIHAodCxuLHIsYSl7cmV0dXJu
IHRbMF09blswXStyWzBdKmEsdFsxXT1uWzFdK3JbMV0qYSx0WzJdPW5bMl0rclsyXSphLHRbM109
blszXStyWzNdKmEsdH1mdW5jdGlvbiBQKHQsbil7dmFyIHI9blswXS10WzBdLGE9blsxXS10WzFd
LGU9blsyXS10WzJdLHU9blszXS10WzNdO3JldHVybiBNYXRoLnNxcnQocipyK2EqYStlKmUrdSp1
KX1mdW5jdGlvbiBFKHQsbil7dmFyIHI9blswXS10WzBdLGE9blsxXS10WzFdLGU9blsyXS10WzJd
LHU9blszXS10WzNdO3JldHVybiByKnIrYSphK2UqZSt1KnV9ZnVuY3Rpb24gTyh0KXt2YXIgbj10
WzBdLHI9dFsxXSxhPXRbMl0sZT10WzNdO3JldHVybiBNYXRoLnNxcnQobipuK3IqcithKmErZSpl
KX1mdW5jdGlvbiB4KHQpe3ZhciBuPXRbMF0scj10WzFdLGE9dFsyXSxlPXRbM107cmV0dXJuIG4q
bityKnIrYSphK2UqZX1mdW5jdGlvbiBBKHQsbil7cmV0dXJuIHRbMF09LW5bMF0sdFsxXT0tblsx
XSx0WzJdPS1uWzJdLHRbM109LW5bM10sdH1mdW5jdGlvbiBxKHQsbil7cmV0dXJuIHRbMF09MS9u
WzBdLHRbMV09MS9uWzFdLHRbMl09MS9uWzJdLHRbM109MS9uWzNdLHR9ZnVuY3Rpb24geSh0LG4p
e3ZhciByPW5bMF0sYT1uWzFdLGU9blsyXSx1PW5bM10sbz1yKnIrYSphK2UqZSt1KnU7cmV0dXJu
IG8+MCYmKG89MS9NYXRoLnNxcnQobyksdFswXT1yKm8sdFsxXT1hKm8sdFsyXT1lKm8sdFszXT11
Km8pLHR9ZnVuY3Rpb24gdyh0LG4pe3JldHVybiB0WzBdKm5bMF0rdFsxXSpuWzFdK3RbMl0qblsy
XSt0WzNdKm5bM119ZnVuY3Rpb24gUih0LG4scixhKXt2YXIgZT1uWzBdLHU9blsxXSxvPW5bMl0s
aT1uWzNdO3JldHVybiB0WzBdPWUrYSooclswXS1lKSx0WzFdPXUrYSooclsxXS11KSx0WzJdPW8r
YSooclsyXS1vKSx0WzNdPWkrYSooclszXS1pKSx0fWZ1bmN0aW9uIEwodCxuKXtyZXR1cm4gbj1u
fHwxLHRbMF09VC5SQU5ET00oKSx0WzFdPVQuUkFORE9NKCksdFsyXT1ULlJBTkRPTSgpLHRbM109
VC5SQU5ET00oKSx5KHQsdCksbSh0LHQsbiksdH1mdW5jdGlvbiBTKHQsbixyKXt2YXIgYT1uWzBd
LGU9blsxXSx1PW5bMl0sbz1uWzNdO3JldHVybiB0WzBdPXJbMF0qYStyWzRdKmUrcls4XSp1K3Jb
MTJdKm8sdFsxXT1yWzFdKmErcls1XSplK3JbOV0qdStyWzEzXSpvLHRbMl09clsyXSphK3JbNl0q
ZStyWzEwXSp1K3JbMTRdKm8sdFszXT1yWzNdKmErcls3XSplK3JbMTFdKnUrclsxNV0qbyx0fWZ1
bmN0aW9uIF8odCxuLHIpe3ZhciBhPW5bMF0sZT1uWzFdLHU9blsyXSxvPXJbMF0saT1yWzFdLHM9
clsyXSxjPXJbM10sZj1jKmEraSp1LXMqZSxNPWMqZStzKmEtbyp1LGg9Yyp1K28qZS1pKmEsbD0t
byphLWkqZS1zKnU7cmV0dXJuIHRbMF09ZipjK2wqLW8rTSotcy1oKi1pLHRbMV09TSpjK2wqLWkr
aCotby1mKi1zLHRbMl09aCpjK2wqLXMrZiotaS1NKi1vLHRbM109blszXSx0fWZ1bmN0aW9uIEko
dCl7cmV0dXJuInZlYzQoIit0WzBdKyIsICIrdFsxXSsiLCAiK3RbMl0rIiwgIit0WzNdKyIpIn1m
dW5jdGlvbiBOKHQsbil7cmV0dXJuIHRbMF09PT1uWzBdJiZ0WzFdPT09blsxXSYmdFsyXT09PW5b
Ml0mJnRbM109PT1uWzNdfWZ1bmN0aW9uIFkodCxuKXt2YXIgcj10WzBdLGE9dFsxXSxlPXRbMl0s
dT10WzNdLG89blswXSxpPW5bMV0scz1uWzJdLGM9blszXTtyZXR1cm4gTWF0aC5hYnMoci1vKTw9
VC5FUFNJTE9OKk1hdGgubWF4KDEsTWF0aC5hYnMociksTWF0aC5hYnMobykpJiZNYXRoLmFicyhh
LWkpPD1ULkVQU0lMT04qTWF0aC5tYXgoMSxNYXRoLmFicyhhKSxNYXRoLmFicyhpKSkmJk1hdGgu
YWJzKGUtcyk8PVQuRVBTSUxPTipNYXRoLm1heCgxLE1hdGguYWJzKGUpLE1hdGguYWJzKHMpKSYm
TWF0aC5hYnModS1jKTw9VC5FUFNJTE9OKk1hdGgubWF4KDEsTWF0aC5hYnModSksTWF0aC5hYnMo
YykpfU9iamVjdC5kZWZpbmVQcm9wZXJ0eShuLCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSxuLmZv
ckVhY2g9bi5zcXJMZW49bi5sZW49bi5zcXJEaXN0PW4uZGlzdD1uLmRpdj1uLm11bD1uLnN1Yj12
b2lkIDAsbi5jcmVhdGU9YSxuLmNsb25lPWUsbi5mcm9tVmFsdWVzPXUsbi5jb3B5PW8sbi5zZXQ9
aSxuLmFkZD1zLG4uc3VidHJhY3Q9YyxuLm11bHRpcGx5PWYsbi5kaXZpZGU9TSxuLmNlaWw9aCxu
LmZsb29yPWwsbi5taW49dixuLm1heD1kLG4ucm91bmQ9YixuLnNjYWxlPW0sbi5zY2FsZUFuZEFk
ZD1wLG4uZGlzdGFuY2U9UCxuLnNxdWFyZWREaXN0YW5jZT1FLG4ubGVuZ3RoPU8sbi5zcXVhcmVk
TGVuZ3RoPXgsbi5uZWdhdGU9QSxuLmludmVyc2U9cSxuLm5vcm1hbGl6ZT15LG4uZG90PXcsbi5s
ZXJwPVIsbi5yYW5kb209TCxuLnRyYW5zZm9ybU1hdDQ9UyxuLnRyYW5zZm9ybVF1YXQ9XyxuLnN0
cj1JLG4uZXhhY3RFcXVhbHM9TixuLmVxdWFscz1ZO3ZhciBnPXIoMCksVD1mdW5jdGlvbih0KXtp
Zih0JiZ0Ll9fZXNNb2R1bGUpcmV0dXJuIHQ7dmFyIG49e307aWYobnVsbCE9dClmb3IodmFyIHIg
aW4gdClPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwodCxyKSYmKG5bcl09dFty
XSk7cmV0dXJuIG4uZGVmYXVsdD10LG59KGcpO24uc3ViPWMsbi5tdWw9ZixuLmRpdj1NLG4uZGlz
dD1QLG4uc3FyRGlzdD1FLG4ubGVuPU8sbi5zcXJMZW49eCxuLmZvckVhY2g9ZnVuY3Rpb24oKXt2
YXIgdD1hKCk7cmV0dXJuIGZ1bmN0aW9uKG4scixhLGUsdSxvKXt2YXIgaT12b2lkIDAscz12b2lk
IDA7Zm9yKHJ8fChyPTQpLGF8fChhPTApLHM9ZT9NYXRoLm1pbihlKnIrYSxuLmxlbmd0aCk6bi5s
ZW5ndGgsaT1hO2k8cztpKz1yKXRbMF09bltpXSx0WzFdPW5baSsxXSx0WzJdPW5baSsyXSx0WzNd
PW5baSszXSx1KHQsdCxvKSxuW2ldPXRbMF0sbltpKzFdPXRbMV0sbltpKzJdPXRbMl0sbltpKzNd
PXRbM107cmV0dXJuIG59fSgpfSxmdW5jdGlvbih0LG4scil7InVzZSBzdHJpY3QiO2Z1bmN0aW9u
IGEodCl7aWYodCYmdC5fX2VzTW9kdWxlKXJldHVybiB0O3ZhciBuPXt9O2lmKG51bGwhPXQpZm9y
KHZhciByIGluIHQpT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKHQscikmJihu
W3JdPXRbcl0pO3JldHVybiBuLmRlZmF1bHQ9dCxufU9iamVjdC5kZWZpbmVQcm9wZXJ0eShuLCJf
X2VzTW9kdWxlIix7dmFsdWU6ITB9KSxuLnZlYzQ9bi52ZWMzPW4udmVjMj1uLnF1YXQ9bi5tYXQ0
PW4ubWF0Mz1uLm1hdDJkPW4ubWF0Mj1uLmdsTWF0cml4PXZvaWQgMDt2YXIgZT1yKDApLHU9YShl
KSxvPXIoNSksaT1hKG8pLHM9cig2KSxjPWEocyksZj1yKDEpLE09YShmKSxoPXIoNyksbD1hKGgp
LHY9cig4KSxkPWEodiksYj1yKDkpLG09YShiKSxwPXIoMiksUD1hKHApLEU9cigzKSxPPWEoRSk7
bi5nbE1hdHJpeD11LG4ubWF0Mj1pLG4ubWF0MmQ9YyxuLm1hdDM9TSxuLm1hdDQ9bCxuLnF1YXQ9
ZCxuLnZlYzI9bSxuLnZlYzM9UCxuLnZlYzQ9T30sZnVuY3Rpb24odCxuLHIpeyJ1c2Ugc3RyaWN0
IjtmdW5jdGlvbiBhKCl7dmFyIHQ9bmV3IEwuQVJSQVlfVFlQRSg0KTtyZXR1cm4gdFswXT0xLHRb
MV09MCx0WzJdPTAsdFszXT0xLHR9ZnVuY3Rpb24gZSh0KXt2YXIgbj1uZXcgTC5BUlJBWV9UWVBF
KDQpO3JldHVybiBuWzBdPXRbMF0sblsxXT10WzFdLG5bMl09dFsyXSxuWzNdPXRbM10sbn1mdW5j
dGlvbiB1KHQsbil7cmV0dXJuIHRbMF09blswXSx0WzFdPW5bMV0sdFsyXT1uWzJdLHRbM109blsz
XSx0fWZ1bmN0aW9uIG8odCl7cmV0dXJuIHRbMF09MSx0WzFdPTAsdFsyXT0wLHRbM109MSx0fWZ1
bmN0aW9uIGkodCxuLHIsYSl7dmFyIGU9bmV3IEwuQVJSQVlfVFlQRSg0KTtyZXR1cm4gZVswXT10
LGVbMV09bixlWzJdPXIsZVszXT1hLGV9ZnVuY3Rpb24gcyh0LG4scixhLGUpe3JldHVybiB0WzBd
PW4sdFsxXT1yLHRbMl09YSx0WzNdPWUsdH1mdW5jdGlvbiBjKHQsbil7aWYodD09PW4pe3ZhciBy
PW5bMV07dFsxXT1uWzJdLHRbMl09cn1lbHNlIHRbMF09blswXSx0WzFdPW5bMl0sdFsyXT1uWzFd
LHRbM109blszXTtyZXR1cm4gdH1mdW5jdGlvbiBmKHQsbil7dmFyIHI9blswXSxhPW5bMV0sZT1u
WzJdLHU9blszXSxvPXIqdS1lKmE7cmV0dXJuIG8/KG89MS9vLHRbMF09dSpvLHRbMV09LWEqbyx0
WzJdPS1lKm8sdFszXT1yKm8sdCk6bnVsbH1mdW5jdGlvbiBNKHQsbil7dmFyIHI9blswXTtyZXR1
cm4gdFswXT1uWzNdLHRbMV09LW5bMV0sdFsyXT0tblsyXSx0WzNdPXIsdH1mdW5jdGlvbiBoKHQp
e3JldHVybiB0WzBdKnRbM10tdFsyXSp0WzFdfWZ1bmN0aW9uIGwodCxuLHIpe3ZhciBhPW5bMF0s
ZT1uWzFdLHU9blsyXSxvPW5bM10saT1yWzBdLHM9clsxXSxjPXJbMl0sZj1yWzNdO3JldHVybiB0
WzBdPWEqaSt1KnMsdFsxXT1lKmkrbypzLHRbMl09YSpjK3UqZix0WzNdPWUqYytvKmYsdH1mdW5j
dGlvbiB2KHQsbixyKXt2YXIgYT1uWzBdLGU9blsxXSx1PW5bMl0sbz1uWzNdLGk9TWF0aC5zaW4o
cikscz1NYXRoLmNvcyhyKTtyZXR1cm4gdFswXT1hKnMrdSppLHRbMV09ZSpzK28qaSx0WzJdPWEq
LWkrdSpzLHRbM109ZSotaStvKnMsdH1mdW5jdGlvbiBkKHQsbixyKXt2YXIgYT1uWzBdLGU9blsx
XSx1PW5bMl0sbz1uWzNdLGk9clswXSxzPXJbMV07cmV0dXJuIHRbMF09YSppLHRbMV09ZSppLHRb
Ml09dSpzLHRbM109bypzLHR9ZnVuY3Rpb24gYih0LG4pe3ZhciByPU1hdGguc2luKG4pLGE9TWF0
aC5jb3Mobik7cmV0dXJuIHRbMF09YSx0WzFdPXIsdFsyXT0tcix0WzNdPWEsdH1mdW5jdGlvbiBt
KHQsbil7cmV0dXJuIHRbMF09blswXSx0WzFdPTAsdFsyXT0wLHRbM109blsxXSx0fWZ1bmN0aW9u
IHAodCl7cmV0dXJuIm1hdDIoIit0WzBdKyIsICIrdFsxXSsiLCAiK3RbMl0rIiwgIit0WzNdKyIp
In1mdW5jdGlvbiBQKHQpe3JldHVybiBNYXRoLnNxcnQoTWF0aC5wb3codFswXSwyKStNYXRoLnBv
dyh0WzFdLDIpK01hdGgucG93KHRbMl0sMikrTWF0aC5wb3codFszXSwyKSl9ZnVuY3Rpb24gRSh0
LG4scixhKXtyZXR1cm4gdFsyXT1hWzJdL2FbMF0sclswXT1hWzBdLHJbMV09YVsxXSxyWzNdPWFb
M10tdFsyXSpyWzFdLFt0LG4scl19ZnVuY3Rpb24gTyh0LG4scil7cmV0dXJuIHRbMF09blswXSty
WzBdLHRbMV09blsxXStyWzFdLHRbMl09blsyXStyWzJdLHRbM109blszXStyWzNdLHR9ZnVuY3Rp
b24geCh0LG4scil7cmV0dXJuIHRbMF09blswXS1yWzBdLHRbMV09blsxXS1yWzFdLHRbMl09blsy
XS1yWzJdLHRbM109blszXS1yWzNdLHR9ZnVuY3Rpb24gQSh0LG4pe3JldHVybiB0WzBdPT09blsw
XSYmdFsxXT09PW5bMV0mJnRbMl09PT1uWzJdJiZ0WzNdPT09blszXX1mdW5jdGlvbiBxKHQsbil7
dmFyIHI9dFswXSxhPXRbMV0sZT10WzJdLHU9dFszXSxvPW5bMF0saT1uWzFdLHM9blsyXSxjPW5b
M107cmV0dXJuIE1hdGguYWJzKHItbyk8PUwuRVBTSUxPTipNYXRoLm1heCgxLE1hdGguYWJzKHIp
LE1hdGguYWJzKG8pKSYmTWF0aC5hYnMoYS1pKTw9TC5FUFNJTE9OKk1hdGgubWF4KDEsTWF0aC5h
YnMoYSksTWF0aC5hYnMoaSkpJiZNYXRoLmFicyhlLXMpPD1MLkVQU0lMT04qTWF0aC5tYXgoMSxN
YXRoLmFicyhlKSxNYXRoLmFicyhzKSkmJk1hdGguYWJzKHUtYyk8PUwuRVBTSUxPTipNYXRoLm1h
eCgxLE1hdGguYWJzKHUpLE1hdGguYWJzKGMpKX1mdW5jdGlvbiB5KHQsbixyKXtyZXR1cm4gdFsw
XT1uWzBdKnIsdFsxXT1uWzFdKnIsdFsyXT1uWzJdKnIsdFszXT1uWzNdKnIsdH1mdW5jdGlvbiB3
KHQsbixyLGEpe3JldHVybiB0WzBdPW5bMF0rclswXSphLHRbMV09blsxXStyWzFdKmEsdFsyXT1u
WzJdK3JbMl0qYSx0WzNdPW5bM10rclszXSphLHR9T2JqZWN0LmRlZmluZVByb3BlcnR5KG4sIl9f
ZXNNb2R1bGUiLHt2YWx1ZTohMH0pLG4uc3ViPW4ubXVsPXZvaWQgMCxuLmNyZWF0ZT1hLG4uY2xv
bmU9ZSxuLmNvcHk9dSxuLmlkZW50aXR5PW8sbi5mcm9tVmFsdWVzPWksbi5zZXQ9cyxuLnRyYW5z
cG9zZT1jLG4uaW52ZXJ0PWYsbi5hZGpvaW50PU0sbi5kZXRlcm1pbmFudD1oLG4ubXVsdGlwbHk9
bCxuLnJvdGF0ZT12LG4uc2NhbGU9ZCxuLmZyb21Sb3RhdGlvbj1iLG4uZnJvbVNjYWxpbmc9bSxu
LnN0cj1wLG4uZnJvYj1QLG4uTERVPUUsbi5hZGQ9TyxuLnN1YnRyYWN0PXgsbi5leGFjdEVxdWFs
cz1BLG4uZXF1YWxzPXEsbi5tdWx0aXBseVNjYWxhcj15LG4ubXVsdGlwbHlTY2FsYXJBbmRBZGQ9
dzt2YXIgUj1yKDApLEw9ZnVuY3Rpb24odCl7aWYodCYmdC5fX2VzTW9kdWxlKXJldHVybiB0O3Zh
ciBuPXt9O2lmKG51bGwhPXQpZm9yKHZhciByIGluIHQpT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Q
cm9wZXJ0eS5jYWxsKHQscikmJihuW3JdPXRbcl0pO3JldHVybiBuLmRlZmF1bHQ9dCxufShSKTtu
Lm11bD1sLG4uc3ViPXh9LGZ1bmN0aW9uKHQsbixyKXsidXNlIHN0cmljdCI7ZnVuY3Rpb24gYSgp
e3ZhciB0PW5ldyBSLkFSUkFZX1RZUEUoNik7cmV0dXJuIHRbMF09MSx0WzFdPTAsdFsyXT0wLHRb
M109MSx0WzRdPTAsdFs1XT0wLHR9ZnVuY3Rpb24gZSh0KXt2YXIgbj1uZXcgUi5BUlJBWV9UWVBF
KDYpO3JldHVybiBuWzBdPXRbMF0sblsxXT10WzFdLG5bMl09dFsyXSxuWzNdPXRbM10sbls0XT10
WzRdLG5bNV09dFs1XSxufWZ1bmN0aW9uIHUodCxuKXtyZXR1cm4gdFswXT1uWzBdLHRbMV09blsx
XSx0WzJdPW5bMl0sdFszXT1uWzNdLHRbNF09bls0XSx0WzVdPW5bNV0sdH1mdW5jdGlvbiBvKHQp
e3JldHVybiB0WzBdPTEsdFsxXT0wLHRbMl09MCx0WzNdPTEsdFs0XT0wLHRbNV09MCx0fWZ1bmN0
aW9uIGkodCxuLHIsYSxlLHUpe3ZhciBvPW5ldyBSLkFSUkFZX1RZUEUoNik7cmV0dXJuIG9bMF09
dCxvWzFdPW4sb1syXT1yLG9bM109YSxvWzRdPWUsb1s1XT11LG99ZnVuY3Rpb24gcyh0LG4scixh
LGUsdSxvKXtyZXR1cm4gdFswXT1uLHRbMV09cix0WzJdPWEsdFszXT1lLHRbNF09dSx0WzVdPW8s
dH1mdW5jdGlvbiBjKHQsbil7dmFyIHI9blswXSxhPW5bMV0sZT1uWzJdLHU9blszXSxvPW5bNF0s
aT1uWzVdLHM9cip1LWEqZTtyZXR1cm4gcz8ocz0xL3MsdFswXT11KnMsdFsxXT0tYSpzLHRbMl09
LWUqcyx0WzNdPXIqcyx0WzRdPShlKmktdSpvKSpzLHRbNV09KGEqby1yKmkpKnMsdCk6bnVsbH1m
dW5jdGlvbiBmKHQpe3JldHVybiB0WzBdKnRbM10tdFsxXSp0WzJdfWZ1bmN0aW9uIE0odCxuLHIp
e3ZhciBhPW5bMF0sZT1uWzFdLHU9blsyXSxvPW5bM10saT1uWzRdLHM9bls1XSxjPXJbMF0sZj1y
WzFdLE09clsyXSxoPXJbM10sbD1yWzRdLHY9cls1XTtyZXR1cm4gdFswXT1hKmMrdSpmLHRbMV09
ZSpjK28qZix0WzJdPWEqTSt1KmgsdFszXT1lKk0rbypoLHRbNF09YSpsK3UqditpLHRbNV09ZSps
K28qditzLHR9ZnVuY3Rpb24gaCh0LG4scil7dmFyIGE9blswXSxlPW5bMV0sdT1uWzJdLG89blsz
XSxpPW5bNF0scz1uWzVdLGM9TWF0aC5zaW4ociksZj1NYXRoLmNvcyhyKTtyZXR1cm4gdFswXT1h
KmYrdSpjLHRbMV09ZSpmK28qYyx0WzJdPWEqLWMrdSpmLHRbM109ZSotYytvKmYsdFs0XT1pLHRb
NV09cyx0fWZ1bmN0aW9uIGwodCxuLHIpe3ZhciBhPW5bMF0sZT1uWzFdLHU9blsyXSxvPW5bM10s
aT1uWzRdLHM9bls1XSxjPXJbMF0sZj1yWzFdO3JldHVybiB0WzBdPWEqYyx0WzFdPWUqYyx0WzJd
PXUqZix0WzNdPW8qZix0WzRdPWksdFs1XT1zLHR9ZnVuY3Rpb24gdih0LG4scil7dmFyIGE9blsw
XSxlPW5bMV0sdT1uWzJdLG89blszXSxpPW5bNF0scz1uWzVdLGM9clswXSxmPXJbMV07cmV0dXJu
IHRbMF09YSx0WzFdPWUsdFsyXT11LHRbM109byx0WzRdPWEqYyt1KmYraSx0WzVdPWUqYytvKmYr
cyx0fWZ1bmN0aW9uIGQodCxuKXt2YXIgcj1NYXRoLnNpbihuKSxhPU1hdGguY29zKG4pO3JldHVy
biB0WzBdPWEsdFsxXT1yLHRbMl09LXIsdFszXT1hLHRbNF09MCx0WzVdPTAsdH1mdW5jdGlvbiBi
KHQsbil7cmV0dXJuIHRbMF09blswXSx0WzFdPTAsdFsyXT0wLHRbM109blsxXSx0WzRdPTAsdFs1
XT0wLHR9ZnVuY3Rpb24gbSh0LG4pe3JldHVybiB0WzBdPTEsdFsxXT0wLHRbMl09MCx0WzNdPTEs
dFs0XT1uWzBdLHRbNV09blsxXSx0fWZ1bmN0aW9uIHAodCl7cmV0dXJuIm1hdDJkKCIrdFswXSsi
LCAiK3RbMV0rIiwgIit0WzJdKyIsICIrdFszXSsiLCAiK3RbNF0rIiwgIit0WzVdKyIpIn1mdW5j
dGlvbiBQKHQpe3JldHVybiBNYXRoLnNxcnQoTWF0aC5wb3codFswXSwyKStNYXRoLnBvdyh0WzFd
LDIpK01hdGgucG93KHRbMl0sMikrTWF0aC5wb3codFszXSwyKStNYXRoLnBvdyh0WzRdLDIpK01h
dGgucG93KHRbNV0sMikrMSl9ZnVuY3Rpb24gRSh0LG4scil7cmV0dXJuIHRbMF09blswXStyWzBd
LHRbMV09blsxXStyWzFdLHRbMl09blsyXStyWzJdLHRbM109blszXStyWzNdLHRbNF09bls0XSty
WzRdLHRbNV09bls1XStyWzVdLHR9ZnVuY3Rpb24gTyh0LG4scil7cmV0dXJuIHRbMF09blswXS1y
WzBdLHRbMV09blsxXS1yWzFdLHRbMl09blsyXS1yWzJdLHRbM109blszXS1yWzNdLHRbNF09bls0
XS1yWzRdLHRbNV09bls1XS1yWzVdLHR9ZnVuY3Rpb24geCh0LG4scil7cmV0dXJuIHRbMF09blsw
XSpyLHRbMV09blsxXSpyLHRbMl09blsyXSpyLHRbM109blszXSpyLHRbNF09bls0XSpyLHRbNV09
bls1XSpyLHR9ZnVuY3Rpb24gQSh0LG4scixhKXtyZXR1cm4gdFswXT1uWzBdK3JbMF0qYSx0WzFd
PW5bMV0rclsxXSphLHRbMl09blsyXStyWzJdKmEsdFszXT1uWzNdK3JbM10qYSx0WzRdPW5bNF0r
cls0XSphLHRbNV09bls1XStyWzVdKmEsdH1mdW5jdGlvbiBxKHQsbil7cmV0dXJuIHRbMF09PT1u
WzBdJiZ0WzFdPT09blsxXSYmdFsyXT09PW5bMl0mJnRbM109PT1uWzNdJiZ0WzRdPT09bls0XSYm
dFs1XT09PW5bNV19ZnVuY3Rpb24geSh0LG4pe3ZhciByPXRbMF0sYT10WzFdLGU9dFsyXSx1PXRb
M10sbz10WzRdLGk9dFs1XSxzPW5bMF0sYz1uWzFdLGY9blsyXSxNPW5bM10saD1uWzRdLGw9bls1
XTtyZXR1cm4gTWF0aC5hYnMoci1zKTw9Ui5FUFNJTE9OKk1hdGgubWF4KDEsTWF0aC5hYnMociks
TWF0aC5hYnMocykpJiZNYXRoLmFicyhhLWMpPD1SLkVQU0lMT04qTWF0aC5tYXgoMSxNYXRoLmFi
cyhhKSxNYXRoLmFicyhjKSkmJk1hdGguYWJzKGUtZik8PVIuRVBTSUxPTipNYXRoLm1heCgxLE1h
dGguYWJzKGUpLE1hdGguYWJzKGYpKSYmTWF0aC5hYnModS1NKTw9Ui5FUFNJTE9OKk1hdGgubWF4
KDEsTWF0aC5hYnModSksTWF0aC5hYnMoTSkpJiZNYXRoLmFicyhvLWgpPD1SLkVQU0lMT04qTWF0
aC5tYXgoMSxNYXRoLmFicyhvKSxNYXRoLmFicyhoKSkmJk1hdGguYWJzKGktbCk8PVIuRVBTSUxP
TipNYXRoLm1heCgxLE1hdGguYWJzKGkpLE1hdGguYWJzKGwpKX1PYmplY3QuZGVmaW5lUHJvcGVy
dHkobiwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksbi5zdWI9bi5tdWw9dm9pZCAwLG4uY3JlYXRl
PWEsbi5jbG9uZT1lLG4uY29weT11LG4uaWRlbnRpdHk9byxuLmZyb21WYWx1ZXM9aSxuLnNldD1z
LG4uaW52ZXJ0PWMsbi5kZXRlcm1pbmFudD1mLG4ubXVsdGlwbHk9TSxuLnJvdGF0ZT1oLG4uc2Nh
bGU9bCxuLnRyYW5zbGF0ZT12LG4uZnJvbVJvdGF0aW9uPWQsbi5mcm9tU2NhbGluZz1iLG4uZnJv
bVRyYW5zbGF0aW9uPW0sbi5zdHI9cCxuLmZyb2I9UCxuLmFkZD1FLG4uc3VidHJhY3Q9TyxuLm11
bHRpcGx5U2NhbGFyPXgsbi5tdWx0aXBseVNjYWxhckFuZEFkZD1BLG4uZXhhY3RFcXVhbHM9cSxu
LmVxdWFscz15O3ZhciB3PXIoMCksUj1mdW5jdGlvbih0KXtpZih0JiZ0Ll9fZXNNb2R1bGUpcmV0
dXJuIHQ7dmFyIG49e307aWYobnVsbCE9dClmb3IodmFyIHIgaW4gdClPYmplY3QucHJvdG90eXBl
Lmhhc093blByb3BlcnR5LmNhbGwodCxyKSYmKG5bcl09dFtyXSk7cmV0dXJuIG4uZGVmYXVsdD10
LG59KHcpO24ubXVsPU0sbi5zdWI9T30sZnVuY3Rpb24odCxuLHIpeyJ1c2Ugc3RyaWN0IjtmdW5j
dGlvbiBhKCl7dmFyIHQ9bmV3IEMuQVJSQVlfVFlQRSgxNik7cmV0dXJuIHRbMF09MSx0WzFdPTAs
dFsyXT0wLHRbM109MCx0WzRdPTAsdFs1XT0xLHRbNl09MCx0WzddPTAsdFs4XT0wLHRbOV09MCx0
WzEwXT0xLHRbMTFdPTAsdFsxMl09MCx0WzEzXT0wLHRbMTRdPTAsdFsxNV09MSx0fWZ1bmN0aW9u
IGUodCl7dmFyIG49bmV3IEMuQVJSQVlfVFlQRSgxNik7cmV0dXJuIG5bMF09dFswXSxuWzFdPXRb
MV0sblsyXT10WzJdLG5bM109dFszXSxuWzRdPXRbNF0sbls1XT10WzVdLG5bNl09dFs2XSxuWzdd
PXRbN10sbls4XT10WzhdLG5bOV09dFs5XSxuWzEwXT10WzEwXSxuWzExXT10WzExXSxuWzEyXT10
WzEyXSxuWzEzXT10WzEzXSxuWzE0XT10WzE0XSxuWzE1XT10WzE1XSxufWZ1bmN0aW9uIHUodCxu
KXtyZXR1cm4gdFswXT1uWzBdLHRbMV09blsxXSx0WzJdPW5bMl0sdFszXT1uWzNdLHRbNF09bls0
XSx0WzVdPW5bNV0sdFs2XT1uWzZdLHRbN109bls3XSx0WzhdPW5bOF0sdFs5XT1uWzldLHRbMTBd
PW5bMTBdLHRbMTFdPW5bMTFdLHRbMTJdPW5bMTJdLHRbMTNdPW5bMTNdLHRbMTRdPW5bMTRdLHRb
MTVdPW5bMTVdLHR9ZnVuY3Rpb24gbyh0LG4scixhLGUsdSxvLGkscyxjLGYsTSxoLGwsdixkKXt2
YXIgYj1uZXcgQy5BUlJBWV9UWVBFKDE2KTtyZXR1cm4gYlswXT10LGJbMV09bixiWzJdPXIsYlsz
XT1hLGJbNF09ZSxiWzVdPXUsYls2XT1vLGJbN109aSxiWzhdPXMsYls5XT1jLGJbMTBdPWYsYlsx
MV09TSxiWzEyXT1oLGJbMTNdPWwsYlsxNF09dixiWzE1XT1kLGJ9ZnVuY3Rpb24gaSh0LG4scixh
LGUsdSxvLGkscyxjLGYsTSxoLGwsdixkLGIpe3JldHVybiB0WzBdPW4sdFsxXT1yLHRbMl09YSx0
WzNdPWUsdFs0XT11LHRbNV09byx0WzZdPWksdFs3XT1zLHRbOF09Yyx0WzldPWYsdFsxMF09TSx0
WzExXT1oLHRbMTJdPWwsdFsxM109dix0WzE0XT1kLHRbMTVdPWIsdH1mdW5jdGlvbiBzKHQpe3Jl
dHVybiB0WzBdPTEsdFsxXT0wLHRbMl09MCx0WzNdPTAsdFs0XT0wLHRbNV09MSx0WzZdPTAsdFs3
XT0wLHRbOF09MCx0WzldPTAsdFsxMF09MSx0WzExXT0wLHRbMTJdPTAsdFsxM109MCx0WzE0XT0w
LHRbMTVdPTEsdH1mdW5jdGlvbiBjKHQsbil7aWYodD09PW4pe3ZhciByPW5bMV0sYT1uWzJdLGU9
blszXSx1PW5bNl0sbz1uWzddLGk9blsxMV07dFsxXT1uWzRdLHRbMl09bls4XSx0WzNdPW5bMTJd
LHRbNF09cix0WzZdPW5bOV0sdFs3XT1uWzEzXSx0WzhdPWEsdFs5XT11LHRbMTFdPW5bMTRdLHRb
MTJdPWUsdFsxM109byx0WzE0XT1pfWVsc2UgdFswXT1uWzBdLHRbMV09bls0XSx0WzJdPW5bOF0s
dFszXT1uWzEyXSx0WzRdPW5bMV0sdFs1XT1uWzVdLHRbNl09bls5XSx0WzddPW5bMTNdLHRbOF09
blsyXSx0WzldPW5bNl0sdFsxMF09blsxMF0sdFsxMV09blsxNF0sdFsxMl09blszXSx0WzEzXT1u
WzddLHRbMTRdPW5bMTFdLHRbMTVdPW5bMTVdO3JldHVybiB0fWZ1bmN0aW9uIGYodCxuKXt2YXIg
cj1uWzBdLGE9blsxXSxlPW5bMl0sdT1uWzNdLG89bls0XSxpPW5bNV0scz1uWzZdLGM9bls3XSxm
PW5bOF0sTT1uWzldLGg9blsxMF0sbD1uWzExXSx2PW5bMTJdLGQ9blsxM10sYj1uWzE0XSxtPW5b
MTVdLHA9cippLWEqbyxQPXIqcy1lKm8sRT1yKmMtdSpvLE89YSpzLWUqaSx4PWEqYy11KmksQT1l
KmMtdSpzLHE9ZipkLU0qdix5PWYqYi1oKnYsdz1mKm0tbCp2LFI9TSpiLWgqZCxMPU0qbS1sKmQs
Uz1oKm0tbCpiLF89cCpTLVAqTCtFKlIrTyp3LXgqeStBKnE7cmV0dXJuIF8/KF89MS9fLHRbMF09
KGkqUy1zKkwrYypSKSpfLHRbMV09KGUqTC1hKlMtdSpSKSpfLHRbMl09KGQqQS1iKngrbSpPKSpf
LHRbM109KGgqeC1NKkEtbCpPKSpfLHRbNF09KHMqdy1vKlMtYyp5KSpfLHRbNV09KHIqUy1lKncr
dSp5KSpfLHRbNl09KGIqRS12KkEtbSpQKSpfLHRbN109KGYqQS1oKkUrbCpQKSpfLHRbOF09KG8q
TC1pKncrYypxKSpfLHRbOV09KGEqdy1yKkwtdSpxKSpfLHRbMTBdPSh2KngtZCpFK20qcCkqXyx0
WzExXT0oTSpFLWYqeC1sKnApKl8sdFsxMl09KGkqeS1vKlItcypxKSpfLHRbMTNdPShyKlItYSp5
K2UqcSkqXyx0WzE0XT0oZCpQLXYqTy1iKnApKl8sdFsxNV09KGYqTy1NKlAraCpwKSpfLHQpOm51
bGx9ZnVuY3Rpb24gTSh0LG4pe3ZhciByPW5bMF0sYT1uWzFdLGU9blsyXSx1PW5bM10sbz1uWzRd
LGk9bls1XSxzPW5bNl0sYz1uWzddLGY9bls4XSxNPW5bOV0saD1uWzEwXSxsPW5bMTFdLHY9blsx
Ml0sZD1uWzEzXSxiPW5bMTRdLG09blsxNV07cmV0dXJuIHRbMF09aSooaCptLWwqYiktTSoocypt
LWMqYikrZCoocypsLWMqaCksdFsxXT0tKGEqKGgqbS1sKmIpLU0qKGUqbS11KmIpK2QqKGUqbC11
KmgpKSx0WzJdPWEqKHMqbS1jKmIpLWkqKGUqbS11KmIpK2QqKGUqYy11KnMpLHRbM109LShhKihz
KmwtYypoKS1pKihlKmwtdSpoKStNKihlKmMtdSpzKSksdFs0XT0tKG8qKGgqbS1sKmIpLWYqKHMq
bS1jKmIpK3YqKHMqbC1jKmgpKSx0WzVdPXIqKGgqbS1sKmIpLWYqKGUqbS11KmIpK3YqKGUqbC11
KmgpLHRbNl09LShyKihzKm0tYypiKS1vKihlKm0tdSpiKSt2KihlKmMtdSpzKSksdFs3XT1yKihz
KmwtYypoKS1vKihlKmwtdSpoKStmKihlKmMtdSpzKSx0WzhdPW8qKE0qbS1sKmQpLWYqKGkqbS1j
KmQpK3YqKGkqbC1jKk0pLHRbOV09LShyKihNKm0tbCpkKS1mKihhKm0tdSpkKSt2KihhKmwtdSpN
KSksdFsxMF09ciooaSptLWMqZCktbyooYSptLXUqZCkrdiooYSpjLXUqaSksdFsxMV09LShyKihp
KmwtYypNKS1vKihhKmwtdSpNKStmKihhKmMtdSppKSksdFsxMl09LShvKihNKmItaCpkKS1mKihp
KmItcypkKSt2KihpKmgtcypNKSksdFsxM109ciooTSpiLWgqZCktZiooYSpiLWUqZCkrdiooYSpo
LWUqTSksdFsxNF09LShyKihpKmItcypkKS1vKihhKmItZSpkKSt2KihhKnMtZSppKSksdFsxNV09
ciooaSpoLXMqTSktbyooYSpoLWUqTSkrZiooYSpzLWUqaSksdH1mdW5jdGlvbiBoKHQpe3ZhciBu
PXRbMF0scj10WzFdLGE9dFsyXSxlPXRbM10sdT10WzRdLG89dFs1XSxpPXRbNl0scz10WzddLGM9
dFs4XSxmPXRbOV0sTT10WzEwXSxoPXRbMTFdLGw9dFsxMl0sdj10WzEzXSxkPXRbMTRdLGI9dFsx
NV07cmV0dXJuKG4qby1yKnUpKihNKmItaCpkKS0obippLWEqdSkqKGYqYi1oKnYpKyhuKnMtZSp1
KSooZipkLU0qdikrKHIqaS1hKm8pKihjKmItaCpsKS0ocipzLWUqbykqKGMqZC1NKmwpKyhhKnMt
ZSppKSooYyp2LWYqbCl9ZnVuY3Rpb24gbCh0LG4scil7dmFyIGE9blswXSxlPW5bMV0sdT1uWzJd
LG89blszXSxpPW5bNF0scz1uWzVdLGM9bls2XSxmPW5bN10sTT1uWzhdLGg9bls5XSxsPW5bMTBd
LHY9blsxMV0sZD1uWzEyXSxiPW5bMTNdLG09blsxNF0scD1uWzE1XSxQPXJbMF0sRT1yWzFdLE89
clsyXSx4PXJbM107cmV0dXJuIHRbMF09UCphK0UqaStPKk0reCpkLHRbMV09UCplK0UqcytPKmgr
eCpiLHRbMl09UCp1K0UqYytPKmwreCptLHRbM109UCpvK0UqZitPKnYreCpwLFA9cls0XSxFPXJb
NV0sTz1yWzZdLHg9cls3XSx0WzRdPVAqYStFKmkrTypNK3gqZCx0WzVdPVAqZStFKnMrTypoK3gq
Yix0WzZdPVAqdStFKmMrTypsK3gqbSx0WzddPVAqbytFKmYrTyp2K3gqcCxQPXJbOF0sRT1yWzld
LE89clsxMF0seD1yWzExXSx0WzhdPVAqYStFKmkrTypNK3gqZCx0WzldPVAqZStFKnMrTypoK3gq
Yix0WzEwXT1QKnUrRSpjK08qbCt4Km0sdFsxMV09UCpvK0UqZitPKnYreCpwLFA9clsxMl0sRT1y
WzEzXSxPPXJbMTRdLHg9clsxNV0sdFsxMl09UCphK0UqaStPKk0reCpkLHRbMTNdPVAqZStFKnMr
TypoK3gqYix0WzE0XT1QKnUrRSpjK08qbCt4Km0sdFsxNV09UCpvK0UqZitPKnYreCpwLHR9ZnVu
Y3Rpb24gdih0LG4scil7dmFyIGE9clswXSxlPXJbMV0sdT1yWzJdLG89dm9pZCAwLGk9dm9pZCAw
LHM9dm9pZCAwLGM9dm9pZCAwLGY9dm9pZCAwLE09dm9pZCAwLGg9dm9pZCAwLGw9dm9pZCAwLHY9
dm9pZCAwLGQ9dm9pZCAwLGI9dm9pZCAwLG09dm9pZCAwO3JldHVybiBuPT09dD8odFsxMl09blsw
XSphK25bNF0qZStuWzhdKnUrblsxMl0sdFsxM109blsxXSphK25bNV0qZStuWzldKnUrblsxM10s
dFsxNF09blsyXSphK25bNl0qZStuWzEwXSp1K25bMTRdLHRbMTVdPW5bM10qYStuWzddKmUrblsx
MV0qdStuWzE1XSk6KG89blswXSxpPW5bMV0scz1uWzJdLGM9blszXSxmPW5bNF0sTT1uWzVdLGg9
bls2XSxsPW5bN10sdj1uWzhdLGQ9bls5XSxiPW5bMTBdLG09blsxMV0sdFswXT1vLHRbMV09aSx0
WzJdPXMsdFszXT1jLHRbNF09Zix0WzVdPU0sdFs2XT1oLHRbN109bCx0WzhdPXYsdFs5XT1kLHRb
MTBdPWIsdFsxMV09bSx0WzEyXT1vKmErZiplK3YqdStuWzEyXSx0WzEzXT1pKmErTSplK2QqdStu
WzEzXSx0WzE0XT1zKmEraCplK2IqdStuWzE0XSx0WzE1XT1jKmErbCplK20qdStuWzE1XSksdH1m
dW5jdGlvbiBkKHQsbixyKXt2YXIgYT1yWzBdLGU9clsxXSx1PXJbMl07cmV0dXJuIHRbMF09blsw
XSphLHRbMV09blsxXSphLHRbMl09blsyXSphLHRbM109blszXSphLHRbNF09bls0XSplLHRbNV09
bls1XSplLHRbNl09bls2XSplLHRbN109bls3XSplLHRbOF09bls4XSp1LHRbOV09bls5XSp1LHRb
MTBdPW5bMTBdKnUsdFsxMV09blsxMV0qdSx0WzEyXT1uWzEyXSx0WzEzXT1uWzEzXSx0WzE0XT1u
WzE0XSx0WzE1XT1uWzE1XSx0fWZ1bmN0aW9uIGIodCxuLHIsYSl7dmFyIGU9YVswXSx1PWFbMV0s
bz1hWzJdLGk9TWF0aC5zcXJ0KGUqZSt1KnUrbypvKSxzPXZvaWQgMCxjPXZvaWQgMCxmPXZvaWQg
MCxNPXZvaWQgMCxoPXZvaWQgMCxsPXZvaWQgMCx2PXZvaWQgMCxkPXZvaWQgMCxiPXZvaWQgMCxt
PXZvaWQgMCxwPXZvaWQgMCxQPXZvaWQgMCxFPXZvaWQgMCxPPXZvaWQgMCx4PXZvaWQgMCxBPXZv
aWQgMCxxPXZvaWQgMCx5PXZvaWQgMCx3PXZvaWQgMCxSPXZvaWQgMCxMPXZvaWQgMCxTPXZvaWQg
MCxfPXZvaWQgMCxJPXZvaWQgMDtyZXR1cm4gTWF0aC5hYnMoaSk8Qy5FUFNJTE9OP251bGw6KGk9
MS9pLGUqPWksdSo9aSxvKj1pLHM9TWF0aC5zaW4ociksYz1NYXRoLmNvcyhyKSxmPTEtYyxNPW5b
MF0saD1uWzFdLGw9blsyXSx2PW5bM10sZD1uWzRdLGI9bls1XSxtPW5bNl0scD1uWzddLFA9bls4
XSxFPW5bOV0sTz1uWzEwXSx4PW5bMTFdLEE9ZSplKmYrYyxxPXUqZSpmK28qcyx5PW8qZSpmLXUq
cyx3PWUqdSpmLW8qcyxSPXUqdSpmK2MsTD1vKnUqZitlKnMsUz1lKm8qZit1KnMsXz11Km8qZi1l
KnMsST1vKm8qZitjLHRbMF09TSpBK2QqcStQKnksdFsxXT1oKkErYipxK0UqeSx0WzJdPWwqQStt
KnErTyp5LHRbM109dipBK3AqcSt4KnksdFs0XT1NKncrZCpSK1AqTCx0WzVdPWgqdytiKlIrRSpM
LHRbNl09bCp3K20qUitPKkwsdFs3XT12KncrcCpSK3gqTCx0WzhdPU0qUytkKl8rUCpJLHRbOV09
aCpTK2IqXytFKkksdFsxMF09bCpTK20qXytPKkksdFsxMV09dipTK3AqXyt4KkksbiE9PXQmJih0
WzEyXT1uWzEyXSx0WzEzXT1uWzEzXSx0WzE0XT1uWzE0XSx0WzE1XT1uWzE1XSksdCl9ZnVuY3Rp
b24gbSh0LG4scil7dmFyIGE9TWF0aC5zaW4ociksZT1NYXRoLmNvcyhyKSx1PW5bNF0sbz1uWzVd
LGk9bls2XSxzPW5bN10sYz1uWzhdLGY9bls5XSxNPW5bMTBdLGg9blsxMV07cmV0dXJuIG4hPT10
JiYodFswXT1uWzBdLHRbMV09blsxXSx0WzJdPW5bMl0sdFszXT1uWzNdLHRbMTJdPW5bMTJdLHRb
MTNdPW5bMTNdLHRbMTRdPW5bMTRdLHRbMTVdPW5bMTVdKSx0WzRdPXUqZStjKmEsdFs1XT1vKmUr
ZiphLHRbNl09aSplK00qYSx0WzddPXMqZStoKmEsdFs4XT1jKmUtdSphLHRbOV09ZiplLW8qYSx0
WzEwXT1NKmUtaSphLHRbMTFdPWgqZS1zKmEsdH1mdW5jdGlvbiBwKHQsbixyKXt2YXIgYT1NYXRo
LnNpbihyKSxlPU1hdGguY29zKHIpLHU9blswXSxvPW5bMV0saT1uWzJdLHM9blszXSxjPW5bOF0s
Zj1uWzldLE09blsxMF0saD1uWzExXTtyZXR1cm4gbiE9PXQmJih0WzRdPW5bNF0sdFs1XT1uWzVd
LHRbNl09bls2XSx0WzddPW5bN10sdFsxMl09blsxMl0sdFsxM109blsxM10sdFsxNF09blsxNF0s
dFsxNV09blsxNV0pLHRbMF09dSplLWMqYSx0WzFdPW8qZS1mKmEsdFsyXT1pKmUtTSphLHRbM109
cyplLWgqYSx0WzhdPXUqYStjKmUsdFs5XT1vKmErZiplLHRbMTBdPWkqYStNKmUsdFsxMV09cyph
K2gqZSx0fWZ1bmN0aW9uIFAodCxuLHIpe3ZhciBhPU1hdGguc2luKHIpLGU9TWF0aC5jb3Mociks
dT1uWzBdLG89blsxXSxpPW5bMl0scz1uWzNdLGM9bls0XSxmPW5bNV0sTT1uWzZdLGg9bls3XTty
ZXR1cm4gbiE9PXQmJih0WzhdPW5bOF0sdFs5XT1uWzldLHRbMTBdPW5bMTBdLHRbMTFdPW5bMTFd
LHRbMTJdPW5bMTJdLHRbMTNdPW5bMTNdLHRbMTRdPW5bMTRdLHRbMTVdPW5bMTVdKSx0WzBdPXUq
ZStjKmEsdFsxXT1vKmUrZiphLHRbMl09aSplK00qYSx0WzNdPXMqZStoKmEsdFs0XT1jKmUtdSph
LHRbNV09ZiplLW8qYSx0WzZdPU0qZS1pKmEsdFs3XT1oKmUtcyphLHR9ZnVuY3Rpb24gRSh0LG4p
e3JldHVybiB0WzBdPTEsdFsxXT0wLHRbMl09MCx0WzNdPTAsdFs0XT0wLHRbNV09MSx0WzZdPTAs
dFs3XT0wLHRbOF09MCx0WzldPTAsdFsxMF09MSx0WzExXT0wLHRbMTJdPW5bMF0sdFsxM109blsx
XSx0WzE0XT1uWzJdLHRbMTVdPTEsdH1mdW5jdGlvbiBPKHQsbil7cmV0dXJuIHRbMF09blswXSx0
WzFdPTAsdFsyXT0wLHRbM109MCx0WzRdPTAsdFs1XT1uWzFdLHRbNl09MCx0WzddPTAsdFs4XT0w
LHRbOV09MCx0WzEwXT1uWzJdLHRbMTFdPTAsdFsxMl09MCx0WzEzXT0wLHRbMTRdPTAsdFsxNV09
MSx0fWZ1bmN0aW9uIHgodCxuLHIpe3ZhciBhPXJbMF0sZT1yWzFdLHU9clsyXSxvPU1hdGguc3Fy
dChhKmErZSplK3UqdSksaT12b2lkIDAscz12b2lkIDAsYz12b2lkIDA7cmV0dXJuIE1hdGguYWJz
KG8pPEMuRVBTSUxPTj9udWxsOihvPTEvbyxhKj1vLGUqPW8sdSo9byxpPU1hdGguc2luKG4pLHM9
TWF0aC5jb3MobiksYz0xLXMsdFswXT1hKmEqYytzLHRbMV09ZSphKmMrdSppLHRbMl09dSphKmMt
ZSppLHRbM109MCx0WzRdPWEqZSpjLXUqaSx0WzVdPWUqZSpjK3MsdFs2XT11KmUqYythKmksdFs3
XT0wLHRbOF09YSp1KmMrZSppLHRbOV09ZSp1KmMtYSppLHRbMTBdPXUqdSpjK3MsdFsxMV09MCx0
WzEyXT0wLHRbMTNdPTAsdFsxNF09MCx0WzE1XT0xLHQpfWZ1bmN0aW9uIEEodCxuKXt2YXIgcj1N
YXRoLnNpbihuKSxhPU1hdGguY29zKG4pO3JldHVybiB0WzBdPTEsdFsxXT0wLHRbMl09MCx0WzNd
PTAsdFs0XT0wLHRbNV09YSx0WzZdPXIsdFs3XT0wLHRbOF09MCx0WzldPS1yLHRbMTBdPWEsdFsx
MV09MCx0WzEyXT0wLHRbMTNdPTAsdFsxNF09MCx0WzE1XT0xLHR9ZnVuY3Rpb24gcSh0LG4pe3Zh
ciByPU1hdGguc2luKG4pLGE9TWF0aC5jb3Mobik7cmV0dXJuIHRbMF09YSx0WzFdPTAsdFsyXT0t
cix0WzNdPTAsdFs0XT0wLHRbNV09MSx0WzZdPTAsdFs3XT0wLHRbOF09cix0WzldPTAsdFsxMF09
YSx0WzExXT0wLHRbMTJdPTAsdFsxM109MCx0WzE0XT0wLHRbMTVdPTEsdH1mdW5jdGlvbiB5KHQs
bil7dmFyIHI9TWF0aC5zaW4obiksYT1NYXRoLmNvcyhuKTtyZXR1cm4gdFswXT1hLHRbMV09cix0
WzJdPTAsdFszXT0wLHRbNF09LXIsdFs1XT1hLHRbNl09MCx0WzddPTAsdFs4XT0wLHRbOV09MCx0
WzEwXT0xLHRbMTFdPTAsdFsxMl09MCx0WzEzXT0wLHRbMTRdPTAsdFsxNV09MSx0fWZ1bmN0aW9u
IHcodCxuLHIpe3ZhciBhPW5bMF0sZT1uWzFdLHU9blsyXSxvPW5bM10saT1hK2Escz1lK2UsYz11
K3UsZj1hKmksTT1hKnMsaD1hKmMsbD1lKnMsdj1lKmMsZD11KmMsYj1vKmksbT1vKnMscD1vKmM7
cmV0dXJuIHRbMF09MS0obCtkKSx0WzFdPU0rcCx0WzJdPWgtbSx0WzNdPTAsdFs0XT1NLXAsdFs1
XT0xLShmK2QpLHRbNl09ditiLHRbN109MCx0WzhdPWgrbSx0WzldPXYtYix0WzEwXT0xLShmK2wp
LHRbMTFdPTAsdFsxMl09clswXSx0WzEzXT1yWzFdLHRbMTRdPXJbMl0sdFsxNV09MSx0fWZ1bmN0
aW9uIFIodCxuKXtyZXR1cm4gdFswXT1uWzEyXSx0WzFdPW5bMTNdLHRbMl09blsxNF0sdH1mdW5j
dGlvbiBMKHQsbil7dmFyIHI9blswXSxhPW5bMV0sZT1uWzJdLHU9bls0XSxvPW5bNV0saT1uWzZd
LHM9bls4XSxjPW5bOV0sZj1uWzEwXTtyZXR1cm4gdFswXT1NYXRoLnNxcnQocipyK2EqYStlKmUp
LHRbMV09TWF0aC5zcXJ0KHUqdStvKm8raSppKSx0WzJdPU1hdGguc3FydChzKnMrYypjK2YqZiks
dH1mdW5jdGlvbiBTKHQsbil7dmFyIHI9blswXStuWzVdK25bMTBdLGE9MDtyZXR1cm4gcj4wPyhh
PTIqTWF0aC5zcXJ0KHIrMSksdFszXT0uMjUqYSx0WzBdPShuWzZdLW5bOV0pL2EsdFsxXT0obls4
XS1uWzJdKS9hLHRbMl09KG5bMV0tbls0XSkvYSk6blswXT5uWzVdJm5bMF0+blsxMF0/KGE9MipN
YXRoLnNxcnQoMStuWzBdLW5bNV0tblsxMF0pLHRbM109KG5bNl0tbls5XSkvYSx0WzBdPS4yNSph
LHRbMV09KG5bMV0rbls0XSkvYSx0WzJdPShuWzhdK25bMl0pL2EpOm5bNV0+blsxMF0/KGE9MipN
YXRoLnNxcnQoMStuWzVdLW5bMF0tblsxMF0pLHRbM109KG5bOF0tblsyXSkvYSx0WzBdPShuWzFd
K25bNF0pL2EsdFsxXT0uMjUqYSx0WzJdPShuWzZdK25bOV0pL2EpOihhPTIqTWF0aC5zcXJ0KDEr
blsxMF0tblswXS1uWzVdKSx0WzNdPShuWzFdLW5bNF0pL2EsdFswXT0obls4XStuWzJdKS9hLHRb
MV09KG5bNl0rbls5XSkvYSx0WzJdPS4yNSphKSx0fWZ1bmN0aW9uIF8odCxuLHIsYSl7dmFyIGU9
blswXSx1PW5bMV0sbz1uWzJdLGk9blszXSxzPWUrZSxjPXUrdSxmPW8rbyxNPWUqcyxoPWUqYyxs
PWUqZix2PXUqYyxkPXUqZixiPW8qZixtPWkqcyxwPWkqYyxQPWkqZixFPWFbMF0sTz1hWzFdLHg9
YVsyXTtyZXR1cm4gdFswXT0oMS0oditiKSkqRSx0WzFdPShoK1ApKkUsdFsyXT0obC1wKSpFLHRb
M109MCx0WzRdPShoLVApKk8sdFs1XT0oMS0oTStiKSkqTyx0WzZdPShkK20pKk8sdFs3XT0wLHRb
OF09KGwrcCkqeCx0WzldPShkLW0pKngsdFsxMF09KDEtKE0rdikpKngsdFsxMV09MCx0WzEyXT1y
WzBdLHRbMTNdPXJbMV0sdFsxNF09clsyXSx0WzE1XT0xLHR9ZnVuY3Rpb24gSSh0LG4scixhLGUp
e3ZhciB1PW5bMF0sbz1uWzFdLGk9blsyXSxzPW5bM10sYz11K3UsZj1vK28sTT1pK2ksaD11KmMs
bD11KmYsdj11Kk0sZD1vKmYsYj1vKk0sbT1pKk0scD1zKmMsUD1zKmYsRT1zKk0sTz1hWzBdLHg9
YVsxXSxBPWFbMl0scT1lWzBdLHk9ZVsxXSx3PWVbMl07cmV0dXJuIHRbMF09KDEtKGQrbSkpKk8s
dFsxXT0obCtFKSpPLHRbMl09KHYtUCkqTyx0WzNdPTAsdFs0XT0obC1FKSp4LHRbNV09KDEtKGgr
bSkpKngsdFs2XT0oYitwKSp4LHRbN109MCx0WzhdPSh2K1ApKkEsdFs5XT0oYi1wKSpBLHRbMTBd
PSgxLShoK2QpKSpBLHRbMTFdPTAsdFsxMl09clswXStxLSh0WzBdKnErdFs0XSp5K3RbOF0qdyks
dFsxM109clsxXSt5LSh0WzFdKnErdFs1XSp5K3RbOV0qdyksdFsxNF09clsyXSt3LSh0WzJdKnEr
dFs2XSp5K3RbMTBdKncpLHRbMTVdPTEsdH1mdW5jdGlvbiBOKHQsbil7dmFyIHI9blswXSxhPW5b
MV0sZT1uWzJdLHU9blszXSxvPXIrcixpPWErYSxzPWUrZSxjPXIqbyxmPWEqbyxNPWEqaSxoPWUq
byxsPWUqaSx2PWUqcyxkPXUqbyxiPXUqaSxtPXUqcztyZXR1cm4gdFswXT0xLU0tdix0WzFdPWYr
bSx0WzJdPWgtYix0WzNdPTAsdFs0XT1mLW0sdFs1XT0xLWMtdix0WzZdPWwrZCx0WzddPTAsdFs4
XT1oK2IsdFs5XT1sLWQsdFsxMF09MS1jLU0sdFsxMV09MCx0WzEyXT0wLHRbMTNdPTAsdFsxNF09
MCx0WzE1XT0xLHR9ZnVuY3Rpb24gWSh0LG4scixhLGUsdSxvKXt2YXIgaT0xLyhyLW4pLHM9MS8o
ZS1hKSxjPTEvKHUtbyk7cmV0dXJuIHRbMF09Mip1KmksdFsxXT0wLHRbMl09MCx0WzNdPTAsdFs0
XT0wLHRbNV09Mip1KnMsdFs2XT0wLHRbN109MCx0WzhdPShyK24pKmksdFs5XT0oZSthKSpzLHRb
MTBdPShvK3UpKmMsdFsxMV09LTEsdFsxMl09MCx0WzEzXT0wLHRbMTRdPW8qdSoyKmMsdFsxNV09
MCx0fWZ1bmN0aW9uIGcodCxuLHIsYSxlKXt2YXIgdT0xL01hdGgudGFuKG4vMiksbz0xLyhhLWUp
O3JldHVybiB0WzBdPXUvcix0WzFdPTAsdFsyXT0wLHRbM109MCx0WzRdPTAsdFs1XT11LHRbNl09
MCx0WzddPTAsdFs4XT0wLHRbOV09MCx0WzEwXT0oZSthKSpvLHRbMTFdPS0xLHRbMTJdPTAsdFsx
M109MCx0WzE0XT0yKmUqYSpvLHRbMTVdPTAsdH1mdW5jdGlvbiBUKHQsbixyLGEpe3ZhciBlPU1h
dGgudGFuKG4udXBEZWdyZWVzKk1hdGguUEkvMTgwKSx1PU1hdGgudGFuKG4uZG93bkRlZ3JlZXMq
TWF0aC5QSS8xODApLG89TWF0aC50YW4obi5sZWZ0RGVncmVlcypNYXRoLlBJLzE4MCksaT1NYXRo
LnRhbihuLnJpZ2h0RGVncmVlcypNYXRoLlBJLzE4MCkscz0yLyhvK2kpLGM9Mi8oZSt1KTtyZXR1
cm4gdFswXT1zLHRbMV09MCx0WzJdPTAsdFszXT0wLHRbNF09MCx0WzVdPWMsdFs2XT0wLHRbN109
MCx0WzhdPS0oby1pKSpzKi41LHRbOV09KGUtdSkqYyouNSx0WzEwXT1hLyhyLWEpLHRbMTFdPS0x
LHRbMTJdPTAsdFsxM109MCx0WzE0XT1hKnIvKHItYSksdFsxNV09MCx0fWZ1bmN0aW9uIGoodCxu
LHIsYSxlLHUsbyl7dmFyIGk9MS8obi1yKSxzPTEvKGEtZSksYz0xLyh1LW8pO3JldHVybiB0WzBd
PS0yKmksdFsxXT0wLHRbMl09MCx0WzNdPTAsdFs0XT0wLHRbNV09LTIqcyx0WzZdPTAsdFs3XT0w
LHRbOF09MCx0WzldPTAsdFsxMF09MipjLHRbMTFdPTAsdFsxMl09KG4rcikqaSx0WzEzXT0oZSth
KSpzLHRbMTRdPShvK3UpKmMsdFsxNV09MSx0fWZ1bmN0aW9uIEQodCxuLHIsYSl7dmFyIGU9dm9p
ZCAwLHU9dm9pZCAwLG89dm9pZCAwLGk9dm9pZCAwLHM9dm9pZCAwLGM9dm9pZCAwLGY9dm9pZCAw
LE09dm9pZCAwLGg9dm9pZCAwLGw9dm9pZCAwLHY9blswXSxkPW5bMV0sYj1uWzJdLG09YVswXSxw
PWFbMV0sUD1hWzJdLEU9clswXSxPPXJbMV0seD1yWzJdO3JldHVybiBNYXRoLmFicyh2LUUpPEMu
RVBTSUxPTiYmTWF0aC5hYnMoZC1PKTxDLkVQU0lMT04mJk1hdGguYWJzKGIteCk8Qy5FUFNJTE9O
P21hdDQuaWRlbnRpdHkodCk6KGY9di1FLE09ZC1PLGg9Yi14LGw9MS9NYXRoLnNxcnQoZipmK00q
TStoKmgpLGYqPWwsTSo9bCxoKj1sLGU9cCpoLVAqTSx1PVAqZi1tKmgsbz1tKk0tcCpmLGw9TWF0
aC5zcXJ0KGUqZSt1KnUrbypvKSxsPyhsPTEvbCxlKj1sLHUqPWwsbyo9bCk6KGU9MCx1PTAsbz0w
KSxpPU0qby1oKnUscz1oKmUtZipvLGM9Zip1LU0qZSxsPU1hdGguc3FydChpKmkrcypzK2MqYyks
bD8obD0xL2wsaSo9bCxzKj1sLGMqPWwpOihpPTAscz0wLGM9MCksdFswXT1lLHRbMV09aSx0WzJd
PWYsdFszXT0wLHRbNF09dSx0WzVdPXMsdFs2XT1NLHRbN109MCx0WzhdPW8sdFs5XT1jLHRbMTBd
PWgsdFsxMV09MCx0WzEyXT0tKGUqdit1KmQrbypiKSx0WzEzXT0tKGkqditzKmQrYypiKSx0WzE0
XT0tKGYqditNKmQraCpiKSx0WzE1XT0xLHQpfWZ1bmN0aW9uIFYodCxuLHIsYSl7dmFyIGU9blsw
XSx1PW5bMV0sbz1uWzJdLGk9YVswXSxzPWFbMV0sYz1hWzJdLGY9ZS1yWzBdLE09dS1yWzFdLGg9
by1yWzJdLGw9ZipmK00qTStoKmg7bD4wJiYobD0xL01hdGguc3FydChsKSxmKj1sLE0qPWwsaCo9
bCk7dmFyIHY9cypoLWMqTSxkPWMqZi1pKmgsYj1pKk0tcypmO3JldHVybiB0WzBdPXYsdFsxXT1k
LHRbMl09Yix0WzNdPTAsdFs0XT1NKmItaCpkLHRbNV09aCp2LWYqYix0WzZdPWYqZC1NKnYsdFs3
XT0wLHRbOF09Zix0WzldPU0sdFsxMF09aCx0WzExXT0wLHRbMTJdPWUsdFsxM109dSx0WzE0XT1v
LHRbMTVdPTEsdH1mdW5jdGlvbiB6KHQpe3JldHVybiJtYXQ0KCIrdFswXSsiLCAiK3RbMV0rIiwg
Iit0WzJdKyIsICIrdFszXSsiLCAiK3RbNF0rIiwgIit0WzVdKyIsICIrdFs2XSsiLCAiK3RbN10r
IiwgIit0WzhdKyIsICIrdFs5XSsiLCAiK3RbMTBdKyIsICIrdFsxMV0rIiwgIit0WzEyXSsiLCAi
K3RbMTNdKyIsICIrdFsxNF0rIiwgIit0WzE1XSsiKSJ9ZnVuY3Rpb24gRih0KXtyZXR1cm4gTWF0
aC5zcXJ0KE1hdGgucG93KHRbMF0sMikrTWF0aC5wb3codFsxXSwyKStNYXRoLnBvdyh0WzJdLDIp
K01hdGgucG93KHRbM10sMikrTWF0aC5wb3codFs0XSwyKStNYXRoLnBvdyh0WzVdLDIpK01hdGgu
cG93KHRbNl0sMikrTWF0aC5wb3codFs3XSwyKStNYXRoLnBvdyh0WzhdLDIpK01hdGgucG93KHRb
OV0sMikrTWF0aC5wb3codFsxMF0sMikrTWF0aC5wb3codFsxMV0sMikrTWF0aC5wb3codFsxMl0s
MikrTWF0aC5wb3codFsxM10sMikrTWF0aC5wb3codFsxNF0sMikrTWF0aC5wb3codFsxNV0sMikp
fWZ1bmN0aW9uIFEodCxuLHIpe3JldHVybiB0WzBdPW5bMF0rclswXSx0WzFdPW5bMV0rclsxXSx0
WzJdPW5bMl0rclsyXSx0WzNdPW5bM10rclszXSx0WzRdPW5bNF0rcls0XSx0WzVdPW5bNV0rcls1
XSx0WzZdPW5bNl0rcls2XSx0WzddPW5bN10rcls3XSx0WzhdPW5bOF0rcls4XSx0WzldPW5bOV0r
cls5XSx0WzEwXT1uWzEwXStyWzEwXSx0WzExXT1uWzExXStyWzExXSx0WzEyXT1uWzEyXStyWzEy
XSx0WzEzXT1uWzEzXStyWzEzXSx0WzE0XT1uWzE0XStyWzE0XSx0WzE1XT1uWzE1XStyWzE1XSx0
fWZ1bmN0aW9uIFgodCxuLHIpe3JldHVybiB0WzBdPW5bMF0tclswXSx0WzFdPW5bMV0tclsxXSx0
WzJdPW5bMl0tclsyXSx0WzNdPW5bM10tclszXSx0WzRdPW5bNF0tcls0XSx0WzVdPW5bNV0tcls1
XSx0WzZdPW5bNl0tcls2XSx0WzddPW5bN10tcls3XSx0WzhdPW5bOF0tcls4XSx0WzldPW5bOV0t
cls5XSx0WzEwXT1uWzEwXS1yWzEwXSx0WzExXT1uWzExXS1yWzExXSx0WzEyXT1uWzEyXS1yWzEy
XSx0WzEzXT1uWzEzXS1yWzEzXSx0WzE0XT1uWzE0XS1yWzE0XSx0WzE1XT1uWzE1XS1yWzE1XSx0
fWZ1bmN0aW9uIFoodCxuLHIpe3JldHVybiB0WzBdPW5bMF0qcix0WzFdPW5bMV0qcix0WzJdPW5b
Ml0qcix0WzNdPW5bM10qcix0WzRdPW5bNF0qcix0WzVdPW5bNV0qcix0WzZdPW5bNl0qcix0Wzdd
PW5bN10qcix0WzhdPW5bOF0qcix0WzldPW5bOV0qcix0WzEwXT1uWzEwXSpyLHRbMTFdPW5bMTFd
KnIsdFsxMl09blsxMl0qcix0WzEzXT1uWzEzXSpyLHRbMTRdPW5bMTRdKnIsdFsxNV09blsxNV0q
cix0fWZ1bmN0aW9uIGsodCxuLHIsYSl7cmV0dXJuIHRbMF09blswXStyWzBdKmEsdFsxXT1uWzFd
K3JbMV0qYSx0WzJdPW5bMl0rclsyXSphLHRbM109blszXStyWzNdKmEsdFs0XT1uWzRdK3JbNF0q
YSx0WzVdPW5bNV0rcls1XSphLHRbNl09bls2XStyWzZdKmEsdFs3XT1uWzddK3JbN10qYSx0Wzhd
PW5bOF0rcls4XSphLHRbOV09bls5XStyWzldKmEsdFsxMF09blsxMF0rclsxMF0qYSx0WzExXT1u
WzExXStyWzExXSphLHRbMTJdPW5bMTJdK3JbMTJdKmEsdFsxM109blsxM10rclsxM10qYSx0WzE0
XT1uWzE0XStyWzE0XSphLHRbMTVdPW5bMTVdK3JbMTVdKmEsdH1mdW5jdGlvbiBVKHQsbil7cmV0
dXJuIHRbMF09PT1uWzBdJiZ0WzFdPT09blsxXSYmdFsyXT09PW5bMl0mJnRbM109PT1uWzNdJiZ0
WzRdPT09bls0XSYmdFs1XT09PW5bNV0mJnRbNl09PT1uWzZdJiZ0WzddPT09bls3XSYmdFs4XT09
PW5bOF0mJnRbOV09PT1uWzldJiZ0WzEwXT09PW5bMTBdJiZ0WzExXT09PW5bMTFdJiZ0WzEyXT09
PW5bMTJdJiZ0WzEzXT09PW5bMTNdJiZ0WzE0XT09PW5bMTRdJiZ0WzE1XT09PW5bMTVdfWZ1bmN0
aW9uIFcodCxuKXt2YXIgcj10WzBdLGE9dFsxXSxlPXRbMl0sdT10WzNdLG89dFs0XSxpPXRbNV0s
cz10WzZdLGM9dFs3XSxmPXRbOF0sTT10WzldLGg9dFsxMF0sbD10WzExXSx2PXRbMTJdLGQ9dFsx
M10sYj10WzE0XSxtPXRbMTVdLHA9blswXSxQPW5bMV0sRT1uWzJdLE89blszXSx4PW5bNF0sQT1u
WzVdLHE9bls2XSx5PW5bN10sdz1uWzhdLFI9bls5XSxMPW5bMTBdLFM9blsxMV0sXz1uWzEyXSxJ
PW5bMTNdLE49blsxNF0sWT1uWzE1XTtyZXR1cm4gTWF0aC5hYnMoci1wKTw9Qy5FUFNJTE9OKk1h
dGgubWF4KDEsTWF0aC5hYnMociksTWF0aC5hYnMocCkpJiZNYXRoLmFicyhhLVApPD1DLkVQU0lM
T04qTWF0aC5tYXgoMSxNYXRoLmFicyhhKSxNYXRoLmFicyhQKSkmJk1hdGguYWJzKGUtRSk8PUMu
RVBTSUxPTipNYXRoLm1heCgxLE1hdGguYWJzKGUpLE1hdGguYWJzKEUpKSYmTWF0aC5hYnModS1P
KTw9Qy5FUFNJTE9OKk1hdGgubWF4KDEsTWF0aC5hYnModSksTWF0aC5hYnMoTykpJiZNYXRoLmFi
cyhvLXgpPD1DLkVQU0lMT04qTWF0aC5tYXgoMSxNYXRoLmFicyhvKSxNYXRoLmFicyh4KSkmJk1h
dGguYWJzKGktQSk8PUMuRVBTSUxPTipNYXRoLm1heCgxLE1hdGguYWJzKGkpLE1hdGguYWJzKEEp
KSYmTWF0aC5hYnMocy1xKTw9Qy5FUFNJTE9OKk1hdGgubWF4KDEsTWF0aC5hYnMocyksTWF0aC5h
YnMocSkpJiZNYXRoLmFicyhjLXkpPD1DLkVQU0lMT04qTWF0aC5tYXgoMSxNYXRoLmFicyhjKSxN
YXRoLmFicyh5KSkmJk1hdGguYWJzKGYtdyk8PUMuRVBTSUxPTipNYXRoLm1heCgxLE1hdGguYWJz
KGYpLE1hdGguYWJzKHcpKSYmTWF0aC5hYnMoTS1SKTw9Qy5FUFNJTE9OKk1hdGgubWF4KDEsTWF0
aC5hYnMoTSksTWF0aC5hYnMoUikpJiZNYXRoLmFicyhoLUwpPD1DLkVQU0lMT04qTWF0aC5tYXgo
MSxNYXRoLmFicyhoKSxNYXRoLmFicyhMKSkmJk1hdGguYWJzKGwtUyk8PUMuRVBTSUxPTipNYXRo
Lm1heCgxLE1hdGguYWJzKGwpLE1hdGguYWJzKFMpKSYmTWF0aC5hYnModi1fKTw9Qy5FUFNJTE9O
Kk1hdGgubWF4KDEsTWF0aC5hYnModiksTWF0aC5hYnMoXykpJiZNYXRoLmFicyhkLUkpPD1DLkVQ
U0lMT04qTWF0aC5tYXgoMSxNYXRoLmFicyhkKSxNYXRoLmFicyhJKSkmJk1hdGguYWJzKGItTik8
PUMuRVBTSUxPTipNYXRoLm1heCgxLE1hdGguYWJzKGIpLE1hdGguYWJzKE4pKSYmTWF0aC5hYnMo
bS1ZKTw9Qy5FUFNJTE9OKk1hdGgubWF4KDEsTWF0aC5hYnMobSksTWF0aC5hYnMoWSkpfU9iamVj
dC5kZWZpbmVQcm9wZXJ0eShuLCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSxuLnN1Yj1uLm11bD12
b2lkIDAsbi5jcmVhdGU9YSxuLmNsb25lPWUsbi5jb3B5PXUsbi5mcm9tVmFsdWVzPW8sbi5zZXQ9
aSxuLmlkZW50aXR5PXMsbi50cmFuc3Bvc2U9YyxuLmludmVydD1mLG4uYWRqb2ludD1NLG4uZGV0
ZXJtaW5hbnQ9aCxuLm11bHRpcGx5PWwsbi50cmFuc2xhdGU9dixuLnNjYWxlPWQsbi5yb3RhdGU9
YixuLnJvdGF0ZVg9bSxuLnJvdGF0ZVk9cCxuLnJvdGF0ZVo9UCxuLmZyb21UcmFuc2xhdGlvbj1F
LG4uZnJvbVNjYWxpbmc9TyxuLmZyb21Sb3RhdGlvbj14LG4uZnJvbVhSb3RhdGlvbj1BLG4uZnJv
bVlSb3RhdGlvbj1xLG4uZnJvbVpSb3RhdGlvbj15LG4uZnJvbVJvdGF0aW9uVHJhbnNsYXRpb249
dyxuLmdldFRyYW5zbGF0aW9uPVIsbi5nZXRTY2FsaW5nPUwsbi5nZXRSb3RhdGlvbj1TLG4uZnJv
bVJvdGF0aW9uVHJhbnNsYXRpb25TY2FsZT1fLG4uZnJvbVJvdGF0aW9uVHJhbnNsYXRpb25TY2Fs
ZU9yaWdpbj1JLG4uZnJvbVF1YXQ9TixuLmZydXN0dW09WSxuLnBlcnNwZWN0aXZlPWcsbi5wZXJz
cGVjdGl2ZUZyb21GaWVsZE9mVmlldz1ULG4ub3J0aG89aixuLmxvb2tBdD1ELG4udGFyZ2V0VG89
VixuLnN0cj16LG4uZnJvYj1GLG4uYWRkPVEsbi5zdWJ0cmFjdD1YLG4ubXVsdGlwbHlTY2FsYXI9
WixuLm11bHRpcGx5U2NhbGFyQW5kQWRkPWssbi5leGFjdEVxdWFscz1VLG4uZXF1YWxzPVc7dmFy
IEI9cigwKSxDPWZ1bmN0aW9uKHQpe2lmKHQmJnQuX19lc01vZHVsZSlyZXR1cm4gdDt2YXIgbj17
fTtpZihudWxsIT10KWZvcih2YXIgciBpbiB0KU9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVy
dHkuY2FsbCh0LHIpJiYobltyXT10W3JdKTtyZXR1cm4gbi5kZWZhdWx0PXQsbn0oQik7bi5tdWw9
bCxuLnN1Yj1YfSxmdW5jdGlvbih0LG4scil7InVzZSBzdHJpY3QiO2Z1bmN0aW9uIGEodCl7aWYo
dCYmdC5fX2VzTW9kdWxlKXJldHVybiB0O3ZhciBuPXt9O2lmKG51bGwhPXQpZm9yKHZhciByIGlu
IHQpT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKHQscikmJihuW3JdPXRbcl0p
O3JldHVybiBuLmRlZmF1bHQ9dCxufWZ1bmN0aW9uIGUoKXt2YXIgdD1uZXcgRS5BUlJBWV9UWVBF
KDQpO3JldHVybiB0WzBdPTAsdFsxXT0wLHRbMl09MCx0WzNdPTEsdH1mdW5jdGlvbiB1KHQpe3Jl
dHVybiB0WzBdPTAsdFsxXT0wLHRbMl09MCx0WzNdPTEsdH1mdW5jdGlvbiBvKHQsbixyKXtyKj0u
NTt2YXIgYT1NYXRoLnNpbihyKTtyZXR1cm4gdFswXT1hKm5bMF0sdFsxXT1hKm5bMV0sdFsyXT1h
Km5bMl0sdFszXT1NYXRoLmNvcyhyKSx0fWZ1bmN0aW9uIGkodCxuKXt2YXIgcj0yKk1hdGguYWNv
cyhuWzNdKSxhPU1hdGguc2luKHIvMik7cmV0dXJuIDAhPWE/KHRbMF09blswXS9hLHRbMV09blsx
XS9hLHRbMl09blsyXS9hKToodFswXT0xLHRbMV09MCx0WzJdPTApLHJ9ZnVuY3Rpb24gcyh0LG4s
cil7dmFyIGE9blswXSxlPW5bMV0sdT1uWzJdLG89blszXSxpPXJbMF0scz1yWzFdLGM9clsyXSxm
PXJbM107cmV0dXJuIHRbMF09YSpmK28qaStlKmMtdSpzLHRbMV09ZSpmK28qcyt1KmktYSpjLHRb
Ml09dSpmK28qYythKnMtZSppLHRbM109bypmLWEqaS1lKnMtdSpjLHR9ZnVuY3Rpb24gYyh0LG4s
cil7cio9LjU7dmFyIGE9blswXSxlPW5bMV0sdT1uWzJdLG89blszXSxpPU1hdGguc2luKHIpLHM9
TWF0aC5jb3Mocik7cmV0dXJuIHRbMF09YSpzK28qaSx0WzFdPWUqcyt1KmksdFsyXT11KnMtZSpp
LHRbM109bypzLWEqaSx0fWZ1bmN0aW9uIGYodCxuLHIpe3IqPS41O3ZhciBhPW5bMF0sZT1uWzFd
LHU9blsyXSxvPW5bM10saT1NYXRoLnNpbihyKSxzPU1hdGguY29zKHIpO3JldHVybiB0WzBdPWEq
cy11KmksdFsxXT1lKnMrbyppLHRbMl09dSpzK2EqaSx0WzNdPW8qcy1lKmksdH1mdW5jdGlvbiBN
KHQsbixyKXtyKj0uNTt2YXIgYT1uWzBdLGU9blsxXSx1PW5bMl0sbz1uWzNdLGk9TWF0aC5zaW4o
cikscz1NYXRoLmNvcyhyKTtyZXR1cm4gdFswXT1hKnMrZSppLHRbMV09ZSpzLWEqaSx0WzJdPXUq
cytvKmksdFszXT1vKnMtdSppLHR9ZnVuY3Rpb24gaCh0LG4pe3ZhciByPW5bMF0sYT1uWzFdLGU9
blsyXTtyZXR1cm4gdFswXT1yLHRbMV09YSx0WzJdPWUsdFszXT1NYXRoLnNxcnQoTWF0aC5hYnMo
MS1yKnItYSphLWUqZSkpLHR9ZnVuY3Rpb24gbCh0LG4scixhKXt2YXIgZT1uWzBdLHU9blsxXSxv
PW5bMl0saT1uWzNdLHM9clswXSxjPXJbMV0sZj1yWzJdLE09clszXSxoPXZvaWQgMCxsPXZvaWQg
MCx2PXZvaWQgMCxkPXZvaWQgMCxiPXZvaWQgMDtyZXR1cm4gbD1lKnMrdSpjK28qZitpKk0sbDww
JiYobD0tbCxzPS1zLGM9LWMsZj0tZixNPS1NKSwxLWw+MWUtNj8oaD1NYXRoLmFjb3MobCksdj1N
YXRoLnNpbihoKSxkPU1hdGguc2luKCgxLWEpKmgpL3YsYj1NYXRoLnNpbihhKmgpL3YpOihkPTEt
YSxiPWEpLHRbMF09ZCplK2Iqcyx0WzFdPWQqdStiKmMsdFsyXT1kKm8rYipmLHRbM109ZCppK2Iq
TSx0fWZ1bmN0aW9uIHYodCxuKXt2YXIgcj1uWzBdLGE9blsxXSxlPW5bMl0sdT1uWzNdLG89cipy
K2EqYStlKmUrdSp1LGk9bz8xL286MDtyZXR1cm4gdFswXT0tcippLHRbMV09LWEqaSx0WzJdPS1l
KmksdFszXT11KmksdH1mdW5jdGlvbiBkKHQsbil7cmV0dXJuIHRbMF09LW5bMF0sdFsxXT0tblsx
XSx0WzJdPS1uWzJdLHRbM109blszXSx0fWZ1bmN0aW9uIGIodCxuKXt2YXIgcj1uWzBdK25bNF0r
bls4XSxhPXZvaWQgMDtpZihyPjApYT1NYXRoLnNxcnQocisxKSx0WzNdPS41KmEsYT0uNS9hLHRb
MF09KG5bNV0tbls3XSkqYSx0WzFdPShuWzZdLW5bMl0pKmEsdFsyXT0oblsxXS1uWzNdKSphO2Vs
c2V7dmFyIGU9MDtuWzRdPm5bMF0mJihlPTEpLG5bOF0+blszKmUrZV0mJihlPTIpO3ZhciB1PShl
KzEpJTMsbz0oZSsyKSUzO2E9TWF0aC5zcXJ0KG5bMyplK2VdLW5bMyp1K3VdLW5bMypvK29dKzEp
LHRbZV09LjUqYSxhPS41L2EsdFszXT0oblszKnUrb10tblszKm8rdV0pKmEsdFt1XT0oblszKnUr
ZV0rblszKmUrdV0pKmEsdFtvXT0oblszKm8rZV0rblszKmUrb10pKmF9cmV0dXJuIHR9ZnVuY3Rp
b24gbSh0LG4scixhKXt2YXIgZT0uNSpNYXRoLlBJLzE4MDtuKj1lLHIqPWUsYSo9ZTt2YXIgdT1N
YXRoLnNpbihuKSxvPU1hdGguY29zKG4pLGk9TWF0aC5zaW4ocikscz1NYXRoLmNvcyhyKSxjPU1h
dGguc2luKGEpLGY9TWF0aC5jb3MoYSk7cmV0dXJuIHRbMF09dSpzKmYtbyppKmMsdFsxXT1vKmkq
Zit1KnMqYyx0WzJdPW8qcypjLXUqaSpmLHRbM109bypzKmYrdSppKmMsdH1mdW5jdGlvbiBwKHQp
e3JldHVybiJxdWF0KCIrdFswXSsiLCAiK3RbMV0rIiwgIit0WzJdKyIsICIrdFszXSsiKSJ9T2Jq
ZWN0LmRlZmluZVByb3BlcnR5KG4sIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLG4uc2V0QXhlcz1u
LnNxbGVycD1uLnJvdGF0aW9uVG89bi5lcXVhbHM9bi5leGFjdEVxdWFscz1uLm5vcm1hbGl6ZT1u
LnNxckxlbj1uLnNxdWFyZWRMZW5ndGg9bi5sZW49bi5sZW5ndGg9bi5sZXJwPW4uZG90PW4uc2Nh
bGU9bi5tdWw9bi5hZGQ9bi5zZXQ9bi5jb3B5PW4uZnJvbVZhbHVlcz1uLmNsb25lPXZvaWQgMCxu
LmNyZWF0ZT1lLG4uaWRlbnRpdHk9dSxuLnNldEF4aXNBbmdsZT1vLG4uZ2V0QXhpc0FuZ2xlPWks
bi5tdWx0aXBseT1zLG4ucm90YXRlWD1jLG4ucm90YXRlWT1mLG4ucm90YXRlWj1NLG4uY2FsY3Vs
YXRlVz1oLG4uc2xlcnA9bCxuLmludmVydD12LG4uY29uanVnYXRlPWQsbi5mcm9tTWF0Mz1iLG4u
ZnJvbUV1bGVyPW0sbi5zdHI9cDt2YXIgUD1yKDApLEU9YShQKSxPPXIoMSkseD1hKE8pLEE9cigy
KSxxPWEoQSkseT1yKDMpLHc9YSh5KSxSPShuLmNsb25lPXcuY2xvbmUsbi5mcm9tVmFsdWVzPXcu
ZnJvbVZhbHVlcyxuLmNvcHk9dy5jb3B5LG4uc2V0PXcuc2V0LG4uYWRkPXcuYWRkLG4ubXVsPXMs
bi5zY2FsZT13LnNjYWxlLG4uZG90PXcuZG90LG4ubGVycD13LmxlcnAsbi5sZW5ndGg9dy5sZW5n
dGgpLEw9KG4ubGVuPVIsbi5zcXVhcmVkTGVuZ3RoPXcuc3F1YXJlZExlbmd0aCksUz0obi5zcXJM
ZW49TCxuLm5vcm1hbGl6ZT13Lm5vcm1hbGl6ZSk7bi5leGFjdEVxdWFscz13LmV4YWN0RXF1YWxz
LG4uZXF1YWxzPXcuZXF1YWxzLG4ucm90YXRpb25Ubz1mdW5jdGlvbigpe3ZhciB0PXEuY3JlYXRl
KCksbj1xLmZyb21WYWx1ZXMoMSwwLDApLHI9cS5mcm9tVmFsdWVzKDAsMSwwKTtyZXR1cm4gZnVu
Y3Rpb24oYSxlLHUpe3ZhciBpPXEuZG90KGUsdSk7cmV0dXJuIGk8LS45OTk5OTk/KHEuY3Jvc3Mo
dCxuLGUpLHEubGVuKHQpPDFlLTYmJnEuY3Jvc3ModCxyLGUpLHEubm9ybWFsaXplKHQsdCksbyhh
LHQsTWF0aC5QSSksYSk6aT4uOTk5OTk5PyhhWzBdPTAsYVsxXT0wLGFbMl09MCxhWzNdPTEsYSk6
KHEuY3Jvc3ModCxlLHUpLGFbMF09dFswXSxhWzFdPXRbMV0sYVsyXT10WzJdLGFbM109MStpLFMo
YSxhKSl9fSgpLG4uc3FsZXJwPWZ1bmN0aW9uKCl7dmFyIHQ9ZSgpLG49ZSgpO3JldHVybiBmdW5j
dGlvbihyLGEsZSx1LG8saSl7cmV0dXJuIGwodCxhLG8saSksbChuLGUsdSxpKSxsKHIsdCxuLDIq
aSooMS1pKSkscn19KCksbi5zZXRBeGVzPWZ1bmN0aW9uKCl7dmFyIHQ9eC5jcmVhdGUoKTtyZXR1
cm4gZnVuY3Rpb24obixyLGEsZSl7cmV0dXJuIHRbMF09YVswXSx0WzNdPWFbMV0sdFs2XT1hWzJd
LHRbMV09ZVswXSx0WzRdPWVbMV0sdFs3XT1lWzJdLHRbMl09LXJbMF0sdFs1XT0tclsxXSx0Wzhd
PS1yWzJdLFMobixiKG4sdCkpfX0oKX0sZnVuY3Rpb24odCxuLHIpeyJ1c2Ugc3RyaWN0IjtmdW5j
dGlvbiBhKCl7dmFyIHQ9bmV3IFYuQVJSQVlfVFlQRSgyKTtyZXR1cm4gdFswXT0wLHRbMV09MCx0
fWZ1bmN0aW9uIGUodCl7dmFyIG49bmV3IFYuQVJSQVlfVFlQRSgyKTtyZXR1cm4gblswXT10WzBd
LG5bMV09dFsxXSxufWZ1bmN0aW9uIHUodCxuKXt2YXIgcj1uZXcgVi5BUlJBWV9UWVBFKDIpO3Jl
dHVybiByWzBdPXQsclsxXT1uLHJ9ZnVuY3Rpb24gbyh0LG4pe3JldHVybiB0WzBdPW5bMF0sdFsx
XT1uWzFdLHR9ZnVuY3Rpb24gaSh0LG4scil7cmV0dXJuIHRbMF09bix0WzFdPXIsdH1mdW5jdGlv
biBzKHQsbixyKXtyZXR1cm4gdFswXT1uWzBdK3JbMF0sdFsxXT1uWzFdK3JbMV0sdH1mdW5jdGlv
biBjKHQsbixyKXtyZXR1cm4gdFswXT1uWzBdLXJbMF0sdFsxXT1uWzFdLXJbMV0sdH1mdW5jdGlv
biBmKHQsbixyKXtyZXR1cm4gdFswXT1uWzBdKnJbMF0sdFsxXT1uWzFdKnJbMV0sdH1mdW5jdGlv
biBNKHQsbixyKXtyZXR1cm4gdFswXT1uWzBdL3JbMF0sdFsxXT1uWzFdL3JbMV0sdH1mdW5jdGlv
biBoKHQsbil7cmV0dXJuIHRbMF09TWF0aC5jZWlsKG5bMF0pLHRbMV09TWF0aC5jZWlsKG5bMV0p
LHR9ZnVuY3Rpb24gbCh0LG4pe3JldHVybiB0WzBdPU1hdGguZmxvb3IoblswXSksdFsxXT1NYXRo
LmZsb29yKG5bMV0pLHR9ZnVuY3Rpb24gdih0LG4scil7cmV0dXJuIHRbMF09TWF0aC5taW4oblsw
XSxyWzBdKSx0WzFdPU1hdGgubWluKG5bMV0sclsxXSksdH1mdW5jdGlvbiBkKHQsbixyKXtyZXR1
cm4gdFswXT1NYXRoLm1heChuWzBdLHJbMF0pLHRbMV09TWF0aC5tYXgoblsxXSxyWzFdKSx0fWZ1
bmN0aW9uIGIodCxuKXtyZXR1cm4gdFswXT1NYXRoLnJvdW5kKG5bMF0pLHRbMV09TWF0aC5yb3Vu
ZChuWzFdKSx0fWZ1bmN0aW9uIG0odCxuLHIpe3JldHVybiB0WzBdPW5bMF0qcix0WzFdPW5bMV0q
cix0fWZ1bmN0aW9uIHAodCxuLHIsYSl7cmV0dXJuIHRbMF09blswXStyWzBdKmEsdFsxXT1uWzFd
K3JbMV0qYSx0fWZ1bmN0aW9uIFAodCxuKXt2YXIgcj1uWzBdLXRbMF0sYT1uWzFdLXRbMV07cmV0
dXJuIE1hdGguc3FydChyKnIrYSphKX1mdW5jdGlvbiBFKHQsbil7dmFyIHI9blswXS10WzBdLGE9
blsxXS10WzFdO3JldHVybiByKnIrYSphfWZ1bmN0aW9uIE8odCl7dmFyIG49dFswXSxyPXRbMV07
cmV0dXJuIE1hdGguc3FydChuKm4rcipyKX1mdW5jdGlvbiB4KHQpe3ZhciBuPXRbMF0scj10WzFd
O3JldHVybiBuKm4rcipyfWZ1bmN0aW9uIEEodCxuKXtyZXR1cm4gdFswXT0tblswXSx0WzFdPS1u
WzFdLHR9ZnVuY3Rpb24gcSh0LG4pe3JldHVybiB0WzBdPTEvblswXSx0WzFdPTEvblsxXSx0fWZ1
bmN0aW9uIHkodCxuKXt2YXIgcj1uWzBdLGE9blsxXSxlPXIqcithKmE7cmV0dXJuIGU+MCYmKGU9
MS9NYXRoLnNxcnQoZSksdFswXT1uWzBdKmUsdFsxXT1uWzFdKmUpLHR9ZnVuY3Rpb24gdyh0LG4p
e3JldHVybiB0WzBdKm5bMF0rdFsxXSpuWzFdfWZ1bmN0aW9uIFIodCxuLHIpe3ZhciBhPW5bMF0q
clsxXS1uWzFdKnJbMF07cmV0dXJuIHRbMF09dFsxXT0wLHRbMl09YSx0fWZ1bmN0aW9uIEwodCxu
LHIsYSl7dmFyIGU9blswXSx1PW5bMV07cmV0dXJuIHRbMF09ZSthKihyWzBdLWUpLHRbMV09dSth
KihyWzFdLXUpLHR9ZnVuY3Rpb24gUyh0LG4pe249bnx8MTt2YXIgcj0yKlYuUkFORE9NKCkqTWF0
aC5QSTtyZXR1cm4gdFswXT1NYXRoLmNvcyhyKSpuLHRbMV09TWF0aC5zaW4ocikqbix0fWZ1bmN0
aW9uIF8odCxuLHIpe3ZhciBhPW5bMF0sZT1uWzFdO3JldHVybiB0WzBdPXJbMF0qYStyWzJdKmUs
dFsxXT1yWzFdKmErclszXSplLHR9ZnVuY3Rpb24gSSh0LG4scil7dmFyIGE9blswXSxlPW5bMV07
cmV0dXJuIHRbMF09clswXSphK3JbMl0qZStyWzRdLHRbMV09clsxXSphK3JbM10qZStyWzVdLHR9
ZnVuY3Rpb24gTih0LG4scil7dmFyIGE9blswXSxlPW5bMV07cmV0dXJuIHRbMF09clswXSphK3Jb
M10qZStyWzZdLHRbMV09clsxXSphK3JbNF0qZStyWzddLHR9ZnVuY3Rpb24gWSh0LG4scil7dmFy
IGE9blswXSxlPW5bMV07cmV0dXJuIHRbMF09clswXSphK3JbNF0qZStyWzEyXSx0WzFdPXJbMV0q
YStyWzVdKmUrclsxM10sdH1mdW5jdGlvbiBnKHQpe3JldHVybiJ2ZWMyKCIrdFswXSsiLCAiK3Rb
MV0rIikifWZ1bmN0aW9uIFQodCxuKXtyZXR1cm4gdFswXT09PW5bMF0mJnRbMV09PT1uWzFdfWZ1
bmN0aW9uIGoodCxuKXt2YXIgcj10WzBdLGE9dFsxXSxlPW5bMF0sdT1uWzFdO3JldHVybiBNYXRo
LmFicyhyLWUpPD1WLkVQU0lMT04qTWF0aC5tYXgoMSxNYXRoLmFicyhyKSxNYXRoLmFicyhlKSkm
Jk1hdGguYWJzKGEtdSk8PVYuRVBTSUxPTipNYXRoLm1heCgxLE1hdGguYWJzKGEpLE1hdGguYWJz
KHUpKX1PYmplY3QuZGVmaW5lUHJvcGVydHkobiwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksbi5m
b3JFYWNoPW4uc3FyTGVuPW4uc3FyRGlzdD1uLmRpc3Q9bi5kaXY9bi5tdWw9bi5zdWI9bi5sZW49
dm9pZCAwLG4uY3JlYXRlPWEsbi5jbG9uZT1lLG4uZnJvbVZhbHVlcz11LG4uY29weT1vLG4uc2V0
PWksbi5hZGQ9cyxuLnN1YnRyYWN0PWMsbi5tdWx0aXBseT1mLG4uZGl2aWRlPU0sbi5jZWlsPWgs
bi5mbG9vcj1sLG4ubWluPXYsbi5tYXg9ZCxuLnJvdW5kPWIsbi5zY2FsZT1tLG4uc2NhbGVBbmRB
ZGQ9cCxuLmRpc3RhbmNlPVAsbi5zcXVhcmVkRGlzdGFuY2U9RSxuLmxlbmd0aD1PLG4uc3F1YXJl
ZExlbmd0aD14LG4ubmVnYXRlPUEsbi5pbnZlcnNlPXEsbi5ub3JtYWxpemU9eSxuLmRvdD13LG4u
Y3Jvc3M9UixuLmxlcnA9TCxuLnJhbmRvbT1TLG4udHJhbnNmb3JtTWF0Mj1fLG4udHJhbnNmb3Jt
TWF0MmQ9SSxuLnRyYW5zZm9ybU1hdDM9TixuLnRyYW5zZm9ybU1hdDQ9WSxuLnN0cj1nLG4uZXhh
Y3RFcXVhbHM9VCxuLmVxdWFscz1qO3ZhciBEPXIoMCksVj1mdW5jdGlvbih0KXtpZih0JiZ0Ll9f
ZXNNb2R1bGUpcmV0dXJuIHQ7dmFyIG49e307aWYobnVsbCE9dClmb3IodmFyIHIgaW4gdClPYmpl
Y3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwodCxyKSYmKG5bcl09dFtyXSk7cmV0dXJu
IG4uZGVmYXVsdD10LG59KEQpO24ubGVuPU8sbi5zdWI9YyxuLm11bD1mLG4uZGl2PU0sbi5kaXN0
PVAsbi5zcXJEaXN0PUUsbi5zcXJMZW49eCxuLmZvckVhY2g9ZnVuY3Rpb24oKXt2YXIgdD1hKCk7
cmV0dXJuIGZ1bmN0aW9uKG4scixhLGUsdSxvKXt2YXIgaT12b2lkIDAscz12b2lkIDA7Zm9yKHJ8
fChyPTIpLGF8fChhPTApLHM9ZT9NYXRoLm1pbihlKnIrYSxuLmxlbmd0aCk6bi5sZW5ndGgsaT1h
O2k8cztpKz1yKXRbMF09bltpXSx0WzFdPW5baSsxXSx1KHQsdCxvKSxuW2ldPXRbMF0sbltpKzFd
PXRbMV07cmV0dXJuIG59fSgpfV0pfSk7ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZm
IC0tZ2l0IGEvV2Vic2l0ZXMvd2Via2l0Lm9yZy9kZW1vcy93ZWJtZXRhbC9oZWxsby5odG1sIGIv
V2Vic2l0ZXMvd2Via2l0Lm9yZy9kZW1vcy93ZWJtZXRhbC9oZWxsby5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjNiZDFiOTZhMmVhMjkzMGM1NWY0N2YyYTRkNDNiNTBlZGQyNzBhZmUKLS0tIC9kZXYvbnVsbAor
KysgYi9XZWJzaXRlcy93ZWJraXQub3JnL2RlbW9zL3dlYm1ldGFsL2hlbGxvLmh0bWwKQEAgLTAs
MCArMSw1OCBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0i
dmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPTYwMCI+Cis8bWV0YSBodHRwLWVxdWl2PSJDb250ZW50
LXR5cGUiIGNvbnRlbnQ9InRleHQvaHRtbDsgY2hhcnNldD11dGYtOCI+Cis8dGl0bGU+V2ViTWV0
YWwgSGVsbG8gV29ybGQgZGVtbzwvdGl0bGU+Cis8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9
InNoYXJlZC5jc3MiPgorPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSJodHRwczovL3dlYmtp
dC5vcmcvd3AtY29udGVudC90aGVtZXMvd2Via2l0L3N0eWxlLmNzcyI+Cis8bGluayByZWw9InN0
eWxlc2hlZXQiIGhyZWY9Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS93c3MvZm9udHM/ZmFtaWx5PU15
cmlhZCtTZXQrUHJvJmFtcDt2PTEiPgorPHNjcmlwdCBzcmM9InNoYXJlZC5qcyI+PC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iaGVsbG8uanMiPjwvc2NyaXB0PgorPHNjcmlwdCBpZD0ibGlicmFyeSIg
dHlwZT0ieC1zaGFkZXIveC1tZXRhbCI+CisjaW5jbHVkZSA8bWV0YWxfc3RkbGliPgorCit1c2lu
ZyBuYW1lc3BhY2UgbWV0YWw7CisKK3N0cnVjdCBWZXJ0ZXgKK3sKKyAgICBmbG9hdDQgcG9zaXRp
b24gW1twb3NpdGlvbl1dOworfTsKKwordmVydGV4IFZlcnRleCB2ZXJ0ZXhfbWFpbih1aW50IHZp
ZCBbW3ZlcnRleF9pZF1dKQoreworICAgIFZlcnRleCB2OworICAgIHN3aXRjaCAodmlkKSB7Cisg
ICAgY2FzZSAwOgorICAgICAgICB2LnBvc2l0aW9uID0gZmxvYXQ0KC0uNzUsIC0uNzUsIDAsIDEp
OworICAgICAgICBicmVhazsKKyAgICBjYXNlIDE6CisgICAgICAgIHYucG9zaXRpb24gPSBmbG9h
dDQoLjc1LCAtLjc1LCAwLCAxKTsKKyAgICAgICAgYnJlYWs7CisgICAgY2FzZSAyOgorICAgICAg
ICB2LnBvc2l0aW9uID0gZmxvYXQ0KDAsIC43NSwgMCwgMSk7CisgICAgICAgIGJyZWFrOworICAg
IGRlZmF1bHQ6CisgICAgICAgIHYucG9zaXRpb24gPSBmbG9hdDQoMCwgMCwgMCwgMSk7CisgICAg
fQorICAgIHJldHVybiB2OworfQorCitmcmFnbWVudCBmbG9hdDQgZnJhZ21lbnRfbWFpbihWZXJ0
ZXggdmVydGV4SW4gW1tzdGFnZV9pbl1dKQoreworICAgIHJldHVybiBmbG9hdDQoMS4wLCAwLjAs
IDAuMCwgMS4wKTsKK30KKzwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8Y2FudmFzPjwvY2Fu
dmFzPgorPGRpdiBpZD0iZXJyb3IiPgorICAgIDxoMj5XZWJNZXRhbCBub3QgYXZhaWxhYmxlPC9o
Mj4KKyAgICA8cD4KKyAgICAgICAgTWFrZSBzdXJlIHlvdSBhcmUgb24gYSBzeXN0ZW0gd2l0aCBX
ZWJNZXRhbCBlbmFibGVkLiBJbgorICAgICAgICBTYWZhcmksIGZpcnN0IG1ha2Ugc3VyZSB0aGUg
RGV2ZWxvcGVyIE1lbnUgaXMgdmlzaWJsZSAoUHJlZmVyZW5jZXMg4oaSCisgICAgICAgIEFkdmFu
Y2VkKSwgdGhlbiBEZXZlbG9wIOKGkiBFeHBlcmltZW50YWwgRmVhdHVyZXMg4oaSIEVuYWJsZSBX
ZWJNZXRhbC4KKyAgICA8L3A+Cis8L2Rpdj4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBh
L1dlYnNpdGVzL3dlYmtpdC5vcmcvZGVtb3Mvd2VibWV0YWwvaGVsbG8uanBnIGIvV2Vic2l0ZXMv
d2Via2l0Lm9yZy9kZW1vcy93ZWJtZXRhbC9oZWxsby5qcGcKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODcxMDAzOWRh
N2YyOGY2MzY5OTJkM2JiZWFiOWY3NGY1MTA1MmYzNgpHSVQgYmluYXJ5IHBhdGNoCmxpdGVyYWwg
Mzg2MzMKemNtZUZaMXoyMjV3ZyRRemNoXjkwY01UMiFmKEhvaEchQmlzVE9mZjFjTT4yV2M8PTt3
bXRZfXlhRUZpdDRYJHNLCnpuUkRqOGBgdFRwPUZCPHN6VkY/c1g3XnJReVE7Y1kpdjgpK3trNTgj
Jm9AZnxqLXNyQkVDN0szZklScERaa0I8RQp6R1R0eU4wOG15MlNPNVMoMHBLOGIwNmEpUnohd2s+
MH15YEYwS2ZwPTBSWmp8KyVHeHMmKT5sUmpsTysmdnk0aEAKejxMPlMoJSpwQksjJGpzVldNO2A+
PyZRR2ZaUipVKSZCNFY5aClRQG5vMHs4TXg+SzIxVEVpVTBYbSVUMFh7Y1pwCnpWbCtEWiUzUjlN
KHZ+KGJkMCRzYzRQTzthYjYtMWlBcXlHX2FWay03VlEmWCMyVE9OVERzS21TTT5rPF9GYEEhXgp6
M3hvNytIWVd8JCZtISkyVmw9d1NrRW89YlRySHtpSXJ1b1pYdSNVODdGTlJRNGBseVo3eUtrZl5W
ZCMjZDNrWW8KekBwM3IxVDYxeT4yPz1wPkBvQDYrdSFBTW8tRnpJfk99KkoyLURyUGw7ZW4tX3ho
dUBzOXA+YW5iPSN0O25VamFSCno3ITNfNF96aiRZe2ZiLWkqUz9CVntVYGxyMXBZR3V7fjNZKmpL
Rl9KOzZFZXFle1RmLVg2O3h5ZittZ15YditYTQp6K2tvSUI4eiotc0h5YkJzRHFhcFFLdX02UzhS
NkUqMEBGe0x7d0lrdWVtODE1N058aGozUHllTHtadU9PV2AqUmwKemcwd1hCay1EbV4hYjYjI0hY
TytaUSlnIztJMi1fUWFDQ1E3bXlART4pemhhIVVJdEEhSmtYUzUxMnwzMS1KQiZLCnpKJGlXQzx9
ZGYzP2Y/M0FKYjcjQTBsKm1oWkNrJSl8MjZ7RzB5SysyVGsjUUMrfDB0dyt5U0prei0hUmwrMGA4
WQp6O0RmPEBTfSU5IVRSSW57MzAlUHJmXl4rMlpUJU58QFJtMEYzJSZIU2pIYkZZU21xRzRNbG5v
SFU5QUJDMUl6fWYKekprNzFhYn0qO18wMTQwMDBfRiQrY3pociZaZjt8MDBSU1o2R2wwIyghUmVO
TTFKWD1wfERfJTR8M2FJWm4qR3xRCnpzajJtXl5qfi1aWWwyXz0wT3Nhd1p8ZHsmIXlvelBWREFC
cipVdi0pekdLKzklQnpFU0kmalMxK0JxcnhOO3tnVgp6c1EhYDwxM0NKSXcoKmVIYGhfLWtsTHA3
fkZMZjxVQTFNN29kKVI0N3t6OTkmZzRBRWp6fXl1eWYxekVTKVBIVD8KeihPJV9OSzdSSlcjIX0l
fCtSe3glPENsQ1puNUBEdHc2QmUoJk0ma2xPazNwXytSYVltKkZOfiNOZEtEZT5ZQEg/CnpwUkhW
RmY5MjdeNFhwWHM/PT82NStqcUkhWG85WkVVOzFPfHJ1JUR1RUchPyR7Rj84bV49c2RwLUtCblEp
N2shfgp6dHBEVzIocThWQGReYjt4VStjUU5ZV3x2VVlwUXJGeUZiZjJ5RmRETWUxTTA1NERiTTsw
O0I7TDswUmEoNHVDMjYKej0+aG8zNFI4a1IhQjBOIW1mcDhBMlNfX1BgPyRpYVpRUTlPITQrZ2xy
UW00SiFBOFp5I1ZyNTt4OWpuPzM7X0k0Cnp8R0NafU04a2l9YXs9b00zeFF0TXRIMCUkdkkwTkA4
QE1EJnsrMzV+NCo8fjkwaWJjISt7NHhMRllPYFItVmd5YQp6MDI/M3hOQzY2ZjdHTUl7MFVxRVVB
T2hTNmQjP3puMC1Bc3hVPHtaOEhlbWw8MFdaS0djbnBMQWt3NkBmNDVSXj4KektvME8wQzxROGpU
QSZHTjJZUEAzOzFlKGIlbVBjbUlgOXFIMUNEX1UybjIhKiFHeiNMTkZrSUVkSSYzbzJPPGEmCnpo
c1ohNExld0Y4NUVGPHMjMVl+RkByUSYkQXxWTm9HKU5ZdDViXz5VNHszKz1LfUkwY2tZJmdnPE4k
SUcyTT5uPAp6TSp3I2hqc2NEblA3cUVLUDY8dkUmSXJ5TCZJUWdGP2c/QkIrellzRHhEdlA7eE9U
ViF4Q3l1PXhObVNyQEJsbkkKekpQfHhLSlVoR355Zm5Oanlnc31ZeWVvVmxkPDErN2ReVVU7ZDtA
JGh7MjJUYXtDRF4+MVNBQX0xUyRrfTFRNyZ6CnoxVDYkfTFRJiFyZ2VaaEdndHJKYTJ3ZXpjMitJ
aDIyLWs/MWh+JFdAaHtBe3BoYE5aQGgrYz9jaCQpRXFofURTUQp6aCFjcUdoe3M0c05KTDFDTkNI
VW1OUDAtTk5QYjlCTlV4Qn1rPWw/KGtYRGg3a2RjdXxreSgrJmtYNGFRaz0+RVEKemtZNkh+QWgj
bHFCQ2pLI3FNKU50cVZTLXxxVWZWSXFKKkhOcGNKOUJwcDJxeXFGa1dqcHdnb1hxcEc0PnAhJVQz
CnpxVU5HRHBibiQxcWg2cmxxQXtZMHA9cU1vcUNHfT9mbVZqcmpXJm4mMTA1Wm0yMy1oVTRJUEZh
alEjQHM5cl8zSwp6VyVNJSlKUFp+TFgkKFVRNH4hVSQwKnAze1heYkQzbjN4UWhfYzhTYC03I1lA
M28ken03Y2Z0O0BVYnxzNnRGQz8KemcwUnhEWU9xR0pjQ2I7Zz45SGxUamo/XlBRP00oc2hxMXJv
cHlEdiNOYUw4fDFtZExRKVo8THk5TzJeUWFedEd2CnpJXmFnKDdVQX5jZSEpWT1XNUFRYXYlcV9U
bXhJQGR3fjd5c1BtMz4mWjtsXnxwTnJwKHpmT1Fleih9QSNVYHI1NQp6UCloS1RWMj09d2tkSUtD
KDM+IXd1JGdkKTIlZDw2TlApPG5EMysqI1hwLW9oXyU1Knx1X2ZfeTt4Z2g8O3U4YHcKemxLVWk8
Qm9RUiNCb2lkKHEqU0NicTt7bjdxX3cyO2NNJEhkKyk9eVpiPzViKz9tT1NmMipeYXAlKmk2aUQj
JktZCno7bUJGWSl5ZShIYkkxcURrTTJfM21BbVZGX3ZQS3J5V2M1QERERzMoUVkyQmRQOzYxK1E7
Smk8RDNkNSNEWmYkPwp6UWJ8KFRRQHg8LXFTflYtcjxTTW9wdzZRSE5QUilXTlRXcClMUV9zTlBt
NHc/Tk5ZdSNNQjcyVE1ATERnT3leSG0Kek9nQlQxTi1zIW5MIVYwRE9NayteJGVfYXomUVF6bmde
YDMmZnpnKy1tfm9CP2xTeldmZyg7aDlvRWVFKGtsQnY7Cno3NHMoK0kyTHt1ODx1cElWT0JXU2Qj
b19sU0Y5cyFoLV5ZXmolP1glUXx1VipsSSkpQiNxNyUqTD52en1MTzV6VQp6Yn54IWNeKlE0P2Rw
V1BVX19eJTRhPUIpP0B3Z1NhTCUxOGI0fHJJMyV6NHN6Iyg2UCRXcUVebT52O0cxU290aloKelVo
e3FDJExDayg1OWphVHpxJSlJJi1Hcn15KTZNYzBUWTE/ZmhqPSghQUY4b2YqKnRzZ2B8WG5ncW5v
VGd6cEt2CnozcyhzNWltOzI9aTQ9KV41b0h2JDZ3TVZ+Nns4VXw3MFZKXjV+bVYzNXF+NFRCdGIx
PER2PlIqYS1hNlQjcl4jSQp6bzA4MHV3dnJ7MUo1cFJ5dTJSKWZDKF4+dzBuJSpgOzIrMzZoPE5a
KDIyVnl5Q1FXOFJtUFhjRXdwZXlnaiRoN0MKenUxeXxNVVAoUyllb0VvNGcxSkpXIWsoZ2xWdGBf
bzV7OG43UWt2NHJMemFpRzQ7eiU+bG9nY3xtRkhDR1JVQjFuCnpSUkw4NilrTXwjTX5zaEw5eU97
VnNYYkNsU0tDbk1SYCp4JCl4ZygpWTd9VzRZZjVSeFlSK21nWD9iWE1YayUqfAp6WThQc3M9c2VJ
IyZ7QCp1KUQ2JWIoN1U0dCkycWAqKjROaDAqRlEzbEYtU0k4SHs+QEFHbl9QSEgxYW07R3JuVk4K
elpgPSZVaE1HYnZPJVAzVk9vfmh7Tzt0Xl5PXj9oSiVyZWFPJSUjbSEmQShhUHdAOStzdkp8c1N1
LXZvfnZyNGV+CnpWbDhIIVh1Vn00VlV1Rj45VlFKK2dZRGJPK2gqRkgqczBuVCp4bEljKnExdz9J
Rzh4cEpLe09vSWQoWndJQyhwYgp6SUl9djNJV01eZ3lDbDJweGhsRWx5RnVLSC0wSXYzSypNTHln
VVJFbSRGaXJtWFMoTzltJHB9Pkg/RnMlX247NHAKeiZ2VHptVXM+TmdLTGtIPnpZYyREfEh1Qnow
Zz9lKGZzakQ2ej5YbD1wZUk0PSFFKFdHQUVRMENkcHMxdjZfT0JnCno3XilONkBafDIzOzN1bjM8
KD9MWVZUSE1kT0ApaHVYRmZ4QzI3QzdMSXEmbkEmI3htYUJLamtfQjJ5d1NxcyppRgp6cXEoREJN
QmxfJSNlOXN0N3lDTDZEYjZ1JkdGfkc3WjMxcUJaXkNNI2EkLSNxUlo+TEtWS093aUZOSDU5R1pp
aD4KekJYI007IXh3Y2c+MFpYWXlpQnU2bkBFPlJGVjcmKWMlRV9jJUhxfU4+LSg/RUdWZithV31k
JSt6NEBGYW1zT0xeCnprZSFsKWw7ZkdSaypsNUNuPHRvOG4xM2ZmR1hKVzt2MCYrfmByRUVUZnhe
TmZAfWsmY3hNR2p1dHJFa01QbyluXgp6PiZuPjZ2ZFczZEJpe2s8Smw9aE1afU5WIUxhQ3lvUW4w
ZURpb1BuTjhveFRDMjIkZnd2c1lfVnlIdXhGSCZVLXkKei1fYW5fUH5GSlVTa09lPmwtXjkoOU5V
N3tAfSVYYSl3bEppJkFJSit5TEowJjJlZjBoUUAzLXhPUmVpO3deSHxxCno5QChER1VkaTZwNGBM
c2hgaEAlSGB2dj1KMmtzNWo0RHRfRjVBaEZHZjR1anhXPntkaj92djFgaDdyK2BtUWpoKAp6X09T
PEpKPnZARjB+MEN9QmE+UV9wUWo5YG1PZmoye3hXU3B5KzdrUWIxQHF7aGQzODhrMjlhTEspI1RA
JGg9cy0KemJaQEQ3YE44dHdpcEkrOXNgPWAtSE1oMFBeKFB5YzghNE5Wbn11SV56QkZ5Z1poaVZ7
QE9BeTBeUzZ1ZFZjV1JkCno4OVBpblJsRTBoMmxzVU0qN3NmYVp3e2g8a3AzdCo8VTh5KmRVVWpL
Pn5NVD41XitqO2B1MHJsdG9LfiFlRGxLVgp6NjhaQVE3NHVjWXdiSiQ2amw8MjJ2I0cxO1BnfiM/
dTckRyNMRU03XjBLbjcoMFFecT9mUUkhS2QtLVB4KDQyO1YKeldrNmFSIVU2ZFBfWF4kXmZmKjRR
YVVXPzVjP3g5X2JzNm1oMH0ren1POXxUQD1NQy1ASzAxTG9wKVhONkBnXnpECno5YUZNWUA/aT1A
TmA1TCE+S0t7fCtFS2I0MX5eNzZDVHdQT2FPWFE/LURYPjZBTEhvY3RtZXcpal5oZDd3ZEs/MQp6
emtpUUswQUp1emE5d0NueEpvMkxHKnJ4MVR3T3heS0FSK142cD1LfTE1X0NWbkpkezd4anAkVzNR
TE5nbHxEWX4KelImRytNUjRzaX1xKmtiMnEqMUNfdUp2QktRbTBiNE8wUD00KHhBZmR5LX5Td0lr
ZHYwJmF+WlooMHRsciF9OEdUCnojcyhjbVdKX2JtWVJ+VD07aSV4RzwhdEhWPHI/amxAODBWMSo+
bTM7KXJaUGd6KSF7QkppdDNKQX1CVFomRXU/KQp6JStNRTRWeE5ZRWBHdmJZdndFJXtwJU4oPiNV
SVRTTG1yRDRoYVFpYmZTIW54TTNQTE0ha1d0V0xoUGtYbnNUflUKemhRVFpJKkxJb2laLVRTcHZh
QG9rYk5sbGFeQUYjbTZwfE5sN0U2X0FtMEZqMW1wXi0jQDs8d3d4VSNhVXB9TXVFCnp5U0FAeHNE
N2tqcVZhUm5aMVpCdlRJO3ZBcVluNV4hWS16NihWaj1XPHshTkpCS2s4MSRfTHdyTW17YkxaK3wp
KAp6SVVsX295QkkmNklHV3NfKzZKWDxiIUs3cV5XNW5DKDg3bnM/eG1qUHsqfT95YEwoVX1xZk4q
Y2o0aEl7d0JJPHMKejN2RW05REN7Y2pKPW9fdEFVLSh3KFI9dnYkbklHNTFuWHErd0VRZ2lUPHdE
VFYqaiVKRCpvRSFoVUAwJHwyNip7CnpoKlhGXyExQDEqdlZ5dmdqKXA7eERUOEgkOWdFWH1gdmFl
eTA4MDNoWHEqSS1SUWIrUnZOck4jM1JYJWVSVE9tPAp6JV9RdzFKdklZNUJMZnBQR1lKYmklUEgj
JCtlaHtXanZVUz9FPkNVfjl0Qj01SzRRS3J7PFZBazBfQjI5TGNZU3IKekIydUNaVmtselkjNzg5
Uj8mbkN4T05CXiNKK1BOQ2xodXx9a3s0SXRSLXshVGUyRHo7UlFhcFFvYSlHPDR7OUNpCnpFZ0Zy
UWJ6MFRoP3t0Y0ZeWXlheSgrclhmcW05Q2lMIWR6Pkw4YypRNSQxXiY4SX1jQkAydS09K0YmMVNo
d1VjcAp6PU4jND96ZE4wfUFoe0J8dkFJaW09ejJQT2c/Z3ZAbD0heSNqcnkrejkwa0R6cWRtcTch
M2FlUHk/JTF8YlNyRT0KemVCQGQ4XlNYJVEkayRQRShJR0tqdT99KDhAengycGlMT2IkJClQRWNz
ZmpQclV1TEhqcm9ZUm1lJTE4NEJYaSkqCnpXWSR7dFE3JSMqTmpeKH49diRSU1hwd1ZxYTdrUzBv
M2lycT02Qyg/Q25ePnp6ZnxwMnBWciplQT1QNng1SCNMdAp6cUgxUG5WUWJ9VzZLaHhPKENmN0Mz
aEdZbURkPXRaRngwb3llPXZ3Sk1EJnFpbkUjWDEkaXE+TUZgYVMhM0J5VV8KekRkPWFEWF9GYiNT
PF5Zd2REOHtjTWVgK19XIzwrRClyaHNVXzJQfWomQX43OFRpYWhSemhpOVEqPHNrXyp5RyUxCnox
U1IwKyRNUndPKFZPR0k2VD8mQ0dtXjk4XlJiSX1tKGY/WSpSblVYfDg0Jk5feDFrfkFCe2tpJjwk
TXd5V3NqYQp6Q3JjK0VyQCo4WHJMdjw9ckQ+c0VwfVNfbFd1I19lVlA8QXdXVGpAaSE7WnMmJF9h
NCg7TShOPSU9M1lfaEEqRSMKemBDaDFpaT1kSF5sQ1hkWHR0Z2kwc28xTGNDeUJRRW02QzZ6LWJr
bEVOUzI5XzRWTWQrX2Z+TEx2e297SHNIdj09CnpCQ2RNeDV2TGxuSSlldENDWEUpZ0hsK0BeRX55
QG9LQXIpRkEraXl+PSpzdkVkU1leRmRTTVB7Zm50ZW1NUHlCRwp6TGsobEZXd0dQNT1XKmI3Nm1w
VnFtVUJeYWd9T1ByMlliWU9XX2k4JFp1MSVUbyVqM1plO05vRWdjZ2tQNyZRYX0KellTRmJQPDQt
JW4lRU1uaGkrSnU0VkgmOSVCXlhUYGdCXjFmeUIpVUBLYlA9MWFWcUleQF5zNFEpWHkpYlVRVldz
CnpyO2xaZnljJkt6bD08PF5OWS1UYkpnRGpSXjNEcW8tZU1MSzdFdSY0bHlIPnRsP2ooaXlwdyth
cGhCa2RMNnViWAp6e1RpYGE7V35rTy1VaU1fKStVQiNuaWgmeXZOcDFJaVZuST9fQVleTHNVR0VD
b2V5U3hfV2htJUw0KGhSO3k9Q14KemUqR3pIQnp5R0RTaktxak1FcXByKVJXSHYoX1MtOXZvPj1r
XkxoJiFpO3RHbm1VVUxsUiRiT1kpe3s1aFpaPmB5CnorRkpVMEBFdXtCVjI1cyhYSFJWWiFHWWAj
KitjMGdpRFF3SWQjQnVJdG1oMERSRnxZel99Nz4+TlZvSTw3dUA3bAp6Q20/fTdXaUZeRXc4OD00
VkxTbDU3NkglciZfR0I2M2ppS3IwKVZDdjA0RWctITEzfHxhOWxhUj5KSkViPGNBOTIKejAzLWw0
enpQVX17Oz9WVzEpUDgmKDVLNz5zKTBVVzl7MiU0Z0hTXytBKHt7O05DY3orKGdSdENMeE4rMWRr
RmVeCnpGRl5uOUozSn04SmlJU19JczZ2e0k/eitnTWZpZnEwczNNY05aM2R3TlJgTWEkUkB+KkM/
cUp9Q15NKU1zMEU7KAp6Nm98SHM0bi1mcWN6e3VoJCU2U0JpeDRYczh3TDkqNGtBdUNFKFVIUS1k
KCZ4ZDskRGswdiY9KUxMVllAcUJxMD4KeiNHZ3ApTnpxNylAMksyNEIrRFJ8Qm1aJnQ0VFVuckli
e0tyN0J3UHU0VUhgPUhTRyp0R1FCempLRW5pSzhqfWUjCnpCbDkqKEM5NG1jMVVuTUBGaEBHNDRW
Tkd7SWA8K140UjBLdUpeI2FkSk9VSmdfKEU5MUkzbVFOKU1BfEM1KXZCcwp6WjYlKmJXbDZVYFNk
flNWVzA2LTxmR0l2emRoQFZSYExvSyZCVF9YbmJ4Vnl7JXxAK25wZShFRWgzSG9xdFEhIy0KeiVS
Oz9PaWNPY3lOaTglaTxFPSgpQEx7XlBafHVIMWgmYVlMWk13Kn43UHc9MmN6TGRRWXg/eTFpVFQk
QUAmdnRtCnolcEZxa2chayREYVEwe1U1ZnFVeHFWWiRtPDhiNFg2N004c3I/OTZzekVuPEklP05y
O29CMWowWF52emJlMTZ+Qwp6Z2QlN09SfmRaeSU9QGEhXy1kRDB3Uil+Yl5ybkBUPmI5XkItN2RC
c3haY15tbnR8alkmdGQlJHNXR2t6cllXOWoKenQ9U2p6N2ZZVGltK1JxUWhgKkw+JWtIaW5nZGNJ
OSUkPih2SkB+blF7NClRPEtqOzQqSVJCNDhndXd2XzBBaGVRCnpLcVpKRiVtUkJMVm42e0FmSU5j
T0xCYiQ4QVFHP3kyWjV1N2xaQ1RgT01xKkgra25UMW14QXx6Rk0/a35waGhyNwp6JFYyIyEkY0dx
JklEflc7JHFBX29uSDw+QGM/fFRXbFRnbDNPO0cjTTFrbSEpTnp0UCo7NHlxTF9BejBZJVVBfGoK
elFgcCtyUSNifVZFNFgmSkN3TmNzaVNQPnYjMGthLVZUM25Dc2w/cEdMKlZSVmt5aE4lQzQoYT9C
UjlOQGRBRjZxCnptNkQkRkdnU24mODEoX29UVXR9UHlMN1lrPT91bjxiZDJBYXMrb2dYOTxtYSV1
Q2tTfWAqNnJ8NV4lMF8pcDV1MAp6U259VElCaj54fHBURX0kPmEjNE5HfnNsU1l8JTJZV15nfi14
UEshPkNOMkVIUTBCMzBxMT1mNG5JZVVmIzZ6ZloKemZYWFk/bVBhZTxzMlYoKSMjKyhaRWptQitu
RHh5SihoYkxxKFYmdGgtbHAlKHpGOUM/VDNaIWJaXlFVKDFNVGA5CnpORkQ4KitGVkZvSj44fX1M
X0tyOHYzJngzY2w9RVFKX280PDR+MEFvOWVWbUdaMWtEPl5Ofm9Fc1F3dUYqeHE9Qgp6Z3BXeUQk
cVQ3PUZWNTRWR05AbFFYNm43VSZNd1kxJkw9SnlGSEExaEZRcVF+eztzfHZxUlAwMnVNVj8qdiQz
QH4KenNueFFidU1fQVI+ZEUtdigwX2xCY3haMlVhSE0hRlgyTnNJZGZJeHtjZk1mcCtsdTVgXzlv
aHYkRzd6entrX3AyCnpzejt3cndhKnU/SyNMUkhIaCE3Xnw5JDswezlPTXVLaTl3RyYtTEY4dTc1
OzBNaUI5RmhEKEtPaDVISShJeF9ISAp6QFd0PmUyekw/bUw1eVkma3Mzcn0tWFVIaERJJXBLP0lP
ent6WEF+ekV0RzBoVnBNPEJSV3hPXjI2UUkkN1pAbUAKejFib01ZVnZiYHkjT2xHOCFmd1pyIXMp
PyVoJnpGMmlub2cmTlB0RH5oTERHX2hzY29Wa1R7bHZqYnhEMkBlY2wtCnpNbHdyc0pvMmA/Jko8
Sj5wQ30od0BsYjcwcl8qVEFWJGx4Sk1iYXhYOzQofXpXLX5jMzMkWS13akloMzlnUnUqNgp6QWFo
Sn1tVF43aEhzJXJMQ0ZNUW1UajF9I1MxbkwxXypTUyl4S1UoS2JYbnxOZzZLWktxXj93O2Jpc28k
UyRIe0sKemQyQHcwI1JqRG5XbUZZelJzQmNkWVBJVEhuaU5fKCs2ZytKXmw8Yncze25nfjh7ZEgl
bX1IblBuQTJMPVQyQCZACnpZI3phflpCT2h+OWczYU1vRT07eStAI3pxSlE9Oy1fPmxYaWA7IU1g
MmVBWktoZShIeEtlWStGZD0/aSQ5ci1SPQp6RVQlNmBKQU5iNEl+Z00tX2w1WSYqPnR+RzZ0QkQ5
SUF2NGpPeShzUT1vaXUjOWhIMTIlWTVma3A7SU1MTHNrYkAKenxHamFseHhLWlpKKipTaiZEeyg2
QFR2ZEpwekJBdVBuMDhQVzBNbSNRKSR6V1hDM0Z3N05OYDV0M0s8QW8wVklpCnp6WExuMGQtP31h
aGFKWmtYOTU/VlNNfDVeP2BGbHpiRWBjNzIhPDMwS1E3JGRgflUrKGtQYHNsRCpvbz9CS3pqJQp6
RGhHNW48Xlo3MHt4NFlrWkRBeEYwN3pnVSFid0lOQ352I1hfPHlDRkhVSmp8e3lGJTkmO1czXzVP
YGUzTyYzNTMKemVnYDU1SzcjMyYoaHhYITFWa2ljNmpVXkh1c301cTdeP3lnNH5HRGNoPEpOfDB0
bz0wMHw+Wj9jK31qSU5jZGB8CnokVFRobEpkZmtFUC12eXp3LWMoNT85dVU+eHJVJms1ZlBKKy1s
MW47V01YRkY8RyZ7JEM/cVdYS3RAKGhVT2BicQp6USVoUzFnazgtb0VVbTA8Vjc2fVY5LWR5X0tF
OXoob2AhYCNkbWZSSG4zU0I3YHI+NjtjMX5feWUhPChxcUtlOUAKej5ZQ2NSYGk3M3F1SWBAUjR9
SlprVzgpSyhRPWd9Mm1SREJTKTtCaTRZPD1CN187R2wyZH4ka3JlIztqRylUT19xCnp6aXteN19g
KEpHZjxyKW5NP2sqaTNqKmZfVWh1ZEdofTdJamMjPishcllgdDJKZGFUYnF+ZiNReDEtWVhzX3pr
Kwp6eHNJUl8oZVcrUUA4N2NhbGU2RShTamd8PD57ckpBI0A4JlUyO2hEdWNzT3ZEO05paVVMSTR4
IVc4TmxFclQ8SlEKemVAJHBWNjl7I3Bxa3x+c1UoKmZQMm4xe2N0YyhReVZXSnxWe19eT3otKjR0
WTE0WmEmMkVZSjRVTn5ITVR0RVVpCnppZVNvYSZCST5qJThwPEh7KHBTSS0rY1BOIXxLVFk5YWN5
R0AzMT1ke3wmMXhSe09ReGVwZUVgVClsYWkkTkZwKQp6KHRPNGkmdVVmTCpzXi16UGI+KGRsMSln
NiZLfD9IIzhvIWNqPFlTYlJ0RTgpelprWDJMfnY5OUVDczE+PDl1PGAKeiZpb0BJRD11ZT1wU0xn
NWA9fSpuV35TfWJDcW42dFpFdHxgKTV4ViVkfW5SdHF8S0tUOVF3TkZ7YDxTZ2VzNUxKCnpFVmst
MkR7SCR9X29aTloqJTdRP3V8TDI/RnVuUEFVRCE5e3xNdX1ON2Q/SHNpbkpGVnVKMCRISFNSZHVT
Qj0yeAp6QVpEemI4fS1FYSlQKCNrUmpBU0JuNnZ7JURsczBMK0puNkx4dTtyTXEtPFMjMEN8R2xH
VzcwZ1hfTlUxYkc0O3gKeiUpRkxxUDR3fU95YXRgKWpCcTg5OElNYU5ESFlufmE1bzN7YiFZIThW
WjNWSis5LXp4czRiS3xIUW5ndG1FRUVFCno5e2NJajlgMEB7elRNUU5HaDN8JjcyZjA8eilQbH1S
WVo5fXd3eyptYCNSWnZePGpEMjRNNCZkJHJ4Sng+aSU8bQp6Sk15Uk1sNGhnNTg2bXl3JjliOHx0
JjlOVmhuOE10UXtDN3U2KHxRQmVsVF5MT2ttc2wxMUpaZkE7UCMzKlY7P2gKel5yaTd1Tms3blpV
QC1kMjV4Pz5ZcFdOWU5pQyMrN0ohNHd1Sy1NcjkmIzNpWF4+bSRNNUEjNVV2U3ZkfDJTYS1MCnpA
aGpyJmBjfkFfd0JoYXNAO2VpMFhNdEFReD1QNDRkRDNCMGF2TUFsN1JrMWN0aHdib2dBX2I1OThi
NmZlY1lzQQp6ZD1+e3A1fVZSdWVjYVJjJSVSTUtUTVpzeGBYNk4mPzxYMGhqYyFlc2o9XkApQzFu
Vjc2eEk8NSliOVR+RjNPdlUKemYzcjtXTz9mbUBWcj54JVB2K194JSlHVnctMXM3ZVQxKFRuNShp
MTF7TlIyYyRxTVVPbVpEYSVmLUpYayY5UT4qCno/MUI5RGZheyNMWD1Hay0rbjVLZFIrMUA3eDNQ
THNucCVYQmZkZ0diPHAqKjgpOSVBJkF5SVpTN3g2cSZ6aWBDbAp6b1o5KGRCcmZiVXQpenAlTjBR
Sk54Q2VQS3lFfjtEXitpVXVDKSo4dl80O3lhYXJJd3s+azxmTTMxdzlYQWJRbzgKeismen5YSXVi
K0goSjY4SWxBYU4+OCVJdDx2bGctRV55bEs8QjJWXmFMIUhrTVNycj92KV91eHJ3WTZLWDhXRUNj
Cno/ZmwqPW1zdkNQR2lBNWp6cDZXeTJ5TmpHS3NQaShgbSE7Z29zNUkwZCF8RHxqclI3IylpTzJO
PDRkfUM9JUdqMwp6ZmxnQzFuZHFWPkV6RW1nQzdyKlkkRHxjdmoraVY4M2dQekVyT1gtV1l8dzNi
bitLeHw5fk9pZG5oejZxbykrNGMKenZ2X1NjPHMze1oxcWUwSjF0bWVOKEElbnxzempDZ25KKzVX
MyFXPjhGI0dkOzZRNWh5WDExP1NtWilZfSV2WH5rCnp5dXR9ZWVKbiVwMj1aXlprWiZnY3R3TDB1
QitsPk1VYWY1Q1o5RnRsYT00LU1CRGYlNjU9RFpHQCEzU3A+TkBvYQp6OTJTejspQ3klfSk/Ukc1
YiVUUEkoKyoqRmdfUF9uYnNHbW44e3EtZ1lKQWxhR3U2QXsmTXteRiFCSW0pYE95SloKelZsUCp7
bW9MXlRAJSFpdzZ3MkV+P05eUnVwU1pIfEhKe0NCKVhFPTU5e0U7SmIwa1FOP29NQVZgTSpEbFI+
Z0kqCnpoMVRjemRWQTNDWW1MM21aa1VpMUs8UDdidEpmZFJtalQhQzU4VWhlcERXbS0xJEFHbUh9
cH54c2chc0stSGFARQp6aE5RV1hDbHgpUiZOTnRhJkEtaCREenMweyRRIzRNcE5ONV5pTGMlb0RK
e0B1LSNhJEU7X2B5RSVWTjVlVTtVe34Kem9lRjFCTGdrXklgLSNlc1pTMlNndEZSNHs5cmlVbnZ0
O1I8RVIyIzg5I1orRzVGckgzPFJ1QTJRUH1hVXorUWYjCnpUZkBwTXJ1bH16OzJ6fTFnQ0A2aWIx
RVc2U1F8dG1IbjRuYGZfUX5vKyQme2woRD8+eyp8dyVBeG5LS3ZYJFBwRAp6Yj8qbXRWaG5VJXZ2
eGM4U2Q/dXdjNCZ8MDNFODJSbyM9fXxRKjZ+MSpxRXstJmYkT2pKQilNcW8yaEBKU25iQ34KekVw
Unp0JU5RWWJqfmpoMCtUeElVdWNWSUZpbT85aCQra3ZTNm1tTlRnaEJ2a15NIXZWWFlxQGJLb2Eo
Yis2dHdpCnpYNiZaRC1wO3YhN3tOQGBqeCs2S3laKlVoOHlWSip1Qz87cl9iejR6dzdvZ0lvSmQt
dXtPX09PbEkhWF9oS3h3cwp6XkJAVCZoNHRKfkt8UGExQlVEamIrYXBrZXchYlgxZW0zYWghVHFf
d1hLNE5nRmlJS3RhMEJGQVY9YzIpSzBTQ1MKemZXM0JqIyZ0LU9NYzcjSmJ4fWBZS3xSMzA5LU42
RSErQl4tKn09Q0xVc1p0aTU5dFlaND9tPD92RHspQipaY00hCnorQjE/WW9oK1RTRWJgP3xtalkh
NXItezspUXx6K2lqWnhleEQhbUJCYFNPT31vcGw2KFJvYU5sXkt6RnspPldqQAp6QmUhTTBVYWlW
O3oxTWhCKFckekNlXig1aClAPHlIKUVSKE89cWtNWm4pNzthQENLLVNrOVJkPm03MDRUY15ISSMK
ekNMWEBHSUZ7SXMqZ1ojb1UxZ2NIOHtOanAqdHt0PEcjLXstQyRTKVZMQztxbWUtckBuSWMwcXNN
eFo3R3tNbEV+Cnp6dDZkWDd0byFzS05SRW1ycWs7MVBHNUZaZntMaEQjOzZOISg3QXwqcndpP3J3
PH5TRV9je04ta24weCp6amBIdgp6clNKRlF2TW1ybGMwdF5OUmR7XkxaQkNiMHcoP3FISk1PN2hi
aSRSP1crfWlhUC01UVVuJkg4OXpUe1Rkd1hqNj0KektaRXdZPTUrfT00bH0oPDN7VHk4K3dBfDx7
cyExMXQyX1ZVTCVBKlNOdW5MRyh+Iz9RaW5xWXROfU0mKHVNPXk9CnojaS1TSHZAbVpNK3Ekdj1s
I2Y7LWk1OTg8V35eZUAxKEtoM2k8JlBWKStNYzZrSiVJM0R6MFpSYi1tJT5zJkpMLQp6MlRiflRo
IzZiVSEmKWYzOD1PIzFCaFUreVEjekpZU2pRMnp4aWY7LTVYfk13KmRaWntLP3tLPXpaIXRmeWUw
dVYKenhURF9PUkJvSntCTyRTI2RlemlRYTg5fFRHckhUM3hWKDVyVmcyeVRfMHM2O3F2fnhreyV2
TnY4JGYoKk91Pmw3CnpFdiZYZDF7OTU0JUtrckZWSWtsQWQ7SEtjckplPHIrUCRGZyY1NjlUZUVV
d0BiUzMwRU9TOHhDYmtNa3okWVlicAp6LUdZNSpQQWdZM3FzWTMmWH1zQ3pwKDxsfiVoZkV6bn5a
UEAwJnVnVDZfPmY+X0dyJGlMWntmY3J9WS0zNH54Y3YKelN+NDU0alZsZiNyWH5sPEdEakM+ZilG
Zk1SUFNpQ3VTe0tGUUIyc2k/NW9iX1Mxc2dMYFJTdiVzX1pNQUhIfDV8CnpAcXU8WlVxeWZTezlL
QmFsQE1Ga2ZyNG0pRWVsaW1pallGQlNOI29lfDhUMVpfZmJmTkszJERHeFNoeTZ7cUpVSAp6ZmEj
dTI0fCkqe3gjSntlJGZ0bCtsckJ0VStaOHhfRjR7OXhPVVo7PDF2dEFMMWxXRGlwRmF1ckBOPStK
WDVuRGgKenQ9S2l7bXhlMVQ1aEdQVk14Z01mVDhlJFlXWCRxZkdGX1VxU3p1PyNEe143TSZTUnI9
e0V+TUllYCRsVnN8PSZkCnpMUz57Jj9qKHVzUF8zQllPdkJTTllHK3lPWmM8cXlqNTNRKStjQ0Np
YGRnWSZTLUh2Vm81cEFoNi1uMERNWTlUIQp6cTsqfTM8O1I0MSg3OGk5c1p6bS0rKzkrLXY3T2k4
PUphWVY1RShiNVlySzdCWDwwb1ohOyZ+QkQqT0FHKFU+eCoKendwZ1goS3UmPV8+JD5AT3hje1gt
SzI4UEchJElFSGhEME14cWI7YTJAZ2FsRzVKdGNxb31WfHZsdnQ+ZHpMN3NtCnpzP18mPWp4Mntw
cTVAc250Uz89e005clpCaDAocktQdiYwcTdpO0NRR1hHTlQ4dnlPS2Z0anZKLXkpfVUpVCZ1Vgp6
VklOeG9pXzg5eWApanMrez4/fl96TjZ5cWdVZG0tTWAwWkFBQjNVPlhBVWpfeGB+ZjdiT2ZOQypW
SGNkbTZ0UVIKeiZtYHRMPVI+QkpUYUlfeDdZKzJwViRibzx4bGJBOEkqbD1NUVlKJnJ4OXYyJGx3
X31SbDsrZThkZVRuSnR5VGtsCnolQUBETnNhUkoxNjh5ZyllREk0Y1h4P01yYnoreTUpaSlpUUtp
PXNiYlZfRHErPDVOMklgcntBOGA1JHh4YGMkOQp6Jkwkbk52SUN6TihFKj0mU05xN1BXSl5tU2o5
Z2F+KEdiPzFheWFpJmZBaShmOSMlM2olWChTJChFPCglaTNyPHMKeiFhVF8peDg1aCtvJEtzOWpW
TlBBaX5+ezQ9NXlQPFJeMjEkQGkkLTJiemQwJVckPH5SSCVVZHRCbjk9X1ZXfjdlCnpKLUwqMm03
VCUtdENhcEMpdDU2MUJnVSN9KnskWkZvd3FBQCo3UnA7diFJKGxBN3Y+fHpaVWlgelpTY3N3UHdz
NAp6K0xeb29UR2VYRXU5NWwmWlVFOEdjYURkTnl3aXB8XnZUYUJSP2MxPDZFUjY2eiUxUkstZEVq
bE1ueXd5P19wZ1UKejcjTjZfSWBGJmJ7bFFxRHlwZzx6dj5CSVQ5dEBCJno5QXteWV9lSDczVDxh
ZyNrdjd9dzJYfSh3Ty1GMTk7I2dBCnpUdyRDZWN2Rmc9SmZyV2UmeWJqUWNDRHRIT2V+eEgpKm9U
M1FgXmc9Y1RySm8zbzVROz9CaHAmWj8mP0gxcm05Owp6SD9nbktnKUMzLVo3VT5AV3chQFBAejVy
XnV2WEN1M0BZPz1eZGRadDw7aVhxT34yUD1gUW9lWUMyUTV2UE9JaSsKelQwQHw2Q1ZqNnpZMEFE
Nl9SNlZ+S3NaMGYxOUljayReeztzaSRANj5reX1nIXBSVEJ+bzd8Um1xY25eQE8tVktnCnpIamtQ
PUt1RCU9WHB4c0g7dEtLdldTNEZMUjVtM096cT4pK1lvclU1MHN+dUNCLVQ0YSNgQnEpbXR6Zj1S
VDcoSQp6VTlIJFojOEZyNXAlXypKQ3NsTTQ9UER1e0V7cFJTYFV3V2IpNkBDIXBiKStEWEh0X1Aw
UkRzdkB+NEFGS09gYW8Kenh1RUZZOSFzXkolNXYmRFZkSE98O3hKSUA9RnFtOE4pT2BQbmhNKjIp
eG5RJF9UcVl2aSh8VipxfGtOYG00K0pXCnpIJTUre1B9XlVvNjczYDVoYUVnfik5RiV7ZiUmbm9H
ZGZrRzZiT21PTStSVntvcCFFbFJTKUFUV1h+IXRudkJsJgp6ZT9+PCtWVTRHYSheQW4pQj41PFpQ
fW9VK2hEZX5aPU5SekhqTXUpUyU9Q0hTO2pIS1Axe29qdj5fZHEhS1JOXjkKejJEfn1MLXVkJDsl
WnxVNWxzJkdAWHFpX3EqakNYPVlGYkRHLTd7bSE8Sz0oZ0F0T3NKJEtwYzA0ZkphIys0TFNpCno0
Xkg4QyRoSntIVCh1NylGJWUhYFNgTWV1U3ZkQWVJZShmI2VDKUkjPjJebU1lPGB8OzNabm80anQ1
KGM3eTYzdQp6KEUxam1Wc3A1fnNHY1hNKl4hNXRwczBmd1JhXzJ3ditPNntSel5EYmk9YT8pKDw1
QFh6SX5wbmRGITN8RjlveUwKemk/YjdRXzFGR2FWKmMxU2ZVZFclczlWeGwzbzliPXd4LXRIN3Z0
P2x5Tmd0eDw0NEp8aXcmaVJkN3VGYFFFPU0tCnpYWUU4bWU9YmYwQ3pLeUhMKDBLSHI8P3M7c2oo
aWRzRTl9SmA0UypSSGBQSUw1QT5kK0w/eSpiSVMwQC0kVFZqTgp6QCl7fSRGaGkhejZMaS11eUg9
d2hKRlJ5dlZhS2R8ZC08dHVIN2xGITBxZURjYWt2THZiMW9hM2JWJGZIP1RGQ0sKelJKJHtgbykl
OHM1PjN+S1l8Wl8/QTdfUSFwfnFockZGd3haVCFveE55ZVpqb208bV5yb0Q/VkNFMlZfa0VrcU02
CnpAKlV+Plh7V00mUSgtT2B4SFRPMSUmI2JaQHdXYyV6MCVzcHJDPm9hJG0taGdjcjxySjk1UztY
Klk3TmVqTm5kNwp6czJ9bEc8eHhWJC1MJmJLSSQ0VSUleGF+Q09iVUVzST83XnFVfCtgY2BHIzlX
Tm11MGtiKFV3OVAwXmtrY15jQkoKenAxMmlZKXk7S0ZPN01pWnkoPCo2ZHNgazhpMDNfYWpvYSlE
WWx0M0ImViNOKTJrbTdyUFJaIU14TWJMeUN6RFhXCnpTZTZ5PERjYDtVdW12a2ZrSlpwZGdQT3d8
YDhRSW82WHQjOS1Le1RBdTkhckwlOW5lfGJsVExQelNHKighRGVeKAp6Rnh4RCRKKjAzXllKQXow
NU9mRlJ1O3UlO2BgPX5zdWRlNG1UU25xZiNFVkspQCQ2RXIkdipBITRga0p8KTNWe20Kekh9fDFF
azBUP1NkLUBURHZ+USo2K2dmWE1Bbld6eTZuXktWdDdHLShrQngybjs8PE5jbTA+TFkpbn5IekV6
TVMxCnpjd0BjdWdePClWTkxycz1lZGdSMSVnbWxYc2pqTk83Iz9ZRHBKfTBVWCg2TTFIRjx9IXNo
b1peTnh3O0JiVHIpLQp6SF5fMXpaQWQxayZtJnM8aHY1V0F3Y3FpKSpqeT4/ZnhPfE4pfD4pYjRx
NlQpOGM7SUJSSzhwXlFKfGUkR350eiQKej9yYEdkOFQ0cmY5ek1MP3Z+WCFKP29valgzd09rYkVW
czQtTTt+MXIyOztwUnxFKCpVQEhuVT1tWlVZSk4hKCNxCnojcCFVRTEydnRrTjBhclVVYmlPRGRa
eFhfJSF9Qyg5cyh1TihPNFNCUShqaVopd2VeQD9UVzVnQ1lFUz1lQ3BBJgp6aiZjN2kyfHMjU1ZH
SFdGSlZtVFRKKFEjRWJpI1hMKXpxTGckcUQ4Njd7N0twUnxDenV0e0MqdmtTeG1NP195c34KeipS
S3duenh0SzNiaH49MHVjeD1OWEQlRlNJdUJ0RWE/Y3Jqc09WLTFteTtzWikzeEE8WiUxJU5EUCtD
eTx4d2BXCno0O29IWmJiWFMrUCU7QFVIVV41JCVSZF5UTUU+KHxCbHpJYz12OUl9dWtlS3grVnFS
JlB4PyUoJCp1KUZhbnQ/MQp6P0dudDA1cnU4YHZFanZ5cntPREdPLTN1c0l8PHIkPSQ8d3VhZnd5
M1Q8RjFDQDt2YyVZbVRJNzNUV0lOSXtUezYKem8xajtYPUBSQ3dwWXBzcmh0S2tFMDRNJX0xUzhk
eC03a3F0QSQjOUttZm53X3huViVyNil6VHFDOUQ7MGZUXzJBCnpoM3c2XzF5Jk87SztieSt5SGZu
RTtfKndsME55PzY5JWxBTlo9T1NObzlYKkxta2YhRTheJDUkSHRFZz9Ta2JKIwp6cENjaFh3ZHQ1
JTIhIz1VYGxAZH48bUJjIXlCYVNYSUBYR1MrbTF7WEI4aFA0VnpKWUF6NGJZdGg/d2lSZ0hsfjUK
eiFQPDljI1JpTH5BQTFxcWcwWGw2JWZEZUczQVNFSDB8IXdMVG01Nz5wdSZFZm14JEI4ZkBoZzRD
dTc2NlNjTSRMCnp6NWNDUClSQEhNbC05Oylsaj1eX3Qqaz9PdC1rITZtVWkxQ0dLM2VWbXd6fSRe
ay1wMDw9Q2VhdEI5a0FrQyopZgp6RVN0dSlqTHFPTlF8aFRNK2hReSVMRXd5RjR1ekVUWHhtKD9e
MyEyc3Nxc30hSkImPkpHVDdpUXAlKUgxY2dOY2cKejEzMFdwKE93MkVgJFhrI3JNNUU0LUQ1fSZr
PTZHZjVvKmIwelhkRTNkKzlPflBqe240T3xNY0BaVUMkMCNhJW13CnpYNm5rb2EhWEtQI0tUVntL
SDBWSDl5TFp9NT9aPDMwQV84OUpXNk5aYzJUeWlOakwtYjdwe2wmM1BtaEhYfU9GRAp6cy1eeDF3
JEFeITZwY3NydGI1UzJ6QTMrMTZoVCtraWw9Rl9MVW90ZFRxMCtSeUliTyE4MjZHfGxEN0x4eG18
ZVcKenBzZVooXitEJUYwKmQpTigqPGpqO3E5bGRtVWokIyQrO3Qhe2loVlFSdmomeT13Mi1nRXx5
cCU4Znt6V05YUnBSCnoyYU1MTU5jJXpJK0ozIy07fF5xZjRGSm9JbjdaPHQzfW9aZU19fU1nIzVm
JGZBZnk1ZEFBSU0mfDU/WGRuVzQ0cwp6dFRnbEc0SXBSOz5tV0A8K3BIX1FKRzQzZyNUR3l7dSRt
bD1nYjkkY0RzdUdpISM7eXYhPWRWbmVeeHZGejQ4KSYKejNWXmlRPGg0PV9aWW93MiR3VyRGbVNI
bWpeVkoqdkByXmNMaWIkVipfJjheUSN+UkRrYD5BY1kkZWYjfWlZbmN5CnpGUihkUEN1P1Z+N2py
e1lHVHBSN0coU19FcmZDJkx0fHw5Pip8Q0QtPj9yZlM4SEx3YGA+b3hkelVxQVBIZGpyeQp6Mjx3
aWpsfGVCKmV5eiNpeG81OEs3RG1lPDM2eSVYRUFmcFA0JCpnYU1ZQzFCX3d1NURgNyVhe1RRb3RI
RS1qKXAKenZAWWAqPiEjaS0hPTlEe1V5YyFkYFU4VSN1Sz85XjtsMFN0aHBvWmhzPm1IQHA2fk4w
ZVR9VHVSbnkhOEQ7KWJTCnp4en1VKlp0Wkh3eCV9XytXKzFjdlYqMyk4Rz1XVWo8OVlWXzFKfCkk
SndZemlxPmhCP1liS092SmY3UlRQJmE4bAp6MGpeI2JDej02KnFQdXJkRUc8cHJgc0VPQ0toVSVh
ZSo0LVFAfHJ0OUxuUjB1TjxOKDVMb3dmSDEhRiVrM0MoIUMKelBOVzViWl42WHRia2BTNHNsLT1N
VCgoR2pQRVV0XjNpWD16aGNGfGJ2SUJgQnJ5Mk9BKDd9cUNLJD47VVQ/NEZTCnpRN1BAbzxWQVdW
JDJvY3FKdXhVPHFHejs3eGQmKHRwOE1ZYkc9SnBUS2xZITE5aEU9N1coR1pieWpUTHxXMD01YQp6
VTh8V3tKNC1VeSomMnpKTXNvdksmbCtsY3l6I2dGJFI2ZV84OzNWRDg0RilXOHR+OUVTcih+O0VR
S1ZSNVZIM3EKem9gb1NnMlRHTjFsI3xzcFlpNzcmQFEmVX5tZkppd0tSQ0BDRDYmM3B6WXhFfmVv
WWFyaWRTaSlIP0NkfnJXfXd5CnpsY3pRTnZPcTtkZ3Q7fEwlXm49OUd0ZjxiXmU+SDcpISNrZEQ0
QWhaPFMkVW53SEBfTCh1Vzx9Uy1HejYzSG0kVQp6JDtUIX02IXhINVdvcCpVcHw/dT1KX2dJb25o
YEl5RWB4YkNHPjFCZD9DezQ2QShaKFJKSjJDJUIlM0NOQSFzTjIKejd3JjJGRnowPmNUKCg8JSM/
TEgwVGhDSF93YFVIPUV5VnYqUUJMOXkwUGVDWXcmPmVNTDVOXn1OPkgqaSo8RlVKCnp2fkJ2PHpB
c2FXSDc2M0EmQEpTcDluTVppby1QWVFDbD42SkIhPXNHWDUrPTwhI21FJitxKkpWXkBheEV6STZV
JAp6QUxvQlR6VyYqbUh+MnBvQVMlKk4kdXJOQDlWKWNkVX5qSCYqaURmOGZ+KyFecGJCNmwkT0N3
YCt4fURnb2p2SFoKemEhY1FjUDBURlFFKzkjR250Vz1UUjl1fS1yZDNoaitkb2tHeDAzOSR2cWlF
THpFR0pQa1N7cFNKJSQkN0p7WD81CnpNQm1GSFVnMEQpNnx9PTFFYlJOQ291UlkkckR5Si1JWmFp
SXFeNU0zc2kxeChrYTNeekIqTFJPK1UpR2JPV2tLVgp6UiYmJShAWU1PKylTZT1qQSp0dmREN3pp
MUt8OCNnd0N0NShFOEtYbDhSLXRxdndvRz1rcTdwZmgpR0xLPm58UFgKelJofX12bUUhKHNNKkM4
TSh3QWA8XjUwSEF7I2o4KEhCR2FGPDwhOzJYUXdiPSNYS295VyZVN0U4ejtHajN3NkV9CnotRkZ3
fioheGJiJTJJdlJQQD9rfFdzWiYlQCZXQSk+aXMjY2RyYD48JCUzYT0mR15maVFOJGUtRzx2JnRR
JmskRgp6M30xa3VEaTRLd0F2fGkwJWc/MFI7RkpUQ214RzkjNjdOTl5EdnE8dkBVeyQ4d1d4WXNt
WXp9ZS0yaDZ2QFQpNz4Kemh+d3FLY3wkS3VJbmByWG4ofDlgTjJZNShSIThWSiNEfj4xMVVaNVZ7
d2c9PEBqbjdIe3puRD5LTnRuYmU9S1lTCnpwU3F2PG9PLVZ5LTA+KSEjWnFTNEYqPGZaPCZ0TEFI
M2hnRmduVnI0YXhaX3YkO3JXdy1uWTk7SXJ3QCpDcnpofgp6PzZzNiQzOzxaWDRtTjhSU2xOdXMr
ODIxMUdOcWJxXj0/ZUY4JEFvN0xqSUplO25rWn1EeUg/TT97ZnYxI3YwSWAKelljfXU8cz5nUWt2
eWJzcHZUblVDPTcyKWFNVlhkfVoqRXU5PWZ2SzN1WENMMy1Sd1dVcz5FPkJWKVRHJTZmX0kjCnpl
fD9vSEk7SyFLa1gtSV4+KlhJKlVYY0dpeGJkSFBjRH1oWjk3U2UwVmokViNBPmdaP0VmWlgxSlBz
N0wzN00wVQp6PjJBWCNAK2ple1IhKGhCZyZoc1ZWdHp+VVU0SmB3b0RqeWB3KHh8fHkkPl9gaXtk
NmkpUzRVQUFKJmlAUSpNcngKem1wQG9iRz08KEdncjlYKzxOIXEhJDV8MnEyY2BWbTRTP2ReZFpF
TDE5eiZ5M0RtJFE0bDY0Rm5Tb1MrfnhhZDlnCnpJYjdUbXhsJiRQSmM/djN1dHlUQlhKd1VyV216
ZkAlVH5YcHlWdHgpUW1rUiQycUtXKjNpZmUrcl41Y1B1cUVVVgp6I0VIcnxQUm16YF9zWVkmbzgh
QiQzcE9PdEV0OSQpMmw9b2hfWVM1ZmFTbWNfVjE3XyU5cCZVP0tmRGtFPHpec2MKek1qJWI2VHx9
Sj1scERHd3RZRTdhVHV8JjdfTXkrcGo+NmUhSlZDTGBvTnZwWlMjPzlDXkI7dXQ5Q1VlPDR+WGls
CnpRaHFscXw5YX05LSl1emUtTWcpSFh6WH4hN0chcFgoUyZhMyh9VGBDI0p0R2F1SjZ8MVMqVVNz
R308eklAazlVTwp6e1d7RG96dXAjdnI9dyN9WmNwTz51bWRJNUZGXyNgK30+cW0/V3FPYUxtUjRB
WXd1Wj5raTNKfXJJSW1MY1lAbSsKelFiXjhMXjFAKUhgN3RYQ3ZKdHYzZ29XYCtOKCFpeFZrRDh7
V0NEb01UPC1lRUApbz4hSDJIQjlJei0kNitSQWQpCnpwRHI3RnB5O2w8SUNWO2RvdXB3ZyswODtU
KkI/dFgpP1FVTFhMZ208WFJuaExYWGQhOyZAV3tZOGt9fV4/JTlzYAp6UzhgQXtEQ2JFVHZKXlZr
dm5MQjdzO0t0TWBoMitTNWFoTVFKPGsyWSMleW5OPEg7IU9qUTg1TEU7aFVwQmJASXgKelNWY2dr
bk4oMVBHYmdoME5ZKHc9Y0Yzazlmfmw7c2B8bGFtenZiQjwyTnx7UE9GUyNfWFYwRnFCT1pNN0FY
a1IkCnotV1hwT1VWSXJtYFRNKWgmT0UpcmNBM054SWJrXyR2TlZjWjVle0lHaG9gVUpKPU4lO19s
S143SEhuNEJCfXZwSQp6VSlQeU09JGlGYlpVQ31OdnZgQkBQX2BKMF5udXM9P2RwVU93c19uREJz
Ump+ZDF8UjY0M3s3TCNeY3FqK3M1WSgKek82bzdtSTJfNlI2Q343cUoobURNenkkbX4wWXVhOFIz
b1lgdHQ9cEl5bSExSVc8KWh0ZHRnZD9HMlF4Iz1vRUxFCnoxR19UQHRKOFViOyR6WHRIKVozb1Fv
OCFKYSUlP3liTjVVLWF9VTMjQW5NQiYqenQ+UnwzfT9AVj9pWFQ7SG0kOAp6NUpfVT1taklDQG1U
WDRNVE8+KGJiRlJJYDxsY0tuI203K1ZzZzB8RT0pRlluSTVFTS1UelRCbGVfcCRqPD1XZ3oKekA2
Q3M0UFJSXndiTXA1ZUZuWlp8dVNsMHROcGpjWSU8PmpBY1RmNXlCJVRNJkYzNnExRjc3dkJ4TV5O
MF9IN3hKCno+M2lwdmB7fkloPnh9bCVFMj5eTVBhQ2B9KlN8SGdAODE5e3xFbClKeyh9SWFeN3cw
Qj97PCRObV4mRzxJVl9KaQp6dzttJkY9UH1EQWVpLWlLWUwhb31QPXJFK2l9SjJ2NWBpYjghZWk0
N1dqVVM7JTVTTCtVfCRhJD1xellYSSlRWiUKekp2b2hOZWNqfStpZnllVGdoY3Z7UmswdnBmJXxP
ZHZVR20tTzVgZkQxdiRXdVBAfTc0TXRvZz4jb09aaTxCKD15CnomNF85T3JodCNvIWJqQUsyJlZG
bCZAMFF8dlMkQTJHR0Z+a1J9YDk8UzZHIXooTWpUSzN+NHFgO3ZfKW1JcU1sRQp6UGwhdHN2bHdl
aWNFZFp0ez84OHxhTy0tKCtWZUJoeXlSbExOVV9qRzJEbk1aRXdPd0ZtemgrPVJfVnJ8Wlg8YGoK
em5jMDhtU1ZZQHlRfXl2UjdtUD8xODdsbDN1V0N7VkVqT2UpRklFVUsjPXRpXmNRc0gyZmRBNVB5
fWlzcW9BY1Z6Cnp5JUo2VFVNYztJKHUjNUZncUplIXdPZjxAVU9DekZDVythcEltdVpMQHttZjx1
JWlDaD5qNDg4VXpMVj5nYWhtQwp6TmFhWnx7bkxaK1VvZFRuS09sKGM/TTUxempZVkJ1eWpjVzIk
SWNveyhjMztOIyRhR0FRQztWJHp1a1cxbWFuVX4KemUlREhYQkZfbUhJOykmaEJZPEgtJHlkejBj
S0lmeG01YTgwI3JgQD5EUD5+Tlprc1RCbW9abW89JkZDJEF+MUhECnpHaSpBUiFvP1ctPkF9UlZj
NHsrNlR6Kysten1TMyoxN3xnPmpJcH0+cDNeQEp6RnhKLVpWaCRBMj1NbzAkPitzcQp6e3BlNzB4
d3RqJHUxfFglRGAqfmV1dFZBSkpXWmpZbnVzbGhgLUZDZVRVKkRrPUVVSX0hPm1LaT9WaXAlfEV+
PH4Kei0+Yl91eTxpQUNpR3huSnJpeFYrQH5ILVVIZCpqdzs3R1JMTWQ9Uk1UJGFHc0pGUyV0KXZ0
dGQ0KXpiQW5yc3VpCnpiXmFpSyo+aiY+VVhabGdBS0FFZiYjUStzJVAjV0dKbyZXa1hmflZAQ0Nl
JVR3SDdJNTZDSkl5I0ZHPz1iQ0JMJQp6WS1EU044PzxuUi1qPV40KH5gNXx2Ykopb2JZVWlsPTt+
ZSo5dkZZOyZBPDg1Znh8dSFxVWNpZEJkMXc2JFJ7XmgKenA1MTY9NzFMXyR7MX13MkA0VDFYZX4q
aVFeejA5U2xIZUpRQ2NwY088UWpne2syaUkpJX1PYGhHMUdtanJTXjYzCnpKfUglM0EzVTh1YzhQ
Nm0rRDQmQUBuWCVeJk5fQFRMMjVJKlkoLXYrTTJsNEw1dXpWdVBiKjEmO29FfHpCYFBMawp6bVlt
S0AjY1ppJCZPbmQrS2A3NV94an1pPmdBamp+Kjd6bmZQfDxDUjRxT09ldlgwfndsdzZNOyMmJEhG
eV8mSlAKejBVVE9GdTJJRENtZ1R6akA8aHlDdylrRl5xbWhqbnN9JF9obXY/T0NDdVEkfHAyX0wq
KW8odD5fYE9PanBtNDlVCnoyWW4/SUUwLTgrYDBaOXYrJm1ISGtJO0RYXnlkIVU2TTwkYlVTV2Jq
KVZaWlU/VUV7Q1pEXkFXUj5fQV5nTmlCdgp6Pyk+Pi1ecmNzZzthVm1vTlYxLSpSUU9Qant9by1U
Xms9eXBpanE5X2E/WnQoRCQ5K1EhNF5CWWpyMCt8cGlxZzIKenU/VXBGZShydktmUWFTa2ZeQVl3
Nj1UckM9JDR9JUtORzlMXmhZcXtsRSklUk8oeVZsNURsb2ZlXis9djwtWjZLCnpsQGI0anNBdng7
dyFpRnQ8WXtqZ3doTTBlKUJHPiYxVm8pdzx9YzsjTz4+dHJsVz8qJCpVRDVrI1RvWDRqKX5OLQp6
cURxWlJTRnQlYVFtLTBiemprbiFDPTdmcWp2fDVVSiZKeDtISiE3PWItY1ZmdWxVJEteQ309b0tW
Zm1ZI31oVzQKeiFTP3E7KCtZMXgpMj1UeTNQQHo2KEU0bD1yYT4yO25kdFk1I2MhPWdjdHFUO2RN
QlZ9PSNzZ31hSHA9T1F9LTxUCnpoYlo3YiFieUluYHZMTCFqNURDUXg7YF5IYSUzPXN0eXcrc295
YDY/cTJ6ZlY8byQjSjQ1MWpLNyRkNVhybG01Wgp6RjF0KVJaTEZ0clh+d1J9X3kqdV9fQFJfX1N7
dTg3dnZldTlHXmRJXnJKeiRRTSFNeSM2JDdISlJoQWA7U0FCfDsKem9fMkBBNW5YIT1eLWUzd1Np
Xj9aV2E+THktOWpTZGN4NWxDLVFLcXdGMlA1fHVzWElqSURieWxqb3w4MU9KMWYrCnozbURUOy1I
MUs9SlhCRil0UVMrN3ZidDVMb3lSUVk7QDlLaSRQQFdQbkdmOGdPTlR7Jms4QVFUMFpLIVl7MDNz
IQp6Tih+ZGN2LVUqc1JrMHJzLTtlMEgwRn5xe1FCbSpWRG9nYlYzajBmU1lgWDYpVEdVel8hXjEh
OFMlSEJecEtnV2YKemlyZihze3B5fHk5TlNnIz5ybTFybE5wTUwyRiVFfWpUMmc8aEVMNT5hdFEt
YmAoTDhZNnU/TlpMckNEbldsTE19Cno+ezJQe3Jaflp+LXMrdW9IdkdgezBDPzYqRVB7amg1aEI+
UEB0KmI2RGJ+QnA9aHtKMy1EI1RCNlRNMFklRS1RMAp6VEspYjhrY1BfTTA3eTM4NCg7Q2xYKXNZ
a0ZnRDNwYWJfWjZRZWJqRnp4aExSbnVAbEhHNi1adGkyeyMqc3xAfEMKejxAe3BYcChPV0dpITsj
fGdpQnYlNUFHIXAqZitHblpfdjVXbCtGMmZ3Uns1bGg5ezJCVDB6aUJYZ3xXY3d7eSNkCnp4JSg+
ckdzayVIZlN9cypgLVl8I1lxM2N7ZHkpbCo+ZnV5fnp4bnB0cmZAPHxVKlJ6QHZAUTBrdkVqaFU2
OHwjYwp6Sm17MllQeHJIVFl+dDl9Z249fChmPktLVXJ7Y3xSOyhBNiltQElxRVNKKXpXMChYVEZe
eiFsbGZESFgzMW5GTnYKemo+PSFRMiVMN1cqRmxsPSRtT3Q4I2EyVndEJnpFTVhySG5XNmxYU302
TW9VJG9FM0ZnREdvd0Q0R2hxU3JkYlclCnpFM0E2dzdwQmNiaFVsRHdAY3pTQFdVbkNkR0hIST0x
YEdAKWZtdFI7SHJCSFo0IVlfK1VyWD96bl84eWUrbUReIwp6RHlIaWdTYlNTOSFRXj9BYyFfXill
bm9sPz9AZCUkdkp5eVRPPmhIREAwRio3ei1CeGVoUXh+IVg2MUpLX3tRP2IKekIwIWJEb151dWNr
SlMxZmBoNTJxakwqS2p5TWo9Y3c5JkIoIyVDKjtLNihlblhTPEZaJG5gNnpfajRLMDI0Xj44Cno2
IVVnamVzMXZve3hoenZZfWs2dWV+TSU7TVgjSGJmaWU2P2cjVzRVekhgRiNecFI/QV9CSztYRygl
dlZubGFAKwp6NChyX155anQjamN9eXVaUC1yQz5rWUJDUyVLRDlYQlhoQTs8SnpUM1Z7ZXNiTnJr
Qzx1TG9CMHJHRiYzcSk3NGAKelREPC1pKUFZPkYkOT1+d1B7QTI1cE1DaSE1dkFYYzl2d2c8MU5t
LSVDcjtBQmo8NEwtWkVIXzg0YCVUP2t5T3JuCnokKnN1PCk+UlpOZyowTHIjWGRTdXRINzArTXRE
WE1VZTEwPVA0fWhVXzdfPGE5Zzh9Uk1ENWZRYjwlSDJhd15Tawp6OERGPW5DWHFjelJBXishX21t
NnUqVnFzQkY2ZEg0WSVKY0l1QGsrUUN2fn5EcWA8SWI7T3ElYTNYT2lPMCR+KWwKejFXI0I9R2Q0
YSk0ZDJ6RmpQU35zVTtMN3Fwc215Z1RHTXMtcCojekMlYUBGcD5wMUlLO1VOKkRRLTF2X2k/Kihn
Cnp0XnQrfD1lSntKZFgpNyQqNGpUPmkrfUdxUXA/bFFNUTw7aW4jcm9zPzNJWn5qLSRDO0V8Jmh6
aykkfGgkO31XZgp6bCM0flYzSHpmVmp3empZNHhmeUFEajJEZmhxV0FYZ1pvYGVjJTBpSkY4OWo9
UG5sTyQteTJJajx5VSVEYjBUTyoKeiQ9I3h2ayhveG44WT5fS3lkdygoKmU8ViFtbGxhallQbyFq
OE1PMkN3eCg0SnRgVkIySFV+YWtxbn5AOFFnU2RhCnpLaWR6flApYTkjdG9uKzZSfjZmQCYhK2xW
eCM3N09mc3VqalhwcWAxdFpmPzxWZnMlRiZoUHcxOGVIfUlkUH1DWQp6Knd5TnB2d2BkbiNaeUxH
UyM8NjtnYmNfaGpIJmoyNmNTeGA+QVc4KmB+Rm44ZDtHYlVSWkUqVDYlcjxhUGFsaEcKejw3V3FD
R0E/SSUzNFdifUBAUEAkKFYlVWdeWFN6KXFtUiNVWkxhcH4oc2BTZypMP3d5Q0xCRT9OcFowdSpi
UHYlCnpPODlvKzxTRHwqbWJKZChSbHRZI3tRNU56MX1YMVVKcncqc0QqYSFyIT1oYElIZSY8Kzs+
OyVSZDF5YCtPTWt5Qgp6c3Iodl80fXp3cU1wVC1ZTEEtaX5IOEU7Jkw1YHxiWX52O0JPNyh0aHhh
cWA4QjlXKXlGVio8d3N+SH5SKkUpYWMKeio5enxJYEVDKHNfcjUkKns1SiZjUigtcDA+VTNuK0o2
NX1zNEJhaWZzUWVLPzU1XyNPYGBXb3okejVJcnUhYGFiCnpsRGprO2EkcGcpdHZLbW13PkE9OGVi
cW44PE1nbmQ0U2tae2xxTGZ6QEhkbyQlbTBNPHtHUkJjR048bT40MyZFKwp6O297WmFFIUw/fEJY
SFg5PW92MFEhYXZKXmxMflFtaVAmT1ktSGo2R05IXlJrTk1vLW1KO3IyakRoLVkrY2RmQDAKekxl
eU1XO0VxfnpSP09mWT9tUHxjanttXihlOHVEakBaPEVQVChSQD5qRl90YS1qTWxlUUMxYzR0OU40
MHhORmg9Cno0UGMmZ0YoPSYhWkghY2s9ZFVXZG10OFVqe2AxeWw+IWJ4Xkx0RW0rI1JaOSVWdVIm
OzwtcjE/UGIkZClwaWQwdwp6KjNPUSZ6TUhXd0JzNFZOSmJlUjVSV1llJkRlfkVMJWk9MX5CX305
N05ZSk5DY0BDUHxFWHE+PDskYSF3QDIlZ2AKemRAOGFeRnkrcXckdVdsMHtseTRgVU19NCEwakRV
NmF5fVRoUE5HOHo/PXZOfSZPWip2b3BuWWdRbGM4bGlieEZYCnpIfnYwIzApXkB9PmxqVUcyVDI2
YmB4RURePXBhdF5Hc15AeFg2fHd3SThHSzRUIThgYURZKnVyRXpoZjJqYWU0bwp6NU5PJG4zPE9B
aE04NlJES34qMmtATykycEVlPVR8MVZXME9NT3deJSlyWj5TcTdtQlEkOXdII19YKyU7bDVaeT8K
enFnR35NI2U5PnxkYERtKUMlOVdfayVHNDRaKnVWe3w3bm1aMjl7TTVyV0U7e2gkJmxyWEdmfjJD
QFJJdzheQldGCnolY0R6UD1wSEx6P3Zwfj57Km98WElkc2lAK1YwUTNKUVhyTyYzeytIbWBwdlo8
dnRmKHFCQ24lYzVUMXAkQWJhewp6X31HWVZyVGV1Sld1bTRsczdKNnNUXis4T3s3LXI4NkVFSl82
QWgzal5mR1FSbEFCO0R3bSFSKlRpTUxxNyVmKTUKei1rfHN7Q09tTmN8OCNmVlFCN3MqSC1hT2VE
MmY2aUM1KFV8cTR6ZHFsbVFGflFBJEZPamlOe3cyKnVEKjBZTzdrCnpkVyM0Y3FCUUE5N287ZTQ0
ODFwaiY7eHw8RjdzUCZ0JER2Xm4+V3N6blV9d14/b0NjXiZPUFYqek8mRVhgd248KQp6OHJfMFVm
dXsmVnA8YzI+QzFfPmk5Z3RuRUcyVkArP1V+O2xyeHpDUCswcUlsIWNHRWwlTGpAQiFxPFB6RCZi
PjgKemtTUkB0aiRDIzF4LXlzN2h4NS1tNDlCRUVYUVFLKSN7IVI9JkIqI0RZJCkpNmFnZ1FJKX0+
SytuSUUtPFFhcCEpCnpyRnpqOGpEODxFMWY7XyRiO3Z4aFZuQWNURU0oVVghP1VTS3ZsI2xLP1lg
LW45NjU7I0BhRStCND89S2JZOWA0Zgp6UkhmTThVNmh9P2dlfihMPyhHKVkwUyQ/YFQ5Sm9XJFJ3
cExyWFJ3PTt9LSFNU0dgdHJGM1BlelpsZD5HUzh5ZUEKej9wUUJvTiRWKjlkOU89Uj1EKVV6e0gt
N29WR3A/bk5aQ2RpZnpxVzNGV0Q0cTdET3RwYEdpTkcrRCtMITshNWlECnpMWDw1cUFYZkF+SU9Q
XlF7PGJnclZLbD8qZnc5MSFVTFUrYWV8QjsmPEpjbDwtKUUpdHMxUn52eV9vMUw7cF90dAp6Z0ol
V3ZETHAkTjhrP0FvSURHaG1jWEV0eE5IN3t9WTd3VjlRRlh+O1VjaWNkTF54ZyM/Z0VwIUlKY25h
blZsdkoKejQzQEZIP2FaKDNmansoZnRBdjJXVSNkI2U2THg5TjxKWFpKJFlxV3Jzdyg+JGNkTj9k
PExkTzVAKXlKVFFfRjlMCnpEQXRiNFp5RSkkNUhHa2IqPEBqfnQ9bUV0a05QWkNORGNSKTRxNj40
S2U2YW81Zmlje2IkPm9HMSk/ZVBCJlJeegp6NDRpJXA4UkkxZ0tyUHVkNjlYI35KRH5HUkx5dlF0
RXpWWSFNdWt7Uys8d0x9QT5iNH1CK2ZEO3ZwdFRUQWJXTXQKellLZDJ1Ul5PT2l2Z3VPRjBHOXZO
cXgxQzVXYXdRLUZQVjZhPW44SUFMTE5kIzUoUzckQkU0ZFB6QTBCN2BgQkZnCnp8SHBuQ149TD9p
N2hSeyFITjBNUWNZP1piaSMyJXZ4TV5se3h+JFUrNjE/Zm1sYElEaVVWb1dwKHVPUFo2RDFaMQp6
cCFlOUVVbypGQUMlR3xMZFI8SHlGN2cpMFh1Q19gcl5pUFBBfnd+OW1MakdpdGFpYjApTExPdEI2
blZkT0hORloKem9RO0x+Xz8/emAzQjdTYmxPISNLamItRShBZEBhck9HTEl4b2hUMEQpc1hYYUhR
YEBFcHppSH1HIW9nKz9sQn59CnoxREQ3czV3fTQ0X2Y2Zi1hb3heMD0zQVpZNVR5bGtwMVVsTlN7
MklndCVBUFFfckpXK3ZMT0VuZytGcVY+bmtYewp6ckQjYXFFTH0qbik7LUtQNjczRnV4dlJ5RShX
NlhuLVg/PlU3ZnhqfnlneDY3ViZGRHo2dE9ydm0kfSY8O2ZDbHcKejhldURGdzlOI04wYWhpYmlv
bU1taX0/JXU4O35NRU5CbGp4I0dWWnU/M29ARlRpcVdFO3AzWS01PXR8fnFSV19XCnpyQCM/KDdK
RHwtbFRjNE1FKmd7MGJsYG9kJFY2KF5eNU5xKjNtV01yX0IhKjVfSWJUfUdXNnI/dyNIUlQ8RVRC
YAp6KXtTP3M5ZGckJUZYLW5EbkRHTGNYVEhhXiY9SzBoMW8kKCFiJkFWKXNrY20xKkslKT5YMCF9
RHdwPEswSjI3TCUKenUmMyhBTVYtTEJzN3dsOWRHKVBzPWVLQV9YempDPD5vaGVwcH1ZKGstTUFh
RGV3ajR3bjtyQWNCY3c8UGVTeUhiCnpHZGw0ZHA9b15hN09jLVk7T2VwT0dTWkJ0UkBncXooOGla
K2ZCfFg+bmAoRjVuRj8zZCp6QSpQS0YhUWk0PkRpTAp6VSp1NlRvRD13N0B+b2RtNTZrd09TRWZr
RDluazNAa3pPTGYpaDBqMjxkJHh+WXh5cE1yaV85eT9Yd308KTt8aTMKeldobW5WMEpPNkB6KDh1
Mz50MUBZLVN8VlZDUEVWaTZoU0MhNEU+allHNEhRcjgkSWopRVE/eVIhaVlSTEdVV285CnpRa0tZ
USUybUJtWjt+MXl6NkJSTHMpVXh2UkghKTshe2RYZig3STFmTztuQlNZfHcxPUptVko4Sk42Ty1P
RGVuIwp6RjV7Xn5LZGVYRmZpcWxHTkFjMVhgITlCemh1T1VpVXImI0ZDKUZVK1o/eyF6VDs1dWMk
cykmZ3Axbn1DWXRONGMKejJIZTVQZCQ0ZCR0ZGtCZlllPERCJVFhVW1qUHY3aHIrViNPMmtAMSRa
SlBwc2NhMTEyVkFzMXdmMnV0Y0BVQWhJCnoyLU85PVluV2t0Q0EocWlYI1RldEtIc3RwJGxQRU1N
JTxvXz58I35zVnlwaEhFSDBUUVhTOW90JG5lVCNBQEk4egp6NVF0QHcjZFZPJDNsMCNFbDdkQkNQ
TWZnaTAlakhjaSVFVXcpSip+e0g7JlUpaGJFTUlfRG0oUkZGTD1ATHpmV04KeldrbEg1akhrdTZU
ejVkdXU2PFAwclYqSlJkPDE8OHJfM285VWNHRlBKbShJPkV3cjA/ZHRoTzx6eiV3PCUxbWxuCnpr
aFJAcWZhUmhWZU9nfnBAby1hOTRadzF0PVk2MENMbEdDVEgpZ0w9WGZreSFMPERwSmdUNGVQeTdo
UUkqOX45Qwp6T3JpfjI5MVFOTThzTGdVPW9eVyRNe2AmWXk3b0w/UWxDcHBlUUw/ZXRLfDZMOTNq
diQqNSt8S3UmMFpRTWdWKWQKemN+VE88by1QKFA3R1p2OFFMRTBJNnAybz8meDJKfCpUe0RGbmg1
czcrandkdTZYeENwJD89Pkk0UE4lM04tVi1kCnoyMytENF4tPVRJMH0+emx4MkxfPCV3Y1g7VGts
cEJOaCtNUVJTKVYlUSpMNXApTnY7RyVOKnRqVnExPUtyPiZFZQp6KC1TKGNVSUZUKFg4NWQ2PlI7
MHdrQGpvWSpJUmZEZFRKOXRhVk5gb1g2PDAxQ2sqa15uOXQ4TV88VFF1QWNHKXYKentmOCl3XihI
PkM3KUp6N21tRGJTeyVNVDQ3JiFmYVVCQDZ1PWxCcys1QkglKCYqcjdjPW49RC1jUUFuZ0UrYDJj
Cnp4TTkzbT16WSZ5Q3k5MnIrRWxsUUFRYm88eSNaX0YkMF5QbDVqMH52d0pIXjE+WmVjVzEzUGY5
eSV8MjItb1JnPgp6UGFePXg/Qzd6I2BMYl9xYj9qWk5geChCMk43K0IlJSNCWVBwdCo8ISpRKE1L
c28qbmpBUWFVP2lQMVI4LWQ+Wk8KejRMKiN8dCtfQCU1fnp7U1hWMGskTXUzUyNEQVU4NjAhKmFa
cmRvaUJHfGIzQGVWOVdORClAdGdxKkRYZFcobSRGCnpVdVU2VSkjPFFRYUhBMXRKSWErI0E+Xll4
MyFjSH15aT4keyF8JSUlSTNCWG5CczE8ITZZd1BCWV5TU2tWTTg9cwp6U2hKY1d1bSMlZ24/Unhx
NGAxaXwrX2Q8ISZxNFl6YF9YbU08IVRmV0ZVTmcyS35GYitnUjRjb2V1b18zdWBLI2QKem1gZm5r
cWxkIT0ha15PbDQtQ2dzRTNfVyNIZTFgWFdpN0MhJEYkc1RaTSVoVzlPKCZxQDViJSRMQElFWmY0
KTFzCnpSUF8xTmYoKTZTZXlsZDNmVE0wZSh0NFhDd0ZxQDVRUz9zVDBHSHFOSUhLflVMR2JEeGpz
U2xpMTs3aGtrUnhjewp6SjhVdkdnUjlGTVpTZ283RU1CY3dLV3FXV1BtJjFVR0k/ZlA/eyt7Nm9N
elI8RiRiKi1wWlV2V0d+UHstVjwxU2MKekJNVjBQdWRBREFpb21TajBfYkkqKlFZQDZKenIhY2pa
PkB1am4/Vm0tdHg7JGsxeDhLcStNTilzSDg5SSF9Jm1eCnpLK2V4NHhGOWlIcD1raiVaN2c/UDFD
SDhtQFZrMClMTFpEZW0kZmxQajZhX3dtXiVqVzQoTUx6VW9TX2dXc1oxcgp6RHFxVCMjdkZSI3k2
PTxgO1dfJm1lcE5NWUN0NjA/SEk4JHcmNzZMOHR1Ql5KT1FSUmM1fispbiMoNHtPb1kkVj4Kekc1
JHdHcG5iNVplTEBBXjQzMklgeTQkMlFpdiFKJHgoM2cma08oRj53aDkzKE5uTTQzalB4VGRgOysx
JntKcS0hCnpDTmlPdSomO1hLN1B1OFprRWVvbGc8YkR+Xnc8Szx7QGtQa05gKWBobn03Nll4Yktu
TD5KSlB2OVQ4cCtkeWA+Qwp6aGAwcl5CcjJ4SW9uYVUzQylJdmAzN0U4ZmdxRj4ocTRsbmFgSSVu
K0ZyJnAmVGg4eVV3Pm9mZlc0PiZtQTNQeTIKek0/K0dZSDhqVFhUUyUtPUtrY1orYitjKEVYdWt+
Y2ltKXhNdE0weUZ5WSZONUdfX0F8TlBudG9galU9fmEzM1J6CnpFJig0IS0/UDI3ZnZgQyFiTilp
ZjtXdkVZeypYLUtBeFdBckJifUJlaHBxKUUzKmAheGcrelh0RF9ffTNkSHd5KAp6KyghP0A3V2oz
R0hYQHQ/SCs9aTVpdWJFfFR9SEs8JVBuRmE0cFhFe0g4VW9VUSsyKTk3OUxaZFB9Pk41ITd9aXAK
elFwTyZob3Vyb3FDRG5MPzlfe09EMUg+KT4wMFV3USlkQVdDKDVlNlc0IS0heGdSP1EqOTZpRlRa
IVEra0BpWGZBCnptZVVKT1Y+dms5TXp1MXF6bip2QGgkc0NWVGpjUTsqbWxvZ2psQ1Z+MXxNc0sk
fkhaSm9WYyZoQj5ZSytgWkVpTAp6eDthNlplM013P2xNZClsRUIlQGMkUU81WEoxazg/WXl0OzRA
NFhGNip4MVdXRlZFdmd6dEAxYzVqUyl2KUVwOC0KenZZMmptYzhfPnBFVWEweUN5X190MCF+JGFE
X1B0UTdvX3ItRnlER2A8Yzg2ajBVV0g7V0M5YiNuZ0VgWiglITlpCnohbD14biVKUVJ9QFBpfHco
Xyl5PWV1QVE7Snl4ZTFgS30lVGJGTjFxbyZ6Q2dSYmFJMEJZXmtrJSNYNXFWeGwqMQp6JEZIeDRr
NX0xcHZfT1V1R0xIKjRmUzRXVmV2fF4zZGcxcX02NmYkZVJuWiFmK1QoNUxxMEllMChkWGB0YD9L
eiEKem9QVXR3NWhUQ1NEbTxkN3o+UCRUWE98Iz83WChPenhXVXt+czZOVDB5M2cmZERKb3olb342
QEBad0JXNXJzU2R4Cno1cEVgJE0jP0RieVZePEcwa007QF9BS1AhMXcqSDUwbyYtUV91Rzk4KXVN
OVp4KkUtfElQSFpzaktgbSpSdDhBPwp6LTFLd1ZQbTZ8aysqPTk8PEpfI2FQZEhGantUZH5rUnA4
TXoqZyQmcSF7T0YtZEArM214Nk08NFNhYlRyOX5+O2IKelJyfH59KCVsXnpqYHFCMiFzb2ZUNyFV
fE9LKmA0QXxOM09iR1JmLVJfbHV9SXdsVj1pezRWYnVMYztyNzt9dTdwCnpTQHUkejcrUn4tUnwm
cWVvdFI/KTUoNjJid2ZBdG1vVm5wfXs9TEJ3ZEhlcFJ4KSkxTkNKcnZ8REZ8YFctQG1PQAp6OVZU
V1pZViQkalBeWFF0PGRVfX4zS1FOcW1fcVNmWChnJDZjfihedCotZ2Q1VW9Hb0QhRkReaXVIfG5W
WWRRYHIKemAzME1BKj9pYjdBIyVlPjBVcys5SzIxaVZyTENvJmRfZ0o8YWVSaTdea3Nmez59SyF6
aj5EU2pNVH0waEU+KkFJCnphUEp9YiVLKS13V0pSMkE9TSRUZHhTJkQ0QFhvfTlCRzRoPVN0WTs9
aVRBUXhecVktc3BPT2A9QDZmYkBJa0J0dQp6KC1ARWk3PHAtTEJxV2JqRno3TllkUWhRQG8qQEde
djl+cHRBbiNJJTIlXyM1eW1mSEBNejhhQntwSnhnbkVUKWAKek9SWjZxczN9SV93Mkgtb1VUViZD
bTZeRzY7fSRGalVqO0wjMm1UWiNsdUc8VkZ+bmMtTngjK2FzTU0yVHFpYH16CnpUSD91IW9RaHJj
PHRUNTdKbUkoM1pwSXxITzElZyg5TlR2X250ZTVrJXYrVm43Z3dFbEdRYSFxaStkYXYpdVBfKwp6
dzR+WWxPfi13ZzFxQz4mQmlid0dLVnkoZ1o2TCprM14rI0pIYVFDRVBQNDk8aGd6RTNyYF8ldm0/
WjExYmRYZSgKejU3dnZ4Ry1XeXNOJVZFYFQzQT0oN2okRURiQ0VZMyF0U1k/V31sTzYwbiU3alFh
dnlvfEhYdXE/aH1+Tj97WFNXCnp4QCNAfj9FZEd+dV5DNWQjfkRfPm8wRCZ0PU1efkVsPG9DRllk
QT1LdH5gNGdlaGdpKyNkTypzMSVreyoqU0cxSAp6eWN5NDN3eDtIN2cyfl89Jj1JPU9WVSRFaE9V
JSVtRjF+QTImWlNYcFd4YztJOyQ1fCpOeHF9Pk1LeTBXQFBoU2sKejxUTHpROFN8JlRONDhoZVFa
QlUlQ215UEJxMmEmJiUhdml8VTVGTzkoKmUlSFJTc0FeQl8yZkFWcXAyMVpJNVgoCnpecSRRJUJi
Oyh8Nnd3JndFcDB4I1lKT2Q2M0NpZ3VQPSZyPE1iMlRiQlRCYFRZdWNqVGNpckRPUmtHP0JScDFh
QQp6cXFreG57RUV+N2glTkx8ZHVMZ04oPjBUfFA4NXpaek1AJHlKUjZAMEVPRXFaezItWGhRaW4l
Yl4wNS1ObSZiNG4KemQ+dG16WWdVd3JOZCo8VCgrJUJrcT1hLTVKYWlyNkVxKmFAVExJU2kkVEpn
eHpwNTAkQTRRSi1jUmh3YjdLWjswCnokTnRqWiRhRWlwaDZxdEFmVVVIUXdpO2s3P1l1QVVHKy0t
amJnaWhAWFA9fS1CenhxTiU5UyZ5JGZOVm4heFNeNwp6MDU3RTwrQkxKaTlxPXF6Vzt5bWxkbVEj
Wktncnw5Y3xUKGg/N0pXZ2NrSn5YT1lGI3FkYkUqWVgoX2gzeHE8JnQKekIxezBRamlEWDJJLVlm
bVJXJmZDUWMwbVYtOXd8WEZsUHI7WTZyTHNTMD5aPmhLbn5faml9Z2J0eEkjSit8aSt+CnpuaSN0
PHpwc3hzMntxM3ElNjglND1iaSMoX0dNXyNnfSswWXtpJG9yZEdqZ31WbyEkLTx9IU1pez9md1E/
eTdjYQp6QjNxU2Arbzd4fkwmbmcjYFg1Z2Y1Z35iRTRMej8kR0RwU1JeTV5YJUV0ckhKZ0VWRFBm
I0leIXlPUXhiOGdZNykKekg5WXwtXjZRfmQzNW5EQTQmJUQ/NHNHNVFDLSMpJEFmKnNAUnp1dXtz
VlArbWdmVTIwbytzPUszcVA5YSVWZ2lkCno/NSZ6V0AqU3B4QCUme0BEQUFaT2pfcnBnX0lELWVR
SnNgZ3EjOCt9YmA0JU1tM1J5KHVfSHowWFgrU04rbXZeUQp6Xl5DX3h4YGhDI3pRVHZue0xpV1Ja
LUNNdDx1OzUyKUpJfD1sJUcxQG0menRzUnstang3PjhaOyhOTCpkSFAtaEcKekQwc088a1RCSE9E
X3ZgOCohMVh3VWZEI2lfZ0xCZ25HRnZkNy1vREs9cC16NVgjQmA3TyliRV9STGRRZjl1YileCnpF
QDBzPGB2Rip3eDtKJEVJe0pSQUJLV2BBJkl4MGNaMTxGelhoOHBPbzdpc2ZQPVFCUUcyNTBXPlQ9
Wk9oZiNkVQp6ITRzQDZ1YTFiRT5eMUp0O18kPT9tLWc3dXEtUjV6M0ApOWk7dGdYc0Ywa0JQLVlg
VDY8PFJQQzN0WnFydnxZNEIKeiF9aU9YVUR+dEVFZExOYHIqWntsNFoxZURDUHI2T3ZuM2A7Wks7
TCFCZCZZRXVXZlU7UVR1Tio0VG9vbGAzfXl5Cno/YXZXPCElT1k7Mn5GPT1lbW1ldW9XRnBmeEQ9
Rzk8fmJvWUQqJWpsSGpTZUcmdzNJMXVTbjdGSDV8VDQ5dm8kaAp6OWA8NnQ9RSRqSHgqbTNicnVF
RlZ5SjUkaz5nSGZiIXBJYzhxKHNQdVFvV3QlQ2lQTm95ZlEmRVdXOCtXTWlQfUsKemV7fSolZ2VU
a2twPUpnZC1gdG5kTUFWSUBtTTUlLXVAZURDTGxzXnF5dipRLTBecTdFazNsUEd7JCNxeHhCQzZC
CnpHZkJRdkBrT1RZezBWOW9zVWY4RHJEVzZgJlNNNDd6VjdgLVl8Q0EmVCM3PXNYLVdvJlpISmZk
VGRuUmxFeWpxaAp6M1l1OFkmN0NHfXVBaGQ4allUVDwwZkEoamxaeENPNXgtV1llVngmOCV9OGFh
VVkkNyk+emFuXzM5SDlATVdRWjQKenFQTkdna1drM25nLVF0eWVZeC1NNV99Z3FMSitFdk8/Ykpq
Pjg8REh3Xjc/QTEqXkY7LW1xO311Y0p4I0lCbTQoCnpnOGV0fEFKRElycD00Mj51VihWNF57WGFv
NEopQF5lXk1MXigyLTZVU3pNVykqT0hScmpLMVF8bWs1KCNJZmgoMwp6bWZsPDF3KnlNZng7MEF3
Xm8pQFJ2azR5JU1vdzEkanw+aSlpc3lpN2BnZEtAeyh4el5XbSFqNUJDeyZqU318YW4Kem9fTik9
SCN+QUw1aE8zYXA7OEUjdWJaT25PP1M9TEMtV21FYm9RPEEwT3NwQT9hdzBSYEspK2p3P3l9akpS
VmFoCnpTR0o7KlZnU09MMkA7ZTJpJFN1JEgyY3NoNlNLVSkoVDZ4eyRBUWt8NiRCcGVONEI/YW9v
QnYlajhMTDZDQmhQeQp6SGRFKl41bzQ0NnYrUmBVc0x7fn1udis/RD9MUyY1QWxUKEVzYTsyfCVi
YStkdHNgPz9zVThNQWU8VGsmPUAwZzsKeno0U3N4OTk8LUBwQ1ExbUhaPnwoRCYyRmQ8MiozUC1q
NGxOTj5TP0gwT1J8X0hQVV8+enlOKlhEfVVHSC1gWFZSCnpGV2Z6fUE2Kmp1Xj9+VUJwaTV+I3ZU
KnFpbil5Mm5ZVEFEKnE1bWlFPTxjb2Y/Pl9oQlB3aHQ5byVqQyRvNjtvUwoKbGl0ZXJhbCAwCkhj
bVY/ZDAwMDAxCgpkaWZmIC0tZ2l0IGEvV2Vic2l0ZXMvd2Via2l0Lm9yZy9kZW1vcy93ZWJtZXRh
bC9oZWxsby5qcyBiL1dlYnNpdGVzL3dlYmtpdC5vcmcvZGVtb3Mvd2VibWV0YWwvaGVsbG8uanMK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uNjIyODVkMTM1ZmU5M2E5NTU1ZWViZWM0ZDdhNzFmMjI5ZjA5MGVmMwotLS0g
L2Rldi9udWxsCisrKyBiL1dlYnNpdGVzL3dlYmtpdC5vcmcvZGVtb3Mvd2VibWV0YWwvaGVsbG8u
anMKQEAgLTAsMCArMSw2NyBAQAorbGV0IGdwdTsKK2xldCBjb21tYW5kUXVldWU7CitsZXQgcmVu
ZGVyUGFzc0Rlc2NyaXB0b3I7CitsZXQgcmVuZGVyUGlwZWxpbmVTdGF0ZTsKKword2luZG93LmFk
ZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBpbml0LCBmYWxzZSk7CisKK2Z1bmN0aW9uIGluaXQoKSB7
CisKKyAgICBpZiAoIWNoZWNrRm9yV2ViTWV0YWwoKSkgeworICAgICAgICByZXR1cm47CisgICAg
fQorCisgICAgbGV0IGNhbnZhcyA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoImNhbnZhcyIpOwor
ICAgIGxldCBjYW52YXNTaXplID0gY2FudmFzLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpOworICAg
IGNhbnZhcy53aWR0aCA9IGNhbnZhc1NpemUud2lkdGg7CisgICAgY2FudmFzLmhlaWdodCA9IGNh
bnZhc1NpemUuaGVpZ2h0OworCisgICAgZ3B1ID0gY2FudmFzLmdldENvbnRleHQoIndlYm1ldGFs
Iik7CisgICAgY29tbWFuZFF1ZXVlID0gZ3B1LmNyZWF0ZUNvbW1hbmRRdWV1ZSgpOworCisgICAg
bGV0IGxpYnJhcnkgPSBncHUuY3JlYXRlTGlicmFyeShkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
bGlicmFyeSIpLnRleHQpOworICAgIGxldCB2ZXJ0ZXhGdW5jdGlvbiA9IGxpYnJhcnkuZnVuY3Rp
b25XaXRoTmFtZSgidmVydGV4X21haW4iKTsKKyAgICBsZXQgZnJhZ21lbnRGdW5jdGlvbiA9IGxp
YnJhcnkuZnVuY3Rpb25XaXRoTmFtZSgiZnJhZ21lbnRfbWFpbiIpOworCisgICAgaWYgKCFsaWJy
YXJ5IHx8ICFmcmFnbWVudEZ1bmN0aW9uIHx8ICF2ZXJ0ZXhGdW5jdGlvbikgeworICAgICAgICBy
ZXR1cm47CisgICAgfQorCisgICAgbGV0IHBpcGVsaW5lRGVzY3JpcHRvciA9IG5ldyBXZWJNZXRh
bFJlbmRlclBpcGVsaW5lRGVzY3JpcHRvcigpOworICAgIHBpcGVsaW5lRGVzY3JpcHRvci52ZXJ0
ZXhGdW5jdGlvbiA9IHZlcnRleEZ1bmN0aW9uOworICAgIHBpcGVsaW5lRGVzY3JpcHRvci5mcmFn
bWVudEZ1bmN0aW9uID0gZnJhZ21lbnRGdW5jdGlvbjsKKyAgICAvLyBOT1RFOiBPdXIgQVBJIHBy
b3Bvc2FsIGhhcyB0aGVzZSB2YWx1ZXMgYXMgZW51bXMsIG5vdCBjb25zdGFudCBudW1iZXJzLgor
ICAgIC8vIFdlIGhhdmVuJ3QgZ290IGFyb3VuZCB0byBpbXBsZW1lbnRpbmcgdGhlIGVudW1zIHll
dC4KKyAgICBwaXBlbGluZURlc2NyaXB0b3IuY29sb3JBdHRhY2htZW50c1swXS5waXhlbEZvcm1h
dCA9IGdwdS5QaXhlbEZvcm1hdEJHUkE4VW5vcm07CisKKyAgICByZW5kZXJQaXBlbGluZVN0YXRl
ID0gZ3B1LmNyZWF0ZVJlbmRlclBpcGVsaW5lU3RhdGUocGlwZWxpbmVEZXNjcmlwdG9yKTsKKwor
ICAgIHJlbmRlclBhc3NEZXNjcmlwdG9yID0gbmV3IFdlYk1ldGFsUmVuZGVyUGFzc0Rlc2NyaXB0
b3IoKTsKKyAgICAvLyBOT1RFOiBPdXIgQVBJIHByb3Bvc2FsIGhhcyBzb21lIG9mIHRoZXNlIHZh
bHVlcyBhcyBlbnVtcywgbm90IGNvbnN0YW50IG51bWJlcnMuCisgICAgLy8gV2UgaGF2ZW4ndCBn
b3QgYXJvdW5kIHRvIGltcGxlbWVudGluZyB0aGUgZW51bXMgeWV0LgorICAgIHJlbmRlclBhc3NE
ZXNjcmlwdG9yLmNvbG9yQXR0YWNobWVudHNbMF0ubG9hZEFjdGlvbiA9IGdwdS5Mb2FkQWN0aW9u
Q2xlYXI7CisgICAgcmVuZGVyUGFzc0Rlc2NyaXB0b3IuY29sb3JBdHRhY2htZW50c1swXS5zdG9y
ZUFjdGlvbiA9IGdwdS5TdG9yZUFjdGlvblN0b3JlOworICAgIHJlbmRlclBhc3NEZXNjcmlwdG9y
LmNvbG9yQXR0YWNobWVudHNbMF0uY2xlYXJDb2xvciA9IFswLjM1LCAwLjY1LCAwLjg1LCAxLjBd
OworCisgICAgcmVuZGVyKCk7Cit9CisKK2Z1bmN0aW9uIHJlbmRlcigpIHsKKworICAgIGxldCBj
b21tYW5kQnVmZmVyID0gY29tbWFuZFF1ZXVlLmNyZWF0ZUNvbW1hbmRCdWZmZXIoKTsKKyAgICBs
ZXQgZHJhd2FibGUgPSBncHUubmV4dERyYXdhYmxlKCk7CisgICAgcmVuZGVyUGFzc0Rlc2NyaXB0
b3IuY29sb3JBdHRhY2htZW50c1swXS50ZXh0dXJlID0gZHJhd2FibGUudGV4dHVyZTsKKworICAg
IGxldCBjb21tYW5kRW5jb2RlciA9IGNvbW1hbmRCdWZmZXIuY3JlYXRlUmVuZGVyQ29tbWFuZEVu
Y29kZXJXaXRoRGVzY3JpcHRvcihyZW5kZXJQYXNzRGVzY3JpcHRvcik7CisgICAgY29tbWFuZEVu
Y29kZXIuc2V0UmVuZGVyUGlwZWxpbmVTdGF0ZShyZW5kZXJQaXBlbGluZVN0YXRlKTsKKworICAg
IC8vIE5PVEU6IFdlIGRpZG4ndCBhdHRhY2ggYW55IGJ1ZmZlcnMuIFdlIGNyZWF0ZSB0aGUgZ2Vv
bWV0cnkgaW4gdGhlIHZlcnRleCBzaGFkZXIgdXNpbmcKKyAgICAvLyB0aGUgdmVydGV4IElELgor
CisgICAgLy8gTk9URTogT3VyIEFQSSBwcm9wb3NhbCB1c2VzIHRoZSBlbnVtIHZhbHVlICJ0cmlh
bmdsZSIgaGVyZS4gV2UgaGF2ZW4ndCBnb3QgYXJvdW5kIHRvIGltcGxlbWVudGluZyB0aGUgZW51
bXMgeWV0LgorICAgIGNvbW1hbmRFbmNvZGVyLmRyYXdQcmltaXRpdmVzKGdwdS5QcmltaXRpdmVU
eXBlVHJpYW5nbGUsIDAsIDMpOworCisgICAgY29tbWFuZEVuY29kZXIuZW5kRW5jb2RpbmcoKTsK
KyAgICBjb21tYW5kQnVmZmVyLnByZXNlbnREcmF3YWJsZShkcmF3YWJsZSk7CisgICAgY29tbWFu
ZEJ1ZmZlci5jb21taXQoKTsKK30KZGlmZiAtLWdpdCBhL1dlYnNpdGVzL3dlYmtpdC5vcmcvZGVt
b3Mvd2VibWV0YWwvaW5kZXguaHRtbCBiL1dlYnNpdGVzL3dlYmtpdC5vcmcvZGVtb3Mvd2VibWV0
YWwvaW5kZXguaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5hOTE5MTRkY2QzY2U3NTY3M2UyNmRlZGVhY2JjODVk
OGM2MTgxNGFhCi0tLSAvZGV2L251bGwKKysrIGIvV2Vic2l0ZXMvd2Via2l0Lm9yZy9kZW1vcy93
ZWJtZXRhbC9pbmRleC5odG1sCkBAIC0wLDAgKzEsMjE3IEBACis8IURPQ1RZUEUgaHRtbD4KKzxo
dG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNl
LXdpZHRoIj4KKzxtZXRhIGh0dHAtZXF1aXY9IkNvbnRlbnQtdHlwZSIgY29udGVudD0idGV4dC9o
dG1sOyBjaGFyc2V0PXV0Zi04Ij4KKzx0aXRsZT5XZWJNZXRhbCBkZW1vczwvdGl0bGU+Cis8bGlu
ayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Imh0dHBzOi8vd2Via2l0Lm9yZy93cC1jb250ZW50L3Ro
ZW1lcy93ZWJraXQvc3R5bGUuY3NzIj4KKzxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iaHR0
cHM6Ly93d3cuYXBwbGUuY29tL3dzcy9mb250cz9mYW1pbHk9TXlyaWFkK1NldCtQcm8mYW1wO3Y9
MSI+Cis8c3R5bGU+CisqIHsKKyAgICAtLWJhY2s6IHJnYigxMzAsIDEzMCwgMTI2KTsKKyAgICAt
LWRhcms6IHJnYig2NSwgNjUsIDYzKTsKKyAgICAtLXN1Yi1oaWdobGlnaHQ6IHJnYigxNDgsIDE3
NiwgODMpOworICAgIC0taGlnaGxpZ2h0OiByZ2IoMTg5LCAyMzUsIDcpOworICAgIC0tYm9keTog
cmdiKDIyNCwgMjI0LCAyMjQpOworICAgIC0tYm9keS1kYXJrZXI6IHJnYigyMDQsIDIwNCwgMjA0
KTsKK30KKworYm9keSB7CisgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYm9keSk7CisgICAg
Y29sb3I6IHZhcigtLWRhcmspOworICAgIG1hcmdpbjogMDsKKyAgICBwYWRkaW5nOiAwOworICAg
IGxpbmUtaGVpZ2h0OiAxLjQ7Cit9CisKK2hlYWRlciB7CisgICAgcG9zaXRpb246IHJlbGF0aXZl
OworICAgIGhlaWdodDogMjB2dzsKKyAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1iYWNrKTsK
KyAgICBvdmVyZmxvdzogaGlkZGVuOworICAgIGJvcmRlci1ib3R0b206IG5vbmU7Cit9CisKK2hl
YWRlciAqIHsKKyAgICBwb3NpdGlvbjogYWJzb2x1dGU7CisgICAgdG9wOiAwOworICAgIGxlZnQ6
IDMwdnc7Cit9CisKK2hlYWRlciBpbWcgeworICAgIHdpZHRoOiA0MHZ3OworICAgIGhlaWdodDog
NDB2dzsKKyAgICBhbmltYXRpb246IHNwaW4gNjBzIGluZmluaXRlIGxpbmVhcjsKK30KKworQGtl
eWZyYW1lcyBzcGluIHsKKyAgZnJvbSB7CisgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTsK
KyAgfQorICB0byB7CisgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpOworICB9Cit9CisK
K2gxIHsKKyAgICB0b3A6IDEwdnc7CisgICAgd2lkdGg6IDQwdnc7CisgICAgbWFyZ2luOiAwIGF1
dG87CisgICAgZm9udC1zaXplOiA1dnc7CisgICAgdGV4dC1hbGlnbjogY2VudGVyOworICAgIGZv
bnQtd2VpZ2h0OiBib2xkOworICAgIGNvbG9yOiB2YXIoLS1kYXJrKTsKKyAgICBsaW5lLWhlaWdo
dDogMS4wOworICAgIHRleHQtc2hhZG93OiAwcHggMnB4IDBweCB2YXIoLS1iYWNrKTsKK30KKwor
c2VjdGlvbi5kZW1vcyB7CisgICAgZGlzcGxheTogZ3JpZDsKKyAgICBtYXJnaW46IDV2dyAyMHZ3
OworICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMTZ2dyAxNnZ3IDE2dnc7CisgICAgZ3JpZC1n
YXA6IDZ2dzsKK30KKworc2VjdGlvbiBwIHsKKyAgICBwYWRkaW5nOiAxMnB4IDIwcHg7CisgICAg
Y29sb3I6IHZhcigtLWRhcmspOworfQorCitzZWN0aW9uIHAgYSB7CisgICAgdGV4dC1kZWNvcmF0
aW9uOiBub25lOworICAgIGNvbG9yOiB2YXIoLS1zdWItaGlnaGxpZ2h0KTsKKyAgICBmb250LXdl
aWdodDogYm9sZDsKK30KKworLmludHJvIHsKKyAgICBncmlkLWNvbHVtbjogMSAvIDQ7CisgICAg
Z3JpZC1yb3c6IDE7Cit9CisKKy5ob3d0byB7CisgICAgZ3JpZC1jb2x1bW46IDEgLyA0OworICAg
IGdyaWQtcm93OiAyOworfQorCisud2FybmluZyB7CisgICAgZ3JpZC1jb2x1bW46IDEgLyA0Owor
ICAgIGdyaWQtcm93OiAzOworICAgIGJvcmRlcjogMnB4IHNvbGlkIHZhcigtLXN1Yi1oaWdobGln
aHQpOworICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWhpZ2hsaWdodCk7CisgICAgY29sb3I6
IGJsYWNrOworfQorCisuZXhhbXBsZSB7CisgICAgYm9yZGVyOiAycHggc29saWQgdmFyKC0tc3Vi
LWhpZ2hsaWdodCk7CisgICAgdGV4dC1hbGlnbjogY2VudGVyOworICAgIHBhZGRpbmc6IDEwcHgg
MTBweDsKKyAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1ib2R5LWRhcmtlcik7Cit9CisKKy5l
eGFtcGxlIGltZyB7CisgICAgYmFja2dyb3VuZC1jb2xvcjogYmxhY2s7CisgICAgYm9yZGVyOiAx
cHggc29saWQgYmxhY2s7CisgICAgYm94LXNpemluZzogYm9yZGVyLWJveDsKKyAgICB3aWR0aDog
MTJ2dzsKKyAgICBoZWlnaHQ6IDEydnc7Cit9CisKKy5leGFtcGxlIGEgeworICAgIHRleHQtZGVj
b3JhdGlvbjogbm9uZTsKKyAgICBjb2xvcjogdmFyKC0tZGFyayk7Cit9CisKK0BtZWRpYSBvbmx5
IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjAwcHgpIHsKKyAgICBoZWFkZXIgeworICAgICAgICBo
ZWlnaHQ6IDQwdnc7CisgICAgfQorCisgICAgaGVhZGVyICogeworICAgICAgICBsZWZ0OiAxMHZ3
OworICAgIH0KKworICAgIGhlYWRlciBpbWcgeworICAgICAgICB3aWR0aDogODB2dzsKKyAgICAg
ICAgaGVpZ2h0OiA4MHZ3OworICAgIH0KKworICAgIGgxIHsKKyAgICAgICAgdG9wOiAyMHZ3Owor
ICAgICAgICB3aWR0aDogODB2dzsKKyAgICAgICAgZm9udC1zaXplOiAxMHZ3OworICAgIH0KKwor
ICAgIHNlY3Rpb24uZGVtb3MgeworICAgICAgICBtYXJnaW46IDV2dyA1dnc7CisgICAgICAgIGdy
aWQtdGVtcGxhdGUtY29sdW1uczogOTB2dzsKKyAgICAgICAgZ3JpZC1nYXA6IDZ2dzsKKyAgICB9
CisKKyAgICAuaW50cm8sIC5ob3d0bywgLndhcm5pbmcgeworICAgICAgICBncmlkLWNvbHVtbjog
MTsKKyAgICB9CisKKyAgICAuZXhhbXBsZSBpbWcgeworICAgICAgICB3aWR0aDogNzB2dzsKKyAg
ICAgICAgaGVpZ2h0OiA3MHZ3OworICAgIH0KK30KKworPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5
PgorICAgIDxoZWFkZXI+CisgICAgICAgIDxpbWcgc3JjPSJjaXJjbGUuc3ZnIj4KKyAgICAgICAg
PGgxPldlYk1ldGFsPGJyPmRlbW9zPC9oMT4KKyAgICA8L2hlYWRlcj4KKyAgICA8c2VjdGlvbiBj
bGFzcz0iZGVtb3MiPgorICAgICAgICA8cCBjbGFzcz0iaW50cm8iPgorICAgICAgICAgICAgSGVy
ZSBhcmUgYSBjb2xsZWN0aW9uIG9mIHNpbXBsZSA8YQorICAgICAgICAgICAgaHJlZj0iaHR0cHM6
Ly93ZWJraXQub3JnL2Jsb2cvNzM4MC9uZXh0LWdlbmVyYXRpb24tM2QtZ3JhcGhpY3Mtb24tdGhl
LXdlYi8iPldlYk1ldGFsPC9hPgorICAgICAgICAgICAgZXhhbXBsZXMuIFRoZXkgc2hvdWxkIHdv
cmsgaW4gdGhlIGxhdGVzdCA8YQorICAgICAgICAgICAgaHJlZj0iaHR0cHM6Ly9kZXZlbG9wZXIu
YXBwbGUuY29tL3NhZmFyaS90ZWNobm9sb2d5LXByZXZpZXcvIj5TYWZhcmkKKyAgICAgICAgICAg
ICBUZWNobm9sb2d5IFByZXZpZXc8L2E+IHJlbGVhc2VzLCBhcyB3ZWxsIGFzIDxhCisgICAgICAg
ICAgICBocmVmPSJodHRwczovL3dlYmtpdC5vcmcvbmlnaHRseS8iPm5pZ2h0bHkgV2ViS2l0PC9h
PiBidWlsZHMuIEF0CisgICAgICAgICAgICB0aGUgbW9tZW50IHRoZXJlIGFyZSBhIGZldyBzbWFs
bCBkaWZmZXJlbmNlcyBiZXR3ZWVuIHRoZQorICAgICAgICAgICAgaW1wbGVtZW50YXRpb24gYW5k
IHRoZSA8YQorICAgICAgICAgICAgaHJlZj0iaHR0cHM6Ly93ZWJraXQub3JnL3dwLWNvbnRlbnQv
dXBsb2Fkcy93ZWJtZXRhbC1hcGktcHJvcG9zYWwuaHRtbAorICAgICAgICAgICAgIj5kb2N1bWVu
dGVkIHByb3Bvc2FsPC9hPiwgbW9zdCBvZiB3aGljaCBhcmUgZG9jdW1lbnRlZCBpbiB0aGUgY29k
ZS4KKyAgICAgICAgPC9wPgorICAgICAgICA8cCBjbGFzcz0iaG93dG8iPgorICAgICAgICAgICAg
TWFrZSBzdXJlIHlvdSBhcmUgb24gYSBzeXN0ZW0gd2l0aCBXZWJNZXRhbCBlbmFibGVkLiBJbiBT
YWZhcmksIGZpcnN0CisgICAgICAgICAgICBtYWtlIHN1cmUgdGhlIERldmVsb3BlciBNZW51IGlz
IHZpc2libGUgKFByZWZlcmVuY2VzIOKGkiBBZHZhbmNlZCksCisgICAgICAgICAgICB0aGVuIERl
dmVsb3Ag4oaSIEV4cGVyaW1lbnRhbCBGZWF0dXJlcyDihpIgRW5hYmxlIFdlYk1ldGFsLgorICAg
ICAgICA8L3A+CisgICAgICAgIDxwIGNsYXNzPSJ3YXJuaW5nIj4KKyAgICAgICAgICAgIFdlYk1l
dGFsIGlzIGFuIGV4cGVyaW1lbnRhbCB0ZWNobm9sb2d5LCBhbmQgeW91IHNob3VsZCBub3QgYnJv
d3NlIHRoZSBlbnRpcmUKKyAgICAgICAgICAgIFdlYiB3aXRoIGl0IGVuYWJsZWQgZm9yIG5vdy4g
SXQgZG9lc24ndCBkbyBhbnkgdmFsaWRhdGlvbiBvZiBjb250ZW50LCBhbmQKKyAgICAgICAgICAg
IHRodXMgbWF5IGNhdXNlIHNvbWUgaXNzdWVzIHdpdGggeW91ciBjb21wdXRlci4KKyAgICAgICAg
PC9wPgorICAgICAgICA8ZGl2IGNsYXNzPSJleGFtcGxlIj4KKyAgICAgICAgICAgIDxhIGhyZWY9
ImhlbGxvLmh0bWwiPgorICAgICAgICAgICAgPGltZyBzcmM9ImhlbGxvLmpwZyI+PGJyPgorICAg
ICAgICAgICAgSGVsbG8gV29ybGQgVHJpYW5nbGUKKyAgICAgICAgICAgIDwvYT4KKyAgICAgICAg
PC9kaXY+CisgICAgICAgIDxkaXYgY2xhc3M9ImV4YW1wbGUiPgorICAgICAgICAgICAgPGEgaHJl
Zj0iMmQuaHRtbCI+CisgICAgICAgICAgICA8aW1nIHNyYz0iMmQuanBnIj48YnI+CisgICAgICAg
ICAgICAyZC1kcmF3aW5nIGxpa2UgU2hhZGVydG95CisgICAgICAgICAgICA8L2E+CisgICAgICAg
IDwvZGl2PgorICAgICAgICA8ZGl2IGNsYXNzPSJleGFtcGxlIj4KKyAgICAgICAgICAgIDxhIGhy
ZWY9InNpbXBsZS5odG1sIj4KKyAgICAgICAgICAgIDxpbWcgc3JjPSJzaW1wbGUuanBnIj48YnI+
CisgICAgICAgICAgICBTaW1wbGUgU3Bpbm5pbmcgQ3ViZQorICAgICAgICAgICAgPC9hPgorICAg
ICAgICA8L2Rpdj4KKyAgICAgICAgPGRpdiBjbGFzcz0iZXhhbXBsZSI+CisgICAgICAgICAgICA8
YSBocmVmPSJjdWJlcy5odG1sIj4KKyAgICAgICAgICAgIDxpbWcgc3JjPSJjdWJlcy5qcGciPjxi
cj4KKyAgICAgICAgICAgIEFuaW1hdGluZyBDdWJlcworICAgICAgICAgICAgPC9hPgorICAgICAg
ICA8L2Rpdj4KKyAgICA8L3NlY3Rpb24+Cis8L2Rpdj4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAt
LWdpdCBhL1dlYnNpdGVzL3dlYmtpdC5vcmcvZGVtb3Mvd2VibWV0YWwvc2hhcmVkLmNzcyBiL1dl
YnNpdGVzL3dlYmtpdC5vcmcvZGVtb3Mvd2VibWV0YWwvc2hhcmVkLmNzcwpuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4y
MzUxNDQ5NTQ0OTg3MmY0MWQ3NDY1ZmY3YjQ0OGJjYjAyNDk3ZTE4Ci0tLSAvZGV2L251bGwKKysr
IGIvV2Vic2l0ZXMvd2Via2l0Lm9yZy9kZW1vcy93ZWJtZXRhbC9zaGFyZWQuY3NzCkBAIC0wLDAg
KzEsNDUgQEAKK2JvZHkgeworICAgIGJhY2tncm91bmQtY29sb3I6IHJnYigzNSUsIDY1JSwgODUl
KTsKKyAgICBtYXJnaW46IDA7CisgICAgcGFkZGluZzogMDsKKyAgICBoZWlnaHQ6IDEwMHZoOwor
ICAgIGRpc3BsYXk6IGZsZXg7CisgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKKyAgICBqdXN0aWZ5
LWNvbnRlbnQ6IGNlbnRlcjsKK30KKworY2FudmFzIHsKKyAgICBkaXNwbGF5OiBibG9jazsKKyAg
ICB3aWR0aDogMTAwdnc7CisgICAgaGVpZ2h0OiAxMDB2aDsKK30KKworYm9keS5lcnJvciB7Cisg
ICAgYmFja2dyb3VuZC1jb2xvcjogcmdiKDg1JSwgMzUlLCAzNSUpOworfQorCitib2R5LmVycm9y
IGNhbnZhcyB7CisgICAgZGlzcGxheTogbm9uZTsKK30KKworI2Vycm9yIHsKKyAgICBtYXJnaW46
IDA7CisgICAgcGFkZGluZzogMDsKKyAgICB3aWR0aDogNTB2dzsKKyAgICBkaXNwbGF5OiBub25l
OworICAgIHRleHQtYWxpZ246IGNlbnRlcjsKK30KKworYm9keS5lcnJvciAjZXJyb3IgeworICAg
IGRpc3BsYXk6IGJsb2NrOworfQorCisjZXJyb3IgaDIgeworICAgIGZvbnQtd2VpZ2h0OiBib2xk
OworICAgIGZvbnQtc2l6ZTogNDBweDsKKyAgICBtYXJnaW4tYm90dG9tOiAyMHB4OworfQorCisj
ZXJyb3IgcCB7CisgICAgZm9udC1zaXplOiAzMHB4OworfQpkaWZmIC0tZ2l0IGEvV2Vic2l0ZXMv
d2Via2l0Lm9yZy9kZW1vcy93ZWJtZXRhbC9zaGFyZWQuanMgYi9XZWJzaXRlcy93ZWJraXQub3Jn
L2RlbW9zL3dlYm1ldGFsL3NoYXJlZC5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi45NjVmYjBkODQyNTg0ODRmZDAz
YjRjNGNjMzMxZTE2ZTFkZTYzYzZkCi0tLSAvZGV2L251bGwKKysrIGIvV2Vic2l0ZXMvd2Via2l0
Lm9yZy9kZW1vcy93ZWJtZXRhbC9zaGFyZWQuanMKQEAgLTAsMCArMSwxMSBAQAorY29uc3QgaGFz
V2ViTWV0YWwgPSAoKSA9PiB7CisgICAgcmV0dXJuICdXZWJNZXRhbFJlbmRlcmluZ0NvbnRleHQn
IGluIHdpbmRvdzsKK307CisKK2NvbnN0IGNoZWNrRm9yV2ViTWV0YWwgPSAoKSA9PiB7CisgICAg
aWYgKGhhc1dlYk1ldGFsKCkpCisgICAgICByZXR1cm4gdHJ1ZTsKKworICAgIGRvY3VtZW50LmJv
ZHkuY2xhc3NOYW1lID0gImVycm9yIjsKKyAgICByZXR1cm4gZmFsc2U7Cit9CmRpZmYgLS1naXQg
YS9XZWJzaXRlcy93ZWJraXQub3JnL2RlbW9zL3dlYm1ldGFsL3NpbXBsZS5odG1sIGIvV2Vic2l0
ZXMvd2Via2l0Lm9yZy9kZW1vcy93ZWJtZXRhbC9zaW1wbGUuaHRtbApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yYjQ0
MDY0MjgxZjAyZGE0ZDA1ZDM2MTM4OGI0MTYxZTdhZjNmODAyCi0tLSAvZGV2L251bGwKKysrIGIv
V2Vic2l0ZXMvd2Via2l0Lm9yZy9kZW1vcy93ZWJtZXRhbC9zaW1wbGUuaHRtbApAQCAtMCwwICsx
LDU3IEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3
cG9ydCIgY29udGVudD0id2lkdGg9NjAwIj4KKzxtZXRhIGh0dHAtZXF1aXY9IkNvbnRlbnQtdHlw
ZSIgY29udGVudD0idGV4dC9odG1sOyBjaGFyc2V0PXV0Zi04Ij4KKzx0aXRsZT5XZWJNZXRhbCBT
aW1wbGUgZGVtbzwvdGl0bGU+Cis8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9InNoYXJlZC5j
c3MiPgorPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSJodHRwczovL3dlYmtpdC5vcmcvd3At
Y29udGVudC90aGVtZXMvd2Via2l0L3N0eWxlLmNzcyI+Cis8bGluayByZWw9InN0eWxlc2hlZXQi
IGhyZWY9Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS93c3MvZm9udHM/ZmFtaWx5PU15cmlhZCtTZXQr
UHJvJmFtcDt2PTEiPgorPHNjcmlwdCBzcmM9ImdsLW1hdHJpeC1taW4uanMiPjwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9InNoYXJlZC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0ic2ltcGxlLmpz
Ij48L3NjcmlwdD4KKzxzY3JpcHQgaWQ9ImxpYnJhcnkiIHR5cGU9Ingtc2hhZGVyL3gtbWV0YWwi
PgorI2luY2x1ZGUgPG1ldGFsX3N0ZGxpYj4KKwordXNpbmcgbmFtZXNwYWNlIG1ldGFsOworCitz
dHJ1Y3QgVmVydGV4Cit7CisgICAgZmxvYXQ0IHBvc2l0aW9uIFtbcG9zaXRpb25dXTsKKyAgICBm
bG9hdDQgY29sb3I7Cit9OworCitzdHJ1Y3QgVW5pZm9ybQoreworICAgIGZsb2F0NHg0IG1vZGVs
Vmlld1Byb2plY3Rpb25NYXRyaXg7Cit9OworCit2ZXJ0ZXggVmVydGV4IHZlcnRleF9tYWluKGRl
dmljZSBWZXJ0ZXggKnZlcnRpY2VzIFtbYnVmZmVyKDApXV0sCisgICAgICAgICAgICAgICAgICAg
ICAgICAgIGNvbnN0YW50IFVuaWZvcm0gKnVuaWZvcm1zIFtbYnVmZmVyKDEpXV0sCisgICAgICAg
ICAgICAgICAgICAgICAgICAgIHVpbnQgdmlkIFtbdmVydGV4X2lkXV0pCit7CisgICAgVmVydGV4
IHZlcnRleE91dDsKKyAgICB2ZXJ0ZXhPdXQucG9zaXRpb24gPSB1bmlmb3Jtcy0+bW9kZWxWaWV3
UHJvamVjdGlvbk1hdHJpeCAqIHZlcnRpY2VzW3ZpZF0ucG9zaXRpb247CisgICAgdmVydGV4T3V0
LmNvbG9yID0gdmVydGljZXNbdmlkXS5jb2xvcjsKKworICAgIHJldHVybiB2ZXJ0ZXhPdXQ7Cit9
CisKK2ZyYWdtZW50IGZsb2F0NCBmcmFnbWVudF9tYWluKFZlcnRleCB2ZXJ0ZXhJbiBbW3N0YWdl
X2luXV0pCit7CisgICAgcmV0dXJuIGZsb2F0NCh2ZXJ0ZXhJbi5jb2xvcik7Cit9Cis8L3Njcmlw
dD4KKzwvaGVhZD4KKzxib2R5PgorPGNhbnZhcz48L2NhbnZhcz4KKzxkaXYgaWQ9ImVycm9yIj4K
KyAgICA8aDI+V2ViTWV0YWwgbm90IGF2YWlsYWJsZTwvaDI+CisgICAgPHA+CisgICAgICAgIE1h
a2Ugc3VyZSB5b3UgYXJlIG9uIGEgc3lzdGVtIHdpdGggV2ViTWV0YWwgZW5hYmxlZC4gSW4KKyAg
ICAgICAgU2FmYXJpLCBmaXJzdCBtYWtlIHN1cmUgdGhlIERldmVsb3BlciBNZW51IGlzIHZpc2li
bGUgKFByZWZlcmVuY2VzIOKGkgorICAgICAgICBBZHZhbmNlZCksIHRoZW4gRGV2ZWxvcCDihpIg
RXhwZXJpbWVudGFsIEZlYXR1cmVzIOKGkiBFbmFibGUgV2ViTWV0YWwuCisgICAgPC9wPgorPC9k
aXY+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9XZWJzaXRlcy93ZWJraXQub3JnL2Rl
bW9zL3dlYm1ldGFsL3NpbXBsZS5qcGcgYi9XZWJzaXRlcy93ZWJraXQub3JnL2RlbW9zL3dlYm1l
dGFsL3NpbXBsZS5qcGcKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uOTE5OTMwMTNhZjFmMjU1MWNhOTc0ODlmMTk2NmE0
OGRmNDc4NjllYwpHSVQgYmluYXJ5IHBhdGNoCmxpdGVyYWwgMjg1NjQKemNtZUZYYnpCfEd4Jl8j
cWprXj12LVE2TCQxJFBNJismMW42NXxXVUZBT1Y1fGNlbWg5Zlp6ZHdDJTZRNl9iXlMpCnpKP0Zs
Ni1ATjxvJSlJJXtBOUQrT190KHxjKW03Y0F6Rk9idnk4Q3smMncqR0FFNkQ+ODJtbU84ZjU2PW1A
SlA8cgp6LVVhfHZSUkk8TjBGVkpWMnJkOHhFZVFBcnl0Vzc2Zjc8fVMwUFg8KkUoN2sqOUxQeHFe
elppbCQtNTtLWUNCSSkKelJ9b0g1bTxOWjJtQ0YtcjRvZXFqUEcxWEdQSHFrXlBDIWkzKlZWJCgo
YnwqaGlNNmRnT3FeIUZzZn51cC1iJFFDCnpwST88ciltNnNZJlIpXnEtQ0VtVU9+PXlUKE5mcm9N
cEEtRyV2WiRNKzExKEYofUsjXiokTCgkO3d3KGB5SylpRwp6elIle1FxNTU2SyhAfnRwS3ZqY0Uj
PkwmNWlsMmp6Z05we2QrVEZAVkxgem93WmBYb0g7eHZEMnE+cW1laFl2NEAKemlAUGwreDNJNzxD
bD9QVjQtWSQ3ZzVBUnA9NHMpfTQpZFY+dmokbWY0QC1BQFM1SkV2N31iNF43RWZIZkpqSDJmCnpJ
S2V3YHtfUGdgPTNpfTxwISM/RV9ZP1R7NlpyUU5gMWNkfF9ZP1R7NlpycSU2Wmt2WnY0KCpaI3xQ
dnh6fStxJgp6cSsjZGM+RWRETTshNEhLITM3OU9FMitaWWxQb2EodyZ7UEgqeUg1a0tjYXcyX3ww
YzFpOH5rNEwzaGchekFNU2QKem19ekxLJVBUI1NgXzE3Vl5qZiZPST5CS0JmSFRhflR9d2ZsJUR+
V3czVFgrWFpueitvVipAeFhFSW5NTUcmQ09GCnoqWkpyRWNtMDM7b0s0O25KcGRTRXpwdn1CPzA/
T2B1PnhyayRRM29mOyFtdFJFUyo4UzhyOzVHeTFJSjswUTREewp6UHdWNjlkVC19fEhvaU85Syt2
d2d3ezhFaHp1d3pWezsoSCttKGtJWjBuNDAjWSF1elghcmN9Qyg3fGtnJUc9VHcKenRPdVA2MDEk
Q3VSYHhJZXp+dXZOMn0/VCpEKiQpXm8mKHNOb243d2o0QTVxSkAqbkU0e1NVVDwjZ283NHc2TClL
CnolbEBNOztGYUt3VyRpcyZvaDx4KkFOKzZySTZIWlAmK0IpaDBle2kkKyFlTEpKc3RTVzNMSVRq
ezwyfEQpWVNqWAp6dytET2xyKX1xQHNRYWdGPV4rQz8lUmpFUXZYRTh6KUFuLUltSE59UmEwaml3
bTloNiEoKXJWTmNoVU4qZXdkVG0Kekp3QVQ3IU9tTGdGV2NIZlBXI1YlOCsmPUJLVyU/STlzTklU
WitrdHBLV3pfMz9aNFhLWnp1Q3R6UHAjIVV2MEs9CnptO2JBZSZLfV5FZjRpQHgjb3pEY1h7UTUq
Q1YjWlkrUVo8bF9FPWZWJUtlb08pQlVTJHVBYjY9KSM+Vz04fCVPTwp6VihwfnhTSDZlMF9GdmF9
eTZnT3Y/X2k7UGtLTnpwVHxHN2FkT3BBLUtuez12cn5uemo5KUpQWGZIUG5MOT82MTcKejkpSygw
MVJuVyRUS25FKDR2PXdpXj5lcWt3ZXpIczAhTlRGbEBpUjdnTj0lWmkoMyE/PyNKVk84Mn51ZWBh
UkFkCnpndXtRJmF8NXB6NWVCMkcpVzdGaHVtVjZNOCNwOU57Kz5yQzAwM3lvME1OOHo+RS1WSU19
NkAzSXxLan56eWswQQp6VnRAam0xKCpQS2ZDbXImTTFoQjM+eS1nQEtuRX1jT2FWKjQ0czU/Vy1+
JDgjJncpX2o5cT1CQTFDb0dyQVI4ekUKek5gWHFDNHJtNzJmb0A7YF95JFk+R3IlSVMzVHkpaHoh
YDgyZmsyUVQ3IVcpTkZAekZBNGBHR3lLIWhMPzVJTSpyCnpoISheVVZoKnV8eiN2fGJLKiRUb0o0
ZyY5MzZjcFpnbldXREstd1hGa1AqbGEkUCMxfGFzO2A4Z1RrVDE7bHEpYAp6Rn5EKWMzQmdJaHNs
ZSZMSiUrUHxiQSQ3VGRrR2ZfbWs1XnlSe35jSCpBNiFUSHZ6V0B3KyhqKzEpeWs5TE1TenEKejlW
IUhzZnZRN3xwZipyPFhiPzBFOFZ9OGFtTyZlI0o8dWBlQjZKNk8zNkJWbTJUdWpoNGxmRj8yKEpy
bzNHVzZVCnoxUm9CYzFZWkRPMzt6WHY0MU5qejBSOSZPMV9CdVpEfW80dTVgcURPRXJKaDFDXysz
ITl6cVI1N3MzUj5EIzk1ZQp6QXxmRm9CY2RScEJCQ0xwMTdaTVRJQVNWZElwU3g7NXlUYjVRelJy
TFZrQX4xYVVedmwzbldqWlBeNkRZQn1pPloKenFlIWJyN3N6UEhsKmx+RF4ya1FXRnlzKkFjO3E3
RlJeKENTYj53UmxZIXJHRjVmcFY0RC09SkpEM2x6T013RFRjCnpSZ2BOfjk4XllCYWEwe3QyaGBg
TmlLdTAkVTh1OUQkN3BEMUctJCRUbnJRWkQmKElSbEQkc2gtbWU0TklhblZgTwp6V3piRX56MGYx
a15VKih9fDNFKit6YCRVQGMhKih5O2ZXRTZRSGFyckZeX1M5aUhGSTdzZjF+VDhIfH5YUyZLUH0K
enhyYz48TVVOJGdXczJwRzZeflZnSEhAYGBqZV5hOUVyVkA9OWZYflgtR0R1WGVUc3ZKITtQYms8
QlN1SVEtc3JwCnp2d0AzKiVZWjl+WWxac35IeWdKVGNMZmlNTX5mJGVYTm1VJEY5KXYrWnh0VUFw
QWxhUC12UiN9ZWt1TUN7czkzbAp6MFV2PUxmaUZRYUs/fWhtQShXN1RQPklscUZwOTh9YUZYemZo
QDQxQCRlUVJhUTVuJUYoZkk/PzJNLUB1S0x+cUoKenskUyQ0NilfZEQ5SSsjREc7dG1BOTBAIUwz
eUNJKTRAbndIN3MoRE9LQip8RkMyMUlHQ0Z3TDc5MnBDbDdGaHNVCnpIclpGUVEqc0omMSMoeU5r
S349P0l+MFR6ND1FZmRLMldxJFkqT007Tj5KS1VleFBpbCtAZDAmbEE+fj1OfkhRaQp6YndFdTx0
d2AtZm9rPX1KZU5EcWlxZX5NKVElKkJTaSVLZypZZVZ+aXd1QVA3aio/RTVFfDlMNlpraXMyVVdu
ZH4Keks3cWM2eyt4bDRMNyg5QExtazVnO3shJHxNdHthKSMjdHJ8Q1Bea1lyWXhwJFc8K0tvVz1H
fiE9NUgpO0VjYDVYCnpFWGdkeHRaPUxYdG9FI190UnJqKVl7RzBYd2spPE9jNjQ/cmM1bjcjXzlZ
SE5qej02SjlDYUxmb09HTjxvWTk7Owp6b1dIcEV4dHpGaXhNc0w8eHN8eT94RXJ+VGN2eUhXZDZJ
ZD9jYDxuOWQ0cVpEY0BPem1gSzxaVV9gZFZ3QHZIS2AKej1JYExZNiVaNn43YnB8aDZyPlkwN2Zj
Ykg2MmNlSzVERkxTNi1FJTI3N2k5fTdRUGVfNWIrZUw2eGtQTDdqK2FaCno2NVNBRTZ0Zm5+NW5C
PGI1d3tTfTZrbjh9a30jTFprWFYkWW1iOCR9bDNhZEJgX1NyUC1vdGUlVys/fSQ1fikzRAp6RUBe
a144dEhReDV0KmtscEprITQzYko5Y0x2cHhzeF5oVyFeWVMkRXcoYGFEMk1ZV08wU2NjTDVmb0p2
cVpPeD0KeiRkeFJXM1k4OSYxKGx5RmVeRWhLKE47LVBTJEBSdyRvKX5IRHg5amFZT0x6NDhvZTQh
dHhnP0tTNWw4dnBWTUh9CnphTU5oZ01BWCNLT3g5ZX07P0BlKD5lMHMySHEkUUJLR1R1YmlQRCtU
V3p6TjE/YTsmMEd0biM1SkoqLWhrSWBRPQp6OzUyd0BGa25ieFhtNDA9Z2srPj1seEs4bUVOMntO
eWxUUjQ1XjZIfW5ETWRpPDMzWG9RenozRkdifVI7dm5xMjAKemJBOXQ3XkJXNndpITYpTkNyVkZK
bypZPXBTU0RDKlRScFY7VjZ8eTJaWElMMlpYPDNKVzN5b15aWDBYNlgod3FICnpaP3xKRlcxblB5
PSVERDM/cmBwPz93SWQqPWNNbWM/dV9oZz8lVip3ZypuMiR4S096R3h7U0U4eGB3KGd4ezB7Twp6
eGdFSHh4YVdDNUpSVz0wZCpYd3s9Y15aISpESjNqWndjPlk/K1lKMnBESkcqVXpxUCNLTmkyWWUo
VjE3ezwjNzAKejBoUiRCZnoqTXwxREJwa0o8U1kpMVUoN3IyJk41dzhOQipUO2FTMFIpYVE9UjJT
ZDAqVm5SK3s9KVkpdU4mZlFMCnolYXZDT3VabHg0TCl9QkNVVz5qP2UqXiE8ez57KV4tblNwJHt0
Qn1TPndtfWZGODx3M3hNZ15NMWIwTVkjOWdGSwp6PFdRN0FSTjh5UV9wdFlxKFVRPnhGKnFeKUYp
T2pFdjkld2xLN0BUWmk4RzdxaXwzMF5QZTR1Wk4/MSZNbHZ3fGYKej8mSkg5SCVXRiQ2VW94YTx0
YnotWiZTYHd0eGB3Ujk7VEowbGMmRSt6c2opQl9AMWVkUykwWD42YHpmbT9WWWByCnpxbkZjQEUw
a045TjBScTA/PX5ObnpnVkRFQFRFfCZ1JntgJUQ1QEIpKnNGTjYjSDhkfnNjZE98OEdCaH5JYnIj
YAp6M1pUTlBWKFhMbnJeIWx7JThufGJzPExZTz5YYUoxbnlefCh0ellkeW9uNzV4eTx6PUdnS3xT
aHFpQURJNkd1fmkKekdqKCV2M3FlYSVEe0FZQCoxSTxVdyRzbjlwTGcxQStnQ2N3SSVZWnpJPiow
Z2VpYGFnPkZWdjRAOXlsOD5TXm0wCno/YGBmQT4xKmcwPmFRQ1I3XndacXxGdmUyZjNSanFWNW9M
amFKY0BQQFZDWWh2NjBxTSQ8ZypQKnxGfCVyU1g5WQp6d1RZMlEtTzJBJENSMjt3dC1mI2thUWJt
TD9MQj14XksyR2pIZiM9aUVgRllESzVLel9wP3B6YnYxTGhpPkZjdWcKel4zMDBtJUp4cj5wRXMq
NypEJSlOKkQyUXZIK1ZMaEh8MDBLWjVlTl5abzYoQD99WUIrPzU2Qjc/TiNxVC0yWnhECnphSWt2
bGV0MzVqZW9UQ3ZmNUxhdGFqSjFUZjk4QzRlSTlsfWR7SjtJYmxHI0lmMzwkP2JBeG5+Yyp9Zy1f
KUYjMgp6PzQ5JTdvdlZlciNjd1dmRlcxN15mRmtadUpeKX1DMHMhN08wNkBrM2dEP0xzMG4ldipT
TyZFOUFSTGZ3eEt5WXEKekpUbjNrIVhlQCYoaUhMbiRgYX4xSXN5ZypyVjVyUGJfVUtBOXZaI2Bm
aj9uNihLO347aTNNb18qKVJuSEJ8bnVsCnpidEZ3Qz9JXyhJMH57a0o2QmFXWD09bTtMY2lFUU0k
MmRBVVlxKVpfLX01fT5iPlAkRWU8OzhyaCRuYT52P31+bgp6cSpecFo/MWl8NGdxRWJsTHBDVyZY
K2p4blNyaj5WeG0pPmpnIypQNnJBNmlNRG5wT0RSR1piUilKcnZyR3oremcKenZgY2wkYndCQTw9
fm8kNDgmKEB0OENSTm9kUiVUPVpkUGV0Wl8pbmJ0S3w9P0hSfV9iSjNCT2NMSSlhMFJ3c1VFCnpO
dGx3MHVCKX0xazkma2lvQGJsYWNrZUBBNmhBNnwhMnE+RCVjczZVVlpqTntHTTtDS3FgeWRmOFRC
ZU9Hfmwoewp6OD1KUkFWUVROQiF1Y2JaQkZVbX4tPWpzTiNHdTd1ZXxRaV85bllHO21uaTtHRT1l
XzZIXm4mQkdSLW1GR3ZpdDIKemA+ZjNEbnc8WEpnfWpwajxVK0N7JlNMMmotQlF+IS18e3lWQHQ/
OVBpPnM9dDgqQUVYeVh5TXQyT0NCakN6YCVECnomJEtNR3slcVUrZUEpcitCPjJNQUNEeUljVzcr
R3w3dUtJTFEydz1qYUFhdDRjPXl9cyRrcGkwKiFCM3UjT2RWVwp6KUdtbSZtRmZBSkAzVyhHZ1km
JSRVNW5qSXttWXsoYjNacCVQdUMkRT0kajk9WHR6MGJnbS0yM2w9ZjgpV0RqfGMKemg+bmhxZHJt
JXtJLVpIMFcxY1R1bHdVcigoIThkPUtEPXFhanM5aFIkOH5yMnBXWihRMHV7bkJgMk0kJG1yKU1V
CnpQfEBpejxTXn45cU9ken5qYDcmPiU/TGdjano3UjRSd2Eyd2BrQ3lFZnxiJllEeEE4U1d8SD1W
OSpjcERrJTVWdAp6YDJoPFclTFZIKStZb3lyTT5jMFRtcDhYTGp9azh6OX0oWHp8NClIXyFFJkp3
IXV9JHJxUzlndjs+aENMNStqb0oKejUze0FCcjkpKFZXUyEpbSRtPVBuQ2B1QENFN1BoRkpWSlZP
cH1NNnV0M0lPOXRKJEh8c0A8ZWh1VW4mNnA8aXJ9CnpYUDlZfVdjPE0tO18rK0s1VksoT1YyaDle
VlYxRjBEYzFRbTZ9SSh1cFkzfWNoOC11SVd9U2IrYzNkdnA1WiNHOQp6KmdVMVo0N18xSkZNSmRI
TzhuYWJNZ3hDN0pxP0M/aFdaPmMxcE5pI2koZkJLVVR1Y1h5JmllZl58bjUmXys0N34KemAtcVQ4
cEQ1P3x3JFpqUjR6Y2Jae05yQjR6ZXxXc08jWWFhUkczX21Ral4tOCl7I0R0RmA0LUA+b2Y7M19k
eTtACnp6RjJgO3A7P2hAQHcxWm1yNVI9QTx0LUtjcEMmMzdzeTM8KllBJE47PkpifC04dTZQKm55
RmVDVEdgcm9LYTAwMwp6Y05sZyRlRl5UMD9hdUZNPj5jYnw+XzdTbktTKCZsRndGbD1kZ1JmbF9M
JTstKFMqc1E+NkY9Yl5CP0JaN0JkI0oKejdJUE4hNzdMYihjMXkweWZoJURAbFU5cUBuJTJLPSV4
JiYmLVJ6KzZsSSRfO2F+eUNVR0oqKVdKNjx8ektnfkRgCnpJeWJveHhxTlZXYn5TY2dhVDlVdEBK
cyVWXzg7RT1lP1JfKkBLRXVeMnQyXj96WW1Vb09WVlZyYVM5QWRGKUJ5dQp6MWUjWGJXeDhKc0lF
PlV4RVg+Ui1qSTdqYkI8JEU2RDRZUTJHMW9meGNiO0N9VEUwQn5JRHI+fVpiRlpSUllVfHUKelh+
aShiRjJxK1B6RGEoNVNTM3s7b2d0R2Y4eiZianw2MVhocU9YI3h2YU8yZ0JPTyZHSDNAWUE0Tmdz
RkVlMzVtCno5VTVJfkp4WUJ0MTdiciRCVjEjMjZRc3dHJEc0YEpYNk5QPzdUMTw9Uj47O15IaVdp
aGNHVUleNGxJdEdQQ1U7MQp6Rmt1JS1SfFBqc2NRWCVIJnUzb0kta0NuMWRfVmdRYF9CYnoyVk1s
aDEqMU1nZX51Q1kwY1gqbEZVTWJYZ3FGV2YKemVHflQ5RTZuMVpZUGU3WVo2c0ZZWlBmMWo8Pj1Y
JUAzQilLelFfSER8RE56WWFxOG5fKHM9UyUlMUcqUCtGPCVuCnojel5MNSkqTHZ+OXBxbCsheHZ4
XzUpQEdzR244PFlAfEI1e09JRkJ5bEM2fWhsQzc0bWN+fm82Q3NIcml6fXZ7Iwp6I007Y3pMZW9t
b00qNWt3b3VZJVRsbF9aZW12cHlra0FDbHlLQnM9fmYjOSFpMkJVYChodHN9Z2olMUJ5akhRZXgK
ek9oaXc8bnxrXkU9P3xaMm1sP1pSXkV0ekw/RkVmUiVfYVRpQ282NzBMc3NMfjNmN3g4MX4oVkNq
JnxVOEAlUU5WCnpjQEQlNldzbF5LPHhnWnpDQ14wOTF1blFSUys1d2JzY3dqR0BxU180QT5QMExL
WGpBKElSTyFqRFJhUGlMaWFUUQp6SmM8VEBHKlIjeUExV3dHVTs9OyExXzA7PzE4fncmMDMwdGIw
TFBYNipaY3RpS2x6fm0qdVZwVDhlanprIVQ0QWMKekZhdW5HVUApZjQwJjBMaFU9QkVqcGhCbzJB
YGwmajNuVURaNTl4LWkhWGQmaiE5NDxGeStrbSsra3B+ODZgfXNuCnphXzl5OzlUPShRejs3VU1m
VSNIeUF7TEBLVmlnaUhrfnZabkAmamFGPFleUjFsemNFdzNQUm1RR2VhOWVtcW85YAp6VjhLWWtC
KjJXb0xkSlQ5amV6fGMyT1RGQ21tSWVjUFl8eU1VbXQmK3o+ZzQoRm9RXnQ9LVVHKVZwUVR7NTtj
KyYKeihpQWNVdlNhY0wzUlF8TCU2dXdhWTZSKzk4VjZjeCtHKUJ0ZE15UyNoNiU8YkNVYSYrPTNT
TzVSekVnTGMwfjRKCnpqJH0/ZEUrSzktP2dnRyYtdUhZP3tFcX45MVN5MkBnZlRfMU1UeHx5I1de
SjtDQUErcU5XR05LbHhkZTtrdztRcwp6UUIrWn5TQU0wRUB1KjRseVZ8KTF2OEszfHdSVihGbGtQ
VCVXcCU/NHFpVztUJEFxVHhXPEtWezdLQGd8UkAmQ2wKekhZMFg7XzY4MGFqeXVreHV0PUE2SCN6
cndQWWY+fkAxTVJwZW13IT1md2UoQSE0PVFCTG4+ZUx6V1ZmPHtZX3BOCnojazw0Xnl2WFNISU1F
K3NOal94N3ZuTW90Ujgzayoyfk1MO3xDYWVHVFBoY3QqSDtpeldMQ21lMX0mZmRSOXpLYQp6PDVz
OEh6fTFBLXl4ZHl6SWtkeXozdEtsXyZyRHpLSy17NEJ1K2ZQMDd9b15UNndlUmNuWiZ2NE1lcFVD
KXo9JEQKelRQM15sYCMrQ2ZwS19raFVQYSFAe2BNYiN6Skg/TT9fVTZYe35EbWU7MCF6a0I3cUVg
M2UqczBmQ0VyNXBud1FNCnpHJDQrVVApSWhZMVQ0WnE7QXI5RztUKyomO0Z7cHBwbTxQZXMyOCpk
YFYqY1MtVTI9c2VnfWFNQXNBczBrc1EkbAp6QGUyfGVrfmgqQTcpeVVaekM8eGM9fD5lciV8anpi
aSRJNT5gPWNMWCprZGVWOGU+amo+MHdQXzgpR2x5SU8zZSsKenpRUUJLRTV3KDtBMHgwUXhGYnY7
O3dCbWQtIyNYQkM1WnRrOUJDUHUye3tJTjgtK1YxSj5fPypGbHVxP0Jib3dRCnozcCNTVDhUdz1m
USR7KypaS2ZMTFhEcDljaUM5PEklR211bDxUPiM8U0duckJCWUNXT0FNJW0kVUd2V2diYnw5KQp6
cmZgeC12U15sQW5ScEI2Jig8RV5OdDRRbSRlUEdLbW9IUXBRTV4+OVA/M0NPcnV0TVpSbFFZWFNx
bnYqTjVAbioKekxhJFotKnBTKWlpRSo7WW0/XjU2bCkxMFByemhLMU94Q3RHZ3xAcilkPTVkNXtt
I1ROTjAtbFQjT35mNlEoamA7CnpJbGZxYVB5UDEtRXVNWjQpX2dWP142MTZqRH4tXzZIKEdCOy1s
Pks2TT1EMTNMQFVKJWViOX1ZUGpGMVVOKHhWKgp6UEhqcHolPW5kNm9NVzB0bHN7ZT1TOFA7RFVB
OXh2UCNJUWpURlkwRChYaWdzKjdCanZ4fUMyUl8laGc/KChCeSsKekBHSF5hIVNMNlM7PDNtSD88
dzBLd2xuXjdgM3V8MlFhYGlTUTgmR3xTTkR0I012djdgemdfNUVFIT17UDZMY0dZCnp6V0BKentM
bFgkfDFgaEhLa1dEVD8qaGpeMHZzYyNfXylGKXpfcjBgZnRycFMpQ1hEJlU0fCF6SHYlPTlTcDtm
Twp6amoyR21LfnpSZU0lK2h8THJNaHw2PHk+UzZlNSZCbG9lRH0pSjhOV3ZfeTFkNUNKPEZXKkZt
YGsxKUhqcV9OdHUKenJMbnRsOV5wKmpUSHg7RTE+c31qWEF0bFpiUTc4b28pQVNuVjAtWUQ3KUY5
ZShuTS1haEQtTEQrPzlmZzt2NDAyCnpEanVwZT5TUCppVDE/c2p4XzkpZDNeKXV3N18qcTFuVDEm
cFNWbVk9KzNlV2BJZ21KaGFGJWhzO3heP0c7VSh0MQp6Oyt5QzE1dlVPPzdBZz1mNktOOXREeitx
a0J9dz5AVSY9cl9ORzR4KU9kaEpodDd4aDhVYiNfYVNydFclVGlyPEcKendQdX54clZmUiF6RnYm
fUgkIVlBWlIyPjhAMWBWWCNeeHkmXk9tJCQ0JVhHUzVJWVV+RVFmT15iPzBJaVI5OSFXCnoyQGgk
e05eZUc9M19tamU8VXEyZ1MtfnZOWUM+ZFFqSzh1QXk/T0lLalFVK2dnbWA0JWQlZnRqU2w+QUdf
PyQkRQp6azJBPnVzVDY1bkdGLUFLdm5PLW9Ae0oxVmkldl49JWhEX1NEKXAtY1lmMDxqOGdgbmRU
SDQkNCtlMTZleTEwOEYKenoyRXZYelBiLTdlNGB3PjlHamV8b2w1JWdkPEhpNldXajk3Y0V4V3Nj
RC11emB3cDxqZFNHLUVlJHNKdmVKT2JECnplY04jVnt5bDdYZEcyUXEwRD4rSiU4JkRSY2dOdHU1
VHFDWXhRKUtNeVV4MTF5VWhsSmphZE5yP0RVNWdlX3QzOAp6OHZ0UyQyKGpaMzJnKk8rWFopdmhf
WmglSmhNWWk3cGIjMVc0aEk2b2YhdXVvRDhZTG1mWmAqVnt3eGlGZ1RmO3EKekF8YSFvcUphZiF1
KSh6fFAkKFFjNmFuRz4wfUE5UmNwaVlxTEJPVHZtT3trU3ZfUFY5IXs+UChvcnoyPHtpJlRtCnpZ
dmgyQV9sYks1M013SmQxN1o/LTIxWGBrN0N3RmZLX091ZzhDZn1iMXd8IWdaNT5AYmVOYzlfdzZl
Q2J3WD04ZAp6QGJ2UWJAJThoNkAkeXlaPm87JTFWcSFuVSNVfl93T3Y9ajYkPDUwekNAaVkxczs7
VDZ0OFp4Uj09ez52LVA3Q0cKektSUHgoRiopYDkkTW4raiVGb3JjXl5NSn4hPXZNcSkzZnU3JWQ3
aS1MQlA1NiYtNiNuey1Jd3VWODd0dDtpMiRJCnpfeCp5dmBHNll+Mk9mYyU4eGREWjZVbzkya0F+
K3RHUU08bD1CSVdQVDMpUktmK3l9SHNEeU5VT1oxMkxVSGpkJAp6ZjMwSTd8Rj9TZlNJN1J8dU5p
UDZmY3VAR2FOdHtsTGN1byQ0PDwwaXlpZWVpe3lRUTZFdXNFU3B3eCttMkNBNVUKek9MdCU7NVU+
dkxWbnB5QzB8ZzE/JnJ8PlV7JSNIPUN7JWFUMDZHfSkhcj8lMTA3Pjk5ajQ3KXY3aSpPKER+dCpG
Cnp8N2U1V2VmeGk+OEJMTz9mbnRhRzVqV2lqdCNTTjJaWklxWEp0aW99WTxAQjtVQkpQWEgqREBq
aVh9c25gZGRpXgp6dWk/LW4hakMwZWc2fmFsRUIpQlo8bXpjeXtUe05UN0J9ZH1ld0F9cWtJekox
akQ0PztmNlRfbHMoezd2RV9KODgKenswMXYrSnlWXnpUYz5rP2ZXK2xUa0tTKEgrMnV7U15PQExf
RnM4RHhWTnxCOVhhQ0EzY3tsUkUqI0QmWWBHQUklCnpud3A1VUJ3S0AoTlBmMXg5b00yRjl3b1go
TkZTZXx2ak8mcT5GVk9idm1sO0JqK3haUSE0KiFDSz47fW90RGwrIQp6WWNLVTRTUTgoazJlVHFS
P3I2PEJoLSUqbEVfZkRBcjtXc0ttbkFPQnlidWwzWGl6SUo5U0FKN048UWtOR34pKDIKenh0U3RM
ekJ4I0E/Qit+Km9VbkN2YkJoKHN6Vnl8R0p1aVZScHpUT1A+PiN+OF8+Qlp0NytNcCU8Yz5HKlFK
djQ9CnpQa0VnVEZWfWpXTWo8TkpFUz96dU1PPXhCZ1ElVlRNTlRYX2tMfEZsK2J0MkwpKWo4ISFp
YVltNnx+cW9BKEBrVQp6KFo9S2VvcWlTbm9iOzZHPV5eb0o/M0Z7KTlXJU5CaDJaM2N5fi1tPW9u
QnYzQilQKXpENnpKZHg8MlJneHl4ajEKensrNzZBSkA0b28/MSU1akgwM2pLYTFhU308cEIqdWEw
I0VEZXBzYHA/VFFQVWdERnYpYk16TVcyU1lDUElGfFFeCnpPMFRUZ1M5XjxRZTFQeG1pJUkyWURK
ZUVKckhxP3E+fkZOUTlWKXpJZUFFWk1CcCgmVmpsfm0+cV9ffjRPdlI0Jgp6e0gpRSpwU0xIOG4y
YWs+U2JjMSRPNWMzQWhmISZlbXxkbjVDdUEtIU1SbXJuK31lRGIqR2kjOEp7cVZyQ2NnbV8Kek9N
V2NSdVd3X2hnQ0ZUMFdVWFZaYHt3clowfHI0TnAtYXAqaGR5Mi16ZXZtbmlDJU53UHhVWVRERWx3
PkdffjJnCnpoZiVjaWg4czhUZlo/R2ZJZWgmaEtacVFAI3thWS0tSHJZKUt4Xig+QWIwc2krUnRl
XzBqO15sNithRGxgfWJkNQp6cVRrNSZZRGF2cjNQKEArSUsqVyM+aXk2e3d9fSpPUzhiRWNiSCkk
MFhFb0dvRSp+UjVqWWheMnE2V3x7ZEo+JU0Kemh1IzZVMUVQTDNqZmJZJFhRXiR4KH1wM0BAdERZ
bkhsMzlgPXY+R1Z2N0soUUN4cEBZXzdvSks5KmZGV2h4Tn5LCnpkQ08re2FBYENwcDg4UEI4QHsh
U1I0UHlKSXdUK28rQ30qS1l4T28qVSEwNz1TZ1VGJER5ZjxKVDY5WT04RnBqdQp6Yig+Qmt4ZTtH
ZFgrcWc3Vkp+NDlgQFYjRzRXPWJFP1lLI2FhPjNiPWhXdWpTOChXTlVte1pKX2BuKlhtdmNebn4K
eip0MEd1e15QPT9fZ1U0YCt3KW5ETVZGNmsxY31+X21RP1JsbkB5RHR4QVl5TXk0bn1hb2VNQHgr
QHRVJXhTPjZeCnpza2VNN3NXUlhgVUBZVFQqME0jfGN3UiM1SE4laDdhOSoxSVFzU0lySztZWlBP
OHRPVz40MEpKbzRSRGlRY3VEJAp6JnZIYCFUeC1ra1ReNEw1cDhubFlgTSVsR0VlQl5NT31qMmpj
Mj1MWTJJXmZtOHdfUEtKRV5JNSY5Tk1BJF9fREsKejYhPT0ydj55Ql9PNkRrRzBMeiR7UnYmRUV2
KkxTIVduZnhaezxtN3k+QThYQipKezNHQjBweyhqJUVHWVAwUmZoCnp5I0htZU0mYzgxNjleaTVQ
M19NZzdiYlgjbylfS3JIfkE/IXBPPWF8MXlMXmhWMk9PIWptJkc9M2IrR2E/VnBRMwp6PHB9Zng7
a0FkZk5jfUoyWXdaNjR6RHs8Yk9NK291eHlKOHU5YG5wcmhRS1E2Uz9mYnR1fUxmSWhiVjEhIXBY
P08Kenc8Y2ZsNCs+aGMpTkdGRzd3cV4mYytWNEUxVDA0cEl3ej5yOStqI0VrTTV5RlZsN2lMeDcl
S1JERXYtcC1AVChoCnpHRWFWQ3lGP0RoSHRkdj9JPjdPUnpGOVpnND1wdHNUVEA9MkhlYGhrTSRf
X08/dDFGbythYzMmK1QtQldUbUp7egp6VTsyd3s9I09wVkYwPmN4VVlgVldvUFNaakUldDZRP3E2
bHMzPn1NVF5NQXhlJU8raSFycXhvIU9rRW8pPlMkJDwKemBCcXdpMVNvaXU0WX5nXj9nfWpHUTh5
TXVFVlRJWVBkRlR7NzQxRmNjcFRzRkVLQ2sqSlRGTXY0cUZGN2xgVXUqCnpua0JAMEIzOHZSQmpZ
PDRGZlBBOFVsQjFCRm1BSX1WPDItdlI+dzlZPDJyamhuRnhFampYcGJXdnBydkpwdU8rRAp6UXxG
QSk+RzRRVjtgQWo8WDx4Qnd3UT1Jc3NQe1NyKTY2PTYrX2B5PEhLUjU/KlVrR19AM2d1bigoJEs8
RlUmVGcKeihffDB5VFNvZlJ1IUxte28peCp0KCRUJkNVOXBERCpsZiZmYz1KJHJ4RHNTKmI3WlAj
aiZhckxgVFYwcyFAWDs1CnpZPWFHajE4SkNwNG9QIS1ma0JvYjttYSVobz4hRUtYPFA/YDNvbn0w
M29hWl4+LXNGWTx6Zk45WGY2IT1MX1BEUwp6Nj5IfVBkWEU+cXtEYjxfMylNWEBmfiEzcCl5V09a
X3A5ZT42SC1vVjxMJl5AKj9QKlJ4VWVPaUQhJkZzNmZedigKejZCbmRJYyNyVjFHfHRAe299LXdC
e1pXO14+YFNDRDl3bHFUaCkwfTE8fFVUYHAzWD99YiVaZ009UyVvOVdyWUYlCnpZYFl1KHptQ0Jn
ejdgX2ckdmlINT9fdC0wXlJSSDFwU1hoRDljOFg9Rn0mWUFPaVAhKiFTRmBsdjJTRnN7NTJjVwp6
P2J6JHNWP0M1cEVKS31BV1l7bngqRCNqPkpMe2xGRnc0YTQhZ31VUHtBOFZlUmNURU1rMj4kVmxO
KzstNk03MDAKemQ8dmpHK0Z+cXFwLV5JfnZnVVppa3ElZUtveX1HeWd5OFE/a0JfYTB1MCQycEM+
T3ZIbSR5bFImIzw2YTZaeWs8CnpwSX4oY0tEdUdaQEtiRGY/RE5tZCl2NjBFdURWXzBAZ0Y5bGtf
KjJpcmFXcUp7aj9oOFEreC18VXRHb1VhaWFMegp6Yn47dHIkMilLaz1tdzIyXlFnU2ZSZX0zflk9
R0JmdUhpQkVmTTZgUys8JCM9cCt5I1V5QiVVK3VYP09CbWxoQUAKekRBWTRLQzNYM19WWUVNKkMx
YHAmb0xwcWxjd1BofCg0P0lDNGBBQT9nVFMxU2hxWWA/O0A9WG5eYEN2NDdaaDZJCnpyPGB1dE14
R3RSNztkcFkpam1PUWBpPEE/Rl5zX3txfFpkfXZ2cGthPVUwRHRQbXxnI0MmR3xRcE9Ce2V5RylD
Mwp6TytMNXxNMHtLdUl5TFFKVkFFRj9JSU9wcmtUaV49NVJafW1TT3NaNy1MaiU0SWMmWipJb0I8
SSVwSmtTU29NViYKekxVTn1eWmBhYmZzSWxSZHpMS00pbiZZZTU8Zk0mSyt3dVk0cT0wbkJoKShr
RyQ7cVZKYmRUSkh7QTVRel4hVmVSCnpgbSYyJHR3XjM2dUtwTXZXWkllX0U4bnBXcXgyOWxJaUlD
bFJrODw8IXxgfldoek5nMWxsNFFuSS1oXnpvXzViKQp6KF8lZC04ViFuRDR6NS1SPjI2emspMndl
bnhWPWp4O29VWFJYU0tkUUd8bzEhViRwNURMTEQ4JlB9flYpX1MxOCgKeiZgc1lmdTVPX31HYUdE
QCljdC1WXkpTaitZOTN7SWxYRzZIPWA+M0JYZkUoTjljQEk4OzhyYkk7MSN+K0x4Z3tfCnpRUWw0
Yj4qI0d2clIpJT9Fdj9sYHgyYmNZNnduTVdaMTNtUD5sSD9OQn5ofn1WKkEzQW9kMEVJWDNHYkZS
e3w5cAp6ZmBTcm16TWMqMWNfNiROSHlrIX1hbV9yQ3YoYSFvWmV9QzB5PkAybXp0RFNCJUcmOGFS
TX5lWFlJfkhQRjVLUHcKejQ1Sz09PWYjVjA0c3w0RyplTjtkUWZzVkpBd3hPdVQpKGowd0BjVGZg
V3tOKl9DOSFtVlBiTlJBMmthdCh5LWV0CnpHRGgwdFMkJEhRQU1hTVB1TTR+Kj8qTCghYkF5QFpy
TXVMfDBnOXVAdjclYzEka35qSGZIYF8+bEQ1eWokemp1Wgp6IVFmUGphe0lZcHw0ezx0QXA2aj54
aHY0eWpaYUNRQ0R9S2c3YU00d0cjNH03QmhmI31xT2s8ZVZ9QF9JZFpMOCsKek4/IWxOWmV9YSY9
QHpmb3pKZEp1Xz9ZVCZpJmpUXj1JVGUmWTBgQjJvTkkqXml7eUxBVkhrQyFYSVRIUm5JO1dnCnpw
SEdCMjtfWHRMZ2YxNmFMXlRaQD9OJHAhYk97Y2htelkmd2tOVFlrPnEpRlk1LXYmMj83SH03MTEx
STIjTz1rNwp6dy1xTCRZQ2ZCYk1QdiN5UkdUTn5kZipKazhvZ0lCXnxud09gTHM5RD5FN00qKmhO
cnp3aG5+c2Z2VTBodjFqPkUKemw+c2Q5ajF9d0tGOGtXJVZ+bW5wKTtHMXVISipmM29AO0hLTGwp
VCojLXlSTWQhQEZVZ1B5NERkJUhpWW48NXhPCnpKbmRHKTxqXkF7eCUmSTE7SVVuJDdRPmN5Wjhz
bVk9aUlVJEo9KChMKiFFYUNNeUlqUWl5QTZfQll+YSVgND9PMwp6SCMkdTdoP0BaPUdzZU4lKnUp
dCg5clRCbkNJdkdzMkFGWU9RP208e1Z5TTN1NTAtdENBNE9wTmRLMDUwcHF2QD0KejE/fnR2WnM1
VjJgNjJAVkpyTi1oZE4zSUxfYDsocmRpY281X3BRcUxyKm9VZVZ+KTE3cXA3dGluVHdWMU4pJjcx
CnpsbndlbGFtJFVYeio7YmJYKzV+cV8kUj8zXmx0S0IhMEAteG95ZzFwQDtZaml1aT5JcFRPS2M3
ZTc2bWNSJU11cgp6OXRgZ3E/ZjkwKSZ7WHstKmA/M0hjX1dBKi1Kbmo7VTUhMW5QblRZVzdibylK
clRsIWhARF9MMk5kJkxMRDQmVVYKemomVUM0KFhASiErQVN0bUdnKUFVbURpd2o5bk1WMGR6cXNp
bDkhcShPRkhKNTRwc0IoRWsweElmKDx1Pz4yN0p4CnpYfVlPYG4leXM4LTtDXzFSU2dHKmM4aG1C
KSYySDBffTUhSkI3RjhXTmxWVmw1KkslZlAxUzIoZ0MyOD4pQCNFdAp6VH5LQiszRHpgT2pQXjRx
PyF6am5vZVN0dlR8aFNvLUlXTVVLMT1zNkZRVXZ7SEkkenc/Y1NiR0sxPUVsNmsxRHkKemBINCtE
KXchaSk/WEx5PkNMYWpGaXE+IVQ3K3NXbGt9P0RDRSFCYiZWQGhZPz1PeWFaKkpEOD1JdSQoJnQz
T35NCnpmYkheYnYqJGtyLVUwcSU7OHRFdD42TmZMVzlJfkJNb0c/cFlDY3YtLSZmZ01wRWMqWHRy
b2ExMHBpcilTOCEoYgp6YVE+O3NGNHFIJFlXfCExK15nUT4qUUlhezVAazsjKFYjekZJezYpPypn
ZGNaX0toa0FNcTJ9VEJpRnRzQT9kPWAKeilWVDF3WXA1NnQ5UDYoT21rM0coNVdFJjt3UW1HVEx9
JUZZPyVKbUQ8ZTJeJUBmU1ladVBhPFZFez44a2pWZWw0Cno5d3prRmJGQTRRKiRoJW05aDwjbWdB
dktKUilHWkthXl9JSXl8Yk55citHQnZham9gfnlgR2RpQWlHfn1WbH1uUgp6eUZHaD1lNllAMm5C
Y3ElMW9xY28hV1N5UGFIOX12aT03JTt6U1llIU84VTx9S1lPKHJDcj0+enV+VHNHdFlBUGQKejRj
eyZKMz0zQzIhcHxzXz0zOWMqeytgT3V4bnpIKWUpWV9ZXnRVJj5yI0gyX2gyYF5GJT9VfUBEcite
el9PeSN2CnpwcHd5YHpXVkgrMChJKHQxWnZyV1FVdT8lTmc5MHVgVztZKUN+OGplYm8pYjwpWUBD
KUVWM3clbldJd3U9SldEawp6PTdISSUrTCNrYj5fWWBmdWVDfU8oR2tQcERLRTxTbT59PTEkWEVM
d15CSUNjY0AxbFNjKUVhWCM2VXYqNUEpT0gKekN7NFNkTjg9eTklQDxkdHZfSWh3KXxGSzF1WipZ
YFkjck5JbjB+c1FleSFmWklnS0clbCU4d3RydmAjKkVCUCRPCno1bztJIURUc2skJTUzWThkZWZ3
NyE3WT9fNmc5OFVVVndtNW0+Qis2SWF9cTdGPGhNX2J+RE1DV19MVlglMn1OTAp6R3tMJmImaVYy
ci1MQXclQjRLIXQpQk5lQVMlUHpCKSV3VyNAfjR9OTVHTFohJm8wcDBvSDVlSE0lSiQ8Qn4kbFIK
eik8QDVmZWt7NSZ3MUdlYXZsTFNJNjtjJXtCLSMqTzlQIV49YEshYmwlc1o+JipBT3JwRl4oQEMp
SjY8TjY4cjFyCnpARW4/cVlmWXhgTyFlQW0mYVF2YTVQM3R0WTBSWitsRU8zajFeMDtjeE90UWBU
ezVnUSl2SX07JCVXc29fU20hWgp6Skh6SCtrVHAyUHVYN3VDUk0jZWxaOCRUWW0oZmhhUVlMUmYm
dl9LU21BMmsqPkRtK0VENTw8enZjNVUhRG99TSYKejc2VlN5N2lSJH5AX3w5MXZMa29zXlpDO1NY
X3FRdUklISM0VjkwWHNDKTtUZUJeKy1rZ1RNeVE3aDM4a082Nj9qCnpaTEopPjR9RksqVzhXRHg1
Mn5tUiZnRCVFdzJvWiZoVF4xTHo4JXBnJkMlKW1UPml9UUktdVFESThkb2AjUHtPQAp6aj4ycj0p
NDVoKyR3VCU5THVTaEVHJURCaUdjYHgxRn0tfEFmQUl2YnF1Xkh8QVR5bmNkaX4kMkpDZ3J7cUxv
N2oKemlCJk5xcz5faTRAT3RsNUJMNUMzSEkzOXk3JCR6QmxVPSsyP0xhNzJHKnRoMkpvU3liViVi
cVpWRWxmYzU1TVluCnomMXduK1g7QFVMJEorazwkRnArKFRqP3xlWCU9b0grUkpPQ2tWNGJxUWho
X0UrNkNgWnI7VlZvZVdrTj44M1JpRAp6VlNrQntWV1lPOT49VTs4ODh1KjZjJTg0IT8hMUp1YFlp
VzFQfGhUa2A7U3RxMXomWT5QUDN4ejs8eCUwYGcpdzAKelJJJCM7Y3p9fjtZajk/WGx3XnlMVDdY
V29ARC10UCstXyNnZFhreU1yeztacypRRVRkYiYmM1h0XyNqelE/U01JCnpaR2BBaD9oYVB0enxw
O2Z4LXRgO3VNfUhSUz1ZSjcralNNWF9mQWBgJD5hQXhRXlY2fk1FWVV3WUFXQkJzKnF8Wgp6P2Mo
bm1BRGl7bTh3PTNeI2VVd1Ujcm0hTnl0N0t5UT05dD9oakZjdzYxbXU8MkN9JUd1dmJ8RDM7Tlkr
QTxUfHkKeiNReXJDXztLMHpISFVzNWU4amQrKVomUjlPO1A7eUluaTVLalpocXFYTk5AN0M+U3hs
RypuMEgqdys/NE9hayVUCnpqSi1qcF9PViR8IXNqbjxjaUpeR0k5Z1lfKT1vQ0hZQihyOW9ZLXY8
eGk7IyokPERaR0xKbmRQYmF0UzdMLWJTZQp6YDEkR2s8NilfTForQjRGT15GelZlOWBKKlBuM3xp
VyFPfGItSn5mPElXTmw8X0ZeQz90WUw9dVFBKk9hJFlAWj8KenF+STRid0JRYngjcUFhYj5jJTZz
JEEldEpDdlRvbEgjYyhiPDUmQXh6TTUreWhEJiV3S14wdE5xS2YrY3dHK1JpCnpjNDY2RCFKSW9f
eDJPMm1jOHBRZ1ZLQTwqPTMwWWk5UX0yI3NwaiNSITV1S09rUXowdDRFbnAjdX1rPj5FO1JiNQp6
cy1rMEtja2IqZlVIQkxeMDl3ZTlxfW9JKzVZeG5hcyZaT1VIPHZ5eXBeSFRSKU5oQ05qYnA3MW8w
YChrcX5TXmEKeiprSiM/QEpDRl9VcXFlQjUxKmVtOXVMRE42NkBzS1k/cj5pKnoob2M7dFZvczt9
fUBJb1cwP0ZRJD1pWmBOQjIwCnpGKk4kdFkmYnRJXjdTcjdVY3hUX0dZO1BRRyFBaSRmQ1dBQWw+
R1pwIS1VZXZIOWduaj9WeW5RelEpMSZya3w7SAp6WlJsZTlkPlozPDNBYj9tK3VKUCl2T25VRjhO
OUtWcihxMHlobXRLYW8jYDI/NEd2PjZSJSo9NHtAcipzREdWaVoKeigwIWdBKDNlSD9pdz44IzNB
VHUtWUhkKXVKXlNwT1M7bWwkUWNTMF51WVQtNmp0OTw/PFBqRzlMTW4jUitVbUlECnpCOCklR0U5
NWljKTlDcio+R1IoQGtrZjl2OHReXytRT0NXV0c+QEg2cWJ1LT9Ec0VyR3ByI2o3K0JlTFMoTCFN
cgp6Uko9LUl6I2xWWW5SVjlfNWpSJDE/ZHZXYnk4NTh7Sit+QSZjWFFDPWFLSCNoI1NBYTgkNzg1
ZWM0SWxkI3Ymb3QKemdJbVN1e2VUKGRXMlorSz1wR2E0T1cqa3dlK1klZW1CVGtydF5LR0w2aHFl
fCtoSmNUbyQtNnQxXlAkNSkjaDNLCnopc0crO2xlP0I4Q25zVFhCU3lwZkNqOCprbl5rajxNaFpX
NWs1JXFeJWEoZz1qIW0wKnR+Rm5Rekh3fD9lSnR0NQp6UVpsI1V1cHQheFFnUzhnV3pYdnlxdkBL
Ozx6YlRyJipwWEsmJFBwKWhLWnwqTi0wZDJYOWJzelVFMyQ1SipOMGsKekp3YiUmdmJjMm1FQ2I+
Pm05WCF6Sj97bWJYK3lQbylreTd9K20hKFFeXipnMk4zci1pP3EqKTtVOSN4ait7ZmY8CnojRD9s
ckZXUW1iSjZfKWI4IU85dnpPa1glJiVPKkBsKDEpdD90dVhgJE5JVyZuY2x0K1F8PDI4czEtXilV
bUhVYAp6WE97NjUyVkVFWHBUOT0wUGFtXzU4dVBHI0Q5KiRoZih2OEhfe1I8RnBOTi1iKEMpXksr
UDl1Zl9ISndgIV9gTkgKemtAJHg8aFFsVXs5Xz9qUzF7MlFKJkp4RGdAY0AtNWVoTSlxQj9+NE48
QSRyUzd9UU1BYmp5ZFI0JWNLKChKRWRoCnotZzVqN2NxakA4TEJucCpwNEVHO2E4b2BtWTNYJWQ9
ZSFgam4pIU0kIzVHOUhMYUNpfmQlMz8jY19IZD0pO21jPQp6YzNTd1ZlRmRATVhGN3FFVDBxaW1u
dHtpdmR0a21aIyl4RSNWJH4kY1ZBdSFNRWtfZyROJWo4OShyU1MoemZQJT0KektGUTk8UTYqSitW
dlNVTzEhd0FMYVljcF8zd31qPDVWYUBoYj9oQFQ9QmlwSyNaKH5kQ2VffWFgdnJsS2EoI1JuCnpM
ckVzUG45OUQhTSFMJkFqIVdwel5XUW8kc2M1fXJXbUxRdCEkaiZHI351NHBsU3AzKEFENWcxUWF6
LWZfOXpaZwp6XnRMRCVWb0hYTTNYfHBzcTM+Z0lhUD9lY2E8QnxWWSRxKFpeNHtFPU9Jc1NKdkNt
SH45JnJiUE97T1M3RVJAbVgKemVIREZAPXM+OD9OM2hrZVdhd35lTDAxa1hpQ3xSeDV2a2xwUmBa
SDEmUl5KWmA1MVo2YnQyMjlpYH5BSC02TEFYCnpOSzw5QjZeJUQ/Sj0qbTdtPCtwUHI9YXBgV18o
UlhlNEZyS1gyYTRHKkw2ZXFJYWM+K3J7KCQkaFNDQVFNKlk8dgp6QWYhe2ZFUVkkTC1Gbz1IJjhZ
OTJzNWFrQi1kMk0lelI2ek5gb01+N3pLMTsrPmdWMCNgdCFYZSkjd1A0UFAyJmgKekBqM3x3JTIo
b1dMcVQkWnhyWWxLdmBTT2loeTNCaiZpc0x3R3kxM3JiYG5tejhyZyM7TFZhdnM+Ryk0bGI4ZHdU
CnpaWFBkdjdxZVhvNyh7Jj5WdTwmJkJyMGxkbVhXKTV3QGU0YHJ+JkhUWjd3b05mIz5eejFBWTA1
SU12Vj9PTEFgRgp6NHVEU3IpelVpaHtHJlNVISF7Z1c8NztFcUxUUit+PT0xRGZea1p2ZnQrd2wz
MVo9K3QheFZTM19Gc2Jtd0wmWmUKejMhWHglcCFuQU48JSY/RCsjSyZrWDxsbGdyV31GdktlN2JM
eVo9ciFKempXWSVCR0hHQTM4Y1F3Ujt8PmlPLUZOCno/fVc/fihIdyQ+KjFIfl5ueG1mP3dfMDt9
UURES2ZicmdIdVJRRUghcSFhSldEXiNfVEdsZXdZSkR8KEgqejZxfAp6cWtkSmpXekVRMkxufHVs
N0d6VWhiQDUoMGxIKyFYNkB6aypxPENTK3Q3NnRaeVZWT3Qzbm9yKSo4UlBPV2RIT2UKemBCeD98
PUJlVlFVIV9OYWxRNVEhSz82czJ3YU97azB4LUgzKXtYZiNnUXRfXygyWUFqITB5cmlfRGJGYC1q
NVd7CnpEOSphJUlsRlNAQnYwMVVVJmlzZm5IQlY+aDQze1dEc3s0cXhePCRPMmFjfGRXcHFAdSp5
N15wM2laX2UhOHxhaQp6NHZkZ3VTRWVpSmlwa1k0djNfKlRoS1hrUk5EMV87IVkxUkgrc3hWJE8k
YVpLXystWTU+MX5VM2BYfENPS28pPiUKemhOWD5FMVN6dDE9Kz08UE1oZk00VF5Mc3NsTjR1RUBq
KlNXVzlme2VjKVdpP1JhR3F5SmtJSkVWUTFBekV+QDhpCnpEdnF5eGI4YklZJCZPU1F3PUtyNk93
c0I/aEAwbi02WCEwPk49I1IqTD8wTXJVTUs5SkMxQEY2TyVxPjE4JmxySgp6OT5gISNLRnJlcyU/
VU0pRH43TjZEI3hpajklfH0lKyZvRXwjekZJWkxXPHBLWDMhKUJjZTFOX2M0fCR5T01FIX0KeiVo
RktDeXdqN3EoITVPKkQ/SEVBOFQlLUxPOTNCc2tGfj1AJWJJKEtKISU5eDx8WCQwd01KSEBFQiUh
cHJ8aVNBCnotQW4yWiE4cG9gKDElPk9UPktBNXRgM1RATThvIzVLc30zQnZqXiZ0enAhNFl3YlVO
TWwyUFJsR3JDREA5XnlZTwp6UFFiUEZWYkRicSlqYGpFcTlQdTZaa0V8TkFMWTI1anh+UH5iWGVR
dGh4NzB6byNVYTVgfmBZJHRxP318R3EpRyoKejwtLUhwdGY+TkxEezN3MzlMdG1YcCpwP0ptR1dI
JVI9QWtSVFBPcy0tYVcrKVI4N0Q+Xyp6Tmt4Jk9BXk5Ua0pECnpTXnZ5c0lEUk8oYnxqbypwWjIx
JnRCbU5eO0dqZjx5ZzxJT25HKXlRej58YnptcnJeaTRjP3xiYHAxdzlgaFR2LQp6IW5NcWU2QUR6
QiZJJEI3dWg/NVQ7bmlSaFQwVzApTVM/amwtdk18UlkzcEFhbzJOQFp8NSZySWU4WClXJC1rdDcK
emNiTmo5O2t4cE1vdXI1Vjs8amBacXFUOTNfVmFqTCFHX3xGTXJZLVVgaWY8SkE1UXMlI3A4SX0j
SEtBZmtacDxhCnpSbVVDUkBQdyNNR29WI3R7dGhAaGl5R25CeHBaMnFEKDlDTDxzQU02RFhBaWEp
cCpnQkZyfTV7IzlpZW9FOUEjbwp6aXdaPksjK1Jfd004QGQ4aWZOISV5Y0p7dktpeTBrSSY9JmV2
TkduWFJxRkU8UWk2KC1Qam5Hb1ZaNkhrZkZYO1EKemV9XyZ+IUB2UWxvZGE3T1BtNHxRX30xdyNp
fHZmTHQ5KTM/cWpKTm8zNlVDKWV4JmNfNiplSWFnPmhSVUhUVT8kCnpEczVqPD0/NzB+WVV8LW9p
RGY8MiEkV0A7MXxEbGBZWnNRIzw4NCt7cWQ3UXVAI30oVVpwZSR1MG55QXtJNms0Xwp6VkN9RlRl
SW4kYlNlPSl6dDx5UkZkXl5jcUB3e1NfVyZfNDdzT3gmdFIyPFNBdDVBeUlzb3QxRVFNOHdmVlQj
QzkKemhuNnQlaGQmbik0fiFRbDkqWGAlNzhrX3FoKGNGOShyMVBSYStIdTd5b0BsVEYlYXY2VTdY
NkpWTWFJQ3BqOzZKCnpJYG1GPENuLVZ4eyFVS2lOJH43dG52MSRlMk1Gez02bzApe2tjVUxwQzVP
I2A+UXw2PHNgbCpWdFJCVT55XkVsbAp6VzYpJCErP1NjYmVkRHZTbGVJUj1WUDtyaG5JS3hqeXBq
NTdWfU1GeiUyZkoyTWNLVW5xIzl2Y1RfKyg0YGdGcW4Kem1FNkc3ITxofnxgVztpPWlublFLRkFa
Rk5OWU15dXFtWUhHa1JoMmNxVCYrfWk+QkM0SkMldihxO1ZXXjFtY3gtCnp4eFFycXphXlR+PnFE
TS1NdG1laTNOSHBlcFRmZmxtajtycmd1NVdTKW5mNnFaeGk9djY7aUl7WWJoIUQ9aUIkPgp6Xkh+
Tkk9VStee25kTWpFP1B0e31ZfVdvQFctbGt1ZGFIZnBiVV5gUGBSd3lBO3tXUWN8RW9ZLUNmSms0
cmpCXncKej9yZyUrPWxab2BNKmgwQ2N7cWwqK0VXKyhpPEs+bTJaaTg9ZXVvKTtwY2BlbG5Cd3ZH
LW9kPFMmUkR3I0piVUQoCnpzeVFoe3VuUjI+anojNDE9N2FOQjZuLUJJYmoldl4/YlV+P2dMbjVe
YChgWVkzM05Mc19JNmZhb0hxNElEKH5Lcwp6Q3xOKCorZig3P0M1dXR8OFJIK1RMNkBBJnxHfGND
UU1jWVc/QVBaclJHZG5NXmspTmVPM0I8VUNRN1VmZzJpXkgKekp6NXtITyFlYmB1dyUlQGxvVUBz
NWpXSDs2YUlYUSF+cyU/b0czbHJaREVvVVIoLWFgcmA9RWxNLXRRdFlvbkAoCnpxSkVPSzYhb2ds
aXZ3RXw3RGsyQyNtSjhGWlc1aEh1US1aelVwZUlFbUU/TTtRdEgzeCslY0JYIT1JMlhNd04zUAp6
cXx8KHdWWFVvKEo7QndIaFpWTSM4a04oanQ9TT52UUpMfHU8cHhIK3M5KzRzaHZMYzxScmk8OyZE
RWFHcT9NSWkKeihMJm4mTys+bzEzVXxJbVhPd0ZwbF5tUWhgN2FtaG9ZXlYxUXNpTGlLKngodEpI
ZkxXKE4xOyNzdVBHO2c1TGJBCnolY2lnV0JMPTlxYnA1a2koPG9aYU5YS0RtcDs9MExEPjB3cXdy
MVYreVZofDI9Rmd3UkgqQm9sUSp0diVsN2ghVAp6c3E3fG9MZkF5OChIYj5LJD5aQXUyQTh0TU9q
TSE4QWNqR1FLSEJocnApfWRBX141ZDtaR0N2el4qU3tVNmYyeUMKelIrM2dnSEZwcVp7SyZWdypR
NEohb2oxR188XnlVR3psbilIXmpAOS0xSTU4MDtXVnc7T0VQYUZrOGUpdktYdEwqCno3e3p0dktS
ZE4mSD93UzNMSj5rQD02ZyNUPWByeWp7RkhibHNuQX1NcmI+Y0Z3ZHIkRyUrK29COWlZJS1EKV9v
eQp6Kn5Ab0BGPCp+RykzKnBFdVBuKlMhZ0ZqK0JMQysrbH00UHtKNW51PEw5SyRaVHwzQFk1cykj
QGJsejxKU0RebCoKejNqNWBkQCh0ZlVucTdrYnVhWTVscipGS01qdCQ/ZDVPZylTekRrRmBobHN1
Qmsqe1hiRGM5cSg+cHFIQXFIbDdNCnpPKD0kVHd+Rn5MQGl7OzZScUl3VC1jPT03VjxHbDcrJXBl
eSkmRUhCeXxSV043eiQtZ2sxI1UmUlBIITZQZCV9Qgp6KzlGcUhWeVg7TUs/MExCMHZ9JU5IKFco
THR7SXBVNXpVe3ZmP1p0SVFNN3cyPiYrKnRmPSg5diNEQSQrWkBCai0KejdxVFh+Mzg8O3MlVEw0
Kyp2VUk/SSVJRGoxeT1Udlh4MTNabXo/bXNWZmRaVzFWdHA2ZHcqKlZjTml0ZmNeeWBwCnoke0p9
MGVuckJ1ZG59eyhldUElOSQ7M2tlak5XcHFgSkd2XnlveTttOGR4WmVVdnolMmprOStNdDFvO1Iq
UUtSKwp6NzA1MT5FdX5tRUB3c0YqQ2ZBVFBFTFVjdVZwUFJhUTMrKHh7OG9qc2FVakM+bWUlWjE1
UkB6Ui0yMWRwNUx8Vk4KejAofHxGcShHOUtRbU9NQmcxZ143Vz5KNy1XJH4wTXJrK0p0eWEqU2hD
dDFvdnhQTG9zQHpWfmVQJHA+QE9SSVFfCnpLc21vZ1QwVyEmI1FWIVFDalhVRz9IYCU2NTUqPEQ5
cDNuVjVPPHZAX1Z9SiVYeks7cFlUWih1U1h7d3VtRUxNRwp6UkFPWmwyV09hRyVsSXx6OUgkPDco
PWVrQkM2Km9jc1NYPnIqK25wbiV1TDk9PWlIazJvTz58SEV2Wng5Pz9EKW4KekNWV2o1e0F9M0ly
S0ZsQSY9V3NTKFZqaFU8SFBLamhzRClfSUA9X3V2KCs8Zm5ua2FCbz1iUVRnXkMqNkh8aV5aCnpo
K1Q1ZHlaPUJqJDlsTVA2YzVVNTc1TiRXe04oZFJiaW59RCVmViZ+PCspaW95IThVamszI0VaS2dr
MVp4M3p1QAp6azBxYERxRSV8Xm9MdT5wSGcqVGReJT9tSmhVNlE2VmF3eVVeZW1SVVM9bmJpdlhf
aiROTzw9P2opUzBRaCh5dzYKenMmQ2BoJHVNNDQ4MCYzPjxseUlqJn1FQF98NT1MI0tYNkN7JUts
b0kzfF8oPXFaQTI+PC1WNVUtbkRIRlo8S2hECnpAKnh+STh7KnktXjtMbDYzVHVWdml+N2FHSyoz
KWoqSXAze3A1RFkhVXY8OWc1NWBxVy0tTERBMkBrfHc4djBscwp6U0pWV3tUcmpxcVBQI35UXn5A
UCp4OUx+czl7ckhHbmJUQXpWazJocGJAd1ltSXAla2V1RE5CXkdeOGtkOUl+RnkKeiVTVGZAR1Fy
ZWs3T3d3TUgkQl9CcDFxb2ItWHlZKzhtX2VYeCM/NStyP3A2IUB2QT9KP1ZsU0tnWENCckxuKFdr
CnolWWtXSjQ9JiUzbUR2aSEtMT5PWVF3RWFFbEZJUGBkaDMhbm1JMmVKTSl9Xz9pYiZxa0tkUkkt
PmVFSkg5ViptMAp6dWI5QSlxNlpROHF6fVlsTlVydkw9UXV4bjk3fl8hSjF8IzI5bUolP24qQ2NB
PnpGRCs8djZQeylIcm55RU04U0IKejAreEgwKFZASHVSXmZXWXJATiZ8WjtNb0B5Qis0RzR0cDZ2
QEJjeGB1O2Fjd051MFYxN09rdWo9dXs2R1RhQFgqCnpqM31AR2c4djV6UncyKzgqQjl4REMhdnEl
N2VYZ30hSENkPXBPczxgZ0BrJjhVOG5PYmV9QjtMYmx1WmB7OFRSRAp6bCUrKiRLQEgxe0pIan1B
R3MmTGJJOHdSV2tZIVpLNERYfFlNXlkpQ0tlTUFVR3BORm0pcXs/PGVDWEp+WmtWTTcKem5oV3hV
UXVLKnxQSWlZKl84Xk5DOElMYnR6S0lPQDZ+ajsoXihuIVM1UWI3Oy1kRUxWZEBsLTxNXnlLT1pM
c0hXCno0IVF9OWQ2cig9Z1ZFbDVUaEJUUEd0eUFlMFdrSjZGY29pKyQoe2FAa2BRQV9DSHslenl+
blV3aWU7MSRzMEY3Pwp6Vm52d3c4KGpNPlQrO2AlMEBmI282bStaYWkhMC1sMCN9ckM1fCpRSGoj
cDtWTkpCbk5QYDZ+WFk4NHs0d083NWsKek44PU84IUg1M15qZWxRKlNPRFctLShfRUlZS28leyFN
Q1QybXEmaXtoVWU+N1J7KmV6e1k9MGduMThLJChXekRPCno+Qz1IJWp5aWM+UFUhTk1fZDh+JFNL
flJGejNUSiZrQjxOek5LXl9wKCNEMVFZbHJvWnJFSWt5OHZONEF0TXd7Xwp6VTt9YSFYUmAmfWRw
KDE5MDhYPTsmJm1TKz5+P0htP1JGd3RIV047RWpsQVVwYjJSSXI8c2whKyNGVzUjPSE+fkQKejdU
b2M8Mypxd3BLdHY/MD1iYlZycCVJenpGe1ViNDwyJkl2I2M8MmorMipXPiFkcGtHbng/a250NXh+
PEE1XzEqCnpOM0U9IVdFcyNTRyYqd0JrcitsWW1eTzZxaXZLaWY9M2h9Y203ckk2XjQrTXJ1QDV9
bWJEIVRsVD8wbDw2YTE0Iwp6QTNAOX01Yno5YW50RmstVGBFZjJ6SzU7V2ZIcXMpeF5CQF5MWHlt
VF9OJn0pMnR1PVl0NDJLbE9KbX5SdF5edEoKek4yX3YpS2FpfWF7TCFpO0h3R0xOQSpHaHtvc1ko
RmJxNDVkKndSaX1gYj9pSF9xNG9ARX54YV5EUTBaMzBlTiR1CnoyfHI4UDkpKFIoVGtkXk83KDFW
NSRRcWghSW90VWF5ZXYhaz47MkRTdkI1ZGw1I05fTXJrRT1ESUlmc18yUi1wLQp6dXxYVnFXeDUr
alZYSHp0PCl1UHt2eDZmKCs0fmFsJUl9cC1iWGg0VFApTVllLTszTCN1eFFlfD42OFRNKDN2Z0IK
elVsbVpLSGEzQE5II1RmQyVASUstVWRCe0chQjh7TStrKDZ8bURXTCs8d2sxfi1kJVROd1M0JGso
UVhLSlRyR14pCnpRSUZYMTwyXzQ7I2ErZ2BWR3lxQEdtJD82PEdmPE87XitgcSskWj5uT0VvYXNg
d1IqajlyRiV6X2x0NGpMRWslTAp6ZjJJR15hRV5VQThCfjspTDFPJUlgSjxrYy1BOUJFaWkqUWo8
bl9PRiR3NDExWVYhMTRHeVRkNlg9fnl2VTRFeUwKektUeCh+MHlhT3laYEhpN3JjcFA/ZEsweX1w
RUlIR2ROSkAzPyF+SF9NQX11dHVOancqNSNTPU5FNj9ETTs5OWB7Cnp2PGVYRUtnaG1pRT9zR09C
VnZ3T3N1fG5nRV5DaSZgVWpyVkBjYGFecX5eT2BlZUxiPXhYM0p1O2A5V3FxPEgjUgp6ZGkpem8t
RUthcmM0TG48Nz1tblgpR3N2NDB7TlFXPUV2P3tKc3UpTkl8PVgzZHR7diolYDxPJnBkOWdxQztZ
fHgKel9Qfl55cHZHK3lpSTNuS3FqbVg3PWF8MipGXlVkKGZRPyF+UlMxTTJCZXFFZHU/T056TlJX
NSlta1FYOVMxWSllCnphO3NLTzZGIzllNDJlTn57fUFfQ2t5JUtBR1VCZy1nWD1Da29BOzRXeytM
S3d0MjZFRVlPU0xZJCpQdXdPekZ5bQp6Q2lZPmhnLUFLV0Yjb3xoYDZEYyZUYnQ1PXZ7YU9PPEBK
Wkx5MTdYVzh8JnhBWnZ8V1lfPV9rRnBMYWJiP1BFN0UKemJpfD1BV0BRSm4oKUN9S0lKNEQ9Mz5Y
WnM4ej96YEUhTWVtViVONT9FfVMmI0hGVTVfbTxRbjttRUVjUHtmRDgwCnpiJGxmdUkyNmhTYXhG
SnBDc2UpU145JnY3dHFiRmdqKklqcFVTTWNVZmtrMn1eXntZcyVPeSVKSEBLPyFMRUVZJQp6RTxP
KTtEcVppPnshKTx2NyZ6WEszVURCdC0rUysxM3xgJVBuMVdIR2IkbVVHcDdeWlRwai1AeWJhMnYk
elgkS1IKej5vR3J9R1UmZzVQWEd3WUpxYERSTTVtYkUyOEJmekJwdnJ4TH53KDZGS05HQEF1eURD
PlJ3MFooU1phZT5IZW9uCno+KGxQaVBrWGp8X31gQyNgdXlMKztiazBeS2dkJERsdmZIM2Qxb15B
OXh0ZnQ3YTRFTEVWbCt3N0t4PHRzP3JybAp6Z0FhdD5EQU1UUyhVMXNsUVo4Til2dEtFYmIodVQz
ZHlyY2BTbXAxfUo1Y15gNkNAeGBRdkJ9azJMPko2MXpVbzIKeiFKek5wbFRiamFfNUNNMyE0fGcp
UmJ2cUhZaTt5SGg0K2dmRmZ5bTd6WTQ3LTdxbmkhelhLe0hLYkFEdkh8b0FNCnpfSSVhaWMyaiYo
b3tlYT4+JH5qYjska2NCZSVoUmc8YDx+SFVETFJFNkw4WDRkSjAyLURlU1YjKzk4cCl2bVB1Tgp6
SXcjbnNmJih0NWBTbXReP1R3fSFLSlh0bCRVaTg9MXUqQiplZkhKcnJuaWlMRVVtemRxNVZJNEly
REhSYH44bmsKelB2T3g8Z3xiOXREUWkoOU5oWHl2Z2UpXi1oTnpmaSMjVXJzTn5sbTYqfjI1ZDg4
WnlCV1FtWVMzUyZaY1dzUnxCCno4VGBKdCZOO3Y1SmtMNGpfZEQxMWA8KnxHWXJnWkRgP3t9ZFVp
YlVeez1DMjZgd21mfUtsZSkmO2RNS2R7dnl1cQp6XmwkMzAjZDZrVzE2RD4/bkwrPS1nYEJOd0kr
OWZFcjB2SXtrfDhtcmVKcGptVDg5NG5VKHNSZzh1TG5QU3JCQUQKejV6ODsxYTMjNFZfMTdqUCpl
TmU1JW9SSGRhbC1PRUBlPWtJPihuOX1XcUhMcF54RD8kXjt6dWNDU0UlcCtpN3ZyCnpMMXpqMVZg
NiFwPjVKaEcqOGhfQUJrM1ViRig+cTNRVilIYkF0Z1o5cndVenE+aiFJb3pwXnREanpmfFlwQXcy
QQp6RmNJY2leVGwje2J1KjFkbCleX09NcjJmM0hiWHpGOG0tKXBPVGJmNVAodHlJTEdlfT0kZk1J
NDBhMUJUVjM/KjEKekFZPktsMjFJM0dpVGZkPFhVNz1vNHxmPU1ZKUc+SlJIQis9R3krVj0yRmVH
Mm1iOU4/IV9RK090bHZTJW1ufXp2CnpQVktsRTVAPGFNKmNXKzZBZW9DY2FiKEhNNTx0dVcrSk1V
UGhxMmpvPDd5bjMwOGtxb1BuPjglazx4WlUmUEZiPgp6JH1uJVRlK1l5akthR3E4Ump+Y2NkJGxM
UD4xP0VaeUR8SjVUeUowLTEyUkhAclA8JGZlWiVPO00yMCU7WSpMZ3wKemdIJjVYKHRVbytObWpJ
MCgpa3Rfbk9oUzc1TGBoXkI2WEB0OEpEYEE7eXduTTZPKjNlJTA8ZCRYRE9YUiRENERgCnpqXjJu
WHljU2pCbWk3JjVAI0hfKU91N3xeb05COXIrZCY9UHVUWTBxaVd5cEpsNWdHJm1qODZYV2B+QkNV
cFkmKgp6MGJndiZ2eiNoa2BlMkRVb31AfEgtcGhBbVRCclpYLW5+NkRTKTckfihaMXBBbFhERShS
PG9taSlkZnB3U0NLOVMKekhme1JEUSlIWG9WTSNzJWl5cDJlM1pIPXs/RHYxWnwyWEJ7SmFqYkZj
YXZWeExYd0ReUTE2PFFTITFUbkd8JUc3CnpXYjMoPEhQYXU/ViZmajZKeXVBVGNpVWNOajhhRj5n
QHFyeXIjMG1hdnlrSDlJfFo/TlRqfTlgSk9gTkg/WXozRAp6blNFRF9ZSnt6KTQrbjxKdnZxI2lQ
Q2NpVWRHV3o3cj9fOFpqa2p3WjlOZWRNK05IcGs7Xl4+YiZ6c0NeJE0/Rn4KejNBIylxTUpNVSZt
V09hJlp6U0F4bmU9Z3hPQ3gtN1lXSFQ4SCR9ZEdpT0dHKFFUd1hFdXZYPzc9QGY1JjxnPElJCnpY
Q2JgcW9HLUIyJW41JFF0PWMyWTZZXlN8JmU5T0dObHl0Y0JRVmpwdG9heEAlX2F+PCVNfUpqcGFT
QmBOKCV3QQp6bjNFOEI2alZIMXdiOSVUX3FMXjxENkF1bzEoSio+WjxCWHQ1WEgwdHZWa05rSEpY
Z2VVIzJ0VChJczxreGJ5fUgKentTYlFGeFYteTNHM2s2andrX3BuMj8oUFQzYF4kcjVkdXIwbEJl
YEZhOX1manFMQFp0Q0swTl5aVWN1fFZJfj10CnpPIWNTIzlGY18lJSVNRzg4NXB9XiQqbX1iJEQk
empKRTdLdTJNd1ZqUnRLdXNwKntUU1ZSJHlaP0ZGemw7OTRqcQp6VT85Q1VmV1FVbFc0JUZjO25l
KkdFVnloYEtwSC1WYEhBK1c0TW1vcXA0dmJpQ15Rez80ZUIpQyl2NGU1R1M3RF4KenZkTX0+ZVMx
YG94V2tIazgqSVBmZihNMlNsaDJPNGgkPWk3UnFgaztNPHNwS0JGMzhVaGchJSprK0IxREZSI1Yt
CnpscE1qMm4pMiNlSlIzZXlxJFVFUUhBXzNWMlM7OTBmZmklJDY2UDZUeCV9b25jQll9KzxtWTZr
UitXOVVFfXZqRwp6P1dFNHcwT3hZWHVUdHpVc20jUE8rVDxMZiomOylpVV9BNGx5dUcobENRYGBV
QWpIVkVPWTZ3JHZoNiN0WHVRXnAKel95R0hwNGdSTmxYKmJ2VUQ2eGZGZH1NNDZuU3s3X3RVa0JH
bnVwS09YU15QPnhOcFRvXy0ock5JbSpuaGVqT0g3CnpJe0FkV05XXyRXeXhXRDlxZk1rTEhmQFJk
a2B2PGhZZCF3amQwQTxoMWBSX0UmUHFHa3JpdnE4JDU+I3wwPlBzawp6TzVyJil3IWhpWkRAZSFg
WXFJbGZlWWZ5NlpnQn10KmQwTXNeIUcpfTtJWGZ4KllrdjAqcHtRKz9we3BtMzRCUlAKekA9OXNr
K1puYHgtTHxPdTtrZ18hVllsTm8yJWZVQHhCRj9reU8jRHxWYl9vOFhzVFZsZ3VRV3RiRUohbDMr
QV5xCno3cml8dDhrdEwrdys7PzRrKikmeU5eanBkU3RfQWJSVShjO1ZLa0BDK2V5KXMzb1hZVD89
fXNeUVJFbXVmbz4+bAp6JmE2aEMrPk9pNE08M0ViM2xMXnluQ2o4byMkQ1daJEs/cyZmVThhYl97
UU1VVG1GaEs5MXh6UXhxPEo3PkNucl4Keks9YFQ8MHs9akdWNWFTY0ZXSTtWMElRJXw2eTY1OSVY
VUBoUDtWZ1FaUWBJMCtzXj9YNGh7U2I/YD9tPkl+PkFXCno5XmtGaTIpZW4lMSkrPUNqWWl5JVl3
PDR4PTN1SG5sfFlGRW0maUhYR214ODVKJldDaVVme3h6U2ZjITgzOTN3Rgp6ditLXkxqZk5CbEhL
YjE9Kno+Vj92YjRPVlQrOUBESCpUcXs7aVBXREBmMnJoQGxXJDh5cn52YDNuYXRyKXtffH0Kei08
WkVTdmw/M3Bge0dKV1pqUnp1TylaciZBRWZRd09yRD09P2Brc3RZSm5LLXJgaktTOEZIXnheK2lP
aG9hNkVLCnppaEh6UHBXc0ZKSCFGSCVeS29hQTUzJG8/dlVIXytfVkROckxzRUBaalB2U1QtVlct
IVFmV2tkQFFOUEBYMilqUAp6dFV1Pm5lLTM3VWh4NnYoPkU8XzZUZkh1UDh2NFhHdS15TXp1fmcj
QHpoKUN6eX5ValNsOVkwVEdAfDxSclopOzIKej9CfE9hdGpaYi1QfS0/WHVlZUtETnZ2TXdkdH4y
bHNDMEpOSGFKV29nbWZqbVFDOVprTTdmaT9KailAXz51JD0rCnoyTHB9MiZUa1Y0bSl1b2lXa29g
aWoqT3JfPHo4eVlsfCZsTmthI0xkIXdnNUlBJip2MVk3Y1JfWkdOViMtM15Qdwp6eSh3QX1kby0l
WloqIVEyVGtLYCZXNU1RZFpjOFFlTVZJQXNhITJjekIxOz8mZEg9PXtkc2MkP20tXnI2X3Mraj8K
el5Vd2BpU3NjdTJQdFBgVHl9WEswczVfVSt1V2RoP3UoYih8Q0plV0Q2aHZTKzIqYVBSam1NOXx1
fjsmUDZuUHVtCnpKKDhHWTs3X3JxRnN8UkV6IylwaUZ7c2BPMCRESGZmalp8MjVGbEpKeXh5ViQk
dUg+KXwwcmxBQUN0NUphOXw3UQp6OFZSLTc/N01NZyVaMUc7KW9zZEFQK04kSCUhT2IyZm58e3Ns
ZVV6S2BKWVMhYWxOY0RyKHpRP2RvJkYhMTh4dm8Keld5SV52RFJkRXRHKzBmNmJsa0Q2TXMhVys9
RWd3UyM9ci1OWGB5TnlYY0t7SCN1OV9sNUIkaCZmJV9OQUctN28/CnokSTBac3RUQTxjMnB8aWIx
UTg1KVZFQ3JGSHVeXjM4WEJRP0B7VnpoPSVuYnktJClycUF+NGFCPElPWkk1fVZqOQp6MyVfWm5i
eVdMZjVNaHt2RTlhfU81Q0AxUjVWJi09Y2d2YntteWJzVjt5PyhART5jTT04NW5SSl9VJkpDQjdm
I0YKempxI21Sdzc5XjB6cVojSis9PD0tU0xuNVE2IXUkMHolfUd4RS1ZZTFifklAMShYdyp1P1oh
TjZye3xAMCp5IVA8CnpsWEw0WmdWMEBIOVY7czg/MGZRQ1hNNyNPVigrU3lGWUokN3pRejlNP1hq
RTFFSXl1YTsyVUIzaClyeyh4XntaYwp6LUlWVG89MHp6N3lNal5BP2xtLT1teFZRR3o/ZmZ8WiEw
Xnh0fUxSOFlSclg2Z0dRfFBAIX0teCVmaX1jTyMjMiQKejJAMHxkdU5iPDJjRG9tTks5bkU9TG4h
WX5PSGEwZTJlMXt0YmVZdyRuenErVkppUm87ZiElTXkrd2VMfVcxc2tnCnp0RG9oKEZQfHU5VypC
P0tuaURZYGhTVGs1RiFPQ31VU3hLUXsqOzlZK2tHYF5Oe3o/SGJJQFV2VDZDdyM5V3whdgp6Wjl9
SGUtSEpeO1JCUSs8eHd8K19eaEJxcjhfeXhPZVN8MFQpMmF2RHZXZTVERCZtYFEtVSlgYiF1WlVM
Xnw9VHEKemJRSmhPZF80O0NGJnd6eiZUSGVzPDhVbUp5aCkwVCt6PzhBfDctXzIyTDJ8Nj88Y01g
ViFIbT5LTEd+OUVYTnBiCnpzfWEpKSRoTWRKOW52K3hLeEVvYzNJWEpya29PcDcpRmVTODgpYH5F
VDVme1hiKVVhfF8hSDFtU3g4VG5wZ2cyTQp6PiM9KDlqd18heEB7bzJUTk1WaDMxNzRHSnB+JWgo
YG1Qemo7XkJ8aSh9ezgqWGBuOyFRLXh3OGRmIX1UVTx0UCsKekBwM1ZzVjtqdFJkfWhQP1puU1ha
dEBFYDtlNGR9KDxBez1hRztIPn5ZV1ojQlRHNE4hJD59c0JheXl9MWs3a0JhCnopR0IhaFZxfVZ6
IVZZV013JllqTGg+KistMGdxNEd4NEh2dStzcFJjRVYtMGsjaDxnS1hNVTsyTEM1TGdvYCtgfgp6
YGlKN25GZ0ZuNk1RY0dHJWpnUXpNTFZnZmVLdnpAdVk1PE1YPDQkJUl3U0w8PUF6V2YoWWVhR0Fu
VjJFbTl4bz4KejE1IUpEK3g4PD8mcFpOcFM/UCloe04pY2pZazI7VXlaJWx4fElRODJuakp6ZD12
YzglYihLWVFWKVVMeGswWF5tCnokS2tQREJhTD1ORTdpeD5zNH1iRUZBNmZ5UzZtO0Q7NSNDe18k
YFE8JWhiQGVIQlM8dUFjOHJIYE16eU1Nb2Y1WQp6azZVa2xaYyN6SV57aXhAXk9FVml6fiFAUHsm
fmtaRUs5PWdwP0FESXdhd3c/I2hvb2FBbzZqfHhaMGRDIyo0Sk8KelliWDlqWk9fNHtDVFNzJiZk
Izw8XmV+TXJ6d3EkaXl7JjR0YHN6VVE1ekROczdMV08+bkU1WkMwaklpQ1c7Nk96CnpYY0EjJlko
VCVQaW1BI0dOMERJb01SPWZ8I3JLcVQ3Tj9BfEJCOXdfZzVqVCFpaXw1ODEwIy13UFo7cSUmOyQ9
Twp6QGg/QDVnfU12PzgpUmFpSnAmNUsyUSlKZUN9Y28lUG85N1FmVHNfRlhXUGNDNH5DKkZKUURF
S3R1Wk59dihpb2IKeio/Zl89TmplKFdpaCszXzd8YG9AM2U9T0c4NHBaOXZiLUhgYmt6IWNZJFg/
b20pUTZnaCEjKkQzRmg9cVc3UXg4CnpRPyEyZEZxMHQ1Mj1IamNgfnwzRGtIRU5jNkQ+LXVNPWxL
JVhuX0o3R0FNWXpRSmBpcGQze1ZzZDtZcTRLNUZjKQp6JDYhe19uZkdWVHZGeUBtOGdSVnElfHNH
RXl6aVNwVDxQaHI5NGQqY0VMJTspPDgqNygmN2NPWWF+SE1xKz9lN1kKenp1ITFNYSVzdiE3dGBw
d2Q4bF9GSUMmaipXZUc4N2k8KzE4KW42M1gpZTF5S2NPe01aZn0xdz1NZXplXkNoeHZxCnpke1My
NnBkYXRSMDIqZ082Ulhxc1F+TERaRzNxfTk+I3lUOTYyYj0yQHY/T3dAX0N7SCVsfiRsVFdQeXUz
MzY5JAp6dyZ1Ui1UM0hkOTU3fi0qOEwkd29nQl50ZiVSTkR7bm4tTHkleXdfdntkbl5TMTxgezs/
OWshTDhYPHZfe3s0NG0Kei19cCU2TjllY0JFblVWNCUtazsjN1RtKENPe2ElN0ctIWh0P0p6d0xB
WkdjI1ZpbTl2VW08NzM2SDtkb0hPcFJCCnpIbDJeVGh6ZEkxYWxeT2RKfDVxIzBWfXd5Ykwyb05h
YEVkeD0rPyFRKlBTKFNKaSFIeDJ+dWxrLVpxcStkLWRzUgp6JUI7QTxEPjswKVV3dUckdTFnO09Z
PV4oS1g3fjNtdDZjJCRhWmolITwrSjZQVmBZXko2fU05dmNxeikzNylFTGcKel5GRF5wQylCQDJj
b2RHcW1KPWItSjRSRWM5JEJgUGJhSXloRjYrN2shJHR9fCUlfk85NFdRYWY2eW91ZTZWV3w2Cno1
ezFMNCs5YUktRGlBcm1CO2BVQmd8YWIlNDR+TGlCQ2t0UWpINyFmc2dZR2kwXlh1UkFQfFY3KTZ1
Rih2PntqQAp6Mm5MKiplOCRSREJlQzMpSUhhcyF5NDxufCshQVg9bVdCd2wwYyMyfGA2SV58UGYj
UVpDNll1IU1TQFdFMV8lSSoKejg0ejRpYlgwKUhWQihQPHgkYD9USj9KIy1yRnAhMGFtTTJfVSpK
WHQ8YG1pWDh8NVkjRHNuKkltQitYaGBhJkVICnp5PSRFMF9NclBzK2xrMEF5RHc7dWF4OHxiOVpC
X2NtTjhwS15sPW9ITWRPLWdyS3wlX3lNQG9WQSQ5VVl0VkxwJgp6QnFoYlNNaXgzNDVRZ1V1QmY1
R1FoU3k8KjxrNzhiKXZUd3hMYnZ1bU4zKnsjdDxDN25BaVk5YSl9dXd7WTVJYXIKelpoRT96Nmpm
dy1HJFpxc0xje2wwM09WSW5rayh5N0pvRWRMKjhPe1QqMyU+eC0/Q2k2e3Q+fTRoMGRMMm1EWGlO
Cnp5O0FYNjd3PjEjNllqbStFYmdVJFB4NFdpJGZrelU2azNqZmYjR3hPejEtdzx5TjVOIyQlZ1JF
aDhFTX5PWUA4Twp6YDtQS145aTclP2BnPmlxVGt2ZjNRblFifXJFdS1XSXNNSUhDdTxmfVJLUyQo
UzR3fVhEQHA1SmhkdUo7UUluck8KelUoR2IlSEdQLVhES35qK3k1MylJcCo4ZDE7cnNRY0JgLWYw
O25rMy0zWGp6dig2Mi1JaSRWe1RPYUd7THcoP2VmCnpAeTRrSVRyMG5TPkR9aFRSI3s8XmswN0hl
RT96V0BVQkZfdlJ6OHBLVHJLeH56ZEcpKFFrUXNyQzgqKiVzeGBIWQp6SWFjYUUqSnBAKE5uKXg7
MiFSSF5qIWBGOy1MSl5HdGJLO2kmfTFTbFo7Qil+aylObjFhaHJXWEtFV1pPM3tASTUKej8xflJU
M21eWWo5Km1mM3YzUDJCeEt6dHlGMGVsMlhKWWtWSEl4K1E3QUZjU0UyMjlgMGAmSXJ0RWxtNi1j
e0FBCnpOKHpwdlcjakpCe05hempNIVUzXjdMWnpZNzMlRDdIVCFrSW9KJTt5cyY2fUtRKiswU1l9
MWFgaD5DVnl1d09efgp6KTVCZH4rZkoyTjlOUDdAZUNpMDwpVSRpa3pET2xDRG59eDZMVDUkRSVX
MXpDZD50MENmTUFEVHtobD04SiNGWXwKelZsUCRwJDw4Vlk/JjQ8fWAjJF9RTyM5VCs/dk0xdW8k
ZEpnelZJZnFKS01qSjJgVj0xMHB7P0hxI3pPNUt5OCRoCno1Tl9jKWVqUyF0V2NlK1gxVExmYmlo
dmEldy0qa2wqTEVYemVLel50RnwtO2E9LUBoaHhAYWxzWDIoOy1DbXJ1VAp6Q15uO1BScz5Eb0km
SkcmZTJLSmMqSG41ZGthI0czYUVtPzQ+R3B3KDtzK0VqIWUkSFJhI0NLaUhCaSE4SlhSfFcKenZh
Q0NtZWJ6X0MrPU89PTx7cGU3N1JjeUs1X1RTKW5wWiFKZ3FHNU5kJDRkfShIOE9URng5dHIjYk5D
dHdNY2gwCnpQSk5kTlIqVUdBKXx7eXdVdTU+Qk1+X30lNT8qfEVUSTtvbkBEKWVTSjlxVDApUSZZ
MXZ8RU5rPDBEcjB1dFVgfAp6VEY4RV5rNEFudUMlc2NSZEBWYy0mYFo1bml4QTRZZmVLPkExajFS
VGBfJiljVldRMjIzJlhwJlRVey1QZShhfncKenVPTW8/PDgyU0BuNG48UURlej4wZXBCfThieSV7
Zzx+cHAoeUspXlNPd0R2VkFGR1docWl0Y0FCbnslMU1FSEdUCnp5JTVASXh1M1ZUZ3UzK2F7VU5Q
MGkjWU9Xe0tjbU5GPCM9RCEtN0RwZCorZ2BTMTtaNDlVezgmdzV6UkFreE9nSAp6ZD07JWRtYEw8
ST9NOWd4eE9DdllmWGEmfT1Pa2BEKnFXVUpKRiokSjZQODgobjkqMUlPXj5RSG9fKGNnVTxncH4K
enJwOC1eY3RsJn1hKVB3OzlaRnt9MXRyPEsoeTZ9Y3QwMW9+IWFpNDA5TXAtfUxDQnNkdHhNTkFi
PnBsX3BTPiRlCnooKmtgMUNQTHpIayE4c2E2cHdAWFleYTtJNGlsdylCRktKQj44cno3ZTwhIzNK
U1djdnRCRnsmTWcqNWN4ODx0MQp6UU9nPXEqVCMobEQhekclWFJMaWRASkBhZ0ZEe1BJcWxlR045
OFQhR1A8Nm5uUl4pTkw7NkJUJFZYZ3p0SUUjci0KejFLN2ooX1BkX0tDZypuM1owVGt0VUxuNndi
TUdsOHk2JDx0LTY/emwmcCYzczNWb1B0QDc5MnhJIXcjU1N1fE8pCnp3UWZDS1FgJGd5TE5HMyYr
MmFobkR4Un1mWSllWVkhMktVYVYpK05mV3xoRntKX0w3NVc2VGxPaCVLUUBKYENUZgp6Mj9ZQl9g
OWplQUVqUXZEVn41NTd6MTEmaT4jI0lyKk58NXRWJEApT2ROaklvYyNtMDhrJVk4U1B1R21tbFpC
UWEKekZKRUB8ekFmbXpANT57MT9IMUx9OT9xIz9xVH1RXioybH5GQHR+cHQ9a2JPSmw2eEpEYEpp
dGRfOW9zWUNHcElECnpvZU5jTVlQMHFKU0BtQis1Mjhocj97ZypacWlNZT0kQz5SOVllazt0KCRT
eVB0U25EJjR5fCg9OUZVVDZOLStEdQp6S1Y9X3ZoKzt8OEdrSz9aUkQkQSFVPEo2SFQpVUBneXwo
R2lJO15Kc2RxUU1sZl5DJEMqRGgxancrWjBFbU01OygKekw8QyVjeV5+MXQkays1ZGFjbSE5X2km
MXlxSVprVmpKbU1tZkxobkYpWGMkWWwjSXNkUE4hIyleTyRAKV5RUTR7CnopITwxZ2BFYEc2e2h7
fVdLVjwpWndINSNCS0x4UlNrJDclOEZ1PTF2WCVBTDIoPGFYVXFITTZjTSZ+IyVuN2o9UQp6dWEj
ODg+UiY1YHoxfiUjZEhGQF5iMVExPm1GTE5sTV8hJXFhcWo+WmcqeTlgWGVvMVZrNzdsPDx9Njs7
biphSDIKel5Jc28xTmI5eURDR2NWMmR3USltdV5oOSlpfUo7QzlqYlM9bm9KKkYrdFRTZnYpPztr
KTZKa0NZPXY4R1NuNkswCnpVQURRTT8kWVVOTFRxV0EoUHxRfnBvX2cwKT1gbTlYSDY4e0lXS2hh
I34jOTdLV3l3LVBPVitLQkcrU1BUbjx0Nwp6d3tyMF83a3c5ODdBNTxXNUd5Q0VtWXBrWUl4MUgq
T2J6T3FLNmZuQyNXJHxKSipfLUJjPFN9cjApd20xWDNRI2YKelghOU0yVE58cSF4e1Zxej5xI3t1
K3tpdyQ/OXxZRWNmdjhzY2JvZFlRS3FCQz1vO0B3SjhEaVVHQzZMKVFzPTJkCnpCcWhQQ2Z8bERV
bHVjV0JISEkqKm4qODBgMGprPDwxSk4oP3pBfGdrKVloRG52YVdWKCpFUlhqPjZgeEd7cj10ZQp0
VD5tJkF8R09zU1U7VVc+TjF5JFomOHErVClBKk5aKV8+fUJ7JiU8WHs9WXZlWVYmJT5lKnZIRHs9
TlZKCgpsaXRlcmFsIDAKSGNtVj9kMDAwMDEKCmRpZmYgLS1naXQgYS9XZWJzaXRlcy93ZWJraXQu
b3JnL2RlbW9zL3dlYm1ldGFsL3NpbXBsZS5qcyBiL1dlYnNpdGVzL3dlYmtpdC5vcmcvZGVtb3Mv
d2VibWV0YWwvc2ltcGxlLmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmU2MjNhOWUwNzg0MDVlNTZkNzBmNzYzMzRm
YzQ5YmE1NDNmNGEwNTIKLS0tIC9kZXYvbnVsbAorKysgYi9XZWJzaXRlcy93ZWJraXQub3JnL2Rl
bW9zL3dlYm1ldGFsL3NpbXBsZS5qcwpAQCAtMCwwICsxLDE3MiBAQAorY29uc3QgdmVydGV4RGF0
YSA9IG5ldyBGbG9hdDMyQXJyYXkoCitbCisgICAgLy8gZmxvYXQ0IHBvc2l0aW9uLCBmbG9hdDQg
Y29sb3IKKyAgICAxLCAtMSwgMSwgMSwgMSwgMCwgMSwgMSwKKyAgICAtMSwgLTEsIDEsIDEsIDAs
IDAsIDEsIDEsCisgICAgLTEsIC0xLCAtMSwgMSwgMCwgMCwgMCwgMSwKKyAgICAxLCAtMSwgLTEs
IDEsIDEsIDAsIDAsIDEsCisgICAgMSwgLTEsIDEsIDEsIDEsIDAsIDEsIDEsCisgICAgLTEsIC0x
LCAtMSwgMSwgMCwgMCwgMCwgMSwKKworICAgIDEsIDEsIDEsIDEsIDEsIDEsIDEsIDEsCisgICAg
MSwgLTEsIDEsIDEsIDEsIDAsIDEsIDEsCisgICAgMSwgLTEsIC0xLCAxLCAxLCAwLCAwLCAxLAor
ICAgIDEsIDEsIC0xLCAxLCAxLCAxLCAwLCAxLAorICAgIDEsIDEsIDEsIDEsIDEsIDEsIDEsIDEs
CisgICAgMSwgLTEsIC0xLCAxLCAxLCAwLCAwLCAxLAorCisgICAgLTEsIDEsIDEsIDEsIDAsIDEs
IDEsIDEsCisgICAgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwKKyAgICAxLCAxLCAtMSwgMSwgMSwg
MSwgMCwgMSwKKyAgICAtMSwgMSwgLTEsIDEsIDAsIDEsIDAsIDEsCisgICAgLTEsIDEsIDEsIDEs
IDAsIDEsIDEsIDEsCisgICAgMSwgMSwgLTEsIDEsIDEsIDEsIDAsIDEsCisKKyAgICAtMSwgLTEs
IDEsIDEsIDAsIDAsIDEsIDEsCisgICAgLTEsIDEsIDEsIDEsIDAsIDEsIDEsIDEsCisgICAgLTEs
IDEsIC0xLCAxLCAwLCAxLCAwLCAxLAorICAgIC0xLCAtMSwgLTEsIDEsIDAsIDAsIDAsIDEsCisg
ICAgLTEsIC0xLCAxLCAxLCAwLCAwLCAxLCAxLAorICAgIC0xLCAxLCAtMSwgMSwgMCwgMSwgMCwg
MSwKKworICAgIDEsIDEsIDEsIDEsIDEsIDEsIDEsIDEsCisgICAgLTEsIDEsIDEsIDEsIDAsIDEs
IDEsIDEsCisgICAgLTEsIC0xLCAxLCAxLCAwLCAwLCAxLCAxLAorICAgIC0xLCAtMSwgMSwgMSwg
MCwgMCwgMSwgMSwKKyAgICAxLCAtMSwgMSwgMSwgMSwgMCwgMSwgMSwKKyAgICAxLCAxLCAxLCAx
LCAxLCAxLCAxLCAxLAorCisgICAgMSwgLTEsIC0xLCAxLCAxLCAwLCAwLCAxLAorICAgIC0xLCAt
MSwgLTEsIDEsIDAsIDAsIDAsIDEsCisgICAgLTEsIDEsIC0xLCAxLCAwLCAxLCAwLCAxLAorICAg
IDEsIDEsIC0xLCAxLCAxLCAxLCAwLCAxLAorICAgIDEsIC0xLCAtMSwgMSwgMSwgMCwgMCwgMSwK
KyAgICAtMSwgMSwgLTEsIDEsIDAsIDEsIDAsIDEsCitdKTsKKworY29uc3QgTnVtQWN0aXZlVW5p
Zm9ybUJ1ZmZlcnMgPSAzOworCitsZXQgZ3B1OworbGV0IGNvbW1hbmRRdWV1ZTsKK2xldCByZW5k
ZXJQYXNzRGVzY3JpcHRvcjsKK2xldCByZW5kZXJQaXBlbGluZVN0YXRlOworbGV0IGRlcHRoU3Rl
bmNpbFN0YXRlOworbGV0IHByb2plY3Rpb25NYXRyaXggPSBtYXQ0LmNyZWF0ZSgpOworCitsZXQg
dW5pZm9ybUJ1ZmZlcnMgPSBuZXcgQXJyYXkoTnVtQWN0aXZlVW5pZm9ybUJ1ZmZlcnMpOwordmFy
IGN1cnJlbnRVbmlmb3JtQnVmZmVySW5kZXggPSAwOworCit3aW5kb3cuYWRkRXZlbnRMaXN0ZW5l
cigibG9hZCIsIGluaXQsIGZhbHNlKTsKKworZnVuY3Rpb24gaW5pdCgpIHsKKworICAgIGlmICgh
Y2hlY2tGb3JXZWJNZXRhbCgpKSB7CisgICAgICAgIHJldHVybjsKKyAgICB9CisKKyAgICBsZXQg
Y2FudmFzID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvcigiY2FudmFzIik7CisgICAgbGV0IGNhbnZh
c1NpemUgPSBjYW52YXMuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7CisgICAgY2FudmFzLndpZHRo
ID0gY2FudmFzU2l6ZS53aWR0aDsKKyAgICBjYW52YXMuaGVpZ2h0ID0gY2FudmFzU2l6ZS5oZWln
aHQ7CisKKyAgICBsZXQgYXNwZWN0ID0gTWF0aC5hYnMoY2FudmFzU2l6ZS53aWR0aCAvIGNhbnZh
c1NpemUuaGVpZ2h0KTsKKyAgICBtYXQ0LnBlcnNwZWN0aXZlKHByb2plY3Rpb25NYXRyaXgsICgy
ICogTWF0aC5QSSkgLyA1LCBhc3BlY3QsIDEsIDEwMC4wKTsKKworICAgIGdwdSA9IGNhbnZhcy5n
ZXRDb250ZXh0KCJ3ZWJtZXRhbCIpOworICAgIGNvbW1hbmRRdWV1ZSA9IGdwdS5jcmVhdGVDb21t
YW5kUXVldWUoKTsKKworICAgIGxldCBsaWJyYXJ5ID0gZ3B1LmNyZWF0ZUxpYnJhcnkoZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoImxpYnJhcnkiKS50ZXh0KTsKKyAgICBsZXQgdmVydGV4RnVuY3Rp
b24gPSBsaWJyYXJ5LmZ1bmN0aW9uV2l0aE5hbWUoInZlcnRleF9tYWluIik7CisgICAgbGV0IGZy
YWdtZW50RnVuY3Rpb24gPSBsaWJyYXJ5LmZ1bmN0aW9uV2l0aE5hbWUoImZyYWdtZW50X21haW4i
KTsKKworICAgIGlmICghbGlicmFyeSB8fCAhZnJhZ21lbnRGdW5jdGlvbiB8fCAhdmVydGV4RnVu
Y3Rpb24pIHsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKworICAgIGxldCBwaXBlbGluZURlc2Ny
aXB0b3IgPSBuZXcgV2ViTWV0YWxSZW5kZXJQaXBlbGluZURlc2NyaXB0b3IoKTsKKyAgICBwaXBl
bGluZURlc2NyaXB0b3IudmVydGV4RnVuY3Rpb24gPSB2ZXJ0ZXhGdW5jdGlvbjsKKyAgICBwaXBl
bGluZURlc2NyaXB0b3IuZnJhZ21lbnRGdW5jdGlvbiA9IGZyYWdtZW50RnVuY3Rpb247CisgICAg
Ly8gTk9URTogT3VyIEFQSSBwcm9wb3NhbCBoYXMgdGhlc2UgdmFsdWVzIGFzIGVudW1zLCBub3Qg
Y29uc3RhbnQgbnVtYmVycy4KKyAgICAvLyBXZSBoYXZlbid0IGdvdCBhcm91bmQgdG8gaW1wbGVt
ZW50aW5nIHRoZSBlbnVtcyB5ZXQuCisgICAgcGlwZWxpbmVEZXNjcmlwdG9yLmNvbG9yQXR0YWNo
bWVudHNbMF0ucGl4ZWxGb3JtYXQgPSBncHUuUGl4ZWxGb3JtYXRCR1JBOFVub3JtOworICAgIHBp
cGVsaW5lRGVzY3JpcHRvci5kZXB0aEF0dGFjaG1lbnRQaXhlbEZvcm1hdCA9IGdwdS5QaXhlbEZv
cm1hdERlcHRoMzJGbG9hdDsKKworICAgIHJlbmRlclBpcGVsaW5lU3RhdGUgPSBncHUuY3JlYXRl
UmVuZGVyUGlwZWxpbmVTdGF0ZShwaXBlbGluZURlc2NyaXB0b3IpOworCisgICAgbGV0IGRlcHRo
U3RlbmNpbERlc2NyaXB0b3IgPSBuZXcgV2ViTWV0YWxEZXB0aFN0ZW5jaWxEZXNjcmlwdG9yKCk7
CisgICAgZGVwdGhTdGVuY2lsRGVzY3JpcHRvci5kZXB0aFdyaXRlRW5hYmxlZCA9IHRydWU7Cisg
ICAgZGVwdGhTdGVuY2lsRGVzY3JpcHRvci5kZXB0aENvbXBhcmVGdW5jdGlvbiA9ICJsZXNzIjsK
KworICAgIGRlcHRoU3RlbmNpbFN0YXRlID0gZ3B1LmNyZWF0ZURlcHRoU3RlbmNpbFN0YXRlKGRl
cHRoU3RlbmNpbERlc2NyaXB0b3IpOworCisgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBOdW1BY3Rp
dmVVbmlmb3JtQnVmZmVyczsgaSsrKSB7CisgICAgICAgIHVuaWZvcm1CdWZmZXJzW2ldID0gZ3B1
LmNyZWF0ZUJ1ZmZlcihuZXcgRmxvYXQzMkFycmF5KDE2KSk7CisgICAgfQorCisgICAgbGV0IGRl
cHRoVGV4dHVyZURlc2NyaXB0b3IgPSBuZXcgV2ViTWV0YWxUZXh0dXJlRGVzY3JpcHRvcihncHUu
UGl4ZWxGb3JtYXREZXB0aDMyRmxvYXQsIGNhbnZhc1NpemUud2lkdGgsIGNhbnZhc1NpemUuaGVp
Z2h0LCBmYWxzZSk7CisgICAgLy8gTk9URTogT3VyIEFQSSBwcm9wb3NhbCBoYXMgc29tZSBvZiB0
aGVzZSB2YWx1ZXMgYXMgZW51bXMsIG5vdCBjb25zdGFudCBudW1iZXJzLgorICAgIC8vIFdlIGhh
dmVuJ3QgZ290IGFyb3VuZCB0byBpbXBsZW1lbnRpbmcgdGhlIGVudW1zIHlldC4KKyAgICBkZXB0
aFRleHR1cmVEZXNjcmlwdG9yLnRleHR1cmVUeXBlID0gZ3B1LlRleHR1cmVUeXBlMkQ7CisgICAg
ZGVwdGhUZXh0dXJlRGVzY3JpcHRvci5zYW1wbGVDb3VudCA9IDE7CisgICAgZGVwdGhUZXh0dXJl
RGVzY3JpcHRvci51c2FnZSA9IGdwdS5UZXh0dXJlVXNhZ2VVbmtub3duOworICAgIGRlcHRoVGV4
dHVyZURlc2NyaXB0b3Iuc3RvcmFnZU1vZGUgPSBncHUuU3RvcmFnZU1vZGVQcml2YXRlOworCisg
ICAgbGV0IGRlcHRoVGV4dHVyZSA9IGdwdS5jcmVhdGVUZXh0dXJlKGRlcHRoVGV4dHVyZURlc2Ny
aXB0b3IpOworCisgICAgcmVuZGVyUGFzc0Rlc2NyaXB0b3IgPSBuZXcgV2ViTWV0YWxSZW5kZXJQ
YXNzRGVzY3JpcHRvcigpOworICAgIC8vIE5PVEU6IE91ciBBUEkgcHJvcG9zYWwgaGFzIHNvbWUg
b2YgdGhlc2UgdmFsdWVzIGFzIGVudW1zLCBub3QgY29uc3RhbnQgbnVtYmVycy4KKyAgICAvLyBX
ZSBoYXZlbid0IGdvdCBhcm91bmQgdG8gaW1wbGVtZW50aW5nIHRoZSBlbnVtcyB5ZXQuCisgICAg
cmVuZGVyUGFzc0Rlc2NyaXB0b3IuY29sb3JBdHRhY2htZW50c1swXS5sb2FkQWN0aW9uID0gZ3B1
LkxvYWRBY3Rpb25DbGVhcjsKKyAgICByZW5kZXJQYXNzRGVzY3JpcHRvci5jb2xvckF0dGFjaG1l
bnRzWzBdLnN0b3JlQWN0aW9uID0gZ3B1LlN0b3JlQWN0aW9uU3RvcmU7CisgICAgcmVuZGVyUGFz
c0Rlc2NyaXB0b3IuY29sb3JBdHRhY2htZW50c1swXS5jbGVhckNvbG9yID0gWzAuMzUsIDAuNjUs
IDAuODUsIDEuMF07CisgICAgcmVuZGVyUGFzc0Rlc2NyaXB0b3IuZGVwdGhBdHRhY2htZW50Lmxv
YWRBY3Rpb24gPSBncHUuTG9hZEFjdGlvbkNsZWFyOworICAgIHJlbmRlclBhc3NEZXNjcmlwdG9y
LmRlcHRoQXR0YWNobWVudC5zdG9yZUFjdGlvbiA9IGdwdS5TdG9yZUFjdGlvbkRvbnRDYXJlOwor
ICAgIHJlbmRlclBhc3NEZXNjcmlwdG9yLmRlcHRoQXR0YWNobWVudC5jbGVhckRlcHRoID0gMS4w
OworICAgIHJlbmRlclBhc3NEZXNjcmlwdG9yLmRlcHRoQXR0YWNobWVudC50ZXh0dXJlID0gZGVw
dGhUZXh0dXJlOworCisgICAgdmVydGV4QnVmZmVyID0gZ3B1LmNyZWF0ZUJ1ZmZlcih2ZXJ0ZXhE
YXRhKTsKKyAgICByZW5kZXIoKTsKK30KKworZnVuY3Rpb24gcmVuZGVyKCkgeworCisgICAgdXBk
YXRlVW5pZm9ybURhdGEoY3VycmVudFVuaWZvcm1CdWZmZXJJbmRleCk7CisKKyAgICBsZXQgY29t
bWFuZEJ1ZmZlciA9IGNvbW1hbmRRdWV1ZS5jcmVhdGVDb21tYW5kQnVmZmVyKCk7CisKKyAgICBs
ZXQgZHJhd2FibGUgPSBncHUubmV4dERyYXdhYmxlKCk7CisKKyAgICByZW5kZXJQYXNzRGVzY3Jp
cHRvci5jb2xvckF0dGFjaG1lbnRzWzBdLnRleHR1cmUgPSBkcmF3YWJsZS50ZXh0dXJlOworCisg
ICAgbGV0IGNvbW1hbmRFbmNvZGVyID0gY29tbWFuZEJ1ZmZlci5jcmVhdGVSZW5kZXJDb21tYW5k
RW5jb2RlcldpdGhEZXNjcmlwdG9yKHJlbmRlclBhc3NEZXNjcmlwdG9yKTsKKyAgICBjb21tYW5k
RW5jb2Rlci5zZXREZXB0aFN0ZW5jaWxTdGF0ZShkZXB0aFN0ZW5jaWxTdGF0ZSk7CisgICAgY29t
bWFuZEVuY29kZXIuc2V0UmVuZGVyUGlwZWxpbmVTdGF0ZShyZW5kZXJQaXBlbGluZVN0YXRlKTsK
KyAgICBjb21tYW5kRW5jb2Rlci5zZXRWZXJ0ZXhCdWZmZXIodmVydGV4QnVmZmVyLCAwLCAwKTsK
KyAgICBjb21tYW5kRW5jb2Rlci5zZXRWZXJ0ZXhCdWZmZXIodW5pZm9ybUJ1ZmZlcnNbY3VycmVu
dFVuaWZvcm1CdWZmZXJJbmRleF0sIDAsIDEpOworCisgICAgLy8gTk9URTogT3VyIEFQSSBwcm9w
b3NhbCB1c2VzIHRoZSBlbnVtIHZhbHVlICJ0cmlhbmdsZSIgaGVyZS4gV2UgaGF2ZW4ndCBnb3Qg
YXJvdW5kIHRvIGltcGxlbWVudGluZyB0aGUgZW51bXMgeWV0LgorICAgIGNvbW1hbmRFbmNvZGVy
LmRyYXdQcmltaXRpdmVzKGdwdS5QcmltaXRpdmVUeXBlVHJpYW5nbGUsIDAsIDM2KTsKKworICAg
IGNvbW1hbmRFbmNvZGVyLmVuZEVuY29kaW5nKCk7CisgICAgY29tbWFuZEJ1ZmZlci5wcmVzZW50
RHJhd2FibGUoZHJhd2FibGUpOworICAgIGNvbW1hbmRCdWZmZXIuY29tbWl0KCk7CisKKyAgICBj
dXJyZW50VW5pZm9ybUJ1ZmZlckluZGV4ID0gKGN1cnJlbnRVbmlmb3JtQnVmZmVySW5kZXggKyAx
KSAlIE51bUFjdGl2ZVVuaWZvcm1CdWZmZXJzOworICAgIHJlcXVlc3RBbmltYXRpb25GcmFtZShy
ZW5kZXIpOworfQorCitmdW5jdGlvbiB1cGRhdGVVbmlmb3JtRGF0YShpbmRleCkgeworCisgICAg
bGV0IHZpZXdNYXRyaXggPSBtYXQ0LmNyZWF0ZSgpOworICAgIG1hdDQudHJhbnNsYXRlKHZpZXdN
YXRyaXgsIHZpZXdNYXRyaXgsIHZlYzMuZnJvbVZhbHVlcygwLCAwLCAtNSkpOworICAgIGxldCBu
b3cgPSBEYXRlLm5vdygpIC8gMTAwMDsKKyAgICBtYXQ0LnJvdGF0ZSh2aWV3TWF0cml4LCB2aWV3
TWF0cml4LCAxLCB2ZWMzLmZyb21WYWx1ZXMoTWF0aC5zaW4obm93KSwgTWF0aC5jb3Mobm93KSwg
MCkpOworCisgICAgbGV0IG1vZGVsVmlld1Byb2plY3Rpb25NYXRyaXggPSBtYXQ0LmNyZWF0ZSgp
OworICAgIG1hdDQubXVsdGlwbHkobW9kZWxWaWV3UHJvamVjdGlvbk1hdHJpeCwgcHJvamVjdGlv
bk1hdHJpeCwgdmlld01hdHJpeCk7CisKKyAgICBsZXQgdW5pZm9ybSA9IG5ldyBGbG9hdDMyQXJy
YXkodW5pZm9ybUJ1ZmZlcnNbaW5kZXhdLmNvbnRlbnRzKTsKKyAgICBmb3IgKGxldCBpID0gMDsg
aSA8IDE2OyBpKyspIHsKKyAgICAgICAgdW5pZm9ybVtpXSA9IG1vZGVsVmlld1Byb2plY3Rpb25N
YXRyaXhbaV07CisgICAgfQorfQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIv
TGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IDk2ZjE0ZTliYTE0ZmM5YzNlOWMzMGE2ODMxZDYz
MzQwNTNlYmNmODQuLjFlZjRmN2MyMTE1N2Y2M2VmNzEyNDI5OGYxMDZlODVmMjk3YTIzYWEgMTAw
NjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKQEAgLTEsMyArMSwyOCBAQAorMjAxOC0xMC0wNSAgSnVzdGluIEZhbiAgPGp1c3Rpbl9mYW5A
YXBwbGUuY29tPgorCisgICAgICAgIFdlYkdQVTogUmVuYW1lIG9sZCBXZWJHUFUgcHJvdG90eXBl
IHRvIFdlYk1ldGFsCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD0xOTAzMjUKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzQ0OTkwNDQzPgorCisgICAgICAg
IFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFJlbmFtZSBXZWJHUFUgcHJv
dG90eXBlIGZpbGVzIHRvIFdlYk1ldGFsIGluIHByZXBhcmF0aW9uIGZvciBpbXBsZW1lbnRpbmcg
dGhlIG5ldyAoT2N0IDIwMTgpIFdlYkdQVSBpbnRlcmZhY2UuCisKKyAgICAgICAgKiBmYXN0L2Nh
bnZhcy93ZWJncHUvd2ViZ3B1LXJ1bnRpbWUtZmxhZy1leHBlY3RlZC50eHQ6IFJlbW92ZWQuCisg
ICAgICAgICogZmFzdC9jYW52YXMvd2VibWV0YWwvd2VibWV0YWwtZGlzcGF0Y2gtZXhwZWN0ZWQu
dHh0OiBSZW5hbWVkIGZyb20gTGF5b3V0VGVzdHMvZmFzdC9jYW52YXMvd2ViZ3B1L3dlYmdwdS1k
aXNwYXRjaC1leHBlY3RlZC50eHQuCisgICAgICAgICogZmFzdC9jYW52YXMvd2VibWV0YWwvd2Vi
bWV0YWwtZGlzcGF0Y2guaHRtbDogUmVuYW1lZCBmcm9tIExheW91dFRlc3RzL2Zhc3QvY2FudmFz
L3dlYmdwdS93ZWJncHUtZGlzcGF0Y2guaHRtbC4KKyAgICAgICAgKiBmYXN0L2NhbnZhcy93ZWJt
ZXRhbC93ZWJtZXRhbC1ydW50aW1lLWZsYWctZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAg
KiBmYXN0L2NhbnZhcy93ZWJtZXRhbC93ZWJtZXRhbC1ydW50aW1lLWZsYWcuaHRtbDogUmVuYW1l
ZCBmcm9tIExheW91dFRlc3RzL2Zhc3QvY2FudmFzL3dlYmdwdS93ZWJncHUtcnVudGltZS1mbGFn
Lmh0bWwuCisgICAgICAgICogaW5zcGVjdG9yL2NhbnZhcy9jcmVhdGUtY29udGV4dC13ZWJtZXRh
bC1leHBlY3RlZC50eHQ6IFJlbmFtZWQgZnJvbSBMYXlvdXRUZXN0cy9pbnNwZWN0b3IvY2FudmFz
L2NyZWF0ZS1jb250ZXh0LXdlYmdwdS1leHBlY3RlZC50eHQuCisgICAgICAgICogaW5zcGVjdG9y
L2NhbnZhcy9jcmVhdGUtY29udGV4dC13ZWJtZXRhbC5odG1sOiBSZW5hbWVkIGZyb20gTGF5b3V0
VGVzdHMvaW5zcGVjdG9yL2NhbnZhcy9jcmVhdGUtY29udGV4dC13ZWJncHUuaHRtbC4KKyAgICAg
ICAgKiBpbnNwZWN0b3IvY2FudmFzL3Jlc29sdmVDYW52YXNDb250ZXh0LXdlYmdwdS1leHBlY3Rl
ZC50eHQ6IFJlbW92ZWQuCisgICAgICAgICogaW5zcGVjdG9yL2NhbnZhcy9yZXNvbHZlQ2FudmFz
Q29udGV4dC13ZWJtZXRhbC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGluc3BlY3Rv
ci9jYW52YXMvcmVzb2x2ZUNhbnZhc0NvbnRleHQtd2VibWV0YWwuaHRtbDogUmVuYW1lZCBmcm9t
IExheW91dFRlc3RzL2luc3BlY3Rvci9jYW52YXMvcmVzb2x2ZUNhbnZhc0NvbnRleHQtd2ViZ3B1
Lmh0bWwuCisgICAgICAgICogcGxhdGZvcm0vZ3RrL1Rlc3RFeHBlY3RhdGlvbnM6CisgICAgICAg
ICogcGxhdGZvcm0vaW9zL1Rlc3RFeHBlY3RhdGlvbnM6CisgICAgICAgICogcGxhdGZvcm0vbWFj
L1Rlc3RFeHBlY3RhdGlvbnM6CisgICAgICAgICogcGxhdGZvcm0vd2luL1Rlc3RFeHBlY3RhdGlv
bnM6CisKIDIwMTgtMTAtMDUgIEpvc2VwaCBQZWNvcmFybyAgPHBlY29yYXJvQGFwcGxlLmNvbT4K
IAogICAgICAgICBUcnkgdG8gdW5mbGFrZSBpbnNwZWN0b3IvbGF5ZXJzL2xheWVyVHJlZURpZENo
YW5nZS5odG1sCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2NhbnZhcy93ZWJncHUvd2Vi
Z3B1LWRpc3BhdGNoLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3QvY2FudmFzL3dlYmdw
dS93ZWJncHUtZGlzcGF0Y2gtZXhwZWN0ZWQudHh0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCA3ZWYyMmU5YTQzMWFkMDI3MjcxM2I3MWZkYzg3OTQwMTZjOGVmMTJmLi4wMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2Zhc3QvY2Fu
dmFzL3dlYmdwdS93ZWJncHUtZGlzcGF0Y2gtZXhwZWN0ZWQudHh0CisrKyAvZGV2L251bGwKQEAg
LTEgKzAsMCBAQAotUEFTUwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9jYW52YXMvd2Vi
Z3B1L3dlYmdwdS1kaXNwYXRjaC5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9jYW52YXMvd2ViZ3B1
L3dlYmdwdS1kaXNwYXRjaC5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA5YjE2
NGQ4ZDRiZjc4NGRiZjRhOTViZDAzYTEyMmYwYmMwZDUyMmFkLi4wMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2Zhc3QvY2FudmFzL3dlYmdw
dS93ZWJncHUtZGlzcGF0Y2guaHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDk2ICswLDAgQEAKLTxz
Y3JpcHQgaWQ9InNjcmlwdCIgdHlwZT0ieC1zaGFkZXIveC1tZXRhbCI+Ci11c2luZyBuYW1lc3Bh
Y2UgbWV0YWw7Ci0KLWtlcm5lbCB2b2lkIGdldF9rZXJuZWxfc2l6ZShkZXZpY2UgaW50ICpyZXN1
bHRbW2J1ZmZlcigwKV1dLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzIGdyaWRf
c2l6ZVtbdGhyZWFkZ3JvdXBzX3Blcl9ncmlkXV0sCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgdWludDMgZ3JvdXBfc2l6ZVtbdGhyZWFkc19wZXJfdGhyZWFkZ3JvdXBdXSwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICB1aW50MyBnaWRbW3RocmVhZF9wb3NpdGlvbl9pbl9ncmlkXV0p
Ci17Ci0gICAgaWYgKGdpZC54ICE9IDAgfHwgZ2lkLnkgIT0gMCB8fCBnaWQueiAhPSAwKSAKLSAg
ICAgICAgcmV0dXJuOwotCi0gICAgcmVzdWx0WzBdID0gZ3JpZF9zaXplLng7Ci0gICAgcmVzdWx0
WzFdID0gZ3JpZF9zaXplLnk7Ci0gICAgcmVzdWx0WzJdID0gZ3JpZF9zaXplLno7Ci0gICAgcmVz
dWx0WzNdID0gZ3JvdXBfc2l6ZS54OwotICAgIHJlc3VsdFs0XSA9IGdyb3VwX3NpemUueTsKLSAg
ICByZXN1bHRbNV0gPSBncm91cF9zaXplLno7Ci19Ci08L3NjcmlwdD4KLQotPHNjcmlwdD4KLWlm
ICh3aW5kb3cudGVzdFJ1bm5lcikgewotICAgIHdpbmRvdy50ZXN0UnVubmVyLmR1bXBBc1RleHQo
KTsKLSAgICB3aW5kb3cudGVzdFJ1bm5lci53YWl0VW50aWxEb25lKCk7Ci19Ci0KLWZ1bmN0aW9u
IGFzc2VydChhKSB7Ci0gICAgaWYgKCFhKSB7Ci0gICAgICAgIHRocm93IG5ldyBFcnJvcignQXNz
ZXJ0aW9uIEZhaWxlZC4nKTsKLSAgICB9Ci19Ci0KLWZ1bmN0aW9uIHJ1bigpIHsKLSAgICBsZXQg
b3V0cHV0ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoIm91dHB1dCIpOwotCi0gICAgaWYgKCF3
aW5kb3cudGVzdFJ1bm5lcikgewotICAgICAgICBvdXRwdXQudGV4dENvbnRlbnQgPSAiVGhpcyB0
ZXN0IG9ubHkgcnVucyBpbnNpZGUgRFJUL1dLVFIuIjsKLSAgICAgICAgcmV0dXJuOwotICAgIH0K
LQotICAgIHdpbmRvdy5pbnRlcm5hbHMuc2V0dGluZ3Muc2V0V2ViR1BVRW5hYmxlZCh0cnVlKTsK
LSAgICBsZXQgZ3B1ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiY2FudmFzIikuZ2V0Q29udGV4
dCgid2ViZ3B1Iik7Ci0gICAgbGV0IGNvbW1hbmRRdWV1ZSA9IGdwdS5jcmVhdGVDb21tYW5kUXVl
dWUoKTsKLQotICAgIGxldCBsaWJyYXJ5ID0gZ3B1LmNyZWF0ZUxpYnJhcnkoZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoInNjcmlwdCIpLnRleHQpOwotICAgIGxldCBrZXJuZWxGdW5jdGlvbiA9IGxp
YnJhcnkuZnVuY3Rpb25XaXRoTmFtZSgiZ2V0X2tlcm5lbF9zaXplIik7Ci0gICAgbGV0IHBpcGVs
aW5lU3RhdGUgPSBncHUuY3JlYXRlQ29tcHV0ZVBpcGVsaW5lU3RhdGUoa2VybmVsRnVuY3Rpb24p
OwotCi0gICAgbGV0IHJlc3VsdEJ1ZmZlciA9IGdwdS5jcmVhdGVCdWZmZXIobmV3IEludDMyQXJy
YXkoNikpOwotICAgIAotICAgIGxldCBjb21tYW5kQnVmZmVyID0gY29tbWFuZFF1ZXVlLmNyZWF0
ZUNvbW1hbmRCdWZmZXIoKTsKLSAgICBsZXQgY29tbWFuZEVuY29kZXIgPSBjb21tYW5kQnVmZmVy
LmNyZWF0ZUNvbXB1dGVDb21tYW5kRW5jb2RlcigpOwotCi0gICAgbGV0IGdyaWRTaXplID0gewot
ICAgICAgICB3aWR0aDogNywKLSAgICAgICAgaGVpZ2h0OiA2LAotICAgICAgICBkZXB0aDogNQot
ICAgIH07Ci0gICAgbGV0IGdyb3VwU2l6ZSA9IHsKLSAgICAgICAgd2lkdGg6IDQsCi0gICAgICAg
IGhlaWdodDogMywKLSAgICAgICAgZGVwdGg6IDIKLSAgICB9OwotICAgIAotICAgIGNvbW1hbmRF
bmNvZGVyLnNldENvbXB1dGVQaXBlbGluZVN0YXRlKHBpcGVsaW5lU3RhdGUpOwotICAgIGNvbW1h
bmRFbmNvZGVyLnNldEJ1ZmZlcihyZXN1bHRCdWZmZXIsIDAsIDApOwotICAgIGNvbW1hbmRFbmNv
ZGVyLmRpc3BhdGNoKGdyaWRTaXplLCBncm91cFNpemUpOwotICAgIGNvbW1hbmRFbmNvZGVyLmVu
ZEVuY29kaW5nKCk7Ci0KLSAgICBjb21tYW5kQnVmZmVyLmNvbXBsZXRlZC50aGVuKCgpID0+IHsK
LSAgICAgICAgbGV0IHJlc3VsdCA9IG5ldyBJbnQzMkFycmF5KHJlc3VsdEJ1ZmZlci5jb250ZW50
cyk7Ci0KLSAgICAgICAgdHJ5IHsKLSAgICAgICAgICAgIGFzc2VydChyZXN1bHRbMF0gPT09IGdy
aWRTaXplLndpZHRoKTsKLSAgICAgICAgICAgIGFzc2VydChyZXN1bHRbMV0gPT09IGdyaWRTaXpl
LmhlaWdodCk7Ci0gICAgICAgICAgICBhc3NlcnQocmVzdWx0WzJdID09PSBncmlkU2l6ZS5kZXB0
aCk7Ci0gICAgICAgICAgICBhc3NlcnQocmVzdWx0WzNdID09PSBncm91cFNpemUud2lkdGgpOwot
ICAgICAgICAgICAgYXNzZXJ0KHJlc3VsdFs0XSA9PT0gZ3JvdXBTaXplLmhlaWdodCk7Ci0gICAg
ICAgICAgICBhc3NlcnQocmVzdWx0WzVdID09PSBncm91cFNpemUuZGVwdGgpOwotCi0gICAgICAg
IH0gY2F0Y2goZXJyKSB7Ci0gICAgICAgICAgICBvdXRwdXQudGV4dENvbnRlbnQgPSBgRkFJTDog
JHtlcnIubWVzc2FnZX1gOwotICAgICAgICAgICAgcmV0dXJuOwotICAgICAgICB9Ci0KLSAgICAg
ICAgb3V0cHV0LnRleHRDb250ZW50ID0gJ1BBU1MnOwotICAgICAgICB3aW5kb3cudGVzdFJ1bm5l
ci5ub3RpZnlEb25lKCk7Ci0gICAgfSk7Ci0KLSAgICBjb21tYW5kQnVmZmVyLmNvbW1pdCgpOwot
fQotCi13aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1biwgZmFsc2UpOwotCi08L3Nj
cmlwdD4KLTxkaXYgaWQ9Im91dHB1dCI+PC9kaXY+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9m
YXN0L2NhbnZhcy93ZWJncHUvd2ViZ3B1LXJ1bnRpbWUtZmxhZy1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9mYXN0L2NhbnZhcy93ZWJncHUvd2ViZ3B1LXJ1bnRpbWUtZmxhZy1leHBlY3RlZC50
eHQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGFjZjg4M2U3MzFmNmExMmMxMzkwMjEx
NTNlZmUyMDBmMjQ3ZTA0ZjUuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9jYW52YXMvd2ViZ3B1L3dlYmdwdS1ydW50aW1lLWZs
YWctZXhwZWN0ZWQudHh0CisrKyAvZGV2L251bGwKQEAgLTEsMiArMCwwIEBACi1QQVNTOiBXZWJH
UFUgd2FzIGF2YWlsYWJsZSB3aGVuIGVuYWJsZWQuCi1QQVNTOiBXZWJHUFUgd2FzIG5vdCBhdmFp
bGFibGUgd2hlbiBkaXNhYmxlZC4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvY2FudmFz
L3dlYmdwdS93ZWJncHUtcnVudGltZS1mbGFnLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2NhbnZh
cy93ZWJncHUvd2ViZ3B1LXJ1bnRpbWUtZmxhZy5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAxN2VhNDJiMWIyNTcyMDE1NTRmOGFhYjg0NWM1MWU5N2VmZjAzNzAyLi4wMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2Zhc3Qv
Y2FudmFzL3dlYmdwdS93ZWJncHUtcnVudGltZS1mbGFnLmh0bWwKKysrIC9kZXYvbnVsbApAQCAt
MSw0MiArMCwwIEBACi08c2NyaXB0PgotCi1pZiAod2luZG93LnRlc3RSdW5uZXIpCi0gICAgd2lu
ZG93LnRlc3RSdW5uZXIuZHVtcEFzVGV4dCgpOwotCi1mdW5jdGlvbiBnZXRDb250ZXh0KG5hbWUp
IHsKLSAgICB2YXIgYyA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImNhbnZhcyIpOwotICAgIHJl
dHVybiBjLmdldENvbnRleHQobmFtZSk7Ci19Ci0KLWZ1bmN0aW9uIHJ1bigpIHsKLSAgICB2YXIg
b3V0cHV0OwotCi0gICAgb3V0cHV0ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoIm91dHB1dDEi
KTsKLQotICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpIHsKLSAgICAgICAgb3V0cHV0LnRleHRD
b250ZW50ID0gIlRoaXMgdGVzdCBvbmx5IHJ1bnMgaW5zaWRlIERSVC9XS1RSLiI7Ci0gICAgICAg
IHJldHVybjsKLSAgICB9Ci0KLSAgICB3aW5kb3cuaW50ZXJuYWxzLnNldHRpbmdzLnNldFdlYkdQ
VUVuYWJsZWQodHJ1ZSk7Ci0gICAgdmFyIGN0eCA9IGdldENvbnRleHQoIndlYmdwdSIpOwotICAg
IGlmIChjdHgpCi0gICAgICAgIG91dHB1dC50ZXh0Q29udGVudCA9ICJQQVNTOiBXZWJHUFUgd2Fz
IGF2YWlsYWJsZSB3aGVuIGVuYWJsZWQuIjsKLSAgICBlbHNlCi0gICAgICAgIG91dHB1dC50ZXh0
Q29udGVudCA9ICJGQUlMOiBXZWJHUFUgd2FzIG5vdCBhdmFpbGFibGUgd2hlbiBlbmFibGVkLiI7
Ci0KLSAgICBvdXRwdXQgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgib3V0cHV0MiIpOwotCi0g
ICAgd2luZG93LmludGVybmFscy5zZXR0aW5ncy5zZXRXZWJHUFVFbmFibGVkKGZhbHNlKTsKLSAg
ICB2YXIgY3R4ID0gZ2V0Q29udGV4dCgid2ViZ3B1Iik7Ci0gICAgaWYgKGN0eCkKLSAgICAgICAg
b3V0cHV0LnRleHRDb250ZW50ID0gIkZBSUw6IFdlYkdQVSB3YXMgYXZhaWxhYmxlIHdoZW4gZGlz
YWJsZWQuIjsKLSAgICBlbHNlCi0gICAgICAgIG91dHB1dC50ZXh0Q29udGVudCA9ICJQQVNTOiBX
ZWJHUFUgd2FzIG5vdCBhdmFpbGFibGUgd2hlbiBkaXNhYmxlZC4iOwotfQotCi13aW5kb3cuYWRk
RXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1biwgZmFsc2UpOwotCi08L3NjcmlwdD4KLTxkaXYgaWQ9
Im91dHB1dDEiPjwvZGl2PgotPGRpdiBpZD0ib3V0cHV0MiI+PC9kaXY+CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9mYXN0L2NhbnZhcy93ZWJtZXRhbC93ZWJtZXRhbC1kaXNwYXRjaC1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0L2NhbnZhcy93ZWJtZXRhbC93ZWJtZXRhbC1kaXNwYXRj
aC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2VmMjJlOWE0MzFhZDAyNzI3MTNiNzFmZGM4Nzk0
MDE2YzhlZjEyZgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvY2FudmFzL3dl
Ym1ldGFsL3dlYm1ldGFsLWRpc3BhdGNoLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxIEBACitQQVNT
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2NhbnZhcy93ZWJtZXRhbC93ZWJtZXRhbC1k
aXNwYXRjaC5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9jYW52YXMvd2VibWV0YWwvd2VibWV0YWwt
ZGlzcGF0Y2guaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5hOWQxZWE1YmNmMWZiNDc2YzBiZDFhZmUxMGUxNGMw
OTg2MDkxMTAyCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9jYW52YXMvd2Vi
bWV0YWwvd2VibWV0YWwtZGlzcGF0Y2guaHRtbApAQCAtMCwwICsxLDk2IEBACis8c2NyaXB0IGlk
PSJzY3JpcHQiIHR5cGU9Ingtc2hhZGVyL3gtbWV0YWwiPgordXNpbmcgbmFtZXNwYWNlIG1ldGFs
OworCitrZXJuZWwgdm9pZCBnZXRfa2VybmVsX3NpemUoZGV2aWNlIGludCAqcmVzdWx0W1tidWZm
ZXIoMCldXSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50MyBncmlkX3NpemVbW3Ro
cmVhZGdyb3Vwc19wZXJfZ3JpZF1dLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQz
IGdyb3VwX3NpemVbW3RocmVhZHNfcGVyX3RocmVhZGdyb3VwXV0sCisgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgdWludDMgZ2lkW1t0aHJlYWRfcG9zaXRpb25faW5fZ3JpZF1dKQoreworICAg
IGlmIChnaWQueCAhPSAwIHx8IGdpZC55ICE9IDAgfHwgZ2lkLnogIT0gMCkgCisgICAgICAgIHJl
dHVybjsKKworICAgIHJlc3VsdFswXSA9IGdyaWRfc2l6ZS54OworICAgIHJlc3VsdFsxXSA9IGdy
aWRfc2l6ZS55OworICAgIHJlc3VsdFsyXSA9IGdyaWRfc2l6ZS56OworICAgIHJlc3VsdFszXSA9
IGdyb3VwX3NpemUueDsKKyAgICByZXN1bHRbNF0gPSBncm91cF9zaXplLnk7CisgICAgcmVzdWx0
WzVdID0gZ3JvdXBfc2l6ZS56OworfQorPC9zY3JpcHQ+CisKKzxzY3JpcHQ+CitpZiAod2luZG93
LnRlc3RSdW5uZXIpIHsKKyAgICB3aW5kb3cudGVzdFJ1bm5lci5kdW1wQXNUZXh0KCk7CisgICAg
d2luZG93LnRlc3RSdW5uZXIud2FpdFVudGlsRG9uZSgpOworfQorCitmdW5jdGlvbiBhc3NlcnQo
YSkgeworICAgIGlmICghYSkgeworICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ0Fzc2VydGlvbiBG
YWlsZWQuJyk7CisgICAgfQorfQorCitmdW5jdGlvbiBydW4oKSB7CisgICAgbGV0IG91dHB1dCA9
IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJvdXRwdXQiKTsKKworICAgIGlmICghd2luZG93LnRl
c3RSdW5uZXIpIHsKKyAgICAgICAgb3V0cHV0LnRleHRDb250ZW50ID0gIlRoaXMgdGVzdCBvbmx5
IHJ1bnMgaW5zaWRlIERSVC9XS1RSLiI7CisgICAgICAgIHJldHVybjsKKyAgICB9CisKKyAgICB3
aW5kb3cuaW50ZXJuYWxzLnNldHRpbmdzLnNldFdlYk1ldGFsRW5hYmxlZCh0cnVlKTsKKyAgICBs
ZXQgZ3B1ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiY2FudmFzIikuZ2V0Q29udGV4dCgid2Vi
bWV0YWwiKTsKKyAgICBsZXQgY29tbWFuZFF1ZXVlID0gZ3B1LmNyZWF0ZUNvbW1hbmRRdWV1ZSgp
OworCisgICAgbGV0IGxpYnJhcnkgPSBncHUuY3JlYXRlTGlicmFyeShkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgic2NyaXB0IikudGV4dCk7CisgICAgbGV0IGtlcm5lbEZ1bmN0aW9uID0gbGlicmFy
eS5mdW5jdGlvbldpdGhOYW1lKCJnZXRfa2VybmVsX3NpemUiKTsKKyAgICBsZXQgcGlwZWxpbmVT
dGF0ZSA9IGdwdS5jcmVhdGVDb21wdXRlUGlwZWxpbmVTdGF0ZShrZXJuZWxGdW5jdGlvbik7CisK
KyAgICBsZXQgcmVzdWx0QnVmZmVyID0gZ3B1LmNyZWF0ZUJ1ZmZlcihuZXcgSW50MzJBcnJheSg2
KSk7CisgICAgCisgICAgbGV0IGNvbW1hbmRCdWZmZXIgPSBjb21tYW5kUXVldWUuY3JlYXRlQ29t
bWFuZEJ1ZmZlcigpOworICAgIGxldCBjb21tYW5kRW5jb2RlciA9IGNvbW1hbmRCdWZmZXIuY3Jl
YXRlQ29tcHV0ZUNvbW1hbmRFbmNvZGVyKCk7CisKKyAgICBsZXQgZ3JpZFNpemUgPSB7CisgICAg
ICAgIHdpZHRoOiA3LAorICAgICAgICBoZWlnaHQ6IDYsCisgICAgICAgIGRlcHRoOiA1CisgICAg
fTsKKyAgICBsZXQgZ3JvdXBTaXplID0geworICAgICAgICB3aWR0aDogNCwKKyAgICAgICAgaGVp
Z2h0OiAzLAorICAgICAgICBkZXB0aDogMgorICAgIH07CisgICAgCisgICAgY29tbWFuZEVuY29k
ZXIuc2V0Q29tcHV0ZVBpcGVsaW5lU3RhdGUocGlwZWxpbmVTdGF0ZSk7CisgICAgY29tbWFuZEVu
Y29kZXIuc2V0QnVmZmVyKHJlc3VsdEJ1ZmZlciwgMCwgMCk7CisgICAgY29tbWFuZEVuY29kZXIu
ZGlzcGF0Y2goZ3JpZFNpemUsIGdyb3VwU2l6ZSk7CisgICAgY29tbWFuZEVuY29kZXIuZW5kRW5j
b2RpbmcoKTsKKworICAgIGNvbW1hbmRCdWZmZXIuY29tcGxldGVkLnRoZW4oKCkgPT4geworICAg
ICAgICBsZXQgcmVzdWx0ID0gbmV3IEludDMyQXJyYXkocmVzdWx0QnVmZmVyLmNvbnRlbnRzKTsK
KworICAgICAgICB0cnkgeworICAgICAgICAgICAgYXNzZXJ0KHJlc3VsdFswXSA9PT0gZ3JpZFNp
emUud2lkdGgpOworICAgICAgICAgICAgYXNzZXJ0KHJlc3VsdFsxXSA9PT0gZ3JpZFNpemUuaGVp
Z2h0KTsKKyAgICAgICAgICAgIGFzc2VydChyZXN1bHRbMl0gPT09IGdyaWRTaXplLmRlcHRoKTsK
KyAgICAgICAgICAgIGFzc2VydChyZXN1bHRbM10gPT09IGdyb3VwU2l6ZS53aWR0aCk7CisgICAg
ICAgICAgICBhc3NlcnQocmVzdWx0WzRdID09PSBncm91cFNpemUuaGVpZ2h0KTsKKyAgICAgICAg
ICAgIGFzc2VydChyZXN1bHRbNV0gPT09IGdyb3VwU2l6ZS5kZXB0aCk7CisKKyAgICAgICAgfSBj
YXRjaChlcnIpIHsKKyAgICAgICAgICAgIG91dHB1dC50ZXh0Q29udGVudCA9IGBGQUlMOiAke2Vy
ci5tZXNzYWdlfWA7CisgICAgICAgICAgICByZXR1cm47CisgICAgICAgIH0KKworICAgICAgICBv
dXRwdXQudGV4dENvbnRlbnQgPSAnUEFTUyc7CisgICAgICAgIHdpbmRvdy50ZXN0UnVubmVyLm5v
dGlmeURvbmUoKTsKKyAgICB9KTsKKworICAgIGNvbW1hbmRCdWZmZXIuY29tbWl0KCk7Cit9CisK
K3dpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVuLCBmYWxzZSk7CisKKzwvc2NyaXB0
PgorPGRpdiBpZD0ib3V0cHV0Ij48L2Rpdj4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3Qv
Y2FudmFzL3dlYm1ldGFsL3dlYm1ldGFsLXJ1bnRpbWUtZmxhZy1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9mYXN0L2NhbnZhcy93ZWJtZXRhbC93ZWJtZXRhbC1ydW50aW1lLWZsYWctZXhwZWN0
ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLmRmMzkwMWFjMmNmYmUzZTA4YmUzM2FkNDI1ZDhlY2U4ZTBkOTcz
ODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2NhbnZhcy93ZWJtZXRhbC93
ZWJtZXRhbC1ydW50aW1lLWZsYWctZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMiBAQAorUEFTUzog
V2ViTWV0YWwgd2FzIGF2YWlsYWJsZSB3aGVuIGVuYWJsZWQuCitQQVNTOiBXZWJNZXRhbCB3YXMg
bm90IGF2YWlsYWJsZSB3aGVuIGRpc2FibGVkLgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFz
dC9jYW52YXMvd2VibWV0YWwvd2VibWV0YWwtcnVudGltZS1mbGFnLmh0bWwgYi9MYXlvdXRUZXN0
cy9mYXN0L2NhbnZhcy93ZWJtZXRhbC93ZWJtZXRhbC1ydW50aW1lLWZsYWcuaHRtbApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi4xMmMwMmIxMDhmNzNhMzk0NDkzNzAzOGU0ODMyNWVlMWYyZTNmZjc5Ci0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9jYW52YXMvd2VibWV0YWwvd2VibWV0YWwtcnVudGlt
ZS1mbGFnLmh0bWwKQEAgLTAsMCArMSw0MiBAQAorPHNjcmlwdD4KKworaWYgKHdpbmRvdy50ZXN0
UnVubmVyKQorICAgIHdpbmRvdy50ZXN0UnVubmVyLmR1bXBBc1RleHQoKTsKKworZnVuY3Rpb24g
Z2V0Q29udGV4dChuYW1lKSB7CisgICAgdmFyIGMgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJj
YW52YXMiKTsKKyAgICByZXR1cm4gYy5nZXRDb250ZXh0KG5hbWUpOworfQorCitmdW5jdGlvbiBy
dW4oKSB7CisgICAgdmFyIG91dHB1dDsKKworICAgIG91dHB1dCA9IGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJvdXRwdXQxIik7CisKKyAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKSB7CisgICAg
ICAgIG91dHB1dC50ZXh0Q29udGVudCA9ICJUaGlzIHRlc3Qgb25seSBydW5zIGluc2lkZSBEUlQv
V0tUUi4iOworICAgICAgICByZXR1cm47CisgICAgfQorCisgICAgd2luZG93LmludGVybmFscy5z
ZXR0aW5ncy5zZXRXZWJNZXRhbEVuYWJsZWQodHJ1ZSk7CisgICAgdmFyIGN0eCA9IGdldENvbnRl
eHQoIndlYm1ldGFsIik7CisgICAgaWYgKGN0eCkKKyAgICAgICAgb3V0cHV0LnRleHRDb250ZW50
ID0gIlBBU1M6IFdlYk1ldGFsIHdhcyBhdmFpbGFibGUgd2hlbiBlbmFibGVkLiI7CisgICAgZWxz
ZQorICAgICAgICBvdXRwdXQudGV4dENvbnRlbnQgPSAiRkFJTDogV2ViTWV0YWwgd2FzIG5vdCBh
dmFpbGFibGUgd2hlbiBlbmFibGVkLiI7CisKKyAgICBvdXRwdXQgPSBkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgib3V0cHV0MiIpOworCisgICAgd2luZG93LmludGVybmFscy5zZXR0aW5ncy5zZXRX
ZWJNZXRhbEVuYWJsZWQoZmFsc2UpOworICAgIHZhciBjdHggPSBnZXRDb250ZXh0KCJ3ZWJtZXRh
bCIpOworICAgIGlmIChjdHgpCisgICAgICAgIG91dHB1dC50ZXh0Q29udGVudCA9ICJGQUlMOiBX
ZWJNZXRhbCB3YXMgYXZhaWxhYmxlIHdoZW4gZGlzYWJsZWQuIjsKKyAgICBlbHNlCisgICAgICAg
IG91dHB1dC50ZXh0Q29udGVudCA9ICJQQVNTOiBXZWJNZXRhbCB3YXMgbm90IGF2YWlsYWJsZSB3
aGVuIGRpc2FibGVkLiI7Cit9CisKK3dpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgcnVu
LCBmYWxzZSk7CisKKzwvc2NyaXB0PgorPGRpdiBpZD0ib3V0cHV0MSI+PC9kaXY+Cis8ZGl2IGlk
PSJvdXRwdXQyIj48L2Rpdj4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci9jYW52
YXMvY3JlYXRlLWNvbnRleHQtd2ViZ3B1LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2luc3Bl
Y3Rvci9jYW52YXMvY3JlYXRlLWNvbnRleHQtd2ViZ3B1LWV4cGVjdGVkLnR4dApkZWxldGVkIGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggODQ0M2NlNTE5NTNkMTU1M2Q0MDBiYzllNmYyMTJlYTU0Zjcw
ZjYxYy4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlv
dXRUZXN0cy9pbnNwZWN0b3IvY2FudmFzL2NyZWF0ZS1jb250ZXh0LXdlYmdwdS1leHBlY3RlZC50
eHQKKysrIC9kZXYvbnVsbApAQCAtMSw0MSArMCwwIEBACi1UZXN0IHRoYXQgQ2FudmFzTWFuYWdl
ciB0cmFja3MgY3JlYXRpb24gYW5kIGRlc3RydWN0aW9uIG9mIFdlYkdQVSBjYW52YXNlcy4KLQot
Ci09PSBSdW5uaW5nIHRlc3Qgc3VpdGU6IENhbnZhcy5DcmVhdGVDb250ZXh0V2ViR1BVCi0tLSBS
dW5uaW5nIHRlc3QgY2FzZTogQ2FudmFzLkNyZWF0ZUNvbnRleHRXZWJHUFUuTm9DYW52YXNlcwot
UEFTUzogQ2FudmFzTWFuYWdlciBzaG91bGQgaGF2ZSBubyBjYW52YXNlcy4KLQotLS0gUnVubmlu
ZyB0ZXN0IGNhc2U6IENhbnZhcy5DcmVhdGVDb250ZXh0V2ViR1BVLkF0dGFjaGVkCi1QQVNTOiBD
YW52YXMgY29udGV4dCBzaG91bGQgYmUgV2ViR1BVLgotICAwOiBnZXRDb250ZXh0IC0gW25hdGl2
ZSBjb2RlXQotICAxOiBjcmVhdGVBdHRhY2hlZENhbnZhcyAtIGluc3BlY3Rvci9jYW52YXMvcmVz
b3VyY2VzL2NyZWF0ZS1jb250ZXh0LXV0aWxpdGllcy5qczo0OjM2Ci0gIDI6IEdsb2JhbCBDb2Rl
IC0gW3Byb2dyYW0gY29kZV0KLSAgMzogZXZhbHVhdGVXaXRoU2NvcGVFeHRlbnNpb24gLSBbbmF0
aXZlIGNvZGVdCi0gIDQ6IF9ldmFsdWF0ZU9uIC0gW25hdGl2ZSBjb2RlXQotICA1OiBfZXZhbHVh
dGVBbmRXcmFwIC0gW25hdGl2ZSBjb2RlXQotCi1QQVNTOiBSZW1vdmVkIGNhbnZhcyBoYXMgZXhw
ZWN0ZWQgSUQuCi0KLS0tIFJ1bm5pbmcgdGVzdCBjYXNlOiBDYW52YXMuQ3JlYXRlQ29udGV4dFdl
YkdQVS5EZXRhY2hlZAotUEFTUzogQ2FudmFzIGNvbnRleHQgc2hvdWxkIGJlIFdlYkdQVS4KLSAg
MDogZ2V0Q29udGV4dCAtIFtuYXRpdmUgY29kZV0KLSAgMTogY3JlYXRlRGV0YWNoZWRDYW52YXMg
LSBpbnNwZWN0b3IvY2FudmFzL3Jlc291cmNlcy9jcmVhdGUtY29udGV4dC11dGlsaXRpZXMuanM6
ODo2MgotICAyOiBHbG9iYWwgQ29kZSAtIFtwcm9ncmFtIGNvZGVdCi0gIDM6IGV2YWx1YXRlV2l0
aFNjb3BlRXh0ZW5zaW9uIC0gW25hdGl2ZSBjb2RlXQotICA0OiBfZXZhbHVhdGVPbiAtIFtuYXRp
dmUgY29kZV0KLSAgNTogX2V2YWx1YXRlQW5kV3JhcCAtIFtuYXRpdmUgY29kZV0KLQotUEFTUzog
UmVtb3ZlZCBjYW52YXMgaGFzIGV4cGVjdGVkIElELgotCi0tLSBSdW5uaW5nIHRlc3QgY2FzZTog
Q2FudmFzLkNyZWF0ZUNvbnRleHRXZWJHUFUuQ1NTQ2FudmFzCi1DcmVhdGUgQ1NTIGNhbnZhcyBm
cm9tIC13ZWJraXQtY2FudmFzKGNzcy1jYW52YXMpLgotUEFTUzogQ2FudmFzIGNvbnRleHQgc2hv
dWxkIGJlIFdlYkdQVS4KLSAgMDogZ2V0Q1NTQ2FudmFzQ29udGV4dCAtIFtuYXRpdmUgY29kZV0K
LSAgMTogY3JlYXRlQ1NTQ2FudmFzIC0gaW5zcGVjdG9yL2NhbnZhcy9yZXNvdXJjZXMvY3JlYXRl
LWNvbnRleHQtdXRpbGl0aWVzLmpzOjEyOjQ3Ci0gIDI6IEdsb2JhbCBDb2RlIC0gW3Byb2dyYW0g
Y29kZV0KLSAgMzogZXZhbHVhdGVXaXRoU2NvcGVFeHRlbnNpb24gLSBbbmF0aXZlIGNvZGVdCi0g
IDQ6IF9ldmFsdWF0ZU9uIC0gW25hdGl2ZSBjb2RlXQotICA1OiBfZXZhbHVhdGVBbmRXcmFwIC0g
W25hdGl2ZSBjb2RlXQotCi1QQVNTOiBDYW52YXMgbmFtZSBzaG91bGQgZXF1YWwgdGhlIGlkZW50
aWZpZXIgcGFzc2VkIHRvIC13ZWJraXQtY2FudmFzLgotCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9pbnNwZWN0b3IvY2FudmFzL2NyZWF0ZS1jb250ZXh0LXdlYmdwdS5odG1sIGIvTGF5b3V0VGVz
dHMvaW5zcGVjdG9yL2NhbnZhcy9jcmVhdGUtY29udGV4dC13ZWJncHUuaHRtbApkZWxldGVkIGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggNWEzOTZiNzU5MzMyMGM5Y2EzN2VhMWY0OWJhNjRjOGVjZjNi
ZDk3Zi4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlv
dXRUZXN0cy9pbnNwZWN0b3IvY2FudmFzL2NyZWF0ZS1jb250ZXh0LXdlYmdwdS5odG1sCisrKyAv
ZGV2L251bGwKQEAgLTEsMzUgKzAsMCBAQAotPCFET0NUWVBFIGh0bWw+Ci08aHRtbD4KLTxoZWFk
PgotPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSJyZXNvdXJjZXMvY3JlYXRlLWNvbnRleHQt
dXRpbGl0aWVzLmNzcyI+Ci08c2NyaXB0IHNyYz0iLi4vLi4vaHR0cC90ZXN0cy9pbnNwZWN0b3Iv
cmVzb3VyY2VzL2luc3BlY3Rvci10ZXN0LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSJyZXNv
dXJjZXMvY3JlYXRlLWNvbnRleHQtdXRpbGl0aWVzLmpzIj48L3NjcmlwdD4KLTxzY3JpcHQ+Ci1p
ZiAod2luZG93LmludGVybmFscykKLSAgICB3aW5kb3cuaW50ZXJuYWxzLnNldHRpbmdzLnNldFdl
YkdQVUVuYWJsZWQodHJ1ZSk7Ci0KLWZ1bmN0aW9uIHRlc3QoKSB7Ci0gICAgbGV0IHN1aXRlID0g
aW5pdGlhbGl6ZVRlc3RTdWl0ZSgiQ2FudmFzLkNyZWF0ZUNvbnRleHRXZWJHUFUiKTsKLQotICAg
IGFkZFNpbXBsZVRlc3RDYXNlKHsKLSAgICAgICAgbmFtZTogIkF0dGFjaGVkIiwKLSAgICAgICAg
ZXhwcmVzc2lvbjogYGNyZWF0ZUF0dGFjaGVkQ2FudmFzKCJ3ZWJncHUiKWAsCi0gICAgICAgIGNv
bnRleHRUeXBlOiBXSS5DYW52YXMuQ29udGV4dFR5cGUuV2ViR1BVLAotICAgIH0pOwotCi0gICAg
YWRkU2ltcGxlVGVzdENhc2UoewotICAgICAgICBuYW1lOiAiRGV0YWNoZWQiLAotICAgICAgICBl
eHByZXNzaW9uOiBgY3JlYXRlRGV0YWNoZWRDYW52YXMoIndlYmdwdSIpYCwKLSAgICAgICAgY29u
dGV4dFR5cGU6IFdJLkNhbnZhcy5Db250ZXh0VHlwZS5XZWJHUFUsCi0gICAgfSk7Ci0KLSAgICBh
ZGRDU1NDYW52YXNUZXN0Q2FzZShXSS5DYW52YXMuQ29udGV4dFR5cGUuV2ViR1BVKTsKLQotICAg
IHN1aXRlLnJ1blRlc3RDYXNlc0FuZEZpbmlzaCgpOwotfQotPC9zY3JpcHQ+Ci08L2hlYWQ+Ci08
Ym9keSBvbmxvYWQ9InJ1blRlc3QoKSI+Ci0gICAgPHA+VGVzdCB0aGF0IENhbnZhc01hbmFnZXIg
dHJhY2tzIGNyZWF0aW9uIGFuZCBkZXN0cnVjdGlvbiBvZiBXZWJHUFUgY2FudmFzZXMuPC9wPgot
PC9ib2R5PgotPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2NhbnZh
cy9jcmVhdGUtY29udGV4dC13ZWJtZXRhbC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbnNw
ZWN0b3IvY2FudmFzL2NyZWF0ZS1jb250ZXh0LXdlYm1ldGFsLWV4cGVjdGVkLnR4dApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi40NTM0NzE5YzI5NmY5MDA1MWJjMGY0OGQzYjA0NmQzNWI5NmUwODlmCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2NhbnZhcy9jcmVhdGUtY29udGV4dC13ZWJt
ZXRhbC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw0MSBAQAorVGVzdCB0aGF0IENhbnZhc01hbmFn
ZXIgdHJhY2tzIGNyZWF0aW9uIGFuZCBkZXN0cnVjdGlvbiBvZiBXZWJNZXRhbCBjYW52YXNlcy4K
KworCis9PSBSdW5uaW5nIHRlc3Qgc3VpdGU6IENhbnZhcy5DcmVhdGVDb250ZXh0V2ViTWV0YWwK
Ky0tIFJ1bm5pbmcgdGVzdCBjYXNlOiBDYW52YXMuQ3JlYXRlQ29udGV4dFdlYk1ldGFsLk5vQ2Fu
dmFzZXMKK1BBU1M6IENhbnZhc01hbmFnZXIgc2hvdWxkIGhhdmUgbm8gY2FudmFzZXMuCisKKy0t
IFJ1bm5pbmcgdGVzdCBjYXNlOiBDYW52YXMuQ3JlYXRlQ29udGV4dFdlYk1ldGFsLkF0dGFjaGVk
CitQQVNTOiBDYW52YXMgY29udGV4dCBzaG91bGQgYmUgV2ViTWV0YWwuCisgIDA6IGdldENvbnRl
eHQgLSBbbmF0aXZlIGNvZGVdCisgIDE6IGNyZWF0ZUF0dGFjaGVkQ2FudmFzIC0gaW5zcGVjdG9y
L2NhbnZhcy9yZXNvdXJjZXMvY3JlYXRlLWNvbnRleHQtdXRpbGl0aWVzLmpzOjQ6MzYKKyAgMjog
R2xvYmFsIENvZGUgLSBbcHJvZ3JhbSBjb2RlXQorICAzOiBldmFsdWF0ZVdpdGhTY29wZUV4dGVu
c2lvbiAtIFtuYXRpdmUgY29kZV0KKyAgNDogX2V2YWx1YXRlT24gLSBbbmF0aXZlIGNvZGVdCisg
IDU6IF9ldmFsdWF0ZUFuZFdyYXAgLSBbbmF0aXZlIGNvZGVdCisKK1BBU1M6IFJlbW92ZWQgY2Fu
dmFzIGhhcyBleHBlY3RlZCBJRC4KKworLS0gUnVubmluZyB0ZXN0IGNhc2U6IENhbnZhcy5DcmVh
dGVDb250ZXh0V2ViTWV0YWwuRGV0YWNoZWQKK1BBU1M6IENhbnZhcyBjb250ZXh0IHNob3VsZCBi
ZSBXZWJNZXRhbC4KKyAgMDogZ2V0Q29udGV4dCAtIFtuYXRpdmUgY29kZV0KKyAgMTogY3JlYXRl
RGV0YWNoZWRDYW52YXMgLSBpbnNwZWN0b3IvY2FudmFzL3Jlc291cmNlcy9jcmVhdGUtY29udGV4
dC11dGlsaXRpZXMuanM6ODo2MgorICAyOiBHbG9iYWwgQ29kZSAtIFtwcm9ncmFtIGNvZGVdCisg
IDM6IGV2YWx1YXRlV2l0aFNjb3BlRXh0ZW5zaW9uIC0gW25hdGl2ZSBjb2RlXQorICA0OiBfZXZh
bHVhdGVPbiAtIFtuYXRpdmUgY29kZV0KKyAgNTogX2V2YWx1YXRlQW5kV3JhcCAtIFtuYXRpdmUg
Y29kZV0KKworUEFTUzogUmVtb3ZlZCBjYW52YXMgaGFzIGV4cGVjdGVkIElELgorCistLSBSdW5u
aW5nIHRlc3QgY2FzZTogQ2FudmFzLkNyZWF0ZUNvbnRleHRXZWJNZXRhbC5DU1NDYW52YXMKK0Ny
ZWF0ZSBDU1MgY2FudmFzIGZyb20gLXdlYmtpdC1jYW52YXMoY3NzLWNhbnZhcykuCitQQVNTOiBD
YW52YXMgY29udGV4dCBzaG91bGQgYmUgV2ViTWV0YWwuCisgIDA6IGdldENTU0NhbnZhc0NvbnRl
eHQgLSBbbmF0aXZlIGNvZGVdCisgIDE6IGNyZWF0ZUNTU0NhbnZhcyAtIGluc3BlY3Rvci9jYW52
YXMvcmVzb3VyY2VzL2NyZWF0ZS1jb250ZXh0LXV0aWxpdGllcy5qczoxMjo0NworICAyOiBHbG9i
YWwgQ29kZSAtIFtwcm9ncmFtIGNvZGVdCisgIDM6IGV2YWx1YXRlV2l0aFNjb3BlRXh0ZW5zaW9u
IC0gW25hdGl2ZSBjb2RlXQorICA0OiBfZXZhbHVhdGVPbiAtIFtuYXRpdmUgY29kZV0KKyAgNTog
X2V2YWx1YXRlQW5kV3JhcCAtIFtuYXRpdmUgY29kZV0KKworUEFTUzogQ2FudmFzIG5hbWUgc2hv
dWxkIGVxdWFsIHRoZSBpZGVudGlmaWVyIHBhc3NlZCB0byAtd2Via2l0LWNhbnZhcy4KKwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2NhbnZhcy9jcmVhdGUtY29udGV4dC13ZWJt
ZXRhbC5odG1sIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2NhbnZhcy9jcmVhdGUtY29udGV4dC13
ZWJtZXRhbC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjhlNmU1ZmNkMWQ2YThiZGFjZmNkMzk3NDU5YzAxZDQ3
N2I4ZDUyNDgKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvY2FudmFz
L2NyZWF0ZS1jb250ZXh0LXdlYm1ldGFsLmh0bWwKQEAgLTAsMCArMSwzNSBAQAorPCFET0NUWVBF
IGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSJyZXNv
dXJjZXMvY3JlYXRlLWNvbnRleHQtdXRpbGl0aWVzLmNzcyI+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
aHR0cC90ZXN0cy9pbnNwZWN0b3IvcmVzb3VyY2VzL2luc3BlY3Rvci10ZXN0LmpzIj48L3Njcmlw
dD4KKzxzY3JpcHQgc3JjPSJyZXNvdXJjZXMvY3JlYXRlLWNvbnRleHQtdXRpbGl0aWVzLmpzIj48
L3NjcmlwdD4KKzxzY3JpcHQ+CitpZiAod2luZG93LmludGVybmFscykKKyAgICB3aW5kb3cuaW50
ZXJuYWxzLnNldHRpbmdzLnNldFdlYk1ldGFsRW5hYmxlZCh0cnVlKTsKKworZnVuY3Rpb24gdGVz
dCgpIHsKKyAgICBsZXQgc3VpdGUgPSBpbml0aWFsaXplVGVzdFN1aXRlKCJDYW52YXMuQ3JlYXRl
Q29udGV4dFdlYk1ldGFsIik7CisKKyAgICBhZGRTaW1wbGVUZXN0Q2FzZSh7CisgICAgICAgIG5h
bWU6ICJBdHRhY2hlZCIsCisgICAgICAgIGV4cHJlc3Npb246IGBjcmVhdGVBdHRhY2hlZENhbnZh
cygid2VibWV0YWwiKWAsCisgICAgICAgIGNvbnRleHRUeXBlOiBXSS5DYW52YXMuQ29udGV4dFR5
cGUuV2ViTWV0YWwsCisgICAgfSk7CisKKyAgICBhZGRTaW1wbGVUZXN0Q2FzZSh7CisgICAgICAg
IG5hbWU6ICJEZXRhY2hlZCIsCisgICAgICAgIGV4cHJlc3Npb246IGBjcmVhdGVEZXRhY2hlZENh
bnZhcygid2VibWV0YWwiKWAsCisgICAgICAgIGNvbnRleHRUeXBlOiBXSS5DYW52YXMuQ29udGV4
dFR5cGUuV2ViTWV0YWwsCisgICAgfSk7CisKKyAgICBhZGRDU1NDYW52YXNUZXN0Q2FzZShXSS5D
YW52YXMuQ29udGV4dFR5cGUuV2ViTWV0YWw7CisKKyAgICBzdWl0ZS5ydW5UZXN0Q2FzZXNBbmRG
aW5pc2goKTsKK30KKzwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHkgb25sb2FkPSJydW5UZXN0KCki
PgorICAgIDxwPlRlc3QgdGhhdCBDYW52YXNNYW5hZ2VyIHRyYWNrcyBjcmVhdGlvbiBhbmQgZGVz
dHJ1Y3Rpb24gb2YgV2ViTWV0YWwgY2FudmFzZXMuPC9wPgorPC9ib2R5PgorPC9odG1sPgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2NhbnZhcy9yZXNvbHZlQ2FudmFzQ29udGV4
dC13ZWJncHUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2NhbnZhcy9yZXNv
bHZlQ2FudmFzQ29udGV4dC13ZWJncHUtZXhwZWN0ZWQudHh0CmRlbGV0ZWQgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCBkZDRiM2UzZWRhNTY1ZDVlNzM0MzdkZWM3YjU4NDM4ZjBjODE5YzI2Li4wMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2lu
c3BlY3Rvci9jYW52YXMvcmVzb2x2ZUNhbnZhc0NvbnRleHQtd2ViZ3B1LWV4cGVjdGVkLnR4dAor
KysgL2Rldi9udWxsCkBAIC0xLDggKzAsMCBAQAotVGVzdHMgZm9yIHRoZSBDYW52YXMucmVzb2x2
ZUNhbnZhc0NvbnRleHQgY29tbWFuZCBmb3IgV2ViR1BVIGNvbnRleHRzLgotCi0KLT09IFJ1bm5p
bmcgdGVzdCBzdWl0ZTogQ2FudmFzLnJlc29sdmVDYW52YXNDb250ZXh0V2ViR1BVCi0tLSBSdW5u
aW5nIHRlc3QgY2FzZTogQ2FudmFzLnJlc29sdmVDYW52YXNDb250ZXh0V2ViR1BVLnZhbGlkSWRl
bnRpZmllcgotUEFTUzogUGF5bG9hZCBzaG91bGQgaGF2ZSB0eXBlICJvYmplY3QiLgotUEFTUzog
UGF5bG9hZCBzaG91bGQgaGF2ZSBjbGFzc05hbWUgIldlYkdQVVJlbmRlcmluZ0NvbnRleHQiLgot
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvY2FudmFzL3Jlc29sdmVDYW52YXND
b250ZXh0LXdlYmdwdS5odG1sIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2NhbnZhcy9yZXNvbHZl
Q2FudmFzQ29udGV4dC13ZWJncHUuaHRtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MWIwODg2ZjRjODZiY2RiYzgwNmY3NmQzOTNlNTBkZTA5ODdmNzZiOS4uMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvY2Fu
dmFzL3Jlc29sdmVDYW52YXNDb250ZXh0LXdlYmdwdS5odG1sCisrKyAvZGV2L251bGwKQEAgLTEs
NDYgKzAsMCBAQAotPCFET0NUWVBFIGh0bWw+Ci08aHRtbD4KLTxoZWFkPgotPHNjcmlwdCBzcmM9
Ii4uLy4uL2h0dHAvdGVzdHMvaW5zcGVjdG9yL3Jlc291cmNlcy9pbnNwZWN0b3ItdGVzdC5qcyI+
PC9zY3JpcHQ+Ci08c2NyaXB0PgotaWYgKHdpbmRvdy5pbnRlcm5hbHMpCi0gICAgd2luZG93Lmlu
dGVybmFscy5zZXR0aW5ncy5zZXRXZWJHUFVFbmFibGVkKHRydWUpOwotCi1mdW5jdGlvbiBsb2Fk
KCkgewotICAgIHdpbmRvdy5jb250ZXh0V2ViR1BVID0gZG9jdW1lbnQuYm9keS5hcHBlbmRDaGls
ZChkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJjYW52YXMiKSkuZ2V0Q29udGV4dCgid2ViZ3B1Iik7
Ci0KLSAgICBydW5UZXN0KCk7Ci19Ci0KLWZ1bmN0aW9uIHRlc3QoKQotewotICAgIGxldCBzdWl0
ZSA9IEluc3BlY3RvclRlc3QuY3JlYXRlQXN5bmNTdWl0ZSgiQ2FudmFzLnJlc29sdmVDYW52YXND
b250ZXh0V2ViR1BVIik7Ci0KLSAgICBzdWl0ZS5hZGRUZXN0Q2FzZSh7Ci0gICAgICAgIG5hbWU6
IGBDYW52YXMucmVzb2x2ZUNhbnZhc0NvbnRleHRXZWJHUFUudmFsaWRJZGVudGlmaWVyYCwKLSAg
ICAgICAgZGVzY3JpcHRpb246ICJTaG91bGQgcmV0dXJuIGEgdmFsaWQgb2JqZWN0IGZvciB0aGUg
Z2l2ZW4gY2FudmFzIGlkZW50aWZpZXIuIiwKLSAgICAgICAgdGVzdChyZXNvbHZlLCByZWplY3Qp
IHsKLSAgICAgICAgICAgIGxldCBjYW52YXMgPSBXSS5jYW52YXNNYW5hZ2VyLmNhbnZhc2VzLmZp
bmQoKGNhbnZhcykgPT4gY2FudmFzLmNvbnRleHRUeXBlID09PSBXSS5DYW52YXMuQ29udGV4dFR5
cGUuV2ViR1BVKTsKLSAgICAgICAgICAgIGlmICghY2FudmFzKSB7Ci0gICAgICAgICAgICAgICAg
cmVqZWN0KGBNaXNzaW5nIENhbnZhcy5gKTsKLSAgICAgICAgICAgICAgICByZXR1cm47Ci0gICAg
ICAgICAgICB9Ci0KLSAgICAgICAgICAgIGNvbnN0IG9iamVjdEdyb3VwID0gInRlc3QiOwotICAg
ICAgICAgICAgQ2FudmFzQWdlbnQucmVzb2x2ZUNhbnZhc0NvbnRleHQoY2FudmFzLmlkZW50aWZp
ZXIsIG9iamVjdEdyb3VwKQotICAgICAgICAgICAgLnRoZW4oKHtvYmplY3R9KSA9PiB7Ci0gICAg
ICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5leHBlY3RFcXVhbChvYmplY3QudHlwZSwgIm9iamVj
dCIsIGBQYXlsb2FkIHNob3VsZCBoYXZlIHR5cGUgIm9iamVjdCIuYCk7Ci0gICAgICAgICAgICAg
ICAgSW5zcGVjdG9yVGVzdC5leHBlY3RFcXVhbChvYmplY3QuY2xhc3NOYW1lLCAiV2ViR1BVUmVu
ZGVyaW5nQ29udGV4dCIsIGBQYXlsb2FkIHNob3VsZCBoYXZlIGNsYXNzTmFtZSAiV2ViR1BVUmVu
ZGVyaW5nQ29udGV4dCIuYCk7Ci0gICAgICAgICAgICB9KQotICAgICAgICAgICAgLnRoZW4ocmVz
b2x2ZSwgcmVqZWN0KTsKLSAgICAgICAgfQotICAgIH0pOwotCi0gICAgc3VpdGUucnVuVGVzdENh
c2VzQW5kRmluaXNoKCk7Ci19Ci08L3NjcmlwdD4KLTwvaGVhZD4KLTxib2R5IG9ubG9hZD0ibG9h
ZCgpIj4KLSAgICA8cD5UZXN0cyBmb3IgdGhlIENhbnZhcy5yZXNvbHZlQ2FudmFzQ29udGV4dCBj
b21tYW5kIGZvciBXZWJHUFUgY29udGV4dHMuPC9wPgotPC9ib2R5PgotPC9odG1sPgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2NhbnZhcy9yZXNvbHZlQ2FudmFzQ29udGV4dC13
ZWJtZXRhbC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvY2FudmFzL3Jlc29s
dmVDYW52YXNDb250ZXh0LXdlYm1ldGFsLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5iZWJmMmQ3
ZWY5MmFiMzQ1NjkwZDU2Y2NlZTkwODRhZTM1MmUzZmU3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvaW5zcGVjdG9yL2NhbnZhcy9yZXNvbHZlQ2FudmFzQ29udGV4dC13ZWJtZXRhbC1l
eHBlY3RlZC50eHQKQEAgLTAsMCArMSw4IEBACitUZXN0cyBmb3IgdGhlIENhbnZhcy5yZXNvbHZl
Q2FudmFzQ29udGV4dCBjb21tYW5kIGZvciBXZWJNZXRhbCBjb250ZXh0cy4KKworCis9PSBSdW5u
aW5nIHRlc3Qgc3VpdGU6IENhbnZhcy5yZXNvbHZlQ2FudmFzQ29udGV4dFdlYk1ldGFsCistLSBS
dW5uaW5nIHRlc3QgY2FzZTogQ2FudmFzLnJlc29sdmVDYW52YXNDb250ZXh0V2ViTWV0YWwudmFs
aWRJZGVudGlmaWVyCitQQVNTOiBQYXlsb2FkIHNob3VsZCBoYXZlIHR5cGUgIm9iamVjdCIuCitQ
QVNTOiBQYXlsb2FkIHNob3VsZCBoYXZlIGNsYXNzTmFtZSAiV2ViTWV0YWxSZW5kZXJpbmdDb250
ZXh0Ii4KKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2NhbnZhcy9yZXNvbHZl
Q2FudmFzQ29udGV4dC13ZWJtZXRhbC5odG1sIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2NhbnZh
cy9yZXNvbHZlQ2FudmFzQ29udGV4dC13ZWJtZXRhbC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjQ1NjY0OTVi
M2E1OTNhZDIwNWE3ZDE3NDdjNTE0MDRmZWU2ZWIxY2EKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9pbnNwZWN0b3IvY2FudmFzL3Jlc29sdmVDYW52YXNDb250ZXh0LXdlYm1ldGFsLmh0
bWwKQEAgLTAsMCArMSw0NiBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPHNj
cmlwdCBzcmM9Ii4uLy4uL2h0dHAvdGVzdHMvaW5zcGVjdG9yL3Jlc291cmNlcy9pbnNwZWN0b3It
dGVzdC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0PgoraWYgKHdpbmRvdy5pbnRlcm5hbHMpCisgICAg
d2luZG93LmludGVybmFscy5zZXR0aW5ncy5zZXRXZWJNZXRhbEVuYWJsZWQodHJ1ZSk7CisKK2Z1
bmN0aW9uIGxvYWQoKSB7CisgICAgd2luZG93LmNvbnRleHRXZWJNZXRhbCA9IGRvY3VtZW50LmJv
ZHkuYXBwZW5kQ2hpbGQoZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiY2FudmFzIikpLmdldENvbnRl
eHQoIndlYm1ldGFsIik7CisKKyAgICBydW5UZXN0KCk7Cit9CisKK2Z1bmN0aW9uIHRlc3QoKQor
eworICAgIGxldCBzdWl0ZSA9IEluc3BlY3RvclRlc3QuY3JlYXRlQXN5bmNTdWl0ZSgiQ2FudmFz
LnJlc29sdmVDYW52YXNDb250ZXh0V2ViTWV0YWwiKTsKKworICAgIHN1aXRlLmFkZFRlc3RDYXNl
KHsKKyAgICAgICAgbmFtZTogYENhbnZhcy5yZXNvbHZlQ2FudmFzQ29udGV4dFdlYk1ldGFsLnZh
bGlkSWRlbnRpZmllcmAsCisgICAgICAgIGRlc2NyaXB0aW9uOiAiU2hvdWxkIHJldHVybiBhIHZh
bGlkIG9iamVjdCBmb3IgdGhlIGdpdmVuIGNhbnZhcyBpZGVudGlmaWVyLiIsCisgICAgICAgIHRl
c3QocmVzb2x2ZSwgcmVqZWN0KSB7CisgICAgICAgICAgICBsZXQgY2FudmFzID0gV0kuY2FudmFz
TWFuYWdlci5jYW52YXNlcy5maW5kKChjYW52YXMpID0+IGNhbnZhcy5jb250ZXh0VHlwZSA9PT0g
V0kuQ2FudmFzLkNvbnRleHRUeXBlLldlYk1ldGFsKTsKKyAgICAgICAgICAgIGlmICghY2FudmFz
KSB7CisgICAgICAgICAgICAgICAgcmVqZWN0KGBNaXNzaW5nIENhbnZhcy5gKTsKKyAgICAgICAg
ICAgICAgICByZXR1cm47CisgICAgICAgICAgICB9CisKKyAgICAgICAgICAgIGNvbnN0IG9iamVj
dEdyb3VwID0gInRlc3QiOworICAgICAgICAgICAgQ2FudmFzQWdlbnQucmVzb2x2ZUNhbnZhc0Nv
bnRleHQoY2FudmFzLmlkZW50aWZpZXIsIG9iamVjdEdyb3VwKQorICAgICAgICAgICAgLnRoZW4o
KHtvYmplY3R9KSA9PiB7CisgICAgICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5leHBlY3RFcXVh
bChvYmplY3QudHlwZSwgIm9iamVjdCIsIGBQYXlsb2FkIHNob3VsZCBoYXZlIHR5cGUgIm9iamVj
dCIuYCk7CisgICAgICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5leHBlY3RFcXVhbChvYmplY3Qu
Y2xhc3NOYW1lLCAiV2ViTWV0YWxSZW5kZXJpbmdDb250ZXh0IiwgYFBheWxvYWQgc2hvdWxkIGhh
dmUgY2xhc3NOYW1lICJXZWJNZXRhbFJlbmRlcmluZ0NvbnRleHQiLmApOworICAgICAgICAgICAg
fSkKKyAgICAgICAgICAgIC50aGVuKHJlc29sdmUsIHJlamVjdCk7CisgICAgICAgIH0KKyAgICB9
KTsKKworICAgIHN1aXRlLnJ1blRlc3RDYXNlc0FuZEZpbmlzaCgpOworfQorPC9zY3JpcHQ+Cis8
L2hlYWQ+Cis8Ym9keSBvbmxvYWQ9ImxvYWQoKSI+CisgICAgPHA+VGVzdHMgZm9yIHRoZSBDYW52
YXMucmVzb2x2ZUNhbnZhc0NvbnRleHQgY29tbWFuZCBmb3IgV2ViTWV0YWwgY29udGV4dHMuPC9w
PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vZ3Rr
L1Rlc3RFeHBlY3RhdGlvbnMgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9ndGsvVGVzdEV4cGVjdGF0
aW9ucwppbmRleCA1MGI1NTIzZTk2YzIzM2I3NjU1NTc2M2U4YzE1ZTJkNTMxYmI1NzJjLi40MjZh
MWYzNmVhN2IxNTZkOTY4NzZmYzY5NTk5ODY2ODM1YjA4MDU4IDEwMDY0NAotLS0gYS9MYXlvdXRU
ZXN0cy9wbGF0Zm9ybS9ndGsvVGVzdEV4cGVjdGF0aW9ucworKysgYi9MYXlvdXRUZXN0cy9wbGF0
Zm9ybS9ndGsvVGVzdEV4cGVjdGF0aW9ucwpAQCAtMTExNCwxMCArMTExNCwxMCBAQCBwbHVnaW5z
L2Zvcm0tdmFsdWUuaHRtbCBbIFNraXAgXQogZmFzdC9maWxlcy9maWxlcmVhZGVyLXppcC1idW5k
bGUtdXNpbmctb3Blbi1wYW5lbC5odG1sIFsgU2tpcCBdCiBodHRwL3Rlc3RzL2xvY2FsL2ZpbGVh
cGkvdXBsb2FkLXppcC1idW5kbGUtYXMtYmxvYi11c2luZy1vcGVuLXBhbmVsLmh0bWwgWyBTa2lw
IF0KIAotIyBXZWJHUFUgaXMgbm90IGVuYWJsZWQgb24gR1RLKy4KLWZhc3QvY2FudmFzL3dlYmdw
dSBbIFNraXAgXQotaW5zcGVjdG9yL2NhbnZhcy9jcmVhdGUtY29udGV4dC13ZWJncHUuaHRtbCBb
IFNraXAgXQotaW5zcGVjdG9yL2NhbnZhcy9yZXNvbHZlQ2FudmFzQ29udGV4dC13ZWJncHUuaHRt
bCBbIFNraXAgXQorIyBXZWJNZXRhbCBpcyBub3QgZW5hYmxlZCBvbiBHVEsrLgorZmFzdC9jYW52
YXMvd2VibWV0YWwgWyBTa2lwIF0KK2luc3BlY3Rvci9jYW52YXMvY3JlYXRlLWNvbnRleHQtd2Vi
bWV0YWwuaHRtbCBbIFNraXAgXQoraW5zcGVjdG9yL2NhbnZhcy9yZXNvbHZlQ2FudmFzQ29udGV4
dC13ZWJtZXRhbC5odG1sIFsgU2tpcCBdCiAKICMgV2UgZG9uJ3Qgc3VwcG9ydCBBUFBMRV9QQVku
CiBodHRwL3Rlc3RzL3NzbC9hcHBsZXBheSBbIFNraXAgXQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvcGxhdGZvcm0vaW9zL1Rlc3RFeHBlY3RhdGlvbnMgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9p
b3MvVGVzdEV4cGVjdGF0aW9ucwppbmRleCAyYjM1NDExNmMwN2ZiYjQ2NmY0Y2EwYTVhMGU5Y2U4
YzU3ODcxZGRkLi45N2FmODk3OTNkNmE2MzljNTQ5ZDZmNDZmODdhZjNjNzk3NmZmZmQzIDEwMDY0
NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9pb3MvVGVzdEV4cGVjdGF0aW9ucworKysgYi9M
YXlvdXRUZXN0cy9wbGF0Zm9ybS9pb3MvVGVzdEV4cGVjdGF0aW9ucwpAQCAtMzYsOSArMzYsOSBA
QCBodHRwL3Rlc3RzL2Z1bGxzY3JlZW4KIGNvbXBvc2l0aW5nL25vLWNvbXBvc2l0aW5nLXdoZW4t
ZnVsbGwtc2NyZWVuLWlzLXByZXNlbnQuaHRtbAogCiAjIFdlYkdQVSBpcyBub3QgZW5hYmxlZCBv
biBpT1MgU2ltdWxhdG9yLgotZmFzdC9jYW52YXMvd2ViZ3B1Ci1pbnNwZWN0b3IvY2FudmFzL2Ny
ZWF0ZS1jb250ZXh0LXdlYmdwdS5odG1sIFsgU2tpcCBdCi1pbnNwZWN0b3IvY2FudmFzL3Jlc29s
dmVDYW52YXNDb250ZXh0LXdlYmdwdS5odG1sIFsgU2tpcCBdCitmYXN0L2NhbnZhcy93ZWJtZXRh
bAoraW5zcGVjdG9yL2NhbnZhcy9jcmVhdGUtY29udGV4dC13ZWJtZXRhbC5odG1sIFsgU2tpcCBd
CitpbnNwZWN0b3IvY2FudmFzL3Jlc29sdmVDYW52YXNDb250ZXh0LXdlYm1ldGFsLmh0bWwgWyBT
a2lwIF0KIAogIyBFbmNyeXB0ZWQgTWVkaWEgRXh0ZW5zaW9ucyBhcmUgbm90IGVuYWJsZWQKIG1l
ZGlhL2VuY3J5cHRlZC1tZWRpYS8KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL21h
Yy9UZXN0RXhwZWN0YXRpb25zIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL1Rlc3RFeHBlY3Rh
dGlvbnMKaW5kZXggMzliNDE5ZjZiN2M2NDRiNjcwM2E0NGUyMjU5MDFjNTJlZWUwY2JlMi4uOTU2
M2FkMjkyYjJiNmEzNTE4OWQwMzNjOGQxNjAxNWM1ODlmNjU3NyAxMDA2NDQKLS0tIGEvTGF5b3V0
VGVzdHMvcGxhdGZvcm0vbWFjL1Rlc3RFeHBlY3RhdGlvbnMKKysrIGIvTGF5b3V0VGVzdHMvcGxh
dGZvcm0vbWFjL1Rlc3RFeHBlY3RhdGlvbnMKQEAgLTEwNDIsNyArMTA0Miw3IEBAIHdlYmtpdC5v
cmcvYi8xNTA5NzggZmFzdC9jYW52YXMvd2ViZ2wvb2VzLXRleHR1cmUtaGFsZi1mbG9hdC1saW5l
YXIuaHRtbCBbIFBhc3MKIHdlYmtpdC5vcmcvYi8xNzM5MzEgaW5zcGVjdG9yL2NhbnZhcy9jb250
ZXh0LWF0dHJpYnV0ZXMuaHRtbCBbIFBhc3MgVGltZW91dCBdCiB3ZWJraXQub3JnL2IvMTc4MDI4
IGluc3BlY3Rvci9jYW52YXMvY3JlYXRlLWNvbnRleHQtMmQuaHRtbCBbIFBhc3MgVGltZW91dCBd
CiB3ZWJraXQub3JnL2IvMTc0MDY2IGluc3BlY3Rvci9jYW52YXMvY3JlYXRlLWNvbnRleHQtd2Vi
Z2wyLmh0bWwgWyBQYXNzIFRpbWVvdXQgXQotd2Via2l0Lm9yZy9iLzE3NDA2NiBpbnNwZWN0b3Iv
Y2FudmFzL2NyZWF0ZS1jb250ZXh0LXdlYmdwdS5odG1sIFsgUGFzcyBUaW1lb3V0IF0KK3dlYmtp
dC5vcmcvYi8xNzQwNjYgaW5zcGVjdG9yL2NhbnZhcy9jcmVhdGUtY29udGV4dC13ZWJtZXRhbC5o
dG1sIFsgUGFzcyBUaW1lb3V0IF0KIHdlYmtpdC5vcmcvYi8xNzQyNzIgaW5zcGVjdG9yL2NhbnZh
cy9jc3MtY2FudmFzLWNsaWVudHMuaHRtbCBbIFBhc3MgVGltZW91dCBdCiB3ZWJraXQub3JnL2Iv
MTc0MDY2IGluc3BlY3Rvci9jYW52YXMvc2hhZGVyUHJvZ3JhbS1hZGQtcmVtb3ZlLXdlYmdsMi5o
dG1sIFsgUGFzcyBGYWlsdXJlIFRpbWVvdXQgXQogd2Via2l0Lm9yZy9iLzE2MDA0OCBbIERlYnVn
IF0gaW5zcGVjdG9yL2NvZGVtaXJyb3IvcHJldHR5cHJpbnRpbmctamF2YXNjcmlwdC5odG1sIFsg
UGFzcyBUaW1lb3V0IF0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL3dpbi9UZXN0
RXhwZWN0YXRpb25zIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vd2luL1Rlc3RFeHBlY3RhdGlvbnMK
aW5kZXggN2ZiOTVkNmEzN2UyY2RkYjU2Y2M5OTNkNTllMTg0YzFjNWI3MTNhMS4uNzYzZTA3M2Qy
ZWFjMzgxYjcwYWQ0NjllODdlMTU3YTEwNzJlNDkyZCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMv
cGxhdGZvcm0vd2luL1Rlc3RFeHBlY3RhdGlvbnMKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0v
d2luL1Rlc3RFeHBlY3RhdGlvbnMKQEAgLTI0NDEsOCArMjQ0MSw4IEBAIGluc3BlY3Rvci9tZW1v
cnkgWyBTa2lwIF0KICMgaW5zcGVjdG9yL2RlYnVnZ2VyL3JlbW92ZUJyZWFrcG9pbnQuaHRtbCBb
IFNraXAgXSAjIENyYXNoaW5nCiAjIGluc3BlY3Rvci9kZWJ1Z2dlci9zZWFyY2hJbkNvbnRlbnQt
bGluZWJyZWFrcy5odG1sIFsgUGFzcyBDcmFzaCBdICMgRmxha3kKIAotaW5zcGVjdG9yL2NhbnZh
cy9jcmVhdGUtY29udGV4dC13ZWJncHUuaHRtbCBbIFNraXAgXQotaW5zcGVjdG9yL2NhbnZhcy9y
ZXNvbHZlQ2FudmFzQ29udGV4dC13ZWJncHUuaHRtbCBbIFNraXAgXQoraW5zcGVjdG9yL2NhbnZh
cy9jcmVhdGUtY29udGV4dC13ZWJtZXRhbC5odG1sIFsgU2tpcCBdCitpbnNwZWN0b3IvY2FudmFz
L3Jlc29sdmVDYW52YXNDb250ZXh0LXdlYm1ldGFsLmh0bWwgWyBTa2lwIF0KIAogIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMKICMjIyMjIyMjIyMjIyMjIyMjICAgICAgICBFbmQgSW5zcGVjdG9yIElz
c3VlcyAgICAgICAgICAgICAgICMjIyMjIyMjIyMjIyMjIyMjIyMjCkBAIC0zNTI3LDcgKzM1Mjcs
NyBAQCBmYXN0L2FuaW1hdGlvbi9yZXF1ZXN0LWFuaW1hdGlvbi1mcmFtZS10aHJvdHRsaW5nLWxv
d1Bvd2VyTW9kZS5odG1sIFsgRmFpbHVyZSBdCiBmYXN0L2Jsb2NrL3Bvc2l0aW9uaW5nLzAxNi5o
dG1sIFsgRmFpbHVyZSBdCiBmYXN0L2Jsb2NrL3Bvc2l0aW9uaW5nLzAyNS5odG1sIFsgRmFpbHVy
ZSBdCiBmYXN0L2Jsb2NrL3Bvc2l0aW9uaW5nL2ZpeGVkLXBvc2l0aW9uLXN0YWNraW5nLWNvbnRl
eHQuaHRtbCBbIEZhaWx1cmUgXQotZmFzdC9jYW52YXMvd2ViZ3B1L3dlYmdwdS1ydW50aW1lLWZs
YWcuaHRtbCBbIEZhaWx1cmUgXQorZmFzdC9jYW52YXMvd2VibWV0YWwvd2VibWV0YWwtcnVudGlt
ZS1mbGFnLmh0bWwgWyBGYWlsdXJlIF0KIGZhc3QvY3NzL2dldENvbXB1dGVkU3R5bGUvY29tcHV0
ZWQtc3R5bGUtZm9udC1mYW1pbHkuaHRtbCBbIEZhaWx1cmUgXQogZmFzdC9jc3MvZ2V0Q29tcHV0
ZWRTdHlsZS9jb21wdXRlZC1zdHlsZS13aXRob3V0LXJlbmRlcmVyLmh0bWwgWyBGYWlsdXJlIF0K
IGZhc3QvY3NzL2dldENvbXB1dGVkU3R5bGUvY29tcHV0ZWQtc3R5bGUuaHRtbCBbIEZhaWx1cmUg
XQpAQCAtMzY0Miw3ICszNjQyLDcgQEAgbGVnYWN5LWFuaW1hdGlvbi1lbmdpbmUvYW5pbWF0aW9u
cy9mb250LXZhcmlhdGlvbnMvZm9udC1zdHlsZS5odG1sIFsgU2tpcCBdCiBlZGl0aW5nL3NlbGVj
dGlvbi9jYXJldC1hZnRlci10YXAtaW4tZWRpdGFibGUtc2VsZWN0aW9uLmh0bWwgWyBTa2lwIF0K
IGVkaXRpbmcvc2VsZWN0aW9uL2NoYXJhY3Rlci1ncmFudWxhcml0eS1zZWxlY3QtdGV4dC13aXRo
LWNsaWNrLWhhbmRsZXIuaHRtbCBbIFNraXAgXQogZWRpdGluZy9zZWxlY3Rpb24vY2hhcmFjdGVy
LWdyYW51bGFyaXR5LXNlbGVjdGVkLXJhbmdlLWFmdGVyLWRpc21pc3Npbmctc2VsZWN0aW9uLmh0
bWwgWyBTa2lwIF0KLWZhc3QvY2FudmFzL3dlYmdwdS93ZWJncHUtZGlzcGF0Y2guaHRtbCBbIFNr
aXAgXQorZmFzdC9jYW52YXMvd2VibWV0YWwvd2VibWV0YWwtZGlzcGF0Y2guaHRtbCBbIFNraXAg
XQogZmFzdC9kb20vRmlsZUxpc3QtaXRlcmF0b3ItdXNpbmctb3Blbi1wYW5lbC5odG1sIFsgU2tp
cCBdCiBmYXN0L2Zvcm1zL2ZpbGUvZmlsZS1pbnB1dC1yZXNldC11c2luZy1vcGVuLXBhbmVsLmh0
bWwgWyBTa2lwIF0KIGZhc3QvZm9ybXMvZmlsZS9maWxlLXJlc2V0LWluLWNoYW5nZS11c2luZy1v
cGVuLXBhbmVsLmh0bWwgWyBTa2lwIF0K
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>351824</attachid>
            <date>2018-10-08 15:31:50 -0700</date>
            <delta_ts>2018-10-08 18:37:46 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-190325-20181008153149.patch</filename>
            <type>text/plain</type>
            <size>1081249</size>
            <attacher name="Justin Fan">justin_fan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjM2ODg4CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCA2
NGUzNWNmMjc4MDJhN2ZmY2MyMmJmYWY4NGFiZTFhNmQwZTJhMDYzLi41MmMyNWIwZWI4MjM4Mjli
ZjFkNWQ0NmZmOWJkMjJhOWY4MjE1YWY4IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxNyBAQAorMjAxOC0xMC0wOCAgSnVzdGluIEZhbiAgPGp1c3Rpbl9mYW5AYXBwbGUuY29t
PgorCisgICAgICAgIFdlYkdQVTogUmVuYW1lIG9sZCBXZWJHUFUgcHJvdG90eXBlIHRvIFdlYk1l
dGFsCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xOTAz
MjUKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzQ0OTkwNDQzPgorCisgICAgICAgIFJldmlld2Vk
IGJ5IERlYW4gSmFja3Nvbi4KKworICAgICAgICBSZW5hbWUgV2ViR1BVIHByb3RvdHlwZSBmaWxl
cyB0byBXZWJNZXRhbCBpbiBwcmVwYXJhdGlvbiBmb3IgaW1wbGVtZW50aW5nIHRoZSBuZXcgKE9j
dCAyMDE4KSBXZWJHUFUgaW50ZXJmYWNlLgorCisgICAgICAgICogQ29uZmlndXJhdGlvbnMvRmVh
dHVyZURlZmluZXMueGNjb25maWc6CisgICAgICAgICogaW5zcGVjdG9yL3Byb3RvY29sL0NhbnZh
cy5qc29uOgorICAgICAgICAqIGluc3BlY3Rvci9zY3JpcHRzL2NvZGVnZW4vZ2VuZXJhdG9yLnB5
OgorCiAyMDE4LTEwLTA1ICBZdXN1a2UgU3V6dWtpICA8eXVzdWtlc3V6dWtpQHNsb3dzdGFydC5v
cmc+CiAKICAgICAgICAgW0pTQ11bTGludXhdIFN1cHBvcnQgUGVyZiBKSVREdW1wIGxvZ2dpbmcK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZwppbmRleCAyMTRkMGU2MTZiZDQ4OGIwOTAzZmQ0NjhlZTIzOTRhZWIxYjY0YWZkLi4x
NGMyMjNhZjE0NTM4ODg4NjdiODJhOTFiMjFlZjE2MWMzY2E3NDZjIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0x
LDMgKzEsMzU4IEBACisyMDE4LTEwLTA4ICBKdXN0aW4gRmFuICA8anVzdGluX2ZhbkBhcHBsZS5j
b20+CisKKyAgICAgICAgV2ViR1BVOiBSZW5hbWUgb2xkIFdlYkdQVSBwcm90b3R5cGUgdG8gV2Vi
TWV0YWwKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE5
MDMyNQorICAgICAgICA8cmRhcjovL3Byb2JsZW0vNDQ5OTA0NDM+CisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgRGVhbiBKYWNrc29uLgorCisgICAgICAgIEV4aXN0aW5nIFdlYkdQVSB0ZXN0cyBhbHNv
IHJlbmFtZWQgdG8gcmVmbGVjdCBXZWJHUFUgLT4gV2ViTWV0YWwgY2hhbmdlLgorCisgICAgICAg
IFJlbmFtZSBXZWJHUFUgcHJvdG90eXBlIGZpbGVzIHRvIFdlYk1ldGFsIGluIHByZXBhcmF0aW9u
IGZvciBpbXBsZW1lbnRpbmcgdGhlIG5ldyAoT2N0IDIwMTgpIFdlYkdQVSBpbnRlcmZhY2UuCisK
KyAgICAgICAgKiBDTWFrZUxpc3RzLnR4dDoKKyAgICAgICAgKiBDb25maWd1cmF0aW9ucy9GZWF0
dXJlRGVmaW5lcy54Y2NvbmZpZzoKKyAgICAgICAgKiBEZXJpdmVkU291cmNlcy5tYWtlOgorICAg
ICAgICAqIFNvdXJjZXMudHh0OgorICAgICAgICAqIFNvdXJjZXNDb2NvYS50eHQ6CisgICAgICAg
ICogV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOgorICAgICAgICAqIGJpbmRpbmdz
L2pzL0pTV2ViTWV0YWxSZW5kZXJQYXNzQXR0YWNobWVudERlc2NyaXB0b3JDdXN0b20uY3BwOiBS
ZW5hbWVkIGZyb20gU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNXZWJHUFVSZW5kZXJQYXNz
QXR0YWNobWVudERlc2NyaXB0b3JDdXN0b20uY3BwLgorICAgICAgICAoV2ViQ29yZTo6dG9KU05l
d2x5Q3JlYXRlZCk6CisgICAgICAgIChXZWJDb3JlOjp0b0pTKToKKyAgICAgICAgKiBiaW5kaW5n
cy9qcy9KU1dlYk1ldGFsUmVuZGVyaW5nQ29udGV4dEN1c3RvbS5jcHA6IFJlbmFtZWQgZnJvbSBT
b3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU1dlYkdQVVJlbmRlcmluZ0NvbnRleHRDdXN0b20u
Y3BwLgorICAgICAgICAoV2ViQ29yZTo6SlNXZWJNZXRhbFJlbmRlcmluZ0NvbnRleHQ6OnZpc2l0
QWRkaXRpb25hbENoaWxkcmVuKToKKyAgICAgICAgKiBiaW5kaW5ncy9qcy9XZWJDb3JlQnVpbHRp
bk5hbWVzLmg6CisgICAgICAgICogZG9tL0RvY3VtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OkRvY3VtZW50OjpnZXRDU1NDYW52YXNDb250ZXh0KToKKyAgICAgICAgKiBkb20vRG9jdW1lbnQu
aDoKKyAgICAgICAgKiBkb20vRG9jdW1lbnQuaWRsOgorICAgICAgICAqIGh0bWwvSFRNTENhbnZh
c0VsZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SFRNTENhbnZhc0VsZW1lbnQ6OmdldENv
bnRleHQpOgorICAgICAgICAoV2ViQ29yZTo6SFRNTENhbnZhc0VsZW1lbnQ6OmlzV2ViTWV0YWxU
eXBlKToKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxDYW52YXNFbGVtZW50OjpjcmVhdGVDb250ZXh0
V2ViTWV0YWwpOgorICAgICAgICAoV2ViQ29yZTo6SFRNTENhbnZhc0VsZW1lbnQ6OmdldENvbnRl
eHRXZWJNZXRhbCk6CisgICAgICAgIChXZWJDb3JlOjpIVE1MQ2FudmFzRWxlbWVudDo6aXNXZWJH
UFVUeXBlKTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6OkhUTUxDYW52YXNFbGVtZW50Ojpj
cmVhdGVDb250ZXh0V2ViR1BVKTogRGVsZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6OkhUTUxDYW52
YXNFbGVtZW50OjpnZXRDb250ZXh0V2ViR1BVKTogRGVsZXRlZC4KKyAgICAgICAgKiBodG1sL0hU
TUxDYW52YXNFbGVtZW50Lmg6CisgICAgICAgICogaHRtbC9IVE1MQ2FudmFzRWxlbWVudC5pZGw6
CisgICAgICAgICogaHRtbC9jYW52YXMvQ2FudmFzUmVuZGVyaW5nQ29udGV4dC5oOgorICAgICAg
ICAoV2ViQ29yZTo6Q2FudmFzUmVuZGVyaW5nQ29udGV4dDo6aXNXZWJNZXRhbCBjb25zdCk6Cisg
ICAgICAgIChXZWJDb3JlOjpDYW52YXNSZW5kZXJpbmdDb250ZXh0Ojppc1dlYkdQVSBjb25zdCk6
IERlbGV0ZWQuCisgICAgICAgICogaHRtbC9jYW52YXMvV2ViR1BVUmVuZGVyaW5nQ29udGV4dC5j
cHA6IFJlbW92ZWQuCisgICAgICAgICogaHRtbC9jYW52YXMvV2ViTWV0YWxCdWZmZXIuY3BwOiBS
ZW5hbWVkIGZyb20gU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR1BVQnVmZmVyLmNwcC4K
KyAgICAgICAgKFdlYkNvcmU6OldlYk1ldGFsQnVmZmVyOjpjcmVhdGUpOgorICAgICAgICAoV2Vi
Q29yZTo6V2ViTWV0YWxCdWZmZXI6OldlYk1ldGFsQnVmZmVyKToKKyAgICAgICAgKiBodG1sL2Nh
bnZhcy9XZWJNZXRhbEJ1ZmZlci5oOiBSZW5hbWVkIGZyb20gU291cmNlL1dlYkNvcmUvaHRtbC9j
YW52YXMvV2ViR1BVQnVmZmVyLmguCisgICAgICAgICogaHRtbC9jYW52YXMvV2ViTWV0YWxCdWZm
ZXIuaWRsOiBSZW5hbWVkIGZyb20gU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR1BVQnVm
ZmVyLmlkbC4KKyAgICAgICAgKiBodG1sL2NhbnZhcy9XZWJNZXRhbENvbW1hbmRCdWZmZXIuY3Bw
OiBSZW5hbWVkIGZyb20gU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR1BVQ29tbWFuZEJ1
ZmZlci5jcHAuCisgICAgICAgIChXZWJDb3JlOjpXZWJNZXRhbENvbW1hbmRCdWZmZXI6OmNyZWF0
ZSk6CisgICAgICAgIChXZWJDb3JlOjpXZWJNZXRhbENvbW1hbmRCdWZmZXI6OldlYk1ldGFsQ29t
bWFuZEJ1ZmZlcik6CisgICAgICAgIChXZWJDb3JlOjpXZWJNZXRhbENvbW1hbmRCdWZmZXI6On5X
ZWJNZXRhbENvbW1hbmRCdWZmZXIpOgorICAgICAgICAoV2ViQ29yZTo6V2ViTWV0YWxDb21tYW5k
QnVmZmVyOjpjb21taXQpOgorICAgICAgICAoV2ViQ29yZTo6V2ViTWV0YWxDb21tYW5kQnVmZmVy
OjpwcmVzZW50RHJhd2FibGUpOgorICAgICAgICAoV2ViQ29yZTo6V2ViTWV0YWxDb21tYW5kQnVm
ZmVyOjpjcmVhdGVSZW5kZXJDb21tYW5kRW5jb2RlcldpdGhEZXNjcmlwdG9yKToKKyAgICAgICAg
KFdlYkNvcmU6OldlYk1ldGFsQ29tbWFuZEJ1ZmZlcjo6Y3JlYXRlQ29tcHV0ZUNvbW1hbmRFbmNv
ZGVyKToKKyAgICAgICAgKFdlYkNvcmU6OldlYk1ldGFsQ29tbWFuZEJ1ZmZlcjo6Y29tcGxldGVk
KToKKyAgICAgICAgKiBodG1sL2NhbnZhcy9XZWJNZXRhbENvbW1hbmRCdWZmZXIuaDogUmVuYW1l
ZCBmcm9tIFNvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdQVUNvbW1hbmRCdWZmZXIuaC4K
KyAgICAgICAgKiBodG1sL2NhbnZhcy9XZWJNZXRhbENvbW1hbmRCdWZmZXIuaWRsOiBSZW5hbWVk
IGZyb20gU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR1BVQ29tbWFuZEJ1ZmZlci5pZGwu
CisgICAgICAgICogaHRtbC9jYW52YXMvV2ViTWV0YWxDb21tYW5kUXVldWUuY3BwOiBSZW5hbWVk
IGZyb20gU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR1BVQ29tbWFuZFF1ZXVlLmNwcC4K
KyAgICAgICAgKFdlYkNvcmU6OldlYk1ldGFsQ29tbWFuZFF1ZXVlOjpjcmVhdGUpOgorICAgICAg
ICAoV2ViQ29yZTo6V2ViTWV0YWxDb21tYW5kUXVldWU6OldlYk1ldGFsQ29tbWFuZFF1ZXVlKToK
KyAgICAgICAgKFdlYkNvcmU6OldlYk1ldGFsQ29tbWFuZFF1ZXVlOjpjcmVhdGVDb21tYW5kQnVm
ZmVyKToKKyAgICAgICAgKiBodG1sL2NhbnZhcy9XZWJNZXRhbENvbW1hbmRRdWV1ZS5oOiBSZW5h
bWVkIGZyb20gU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR1BVQ29tbWFuZFF1ZXVlLmgu
CisgICAgICAgICogaHRtbC9jYW52YXMvV2ViTWV0YWxDb21tYW5kUXVldWUuaWRsOiBSZW5hbWVk
IGZyb20gU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR1BVQ29tbWFuZFF1ZXVlLmlkbC4K
KyAgICAgICAgKiBodG1sL2NhbnZhcy9XZWJNZXRhbENvbXB1dGVDb21tYW5kRW5jb2Rlci5jcHA6
IFJlbmFtZWQgZnJvbSBTb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHUFVDb21wdXRlQ29t
bWFuZEVuY29kZXIuY3BwLgorICAgICAgICAoV2ViQ29yZTo6R1BVU2l6ZU1ha2UpOgorICAgICAg
ICAoV2ViQ29yZTo6V2ViTWV0YWxDb21wdXRlQ29tbWFuZEVuY29kZXI6OmNyZWF0ZSk6CisgICAg
ICAgIChXZWJDb3JlOjpXZWJNZXRhbENvbXB1dGVDb21tYW5kRW5jb2Rlcjo6V2ViTWV0YWxDb21w
dXRlQ29tbWFuZEVuY29kZXIpOgorICAgICAgICAoV2ViQ29yZTo6V2ViTWV0YWxDb21wdXRlQ29t
bWFuZEVuY29kZXI6OnNldENvbXB1dGVQaXBlbGluZVN0YXRlKToKKyAgICAgICAgKFdlYkNvcmU6
OldlYk1ldGFsQ29tcHV0ZUNvbW1hbmRFbmNvZGVyOjpzZXRCdWZmZXIpOgorICAgICAgICAoV2Vi
Q29yZTo6V2ViTWV0YWxDb21wdXRlQ29tbWFuZEVuY29kZXI6OmRpc3BhdGNoKToKKyAgICAgICAg
KFdlYkNvcmU6OldlYk1ldGFsQ29tcHV0ZUNvbW1hbmRFbmNvZGVyOjplbmRFbmNvZGluZyk6Cisg
ICAgICAgICogaHRtbC9jYW52YXMvV2ViTWV0YWxDb21wdXRlQ29tbWFuZEVuY29kZXIuaDogUmVu
YW1lZCBmcm9tIFNvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdQVUNvbXB1dGVDb21tYW5k
RW5jb2Rlci5oLgorICAgICAgICAqIGh0bWwvY2FudmFzL1dlYk1ldGFsQ29tcHV0ZUNvbW1hbmRF
bmNvZGVyLmlkbDogUmVuYW1lZCBmcm9tIFNvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdQ
VUNvbXB1dGVDb21tYW5kRW5jb2Rlci5pZGwuCisgICAgICAgICogaHRtbC9jYW52YXMvV2ViTWV0
YWxDb21wdXRlUGlwZWxpbmVTdGF0ZS5jcHA6IFJlbmFtZWQgZnJvbSBTb3VyY2UvV2ViQ29yZS9o
dG1sL2NhbnZhcy9XZWJHUFVDb21wdXRlUGlwZWxpbmVTdGF0ZS5jcHAuCisgICAgICAgIChXZWJD
b3JlOjpXZWJNZXRhbENvbXB1dGVQaXBlbGluZVN0YXRlOjpjcmVhdGUpOgorICAgICAgICAoV2Vi
Q29yZTo6V2ViTWV0YWxDb21wdXRlUGlwZWxpbmVTdGF0ZTo6V2ViTWV0YWxDb21wdXRlUGlwZWxp
bmVTdGF0ZSk6CisgICAgICAgICogaHRtbC9jYW52YXMvV2ViTWV0YWxDb21wdXRlUGlwZWxpbmVT
dGF0ZS5oOiBSZW5hbWVkIGZyb20gU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR1BVQ29t
cHV0ZVBpcGVsaW5lU3RhdGUuaC4KKyAgICAgICAgKiBodG1sL2NhbnZhcy9XZWJNZXRhbENvbXB1
dGVQaXBlbGluZVN0YXRlLmlkbDogUmVuYW1lZCBmcm9tIFNvdXJjZS9XZWJDb3JlL2h0bWwvY2Fu
dmFzL1dlYkdQVUNvbXB1dGVQaXBlbGluZVN0YXRlLmlkbC4KKyAgICAgICAgKiBodG1sL2NhbnZh
cy9XZWJNZXRhbERlcHRoU3RlbmNpbERlc2NyaXB0b3IuY3BwOiBSZW5hbWVkIGZyb20gU291cmNl
L1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR1BVRGVwdGhTdGVuY2lsRGVzY3JpcHRvci5jcHAuCisg
ICAgICAgIChXZWJDb3JlOjpXZWJNZXRhbERlcHRoU3RlbmNpbERlc2NyaXB0b3I6OmNyZWF0ZSk6
CisgICAgICAgIChXZWJDb3JlOjpXZWJNZXRhbERlcHRoU3RlbmNpbERlc2NyaXB0b3I6OmRlcHRo
V3JpdGVFbmFibGVkIGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OldlYk1ldGFsRGVwdGhTdGVu
Y2lsRGVzY3JpcHRvcjo6c2V0RGVwdGhXcml0ZUVuYWJsZWQpOgorICAgICAgICAoV2ViQ29yZTo6
V2ViTWV0YWxEZXB0aFN0ZW5jaWxEZXNjcmlwdG9yOjpkZXB0aENvbXBhcmVGdW5jdGlvbiBjb25z
dCk6CisgICAgICAgIChXZWJDb3JlOjpXZWJNZXRhbERlcHRoU3RlbmNpbERlc2NyaXB0b3I6OnNl
dERlcHRoQ29tcGFyZUZ1bmN0aW9uKToKKyAgICAgICAgKiBodG1sL2NhbnZhcy9XZWJNZXRhbERl
cHRoU3RlbmNpbERlc2NyaXB0b3IuaDogUmVuYW1lZCBmcm9tIFNvdXJjZS9XZWJDb3JlL2h0bWwv
Y2FudmFzL1dlYkdQVURlcHRoU3RlbmNpbERlc2NyaXB0b3IuaC4KKyAgICAgICAgKiBodG1sL2Nh
bnZhcy9XZWJNZXRhbERlcHRoU3RlbmNpbERlc2NyaXB0b3IuaWRsOiBSZW5hbWVkIGZyb20gU291
cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR1BVRGVwdGhTdGVuY2lsRGVzY3JpcHRvci5pZGwu
CisgICAgICAgICogaHRtbC9jYW52YXMvV2ViTWV0YWxEZXB0aFN0ZW5jaWxTdGF0ZS5jcHA6IFJl
bmFtZWQgZnJvbSBTb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHUFVEZXB0aFN0ZW5jaWxT
dGF0ZS5jcHAuCisgICAgICAgIChXZWJDb3JlOjpXZWJNZXRhbERlcHRoU3RlbmNpbFN0YXRlOjpj
cmVhdGUpOgorICAgICAgICAoV2ViQ29yZTo6V2ViTWV0YWxEZXB0aFN0ZW5jaWxTdGF0ZTo6V2Vi
TWV0YWxEZXB0aFN0ZW5jaWxTdGF0ZSk6CisgICAgICAgIChXZWJDb3JlOjpXZWJNZXRhbERlcHRo
U3RlbmNpbFN0YXRlOjpsYWJlbCBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpXZWJNZXRhbERl
cHRoU3RlbmNpbFN0YXRlOjpzZXRMYWJlbCk6CisgICAgICAgICogaHRtbC9jYW52YXMvV2ViTWV0
YWxEZXB0aFN0ZW5jaWxTdGF0ZS5oOiBSZW5hbWVkIGZyb20gU291cmNlL1dlYkNvcmUvaHRtbC9j
YW52YXMvV2ViR1BVRGVwdGhTdGVuY2lsU3RhdGUuaC4KKyAgICAgICAgKiBodG1sL2NhbnZhcy9X
ZWJNZXRhbERlcHRoU3RlbmNpbFN0YXRlLmlkbDogUmVuYW1lZCBmcm9tIFNvdXJjZS9XZWJDb3Jl
L2h0bWwvY2FudmFzL1dlYkdQVVJlbmRlclBpcGVsaW5lU3RhdGUuaWRsLgorICAgICAgICAqIGh0
bWwvY2FudmFzL1dlYk1ldGFsRHJhd2FibGUuY3BwOiBSZW5hbWVkIGZyb20gU291cmNlL1dlYkNv
cmUvaHRtbC9jYW52YXMvV2ViR1BVRHJhd2FibGUuY3BwLgorICAgICAgICAoV2ViQ29yZTo6V2Vi
TWV0YWxEcmF3YWJsZTo6Y3JlYXRlKToKKyAgICAgICAgKFdlYkNvcmU6OldlYk1ldGFsRHJhd2Fi
bGU6OldlYk1ldGFsRHJhd2FibGUpOgorICAgICAgICAqIGh0bWwvY2FudmFzL1dlYk1ldGFsRHJh
d2FibGUuaDogUmVuYW1lZCBmcm9tIFNvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdQVURy
YXdhYmxlLmguCisgICAgICAgIChXZWJDb3JlOjpXZWJNZXRhbERyYXdhYmxlOjp0ZXh0dXJlKToK
KyAgICAgICAgKiBodG1sL2NhbnZhcy9XZWJNZXRhbERyYXdhYmxlLmlkbDogUmVuYW1lZCBmcm9t
IFNvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdQVURyYXdhYmxlLmlkbC4KKyAgICAgICAg
KiBodG1sL2NhbnZhcy9XZWJNZXRhbEVudW1zLmNwcDogUmVuYW1lZCBmcm9tIFNvdXJjZS9XZWJD
b3JlL2h0bWwvY2FudmFzL1dlYkdQVUVudW1zLmNwcC4KKyAgICAgICAgKFdlYkNvcmU6OnRvV2Vi
TWV0YWxDb21wYXJlRnVuY3Rpb24pOgorICAgICAgICAoV2ViQ29yZTo6d2ViM0RDb21wYXJlRnVu
Y3Rpb25OYW1lKToKKyAgICAgICAgKFdlYkNvcmU6OnRvR1BVQ29tcGFyZUZ1bmN0aW9uKToKKyAg
ICAgICAgKiBodG1sL2NhbnZhcy9XZWJNZXRhbEVudW1zLmg6IFJlbmFtZWQgZnJvbSBTb3VyY2Uv
V2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHUFVFbnVtcy5oLgorICAgICAgICAqIGh0bWwvY2FudmFz
L1dlYk1ldGFsRW51bXMuaWRsOiBSZW5hbWVkIGZyb20gU291cmNlL1dlYkNvcmUvaHRtbC9jYW52
YXMvV2ViR1BVRW51bXMuaWRsLgorICAgICAgICAqIGh0bWwvY2FudmFzL1dlYk1ldGFsRnVuY3Rp
b24uY3BwOiBSZW5hbWVkIGZyb20gU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR1BVRnVu
Y3Rpb24uY3BwLgorICAgICAgICAoV2ViQ29yZTo6V2ViTWV0YWxGdW5jdGlvbjo6Y3JlYXRlKToK
KyAgICAgICAgKFdlYkNvcmU6OldlYk1ldGFsRnVuY3Rpb246OldlYk1ldGFsRnVuY3Rpb24pOgor
ICAgICAgICAqIGh0bWwvY2FudmFzL1dlYk1ldGFsRnVuY3Rpb24uaDogUmVuYW1lZCBmcm9tIFNv
dXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdQVUZ1bmN0aW9uLmguCisgICAgICAgICogaHRt
bC9jYW52YXMvV2ViTWV0YWxGdW5jdGlvbi5pZGw6IFJlbmFtZWQgZnJvbSBTb3VyY2UvV2ViQ29y
ZS9odG1sL2NhbnZhcy9XZWJHUFVGdW5jdGlvbi5pZGwuCisgICAgICAgICogaHRtbC9jYW52YXMv
V2ViTWV0YWxMaWJyYXJ5LmNwcDogUmVuYW1lZCBmcm9tIFNvdXJjZS9XZWJDb3JlL2h0bWwvY2Fu
dmFzL1dlYkdQVUxpYnJhcnkuY3BwLgorICAgICAgICAoV2ViQ29yZTo6V2ViTWV0YWxMaWJyYXJ5
OjpjcmVhdGUpOgorICAgICAgICAoV2ViQ29yZTo6V2ViTWV0YWxMaWJyYXJ5OjpXZWJNZXRhbExp
YnJhcnkpOgorICAgICAgICAoV2ViQ29yZTo6V2ViTWV0YWxMaWJyYXJ5OjpmdW5jdGlvbk5hbWVz
IGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OldlYk1ldGFsTGlicmFyeTo6ZnVuY3Rpb25XaXRo
TmFtZSBjb25zdCk6CisgICAgICAgICogaHRtbC9jYW52YXMvV2ViTWV0YWxMaWJyYXJ5Lmg6IFJl
bmFtZWQgZnJvbSBTb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHUFVMaWJyYXJ5LmguCisg
ICAgICAgICogaHRtbC9jYW52YXMvV2ViTWV0YWxMaWJyYXJ5LmlkbDogUmVuYW1lZCBmcm9tIFNv
dXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdQVUxpYnJhcnkuaWRsLgorICAgICAgICAqIGh0
bWwvY2FudmFzL1dlYk1ldGFsUmVuZGVyQ29tbWFuZEVuY29kZXIuY3BwOiBSZW5hbWVkIGZyb20g
U291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR1BVUmVuZGVyQ29tbWFuZEVuY29kZXIuY3Bw
LgorICAgICAgICAoV2ViQ29yZTo6V2ViTWV0YWxSZW5kZXJDb21tYW5kRW5jb2Rlcjo6Y3JlYXRl
KToKKyAgICAgICAgKFdlYkNvcmU6OldlYk1ldGFsUmVuZGVyQ29tbWFuZEVuY29kZXI6OldlYk1l
dGFsUmVuZGVyQ29tbWFuZEVuY29kZXIpOgorICAgICAgICAoV2ViQ29yZTo6V2ViTWV0YWxSZW5k
ZXJDb21tYW5kRW5jb2Rlcjo6c2V0UmVuZGVyUGlwZWxpbmVTdGF0ZSk6CisgICAgICAgIChXZWJD
b3JlOjpXZWJNZXRhbFJlbmRlckNvbW1hbmRFbmNvZGVyOjpzZXREZXB0aFN0ZW5jaWxTdGF0ZSk6
CisgICAgICAgIChXZWJDb3JlOjpXZWJNZXRhbFJlbmRlckNvbW1hbmRFbmNvZGVyOjpzZXRWZXJ0
ZXhCdWZmZXIpOgorICAgICAgICAoV2ViQ29yZTo6V2ViTWV0YWxSZW5kZXJDb21tYW5kRW5jb2Rl
cjo6c2V0RnJhZ21lbnRCdWZmZXIpOgorICAgICAgICAoV2ViQ29yZTo6V2ViTWV0YWxSZW5kZXJD
b21tYW5kRW5jb2Rlcjo6ZHJhd1ByaW1pdGl2ZXMpOgorICAgICAgICAoV2ViQ29yZTo6V2ViTWV0
YWxSZW5kZXJDb21tYW5kRW5jb2Rlcjo6ZW5kRW5jb2RpbmcpOgorICAgICAgICAqIGh0bWwvY2Fu
dmFzL1dlYk1ldGFsUmVuZGVyQ29tbWFuZEVuY29kZXIuaDogUmVuYW1lZCBmcm9tIFNvdXJjZS9X
ZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdQVVJlbmRlckNvbW1hbmRFbmNvZGVyLmguCisgICAgICAg
ICogaHRtbC9jYW52YXMvV2ViTWV0YWxSZW5kZXJDb21tYW5kRW5jb2Rlci5pZGw6IFJlbmFtZWQg
ZnJvbSBTb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHUFVSZW5kZXJDb21tYW5kRW5jb2Rl
ci5pZGwuCisgICAgICAgICogaHRtbC9jYW52YXMvV2ViTWV0YWxSZW5kZXJQYXNzQXR0YWNobWVu
dERlc2NyaXB0b3IuY3BwOiBSZW5hbWVkIGZyb20gU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMv
V2ViR1BVUmVuZGVyUGFzc0F0dGFjaG1lbnREZXNjcmlwdG9yLmNwcC4KKyAgICAgICAgKFdlYkNv
cmU6OldlYk1ldGFsUmVuZGVyUGFzc0F0dGFjaG1lbnREZXNjcmlwdG9yOjpXZWJNZXRhbFJlbmRl
clBhc3NBdHRhY2htZW50RGVzY3JpcHRvcik6CisgICAgICAgIChXZWJDb3JlOjpXZWJNZXRhbFJl
bmRlclBhc3NBdHRhY2htZW50RGVzY3JpcHRvcjo6bG9hZEFjdGlvbiBjb25zdCk6CisgICAgICAg
IChXZWJDb3JlOjpXZWJNZXRhbFJlbmRlclBhc3NBdHRhY2htZW50RGVzY3JpcHRvcjo6c2V0TG9h
ZEFjdGlvbik6CisgICAgICAgIChXZWJDb3JlOjpXZWJNZXRhbFJlbmRlclBhc3NBdHRhY2htZW50
RGVzY3JpcHRvcjo6c3RvcmVBY3Rpb24gY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6V2ViTWV0
YWxSZW5kZXJQYXNzQXR0YWNobWVudERlc2NyaXB0b3I6OnNldFN0b3JlQWN0aW9uKToKKyAgICAg
ICAgKFdlYkNvcmU6OldlYk1ldGFsUmVuZGVyUGFzc0F0dGFjaG1lbnREZXNjcmlwdG9yOjp0ZXh0
dXJlIGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OldlYk1ldGFsUmVuZGVyUGFzc0F0dGFjaG1l
bnREZXNjcmlwdG9yOjpzZXRUZXh0dXJlKToKKyAgICAgICAgKiBodG1sL2NhbnZhcy9XZWJNZXRh
bFJlbmRlclBhc3NBdHRhY2htZW50RGVzY3JpcHRvci5oOiBSZW5hbWVkIGZyb20gU291cmNlL1dl
YkNvcmUvaHRtbC9jYW52YXMvV2ViR1BVUmVuZGVyUGFzc0F0dGFjaG1lbnREZXNjcmlwdG9yLmgu
CisgICAgICAgICogaHRtbC9jYW52YXMvV2ViTWV0YWxSZW5kZXJQYXNzQXR0YWNobWVudERlc2Ny
aXB0b3IuaWRsOiBSZW5hbWVkIGZyb20gU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR1BV
UmVuZGVyUGFzc0F0dGFjaG1lbnREZXNjcmlwdG9yLmlkbC4KKyAgICAgICAgKiBodG1sL2NhbnZh
cy9XZWJNZXRhbFJlbmRlclBhc3NDb2xvckF0dGFjaG1lbnREZXNjcmlwdG9yLmNwcDogUmVuYW1l
ZCBmcm9tIFNvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdQVVJlbmRlclBhc3NDb2xvckF0
dGFjaG1lbnREZXNjcmlwdG9yLmNwcC4KKyAgICAgICAgKFdlYkNvcmU6OldlYk1ldGFsUmVuZGVy
UGFzc0NvbG9yQXR0YWNobWVudERlc2NyaXB0b3I6OmNyZWF0ZSk6CisgICAgICAgIChXZWJDb3Jl
OjpXZWJNZXRhbFJlbmRlclBhc3NDb2xvckF0dGFjaG1lbnREZXNjcmlwdG9yOjpXZWJNZXRhbFJl
bmRlclBhc3NDb2xvckF0dGFjaG1lbnREZXNjcmlwdG9yKToKKyAgICAgICAgKFdlYkNvcmU6Oldl
Yk1ldGFsUmVuZGVyUGFzc0NvbG9yQXR0YWNobWVudERlc2NyaXB0b3I6OmRlc2NyaXB0b3IgY29u
c3QpOgorICAgICAgICAoV2ViQ29yZTo6V2ViTWV0YWxSZW5kZXJQYXNzQ29sb3JBdHRhY2htZW50
RGVzY3JpcHRvcjo6Y2xlYXJDb2xvciBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpXZWJNZXRh
bFJlbmRlclBhc3NDb2xvckF0dGFjaG1lbnREZXNjcmlwdG9yOjpzZXRDbGVhckNvbG9yKToKKyAg
ICAgICAgKiBodG1sL2NhbnZhcy9XZWJNZXRhbFJlbmRlclBhc3NDb2xvckF0dGFjaG1lbnREZXNj
cmlwdG9yLmg6IFJlbmFtZWQgZnJvbSBTb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHUFVS
ZW5kZXJQYXNzQ29sb3JBdHRhY2htZW50RGVzY3JpcHRvci5oLgorICAgICAgICAqIGh0bWwvY2Fu
dmFzL1dlYk1ldGFsUmVuZGVyUGFzc0NvbG9yQXR0YWNobWVudERlc2NyaXB0b3IuaWRsOiBSZW5h
bWVkIGZyb20gU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR1BVUmVuZGVyUGFzc0NvbG9y
QXR0YWNobWVudERlc2NyaXB0b3IuaWRsLgorICAgICAgICAqIGh0bWwvY2FudmFzL1dlYk1ldGFs
UmVuZGVyUGFzc0RlcHRoQXR0YWNobWVudERlc2NyaXB0b3IuY3BwOiBSZW5hbWVkIGZyb20gU291
cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR1BVUmVuZGVyUGFzc0RlcHRoQXR0YWNobWVudERl
c2NyaXB0b3IuY3BwLgorICAgICAgICAoV2ViQ29yZTo6V2ViTWV0YWxSZW5kZXJQYXNzRGVwdGhB
dHRhY2htZW50RGVzY3JpcHRvcjo6Y3JlYXRlKToKKyAgICAgICAgKFdlYkNvcmU6OldlYk1ldGFs
UmVuZGVyUGFzc0RlcHRoQXR0YWNobWVudERlc2NyaXB0b3I6OldlYk1ldGFsUmVuZGVyUGFzc0Rl
cHRoQXR0YWNobWVudERlc2NyaXB0b3IpOgorICAgICAgICAoV2ViQ29yZTo6V2ViTWV0YWxSZW5k
ZXJQYXNzRGVwdGhBdHRhY2htZW50RGVzY3JpcHRvcjo6Y2xlYXJEZXB0aCBjb25zdCk6CisgICAg
ICAgIChXZWJDb3JlOjpXZWJNZXRhbFJlbmRlclBhc3NEZXB0aEF0dGFjaG1lbnREZXNjcmlwdG9y
OjpzZXRDbGVhckRlcHRoKToKKyAgICAgICAgKFdlYkNvcmU6OldlYk1ldGFsUmVuZGVyUGFzc0Rl
cHRoQXR0YWNobWVudERlc2NyaXB0b3I6OmRlc2NyaXB0b3IgY29uc3QpOgorICAgICAgICAqIGh0
bWwvY2FudmFzL1dlYk1ldGFsUmVuZGVyUGFzc0RlcHRoQXR0YWNobWVudERlc2NyaXB0b3IuaDog
UmVuYW1lZCBmcm9tIFNvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdQVVJlbmRlclBhc3NE
ZXB0aEF0dGFjaG1lbnREZXNjcmlwdG9yLmguCisgICAgICAgICogaHRtbC9jYW52YXMvV2ViTWV0
YWxSZW5kZXJQYXNzRGVwdGhBdHRhY2htZW50RGVzY3JpcHRvci5pZGw6IFJlbmFtZWQgZnJvbSBT
b3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHUFVSZW5kZXJQYXNzRGVwdGhBdHRhY2htZW50
RGVzY3JpcHRvci5pZGwuCisgICAgICAgICogaHRtbC9jYW52YXMvV2ViTWV0YWxSZW5kZXJQYXNz
RGVzY3JpcHRvci5jcHA6IFJlbmFtZWQgZnJvbSBTb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9X
ZWJHUFVSZW5kZXJQYXNzRGVzY3JpcHRvci5jcHAuCisgICAgICAgIChXZWJDb3JlOjpXZWJNZXRh
bFJlbmRlclBhc3NEZXNjcmlwdG9yOjpjcmVhdGUpOgorICAgICAgICAoV2ViQ29yZTo6V2ViTWV0
YWxSZW5kZXJQYXNzRGVzY3JpcHRvcjo6ZGVwdGhBdHRhY2htZW50KToKKyAgICAgICAgKFdlYkNv
cmU6OldlYk1ldGFsUmVuZGVyUGFzc0Rlc2NyaXB0b3I6OmNvbG9yQXR0YWNobWVudHMpOgorICAg
ICAgICAqIGh0bWwvY2FudmFzL1dlYk1ldGFsUmVuZGVyUGFzc0Rlc2NyaXB0b3IuaDogUmVuYW1l
ZCBmcm9tIFNvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdQVVJlbmRlclBhc3NEZXNjcmlw
dG9yLmguCisgICAgICAgICogaHRtbC9jYW52YXMvV2ViTWV0YWxSZW5kZXJQYXNzRGVzY3JpcHRv
ci5pZGw6IFJlbmFtZWQgZnJvbSBTb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHUFVSZW5k
ZXJQYXNzRGVzY3JpcHRvci5pZGwuCisgICAgICAgICogaHRtbC9jYW52YXMvV2ViTWV0YWxSZW5k
ZXJQaXBlbGluZUNvbG9yQXR0YWNobWVudERlc2NyaXB0b3IuY3BwOiBSZW5hbWVkIGZyb20gU291
cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR1BVUmVuZGVyUGlwZWxpbmVDb2xvckF0dGFjaG1l
bnREZXNjcmlwdG9yLmNwcC4KKyAgICAgICAgKFdlYkNvcmU6OldlYk1ldGFsUmVuZGVyUGlwZWxp
bmVDb2xvckF0dGFjaG1lbnREZXNjcmlwdG9yOjpjcmVhdGUpOgorICAgICAgICAoV2ViQ29yZTo6
V2ViTWV0YWxSZW5kZXJQaXBlbGluZUNvbG9yQXR0YWNobWVudERlc2NyaXB0b3I6OldlYk1ldGFs
UmVuZGVyUGlwZWxpbmVDb2xvckF0dGFjaG1lbnREZXNjcmlwdG9yKToKKyAgICAgICAgKFdlYkNv
cmU6OldlYk1ldGFsUmVuZGVyUGlwZWxpbmVDb2xvckF0dGFjaG1lbnREZXNjcmlwdG9yOjpwaXhl
bEZvcm1hdCBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpXZWJNZXRhbFJlbmRlclBpcGVsaW5l
Q29sb3JBdHRhY2htZW50RGVzY3JpcHRvcjo6c2V0UGl4ZWxGb3JtYXQpOgorICAgICAgICAqIGh0
bWwvY2FudmFzL1dlYk1ldGFsUmVuZGVyUGlwZWxpbmVDb2xvckF0dGFjaG1lbnREZXNjcmlwdG9y
Lmg6IFJlbmFtZWQgZnJvbSBTb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHUFVSZW5kZXJQ
aXBlbGluZUNvbG9yQXR0YWNobWVudERlc2NyaXB0b3IuaC4KKyAgICAgICAgKiBodG1sL2NhbnZh
cy9XZWJNZXRhbFJlbmRlclBpcGVsaW5lQ29sb3JBdHRhY2htZW50RGVzY3JpcHRvci5pZGw6IFJl
bmFtZWQgZnJvbSBTb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHUFVSZW5kZXJQaXBlbGlu
ZUNvbG9yQXR0YWNobWVudERlc2NyaXB0b3IuaWRsLgorICAgICAgICAqIGh0bWwvY2FudmFzL1dl
Yk1ldGFsUmVuZGVyUGlwZWxpbmVEZXNjcmlwdG9yLmNwcDogUmVuYW1lZCBmcm9tIFNvdXJjZS9X
ZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdQVVJlbmRlclBpcGVsaW5lRGVzY3JpcHRvci5jcHAuCisg
ICAgICAgIChXZWJDb3JlOjpXZWJNZXRhbFJlbmRlclBpcGVsaW5lRGVzY3JpcHRvcjo6Y3JlYXRl
KToKKyAgICAgICAgKFdlYkNvcmU6OldlYk1ldGFsUmVuZGVyUGlwZWxpbmVEZXNjcmlwdG9yOjp2
ZXJ0ZXhGdW5jdGlvbiBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpXZWJNZXRhbFJlbmRlclBp
cGVsaW5lRGVzY3JpcHRvcjo6c2V0VmVydGV4RnVuY3Rpb24pOgorICAgICAgICAoV2ViQ29yZTo6
V2ViTWV0YWxSZW5kZXJQaXBlbGluZURlc2NyaXB0b3I6OmZyYWdtZW50RnVuY3Rpb24gY29uc3Qp
OgorICAgICAgICAoV2ViQ29yZTo6V2ViTWV0YWxSZW5kZXJQaXBlbGluZURlc2NyaXB0b3I6OnNl
dEZyYWdtZW50RnVuY3Rpb24pOgorICAgICAgICAoV2ViQ29yZTo6V2ViTWV0YWxSZW5kZXJQaXBl
bGluZURlc2NyaXB0b3I6OmNvbG9yQXR0YWNobWVudHMpOgorICAgICAgICAoV2ViQ29yZTo6V2Vi
TWV0YWxSZW5kZXJQaXBlbGluZURlc2NyaXB0b3I6OmRlcHRoQXR0YWNobWVudFBpeGVsRm9ybWF0
IGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OldlYk1ldGFsUmVuZGVyUGlwZWxpbmVEZXNjcmlw
dG9yOjpzZXREZXB0aEF0dGFjaG1lbnRQaXhlbEZvcm1hdCk6CisgICAgICAgIChXZWJDb3JlOjpX
ZWJNZXRhbFJlbmRlclBpcGVsaW5lRGVzY3JpcHRvcjo6cmVzZXQpOgorICAgICAgICAqIGh0bWwv
Y2FudmFzL1dlYk1ldGFsUmVuZGVyUGlwZWxpbmVEZXNjcmlwdG9yLmg6IFJlbmFtZWQgZnJvbSBT
b3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHUFVSZW5kZXJQaXBlbGluZURlc2NyaXB0b3Iu
aC4KKyAgICAgICAgKiBodG1sL2NhbnZhcy9XZWJNZXRhbFJlbmRlclBpcGVsaW5lRGVzY3JpcHRv
ci5pZGw6IFJlbmFtZWQgZnJvbSBTb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHUFVSZW5k
ZXJQaXBlbGluZURlc2NyaXB0b3IuaWRsLgorICAgICAgICAqIGh0bWwvY2FudmFzL1dlYk1ldGFs
UmVuZGVyUGlwZWxpbmVTdGF0ZS5jcHA6IFJlbmFtZWQgZnJvbSBTb3VyY2UvV2ViQ29yZS9odG1s
L2NhbnZhcy9XZWJHUFVSZW5kZXJQaXBlbGluZVN0YXRlLmNwcC4KKyAgICAgICAgKFdlYkNvcmU6
OldlYk1ldGFsUmVuZGVyUGlwZWxpbmVTdGF0ZTo6Y3JlYXRlKToKKyAgICAgICAgKFdlYkNvcmU6
OldlYk1ldGFsUmVuZGVyUGlwZWxpbmVTdGF0ZTo6V2ViTWV0YWxSZW5kZXJQaXBlbGluZVN0YXRl
KToKKyAgICAgICAgKFdlYkNvcmU6OldlYk1ldGFsUmVuZGVyUGlwZWxpbmVTdGF0ZTo6bGFiZWwg
Y29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6V2ViTWV0YWxSZW5kZXJQaXBlbGluZVN0YXRlOjpz
ZXRMYWJlbCk6CisgICAgICAgICogaHRtbC9jYW52YXMvV2ViTWV0YWxSZW5kZXJQaXBlbGluZVN0
YXRlLmg6IFJlbmFtZWQgZnJvbSBTb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHUFVSZW5k
ZXJQaXBlbGluZVN0YXRlLmguCisgICAgICAgICogaHRtbC9jYW52YXMvV2ViTWV0YWxSZW5kZXJQ
aXBlbGluZVN0YXRlLmlkbDogUmVuYW1lZCBmcm9tIFNvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFz
L1dlYkdQVURlcHRoU3RlbmNpbFN0YXRlLmlkbC4KKyAgICAgICAgKiBodG1sL2NhbnZhcy9XZWJN
ZXRhbFJlbmRlcmluZ0NvbnRleHQuY3BwOiBBZGRlZC4KKyAgICAgICAgKFdlYkNvcmU6OldlYk1l
dGFsUmVuZGVyaW5nQ29udGV4dDo6Y3JlYXRlKToKKyAgICAgICAgKFdlYkNvcmU6OldlYk1ldGFs
UmVuZGVyaW5nQ29udGV4dDo6V2ViTWV0YWxSZW5kZXJpbmdDb250ZXh0KToKKyAgICAgICAgKFdl
YkNvcmU6OldlYk1ldGFsUmVuZGVyaW5nQ29udGV4dDo6Y2FudmFzIGNvbnN0KToKKyAgICAgICAg
KFdlYkNvcmU6OldlYk1ldGFsUmVuZGVyaW5nQ29udGV4dDo6aW5pdGlhbGl6ZU5ld0NvbnRleHQp
OgorICAgICAgICAoV2ViQ29yZTo6V2ViTWV0YWxSZW5kZXJpbmdDb250ZXh0OjpjbGFtcGVkQ2Fu
dmFzU2l6ZSBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpXZWJNZXRhbFJlbmRlcmluZ0NvbnRl
eHQ6Omhhc1BlbmRpbmdBY3Rpdml0eSBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpXZWJNZXRh
bFJlbmRlcmluZ0NvbnRleHQ6OnN0b3ApOgorICAgICAgICAoV2ViQ29yZTo6V2ViTWV0YWxSZW5k
ZXJpbmdDb250ZXh0OjphY3RpdmVET01PYmplY3ROYW1lIGNvbnN0KToKKyAgICAgICAgKFdlYkNv
cmU6OldlYk1ldGFsUmVuZGVyaW5nQ29udGV4dDo6Y2FuU3VzcGVuZEZvckRvY3VtZW50U3VzcGVu
c2lvbiBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpXZWJNZXRhbFJlbmRlcmluZ0NvbnRleHQ6
OnBsYXRmb3JtTGF5ZXIgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6V2ViTWV0YWxSZW5kZXJp
bmdDb250ZXh0OjptYXJrTGF5ZXJDb21wb3NpdGVkKToKKyAgICAgICAgKFdlYkNvcmU6OldlYk1l
dGFsUmVuZGVyaW5nQ29udGV4dDo6cmVzaGFwZSk6CisgICAgICAgIChXZWJDb3JlOjpXZWJNZXRh
bFJlbmRlcmluZ0NvbnRleHQ6OmNyZWF0ZUxpYnJhcnkpOgorICAgICAgICAoV2ViQ29yZTo6V2Vi
TWV0YWxSZW5kZXJpbmdDb250ZXh0OjpjcmVhdGVSZW5kZXJQaXBlbGluZVN0YXRlKToKKyAgICAg
ICAgKFdlYkNvcmU6OldlYk1ldGFsUmVuZGVyaW5nQ29udGV4dDo6Y3JlYXRlRGVwdGhTdGVuY2ls
U3RhdGUpOgorICAgICAgICAoV2ViQ29yZTo6V2ViTWV0YWxSZW5kZXJpbmdDb250ZXh0OjpjcmVh
dGVDb21wdXRlUGlwZWxpbmVTdGF0ZSk6CisgICAgICAgIChXZWJDb3JlOjpXZWJNZXRhbFJlbmRl
cmluZ0NvbnRleHQ6OmNyZWF0ZUNvbW1hbmRRdWV1ZSk6CisgICAgICAgIChXZWJDb3JlOjpXZWJN
ZXRhbFJlbmRlcmluZ0NvbnRleHQ6Om5leHREcmF3YWJsZSk6CisgICAgICAgIChXZWJDb3JlOjpX
ZWJNZXRhbFJlbmRlcmluZ0NvbnRleHQ6OmNyZWF0ZUJ1ZmZlcik6CisgICAgICAgIChXZWJDb3Jl
OjpXZWJNZXRhbFJlbmRlcmluZ0NvbnRleHQ6OmNyZWF0ZVRleHR1cmUpOgorICAgICAgICAqIGh0
bWwvY2FudmFzL1dlYk1ldGFsUmVuZGVyaW5nQ29udGV4dC5oOiBSZW5hbWVkIGZyb20gU291cmNl
L1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR1BVUmVuZGVyaW5nQ29udGV4dC5oLgorICAgICAgICAq
IGh0bWwvY2FudmFzL1dlYk1ldGFsUmVuZGVyaW5nQ29udGV4dC5pZGw6IFJlbmFtZWQgZnJvbSBT
b3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHUFVSZW5kZXJpbmdDb250ZXh0LmlkbC4KKyAg
ICAgICAgKiBodG1sL2NhbnZhcy9XZWJNZXRhbFNpemUuaDogUmVuYW1lZCBmcm9tIFNvdXJjZS9X
ZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdQVVNpemUuaC4KKyAgICAgICAgKiBodG1sL2NhbnZhcy9X
ZWJNZXRhbFNpemUuaWRsOiBSZW5hbWVkIGZyb20gU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMv
V2ViR1BVU2l6ZS5pZGwuCisgICAgICAgICogaHRtbC9jYW52YXMvV2ViTWV0YWxUZXh0dXJlLmNw
cDogUmVuYW1lZCBmcm9tIFNvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdQVVRleHR1cmUu
Y3BwLgorICAgICAgICAoV2ViQ29yZTo6V2ViTWV0YWxUZXh0dXJlOjpjcmVhdGUpOgorICAgICAg
ICAoV2ViQ29yZTo6V2ViTWV0YWxUZXh0dXJlOjpXZWJNZXRhbFRleHR1cmUpOgorICAgICAgICAq
IGh0bWwvY2FudmFzL1dlYk1ldGFsVGV4dHVyZS5oOiBSZW5hbWVkIGZyb20gU291cmNlL1dlYkNv
cmUvaHRtbC9jYW52YXMvV2ViR1BVVGV4dHVyZS5oLgorICAgICAgICAqIGh0bWwvY2FudmFzL1dl
Yk1ldGFsVGV4dHVyZS5pZGw6IFJlbmFtZWQgZnJvbSBTb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZh
cy9XZWJHUFVUZXh0dXJlLmlkbC4KKyAgICAgICAgKiBodG1sL2NhbnZhcy9XZWJNZXRhbFRleHR1
cmVEZXNjcmlwdG9yLmNwcDogUmVuYW1lZCBmcm9tIFNvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFz
L1dlYkdQVVRleHR1cmVEZXNjcmlwdG9yLmNwcC4KKyAgICAgICAgKFdlYkNvcmU6OldlYk1ldGFs
VGV4dHVyZURlc2NyaXB0b3I6OmNyZWF0ZSk6CisgICAgICAgIChXZWJDb3JlOjpXZWJNZXRhbFRl
eHR1cmVEZXNjcmlwdG9yOjpXZWJNZXRhbFRleHR1cmVEZXNjcmlwdG9yKToKKyAgICAgICAgKFdl
YkNvcmU6OldlYk1ldGFsVGV4dHVyZURlc2NyaXB0b3I6OndpZHRoIGNvbnN0KToKKyAgICAgICAg
KFdlYkNvcmU6OldlYk1ldGFsVGV4dHVyZURlc2NyaXB0b3I6OnNldFdpZHRoKToKKyAgICAgICAg
KFdlYkNvcmU6OldlYk1ldGFsVGV4dHVyZURlc2NyaXB0b3I6OmhlaWdodCBjb25zdCk6CisgICAg
ICAgIChXZWJDb3JlOjpXZWJNZXRhbFRleHR1cmVEZXNjcmlwdG9yOjpzZXRIZWlnaHQpOgorICAg
ICAgICAoV2ViQ29yZTo6V2ViTWV0YWxUZXh0dXJlRGVzY3JpcHRvcjo6c2FtcGxlQ291bnQgY29u
c3QpOgorICAgICAgICAoV2ViQ29yZTo6V2ViTWV0YWxUZXh0dXJlRGVzY3JpcHRvcjo6c2V0U2Ft
cGxlQ291bnQpOgorICAgICAgICAoV2ViQ29yZTo6V2ViTWV0YWxUZXh0dXJlRGVzY3JpcHRvcjo6
dGV4dHVyZVR5cGUgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6V2ViTWV0YWxUZXh0dXJlRGVz
Y3JpcHRvcjo6c2V0VGV4dHVyZVR5cGUpOgorICAgICAgICAoV2ViQ29yZTo6V2ViTWV0YWxUZXh0
dXJlRGVzY3JpcHRvcjo6c3RvcmFnZU1vZGUgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6V2Vi
TWV0YWxUZXh0dXJlRGVzY3JpcHRvcjo6c2V0U3RvcmFnZU1vZGUpOgorICAgICAgICAoV2ViQ29y
ZTo6V2ViTWV0YWxUZXh0dXJlRGVzY3JpcHRvcjo6dXNhZ2UgY29uc3QpOgorICAgICAgICAoV2Vi
Q29yZTo6V2ViTWV0YWxUZXh0dXJlRGVzY3JpcHRvcjo6c2V0VXNhZ2UpOgorICAgICAgICAqIGh0
bWwvY2FudmFzL1dlYk1ldGFsVGV4dHVyZURlc2NyaXB0b3IuaDogUmVuYW1lZCBmcm9tIFNvdXJj
ZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdQVVRleHR1cmVEZXNjcmlwdG9yLmguCisgICAgICAg
ICogaHRtbC9jYW52YXMvV2ViTWV0YWxUZXh0dXJlRGVzY3JpcHRvci5pZGw6IFJlbmFtZWQgZnJv
bSBTb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHUFVUZXh0dXJlRGVzY3JpcHRvci5pZGwu
CisgICAgICAgICogaW5zcGVjdG9yL0luc3BlY3RvckNhbnZhcy5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpJbnNwZWN0b3JDYW52YXM6OmJ1aWxkT2JqZWN0Rm9yQ2FudmFzKToKKyAgICAgICAgKiBp
bnNwZWN0b3IvYWdlbnRzL0luc3BlY3RvckNhbnZhc0FnZW50LmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6Okluc3BlY3RvckNhbnZhc0FnZW50OjpyZXF1ZXN0Q29udGVudCk6CisgICAgICAgIChXZWJD
b3JlOjpjb250ZXh0QXNTY3JpcHRWYWx1ZSk6CisgICAgICAgICogcGFnZS9SdW50aW1lRW5hYmxl
ZEZlYXR1cmVzLmg6CisgICAgICAgIChXZWJDb3JlOjpSdW50aW1lRW5hYmxlZEZlYXR1cmVzOjpz
ZXRXZWJNZXRhbEVuYWJsZWQpOgorICAgICAgICAoV2ViQ29yZTo6UnVudGltZUVuYWJsZWRGZWF0
dXJlczo6d2ViTWV0YWxFbmFibGVkIGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OlJ1bnRpbWVF
bmFibGVkRmVhdHVyZXM6OnNldFdlYkdQVUVuYWJsZWQpOiBEZWxldGVkLgorICAgICAgICAoV2Vi
Q29yZTo6UnVudGltZUVuYWJsZWRGZWF0dXJlczo6d2ViR1BVRW5hYmxlZCBjb25zdCk6IERlbGV0
ZWQuCisgICAgICAgICogcGxhdGZvcm0vTG9nZ2luZy5oOgorICAgICAgICAqIHBsYXRmb3JtL2dy
YXBoaWNzL2NhL2NvY29hL1BsYXRmb3JtQ0FMYXllckNvY29hLm1tOgorICAgICAgICAoV2ViQ29y
ZTo6UGxhdGZvcm1DQUxheWVyQ29jb2E6OmxheWVyVHlwZUZvclBsYXRmb3JtTGF5ZXIpOgorICAg
ICAgICAoV2ViQ29yZTo6UGxhdGZvcm1DQUxheWVyQ29jb2E6OlBsYXRmb3JtQ0FMYXllckNvY29h
KToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9jb2NvYS9XZWJNZXRhbExheWVyLmg6IFJl
bmFtZWQgZnJvbSBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jb2NvYS9XZWJHUFVM
YXllci5oLgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2NvY29hL1dlYk1ldGFsTGF5ZXIu
bW06IFJlbmFtZWQgZnJvbSBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jb2NvYS9X
ZWJHUFVMYXllci5tbS4KKyAgICAgICAgKC1bV2ViTWV0YWxMYXllciBpbml0V2l0aEdQVURldmlj
ZTpdKToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9ncHUvR1BVQnVmZmVyLmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OkdQVUJ1ZmZlcjo6fkdQVUJ1ZmZlcik6CisgICAgICAgICogcGxhdGZv
cm0vZ3JhcGhpY3MvZ3B1L0dQVUJ1ZmZlci5oOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNz
L2dwdS9HUFVDb21tYW5kQnVmZmVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkdQVUNvbW1hbmRC
dWZmZXI6On5HUFVDb21tYW5kQnVmZmVyKToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9n
cHUvR1BVQ29tbWFuZEJ1ZmZlci5oOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2dwdS9H
UFVDb21tYW5kUXVldWUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6R1BVQ29tbWFuZFF1ZXVlOjp+
R1BVQ29tbWFuZFF1ZXVlKToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9ncHUvR1BVQ29t
bWFuZFF1ZXVlLmg6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L0dQVUNvbXB1dGVD
b21tYW5kRW5jb2Rlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpHUFVDb21wdXRlQ29tbWFuZEVu
Y29kZXI6On5HUFVDb21wdXRlQ29tbWFuZEVuY29kZXIpOgorICAgICAgICAqIHBsYXRmb3JtL2dy
YXBoaWNzL2dwdS9HUFVDb21wdXRlQ29tbWFuZEVuY29kZXIuaDoKKyAgICAgICAgKiBwbGF0Zm9y
bS9ncmFwaGljcy9ncHUvR1BVQ29tcHV0ZVBpcGVsaW5lU3RhdGUuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6R1BVQ29tcHV0ZVBpcGVsaW5lU3RhdGU6On5HUFVDb21wdXRlUGlwZWxpbmVTdGF0ZSk6
CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L0dQVUNvbXB1dGVQaXBlbGluZVN0YXRl
Lmg6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L0dQVURlcHRoU3RlbmNpbERlc2Ny
aXB0b3IuY3BwOgorICAgICAgICAoV2ViQ29yZTo6R1BVRGVwdGhTdGVuY2lsRGVzY3JpcHRvcjo6
fkdQVURlcHRoU3RlbmNpbERlc2NyaXB0b3IpOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNz
L2dwdS9HUFVEZXB0aFN0ZW5jaWxEZXNjcmlwdG9yLmg6CisgICAgICAgICogcGxhdGZvcm0vZ3Jh
cGhpY3MvZ3B1L0dQVURlcHRoU3RlbmNpbFN0YXRlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkdQ
VURlcHRoU3RlbmNpbFN0YXRlOjp+R1BVRGVwdGhTdGVuY2lsU3RhdGUpOgorICAgICAgICAqIHBs
YXRmb3JtL2dyYXBoaWNzL2dwdS9HUFVEZXB0aFN0ZW5jaWxTdGF0ZS5oOgorICAgICAgICAqIHBs
YXRmb3JtL2dyYXBoaWNzL2dwdS9HUFVEZXZpY2UuY3BwOgorICAgICAgICAoV2ViQ29yZTo6R1BV
RGV2aWNlOjp+R1BVRGV2aWNlKToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9ncHUvR1BV
RGV2aWNlLmg6CisgICAgICAgIChXZWJDb3JlOjpHUFVEZXZpY2U6OmxheWVyIGNvbnN0KToKKyAg
ICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9ncHUvR1BVRHJhd2FibGUuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6R1BVRHJhd2FibGU6On5HUFVEcmF3YWJsZSk6CisgICAgICAgICogcGxhdGZvcm0v
Z3JhcGhpY3MvZ3B1L0dQVURyYXdhYmxlLmg6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3Mv
Z3B1L0dQVUVudW1zLmg6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L0dQVUZ1bmN0
aW9uLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkdQVUZ1bmN0aW9uOjp+R1BVRnVuY3Rpb24pOgor
ICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2dwdS9HUFVGdW5jdGlvbi5oOgorICAgICAgICAq
IHBsYXRmb3JtL2dyYXBoaWNzL2dwdS9HUFVMaWJyYXJ5LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OkdQVUxpYnJhcnk6On5HUFVMaWJyYXJ5KToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9n
cHUvR1BVTGlicmFyeS5oOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2dwdS9HUFVSZW5k
ZXJDb21tYW5kRW5jb2Rlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpHUFVSZW5kZXJDb21tYW5k
RW5jb2Rlcjo6fkdQVVJlbmRlckNvbW1hbmRFbmNvZGVyKToKKyAgICAgICAgKiBwbGF0Zm9ybS9n
cmFwaGljcy9ncHUvR1BVUmVuZGVyQ29tbWFuZEVuY29kZXIuaDoKKyAgICAgICAgKiBwbGF0Zm9y
bS9ncmFwaGljcy9ncHUvR1BVUmVuZGVyUGFzc0F0dGFjaG1lbnREZXNjcmlwdG9yLmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OkdQVVJlbmRlclBhc3NBdHRhY2htZW50RGVzY3JpcHRvcjo6fkdQVVJl
bmRlclBhc3NBdHRhY2htZW50RGVzY3JpcHRvcik6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhp
Y3MvZ3B1L0dQVVJlbmRlclBhc3NBdHRhY2htZW50RGVzY3JpcHRvci5oOgorICAgICAgICAqIHBs
YXRmb3JtL2dyYXBoaWNzL2dwdS9HUFVSZW5kZXJQYXNzQ29sb3JBdHRhY2htZW50RGVzY3JpcHRv
ci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpHUFVSZW5kZXJQYXNzQ29sb3JBdHRhY2htZW50RGVz
Y3JpcHRvcjo6fkdQVVJlbmRlclBhc3NDb2xvckF0dGFjaG1lbnREZXNjcmlwdG9yKToKKyAgICAg
ICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9ncHUvR1BVUmVuZGVyUGFzc0NvbG9yQXR0YWNobWVudERl
c2NyaXB0b3IuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9ncHUvR1BVUmVuZGVyUGFz
c0RlcHRoQXR0YWNobWVudERlc2NyaXB0b3IuY3BwOgorICAgICAgICAoV2ViQ29yZTo6R1BVUmVu
ZGVyUGFzc0RlcHRoQXR0YWNobWVudERlc2NyaXB0b3I6On5HUFVSZW5kZXJQYXNzRGVwdGhBdHRh
Y2htZW50RGVzY3JpcHRvcik6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L0dQVVJl
bmRlclBhc3NEZXB0aEF0dGFjaG1lbnREZXNjcmlwdG9yLmg6CisgICAgICAgICogcGxhdGZvcm0v
Z3JhcGhpY3MvZ3B1L0dQVVJlbmRlclBhc3NEZXNjcmlwdG9yLmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OkdQVVJlbmRlclBhc3NEZXNjcmlwdG9yOjp+R1BVUmVuZGVyUGFzc0Rlc2NyaXB0b3IpOgor
ICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2dwdS9HUFVSZW5kZXJQYXNzRGVzY3JpcHRvci5o
OgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2dwdS9HUFVSZW5kZXJQaXBlbGluZUNvbG9y
QXR0YWNobWVudERlc2NyaXB0b3IuY3BwOgorICAgICAgICAoV2ViQ29yZTo6R1BVUmVuZGVyUGlw
ZWxpbmVDb2xvckF0dGFjaG1lbnREZXNjcmlwdG9yOjp+R1BVUmVuZGVyUGlwZWxpbmVDb2xvckF0
dGFjaG1lbnREZXNjcmlwdG9yKToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9ncHUvR1BV
UmVuZGVyUGlwZWxpbmVDb2xvckF0dGFjaG1lbnREZXNjcmlwdG9yLmg6CisgICAgICAgICogcGxh
dGZvcm0vZ3JhcGhpY3MvZ3B1L0dQVVJlbmRlclBpcGVsaW5lRGVzY3JpcHRvci5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpHUFVSZW5kZXJQaXBlbGluZURlc2NyaXB0b3I6On5HUFVSZW5kZXJQaXBl
bGluZURlc2NyaXB0b3IpOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2dwdS9HUFVSZW5k
ZXJQaXBlbGluZURlc2NyaXB0b3IuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9ncHUv
R1BVUmVuZGVyUGlwZWxpbmVTdGF0ZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpHUFVSZW5kZXJQ
aXBlbGluZVN0YXRlOjp+R1BVUmVuZGVyUGlwZWxpbmVTdGF0ZSk6CisgICAgICAgICogcGxhdGZv
cm0vZ3JhcGhpY3MvZ3B1L0dQVVJlbmRlclBpcGVsaW5lU3RhdGUuaDoKKyAgICAgICAgKiBwbGF0
Zm9ybS9ncmFwaGljcy9ncHUvR1BVU2l6ZS5oOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNz
L2dwdS9HUFVUZXh0dXJlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkdQVVRleHR1cmU6On5HUFVU
ZXh0dXJlKToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9ncHUvR1BVVGV4dHVyZS5oOgor
ICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2dwdS9HUFVUZXh0dXJlRGVzY3JpcHRvci5jcHA6
CisgICAgICAgIChXZWJDb3JlOjpHUFVUZXh0dXJlRGVzY3JpcHRvcjo6fkdQVVRleHR1cmVEZXNj
cmlwdG9yKToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9ncHUvR1BVVGV4dHVyZURlc2Ny
aXB0b3IuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9tZXRhbC9HUFVCdWZmZXJNZXRh
bC5tbToKKyAgICAgICAgKFdlYkNvcmU6OkdQVUJ1ZmZlcjo6R1BVQnVmZmVyKToKKyAgICAgICAg
KiBwbGF0Zm9ybS9ncmFwaGljcy9tZXRhbC9HUFVDb21tYW5kQnVmZmVyTWV0YWwubW06CisgICAg
ICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvbWV0YWwvR1BVQ29tbWFuZFF1ZXVlTWV0YWwubW06Cisg
ICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvbWV0YWwvR1BVQ29tcHV0ZUNvbW1hbmRFbmNvZGVy
TWV0YWwubW06CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvbWV0YWwvR1BVQ29tcHV0ZVBp
cGVsaW5lU3RhdGVNZXRhbC5tbToKKyAgICAgICAgKFdlYkNvcmU6OkdQVUNvbXB1dGVQaXBlbGlu
ZVN0YXRlOjpHUFVDb21wdXRlUGlwZWxpbmVTdGF0ZSk6CisgICAgICAgICogcGxhdGZvcm0vZ3Jh
cGhpY3MvbWV0YWwvR1BVRGVwdGhTdGVuY2lsRGVzY3JpcHRvck1ldGFsLm1tOgorICAgICAgICAq
IHBsYXRmb3JtL2dyYXBoaWNzL21ldGFsL0dQVURlcHRoU3RlbmNpbFN0YXRlTWV0YWwubW06Cisg
ICAgICAgIChXZWJDb3JlOjpHUFVEZXB0aFN0ZW5jaWxTdGF0ZTo6c2V0TGFiZWwgY29uc3QpOgor
ICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL21ldGFsL0dQVURldmljZU1ldGFsLm1tOgorICAg
ICAgICAoV2ViQ29yZTo6R1BVRGV2aWNlOjpyZXNoYXBlIGNvbnN0KToKKyAgICAgICAgKiBwbGF0
Zm9ybS9ncmFwaGljcy9tZXRhbC9HUFVEcmF3YWJsZU1ldGFsLm1tOgorICAgICAgICAoV2ViQ29y
ZTo6R1BVRHJhd2FibGU6OnJlbGVhc2UpOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL21l
dGFsL0dQVUZ1bmN0aW9uTWV0YWwubW06CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvbWV0
YWwvR1BVTGlicmFyeU1ldGFsLm1tOgorICAgICAgICAoV2ViQ29yZTo6R1BVTGlicmFyeTo6R1BV
TGlicmFyeSk6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvbWV0YWwvR1BVUmVuZGVyQ29t
bWFuZEVuY29kZXJNZXRhbC5tbToKKyAgICAgICAgKFdlYkNvcmU6OkdQVVJlbmRlckNvbW1hbmRF
bmNvZGVyOjpHUFVSZW5kZXJDb21tYW5kRW5jb2Rlcik6CisgICAgICAgICogcGxhdGZvcm0vZ3Jh
cGhpY3MvbWV0YWwvR1BVUmVuZGVyUGFzc0F0dGFjaG1lbnREZXNjcmlwdG9yTWV0YWwubW06Cisg
ICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvbWV0YWwvR1BVUmVuZGVyUGFzc0NvbG9yQXR0YWNo
bWVudERlc2NyaXB0b3JNZXRhbC5tbToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9tZXRh
bC9HUFVSZW5kZXJQYXNzRGVwdGhBdHRhY2htZW50RGVzY3JpcHRvck1ldGFsLm1tOgorICAgICAg
ICAqIHBsYXRmb3JtL2dyYXBoaWNzL21ldGFsL0dQVVJlbmRlclBhc3NEZXNjcmlwdG9yTWV0YWwu
bW06CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvbWV0YWwvR1BVUmVuZGVyUGlwZWxpbmVD
b2xvckF0dGFjaG1lbnREZXNjcmlwdG9yTWV0YWwubW06CisgICAgICAgICogcGxhdGZvcm0vZ3Jh
cGhpY3MvbWV0YWwvR1BVUmVuZGVyUGlwZWxpbmVEZXNjcmlwdG9yTWV0YWwubW06CisgICAgICAg
ICogcGxhdGZvcm0vZ3JhcGhpY3MvbWV0YWwvR1BVUmVuZGVyUGlwZWxpbmVTdGF0ZU1ldGFsLm1t
OgorICAgICAgICAoV2ViQ29yZTo6R1BVUmVuZGVyUGlwZWxpbmVTdGF0ZTo6c2V0TGFiZWwgY29u
c3QpOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL21ldGFsL0dQVVRleHR1cmVEZXNjcmlw
dG9yTWV0YWwubW06CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvbWV0YWwvR1BVVGV4dHVy
ZU1ldGFsLm1tOgorICAgICAgICAoV2ViQ29yZTo6R1BVVGV4dHVyZTo6R1BVVGV4dHVyZSk6Cisg
ICAgICAgICogdGVzdGluZy9JbnRlcm5hbFNldHRpbmdzLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OkludGVybmFsU2V0dGluZ3M6OkJhY2t1cDo6QmFja3VwKToKKyAgICAgICAgKFdlYkNvcmU6Oklu
dGVybmFsU2V0dGluZ3M6OkJhY2t1cDo6cmVzdG9yZVRvKToKKyAgICAgICAgKFdlYkNvcmU6Oklu
dGVybmFsU2V0dGluZ3M6OnNldFdlYk1ldGFsRW5hYmxlZCk6CisgICAgICAgIChXZWJDb3JlOjpJ
bnRlcm5hbFNldHRpbmdzOjpzZXRXZWJHUFVFbmFibGVkKTogRGVsZXRlZC4KKyAgICAgICAgKiB0
ZXN0aW5nL0ludGVybmFsU2V0dGluZ3MuaDoKKyAgICAgICAgKiB0ZXN0aW5nL0ludGVybmFsU2V0
dGluZ3MuaWRsOgorCiAyMDE4LTEwLTA1ICBDaHJpcyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+
CiAKICAgICAgICAgUmVncmVzc2lvbihyMjM2ODYyKTogQ3Jhc2ggdW5kZXIgRE9NV2luZG93RXh0
ZW5zaW9uOjp3aWxsRGV0YWNoR2xvYmFsT2JqZWN0RnJvbUZyYW1lKCkKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL1BBTC9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9QQUwvQ2hhbmdlTG9n
CmluZGV4IDI3NmQ5YWUxM2Q0ZTViZWU3OWU0ZWY1YzVmYzQ5MTM3YmRhMTJmODkuLjYyMTdlY2Uz
MjA3NzVjYzE5Mjc4ODZiYjA0ZmVmY2YzYWQxYzk3ZGMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL1BBTC9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvUEFML0NoYW5nZUxvZwpAQCAt
MSwzICsxLDE1IEBACisyMDE4LTEwLTA4ICBKdXN0aW4gRmFuICA8anVzdGluX2ZhbkBhcHBsZS5j
b20+CisKKyAgICAgICAgV2ViR1BVOiBSZW5hbWUgb2xkIFdlYkdQVSBwcm90b3R5cGUgdG8gV2Vi
TWV0YWwKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE5
MDMyNQorICAgICAgICA8cmRhcjovL3Byb2JsZW0vNDQ5OTA0NDM+CisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgRGVhbiBKYWNrc29uLgorCisgICAgICAgIFJlbmFtZSBXZWJHUFUgcHJvdG90eXBlIGZp
bGVzIHRvIFdlYk1ldGFsIGluIHByZXBhcmF0aW9uIGZvciBpbXBsZW1lbnRpbmcgdGhlIG5ldyAo
T2N0IDIwMTgpIFdlYkdQVSBpbnRlcmZhY2UuCisKKyAgICAgICAgKiBDb25maWd1cmF0aW9ucy9G
ZWF0dXJlRGVmaW5lcy54Y2NvbmZpZzoKKwogMjAxOC0xMC0wNSAgSmVyIE5vYmxlICA8amVyLm5v
YmxlQGFwcGxlLmNvbT4KIAogICAgICAgICBVbnJldmlld2VkIGJ1aWxkIGZpeDogaW50ZXJuYWwg
YnVpbGRzIGNhbid0IGZpbmQgQVZWaWRlb1BlcmZvcm1hbmNlTWV0cmljcy4KZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkv
Q2hhbmdlTG9nCmluZGV4IGM0ZGU3YjY5YmIyMTFjOThmZTQ0N2ZkMzQ2YzBmMTNmNzZmMDM3ZjQu
LjZlOWYwYjRjMTc4NWZmNmVhMjhlMzliM2E2N2RlMTg3NGI2ODUwYTcgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJJbnNwZWN0b3JVSS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkluc3BlY3RvclVJ
L0NoYW5nZUxvZwpAQCAtMSwzICsxLDE4IEBACisyMDE4LTEwLTA4ICBKdXN0aW4gRmFuICA8anVz
dGluX2ZhbkBhcHBsZS5jb20+CisKKyAgICAgICAgV2ViR1BVOiBSZW5hbWUgb2xkIFdlYkdQVSBw
cm90b3R5cGUgdG8gV2ViTWV0YWwKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTE5MDMyNQorICAgICAgICA8cmRhcjovL3Byb2JsZW0vNDQ5OTA0NDM+CisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgRGVhbiBKYWNrc29uLgorCisgICAgICAgIFJlbmFtZSBXZWJH
UFUgcHJvdG90eXBlIGZpbGVzIHRvIFdlYk1ldGFsIGluIHByZXBhcmF0aW9uIGZvciBpbXBsZW1l
bnRpbmcgdGhlIG5ldyAoT2N0IDIwMTgpIFdlYkdQVSBpbnRlcmZhY2UuCisgICAgICAgIEZvciBX
ZWJJbnNwZWN0b3IsIGFkZCBXZWJNZXRhbCB0byB2YWxpZCBlbnVtcyBmb3IgY2FudmFzIHR5cGVz
LgorCisgICAgICAgICogVXNlckludGVyZmFjZS9Nb2RlbHMvQ2FudmFzLmpzOgorICAgICAgICAo
V0kuQ2FudmFzLmZyb21QYXlsb2FkKToKKyAgICAgICAgKFdJLkNhbnZhcy5kaXNwbGF5TmFtZUZv
ckNvbnRleHRUeXBlKToKKwogMjAxOC0xMC0wNSAgRGV2aW4gUm91c3NvICA8ZHJvdXNzb0BhcHBs
ZS5jb20+CiAKICAgICAgICAgV2ViIEluc3BlY3RvcjogdXNlIGlmcmFtZSdzIG5hbWUgYXR0cmli
dXRlIGZvciBGcmFtZVRyZWVFbGVtZW50CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0NoYW5n
ZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IGNjZjhjZjcxZWIyODI0MTE5N2Iw
OGQyNTk2ZDEyZmQ3MzNjY2Y5MzUuLjQyYzEzZDQ3OWRkYjVjYTdjMjM2NzY2NWE2OTE0OWZkMTkw
NTEyZDcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9X
ZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTggQEAKKzIwMTgtMTAtMDggIEp1c3RpbiBGYW4g
IDxqdXN0aW5fZmFuQGFwcGxlLmNvbT4KKworICAgICAgICBXZWJHUFU6IFJlbmFtZSBvbGQgV2Vi
R1BVIHByb3RvdHlwZSB0byBXZWJNZXRhbAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9MTkwMzI1CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS80NDk5MDQ0
Mz4KKworICAgICAgICBSZXZpZXdlZCBieSBEZWFuIEphY2tzb24uCisKKyAgICAgICAgUmVuYW1l
IFdlYkdQVSBwcm90b3R5cGUgZmlsZXMgdG8gV2ViTWV0YWwgaW4gcHJlcGFyYXRpb24gZm9yIGlt
cGxlbWVudGluZyB0aGUgbmV3IChPY3QgMjAxOCkgV2ViR1BVIGludGVyZmFjZS4KKworICAgICAg
ICAqIENvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnOgorICAgICAgICAqIFNo
YXJlZC9XZWJQcmVmZXJlbmNlcy55YW1sOgorICAgICAgICAqIFdlYlByb2Nlc3MvSW5qZWN0ZWRC
dW5kbGUvSW5qZWN0ZWRCdW5kbGUuY3BwOgorICAgICAgICAoV2ViS2l0OjpJbmplY3RlZEJ1bmRs
ZTo6b3ZlcnJpZGVCb29sUHJlZmVyZW5jZUZvclRlc3RSdW5uZXIpOgorCiAyMDE4LTEwLTA1ICBB
bGV4IENocmlzdGVuc2VuICA8YWNocmlzdGVuc2VuQHdlYmtpdC5vcmc+CiAKICAgICAgICAgUkVH
UkVTU0lPTihyMjM2MTU0KSBQYWdlIGxvYWRzIGFyZSBub3QgZHJhd24gd2hlbiBsb2FkZWQgaW4g
c2hpcHBlZCBTYWZhcmkxMS8xMgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdExlZ2FjeS9tYWMv
Q2hhbmdlTG9nIGIvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvQ2hhbmdlTG9nCmluZGV4IGNhMjYz
MGNmOGQ4MGRiNTBmZmViOTZmNDI4OWZlNjIwYWI0NGVmZDUuLjBkOGY4YWMyN2VkYjhlMjlmOTI3
ZjA4ZjJiYWI2OWMxMzM5ODAzMWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFj
L0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwyNSBAQAorMjAxOC0xMC0wOCAgSnVzdGluIEZhbiAgPGp1c3Rpbl9mYW5AYXBwbGUuY29t
PgorCisgICAgICAgIFdlYkdQVTogUmVuYW1lIG9sZCBXZWJHUFUgcHJvdG90eXBlIHRvIFdlYk1l
dGFsCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xOTAz
MjUKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzQ0OTkwNDQzPgorCisgICAgICAgIFJldmlld2Vk
IGJ5IERlYW4gSmFja3Nvbi4KKworICAgICAgICBSZW5hbWUgV2ViR1BVIHByb3RvdHlwZSBmaWxl
cyB0byBXZWJNZXRhbCBpbiBwcmVwYXJhdGlvbiBmb3IgaW1wbGVtZW50aW5nIHRoZSBuZXcgKE9j
dCAyMDE4KSBXZWJHUFUgaW50ZXJmYWNlLgorCisgICAgICAgICogQ29uZmlndXJhdGlvbnMvRmVh
dHVyZURlZmluZXMueGNjb25maWc6CisgICAgICAgICogV2ViVmlldy9XZWJQcmVmZXJlbmNlS2V5
c1ByaXZhdGUuaDoKKyAgICAgICAgKiBXZWJWaWV3L1dlYlByZWZlcmVuY2VzLm1tOgorICAgICAg
ICAoK1tXZWJQcmVmZXJlbmNlcyBpbml0aWFsaXplXSk6CisgICAgICAgICgtW1dlYlByZWZlcmVu
Y2VzIHdlYk1ldGFsRW5hYmxlZF0pOgorICAgICAgICAoLVtXZWJQcmVmZXJlbmNlcyBzZXRXZWJN
ZXRhbEVuYWJsZWQ6XSk6CisgICAgICAgICgtW1dlYlByZWZlcmVuY2VzIHdlYkdQVUVuYWJsZWRd
KTogRGVsZXRlZC4KKyAgICAgICAgKC1bV2ViUHJlZmVyZW5jZXMgc2V0V2ViR1BVRW5hYmxlZDpd
KTogRGVsZXRlZC4KKyAgICAgICAgKiBXZWJWaWV3L1dlYlByZWZlcmVuY2VzUHJpdmF0ZS5oOgor
ICAgICAgICAqIFdlYlZpZXcvV2ViVmlldy5tbToKKyAgICAgICAgKC1bV2ViVmlldyBfcHJlZmVy
ZW5jZXNDaGFuZ2VkOl0pOgorCiAyMDE4LTEwLTA0ICBEYW4gQmVybnN0ZWluICA8bWl0ekBhcHBs
ZS5jb20+CiAKICAgICAgICAgTW9yZSBDYXJib24gYnVpbGQtZml4aW5nLgpkaWZmIC0tZ2l0IGEv
U291cmNlL0phdmFTY3JpcHRDb3JlL0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29u
ZmlnIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVz
LnhjY29uZmlnCmluZGV4IDY4ZWZjZTk0MmNhMGRjZGU2MjA5YTMwZmI0ZTVkMGJkODc2MGE3ODEu
LjI0MjlkZDhkYzY5MTI0MzU2ZDAxNDYzYWFiNzc5OGU3ODc3OWM5NWMgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZp
ZworKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmlu
ZXMueGNjb25maWcKQEAgLTM1MCwxMSArMzUwLDExIEBAIEVOQUJMRV9XRUJHTCA9IEVOQUJMRV9X
RUJHTDsKIAogRU5BQkxFX1dFQkdMMiA9IEVOQUJMRV9XRUJHTDI7CiAKLUVOQUJMRV9XRUJHUFUg
PSAkKEVOQUJMRV9XRUJHUFVfJChXS19QTEFURk9STV9OQU1FKSk7Ci1FTkFCTEVfV0VCR1BVX2lw
aG9uZW9zID0gRU5BQkxFX1dFQkdQVTsKLUVOQUJMRV9XRUJHUFVfd2F0Y2hvcyA9IEVOQUJMRV9X
RUJHUFU7Ci1FTkFCTEVfV0VCR1BVX2FwcGxldHZvcyA9IEVOQUJMRV9XRUJHUFU7Ci1FTkFCTEVf
V0VCR1BVX21hY29zeCA9IEVOQUJMRV9XRUJHUFU7CitFTkFCTEVfV0VCTUVUQUwgPSAkKEVOQUJM
RV9XRUJNRVRBTF8kKFdLX1BMQVRGT1JNX05BTUUpKTsKK0VOQUJMRV9XRUJNRVRBTF9pcGhvbmVv
cyA9IEVOQUJMRV9XRUJNRVRBTDsKK0VOQUJMRV9XRUJNRVRBTF93YXRjaG9zID0gRU5BQkxFX1dF
Qk1FVEFMOworRU5BQkxFX1dFQk1FVEFMX2FwcGxldHZvcyA9IEVOQUJMRV9XRUJNRVRBTDsKK0VO
QUJMRV9XRUJNRVRBTF9tYWNvc3ggPSBFTkFCTEVfV0VCTUVUQUw7CiAKIEVOQUJMRV9XRUJfQVVE
SU8gPSBFTkFCTEVfV0VCX0FVRElPOwogCkBAIC0zNzIsNCArMzcyLDQgQEAgRU5BQkxFX1dJUkVM
RVNTX1BMQVlCQUNLX1RBUkdFVCA9IEVOQUJMRV9XSVJFTEVTU19QTEFZQkFDS19UQVJHRVQ7CiAK
IEVOQUJMRV9YU0xUID0gRU5BQkxFX1hTTFQ7CiAKLUZFQVRVUkVfREVGSU5FUyA9ICQoRU5BQkxF
XzNEX1RSQU5TRk9STVMpICQoRU5BQkxFX0FDQ0VMRVJBVEVEXzJEX0NBTlZBUykgJChFTkFCTEVf
QUNDRUxFUkFURURfT1ZFUkZMT1dfU0NST0xMSU5HKSAkKEVOQUJMRV9BUFBMRV9QQVkpICQoRU5B
QkxFX0FQUExFX1BBWV9TRVNTSU9OX1YzKSAkKEVOQUJMRV9BUFBMRV9QQVlfU0VTU0lPTl9WNCkg
JChFTkFCTEVfQVBQTElDQVRJT05fTUFOSUZFU1QpICQoRU5BQkxFX0FUVEFDSE1FTlRfRUxFTUVO
VCkgJChFTkFCTEVfQVZGX0NBUFRJT05TKSAkKEVOQUJMRV9DQUNIRV9QQVJUSVRJT05JTkcpICQo
RU5BQkxFX0NIQU5ORUxfTUVTU0FHSU5HKSAkKEVOQUJMRV9DT05URU5UX0ZJTFRFUklORykgJChF
TkFCTEVfQ1NTM19URVhUKSAkKEVOQUJMRV9DU1NfQk9YX0RFQ09SQVRJT05fQlJFQUspICQoRU5B
QkxFX0NTU19DT01QT1NJVElORykgJChFTkFCTEVfQ1NTX0RFVklDRV9BREFQVEFUSU9OKSAkKEVO
QUJMRV9DU1NfSU1BR0VfT1JJRU5UQVRJT04pICQoRU5BQkxFX0NTU19JTUFHRV9SRVNPTFVUSU9O
KSAkKEVOQUJMRV9DU1NfU0NST0xMX1NOQVApICQoRU5BQkxFX0NTU19TRUxFQ1RPUlNfTEVWRUw0
KSAkKEVOQUJMRV9DU1NfVFJBSUxJTkdfV09SRCkgJChFTkFCTEVfQ1VSU09SX1ZJU0lCSUxJVFkp
ICQoRU5BQkxFX0NVU1RPTV9TQ0hFTUVfSEFORExFUikgJChFTkFCTEVfREFTSEJPQVJEX1NVUFBP
UlQpICQoRU5BQkxFX0RBVEFfSU5URVJBQ1RJT04pICQoRU5BQkxFX0RBVEFDVUVfVkFMVUUpICQo
RU5BQkxFX0RBVEFMSVNUX0VMRU1FTlQpICQoRU5BQkxFX0RFVklDRV9PUklFTlRBVElPTikgJChF
TkFCTEVfRFJBR19TVVBQT1JUKSAkKEVOQUJMRV9FTkNSWVBURURfTUVESUEpICQoRU5BQkxFX0VY
UEVSSU1FTlRBTF9GRUFUVVJFUykgJChFTkFCTEVfRkFTVF9KSVRfUEVSTUlTU0lPTlMpICQoRU5B
QkxFX0ZJTFRFUlNfTEVWRUxfMikgJChFTkFCTEVfRlRMX0pJVCkgJChFTkFCTEVfRlVMTFNDUkVF
Tl9BUEkpICQoRU5BQkxFX0dBTUVQQUQpICQoRU5BQkxFX0dFT0xPQ0FUSU9OKSAkKEVOQUJMRV9J
Q09OREFUQUJBU0UpICQoRU5BQkxFX0lOREVYRURfREFUQUJBU0UpICQoRU5BQkxFX0lOREVYRURf
REFUQUJBU0VfSU5fV09SS0VSUykgJChFTkFCTEVfSU5QVVRfVFlQRV9DT0xPUikgJChFTkFCTEVf
SU5QVVRfVFlQRV9EQVRFKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1FX0lOQ09NUExFVEUp
ICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURVRJTUVMT0NBTCkgJChFTkFCTEVfSU5QVVRfVFlQRV9N
T05USCkgJChFTkFCTEVfSU5QVVRfVFlQRV9USU1FKSAkKEVOQUJMRV9JTlBVVF9UWVBFX1dFRUsp
ICQoRU5BQkxFX0lOVEVSU0VDVElPTl9PQlNFUlZFUikgJChFTkFCTEVfSU5UTCkgJChFTkFCTEVf
SU9TX0dFU1RVUkVfRVZFTlRTKSAkKEVOQUJMRV9JT1NfVE9VQ0hfRVZFTlRTKSAkKEVOQUJMRV9K
SVQpICQoRU5BQkxFX0pTX0FTWU5DX0lURVJBVElPTikgJChFTkFCTEVfS0VZQk9BUkRfQ09ERV9B
VFRSSUJVVEUpICQoRU5BQkxFX0tFWUJPQVJEX0tFWV9BVFRSSUJVVEUpICQoRU5BQkxFX0xBWU9V
VF9GT1JNQVRUSU5HX0NPTlRFWFQpICQoRU5BQkxFX0xFR0FDWV9DU1NfVkVORE9SX1BSRUZJWEVT
KSAkKEVOQUJMRV9MRUdBQ1lfQ1VTVE9NX1BST1RPQ09MX01BTkFHRVIpICQoRU5BQkxFX0xFR0FD
WV9FTkNSWVBURURfTUVESUEpICQoRU5BQkxFX0xFVFRFUlBSRVNTKSAkKEVOQUJMRV9NQUNfR0VT
VFVSRV9FVkVOVFMpICQoRU5BQkxFX01BQ19WSURFT19UT09MQk9YKSAkKEVOQUJMRV9NQVRITUwp
ICQoRU5BQkxFX01FRElBX0NBUFRVUkUpICQoRU5BQkxFX01FRElBX0NPTlRST0xTX1NDUklQVCkg
JChFTkFCTEVfTUVESUFfU0VTU0lPTikgJChFTkFCTEVfTUVESUFfU09VUkNFKSAkKEVOQUJMRV9N
RURJQV9TVEFUSVNUSUNTKSAkKEVOQUJMRV9NRURJQV9TVFJFQU0pICQoRU5BQkxFX01FVEVSX0VM
RU1FTlQpICQoRU5BQkxFX01IVE1MKSAkKEVOQUJMRV9NT1VTRV9DVVJTT1JfU0NBTEUpICQoRU5B
QkxFX05BVklHQVRPUl9DT05URU5UX1VUSUxTKSAkKEVOQUJMRV9OQVZJR0FUT1JfU1RBTkRBTE9O
RSkgJChFTkFCTEVfTk9USUZJQ0FUSU9OUykgJChFTkFCTEVfUEFZTUVOVF9SRVFVRVNUKSAkKEVO
QUJMRV9QREZLSVRfUExVR0lOKSAkKEVOQUJMRV9QT0lOVEVSX0xPQ0spICQoRU5BQkxFX1BVQkxJ
Q19TVUZGSVhfTElTVCkgJChFTkFCTEVfUVVPVEEpICQoRU5BQkxFX1JFTU9URV9JTlNQRUNUT1Ip
ICQoRU5BQkxFX1JFU09MVVRJT05fTUVESUFfUVVFUlkpICQoRU5BQkxFX1JFU09VUkNFX1VTQUdF
KSAkKEVOQUJMRV9SVUJCRVJfQkFORElORykgJChFTkFCTEVfU0VSVklDRV9DT05UUk9MUykgJChF
TkFCTEVfU0VSVklDRV9XT1JLRVIpICQoRU5BQkxFX1NQRUVDSF9TWU5USEVTSVMpICQoRU5BQkxF
X1NUUkVBTVNfQVBJKSAkKEVOQUJMRV9TVUJUTEVfQ1JZUFRPKSAkKEVOQUJMRV9TVkdfRk9OVFMp
ICQoRU5BQkxFX1RFTEVQSE9ORV9OVU1CRVJfREVURUNUSU9OKSAkKEVOQUJMRV9URVhUX0FVVE9T
SVpJTkcpICQoRU5BQkxFX1RPVUNIX0VWRU5UUykgJChFTkFCTEVfVVNFUl9NRVNTQUdFX0hBTkRM
RVJTKSAkKEVOQUJMRV9VU0VSU0VMRUNUX0FMTCkgJChFTkFCTEVfVkFSSUFUSU9OX0ZPTlRTKSAk
KEVOQUJMRV9WSURFTykgJChFTkFCTEVfVklERU9fUFJFU0VOVEFUSU9OX01PREUpICQoRU5BQkxF
X1ZJREVPX1RSQUNLKSAkKEVOQUJMRV9WSURFT19VU0VTX0VMRU1FTlRfRlVMTFNDUkVFTikgJChF
TkFCTEVfV0VCX0FVRElPKSAkKEVOQUJMRV9XRUJfQVVUSE4pICQoRU5BQkxFX1dFQl9SVEMpICQo
RU5BQkxFX1dFQkFTU0VNQkxZKSAkKEVOQUJMRV9XRUJBU1NFTUJMWV9TVFJFQU1JTkdfQVBJKSAk
KEVOQUJMRV9XRUJHTCkgJChFTkFCTEVfV0VCR0wyKSAkKEVOQUJMRV9XRUJHUFUpICQoRU5BQkxF
X1dJUkVMRVNTX1BMQVlCQUNLX1RBUkdFVCkgJChFTkFCTEVfWFNMVCk7CitGRUFUVVJFX0RFRklO
RVMgPSAkKEVOQUJMRV8zRF9UUkFOU0ZPUk1TKSAkKEVOQUJMRV9BQ0NFTEVSQVRFRF8yRF9DQU5W
QVMpICQoRU5BQkxFX0FDQ0VMRVJBVEVEX09WRVJGTE9XX1NDUk9MTElORykgJChFTkFCTEVfQVBQ
TEVfUEFZKSAkKEVOQUJMRV9BUFBMRV9QQVlfU0VTU0lPTl9WMykgJChFTkFCTEVfQVBQTEVfUEFZ
X1NFU1NJT05fVjQpICQoRU5BQkxFX0FQUExJQ0FUSU9OX01BTklGRVNUKSAkKEVOQUJMRV9BVFRB
Q0hNRU5UX0VMRU1FTlQpICQoRU5BQkxFX0FWRl9DQVBUSU9OUykgJChFTkFCTEVfQ0FDSEVfUEFS
VElUSU9OSU5HKSAkKEVOQUJMRV9DSEFOTkVMX01FU1NBR0lORykgJChFTkFCTEVfQ09OVEVOVF9G
SUxURVJJTkcpICQoRU5BQkxFX0NTUzNfVEVYVCkgJChFTkFCTEVfQ1NTX0JPWF9ERUNPUkFUSU9O
X0JSRUFLKSAkKEVOQUJMRV9DU1NfQ09NUE9TSVRJTkcpICQoRU5BQkxFX0NTU19ERVZJQ0VfQURB
UFRBVElPTikgJChFTkFCTEVfQ1NTX0lNQUdFX09SSUVOVEFUSU9OKSAkKEVOQUJMRV9DU1NfSU1B
R0VfUkVTT0xVVElPTikgJChFTkFCTEVfQ1NTX1NDUk9MTF9TTkFQKSAkKEVOQUJMRV9DU1NfU0VM
RUNUT1JTX0xFVkVMNCkgJChFTkFCTEVfQ1NTX1RSQUlMSU5HX1dPUkQpICQoRU5BQkxFX0NVUlNP
Ul9WSVNJQklMSVRZKSAkKEVOQUJMRV9DVVNUT01fU0NIRU1FX0hBTkRMRVIpICQoRU5BQkxFX0RB
U0hCT0FSRF9TVVBQT1JUKSAkKEVOQUJMRV9EQVRBX0lOVEVSQUNUSU9OKSAkKEVOQUJMRV9EQVRB
Q1VFX1ZBTFVFKSAkKEVOQUJMRV9EQVRBTElTVF9FTEVNRU5UKSAkKEVOQUJMRV9ERVZJQ0VfT1JJ
RU5UQVRJT04pICQoRU5BQkxFX0RSQUdfU1VQUE9SVCkgJChFTkFCTEVfRU5DUllQVEVEX01FRElB
KSAkKEVOQUJMRV9FWFBFUklNRU5UQUxfRkVBVFVSRVMpICQoRU5BQkxFX0ZBU1RfSklUX1BFUk1J
U1NJT05TKSAkKEVOQUJMRV9GSUxURVJTX0xFVkVMXzIpICQoRU5BQkxFX0ZUTF9KSVQpICQoRU5B
QkxFX0ZVTExTQ1JFRU5fQVBJKSAkKEVOQUJMRV9HQU1FUEFEKSAkKEVOQUJMRV9HRU9MT0NBVElP
TikgJChFTkFCTEVfSUNPTkRBVEFCQVNFKSAkKEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNFKSAkKEVO
QUJMRV9JTkRFWEVEX0RBVEFCQVNFX0lOX1dPUktFUlMpICQoRU5BQkxFX0lOUFVUX1RZUEVfQ09M
T1IpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURSkgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFVElN
RV9JTkNPTVBMRVRFKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1FTE9DQUwpICQoRU5BQkxF
X0lOUFVUX1RZUEVfTU9OVEgpICQoRU5BQkxFX0lOUFVUX1RZUEVfVElNRSkgJChFTkFCTEVfSU5Q
VVRfVFlQRV9XRUVLKSAkKEVOQUJMRV9JTlRFUlNFQ1RJT05fT0JTRVJWRVIpICQoRU5BQkxFX0lO
VEwpICQoRU5BQkxFX0lPU19HRVNUVVJFX0VWRU5UUykgJChFTkFCTEVfSU9TX1RPVUNIX0VWRU5U
UykgJChFTkFCTEVfSklUKSAkKEVOQUJMRV9KU19BU1lOQ19JVEVSQVRJT04pICQoRU5BQkxFX0tF
WUJPQVJEX0NPREVfQVRUUklCVVRFKSAkKEVOQUJMRV9LRVlCT0FSRF9LRVlfQVRUUklCVVRFKSAk
KEVOQUJMRV9MQVlPVVRfRk9STUFUVElOR19DT05URVhUKSAkKEVOQUJMRV9MRUdBQ1lfQ1NTX1ZF
TkRPUl9QUkVGSVhFUykgJChFTkFCTEVfTEVHQUNZX0NVU1RPTV9QUk9UT0NPTF9NQU5BR0VSKSAk
KEVOQUJMRV9MRUdBQ1lfRU5DUllQVEVEX01FRElBKSAkKEVOQUJMRV9MRVRURVJQUkVTUykgJChF
TkFCTEVfTUFDX0dFU1RVUkVfRVZFTlRTKSAkKEVOQUJMRV9NQUNfVklERU9fVE9PTEJPWCkgJChF
TkFCTEVfTUFUSE1MKSAkKEVOQUJMRV9NRURJQV9DQVBUVVJFKSAkKEVOQUJMRV9NRURJQV9DT05U
Uk9MU19TQ1JJUFQpICQoRU5BQkxFX01FRElBX1NFU1NJT04pICQoRU5BQkxFX01FRElBX1NPVVJD
RSkgJChFTkFCTEVfTUVESUFfU1RBVElTVElDUykgJChFTkFCTEVfTUVESUFfU1RSRUFNKSAkKEVO
QUJMRV9NRVRFUl9FTEVNRU5UKSAkKEVOQUJMRV9NSFRNTCkgJChFTkFCTEVfTU9VU0VfQ1VSU09S
X1NDQUxFKSAkKEVOQUJMRV9OQVZJR0FUT1JfQ09OVEVOVF9VVElMUykgJChFTkFCTEVfTkFWSUdB
VE9SX1NUQU5EQUxPTkUpICQoRU5BQkxFX05PVElGSUNBVElPTlMpICQoRU5BQkxFX1BBWU1FTlRf
UkVRVUVTVCkgJChFTkFCTEVfUERGS0lUX1BMVUdJTikgJChFTkFCTEVfUE9JTlRFUl9MT0NLKSAk
KEVOQUJMRV9QVUJMSUNfU1VGRklYX0xJU1QpICQoRU5BQkxFX1FVT1RBKSAkKEVOQUJMRV9SRU1P
VEVfSU5TUEVDVE9SKSAkKEVOQUJMRV9SRVNPTFVUSU9OX01FRElBX1FVRVJZKSAkKEVOQUJMRV9S
RVNPVVJDRV9VU0FHRSkgJChFTkFCTEVfUlVCQkVSX0JBTkRJTkcpICQoRU5BQkxFX1NFUlZJQ0Vf
Q09OVFJPTFMpICQoRU5BQkxFX1NFUlZJQ0VfV09SS0VSKSAkKEVOQUJMRV9TUEVFQ0hfU1lOVEhF
U0lTKSAkKEVOQUJMRV9TVFJFQU1TX0FQSSkgJChFTkFCTEVfU1VCVExFX0NSWVBUTykgJChFTkFC
TEVfU1ZHX0ZPTlRTKSAkKEVOQUJMRV9URUxFUEhPTkVfTlVNQkVSX0RFVEVDVElPTikgJChFTkFC
TEVfVEVYVF9BVVRPU0laSU5HKSAkKEVOQUJMRV9UT1VDSF9FVkVOVFMpICQoRU5BQkxFX1VTRVJf
TUVTU0FHRV9IQU5ETEVSUykgJChFTkFCTEVfVVNFUlNFTEVDVF9BTEwpICQoRU5BQkxFX1ZBUklB
VElPTl9GT05UUykgJChFTkFCTEVfVklERU8pICQoRU5BQkxFX1ZJREVPX1BSRVNFTlRBVElPTl9N
T0RFKSAkKEVOQUJMRV9WSURFT19UUkFDSykgJChFTkFCTEVfVklERU9fVVNFU19FTEVNRU5UX0ZV
TExTQ1JFRU4pICQoRU5BQkxFX1dFQl9BVURJTykgJChFTkFCTEVfV0VCX0FVVEhOKSAkKEVOQUJM
RV9XRUJfUlRDKSAkKEVOQUJMRV9XRUJBU1NFTUJMWSkgJChFTkFCTEVfV0VCQVNTRU1CTFlfU1RS
RUFNSU5HX0FQSSkgJChFTkFCTEVfV0VCR0wpICQoRU5BQkxFX1dFQkdMMikgJChFTkFCTEVfV0VC
TUVUQUwpICQoRU5BQkxFX1dJUkVMRVNTX1BMQVlCQUNLX1RBUkdFVCkgJChFTkFCTEVfWFNMVCk7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL3Byb3RvY29sL0Nh
bnZhcy5qc29uIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9wcm90b2NvbC9DYW52
YXMuanNvbgppbmRleCA4Zjc4ZDkzYjAyNWFmMTk3MTcyNmY1YTExMDQ3MjIwYmI2Y2E5NDk1Li4y
MDIzMjcwZTcyODU1NmRkMDQ4NmVlNGJmMDhhM2FmMjg1ZGY0YjQ5IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL3Byb3RvY29sL0NhbnZhcy5qc29uCisrKyBiL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9pbnNwZWN0b3IvcHJvdG9jb2wvQ2FudmFzLmpzb24KQEAgLTE2
LDcgKzE2LDcgQEAKICAgICAgICAgewogICAgICAgICAgICAgImlkIjogIkNvbnRleHRUeXBlIiwK
ICAgICAgICAgICAgICJ0eXBlIjogInN0cmluZyIsCi0gICAgICAgICAgICAiZW51bSI6IFsiY2Fu
dmFzLTJkIiwgImJpdG1hcHJlbmRlcmVyIiwgIndlYmdsIiwgIndlYmdsMiIsICJ3ZWJncHUiXSwK
KyAgICAgICAgICAgICJlbnVtIjogWyJjYW52YXMtMmQiLCAiYml0bWFwcmVuZGVyZXIiLCAid2Vi
Z2wiLCAid2ViZ2wyIiwgIndlYm1ldGFsIl0sCiAgICAgICAgICAgICAiZGVzY3JpcHRpb24iOiAi
VGhlIHR5cGUgb2YgcmVuZGVyaW5nIGNvbnRleHQgYmFja2luZyB0aGUgY2FudmFzIGVsZW1lbnQu
IgogICAgICAgICB9LAogICAgICAgICB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvaW5zcGVjdG9yL3NjcmlwdHMvY29kZWdlbi9nZW5lcmF0b3IucHkgYi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvaW5zcGVjdG9yL3NjcmlwdHMvY29kZWdlbi9nZW5lcmF0b3IucHkKaW5kZXggMWM5
ODkyZDAxNTMwNTY1ODU3ODIzOTBhOTliMzFmN2I5NTkxNjA1Ny4uMzhhNTk3OTJhMDQwODAxZTBk
MGExOWVhMDA5NWFhY2E4OTQ4NzRjMSAxMDA3NTUKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2luc3BlY3Rvci9zY3JpcHRzL2NvZGVnZW4vZ2VuZXJhdG9yLnB5CisrKyBiL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9pbnNwZWN0b3Ivc2NyaXB0cy9jb2RlZ2VuL2dlbmVyYXRvci5weQpAQCAtNTAs
NyArNTAsNyBAQCBfRU5VTV9JREVOVElGSUVSX1JFTkFNRV9NQVAgPSB7CiAgICAgJ2NhbnZhcy13
ZWJnbCc6ICdDYW52YXNXZWJHTCcsICAjIFJlY29yZGluZy5UeXBlLmNhbnZhcy13ZWJnbAogICAg
ICd3ZWJnbCc6ICdXZWJHTCcsICAjIENhbnZhcy5Db250ZXh0VHlwZS53ZWJnbAogICAgICd3ZWJn
bDInOiAnV2ViR0wyJywgICMgQ2FudmFzLkNvbnRleHRUeXBlLndlYmdsMgotICAgICd3ZWJncHUn
OiAnV2ViR1BVJywgICMgQ2FudmFzLkNvbnRleHRUeXBlLndlYmdwdQorICAgICd3ZWJtZXRhbCc6
ICdXZWJNZXRhbCcsICAjIENhbnZhcy5Db250ZXh0VHlwZS53ZWJtZXRhbAogICAgICdiaXRtYXBy
ZW5kZXJlcic6ICdCaXRtYXBSZW5kZXJlcicsICAjIENhbnZhcy5Db250ZXh0VHlwZS5iaXRtYXBy
ZW5kZXJlcgogICAgICd3ZWJydGMnOiAnV2ViUlRDJywgICMgQ29uc29sZS5DaGFubmVsU291cmNl
LndlYnJ0YwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQgYi9T
b3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dAppbmRleCA5Y2Q5OWFmNTliNDM4MDg3ZTBiNmQ0
MGQ0MmYyMWVjYmFkYzkzMDRiLi5iYzU0MzNjYzZlZjgxMDhmYzE0M2I2OTg5MmFlZDcyMzcwZGNm
MDFjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dApAQCAtNzkwLDI4ICs3OTAsMjggQEAgc2V0KFdlYkNv
cmVfTk9OX1NWR19JRExfRklMRVMKICAgICBodG1sL2NhbnZhcy9JbWFnZVNtb290aGluZ1F1YWxp
dHkuaWRsCiAgICAgaHRtbC9jYW52YXMvT2Zmc2NyZWVuQ2FudmFzUmVuZGVyaW5nQ29udGV4dDJE
LmlkbAogICAgIGh0bWwvY2FudmFzL1BhdGgyRC5pZGwKLSAgICBodG1sL2NhbnZhcy9XZWJHUFVC
dWZmZXIuaWRsCi0gICAgaHRtbC9jYW52YXMvV2ViR1BVQ29tbWFuZEJ1ZmZlci5pZGwKLSAgICBo
dG1sL2NhbnZhcy9XZWJHUFVDb21tYW5kUXVldWUuaWRsCi0gICAgaHRtbC9jYW52YXMvV2ViR1BV
Q29tcHV0ZUNvbW1hbmRFbmNvZGVyLmlkbAotICAgIGh0bWwvY2FudmFzL1dlYkdQVUNvbXB1dGVQ
aXBlbGluZVN0YXRlLmlkbAotICAgIGh0bWwvY2FudmFzL1dlYkdQVURlcHRoU3RlbmNpbERlc2Ny
aXB0b3IuaWRsCi0gICAgaHRtbC9jYW52YXMvV2ViR1BVRGVwdGhTdGVuY2lsU3RhdGUuaWRsCi0g
ICAgaHRtbC9jYW52YXMvV2ViR1BVRHJhd2FibGUuaWRsCi0gICAgaHRtbC9jYW52YXMvV2ViR1BV
RnVuY3Rpb24uaWRsCi0gICAgaHRtbC9jYW52YXMvV2ViR1BVTGlicmFyeS5pZGwKLSAgICBodG1s
L2NhbnZhcy9XZWJHUFVSZW5kZXJDb21tYW5kRW5jb2Rlci5pZGwKLSAgICBodG1sL2NhbnZhcy9X
ZWJHUFVSZW5kZXJQYXNzQXR0YWNobWVudERlc2NyaXB0b3IuaWRsCi0gICAgaHRtbC9jYW52YXMv
V2ViR1BVUmVuZGVyUGFzc0NvbG9yQXR0YWNobWVudERlc2NyaXB0b3IuaWRsCi0gICAgaHRtbC9j
YW52YXMvV2ViR1BVUmVuZGVyUGFzc0RlcHRoQXR0YWNobWVudERlc2NyaXB0b3IuaWRsCi0gICAg
aHRtbC9jYW52YXMvV2ViR1BVUmVuZGVyUGFzc0Rlc2NyaXB0b3IuaWRsCi0gICAgaHRtbC9jYW52
YXMvV2ViR1BVUmVuZGVyUGlwZWxpbmVDb2xvckF0dGFjaG1lbnREZXNjcmlwdG9yLmlkbAotICAg
IGh0bWwvY2FudmFzL1dlYkdQVVJlbmRlclBpcGVsaW5lRGVzY3JpcHRvci5pZGwKLSAgICBodG1s
L2NhbnZhcy9XZWJHUFVSZW5kZXJQaXBlbGluZVN0YXRlLmlkbAotICAgIGh0bWwvY2FudmFzL1dl
YkdQVVJlbmRlcmluZ0NvbnRleHQuaWRsCi0gICAgaHRtbC9jYW52YXMvV2ViR1BVU2l6ZS5pZGwK
LSAgICBodG1sL2NhbnZhcy9XZWJHUFVUZXh0dXJlLmlkbAotICAgIGh0bWwvY2FudmFzL1dlYkdQ
VVRleHR1cmVEZXNjcmlwdG9yLmlkbAorICAgIGh0bWwvY2FudmFzL1dlYk1ldGFsQnVmZmVyLmlk
bAorICAgIGh0bWwvY2FudmFzL1dlYk1ldGFsQ29tbWFuZEJ1ZmZlci5pZGwKKyAgICBodG1sL2Nh
bnZhcy9XZWJNZXRhbENvbW1hbmRRdWV1ZS5pZGwKKyAgICBodG1sL2NhbnZhcy9XZWJNZXRhbENv
bXB1dGVDb21tYW5kRW5jb2Rlci5pZGwKKyAgICBodG1sL2NhbnZhcy9XZWJNZXRhbENvbXB1dGVQ
aXBlbGluZVN0YXRlLmlkbAorICAgIGh0bWwvY2FudmFzL1dlYk1ldGFsRGVwdGhTdGVuY2lsRGVz
Y3JpcHRvci5pZGwKKyAgICBodG1sL2NhbnZhcy9XZWJNZXRhbERlcHRoU3RlbmNpbFN0YXRlLmlk
bAorICAgIGh0bWwvY2FudmFzL1dlYk1ldGFsRHJhd2FibGUuaWRsCisgICAgaHRtbC9jYW52YXMv
V2ViTWV0YWxGdW5jdGlvbi5pZGwKKyAgICBodG1sL2NhbnZhcy9XZWJNZXRhbExpYnJhcnkuaWRs
CisgICAgaHRtbC9jYW52YXMvV2ViTWV0YWxSZW5kZXJDb21tYW5kRW5jb2Rlci5pZGwKKyAgICBo
dG1sL2NhbnZhcy9XZWJNZXRhbFJlbmRlclBhc3NBdHRhY2htZW50RGVzY3JpcHRvci5pZGwKKyAg
ICBodG1sL2NhbnZhcy9XZWJNZXRhbFJlbmRlclBhc3NDb2xvckF0dGFjaG1lbnREZXNjcmlwdG9y
LmlkbAorICAgIGh0bWwvY2FudmFzL1dlYk1ldGFsUmVuZGVyUGFzc0RlcHRoQXR0YWNobWVudERl
c2NyaXB0b3IuaWRsCisgICAgaHRtbC9jYW52YXMvV2ViTWV0YWxSZW5kZXJQYXNzRGVzY3JpcHRv
ci5pZGwKKyAgICBodG1sL2NhbnZhcy9XZWJNZXRhbFJlbmRlclBpcGVsaW5lQ29sb3JBdHRhY2ht
ZW50RGVzY3JpcHRvci5pZGwKKyAgICBodG1sL2NhbnZhcy9XZWJNZXRhbFJlbmRlclBpcGVsaW5l
RGVzY3JpcHRvci5pZGwKKyAgICBodG1sL2NhbnZhcy9XZWJNZXRhbFJlbmRlclBpcGVsaW5lU3Rh
dGUuaWRsCisgICAgaHRtbC9jYW52YXMvV2ViTWV0YWxSZW5kZXJpbmdDb250ZXh0LmlkbAorICAg
IGh0bWwvY2FudmFzL1dlYk1ldGFsU2l6ZS5pZGwKKyAgICBodG1sL2NhbnZhcy9XZWJNZXRhbFRl
eHR1cmUuaWRsCisgICAgaHRtbC9jYW52YXMvV2ViTWV0YWxUZXh0dXJlRGVzY3JpcHRvci5pZGwK
IAogICAgIGluc3BlY3Rvci9Db21tYW5kTGluZUFQSUhvc3QuaWRsCiAgICAgaW5zcGVjdG9yL0lu
c3BlY3RvckZyb250ZW5kSG9zdC5pZGwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NvbmZp
Z3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnIGIvU291cmNlL1dlYkNvcmUvQ29uZmln
dXJhdGlvbnMvRmVhdHVyZURlZmluZXMueGNjb25maWcKaW5kZXggNjhlZmNlOTQyY2EwZGNkZTYy
MDlhMzBmYjRlNWQwYmQ4NzYwYTc4MS4uMjQyOWRkOGRjNjkxMjQzNTZkMDE0NjNhYWI3Nzk4ZTc4
Nzc5Yzk1YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ29uZmlndXJhdGlvbnMvRmVhdHVy
ZURlZmluZXMueGNjb25maWcKKysrIGIvU291cmNlL1dlYkNvcmUvQ29uZmlndXJhdGlvbnMvRmVh
dHVyZURlZmluZXMueGNjb25maWcKQEAgLTM1MCwxMSArMzUwLDExIEBAIEVOQUJMRV9XRUJHTCA9
IEVOQUJMRV9XRUJHTDsKIAogRU5BQkxFX1dFQkdMMiA9IEVOQUJMRV9XRUJHTDI7CiAKLUVOQUJM
RV9XRUJHUFUgPSAkKEVOQUJMRV9XRUJHUFVfJChXS19QTEFURk9STV9OQU1FKSk7Ci1FTkFCTEVf
V0VCR1BVX2lwaG9uZW9zID0gRU5BQkxFX1dFQkdQVTsKLUVOQUJMRV9XRUJHUFVfd2F0Y2hvcyA9
IEVOQUJMRV9XRUJHUFU7Ci1FTkFCTEVfV0VCR1BVX2FwcGxldHZvcyA9IEVOQUJMRV9XRUJHUFU7
Ci1FTkFCTEVfV0VCR1BVX21hY29zeCA9IEVOQUJMRV9XRUJHUFU7CitFTkFCTEVfV0VCTUVUQUwg
PSAkKEVOQUJMRV9XRUJNRVRBTF8kKFdLX1BMQVRGT1JNX05BTUUpKTsKK0VOQUJMRV9XRUJNRVRB
TF9pcGhvbmVvcyA9IEVOQUJMRV9XRUJNRVRBTDsKK0VOQUJMRV9XRUJNRVRBTF93YXRjaG9zID0g
RU5BQkxFX1dFQk1FVEFMOworRU5BQkxFX1dFQk1FVEFMX2FwcGxldHZvcyA9IEVOQUJMRV9XRUJN
RVRBTDsKK0VOQUJMRV9XRUJNRVRBTF9tYWNvc3ggPSBFTkFCTEVfV0VCTUVUQUw7CiAKIEVOQUJM
RV9XRUJfQVVESU8gPSBFTkFCTEVfV0VCX0FVRElPOwogCkBAIC0zNzIsNCArMzcyLDQgQEAgRU5B
QkxFX1dJUkVMRVNTX1BMQVlCQUNLX1RBUkdFVCA9IEVOQUJMRV9XSVJFTEVTU19QTEFZQkFDS19U
QVJHRVQ7CiAKIEVOQUJMRV9YU0xUID0gRU5BQkxFX1hTTFQ7CiAKLUZFQVRVUkVfREVGSU5FUyA9
ICQoRU5BQkxFXzNEX1RSQU5TRk9STVMpICQoRU5BQkxFX0FDQ0VMRVJBVEVEXzJEX0NBTlZBUykg
JChFTkFCTEVfQUNDRUxFUkFURURfT1ZFUkZMT1dfU0NST0xMSU5HKSAkKEVOQUJMRV9BUFBMRV9Q
QVkpICQoRU5BQkxFX0FQUExFX1BBWV9TRVNTSU9OX1YzKSAkKEVOQUJMRV9BUFBMRV9QQVlfU0VT
U0lPTl9WNCkgJChFTkFCTEVfQVBQTElDQVRJT05fTUFOSUZFU1QpICQoRU5BQkxFX0FUVEFDSE1F
TlRfRUxFTUVOVCkgJChFTkFCTEVfQVZGX0NBUFRJT05TKSAkKEVOQUJMRV9DQUNIRV9QQVJUSVRJ
T05JTkcpICQoRU5BQkxFX0NIQU5ORUxfTUVTU0FHSU5HKSAkKEVOQUJMRV9DT05URU5UX0ZJTFRF
UklORykgJChFTkFCTEVfQ1NTM19URVhUKSAkKEVOQUJMRV9DU1NfQk9YX0RFQ09SQVRJT05fQlJF
QUspICQoRU5BQkxFX0NTU19DT01QT1NJVElORykgJChFTkFCTEVfQ1NTX0RFVklDRV9BREFQVEFU
SU9OKSAkKEVOQUJMRV9DU1NfSU1BR0VfT1JJRU5UQVRJT04pICQoRU5BQkxFX0NTU19JTUFHRV9S
RVNPTFVUSU9OKSAkKEVOQUJMRV9DU1NfU0NST0xMX1NOQVApICQoRU5BQkxFX0NTU19TRUxFQ1RP
UlNfTEVWRUw0KSAkKEVOQUJMRV9DU1NfVFJBSUxJTkdfV09SRCkgJChFTkFCTEVfQ1VSU09SX1ZJ
U0lCSUxJVFkpICQoRU5BQkxFX0NVU1RPTV9TQ0hFTUVfSEFORExFUikgJChFTkFCTEVfREFTSEJP
QVJEX1NVUFBPUlQpICQoRU5BQkxFX0RBVEFfSU5URVJBQ1RJT04pICQoRU5BQkxFX0RBVEFDVUVf
VkFMVUUpICQoRU5BQkxFX0RBVEFMSVNUX0VMRU1FTlQpICQoRU5BQkxFX0RFVklDRV9PUklFTlRB
VElPTikgJChFTkFCTEVfRFJBR19TVVBQT1JUKSAkKEVOQUJMRV9FTkNSWVBURURfTUVESUEpICQo
RU5BQkxFX0VYUEVSSU1FTlRBTF9GRUFUVVJFUykgJChFTkFCTEVfRkFTVF9KSVRfUEVSTUlTU0lP
TlMpICQoRU5BQkxFX0ZJTFRFUlNfTEVWRUxfMikgJChFTkFCTEVfRlRMX0pJVCkgJChFTkFCTEVf
RlVMTFNDUkVFTl9BUEkpICQoRU5BQkxFX0dBTUVQQUQpICQoRU5BQkxFX0dFT0xPQ0FUSU9OKSAk
KEVOQUJMRV9JQ09OREFUQUJBU0UpICQoRU5BQkxFX0lOREVYRURfREFUQUJBU0UpICQoRU5BQkxF
X0lOREVYRURfREFUQUJBU0VfSU5fV09SS0VSUykgJChFTkFCTEVfSU5QVVRfVFlQRV9DT0xPUikg
JChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1FX0lO
Q09NUExFVEUpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURVRJTUVMT0NBTCkgJChFTkFCTEVfSU5Q
VVRfVFlQRV9NT05USCkgJChFTkFCTEVfSU5QVVRfVFlQRV9USU1FKSAkKEVOQUJMRV9JTlBVVF9U
WVBFX1dFRUspICQoRU5BQkxFX0lOVEVSU0VDVElPTl9PQlNFUlZFUikgJChFTkFCTEVfSU5UTCkg
JChFTkFCTEVfSU9TX0dFU1RVUkVfRVZFTlRTKSAkKEVOQUJMRV9JT1NfVE9VQ0hfRVZFTlRTKSAk
KEVOQUJMRV9KSVQpICQoRU5BQkxFX0pTX0FTWU5DX0lURVJBVElPTikgJChFTkFCTEVfS0VZQk9B
UkRfQ09ERV9BVFRSSUJVVEUpICQoRU5BQkxFX0tFWUJPQVJEX0tFWV9BVFRSSUJVVEUpICQoRU5B
QkxFX0xBWU9VVF9GT1JNQVRUSU5HX0NPTlRFWFQpICQoRU5BQkxFX0xFR0FDWV9DU1NfVkVORE9S
X1BSRUZJWEVTKSAkKEVOQUJMRV9MRUdBQ1lfQ1VTVE9NX1BST1RPQ09MX01BTkFHRVIpICQoRU5B
QkxFX0xFR0FDWV9FTkNSWVBURURfTUVESUEpICQoRU5BQkxFX0xFVFRFUlBSRVNTKSAkKEVOQUJM
RV9NQUNfR0VTVFVSRV9FVkVOVFMpICQoRU5BQkxFX01BQ19WSURFT19UT09MQk9YKSAkKEVOQUJM
RV9NQVRITUwpICQoRU5BQkxFX01FRElBX0NBUFRVUkUpICQoRU5BQkxFX01FRElBX0NPTlRST0xT
X1NDUklQVCkgJChFTkFCTEVfTUVESUFfU0VTU0lPTikgJChFTkFCTEVfTUVESUFfU09VUkNFKSAk
KEVOQUJMRV9NRURJQV9TVEFUSVNUSUNTKSAkKEVOQUJMRV9NRURJQV9TVFJFQU0pICQoRU5BQkxF
X01FVEVSX0VMRU1FTlQpICQoRU5BQkxFX01IVE1MKSAkKEVOQUJMRV9NT1VTRV9DVVJTT1JfU0NB
TEUpICQoRU5BQkxFX05BVklHQVRPUl9DT05URU5UX1VUSUxTKSAkKEVOQUJMRV9OQVZJR0FUT1Jf
U1RBTkRBTE9ORSkgJChFTkFCTEVfTk9USUZJQ0FUSU9OUykgJChFTkFCTEVfUEFZTUVOVF9SRVFV
RVNUKSAkKEVOQUJMRV9QREZLSVRfUExVR0lOKSAkKEVOQUJMRV9QT0lOVEVSX0xPQ0spICQoRU5B
QkxFX1BVQkxJQ19TVUZGSVhfTElTVCkgJChFTkFCTEVfUVVPVEEpICQoRU5BQkxFX1JFTU9URV9J
TlNQRUNUT1IpICQoRU5BQkxFX1JFU09MVVRJT05fTUVESUFfUVVFUlkpICQoRU5BQkxFX1JFU09V
UkNFX1VTQUdFKSAkKEVOQUJMRV9SVUJCRVJfQkFORElORykgJChFTkFCTEVfU0VSVklDRV9DT05U
Uk9MUykgJChFTkFCTEVfU0VSVklDRV9XT1JLRVIpICQoRU5BQkxFX1NQRUVDSF9TWU5USEVTSVMp
ICQoRU5BQkxFX1NUUkVBTVNfQVBJKSAkKEVOQUJMRV9TVUJUTEVfQ1JZUFRPKSAkKEVOQUJMRV9T
VkdfRk9OVFMpICQoRU5BQkxFX1RFTEVQSE9ORV9OVU1CRVJfREVURUNUSU9OKSAkKEVOQUJMRV9U
RVhUX0FVVE9TSVpJTkcpICQoRU5BQkxFX1RPVUNIX0VWRU5UUykgJChFTkFCTEVfVVNFUl9NRVNT
QUdFX0hBTkRMRVJTKSAkKEVOQUJMRV9VU0VSU0VMRUNUX0FMTCkgJChFTkFCTEVfVkFSSUFUSU9O
X0ZPTlRTKSAkKEVOQUJMRV9WSURFTykgJChFTkFCTEVfVklERU9fUFJFU0VOVEFUSU9OX01PREUp
ICQoRU5BQkxFX1ZJREVPX1RSQUNLKSAkKEVOQUJMRV9WSURFT19VU0VTX0VMRU1FTlRfRlVMTFND
UkVFTikgJChFTkFCTEVfV0VCX0FVRElPKSAkKEVOQUJMRV9XRUJfQVVUSE4pICQoRU5BQkxFX1dF
Ql9SVEMpICQoRU5BQkxFX1dFQkFTU0VNQkxZKSAkKEVOQUJMRV9XRUJBU1NFTUJMWV9TVFJFQU1J
TkdfQVBJKSAkKEVOQUJMRV9XRUJHTCkgJChFTkFCTEVfV0VCR0wyKSAkKEVOQUJMRV9XRUJHUFUp
ICQoRU5BQkxFX1dJUkVMRVNTX1BMQVlCQUNLX1RBUkdFVCkgJChFTkFCTEVfWFNMVCk7CitGRUFU
VVJFX0RFRklORVMgPSAkKEVOQUJMRV8zRF9UUkFOU0ZPUk1TKSAkKEVOQUJMRV9BQ0NFTEVSQVRF
RF8yRF9DQU5WQVMpICQoRU5BQkxFX0FDQ0VMRVJBVEVEX09WRVJGTE9XX1NDUk9MTElORykgJChF
TkFCTEVfQVBQTEVfUEFZKSAkKEVOQUJMRV9BUFBMRV9QQVlfU0VTU0lPTl9WMykgJChFTkFCTEVf
QVBQTEVfUEFZX1NFU1NJT05fVjQpICQoRU5BQkxFX0FQUExJQ0FUSU9OX01BTklGRVNUKSAkKEVO
QUJMRV9BVFRBQ0hNRU5UX0VMRU1FTlQpICQoRU5BQkxFX0FWRl9DQVBUSU9OUykgJChFTkFCTEVf
Q0FDSEVfUEFSVElUSU9OSU5HKSAkKEVOQUJMRV9DSEFOTkVMX01FU1NBR0lORykgJChFTkFCTEVf
Q09OVEVOVF9GSUxURVJJTkcpICQoRU5BQkxFX0NTUzNfVEVYVCkgJChFTkFCTEVfQ1NTX0JPWF9E
RUNPUkFUSU9OX0JSRUFLKSAkKEVOQUJMRV9DU1NfQ09NUE9TSVRJTkcpICQoRU5BQkxFX0NTU19E
RVZJQ0VfQURBUFRBVElPTikgJChFTkFCTEVfQ1NTX0lNQUdFX09SSUVOVEFUSU9OKSAkKEVOQUJM
RV9DU1NfSU1BR0VfUkVTT0xVVElPTikgJChFTkFCTEVfQ1NTX1NDUk9MTF9TTkFQKSAkKEVOQUJM
RV9DU1NfU0VMRUNUT1JTX0xFVkVMNCkgJChFTkFCTEVfQ1NTX1RSQUlMSU5HX1dPUkQpICQoRU5B
QkxFX0NVUlNPUl9WSVNJQklMSVRZKSAkKEVOQUJMRV9DVVNUT01fU0NIRU1FX0hBTkRMRVIpICQo
RU5BQkxFX0RBU0hCT0FSRF9TVVBQT1JUKSAkKEVOQUJMRV9EQVRBX0lOVEVSQUNUSU9OKSAkKEVO
QUJMRV9EQVRBQ1VFX1ZBTFVFKSAkKEVOQUJMRV9EQVRBTElTVF9FTEVNRU5UKSAkKEVOQUJMRV9E
RVZJQ0VfT1JJRU5UQVRJT04pICQoRU5BQkxFX0RSQUdfU1VQUE9SVCkgJChFTkFCTEVfRU5DUllQ
VEVEX01FRElBKSAkKEVOQUJMRV9FWFBFUklNRU5UQUxfRkVBVFVSRVMpICQoRU5BQkxFX0ZBU1Rf
SklUX1BFUk1JU1NJT05TKSAkKEVOQUJMRV9GSUxURVJTX0xFVkVMXzIpICQoRU5BQkxFX0ZUTF9K
SVQpICQoRU5BQkxFX0ZVTExTQ1JFRU5fQVBJKSAkKEVOQUJMRV9HQU1FUEFEKSAkKEVOQUJMRV9H
RU9MT0NBVElPTikgJChFTkFCTEVfSUNPTkRBVEFCQVNFKSAkKEVOQUJMRV9JTkRFWEVEX0RBVEFC
QVNFKSAkKEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNFX0lOX1dPUktFUlMpICQoRU5BQkxFX0lOUFVU
X1RZUEVfQ09MT1IpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURSkgJChFTkFCTEVfSU5QVVRfVFlQ
RV9EQVRFVElNRV9JTkNPTVBMRVRFKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1FTE9DQUwp
ICQoRU5BQkxFX0lOUFVUX1RZUEVfTU9OVEgpICQoRU5BQkxFX0lOUFVUX1RZUEVfVElNRSkgJChF
TkFCTEVfSU5QVVRfVFlQRV9XRUVLKSAkKEVOQUJMRV9JTlRFUlNFQ1RJT05fT0JTRVJWRVIpICQo
RU5BQkxFX0lOVEwpICQoRU5BQkxFX0lPU19HRVNUVVJFX0VWRU5UUykgJChFTkFCTEVfSU9TX1RP
VUNIX0VWRU5UUykgJChFTkFCTEVfSklUKSAkKEVOQUJMRV9KU19BU1lOQ19JVEVSQVRJT04pICQo
RU5BQkxFX0tFWUJPQVJEX0NPREVfQVRUUklCVVRFKSAkKEVOQUJMRV9LRVlCT0FSRF9LRVlfQVRU
UklCVVRFKSAkKEVOQUJMRV9MQVlPVVRfRk9STUFUVElOR19DT05URVhUKSAkKEVOQUJMRV9MRUdB
Q1lfQ1NTX1ZFTkRPUl9QUkVGSVhFUykgJChFTkFCTEVfTEVHQUNZX0NVU1RPTV9QUk9UT0NPTF9N
QU5BR0VSKSAkKEVOQUJMRV9MRUdBQ1lfRU5DUllQVEVEX01FRElBKSAkKEVOQUJMRV9MRVRURVJQ
UkVTUykgJChFTkFCTEVfTUFDX0dFU1RVUkVfRVZFTlRTKSAkKEVOQUJMRV9NQUNfVklERU9fVE9P
TEJPWCkgJChFTkFCTEVfTUFUSE1MKSAkKEVOQUJMRV9NRURJQV9DQVBUVVJFKSAkKEVOQUJMRV9N
RURJQV9DT05UUk9MU19TQ1JJUFQpICQoRU5BQkxFX01FRElBX1NFU1NJT04pICQoRU5BQkxFX01F
RElBX1NPVVJDRSkgJChFTkFCTEVfTUVESUFfU1RBVElTVElDUykgJChFTkFCTEVfTUVESUFfU1RS
RUFNKSAkKEVOQUJMRV9NRVRFUl9FTEVNRU5UKSAkKEVOQUJMRV9NSFRNTCkgJChFTkFCTEVfTU9V
U0VfQ1VSU09SX1NDQUxFKSAkKEVOQUJMRV9OQVZJR0FUT1JfQ09OVEVOVF9VVElMUykgJChFTkFC
TEVfTkFWSUdBVE9SX1NUQU5EQUxPTkUpICQoRU5BQkxFX05PVElGSUNBVElPTlMpICQoRU5BQkxF
X1BBWU1FTlRfUkVRVUVTVCkgJChFTkFCTEVfUERGS0lUX1BMVUdJTikgJChFTkFCTEVfUE9JTlRF
Ul9MT0NLKSAkKEVOQUJMRV9QVUJMSUNfU1VGRklYX0xJU1QpICQoRU5BQkxFX1FVT1RBKSAkKEVO
QUJMRV9SRU1PVEVfSU5TUEVDVE9SKSAkKEVOQUJMRV9SRVNPTFVUSU9OX01FRElBX1FVRVJZKSAk
KEVOQUJMRV9SRVNPVVJDRV9VU0FHRSkgJChFTkFCTEVfUlVCQkVSX0JBTkRJTkcpICQoRU5BQkxF
X1NFUlZJQ0VfQ09OVFJPTFMpICQoRU5BQkxFX1NFUlZJQ0VfV09SS0VSKSAkKEVOQUJMRV9TUEVF
Q0hfU1lOVEhFU0lTKSAkKEVOQUJMRV9TVFJFQU1TX0FQSSkgJChFTkFCTEVfU1VCVExFX0NSWVBU
TykgJChFTkFCTEVfU1ZHX0ZPTlRTKSAkKEVOQUJMRV9URUxFUEhPTkVfTlVNQkVSX0RFVEVDVElP
TikgJChFTkFCTEVfVEVYVF9BVVRPU0laSU5HKSAkKEVOQUJMRV9UT1VDSF9FVkVOVFMpICQoRU5B
QkxFX1VTRVJfTUVTU0FHRV9IQU5ETEVSUykgJChFTkFCTEVfVVNFUlNFTEVDVF9BTEwpICQoRU5B
QkxFX1ZBUklBVElPTl9GT05UUykgJChFTkFCTEVfVklERU8pICQoRU5BQkxFX1ZJREVPX1BSRVNF
TlRBVElPTl9NT0RFKSAkKEVOQUJMRV9WSURFT19UUkFDSykgJChFTkFCTEVfVklERU9fVVNFU19F
TEVNRU5UX0ZVTExTQ1JFRU4pICQoRU5BQkxFX1dFQl9BVURJTykgJChFTkFCTEVfV0VCX0FVVEhO
KSAkKEVOQUJMRV9XRUJfUlRDKSAkKEVOQUJMRV9XRUJBU1NFTUJMWSkgJChFTkFCTEVfV0VCQVNT
RU1CTFlfU1RSRUFNSU5HX0FQSSkgJChFTkFCTEVfV0VCR0wpICQoRU5BQkxFX1dFQkdMMikgJChF
TkFCTEVfV0VCTUVUQUwpICQoRU5BQkxFX1dJUkVMRVNTX1BMQVlCQUNLX1RBUkdFVCkgJChFTkFC
TEVfWFNMVCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtl
IGIvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMubWFrZQppbmRleCA4MmY2NDU4Y2ZlZDc5
NjViMzdlMjQ1NzRjOTNiNWNmYTU1M2JjZjNlLi4wOTU0YzI3NjdjZDJmY2VkNTgwMWRhM2ViZWUz
NzgwNjgzMDAzOTA5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5t
YWtlCisrKyBiL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UKQEAgLTc0NCwyOCAr
NzQ0LDI4IEBAIEpTX0JJTkRJTkdfSURMUyA9IFwKICAgICAkKFdlYkNvcmUpL2h0bWwvY2FudmFz
L1dlYkdMVW5pZm9ybUxvY2F0aW9uLmlkbCBcCiAgICAgJChXZWJDb3JlKS9odG1sL2NhbnZhcy9X
ZWJHTFZlcnRleEFycmF5T2JqZWN0LmlkbCBcCiAgICAgJChXZWJDb3JlKS9odG1sL2NhbnZhcy9X
ZWJHTFZlcnRleEFycmF5T2JqZWN0T0VTLmlkbCBcCi0gICAgJChXZWJDb3JlKS9odG1sL2NhbnZh
cy9XZWJHUFVCdWZmZXIuaWRsIFwKLSAgICAkKFdlYkNvcmUpL2h0bWwvY2FudmFzL1dlYkdQVUNv
bW1hbmRCdWZmZXIuaWRsIFwKLSAgICAkKFdlYkNvcmUpL2h0bWwvY2FudmFzL1dlYkdQVUNvbW1h
bmRRdWV1ZS5pZGwgXAotCSQoV2ViQ29yZSkvaHRtbC9jYW52YXMvV2ViR1BVQ29tcHV0ZUNvbW1h
bmRFbmNvZGVyLmlkbCBcCi0JJChXZWJDb3JlKS9odG1sL2NhbnZhcy9XZWJHUFVDb21wdXRlUGlw
ZWxpbmVTdGF0ZS5pZGwgXAotICAgICQoV2ViQ29yZSkvaHRtbC9jYW52YXMvV2ViR1BVRGVwdGhT
dGVuY2lsRGVzY3JpcHRvci5pZGwgXAotICAgICQoV2ViQ29yZSkvaHRtbC9jYW52YXMvV2ViR1BV
RGVwdGhTdGVuY2lsU3RhdGUuaWRsIFwKLSAgICAkKFdlYkNvcmUpL2h0bWwvY2FudmFzL1dlYkdQ
VURyYXdhYmxlLmlkbCBcCi0gICAgJChXZWJDb3JlKS9odG1sL2NhbnZhcy9XZWJHUFVGdW5jdGlv
bi5pZGwgXAotICAgICQoV2ViQ29yZSkvaHRtbC9jYW52YXMvV2ViR1BVTGlicmFyeS5pZGwgXAot
ICAgICQoV2ViQ29yZSkvaHRtbC9jYW52YXMvV2ViR1BVUmVuZGVyQ29tbWFuZEVuY29kZXIuaWRs
IFwKLSAgICAkKFdlYkNvcmUpL2h0bWwvY2FudmFzL1dlYkdQVVJlbmRlcmluZ0NvbnRleHQuaWRs
IFwKLSAgICAkKFdlYkNvcmUpL2h0bWwvY2FudmFzL1dlYkdQVVJlbmRlclBhc3NBdHRhY2htZW50
RGVzY3JpcHRvci5pZGwgXAotICAgICQoV2ViQ29yZSkvaHRtbC9jYW52YXMvV2ViR1BVUmVuZGVy
UGFzc0NvbG9yQXR0YWNobWVudERlc2NyaXB0b3IuaWRsIFwKLSAgICAkKFdlYkNvcmUpL2h0bWwv
Y2FudmFzL1dlYkdQVVJlbmRlclBhc3NEZXB0aEF0dGFjaG1lbnREZXNjcmlwdG9yLmlkbCBcCi0g
ICAgJChXZWJDb3JlKS9odG1sL2NhbnZhcy9XZWJHUFVSZW5kZXJQYXNzRGVzY3JpcHRvci5pZGwg
XAotICAgICQoV2ViQ29yZSkvaHRtbC9jYW52YXMvV2ViR1BVUmVuZGVyUGlwZWxpbmVDb2xvckF0
dGFjaG1lbnREZXNjcmlwdG9yLmlkbCBcCi0gICAgJChXZWJDb3JlKS9odG1sL2NhbnZhcy9XZWJH
UFVSZW5kZXJQaXBlbGluZURlc2NyaXB0b3IuaWRsIFwKLSAgICAkKFdlYkNvcmUpL2h0bWwvY2Fu
dmFzL1dlYkdQVVJlbmRlclBpcGVsaW5lU3RhdGUuaWRsIFwKLQkkKFdlYkNvcmUpL2h0bWwvY2Fu
dmFzL1dlYkdQVVNpemUuaWRsIFwKLSAgICAkKFdlYkNvcmUpL2h0bWwvY2FudmFzL1dlYkdQVVRl
eHR1cmUuaWRsIFwKLSAgICAkKFdlYkNvcmUpL2h0bWwvY2FudmFzL1dlYkdQVVRleHR1cmVEZXNj
cmlwdG9yLmlkbCBcCisgICAgJChXZWJDb3JlKS9odG1sL2NhbnZhcy9XZWJNZXRhbEJ1ZmZlci5p
ZGwgXAorICAgICQoV2ViQ29yZSkvaHRtbC9jYW52YXMvV2ViTWV0YWxDb21tYW5kQnVmZmVyLmlk
bCBcCisgICAgJChXZWJDb3JlKS9odG1sL2NhbnZhcy9XZWJNZXRhbENvbW1hbmRRdWV1ZS5pZGwg
XAorCSQoV2ViQ29yZSkvaHRtbC9jYW52YXMvV2ViTWV0YWxDb21wdXRlQ29tbWFuZEVuY29kZXIu
aWRsIFwKKwkkKFdlYkNvcmUpL2h0bWwvY2FudmFzL1dlYk1ldGFsQ29tcHV0ZVBpcGVsaW5lU3Rh
dGUuaWRsIFwKKyAgICAkKFdlYkNvcmUpL2h0bWwvY2FudmFzL1dlYk1ldGFsRGVwdGhTdGVuY2ls
RGVzY3JpcHRvci5pZGwgXAorICAgICQoV2ViQ29yZSkvaHRtbC9jYW52YXMvV2ViTWV0YWxEZXB0
aFN0ZW5jaWxTdGF0ZS5pZGwgXAorICAgICQoV2ViQ29yZSkvaHRtbC9jYW52YXMvV2ViTWV0YWxE
cmF3YWJsZS5pZGwgXAorICAgICQoV2ViQ29yZSkvaHRtbC9jYW52YXMvV2ViTWV0YWxGdW5jdGlv
bi5pZGwgXAorICAgICQoV2ViQ29yZSkvaHRtbC9jYW52YXMvV2ViTWV0YWxMaWJyYXJ5LmlkbCBc
CisgICAgJChXZWJDb3JlKS9odG1sL2NhbnZhcy9XZWJNZXRhbFJlbmRlckNvbW1hbmRFbmNvZGVy
LmlkbCBcCisgICAgJChXZWJDb3JlKS9odG1sL2NhbnZhcy9XZWJNZXRhbFJlbmRlcmluZ0NvbnRl
eHQuaWRsIFwKKyAgICAkKFdlYkNvcmUpL2h0bWwvY2FudmFzL1dlYk1ldGFsUmVuZGVyUGFzc0F0
dGFjaG1lbnREZXNjcmlwdG9yLmlkbCBcCisgICAgJChXZWJDb3JlKS9odG1sL2NhbnZhcy9XZWJN
ZXRhbFJlbmRlclBhc3NDb2xvckF0dGFjaG1lbnREZXNjcmlwdG9yLmlkbCBcCisgICAgJChXZWJD
b3JlKS9odG1sL2NhbnZhcy9XZWJNZXRhbFJlbmRlclBhc3NEZXB0aEF0dGFjaG1lbnREZXNjcmlw
dG9yLmlkbCBcCisgICAgJChXZWJDb3JlKS9odG1sL2NhbnZhcy9XZWJNZXRhbFJlbmRlclBhc3NE
ZXNjcmlwdG9yLmlkbCBcCisgICAgJChXZWJDb3JlKS9odG1sL2NhbnZhcy9XZWJNZXRhbFJlbmRl
clBpcGVsaW5lQ29sb3JBdHRhY2htZW50RGVzY3JpcHRvci5pZGwgXAorICAgICQoV2ViQ29yZSkv
aHRtbC9jYW52YXMvV2ViTWV0YWxSZW5kZXJQaXBlbGluZURlc2NyaXB0b3IuaWRsIFwKKyAgICAk
KFdlYkNvcmUpL2h0bWwvY2FudmFzL1dlYk1ldGFsUmVuZGVyUGlwZWxpbmVTdGF0ZS5pZGwgXAor
CSQoV2ViQ29yZSkvaHRtbC9jYW52YXMvV2ViTWV0YWxTaXplLmlkbCBcCisgICAgJChXZWJDb3Jl
KS9odG1sL2NhbnZhcy9XZWJNZXRhbFRleHR1cmUuaWRsIFwKKyAgICAkKFdlYkNvcmUpL2h0bWwv
Y2FudmFzL1dlYk1ldGFsVGV4dHVyZURlc2NyaXB0b3IuaWRsIFwKICAgICAkKFdlYkNvcmUpL2h0
bWwvdHJhY2svQXVkaW9UcmFjay5pZGwgXAogICAgICQoV2ViQ29yZSkvaHRtbC90cmFjay9BdWRp
b1RyYWNrTGlzdC5pZGwgXAogICAgICQoV2ViQ29yZSkvaHRtbC90cmFjay9EYXRhQ3VlLmlkbCBc
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9QQUwvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURl
ZmluZXMueGNjb25maWcgYi9Tb3VyY2UvV2ViQ29yZS9QQUwvQ29uZmlndXJhdGlvbnMvRmVhdHVy
ZURlZmluZXMueGNjb25maWcKaW5kZXggNjhlZmNlOTQyY2EwZGNkZTYyMDlhMzBmYjRlNWQwYmQ4
NzYwYTc4MS4uMjQyOWRkOGRjNjkxMjQzNTZkMDE0NjNhYWI3Nzk4ZTc4Nzc5Yzk1YyAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvUEFML0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhj
Y29uZmlnCisrKyBiL1NvdXJjZS9XZWJDb3JlL1BBTC9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVm
aW5lcy54Y2NvbmZpZwpAQCAtMzUwLDExICszNTAsMTEgQEAgRU5BQkxFX1dFQkdMID0gRU5BQkxF
X1dFQkdMOwogCiBFTkFCTEVfV0VCR0wyID0gRU5BQkxFX1dFQkdMMjsKIAotRU5BQkxFX1dFQkdQ
VSA9ICQoRU5BQkxFX1dFQkdQVV8kKFdLX1BMQVRGT1JNX05BTUUpKTsKLUVOQUJMRV9XRUJHUFVf
aXBob25lb3MgPSBFTkFCTEVfV0VCR1BVOwotRU5BQkxFX1dFQkdQVV93YXRjaG9zID0gRU5BQkxF
X1dFQkdQVTsKLUVOQUJMRV9XRUJHUFVfYXBwbGV0dm9zID0gRU5BQkxFX1dFQkdQVTsKLUVOQUJM
RV9XRUJHUFVfbWFjb3N4ID0gRU5BQkxFX1dFQkdQVTsKK0VOQUJMRV9XRUJNRVRBTCA9ICQoRU5B
QkxFX1dFQk1FVEFMXyQoV0tfUExBVEZPUk1fTkFNRSkpOworRU5BQkxFX1dFQk1FVEFMX2lwaG9u
ZW9zID0gRU5BQkxFX1dFQk1FVEFMOworRU5BQkxFX1dFQk1FVEFMX3dhdGNob3MgPSBFTkFCTEVf
V0VCTUVUQUw7CitFTkFCTEVfV0VCTUVUQUxfYXBwbGV0dm9zID0gRU5BQkxFX1dFQk1FVEFMOwor
RU5BQkxFX1dFQk1FVEFMX21hY29zeCA9IEVOQUJMRV9XRUJNRVRBTDsKIAogRU5BQkxFX1dFQl9B
VURJTyA9IEVOQUJMRV9XRUJfQVVESU87CiAKQEAgLTM3Miw0ICszNzIsNCBAQCBFTkFCTEVfV0lS
RUxFU1NfUExBWUJBQ0tfVEFSR0VUID0gRU5BQkxFX1dJUkVMRVNTX1BMQVlCQUNLX1RBUkdFVDsK
IAogRU5BQkxFX1hTTFQgPSBFTkFCTEVfWFNMVDsKIAotRkVBVFVSRV9ERUZJTkVTID0gJChFTkFC
TEVfM0RfVFJBTlNGT1JNUykgJChFTkFCTEVfQUNDRUxFUkFURURfMkRfQ0FOVkFTKSAkKEVOQUJM
RV9BQ0NFTEVSQVRFRF9PVkVSRkxPV19TQ1JPTExJTkcpICQoRU5BQkxFX0FQUExFX1BBWSkgJChF
TkFCTEVfQVBQTEVfUEFZX1NFU1NJT05fVjMpICQoRU5BQkxFX0FQUExFX1BBWV9TRVNTSU9OX1Y0
KSAkKEVOQUJMRV9BUFBMSUNBVElPTl9NQU5JRkVTVCkgJChFTkFCTEVfQVRUQUNITUVOVF9FTEVN
RU5UKSAkKEVOQUJMRV9BVkZfQ0FQVElPTlMpICQoRU5BQkxFX0NBQ0hFX1BBUlRJVElPTklORykg
JChFTkFCTEVfQ0hBTk5FTF9NRVNTQUdJTkcpICQoRU5BQkxFX0NPTlRFTlRfRklMVEVSSU5HKSAk
KEVOQUJMRV9DU1MzX1RFWFQpICQoRU5BQkxFX0NTU19CT1hfREVDT1JBVElPTl9CUkVBSykgJChF
TkFCTEVfQ1NTX0NPTVBPU0lUSU5HKSAkKEVOQUJMRV9DU1NfREVWSUNFX0FEQVBUQVRJT04pICQo
RU5BQkxFX0NTU19JTUFHRV9PUklFTlRBVElPTikgJChFTkFCTEVfQ1NTX0lNQUdFX1JFU09MVVRJ
T04pICQoRU5BQkxFX0NTU19TQ1JPTExfU05BUCkgJChFTkFCTEVfQ1NTX1NFTEVDVE9SU19MRVZF
TDQpICQoRU5BQkxFX0NTU19UUkFJTElOR19XT1JEKSAkKEVOQUJMRV9DVVJTT1JfVklTSUJJTElU
WSkgJChFTkFCTEVfQ1VTVE9NX1NDSEVNRV9IQU5ETEVSKSAkKEVOQUJMRV9EQVNIQk9BUkRfU1VQ
UE9SVCkgJChFTkFCTEVfREFUQV9JTlRFUkFDVElPTikgJChFTkFCTEVfREFUQUNVRV9WQUxVRSkg
JChFTkFCTEVfREFUQUxJU1RfRUxFTUVOVCkgJChFTkFCTEVfREVWSUNFX09SSUVOVEFUSU9OKSAk
KEVOQUJMRV9EUkFHX1NVUFBPUlQpICQoRU5BQkxFX0VOQ1JZUFRFRF9NRURJQSkgJChFTkFCTEVf
RVhQRVJJTUVOVEFMX0ZFQVRVUkVTKSAkKEVOQUJMRV9GQVNUX0pJVF9QRVJNSVNTSU9OUykgJChF
TkFCTEVfRklMVEVSU19MRVZFTF8yKSAkKEVOQUJMRV9GVExfSklUKSAkKEVOQUJMRV9GVUxMU0NS
RUVOX0FQSSkgJChFTkFCTEVfR0FNRVBBRCkgJChFTkFCTEVfR0VPTE9DQVRJT04pICQoRU5BQkxF
X0lDT05EQVRBQkFTRSkgJChFTkFCTEVfSU5ERVhFRF9EQVRBQkFTRSkgJChFTkFCTEVfSU5ERVhF
RF9EQVRBQkFTRV9JTl9XT1JLRVJTKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0NPTE9SKSAkKEVOQUJM
RV9JTlBVVF9UWVBFX0RBVEUpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURVRJTUVfSU5DT01QTEVU
RSkgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFVElNRUxPQ0FMKSAkKEVOQUJMRV9JTlBVVF9UWVBF
X01PTlRIKSAkKEVOQUJMRV9JTlBVVF9UWVBFX1RJTUUpICQoRU5BQkxFX0lOUFVUX1RZUEVfV0VF
SykgJChFTkFCTEVfSU5URVJTRUNUSU9OX09CU0VSVkVSKSAkKEVOQUJMRV9JTlRMKSAkKEVOQUJM
RV9JT1NfR0VTVFVSRV9FVkVOVFMpICQoRU5BQkxFX0lPU19UT1VDSF9FVkVOVFMpICQoRU5BQkxF
X0pJVCkgJChFTkFCTEVfSlNfQVNZTkNfSVRFUkFUSU9OKSAkKEVOQUJMRV9LRVlCT0FSRF9DT0RF
X0FUVFJJQlVURSkgJChFTkFCTEVfS0VZQk9BUkRfS0VZX0FUVFJJQlVURSkgJChFTkFCTEVfTEFZ
T1VUX0ZPUk1BVFRJTkdfQ09OVEVYVCkgJChFTkFCTEVfTEVHQUNZX0NTU19WRU5ET1JfUFJFRklY
RVMpICQoRU5BQkxFX0xFR0FDWV9DVVNUT01fUFJPVE9DT0xfTUFOQUdFUikgJChFTkFCTEVfTEVH
QUNZX0VOQ1JZUFRFRF9NRURJQSkgJChFTkFCTEVfTEVUVEVSUFJFU1MpICQoRU5BQkxFX01BQ19H
RVNUVVJFX0VWRU5UUykgJChFTkFCTEVfTUFDX1ZJREVPX1RPT0xCT1gpICQoRU5BQkxFX01BVEhN
TCkgJChFTkFCTEVfTUVESUFfQ0FQVFVSRSkgJChFTkFCTEVfTUVESUFfQ09OVFJPTFNfU0NSSVBU
KSAkKEVOQUJMRV9NRURJQV9TRVNTSU9OKSAkKEVOQUJMRV9NRURJQV9TT1VSQ0UpICQoRU5BQkxF
X01FRElBX1NUQVRJU1RJQ1MpICQoRU5BQkxFX01FRElBX1NUUkVBTSkgJChFTkFCTEVfTUVURVJf
RUxFTUVOVCkgJChFTkFCTEVfTUhUTUwpICQoRU5BQkxFX01PVVNFX0NVUlNPUl9TQ0FMRSkgJChF
TkFCTEVfTkFWSUdBVE9SX0NPTlRFTlRfVVRJTFMpICQoRU5BQkxFX05BVklHQVRPUl9TVEFOREFM
T05FKSAkKEVOQUJMRV9OT1RJRklDQVRJT05TKSAkKEVOQUJMRV9QQVlNRU5UX1JFUVVFU1QpICQo
RU5BQkxFX1BERktJVF9QTFVHSU4pICQoRU5BQkxFX1BPSU5URVJfTE9DSykgJChFTkFCTEVfUFVC
TElDX1NVRkZJWF9MSVNUKSAkKEVOQUJMRV9RVU9UQSkgJChFTkFCTEVfUkVNT1RFX0lOU1BFQ1RP
UikgJChFTkFCTEVfUkVTT0xVVElPTl9NRURJQV9RVUVSWSkgJChFTkFCTEVfUkVTT1VSQ0VfVVNB
R0UpICQoRU5BQkxFX1JVQkJFUl9CQU5ESU5HKSAkKEVOQUJMRV9TRVJWSUNFX0NPTlRST0xTKSAk
KEVOQUJMRV9TRVJWSUNFX1dPUktFUikgJChFTkFCTEVfU1BFRUNIX1NZTlRIRVNJUykgJChFTkFC
TEVfU1RSRUFNU19BUEkpICQoRU5BQkxFX1NVQlRMRV9DUllQVE8pICQoRU5BQkxFX1NWR19GT05U
UykgJChFTkFCTEVfVEVMRVBIT05FX05VTUJFUl9ERVRFQ1RJT04pICQoRU5BQkxFX1RFWFRfQVVU
T1NJWklORykgJChFTkFCTEVfVE9VQ0hfRVZFTlRTKSAkKEVOQUJMRV9VU0VSX01FU1NBR0VfSEFO
RExFUlMpICQoRU5BQkxFX1VTRVJTRUxFQ1RfQUxMKSAkKEVOQUJMRV9WQVJJQVRJT05fRk9OVFMp
ICQoRU5BQkxFX1ZJREVPKSAkKEVOQUJMRV9WSURFT19QUkVTRU5UQVRJT05fTU9ERSkgJChFTkFC
TEVfVklERU9fVFJBQ0spICQoRU5BQkxFX1ZJREVPX1VTRVNfRUxFTUVOVF9GVUxMU0NSRUVOKSAk
KEVOQUJMRV9XRUJfQVVESU8pICQoRU5BQkxFX1dFQl9BVVRITikgJChFTkFCTEVfV0VCX1JUQykg
JChFTkFCTEVfV0VCQVNTRU1CTFkpICQoRU5BQkxFX1dFQkFTU0VNQkxZX1NUUkVBTUlOR19BUEkp
ICQoRU5BQkxFX1dFQkdMKSAkKEVOQUJMRV9XRUJHTDIpICQoRU5BQkxFX1dFQkdQVSkgJChFTkFC
TEVfV0lSRUxFU1NfUExBWUJBQ0tfVEFSR0VUKSAkKEVOQUJMRV9YU0xUKTsKK0ZFQVRVUkVfREVG
SU5FUyA9ICQoRU5BQkxFXzNEX1RSQU5TRk9STVMpICQoRU5BQkxFX0FDQ0VMRVJBVEVEXzJEX0NB
TlZBUykgJChFTkFCTEVfQUNDRUxFUkFURURfT1ZFUkZMT1dfU0NST0xMSU5HKSAkKEVOQUJMRV9B
UFBMRV9QQVkpICQoRU5BQkxFX0FQUExFX1BBWV9TRVNTSU9OX1YzKSAkKEVOQUJMRV9BUFBMRV9Q
QVlfU0VTU0lPTl9WNCkgJChFTkFCTEVfQVBQTElDQVRJT05fTUFOSUZFU1QpICQoRU5BQkxFX0FU
VEFDSE1FTlRfRUxFTUVOVCkgJChFTkFCTEVfQVZGX0NBUFRJT05TKSAkKEVOQUJMRV9DQUNIRV9Q
QVJUSVRJT05JTkcpICQoRU5BQkxFX0NIQU5ORUxfTUVTU0FHSU5HKSAkKEVOQUJMRV9DT05URU5U
X0ZJTFRFUklORykgJChFTkFCTEVfQ1NTM19URVhUKSAkKEVOQUJMRV9DU1NfQk9YX0RFQ09SQVRJ
T05fQlJFQUspICQoRU5BQkxFX0NTU19DT01QT1NJVElORykgJChFTkFCTEVfQ1NTX0RFVklDRV9B
REFQVEFUSU9OKSAkKEVOQUJMRV9DU1NfSU1BR0VfT1JJRU5UQVRJT04pICQoRU5BQkxFX0NTU19J
TUFHRV9SRVNPTFVUSU9OKSAkKEVOQUJMRV9DU1NfU0NST0xMX1NOQVApICQoRU5BQkxFX0NTU19T
RUxFQ1RPUlNfTEVWRUw0KSAkKEVOQUJMRV9DU1NfVFJBSUxJTkdfV09SRCkgJChFTkFCTEVfQ1VS
U09SX1ZJU0lCSUxJVFkpICQoRU5BQkxFX0NVU1RPTV9TQ0hFTUVfSEFORExFUikgJChFTkFCTEVf
REFTSEJPQVJEX1NVUFBPUlQpICQoRU5BQkxFX0RBVEFfSU5URVJBQ1RJT04pICQoRU5BQkxFX0RB
VEFDVUVfVkFMVUUpICQoRU5BQkxFX0RBVEFMSVNUX0VMRU1FTlQpICQoRU5BQkxFX0RFVklDRV9P
UklFTlRBVElPTikgJChFTkFCTEVfRFJBR19TVVBQT1JUKSAkKEVOQUJMRV9FTkNSWVBURURfTUVE
SUEpICQoRU5BQkxFX0VYUEVSSU1FTlRBTF9GRUFUVVJFUykgJChFTkFCTEVfRkFTVF9KSVRfUEVS
TUlTU0lPTlMpICQoRU5BQkxFX0ZJTFRFUlNfTEVWRUxfMikgJChFTkFCTEVfRlRMX0pJVCkgJChF
TkFCTEVfRlVMTFNDUkVFTl9BUEkpICQoRU5BQkxFX0dBTUVQQUQpICQoRU5BQkxFX0dFT0xPQ0FU
SU9OKSAkKEVOQUJMRV9JQ09OREFUQUJBU0UpICQoRU5BQkxFX0lOREVYRURfREFUQUJBU0UpICQo
RU5BQkxFX0lOREVYRURfREFUQUJBU0VfSU5fV09SS0VSUykgJChFTkFCTEVfSU5QVVRfVFlQRV9D
T0xPUikgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVU
SU1FX0lOQ09NUExFVEUpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURVRJTUVMT0NBTCkgJChFTkFC
TEVfSU5QVVRfVFlQRV9NT05USCkgJChFTkFCTEVfSU5QVVRfVFlQRV9USU1FKSAkKEVOQUJMRV9J
TlBVVF9UWVBFX1dFRUspICQoRU5BQkxFX0lOVEVSU0VDVElPTl9PQlNFUlZFUikgJChFTkFCTEVf
SU5UTCkgJChFTkFCTEVfSU9TX0dFU1RVUkVfRVZFTlRTKSAkKEVOQUJMRV9JT1NfVE9VQ0hfRVZF
TlRTKSAkKEVOQUJMRV9KSVQpICQoRU5BQkxFX0pTX0FTWU5DX0lURVJBVElPTikgJChFTkFCTEVf
S0VZQk9BUkRfQ09ERV9BVFRSSUJVVEUpICQoRU5BQkxFX0tFWUJPQVJEX0tFWV9BVFRSSUJVVEUp
ICQoRU5BQkxFX0xBWU9VVF9GT1JNQVRUSU5HX0NPTlRFWFQpICQoRU5BQkxFX0xFR0FDWV9DU1Nf
VkVORE9SX1BSRUZJWEVTKSAkKEVOQUJMRV9MRUdBQ1lfQ1VTVE9NX1BST1RPQ09MX01BTkFHRVIp
ICQoRU5BQkxFX0xFR0FDWV9FTkNSWVBURURfTUVESUEpICQoRU5BQkxFX0xFVFRFUlBSRVNTKSAk
KEVOQUJMRV9NQUNfR0VTVFVSRV9FVkVOVFMpICQoRU5BQkxFX01BQ19WSURFT19UT09MQk9YKSAk
KEVOQUJMRV9NQVRITUwpICQoRU5BQkxFX01FRElBX0NBUFRVUkUpICQoRU5BQkxFX01FRElBX0NP
TlRST0xTX1NDUklQVCkgJChFTkFCTEVfTUVESUFfU0VTU0lPTikgJChFTkFCTEVfTUVESUFfU09V
UkNFKSAkKEVOQUJMRV9NRURJQV9TVEFUSVNUSUNTKSAkKEVOQUJMRV9NRURJQV9TVFJFQU0pICQo
RU5BQkxFX01FVEVSX0VMRU1FTlQpICQoRU5BQkxFX01IVE1MKSAkKEVOQUJMRV9NT1VTRV9DVVJT
T1JfU0NBTEUpICQoRU5BQkxFX05BVklHQVRPUl9DT05URU5UX1VUSUxTKSAkKEVOQUJMRV9OQVZJ
R0FUT1JfU1RBTkRBTE9ORSkgJChFTkFCTEVfTk9USUZJQ0FUSU9OUykgJChFTkFCTEVfUEFZTUVO
VF9SRVFVRVNUKSAkKEVOQUJMRV9QREZLSVRfUExVR0lOKSAkKEVOQUJMRV9QT0lOVEVSX0xPQ0sp
ICQoRU5BQkxFX1BVQkxJQ19TVUZGSVhfTElTVCkgJChFTkFCTEVfUVVPVEEpICQoRU5BQkxFX1JF
TU9URV9JTlNQRUNUT1IpICQoRU5BQkxFX1JFU09MVVRJT05fTUVESUFfUVVFUlkpICQoRU5BQkxF
X1JFU09VUkNFX1VTQUdFKSAkKEVOQUJMRV9SVUJCRVJfQkFORElORykgJChFTkFCTEVfU0VSVklD
RV9DT05UUk9MUykgJChFTkFCTEVfU0VSVklDRV9XT1JLRVIpICQoRU5BQkxFX1NQRUVDSF9TWU5U
SEVTSVMpICQoRU5BQkxFX1NUUkVBTVNfQVBJKSAkKEVOQUJMRV9TVUJUTEVfQ1JZUFRPKSAkKEVO
QUJMRV9TVkdfRk9OVFMpICQoRU5BQkxFX1RFTEVQSE9ORV9OVU1CRVJfREVURUNUSU9OKSAkKEVO
QUJMRV9URVhUX0FVVE9TSVpJTkcpICQoRU5BQkxFX1RPVUNIX0VWRU5UUykgJChFTkFCTEVfVVNF
Ul9NRVNTQUdFX0hBTkRMRVJTKSAkKEVOQUJMRV9VU0VSU0VMRUNUX0FMTCkgJChFTkFCTEVfVkFS
SUFUSU9OX0ZPTlRTKSAkKEVOQUJMRV9WSURFTykgJChFTkFCTEVfVklERU9fUFJFU0VOVEFUSU9O
X01PREUpICQoRU5BQkxFX1ZJREVPX1RSQUNLKSAkKEVOQUJMRV9WSURFT19VU0VTX0VMRU1FTlRf
RlVMTFNDUkVFTikgJChFTkFCTEVfV0VCX0FVRElPKSAkKEVOQUJMRV9XRUJfQVVUSE4pICQoRU5B
QkxFX1dFQl9SVEMpICQoRU5BQkxFX1dFQkFTU0VNQkxZKSAkKEVOQUJMRV9XRUJBU1NFTUJMWV9T
VFJFQU1JTkdfQVBJKSAkKEVOQUJMRV9XRUJHTCkgJChFTkFCTEVfV0VCR0wyKSAkKEVOQUJMRV9X
RUJNRVRBTCkgJChFTkFCTEVfV0lSRUxFU1NfUExBWUJBQ0tfVEFSR0VUKSAkKEVOQUJMRV9YU0xU
KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1NvdXJjZXMudHh0IGIvU291cmNlL1dlYkNv
cmUvU291cmNlcy50eHQKaW5kZXggMjE1OWI1ZTFhZGViZTI0MDVjNjFmNDI1Yzk1YWYzMTM0M2E5
YTNkZi4uZGM1YWRhYTRiYmM2ZWFlNmI2MjYzNTEyNWVhZmRmZWFmODkyMjM2MCAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvU291cmNlcy50eHQKKysrIGIvU291cmNlL1dlYkNvcmUvU291cmNl
cy50eHQKQEAgLTQ1NSw4ICs0NTUsOCBAQCBiaW5kaW5ncy9qcy9KU1ZpZGVvVHJhY2tMaXN0Q3Vz
dG9tLmNwcAogYmluZGluZ3MvanMvSlNXZWJBbmltYXRpb25DdXN0b20uY3BwCiBiaW5kaW5ncy9q
cy9KU1dlYkdMMlJlbmRlcmluZ0NvbnRleHRDdXN0b20uY3BwCiBiaW5kaW5ncy9qcy9KU1dlYkdM
UmVuZGVyaW5nQ29udGV4dEN1c3RvbS5jcHAKLWJpbmRpbmdzL2pzL0pTV2ViR1BVUmVuZGVyUGFz
c0F0dGFjaG1lbnREZXNjcmlwdG9yQ3VzdG9tLmNwcAotYmluZGluZ3MvanMvSlNXZWJHUFVSZW5k
ZXJpbmdDb250ZXh0Q3VzdG9tLmNwcAorYmluZGluZ3MvanMvSlNXZWJNZXRhbFJlbmRlclBhc3NB
dHRhY2htZW50RGVzY3JpcHRvckN1c3RvbS5jcHAKK2JpbmRpbmdzL2pzL0pTV2ViTWV0YWxSZW5k
ZXJpbmdDb250ZXh0Q3VzdG9tLmNwcAogYmluZGluZ3MvanMvSlNXaW5kb3dQcm94eS5jcHAKIGJp
bmRpbmdzL2pzL0pTV29ya2VyR2xvYmFsU2NvcGVCYXNlLmNwcAogYmluZGluZ3MvanMvSlNXb3Jr
ZXJHbG9iYWxTY29wZUN1c3RvbS5jcHAKQEAgLTExMTEsMjggKzExMTEsMjggQEAgaHRtbC9jYW52
YXMvSW1hZ2VCaXRtYXBSZW5kZXJpbmdDb250ZXh0LmNwcAogaHRtbC9jYW52YXMvT2Zmc2NyZWVu
Q2FudmFzUmVuZGVyaW5nQ29udGV4dDJELmNwcAogaHRtbC9jYW52YXMvUGF0aDJELmNwcAogaHRt
bC9jYW52YXMvUGxhY2Vob2xkZXJSZW5kZXJpbmdDb250ZXh0LmNwcAotaHRtbC9jYW52YXMvV2Vi
R1BVQnVmZmVyLmNwcAotaHRtbC9jYW52YXMvV2ViR1BVQ29tbWFuZEJ1ZmZlci5jcHAKLWh0bWwv
Y2FudmFzL1dlYkdQVUNvbW1hbmRRdWV1ZS5jcHAKLWh0bWwvY2FudmFzL1dlYkdQVUNvbXB1dGVD
b21tYW5kRW5jb2Rlci5jcHAKLWh0bWwvY2FudmFzL1dlYkdQVUNvbXB1dGVQaXBlbGluZVN0YXRl
LmNwcAotaHRtbC9jYW52YXMvV2ViR1BVRGVwdGhTdGVuY2lsRGVzY3JpcHRvci5jcHAKLWh0bWwv
Y2FudmFzL1dlYkdQVURlcHRoU3RlbmNpbFN0YXRlLmNwcAotaHRtbC9jYW52YXMvV2ViR1BVRHJh
d2FibGUuY3BwCi1odG1sL2NhbnZhcy9XZWJHUFVFbnVtcy5jcHAKLWh0bWwvY2FudmFzL1dlYkdQ
VUZ1bmN0aW9uLmNwcAotaHRtbC9jYW52YXMvV2ViR1BVTGlicmFyeS5jcHAKLWh0bWwvY2FudmFz
L1dlYkdQVVJlbmRlckNvbW1hbmRFbmNvZGVyLmNwcAotaHRtbC9jYW52YXMvV2ViR1BVUmVuZGVy
UGFzc0F0dGFjaG1lbnREZXNjcmlwdG9yLmNwcAotaHRtbC9jYW52YXMvV2ViR1BVUmVuZGVyUGFz
c0NvbG9yQXR0YWNobWVudERlc2NyaXB0b3IuY3BwCi1odG1sL2NhbnZhcy9XZWJHUFVSZW5kZXJQ
YXNzRGVwdGhBdHRhY2htZW50RGVzY3JpcHRvci5jcHAKLWh0bWwvY2FudmFzL1dlYkdQVVJlbmRl
clBhc3NEZXNjcmlwdG9yLmNwcAotaHRtbC9jYW52YXMvV2ViR1BVUmVuZGVyUGlwZWxpbmVDb2xv
ckF0dGFjaG1lbnREZXNjcmlwdG9yLmNwcAotaHRtbC9jYW52YXMvV2ViR1BVUmVuZGVyUGlwZWxp
bmVEZXNjcmlwdG9yLmNwcAotaHRtbC9jYW52YXMvV2ViR1BVUmVuZGVyUGlwZWxpbmVTdGF0ZS5j
cHAKLWh0bWwvY2FudmFzL1dlYkdQVVJlbmRlcmluZ0NvbnRleHQuY3BwCi1odG1sL2NhbnZhcy9X
ZWJHUFVUZXh0dXJlLmNwcAotaHRtbC9jYW52YXMvV2ViR1BVVGV4dHVyZURlc2NyaXB0b3IuY3Bw
CitodG1sL2NhbnZhcy9XZWJNZXRhbEJ1ZmZlci5jcHAKK2h0bWwvY2FudmFzL1dlYk1ldGFsQ29t
bWFuZEJ1ZmZlci5jcHAKK2h0bWwvY2FudmFzL1dlYk1ldGFsQ29tbWFuZFF1ZXVlLmNwcAoraHRt
bC9jYW52YXMvV2ViTWV0YWxDb21wdXRlQ29tbWFuZEVuY29kZXIuY3BwCitodG1sL2NhbnZhcy9X
ZWJNZXRhbENvbXB1dGVQaXBlbGluZVN0YXRlLmNwcAoraHRtbC9jYW52YXMvV2ViTWV0YWxEZXB0
aFN0ZW5jaWxEZXNjcmlwdG9yLmNwcAoraHRtbC9jYW52YXMvV2ViTWV0YWxEZXB0aFN0ZW5jaWxT
dGF0ZS5jcHAKK2h0bWwvY2FudmFzL1dlYk1ldGFsRHJhd2FibGUuY3BwCitodG1sL2NhbnZhcy9X
ZWJNZXRhbEVudW1zLmNwcAoraHRtbC9jYW52YXMvV2ViTWV0YWxGdW5jdGlvbi5jcHAKK2h0bWwv
Y2FudmFzL1dlYk1ldGFsTGlicmFyeS5jcHAKK2h0bWwvY2FudmFzL1dlYk1ldGFsUmVuZGVyQ29t
bWFuZEVuY29kZXIuY3BwCitodG1sL2NhbnZhcy9XZWJNZXRhbFJlbmRlclBhc3NBdHRhY2htZW50
RGVzY3JpcHRvci5jcHAKK2h0bWwvY2FudmFzL1dlYk1ldGFsUmVuZGVyUGFzc0NvbG9yQXR0YWNo
bWVudERlc2NyaXB0b3IuY3BwCitodG1sL2NhbnZhcy9XZWJNZXRhbFJlbmRlclBhc3NEZXB0aEF0
dGFjaG1lbnREZXNjcmlwdG9yLmNwcAoraHRtbC9jYW52YXMvV2ViTWV0YWxSZW5kZXJQYXNzRGVz
Y3JpcHRvci5jcHAKK2h0bWwvY2FudmFzL1dlYk1ldGFsUmVuZGVyUGlwZWxpbmVDb2xvckF0dGFj
aG1lbnREZXNjcmlwdG9yLmNwcAoraHRtbC9jYW52YXMvV2ViTWV0YWxSZW5kZXJQaXBlbGluZURl
c2NyaXB0b3IuY3BwCitodG1sL2NhbnZhcy9XZWJNZXRhbFJlbmRlclBpcGVsaW5lU3RhdGUuY3Bw
CitodG1sL2NhbnZhcy9XZWJNZXRhbFJlbmRlcmluZ0NvbnRleHQuY3BwCitodG1sL2NhbnZhcy9X
ZWJNZXRhbFRleHR1cmUuY3BwCitodG1sL2NhbnZhcy9XZWJNZXRhbFRleHR1cmVEZXNjcmlwdG9y
LmNwcAogCiBodG1sL2Zvcm1zL0ZpbGVJY29uTG9hZGVyLmNwcAogCkBAIC0zMTQzLDI4ICszMTQz
LDI4IEBAIEpTVmlzdWFsVmlld3BvcnQuY3BwCiBKU1ZvaWRDYWxsYmFjay5jcHAKIEpTV2F2ZVNo
YXBlck5vZGUuY3BwCiBKU1dlYkFuaW1hdGlvbi5jcHAKLUpTV2ViR1BVQnVmZmVyLmNwcAotSlNX
ZWJHUFVDb21tYW5kQnVmZmVyLmNwcAotSlNXZWJHUFVDb21tYW5kUXVldWUuY3BwCi1KU1dlYkdQ
VUNvbXB1dGVDb21tYW5kRW5jb2Rlci5jcHAKLUpTV2ViR1BVQ29tcHV0ZVBpcGVsaW5lU3RhdGUu
Y3BwCi1KU1dlYkdQVURlcHRoU3RlbmNpbERlc2NyaXB0b3IuY3BwCi1KU1dlYkdQVURlcHRoU3Rl
bmNpbFN0YXRlLmNwcAotSlNXZWJHUFVEcmF3YWJsZS5jcHAKLUpTV2ViR1BVRnVuY3Rpb24uY3Bw
Ci1KU1dlYkdQVUxpYnJhcnkuY3BwCi1KU1dlYkdQVVJlbmRlckNvbW1hbmRFbmNvZGVyLmNwcAot
SlNXZWJHUFVSZW5kZXJQYXNzQXR0YWNobWVudERlc2NyaXB0b3IuY3BwCi1KU1dlYkdQVVJlbmRl
clBhc3NDb2xvckF0dGFjaG1lbnREZXNjcmlwdG9yLmNwcAotSlNXZWJHUFVSZW5kZXJQYXNzRGVw
dGhBdHRhY2htZW50RGVzY3JpcHRvci5jcHAKLUpTV2ViR1BVUmVuZGVyUGFzc0Rlc2NyaXB0b3Iu
Y3BwCi1KU1dlYkdQVVJlbmRlclBpcGVsaW5lQ29sb3JBdHRhY2htZW50RGVzY3JpcHRvci5jcHAK
LUpTV2ViR1BVUmVuZGVyUGlwZWxpbmVEZXNjcmlwdG9yLmNwcAotSlNXZWJHUFVSZW5kZXJQaXBl
bGluZVN0YXRlLmNwcAotSlNXZWJHUFVSZW5kZXJpbmdDb250ZXh0LmNwcAotSlNXZWJHUFVTaXpl
LmNwcAotSlNXZWJHUFVUZXh0dXJlLmNwcAotSlNXZWJHUFVUZXh0dXJlRGVzY3JpcHRvci5jcHAK
K0pTV2ViTWV0YWxCdWZmZXIuY3BwCitKU1dlYk1ldGFsQ29tbWFuZEJ1ZmZlci5jcHAKK0pTV2Vi
TWV0YWxDb21tYW5kUXVldWUuY3BwCitKU1dlYk1ldGFsQ29tcHV0ZUNvbW1hbmRFbmNvZGVyLmNw
cAorSlNXZWJNZXRhbENvbXB1dGVQaXBlbGluZVN0YXRlLmNwcAorSlNXZWJNZXRhbERlcHRoU3Rl
bmNpbERlc2NyaXB0b3IuY3BwCitKU1dlYk1ldGFsRGVwdGhTdGVuY2lsU3RhdGUuY3BwCitKU1dl
Yk1ldGFsRHJhd2FibGUuY3BwCitKU1dlYk1ldGFsRnVuY3Rpb24uY3BwCitKU1dlYk1ldGFsTGli
cmFyeS5jcHAKK0pTV2ViTWV0YWxSZW5kZXJDb21tYW5kRW5jb2Rlci5jcHAKK0pTV2ViTWV0YWxS
ZW5kZXJQYXNzQXR0YWNobWVudERlc2NyaXB0b3IuY3BwCitKU1dlYk1ldGFsUmVuZGVyUGFzc0Nv
bG9yQXR0YWNobWVudERlc2NyaXB0b3IuY3BwCitKU1dlYk1ldGFsUmVuZGVyUGFzc0RlcHRoQXR0
YWNobWVudERlc2NyaXB0b3IuY3BwCitKU1dlYk1ldGFsUmVuZGVyUGFzc0Rlc2NyaXB0b3IuY3Bw
CitKU1dlYk1ldGFsUmVuZGVyUGlwZWxpbmVDb2xvckF0dGFjaG1lbnREZXNjcmlwdG9yLmNwcAor
SlNXZWJNZXRhbFJlbmRlclBpcGVsaW5lRGVzY3JpcHRvci5jcHAKK0pTV2ViTWV0YWxSZW5kZXJQ
aXBlbGluZVN0YXRlLmNwcAorSlNXZWJNZXRhbFJlbmRlcmluZ0NvbnRleHQuY3BwCitKU1dlYk1l
dGFsU2l6ZS5jcHAKK0pTV2ViTWV0YWxUZXh0dXJlLmNwcAorSlNXZWJNZXRhbFRleHR1cmVEZXNj
cmlwdG9yLmNwcAogSlNXZWJLaXRBbmltYXRpb25FdmVudC5jcHAKIEpTV2ViS2l0Q1NTTWF0cml4
LmNwcAogSlNXZWJLaXRDU1NWaWV3cG9ydFJ1bGUuY3BwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9Tb3VyY2VzQ29jb2EudHh0IGIvU291cmNlL1dlYkNvcmUvU291cmNlc0NvY29hLnR4dApp
bmRleCA1ODEzNmE5MzhjNGU4ODkwMmFkNTRhZmYxZDExNTI4ZmZhYzYxM2E4Li5jYWE5ZjllYjYx
YzdhMzEzMGFmZjQyZDM2YjdlNDBkOTRhZDEwYmU3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9Tb3VyY2VzQ29jb2EudHh0CisrKyBiL1NvdXJjZS9XZWJDb3JlL1NvdXJjZXNDb2NvYS50eHQK
QEAgLTMxMCw3ICszMTAsNyBAQCBwbGF0Zm9ybS9ncmFwaGljcy9jb2NvYS9XZWJBY3Rpb25EaXNh
YmxpbmdDQUxheWVyRGVsZWdhdGUubW0KIHBsYXRmb3JtL2dyYXBoaWNzL2NvY29hL1dlYkNvcmVD
QUxheWVyRXh0cmFzLm1tCiBwbGF0Zm9ybS9ncmFwaGljcy9jb2NvYS9XZWJDb3JlRGVjb21wcmVz
c2lvblNlc3Npb24ubW0KIHBsYXRmb3JtL2dyYXBoaWNzL2NvY29hL1dlYkdMTGF5ZXIubW0KLXBs
YXRmb3JtL2dyYXBoaWNzL2NvY29hL1dlYkdQVUxheWVyLm1tCitwbGF0Zm9ybS9ncmFwaGljcy9j
b2NvYS9XZWJNZXRhbExheWVyLm1tCiBwbGF0Zm9ybS9ncmFwaGljcy9jb2NvYS9UZXh0VHJhY2tS
ZXByZXNlbnRhdGlvbkNvY29hLm1tCiAKIHBsYXRmb3JtL2dyYXBoaWNzL2N2L1BpeGVsQnVmZmVy
Q29uZm9ybWVyQ1YuY3BwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2Rl
cHJvai9wcm9qZWN0LnBieHByb2ogYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9w
cm9qZWN0LnBieHByb2oKaW5kZXggYTVmMzI2ZTcxZDUzYzUzMDZkYzhhYzdiZjdkN2IxMGVjYzcz
NDlkMC4uZWJiZDI1ZGU1ZGRiOWIxYjI1ZjIxNmVmYThjOGM0YzFkMTk5NGE3YyAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCisrKyBi
L1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpAQCAtOTA4
LDcgKzkwOCw3IEBACiAJCTMxNEJFM0ExMUIzMEY2QjcwMDE0MTk4MiAvKiBDU1NOYW1lZEltYWdl
VmFsdWUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDMx
NEJFM0EwMUIzMEY2QjcwMDE0MTk4MiAvKiBDU1NOYW1lZEltYWdlVmFsdWUuaCAqLzsgc2V0dGlu
Z3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQkzMTRCRTNBNzFCMzEwM0ZC
MDAxNDE5ODIgLyogTmFtZWRJbWFnZUdlbmVyYXRlZEltYWdlLmggaW4gSGVhZGVycyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAzMTRCRTNBNTFCMzEwM0ZCMDAxNDE5ODIgLyog
TmFtZWRJbWFnZUdlbmVyYXRlZEltYWdlLmggKi87IH07CiAJCTMxNkJEQjg2MUU2RTBBMjcwMERF
MEQ1QSAvKiBHUFVEZXZpY2UuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IDMxNkJEQjg1MUU2RTBBMjEwMERFMEQ1QSAvKiBHUFVEZXZpY2UuaCAqLzsgc2V0
dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwotCQkzMTZCREI4QzFFNkUx
NTMwMDBERTBENUEgLyogV2ViR1BVTGF5ZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IDMxNkJEQjhBMUU2RTE1MzAwMERFMEQ1QSAvKiBXZWJHUFVMYXll
ci5oICovOyB9OworCQkzMTZCREI4QzFFNkUxNTMwMDBERTBENUEgLyogV2ViTWV0YWxMYXllci5o
IGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMzE2QkRCOEEx
RTZFMTUzMDAwREUwRDVBIC8qIFdlYk1ldGFsTGF5ZXIuaCAqLzsgfTsKIAkJMzE2QkRCOTUxRTcw
Qzg5NzAwREUwRDVBIC8qIEdQVUZ1bmN0aW9uLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSAzMTZCREI5MzFFNzBDODk3MDBERTBENUEgLyogR1BVRnVuY3Rp
b24uaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQkz
MTZCREI5QjFFNzBDQkJGMDBERTBENUEgLyogR1BVTGlicmFyeS5oIGluIEhlYWRlcnMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMzE2QkRCOTkxRTcwQ0JCRjAwREUwRDVBIC8q
IEdQVUxpYnJhcnkuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9
OyB9OwogCQkzMTZCREJBQTFFNzFGQTkzMDBERTBENUEgLyogR1BVQnVmZmVyLmggaW4gSGVhZGVy
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAzMTZCREJBODFFNzFGQTkzMDBE
RTBENUEgLyogR1BVQnVmZmVyLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0
ZSwgKTsgfTsgfTsKQEAgLTY4MjksOCArNjgyOSw3IEBACiAJCTMxNkJEQjg0MUU2RTBBMjEwMERF
MEQ1QSAvKiBHUFVEZXZpY2UuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRo
ID0gR1BVRGV2aWNlLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMzE2QkRCODUx
RTZFMEEyMTAwREUwRDVBIC8qIEdQVURldmljZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7
IHBhdGggPSBHUFVEZXZpY2UuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMzE2QkRC
ODgxRTZFMTQxQzAwREUwRDVBIC8qIEdQVURldmljZU1ldGFsLm1tICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jcHAub2JqY3BwOyBwYXRoID0gR1BVRGV2aWNlTWV0YWwubW07IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07Ci0JCTMxNkJEQjg5MUU2RTE1MzAwMERFMEQ1QSAvKiBXZWJHUFVMYXllci5t
bSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IFdlYkdQVUxheWVyLm1t
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwotCQkzMTZCREI4QTFFNkUxNTMwMDBERTBENUEg
LyogV2ViR1BVTGF5ZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gV2ViR1BV
TGF5ZXIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMzE2QkRCOEExRTZFMTUzMDAw
REUwRDVBIC8qIFdlYk1ldGFsTGF5ZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRo
ID0gV2ViTWV0YWxMYXllci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkzMTZCREI5
MjFFNzBDODk3MDBERTBENUEgLyogR1BVRnVuY3Rpb24uY3BwICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jcHAuY3BwOyBwYXRoID0gR1BVRnVuY3Rpb24uY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OwogCQkzMTZCREI5MzFFNzBDODk3MDBERTBENUEgLyogR1BVRnVuY3Rpb24uaCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gR1BVRnVuY3Rpb24uaDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKIAkJMzE2QkRCOTYxRTcwQ0EyNDAwREUwRDVBIC8qIEdQVUZ1bmN0aW9uTWV0
YWwubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGggPSBHUFVGdW5jdGlv
bk1ldGFsLm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtMTM1OTQsNyArMTM1OTMs
NzIgQEAKIAkJRDAwMEVEMjYxMUMxQjlDRDAwQzQ3NzI2IC8qIFN1YmZyYW1lTG9hZGVyLmggKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFN1YmZyYW1lTG9hZGVyLmg7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CiAJCUQwMUEyN0FCMTBDOUJGRDgwMDAyNkE0MiAvKiBTcGFjZVNw
bGl0U3RyaW5nLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFNwYWNl
U3BsaXRTdHJpbmcuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlEMDFBMjdBQzEw
QzlCRkQ4MDAwMjZBNDIgLyogU3BhY2VTcGxpdFN0cmluZy5oICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jLmg7IHBhdGggPSBTcGFjZVNwbGl0U3RyaW5nLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CisJCUQwMkY4NTRFMjE2ODJBNEEwMDg4RUU3NCAvKiBXZWJNZXRhbENvbW1hbmRRdWV1ZS5p
ZGwgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0
OyBwYXRoID0gV2ViTWV0YWxDb21tYW5kUXVldWUuaWRsOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OworCQlEMDJGODU1MDIxNjgyQTU2MDA4OEVFNzQgLyogV2ViTWV0YWxDb21wdXRlQ29tbWFu
ZEVuY29kZXIuaWRsICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9IFdlYk1ldGFsQ29tcHV0ZUNvbW1h
bmRFbmNvZGVyLmlkbDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJRDAyRjg1NTEyMTY4
MkE1NjAwODhFRTc0IC8qIFdlYk1ldGFsQ29tcHV0ZVBpcGVsaW5lU3RhdGUuaCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gV2ViTWV0YWxDb21wdXRlUGlwZWxpbmVTdGF0ZS5oOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlEMDJGODU1MjIxNjgyQTkxMDA4OEVFNzQgLyog
V2ViTWV0YWxSZW5kZXJQaXBlbGluZVN0YXRlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFdlYk1ldGFsUmVu
ZGVyUGlwZWxpbmVTdGF0ZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlEMDJGODU1
MzIxNjgyQTkxMDA4OEVFNzQgLyogV2ViTWV0YWxSZW5kZXJQYXNzRGVzY3JpcHRvci5jcHAgKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmNwcC5jcHA7IHBhdGggPSBXZWJNZXRhbFJlbmRlclBhc3NEZXNjcmlwdG9yLmNwcDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJRDAyRjg1NTQyMTY4MkE5MTAwODhFRTc0IC8qIFdlYk1l
dGFsUmVuZGVyaW5nQ29udGV4dC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBXZWJNZXRhbFJlbmRlcmluZ0Nv
bnRleHQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJRDAyRjg1NTUyMTY4MkE5MjAw
ODhFRTc0IC8qIFdlYk1ldGFsRGVwdGhTdGVuY2lsRGVzY3JpcHRvci5oICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGgg
PSBXZWJNZXRhbERlcHRoU3RlbmNpbERlc2NyaXB0b3IuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKKwkJRDAyRjg1NTYyMTY4MkE5MjAwODhFRTc0IC8qIFdlYk1ldGFsU2l6ZS5pZGwgKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBwYXRo
ID0gV2ViTWV0YWxTaXplLmlkbDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJRDAyRjg1
NTcyMTY4MkE5MzAwODhFRTc0IC8qIFdlYk1ldGFsUmVuZGVyUGFzc0F0dGFjaG1lbnREZXNjcmlw
dG9yLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFdlYk1ldGFsUmVuZGVyUGFzc0F0dGFjaG1lbnREZXNjcmlw
dG9yLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUQwMkY4NTU4MjE2ODJBOTMwMDg4
RUU3NCAvKiBXZWJNZXRhbFRleHR1cmUuaWRsICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9IFdlYk1ldGFsVGV4dHVyZS5pZGw7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUQwMkY4NTU5MjE2ODJBOTQwMDg4RUU3NCAvKiBX
ZWJNZXRhbFJlbmRlclBhc3NDb2xvckF0dGFjaG1lbnREZXNjcmlwdG9yLmNwcCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNw
cDsgcGF0aCA9IFdlYk1ldGFsUmVuZGVyUGFzc0NvbG9yQXR0YWNobWVudERlc2NyaXB0b3IuY3Bw
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlEMDJGODU1QTIxNjgyQTk0MDA4OEVFNzQg
LyogV2ViTWV0YWxSZW5kZXJpbmdDb250ZXh0LmlkbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IHBhdGggPSBXZWJNZXRhbFJlbmRlcmluZ0Nv
bnRleHQuaWRsOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlEMDJGODU1QjIxNjgyQTk0
MDA4OEVFNzQgLyogV2ViTWV0YWxDb21wdXRlUGlwZWxpbmVTdGF0ZS5jcHAgKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7
IHBhdGggPSBXZWJNZXRhbENvbXB1dGVQaXBlbGluZVN0YXRlLmNwcDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKKwkJRDAyRjg1NUMyMTY4MkE5NTAwODhFRTc0IC8qIFdlYk1ldGFsVGV4dHVy
ZURlc2NyaXB0b3IuaWRsICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZp
bGVUeXBlID0gdGV4dDsgcGF0aCA9IFdlYk1ldGFsVGV4dHVyZURlc2NyaXB0b3IuaWRsOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OworCQlEMDJGODU1RDIxNjgyQTk1MDA4OEVFNzQgLyogV2Vi
TWV0YWxSZW5kZXJQYXNzQ29sb3JBdHRhY2htZW50RGVzY3JpcHRvci5oICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGgg
PSBXZWJNZXRhbFJlbmRlclBhc3NDb2xvckF0dGFjaG1lbnREZXNjcmlwdG9yLmg7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CisJCUQwMkY4NTVFMjE2ODJBOTYwMDg4RUU3NCAvKiBXZWJNZXRh
bFJlbmRlclBpcGVsaW5lRGVzY3JpcHRvci5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBXZWJNZXRh
bFJlbmRlclBpcGVsaW5lRGVzY3JpcHRvci5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CisJCUQwMkY4NTVGMjE2ODJBOTYwMDg4RUU3NCAvKiBXZWJNZXRhbFJlbmRlclBpcGVsaW5lU3Rh
dGUuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gV2ViTWV0YWxSZW5kZXJQaXBlbGluZVN0YXRlLmNw
cDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJRDAyRjg1NjAyMTY4MkE5NzAwODhFRTc0
IC8qIFdlYk1ldGFsUmVuZGVyUGFzc0NvbG9yQXR0YWNobWVudERlc2NyaXB0b3IuaWRsICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9
IFdlYk1ldGFsUmVuZGVyUGFzc0NvbG9yQXR0YWNobWVudERlc2NyaXB0b3IuaWRsOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OworCQlEMDJGODU2MTIxNjgyQTk3MDA4OEVFNzQgLyogV2ViTWV0
YWxSZW5kZXJQYXNzQXR0YWNobWVudERlc2NyaXB0b3IuaWRsICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9IFdlYk1ldGFsUmVuZGVy
UGFzc0F0dGFjaG1lbnREZXNjcmlwdG9yLmlkbDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
KwkJRDAyRjg1NjIyMTY4MkE5ODAwODhFRTc0IC8qIFdlYk1ldGFsUmVuZGVyQ29tbWFuZEVuY29k
ZXIuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gV2ViTWV0YWxSZW5kZXJDb21tYW5kRW5jb2Rlci5j
cHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUQwMkY4NTYzMjE2ODJBOTgwMDg4RUU3
NCAvKiBXZWJNZXRhbFJlbmRlckNvbW1hbmRFbmNvZGVyLmggKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFdlYk1l
dGFsUmVuZGVyQ29tbWFuZEVuY29kZXIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJ
RDAyRjg1NjQyMTY4MkE5ODAwODhFRTc0IC8qIFdlYk1ldGFsRGVwdGhTdGVuY2lsU3RhdGUuaCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuYy5oOyBwYXRoID0gV2ViTWV0YWxEZXB0aFN0ZW5jaWxTdGF0ZS5oOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OworCQlEMDJGODU2NTIxNjgyQTk5MDA4OEVFNzQgLyogV2ViTWV0YWxEZXB0
aFN0ZW5jaWxTdGF0ZS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBXZWJNZXRhbERlcHRoU3RlbmNp
bFN0YXRlLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJRDAyRjg1NjYyMTY4MkE5
OTAwODhFRTc0IC8qIFdlYk1ldGFsUmVuZGVyUGlwZWxpbmVDb2xvckF0dGFjaG1lbnREZXNjcmlw
dG9yLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFdlYk1ldGFsUmVuZGVyUGlwZWxpbmVDb2xvckF0
dGFjaG1lbnREZXNjcmlwdG9yLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJRDAy
Rjg1NjcyMTY4MkE5QTAwODhFRTc0IC8qIFdlYk1ldGFsUmVuZGVyUGlwZWxpbmVTdGF0ZS5pZGwg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBw
YXRoID0gV2ViTWV0YWxSZW5kZXJQaXBlbGluZVN0YXRlLmlkbDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKKwkJRDAyRjg1NjgyMTY4MkE5QTAwODhFRTc0IC8qIFdlYk1ldGFsUmVuZGVyUGFz
c0RlcHRoQXR0YWNobWVudERlc2NyaXB0b3IuaWRsICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9IFdlYk1ldGFsUmVuZGVyUGFzc0Rl
cHRoQXR0YWNobWVudERlc2NyaXB0b3IuaWRsOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owor
CQlEMDJGODU2OTIxNjgyQTlCMDA4OEVFNzQgLyogV2ViTWV0YWxSZW5kZXJQYXNzRGVwdGhBdHRh
Y2htZW50RGVzY3JpcHRvci5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBXZWJNZXRhbFJlbmRlclBh
c3NEZXB0aEF0dGFjaG1lbnREZXNjcmlwdG9yLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKKwkJRDAyRjg1NkEyMTY4MkE5QjAwODhFRTc0IC8qIFdlYk1ldGFsVGV4dHVyZURlc2NyaXB0
b3IuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuYy5oOyBwYXRoID0gV2ViTWV0YWxUZXh0dXJlRGVzY3JpcHRvci5oOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OworCQlEMDJGODU2QjIxNjgyQTlDMDA4OEVFNzQgLyogV2ViTWV0
YWxSZW5kZXJQYXNzRGVzY3JpcHRvci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBXZWJNZXRhbFJlbmRlclBh
c3NEZXNjcmlwdG9yLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUQwMkY4NTZDMjE2
ODJBOUMwMDg4RUU3NCAvKiBXZWJNZXRhbExpYnJhcnkuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gV2ViTWV0
YWxMaWJyYXJ5Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUQwMkY4NTZEMjE2ODJB
OUMwMDg4RUU3NCAvKiBXZWJNZXRhbFNpemUuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gV2ViTWV0YWxTaXpl
Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUQwMkY4NTZFMjE2ODJBOUQwMDg4RUU3
NCAvKiBXZWJNZXRhbFRleHR1cmVEZXNjcmlwdG9yLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFdl
Yk1ldGFsVGV4dHVyZURlc2NyaXB0b3IuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owor
CQlEMDJGODU2RjIxNjgyQTlEMDA4OEVFNzQgLyogV2ViTWV0YWxEcmF3YWJsZS5pZGwgKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBwYXRoID0g
V2ViTWV0YWxEcmF3YWJsZS5pZGw7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUQwMkY4
NTcwMjE2ODJBOUUwMDg4RUU3NCAvKiBXZWJNZXRhbEVudW1zLmNwcCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0
aCA9IFdlYk1ldGFsRW51bXMuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlEMDJG
ODU3MTIxNjgyQTlFMDA4OEVFNzQgLyogV2ViTWV0YWxSZW5kZXJQYXNzQXR0YWNobWVudERlc2Ny
aXB0b3IuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gV2ViTWV0YWxSZW5kZXJQYXNzQXR0YWNobWVu
dERlc2NyaXB0b3IuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlEMDJGODU3MjIx
NjgyQTlFMDA4OEVFNzQgLyogV2ViTWV0YWxMaWJyYXJ5LmlkbCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IHBhdGggPSBXZWJNZXRhbExpYnJh
cnkuaWRsOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlEMDJGODU3MzIxNjgyQTlGMDA4
OEVFNzQgLyogV2ViTWV0YWxUZXh0dXJlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFdlYk1ldGFsVGV4dHVy
ZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlEMDJGODU3NDIxNjgyQTlGMDA4OEVF
NzQgLyogV2ViTWV0YWxFbnVtcy5pZGwgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFz
dEtub3duRmlsZVR5cGUgPSB0ZXh0OyBwYXRoID0gV2ViTWV0YWxFbnVtcy5pZGw7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CisJCUQwMkY4NTc1MjE2ODJBQTAwMDg4RUU3NCAvKiBXZWJNZXRh
bEVudW1zLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFdlYk1ldGFsRW51bXMuaDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKKwkJRDAyRjg1NzYyMTY4MkFBMDAwODhFRTc0IC8qIFdlYk1ldGFsRHJhd2Fi
bGUuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuYy5oOyBwYXRoID0gV2ViTWV0YWxEcmF3YWJsZS5oOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OworCQlEMDJGODU3NzIxNjgyQUExMDA4OEVFNzQgLyogV2ViTWV0YWxEZXB0aFN0
ZW5jaWxTdGF0ZS5pZGwgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmls
ZVR5cGUgPSB0ZXh0OyBwYXRoID0gV2ViTWV0YWxEZXB0aFN0ZW5jaWxTdGF0ZS5pZGw7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUQwMkY4NTc4MjE2ODJBQTEwMDg4RUU3NCAvKiBXZWJN
ZXRhbERlcHRoU3RlbmNpbERlc2NyaXB0b3IuaWRsICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9IFdlYk1ldGFsRGVwdGhTdGVuY2ls
RGVzY3JpcHRvci5pZGw7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUQwMkY4NTc5MjE2
ODJBQTIwMDg4RUU3NCAvKiBXZWJNZXRhbEZ1bmN0aW9uLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9
IFdlYk1ldGFsRnVuY3Rpb24uY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlEMDJG
ODU3QTIxNjgyQUEyMDA4OEVFNzQgLyogV2ViTWV0YWxGdW5jdGlvbi5oICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGgg
PSBXZWJNZXRhbEZ1bmN0aW9uLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUQwMkY4
NTdCMjE2ODJBQTIwMDg4RUU3NCAvKiBXZWJNZXRhbExpYnJhcnkuY3BwICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBw
YXRoID0gV2ViTWV0YWxMaWJyYXJ5LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJ
RDAyRjg1N0MyMTY4MkFBMzAwODhFRTc0IC8qIFdlYk1ldGFsUmVuZGVyUGlwZWxpbmVEZXNjcmlw
dG9yLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFdlYk1ldGFsUmVuZGVyUGlwZWxpbmVEZXNjcmlwdG9yLmg7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUQwMkY4NTdEMjE2ODJBQTMwMDg4RUU3NCAv
KiBXZWJNZXRhbFJlbmRlclBhc3NEZXB0aEF0dGFjaG1lbnREZXNjcmlwdG9yLmggKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsg
cGF0aCA9IFdlYk1ldGFsUmVuZGVyUGFzc0RlcHRoQXR0YWNobWVudERlc2NyaXB0b3IuaDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJRDAyRjg1N0UyMTY4MkFBNDAwODhFRTc0IC8qIFdl
Yk1ldGFsUmVuZGVyUGFzc0Rlc2NyaXB0b3IuaWRsICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9IFdlYk1ldGFsUmVuZGVyUGFzc0Rl
c2NyaXB0b3IuaWRsOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlEMDJGODU3RjIxNjgy
QUE0MDA4OEVFNzQgLyogV2ViTWV0YWxEcmF3YWJsZS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBX
ZWJNZXRhbERyYXdhYmxlLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJRDAyRjg1
ODAyMTY4MkFBNDAwODhFRTc0IC8qIFdlYk1ldGFsUmVuZGVyUGlwZWxpbmVEZXNjcmlwdG9yLmlk
bCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7
IHBhdGggPSBXZWJNZXRhbFJlbmRlclBpcGVsaW5lRGVzY3JpcHRvci5pZGw7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CisJCUQwMkY4NTgxMjE2ODJBQTUwMDg4RUU3NCAvKiBXZWJNZXRhbFJl
bmRlckNvbW1hbmRFbmNvZGVyLmlkbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0
S25vd25GaWxlVHlwZSA9IHRleHQ7IHBhdGggPSBXZWJNZXRhbFJlbmRlckNvbW1hbmRFbmNvZGVy
LmlkbDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJRDAyRjg1ODIyMTY4MkFBNTAwODhF
RTc0IC8qIFdlYk1ldGFsVGV4dHVyZS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBXZWJNZXRhbFRl
eHR1cmUuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlEMDJGODU4MzIxNjgyQUE2
MDA4OEVFNzQgLyogV2ViTWV0YWxDb21wdXRlUGlwZWxpbmVTdGF0ZS5pZGwgKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBwYXRoID0gV2ViTWV0
YWxDb21wdXRlUGlwZWxpbmVTdGF0ZS5pZGw7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJ
CUQwMkY4NTg0MjE2ODJBQTYwMDg4RUU3NCAvKiBXZWJNZXRhbERlcHRoU3RlbmNpbERlc2NyaXB0
b3IuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gV2ViTWV0YWxEZXB0aFN0ZW5jaWxEZXNjcmlwdG9y
LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJRDAyRjg1ODUyMTY4MkFBNzAwODhF
RTc0IC8qIFdlYk1ldGFsUmVuZGVyUGlwZWxpbmVDb2xvckF0dGFjaG1lbnREZXNjcmlwdG9yLmgg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmMuaDsgcGF0aCA9IFdlYk1ldGFsUmVuZGVyUGlwZWxpbmVDb2xvckF0dGFjaG1lbnREZXNj
cmlwdG9yLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUQwMkY4NTg2MjE2ODJBQTcw
MDg4RUU3NCAvKiBXZWJNZXRhbFJlbmRlclBpcGVsaW5lQ29sb3JBdHRhY2htZW50RGVzY3JpcHRv
ci5pZGwgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSB0
ZXh0OyBwYXRoID0gV2ViTWV0YWxSZW5kZXJQaXBlbGluZUNvbG9yQXR0YWNobWVudERlc2NyaXB0
b3IuaWRsOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlEMDJGODU4NzIxNjgyQUE3MDA4
OEVFNzQgLyogV2ViTWV0YWxSZW5kZXJpbmdDb250ZXh0LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9
IFdlYk1ldGFsUmVuZGVyaW5nQ29udGV4dC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CisJCUQwMkY4NTg4MjE2ODJBQTgwMDg4RUU3NCAvKiBXZWJNZXRhbEZ1bmN0aW9uLmlkbCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IHBhdGgg
PSBXZWJNZXRhbEZ1bmN0aW9uLmlkbDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRDAz
NkREOEQyMDhGRkMwQzAwRjlGNEIyIC8qIFdlYkdMQ29tcHJlc3NlZFRleHR1cmVBU1RDLmlkbCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IHBh
dGggPSBXZWJHTENvbXByZXNzZWRUZXh0dXJlQVNUQy5pZGw7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CisJCUQwNDVBRDFEMjE2ODIzMEIwMDBBNkU5QiAvKiBXZWJNZXRhbExheWVyLm1tICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0gV2ViTWV0YWxMYXllci5tbTsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJRDA0NUFEMUUyMTY4MjQ0OTAwMEE2RTlCIC8q
IEpTV2ViTWV0YWxSZW5kZXJQYXNzQXR0YWNobWVudERlc2NyaXB0b3JDdXN0b20uY3BwICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
cHAuY3BwOyBwYXRoID0gSlNXZWJNZXRhbFJlbmRlclBhc3NBdHRhY2htZW50RGVzY3JpcHRvckN1
c3RvbS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUQwNDVBRDFGMjE2ODI0NDkw
MDBBNkU5QiAvKiBKU1dlYk1ldGFsUmVuZGVyaW5nQ29udGV4dEN1c3RvbS5jcHAgKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5j
cHA7IHBhdGggPSBKU1dlYk1ldGFsUmVuZGVyaW5nQ29udGV4dEN1c3RvbS5jcHA7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CisJCUQwNDVBRDIwMjE2ODI0NzQwMDBBNkU5QiAvKiBXZWJNZXRh
bENvbXB1dGVDb21tYW5kRW5jb2Rlci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBXZWJNZXRhbENvbXB1dGVD
b21tYW5kRW5jb2Rlci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlEMDQ1QUQyMTIx
NjgyNDc0MDAwQTZFOUIgLyogV2ViTWV0YWxCdWZmZXIuY3BwICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0g
V2ViTWV0YWxCdWZmZXIuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlEMDQ1QUQy
MjIxNjgyNDc0MDAwQTZFOUIgLyogV2ViTWV0YWxDb21tYW5kQnVmZmVyLmggKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0
aCA9IFdlYk1ldGFsQ29tbWFuZEJ1ZmZlci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owor
CQlEMDQ1QUQyMzIxNjgyNDc1MDAwQTZFOUIgLyogV2ViTWV0YWxDb21tYW5kUXVldWUuY3BwICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jcHAuY3BwOyBwYXRoID0gV2ViTWV0YWxDb21tYW5kUXVldWUuY3BwOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OwogCQlEMDVDRUQyNzBBNDBCQjJDMDBDNUFGMzggLyogRm9ybWF0QmxvY2tD
b21tYW5kLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSAz
MDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBGb3JtYXRC
bG9ja0NvbW1hbmQuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlEMDVDRUQyODBB
NDBCQjJDMDBDNUFGMzggLyogRm9ybWF0QmxvY2tDb21tYW5kLmggKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gMzA7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jLmg7IHBhdGggPSBGb3JtYXRCbG9ja0NvbW1hbmQuaDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKIAkJRDA2QzBEOEQwQ0ZEMTE0NjAwNjVGNDNGIC8qIFJlbW92ZUZvcm1hdENvbW1h
bmQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gUmVtb3ZlRm9ybWF0Q29tbWFu
ZC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtMTM2MTMsNiArMTM2NzcsMTIgQEAK
IAkJRDBCQzU0NDgxNDQzQUM0QTAwRTEwNURBIC8qIENhY2hlZFN0eWxlU2hlZXRDbGllbnQuaCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gQ2FjaGVkU3R5bGVTaGVldENsaWVudC5o
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlEMEJENEY1QTE0MDg4NTBGMDA2ODM5QjYg
LyogRGljdGF0aW9uQ29tbWFuZElPUy5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7
IHBhdGggPSBEaWN0YXRpb25Db21tYW5kSU9TLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKIAkJRDBCRDRGNUIxNDA4ODUwRjAwNjgzOUI2IC8qIERpY3RhdGlvbkNvbW1hbmRJT1MuaCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gRGljdGF0aW9uQ29tbWFuZElPUy5oOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlEMENBQUU5ODIxNjgyNEE2MDAxQzkxQzcgLyog
V2ViTWV0YWxCdWZmZXIuaWRsICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93
bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9IFdlYk1ldGFsQnVmZmVyLmlkbDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKKwkJRDBDQUFFOUEyMTY4MjRBNjAwMUM5MUM3IC8qIFdlYk1ldGFsQ29t
bWFuZEJ1ZmZlci5pZGwgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmls
ZVR5cGUgPSB0ZXh0OyBwYXRoID0gV2ViTWV0YWxDb21tYW5kQnVmZmVyLmlkbDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKKwkJRDBDQUFFOUIyMTY4MjRBNzAwMUM5MUM3IC8qIFdlYk1ldGFs
Q29tbWFuZFF1ZXVlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFdlYk1ldGFsQ29tbWFuZFF1ZXVlLmg7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUQwQ0FBRTlDMjE2ODI0QTcwMDFDOTFDNyAvKiBX
ZWJNZXRhbENvbXB1dGVDb21tYW5kRW5jb2Rlci5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBXZWJN
ZXRhbENvbXB1dGVDb21tYW5kRW5jb2Rlci5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CisJCUQwQ0FBRTlEMjE2ODI0QTcwMDFDOTFDNyAvKiBXZWJNZXRhbEJ1ZmZlci5oICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7
IHBhdGggPSBXZWJNZXRhbEJ1ZmZlci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlE
MENBQUU5RTIxNjgyNEE4MDAxQzkxQzcgLyogV2ViTWV0YWxDb21tYW5kQnVmZmVyLmNwcCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Y3BwLmNwcDsgcGF0aCA9IFdlYk1ldGFsQ29tbWFuZEJ1ZmZlci5jcHA7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CiAJCUQwRURBNzcyMTQzRTMwM0MwMDI4RTM4MyAvKiBDYWNoZWRSYXdSZXNv
dXJjZS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBDYWNoZWRSYXdS
ZXNvdXJjZS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUQwRURBNzczMTQzRTMw
M0MwMDI4RTM4MyAvKiBDYWNoZWRSYXdSZXNvdXJjZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
Lmg7IHBhdGggPSBDYWNoZWRSYXdSZXNvdXJjZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OwogCQlEMEZGMkE1QjExRjhDNDVBMDA3RTc0RTAgLyogUGluZ0xvYWRlci5jcHAgKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBQaW5nTG9hZGVyLmNwcDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKQEAgLTE3NjI1LDYgKzE3Njk1LDc0IEBACiAJCQkJMzFBMDg5MDExRTcz
N0I0RDAwM0I2NjA5IC8qIFdlYkdQVVRleHR1cmVEZXNjcmlwdG9yLmNwcCAqLywKIAkJCQkzMUEw
ODkwMjFFNzM3QjREMDAzQjY2MDkgLyogV2ViR1BVVGV4dHVyZURlc2NyaXB0b3IuaCAqLywKIAkJ
CQkzMUEwODkwMzFFNzM3QjREMDAzQjY2MDkgLyogV2ViR1BVVGV4dHVyZURlc2NyaXB0b3IuaWRs
ICovLAorCQkJCUQwNDVBRDIxMjE2ODI0NzQwMDBBNkU5QiAvKiBXZWJNZXRhbEJ1ZmZlci5jcHAg
Ki8sCisJCQkJRDBDQUFFOUQyMTY4MjRBNzAwMUM5MUM3IC8qIFdlYk1ldGFsQnVmZmVyLmggKi8s
CisJCQkJRDBDQUFFOTgyMTY4MjRBNjAwMUM5MUM3IC8qIFdlYk1ldGFsQnVmZmVyLmlkbCAqLywK
KwkJCQlEMENBQUU5RTIxNjgyNEE4MDAxQzkxQzcgLyogV2ViTWV0YWxDb21tYW5kQnVmZmVyLmNw
cCAqLywKKwkJCQlEMDQ1QUQyMjIxNjgyNDc0MDAwQTZFOUIgLyogV2ViTWV0YWxDb21tYW5kQnVm
ZmVyLmggKi8sCisJCQkJRDBDQUFFOUEyMTY4MjRBNjAwMUM5MUM3IC8qIFdlYk1ldGFsQ29tbWFu
ZEJ1ZmZlci5pZGwgKi8sCisJCQkJRDA0NUFEMjMyMTY4MjQ3NTAwMEE2RTlCIC8qIFdlYk1ldGFs
Q29tbWFuZFF1ZXVlLmNwcCAqLywKKwkJCQlEMENBQUU5QjIxNjgyNEE3MDAxQzkxQzcgLyogV2Vi
TWV0YWxDb21tYW5kUXVldWUuaCAqLywKKwkJCQlEMDJGODU0RTIxNjgyQTRBMDA4OEVFNzQgLyog
V2ViTWV0YWxDb21tYW5kUXVldWUuaWRsICovLAorCQkJCUQwQ0FBRTlDMjE2ODI0QTcwMDFDOTFD
NyAvKiBXZWJNZXRhbENvbXB1dGVDb21tYW5kRW5jb2Rlci5jcHAgKi8sCisJCQkJRDA0NUFEMjAy
MTY4MjQ3NDAwMEE2RTlCIC8qIFdlYk1ldGFsQ29tcHV0ZUNvbW1hbmRFbmNvZGVyLmggKi8sCisJ
CQkJRDAyRjg1NTAyMTY4MkE1NjAwODhFRTc0IC8qIFdlYk1ldGFsQ29tcHV0ZUNvbW1hbmRFbmNv
ZGVyLmlkbCAqLywKKwkJCQlEMDJGODU1QjIxNjgyQTk0MDA4OEVFNzQgLyogV2ViTWV0YWxDb21w
dXRlUGlwZWxpbmVTdGF0ZS5jcHAgKi8sCisJCQkJRDAyRjg1NTEyMTY4MkE1NjAwODhFRTc0IC8q
IFdlYk1ldGFsQ29tcHV0ZVBpcGVsaW5lU3RhdGUuaCAqLywKKwkJCQlEMDJGODU4MzIxNjgyQUE2
MDA4OEVFNzQgLyogV2ViTWV0YWxDb21wdXRlUGlwZWxpbmVTdGF0ZS5pZGwgKi8sCisJCQkJRDAy
Rjg1ODQyMTY4MkFBNjAwODhFRTc0IC8qIFdlYk1ldGFsRGVwdGhTdGVuY2lsRGVzY3JpcHRvci5j
cHAgKi8sCisJCQkJRDAyRjg1NTUyMTY4MkE5MjAwODhFRTc0IC8qIFdlYk1ldGFsRGVwdGhTdGVu
Y2lsRGVzY3JpcHRvci5oICovLAorCQkJCUQwMkY4NTc4MjE2ODJBQTEwMDg4RUU3NCAvKiBXZWJN
ZXRhbERlcHRoU3RlbmNpbERlc2NyaXB0b3IuaWRsICovLAorCQkJCUQwMkY4NTY1MjE2ODJBOTkw
MDg4RUU3NCAvKiBXZWJNZXRhbERlcHRoU3RlbmNpbFN0YXRlLmNwcCAqLywKKwkJCQlEMDJGODU2
NDIxNjgyQTk4MDA4OEVFNzQgLyogV2ViTWV0YWxEZXB0aFN0ZW5jaWxTdGF0ZS5oICovLAorCQkJ
CUQwMkY4NTc3MjE2ODJBQTEwMDg4RUU3NCAvKiBXZWJNZXRhbERlcHRoU3RlbmNpbFN0YXRlLmlk
bCAqLywKKwkJCQlEMDJGODU3RjIxNjgyQUE0MDA4OEVFNzQgLyogV2ViTWV0YWxEcmF3YWJsZS5j
cHAgKi8sCisJCQkJRDAyRjg1NzYyMTY4MkFBMDAwODhFRTc0IC8qIFdlYk1ldGFsRHJhd2FibGUu
aCAqLywKKwkJCQlEMDJGODU2RjIxNjgyQTlEMDA4OEVFNzQgLyogV2ViTWV0YWxEcmF3YWJsZS5p
ZGwgKi8sCisJCQkJRDAyRjg1NzAyMTY4MkE5RTAwODhFRTc0IC8qIFdlYk1ldGFsRW51bXMuY3Bw
ICovLAorCQkJCUQwMkY4NTc1MjE2ODJBQTAwMDg4RUU3NCAvKiBXZWJNZXRhbEVudW1zLmggKi8s
CisJCQkJRDAyRjg1NzQyMTY4MkE5RjAwODhFRTc0IC8qIFdlYk1ldGFsRW51bXMuaWRsICovLAor
CQkJCUQwMkY4NTc5MjE2ODJBQTIwMDg4RUU3NCAvKiBXZWJNZXRhbEZ1bmN0aW9uLmNwcCAqLywK
KwkJCQlEMDJGODU3QTIxNjgyQUEyMDA4OEVFNzQgLyogV2ViTWV0YWxGdW5jdGlvbi5oICovLAor
CQkJCUQwMkY4NTg4MjE2ODJBQTgwMDg4RUU3NCAvKiBXZWJNZXRhbEZ1bmN0aW9uLmlkbCAqLywK
KwkJCQlEMDJGODU3QjIxNjgyQUEyMDA4OEVFNzQgLyogV2ViTWV0YWxMaWJyYXJ5LmNwcCAqLywK
KwkJCQlEMDJGODU2QzIxNjgyQTlDMDA4OEVFNzQgLyogV2ViTWV0YWxMaWJyYXJ5LmggKi8sCisJ
CQkJRDAyRjg1NzIyMTY4MkE5RTAwODhFRTc0IC8qIFdlYk1ldGFsTGlicmFyeS5pZGwgKi8sCisJ
CQkJRDAyRjg1NjIyMTY4MkE5ODAwODhFRTc0IC8qIFdlYk1ldGFsUmVuZGVyQ29tbWFuZEVuY29k
ZXIuY3BwICovLAorCQkJCUQwMkY4NTYzMjE2ODJBOTgwMDg4RUU3NCAvKiBXZWJNZXRhbFJlbmRl
ckNvbW1hbmRFbmNvZGVyLmggKi8sCisJCQkJRDAyRjg1ODEyMTY4MkFBNTAwODhFRTc0IC8qIFdl
Yk1ldGFsUmVuZGVyQ29tbWFuZEVuY29kZXIuaWRsICovLAorCQkJCUQwMkY4NTg3MjE2ODJBQTcw
MDg4RUU3NCAvKiBXZWJNZXRhbFJlbmRlcmluZ0NvbnRleHQuY3BwICovLAorCQkJCUQwMkY4NTU0
MjE2ODJBOTEwMDg4RUU3NCAvKiBXZWJNZXRhbFJlbmRlcmluZ0NvbnRleHQuaCAqLywKKwkJCQlE
MDJGODU1QTIxNjgyQTk0MDA4OEVFNzQgLyogV2ViTWV0YWxSZW5kZXJpbmdDb250ZXh0LmlkbCAq
LywKKwkJCQlEMDJGODU3MTIxNjgyQTlFMDA4OEVFNzQgLyogV2ViTWV0YWxSZW5kZXJQYXNzQXR0
YWNobWVudERlc2NyaXB0b3IuY3BwICovLAorCQkJCUQwMkY4NTU3MjE2ODJBOTMwMDg4RUU3NCAv
KiBXZWJNZXRhbFJlbmRlclBhc3NBdHRhY2htZW50RGVzY3JpcHRvci5oICovLAorCQkJCUQwMkY4
NTYxMjE2ODJBOTcwMDg4RUU3NCAvKiBXZWJNZXRhbFJlbmRlclBhc3NBdHRhY2htZW50RGVzY3Jp
cHRvci5pZGwgKi8sCisJCQkJRDAyRjg1NTkyMTY4MkE5NDAwODhFRTc0IC8qIFdlYk1ldGFsUmVu
ZGVyUGFzc0NvbG9yQXR0YWNobWVudERlc2NyaXB0b3IuY3BwICovLAorCQkJCUQwMkY4NTVEMjE2
ODJBOTUwMDg4RUU3NCAvKiBXZWJNZXRhbFJlbmRlclBhc3NDb2xvckF0dGFjaG1lbnREZXNjcmlw
dG9yLmggKi8sCisJCQkJRDAyRjg1NjAyMTY4MkE5NzAwODhFRTc0IC8qIFdlYk1ldGFsUmVuZGVy
UGFzc0NvbG9yQXR0YWNobWVudERlc2NyaXB0b3IuaWRsICovLAorCQkJCUQwMkY4NTY5MjE2ODJB
OUIwMDg4RUU3NCAvKiBXZWJNZXRhbFJlbmRlclBhc3NEZXB0aEF0dGFjaG1lbnREZXNjcmlwdG9y
LmNwcCAqLywKKwkJCQlEMDJGODU3RDIxNjgyQUEzMDA4OEVFNzQgLyogV2ViTWV0YWxSZW5kZXJQ
YXNzRGVwdGhBdHRhY2htZW50RGVzY3JpcHRvci5oICovLAorCQkJCUQwMkY4NTY4MjE2ODJBOUEw
MDg4RUU3NCAvKiBXZWJNZXRhbFJlbmRlclBhc3NEZXB0aEF0dGFjaG1lbnREZXNjcmlwdG9yLmlk
bCAqLywKKwkJCQlEMDJGODU1MzIxNjgyQTkxMDA4OEVFNzQgLyogV2ViTWV0YWxSZW5kZXJQYXNz
RGVzY3JpcHRvci5jcHAgKi8sCisJCQkJRDAyRjg1NkIyMTY4MkE5QzAwODhFRTc0IC8qIFdlYk1l
dGFsUmVuZGVyUGFzc0Rlc2NyaXB0b3IuaCAqLywKKwkJCQlEMDJGODU3RTIxNjgyQUE0MDA4OEVF
NzQgLyogV2ViTWV0YWxSZW5kZXJQYXNzRGVzY3JpcHRvci5pZGwgKi8sCisJCQkJRDAyRjg1NjYy
MTY4MkE5OTAwODhFRTc0IC8qIFdlYk1ldGFsUmVuZGVyUGlwZWxpbmVDb2xvckF0dGFjaG1lbnRE
ZXNjcmlwdG9yLmNwcCAqLywKKwkJCQlEMDJGODU4NTIxNjgyQUE3MDA4OEVFNzQgLyogV2ViTWV0
YWxSZW5kZXJQaXBlbGluZUNvbG9yQXR0YWNobWVudERlc2NyaXB0b3IuaCAqLywKKwkJCQlEMDJG
ODU4NjIxNjgyQUE3MDA4OEVFNzQgLyogV2ViTWV0YWxSZW5kZXJQaXBlbGluZUNvbG9yQXR0YWNo
bWVudERlc2NyaXB0b3IuaWRsICovLAorCQkJCUQwMkY4NTVFMjE2ODJBOTYwMDg4RUU3NCAvKiBX
ZWJNZXRhbFJlbmRlclBpcGVsaW5lRGVzY3JpcHRvci5jcHAgKi8sCisJCQkJRDAyRjg1N0MyMTY4
MkFBMzAwODhFRTc0IC8qIFdlYk1ldGFsUmVuZGVyUGlwZWxpbmVEZXNjcmlwdG9yLmggKi8sCisJ
CQkJRDAyRjg1ODAyMTY4MkFBNDAwODhFRTc0IC8qIFdlYk1ldGFsUmVuZGVyUGlwZWxpbmVEZXNj
cmlwdG9yLmlkbCAqLywKKwkJCQlEMDJGODU1RjIxNjgyQTk2MDA4OEVFNzQgLyogV2ViTWV0YWxS
ZW5kZXJQaXBlbGluZVN0YXRlLmNwcCAqLywKKwkJCQlEMDJGODU1MjIxNjgyQTkxMDA4OEVFNzQg
LyogV2ViTWV0YWxSZW5kZXJQaXBlbGluZVN0YXRlLmggKi8sCisJCQkJRDAyRjg1NjcyMTY4MkE5
QTAwODhFRTc0IC8qIFdlYk1ldGFsUmVuZGVyUGlwZWxpbmVTdGF0ZS5pZGwgKi8sCisJCQkJRDAy
Rjg1NkQyMTY4MkE5QzAwODhFRTc0IC8qIFdlYk1ldGFsU2l6ZS5oICovLAorCQkJCUQwMkY4NTU2
MjE2ODJBOTIwMDg4RUU3NCAvKiBXZWJNZXRhbFNpemUuaWRsICovLAorCQkJCUQwMkY4NTgyMjE2
ODJBQTUwMDg4RUU3NCAvKiBXZWJNZXRhbFRleHR1cmUuY3BwICovLAorCQkJCUQwMkY4NTczMjE2
ODJBOUYwMDg4RUU3NCAvKiBXZWJNZXRhbFRleHR1cmUuaCAqLywKKwkJCQlEMDJGODU1ODIxNjgy
QTkzMDA4OEVFNzQgLyogV2ViTWV0YWxUZXh0dXJlLmlkbCAqLywKKwkJCQlEMDJGODU2RTIxNjgy
QTlEMDA4OEVFNzQgLyogV2ViTWV0YWxUZXh0dXJlRGVzY3JpcHRvci5jcHAgKi8sCisJCQkJRDAy
Rjg1NkEyMTY4MkE5QjAwODhFRTc0IC8qIFdlYk1ldGFsVGV4dHVyZURlc2NyaXB0b3IuaCAqLywK
KwkJCQlEMDJGODU1QzIxNjgyQTk1MDA4OEVFNzQgLyogV2ViTWV0YWxUZXh0dXJlRGVzY3JpcHRv
ci5pZGwgKi8sCiAJCQkpOwogCQkJcGF0aCA9IGNhbnZhczsKIAkJCXNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7CkBAIC0yNDAzMCw4ICsyNDE2OCw4IEBACiAJCQkJQ0Q1RDI3NzUxRTgzMThFMDAwRDgw
QTNEIC8qIFdlYkNvcmVEZWNvbXByZXNzaW9uU2Vzc2lvbi5tbSAqLywKIAkJCQk0OUZGQkYzRDEx
QzkzRUUzMDA2QTcxMTggLyogV2ViR0xMYXllci5oICovLAogCQkJCTQ5RkZCRjNFMTFDOTNFRTMw
MDZBNzExOCAvKiBXZWJHTExheWVyLm1tICovLAotCQkJCTMxNkJEQjhBMUU2RTE1MzAwMERFMEQ1
QSAvKiBXZWJHUFVMYXllci5oICovLAotCQkJCTMxNkJEQjg5MUU2RTE1MzAwMERFMEQ1QSAvKiBX
ZWJHUFVMYXllci5tbSAqLywKKwkJCQkzMTZCREI4QTFFNkUxNTMwMDBERTBENUEgLyogV2ViTWV0
YWxMYXllci5oICovLAorCQkJCUQwNDVBRDFEMjE2ODIzMEIwMDBBNkU5QiAvKiBXZWJNZXRhbExh
eWVyLm1tICovLAogCQkJKTsKIAkJCXBhdGggPSBjb2NvYTsKIAkJCXNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7CkBAIC0yNDEyMyw2ICsyNDI2MSw4IEBACiAJCQkJNDZCQ0JCQzEyMDg1MDA4MDAwNzEw
NjM4IC8qIEpTUmVtb3RlRE9NV2luZG93QmFzZS5jcHAgKi8sCiAJCQkJNDZCQ0JCQzAyMDg1MDA3
RjAwNzEwNjM4IC8qIEpTUmVtb3RlRE9NV2luZG93QmFzZS5oICovLAogCQkJCTkzMUFFM0I4MUZC
ODBFQUUwMEY1RUZCMiAvKiBKU1ZhbHVlSW5XcmFwcGVkT2JqZWN0LmggKi8sCisJCQkJRDA0NUFE
MUYyMTY4MjQ0OTAwMEE2RTlCIC8qIEpTV2ViTWV0YWxSZW5kZXJpbmdDb250ZXh0Q3VzdG9tLmNw
cCAqLywKKwkJCQlEMDQ1QUQxRTIxNjgyNDQ5MDAwQTZFOUIgLyogSlNXZWJNZXRhbFJlbmRlclBh
c3NBdHRhY2htZW50RGVzY3JpcHRvckN1c3RvbS5jcHAgKi8sCiAJCQkJQkNCRkI1M0EwRENEMjlD
RjAwMTlCM0U1IC8qIEpTV2luZG93UHJveHkuY3BwICovLAogCQkJCUJDQkZCNTNCMERDRDI5Q0Yw
MDE5QjNFNSAvKiBKU1dpbmRvd1Byb3h5LmggKi8sCiAJCQkJRTFDMzZEMzIwRUIwQTA5NDAwNzQx
MEJDIC8qIEpTV29ya2VyR2xvYmFsU2NvcGVCYXNlLmNwcCAqLywKQEAgLTMxMTAyLDcgKzMxMjQy
LDYgQEAKIAkJCQkwQzNGMUY1QjEwQzg4NzEyMDBENzJDRTEgLyogV2ViR0xVbmlmb3JtTG9jYXRp
b24uaCBpbiBIZWFkZXJzICovLAogCQkJCTZGOTk1QTI2MUE3MDc4QjEwMEE3MzVGNCAvKiBXZWJH
TFZlcnRleEFycmF5T2JqZWN0LmggaW4gSGVhZGVycyAqLywKIAkJCQk3N0ExN0E3ODEyRjI4NjQy
MDA0RTAyRjYgLyogV2ViR0xWZXJ0ZXhBcnJheU9iamVjdE9FUy5oIGluIEhlYWRlcnMgKi8sCi0J
CQkJMzE2QkRCOEMxRTZFMTUzMDAwREUwRDVBIC8qIFdlYkdQVUxheWVyLmggaW4gSGVhZGVycyAq
LywKIAkJCQlBNUI4MUNCNzFGQUE0NDYyMDAzN0QxRTYgLyogV2ViSGVhcEFnZW50LmggaW4gSGVh
ZGVycyAqLywKIAkJCQlBNTg0MEUyNTE4N0I4QUMyMDA4NDNCMTAgLyogV2ViSW5qZWN0ZWRTY3Jp
cHRIb3N0LmggaW4gSGVhZGVycyAqLywKIAkJCQlBNTg0RkUzMDE4NjRDQjg0MDA4NDNCMTAgLyog
V2ViSW5qZWN0ZWRTY3JpcHRNYW5hZ2VyLmggaW4gSGVhZGVycyAqLywKQEAgLTMxMTI0LDYgKzMx
MjYzLDcgQEAKIAkJCQkwNzA5RDc4RjFBRTU1NTU0MDA0RTQyRjggLyogV2ViTWVkaWFTZXNzaW9u
TWFuYWdlci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMDcwOUQ3OTUxQUU1NUEyOTAwNEU0MkY4IC8q
IFdlYk1lZGlhU2Vzc2lvbk1hbmFnZXJDbGllbnQuaCBpbiBIZWFkZXJzICovLAogCQkJCTA3MDlE
NzkzMUFFNTU1N0UwMDRFNDJGOCAvKiBXZWJNZWRpYVNlc3Npb25NYW5hZ2VyTWFjLmggaW4gSGVh
ZGVycyAqLywKKwkJCQkzMTZCREI4QzFFNkUxNTMwMDBERTBENUEgLyogV2ViTWV0YWxMYXllci5o
IGluIEhlYWRlcnMgKi8sCiAJCQkJRTFBMzE2MkQxMzRCQzMyRDAwN0M5QTRGIC8qIFdlYk5TQXR0
cmlidXRlZFN0cmluZ0V4dHJhcy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQ0Q1ODk2RTIxQ0QyQjE1
MTAwQjNCQ0M4IC8qIFdlYlBsYXliYWNrQ29udHJvbHNNYW5hZ2VyLmggaW4gSGVhZGVycyAqLywK
IAkJCQkxQ0FGMzQ4MTBBNkM0MDUyMDBBQkUwNkUgLyogV2ViU2NyaXB0T2JqZWN0LmggaW4gSGVh
ZGVycyAqLywKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTV2ViR1BV
UmVuZGVyUGFzc0F0dGFjaG1lbnREZXNjcmlwdG9yQ3VzdG9tLmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L2JpbmRpbmdzL2pzL0pTV2ViR1BVUmVuZGVyUGFzc0F0dGFjaG1lbnREZXNjcmlwdG9yQ3VzdG9t
LmNwcApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggN2FmNjQzNjQ5MDU0YzMyNDY4Nzll
ODQ3ZGUzMjgxMmQzYzI1ZWNhMS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU1dlYkdQVVJlbmRlclBhc3NB
dHRhY2htZW50RGVzY3JpcHRvckN1c3RvbS5jcHAKKysrIC9kZXYvbnVsbApAQCAtMSw1MyArMCww
IEBACi0vKgotICogQ29weXJpZ2h0IChDKSAyMDE3IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNl
cnZlZC4KLSAqCi0gKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5
IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKLSAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBw
cm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwotICogYXJlIG1ldDoKLSAqIDEu
IFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29w
eXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9s
bG93aW5nIGRpc2NsYWltZXIuCi0gKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0g
bXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxp
c3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQotICog
ICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhl
IGRpc3RyaWJ1dGlvbi4KLSAqCi0gKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExF
IElOQy4gYGBBUyBJUycnIEFORCBBTlkKLSAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVT
LCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCi0gKiBJTVBMSUVEIFdBUlJBTlRJ
RVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKLSAqIFBV
UlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SCi0g
KiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURF
TlRBTCwgU1BFQ0lBTCwKLSAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJ
TkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKLSAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRV
VEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgotICogUFJPRklUUzsg
T1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9S
WQotICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZ
LCBPUiBUT1JUCi0gKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5H
IElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKLSAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYg
QURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCi0gKi8KLQotI2luY2x1
ZGUgImNvbmZpZy5oIgotI2luY2x1ZGUgIkpTV2ViR1BVUmVuZGVyUGFzc0F0dGFjaG1lbnREZXNj
cmlwdG9yLmgiCi0KLSNpZiBFTkFCTEUoV0VCR1BVKQotCi0jaW5jbHVkZSAiSlNET01CaW5kaW5n
LmgiCi0jaW5jbHVkZSAiSlNXZWJHUFVSZW5kZXJQYXNzQ29sb3JBdHRhY2htZW50RGVzY3JpcHRv
ci5oIgotI2luY2x1ZGUgIkpTV2ViR1BVUmVuZGVyUGFzc0RlcHRoQXR0YWNobWVudERlc2NyaXB0
b3IuaCIKLSNpbmNsdWRlICJXZWJHUFVSZW5kZXJQYXNzQ29sb3JBdHRhY2htZW50RGVzY3JpcHRv
ci5oIgotI2luY2x1ZGUgIldlYkdQVVJlbmRlclBhc3NEZXB0aEF0dGFjaG1lbnREZXNjcmlwdG9y
LmgiCi0KLW5hbWVzcGFjZSBXZWJDb3JlIHsKLQotSlNDOjpKU1ZhbHVlIHRvSlNOZXdseUNyZWF0
ZWQoSlNDOjpFeGVjU3RhdGUqLCBKU0RPTUdsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBSZWY8
V2ViR1BVUmVuZGVyUGFzc0F0dGFjaG1lbnREZXNjcmlwdG9yPiYmIG9iamVjdCkKLXsKLSAgICBp
ZiAob2JqZWN0LT5pc0NvbG9yQXR0YWNobWVudERlc2NyaXB0b3IoKSkKLSAgICAgICAgcmV0dXJu
IGNyZWF0ZVdyYXBwZXI8V2ViR1BVUmVuZGVyUGFzc0NvbG9yQXR0YWNobWVudERlc2NyaXB0b3I+
KGdsb2JhbE9iamVjdCwgV1RGTW92ZShvYmplY3QpKTsKLSAgICByZXR1cm4gY3JlYXRlV3JhcHBl
cjxXZWJHUFVSZW5kZXJQYXNzRGVwdGhBdHRhY2htZW50RGVzY3JpcHRvcj4oZ2xvYmFsT2JqZWN0
LCBXVEZNb3ZlKG9iamVjdCkpOwotfQotCi1KU1ZhbHVlIHRvSlMoRXhlY1N0YXRlKiBzdGF0ZSwg
SlNET01HbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgV2ViR1BVUmVuZGVyUGFzc0F0dGFjaG1l
bnREZXNjcmlwdG9yJiBvYmplY3QpCi17Ci0gICAgcmV0dXJuIHdyYXAoc3RhdGUsIGdsb2JhbE9i
amVjdCwgb2JqZWN0KTsKLX0KLQotfQotCi0jZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2JpbmRpbmdzL2pzL0pTV2ViR1BVUmVuZGVyaW5nQ29udGV4dEN1c3RvbS5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU1dlYkdQVVJlbmRlcmluZ0NvbnRleHRDdXN0b20uY3Bw
CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBhYmRkMzU4ZTEyYTVhNDQ2MWI3NGYxZjg1
YWNjN2Y4MjZmYzdkZmU2Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTV2ViR1BVUmVuZGVyaW5nQ29udGV4
dEN1c3RvbS5jcHAKKysrIC9kZXYvbnVsbApAQCAtMSw0MiArMCwwIEBACi0vKgotICogQ29weXJp
Z2h0IChDKSAyMDE3IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLSAqCi0gKiBSZWRp
c3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdp
dGhvdXQKLSAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBm
b2xsb3dpbmcgY29uZGl0aW9ucwotICogYXJlIG1ldDoKLSAqIDEuIFJlZGlzdHJpYnV0aW9ucyBv
ZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3Rp
Y2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIu
Ci0gKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhl
IGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQotICogICAgZG9jdW1lbnRhdGlvbiBh
bmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KLSAq
Ci0gKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gYGBBUyBJUycnIEFO
RCBBTlkKLSAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBO
T1QgTElNSVRFRCBUTywgVEhFCi0gKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklM
SVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKLSAqIFBVUlBPU0UgQVJFIERJU0NMQUlN
RUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SCi0gKiBDT05UUklCVVRPUlMgQkUg
TElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKLSAq
IEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1Qg
TElNSVRFRCBUTywKLSAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklD
RVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgotICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJS
VVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQotICogT0YgTElBQklMSVRZ
LCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCi0gKiAoSU5D
TFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9G
IFRIRSBVU0UKLSAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9T
U0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCi0gKi8KLQotI2luY2x1ZGUgImNvbmZpZy5oIgotI2lu
Y2x1ZGUgIkpTV2ViR1BVUmVuZGVyaW5nQ29udGV4dC5oIgotCi0jaWYgRU5BQkxFKFdFQkdQVSkK
LQotCi1uYW1lc3BhY2UgV2ViQ29yZSB7Ci11c2luZyBuYW1lc3BhY2UgSlNDOwotCi12b2lkIEpT
V2ViR1BVUmVuZGVyaW5nQ29udGV4dDo6dmlzaXRBZGRpdGlvbmFsQ2hpbGRyZW4oU2xvdFZpc2l0
b3ImIHZpc2l0b3IpCi17Ci0gICAgdmlzaXRvci5hZGRPcGFxdWVSb290KCZ3cmFwcGVkKCkpOwot
fQotCi19IC8vIG5hbWVzcGFjZSBXZWJDb3JlCi0KLSNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvYmluZGluZ3MvanMvSlNXZWJNZXRhbFJlbmRlclBhc3NBdHRhY2htZW50RGVzY3Jp
cHRvckN1c3RvbS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU1dlYk1ldGFsUmVu
ZGVyUGFzc0F0dGFjaG1lbnREZXNjcmlwdG9yQ3VzdG9tLmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi45MjIzOTli
ODIzYTQ5N2U1ZjIyYmUzMDQzNTFiOTUxZmIzNDBiYWYxCi0tLSAvZGV2L251bGwKKysrIGIvU291
cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNXZWJNZXRhbFJlbmRlclBhc3NBdHRhY2htZW50RGVz
Y3JpcHRvckN1c3RvbS5jcHAKQEAgLTAsMCArMSw1MyBAQAorLyoKKyAqIENvcHlyaWdodCAoQykg
MjAxNyBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRp
b24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Cisg
KiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5n
IGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNl
IGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlz
IGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4g
UmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBj
b3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBm
b2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90
aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJ
UyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCisg
KiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlU
RUQgVE8sIFRIRQorICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQg
RklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4g
Tk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUgorICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBG
T1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCisgKiBFWEVNUExB
UlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQg
VE8sCisgKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NT
IE9GIFVTRSwgREFUQSwgT1IKKyAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikg
SE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKKyAqIE9GIExJQUJJTElUWSwgV0hFVEhF
UiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBO
RUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNF
CisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZ
IE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJK
U1dlYk1ldGFsUmVuZGVyUGFzc0F0dGFjaG1lbnREZXNjcmlwdG9yLmgiCisKKyNpZiBFTkFCTEUo
V0VCTUVUQUwpCisKKyNpbmNsdWRlICJKU0RPTUJpbmRpbmcuaCIKKyNpbmNsdWRlICJKU1dlYk1l
dGFsUmVuZGVyUGFzc0NvbG9yQXR0YWNobWVudERlc2NyaXB0b3IuaCIKKyNpbmNsdWRlICJKU1dl
Yk1ldGFsUmVuZGVyUGFzc0RlcHRoQXR0YWNobWVudERlc2NyaXB0b3IuaCIKKyNpbmNsdWRlICJX
ZWJNZXRhbFJlbmRlclBhc3NDb2xvckF0dGFjaG1lbnREZXNjcmlwdG9yLmgiCisjaW5jbHVkZSAi
V2ViTWV0YWxSZW5kZXJQYXNzRGVwdGhBdHRhY2htZW50RGVzY3JpcHRvci5oIgorCituYW1lc3Bh
Y2UgV2ViQ29yZSB7CisKK0pTQzo6SlNWYWx1ZSB0b0pTTmV3bHlDcmVhdGVkKEpTQzo6RXhlY1N0
YXRlKiwgSlNET01HbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgUmVmPFdlYk1ldGFsUmVuZGVy
UGFzc0F0dGFjaG1lbnREZXNjcmlwdG9yPiYmIG9iamVjdCkKK3sKKyAgICBpZiAob2JqZWN0LT5p
c0NvbG9yQXR0YWNobWVudERlc2NyaXB0b3IoKSkKKyAgICAgICAgcmV0dXJuIGNyZWF0ZVdyYXBw
ZXI8V2ViTWV0YWxSZW5kZXJQYXNzQ29sb3JBdHRhY2htZW50RGVzY3JpcHRvcj4oZ2xvYmFsT2Jq
ZWN0LCBXVEZNb3ZlKG9iamVjdCkpOworICAgIHJldHVybiBjcmVhdGVXcmFwcGVyPFdlYk1ldGFs
UmVuZGVyUGFzc0RlcHRoQXR0YWNobWVudERlc2NyaXB0b3I+KGdsb2JhbE9iamVjdCwgV1RGTW92
ZShvYmplY3QpKTsKK30KKworSlNWYWx1ZSB0b0pTKEV4ZWNTdGF0ZSogc3RhdGUsIEpTRE9NR2xv
YmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIFdlYk1ldGFsUmVuZGVyUGFzc0F0dGFjaG1lbnREZXNj
cmlwdG9yJiBvYmplY3QpCit7CisgICAgcmV0dXJuIHdyYXAoc3RhdGUsIGdsb2JhbE9iamVjdCwg
b2JqZWN0KTsKK30KKworfQorCisjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Jp
bmRpbmdzL2pzL0pTV2ViTWV0YWxSZW5kZXJpbmdDb250ZXh0Q3VzdG9tLmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL2JpbmRpbmdzL2pzL0pTV2ViTWV0YWxSZW5kZXJpbmdDb250ZXh0Q3VzdG9tLmNwcApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi5hNjM0YzI4ZjJmNWZkYWZmOWQ5ZmRiZDAwNDNhNjdjZGFiNTZlZDFiCi0tLSAv
ZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNXZWJNZXRhbFJlbmRl
cmluZ0NvbnRleHRDdXN0b20uY3BwCkBAIC0wLDAgKzEsNDIgQEAKKy8qCisgKiBDb3B5cmlnaHQg
KEMpIDIwMTcgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJp
YnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91
dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxv
d2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNv
dXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwg
dGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAq
IDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJv
dmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9v
ciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAq
IFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBgYEFTIElTJycgQU5EIEFO
WQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBM
SU1JVEVEIFRPLCBUSEUKKyAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkg
QU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4g
IElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IKKyAqIENPTlRSSUJVVE9SUyBCRSBMSUFC
TEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAorICogRVhF
TVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1J
VEVEIFRPLAorICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsg
TE9TUyBPRiBVU0UsIERBVEEsIE9SCisgKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJ
T04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCisgKiBPRiBMSUFCSUxJVFksIFdI
RVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJ
TkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhF
IFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJ
TElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgiCisjaW5jbHVk
ZSAiSlNXZWJNZXRhbFJlbmRlcmluZ0NvbnRleHQuaCIKKworI2lmIEVOQUJMRShXRUJNRVRBTCkK
KworCituYW1lc3BhY2UgV2ViQ29yZSB7Cit1c2luZyBuYW1lc3BhY2UgSlNDOworCit2b2lkIEpT
V2ViTWV0YWxSZW5kZXJpbmdDb250ZXh0Ojp2aXNpdEFkZGl0aW9uYWxDaGlsZHJlbihTbG90Vmlz
aXRvciYgdmlzaXRvcikKK3sKKyAgICB2aXNpdG9yLmFkZE9wYXF1ZVJvb3QoJndyYXBwZWQoKSk7
Cit9CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKworI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9XZWJDb3JlQnVpbHRpbk5hbWVzLmggYi9Tb3VyY2UvV2Vi
Q29yZS9iaW5kaW5ncy9qcy9XZWJDb3JlQnVpbHRpbk5hbWVzLmgKaW5kZXggYzg1MjQxNDY1ZTcz
MzlhNDFkMDAwNzExZGU1NGZhMzBmNDU4YjgyZi4uOTI5ZDNhYTYxMTFkNTNkMTQ4NjExMWZlYmUy
NjQ0YWM2NzljYzFkNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvV2Vi
Q29yZUJ1aWx0aW5OYW1lcy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL1dlYkNv
cmVCdWlsdGluTmFtZXMuaApAQCAtMTY0LDI4ICsxNjQsMjggQEAgbmFtZXNwYWNlIFdlYkNvcmUg
ewogICAgIG1hY3JvKFZpc3VhbFZpZXdwb3J0KSBcCiAgICAgbWFjcm8oV2ViR0wyUmVuZGVyaW5n
Q29udGV4dCkgXAogICAgIG1hY3JvKFdlYkdMVmVydGV4QXJyYXlPYmplY3QpIFwKLSAgICBtYWNy
byhXZWJHUFVCdWZmZXIpIFwKLSAgICBtYWNybyhXZWJHUFVDb21tYW5kQnVmZmVyKSBcCi0gICAg
bWFjcm8oV2ViR1BVQ29tbWFuZFF1ZXVlKSBcCi0gICAgbWFjcm8oV2ViR1BVQ29tcHV0ZUNvbW1h
bmRFbmNvZGVyKSBcCi0gICAgbWFjcm8oV2ViR1BVQ29tcHV0ZVBpcGVsaW5lU3RhdGUpIFwKLSAg
ICBtYWNybyhXZWJHUFVEZXB0aFN0ZW5jaWxEZXNjcmlwdG9yKSBcCi0gICAgbWFjcm8oV2ViR1BV
RGVwdGhTdGVuY2lsU3RhdGUpIFwKLSAgICBtYWNybyhXZWJHUFVEcmF3YWJsZSkgXAotICAgIG1h
Y3JvKFdlYkdQVUZ1bmN0aW9uKSBcCi0gICAgbWFjcm8oV2ViR1BVTGlicmFyeSkgXAotICAgIG1h
Y3JvKFdlYkdQVVJlbmRlckNvbW1hbmRFbmNvZGVyKSBcCi0gICAgbWFjcm8oV2ViR1BVUmVuZGVy
UGFzc0F0dGFjaG1lbnREZXNjcmlwdG9yKSBcCi0gICAgbWFjcm8oV2ViR1BVUmVuZGVyUGFzc0Nv
bG9yQXR0YWNobWVudERlc2NyaXB0b3IpIFwKLSAgICBtYWNybyhXZWJHUFVSZW5kZXJQYXNzRGVw
dGhBdHRhY2htZW50RGVzY3JpcHRvcikgXAotICAgIG1hY3JvKFdlYkdQVVJlbmRlclBhc3NEZXNj
cmlwdG9yKSBcCi0gICAgbWFjcm8oV2ViR1BVUmVuZGVyUGlwZWxpbmVDb2xvckF0dGFjaG1lbnRE
ZXNjcmlwdG9yKSBcCi0gICAgbWFjcm8oV2ViR1BVUmVuZGVyUGlwZWxpbmVEZXNjcmlwdG9yKSBc
Ci0gICAgbWFjcm8oV2ViR1BVUmVuZGVyUGlwZWxpbmVTdGF0ZSkgXAotICAgIG1hY3JvKFdlYkdQ
VVJlbmRlcmluZ0NvbnRleHQpIFwKLSAgICBtYWNybyhXZWJHUFVTaXplKSBcCi0gICAgbWFjcm8o
V2ViR1BVVGV4dHVyZSkgXAotICAgIG1hY3JvKFdlYkdQVVRleHR1cmVEZXNjcmlwdG9yKSBcCisg
ICAgbWFjcm8oV2ViTWV0YWxCdWZmZXIpIFwKKyAgICBtYWNybyhXZWJNZXRhbENvbW1hbmRCdWZm
ZXIpIFwKKyAgICBtYWNybyhXZWJNZXRhbENvbW1hbmRRdWV1ZSkgXAorICAgIG1hY3JvKFdlYk1l
dGFsQ29tcHV0ZUNvbW1hbmRFbmNvZGVyKSBcCisgICAgbWFjcm8oV2ViTWV0YWxDb21wdXRlUGlw
ZWxpbmVTdGF0ZSkgXAorICAgIG1hY3JvKFdlYk1ldGFsRGVwdGhTdGVuY2lsRGVzY3JpcHRvcikg
XAorICAgIG1hY3JvKFdlYk1ldGFsRGVwdGhTdGVuY2lsU3RhdGUpIFwKKyAgICBtYWNybyhXZWJN
ZXRhbERyYXdhYmxlKSBcCisgICAgbWFjcm8oV2ViTWV0YWxGdW5jdGlvbikgXAorICAgIG1hY3Jv
KFdlYk1ldGFsTGlicmFyeSkgXAorICAgIG1hY3JvKFdlYk1ldGFsUmVuZGVyQ29tbWFuZEVuY29k
ZXIpIFwKKyAgICBtYWNybyhXZWJNZXRhbFJlbmRlclBhc3NBdHRhY2htZW50RGVzY3JpcHRvcikg
XAorICAgIG1hY3JvKFdlYk1ldGFsUmVuZGVyUGFzc0NvbG9yQXR0YWNobWVudERlc2NyaXB0b3Ip
IFwKKyAgICBtYWNybyhXZWJNZXRhbFJlbmRlclBhc3NEZXB0aEF0dGFjaG1lbnREZXNjcmlwdG9y
KSBcCisgICAgbWFjcm8oV2ViTWV0YWxSZW5kZXJQYXNzRGVzY3JpcHRvcikgXAorICAgIG1hY3Jv
KFdlYk1ldGFsUmVuZGVyUGlwZWxpbmVDb2xvckF0dGFjaG1lbnREZXNjcmlwdG9yKSBcCisgICAg
bWFjcm8oV2ViTWV0YWxSZW5kZXJQaXBlbGluZURlc2NyaXB0b3IpIFwKKyAgICBtYWNybyhXZWJN
ZXRhbFJlbmRlclBpcGVsaW5lU3RhdGUpIFwKKyAgICBtYWNybyhXZWJNZXRhbFJlbmRlcmluZ0Nv
bnRleHQpIFwKKyAgICBtYWNybyhXZWJNZXRhbFNpemUpIFwKKyAgICBtYWNybyhXZWJNZXRhbFRl
eHR1cmUpIFwKKyAgICBtYWNybyhXZWJNZXRhbFRleHR1cmVEZXNjcmlwdG9yKSBcCiAgICAgbWFj
cm8oV2ViS2l0TWVkaWFLZXlFcnJvcikgXAogICAgIG1hY3JvKFdlYktpdE1lZGlhS2V5TWVzc2Fn
ZUV2ZW50KSBcCiAgICAgbWFjcm8oV2ViS2l0TWVkaWFLZXlOZWVkZWRFdmVudCkgXApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Rv
bS9Eb2N1bWVudC5jcHAKaW5kZXggNzUyYzg1MGMzZWI5ZjY1Y2MwMWYxY2IwNGQwMDUyZGEwYTYz
YjQxZS4uZWEyODVlMjM2YTRlYzQ3MWNhYjJhZDU3YzgwODg0OThkODBlMDRiZiAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9k
b20vRG9jdW1lbnQuY3BwCkBAIC0zMDksOCArMzA5LDggQEAKICNpZiBFTkFCTEUoV0VCR0wyKQog
I2luY2x1ZGUgIldlYkdMMlJlbmRlcmluZ0NvbnRleHQuaCIKICNlbmRpZgotI2lmIEVOQUJMRShX
RUJHUFUpCi0jaW5jbHVkZSAiV2ViR1BVUmVuZGVyaW5nQ29udGV4dC5oIgorI2lmIEVOQUJMRShX
RUJNRVRBTCkKKyNpbmNsdWRlICJXZWJNZXRhbFJlbmRlcmluZ0NvbnRleHQuaCIKICNlbmRpZgog
CiAKQEAgLTU4MjksOSArNTgyOSw5IEBAIHN0ZDo6b3B0aW9uYWw8UmVuZGVyaW5nQ29udGV4dD4g
RG9jdW1lbnQ6OmdldENTU0NhbnZhc0NvbnRleHQoY29uc3QgU3RyaW5nJiB0eXBlCiAgICAgaWYg
KGlzPFdlYkdMMlJlbmRlcmluZ0NvbnRleHQ+KCpjb250ZXh0KSkKICAgICAgICAgcmV0dXJuIFJl
bmRlcmluZ0NvbnRleHQgeyBSZWZQdHI8V2ViR0wyUmVuZGVyaW5nQ29udGV4dD4geyAmZG93bmNh
c3Q8V2ViR0wyUmVuZGVyaW5nQ29udGV4dD4oKmNvbnRleHQpIH0gfTsKICNlbmRpZgotI2lmIEVO
QUJMRShXRUJHUFUpCi0gICAgaWYgKGlzPFdlYkdQVVJlbmRlcmluZ0NvbnRleHQ+KCpjb250ZXh0
KSkKLSAgICAgICAgcmV0dXJuIFJlbmRlcmluZ0NvbnRleHQgeyBSZWZQdHI8V2ViR1BVUmVuZGVy
aW5nQ29udGV4dD4geyAmZG93bmNhc3Q8V2ViR1BVUmVuZGVyaW5nQ29udGV4dD4oKmNvbnRleHQp
IH0gfTsKKyNpZiBFTkFCTEUoV0VCTUVUQUwpCisgICAgaWYgKGlzPFdlYk1ldGFsUmVuZGVyaW5n
Q29udGV4dD4oKmNvbnRleHQpKQorICAgICAgICByZXR1cm4gUmVuZGVyaW5nQ29udGV4dCB7IFJl
ZlB0cjxXZWJNZXRhbFJlbmRlcmluZ0NvbnRleHQ+IHsgJmRvd25jYXN0PFdlYk1ldGFsUmVuZGVy
aW5nQ29udGV4dD4oKmNvbnRleHQpIH0gfTsKICNlbmRpZgogCiAgICAgcmV0dXJuIFJlbmRlcmlu
Z0NvbnRleHQgeyBSZWZQdHI8Q2FudmFzUmVuZGVyaW5nQ29udGV4dDJEPiB7ICZkb3duY2FzdDxD
YW52YXNSZW5kZXJpbmdDb250ZXh0MkQ+KCpjb250ZXh0KSB9IH07CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuaCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5o
CmluZGV4IGM2YjE1ZDc3N2NhYzJkYzE3NjQyN2MzMjQ3NGQxMjY1NGM1OWNjN2EuLmUyY2Y2MGMy
ZTNlZWE4ZDcxNzc1Y2RlYjcxNWViZDM4NjE2OTg3NGYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL2RvbS9Eb2N1bWVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5oCkBA
IC0xOTAsNyArMTkwLDcgQEAgY2xhc3MgVmlzaXRlZExpbmtTdGF0ZTsKIGNsYXNzIFdlYkFuaW1h
dGlvbjsKIGNsYXNzIFdlYkdMMlJlbmRlcmluZ0NvbnRleHQ7CiBjbGFzcyBXZWJHTFJlbmRlcmlu
Z0NvbnRleHQ7Ci1jbGFzcyBXZWJHUFVSZW5kZXJpbmdDb250ZXh0OworY2xhc3MgV2ViTWV0YWxS
ZW5kZXJpbmdDb250ZXh0OwogY2xhc3MgV2luZG93UHJveHk7CiBjbGFzcyBYUGF0aEV2YWx1YXRv
cjsKIGNsYXNzIFhQYXRoRXhwcmVzc2lvbjsKQEAgLTMxNyw4ICszMTcsOCBAQCB1c2luZyBSZW5k
ZXJpbmdDb250ZXh0ID0gVmFyaWFudDwKICNpZiBFTkFCTEUoV0VCR0wyKQogICAgIFJlZlB0cjxX
ZWJHTDJSZW5kZXJpbmdDb250ZXh0PiwKICNlbmRpZgotI2lmIEVOQUJMRShXRUJHUFUpCi0gICAg
UmVmUHRyPFdlYkdQVVJlbmRlcmluZ0NvbnRleHQ+LAorI2lmIEVOQUJMRShXRUJNRVRBTCkKKyAg
ICBSZWZQdHI8V2ViTWV0YWxSZW5kZXJpbmdDb250ZXh0PiwKICNlbmRpZgogICAgIFJlZlB0cjxJ
bWFnZUJpdG1hcFJlbmRlcmluZ0NvbnRleHQ+LAogICAgIFJlZlB0cjxDYW52YXNSZW5kZXJpbmdD
b250ZXh0MkQ+CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuaWRsIGIv
U291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmlkbAppbmRleCA0MjZhMjk0NTg0NGQ3MDRiNzg5
N2ZmYTc3NTAzOTAwY2ZhMTI1ZmQyLi4xYTg4NjE5NmMyNWUxNzdlN2NmOTZjZmMzZGQ2NjBiZDA3
ZGUyYjhkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuaWRsCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5pZGwKQEAgLTI1LDggKzI1LDggQEAgdHlwZWRl
ZiAoCiAjaWYgZGVmaW5lZChFTkFCTEVfV0VCR0wyKSAmJiBFTkFCTEVfV0VCR0wyCiAgICAgV2Vi
R0wyUmVuZGVyaW5nQ29udGV4dCBvcgogI2VuZGlmCi0jaWYgZGVmaW5lZChFTkFCTEVfV0VCR1BV
KSAmJiBFTkFCTEVfV0VCR1BVCi0gICAgV2ViR1BVUmVuZGVyaW5nQ29udGV4dCBvcgorI2lmIGRl
ZmluZWQoRU5BQkxFX1dFQk1FVEFMKSAmJiBFTkFCTEVfV0VCTUVUQUwKKyAgICBXZWJNZXRhbFJl
bmRlcmluZ0NvbnRleHQgb3IKICNlbmRpZgogICAgIEltYWdlQml0bWFwUmVuZGVyaW5nQ29udGV4
dCBvciAKICAgICBDYW52YXNSZW5kZXJpbmdDb250ZXh0MkQpIFJlbmRlcmluZ0NvbnRleHQ7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxDYW52YXNFbGVtZW50LmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL2h0bWwvSFRNTENhbnZhc0VsZW1lbnQuY3BwCmluZGV4IDhmNzBlOTc4OWRl
NDI5OThlZjEwMGY1YmQ1ZjA2MDQxNDg4OWZhMjkuLmIxZGY5ZDdiOTY4Zjg2NjA4OTk3MDhmZjRl
YzViNWE3Yjg4ZjUxMzAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTENhbnZh
c0VsZW1lbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTENhbnZhc0VsZW1lbnQu
Y3BwCkBAIC03NSw4ICs3NSw4IEBACiAjaW5jbHVkZSAiV2ViR0wyUmVuZGVyaW5nQ29udGV4dC5o
IgogI2VuZGlmCiAKLSNpZiBFTkFCTEUoV0VCR1BVKQotI2luY2x1ZGUgIldlYkdQVVJlbmRlcmlu
Z0NvbnRleHQuaCIKKyNpZiBFTkFCTEUoV0VCTUVUQUwpCisjaW5jbHVkZSAiV2ViTWV0YWxSZW5k
ZXJpbmdDb250ZXh0LmgiCiAjZW5kaWYKIAogI2lmIFBMQVRGT1JNKENPQ09BKQpAQCAtMjM4LDEx
ICsyMzgsMTEgQEAgRXhjZXB0aW9uT3I8c3RkOjpvcHRpb25hbDxSZW5kZXJpbmdDb250ZXh0Pj4g
SFRNTENhbnZhc0VsZW1lbnQ6OmdldENvbnRleHQoSlNDOjoKICAgICAgICAgfQogI2VuZGlmCiAK
LSNpZiBFTkFCTEUoV0VCR1BVKQotICAgICAgICBpZiAobV9jb250ZXh0LT5pc1dlYkdQVSgpKSB7
Ci0gICAgICAgICAgICBpZiAoIWlzV2ViR1BVVHlwZShjb250ZXh0SWQpKQorI2lmIEVOQUJMRShX
RUJNRVRBTCkKKyAgICAgICAgaWYgKG1fY29udGV4dC0+aXNXZWJNZXRhbCgpKSB7CisgICAgICAg
ICAgICBpZiAoIWlzV2ViTWV0YWxUeXBlKGNvbnRleHRJZCkpCiAgICAgICAgICAgICAgICAgcmV0
dXJuIHN0ZDo6b3B0aW9uYWw8UmVuZGVyaW5nQ29udGV4dD4geyBzdGQ6Om51bGxvcHQgfTsKLSAg
ICAgICAgICAgIHJldHVybiBzdGQ6Om9wdGlvbmFsPFJlbmRlcmluZ0NvbnRleHQ+IHsgUmVmUHRy
PFdlYkdQVVJlbmRlcmluZ0NvbnRleHQ+IHsgJmRvd25jYXN0PFdlYkdQVVJlbmRlcmluZ0NvbnRl
eHQ+KCptX2NvbnRleHQpIH0gfTsKKyAgICAgICAgICAgIHJldHVybiBzdGQ6Om9wdGlvbmFsPFJl
bmRlcmluZ0NvbnRleHQ+IHsgUmVmUHRyPFdlYk1ldGFsUmVuZGVyaW5nQ29udGV4dD4geyAmZG93
bmNhc3Q8V2ViTWV0YWxSZW5kZXJpbmdDb250ZXh0PigqbV9jb250ZXh0KSB9IH07CiAgICAgICAg
IH0KICNlbmRpZgogCkBAIC0yODcsMTIgKzI4NywxMiBAQCBFeGNlcHRpb25PcjxzdGQ6Om9wdGlv
bmFsPFJlbmRlcmluZ0NvbnRleHQ+PiBIVE1MQ2FudmFzRWxlbWVudDo6Z2V0Q29udGV4dChKU0M6
OgogICAgIH0KICNlbmRpZgogCi0jaWYgRU5BQkxFKFdFQkdQVSkKLSAgICBpZiAoaXNXZWJHUFVU
eXBlKGNvbnRleHRJZCkpIHsKLSAgICAgICAgYXV0byBjb250ZXh0ID0gY3JlYXRlQ29udGV4dFdl
YkdQVShjb250ZXh0SWQpOworI2lmIEVOQUJMRShXRUJNRVRBTCkKKyAgICBpZiAoaXNXZWJNZXRh
bFR5cGUoY29udGV4dElkKSkgeworICAgICAgICBhdXRvIGNvbnRleHQgPSBjcmVhdGVDb250ZXh0
V2ViTWV0YWwoY29udGV4dElkKTsKICAgICAgICAgaWYgKCFjb250ZXh0KQogICAgICAgICAgICAg
cmV0dXJuIHN0ZDo6b3B0aW9uYWw8UmVuZGVyaW5nQ29udGV4dD4geyBzdGQ6Om51bGxvcHQgfTsK
LSAgICAgICAgcmV0dXJuIHN0ZDo6b3B0aW9uYWw8UmVuZGVyaW5nQ29udGV4dD4geyBSZWZQdHI8
V2ViR1BVUmVuZGVyaW5nQ29udGV4dD4geyBjb250ZXh0IH0gfTsKKyAgICAgICAgcmV0dXJuIHN0
ZDo6b3B0aW9uYWw8UmVuZGVyaW5nQ29udGV4dD4geyBSZWZQdHI8V2ViTWV0YWxSZW5kZXJpbmdD
b250ZXh0PiB7IGNvbnRleHQgfSB9OwogICAgIH0KICNlbmRpZgogCkBAIC0zMDcsOSArMzA3LDkg
QEAgQ2FudmFzUmVuZGVyaW5nQ29udGV4dCogSFRNTENhbnZhc0VsZW1lbnQ6OmdldENvbnRleHQo
Y29uc3QgU3RyaW5nJiB0eXBlKQogICAgIGlmIChIVE1MQ2FudmFzRWxlbWVudDo6aXNCaXRtYXBS
ZW5kZXJlclR5cGUodHlwZSkpCiAgICAgICAgIHJldHVybiBnZXRDb250ZXh0Qml0bWFwUmVuZGVy
ZXIodHlwZSk7CiAKLSNpZiBFTkFCTEUoV0VCR1BVKQotICAgIGlmIChIVE1MQ2FudmFzRWxlbWVu
dDo6aXNXZWJHUFVUeXBlKHR5cGUpICYmIFJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6OnNoYXJlZEZl
YXR1cmVzKCkud2ViR1BVRW5hYmxlZCgpKQotICAgICAgICByZXR1cm4gZ2V0Q29udGV4dFdlYkdQ
VSh0eXBlKTsKKyNpZiBFTkFCTEUoV0VCTUVUQUwpCisgICAgaWYgKEhUTUxDYW52YXNFbGVtZW50
Ojppc1dlYk1ldGFsVHlwZSh0eXBlKSAmJiBSdW50aW1lRW5hYmxlZEZlYXR1cmVzOjpzaGFyZWRG
ZWF0dXJlcygpLndlYk1ldGFsRW5hYmxlZCgpKQorICAgICAgICByZXR1cm4gZ2V0Q29udGV4dFdl
Yk1ldGFsKHR5cGUpOwogI2VuZGlmCiAKICNpZiBFTkFCTEUoV0VCR0wpCkBAIC00MzcsNDMgKzQz
Nyw0MyBAQCBXZWJHTFJlbmRlcmluZ0NvbnRleHRCYXNlKiBIVE1MQ2FudmFzRWxlbWVudDo6Z2V0
Q29udGV4dFdlYkdMKGNvbnN0IFN0cmluZyYgdHlwZQogCiAjZW5kaWYgLy8gRU5BQkxFKFdFQkdM
KQogCi0jaWYgRU5BQkxFKFdFQkdQVSkKKyNpZiBFTkFCTEUoV0VCTUVUQUwpCiAKLWJvb2wgSFRN
TENhbnZhc0VsZW1lbnQ6OmlzV2ViR1BVVHlwZShjb25zdCBTdHJpbmcmIHR5cGUpCitib29sIEhU
TUxDYW52YXNFbGVtZW50Ojppc1dlYk1ldGFsVHlwZShjb25zdCBTdHJpbmcmIHR5cGUpCiB7Ci0g
ICAgcmV0dXJuIHR5cGUgPT0gIndlYmdwdSI7CisgICAgcmV0dXJuIHR5cGUgPT0gIndlYm1ldGFs
IjsKIH0KIAotV2ViR1BVUmVuZGVyaW5nQ29udGV4dCogSFRNTENhbnZhc0VsZW1lbnQ6OmNyZWF0
ZUNvbnRleHRXZWJHUFUoY29uc3QgU3RyaW5nJiB0eXBlKQorV2ViTWV0YWxSZW5kZXJpbmdDb250
ZXh0KiBIVE1MQ2FudmFzRWxlbWVudDo6Y3JlYXRlQ29udGV4dFdlYk1ldGFsKGNvbnN0IFN0cmlu
ZyYgdHlwZSkKIHsKLSAgICBBU1NFUlRfVU5VU0VEKHR5cGUsIEhUTUxDYW52YXNFbGVtZW50Ojpp
c1dlYkdQVVR5cGUodHlwZSkpOworICAgIEFTU0VSVF9VTlVTRUQodHlwZSwgSFRNTENhbnZhc0Vs
ZW1lbnQ6OmlzV2ViTWV0YWxUeXBlKHR5cGUpKTsKICAgICBBU1NFUlQoIW1fY29udGV4dCk7CiAK
LSAgICBpZiAoIVJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6OnNoYXJlZEZlYXR1cmVzKCkud2ViR1BV
RW5hYmxlZCgpKQorICAgIGlmICghUnVudGltZUVuYWJsZWRGZWF0dXJlczo6c2hhcmVkRmVhdHVy
ZXMoKS53ZWJNZXRhbEVuYWJsZWQoKSkKICAgICAgICAgcmV0dXJuIG51bGxwdHI7CiAKLSAgICBt
X2NvbnRleHQgPSBXZWJHUFVSZW5kZXJpbmdDb250ZXh0OjpjcmVhdGUoKnRoaXMpOworICAgIG1f
Y29udGV4dCA9IFdlYk1ldGFsUmVuZGVyaW5nQ29udGV4dDo6Y3JlYXRlKCp0aGlzKTsKICAgICBp
ZiAobV9jb250ZXh0KSB7CiAgICAgICAgIC8vIE5lZWQgdG8gbWFrZSBzdXJlIGEgUmVuZGVyTGF5
ZXIgYW5kIGNvbXBvc2l0aW5nIGxheWVyIGdldCBjcmVhdGVkIGZvciB0aGUgQ2FudmFzLgogICAg
ICAgICBpbnZhbGlkYXRlU3R5bGVBbmRMYXllckNvbXBvc2l0aW9uKCk7CiAgICAgfQogCi0gICAg
cmV0dXJuIHN0YXRpY19jYXN0PFdlYkdQVVJlbmRlcmluZ0NvbnRleHQqPihtX2NvbnRleHQuZ2V0
KCkpOworICAgIHJldHVybiBzdGF0aWNfY2FzdDxXZWJNZXRhbFJlbmRlcmluZ0NvbnRleHQqPiht
X2NvbnRleHQuZ2V0KCkpOwogfQogCi1XZWJHUFVSZW5kZXJpbmdDb250ZXh0KiBIVE1MQ2FudmFz
RWxlbWVudDo6Z2V0Q29udGV4dFdlYkdQVShjb25zdCBTdHJpbmcmIHR5cGUpCitXZWJNZXRhbFJl
bmRlcmluZ0NvbnRleHQqIEhUTUxDYW52YXNFbGVtZW50OjpnZXRDb250ZXh0V2ViTWV0YWwoY29u
c3QgU3RyaW5nJiB0eXBlKQogewotICAgIEFTU0VSVF9VTlVTRUQodHlwZSwgSFRNTENhbnZhc0Vs
ZW1lbnQ6OmlzV2ViR1BVVHlwZSh0eXBlKSk7CisgICAgQVNTRVJUX1VOVVNFRCh0eXBlLCBIVE1M
Q2FudmFzRWxlbWVudDo6aXNXZWJNZXRhbFR5cGUodHlwZSkpOwogCi0gICAgaWYgKCFSdW50aW1l
RW5hYmxlZEZlYXR1cmVzOjpzaGFyZWRGZWF0dXJlcygpLndlYkdQVUVuYWJsZWQoKSkKKyAgICBp
ZiAoIVJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6OnNoYXJlZEZlYXR1cmVzKCkud2ViTWV0YWxFbmFi
bGVkKCkpCiAgICAgICAgIHJldHVybiBudWxscHRyOwogCi0gICAgaWYgKG1fY29udGV4dCAmJiAh
bV9jb250ZXh0LT5pc1dlYkdQVSgpKQorICAgIGlmIChtX2NvbnRleHQgJiYgIW1fY29udGV4dC0+
aXNXZWJNZXRhbCgpKQogICAgICAgICByZXR1cm4gbnVsbHB0cjsKIAogICAgIGlmICghbV9jb250
ZXh0KQotICAgICAgICByZXR1cm4gY3JlYXRlQ29udGV4dFdlYkdQVSh0eXBlKTsKLSAgICByZXR1
cm4gc3RhdGljX2Nhc3Q8V2ViR1BVUmVuZGVyaW5nQ29udGV4dCo+KG1fY29udGV4dC5nZXQoKSk7
CisgICAgICAgIHJldHVybiBjcmVhdGVDb250ZXh0V2ViTWV0YWwodHlwZSk7CisgICAgcmV0dXJu
IHN0YXRpY19jYXN0PFdlYk1ldGFsUmVuZGVyaW5nQ29udGV4dCo+KG1fY29udGV4dC5nZXQoKSk7
CiB9CiAjZW5kaWYKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MQ2FudmFz
RWxlbWVudC5oIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MQ2FudmFzRWxlbWVudC5oCmluZGV4
IGY4OGQ2MTEyZGUyOWVlMGUwMWI3NjQ4ZDE3MTM2ZGQ2ODE2NDcwZGUuLjJkZjljMGIzMGY1NjA2
ZDhiZWU2YzFjODE4Nzc5YzZiMWU0OGU4OGMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0
bWwvSFRNTENhbnZhc0VsZW1lbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxDYW52
YXNFbGVtZW50LmgKQEAgLTUxLDcgKzUxLDcgQEAgY2xhc3MgSW1hZ2VEYXRhOwogY2xhc3MgTWVk
aWFTYW1wbGU7CiBjbGFzcyBNZWRpYVN0cmVhbTsKIGNsYXNzIFdlYkdMUmVuZGVyaW5nQ29udGV4
dEJhc2U7Ci1jbGFzcyBXZWJHUFVSZW5kZXJpbmdDb250ZXh0OworY2xhc3MgV2ViTWV0YWxSZW5k
ZXJpbmdDb250ZXh0Owogc3RydWN0IFVuY2FjaGVkU3RyaW5nOwogCiBuYW1lc3BhY2UgRGlzcGxh
eUxpc3QgewpAQCAtOTcsMTAgKzk3LDEwIEBAIHB1YmxpYzoKICAgICBXZWJHTFJlbmRlcmluZ0Nv
bnRleHRCYXNlKiBjcmVhdGVDb250ZXh0V2ViR0woY29uc3QgU3RyaW5nJiwgV2ViR0xDb250ZXh0
QXR0cmlidXRlcyYmID0geyB9KTsKICAgICBXZWJHTFJlbmRlcmluZ0NvbnRleHRCYXNlKiBnZXRD
b250ZXh0V2ViR0woY29uc3QgU3RyaW5nJiwgV2ViR0xDb250ZXh0QXR0cmlidXRlcyYmID0geyB9
KTsKICNlbmRpZgotI2lmIEVOQUJMRShXRUJHUFUpCi0gICAgc3RhdGljIGJvb2wgaXNXZWJHUFVU
eXBlKGNvbnN0IFN0cmluZyYpOwotICAgIFdlYkdQVVJlbmRlcmluZ0NvbnRleHQqIGNyZWF0ZUNv
bnRleHRXZWJHUFUoY29uc3QgU3RyaW5nJik7Ci0gICAgV2ViR1BVUmVuZGVyaW5nQ29udGV4dCog
Z2V0Q29udGV4dFdlYkdQVShjb25zdCBTdHJpbmcmKTsKKyNpZiBFTkFCTEUoV0VCTUVUQUwpCisg
ICAgc3RhdGljIGJvb2wgaXNXZWJNZXRhbFR5cGUoY29uc3QgU3RyaW5nJik7CisgICAgV2ViTWV0
YWxSZW5kZXJpbmdDb250ZXh0KiBjcmVhdGVDb250ZXh0V2ViTWV0YWwoY29uc3QgU3RyaW5nJik7
CisgICAgV2ViTWV0YWxSZW5kZXJpbmdDb250ZXh0KiBnZXRDb250ZXh0V2ViTWV0YWwoY29uc3Qg
U3RyaW5nJik7CiAjZW5kaWYKIAogICAgIHN0YXRpYyBib29sIGlzQml0bWFwUmVuZGVyZXJUeXBl
KGNvbnN0IFN0cmluZyYpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MQ2Fu
dmFzRWxlbWVudC5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxDYW52YXNFbGVtZW50Lmlk
bAppbmRleCA2MTU3ZWExNmY1ZDE4OGYxOGNlZmMxMzdiNWRjMzI2YzJmOTM1NTUzLi5mZjEyM2Iy
MTRmYzgyZjBiNDY0NzU1MmU1Njc2MzBhYmEzMjcyYzVhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9odG1sL0hUTUxDYW52YXNFbGVtZW50LmlkbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1s
L0hUTUxDYW52YXNFbGVtZW50LmlkbApAQCAtMzEsOCArMzEsOCBAQCB0eXBlZGVmICgKICNpZiBk
ZWZpbmVkKEVOQUJMRV9XRUJHTDIpICYmIEVOQUJMRV9XRUJHTDIKICAgICBXZWJHTDJSZW5kZXJp
bmdDb250ZXh0IG9yCiAjZW5kaWYKLSNpZiBkZWZpbmVkKEVOQUJMRV9XRUJHUFUpICYmIEVOQUJM
RV9XRUJHUFUKLSAgICBXZWJHUFVSZW5kZXJpbmdDb250ZXh0IG9yCisjaWYgZGVmaW5lZChFTkFC
TEVfV0VCTUVUQUwpICYmIEVOQUJMRV9XRUJNRVRBTAorICAgIFdlYk1ldGFsUmVuZGVyaW5nQ29u
dGV4dCBvcgogI2VuZGlmCiAgICAgSW1hZ2VCaXRtYXBSZW5kZXJpbmdDb250ZXh0IG9yIAogICAg
IENhbnZhc1JlbmRlcmluZ0NvbnRleHQyRCkgUmVuZGVyaW5nQ29udGV4dDsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL0NhbnZhc1JlbmRlcmluZ0NvbnRleHQuaCBiL1Nv
dXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL0NhbnZhc1JlbmRlcmluZ0NvbnRleHQuaAppbmRleCA4
MWNiNTVkNzdlMzE4MDU2NDQ3MDc3NzdhMWUyOTk1NmY0NDNmNjU4Li4yZDJkODg3NTc5MDE4ZDBm
YWZkYWFkZmFlNmQyMmMxZWIzOTA0MWUyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1s
L2NhbnZhcy9DYW52YXNSZW5kZXJpbmdDb250ZXh0LmgKKysrIGIvU291cmNlL1dlYkNvcmUvaHRt
bC9jYW52YXMvQ2FudmFzUmVuZGVyaW5nQ29udGV4dC5oCkBAIC01NSw4ICs1NSw4IEBAIHB1Ymxp
YzoKICAgICB2aXJ0dWFsIGJvb2wgaXNXZWJHTDEoKSBjb25zdCB7IHJldHVybiBmYWxzZTsgfQog
ICAgIHZpcnR1YWwgYm9vbCBpc1dlYkdMMigpIGNvbnN0IHsgcmV0dXJuIGZhbHNlOyB9CiAgICAg
Ym9vbCBpc1dlYkdMKCkgY29uc3QgeyByZXR1cm4gaXNXZWJHTDEoKSB8fCBpc1dlYkdMMigpOyB9
Ci0jaWYgRU5BQkxFKFdFQkdQVSkKLSAgICB2aXJ0dWFsIGJvb2wgaXNXZWJHUFUoKSBjb25zdCB7
IHJldHVybiBmYWxzZTsgfQorI2lmIEVOQUJMRShXRUJNRVRBTCkKKyAgICB2aXJ0dWFsIGJvb2wg
aXNXZWJNZXRhbCgpIGNvbnN0IHsgcmV0dXJuIGZhbHNlOyB9CiAjZW5kaWYKICAgICB2aXJ0dWFs
IGJvb2wgaXNHUFVCYXNlZCgpIGNvbnN0IHsgcmV0dXJuIGZhbHNlOyB9CiAgICAgdmlydHVhbCBi
b29sIGlzQWNjZWxlcmF0ZWQoKSBjb25zdCB7IHJldHVybiBmYWxzZTsgfQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR1BVQnVmZmVyLmNwcCBiL1NvdXJjZS9XZWJD
b3JlL2h0bWwvY2FudmFzL1dlYkdQVUJ1ZmZlci5jcHAKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDk1M2Y0NzQ2OTM4ZGNjYjAyZGYzNmY0YTEyMDEzMThmNDUwZThmMTAuLjAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRt
bC9jYW52YXMvV2ViR1BVQnVmZmVyLmNwcAorKysgL2Rldi9udWxsCkBAIC0xLDQ2ICswLDAgQEAK
LS8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTcgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVk
LgotICoKLSAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9y
bXMsIHdpdGggb3Igd2l0aG91dAotICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3Zp
ZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCi0gKiBhcmUgbWV0OgotICogMS4gUmVk
aXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmln
aHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dp
bmcgZGlzY2xhaW1lci4KLSAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0
IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCi0gKiAgICBk
b2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlz
dHJpYnV0aW9uLgotICoKLSAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5D
LiBgYEFTIElTJycgQU5EIEFOWQotICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElO
Q0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKLSAqIElNUExJRUQgV0FSUkFOVElFUyBP
RiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgotICogUFVSUE9T
RSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IKLSAqIENP
TlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFM
LCBTUEVDSUFMLAotICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xV
RElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAotICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBH
T09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCi0gKiBQUk9GSVRTOyBPUiBC
VVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCi0g
KiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9S
IFRPUlQKLSAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4g
QU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQotICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJ
U0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KLSAqLwotCi0jaW5jbHVkZSAi
Y29uZmlnLmgiCi0jaW5jbHVkZSAiV2ViR1BVQnVmZmVyLmgiCi0KLSNpZiBFTkFCTEUoV0VCR1BV
KQotCi1uYW1lc3BhY2UgV2ViQ29yZSB7Ci0KLVJlZlB0cjxXZWJHUFVCdWZmZXI+IFdlYkdQVUJ1
ZmZlcjo6Y3JlYXRlKEdQVUJ1ZmZlciYmIGJ1ZmZlcikKLXsKLSAgICAvLyBGSVhNRTogQ29uc2lk
ZXIgcmV0dXJuaW5nIG51bGwgcmF0aGVyIHRoYW4gYSBidWZmZXIgd2l0aCBsZW5ndGggMCBhbmQg
Y29udGVudHMgbnVsbCB3aGVuIGNyZWF0aW9uIGZhaWxzLgotICAgIHJldHVybiBhZG9wdFJlZigq
bmV3IFdlYkdQVUJ1ZmZlcihXVEZNb3ZlKGJ1ZmZlcikpKTsKLX0KLQotV2ViR1BVQnVmZmVyOjpX
ZWJHUFVCdWZmZXIoR1BVQnVmZmVyJiYgYnVmZmVyKQotICAgIDogbV9idWZmZXIgeyBXVEZNb3Zl
KGJ1ZmZlcikgfQotewotfQotCi19IC8vIG5hbWVzcGFjZSBXZWJDb3JlCi0KLSNlbmRpZgpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR1BVQnVmZmVyLmggYi9Tb3Vy
Y2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHUFVCdWZmZXIuaApkZWxldGVkIGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMTZjZTRmNmUzZjdmMmIyNjgwZjQ5MmYxMmI1MWUzYTcyMDVmMTY0Yy4uMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9odG1sL2NhbnZhcy9XZWJHUFVCdWZmZXIuaAorKysgL2Rldi9udWxsCkBAIC0xLDUzICswLDAg
QEAKLS8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTcgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2Vy
dmVkLgotICoKLSAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkg
Zm9ybXMsIHdpdGggb3Igd2l0aG91dAotICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHBy
b3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCi0gKiBhcmUgbWV0OgotICogMS4g
UmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5
cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xs
b3dpbmcgZGlzY2xhaW1lci4KLSAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBt
dXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlz
dCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCi0gKiAg
ICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUg
ZGlzdHJpYnV0aW9uLgotICoKLSAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUg
SU5DLiBgYEFTIElTJycgQU5EIEFOWQotICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMs
IElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKLSAqIElNUExJRUQgV0FSUkFOVElF
UyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgotICogUFVS
UE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IKLSAq
IENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVO
VEFMLCBTUEVDSUFMLAotICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElO
Q0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAotICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVU
RSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCi0gKiBQUk9GSVRTOyBP
UiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZ
Ci0gKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFks
IE9SIFRPUlQKLSAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcg
SU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQotICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBB
RFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KLSAqLwotCi0jcHJhZ21h
IG9uY2UKLQotI2lmIEVOQUJMRShXRUJHUFUpCi0KLSNpbmNsdWRlICJHUFVCdWZmZXIuaCIKLSNp
bmNsdWRlIDx3dGYvUmVmQ291bnRlZC5oPgotI2luY2x1ZGUgPHd0Zi9SZWZQdHIuaD4KLQotbmFt
ZXNwYWNlIFdlYkNvcmUgewotCi1jbGFzcyBXZWJHUFVCdWZmZXIgOiBwdWJsaWMgUmVmQ291bnRl
ZDxXZWJHUFVCdWZmZXI+IHsKLXB1YmxpYzoKLSAgICBzdGF0aWMgUmVmUHRyPFdlYkdQVUJ1ZmZl
cj4gY3JlYXRlKEdQVUJ1ZmZlciYmKTsKLQotICAgIHVuc2lnbmVkIGxlbmd0aCgpIGNvbnN0IHsg
cmV0dXJuIG1fYnVmZmVyLmxlbmd0aCgpOyB9Ci0gICAgSlNDOjpBcnJheUJ1ZmZlciYgY29udGVu
dHMoKSBjb25zdCB7IHJldHVybiAqbV9idWZmZXIuY29udGVudHMoKTsgfQotCi0gICAgY29uc3Qg
R1BVQnVmZmVyJiBidWZmZXIoKSBjb25zdCB7IHJldHVybiBtX2J1ZmZlcjsgfQotCi1wcml2YXRl
OgotICAgIGV4cGxpY2l0IFdlYkdQVUJ1ZmZlcihHUFVCdWZmZXImJik7Ci0KLSAgICBHUFVCdWZm
ZXIgbV9idWZmZXI7Ci19OwotCi19IC8vIG5hbWVzcGFjZSBXZWJDb3JlCi0KLSNlbmRpZgpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR1BVQnVmZmVyLmlkbCBiL1Nv
dXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdQVUJ1ZmZlci5pZGwKZGVsZXRlZCBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDVmMTA3ZDM1ZDQ0MGMxNGQ4MGJmZmY0MzlmYmUxNWQxN2RiNWNjNTQu
LjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvU291cmNlL1dl
YkNvcmUvaHRtbC9jYW52YXMvV2ViR1BVQnVmZmVyLmlkbAorKysgL2Rldi9udWxsCkBAIC0xLDM1
ICswLDAgQEAKLS8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTcgQXBwbGUgSW5jLiBBbGwgcmlnaHRz
IHJlc2VydmVkLgotICoKLSAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBi
aW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAotICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0
dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCi0gKiBhcmUgbWV0Ogot
ICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92
ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRo
ZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KLSAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkg
Zm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRo
aXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhl
Ci0gKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0
aCB0aGUgZGlzdHJpYnV0aW9uLgotICoKLSAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkg
QVBQTEUgSU5DLiBgYEFTIElTJycgQU5EIEFOWQotICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJB
TlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKLSAqIElNUExJRUQgV0FS
UkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgot
ICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4g
T1IKLSAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJ
TkNJREVOVEFMLCBTUEVDSUFMLAotICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFH
RVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAotICogUFJPQ1VSRU1FTlQgT0YgU1VC
U1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCi0gKiBQUk9G
SVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkg
VEhFT1JZCi0gKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFC
SUxJVFksIE9SIFRPUlQKLSAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFS
SVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQotICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZF
TiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KLSAqLwotCi1b
Ci0gICAgQ29uZGl0aW9uYWw9V0VCR1BVLAotICAgIEVuYWJsZWRBdFJ1bnRpbWU9V2ViR1BVLAot
ICAgIEltcGxlbWVudGF0aW9uTGFja3NWVGFibGUKLV0gaW50ZXJmYWNlIFdlYkdQVUJ1ZmZlciB7
Ci0KLSAgICByZWFkb25seSBhdHRyaWJ1dGUgdW5zaWduZWQgbG9uZyBsZW5ndGg7Ci0gICAgcmVh
ZG9ubHkgYXR0cmlidXRlIEFycmF5QnVmZmVyVmlldyBjb250ZW50czsKLQotfTsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdQVUNvbW1hbmRCdWZmZXIuY3BwIGIv
U291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR1BVQ29tbWFuZEJ1ZmZlci5jcHAKZGVsZXRl
ZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGFlNWQzOGI1ODU5ZmFkNmE2YjUyMmM5MDdmMzgyNjZh
ZDQyN2RkNjEuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEv
U291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR1BVQ29tbWFuZEJ1ZmZlci5jcHAKKysrIC9k
ZXYvbnVsbApAQCAtMSw4NyArMCwwIEBACi0vKgotICogQ29weXJpZ2h0IChDKSAyMDE3IEFwcGxl
IEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLSAqIENvcHlyaWdodCAoQykgMjAxNyBZdWljaGly
byBLaWt1cmEgKHkua2lrdXJhQGdtYWlsLmNvbSkKLSAqCi0gKiBSZWRpc3RyaWJ1dGlvbiBhbmQg
dXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKLSAqIG1vZGlm
aWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0
aW9ucwotICogYXJlIG1ldDoKLSAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBt
dXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCi0gKiAyLiBSZWRpc3Ry
aWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdo
dAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2lu
ZyBkaXNjbGFpbWVyIGluIHRoZQotICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0
ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KLSAqCi0gKiBUSElTIFNPRlRX
QVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gYGBBUyBJUycnIEFORCBBTlkKLSAqIEVYUFJF
U1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywg
VEhFCi0gKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNT
IEZPUiBBIFBBUlRJQ1VMQVIKLSAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVO
VCBTSEFMTCBBUFBMRSBJTkMuIE9SCi0gKiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkg
RElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKLSAqIEVYRU1QTEFSWSwgT1Ig
Q09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKLSAq
IFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNF
LCBEQVRBLCBPUgotICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVS
IENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQotICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENP
TlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCi0gKiAoSU5DTFVESU5HIE5FR0xJR0VO
Q0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKLSAqIE9G
IFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VD
SCBEQU1BR0UuCi0gKi8KLQotI2luY2x1ZGUgImNvbmZpZy5oIgotI2luY2x1ZGUgIldlYkdQVUNv
bW1hbmRCdWZmZXIuaCIKLQotI2lmIEVOQUJMRShXRUJHUFUpCi0KLSNpbmNsdWRlICJHUFVDb21t
YW5kQnVmZmVyLmgiCi0jaW5jbHVkZSAiR1BVQ29tbWFuZFF1ZXVlLmgiCi0jaW5jbHVkZSAiTG9n
Z2luZy5oIgotI2luY2x1ZGUgIldlYkdQVUNvbXB1dGVDb21tYW5kRW5jb2Rlci5oIgotI2luY2x1
ZGUgIldlYkdQVURyYXdhYmxlLmgiCi0jaW5jbHVkZSAiV2ViR1BVUmVuZGVyQ29tbWFuZEVuY29k
ZXIuaCIKLSNpbmNsdWRlICJXZWJHUFVSZW5kZXJQYXNzRGVzY3JpcHRvci5oIgotCi1uYW1lc3Bh
Y2UgV2ViQ29yZSB7Ci0KLVJlZjxXZWJHUFVDb21tYW5kQnVmZmVyPiBXZWJHUFVDb21tYW5kQnVm
ZmVyOjpjcmVhdGUoY29uc3QgR1BVQ29tbWFuZFF1ZXVlJiBxdWV1ZSkKLXsKLSAgICByZXR1cm4g
YWRvcHRSZWYoKm5ldyBXZWJHUFVDb21tYW5kQnVmZmVyKHF1ZXVlKSk7Ci19Ci0KLVdlYkdQVUNv
bW1hbmRCdWZmZXI6OldlYkdQVUNvbW1hbmRCdWZmZXIoY29uc3QgR1BVQ29tbWFuZFF1ZXVlJiBx
dWV1ZSkKLSAgICA6IG1fYnVmZmVyIHsgcXVldWUsIFt0aGlzXSAoKSB7IG1fY29tcGxldGVkLnJl
c29sdmUoKTsgfSB9Ci17Ci0gICAgTE9HKFdlYkdQVSwgIldlYkdQVUNvbW1hbmRCdWZmZXI6Oldl
YkdQVUNvbW1hbmRCdWZmZXIoKSIpOwotfQotCi1XZWJHUFVDb21tYW5kQnVmZmVyOjp+V2ViR1BV
Q29tbWFuZEJ1ZmZlcigpCi17Ci0gICAgTE9HKFdlYkdQVSwgIldlYkdQVUNvbW1hbmRCdWZmZXI6
On5XZWJHUFVDb21tYW5kQnVmZmVyKCkiKTsKLX0KLQotdm9pZCBXZWJHUFVDb21tYW5kQnVmZmVy
Ojpjb21taXQoKQotewotICAgIExPRyhXZWJHUFUsICJXZWJHUFVDb21tYW5kQnVmZmVyOjpjb21t
aXQoKSIpOwotICAgIG1fYnVmZmVyLmNvbW1pdCgpOwotfQotCi12b2lkIFdlYkdQVUNvbW1hbmRC
dWZmZXI6OnByZXNlbnREcmF3YWJsZShXZWJHUFVEcmF3YWJsZSYgZHJhd2FibGUpCi17Ci0gICAg
TE9HKFdlYkdQVSwgIldlYkdQVUNvbW1hbmRCdWZmZXI6OnByZXNlbnREcmF3YWJsZSgpIik7Ci0g
ICAgbV9idWZmZXIucHJlc2VudERyYXdhYmxlKGRyYXdhYmxlLmRyYXdhYmxlKCkpOwotfQotCi1S
ZWY8V2ViR1BVUmVuZGVyQ29tbWFuZEVuY29kZXI+IFdlYkdQVUNvbW1hbmRCdWZmZXI6OmNyZWF0
ZVJlbmRlckNvbW1hbmRFbmNvZGVyV2l0aERlc2NyaXB0b3IoV2ViR1BVUmVuZGVyUGFzc0Rlc2Ny
aXB0b3ImIGRlc2NyaXB0b3IpCi17Ci0gICAgcmV0dXJuIFdlYkdQVVJlbmRlckNvbW1hbmRFbmNv
ZGVyOjpjcmVhdGUoR1BVUmVuZGVyQ29tbWFuZEVuY29kZXIgeyBtX2J1ZmZlciwgZGVzY3JpcHRv
ci5kZXNjcmlwdG9yKCkgfSk7Ci19Ci0KLVJlZjxXZWJHUFVDb21wdXRlQ29tbWFuZEVuY29kZXI+
IFdlYkdQVUNvbW1hbmRCdWZmZXI6OmNyZWF0ZUNvbXB1dGVDb21tYW5kRW5jb2RlcigpCi17Ci0g
ICAgcmV0dXJuIFdlYkdQVUNvbXB1dGVDb21tYW5kRW5jb2Rlcjo6Y3JlYXRlKEdQVUNvbXB1dGVD
b21tYW5kRW5jb2RlciB7IG1fYnVmZmVyIH0pOwotfQotCi1ET01Qcm9taXNlUHJveHk8SURMVm9p
ZD4mIFdlYkdQVUNvbW1hbmRCdWZmZXI6OmNvbXBsZXRlZCgpCi17Ci0gICAgcmV0dXJuIG1fY29t
cGxldGVkOwotfQotCi19IC8vIG5hbWVzcGFjZSBXZWJDb3JlCi0KLSNlbmRpZgpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR1BVQ29tbWFuZEJ1ZmZlci5oIGIvU291
cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR1BVQ29tbWFuZEJ1ZmZlci5oCmRlbGV0ZWQgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCBiMjBmNGMwNWNlYTE5NTRkNDE3MTMyZTNmZmU5NTgxOTE5ZDRj
ZWVkLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL1NvdXJj
ZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdQVUNvbW1hbmRCdWZmZXIuaAorKysgL2Rldi9udWxs
CkBAIC0xLDY3ICswLDAgQEAKLS8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTcgQXBwbGUgSW5jLiBB
bGwgcmlnaHRzIHJlc2VydmVkLgotICogQ29weXJpZ2h0IChDKSAyMDE3IFl1aWNoaXJvIEtpa3Vy
YSAoeS5raWt1cmFAZ21haWwuY29tKQotICoKLSAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4g
c291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAotICogbW9kaWZpY2F0aW9u
LCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCi0g
KiBhcmUgbWV0OgotICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0
YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRp
dGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KLSAqIDIuIFJlZGlzdHJpYnV0aW9u
cyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAg
ICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2Ns
YWltZXIgaW4gdGhlCi0gKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMg
cHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgotICoKLSAqIFRISVMgU09GVFdBUkUgSVMg
UFJPVklERUQgQlkgQVBQTEUgSU5DLiBgYEFTIElTJycgQU5EIEFOWQotICogRVhQUkVTUyBPUiBJ
TVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKLSAq
IElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEg
UEFSVElDVUxBUgotICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxM
IEFQUExFIElOQy4gT1IKLSAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1Qs
IElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAotICogRVhFTVBMQVJZLCBPUiBDT05TRVFV
RU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAotICogUFJPQ1VS
RU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEs
IE9SCi0gKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VE
IEFORCBPTiBBTlkgVEhFT1JZCi0gKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1Qs
IFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKLSAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBP
VEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQotICogT0YgVEhJUyBT
T0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFH
RS4KLSAqLwotCi0jcHJhZ21hIG9uY2UKLQotI2lmIEVOQUJMRShXRUJHUFUpCi0KLSNpbmNsdWRl
ICJET01Qcm9taXNlUHJveHkuaCIKLSNpbmNsdWRlICJHUFVDb21tYW5kQnVmZmVyLmgiCi0jaW5j
bHVkZSA8d3RmL1JlZi5oPgotI2luY2x1ZGUgPHd0Zi9SZWZDb3VudGVkLmg+Ci0KLW5hbWVzcGFj
ZSBXZWJDb3JlIHsKLQotY2xhc3MgV2ViR1BVQ29tcHV0ZUNvbW1hbmRFbmNvZGVyOwotY2xhc3Mg
V2ViR1BVRHJhd2FibGU7Ci1jbGFzcyBXZWJHUFVSZW5kZXJDb21tYW5kRW5jb2RlcjsKLWNsYXNz
IFdlYkdQVVJlbmRlclBhc3NEZXNjcmlwdG9yOwotCi1jbGFzcyBXZWJHUFVDb21tYW5kQnVmZmVy
IDogcHVibGljIFJlZkNvdW50ZWQ8V2ViR1BVQ29tbWFuZEJ1ZmZlcj4gewotcHVibGljOgotICAg
IH5XZWJHUFVDb21tYW5kQnVmZmVyKCk7Ci0gICAgc3RhdGljIFJlZjxXZWJHUFVDb21tYW5kQnVm
ZmVyPiBjcmVhdGUoY29uc3QgR1BVQ29tbWFuZFF1ZXVlJik7Ci0KLSAgICB2b2lkIGNvbW1pdCgp
OwotICAgIHZvaWQgcHJlc2VudERyYXdhYmxlKFdlYkdQVURyYXdhYmxlJik7Ci0KLSAgICBSZWY8
V2ViR1BVUmVuZGVyQ29tbWFuZEVuY29kZXI+IGNyZWF0ZVJlbmRlckNvbW1hbmRFbmNvZGVyV2l0
aERlc2NyaXB0b3IoV2ViR1BVUmVuZGVyUGFzc0Rlc2NyaXB0b3ImKTsKLSAgICBSZWY8V2ViR1BV
Q29tcHV0ZUNvbW1hbmRFbmNvZGVyPiBjcmVhdGVDb21wdXRlQ29tbWFuZEVuY29kZXIoKTsKLQot
ICAgIERPTVByb21pc2VQcm94eTxJRExWb2lkPiYgY29tcGxldGVkKCk7Ci0KLSAgICBjb25zdCBH
UFVDb21tYW5kQnVmZmVyJiBidWZmZXIoKSBjb25zdCB7IHJldHVybiBtX2J1ZmZlcjsgfQotCi1w
cml2YXRlOgotICAgIGV4cGxpY2l0IFdlYkdQVUNvbW1hbmRCdWZmZXIoY29uc3QgR1BVQ29tbWFu
ZFF1ZXVlJik7Ci0KLSAgICBHUFVDb21tYW5kQnVmZmVyIG1fYnVmZmVyOwotICAgIERPTVByb21p
c2VQcm94eTxJRExWb2lkPiBtX2NvbXBsZXRlZDsKLX07Ci0KLX0gLy8gbmFtZXNwYWNlIFdlYkNv
cmUKLQotI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJH
UFVDb21tYW5kQnVmZmVyLmlkbCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdQVUNv
bW1hbmRCdWZmZXIuaWRsCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAzNDgyYTU2OTQ1
YTA2NTk1NmNmNzNjNjllYWViNjBmNTcyNThmNjhiLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwCi0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdQVUNv
bW1hbmRCdWZmZXIuaWRsCisrKyAvZGV2L251bGwKQEAgLTEsMzcgKzAsMCBAQAotLyoKLSAqIENv
cHlyaWdodCAoQykgMjAxNyBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0gKiBDb3B5
cmlnaHQgKEMpIDIwMTcgWXVpY2hpcm8gS2lrdXJhICh5Lmtpa3VyYUBnbWFpbC5jb20pCi0gKgot
ICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0
aCBvciB3aXRob3V0Ci0gKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhh
dCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKLSAqIGFyZSBtZXQ6Ci0gKiAxLiBSZWRpc3RyaWJ1
dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAotICog
ICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNj
bGFpbWVyLgotICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9k
dWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRp
dGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKLSAqICAgIGRvY3VtZW50
YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRp
b24uCi0gKgotICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIGBgQVMg
SVMnJyBBTkQgQU5ZCi0gKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5H
LCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQotICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNI
QU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCi0gKiBQVVJQT1NFIEFSRSBE
SVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUgotICogQ09OVFJJQlVU
T1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJ
QUwsCi0gKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBC
VVQgTk9UIExJTUlURUQgVE8sCi0gKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9S
IFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKLSAqIFBST0ZJVFM7IE9SIEJVU0lORVNT
IElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKLSAqIE9GIExJ
QUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAot
ICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZ
IE9VVCBPRiBUSEUgVVNFCi0gKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0Yg
VEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgotICovCi0KLVsKLSAgICBDb25kaXRpb25h
bD1XRUJHUFUsCi0gICAgRW5hYmxlZEF0UnVudGltZT1XZWJHUFUsCi0gICAgSW1wbGVtZW50YXRp
b25MYWNrc1ZUYWJsZQotXSBpbnRlcmZhY2UgV2ViR1BVQ29tbWFuZEJ1ZmZlciB7Ci0gICAgV2Vi
R1BVUmVuZGVyQ29tbWFuZEVuY29kZXIgY3JlYXRlUmVuZGVyQ29tbWFuZEVuY29kZXJXaXRoRGVz
Y3JpcHRvcihXZWJHUFVSZW5kZXJQYXNzRGVzY3JpcHRvciBkZXNjcmlwdG9yKTsKLSAgICBXZWJH
UFVDb21wdXRlQ29tbWFuZEVuY29kZXIgY3JlYXRlQ29tcHV0ZUNvbW1hbmRFbmNvZGVyKCk7Ci0g
ICAgdm9pZCBjb21taXQoKTsKLSAgICB2b2lkIHByZXNlbnREcmF3YWJsZShXZWJHUFVEcmF3YWJs
ZSBkcmF3YWJsZSk7Ci0gICAgcmVhZG9ubHkgYXR0cmlidXRlIFByb21pc2U8dm9pZD4gY29tcGxl
dGVkOwotfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdQVUNv
bW1hbmRRdWV1ZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHUFVDb21tYW5k
UXVldWUuY3BwCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA4NTA5MGFkNGU2OTNkNmU2
ZTYwYTU4OTM5MmI4MTZmY2I1ZjM4YmJkLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwCi0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdQVUNvbW1hbmRR
dWV1ZS5jcHAKKysrIC9kZXYvbnVsbApAQCAtMSw1NCArMCwwIEBACi0vKgotICogQ29weXJpZ2h0
IChDKSAyMDE3IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLSAqCi0gKiBSZWRpc3Ry
aWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhv
dXQKLSAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xs
b3dpbmcgY29uZGl0aW9ucwotICogYXJlIG1ldDoKLSAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBz
b3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2Us
IHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCi0g
KiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFi
b3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQg
dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQotICogICAgZG9jdW1lbnRhdGlvbiBhbmQv
b3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KLSAqCi0g
KiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gYGBBUyBJUycnIEFORCBB
TlkKLSAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1Qg
TElNSVRFRCBUTywgVEhFCi0gKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZ
IEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKLSAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQu
ICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SCi0gKiBDT05UUklCVVRPUlMgQkUgTElB
QkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKLSAqIEVY
RU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElN
SVRFRCBUTywKLSAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7
IExPU1MgT0YgVVNFLCBEQVRBLCBPUgotICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBU
SU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQotICogT0YgTElBQklMSVRZLCBX
SEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCi0gKiAoSU5DTFVE
SU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRI
RSBVU0UKLSAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lC
SUxJVFkgT0YgU1VDSCBEQU1BR0UuCi0gKi8KLQotI2luY2x1ZGUgImNvbmZpZy5oIgotI2luY2x1
ZGUgIldlYkdQVUNvbW1hbmRRdWV1ZS5oIgotCi0jaWYgRU5BQkxFKFdFQkdQVSkKLQotI2luY2x1
ZGUgIldlYkdQVUNvbW1hbmRCdWZmZXIuaCIKLQotbmFtZXNwYWNlIFdlYkNvcmUgewotCi1SZWY8
V2ViR1BVQ29tbWFuZFF1ZXVlPiBXZWJHUFVDb21tYW5kUXVldWU6OmNyZWF0ZShHUFVDb21tYW5k
UXVldWUmJiBxdWV1ZSkKLXsKLSAgICByZXR1cm4gYWRvcHRSZWYoKm5ldyBXZWJHUFVDb21tYW5k
UXVldWUoV1RGTW92ZShxdWV1ZSkpKTsKLX0KLQotV2ViR1BVQ29tbWFuZFF1ZXVlOjpXZWJHUFVD
b21tYW5kUXVldWUoR1BVQ29tbWFuZFF1ZXVlJiYgcXVldWUpCi0gICAgOiBtX3F1ZXVlIHsgV1RG
TW92ZShxdWV1ZSkgfQotewotfQotCi1XZWJHUFVDb21tYW5kUXVldWU6On5XZWJHUFVDb21tYW5k
UXVldWUoKSA9IGRlZmF1bHQ7Ci0KLVJlZjxXZWJHUFVDb21tYW5kQnVmZmVyPiBXZWJHUFVDb21t
YW5kUXVldWU6OmNyZWF0ZUNvbW1hbmRCdWZmZXIoKQotewotICAgIHJldHVybiBXZWJHUFVDb21t
YW5kQnVmZmVyOjpjcmVhdGUobV9xdWV1ZSk7Ci19Ci0KLX0gLy8gbmFtZXNwYWNlIFdlYkNvcmUK
LQotI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHUFVD
b21tYW5kUXVldWUuaCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdQVUNvbW1hbmRR
dWV1ZS5oCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBkOWIzZmMxY2ExYzljNjlkOTE4
ZmNlMjJiZDJlODQ1YTY4OGZiZTQxLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwCi0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdQVUNvbW1hbmRRdWV1
ZS5oCisrKyAvZGV2L251bGwKQEAgLTEsNTYgKzAsMCBAQAotLyoKLSAqIENvcHlyaWdodCAoQykg
MjAxNyBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0gKgotICogUmVkaXN0cmlidXRp
b24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Ci0g
KiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5n
IGNvbmRpdGlvbnMKLSAqIGFyZSBtZXQ6Ci0gKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNl
IGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlz
IGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgotICogMi4g
UmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBj
b3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBm
b2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKLSAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90
aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCi0gKgotICogVEhJ
UyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCi0g
KiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlU
RUQgVE8sIFRIRQotICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQg
RklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCi0gKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4g
Tk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUgotICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBG
T1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCi0gKiBFWEVNUExB
UlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQg
VE8sCi0gKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NT
IE9GIFVTRSwgREFUQSwgT1IKLSAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikg
SE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKLSAqIE9GIExJQUJJTElUWSwgV0hFVEhF
UiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAotICogKElOQ0xVRElORyBO
RUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNF
Ci0gKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZ
IE9GIFNVQ0ggREFNQUdFLgotICovCi0KLSNwcmFnbWEgb25jZQotCi0jaWYgRU5BQkxFKFdFQkdQ
VSkKLQotI2luY2x1ZGUgIkdQVUNvbW1hbmRRdWV1ZS5oIgotI2luY2x1ZGUgPHd0Zi9SZWYuaD4K
LSNpbmNsdWRlIDx3dGYvUmVmQ291bnRlZC5oPgotCi1uYW1lc3BhY2UgV2ViQ29yZSB7Ci0KLWNs
YXNzIFdlYkdQVUNvbW1hbmRCdWZmZXI7Ci0KLWNsYXNzIFdlYkdQVUNvbW1hbmRRdWV1ZSA6IHB1
YmxpYyBSZWZDb3VudGVkPFdlYkdQVUNvbW1hbmRRdWV1ZT4gewotcHVibGljOgotICAgIH5XZWJH
UFVDb21tYW5kUXVldWUoKTsKLSAgICBzdGF0aWMgUmVmPFdlYkdQVUNvbW1hbmRRdWV1ZT4gY3Jl
YXRlKEdQVUNvbW1hbmRRdWV1ZSYmKTsKLQotICAgIFN0cmluZyBsYWJlbCgpIGNvbnN0IHsgcmV0
dXJuIG1fcXVldWUubGFiZWwoKTsgfQotICAgIHZvaWQgc2V0TGFiZWwoY29uc3QgU3RyaW5nJiBs
YWJlbCkgeyBtX3F1ZXVlLnNldExhYmVsKGxhYmVsKTsgfQotCi0gICAgUmVmPFdlYkdQVUNvbW1h
bmRCdWZmZXI+IGNyZWF0ZUNvbW1hbmRCdWZmZXIoKTsKLQotcHJpdmF0ZToKLSAgICBleHBsaWNp
dCBXZWJHUFVDb21tYW5kUXVldWUoR1BVQ29tbWFuZFF1ZXVlJiYpOwotCi0gICAgR1BVQ29tbWFu
ZFF1ZXVlIG1fcXVldWU7Ci19OwotCi19IC8vIG5hbWVzcGFjZSBXZWJDb3JlCi0KLSNlbmRpZgpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR1BVQ29tbWFuZFF1ZXVl
LmlkbCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdQVUNvbW1hbmRRdWV1ZS5pZGwK
ZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDRiOTY1MDM3NGQxYjJmMmQ3ZmQ1NTM1YmQy
ZjZmZDJlNGY5NjU2MTIuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAK
LS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR1BVQ29tbWFuZFF1ZXVlLmlkbAor
KysgL2Rldi9udWxsCkBAIC0xLDM2ICswLDAgQEAKLS8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTcg
QXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgotICoKLSAqIFJlZGlzdHJpYnV0aW9uIGFu
ZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAotICogbW9k
aWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25k
aXRpb25zCi0gKiBhcmUgbWV0OgotICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2Rl
IG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KLSAqIDIuIFJlZGlz
dHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJp
Z2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93
aW5nIGRpc2NsYWltZXIgaW4gdGhlCi0gKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBt
YXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgotICoKLSAqIFRISVMgU09G
VFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBgYEFTIElTJycgQU5EIEFOWQotICogRVhQ
UkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRP
LCBUSEUKLSAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5F
U1MgRk9SIEEgUEFSVElDVUxBUgotICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVW
RU5UIFNIQUxMIEFQUExFIElOQy4gT1IKLSAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFO
WSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAotICogRVhFTVBMQVJZLCBP
UiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAot
ICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBV
U0UsIERBVEEsIE9SCi0gKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VW
RVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCi0gKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4g
Q09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKLSAqIChJTkNMVURJTkcgTkVHTElH
RU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQotICog
T0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBT
VUNIIERBTUFHRS4KLSAqLwotCi1bCi0gICAgQ29uZGl0aW9uYWw9V0VCR1BVLAotICAgIEVuYWJs
ZWRBdFJ1bnRpbWU9V2ViR1BVLAotICAgIEltcGxlbWVudGF0aW9uTGFja3NWVGFibGUKLV0gaW50
ZXJmYWNlIFdlYkdQVUNvbW1hbmRRdWV1ZSB7Ci0KLSAgICBhdHRyaWJ1dGUgRE9NU3RyaW5nIGxh
YmVsOwotCi0gICAgV2ViR1BVQ29tbWFuZEJ1ZmZlciBjcmVhdGVDb21tYW5kQnVmZmVyKCk7Ci0K
LX07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHUFVDb21wdXRl
Q29tbWFuZEVuY29kZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR1BVQ29t
cHV0ZUNvbW1hbmRFbmNvZGVyLmNwcApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZmI3
MmMzMmMyYjFlODdiYTZhMjU5MzE0MDA3N2Y0OGEwMjUzYjZhMS4uMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9X
ZWJHUFVDb21wdXRlQ29tbWFuZEVuY29kZXIuY3BwCisrKyAvZGV2L251bGwKQEAgLTEsNzcgKzAs
MCBAQAotLyoKLSAqIENvcHlyaWdodCAoQykgMjAxNyBZdWljaGlybyBLaWt1cmEgKHkua2lrdXJh
QGdtYWlsLmNvbSkKLSAqCi0gKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQg
YmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKLSAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1p
dHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwotICogYXJlIG1ldDoK
LSAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJv
dmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCi0gKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5
IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0
aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRo
ZQotICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdp
dGggdGhlIGRpc3RyaWJ1dGlvbi4KLSAqCi0gKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZ
IEFQUExFIElOQy4gYGBBUyBJUycnIEFORCBBTlkKLSAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJS
QU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCi0gKiBJTVBMSUVEIFdB
UlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIK
LSAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMu
IE9SCi0gKiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwg
SU5DSURFTlRBTCwgU1BFQ0lBTCwKLSAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1B
R0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKLSAqIFBST0NVUkVNRU5UIE9GIFNV
QlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgotICogUFJP
RklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5Z
IFRIRU9SWQotICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElB
QklMSVRZLCBPUiBUT1JUCi0gKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBB
UklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKLSAqIE9GIFRISVMgU09GVFdBUkUsIEVW
RU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCi0gKi8KLQot
I2luY2x1ZGUgImNvbmZpZy5oIgotI2luY2x1ZGUgIldlYkdQVUNvbXB1dGVDb21tYW5kRW5jb2Rl
ci5oIgotCi0jaWYgRU5BQkxFKFdFQkdQVSkKLQotI2luY2x1ZGUgIkdQVUNvbW1hbmRCdWZmZXIu
aCIKLSNpbmNsdWRlICJHUFVDb21wdXRlQ29tbWFuZEVuY29kZXIuaCIKLSNpbmNsdWRlICJHUFVT
aXplLmgiCi0jaW5jbHVkZSAiV2ViR1BVQnVmZmVyLmgiCi0jaW5jbHVkZSAiV2ViR1BVQ29tbWFu
ZEJ1ZmZlci5oIgotI2luY2x1ZGUgIldlYkdQVUNvbXB1dGVQaXBlbGluZVN0YXRlLmgiCi0KLW5h
bWVzcGFjZSBXZWJDb3JlIHsKLQotc3RhdGljIGlubGluZSBHUFVTaXplIEdQVVNpemVNYWtlKFdl
YkdQVVNpemUgc2l6ZSkKLXsKLSAgICByZXR1cm4geyBzaXplLndpZHRoLCBzaXplLmhlaWdodCwg
c2l6ZS5kZXB0aCB9OwotfQotCi1SZWY8V2ViR1BVQ29tcHV0ZUNvbW1hbmRFbmNvZGVyPiBXZWJH
UFVDb21wdXRlQ29tbWFuZEVuY29kZXI6OmNyZWF0ZShHUFVDb21wdXRlQ29tbWFuZEVuY29kZXIm
JiBlbmNvZGVyKQotewotICAgIHJldHVybiBhZG9wdFJlZigqbmV3IFdlYkdQVUNvbXB1dGVDb21t
YW5kRW5jb2RlcihXVEZNb3ZlKGVuY29kZXIpKSk7Ci19Ci0gICAgCi1XZWJHUFVDb21wdXRlQ29t
bWFuZEVuY29kZXI6OldlYkdQVUNvbXB1dGVDb21tYW5kRW5jb2RlcihHUFVDb21wdXRlQ29tbWFu
ZEVuY29kZXImJiBlbmNvZGVyKQotICAgIDogbV9lbmNvZGVyIHsgV1RGTW92ZShlbmNvZGVyKSB9
Ci17Ci19Ci0KLXZvaWQgV2ViR1BVQ29tcHV0ZUNvbW1hbmRFbmNvZGVyOjpzZXRDb21wdXRlUGlw
ZWxpbmVTdGF0ZShXZWJHUFVDb21wdXRlUGlwZWxpbmVTdGF0ZSYgcGlwZWxpbmVTdGF0ZSkKLXsK
LSAgICBtX2VuY29kZXIuc2V0Q29tcHV0ZVBpcGVsaW5lU3RhdGUocGlwZWxpbmVTdGF0ZS5zdGF0
ZSgpKTsKLX0KLQotdm9pZCBXZWJHUFVDb21wdXRlQ29tbWFuZEVuY29kZXI6OnNldEJ1ZmZlcihX
ZWJHUFVCdWZmZXImIGJ1ZmZlciwgdW5zaWduZWQgb2Zmc2V0LCB1bnNpZ25lZCBpbmRleCkKLXsK
LSAgICBtX2VuY29kZXIuc2V0QnVmZmVyKGJ1ZmZlci5idWZmZXIoKSwgb2Zmc2V0LCBpbmRleCk7
Ci19Ci0KLXZvaWQgV2ViR1BVQ29tcHV0ZUNvbW1hbmRFbmNvZGVyOjpkaXNwYXRjaChXZWJHUFVT
aXplIHRocmVhZGdyb3Vwc1BlckdyaWQsIFdlYkdQVVNpemUgdGhyZWFkc1BlclRocmVhZGdyb3Vw
KQotewotICAgIG1fZW5jb2Rlci5kaXNwYXRjaChHUFVTaXplTWFrZSh0aHJlYWRncm91cHNQZXJH
cmlkKSwgR1BVU2l6ZU1ha2UodGhyZWFkc1BlclRocmVhZGdyb3VwKSk7Ci19Ci0KLXZvaWQgV2Vi
R1BVQ29tcHV0ZUNvbW1hbmRFbmNvZGVyOjplbmRFbmNvZGluZygpCi17Ci0gICAgbV9lbmNvZGVy
LmVuZEVuY29kaW5nKCk7Ci19Ci0KLX0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKLQotI2VuZGlmCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHUFVDb21wdXRlQ29tbWFu
ZEVuY29kZXIuaCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdQVUNvbXB1dGVDb21t
YW5kRW5jb2Rlci5oCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBjODEzNGYyNmEyMmEx
YWEwZGM2MWQyYmJhZTIxZjVkODExMDJmYTMxLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwCi0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdQVUNvbXB1
dGVDb21tYW5kRW5jb2Rlci5oCisrKyAvZGV2L251bGwKQEAgLTEsNTcgKzAsMCBAQAotLyoKLSAq
IENvcHlyaWdodCAoQykgMjAxNyBZdWljaGlybyBLaWt1cmEgKHkua2lrdXJhQGdtYWlsLmNvbSkK
LSAqCi0gKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1z
LCB3aXRoIG9yIHdpdGhvdXQKLSAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRl
ZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwotICogYXJlIG1ldDoKLSAqIDEuIFJlZGlz
dHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0
Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5n
IGRpc2NsYWltZXIuCi0gKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCBy
ZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2Yg
Y29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQotICogICAgZG9j
dW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3Ry
aWJ1dGlvbi4KLSAqCi0gKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4g
YGBBUyBJUycnIEFORCBBTlkKLSAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNM
VURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCi0gKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0Yg
TUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKLSAqIFBVUlBPU0Ug
QVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SCi0gKiBDT05U
UklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwg
U1BFQ0lBTCwKLSAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJ
TkcsIEJVVCBOT1QgTElNSVRFRCBUTywKLSAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09P
RFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgotICogUFJPRklUUzsgT1IgQlVT
SU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQotICog
T0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBU
T1JUCi0gKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFO
WSBXQVkgT1VUIE9GIFRIRSBVU0UKLSAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNF
RCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCi0gKi8KLQotI3ByYWdtYSBvbmNl
Ci0KLSNpZiBFTkFCTEUoV0VCR1BVKQotCi0jaW5jbHVkZSAiR1BVQ29tcHV0ZUNvbW1hbmRFbmNv
ZGVyLmgiCi0jaW5jbHVkZSAiV2ViR1BVU2l6ZS5oIgotI2luY2x1ZGUgPHd0Zi9SZWYuaD4KLSNp
bmNsdWRlIDx3dGYvUmVmQ291bnRlZC5oPgotCi1uYW1lc3BhY2UgV2ViQ29yZSB7Ci0KLWNsYXNz
IFdlYkdQVUJ1ZmZlcjsKLWNsYXNzIFdlYkdQVUNvbXB1dGVQaXBlbGluZVN0YXRlOwotCi1jbGFz
cyBXZWJHUFVDb21wdXRlQ29tbWFuZEVuY29kZXIgOiBwdWJsaWMgUmVmQ291bnRlZDxXZWJHUFVD
b21wdXRlQ29tbWFuZEVuY29kZXI+IHsKLXB1YmxpYzoKLSAgICBzdGF0aWMgUmVmPFdlYkdQVUNv
bXB1dGVDb21tYW5kRW5jb2Rlcj4gY3JlYXRlKEdQVUNvbXB1dGVDb21tYW5kRW5jb2RlciYmKTsK
LQotICAgIHZvaWQgc2V0Q29tcHV0ZVBpcGVsaW5lU3RhdGUoV2ViR1BVQ29tcHV0ZVBpcGVsaW5l
U3RhdGUmKTsKLSAgICB2b2lkIHNldEJ1ZmZlcihXZWJHUFVCdWZmZXImLCB1bnNpZ25lZCwgdW5z
aWduZWQpOwotICAgIHZvaWQgZGlzcGF0Y2goV2ViR1BVU2l6ZSwgV2ViR1BVU2l6ZSk7Ci0gICAg
dm9pZCBlbmRFbmNvZGluZygpOwotCi1wcml2YXRlOgotICAgIGV4cGxpY2l0IFdlYkdQVUNvbXB1
dGVDb21tYW5kRW5jb2RlcihHUFVDb21wdXRlQ29tbWFuZEVuY29kZXImJik7Ci0KLSAgICBHUFVD
b21wdXRlQ29tbWFuZEVuY29kZXIgbV9lbmNvZGVyOwotfTsKLQotfSAvLyBuYW1lc3BhY2UgV2Vi
Q29yZQotCi0jZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dl
YkdQVUNvbXB1dGVDb21tYW5kRW5jb2Rlci5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZh
cy9XZWJHUFVDb21wdXRlQ29tbWFuZEVuY29kZXIuaWRsCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAxNTJmYzUyMzhjM2ZhMmNiZTc3YmE4ODIwNDdlNjJmOTQ0NjgyYjgwLi4wMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0
bWwvY2FudmFzL1dlYkdQVUNvbXB1dGVDb21tYW5kRW5jb2Rlci5pZGwKKysrIC9kZXYvbnVsbApA
QCAtMSwzOCArMCwwIEBACi0vKgotICogQ29weXJpZ2h0IChDKSAyMDE3IFl1aWNoaXJvIEtpa3Vy
YSAoeS5raWt1cmFAZ21haWwuY29tKQotICoKLSAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4g
c291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAotICogbW9kaWZpY2F0aW9u
LCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCi0g
KiBhcmUgbWV0OgotICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0
YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRp
dGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KLSAqIDIuIFJlZGlzdHJpYnV0aW9u
cyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAg
ICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2Ns
YWltZXIgaW4gdGhlCi0gKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMg
cHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgotICoKLSAqIFRISVMgU09GVFdBUkUgSVMg
UFJPVklERUQgQlkgQVBQTEUgSU5DLiBgYEFTIElTJycgQU5EIEFOWQotICogRVhQUkVTUyBPUiBJ
TVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKLSAq
IElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEg
UEFSVElDVUxBUgotICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxM
IEFQUExFIElOQy4gT1IKLSAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1Qs
IElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAotICogRVhFTVBMQVJZLCBPUiBDT05TRVFV
RU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAotICogUFJPQ1VS
RU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEs
IE9SCi0gKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VE
IEFORCBPTiBBTlkgVEhFT1JZCi0gKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1Qs
IFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKLSAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBP
VEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQotICogT0YgVEhJUyBT
T0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFH
RS4KLSAqLwotCi1bCi0gICAgQ29uZGl0aW9uYWw9V0VCR1BVLAotICAgIEVuYWJsZWRBdFJ1bnRp
bWU9V2ViR1BVLAotICAgIEltcGxlbWVudGF0aW9uTGFja3NWVGFibGUKLV0gaW50ZXJmYWNlIFdl
YkdQVUNvbXB1dGVDb21tYW5kRW5jb2RlciB7Ci0KLSAgICB2b2lkIHNldENvbXB1dGVQaXBlbGlu
ZVN0YXRlKFdlYkdQVUNvbXB1dGVQaXBlbGluZVN0YXRlIHBpcGVsaW5lU3RhdGUpOwotICAgIHZv
aWQgc2V0QnVmZmVyKFdlYkdQVUJ1ZmZlciBidWZmZXIsIHVuc2lnbmVkIGxvbmcgb2Zmc2V0LCB1
bnNpZ25lZCBsb25nIGluZGV4KTsKLSAgICB2b2lkIGRpc3BhdGNoKFdlYkdQVVNpemUgdGhyZWFk
Z3JvdXBzUGVyR3JpZCwgV2ViR1BVU2l6ZSB0aHJlYWRzUGVyVGhyZWFkZ3JvdXApOwotCi0gICAg
dm9pZCBlbmRFbmNvZGluZygpOwotCi19OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRt
bC9jYW52YXMvV2ViR1BVQ29tcHV0ZVBpcGVsaW5lU3RhdGUuY3BwIGIvU291cmNlL1dlYkNvcmUv
aHRtbC9jYW52YXMvV2ViR1BVQ29tcHV0ZVBpcGVsaW5lU3RhdGUuY3BwCmRlbGV0ZWQgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCA1ZmEzMzFlNDA2N2FlYTdkZDlmZWU5YWRhN2UwZjBlMmUyYWFiMmJj
Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL1NvdXJjZS9X
ZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdQVUNvbXB1dGVQaXBlbGluZVN0YXRlLmNwcAorKysgL2Rl
di9udWxsCkBAIC0xLDQ1ICswLDAgQEAKLS8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTcgWXVpY2hp
cm8gS2lrdXJhICh5Lmtpa3VyYUBnbWFpbC5jb20pCi0gKgotICogUmVkaXN0cmlidXRpb24gYW5k
IHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Ci0gKiBtb2Rp
ZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRp
dGlvbnMKLSAqIGFyZSBtZXQ6Ci0gKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUg
bXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qg
b2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgotICogMi4gUmVkaXN0
cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmln
aHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dp
bmcgZGlzY2xhaW1lciBpbiB0aGUKLSAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1h
dGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCi0gKgotICogVEhJUyBTT0ZU
V0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCi0gKiBFWFBS
RVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8s
IFRIRQotICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVT
UyBGT1IgQSBQQVJUSUNVTEFSCi0gKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZF
TlQgU0hBTEwgQVBQTEUgSU5DLiBPUgotICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5Z
IERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCi0gKiBFWEVNUExBUlksIE9S
IENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCi0g
KiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVT
RSwgREFUQSwgT1IKLSAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZF
UiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKLSAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBD
T05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAotICogKElOQ0xVRElORyBORUdMSUdF
TkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCi0gKiBP
RiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNV
Q0ggREFNQUdFLgotICovCi0KLSNpbmNsdWRlICJjb25maWcuaCIKLSNpbmNsdWRlICJXZWJHUFVD
b21wdXRlUGlwZWxpbmVTdGF0ZS5oIgotCi0jaWYgRU5BQkxFKFdFQkdQVSkKLQotbmFtZXNwYWNl
IFdlYkNvcmUgewotCi1SZWY8V2ViR1BVQ29tcHV0ZVBpcGVsaW5lU3RhdGU+IFdlYkdQVUNvbXB1
dGVQaXBlbGluZVN0YXRlOjpjcmVhdGUoR1BVQ29tcHV0ZVBpcGVsaW5lU3RhdGUmJiBzdGF0ZSkK
LXsKLSAgICByZXR1cm4gYWRvcHRSZWYoKm5ldyBXZWJHUFVDb21wdXRlUGlwZWxpbmVTdGF0ZShX
VEZNb3ZlKHN0YXRlKSkpOwotfQotCi1XZWJHUFVDb21wdXRlUGlwZWxpbmVTdGF0ZTo6V2ViR1BV
Q29tcHV0ZVBpcGVsaW5lU3RhdGUoR1BVQ29tcHV0ZVBpcGVsaW5lU3RhdGUmJiBzdGF0ZSkKLSAg
ICA6IG1fc3RhdGUgeyBXVEZNb3ZlKHN0YXRlKSB9Ci17Ci19Ci0KLX0gLy8gbmFtZXNwYWNlIFdl
YkNvcmUKLQotI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9X
ZWJHUFVDb21wdXRlUGlwZWxpbmVTdGF0ZS5oIGIvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMv
V2ViR1BVQ29tcHV0ZVBpcGVsaW5lU3RhdGUuaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggYjFjZGVmNDBiMzJiMWJkZWUwZDk4MWIzMjk3ZWNmZWI2MDg3NGM1ZS4uMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL2Nh
bnZhcy9XZWJHUFVDb21wdXRlUGlwZWxpbmVTdGF0ZS5oCisrKyAvZGV2L251bGwKQEAgLTEsNTIg
KzAsMCBAQAotLyoKLSAqIENvcHlyaWdodCAoQykgMjAxNyBZdWljaGlybyBLaWt1cmEgKHkua2lr
dXJhQGdtYWlsLmNvbSkKLSAqCi0gKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBh
bmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKLSAqIG1vZGlmaWNhdGlvbiwgYXJlIHBl
cm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwotICogYXJlIG1l
dDoKLSAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUg
YWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFu
ZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCi0gKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmlu
YXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNl
LCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGlu
IHRoZQotICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVk
IHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KLSAqCi0gKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVE
IEJZIEFQUExFIElOQy4gYGBBUyBJUycnIEFORCBBTlkKLSAqIEVYUFJFU1MgT1IgSU1QTElFRCBX
QVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCi0gKiBJTVBMSUVE
IFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VM
QVIKLSAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJ
TkMuIE9SCi0gKiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVD
VCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKLSAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBE
QU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKLSAqIFBST0NVUkVNRU5UIE9G
IFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgotICog
UFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04g
QU5ZIFRIRU9SWQotICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1Qg
TElBQklMSVRZLCBPUiBUT1JUCi0gKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNF
KSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKLSAqIE9GIFRISVMgU09GVFdBUkUs
IEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCi0gKi8K
LQotI3ByYWdtYSBvbmNlCi0KLSNpZiBFTkFCTEUoV0VCR1BVKQotCi0jaW5jbHVkZSAiR1BVQ29t
cHV0ZVBpcGVsaW5lU3RhdGUuaCIKLSNpbmNsdWRlIDx3dGYvUmVmLmg+Ci0jaW5jbHVkZSA8d3Rm
L1JlZkNvdW50ZWQuaD4KLQotbmFtZXNwYWNlIFdlYkNvcmUgewotCi1jbGFzcyBXZWJHUFVGdW5j
dGlvbjsKLQotY2xhc3MgV2ViR1BVQ29tcHV0ZVBpcGVsaW5lU3RhdGUgOiBwdWJsaWMgUmVmQ291
bnRlZDxXZWJHUFVDb21wdXRlUGlwZWxpbmVTdGF0ZT4gewotcHVibGljOgotICAgIHN0YXRpYyBS
ZWY8V2ViR1BVQ29tcHV0ZVBpcGVsaW5lU3RhdGU+IGNyZWF0ZShHUFVDb21wdXRlUGlwZWxpbmVT
dGF0ZSYmKTsKLQotICAgIEdQVUNvbXB1dGVQaXBlbGluZVN0YXRlJiBzdGF0ZSgpIHsgcmV0dXJu
IG1fc3RhdGU7IH0KLQotcHJpdmF0ZToKLSAgICBleHBsaWNpdCBXZWJHUFVDb21wdXRlUGlwZWxp
bmVTdGF0ZShHUFVDb21wdXRlUGlwZWxpbmVTdGF0ZSYmKTsKLQotICAgIEdQVUNvbXB1dGVQaXBl
bGluZVN0YXRlIG1fc3RhdGU7Ci19OwotCi19IC8vIG5hbWVzcGFjZSBXZWJDb3JlCi0KLSNlbmRp
ZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR1BVQ29tcHV0ZVBp
cGVsaW5lU3RhdGUuaWRsIGIvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR1BVQ29tcHV0
ZVBpcGVsaW5lU3RhdGUuaWRsCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA5MDlkYWMx
Njc5Zjk4NDBiM2RhNzczYjg4YmEwYmI3MjM3Y2MyNGQ1Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdQ
VUNvbXB1dGVQaXBlbGluZVN0YXRlLmlkbAorKysgL2Rldi9udWxsCkBAIC0xLDMxICswLDAgQEAK
LS8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTcgWXVpY2hpcm8gS2lrdXJhICh5Lmtpa3VyYUBnbWFp
bC5jb20pCi0gKgotICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFy
eSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Ci0gKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQg
cHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKLSAqIGFyZSBtZXQ6Ci0gKiAx
LiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNv
cHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyLgotICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3Jt
IG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBs
aXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKLSAq
ICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRo
ZSBkaXN0cmlidXRpb24uCi0gKgotICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBM
RSBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCi0gKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElF
UywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQotICogSU1QTElFRCBXQVJSQU5U
SUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCi0gKiBQ
VVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUgot
ICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lE
RU5UQUwsIFNQRUNJQUwsCi0gKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAo
SU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCi0gKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElU
VVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKLSAqIFBST0ZJVFM7
IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVP
UlkKLSAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElU
WSwgT1IgVE9SVAotICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lO
RyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCi0gKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElG
IEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgotICovCi0KLVsKLSAg
ICBDb25kaXRpb25hbD1XRUJHUFUsCi0gICAgRW5hYmxlZEF0UnVudGltZT1XZWJHUFUsCi0gICAg
SW1wbGVtZW50YXRpb25MYWNrc1ZUYWJsZQotXSBpbnRlcmZhY2UgV2ViR1BVQ29tcHV0ZVBpcGVs
aW5lU3RhdGUgewotfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dl
YkdQVURlcHRoU3RlbmNpbERlc2NyaXB0b3IuY3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52
YXMvV2ViR1BVRGVwdGhTdGVuY2lsRGVzY3JpcHRvci5jcHAKZGVsZXRlZCBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDcyZmY4N2M4ZGNjNDk3NjY5ZmFmOTk5ZGJiOTkwMjRiMTlmY2MxYWEuLjAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvU291cmNlL1dlYkNvcmUv
aHRtbC9jYW52YXMvV2ViR1BVRGVwdGhTdGVuY2lsRGVzY3JpcHRvci5jcHAKKysrIC9kZXYvbnVs
bApAQCAtMSw2MSArMCwwIEBACi0vKgotICogQ29weXJpZ2h0IChDKSAyMDE3IEFwcGxlIEluYy4g
QWxsIHJpZ2h0cyByZXNlcnZlZC4KLSAqCi0gKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNv
dXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKLSAqIG1vZGlmaWNhdGlvbiwg
YXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwotICog
YXJlIG1ldDoKLSAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFp
biB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRp
b25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCi0gKiAyLiBSZWRpc3RyaWJ1dGlvbnMg
aW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAg
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFp
bWVyIGluIHRoZQotICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHBy
b3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KLSAqCi0gKiBUSElTIFNPRlRXQVJFIElTIFBS
T1ZJREVEIEJZIEFQUExFIElOQy4gYGBBUyBJUycnIEFORCBBTlkKLSAqIEVYUFJFU1MgT1IgSU1Q
TElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCi0gKiBJ
TVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBB
UlRJQ1VMQVIKLSAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBB
UFBMRSBJTkMuIE9SCi0gKiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJ
TkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKLSAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVO
VElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKLSAqIFBST0NVUkVN
RU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBP
UgotICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBB
TkQgT04gQU5ZIFRIRU9SWQotICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBT
VFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCi0gKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RI
RVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKLSAqIE9GIFRISVMgU09G
VFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0Uu
Ci0gKi8KLQotI2luY2x1ZGUgImNvbmZpZy5oIgotI2luY2x1ZGUgIldlYkdQVURlcHRoU3RlbmNp
bERlc2NyaXB0b3IuaCIKLQotI2lmIEVOQUJMRShXRUJHUFUpCi0KLW5hbWVzcGFjZSBXZWJDb3Jl
IHsKLQotUmVmPFdlYkdQVURlcHRoU3RlbmNpbERlc2NyaXB0b3I+IFdlYkdQVURlcHRoU3RlbmNp
bERlc2NyaXB0b3I6OmNyZWF0ZSgpCi17Ci0gICAgcmV0dXJuIGFkb3B0UmVmKCpuZXcgV2ViR1BV
RGVwdGhTdGVuY2lsRGVzY3JpcHRvcik7Ci19Ci0KLWJvb2wgV2ViR1BVRGVwdGhTdGVuY2lsRGVz
Y3JpcHRvcjo6ZGVwdGhXcml0ZUVuYWJsZWQoKSBjb25zdAotewotICAgIHJldHVybiBtX2Rlc2Ny
aXB0b3IuZGVwdGhXcml0ZUVuYWJsZWQoKTsKLX0KLQotdm9pZCBXZWJHUFVEZXB0aFN0ZW5jaWxE
ZXNjcmlwdG9yOjpzZXREZXB0aFdyaXRlRW5hYmxlZChib29sIG5ld0RlcHRoV3JpdGVFbmFibGVk
KQotewotICAgIG1fZGVzY3JpcHRvci5zZXREZXB0aFdyaXRlRW5hYmxlZChuZXdEZXB0aFdyaXRl
RW5hYmxlZCk7Ci19Ci0KLVdlYkdQVUNvbXBhcmVGdW5jdGlvbiBXZWJHUFVEZXB0aFN0ZW5jaWxE
ZXNjcmlwdG9yOjpkZXB0aENvbXBhcmVGdW5jdGlvbigpIGNvbnN0Ci17Ci0gICAgcmV0dXJuIG1f
ZGVwdGhDb21wYXJlRnVuY3Rpb247Ci19Ci0KLXZvaWQgV2ViR1BVRGVwdGhTdGVuY2lsRGVzY3Jp
cHRvcjo6c2V0RGVwdGhDb21wYXJlRnVuY3Rpb24oQ29tcGFyZUZ1bmN0aW9uIG5ld0RlcHRoQ29t
cGFyZUZ1bmN0aW9uKQotewotICAgIG1fZGVwdGhDb21wYXJlRnVuY3Rpb24gPSBuZXdEZXB0aENv
bXBhcmVGdW5jdGlvbjsKLSAgICBtX2Rlc2NyaXB0b3Iuc2V0RGVwdGhDb21wYXJlRnVuY3Rpb24o
dG9HUFVDb21wYXJlRnVuY3Rpb24obV9kZXB0aENvbXBhcmVGdW5jdGlvbikpOwotfQotCi19IC8v
IG5hbWVzcGFjZSBXZWJDb3JlCi0KLSNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
aHRtbC9jYW52YXMvV2ViR1BVRGVwdGhTdGVuY2lsRGVzY3JpcHRvci5oIGIvU291cmNlL1dlYkNv
cmUvaHRtbC9jYW52YXMvV2ViR1BVRGVwdGhTdGVuY2lsRGVzY3JpcHRvci5oCmRlbGV0ZWQgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCBiOGQwNGY4MjMzNTI0NWM3ZmRjZmUyNGVkZDk1YjQ5ODhiODg4
MTFhLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL1NvdXJj
ZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdQVURlcHRoU3RlbmNpbERlc2NyaXB0b3IuaAorKysg
L2Rldi9udWxsCkBAIC0xLDY0ICswLDAgQEAKLS8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTcgQXBw
bGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgotICoKLSAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1
c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAotICogbW9kaWZp
Y2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRp
b25zCi0gKiBhcmUgbWV0OgotICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11
c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9m
IGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KLSAqIDIuIFJlZGlzdHJp
YnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0
Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5n
IGRpc2NsYWltZXIgaW4gdGhlCi0gKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRl
cmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgotICoKLSAqIFRISVMgU09GVFdB
UkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBgYEFTIElTJycgQU5EIEFOWQotICogRVhQUkVT
UyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBU
SEUKLSAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1Mg
Rk9SIEEgUEFSVElDVUxBUgotICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5U
IFNIQUxMIEFQUExFIElOQy4gT1IKLSAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBE
SVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAotICogRVhFTVBMQVJZLCBPUiBD
T05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAotICog
UFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0Us
IERBVEEsIE9SCi0gKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIg
Q0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCi0gKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09O
VFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKLSAqIChJTkNMVURJTkcgTkVHTElHRU5D
RSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQotICogT0Yg
VEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNI
IERBTUFHRS4KLSAqLwotCi0jcHJhZ21hIG9uY2UKLQotI2lmIEVOQUJMRShXRUJHUFUpCi0KLSNp
bmNsdWRlICJHUFVEZXB0aFN0ZW5jaWxEZXNjcmlwdG9yLmgiCi0jaW5jbHVkZSAiV2ViR1BVRW51
bXMuaCIKLSNpbmNsdWRlIDx3dGYvUmVmLmg+Ci0jaW5jbHVkZSA8d3RmL1JlZkNvdW50ZWQuaD4K
LQotbmFtZXNwYWNlIFdlYkNvcmUgewotCi1jbGFzcyBXZWJHUFVEZXB0aFN0ZW5jaWxEZXNjcmlw
dG9yIDogcHVibGljIFJlZkNvdW50ZWQ8V2ViR1BVRGVwdGhTdGVuY2lsRGVzY3JpcHRvcj4gewot
cHVibGljOgotICAgIHN0YXRpYyBSZWY8V2ViR1BVRGVwdGhTdGVuY2lsRGVzY3JpcHRvcj4gY3Jl
YXRlKCk7Ci0KLSAgICBib29sIGRlcHRoV3JpdGVFbmFibGVkKCkgY29uc3Q7Ci0gICAgdm9pZCBz
ZXREZXB0aFdyaXRlRW5hYmxlZChib29sKTsKLQotICAgIHVzaW5nIENvbXBhcmVGdW5jdGlvbiA9
IFdlYkdQVUNvbXBhcmVGdW5jdGlvbjsKLSAgICBDb21wYXJlRnVuY3Rpb24gZGVwdGhDb21wYXJl
RnVuY3Rpb24oKSBjb25zdDsKLSAgICB2b2lkIHNldERlcHRoQ29tcGFyZUZ1bmN0aW9uKENvbXBh
cmVGdW5jdGlvbik7Ci0KLSAgICBHUFVEZXB0aFN0ZW5jaWxEZXNjcmlwdG9yJiBkZXNjcmlwdG9y
KCkgeyByZXR1cm4gbV9kZXNjcmlwdG9yOyB9Ci0KLXByaXZhdGU6Ci0gICAgV2ViR1BVRGVwdGhT
dGVuY2lsRGVzY3JpcHRvcigpID0gZGVmYXVsdDsKLQotICAgIC8vIEZJWE1FOiBUaGUgZGVmYXVs
dCB2YWx1ZSBvZiAiQWx3YXlzIiBpcyBkZWZpbmVkIGJvdGggaGVyZSBhbmQgaW4gdGhlCi0gICAg
Ly8gR1BVRGVwdGhTdGVuY2lsRGVzY3JpcHRvciBjbGFzcydzIGltcGxlbWVudGF0aW9uLiBNaWdo
dCBiZSBiZXR0ZXIgdG8gbm90Ci0gICAgLy8gc3RvcmUgdGhlIGNvbXBhcmUgZnVuY3Rpb24gc2Vw
YXJhdGVseSBoZXJlLCB0cmFuc2xhdGUgaXQgaW5zdGVhZCwgYW5kIHRoZW4KLSAgICAvLyB0aGVy
ZSB3b3VsZCBiZSBubyBuZWVkIGZvciBhIGRlZmF1bHQgdmFsdWUgaGVyZS4KLQotICAgIFdlYkdQ
VUNvbXBhcmVGdW5jdGlvbiBtX2RlcHRoQ29tcGFyZUZ1bmN0aW9uIHsgV2ViR1BVQ29tcGFyZUZ1
bmN0aW9uOjpBbHdheXMgfTsKLSAgICBHUFVEZXB0aFN0ZW5jaWxEZXNjcmlwdG9yIG1fZGVzY3Jp
cHRvcjsKLX07Ci0KLX0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKLQotI2VuZGlmCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHUFVEZXB0aFN0ZW5jaWxEZXNjcmlwdG9y
LmlkbCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdQVURlcHRoU3RlbmNpbERlc2Ny
aXB0b3IuaWRsCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBlMTNjOWUxYzBhZDQ2NDYw
YzI0OTRhZTg4ZTEzNTY1YjVlYjk5ODk0Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwCi0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdQVURlcHRoU3Rl
bmNpbERlc2NyaXB0b3IuaWRsCisrKyAvZGV2L251bGwKQEAgLTEsNTAgKzAsMCBAQAotLyoKLSAq
IENvcHlyaWdodCAoQykgMjAxNyBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0gKgot
ICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0
aCBvciB3aXRob3V0Ci0gKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhh
dCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKLSAqIGFyZSBtZXQ6Ci0gKiAxLiBSZWRpc3RyaWJ1
dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAotICog
ICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNj
bGFpbWVyLgotICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9k
dWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRp
dGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKLSAqICAgIGRvY3VtZW50
YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRp
b24uCi0gKgotICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIGBgQVMg
SVMnJyBBTkQgQU5ZCi0gKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5H
LCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQotICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNI
QU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCi0gKiBQVVJQT1NFIEFSRSBE
SVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUgotICogQ09OVFJJQlVU
T1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJ
QUwsCi0gKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBC
VVQgTk9UIExJTUlURUQgVE8sCi0gKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9S
IFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKLSAqIFBST0ZJVFM7IE9SIEJVU0lORVNT
IElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKLSAqIE9GIExJ
QUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAot
ICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZ
IE9VVCBPRiBUSEUgVVNFCi0gKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0Yg
VEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgotICovCi0KLVsKLSAgICBDb25kaXRpb25h
bD1XRUJHUFUsCi0gICAgRW5hYmxlZEF0UnVudGltZT1XZWJHUFUKLV0gZW51bSBXZWJHUFVDb21w
YXJlRnVuY3Rpb24gewotICAgICJuZXZlciIsCi0gICAgImxlc3MiLAotICAgICJlcXVhbCIsCi0g
ICAgImxlc3NlcXVhbCIsCi0gICAgImdyZWF0ZXIiLAotICAgICJub3RlcXVhbCIsCi0gICAgImdy
ZWF0ZXJlcXVhbCIsCi0gICAgImFsd2F5cyIKLX07Ci0KLVsKLSAgICBDb25zdHJ1Y3RvciwKLSAg
ICBDb25kaXRpb25hbD1XRUJHUFUsCi0gICAgRW5hYmxlZEF0UnVudGltZT1XZWJHUFUsCi0gICAg
SW1wbGVtZW50YXRpb25MYWNrc1ZUYWJsZQotXSBpbnRlcmZhY2UgV2ViR1BVRGVwdGhTdGVuY2ls
RGVzY3JpcHRvciB7Ci0KLSAgICBhdHRyaWJ1dGUgV2ViR1BVQ29tcGFyZUZ1bmN0aW9uIGRlcHRo
Q29tcGFyZUZ1bmN0aW9uOwotICAgIGF0dHJpYnV0ZSBib29sZWFuIGRlcHRoV3JpdGVFbmFibGVk
OwotCi19OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR1BVRGVw
dGhTdGVuY2lsU3RhdGUuY3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR1BVRGVw
dGhTdGVuY2lsU3RhdGUuY3BwCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBmNDJhZDZm
ZjU3NmUwMTBmOTlhMjBkOGNmNmJkYjU1MWFlN2JhODQzLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdQ
VURlcHRoU3RlbmNpbFN0YXRlLmNwcAorKysgL2Rldi9udWxsCkBAIC0xLDU4ICswLDAgQEAKLS8q
Ci0gKiBDb3B5cmlnaHQgKEMpIDIwMTcgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgot
ICoKLSAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMs
IHdpdGggb3Igd2l0aG91dAotICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVk
IHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCi0gKiBhcmUgbWV0OgotICogMS4gUmVkaXN0
cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQK
LSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcg
ZGlzY2xhaW1lci4KLSAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJl
cHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBj
b25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCi0gKiAgICBkb2N1
bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJp
YnV0aW9uLgotICoKLSAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBg
YEFTIElTJycgQU5EIEFOWQotICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xV
RElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKLSAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBN
RVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgotICogUFVSUE9TRSBB
UkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IKLSAqIENPTlRS
SUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBT
UEVDSUFMLAotICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElO
RywgQlVUIE5PVCBMSU1JVEVEIFRPLAotICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09E
UyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCi0gKiBQUk9GSVRTOyBPUiBCVVNJ
TkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCi0gKiBP
RiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRP
UlQKLSAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5Z
IFdBWSBPVVQgT0YgVEhFIFVTRQotICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VE
IE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KLSAqLwotCi0jaW5jbHVkZSAiY29u
ZmlnLmgiCi0jaW5jbHVkZSAiV2ViR1BVRGVwdGhTdGVuY2lsU3RhdGUuaCIKLQotI2lmIEVOQUJM
RShXRUJHUFUpCi0KLSNpbmNsdWRlICJXZWJHUFVEZXB0aFN0ZW5jaWxEZXNjcmlwdG9yLmgiCi0j
aW5jbHVkZSA8d3RmL3RleHQvV1RGU3RyaW5nLmg+Ci0KLW5hbWVzcGFjZSBXZWJDb3JlIHsKLQot
UmVmPFdlYkdQVURlcHRoU3RlbmNpbFN0YXRlPiBXZWJHUFVEZXB0aFN0ZW5jaWxTdGF0ZTo6Y3Jl
YXRlKEdQVURlcHRoU3RlbmNpbFN0YXRlJiYgc3RhdGUpCi17Ci0gICAgcmV0dXJuIGFkb3B0UmVm
KCpuZXcgV2ViR1BVRGVwdGhTdGVuY2lsU3RhdGUoV1RGTW92ZShzdGF0ZSkpKTsKLX0KLQotV2Vi
R1BVRGVwdGhTdGVuY2lsU3RhdGU6OldlYkdQVURlcHRoU3RlbmNpbFN0YXRlKEdQVURlcHRoU3Rl
bmNpbFN0YXRlJiYgc3RhdGUpCi0gICAgOiBtX3N0YXRlIHsgV1RGTW92ZShzdGF0ZSkgfQotewot
fQotCi1TdHJpbmcgV2ViR1BVRGVwdGhTdGVuY2lsU3RhdGU6OmxhYmVsKCkgY29uc3QKLXsKLSAg
ICByZXR1cm4gbV9zdGF0ZS5sYWJlbCgpOwotfQotCi12b2lkIFdlYkdQVURlcHRoU3RlbmNpbFN0
YXRlOjpzZXRMYWJlbChjb25zdCBTdHJpbmcmIGxhYmVsKQotewotICAgIG1fc3RhdGUuc2V0TGFi
ZWwobGFiZWwpOwotfQotCi19IC8vIG5hbWVzcGFjZSBXZWJDb3JlCi0KLSNlbmRpZgpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR1BVRGVwdGhTdGVuY2lsU3RhdGUu
aCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdQVURlcHRoU3RlbmNpbFN0YXRlLmgK
ZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGEwNWNmMmVmMTAyOWEwMGZiOTUzYTUzZWU5
Njg5ZjUxYTI0ZmQ0YTEuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAK
LS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR1BVRGVwdGhTdGVuY2lsU3RhdGUu
aAorKysgL2Rldi9udWxsCkBAIC0xLDUzICswLDAgQEAKLS8qCi0gKiBDb3B5cmlnaHQgKEMpIDIw
MTcgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgotICoKLSAqIFJlZGlzdHJpYnV0aW9u
IGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAotICog
bW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBj
b25kaXRpb25zCi0gKiBhcmUgbWV0OgotICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBj
b2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBs
aXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KLSAqIDIuIFJl
ZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29w
eXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9s
bG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCi0gKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhl
ciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgotICoKLSAqIFRISVMg
U09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBgYEFTIElTJycgQU5EIEFOWQotICog
RVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVE
IFRPLCBUSEUKLSAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJ
VE5FU1MgRk9SIEEgUEFSVElDVUxBUgotICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5P
IEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IKLSAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9S
IEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAotICogRVhFTVBMQVJZ
LCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRP
LAotICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBP
RiBVU0UsIERBVEEsIE9SCi0gKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhP
V0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCi0gKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIg
SU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKLSAqIChJTkNMVURJTkcgTkVH
TElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQot
ICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBP
RiBTVUNIIERBTUFHRS4KLSAqLwotCi0jcHJhZ21hIG9uY2UKLQotI2lmIEVOQUJMRShXRUJHUFUp
Ci0KLSNpbmNsdWRlICJHUFVEZXB0aFN0ZW5jaWxTdGF0ZS5oIgotI2luY2x1ZGUgPHd0Zi9SZWYu
aD4KLSNpbmNsdWRlIDx3dGYvUmVmQ291bnRlZC5oPgotCi1uYW1lc3BhY2UgV2ViQ29yZSB7Ci0K
LWNsYXNzIFdlYkdQVURlcHRoU3RlbmNpbFN0YXRlIDogcHVibGljIFJlZkNvdW50ZWQ8V2ViR1BV
RGVwdGhTdGVuY2lsU3RhdGU+IHsKLXB1YmxpYzoKLSAgICBzdGF0aWMgUmVmPFdlYkdQVURlcHRo
U3RlbmNpbFN0YXRlPiBjcmVhdGUoR1BVRGVwdGhTdGVuY2lsU3RhdGUmJik7Ci0KLSAgICBTdHJp
bmcgbGFiZWwoKSBjb25zdDsKLSAgICB2b2lkIHNldExhYmVsKGNvbnN0IFN0cmluZyYpOwotCi0g
ICAgR1BVRGVwdGhTdGVuY2lsU3RhdGUmIHN0YXRlKCkgeyByZXR1cm4gbV9zdGF0ZTsgfQotCi1w
cml2YXRlOgotICAgIGV4cGxpY2l0IFdlYkdQVURlcHRoU3RlbmNpbFN0YXRlKEdQVURlcHRoU3Rl
bmNpbFN0YXRlJiYpOwotCi0gICAgR1BVRGVwdGhTdGVuY2lsU3RhdGUgbV9zdGF0ZTsKLX07Ci0g
ICAgCi19IC8vIG5hbWVzcGFjZSBXZWJDb3JlCi0KLSNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR1BVRGVwdGhTdGVuY2lsU3RhdGUuaWRsIGIvU291cmNl
L1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR1BVRGVwdGhTdGVuY2lsU3RhdGUuaWRsCmRlbGV0ZWQg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCA4NjZhNjdjYWExNDQ4NzM2YWQxMzhiNDY0NWMxMDZmNTc4
YTBmM2EwLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdQVURlcHRoU3RlbmNpbFN0YXRlLmlkbAorKysg
L2Rldi9udWxsCkBAIC0xLDM0ICswLDAgQEAKLS8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTcgQXBw
bGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgotICoKLSAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1
c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAotICogbW9kaWZp
Y2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRp
b25zCi0gKiBhcmUgbWV0OgotICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11
c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9m
IGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KLSAqIDIuIFJlZGlzdHJp
YnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0
Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5n
IGRpc2NsYWltZXIgaW4gdGhlCi0gKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRl
cmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgotICoKLSAqIFRISVMgU09GVFdB
UkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBgYEFTIElTJycgQU5EIEFOWQotICogRVhQUkVT
UyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBU
SEUKLSAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1Mg
Rk9SIEEgUEFSVElDVUxBUgotICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5U
IFNIQUxMIEFQUExFIElOQy4gT1IKLSAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBE
SVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAotICogRVhFTVBMQVJZLCBPUiBD
T05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAotICog
UFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0Us
IERBVEEsIE9SCi0gKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIg
Q0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCi0gKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09O
VFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKLSAqIChJTkNMVURJTkcgTkVHTElHRU5D
RSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQotICogT0Yg
VEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNI
IERBTUFHRS4KLSAqLwotCi1bCi0gICAgQ29uZGl0aW9uYWw9V0VCR1BVLAotICAgIEVuYWJsZWRB
dFJ1bnRpbWU9V2ViR1BVLAotICAgIEltcGxlbWVudGF0aW9uTGFja3NWVGFibGUKLV0gaW50ZXJm
YWNlIFdlYkdQVURlcHRoU3RlbmNpbFN0YXRlIHsKLQotICAgIGF0dHJpYnV0ZSBET01TdHJpbmcg
bGFiZWw7Ci0KLX07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJH
UFVEcmF3YWJsZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHUFVEcmF3YWJs
ZS5jcHAKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGE5ODE1OWZkODViN2ZiZTM4MmQ3
MGQzNjdjMTdkZWZhYWZmZTVlN2IuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR1BVRHJhd2FibGUuY3Bw
CisrKyAvZGV2L251bGwKQEAgLTEsNTEgKzAsMCBAQAotLyoKLSAqIENvcHlyaWdodCAoQykgMjAx
NyBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0gKgotICogUmVkaXN0cmlidXRpb24g
YW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Ci0gKiBt
b2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNv
bmRpdGlvbnMKLSAqIGFyZSBtZXQ6Ci0gKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNv
ZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxp
c3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgotICogMi4gUmVk
aXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5
cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xs
b3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKLSAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVy
IG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCi0gKgotICogVEhJUyBT
T0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCi0gKiBF
WFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQg
VE8sIFRIRQotICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklU
TkVTUyBGT1IgQSBQQVJUSUNVTEFSCi0gKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8g
RVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUgotICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFM
IERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAotICogQ09OVFJJQlVUT1JT
IEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUws
Ci0gKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9G
IFVTRSwgREFUQSwgT1IKLSAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9X
RVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKLSAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJ
TiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAotICogKElOQ0xVRElORyBORUdM
SUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCi0g
KiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9G
IFNVQ0ggREFNQUdFLgotICovCi0KLSNpbmNsdWRlICJjb25maWcuaCIKLSNpbmNsdWRlICJXZWJH
UFVEcmF3YWJsZS5oIgotCi0jaWYgRU5BQkxFKFdFQkdQVSkKLQotI2luY2x1ZGUgIkdQVVRleHR1
cmUuaCIKLSNpbmNsdWRlICJXZWJHUFVUZXh0dXJlLmgiCi0KLW5hbWVzcGFjZSBXZWJDb3JlIHsK
LQotUmVmPFdlYkdQVURyYXdhYmxlPiBXZWJHUFVEcmF3YWJsZTo6Y3JlYXRlKEdQVURyYXdhYmxl
JiYgZHJhd2FibGUpCi17Ci0gICAgcmV0dXJuIGFkb3B0UmVmKCpuZXcgV2ViR1BVRHJhd2FibGUo
V1RGTW92ZShkcmF3YWJsZSkpKTsKLX0KLQotV2ViR1BVRHJhd2FibGU6OldlYkdQVURyYXdhYmxl
KEdQVURyYXdhYmxlJiYgZHJhd2FibGUpCi0gICAgOiBtX2RyYXdhYmxlIHsgV1RGTW92ZShkcmF3
YWJsZSkgfQotICAgICwgbV90ZXh0dXJlIHsgV2ViR1BVVGV4dHVyZTo6Y3JlYXRlKEdQVVRleHR1
cmUgeyBtX2RyYXdhYmxlIH0pIH0KLXsKLX0KLQotV2ViR1BVRHJhd2FibGU6On5XZWJHUFVEcmF3
YWJsZSgpID0gZGVmYXVsdDsKLQotfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQotCi0jZW5kaWYKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdQVURyYXdhYmxlLmggYi9T
b3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHUFVEcmF3YWJsZS5oCmRlbGV0ZWQgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCBjODlmOTI2YzEyNTE1MjJkZDlhNDNmZTg5M2UyY2Y0NTI2ZGFhNTQ5
Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL1NvdXJjZS9X
ZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdQVURyYXdhYmxlLmgKKysrIC9kZXYvbnVsbApAQCAtMSw1
NSArMCwwIEBACi0vKgotICogQ29weXJpZ2h0IChDKSAyMDE3IEFwcGxlIEluYy4gQWxsIHJpZ2h0
cyByZXNlcnZlZC4KLSAqCi0gKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQg
YmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKLSAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1p
dHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwotICogYXJlIG1ldDoK
LSAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJv
dmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCi0gKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5
IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0
aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRo
ZQotICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdp
dGggdGhlIGRpc3RyaWJ1dGlvbi4KLSAqCi0gKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZ
IEFQUExFIElOQy4gYGBBUyBJUycnIEFORCBBTlkKLSAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJS
QU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCi0gKiBJTVBMSUVEIFdB
UlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIK
LSAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMu
IE9SCi0gKiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwg
SU5DSURFTlRBTCwgU1BFQ0lBTCwKLSAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1B
R0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKLSAqIFBST0NVUkVNRU5UIE9GIFNV
QlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgotICogUFJP
RklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5Z
IFRIRU9SWQotICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElB
QklMSVRZLCBPUiBUT1JUCi0gKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBB
UklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKLSAqIE9GIFRISVMgU09GVFdBUkUsIEVW
RU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCi0gKi8KLQot
I3ByYWdtYSBvbmNlCi0KLSNpZiBFTkFCTEUoV0VCR1BVKQotCi0jaW5jbHVkZSAiR1BVRHJhd2Fi
bGUuaCIKLSNpbmNsdWRlIDx3dGYvUmVmLmg+Ci0jaW5jbHVkZSA8d3RmL1JlZkNvdW50ZWQuaD4K
LQotbmFtZXNwYWNlIFdlYkNvcmUgewotCi1jbGFzcyBXZWJHUFVUZXh0dXJlOwotCi1jbGFzcyBX
ZWJHUFVEcmF3YWJsZSA6IHB1YmxpYyBSZWZDb3VudGVkPFdlYkdQVURyYXdhYmxlPiB7Ci1wdWJs
aWM6Ci0gICAgfldlYkdQVURyYXdhYmxlKCk7Ci0gICAgc3RhdGljIFJlZjxXZWJHUFVEcmF3YWJs
ZT4gY3JlYXRlKEdQVURyYXdhYmxlJiYpOwotCi0gICAgR1BVRHJhd2FibGUmIGRyYXdhYmxlKCkg
eyByZXR1cm4gbV9kcmF3YWJsZTsgfQotICAgIFdlYkdQVVRleHR1cmUmIHRleHR1cmUoKSB7IHJl
dHVybiBtX3RleHR1cmUuZ2V0KCk7IH0KLQotcHJpdmF0ZToKLSAgICBleHBsaWNpdCBXZWJHUFVE
cmF3YWJsZShHUFVEcmF3YWJsZSYmKTsKLQotICAgIEdQVURyYXdhYmxlIG1fZHJhd2FibGU7Ci0g
ICAgUmVmPFdlYkdQVVRleHR1cmU+IG1fdGV4dHVyZTsKLX07Ci0KLX0gLy8gbmFtZXNwYWNlIFdl
YkNvcmUKLQotI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9X
ZWJHUFVEcmF3YWJsZS5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHUFVEcmF3
YWJsZS5pZGwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDdiZjIxN2Y0OTkxZThjMGIw
OWFlYzQ4ZWFlYmY3ZDY1MjY5NzA4YzMuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR1BVRHJhd2FibGUu
aWRsCisrKyAvZGV2L251bGwKQEAgLTEsMzQgKzAsMCBAQAotLyoKLSAqIENvcHlyaWdodCAoQykg
MjAxNyBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0gKgotICogUmVkaXN0cmlidXRp
b24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Ci0g
KiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5n
IGNvbmRpdGlvbnMKLSAqIGFyZSBtZXQ6Ci0gKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNl
IGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlz
IGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgotICogMi4g
UmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBj
b3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBm
b2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKLSAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90
aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCi0gKgotICogVEhJ
UyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCi0g
KiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlU
RUQgVE8sIFRIRQotICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQg
RklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCi0gKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4g
Tk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUgotICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBG
T1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCi0gKiBFWEVNUExB
UlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQg
VE8sCi0gKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NT
IE9GIFVTRSwgREFUQSwgT1IKLSAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikg
SE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKLSAqIE9GIExJQUJJTElUWSwgV0hFVEhF
UiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAotICogKElOQ0xVRElORyBO
RUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNF
Ci0gKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZ
IE9GIFNVQ0ggREFNQUdFLgotICovCi0KLVsKLSAgICBDb25kaXRpb25hbD1XRUJHUFUsCi0gICAg
RW5hYmxlZEF0UnVudGltZT1XZWJHUFUsCi0gICAgSW1wbGVtZW50YXRpb25MYWNrc1ZUYWJsZQot
XSBpbnRlcmZhY2UgV2ViR1BVRHJhd2FibGUgewotCi0gICAgcmVhZG9ubHkgYXR0cmlidXRlIFdl
YkdQVVRleHR1cmUgdGV4dHVyZTsgLy8gRklYTUU6IE9ubHkgdGhlIGZyYW1lYnVmZmVyIHNob3Vs
ZCBoYXZlIHRoaXMuCi0KLX07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZh
cy9XZWJHUFVFbnVtcy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHUFVFbnVt
cy5jcHAKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGMwN2JkMjhiYjgzNTkxYjExZWZk
NWFiZjlkODc1OGZmYTY4ODc2NjEuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR1BVRW51bXMuY3BwCisr
KyAvZGV2L251bGwKQEAgLTEsMTA3ICswLDAgQEAKLS8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTcg
QXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgotICoKLSAqIFJlZGlzdHJpYnV0aW9uIGFu
ZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAotICogbW9k
aWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25k
aXRpb25zCi0gKiBhcmUgbWV0OgotICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2Rl
IG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KLSAqIDIuIFJlZGlz
dHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJp
Z2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93
aW5nIGRpc2NsYWltZXIgaW4gdGhlCi0gKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBt
YXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgotICoKLSAqIFRISVMgU09G
VFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBgYEFTIElTJycgQU5EIEFOWQotICogRVhQ
UkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRP
LCBUSEUKLSAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5F
U1MgRk9SIEEgUEFSVElDVUxBUgotICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVW
RU5UIFNIQUxMIEFQUExFIElOQy4gT1IKLSAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFO
WSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAotICogRVhFTVBMQVJZLCBP
UiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAot
ICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBV
U0UsIERBVEEsIE9SCi0gKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VW
RVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCi0gKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4g
Q09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKLSAqIChJTkNMVURJTkcgTkVHTElH
RU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQotICog
T0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBT
VUNIIERBTUFHRS4KLSAqLwotCi0jaW5jbHVkZSAiY29uZmlnLmgiCi0jaW5jbHVkZSAiV2ViR1BV
RW51bXMuaCIKLQotI2lmIEVOQUJMRShXRUJHUFUpCi0KLSNpbmNsdWRlICJHUFVFbnVtcy5oIgot
I2luY2x1ZGUgPHd0Zi90ZXh0L1dURlN0cmluZy5oPgotCi1uYW1lc3BhY2UgV2ViQ29yZSB7Ci0K
LXN0ZDo6b3B0aW9uYWw8V2ViR1BVQ29tcGFyZUZ1bmN0aW9uPiB0b1dlYkdQVUNvbXBhcmVGdW5j
dGlvbihjb25zdCBTdHJpbmcmIG5hbWUpCi17Ci0gICAgaWYgKGVxdWFsTGV0dGVyc0lnbm9yaW5n
QVNDSUlDYXNlKG5hbWUsICJuZXZlciIpKQotICAgICAgICByZXR1cm4gV2ViR1BVQ29tcGFyZUZ1
bmN0aW9uOjpOZXZlcjsKLSAgICBpZiAoZXF1YWxMZXR0ZXJzSWdub3JpbmdBU0NJSUNhc2UobmFt
ZSwgImxlc3MiKSkKLSAgICAgICAgcmV0dXJuIFdlYkdQVUNvbXBhcmVGdW5jdGlvbjo6TGVzczsK
LSAgICBpZiAoZXF1YWxMZXR0ZXJzSWdub3JpbmdBU0NJSUNhc2UobmFtZSwgImVxdWFsIikpCi0g
ICAgICAgIHJldHVybiBXZWJHUFVDb21wYXJlRnVuY3Rpb246OkVxdWFsOwotICAgIGlmIChlcXVh
bExldHRlcnNJZ25vcmluZ0FTQ0lJQ2FzZShuYW1lLCAibGVzc2VxdWFsIikpCi0gICAgICAgIHJl
dHVybiBXZWJHUFVDb21wYXJlRnVuY3Rpb246Okxlc3NlcXVhbDsKLSAgICBpZiAoZXF1YWxMZXR0
ZXJzSWdub3JpbmdBU0NJSUNhc2UobmFtZSwgImdyZWF0ZXIiKSkKLSAgICAgICAgcmV0dXJuIFdl
YkdQVUNvbXBhcmVGdW5jdGlvbjo6R3JlYXRlcjsKLSAgICBpZiAoZXF1YWxMZXR0ZXJzSWdub3Jp
bmdBU0NJSUNhc2UobmFtZSwgIm5vdGVxdWFsIikpCi0gICAgICAgIHJldHVybiBXZWJHUFVDb21w
YXJlRnVuY3Rpb246Ok5vdGVxdWFsOwotICAgIGlmIChlcXVhbExldHRlcnNJZ25vcmluZ0FTQ0lJ
Q2FzZShuYW1lLCAiZ3JlYXRlcmVxdWFsIikpCi0gICAgICAgIHJldHVybiBXZWJHUFVDb21wYXJl
RnVuY3Rpb246OkdyZWF0ZXJlcXVhbDsKLSAgICBpZiAoZXF1YWxMZXR0ZXJzSWdub3JpbmdBU0NJ
SUNhc2UobmFtZSwgImFsd2F5cyIpKQotICAgICAgICByZXR1cm4gV2ViR1BVQ29tcGFyZUZ1bmN0
aW9uOjpBbHdheXM7Ci0KLSAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKLSAgICByZXR1cm4gc3Rk
OjpudWxsb3B0OwotfQotCi1TdHJpbmcgd2ViM0RDb21wYXJlRnVuY3Rpb25OYW1lKFdlYkdQVUNv
bXBhcmVGdW5jdGlvbiB2YWx1ZSkKLXsKLSAgICBpZiAodmFsdWUgPT0gV2ViR1BVQ29tcGFyZUZ1
bmN0aW9uOjpOZXZlcikKLSAgICAgICAgcmV0dXJuICJuZXZlciJfczsKLSAgICBpZiAodmFsdWUg
PT0gV2ViR1BVQ29tcGFyZUZ1bmN0aW9uOjpMZXNzKQotICAgICAgICByZXR1cm4gImxlc3MiX3M7
Ci0gICAgaWYgKHZhbHVlID09IFdlYkdQVUNvbXBhcmVGdW5jdGlvbjo6RXF1YWwpCi0gICAgICAg
IHJldHVybiAiZXF1YWwiX3M7Ci0gICAgaWYgKHZhbHVlID09IFdlYkdQVUNvbXBhcmVGdW5jdGlv
bjo6TGVzc2VxdWFsKQotICAgICAgICByZXR1cm4gImxlc3NlcXVhbCJfczsKLSAgICBpZiAodmFs
dWUgPT0gV2ViR1BVQ29tcGFyZUZ1bmN0aW9uOjpHcmVhdGVyKQotICAgICAgICByZXR1cm4gImdy
ZWF0ZXIiX3M7Ci0gICAgaWYgKHZhbHVlID09IFdlYkdQVUNvbXBhcmVGdW5jdGlvbjo6Tm90ZXF1
YWwpCi0gICAgICAgIHJldHVybiAibm90ZXF1YWwiX3M7Ci0gICAgaWYgKHZhbHVlID09IFdlYkdQ
VUNvbXBhcmVGdW5jdGlvbjo6R3JlYXRlcmVxdWFsKQotICAgICAgICByZXR1cm4gImdyZWF0ZXJl
cXVhbCJfczsKLSAgICBpZiAodmFsdWUgPT0gV2ViR1BVQ29tcGFyZUZ1bmN0aW9uOjpBbHdheXMp
Ci0gICAgICAgIHJldHVybiAiYWx3YXlzIl9zOwotICAgIAotICAgIEFTU0VSVF9OT1RfUkVBQ0hF
RCgpOwotICAgIHJldHVybiBlbXB0eVN0cmluZygpOwotfQotCi1HUFVDb21wYXJlRnVuY3Rpb24g
dG9HUFVDb21wYXJlRnVuY3Rpb24oY29uc3QgV2ViR1BVQ29tcGFyZUZ1bmN0aW9uIHZhbHVlKQot
ewotICAgIGlmICh2YWx1ZSA9PSBXZWJHUFVDb21wYXJlRnVuY3Rpb246Ok5ldmVyKQotICAgICAg
ICByZXR1cm4gR1BVQ29tcGFyZUZ1bmN0aW9uOjpOZXZlcjsKLSAgICBpZiAodmFsdWUgPT0gV2Vi
R1BVQ29tcGFyZUZ1bmN0aW9uOjpMZXNzKQotICAgICAgICByZXR1cm4gR1BVQ29tcGFyZUZ1bmN0
aW9uOjpMZXNzOwotICAgIGlmICh2YWx1ZSA9PSBXZWJHUFVDb21wYXJlRnVuY3Rpb246OkVxdWFs
KQotICAgICAgICByZXR1cm4gR1BVQ29tcGFyZUZ1bmN0aW9uOjpFcXVhbDsKLSAgICBpZiAodmFs
dWUgPT0gV2ViR1BVQ29tcGFyZUZ1bmN0aW9uOjpMZXNzZXF1YWwpCi0gICAgICAgIHJldHVybiBH
UFVDb21wYXJlRnVuY3Rpb246Okxlc3NFcXVhbDsKLSAgICBpZiAodmFsdWUgPT0gV2ViR1BVQ29t
cGFyZUZ1bmN0aW9uOjpHcmVhdGVyKQotICAgICAgICByZXR1cm4gR1BVQ29tcGFyZUZ1bmN0aW9u
OjpHcmVhdGVyOwotICAgIGlmICh2YWx1ZSA9PSBXZWJHUFVDb21wYXJlRnVuY3Rpb246Ok5vdGVx
dWFsKQotICAgICAgICByZXR1cm4gR1BVQ29tcGFyZUZ1bmN0aW9uOjpOb3RFcXVhbDsKLSAgICBp
ZiAodmFsdWUgPT0gV2ViR1BVQ29tcGFyZUZ1bmN0aW9uOjpHcmVhdGVyZXF1YWwpCi0gICAgICAg
IHJldHVybiBHUFVDb21wYXJlRnVuY3Rpb246OkdyZWF0ZXJFcXVhbDsKLSAgICBpZiAodmFsdWUg
PT0gV2ViR1BVQ29tcGFyZUZ1bmN0aW9uOjpBbHdheXMpCi0gICAgICAgIHJldHVybiBHUFVDb21w
YXJlRnVuY3Rpb246OkFsd2F5czsKLSAgICAKLSAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKLSAg
ICByZXR1cm4gR1BVQ29tcGFyZUZ1bmN0aW9uOjpOZXZlcjsKLX0KLQotfSAvLyBuYW1lc3BhY2Ug
V2ViQ29yZQotCi0jZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFz
L1dlYkdQVUVudW1zLmggYi9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHUFVFbnVtcy5o
CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA0MzUwNGU1ZDhkZTIyNmJlMzM0MzM4ODI5
MmUxZTdkOWY4OTdjZWEzLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdQVUVudW1zLmgKKysrIC9kZXYv
bnVsbApAQCAtMSw1NCArMCwwIEBACi0vKgotICogQ29weXJpZ2h0IChDKSAyMDE3IEFwcGxlIElu
Yy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLSAqCi0gKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGlu
IHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKLSAqIG1vZGlmaWNhdGlv
biwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwot
ICogYXJlIG1ldDoKLSAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJl
dGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25k
aXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCi0gKiAyLiBSZWRpc3RyaWJ1dGlv
bnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAotICog
ICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNj
bGFpbWVyIGluIHRoZQotICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxz
IHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KLSAqCi0gKiBUSElTIFNPRlRXQVJFIElT
IFBST1ZJREVEIEJZIEFQUExFIElOQy4gYGBBUyBJUycnIEFORCBBTlkKLSAqIEVYUFJFU1MgT1Ig
SU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCi0g
KiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBB
IFBBUlRJQ1VMQVIKLSAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFM
TCBBUFBMRSBJTkMuIE9SCi0gKiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNU
LCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKLSAqIEVYRU1QTEFSWSwgT1IgQ09OU0VR
VUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKLSAqIFBST0NV
UkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRB
LCBPUgotICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNF
RCBBTkQgT04gQU5ZIFRIRU9SWQotICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNU
LCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCi0gKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1Ig
T1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKLSAqIE9GIFRISVMg
U09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1B
R0UuCi0gKi8KLQotI3ByYWdtYSBvbmNlCi0KLSNpZiBFTkFCTEUoV0VCR1BVKQotCi0jaW5jbHVk
ZSA8d3RmL0ZvcndhcmQuaD4KLSNpbmNsdWRlIDx3dGYvT3B0aW9uYWwuaD4KLQotbmFtZXNwYWNl
IFdlYkNvcmUgewotCi1lbnVtIGNsYXNzIEdQVUNvbXBhcmVGdW5jdGlvbjsKLQotZW51bSBjbGFz
cyBXZWJHUFVDb21wYXJlRnVuY3Rpb24gewotICAgIE5ldmVyLAotICAgIExlc3MsCi0gICAgRXF1
YWwsCi0gICAgTGVzc2VxdWFsLAotICAgIEdyZWF0ZXIsCi0gICAgTm90ZXF1YWwsCi0gICAgR3Jl
YXRlcmVxdWFsLAotICAgIEFsd2F5cwotfTsKLQotc3RkOjpvcHRpb25hbDxXZWJHUFVDb21wYXJl
RnVuY3Rpb24+IHRvV2ViR1BVQ29tcGFyZUZ1bmN0aW9uKGNvbnN0IFN0cmluZyYpOwotU3RyaW5n
IHdlYjNEQ29tcGFyZUZ1bmN0aW9uTmFtZShXZWJHUFVDb21wYXJlRnVuY3Rpb24pOwotR1BVQ29t
cGFyZUZ1bmN0aW9uIHRvR1BVQ29tcGFyZUZ1bmN0aW9uKFdlYkdQVUNvbXBhcmVGdW5jdGlvbik7
Ci0KLX0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKLQotI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHUFVFbnVtcy5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9odG1s
L2NhbnZhcy9XZWJHUFVFbnVtcy5pZGwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDcy
MWZhMTRkMmU0MzI3MDQxZWEwYTQyZmE3ZmIwOWFhODhkMTY1NmEuLjAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMv
V2ViR1BVRW51bXMuaWRsCisrKyAvZGV2L251bGwKQEAgLTEsMjc0ICswLDAgQEAKLS8qCi0gKiBD
b3B5cmlnaHQgKEMpIDIwMTcgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgotICoKLSAq
IFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGgg
b3Igd2l0aG91dAotICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQg
dGhlIGZvbGxvd2luZyBjb25kaXRpb25zCi0gKiBhcmUgbWV0OgotICogMS4gUmVkaXN0cmlidXRp
b25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAg
IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xh
aW1lci4KLSAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVj
ZSB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRp
b25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCi0gKiAgICBkb2N1bWVudGF0
aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9u
LgotICoKLSAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBgYEFTIElT
JycgQU5EIEFOWQotICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywg
QlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKLSAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFO
VEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgotICogUFVSUE9TRSBBUkUgRElT
Q0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IKLSAqIENPTlRSSUJVVE9S
UyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFM
LAotICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVU
IE5PVCBMSU1JVEVEIFRPLAotICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBT
RVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCi0gKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJ
TlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCi0gKiBPRiBMSUFC
SUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKLSAq
IChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBP
VVQgT0YgVEhFIFVTRQotICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRI
RSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KLSAqLwotCi1bCi0gICAgQ29uZGl0aW9uYWw9
V0VCR1BVLAotICAgIEVuYWJsZWRBdFJ1bnRpbWU9V2ViR1BVCi1dIGVudW0gV2ViR1BVUGl4ZWxG
b3JtYXQgewotICAgICJCR1JBOFVub3JtIgotfTsKLQotWwotICAgIENvbmRpdGlvbmFsPVdFQkdQ
VSwKLSAgICBFbmFibGVkQXRSdW50aW1lPVdlYkdQVQotXSBlbnVtIFdlYkdQVUxvYWRBY3Rpb24g
ewotICAgICJkb250Y2FyZSIsCi0gICAgImxvYWQiLAotICAgICJjbGVhciIKLX07Ci0KLVsKLSAg
ICBDb25kaXRpb25hbD1XRUJHUFUsCi0gICAgRW5hYmxlZEF0UnVudGltZT1XZWJHUFUKLV0gZW51
bSBXZWJHUFVTdG9yZUFjdGlvbiB7Ci0gICAgImRvbnRjYXJlIiwKLSAgICAic3RvcmUiLAotICAg
ICJtdWx0aXNhbXBsZXJlc29sdmUiCi19OwotCi1bCi0gICAgQ29uZGl0aW9uYWw9V0VCR1BVLAot
ICAgIEVuYWJsZWRBdFJ1bnRpbWU9V2ViR1BVCi1dIGVudW0gV2ViR1BVUHJpbWl0aXZlVHlwZSB7
Ci0gICAgInBvaW50IiwKLSAgICAibGluZSIsCi0gICAgImxpbmVzdHJpcCIsCi0gICAgInRyaWFu
Z2xlIiwKLSAgICAidHJpYW5nbGVzdHJpcCIKLX07Ci0KLVsKLSAgICBDb25kaXRpb25hbD1XRUJH
UFUsCi0gICAgRW5hYmxlZEF0UnVudGltZT1XZWJHUFUKLV0gZW51bSBXZWJHUFVGdW5jdGlvblR5
cGUgewotICAgICJmcmFnbWVudCIsCi0gICAgInZlcnRleCIKLX07Ci0KLVsKLSAgICBDb25kaXRp
b25hbD1XRUJHUFUsCi0gICAgRW5hYmxlZEF0UnVudGltZT1XZWJHUFUKLV0gZW51bSBXZWJHUFVT
dGVuY2lsT3BlcmF0aW9uIHsKLSAgICAia2VlcCIsCi0gICAgInplcm8iLAotICAgICJyZXBsYWNl
IiwKLSAgICAiaW5jcmVtZW50Y2xhbXAiLAotICAgICJkZWNyZW1lbnRjbGFtcCIsCi0gICAgImlu
dmVydCIsCi0gICAgImluY3JlbWVudHdyYXAiLAotICAgICJkZWNyZW1lbnR3cmFwIgotfTsKLQot
WwotICAgIENvbmRpdGlvbmFsPVdFQkdQVSwKLSAgICBFbmFibGVkQXRSdW50aW1lPVdlYkdQVQot
XSBlbnVtIFdlYkdQVVN0YXR1cyB7Ci0gICAgIm5vdGVucXVldWVkIiwKLSAgICAiZW5xdWV1ZWQi
LAotICAgICJjb21taXR0ZWQiLAotICAgICJzY2hlZHVsZWQiLAotICAgICJjb21wbGV0ZWQiLAot
ICAgICJlcnJvciIKLX07Ci0KLVsKLSAgICBDb25kaXRpb25hbD1XRUJHUFUsCi0gICAgRW5hYmxl
ZEF0UnVudGltZT1XZWJHUFUKLV0gZW51bSBXZWJHUFVTYW1wbGVyQWRkcmVzc01vZGUgewotICAg
ICJjbGFtcHRvZWRnZSIsCi0gICAgIm1pcnJvcmNsYW1wdG9lZGdlIiwKLSAgICAicmVwZWF0IiwK
LSAgICAibWlycm9ycmVwZWF0IiwKLSAgICAiY2xhbXB0b3plcm8iCi19OwotCi1bCi0gICAgQ29u
ZGl0aW9uYWw9V0VCR1BVLAotICAgIEVuYWJsZWRBdFJ1bnRpbWU9V2ViR1BVCi1dIGVudW0gV2Vi
R1BVU2FtcGxlck1pbk1hZ0ZpbHRlciB7Ci0gICAgIm5lYXJlc3QiLAotICAgICJsaW5lYXIiCi19
OwotCi1bCi0gICAgQ29uZGl0aW9uYWw9V0VCR1BVLAotICAgIEVuYWJsZWRBdFJ1bnRpbWU9V2Vi
R1BVCi1dIGVudW0gV2ViR1BVU2FtcGxlck1pcEZpbHRlciB7Ci0gICAgIm5vdG1pcG1hcHBlZCIs
Ci0gICAgIm5lYXJlc3QiLAotICAgICJsaW5lYXIiCi19OwotCi1bCi0gICAgQ29uZGl0aW9uYWw9
V0VCR1BVLAotICAgIEVuYWJsZWRBdFJ1bnRpbWU9V2ViR1BVCi1dIGVudW0gV2ViR1BVQ3VsbE1v
ZGUgewotICAgICJub25lIiwKLSAgICAiZnJvbnQiLAotICAgICJiYWNrIgotfTsKLQotWwotICAg
IENvbmRpdGlvbmFsPVdFQkdQVSwKLSAgICBFbmFibGVkQXRSdW50aW1lPVdlYkdQVQotXSBlbnVt
IFdlYkdQVUluZGV4VHlwZSB7Ci0gICAgInVpbnQxNiIsCi0gICAgInVpbnQzMiIKLX07Ci0KLVsK
LSAgICBDb25kaXRpb25hbD1XRUJHUFUsCi0gICAgRW5hYmxlZEF0UnVudGltZT1XZWJHUFUKLV0g
ZW51bSBXZWJHUFVWaXNpYmlsaXR5UmVzdWx0TW9kZSB7Ci0gICAgImRpc2FibGVkIiwKLSAgICAi
Ym9vbGVhbiIsCi0gICAgImNvdW50aW5nIgotfTsKLQotWwotICAgIENvbmRpdGlvbmFsPVdFQkdQ
VSwKLSAgICBFbmFibGVkQXRSdW50aW1lPVdlYkdQVQotXSBlbnVtIFdlYkdQVVdpbmRpbmcgewot
ICAgICJjbG9ja3dpc2UiLAotICAgICJjb3VudGVyY2xvY2t3aXNlIgotfTsKLQotWwotICAgIENv
bmRpdGlvbmFsPVdFQkdQVSwKLSAgICBFbmFibGVkQXRSdW50aW1lPVdlYkdQVQotXSBlbnVtIFdl
YkdQVURlcHRoQ2xpcE1vZGUgewotICAgICJjbGlwIiwKLSAgICAiY2xhbXAiCi19OwotCi1bCi0g
ICAgQ29uZGl0aW9uYWw9V0VCR1BVLAotICAgIEVuYWJsZWRBdFJ1bnRpbWU9V2ViR1BVCi1dIGVu
dW0gV2ViR1BVVHJpYW5nbGVGaWxsTW9kZSB7Ci0gICAgImZpbGwiLAotICAgICJsaW5lcyIKLX07
Ci0KLVsKLSAgICBDb25kaXRpb25hbD1XRUJHUFUsCi0gICAgRW5hYmxlZEF0UnVudGltZT1XZWJH
UFUKLV0gZW51bSBXZWJHUFVDUFVDYWNoZU1vZGUgewotICAgICJkZWZhdWx0Y2FjaGUiLAotICAg
ICJ3cml0ZWNvbWJpbmVkIgotfTsKLQotWwotICAgIENvbmRpdGlvbmFsPVdFQkdQVSwKLSAgICBF
bmFibGVkQXRSdW50aW1lPVdlYkdQVQotXSBlbnVtIFdlYkdQVVN0b3JhZ2VNb2RlIHsKLSAgICAi
c2hhcmVkIiwKLSAgICAibWFuYWdlZCIsCi0gICAgInByaXZhdGUiCi19OwotCi1bCi0gICAgQ29u
ZGl0aW9uYWw9V0VCR1BVLAotICAgIEVuYWJsZWRBdFJ1bnRpbWU9V2ViR1BVCi1dIGVudW0gV2Vi
R1BVUmVzb3VyY2VPcHRpb25zIHsKLSAgICAiY3B1Y2FjaGVtb2RlZGVmYXVsdGNhY2hlIiwKLSAg
ICAiY3B1Y2FjaGVtb2Rld3JpdGVjb21iaW5lZCIsCi0gICAgInN0b3JhZ2Vtb2Rlc2hhcmVkIiwK
LSAgICAic3RvcmFnZW1vZGVtYW5hZ2VkIiwKLSAgICAic3RvcmFnZW1vZGVwcml2YXRlIiwKLSAg
ICAib3B0aW9uY3B1Y2FjaGVtb2RlZGVmYXVsdGNhY2hlIiwKLSAgICAib3B0aW9uY3B1Y2FjaGVt
b2Rld3JpdGVjb21iaW5lZCIKLX07Ci0KLVsKLSAgICBDb25kaXRpb25hbD1XRUJHUFUsCi0gICAg
RW5hYmxlZEF0UnVudGltZT1XZWJHUFUKLV0gZW51bSBXZWJHUFVUZXh0dXJlVXNhZ2UgewotICAg
ICJ1bmtub3duIiwKLSAgICAic2hhZGVycmVhZCIsCi0gICAgInNoYWRlcndyaXRlIiwKLSAgICAi
cmVuZGVydGFyZ2V0IiwKLSAgICAicGl4ZWxmb3JtYXR2aWV3IgotfTsKLQotWwotICAgIENvbmRp
dGlvbmFsPVdFQkdQVSwKLSAgICBFbmFibGVkQXRSdW50aW1lPVdlYkdQVQotXSBlbnVtIFdlYkdQ
VUJsZW5kT3BlcmF0aW9uIHsKLSAgICAiYWRkIiwKLSAgICAic3VidHJhY3QiLAotICAgICJyZXZl
cnNlc3VidHJhY3QiLAotICAgICJtaW4iLAotICAgICJtYXgiCi19OwotCi1bCi0gICAgQ29uZGl0
aW9uYWw9V0VCR1BVLAotICAgIEVuYWJsZWRBdFJ1bnRpbWU9V2ViR1BVCi1dIGVudW0gV2ViR1BV
QmxlbmRGYWN0b3IgewotICAgICJ6ZXJvIiwKLSAgICAib25lIiwKLSAgICAic291cmNlY29sb3Ii
LAotICAgICJvbmVtaW51c3NvdXJjZWNvbG9yIiwKLSAgICAic291cmNlYWxwaGEiLAotICAgICJv
bmVtaW51c3NvdXJjZWFscGhhIiwKLSAgICAiZGVzdGluYXRpb25jb2xvciIsCi0gICAgIm9uZW1p
bnVzZGVzdGluYXRpb25jb2xvciIsCi0gICAgImRlc3RpbmF0aW9uYWxwaGEiLAotICAgICJvbmVt
aW51c2Rlc3RpbmF0aW9uYWxwaGEiLAotICAgICJzb3VyY2VhbHBoYXNhdHVyYXRlZCIsCi0gICAg
ImJsZW5kY29sb3IiLAotICAgICJvbmVtaW51c2JsZW5kY29sb3IiLAotICAgICJibGVuZGFscGhh
IiwKLSAgICAib25lbWludXNibGVuZGFscGhhIgotfTsKLQotWwotICAgIENvbmRpdGlvbmFsPVdF
QkdQVSwKLSAgICBFbmFibGVkQXRSdW50aW1lPVdlYkdQVQotXSBlbnVtIFdlYkdQVUNvbG9yV3Jp
dGVNYXNrIHsKLSAgICAibm9uZSIsCi0gICAgInJlZCIsCi0gICAgImdyZWVuIiwKLSAgICAiYmx1
ZSIsCi0gICAgImFscGhhIiwKLSAgICAiYWxsIgotfTsKLQotWwotICAgIENvbmRpdGlvbmFsPVdF
QkdQVSwKLSAgICBFbmFibGVkQXRSdW50aW1lPVdlYkdQVQotXSBlbnVtIFdlYkdQVU11bHRpc2Ft
cGxlRGVwdGhSZXNvbHZlRmlsdGVyIHsKLSAgICAic2FtcGxlMCIsCi0gICAgIm1pbiIsCi0gICAg
Im1heCIKLX07Ci0KLVsKLSAgICBDb25kaXRpb25hbD1XRUJHUFUsCi0gICAgRW5hYmxlZEF0UnVu
dGltZT1XZWJHUFUKLV0gZW51bSBXZWJHUFVGZWF0dXJlU2V0IHsKLSAgICAibGV2ZWwxIiwKLSAg
ICAibGV2ZWwyIgotfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dl
YkdQVUZ1bmN0aW9uLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdQVUZ1bmN0
aW9uLmNwcApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggM2VlMjM4YTM1YzUzZTVhZjJl
NjZiMWQxZmUxMzM2MmYyYWY0OTRlOS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHUFVGdW5jdGlvbi5j
cHAKKysrIC9kZXYvbnVsbApAQCAtMSw0NyArMCwwIEBACi0vKgotICogQ29weXJpZ2h0IChDKSAy
MDE3IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLSAqCi0gKiBSZWRpc3RyaWJ1dGlv
biBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKLSAq
IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcg
Y29uZGl0aW9ucwotICogYXJlIG1ldDoKLSAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2Ug
Y29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCi0gKiAyLiBS
ZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNv
cHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQotICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3Ro
ZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KLSAqCi0gKiBUSElT
IFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gYGBBUyBJUycnIEFORCBBTlkKLSAq
IEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRF
RCBUTywgVEhFCi0gKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBG
SVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKLSAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBO
TyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SCi0gKiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZP
UiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKLSAqIEVYRU1QTEFS
WSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBU
TywKLSAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1Mg
T0YgVVNFLCBEQVRBLCBPUgotICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBI
T1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQotICogT0YgTElBQklMSVRZLCBXSEVUSEVS
IElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCi0gKiAoSU5DTFVESU5HIE5F
R0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UK
LSAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkg
T0YgU1VDSCBEQU1BR0UuCi0gKi8KLQotI2luY2x1ZGUgImNvbmZpZy5oIgotI2luY2x1ZGUgIldl
YkdQVUZ1bmN0aW9uLmgiCi0KLSNpZiBFTkFCTEUoV0VCR1BVKQotCi0jaW5jbHVkZSAiV2ViR1BV
TGlicmFyeS5oIgotCi1uYW1lc3BhY2UgV2ViQ29yZSB7Ci0KLVJlZjxXZWJHUFVGdW5jdGlvbj4g
V2ViR1BVRnVuY3Rpb246OmNyZWF0ZShHUFVGdW5jdGlvbiYmIGZ1bmN0aW9uKQotewotICAgIHJl
dHVybiBhZG9wdFJlZigqbmV3IFdlYkdQVUZ1bmN0aW9uKFdURk1vdmUoZnVuY3Rpb24pKSk7Ci19
Ci0KLVdlYkdQVUZ1bmN0aW9uOjpXZWJHUFVGdW5jdGlvbihHUFVGdW5jdGlvbiYmIGZ1bmN0aW9u
KQotICAgIDogbV9mdW5jdGlvbiB7IFdURk1vdmUoZnVuY3Rpb24pIH0KLXsKLX0KLQotfSAvLyBu
YW1lc3BhY2UgV2ViQ29yZQotCi0jZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0
bWwvY2FudmFzL1dlYkdQVUZ1bmN0aW9uLmggYi9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9X
ZWJHUFVGdW5jdGlvbi5oCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA4MmQ0ZWU4YjI5
ZTNkNzUzNGRhYTgzZTRkNGY2NWRmMzg2ZDQ1NTFlLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwCi0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdQVUZ1
bmN0aW9uLmgKKysrIC9kZXYvbnVsbApAQCAtMSw1MiArMCwwIEBACi0vKgotICogQ29weXJpZ2h0
IChDKSAyMDE3IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLSAqCi0gKiBSZWRpc3Ry
aWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhv
dXQKLSAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xs
b3dpbmcgY29uZGl0aW9ucwotICogYXJlIG1ldDoKLSAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBz
b3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2Us
IHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCi0g
KiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFi
b3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQg
dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQotICogICAgZG9jdW1lbnRhdGlvbiBhbmQv
b3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KLSAqCi0g
KiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gYGBBUyBJUycnIEFORCBB
TlkKLSAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1Qg
TElNSVRFRCBUTywgVEhFCi0gKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZ
IEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKLSAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQu
ICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SCi0gKiBDT05UUklCVVRPUlMgQkUgTElB
QkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKLSAqIEVY
RU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElN
SVRFRCBUTywKLSAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7
IExPU1MgT0YgVVNFLCBEQVRBLCBPUgotICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBU
SU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQotICogT0YgTElBQklMSVRZLCBX
SEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCi0gKiAoSU5DTFVE
SU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRI
RSBVU0UKLSAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lC
SUxJVFkgT0YgU1VDSCBEQU1BR0UuCi0gKi8KLQotI3ByYWdtYSBvbmNlCi0KLSNpZiBFTkFCTEUo
V0VCR1BVKQotCi0jaW5jbHVkZSAiR1BVRnVuY3Rpb24uaCIKLSNpbmNsdWRlIDx3dGYvUmVmLmg+
Ci0jaW5jbHVkZSA8d3RmL1JlZkNvdW50ZWQuaD4KLSNpbmNsdWRlIDx3dGYvdGV4dC9XVEZTdHJp
bmcuaD4KLQotbmFtZXNwYWNlIFdlYkNvcmUgewotCi1jbGFzcyBXZWJHUFVGdW5jdGlvbiA6IHB1
YmxpYyBSZWZDb3VudGVkPFdlYkdQVUZ1bmN0aW9uPiB7Ci1wdWJsaWM6Ci0gICAgc3RhdGljIFJl
ZjxXZWJHUFVGdW5jdGlvbj4gY3JlYXRlKEdQVUZ1bmN0aW9uJiYpOwotCi0gICAgU3RyaW5nIG5h
bWUoKSBjb25zdCB7IHJldHVybiBtX2Z1bmN0aW9uLm5hbWUoKTsgfQotICAgIGNvbnN0IEdQVUZ1
bmN0aW9uJiBmdW5jdGlvbigpIGNvbnN0IHsgcmV0dXJuIG1fZnVuY3Rpb247IH0KLQotcHJpdmF0
ZToKLSAgICBleHBsaWNpdCBXZWJHUFVGdW5jdGlvbihHUFVGdW5jdGlvbiYmKTsKLQotICAgIEdQ
VUZ1bmN0aW9uIG1fZnVuY3Rpb247Ci19OwotICAgIAotfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQot
Ci0jZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdQVUZ1
bmN0aW9uLmlkbCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdQVUZ1bmN0aW9uLmlk
bApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYTE0ZjgzYWQyZjdmOTNkZGE2MjllODRl
OGVjYmMxYmM0M2RkYmZhOC4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHUFVGdW5jdGlvbi5pZGwKKysr
IC9kZXYvbnVsbApAQCAtMSwzNCArMCwwIEBACi0vKgotICogQ29weXJpZ2h0IChDKSAyMDE3IEFw
cGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLSAqCi0gKiBSZWRpc3RyaWJ1dGlvbiBhbmQg
dXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKLSAqIG1vZGlm
aWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0
aW9ucwotICogYXJlIG1ldDoKLSAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBt
dXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCi0gKiAyLiBSZWRpc3Ry
aWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdo
dAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2lu
ZyBkaXNjbGFpbWVyIGluIHRoZQotICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0
ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KLSAqCi0gKiBUSElTIFNPRlRX
QVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gYGBBUyBJUycnIEFORCBBTlkKLSAqIEVYUFJF
U1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywg
VEhFCi0gKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNT
IEZPUiBBIFBBUlRJQ1VMQVIKLSAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVO
VCBTSEFMTCBBUFBMRSBJTkMuIE9SCi0gKiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkg
RElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKLSAqIEVYRU1QTEFSWSwgT1Ig
Q09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKLSAq
IFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNF
LCBEQVRBLCBPUgotICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVS
IENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQotICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENP
TlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCi0gKiAoSU5DTFVESU5HIE5FR0xJR0VO
Q0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKLSAqIE9G
IFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VD
SCBEQU1BR0UuCi0gKi8KLQotWwotICAgIENvbmRpdGlvbmFsPVdFQkdQVSwKLSAgICBFbmFibGVk
QXRSdW50aW1lPVdlYkdQVSwKLSAgICBJbXBsZW1lbnRhdGlvbkxhY2tzVlRhYmxlCi1dIGludGVy
ZmFjZSBXZWJHUFVGdW5jdGlvbiB7Ci0KLSAgICByZWFkb25seSBhdHRyaWJ1dGUgRE9NU3RyaW5n
IG5hbWU7Ci0KLX07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJH
UFVMaWJyYXJ5LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdQVUxpYnJhcnku
Y3BwCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAzMzI0Mzg3YjA2MDZjOWMyNzAyZTU4
MTUwOWVlMTA3MDdhNWNmZDY3Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwCi0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdQVUxpYnJhcnkuY3BwCisr
KyAvZGV2L251bGwKQEAgLTEsNjEgKzAsMCBAQAotLyoKLSAqIENvcHlyaWdodCAoQykgMjAxNyBB
cHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0gKgotICogUmVkaXN0cmlidXRpb24gYW5k
IHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Ci0gKiBtb2Rp
ZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRp
dGlvbnMKLSAqIGFyZSBtZXQ6Ci0gKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUg
bXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qg
b2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgotICogMi4gUmVkaXN0
cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmln
aHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dp
bmcgZGlzY2xhaW1lciBpbiB0aGUKLSAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1h
dGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCi0gKgotICogVEhJUyBTT0ZU
V0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCi0gKiBFWFBS
RVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8s
IFRIRQotICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVT
UyBGT1IgQSBQQVJUSUNVTEFSCi0gKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZF
TlQgU0hBTEwgQVBQTEUgSU5DLiBPUgotICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5Z
IERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCi0gKiBFWEVNUExBUlksIE9S
IENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCi0g
KiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVT
RSwgREFUQSwgT1IKLSAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZF
UiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKLSAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBD
T05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAotICogKElOQ0xVRElORyBORUdMSUdF
TkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCi0gKiBP
RiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNV
Q0ggREFNQUdFLgotICovCi0KLSNpbmNsdWRlICJjb25maWcuaCIKLSNpbmNsdWRlICJXZWJHUFVM
aWJyYXJ5LmgiCi0KLSNpZiBFTkFCTEUoV0VCR1BVKQotCi0jaW5jbHVkZSAiV2ViR1BVRnVuY3Rp
b24uaCIKLQotbmFtZXNwYWNlIFdlYkNvcmUgewotCi1SZWY8V2ViR1BVTGlicmFyeT4gV2ViR1BV
TGlicmFyeTo6Y3JlYXRlKEdQVUxpYnJhcnkmJiBsaWJyYXJ5LCBjb25zdCBTdHJpbmcmIHNvdXJj
ZUNvZGUpCi17Ci0gICAgcmV0dXJuIGFkb3B0UmVmKCpuZXcgV2ViR1BVTGlicmFyeShXVEZNb3Zl
KGxpYnJhcnkpLCBzb3VyY2VDb2RlKSk7Ci19Ci0KLVdlYkdQVUxpYnJhcnk6OldlYkdQVUxpYnJh
cnkoR1BVTGlicmFyeSYmIGxpYnJhcnksIGNvbnN0IFN0cmluZyYgc291cmNlQ29kZSkKLSAgICA6
IG1fc291cmNlQ29kZSB7IHNvdXJjZUNvZGUgfQotICAgICwgbV9saWJyYXJ5IHsgV1RGTW92ZShs
aWJyYXJ5KSB9Ci17Ci19Ci0KLVZlY3RvcjxTdHJpbmc+IFdlYkdQVUxpYnJhcnk6OmZ1bmN0aW9u
TmFtZXMoKSBjb25zdAotewotICAgIHJldHVybiBtX2xpYnJhcnkuZnVuY3Rpb25OYW1lcygpOwot
fQotCi1SZWZQdHI8V2ViR1BVRnVuY3Rpb24+IFdlYkdQVUxpYnJhcnk6OmZ1bmN0aW9uV2l0aE5h
bWUoY29uc3QgU3RyaW5nJiBuYW1lKSBjb25zdAotewotICAgIEdQVUZ1bmN0aW9uIGZ1bmN0aW9u
IHsgbV9saWJyYXJ5LCBuYW1lIH07Ci0gICAgaWYgKCFmdW5jdGlvbikKLSAgICAgICAgcmV0dXJu
IG51bGxwdHI7Ci0gICAgcmV0dXJuIFdlYkdQVUZ1bmN0aW9uOjpjcmVhdGUoV1RGTW92ZShmdW5j
dGlvbikpOwotfQotCi19IC8vIG5hbWVzcGFjZSBXZWJDb3JlCi0KLSNlbmRpZgpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR1BVTGlicmFyeS5oIGIvU291cmNlL1dl
YkNvcmUvaHRtbC9jYW52YXMvV2ViR1BVTGlicmFyeS5oCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCA4MjkyZjNiMDViODNmNzM3MDM2MTZlYWQzMjhiOTg3ZDRmYjI4MGY4Li4wMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0
bWwvY2FudmFzL1dlYkdQVUxpYnJhcnkuaAorKysgL2Rldi9udWxsCkBAIC0xLDYwICswLDAgQEAK
LS8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTcgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVk
LgotICoKLSAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9y
bXMsIHdpdGggb3Igd2l0aG91dAotICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3Zp
ZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCi0gKiBhcmUgbWV0OgotICogMS4gUmVk
aXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmln
aHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dp
bmcgZGlzY2xhaW1lci4KLSAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0
IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCi0gKiAgICBk
b2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlz
dHJpYnV0aW9uLgotICoKLSAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5D
LiBgYEFTIElTJycgQU5EIEFOWQotICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElO
Q0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKLSAqIElNUExJRUQgV0FSUkFOVElFUyBP
RiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgotICogUFVSUE9T
RSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IKLSAqIENP
TlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFM
LCBTUEVDSUFMLAotICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xV
RElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAotICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBH
T09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCi0gKiBQUk9GSVRTOyBPUiBC
VVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCi0g
KiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9S
IFRPUlQKLSAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4g
QU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQotICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJ
U0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KLSAqLwotCi0jcHJhZ21hIG9u
Y2UKLQotI2lmIEVOQUJMRShXRUJHUFUpCi0KLSNpbmNsdWRlICJHUFVMaWJyYXJ5LmgiCi0jaW5j
bHVkZSA8d3RmL1JlZi5oPgotI2luY2x1ZGUgPHd0Zi9SZWZDb3VudGVkLmg+Ci0KLW5hbWVzcGFj
ZSBXZWJDb3JlIHsKLQotY2xhc3MgV2ViR1BVRnVuY3Rpb247Ci0KLWNsYXNzIFdlYkdQVUxpYnJh
cnkgOiBwdWJsaWMgUmVmQ291bnRlZDxXZWJHUFVMaWJyYXJ5PiB7Ci1wdWJsaWM6Ci0gICAgc3Rh
dGljIFJlZjxXZWJHUFVMaWJyYXJ5PiBjcmVhdGUoR1BVTGlicmFyeSYmLCBjb25zdCBTdHJpbmcm
IHNvdXJjZUNvZGUpOwotCi0gICAgY29uc3QgU3RyaW5nJiBzb3VyY2VDb2RlKCkgY29uc3QgeyBy
ZXR1cm4gbV9zb3VyY2VDb2RlOyB9Ci0KLSAgICBTdHJpbmcgbGFiZWwoKSBjb25zdCB7IHJldHVy
biBtX2xpYnJhcnkubGFiZWwoKTsgfQotICAgIHZvaWQgc2V0TGFiZWwoY29uc3QgU3RyaW5nJiBs
YWJlbCkgeyBtX2xpYnJhcnkuc2V0TGFiZWwobGFiZWwpOyB9Ci0KLSAgICBWZWN0b3I8U3RyaW5n
PiBmdW5jdGlvbk5hbWVzKCkgY29uc3Q7Ci0KLSAgICBSZWZQdHI8V2ViR1BVRnVuY3Rpb24+IGZ1
bmN0aW9uV2l0aE5hbWUoY29uc3QgU3RyaW5nJikgY29uc3Q7Ci0KLXByaXZhdGU6Ci0gICAgV2Vi
R1BVTGlicmFyeShHUFVMaWJyYXJ5JiYsIGNvbnN0IFN0cmluZyYgc291cmNlQ29kZSk7Ci0KLSAg
ICBTdHJpbmcgbV9zb3VyY2VDb2RlOwotICAgIEdQVUxpYnJhcnkgbV9saWJyYXJ5OwotfTsKLQot
fSAvLyBuYW1lc3BhY2UgV2ViQ29yZQotCi0jZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2h0bWwvY2FudmFzL1dlYkdQVUxpYnJhcnkuaWRsIGIvU291cmNlL1dlYkNvcmUvaHRtbC9j
YW52YXMvV2ViR1BVTGlicmFyeS5pZGwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDM2
ZmYxYjY5YjBjOTQxN2Q1ZDQ5YzMzZDg1MGE1M2VmN2Y4NmYxNTYuLjAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMv
V2ViR1BVTGlicmFyeS5pZGwKKysrIC9kZXYvbnVsbApAQCAtMSwzOCArMCwwIEBACi0vKgotICog
Q29weXJpZ2h0IChDKSAyMDE3IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLSAqCi0g
KiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRo
IG9yIHdpdGhvdXQKLSAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0
IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwotICogYXJlIG1ldDoKLSAqIDEuIFJlZGlzdHJpYnV0
aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAg
ICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2Ns
YWltZXIuCi0gKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1
Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0
aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQotICogICAgZG9jdW1lbnRh
dGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlv
bi4KLSAqCi0gKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gYGBBUyBJ
UycnIEFORCBBTlkKLSAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcs
IEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCi0gKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hB
TlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKLSAqIFBVUlBPU0UgQVJFIERJ
U0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SCi0gKiBDT05UUklCVVRP
UlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lB
TCwKLSAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJV
VCBOT1QgTElNSVRFRCBUTywKLSAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1Ig
U0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgotICogUFJPRklUUzsgT1IgQlVTSU5FU1Mg
SU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQotICogT0YgTElB
QklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCi0g
KiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkg
T1VUIE9GIFRIRSBVU0UKLSAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBU
SEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCi0gKi8KLQotWwotICAgIENvbmRpdGlvbmFs
PVdFQkdQVSwKLSAgICBFbmFibGVkQXRSdW50aW1lPVdlYkdQVSwKLSAgICBJbXBsZW1lbnRhdGlv
bkxhY2tzVlRhYmxlCi1dIGludGVyZmFjZSBXZWJHUFVMaWJyYXJ5IHsKLQotICAgIHJlYWRvbmx5
IGF0dHJpYnV0ZSBET01TdHJpbmcgc291cmNlQ29kZTsKLSAgICBhdHRyaWJ1dGUgRE9NU3RyaW5n
IGxhYmVsOwotICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBzZXF1ZW5jZTxET01TdHJpbmc+IGZ1bmN0
aW9uTmFtZXM7Ci0KLSAgICBXZWJHUFVGdW5jdGlvbj8gZnVuY3Rpb25XaXRoTmFtZShET01TdHJp
bmcgbmFtZSk7Ci0KLX07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9X
ZWJHUFVSZW5kZXJDb21tYW5kRW5jb2Rlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZh
cy9XZWJHUFVSZW5kZXJDb21tYW5kRW5jb2Rlci5jcHAKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IGVhNTAyYzBkZGY4YjQ3MjZhMGM2ZTBjYTIyZWNkOTc2YmRmY2QzZjUuLjAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRt
bC9jYW52YXMvV2ViR1BVUmVuZGVyQ29tbWFuZEVuY29kZXIuY3BwCisrKyAvZGV2L251bGwKQEAg
LTEsODUgKzAsMCBAQAotLyoKLSAqIENvcHlyaWdodCAoQykgMjAxNyBBcHBsZSBJbmMuIEFsbCBy
aWdodHMgcmVzZXJ2ZWQuCi0gKgotICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2Ug
YW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Ci0gKiBtb2RpZmljYXRpb24sIGFyZSBw
ZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKLSAqIGFyZSBt
ZXQ6Ci0gKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhl
IGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgotICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJp
bmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGlj
ZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBp
biB0aGUKLSAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRl
ZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCi0gKgotICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURF
RCBCWSBBUFBMRSBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCi0gKiBFWFBSRVNTIE9SIElNUExJRUQg
V0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQotICogSU1QTElF
RCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNV
TEFSCi0gKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUg
SU5DLiBPUgotICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJF
Q1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCi0gKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwg
REFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCi0gKiBQUk9DVVJFTUVOVCBP
RiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKLSAq
IFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9O
IEFOWSBUSEVPUlkKLSAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNU
IExJQUJJTElUWSwgT1IgVE9SVAotICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lT
RSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCi0gKiBPRiBUSElTIFNPRlRXQVJF
LCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgotICov
Ci0KLSNpbmNsdWRlICJjb25maWcuaCIKLSNpbmNsdWRlICJXZWJHUFVSZW5kZXJDb21tYW5kRW5j
b2Rlci5oIgotCi0jaWYgRU5BQkxFKFdFQkdQVSkKLQotI2luY2x1ZGUgIkdQVUNvbW1hbmRCdWZm
ZXIuaCIKLSNpbmNsdWRlICJHUFVSZW5kZXJQYXNzRGVzY3JpcHRvci5oIgotI2luY2x1ZGUgIldl
YkdQVUJ1ZmZlci5oIgotI2luY2x1ZGUgIldlYkdQVUNvbW1hbmRCdWZmZXIuaCIKLSNpbmNsdWRl
ICJXZWJHUFVEZXB0aFN0ZW5jaWxTdGF0ZS5oIgotI2luY2x1ZGUgIldlYkdQVVJlbmRlclBhc3NE
ZXNjcmlwdG9yLmgiCi0jaW5jbHVkZSAiV2ViR1BVUmVuZGVyUGlwZWxpbmVTdGF0ZS5oIgotCi1u
YW1lc3BhY2UgV2ViQ29yZSB7Ci0KLVJlZjxXZWJHUFVSZW5kZXJDb21tYW5kRW5jb2Rlcj4gV2Vi
R1BVUmVuZGVyQ29tbWFuZEVuY29kZXI6OmNyZWF0ZShHUFVSZW5kZXJDb21tYW5kRW5jb2RlciYm
IGVuY29kZXIpCi17Ci0gICAgcmV0dXJuIGFkb3B0UmVmKCpuZXcgV2ViR1BVUmVuZGVyQ29tbWFu
ZEVuY29kZXIoV1RGTW92ZShlbmNvZGVyKSkpOwotfQotCi1XZWJHUFVSZW5kZXJDb21tYW5kRW5j
b2Rlcjo6V2ViR1BVUmVuZGVyQ29tbWFuZEVuY29kZXIoR1BVUmVuZGVyQ29tbWFuZEVuY29kZXIm
JiBlbmNvZGVyKQotICAgIDogbV9lbmNvZGVyIHsgV1RGTW92ZShlbmNvZGVyKSB9Ci17Ci19Ci0K
LVdlYkdQVVJlbmRlckNvbW1hbmRFbmNvZGVyOjp+V2ViR1BVUmVuZGVyQ29tbWFuZEVuY29kZXIo
KSA9IGRlZmF1bHQ7Ci0KLXZvaWQgV2ViR1BVUmVuZGVyQ29tbWFuZEVuY29kZXI6OnNldFJlbmRl
clBpcGVsaW5lU3RhdGUoV2ViR1BVUmVuZGVyUGlwZWxpbmVTdGF0ZSYgcGlwZWxpbmVTdGF0ZSkK
LXsKLSAgICBtX2VuY29kZXIuc2V0UmVuZGVyUGlwZWxpbmVTdGF0ZShwaXBlbGluZVN0YXRlLnN0
YXRlKCkpOwotfQotCi12b2lkIFdlYkdQVVJlbmRlckNvbW1hbmRFbmNvZGVyOjpzZXREZXB0aFN0
ZW5jaWxTdGF0ZShXZWJHUFVEZXB0aFN0ZW5jaWxTdGF0ZSYgZGVwdGhTdGVuY2lsU3RhdGUpCi17
Ci0gICAgbV9lbmNvZGVyLnNldERlcHRoU3RlbmNpbFN0YXRlKGRlcHRoU3RlbmNpbFN0YXRlLnN0
YXRlKCkpOwotfQotCi12b2lkIFdlYkdQVVJlbmRlckNvbW1hbmRFbmNvZGVyOjpzZXRWZXJ0ZXhC
dWZmZXIoV2ViR1BVQnVmZmVyJiBidWZmZXIsIHVuc2lnbmVkIG9mZnNldCwgdW5zaWduZWQgaW5k
ZXgpCi17Ci0gICAgbV9lbmNvZGVyLnNldFZlcnRleEJ1ZmZlcihidWZmZXIuYnVmZmVyKCksIG9m
ZnNldCwgaW5kZXgpOwotfQotCi12b2lkIFdlYkdQVVJlbmRlckNvbW1hbmRFbmNvZGVyOjpzZXRG
cmFnbWVudEJ1ZmZlcihXZWJHUFVCdWZmZXImIGJ1ZmZlciwgdW5zaWduZWQgb2Zmc2V0LCB1bnNp
Z25lZCBpbmRleCkKLXsKLSAgICBtX2VuY29kZXIuc2V0RnJhZ21lbnRCdWZmZXIoYnVmZmVyLmJ1
ZmZlcigpLCBvZmZzZXQsIGluZGV4KTsKLX0KLQotdm9pZCBXZWJHUFVSZW5kZXJDb21tYW5kRW5j
b2Rlcjo6ZHJhd1ByaW1pdGl2ZXModW5zaWduZWQgdHlwZSwgdW5zaWduZWQgc3RhcnQsIHVuc2ln
bmVkIGNvdW50KQotewotICAgIG1fZW5jb2Rlci5kcmF3UHJpbWl0aXZlcyh0eXBlLCBzdGFydCwg
Y291bnQpOwotfQotCi12b2lkIFdlYkdQVVJlbmRlckNvbW1hbmRFbmNvZGVyOjplbmRFbmNvZGlu
ZygpCi17Ci0gICAgcmV0dXJuIG1fZW5jb2Rlci5lbmRFbmNvZGluZygpOwotfQotCi19IC8vIG5h
bWVzcGFjZSBXZWJDb3JlCi0KLSNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRt
bC9jYW52YXMvV2ViR1BVUmVuZGVyQ29tbWFuZEVuY29kZXIuaCBiL1NvdXJjZS9XZWJDb3JlL2h0
bWwvY2FudmFzL1dlYkdQVVJlbmRlckNvbW1hbmRFbmNvZGVyLmgKZGVsZXRlZCBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IGUwMmI3OWU4MDQyYzljM2M0NzAzMGUyOTIyYTMyZTIwNzhjOWI4NGQuLjAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvU291cmNlL1dlYkNv
cmUvaHRtbC9jYW52YXMvV2ViR1BVUmVuZGVyQ29tbWFuZEVuY29kZXIuaAorKysgL2Rldi9udWxs
CkBAIC0xLDYyICswLDAgQEAKLS8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTcgQXBwbGUgSW5jLiBB
bGwgcmlnaHRzIHJlc2VydmVkLgotICoKLSAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291
cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAotICogbW9kaWZpY2F0aW9uLCBh
cmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCi0gKiBh
cmUgbWV0OgotICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWlu
IHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlv
bnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KLSAqIDIuIFJlZGlzdHJpYnV0aW9ucyBp
biBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBu
b3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWlt
ZXIgaW4gdGhlCi0gKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJv
dmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgotICoKLSAqIFRISVMgU09GVFdBUkUgSVMgUFJP
VklERUQgQlkgQVBQTEUgSU5DLiBgYEFTIElTJycgQU5EIEFOWQotICogRVhQUkVTUyBPUiBJTVBM
SUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKLSAqIElN
UExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFS
VElDVUxBUgotICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQ
UExFIElOQy4gT1IKLSAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElO
RElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAotICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5U
SUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAotICogUFJPQ1VSRU1F
TlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9S
Ci0gKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFO
RCBPTiBBTlkgVEhFT1JZCi0gKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNU
UklDVCBMSUFCSUxJVFksIE9SIFRPUlQKLSAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhF
UldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQotICogT0YgVEhJUyBTT0ZU
V0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4K
LSAqLwotCi0jcHJhZ21hIG9uY2UKLQotI2lmIEVOQUJMRShXRUJHUFUpCi0KLSNpbmNsdWRlICJH
UFVSZW5kZXJDb21tYW5kRW5jb2Rlci5oIgotI2luY2x1ZGUgPHd0Zi9SZWYuaD4KLSNpbmNsdWRl
IDx3dGYvUmVmQ291bnRlZC5oPgotCi1uYW1lc3BhY2UgV2ViQ29yZSB7Ci0KLWNsYXNzIFdlYkdQ
VUJ1ZmZlcjsKLWNsYXNzIFdlYkdQVURlcHRoU3RlbmNpbFN0YXRlOwotY2xhc3MgV2ViR1BVUmVu
ZGVyUGlwZWxpbmVTdGF0ZTsKLQotY2xhc3MgV2ViR1BVUmVuZGVyQ29tbWFuZEVuY29kZXIgOiBw
dWJsaWMgUmVmQ291bnRlZDxXZWJHUFVSZW5kZXJDb21tYW5kRW5jb2Rlcj4gewotcHVibGljOgot
ICAgIH5XZWJHUFVSZW5kZXJDb21tYW5kRW5jb2RlcigpOwotICAgIHN0YXRpYyBSZWY8V2ViR1BV
UmVuZGVyQ29tbWFuZEVuY29kZXI+IGNyZWF0ZShHUFVSZW5kZXJDb21tYW5kRW5jb2RlciYmKTsK
LQotICAgIHZvaWQgc2V0UmVuZGVyUGlwZWxpbmVTdGF0ZShXZWJHUFVSZW5kZXJQaXBlbGluZVN0
YXRlJik7Ci0gICAgdm9pZCBzZXREZXB0aFN0ZW5jaWxTdGF0ZShXZWJHUFVEZXB0aFN0ZW5jaWxT
dGF0ZSYpOwotICAgIHZvaWQgc2V0VmVydGV4QnVmZmVyKFdlYkdQVUJ1ZmZlciYsIHVuc2lnbmVk
IG9mZnNldCwgdW5zaWduZWQgaW5kZXgpOwotICAgIHZvaWQgc2V0RnJhZ21lbnRCdWZmZXIoV2Vi
R1BVQnVmZmVyJiwgdW5zaWduZWQgb2Zmc2V0LCB1bnNpZ25lZCBpbmRleCk7Ci0gICAgdm9pZCBk
cmF3UHJpbWl0aXZlcyh1bnNpZ25lZCB0eXBlLCB1bnNpZ25lZCBzdGFydCwgdW5zaWduZWQgY291
bnQpOwotICAgIHZvaWQgZW5kRW5jb2RpbmcoKTsKLQotICAgIEdQVVJlbmRlckNvbW1hbmRFbmNv
ZGVyJiBlbmNvZGVyKCkgeyByZXR1cm4gbV9lbmNvZGVyOyB9Ci0KLXByaXZhdGU6Ci0gICAgZXhw
bGljaXQgV2ViR1BVUmVuZGVyQ29tbWFuZEVuY29kZXIoR1BVUmVuZGVyQ29tbWFuZEVuY29kZXIm
Jik7Ci0KLSAgICBHUFVSZW5kZXJDb21tYW5kRW5jb2RlciBtX2VuY29kZXI7Ci19OwotCi19IC8v
IG5hbWVzcGFjZSBXZWJDb3JlCi0KLSNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
aHRtbC9jYW52YXMvV2ViR1BVUmVuZGVyQ29tbWFuZEVuY29kZXIuaWRsIGIvU291cmNlL1dlYkNv
cmUvaHRtbC9jYW52YXMvV2ViR1BVUmVuZGVyQ29tbWFuZEVuY29kZXIuaWRsCmRlbGV0ZWQgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwODAwZGMxYjA1Yjg0ZjBmMjMxMDhmNzI5YWZjZDUxOGU3YjM4
NDdkLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL1NvdXJj
ZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdQVVJlbmRlckNvbW1hbmRFbmNvZGVyLmlkbAorKysg
L2Rldi9udWxsCkBAIC0xLDQwICswLDAgQEAKLS8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTcgQXBw
bGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgotICoKLSAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1
c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAotICogbW9kaWZp
Y2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRp
b25zCi0gKiBhcmUgbWV0OgotICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11
c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9m
IGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KLSAqIDIuIFJlZGlzdHJp
YnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0
Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5n
IGRpc2NsYWltZXIgaW4gdGhlCi0gKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRl
cmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgotICoKLSAqIFRISVMgU09GVFdB
UkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBgYEFTIElTJycgQU5EIEFOWQotICogRVhQUkVT
UyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBU
SEUKLSAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1Mg
Rk9SIEEgUEFSVElDVUxBUgotICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5U
IFNIQUxMIEFQUExFIElOQy4gT1IKLSAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBE
SVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAotICogRVhFTVBMQVJZLCBPUiBD
T05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAotICog
UFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0Us
IERBVEEsIE9SCi0gKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIg
Q0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCi0gKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09O
VFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKLSAqIChJTkNMVURJTkcgTkVHTElHRU5D
RSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQotICogT0Yg
VEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNI
IERBTUFHRS4KLSAqLwotCi1bCi0gICAgQ29uZGl0aW9uYWw9V0VCR1BVLAotICAgIEVuYWJsZWRB
dFJ1bnRpbWU9V2ViR1BVLAotICAgIEltcGxlbWVudGF0aW9uTGFja3NWVGFibGUKLV0gaW50ZXJm
YWNlIFdlYkdQVVJlbmRlckNvbW1hbmRFbmNvZGVyIHsKLQotICAgIHZvaWQgc2V0UmVuZGVyUGlw
ZWxpbmVTdGF0ZShXZWJHUFVSZW5kZXJQaXBlbGluZVN0YXRlIHBpcGVsaW5lU3RhdGUpOwotICAg
IHZvaWQgc2V0RGVwdGhTdGVuY2lsU3RhdGUoV2ViR1BVRGVwdGhTdGVuY2lsU3RhdGUgZGVwdGhT
dGVuY2lsU3RhdGUpOwotICAgIHZvaWQgc2V0VmVydGV4QnVmZmVyKFdlYkdQVUJ1ZmZlciBidWZm
ZXIsIHVuc2lnbmVkIGxvbmcgb2Zmc2V0LCB1bnNpZ25lZCBsb25nIGluZGV4KTsKLSAgICB2b2lk
IHNldEZyYWdtZW50QnVmZmVyKFdlYkdQVUJ1ZmZlciBidWZmZXIsIHVuc2lnbmVkIGxvbmcgb2Zm
c2V0LCB1bnNpZ25lZCBsb25nIGluZGV4KTsKLSAgICB2b2lkIGRyYXdQcmltaXRpdmVzKHVuc2ln
bmVkIGxvbmcgdHlwZSwgdW5zaWduZWQgbG9uZyBzdGFydCwgdW5zaWduZWQgbG9uZyBjb3VudCk7
Ci0KLSAgICB2b2lkIGVuZEVuY29kaW5nKCk7Ci0KLX07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9odG1sL2NhbnZhcy9XZWJHUFVSZW5kZXJQYXNzQXR0YWNobWVudERlc2NyaXB0b3IuY3Bw
IGIvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR1BVUmVuZGVyUGFzc0F0dGFjaG1lbnRE
ZXNjcmlwdG9yLmNwcApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggY2FlMzliYjY1OWQz
ZDBjMjlmNTk0MmJkMTgwNjdhMjEzMTNhODkzMC4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHUFVSZW5k
ZXJQYXNzQXR0YWNobWVudERlc2NyaXB0b3IuY3BwCisrKyAvZGV2L251bGwKQEAgLTEsODEgKzAs
MCBAQAotLyoKLSAqIENvcHlyaWdodCAoQykgMjAxNyBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVz
ZXJ2ZWQuCi0gKgotICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFy
eSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Ci0gKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQg
cHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKLSAqIGFyZSBtZXQ6Ci0gKiAx
LiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNv
cHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyLgotICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3Jt
IG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBs
aXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKLSAq
ICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRo
ZSBkaXN0cmlidXRpb24uCi0gKgotICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBM
RSBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCi0gKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElF
UywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQotICogSU1QTElFRCBXQVJSQU5U
SUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCi0gKiBQ
VVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUgot
ICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lE
RU5UQUwsIFNQRUNJQUwsCi0gKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAo
SU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCi0gKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElU
VVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKLSAqIFBST0ZJVFM7
IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVP
UlkKLSAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElU
WSwgT1IgVE9SVAotICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lO
RyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCi0gKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElG
IEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgotICovCi0KLSNpbmNs
dWRlICJjb25maWcuaCIKLSNpbmNsdWRlICJXZWJHUFVSZW5kZXJQYXNzQXR0YWNobWVudERlc2Ny
aXB0b3IuaCIKLQotI2lmIEVOQUJMRShXRUJHUFUpCi0KLSNpbmNsdWRlICJHUFVSZW5kZXJQYXNz
QXR0YWNobWVudERlc2NyaXB0b3IuaCIKLSNpbmNsdWRlICJHUFVUZXh0dXJlLmgiCi0jaW5jbHVk
ZSAiV2ViR1BVVGV4dHVyZS5oIgotCi1uYW1lc3BhY2UgV2ViQ29yZSB7Ci0KLVdlYkdQVVJlbmRl
clBhc3NBdHRhY2htZW50RGVzY3JpcHRvcjo6V2ViR1BVUmVuZGVyUGFzc0F0dGFjaG1lbnREZXNj
cmlwdG9yKCkKLXsKLX0KLQotV2ViR1BVUmVuZGVyUGFzc0F0dGFjaG1lbnREZXNjcmlwdG9yOjp+
V2ViR1BVUmVuZGVyUGFzc0F0dGFjaG1lbnREZXNjcmlwdG9yKCkgPSBkZWZhdWx0OwotCi11bnNp
Z25lZCBXZWJHUFVSZW5kZXJQYXNzQXR0YWNobWVudERlc2NyaXB0b3I6OmxvYWRBY3Rpb24oKSBj
b25zdAotewotICAgIHJldHVybiBkZXNjcmlwdG9yKCkubG9hZEFjdGlvbigpOwotfQotCi12b2lk
IFdlYkdQVVJlbmRlclBhc3NBdHRhY2htZW50RGVzY3JpcHRvcjo6c2V0TG9hZEFjdGlvbih1bnNp
Z25lZCBuZXdMb2FkQWN0aW9uKQotewotICAgIGRlc2NyaXB0b3IoKS5zZXRMb2FkQWN0aW9uKG5l
d0xvYWRBY3Rpb24pOwotfQotCi11bnNpZ25lZCBXZWJHUFVSZW5kZXJQYXNzQXR0YWNobWVudERl
c2NyaXB0b3I6OnN0b3JlQWN0aW9uKCkgY29uc3QKLXsKLSAgICByZXR1cm4gZGVzY3JpcHRvcigp
LnN0b3JlQWN0aW9uKCk7Ci19Ci0KLXZvaWQgV2ViR1BVUmVuZGVyUGFzc0F0dGFjaG1lbnREZXNj
cmlwdG9yOjpzZXRTdG9yZUFjdGlvbih1bnNpZ25lZCBuZXdTdG9yZUFjdGlvbikKLXsKLSAgICBk
ZXNjcmlwdG9yKCkuc2V0U3RvcmVBY3Rpb24obmV3U3RvcmVBY3Rpb24pOwotfQotCi1XZWJHUFVU
ZXh0dXJlKiBXZWJHUFVSZW5kZXJQYXNzQXR0YWNobWVudERlc2NyaXB0b3I6OnRleHR1cmUoKSBj
b25zdAotewotICAgIHJldHVybiBtX3RleHR1cmUuZ2V0KCk7Ci19Ci0KLXZvaWQgV2ViR1BVUmVu
ZGVyUGFzc0F0dGFjaG1lbnREZXNjcmlwdG9yOjpzZXRUZXh0dXJlKFJlZlB0cjxXZWJHUFVUZXh0
dXJlPiYmIG5ld1RleHR1cmUpCi17Ci0gICAgLy8gRklYTUU6IFdoeSBjYW4ndCB3ZSBzZXQgdGhp
cyB0byBudWxsPwotICAgIGlmICghbmV3VGV4dHVyZSkKLSAgICAgICAgcmV0dXJuOwotICAgIAot
ICAgIG1fdGV4dHVyZSA9IFdURk1vdmUobmV3VGV4dHVyZSk7Ci0KLSAgICBkZXNjcmlwdG9yKCku
c2V0VGV4dHVyZShtX3RleHR1cmUtPnRleHR1cmUoKSk7Ci19Ci0KLX0gLy8gbmFtZXNwYWNlIFdl
YkNvcmUKLQotI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9X
ZWJHUFVSZW5kZXJQYXNzQXR0YWNobWVudERlc2NyaXB0b3IuaCBiL1NvdXJjZS9XZWJDb3JlL2h0
bWwvY2FudmFzL1dlYkdQVVJlbmRlclBhc3NBdHRhY2htZW50RGVzY3JpcHRvci5oCmRlbGV0ZWQg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwNWY5ZjgwOWY5YmRhYzEwOGFiN2Q2YTYzNjA5OGQ2NDcw
OTAxMjg3Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdQVVJlbmRlclBhc3NBdHRhY2htZW50RGVzY3Jp
cHRvci5oCisrKyAvZGV2L251bGwKQEAgLTEsNjQgKzAsMCBAQAotLyoKLSAqIENvcHlyaWdodCAo
QykgMjAxNyBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0gKgotICogUmVkaXN0cmli
dXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0
Ci0gKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93
aW5nIGNvbmRpdGlvbnMKLSAqIGFyZSBtZXQ6Ci0gKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291
cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0
aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgotICog
Mi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92
ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRo
ZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKLSAqICAgIGRvY3VtZW50YXRpb24gYW5kL29y
IG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCi0gKgotICog
VEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIGBgQVMgSVMnJyBBTkQgQU5Z
Ci0gKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJ
TUlURUQgVE8sIFRIRQotICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBB
TkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCi0gKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAg
SU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUgotICogQ09OVFJJQlVUT1JTIEJFIExJQUJM
RSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCi0gKiBFWEVN
UExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlU
RUQgVE8sCi0gKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBM
T1NTIE9GIFVTRSwgREFUQSwgT1IKLSAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElP
TikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKLSAqIE9GIExJQUJJTElUWSwgV0hF
VEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAotICogKElOQ0xVRElO
RyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUg
VVNFCi0gKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklM
SVRZIE9GIFNVQ0ggREFNQUdFLgotICovCi0KLSNwcmFnbWEgb25jZQotCi0jaWYgRU5BQkxFKFdF
QkdQVSkKLQotI2luY2x1ZGUgPHd0Zi9SZWYuaD4KLSNpbmNsdWRlIDx3dGYvUmVmQ291bnRlZC5o
PgotCi1uYW1lc3BhY2UgV2ViQ29yZSB7Ci0KLWNsYXNzIEdQVVJlbmRlclBhc3NBdHRhY2htZW50
RGVzY3JpcHRvcjsKLWNsYXNzIFdlYkdQVVRleHR1cmU7Ci0KLWNsYXNzIFdlYkdQVVJlbmRlclBh
c3NBdHRhY2htZW50RGVzY3JpcHRvciA6IHB1YmxpYyBSZWZDb3VudGVkPFdlYkdQVVJlbmRlclBh
c3NBdHRhY2htZW50RGVzY3JpcHRvcj4gewotcHVibGljOgotICAgIHZpcnR1YWwgfldlYkdQVVJl
bmRlclBhc3NBdHRhY2htZW50RGVzY3JpcHRvcigpOwotCi0gICAgdW5zaWduZWQgbG9hZEFjdGlv
bigpIGNvbnN0OwotICAgIHZvaWQgc2V0TG9hZEFjdGlvbih1bnNpZ25lZCk7Ci0KLSAgICB1bnNp
Z25lZCBzdG9yZUFjdGlvbigpIGNvbnN0OwotICAgIHZvaWQgc2V0U3RvcmVBY3Rpb24odW5zaWdu
ZWQpOwotCi0gICAgV2ViR1BVVGV4dHVyZSogdGV4dHVyZSgpIGNvbnN0OwotICAgIHZvaWQgc2V0
VGV4dHVyZShSZWZQdHI8V2ViR1BVVGV4dHVyZT4mJik7Ci0KLSAgICB2aXJ0dWFsIGJvb2wgaXND
b2xvckF0dGFjaG1lbnREZXNjcmlwdG9yKCkgY29uc3QgPSAwOwotCi1wcm90ZWN0ZWQ6Ci0gICAg
V2ViR1BVUmVuZGVyUGFzc0F0dGFjaG1lbnREZXNjcmlwdG9yKCk7Ci0KLXByaXZhdGU6Ci0gICAg
dmlydHVhbCBjb25zdCBHUFVSZW5kZXJQYXNzQXR0YWNobWVudERlc2NyaXB0b3ImIGRlc2NyaXB0
b3IoKSBjb25zdCA9IDA7Ci0KLSAgICBSZWZQdHI8V2ViR1BVVGV4dHVyZT4gbV90ZXh0dXJlOwot
fTsKLQotfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQotCi0jZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdQVVJlbmRlclBhc3NBdHRhY2htZW50RGVzY3JpcHRv
ci5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHUFVSZW5kZXJQYXNzQXR0YWNo
bWVudERlc2NyaXB0b3IuaWRsCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBkYjg4Y2Zj
YmRjNGIzMDA0YzZkN2UwYzAxMDlkOGI5YmI2ZDU0YjNjLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdQ
VVJlbmRlclBhc3NBdHRhY2htZW50RGVzY3JpcHRvci5pZGwKKysrIC9kZXYvbnVsbApAQCAtMSwz
OCArMCwwIEBACi0vKgotICogQ29weXJpZ2h0IChDKSAyMDE3IEFwcGxlIEluYy4gQWxsIHJpZ2h0
cyByZXNlcnZlZC4KLSAqCi0gKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQg
YmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKLSAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1p
dHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwotICogYXJlIG1ldDoK
LSAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJv
dmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCi0gKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5
IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0
aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRo
ZQotICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdp
dGggdGhlIGRpc3RyaWJ1dGlvbi4KLSAqCi0gKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZ
IEFQUExFIElOQy4gYGBBUyBJUycnIEFORCBBTlkKLSAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJS
QU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCi0gKiBJTVBMSUVEIFdB
UlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIK
LSAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMu
IE9SCi0gKiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwg
SU5DSURFTlRBTCwgU1BFQ0lBTCwKLSAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1B
R0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKLSAqIFBST0NVUkVNRU5UIE9GIFNV
QlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgotICogUFJP
RklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5Z
IFRIRU9SWQotICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElB
QklMSVRZLCBPUiBUT1JUCi0gKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBB
UklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKLSAqIE9GIFRISVMgU09GVFdBUkUsIEVW
RU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCi0gKi8KLQot
WwotICAgIENvbmRpdGlvbmFsPVdFQkdQVSwKLSAgICBFbmFibGVkQXRSdW50aW1lPVdlYkdQVSwK
LSAgICBDdXN0b21Ub0pTT2JqZWN0Ci1dCi1pbnRlcmZhY2UgV2ViR1BVUmVuZGVyUGFzc0F0dGFj
aG1lbnREZXNjcmlwdG9yIHsKLQotICAgIGF0dHJpYnV0ZSBXZWJHUFVUZXh0dXJlPyB0ZXh0dXJl
OwotCi0gICAgYXR0cmlidXRlIHVuc2lnbmVkIGxvbmcgbG9hZEFjdGlvbjsgLy8gc2hvdWxkIGJl
IFdlYkdQVUxvYWRBY3Rpb24KLSAgICBhdHRyaWJ1dGUgdW5zaWduZWQgbG9uZyBzdG9yZUFjdGlv
bjsgLy8gc2hvdWxkIGJlIFdlYkdQVVN0b3JlQWN0aW9uCi0KLX07CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHUFVSZW5kZXJQYXNzQ29sb3JBdHRhY2htZW50RGVz
Y3JpcHRvci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHUFVSZW5kZXJQYXNz
Q29sb3JBdHRhY2htZW50RGVzY3JpcHRvci5jcHAKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDFiYmExMDdiZjRjOTgxMjA3MWE0OTIyYmU1MWRlMjhjNmIyM2E2ZmUuLjAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9j
YW52YXMvV2ViR1BVUmVuZGVyUGFzc0NvbG9yQXR0YWNobWVudERlc2NyaXB0b3IuY3BwCisrKyAv
ZGV2L251bGwKQEAgLTEsNjYgKzAsMCBAQAotLyoKLSAqIENvcHlyaWdodCAoQykgMjAxNyBBcHBs
ZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0gKgotICogUmVkaXN0cmlidXRpb24gYW5kIHVz
ZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Ci0gKiBtb2RpZmlj
YXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlv
bnMKLSAqIGFyZSBtZXQ6Ci0gKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVz
dCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2Yg
Y29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgotICogMi4gUmVkaXN0cmli
dXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQK
LSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcg
ZGlzY2xhaW1lciBpbiB0aGUKLSAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVy
aWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCi0gKgotICogVEhJUyBTT0ZUV0FS
RSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCi0gKiBFWFBSRVNT
IE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRI
RQotICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBG
T1IgQSBQQVJUSUNVTEFSCi0gKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQg
U0hBTEwgQVBQTEUgSU5DLiBPUgotICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJ
UkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCi0gKiBFWEVNUExBUlksIE9SIENP
TlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCi0gKiBQ
Uk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwg
REFUQSwgT1IKLSAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBD
QVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKLSAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05U
UkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAotICogKElOQ0xVRElORyBORUdMSUdFTkNF
IE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCi0gKiBPRiBU
SElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0gg
REFNQUdFLgotICovCi0KLSNpbmNsdWRlICJjb25maWcuaCIKLSNpbmNsdWRlICJXZWJHUFVSZW5k
ZXJQYXNzQ29sb3JBdHRhY2htZW50RGVzY3JpcHRvci5oIgotCi0jaWYgRU5BQkxFKFdFQkdQVSkK
LQotI2luY2x1ZGUgIkdQVVRleHR1cmUuaCIKLSNpbmNsdWRlICJXZWJHUFVUZXh0dXJlLmgiCi0j
aW5jbHVkZSA8d3RmL1ZlY3Rvci5oPgotCi1uYW1lc3BhY2UgV2ViQ29yZSB7Ci0KLVJlZjxXZWJH
UFVSZW5kZXJQYXNzQ29sb3JBdHRhY2htZW50RGVzY3JpcHRvcj4gV2ViR1BVUmVuZGVyUGFzc0Nv
bG9yQXR0YWNobWVudERlc2NyaXB0b3I6OmNyZWF0ZShHUFVSZW5kZXJQYXNzQ29sb3JBdHRhY2ht
ZW50RGVzY3JpcHRvciYmIGRlc2NyaXB0b3IpCi17Ci0gICAgcmV0dXJuIGFkb3B0UmVmKCpuZXcg
V2ViR1BVUmVuZGVyUGFzc0NvbG9yQXR0YWNobWVudERlc2NyaXB0b3IoV1RGTW92ZShkZXNjcmlw
dG9yKSkpOwotfQotCi1XZWJHUFVSZW5kZXJQYXNzQ29sb3JBdHRhY2htZW50RGVzY3JpcHRvcjo6
V2ViR1BVUmVuZGVyUGFzc0NvbG9yQXR0YWNobWVudERlc2NyaXB0b3IoR1BVUmVuZGVyUGFzc0Nv
bG9yQXR0YWNobWVudERlc2NyaXB0b3ImJiBkZXNjcmlwdG9yKQotICAgIDogbV9kZXNjcmlwdG9y
IHsgV1RGTW92ZShkZXNjcmlwdG9yKSB9Ci17Ci19Ci0KLVdlYkdQVVJlbmRlclBhc3NDb2xvckF0
dGFjaG1lbnREZXNjcmlwdG9yOjp+V2ViR1BVUmVuZGVyUGFzc0NvbG9yQXR0YWNobWVudERlc2Ny
aXB0b3IoKSA9IGRlZmF1bHQ7Ci0KLWNvbnN0IEdQVVJlbmRlclBhc3NBdHRhY2htZW50RGVzY3Jp
cHRvciYgV2ViR1BVUmVuZGVyUGFzc0NvbG9yQXR0YWNobWVudERlc2NyaXB0b3I6OmRlc2NyaXB0
b3IoKSBjb25zdAotewotICAgIHJldHVybiBtX2Rlc2NyaXB0b3I7Ci19Ci0KLVZlY3RvcjxmbG9h
dD4gV2ViR1BVUmVuZGVyUGFzc0NvbG9yQXR0YWNobWVudERlc2NyaXB0b3I6OmNsZWFyQ29sb3Io
KSBjb25zdAotewotICAgIHJldHVybiBtX2Rlc2NyaXB0b3IuY2xlYXJDb2xvcigpOwotfQotCi12
b2lkIFdlYkdQVVJlbmRlclBhc3NDb2xvckF0dGFjaG1lbnREZXNjcmlwdG9yOjpzZXRDbGVhckNv
bG9yKGNvbnN0IFZlY3RvcjxmbG9hdD4mIG5ld0NsZWFyQ29sb3IpCi17Ci0gICAgbV9kZXNjcmlw
dG9yLnNldENsZWFyQ29sb3IobmV3Q2xlYXJDb2xvcik7Ci19Ci0KLX0gLy8gbmFtZXNwYWNlIFdl
YkNvcmUKLQotI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9X
ZWJHUFVSZW5kZXJQYXNzQ29sb3JBdHRhY2htZW50RGVzY3JpcHRvci5oIGIvU291cmNlL1dlYkNv
cmUvaHRtbC9jYW52YXMvV2ViR1BVUmVuZGVyUGFzc0NvbG9yQXR0YWNobWVudERlc2NyaXB0b3Iu
aApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggM2E3ZTBhOWZiZjdmY2E0ZmZkZWU5YzVk
ZmM4M2VkMjkxYjcxNjNmNC4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHUFVSZW5kZXJQYXNzQ29sb3JB
dHRhY2htZW50RGVzY3JpcHRvci5oCisrKyAvZGV2L251bGwKQEAgLTEsNTQgKzAsMCBAQAotLyoK
LSAqIENvcHlyaWdodCAoQykgMjAxNyBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0g
KgotICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywg
d2l0aCBvciB3aXRob3V0Ci0gKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQg
dGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKLSAqIGFyZSBtZXQ6Ci0gKiAxLiBSZWRpc3Ry
aWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAot
ICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBk
aXNjbGFpbWVyLgotICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVw
cm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNv
bmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKLSAqICAgIGRvY3Vt
ZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmli
dXRpb24uCi0gKgotICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIGBg
QVMgSVMnJyBBTkQgQU5ZCi0gKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVE
SU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQotICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1F
UkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCi0gKiBQVVJQT1NFIEFS
RSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUgotICogQ09OVFJJ
QlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQ
RUNJQUwsCi0gKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5H
LCBCVVQgTk9UIExJTUlURUQgVE8sCi0gKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RT
IE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKLSAqIFBST0ZJVFM7IE9SIEJVU0lO
RVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKLSAqIE9G
IExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9S
VAotICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkg
V0FZIE9VVCBPRiBUSEUgVVNFCi0gKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQg
T0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgotICovCi0KLSNwcmFnbWEgb25jZQot
Ci0jaWYgRU5BQkxFKFdFQkdQVSkKLQotI2luY2x1ZGUgIkdQVVJlbmRlclBhc3NDb2xvckF0dGFj
aG1lbnREZXNjcmlwdG9yLmgiCi0jaW5jbHVkZSAiV2ViR1BVUmVuZGVyUGFzc0F0dGFjaG1lbnRE
ZXNjcmlwdG9yLmgiCi0KLW5hbWVzcGFjZSBXZWJDb3JlIHsKLQotY2xhc3MgV2ViR1BVUmVuZGVy
UGFzc0NvbG9yQXR0YWNobWVudERlc2NyaXB0b3IgZmluYWwgOiBwdWJsaWMgV2ViR1BVUmVuZGVy
UGFzc0F0dGFjaG1lbnREZXNjcmlwdG9yIHsKLXB1YmxpYzoKLSAgICB2aXJ0dWFsIH5XZWJHUFVS
ZW5kZXJQYXNzQ29sb3JBdHRhY2htZW50RGVzY3JpcHRvcigpOwotICAgIHN0YXRpYyBSZWY8V2Vi
R1BVUmVuZGVyUGFzc0NvbG9yQXR0YWNobWVudERlc2NyaXB0b3I+IGNyZWF0ZShHUFVSZW5kZXJQ
YXNzQ29sb3JBdHRhY2htZW50RGVzY3JpcHRvciYmKTsKLQotICAgIFZlY3RvcjxmbG9hdD4gY2xl
YXJDb2xvcigpIGNvbnN0OwotICAgIHZvaWQgc2V0Q2xlYXJDb2xvcihjb25zdCBWZWN0b3I8Zmxv
YXQ+Jik7Ci0KLXByaXZhdGU6Ci0gICAgZXhwbGljaXQgV2ViR1BVUmVuZGVyUGFzc0NvbG9yQXR0
YWNobWVudERlc2NyaXB0b3IoR1BVUmVuZGVyUGFzc0NvbG9yQXR0YWNobWVudERlc2NyaXB0b3Im
Jik7Ci0KLSAgICBjb25zdCBHUFVSZW5kZXJQYXNzQXR0YWNobWVudERlc2NyaXB0b3ImIGRlc2Ny
aXB0b3IoKSBjb25zdCBmaW5hbDsKLSAgICBib29sIGlzQ29sb3JBdHRhY2htZW50RGVzY3JpcHRv
cigpIGNvbnN0IGZpbmFsIHsgcmV0dXJuIHRydWU7IH0KLQotICAgIEdQVVJlbmRlclBhc3NDb2xv
ckF0dGFjaG1lbnREZXNjcmlwdG9yIG1fZGVzY3JpcHRvcjsKLX07Ci0gICAgCi19IC8vIG5hbWVz
cGFjZSBXZWJDb3JlCi0KLSNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9j
YW52YXMvV2ViR1BVUmVuZGVyUGFzc0NvbG9yQXR0YWNobWVudERlc2NyaXB0b3IuaWRsIGIvU291
cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR1BVUmVuZGVyUGFzc0NvbG9yQXR0YWNobWVudERl
c2NyaXB0b3IuaWRsCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBhZDcxZDU2MjBhY2Qy
YzU1MjU3YmE2MDJhZjJiOGRhMTU4YTE3OTNjLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwCi0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdQVVJlbmRl
clBhc3NDb2xvckF0dGFjaG1lbnREZXNjcmlwdG9yLmlkbAorKysgL2Rldi9udWxsCkBAIC0xLDMz
ICswLDAgQEAKLS8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTcgQXBwbGUgSW5jLiBBbGwgcmlnaHRz
IHJlc2VydmVkLgotICoKLSAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBi
aW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAotICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0
dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCi0gKiBhcmUgbWV0Ogot
ICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92
ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRo
ZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KLSAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkg
Zm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRo
aXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhl
Ci0gKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0
aCB0aGUgZGlzdHJpYnV0aW9uLgotICoKLSAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkg
QVBQTEUgSU5DLiBgYEFTIElTJycgQU5EIEFOWQotICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJB
TlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKLSAqIElNUExJRUQgV0FS
UkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgot
ICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4g
T1IKLSAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJ
TkNJREVOVEFMLCBTUEVDSUFMLAotICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFH
RVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAotICogUFJPQ1VSRU1FTlQgT0YgU1VC
U1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCi0gKiBQUk9G
SVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkg
VEhFT1JZCi0gKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFC
SUxJVFksIE9SIFRPUlQKLSAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFS
SVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQotICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZF
TiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KLSAqLwotCi1b
Ci0gICAgQ29uZGl0aW9uYWw9V0VCR1BVLAotICAgIEVuYWJsZWRBdFJ1bnRpbWU9V2ViR1BVCi1d
IGludGVyZmFjZSBXZWJHUFVSZW5kZXJQYXNzQ29sb3JBdHRhY2htZW50RGVzY3JpcHRvciA6IFdl
YkdQVVJlbmRlclBhc3NBdHRhY2htZW50RGVzY3JpcHRvciB7Ci0KLSAgICBhdHRyaWJ1dGUgc2Vx
dWVuY2U8ZmxvYXQ+IGNsZWFyQ29sb3I7Ci0KLX07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9odG1sL2NhbnZhcy9XZWJHUFVSZW5kZXJQYXNzRGVwdGhBdHRhY2htZW50RGVzY3JpcHRvci5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHUFVSZW5kZXJQYXNzRGVwdGhBdHRh
Y2htZW50RGVzY3JpcHRvci5jcHAKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDhlNmU1
ZjI4NDgyYTAyZGQ3NjRmYjU5ZWNkMmVhZTgzZjVhNGQzOWIuLjAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2Vi
R1BVUmVuZGVyUGFzc0RlcHRoQXR0YWNobWVudERlc2NyaXB0b3IuY3BwCisrKyAvZGV2L251bGwK
QEAgLTEsNjQgKzAsMCBAQAotLyoKLSAqIENvcHlyaWdodCAoQykgMjAxNyBBcHBsZSBJbmMuIEFs
bCByaWdodHMgcmVzZXJ2ZWQuCi0gKgotICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3Vy
Y2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Ci0gKiBtb2RpZmljYXRpb24sIGFy
ZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKLSAqIGFy
ZSBtZXQ6Ci0gKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4g
dGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9u
cyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgotICogMi4gUmVkaXN0cmlidXRpb25zIGlu
IGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5v
dGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1l
ciBpbiB0aGUKLSAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92
aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCi0gKgotICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9W
SURFRCBCWSBBUFBMRSBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCi0gKiBFWFBSRVNTIE9SIElNUExJ
RUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQotICogSU1Q
TElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJU
SUNVTEFSCi0gKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQ
TEUgSU5DLiBPUgotICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5E
SVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCi0gKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJ
QUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCi0gKiBQUk9DVVJFTUVO
VCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IK
LSAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5E
IE9OIEFOWSBUSEVPUlkKLSAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RS
SUNUIExJQUJJTElUWSwgT1IgVE9SVAotICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVS
V0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCi0gKiBPRiBUSElTIFNPRlRX
QVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgot
ICovCi0KLSNpbmNsdWRlICJjb25maWcuaCIKLSNpbmNsdWRlICJXZWJHUFVSZW5kZXJQYXNzRGVw
dGhBdHRhY2htZW50RGVzY3JpcHRvci5oIgotCi0jaWYgRU5BQkxFKFdFQkdQVSkKLQotI2luY2x1
ZGUgIldlYkdQVVRleHR1cmUuaCIKLQotbmFtZXNwYWNlIFdlYkNvcmUgewotCi1SZWY8V2ViR1BV
UmVuZGVyUGFzc0RlcHRoQXR0YWNobWVudERlc2NyaXB0b3I+IFdlYkdQVVJlbmRlclBhc3NEZXB0
aEF0dGFjaG1lbnREZXNjcmlwdG9yOjpjcmVhdGUoR1BVUmVuZGVyUGFzc0RlcHRoQXR0YWNobWVu
dERlc2NyaXB0b3ImJiBkZXNjcmlwdG9yKQotewotICAgIHJldHVybiBhZG9wdFJlZigqbmV3IFdl
YkdQVVJlbmRlclBhc3NEZXB0aEF0dGFjaG1lbnREZXNjcmlwdG9yKFdURk1vdmUoZGVzY3JpcHRv
cikpKTsKLX0KLQotV2ViR1BVUmVuZGVyUGFzc0RlcHRoQXR0YWNobWVudERlc2NyaXB0b3I6Oldl
YkdQVVJlbmRlclBhc3NEZXB0aEF0dGFjaG1lbnREZXNjcmlwdG9yKEdQVVJlbmRlclBhc3NEZXB0
aEF0dGFjaG1lbnREZXNjcmlwdG9yJiYgZGVzY3JpcHRvcikKLSAgICA6IG1fZGVzY3JpcHRvciB7
IFdURk1vdmUoZGVzY3JpcHRvcikgfQotewotfQotCi1XZWJHUFVSZW5kZXJQYXNzRGVwdGhBdHRh
Y2htZW50RGVzY3JpcHRvcjo6fldlYkdQVVJlbmRlclBhc3NEZXB0aEF0dGFjaG1lbnREZXNjcmlw
dG9yKCkgPSBkZWZhdWx0OwotCi1kb3VibGUgV2ViR1BVUmVuZGVyUGFzc0RlcHRoQXR0YWNobWVu
dERlc2NyaXB0b3I6OmNsZWFyRGVwdGgoKSBjb25zdAotewotICAgIHJldHVybiBtX2Rlc2NyaXB0
b3IuY2xlYXJEZXB0aCgpOwotfQotCi12b2lkIFdlYkdQVVJlbmRlclBhc3NEZXB0aEF0dGFjaG1l
bnREZXNjcmlwdG9yOjpzZXRDbGVhckRlcHRoKGRvdWJsZSBuZXdDbGVhckRlcHRoKQotewotICAg
IG1fZGVzY3JpcHRvci5zZXRDbGVhckRlcHRoKG5ld0NsZWFyRGVwdGgpOwotfQotCi1jb25zdCBH
UFVSZW5kZXJQYXNzQXR0YWNobWVudERlc2NyaXB0b3ImIFdlYkdQVVJlbmRlclBhc3NEZXB0aEF0
dGFjaG1lbnREZXNjcmlwdG9yOjpkZXNjcmlwdG9yKCkgY29uc3QKLXsKLSAgICByZXR1cm4gbV9k
ZXNjcmlwdG9yOwotfQotCi19IC8vIG5hbWVzcGFjZSBXZWJDb3JlCi0KLSNlbmRpZgpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR1BVUmVuZGVyUGFzc0RlcHRoQXR0
YWNobWVudERlc2NyaXB0b3IuaCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdQVVJl
bmRlclBhc3NEZXB0aEF0dGFjaG1lbnREZXNjcmlwdG9yLmgKZGVsZXRlZCBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDA5NTdiMmFlMTc1YTBiN2IxYjJiODk4OTliNzFmM2RiMDliMTc5NmYuLjAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvU291cmNlL1dlYkNvcmUv
aHRtbC9jYW52YXMvV2ViR1BVUmVuZGVyUGFzc0RlcHRoQXR0YWNobWVudERlc2NyaXB0b3IuaAor
KysgL2Rldi9udWxsCkBAIC0xLDU0ICswLDAgQEAKLS8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTcg
QXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgotICoKLSAqIFJlZGlzdHJpYnV0aW9uIGFu
ZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAotICogbW9k
aWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25k
aXRpb25zCi0gKiBhcmUgbWV0OgotICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2Rl
IG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KLSAqIDIuIFJlZGlz
dHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJp
Z2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93
aW5nIGRpc2NsYWltZXIgaW4gdGhlCi0gKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBt
YXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgotICoKLSAqIFRISVMgU09G
VFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBgYEFTIElTJycgQU5EIEFOWQotICogRVhQ
UkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRP
LCBUSEUKLSAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5F
U1MgRk9SIEEgUEFSVElDVUxBUgotICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVW
RU5UIFNIQUxMIEFQUExFIElOQy4gT1IKLSAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFO
WSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAotICogRVhFTVBMQVJZLCBP
UiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAot
ICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBV
U0UsIERBVEEsIE9SCi0gKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VW
RVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCi0gKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4g
Q09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKLSAqIChJTkNMVURJTkcgTkVHTElH
RU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQotICog
T0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBT
VUNIIERBTUFHRS4KLSAqLwotCi0jcHJhZ21hIG9uY2UKLQotI2lmIEVOQUJMRShXRUJHUFUpCi0K
LSNpbmNsdWRlICJHUFVSZW5kZXJQYXNzRGVwdGhBdHRhY2htZW50RGVzY3JpcHRvci5oIgotI2lu
Y2x1ZGUgIldlYkdQVVJlbmRlclBhc3NBdHRhY2htZW50RGVzY3JpcHRvci5oIgotCi1uYW1lc3Bh
Y2UgV2ViQ29yZSB7Ci0KLWNsYXNzIFdlYkdQVVJlbmRlclBhc3NEZXB0aEF0dGFjaG1lbnREZXNj
cmlwdG9yIGZpbmFsIDogcHVibGljIFdlYkdQVVJlbmRlclBhc3NBdHRhY2htZW50RGVzY3JpcHRv
ciB7Ci1wdWJsaWM6Ci0gICAgdmlydHVhbCB+V2ViR1BVUmVuZGVyUGFzc0RlcHRoQXR0YWNobWVu
dERlc2NyaXB0b3IoKTsKLSAgICBzdGF0aWMgUmVmPFdlYkdQVVJlbmRlclBhc3NEZXB0aEF0dGFj
aG1lbnREZXNjcmlwdG9yPiBjcmVhdGUoR1BVUmVuZGVyUGFzc0RlcHRoQXR0YWNobWVudERlc2Ny
aXB0b3ImJik7Ci0KLSAgICBkb3VibGUgY2xlYXJEZXB0aCgpIGNvbnN0OwotICAgIHZvaWQgc2V0
Q2xlYXJEZXB0aChkb3VibGUpOwotCi1wcml2YXRlOgotICAgIGV4cGxpY2l0IFdlYkdQVVJlbmRl
clBhc3NEZXB0aEF0dGFjaG1lbnREZXNjcmlwdG9yKEdQVVJlbmRlclBhc3NEZXB0aEF0dGFjaG1l
bnREZXNjcmlwdG9yJiYpOwotCi0gICAgY29uc3QgR1BVUmVuZGVyUGFzc0F0dGFjaG1lbnREZXNj
cmlwdG9yJiBkZXNjcmlwdG9yKCkgY29uc3QgZmluYWw7Ci0gICAgYm9vbCBpc0NvbG9yQXR0YWNo
bWVudERlc2NyaXB0b3IoKSBjb25zdCBmaW5hbCB7IHJldHVybiBmYWxzZTsgfQotCi0gICAgR1BV
UmVuZGVyUGFzc0RlcHRoQXR0YWNobWVudERlc2NyaXB0b3IgbV9kZXNjcmlwdG9yOwotfTsKLSAg
ICAKLX0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKLQotI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHUFVSZW5kZXJQYXNzRGVwdGhBdHRhY2htZW50RGVzY3Jp
cHRvci5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHUFVSZW5kZXJQYXNzRGVw
dGhBdHRhY2htZW50RGVzY3JpcHRvci5pZGwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDMwMDhiY2YzM2U4NjgxZmNiZTNiMTY1ZDI4NWY1YTc1MzQzMjE3MDcuLjAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52
YXMvV2ViR1BVUmVuZGVyUGFzc0RlcHRoQXR0YWNobWVudERlc2NyaXB0b3IuaWRsCisrKyAvZGV2
L251bGwKQEAgLTEsMzMgKzAsMCBAQAotLyoKLSAqIENvcHlyaWdodCAoQykgMjAxNyBBcHBsZSBJ
bmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0gKgotICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBp
biBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Ci0gKiBtb2RpZmljYXRp
b24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMK
LSAqIGFyZSBtZXQ6Ci0gKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCBy
ZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29u
ZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgotICogMi4gUmVkaXN0cmlidXRp
b25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAq
ICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlz
Y2xhaW1lciBpbiB0aGUKLSAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFs
cyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCi0gKgotICogVEhJUyBTT0ZUV0FSRSBJ
UyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCi0gKiBFWFBSRVNTIE9S
IElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQot
ICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1Ig
QSBQQVJUSUNVTEFSCi0gKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hB
TEwgQVBQTEUgSU5DLiBPUgotICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVD
VCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCi0gKiBFWEVNUExBUlksIE9SIENPTlNF
UVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCi0gKiBQUk9D
VVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFU
QSwgT1IKLSAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVT
RUQgQU5EIE9OIEFOWSBUSEVPUlkKLSAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFD
VCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAotICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9S
IE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCi0gKiBPRiBUSElT
IFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFN
QUdFLgotICovCi0KLVsKLSAgICBDb25kaXRpb25hbD1XRUJHUFUsCi0gICAgRW5hYmxlZEF0UnVu
dGltZT1XZWJHUFUKLV0gaW50ZXJmYWNlIFdlYkdQVVJlbmRlclBhc3NEZXB0aEF0dGFjaG1lbnRE
ZXNjcmlwdG9yIDogV2ViR1BVUmVuZGVyUGFzc0F0dGFjaG1lbnREZXNjcmlwdG9yIHsKLQotICAg
IGF0dHJpYnV0ZSB1bnJlc3RyaWN0ZWQgZG91YmxlIGNsZWFyRGVwdGg7Ci0KLX07CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHUFVSZW5kZXJQYXNzRGVzY3JpcHRv
ci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHUFVSZW5kZXJQYXNzRGVzY3Jp
cHRvci5jcHAKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGUwZjYyMDQ4YjQyOGE4NmIz
NmI0MWExMmYxMTVmMjMyZDY0YmM2ZGMuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR1BVUmVuZGVyUGFz
c0Rlc2NyaXB0b3IuY3BwCisrKyAvZGV2L251bGwKQEAgLTEsNjMgKzAsMCBAQAotLyoKLSAqIENv
cHlyaWdodCAoQykgMjAxNyBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0gKgotICog
UmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBv
ciB3aXRob3V0Ci0gKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0
aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKLSAqIGFyZSBtZXQ6Ci0gKiAxLiBSZWRpc3RyaWJ1dGlv
bnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAg
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFp
bWVyLgotICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNl
IHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlv
bnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKLSAqICAgIGRvY3VtZW50YXRp
b24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24u
Ci0gKgotICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIGBgQVMgSVMn
JyBBTkQgQU5ZCi0gKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBC
VVQgTk9UIExJTUlURUQgVE8sIFRIRQotICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5U
QUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCi0gKiBQVVJQT1NFIEFSRSBESVND
TEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUgotICogQ09OVFJJQlVUT1JT
IEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUws
Ci0gKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQg
Tk9UIExJTUlURUQgVE8sCi0gKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNF
UlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKLSAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElO
VEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKLSAqIE9GIExJQUJJ
TElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAotICog
KElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9V
VCBPRiBUSEUgVVNFCi0gKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhF
IFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgotICovCi0KLSNpbmNsdWRlICJjb25maWcuaCIK
LSNpbmNsdWRlICJXZWJHUFVSZW5kZXJQYXNzRGVzY3JpcHRvci5oIgotCi0jaWYgRU5BQkxFKFdF
QkdQVSkKLQotbmFtZXNwYWNlIFdlYkNvcmUgewotCi1SZWY8V2ViR1BVUmVuZGVyUGFzc0Rlc2Ny
aXB0b3I+IFdlYkdQVVJlbmRlclBhc3NEZXNjcmlwdG9yOjpjcmVhdGUoKQotewotICAgIHJldHVy
biBhZG9wdFJlZigqbmV3IFdlYkdQVVJlbmRlclBhc3NEZXNjcmlwdG9yKTsKLX0KLQotV2ViR1BV
UmVuZGVyUGFzc0Rlc2NyaXB0b3I6OldlYkdQVVJlbmRlclBhc3NEZXNjcmlwdG9yKCkgPSBkZWZh
dWx0OwotCi1XZWJHUFVSZW5kZXJQYXNzRGVzY3JpcHRvcjo6fldlYkdQVVJlbmRlclBhc3NEZXNj
cmlwdG9yKCkgPSBkZWZhdWx0OwotCi1XZWJHUFVSZW5kZXJQYXNzRGVwdGhBdHRhY2htZW50RGVz
Y3JpcHRvciYgV2ViR1BVUmVuZGVyUGFzc0Rlc2NyaXB0b3I6OmRlcHRoQXR0YWNobWVudCgpCi17
Ci0gICAgaWYgKCFtX2RlcHRoQXR0YWNobWVudCkKLSAgICAgICAgbV9kZXB0aEF0dGFjaG1lbnQg
PSBXZWJHUFVSZW5kZXJQYXNzRGVwdGhBdHRhY2htZW50RGVzY3JpcHRvcjo6Y3JlYXRlKG1fZGVz
Y3JpcHRvci5kZXB0aEF0dGFjaG1lbnQoKSk7Ci0gICAgcmV0dXJuICptX2RlcHRoQXR0YWNobWVu
dDsKLX0KLQotY29uc3QgVmVjdG9yPFJlZlB0cjxXZWJHUFVSZW5kZXJQYXNzQ29sb3JBdHRhY2ht
ZW50RGVzY3JpcHRvcj4+JiBXZWJHUFVSZW5kZXJQYXNzRGVzY3JpcHRvcjo6Y29sb3JBdHRhY2ht
ZW50cygpCi17Ci0gICAgaWYgKG1fY29sb3JBdHRhY2htZW50cy5pc0VtcHR5KCkpIHsKLSAgICAg
ICAgYXV0byBhdHRhY2htZW50cyA9IG1fZGVzY3JpcHRvci5jb2xvckF0dGFjaG1lbnRzKCk7Ci0g
ICAgICAgIEFTU0VSVCghYXR0YWNobWVudHMuaXNFbXB0eSgpKTsKLSAgICAgICAgbV9jb2xvckF0
dGFjaG1lbnRzLnJlc2VydmVJbml0aWFsQ2FwYWNpdHkoYXR0YWNobWVudHMuc2l6ZSgpKTsKLSAg
ICAgICAgZm9yIChhdXRvJiBhdHRhY2htZW50IDogYXR0YWNobWVudHMpCi0gICAgICAgICAgICBt
X2NvbG9yQXR0YWNobWVudHMudW5jaGVja2VkQXBwZW5kKFdlYkdQVVJlbmRlclBhc3NDb2xvckF0
dGFjaG1lbnREZXNjcmlwdG9yOjpjcmVhdGUoV1RGTW92ZShhdHRhY2htZW50KSkpOwotICAgIH0K
LSAgICByZXR1cm4gbV9jb2xvckF0dGFjaG1lbnRzOwotfQotCi19IC8vIG5hbWVzcGFjZSBXZWJD
b3JlCi0KLSNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2Vi
R1BVUmVuZGVyUGFzc0Rlc2NyaXB0b3IuaCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dl
YkdQVVJlbmRlclBhc3NEZXNjcmlwdG9yLmgKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IGQzMmQxZmE5MmIzOGQwNjFiZGYwNzNjZGY1YjhlODQ2ZGEyNzczOWUuLjAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52
YXMvV2ViR1BVUmVuZGVyUGFzc0Rlc2NyaXB0b3IuaAorKysgL2Rldi9udWxsCkBAIC0xLDYwICsw
LDAgQEAKLS8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTcgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJl
c2VydmVkLgotICoKLSAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5h
cnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAotICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVk
IHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCi0gKiBhcmUgbWV0OgotICog
MS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBj
b3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBm
b2xsb3dpbmcgZGlzY2xhaW1lci4KLSAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9y
bSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCi0g
KiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0
aGUgZGlzdHJpYnV0aW9uLgotICoKLSAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQ
TEUgSU5DLiBgYEFTIElTJycgQU5EIEFOWQotICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJ
RVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKLSAqIElNUExJRUQgV0FSUkFO
VElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgotICog
UFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IK
LSAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJ
REVOVEFMLCBTUEVDSUFMLAotICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMg
KElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAotICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJ
VFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCi0gKiBQUk9GSVRT
OyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhF
T1JZCi0gKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJ
VFksIE9SIFRPUlQKLSAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJ
TkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQotICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJ
RiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KLSAqLwotCi0jcHJh
Z21hIG9uY2UKLQotI2lmIEVOQUJMRShXRUJHUFUpCi0KLSNpbmNsdWRlICJHUFVSZW5kZXJQYXNz
RGVzY3JpcHRvci5oIgotI2luY2x1ZGUgIldlYkdQVVJlbmRlclBhc3NDb2xvckF0dGFjaG1lbnRE
ZXNjcmlwdG9yLmgiCi0jaW5jbHVkZSAiV2ViR1BVUmVuZGVyUGFzc0RlcHRoQXR0YWNobWVudERl
c2NyaXB0b3IuaCIKLSNpbmNsdWRlIDx3dGYvUmVmLmg+Ci0jaW5jbHVkZSA8d3RmL1JlZkNvdW50
ZWQuaD4KLSNpbmNsdWRlIDx3dGYvVmVjdG9yLmg+Ci0KLW5hbWVzcGFjZSBXZWJDb3JlIHsKLQot
Y2xhc3MgV2ViR1BVUmVuZGVyUGFzc0Rlc2NyaXB0b3IgOiBwdWJsaWMgUmVmQ291bnRlZDxXZWJH
UFVSZW5kZXJQYXNzRGVzY3JpcHRvcj4gewotcHVibGljOgotICAgIH5XZWJHUFVSZW5kZXJQYXNz
RGVzY3JpcHRvcigpOwotICAgIHN0YXRpYyBSZWY8V2ViR1BVUmVuZGVyUGFzc0Rlc2NyaXB0b3I+
IGNyZWF0ZSgpOwotCi0gICAgV2ViR1BVUmVuZGVyUGFzc0RlcHRoQXR0YWNobWVudERlc2NyaXB0
b3ImIGRlcHRoQXR0YWNobWVudCgpOwotICAgIGNvbnN0IFZlY3RvcjxSZWZQdHI8V2ViR1BVUmVu
ZGVyUGFzc0NvbG9yQXR0YWNobWVudERlc2NyaXB0b3I+PiYgY29sb3JBdHRhY2htZW50cygpOwot
Ci0gICAgY29uc3QgR1BVUmVuZGVyUGFzc0Rlc2NyaXB0b3ImIGRlc2NyaXB0b3IoKSBjb25zdCB7
IHJldHVybiBtX2Rlc2NyaXB0b3I7IH0KLQotcHJpdmF0ZToKLSAgICBXZWJHUFVSZW5kZXJQYXNz
RGVzY3JpcHRvcigpOwotCi0gICAgVmVjdG9yPFJlZlB0cjxXZWJHUFVSZW5kZXJQYXNzQ29sb3JB
dHRhY2htZW50RGVzY3JpcHRvcj4+IG1fY29sb3JBdHRhY2htZW50czsKLSAgICBSZWZQdHI8V2Vi
R1BVUmVuZGVyUGFzc0RlcHRoQXR0YWNobWVudERlc2NyaXB0b3I+IG1fZGVwdGhBdHRhY2htZW50
OwotCi0gICAgR1BVUmVuZGVyUGFzc0Rlc2NyaXB0b3IgbV9kZXNjcmlwdG9yOwotfTsKLSAgICAK
LX0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKLQotI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9odG1sL2NhbnZhcy9XZWJHUFVSZW5kZXJQYXNzRGVzY3JpcHRvci5pZGwgYi9Tb3VyY2Uv
V2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHUFVSZW5kZXJQYXNzRGVzY3JpcHRvci5pZGwKZGVsZXRl
ZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGQ1MWM3ZGRkMjM1NTFjM2Q4YzVhZjFiYzJkNGFmMzBm
Nzk4MzU1N2EuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEv
U291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR1BVUmVuZGVyUGFzc0Rlc2NyaXB0b3IuaWRs
CisrKyAvZGV2L251bGwKQEAgLTEsNDAgKzAsMCBAQAotLyoKLSAqIENvcHlyaWdodCAoQykgMjAx
NyBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0gKgotICogUmVkaXN0cmlidXRpb24g
YW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Ci0gKiBt
b2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNv
bmRpdGlvbnMKLSAqIGFyZSBtZXQ6Ci0gKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNv
ZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxp
c3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgotICogMi4gUmVk
aXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5
cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xs
b3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKLSAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVy
IG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCi0gKgotICogVEhJUyBT
T0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCi0gKiBF
WFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQg
VE8sIFRIRQotICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklU
TkVTUyBGT1IgQSBQQVJUSUNVTEFSCi0gKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8g
RVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUgotICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1Ig
QU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCi0gKiBFWEVNUExBUlks
IE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8s
Ci0gKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9G
IFVTRSwgREFUQSwgT1IKLSAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9X
RVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKLSAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJ
TiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAotICogKElOQ0xVRElORyBORUdM
SUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCi0g
KiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9G
IFNVQ0ggREFNQUdFLgotICovCi0KLVsKLSAgICBDb25zdHJ1Y3RvciwKLSAgICBDb25kaXRpb25h
bD1XRUJHUFUsCi0gICAgRW5hYmxlZEF0UnVudGltZT1XZWJHUFUsCi0gICAgSW1wbGVtZW50YXRp
b25MYWNrc1ZUYWJsZQotXSBpbnRlcmZhY2UgV2ViR1BVUmVuZGVyUGFzc0Rlc2NyaXB0b3Igewot
Ci0gICAgcmVhZG9ubHkgYXR0cmlidXRlIHNlcXVlbmNlPFdlYkdQVVJlbmRlclBhc3NDb2xvckF0
dGFjaG1lbnREZXNjcmlwdG9yPiBjb2xvckF0dGFjaG1lbnRzOwotICAgIHJlYWRvbmx5IGF0dHJp
YnV0ZSBXZWJHUFVSZW5kZXJQYXNzRGVwdGhBdHRhY2htZW50RGVzY3JpcHRvciBkZXB0aEF0dGFj
aG1lbnQ7Ci0gICAgLy9yZWFkb25seSBhdHRyaWJ1dGUgV2ViR1BVUmVuZGVyUGFzc1N0ZW5jaWxB
dHRhY2htZW50RGVzY3JpcHRvciBzdGVuY2lsQXR0YWNobWVudDsKLQotICAgIC8vIHJlbmRlclRh
cmdldEFycmF5TGVuZ3RoCi0gICAgLy8gdmlzaWJpbGl0eVJlc3VsdEJ1ZmZlcgotCi19OwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR1BVUmVuZGVyUGlwZWxpbmVD
b2xvckF0dGFjaG1lbnREZXNjcmlwdG9yLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFz
L1dlYkdQVVJlbmRlclBpcGVsaW5lQ29sb3JBdHRhY2htZW50RGVzY3JpcHRvci5jcHAKZGVsZXRl
ZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDY2Y2FjNmI1MDdmNDMwNDQ4MzRmY2VmYTg2NGMyNmRj
OTgzNzcxYWMuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEv
U291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR1BVUmVuZGVyUGlwZWxpbmVDb2xvckF0dGFj
aG1lbnREZXNjcmlwdG9yLmNwcAorKysgL2Rldi9udWxsCkBAIC0xLDU1ICswLDAgQEAKLS8qCi0g
KiBDb3B5cmlnaHQgKEMpIDIwMTcgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgotICoK
LSAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdp
dGggb3Igd2l0aG91dAotICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRo
YXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCi0gKiBhcmUgbWV0OgotICogMS4gUmVkaXN0cmli
dXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAq
ICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlz
Y2xhaW1lci4KLSAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJv
ZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25k
aXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCi0gKiAgICBkb2N1bWVu
dGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0
aW9uLgotICoKLSAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBgYEFT
IElTJycgQU5EIEFOWQotICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElO
RywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKLSAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJD
SEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgotICogUFVSUE9TRSBBUkUg
RElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IKLSAqIENPTlRSSUJV
VE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVD
SUFMLAotICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywg
QlVUIE5PVCBMSU1JVEVEIFRPLAotICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBP
UiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCi0gKiBQUk9GSVRTOyBPUiBCVVNJTkVT
UyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCi0gKiBPRiBM
SUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQK
LSAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdB
WSBPVVQgT0YgVEhFIFVTRQotICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9G
IFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KLSAqLwotCi0jaW5jbHVkZSAiY29uZmln
LmgiCi0jaW5jbHVkZSAiV2ViR1BVUmVuZGVyUGlwZWxpbmVDb2xvckF0dGFjaG1lbnREZXNjcmlw
dG9yLmgiCi0KLSNpZiBFTkFCTEUoV0VCR1BVKQotCi1uYW1lc3BhY2UgV2ViQ29yZSB7Ci0KLVJl
ZjxXZWJHUFVSZW5kZXJQaXBlbGluZUNvbG9yQXR0YWNobWVudERlc2NyaXB0b3I+IFdlYkdQVVJl
bmRlclBpcGVsaW5lQ29sb3JBdHRhY2htZW50RGVzY3JpcHRvcjo6Y3JlYXRlKEdQVVJlbmRlclBp
cGVsaW5lQ29sb3JBdHRhY2htZW50RGVzY3JpcHRvciYmIGRlc2NyaXB0b3IpCi17Ci0gICAgcmV0
dXJuIGFkb3B0UmVmKCpuZXcgV2ViR1BVUmVuZGVyUGlwZWxpbmVDb2xvckF0dGFjaG1lbnREZXNj
cmlwdG9yKFdURk1vdmUoZGVzY3JpcHRvcikpKTsKLX0KLQotV2ViR1BVUmVuZGVyUGlwZWxpbmVD
b2xvckF0dGFjaG1lbnREZXNjcmlwdG9yOjpXZWJHUFVSZW5kZXJQaXBlbGluZUNvbG9yQXR0YWNo
bWVudERlc2NyaXB0b3IoR1BVUmVuZGVyUGlwZWxpbmVDb2xvckF0dGFjaG1lbnREZXNjcmlwdG9y
JiYgZGVzY3JpcHRvcikKLSAgICA6IG1fZGVzY3JpcHRvciB7IFdURk1vdmUoZGVzY3JpcHRvcikg
fQotewotfQotCi11bnNpZ25lZCBXZWJHUFVSZW5kZXJQaXBlbGluZUNvbG9yQXR0YWNobWVudERl
c2NyaXB0b3I6OnBpeGVsRm9ybWF0KCkgY29uc3QKLXsKLSAgICByZXR1cm4gbV9kZXNjcmlwdG9y
LnBpeGVsRm9ybWF0KCk7Ci19Ci0KLXZvaWQgV2ViR1BVUmVuZGVyUGlwZWxpbmVDb2xvckF0dGFj
aG1lbnREZXNjcmlwdG9yOjpzZXRQaXhlbEZvcm1hdCh1bnNpZ25lZCBuZXdQaXhlbEZvcm1hdCkK
LXsKLSAgICBtX2Rlc2NyaXB0b3Iuc2V0UGl4ZWxGb3JtYXQobmV3UGl4ZWxGb3JtYXQpOwotfQot
Ci19IC8vIG5hbWVzcGFjZSBXZWJDb3JlCi0KLSNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvaHRtbC9jYW52YXMvV2ViR1BVUmVuZGVyUGlwZWxpbmVDb2xvckF0dGFjaG1lbnREZXNj
cmlwdG9yLmggYi9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHUFVSZW5kZXJQaXBlbGlu
ZUNvbG9yQXR0YWNobWVudERlc2NyaXB0b3IuaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggYzYwMjU1NmIxMTM3MjZiYTNhMzc0NjI3ZjQ2Njc4YTNjOWUzMzNkMC4uMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL2Nh
bnZhcy9XZWJHUFVSZW5kZXJQaXBlbGluZUNvbG9yQXR0YWNobWVudERlc2NyaXB0b3IuaAorKysg
L2Rldi9udWxsCkBAIC0xLDUxICswLDAgQEAKLS8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTcgQXBw
bGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgotICoKLSAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1
c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAotICogbW9kaWZp
Y2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRp
b25zCi0gKiBhcmUgbWV0OgotICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11
c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9m
IGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KLSAqIDIuIFJlZGlzdHJp
YnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0
Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5n
IGRpc2NsYWltZXIgaW4gdGhlCi0gKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRl
cmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgotICoKLSAqIFRISVMgU09GVFdB
UkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBgYEFTIElTJycgQU5EIEFOWQotICogRVhQUkVT
UyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBU
SEUKLSAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1Mg
Rk9SIEEgUEFSVElDVUxBUgotICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5U
IFNIQUxMIEFQUExFIElOQy4gT1IKLSAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBE
SVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAotICogRVhFTVBMQVJZLCBPUiBD
T05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAotICog
UFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0Us
IERBVEEsIE9SCi0gKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIg
Q0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCi0gKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09O
VFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKLSAqIChJTkNMVURJTkcgTkVHTElHRU5D
RSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQotICogT0Yg
VEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNI
IERBTUFHRS4KLSAqLwotCi0jcHJhZ21hIG9uY2UKLQotI2lmIEVOQUJMRShXRUJHUFUpCi0KLSNp
bmNsdWRlICJHUFVSZW5kZXJQaXBlbGluZUNvbG9yQXR0YWNobWVudERlc2NyaXB0b3IuaCIKLSNp
bmNsdWRlIDx3dGYvUmVmLmg+Ci0jaW5jbHVkZSA8d3RmL1JlZkNvdW50ZWQuaD4KLQotbmFtZXNw
YWNlIFdlYkNvcmUgewotCi1jbGFzcyBXZWJHUFVSZW5kZXJQaXBlbGluZUNvbG9yQXR0YWNobWVu
dERlc2NyaXB0b3IgOiBwdWJsaWMgUmVmQ291bnRlZDxXZWJHUFVSZW5kZXJQaXBlbGluZUNvbG9y
QXR0YWNobWVudERlc2NyaXB0b3I+IHsKLXB1YmxpYzoKLSAgICBzdGF0aWMgUmVmPFdlYkdQVVJl
bmRlclBpcGVsaW5lQ29sb3JBdHRhY2htZW50RGVzY3JpcHRvcj4gY3JlYXRlKEdQVVJlbmRlclBp
cGVsaW5lQ29sb3JBdHRhY2htZW50RGVzY3JpcHRvciYmKTsKLQotICAgIHVuc2lnbmVkIHBpeGVs
Rm9ybWF0KCkgY29uc3Q7Ci0gICAgdm9pZCBzZXRQaXhlbEZvcm1hdCh1bnNpZ25lZCk7Ci0KLXBy
aXZhdGU6Ci0gICAgZXhwbGljaXQgV2ViR1BVUmVuZGVyUGlwZWxpbmVDb2xvckF0dGFjaG1lbnRE
ZXNjcmlwdG9yKEdQVVJlbmRlclBpcGVsaW5lQ29sb3JBdHRhY2htZW50RGVzY3JpcHRvciYmKTsK
LQotICAgIEdQVVJlbmRlclBpcGVsaW5lQ29sb3JBdHRhY2htZW50RGVzY3JpcHRvciBtX2Rlc2Ny
aXB0b3I7Ci19OwotICAgIAotfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQotCi0jZW5kaWYKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdQVVJlbmRlclBpcGVsaW5lQ29s
b3JBdHRhY2htZW50RGVzY3JpcHRvci5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9X
ZWJHUFVSZW5kZXJQaXBlbGluZUNvbG9yQXR0YWNobWVudERlc2NyaXB0b3IuaWRsCmRlbGV0ZWQg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCBiMzE0OTNhN2I2OWIwZTM5NzNiYzdhZjZhZGI4ODg5NTA0
NDE5MDdjLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdQVVJlbmRlclBpcGVsaW5lQ29sb3JBdHRhY2ht
ZW50RGVzY3JpcHRvci5pZGwKKysrIC9kZXYvbnVsbApAQCAtMSwzNCArMCwwIEBACi0vKgotICog
Q29weXJpZ2h0IChDKSAyMDE3IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLSAqCi0g
KiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRo
IG9yIHdpdGhvdXQKLSAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0
IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwotICogYXJlIG1ldDoKLSAqIDEuIFJlZGlzdHJpYnV0
aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAg
ICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2Ns
YWltZXIuCi0gKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1
Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0
aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQotICogICAgZG9jdW1lbnRh
dGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlv
bi4KLSAqCi0gKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gYGBBUyBJ
UycnIEFORCBBTlkKLSAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcs
IEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCi0gKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hB
TlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKLSAqIFBVUlBPU0UgQVJFIERJ
U0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SCi0gKiBDT05UUklCVVRP
UlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lB
TCwKLSAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJV
VCBOT1QgTElNSVRFRCBUTywKLSAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1Ig
U0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgotICogUFJPRklUUzsgT1IgQlVTSU5FU1Mg
SU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQotICogT0YgTElB
QklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCi0g
KiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkg
T1VUIE9GIFRIRSBVU0UKLSAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBU
SEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCi0gKi8KLQotWwotICAgIENvbmRpdGlvbmFs
PVdFQkdQVSwKLSAgICBFbmFibGVkQXRSdW50aW1lPVdlYkdQVSwKLSAgICBJbXBsZW1lbnRhdGlv
bkxhY2tzVlRhYmxlCi1dIGludGVyZmFjZSBXZWJHUFVSZW5kZXJQaXBlbGluZUNvbG9yQXR0YWNo
bWVudERlc2NyaXB0b3IgewotCi0gICAgYXR0cmlidXRlIHVuc2lnbmVkIGxvbmcgcGl4ZWxGb3Jt
YXQ7IC8vIHNob3VsZCBiZSBNVExQaXhlbEZvcm1hdAotCi19OwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR1BVUmVuZGVyUGlwZWxpbmVEZXNjcmlwdG9yLmNwcCBi
L1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdQVVJlbmRlclBpcGVsaW5lRGVzY3JpcHRv
ci5jcHAKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGMyYTA0ODA4MDZkNDY3NWNhODNl
ZTg5NjdmOWU3OGRjOGMxNzk3NWUuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR1BVUmVuZGVyUGlwZWxp
bmVEZXNjcmlwdG9yLmNwcAorKysgL2Rldi9udWxsCkBAIC0xLDExMCArMCwwIEBACi0vKgotICog
Q29weXJpZ2h0IChDKSAyMDE3IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLSAqCi0g
KiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRo
IG9yIHdpdGhvdXQKLSAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0
IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwotICogYXJlIG1ldDoKLSAqIDEuIFJlZGlzdHJpYnV0
aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAg
ICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2Ns
YWltZXIuCi0gKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1
Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0
aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQotICogICAgZG9jdW1lbnRh
dGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlv
bi4KLSAqCi0gKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gYGBBUyBJ
UycnIEFORCBBTlkKLSAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcs
IEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCi0gKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hB
TlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKLSAqIFBVUlBPU0UgQVJFIERJ
U0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SCi0gKiBDT05UUklCVVRP
UlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lB
TCwKLSAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJV
VCBOT1QgTElNSVRFRCBUTywKLSAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1Ig
U0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgotICogUFJPRklUUzsgT1IgQlVTSU5FU1Mg
SU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQotICogT0YgTElB
QklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCi0g
KiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkg
T1VUIE9GIFRIRSBVU0UKLSAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBU
SEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCi0gKi8KLQotI2luY2x1ZGUgImNvbmZpZy5o
IgotI2luY2x1ZGUgIldlYkdQVVJlbmRlclBpcGVsaW5lRGVzY3JpcHRvci5oIgotCi0jaWYgRU5B
QkxFKFdFQkdQVSkKLQotI2luY2x1ZGUgIkdQVUZ1bmN0aW9uLmgiCi0jaW5jbHVkZSAiR1BVUmVu
ZGVyUGlwZWxpbmVDb2xvckF0dGFjaG1lbnREZXNjcmlwdG9yLmgiCi0jaW5jbHVkZSAiV2ViR1BV
RnVuY3Rpb24uaCIKLSNpbmNsdWRlICJXZWJHUFVSZW5kZXJQaXBlbGluZUNvbG9yQXR0YWNobWVu
dERlc2NyaXB0b3IuaCIKLQotbmFtZXNwYWNlIFdlYkNvcmUgewotCi1SZWY8V2ViR1BVUmVuZGVy
UGlwZWxpbmVEZXNjcmlwdG9yPiBXZWJHUFVSZW5kZXJQaXBlbGluZURlc2NyaXB0b3I6OmNyZWF0
ZSgpCi17Ci0gICAgcmV0dXJuIGFkb3B0UmVmKCpuZXcgV2ViR1BVUmVuZGVyUGlwZWxpbmVEZXNj
cmlwdG9yKTsKLX0KLQotV2ViR1BVUmVuZGVyUGlwZWxpbmVEZXNjcmlwdG9yOjpXZWJHUFVSZW5k
ZXJQaXBlbGluZURlc2NyaXB0b3IoKSA9IGRlZmF1bHQ7Ci0KLVdlYkdQVVJlbmRlclBpcGVsaW5l
RGVzY3JpcHRvcjo6fldlYkdQVVJlbmRlclBpcGVsaW5lRGVzY3JpcHRvcigpID0gZGVmYXVsdDsK
LQotV2ViR1BVRnVuY3Rpb24qIFdlYkdQVVJlbmRlclBpcGVsaW5lRGVzY3JpcHRvcjo6dmVydGV4
RnVuY3Rpb24oKSBjb25zdAotewotICAgIHJldHVybiBtX3ZlcnRleEZ1bmN0aW9uLmdldCgpOwot
fQotCi12b2lkIFdlYkdQVVJlbmRlclBpcGVsaW5lRGVzY3JpcHRvcjo6c2V0VmVydGV4RnVuY3Rp
b24oUmVmUHRyPFdlYkdQVUZ1bmN0aW9uPiYmIG5ld1ZlcnRleEZ1bmN0aW9uKQotewotICAgIC8v
IEZJWE1FOiBXaHkgY2FuJ3Qgd2Ugc2V0IHRoaXMgdG8gbnVsbD8KLSAgICBpZiAoIW5ld1ZlcnRl
eEZ1bmN0aW9uKQotICAgICAgICByZXR1cm47Ci0KLSAgICBtX3ZlcnRleEZ1bmN0aW9uID0gV1RG
TW92ZShuZXdWZXJ0ZXhGdW5jdGlvbik7Ci0KLSAgICBtX2Rlc2NyaXB0b3Iuc2V0VmVydGV4RnVu
Y3Rpb24obV92ZXJ0ZXhGdW5jdGlvbi0+ZnVuY3Rpb24oKSk7Ci19Ci0KLVdlYkdQVUZ1bmN0aW9u
KiBXZWJHUFVSZW5kZXJQaXBlbGluZURlc2NyaXB0b3I6OmZyYWdtZW50RnVuY3Rpb24oKSBjb25z
dAotewotICAgIHJldHVybiBtX2ZyYWdtZW50RnVuY3Rpb24uZ2V0KCk7Ci19Ci0KLXZvaWQgV2Vi
R1BVUmVuZGVyUGlwZWxpbmVEZXNjcmlwdG9yOjpzZXRGcmFnbWVudEZ1bmN0aW9uKFJlZlB0cjxX
ZWJHUFVGdW5jdGlvbj4mJiBuZXdGcmFnbWVudEZ1bmN0aW9uKQotewotICAgIC8vIEZJWE1FOiBX
aHkgY2FuJ3Qgd2Ugc2V0IHRoaXMgdG8gbnVsbD8KLSAgICBpZiAoIW5ld0ZyYWdtZW50RnVuY3Rp
b24pCi0gICAgICAgIHJldHVybjsKLQotICAgIG1fZnJhZ21lbnRGdW5jdGlvbiA9IFdURk1vdmUo
bmV3RnJhZ21lbnRGdW5jdGlvbik7Ci0KLSAgICBtX2Rlc2NyaXB0b3Iuc2V0RnJhZ21lbnRGdW5j
dGlvbihtX2ZyYWdtZW50RnVuY3Rpb24tPmZ1bmN0aW9uKCkpOwotfQotCi1jb25zdCBWZWN0b3I8
UmVmUHRyPFdlYkdQVVJlbmRlclBpcGVsaW5lQ29sb3JBdHRhY2htZW50RGVzY3JpcHRvcj4+JiBX
ZWJHUFVSZW5kZXJQaXBlbGluZURlc2NyaXB0b3I6OmNvbG9yQXR0YWNobWVudHMoKQotewotICAg
IGlmICghbV9jb2xvckF0dGFjaG1lbnRzLnNpemUoKSkgewotICAgICAgICBhdXRvIGF0dGFjaG1l
bnRzID0gbV9kZXNjcmlwdG9yLmNvbG9yQXR0YWNobWVudHMoKTsKLSAgICAgICAgbV9jb2xvckF0
dGFjaG1lbnRzLnJlc2VydmVJbml0aWFsQ2FwYWNpdHkoYXR0YWNobWVudHMuc2l6ZSgpKTsKLSAg
ICAgICAgZm9yIChhdXRvJiBhdHRhY2htZW50IDogYXR0YWNobWVudHMpCi0gICAgICAgICAgICBt
X2NvbG9yQXR0YWNobWVudHMudW5jaGVja2VkQXBwZW5kKFdlYkdQVVJlbmRlclBpcGVsaW5lQ29s
b3JBdHRhY2htZW50RGVzY3JpcHRvcjo6Y3JlYXRlKFdURk1vdmUoYXR0YWNobWVudCkpKTsKLSAg
ICB9Ci0gICAgcmV0dXJuIG1fY29sb3JBdHRhY2htZW50czsKLX0KLQotdW5zaWduZWQgV2ViR1BV
UmVuZGVyUGlwZWxpbmVEZXNjcmlwdG9yOjpkZXB0aEF0dGFjaG1lbnRQaXhlbEZvcm1hdCgpIGNv
bnN0Ci17Ci0gICAgcmV0dXJuIG1fZGVzY3JpcHRvci5kZXB0aEF0dGFjaG1lbnRQaXhlbEZvcm1h
dCgpOwotfQotCi12b2lkIFdlYkdQVVJlbmRlclBpcGVsaW5lRGVzY3JpcHRvcjo6c2V0RGVwdGhB
dHRhY2htZW50UGl4ZWxGb3JtYXQodW5zaWduZWQgbmV3UGl4ZWxGb3JtYXQpCi17Ci0gICAgbV9k
ZXNjcmlwdG9yLnNldERlcHRoQXR0YWNobWVudFBpeGVsRm9ybWF0KG5ld1BpeGVsRm9ybWF0KTsK
LX0KLQotdm9pZCBXZWJHUFVSZW5kZXJQaXBlbGluZURlc2NyaXB0b3I6OnJlc2V0KCkKLXsKLSAg
ICBtX3ZlcnRleEZ1bmN0aW9uID0gbnVsbHB0cjsKLSAgICBtX2ZyYWdtZW50RnVuY3Rpb24gPSBu
dWxscHRyOwotCi0gICAgLy8gRklYTUU6IFdoeSBkb2Vzbid0IHRoaXMgY2xlYXIgb3V0IHRoZSBm
dW5jdGlvbnMgb24gbV9kZXNjcmlwdG9yPwotfQotCi19IC8vIG5hbWVzcGFjZSBXZWJDb3JlCi0K
LSNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR1BVUmVu
ZGVyUGlwZWxpbmVEZXNjcmlwdG9yLmggYi9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJH
UFVSZW5kZXJQaXBlbGluZURlc2NyaXB0b3IuaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMzgzNGY4ZGMzMjYzM2IzMTRjMWFmYzFjNTI2MGYzNWUwMzgzYTU2MS4uMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL2Nh
bnZhcy9XZWJHUFVSZW5kZXJQaXBlbGluZURlc2NyaXB0b3IuaAorKysgL2Rldi9udWxsCkBAIC0x
LDc2ICswLDAgQEAKLS8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTcgQXBwbGUgSW5jLiBBbGwgcmln
aHRzIHJlc2VydmVkLgotICoKLSAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFu
ZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAotICogbW9kaWZpY2F0aW9uLCBhcmUgcGVy
bWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCi0gKiBhcmUgbWV0
OgotICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBh
Ym92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5k
IHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KLSAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5h
cnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2Us
IHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4g
dGhlCi0gKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQg
d2l0aCB0aGUgZGlzdHJpYnV0aW9uLgotICoKLSAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQg
QlkgQVBQTEUgSU5DLiBgYEFTIElTJycgQU5EIEFOWQotICogRVhQUkVTUyBPUiBJTVBMSUVEIFdB
UlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKLSAqIElNUExJRUQg
V0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxB
UgotICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElO
Qy4gT1IKLSAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNU
LCBJTkNJREVOVEFMLCBTUEVDSUFMLAotICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERB
TUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAotICogUFJPQ1VSRU1FTlQgT0Yg
U1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCi0gKiBQ
Uk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBB
TlkgVEhFT1JZCi0gKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBM
SUFCSUxJVFksIE9SIFRPUlQKLSAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0Up
IEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQotICogT0YgVEhJUyBTT0ZUV0FSRSwg
RVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KLSAqLwot
Ci0jcHJhZ21hIG9uY2UKLQotI2lmIEVOQUJMRShXRUJHUFUpCi0KLSNpbmNsdWRlICJHUFVSZW5k
ZXJQaXBlbGluZURlc2NyaXB0b3IuaCIKLSNpbmNsdWRlICJXZWJHUFVSZW5kZXJQaXBlbGluZUNv
bG9yQXR0YWNobWVudERlc2NyaXB0b3IuaCIKLSNpbmNsdWRlIDx3dGYvUmVmLmg+Ci0jaW5jbHVk
ZSA8d3RmL1JlZkNvdW50ZWQuaD4KLSNpbmNsdWRlIDx3dGYvVmVjdG9yLmg+Ci0KLW5hbWVzcGFj
ZSBXZWJDb3JlIHsKLQotY2xhc3MgR1BVRnVuY3Rpb247Ci1jbGFzcyBHUFVSZW5kZXJQaXBlbGlu
ZURlc2NyaXB0b3I7Ci1jbGFzcyBXZWJHUFVGdW5jdGlvbjsKLWNsYXNzIFdlYkdQVVJlbmRlclBp
cGVsaW5lQ29sb3JBdHRhY2htZW50RGVzY3JpcHRvcjsKLQotY2xhc3MgV2ViR1BVUmVuZGVyUGlw
ZWxpbmVEZXNjcmlwdG9yIDogcHVibGljIFJlZkNvdW50ZWQ8V2ViR1BVUmVuZGVyUGlwZWxpbmVE
ZXNjcmlwdG9yPiB7Ci1wdWJsaWM6Ci0gICAgfldlYkdQVVJlbmRlclBpcGVsaW5lRGVzY3JpcHRv
cigpOwotICAgIHN0YXRpYyBSZWY8V2ViR1BVUmVuZGVyUGlwZWxpbmVEZXNjcmlwdG9yPiBjcmVh
dGUoKTsKLQotICAgIFdlYkdQVUZ1bmN0aW9uKiB2ZXJ0ZXhGdW5jdGlvbigpIGNvbnN0OwotICAg
IHZvaWQgc2V0VmVydGV4RnVuY3Rpb24oUmVmUHRyPFdlYkdQVUZ1bmN0aW9uPiYmKTsKLQotICAg
IFdlYkdQVUZ1bmN0aW9uKiBmcmFnbWVudEZ1bmN0aW9uKCkgY29uc3Q7Ci0gICAgdm9pZCBzZXRG
cmFnbWVudEZ1bmN0aW9uKFJlZlB0cjxXZWJHUFVGdW5jdGlvbj4mJik7Ci0KLSAgICBjb25zdCBW
ZWN0b3I8UmVmUHRyPFdlYkdQVVJlbmRlclBpcGVsaW5lQ29sb3JBdHRhY2htZW50RGVzY3JpcHRv
cj4+JiBjb2xvckF0dGFjaG1lbnRzKCk7Ci0KLSAgICB1bnNpZ25lZCBkZXB0aEF0dGFjaG1lbnRQ
aXhlbEZvcm1hdCgpIGNvbnN0OwotICAgIHZvaWQgc2V0RGVwdGhBdHRhY2htZW50UGl4ZWxGb3Jt
YXQodW5zaWduZWQpOwotCi0gICAgdm9pZCByZXNldCgpOwotCi0gICAgY29uc3QgR1BVUmVuZGVy
UGlwZWxpbmVEZXNjcmlwdG9yJiBkZXNjcmlwdG9yKCkgeyByZXR1cm4gbV9kZXNjcmlwdG9yOyB9
Ci0KLXByaXZhdGU6Ci0gICAgV2ViR1BVUmVuZGVyUGlwZWxpbmVEZXNjcmlwdG9yKCk7Ci0KLSAg
ICBSZWZQdHI8V2ViR1BVRnVuY3Rpb24+IG1fdmVydGV4RnVuY3Rpb247Ci0gICAgUmVmUHRyPFdl
YkdQVUZ1bmN0aW9uPiBtX2ZyYWdtZW50RnVuY3Rpb247Ci0KLSAgICBWZWN0b3I8UmVmUHRyPFdl
YkdQVVJlbmRlclBpcGVsaW5lQ29sb3JBdHRhY2htZW50RGVzY3JpcHRvcj4+IG1fY29sb3JBdHRh
Y2htZW50czsKLQotICAgIEdQVVJlbmRlclBpcGVsaW5lRGVzY3JpcHRvciBtX2Rlc2NyaXB0b3I7
Ci19OwotCi19IC8vIG5hbWVzcGFjZSBXZWJDb3JlCi0KLSNlbmRpZgpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR1BVUmVuZGVyUGlwZWxpbmVEZXNjcmlwdG9yLmlk
bCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdQVVJlbmRlclBpcGVsaW5lRGVzY3Jp
cHRvci5pZGwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAxOGNlMTk0OTRmY2EwYjFi
M2IwYzE2ZmU2M2NhZmUyYzNmMWNhZTYuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR1BVUmVuZGVyUGlw
ZWxpbmVEZXNjcmlwdG9yLmlkbAorKysgL2Rldi9udWxsCkBAIC0xLDQyICswLDAgQEAKLS8qCi0g
KiBDb3B5cmlnaHQgKEMpIDIwMTcgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgotICoK
LSAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdp
dGggb3Igd2l0aG91dAotICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRo
YXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCi0gKiBhcmUgbWV0OgotICogMS4gUmVkaXN0cmli
dXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAq
ICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlz
Y2xhaW1lci4KLSAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJv
ZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25k
aXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCi0gKiAgICBkb2N1bWVu
dGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0
aW9uLgotICoKLSAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBgYEFT
IElTJycgQU5EIEFOWQotICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElO
RywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKLSAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJD
SEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgotICogUFVSUE9TRSBBUkUg
RElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IKLSAqIENPTlRSSUJV
VE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVD
SUFMLAotICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywg
QlVUIE5PVCBMSU1JVEVEIFRPLAotICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBP
UiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCi0gKiBQUk9GSVRTOyBPUiBCVVNJTkVT
UyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCi0gKiBPRiBM
SUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQK
LSAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdB
WSBPVVQgT0YgVEhFIFVTRQotICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9G
IFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KLSAqLwotCi1bCi0gICAgQ29uc3RydWN0
b3IsCi0gICAgQ29uZGl0aW9uYWw9V0VCR1BVLAotICAgIEVuYWJsZWRBdFJ1bnRpbWU9V2ViR1BV
LAotICAgIEltcGxlbWVudGF0aW9uTGFja3NWVGFibGUKLV0gaW50ZXJmYWNlIFdlYkdQVVJlbmRl
clBpcGVsaW5lRGVzY3JpcHRvciB7Ci0KLSAgICBhdHRyaWJ1dGUgV2ViR1BVRnVuY3Rpb24/IHZl
cnRleEZ1bmN0aW9uOwotICAgIGF0dHJpYnV0ZSBXZWJHUFVGdW5jdGlvbj8gZnJhZ21lbnRGdW5j
dGlvbjsKLQotICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBzZXF1ZW5jZTxXZWJHUFVSZW5kZXJQaXBl
bGluZUNvbG9yQXR0YWNobWVudERlc2NyaXB0b3I+IGNvbG9yQXR0YWNobWVudHM7Ci0KLSAgICBh
dHRyaWJ1dGUgdW5zaWduZWQgbG9uZyBkZXB0aEF0dGFjaG1lbnRQaXhlbEZvcm1hdDsKLQotICAg
IHZvaWQgcmVzZXQoKTsKLQotfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2Fu
dmFzL1dlYkdQVVJlbmRlclBpcGVsaW5lU3RhdGUuY3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9j
YW52YXMvV2ViR1BVUmVuZGVyUGlwZWxpbmVTdGF0ZS5jcHAKZGVsZXRlZCBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IGNmMDBjZWEzYzYzZTUxZDE5NTgxMzMwZmU3NTFlZmIwNGExMDYyYTQuLjAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvU291cmNlL1dlYkNvcmUv
aHRtbC9jYW52YXMvV2ViR1BVUmVuZGVyUGlwZWxpbmVTdGF0ZS5jcHAKKysrIC9kZXYvbnVsbApA
QCAtMSw1NSArMCwwIEBACi0vKgotICogQ29weXJpZ2h0IChDKSAyMDE3IEFwcGxlIEluYy4gQWxs
IHJpZ2h0cyByZXNlcnZlZC4KLSAqCi0gKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJj
ZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKLSAqIG1vZGlmaWNhdGlvbiwgYXJl
IHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwotICogYXJl
IG1ldDoKLSAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0
aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25z
IGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCi0gKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4g
YmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
IGluIHRoZQotICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3Zp
ZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KLSAqCi0gKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJ
REVEIEJZIEFQUExFIElOQy4gYGBBUyBJUycnIEFORCBBTlkKLSAqIEVYUFJFU1MgT1IgSU1QTElF
RCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCi0gKiBJTVBM
SUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJ
Q1VMQVIKLSAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBM
RSBJTkMuIE9SCi0gKiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJ
UkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKLSAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElB
TCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKLSAqIFBST0NVUkVNRU5U
IE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgot
ICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQg
T04gQU5ZIFRIRU9SWQotICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJ
Q1QgTElBQklMSVRZLCBPUiBUT1JUCi0gKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJX
SVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKLSAqIE9GIFRISVMgU09GVFdB
UkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCi0g
Ki8KLQotI2luY2x1ZGUgImNvbmZpZy5oIgotI2luY2x1ZGUgIldlYkdQVVJlbmRlclBpcGVsaW5l
U3RhdGUuaCIKLQotI2lmIEVOQUJMRShXRUJHUFUpCi0KLW5hbWVzcGFjZSBXZWJDb3JlIHsKLQot
UmVmPFdlYkdQVVJlbmRlclBpcGVsaW5lU3RhdGU+IFdlYkdQVVJlbmRlclBpcGVsaW5lU3RhdGU6
OmNyZWF0ZShHUFVSZW5kZXJQaXBlbGluZVN0YXRlJiYgc3RhdGUpCi17Ci0gICAgcmV0dXJuIGFk
b3B0UmVmKCpuZXcgV2ViR1BVUmVuZGVyUGlwZWxpbmVTdGF0ZShXVEZNb3ZlKHN0YXRlKSkpOwot
fQotCi1XZWJHUFVSZW5kZXJQaXBlbGluZVN0YXRlOjpXZWJHUFVSZW5kZXJQaXBlbGluZVN0YXRl
KEdQVVJlbmRlclBpcGVsaW5lU3RhdGUmJiBzdGF0ZSkKLSAgICA6IG1fc3RhdGUgeyBXVEZNb3Zl
KHN0YXRlKSB9Ci17Ci19Ci0KLVN0cmluZyBXZWJHUFVSZW5kZXJQaXBlbGluZVN0YXRlOjpsYWJl
bCgpIGNvbnN0Ci17Ci0gICAgcmV0dXJuIG1fc3RhdGUubGFiZWwoKTsKLX0KLQotdm9pZCBXZWJH
UFVSZW5kZXJQaXBlbGluZVN0YXRlOjpzZXRMYWJlbChjb25zdCBTdHJpbmcmIGxhYmVsKQotewot
ICAgIG1fc3RhdGUuc2V0TGFiZWwobGFiZWwpOwotfQotCi19IC8vIG5hbWVzcGFjZSBXZWJDb3Jl
Ci0KLSNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR1BV
UmVuZGVyUGlwZWxpbmVTdGF0ZS5oIGIvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR1BV
UmVuZGVyUGlwZWxpbmVTdGF0ZS5oCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA1YTc1
YWFhNWM1M2UyZThlY2EzY2UxZWQyZmIyODg3OGVmMmIwNmZlLi4wMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dl
YkdQVVJlbmRlclBpcGVsaW5lU3RhdGUuaAorKysgL2Rldi9udWxsCkBAIC0xLDUzICswLDAgQEAK
LS8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTcgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVk
LgotICoKLSAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9y
bXMsIHdpdGggb3Igd2l0aG91dAotICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3Zp
ZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCi0gKiBhcmUgbWV0OgotICogMS4gUmVk
aXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmln
aHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dp
bmcgZGlzY2xhaW1lci4KLSAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0
IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCi0gKiAgICBk
b2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlz
dHJpYnV0aW9uLgotICoKLSAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5D
LiBgYEFTIElTJycgQU5EIEFOWQotICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElO
Q0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKLSAqIElNUExJRUQgV0FSUkFOVElFUyBP
RiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgotICogUFVSUE9T
RSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IKLSAqIENP
TlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFM
LCBTUEVDSUFMLAotICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xV
RElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAotICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBH
T09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCi0gKiBQUk9GSVRTOyBPUiBC
VVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCi0g
KiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9S
IFRPUlQKLSAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4g
QU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQotICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJ
U0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KLSAqLwotCi0jcHJhZ21hIG9u
Y2UKLQotI2lmIEVOQUJMRShXRUJHUFUpCi0KLSNpbmNsdWRlICJHUFVSZW5kZXJQaXBlbGluZVN0
YXRlLmgiCi0jaW5jbHVkZSA8d3RmL1JlZi5oPgotI2luY2x1ZGUgPHd0Zi9SZWZDb3VudGVkLmg+
Ci0KLW5hbWVzcGFjZSBXZWJDb3JlIHsKLQotY2xhc3MgV2ViR1BVUmVuZGVyUGlwZWxpbmVTdGF0
ZSA6IHB1YmxpYyBSZWZDb3VudGVkPFdlYkdQVVJlbmRlclBpcGVsaW5lU3RhdGU+IHsKLXB1Ymxp
YzoKLSAgICBzdGF0aWMgUmVmPFdlYkdQVVJlbmRlclBpcGVsaW5lU3RhdGU+IGNyZWF0ZShHUFVS
ZW5kZXJQaXBlbGluZVN0YXRlJiYpOwotCi0gICAgU3RyaW5nIGxhYmVsKCkgY29uc3Q7Ci0gICAg
dm9pZCBzZXRMYWJlbChjb25zdCBTdHJpbmcmKTsKLQotICAgIGNvbnN0IEdQVVJlbmRlclBpcGVs
aW5lU3RhdGUmIHN0YXRlKCkgY29uc3QgeyByZXR1cm4gbV9zdGF0ZTsgfQotCi1wcml2YXRlOgot
ICAgIGV4cGxpY2l0IFdlYkdQVVJlbmRlclBpcGVsaW5lU3RhdGUoR1BVUmVuZGVyUGlwZWxpbmVT
dGF0ZSYmKTsKLQotICAgIEdQVVJlbmRlclBpcGVsaW5lU3RhdGUgbV9zdGF0ZTsKLX07Ci0gICAg
Ci19IC8vIG5hbWVzcGFjZSBXZWJDb3JlCi0KLSNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvaHRtbC9jYW52YXMvV2ViR1BVUmVuZGVyUGlwZWxpbmVTdGF0ZS5pZGwgYi9Tb3VyY2Uv
V2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHUFVSZW5kZXJQaXBlbGluZVN0YXRlLmlkbApkZWxldGVk
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZjZmZWE5ODUxYjNlMmUxNTc0MmQyMzBiZjU5YTE2MzI4
NTdmZDZiMy4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHUFVSZW5kZXJQaXBlbGluZVN0YXRlLmlkbAor
KysgL2Rldi9udWxsCkBAIC0xLDM0ICswLDAgQEAKLS8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTcg
QXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgotICoKLSAqIFJlZGlzdHJpYnV0aW9uIGFu
ZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAotICogbW9k
aWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25k
aXRpb25zCi0gKiBhcmUgbWV0OgotICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2Rl
IG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KLSAqIDIuIFJlZGlz
dHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJp
Z2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93
aW5nIGRpc2NsYWltZXIgaW4gdGhlCi0gKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBt
YXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgotICoKLSAqIFRISVMgU09G
VFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBgYEFTIElTJycgQU5EIEFOWQotICogRVhQ
UkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRP
LCBUSEUKLSAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5F
U1MgRk9SIEEgUEFSVElDVUxBUgotICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVW
RU5UIFNIQUxMIEFQUExFIElOQy4gT1IKLSAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFO
WSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAotICogRVhFTVBMQVJZLCBP
UiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAot
ICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBV
U0UsIERBVEEsIE9SCi0gKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VW
RVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCi0gKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4g
Q09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKLSAqIChJTkNMVURJTkcgTkVHTElH
RU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQotICog
T0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBT
VUNIIERBTUFHRS4KLSAqLwotCi1bCi0gICAgQ29uZGl0aW9uYWw9V0VCR1BVLAotICAgIEVuYWJs
ZWRBdFJ1bnRpbWU9V2ViR1BVLAotICAgIEltcGxlbWVudGF0aW9uTGFja3NWVGFibGUKLV0gaW50
ZXJmYWNlIFdlYkdQVVJlbmRlclBpcGVsaW5lU3RhdGUgewotCi0gICAgYXR0cmlidXRlIERPTVN0
cmluZyBsYWJlbDsKLQotfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFz
L1dlYkdQVVJlbmRlcmluZ0NvbnRleHQuY3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMv
V2ViR1BVUmVuZGVyaW5nQ29udGV4dC5jcHAKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IGJlMWExZTc1ZGY4N2I2NWFiZDE5OTE3NWZkODgwNjUwNGMxOWE4NjIuLjAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52
YXMvV2ViR1BVUmVuZGVyaW5nQ29udGV4dC5jcHAKKysrIC9kZXYvbnVsbApAQCAtMSwxOTYgKzAs
MCBAQAotLyoKLSAqIENvcHlyaWdodCAoQykgMjAxNyBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVz
ZXJ2ZWQuCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTcgWXVpY2hpcm8gS2lrdXJhICh5Lmtpa3VyYUBn
bWFpbC5jb20pCi0gKgotICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJp
bmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Ci0gKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0
ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKLSAqIGFyZSBtZXQ6Ci0g
KiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3Zl
IGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhl
IGZvbGxvd2luZyBkaXNjbGFpbWVyLgotICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBm
b3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhp
cyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUK
LSAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRo
IHRoZSBkaXN0cmlidXRpb24uCi0gKgotICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBB
UFBMRSBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCi0gKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFO
VElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQotICogSU1QTElFRCBXQVJS
QU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCi0g
KiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBP
UgotICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElO
Q0lERU5UQUwsIFNQRUNJQUwsCi0gKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdF
UyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCi0gKiBQUk9DVVJFTUVOVCBPRiBTVUJT
VElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKLSAqIFBST0ZJ
VFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBU
SEVPUlkKLSAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJ
TElUWSwgT1IgVE9SVAotICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJ
U0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCi0gKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVO
IElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgotICovCi0KLSNp
bmNsdWRlICJjb25maWcuaCIKLSNpbmNsdWRlICJXZWJHUFVSZW5kZXJpbmdDb250ZXh0LmgiCi0K
LSNpZiBFTkFCTEUoV0VCR1BVKQotCi0jaW5jbHVkZSAiRG9jdW1lbnQuaCIKLSNpbmNsdWRlICJG
cmFtZVZpZXcuaCIKLSNpbmNsdWRlICJHUFVEZXZpY2UuaCIKLSNpbmNsdWRlICJJbnNwZWN0b3JJ
bnN0cnVtZW50YXRpb24uaCIKLSNpbmNsdWRlICJXZWJHUFVCdWZmZXIuaCIKLSNpbmNsdWRlICJX
ZWJHUFVDb21tYW5kUXVldWUuaCIKLSNpbmNsdWRlICJXZWJHUFVDb21wdXRlUGlwZWxpbmVTdGF0
ZS5oIgotI2luY2x1ZGUgIldlYkdQVURlcHRoU3RlbmNpbERlc2NyaXB0b3IuaCIKLSNpbmNsdWRl
ICJXZWJHUFVEZXB0aFN0ZW5jaWxTdGF0ZS5oIgotI2luY2x1ZGUgIldlYkdQVURyYXdhYmxlLmgi
Ci0jaW5jbHVkZSAiV2ViR1BVRnVuY3Rpb24uaCIKLSNpbmNsdWRlICJXZWJHUFVMaWJyYXJ5Lmgi
Ci0jaW5jbHVkZSAiV2ViR1BVUmVuZGVyUGFzc0Rlc2NyaXB0b3IuaCIKLSNpbmNsdWRlICJXZWJH
UFVSZW5kZXJQaXBlbGluZURlc2NyaXB0b3IuaCIKLSNpbmNsdWRlICJXZWJHUFVSZW5kZXJQaXBl
bGluZVN0YXRlLmgiCi0jaW5jbHVkZSAiV2ViR1BVVGV4dHVyZS5oIgotI2luY2x1ZGUgIldlYkdQ
VVRleHR1cmVEZXNjcmlwdG9yLmgiCi0jaW5jbHVkZSA8SmF2YVNjcmlwdENvcmUvQXJyYXlCdWZm
ZXIuaD4KLSNpbmNsdWRlIDxKYXZhU2NyaXB0Q29yZS9KU0NJbmxpbmVzLmg+Ci0jaW5jbHVkZSA8
SmF2YVNjcmlwdENvcmUvVHlwZWRBcnJheUlubGluZXMuaD4KLSNpbmNsdWRlIDxKYXZhU2NyaXB0
Q29yZS9VaW50MzJBcnJheS5oPgotI2luY2x1ZGUgPHd0Zi9TdGRMaWJFeHRyYXMuaD4KLSNpbmNs
dWRlIDx3dGYvdGV4dC9DU3RyaW5nLmg+Ci0KLW5hbWVzcGFjZSB7Ci0KLWludCBjbGFtcChpbnQg
dmFsdWUsIGludCBtaW4sIGludCBtYXgpCi17Ci0gICAgaWYgKHZhbHVlIDwgbWluKQotICAgICAg
ICB2YWx1ZSA9IG1pbjsKLSAgICBpZiAodmFsdWUgPiBtYXgpCi0gICAgICAgIHZhbHVlID0gbWF4
OwotICAgIHJldHVybiB2YWx1ZTsKLX0KLQotfQotCi1uYW1lc3BhY2UgV2ViQ29yZSB7Ci0KLXN0
YXRpYyBjb25zdCBpbnQga01heFRleHR1cmVTaXplID0gNDA5NjsKLQotc3RkOjp1bmlxdWVfcHRy
PFdlYkdQVVJlbmRlcmluZ0NvbnRleHQ+IFdlYkdQVVJlbmRlcmluZ0NvbnRleHQ6OmNyZWF0ZShD
YW52YXNCYXNlJiBjYW52YXMpCi17Ci0gICAgR1BVRGV2aWNlIGRldmljZTsKLQotICAgIGlmICgh
ZGV2aWNlKSB7Ci0gICAgICAgIC8vIEZJWE1FOiBXZWJHUFUgLSBkaXNwYXRjaCBhbiBldmVudCBo
ZXJlIGZvciB0aGUgZmFpbHVyZS4KLSAgICAgICAgcmV0dXJuIG51bGxwdHI7Ci0gICAgfQotCi0g
ICAgYXV0byByZW5kZXJpbmdDb250ZXh0ID0gc3RkOjp1bmlxdWVfcHRyPFdlYkdQVVJlbmRlcmlu
Z0NvbnRleHQ+KG5ldyBXZWJHUFVSZW5kZXJpbmdDb250ZXh0KGNhbnZhcywgV1RGTW92ZShkZXZp
Y2UpKSk7Ci0gICAgcmVuZGVyaW5nQ29udGV4dC0+c3VzcGVuZElmTmVlZGVkKCk7Ci0KLSAgICBJ
bnNwZWN0b3JJbnN0cnVtZW50YXRpb246OmRpZENyZWF0ZUNhbnZhc1JlbmRlcmluZ0NvbnRleHQo
KnJlbmRlcmluZ0NvbnRleHQpOwotCi0gICAgcmV0dXJuIHJlbmRlcmluZ0NvbnRleHQ7Ci19Ci0K
LVdlYkdQVVJlbmRlcmluZ0NvbnRleHQ6OldlYkdQVVJlbmRlcmluZ0NvbnRleHQoQ2FudmFzQmFz
ZSYgY2FudmFzLCBHUFVEZXZpY2UmJiBkZXZpY2UpCi0gICAgOiBHUFVCYXNlZENhbnZhc1JlbmRl
cmluZ0NvbnRleHQoY2FudmFzKQotICAgICwgbV9kZXZpY2UoV1RGTW92ZShkZXZpY2UpKQotewot
ICAgIGluaXRpYWxpemVOZXdDb250ZXh0KCk7Ci19Ci0KLUhUTUxDYW52YXNFbGVtZW50KiBXZWJH
UFVSZW5kZXJpbmdDb250ZXh0OjpjYW52YXMoKSBjb25zdAotewotICAgIGF1dG8mIGJhc2UgPSBj
YW52YXNCYXNlKCk7Ci0gICAgaWYgKCFpczxIVE1MQ2FudmFzRWxlbWVudD4oYmFzZSkpCi0gICAg
ICAgIHJldHVybiBudWxscHRyOwotICAgIHJldHVybiAmZG93bmNhc3Q8SFRNTENhbnZhc0VsZW1l
bnQ+KGJhc2UpOwotfQotCi12b2lkIFdlYkdQVVJlbmRlcmluZ0NvbnRleHQ6OmluaXRpYWxpemVO
ZXdDb250ZXh0KCkKLXsKLSAgICAvLyBGSVhNRTogV2ViR1BVIC0gTWF5YmUgd2Ugc2hvdWxkIHJl
c2V0IGEgYnVuY2ggb2Ygc3R1ZmYgaGVyZS4KLQotICAgIEludFNpemUgY2FudmFzU2l6ZSA9IGNs
YW1wZWRDYW52YXNTaXplKCk7Ci0gICAgbV9kZXZpY2UucmVzaGFwZShjYW52YXNTaXplLndpZHRo
KCksIGNhbnZhc1NpemUuaGVpZ2h0KCkpOwotfQotCi1JbnRTaXplIFdlYkdQVVJlbmRlcmluZ0Nv
bnRleHQ6OmNsYW1wZWRDYW52YXNTaXplKCkgY29uc3QKLXsKLSAgICByZXR1cm4gSW50U2l6ZShj
bGFtcChjYW52YXMoKS0+d2lkdGgoKSwgMSwga01heFRleHR1cmVTaXplKSwKLSAgICAgICAgY2xh
bXAoY2FudmFzKCktPmhlaWdodCgpLCAxLCBrTWF4VGV4dHVyZVNpemUpKTsKLX0KLQotYm9vbCBX
ZWJHUFVSZW5kZXJpbmdDb250ZXh0OjpoYXNQZW5kaW5nQWN0aXZpdHkoKSBjb25zdAotewotICAg
IHJldHVybiBmYWxzZTsKLX0KLQotdm9pZCBXZWJHUFVSZW5kZXJpbmdDb250ZXh0OjpzdG9wKCkK
LXsKLX0KLQotY29uc3QgY2hhciogV2ViR1BVUmVuZGVyaW5nQ29udGV4dDo6YWN0aXZlRE9NT2Jq
ZWN0TmFtZSgpIGNvbnN0Ci17Ci0gICAgcmV0dXJuICJXZWJHUFVSZW5kZXJpbmdDb250ZXh0IjsK
LX0KLQotYm9vbCBXZWJHUFVSZW5kZXJpbmdDb250ZXh0OjpjYW5TdXNwZW5kRm9yRG9jdW1lbnRT
dXNwZW5zaW9uKCkgY29uc3QKLXsKLSAgICByZXR1cm4gZmFsc2U7Ci19Ci0KLVBsYXRmb3JtTGF5
ZXIqIFdlYkdQVVJlbmRlcmluZ0NvbnRleHQ6OnBsYXRmb3JtTGF5ZXIoKSBjb25zdAotewotICAg
IHJldHVybiBtX2RldmljZS5wbGF0Zm9ybUxheWVyKCk7Ci19Ci0KLXZvaWQgV2ViR1BVUmVuZGVy
aW5nQ29udGV4dDo6bWFya0xheWVyQ29tcG9zaXRlZCgpCi17Ci0gICAgbV9kZXZpY2UubWFya0xh
eWVyQ29tcG9zaXRlZCgpOwotfQotCi12b2lkIFdlYkdQVVJlbmRlcmluZ0NvbnRleHQ6OnJlc2hh
cGUoaW50IHdpZHRoLCBpbnQgaGVpZ2h0KQotewotICAgIC8vIEZJWE1FOiBXZWJHUFUgLSBEbyB3
ZSBuZWVkIHRvIHJlc2V0IHN0dWZmIGhlcmU/Ci0gICAgbV9kZXZpY2UucmVzaGFwZSh3aWR0aCwg
aGVpZ2h0KTsKLX0KLQotUmVmPFdlYkdQVUxpYnJhcnk+IFdlYkdQVVJlbmRlcmluZ0NvbnRleHQ6
OmNyZWF0ZUxpYnJhcnkoY29uc3QgU3RyaW5nJiBzb3VyY2VDb2RlKQotewotICAgIHJldHVybiBX
ZWJHUFVMaWJyYXJ5OjpjcmVhdGUoR1BVTGlicmFyeSB7IG1fZGV2aWNlLCBzb3VyY2VDb2RlIH0s
IHNvdXJjZUNvZGUpOwotfQotCi1SZWY8V2ViR1BVUmVuZGVyUGlwZWxpbmVTdGF0ZT4gV2ViR1BV
UmVuZGVyaW5nQ29udGV4dDo6Y3JlYXRlUmVuZGVyUGlwZWxpbmVTdGF0ZShXZWJHUFVSZW5kZXJQ
aXBlbGluZURlc2NyaXB0b3ImIGRlc2NyaXB0b3IpCi17Ci0gICAgcmV0dXJuIFdlYkdQVVJlbmRl
clBpcGVsaW5lU3RhdGU6OmNyZWF0ZShHUFVSZW5kZXJQaXBlbGluZVN0YXRlIHsgbV9kZXZpY2Us
IGRlc2NyaXB0b3IuZGVzY3JpcHRvcigpIH0pOwotfQotCi1SZWY8V2ViR1BVRGVwdGhTdGVuY2ls
U3RhdGU+IFdlYkdQVVJlbmRlcmluZ0NvbnRleHQ6OmNyZWF0ZURlcHRoU3RlbmNpbFN0YXRlKFdl
YkdQVURlcHRoU3RlbmNpbERlc2NyaXB0b3ImIGRlc2NyaXB0b3IpCi17Ci0gICAgcmV0dXJuIFdl
YkdQVURlcHRoU3RlbmNpbFN0YXRlOjpjcmVhdGUoR1BVRGVwdGhTdGVuY2lsU3RhdGUgeyBtX2Rl
dmljZSwgZGVzY3JpcHRvci5kZXNjcmlwdG9yKCkgfSk7Ci19Ci0KLVJlZjxXZWJHUFVDb21wdXRl
UGlwZWxpbmVTdGF0ZT4gV2ViR1BVUmVuZGVyaW5nQ29udGV4dDo6Y3JlYXRlQ29tcHV0ZVBpcGVs
aW5lU3RhdGUoV2ViR1BVRnVuY3Rpb24mIGZ1bmN0aW9uKQotewotICAgIHJldHVybiBXZWJHUFVD
b21wdXRlUGlwZWxpbmVTdGF0ZTo6Y3JlYXRlKEdQVUNvbXB1dGVQaXBlbGluZVN0YXRlIHsgbV9k
ZXZpY2UsIGZ1bmN0aW9uLmZ1bmN0aW9uKCkgfSk7Ci19Ci0KLVJlZjxXZWJHUFVDb21tYW5kUXVl
dWU+IFdlYkdQVVJlbmRlcmluZ0NvbnRleHQ6OmNyZWF0ZUNvbW1hbmRRdWV1ZSgpCi17Ci0gICAg
cmV0dXJuIFdlYkdQVUNvbW1hbmRRdWV1ZTo6Y3JlYXRlKEdQVUNvbW1hbmRRdWV1ZSB7IG1fZGV2
aWNlIH0pOwotfQotCi1SZWY8V2ViR1BVRHJhd2FibGU+IFdlYkdQVVJlbmRlcmluZ0NvbnRleHQ6
Om5leHREcmF3YWJsZSgpCi17Ci0gICAgcmV0dXJuIFdlYkdQVURyYXdhYmxlOjpjcmVhdGUoR1BV
RHJhd2FibGUgeyBtX2RldmljZSB9KTsKLX0KLQotUmVmUHRyPFdlYkdQVUJ1ZmZlcj4gV2ViR1BV
UmVuZGVyaW5nQ29udGV4dDo6Y3JlYXRlQnVmZmVyKEpTQzo6QXJyYXlCdWZmZXJWaWV3JiBkYXRh
KQotewotICAgIHJldHVybiBXZWJHUFVCdWZmZXI6OmNyZWF0ZShHUFVCdWZmZXIgeyBtX2Rldmlj
ZSwgZGF0YSB9KTsKLX0KLQotUmVmPFdlYkdQVVRleHR1cmU+IFdlYkdQVVJlbmRlcmluZ0NvbnRl
eHQ6OmNyZWF0ZVRleHR1cmUoV2ViR1BVVGV4dHVyZURlc2NyaXB0b3ImIGRlc2NyaXB0b3IpCi17
Ci0gICAgcmV0dXJuIFdlYkdQVVRleHR1cmU6OmNyZWF0ZShHUFVUZXh0dXJlIHsgbV9kZXZpY2Us
IGRlc2NyaXB0b3IuZGVzY3JpcHRvcigpIH0pOwotfQotCi19IC8vIG5hbWVzcGFjZSBXZWJDb3Jl
Ci0KLSNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR1BV
UmVuZGVyaW5nQ29udGV4dC5oIGIvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR1BVUmVu
ZGVyaW5nQ29udGV4dC5oCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA3NTY1ODA0NWNl
ZDMxMTMxNWVkNzJjMDExY2MxMDI1ZTIyZGZmNTBiLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwCi0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdQVVJl
bmRlcmluZ0NvbnRleHQuaAorKysgL2Rldi9udWxsCkBAIC0xLDk1ICswLDAgQEAKLS8qCi0gKiBD
b3B5cmlnaHQgKEMpIDIwMTcgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgotICogQ29w
eXJpZ2h0IChDKSAyMDE3IFl1aWNoaXJvIEtpa3VyYSAoeS5raWt1cmFAZ21haWwuY29tKQotICoK
LSAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdp
dGggb3Igd2l0aG91dAotICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRo
YXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCi0gKiBhcmUgbWV0OgotICogMS4gUmVkaXN0cmli
dXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAq
ICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlz
Y2xhaW1lci4KLSAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJv
ZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25k
aXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCi0gKiAgICBkb2N1bWVu
dGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0
aW9uLgotICoKLSAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBgYEFT
IElTJycgQU5EIEFOWQotICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElO
RywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKLSAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJD
SEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgotICogUFVSUE9TRSBBUkUg
RElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IKLSAqIENPTlRSSUJV
VE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVD
SUFMLAotICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywg
QlVUIE5PVCBMSU1JVEVEIFRPLAotICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBP
UiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCi0gKiBQUk9GSVRTOyBPUiBCVVNJTkVT
UyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCi0gKiBPRiBM
SUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQK
LSAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdB
WSBPVVQgT0YgVEhFIFVTRQotICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9G
IFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KLSAqLwotCi0jcHJhZ21hIG9uY2UKLQot
I2lmIEVOQUJMRShXRUJHUFUpCi0KLSNpbmNsdWRlICJHUFVCYXNlZENhbnZhc1JlbmRlcmluZ0Nv
bnRleHQuaCIKLSNpbmNsdWRlICJHUFVEZXZpY2UuaCIKLQotbmFtZXNwYWNlIEpTQyB7Ci1jbGFz
cyBBcnJheUJ1ZmZlclZpZXc7Ci19Ci0KLW5hbWVzcGFjZSBXZWJDb3JlIHsKLQotY2xhc3MgV2Vi
R1BVQnVmZmVyOwotY2xhc3MgV2ViR1BVQ29tbWFuZFF1ZXVlOwotY2xhc3MgV2ViR1BVQ29tcHV0
ZVBpcGVsaW5lU3RhdGU7Ci1jbGFzcyBXZWJHUFVEZXB0aFN0ZW5jaWxEZXNjcmlwdG9yOwotY2xh
c3MgV2ViR1BVRGVwdGhTdGVuY2lsU3RhdGU7Ci1jbGFzcyBXZWJHUFVEcmF3YWJsZTsKLWNsYXNz
IFdlYkdQVUZ1bmN0aW9uOwotY2xhc3MgV2ViR1BVTGlicmFyeTsKLWNsYXNzIFdlYkdQVVJlbmRl
clBpcGVsaW5lRGVzY3JpcHRvcjsKLWNsYXNzIFdlYkdQVVJlbmRlclBpcGVsaW5lU3RhdGU7Ci1j
bGFzcyBXZWJHUFVUZXh0dXJlOwotY2xhc3MgV2ViR1BVVGV4dHVyZURlc2NyaXB0b3I7Ci0KLWNs
YXNzIFdlYkdQVVJlbmRlcmluZ0NvbnRleHQgZmluYWwgOiBwdWJsaWMgR1BVQmFzZWRDYW52YXNS
ZW5kZXJpbmdDb250ZXh0IHsKLXB1YmxpYzoKLSAgICBzdGF0aWMgc3RkOjp1bmlxdWVfcHRyPFdl
YkdQVVJlbmRlcmluZ0NvbnRleHQ+IGNyZWF0ZShDYW52YXNCYXNlJik7Ci0KLSAgICAvLyBGSVhN
RTogSURMIGZpbGUgc2F5cyB0aGlzIGlzIG5vdCBudWxsYWJsZSwgYnV0IHRoaXMgZnVuY3Rpb24g
Y2FuIHJldHVybiBudWxsLgotICAgIEhUTUxDYW52YXNFbGVtZW50KiBjYW52YXMoKSBjb25zdDsK
LQotICAgIFJlZjxXZWJHUFVMaWJyYXJ5PiBjcmVhdGVMaWJyYXJ5KGNvbnN0IFN0cmluZyYpOwot
ICAgIFJlZjxXZWJHUFVSZW5kZXJQaXBlbGluZVN0YXRlPiBjcmVhdGVSZW5kZXJQaXBlbGluZVN0
YXRlKFdlYkdQVVJlbmRlclBpcGVsaW5lRGVzY3JpcHRvciYpOwotICAgIFJlZjxXZWJHUFVEZXB0
aFN0ZW5jaWxTdGF0ZT4gY3JlYXRlRGVwdGhTdGVuY2lsU3RhdGUoV2ViR1BVRGVwdGhTdGVuY2ls
RGVzY3JpcHRvciYpOwotICAgIFJlZjxXZWJHUFVDb21wdXRlUGlwZWxpbmVTdGF0ZT4gY3JlYXRl
Q29tcHV0ZVBpcGVsaW5lU3RhdGUoV2ViR1BVRnVuY3Rpb24mKTsKLSAgICBSZWY8V2ViR1BVQ29t
bWFuZFF1ZXVlPiBjcmVhdGVDb21tYW5kUXVldWUoKTsKLSAgICBSZWY8V2ViR1BVRHJhd2FibGU+
IG5leHREcmF3YWJsZSgpOwotICAgIFJlZlB0cjxXZWJHUFVCdWZmZXI+IGNyZWF0ZUJ1ZmZlcihK
U0M6OkFycmF5QnVmZmVyVmlldyYpOwotICAgIFJlZjxXZWJHUFVUZXh0dXJlPiBjcmVhdGVUZXh0
dXJlKFdlYkdQVVRleHR1cmVEZXNjcmlwdG9yJik7Ci0KLSAgICBjb25zdCBHUFVEZXZpY2UmIGRl
dmljZSgpIGNvbnN0IHsgcmV0dXJuIG1fZGV2aWNlOyB9Ci0KLXByaXZhdGU6Ci0gICAgV2ViR1BV
UmVuZGVyaW5nQ29udGV4dChDYW52YXNCYXNlJiwgR1BVRGV2aWNlJiYpOwotCi0gICAgYm9vbCBo
YXNQZW5kaW5nQWN0aXZpdHkoKSBjb25zdCBmaW5hbDsKLSAgICB2b2lkIHN0b3AoKSBmaW5hbDsK
LSAgICBjb25zdCBjaGFyKiBhY3RpdmVET01PYmplY3ROYW1lKCkgY29uc3QgZmluYWw7Ci0gICAg
Ym9vbCBjYW5TdXNwZW5kRm9yRG9jdW1lbnRTdXNwZW5zaW9uKCkgY29uc3QgZmluYWw7Ci0KLSAg
ICBJbnRTaXplIGNsYW1wZWRDYW52YXNTaXplKCkgY29uc3Q7Ci0gICAgdm9pZCBpbml0aWFsaXpl
TmV3Q29udGV4dCgpOwotCi0gICAgYm9vbCBpc1dlYkdQVSgpIGNvbnN0IGZpbmFsIHsgcmV0dXJu
IHRydWU7IH0KLQotICAgIHZvaWQgcmVzaGFwZShpbnQgd2lkdGgsIGludCBoZWlnaHQpIGZpbmFs
OwotICAgIHZvaWQgbWFya0xheWVyQ29tcG9zaXRlZCgpIGZpbmFsOwotICAgIFBsYXRmb3JtTGF5
ZXIqIHBsYXRmb3JtTGF5ZXIoKSBjb25zdCBmaW5hbDsKLQotICAgIEdQVURldmljZSBtX2Rldmlj
ZTsKLX07Ci0KLX0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKLQotU1BFQ0lBTElaRV9UWVBFX1RSQUlU
U19DQU5WQVNSRU5ERVJJTkdDT05URVhUKFdlYkNvcmU6OldlYkdQVVJlbmRlcmluZ0NvbnRleHQs
IGlzV2ViR1BVKCkpCi0KLSNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9j
YW52YXMvV2ViR1BVUmVuZGVyaW5nQ29udGV4dC5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL2Nh
bnZhcy9XZWJHUFVSZW5kZXJpbmdDb250ZXh0LmlkbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggZjIwNDU0ZWIyZTA2ZGFiZDVjZjllMGQ0NTU1ZTVjODI4Y2EyM2NlZS4uMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1s
L2NhbnZhcy9XZWJHUFVSZW5kZXJpbmdDb250ZXh0LmlkbAorKysgL2Rldi9udWxsCkBAIC0xLDEx
NSArMCwwIEBACi0vKgotICogQ29weXJpZ2h0IChDKSAyMDE3IEFwcGxlIEluYy4gQWxsIHJpZ2h0
cyByZXNlcnZlZC4KLSAqIENvcHlyaWdodCAoQykgMjAxNyBZdWljaGlybyBLaWt1cmEgKHkua2lr
dXJhQGdtYWlsLmNvbSkKLSAqCi0gKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBh
bmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKLSAqIG1vZGlmaWNhdGlvbiwgYXJlIHBl
cm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwotICogYXJlIG1l
dDoKLSAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUg
YWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFu
ZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCi0gKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmlu
YXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNl
LCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGlu
IHRoZQotICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVk
IHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KLSAqCi0gKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVE
IEJZIEFQUExFIElOQy4gYGBBUyBJUycnIEFORCBBTlkKLSAqIEVYUFJFU1MgT1IgSU1QTElFRCBX
QVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCi0gKiBJTVBMSUVE
IFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VM
QVIKLSAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJ
TkMuIE9SCi0gKiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVD
VCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKLSAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBE
QU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKLSAqIFBST0NVUkVNRU5UIE9G
IFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgotICog
UFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04g
QU5ZIFRIRU9SWQotICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1Qg
TElBQklMSVRZLCBPUiBUT1JUCi0gKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNF
KSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKLSAqIE9GIFRISVMgU09GVFdBUkUs
IEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCi0gKi8K
LQotWwotICAgIENvbmRpdGlvbmFsPVdFQkdQVSwKLSAgICBFbmFibGVkQXRSdW50aW1lPVdlYkdQ
VSwKLSAgICBKU0N1c3RvbU1hcmtGdW5jdGlvbiwKLSAgICBEb05vdENoZWNrQ29uc3RhbnRzCi1d
IGludGVyZmFjZSBXZWJHUFVSZW5kZXJpbmdDb250ZXh0IHsKLSAgICAvLyBiYWNrLXJlZmVyZW5j
ZSB0byB0aGUgY2FudmFzCi0gICAgcmVhZG9ubHkgYXR0cmlidXRlIEhUTUxDYW52YXNFbGVtZW50
IGNhbnZhczsKLQotICAgIC8vIFBpeGVsIGZvcm1hdHMKLQotICAgIGNvbnN0IHVuc2lnbmVkIGlu
dCBQaXhlbEZvcm1hdEJHUkE4VW5vcm0gPSA4MDsKLSAgICBjb25zdCB1bnNpZ25lZCBpbnQgUGl4
ZWxGb3JtYXREZXB0aDMyRmxvYXQgPSAyNTI7Ci0gICAgY29uc3QgdW5zaWduZWQgaW50IFBpeGVs
Rm9ybWF0U3RlbmNpbDggPSAyNTM7Ci0gICAgY29uc3QgdW5zaWduZWQgaW50IFBpeGVsRm9ybWF0
SW52YWxpZCA9IDA7Ci0KLSAgICAvLyBMb2FkIGFjdGlvbnMKLQotICAgIGNvbnN0IHVuc2lnbmVk
IGludCBMb2FkQWN0aW9uRG9udENhcmUgPSAwOwotICAgIGNvbnN0IHVuc2lnbmVkIGludCBMb2Fk
QWN0aW9uTG9hZCA9IDE7Ci0gICAgY29uc3QgdW5zaWduZWQgaW50IExvYWRBY3Rpb25DbGVhciA9
IDI7Ci0KLSAgICAvLyBTdG9yZSBhY3Rpb25zCi0KLSAgICBjb25zdCB1bnNpZ25lZCBpbnQgU3Rv
cmVBY3Rpb25Eb250Q2FyZSA9IDA7Ci0gICAgY29uc3QgdW5zaWduZWQgaW50IFN0b3JlQWN0aW9u
U3RvcmUgPSAxOwotICAgIGNvbnN0IHVuc2lnbmVkIGludCBTdG9yZUFjdGlvbk11bHRpc2FtcGxl
UmVzb2x2ZSA9IDI7Ci0KLSAgICAvLyBQcmltaXRpdmUgdHlwZXMKLQotICAgIGNvbnN0IHVuc2ln
bmVkIGludCBQcmltaXRpdmVUeXBlUG9pbnQgPSAwOwotICAgIGNvbnN0IHVuc2lnbmVkIGludCBQ
cmltaXRpdmVUeXBlTGluZSA9IDE7Ci0gICAgY29uc3QgdW5zaWduZWQgaW50IFByaW1pdGl2ZVR5
cGVMaW5lU3RyaXAgPSAyOwotICAgIGNvbnN0IHVuc2lnbmVkIGludCBQcmltaXRpdmVUeXBlVHJp
YW5nbGUgPSAzOwotICAgIGNvbnN0IHVuc2lnbmVkIGludCBQcmltaXRpdmVUeXBlVHJpYW5nbGVT
dHJpcCA9IDQ7Ci0KLSAgICAvLyBDb21wYXJpc29uIGZ1bmN0aW9ucwotCi0gICAgY29uc3QgdW5z
aWduZWQgaW50IENvbXBhcmVGdW5jdGlvbk5ldmVyID0gMDsKLSAgICBjb25zdCB1bnNpZ25lZCBp
bnQgQ29tcGFyZUZ1bmN0aW9uTGVzcyA9IDE7Ci0gICAgY29uc3QgdW5zaWduZWQgaW50IENvbXBh
cmVGdW5jdGlvbkVxdWFsID0gMjsKLSAgICBjb25zdCB1bnNpZ25lZCBpbnQgQ29tcGFyZUZ1bmN0
aW9uTGVzc0VxdWFsID0gMzsKLSAgICBjb25zdCB1bnNpZ25lZCBpbnQgQ29tcGFyZUZ1bmN0aW9u
R3JlYXRlciA9IDQ7Ci0gICAgY29uc3QgdW5zaWduZWQgaW50IENvbXBhcmVGdW5jdGlvbk5vdEVx
dWFsID0gNTsKLSAgICBjb25zdCB1bnNpZ25lZCBpbnQgQ29tcGFyZUZ1bmN0aW9uR3JlYXRlckVx
dWFsID0gNjsKLSAgICBjb25zdCB1bnNpZ25lZCBpbnQgQ29tcGFyZUZ1bmN0aW9uQWx3YXlzID0g
NzsKLQotICAgIC8vIFRleHR1cmUgVHlwZXMKLQotICAgIGNvbnN0IHVuc2lnbmVkIGludCBUZXh0
dXJlVHlwZTFEID0gMDsKLSAgICBjb25zdCB1bnNpZ25lZCBpbnQgVGV4dHVyZVR5cGUxREFycmF5
ID0gMTsKLSAgICBjb25zdCB1bnNpZ25lZCBpbnQgVGV4dHVyZVR5cGUyRCA9IDI7Ci0gICAgY29u
c3QgdW5zaWduZWQgaW50IFRleHR1cmVUeXBlMkRBcnJheSA9IDM7Ci0gICAgY29uc3QgdW5zaWdu
ZWQgaW50IFRleHR1cmVUeXBlMkRNdWx0aXNhbXBsZSA9IDQ7Ci0gICAgY29uc3QgdW5zaWduZWQg
aW50IFRleHR1cmVUeXBlQ3ViZSA9IDU7Ci0gICAgY29uc3QgdW5zaWduZWQgaW50IFRleHR1cmVU
eXBlQ3ViZUFycmF5ID0gNjsKLSAgICBjb25zdCB1bnNpZ25lZCBpbnQgVGV4dHVyZVR5cGUzRCA9
IDc7Ci0KLSAgICAvLyBTdG9yYWdlIG1vZGVzCi0KLSAgICBjb25zdCB1bnNpZ25lZCBpbnQgU3Rv
cmFnZU1vZGVTaGFyZWQgID0gMDsKLSAgICBjb25zdCB1bnNpZ25lZCBpbnQgU3RvcmFnZU1vZGVN
YW5hZ2VkID0gMTsKLSAgICBjb25zdCB1bnNpZ25lZCBpbnQgU3RvcmFnZU1vZGVQcml2YXRlID0g
MjsKLQotICAgIC8vIFVzYWdlCi0KLSAgICBjb25zdCB1bnNpZ25lZCBpbnQgVGV4dHVyZVVzYWdl
VW5rbm93biA9IDB4MDAwMDsKLSAgICBjb25zdCB1bnNpZ25lZCBpbnQgVGV4dHVyZVVzYWdlU2hh
ZGVyUmVhZCA9IDB4MDAwMTsKLSAgICBjb25zdCB1bnNpZ25lZCBpbnQgVGV4dHVyZVVzYWdlU2hh
ZGVyV3JpdGUgPSAweDAwMDI7Ci0gICAgY29uc3QgdW5zaWduZWQgaW50IFRleHR1cmVVc2FnZVJl
bmRlclRhcmdldCA9IDB4MDAwNDsKLSAgICBjb25zdCB1bnNpZ25lZCBpbnQgVGV4dHVyZVVzYWdl
UGl4ZWxGb3JtYXRWaWV3ID0gMHgwMDEwOwotCi0gICAgLy8gRW50cnkgcG9pbnRzCi0KLSAgICBX
ZWJHUFVMaWJyYXJ5IGNyZWF0ZUxpYnJhcnkoRE9NU3RyaW5nIHNvdXJjZUNvZGUpOwotCi0gICAg
V2ViR1BVUmVuZGVyUGlwZWxpbmVTdGF0ZSBjcmVhdGVSZW5kZXJQaXBlbGluZVN0YXRlKFdlYkdQ
VVJlbmRlclBpcGVsaW5lRGVzY3JpcHRvciBkZXNjcmlwdG9yKTsKLSAgICBXZWJHUFVEZXB0aFN0
ZW5jaWxTdGF0ZSBjcmVhdGVEZXB0aFN0ZW5jaWxTdGF0ZShXZWJHUFVEZXB0aFN0ZW5jaWxEZXNj
cmlwdG9yIGRlc2NyaXB0b3IpOwotICAgIFdlYkdQVUNvbXB1dGVQaXBlbGluZVN0YXRlIGNyZWF0
ZUNvbXB1dGVQaXBlbGluZVN0YXRlKFdlYkdQVUZ1bmN0aW9uIGZ1bmN0aW9uKTsKLQotICAgIFdl
YkdQVUNvbW1hbmRRdWV1ZSBjcmVhdGVDb21tYW5kUXVldWUoKTsKLQotICAgIFdlYkdQVURyYXdh
YmxlIG5leHREcmF3YWJsZSgpOwotCi0gICAgV2ViR1BVQnVmZmVyPyBjcmVhdGVCdWZmZXIoQXJy
YXlCdWZmZXJWaWV3IGRhdGEpOwotCi0gICAgV2ViR1BVVGV4dHVyZSBjcmVhdGVUZXh0dXJlKFdl
YkdQVVRleHR1cmVEZXNjcmlwdG9yIGRlc2NyaXB0b3IpOwotCi19OwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR1BVU2l6ZS5oIGIvU291cmNlL1dlYkNvcmUvaHRt
bC9jYW52YXMvV2ViR1BVU2l6ZS5oCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA1YzEy
MWM1ZDRmZDAwMzhmZGY0YjE0YmM5NjRkYTAyN2EwODI3MTk0Li4wMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dl
YkdQVVNpemUuaAorKysgL2Rldi9udWxsCkBAIC0xLDQwICswLDAgQEAKLS8qCi0gKiBDb3B5cmln
aHQgKEMpIDIwMTcgWXVpY2hpcm8gS2lrdXJhICh5Lmtpa3VyYUBnbWFpbC5jb20pCi0gKgotICog
UmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBv
ciB3aXRob3V0Ci0gKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0
aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKLSAqIGFyZSBtZXQ6Ci0gKiAxLiBSZWRpc3RyaWJ1dGlv
bnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAg
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFp
bWVyLgotICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNl
IHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlv
bnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKLSAqICAgIGRvY3VtZW50YXRp
b24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24u
Ci0gKgotICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIGBgQVMgSVMn
JyBBTkQgQU5ZCi0gKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBC
VVQgTk9UIExJTUlURUQgVE8sIFRIRQotICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5U
QUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCi0gKiBQVVJQT1NFIEFSRSBESVND
TEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUgotICogQ09OVFJJQlVUT1JT
IEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUws
Ci0gKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQg
Tk9UIExJTUlURUQgVE8sCi0gKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNF
UlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKLSAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElO
VEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKLSAqIE9GIExJQUJJ
TElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAotICog
KElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9V
VCBPRiBUSEUgVVNFCi0gKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhF
IFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgotICovCi0KLSNwcmFnbWEgb25jZQotCi0jaWYg
RU5BQkxFKFdFQkdQVSkKLQotbmFtZXNwYWNlIFdlYkNvcmUgewotICAgIAotc3RydWN0IFdlYkdQ
VVNpemUgewotICAgIHVuc2lnbmVkIHdpZHRoOwotICAgIHVuc2lnbmVkIGhlaWdodDsKLSAgICB1
bnNpZ25lZCBkZXB0aDsKLX07Ci0gICAgCi19IC8vIG5hbWVzcGFjZSBXZWJDb3JlCi0KLSNlbmRp
ZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR1BVU2l6ZS5pZGwg
Yi9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHUFVTaXplLmlkbApkZWxldGVkIGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggYjk3ODNmYjc2MTliMjNhNzkwMGI4NDgzMWU5MzY3ZGM1ZTJlYjk5
MC4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHUFVTaXplLmlkbAorKysgL2Rldi9udWxsCkBAIC0xLDMz
ICswLDAgQEAKLS8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTcgWXVpY2hpcm8gS2lrdXJhICh5Lmtp
a3VyYUBnbWFpbC5jb20pCi0gKgotICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2Ug
YW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Ci0gKiBtb2RpZmljYXRpb24sIGFyZSBw
ZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKLSAqIGFyZSBt
ZXQ6Ci0gKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhl
IGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgotICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJp
bmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGlj
ZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBp
biB0aGUKLSAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRl
ZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCi0gKgotICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURF
RCBCWSBBUFBMRSBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCi0gKiBFWFBSRVNTIE9SIElNUExJRUQg
V0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQotICogSU1QTElF
RCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNV
TEFSCi0gKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUg
SU5DLiBPUgotICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJF
Q1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCi0gKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwg
REFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCi0gKiBQUk9DVVJFTUVOVCBP
RiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKLSAq
IFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9O
IEFOWSBUSEVPUlkKLSAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNU
IExJQUJJTElUWSwgT1IgVE9SVAotICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lT
RSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCi0gKiBPRiBUSElTIFNPRlRXQVJF
LCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgotICov
Ci0gCi1bCi0gICAgQ29uZGl0aW9uYWw9V0VCR1BVLAotICAgIEVuYWJsZWRBdFJ1bnRpbWU9V2Vi
R1BVCi1dIGRpY3Rpb25hcnkgV2ViR1BVU2l6ZSB7Ci0gICAgdW5zaWduZWQgbG9uZyB3aWR0aDsK
LSAgICB1bnNpZ25lZCBsb25nIGhlaWdodDsKLSAgICB1bnNpZ25lZCBsb25nIGRlcHRoOwotfTsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdQVVRleHR1cmUuY3Bw
IGIvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR1BVVGV4dHVyZS5jcHAKZGVsZXRlZCBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDJkMDZlOTVmYWRiYmFjYTJlYzIxMjc1OTExNGNhM2RhZTY3
ZmQyNjMuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvU291
cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR1BVVGV4dHVyZS5jcHAKKysrIC9kZXYvbnVsbApA
QCAtMSw0NSArMCwwIEBACi0vKgotICogQ29weXJpZ2h0IChDKSAyMDE3IEFwcGxlIEluYy4gQWxs
IHJpZ2h0cyByZXNlcnZlZC4KLSAqCi0gKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJj
ZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKLSAqIG1vZGlmaWNhdGlvbiwgYXJl
IHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwotICogYXJl
IG1ldDoKLSAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0
aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25z
IGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCi0gKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4g
YmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
IGluIHRoZQotICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3Zp
ZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KLSAqCi0gKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJ
REVEIEJZIEFQUExFIElOQy4gYGBBUyBJUycnIEFORCBBTlkKLSAqIEVYUFJFU1MgT1IgSU1QTElF
RCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCi0gKiBJTVBM
SUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJ
Q1VMQVIKLSAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBM
RSBJTkMuIE9SCi0gKiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJ
UkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKLSAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElB
TCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKLSAqIFBST0NVUkVNRU5U
IE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgot
ICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQg
T04gQU5ZIFRIRU9SWQotICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJ
Q1QgTElBQklMSVRZLCBPUiBUT1JUCi0gKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJX
SVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKLSAqIE9GIFRISVMgU09GVFdB
UkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCi0g
Ki8KLQotI2luY2x1ZGUgImNvbmZpZy5oIgotI2luY2x1ZGUgIldlYkdQVVRleHR1cmUuaCIKLQot
I2lmIEVOQUJMRShXRUJHUFUpCi0KLW5hbWVzcGFjZSBXZWJDb3JlIHsKLQotUmVmPFdlYkdQVVRl
eHR1cmU+IFdlYkdQVVRleHR1cmU6OmNyZWF0ZShHUFVUZXh0dXJlJiYgdGV4dHVyZSkKLXsKLSAg
ICByZXR1cm4gYWRvcHRSZWYoKm5ldyBXZWJHUFVUZXh0dXJlKFdURk1vdmUodGV4dHVyZSkpKTsK
LX0KLQotV2ViR1BVVGV4dHVyZTo6V2ViR1BVVGV4dHVyZShHUFVUZXh0dXJlJiYgdGV4dHVyZSkK
LSAgICA6IG1fdGV4dHVyZSB7IFdURk1vdmUodGV4dHVyZSkgfQotewotfQotCi19IC8vIG5hbWVz
cGFjZSBXZWJDb3JlCi0KLSNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9j
YW52YXMvV2ViR1BVVGV4dHVyZS5oIGIvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR1BV
VGV4dHVyZS5oCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA0YzJmMjM1YzY1ZmQ3MGU3
MGIxMTg3N2EzMGQyZDRiOGE4ZGU4OWQ5Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwCi0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdQVVRleHR1cmUu
aAorKysgL2Rldi9udWxsCkBAIC0xLDU1ICswLDAgQEAKLS8qCi0gKiBDb3B5cmlnaHQgKEMpIDIw
MTcgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgotICoKLSAqIFJlZGlzdHJpYnV0aW9u
IGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAotICog
bW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBj
b25kaXRpb25zCi0gKiBhcmUgbWV0OgotICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBj
b2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBs
aXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KLSAqIDIuIFJl
ZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29w
eXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9s
bG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCi0gKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhl
ciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgotICoKLSAqIFRISVMg
U09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBgYEFTIElTJycgQU5EIEFOWQotICog
RVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVE
IFRPLCBUSEUKLSAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJ
VE5FU1MgRk9SIEEgUEFSVElDVUxBUgotICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5P
IEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IKLSAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9S
IEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAotICogRVhFTVBMQVJZ
LCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRP
LAotICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBP
RiBVU0UsIERBVEEsIE9SCi0gKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhP
V0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCi0gKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIg
SU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKLSAqIChJTkNMVURJTkcgTkVH
TElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQot
ICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBP
RiBTVUNIIERBTUFHRS4KLSAqLwotCi0jcHJhZ21hIG9uY2UKLQotI2lmIEVOQUJMRShXRUJHUFUp
Ci0KLSNpbmNsdWRlICJHUFVUZXh0dXJlLmgiCi0jaW5jbHVkZSA8d3RmL1JlZi5oPgotI2luY2x1
ZGUgPHd0Zi9SZWZDb3VudGVkLmg+Ci0KLW5hbWVzcGFjZSBXZWJDb3JlIHsKLQotY2xhc3MgR1BV
VGV4dHVyZURlc2NyaXB0b3I7Ci0KLWNsYXNzIFdlYkdQVVRleHR1cmUgOiBwdWJsaWMgUmVmQ291
bnRlZDxXZWJHUFVUZXh0dXJlPiB7Ci1wdWJsaWM6Ci0gICAgc3RhdGljIFJlZjxXZWJHUFVUZXh0
dXJlPiBjcmVhdGUoR1BVVGV4dHVyZSYmKTsKLQotICAgIHVuc2lnbmVkIHdpZHRoKCkgY29uc3Qg
eyByZXR1cm4gbV90ZXh0dXJlLndpZHRoKCk7IH0KLSAgICB1bnNpZ25lZCBoZWlnaHQoKSBjb25z
dCB7IHJldHVybiBtX3RleHR1cmUuaGVpZ2h0KCk7IH0KLQotICAgIGNvbnN0IEdQVVRleHR1cmUm
IHRleHR1cmUoKSBjb25zdCB7IHJldHVybiBtX3RleHR1cmU7IH0KLQotcHJpdmF0ZToKLSAgICBl
eHBsaWNpdCBXZWJHUFVUZXh0dXJlKEdQVVRleHR1cmUmJik7Ci0KLSAgICBHUFVUZXh0dXJlIG1f
dGV4dHVyZTsKLX07Ci0gICAgCi19IC8vIG5hbWVzcGFjZSBXZWJDb3JlCi0KLSNlbmRpZgpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR1BVVGV4dHVyZS5pZGwgYi9T
b3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHUFVUZXh0dXJlLmlkbApkZWxldGVkIGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggNzIzZjg4ODRlMGExZTFiMWFiYTVjMzdmY2EwY2I0NjA3NzM3ZWZm
MC4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHUFVUZXh0dXJlLmlkbAorKysgL2Rldi9udWxsCkBAIC0x
LDM1ICswLDAgQEAKLS8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTcgQXBwbGUgSW5jLiBBbGwgcmln
aHRzIHJlc2VydmVkLgotICoKLSAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFu
ZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAotICogbW9kaWZpY2F0aW9uLCBhcmUgcGVy
bWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCi0gKiBhcmUgbWV0
OgotICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBh
Ym92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5k
IHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KLSAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5h
cnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2Us
IHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4g
dGhlCi0gKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQg
d2l0aCB0aGUgZGlzdHJpYnV0aW9uLgotICoKLSAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQg
QlkgQVBQTEUgSU5DLiBgYEFTIElTJycgQU5EIEFOWQotICogRVhQUkVTUyBPUiBJTVBMSUVEIFdB
UlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKLSAqIElNUExJRUQg
V0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxB
UgotICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElO
Qy4gT1IKLSAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNU
LCBJTkNJREVOVEFMLCBTUEVDSUFMLAotICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERB
TUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAotICogUFJPQ1VSRU1FTlQgT0Yg
U1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCi0gKiBQ
Uk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBB
TlkgVEhFT1JZCi0gKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBM
SUFCSUxJVFksIE9SIFRPUlQKLSAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0Up
IEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQotICogT0YgVEhJUyBTT0ZUV0FSRSwg
RVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KLSAqLwot
Ci1bCi0gICAgQ29uZGl0aW9uYWw9V0VCR1BVLAotICAgIEVuYWJsZWRBdFJ1bnRpbWU9V2ViR1BV
LAotICAgIEltcGxlbWVudGF0aW9uTGFja3NWVGFibGUKLV0gaW50ZXJmYWNlIFdlYkdQVVRleHR1
cmUgewotCi0gICAgcmVhZG9ubHkgYXR0cmlidXRlIHVuc2lnbmVkIGxvbmcgd2lkdGg7Ci0gICAg
cmVhZG9ubHkgYXR0cmlidXRlIHVuc2lnbmVkIGxvbmcgaGVpZ2h0OwotCi19OwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR1BVVGV4dHVyZURlc2NyaXB0b3IuY3Bw
IGIvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR1BVVGV4dHVyZURlc2NyaXB0b3IuY3Bw
CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBiOGQ3MzViZTgzOWJlMDQ4ZjM2MzdlMzMw
MzMwZTYxN2FlNWE2MmJjLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdQVVRleHR1cmVEZXNjcmlwdG9y
LmNwcAorKysgL2Rldi9udWxsCkBAIC0xLDEwNSArMCwwIEBACi0vKgotICogQ29weXJpZ2h0IChD
KSAyMDE3IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLSAqCi0gKiBSZWRpc3RyaWJ1
dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQK
LSAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dp
bmcgY29uZGl0aW9ucwotICogYXJlIG1ldDoKLSAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3Vy
Y2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRo
aXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCi0gKiAy
LiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3Zl
IGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhl
IGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQotICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Ig
b3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KLSAqCi0gKiBU
SElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gYGBBUyBJUycnIEFORCBBTlkK
LSAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElN
SVRFRCBUTywgVEhFCi0gKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFO
RCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKLSAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJ
TiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SCi0gKiBDT05UUklCVVRPUlMgQkUgTElBQkxF
IEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKLSAqIEVYRU1Q
TEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRF
RCBUTywKLSAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExP
U1MgT0YgVVNFLCBEQVRBLCBPUgotICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9O
KSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQotICogT0YgTElBQklMSVRZLCBXSEVU
SEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCi0gKiAoSU5DTFVESU5H
IE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBV
U0UKLSAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJ
VFkgT0YgU1VDSCBEQU1BR0UuCi0gKi8KLQotI2luY2x1ZGUgImNvbmZpZy5oIgotI2luY2x1ZGUg
IldlYkdQVVRleHR1cmVEZXNjcmlwdG9yLmgiCi0KLSNpZiBFTkFCTEUoV0VCR1BVKQotCi1uYW1l
c3BhY2UgV2ViQ29yZSB7Ci0KLVJlZjxXZWJHUFVUZXh0dXJlRGVzY3JpcHRvcj4gV2ViR1BVVGV4
dHVyZURlc2NyaXB0b3I6OmNyZWF0ZSh1bnNpZ25lZCBwaXhlbEZvcm1hdCwgdW5zaWduZWQgd2lk
dGgsIHVuc2lnbmVkIGhlaWdodCwgYm9vbCBtaXBtYXBwZWQpCi17Ci0gICAgcmV0dXJuIGFkb3B0
UmVmKCpuZXcgV2ViR1BVVGV4dHVyZURlc2NyaXB0b3IocGl4ZWxGb3JtYXQsIHdpZHRoLCBoZWln
aHQsIG1pcG1hcHBlZCkpOwotfQotCi1XZWJHUFVUZXh0dXJlRGVzY3JpcHRvcjo6V2ViR1BVVGV4
dHVyZURlc2NyaXB0b3IodW5zaWduZWQgcGl4ZWxGb3JtYXQsIHVuc2lnbmVkIHdpZHRoLCB1bnNp
Z25lZCBoZWlnaHQsIGJvb2wgbWlwbWFwcGVkKQotICAgIDogbV9kZXNjcmlwdG9yIHsgcGl4ZWxG
b3JtYXQsIHdpZHRoLCBoZWlnaHQsIG1pcG1hcHBlZCB9Ci17Ci19Ci0KLXVuc2lnbmVkIFdlYkdQ
VVRleHR1cmVEZXNjcmlwdG9yOjp3aWR0aCgpIGNvbnN0Ci17Ci0gICAgcmV0dXJuIG1fZGVzY3Jp
cHRvci53aWR0aCgpOwotfQotCi12b2lkIFdlYkdQVVRleHR1cmVEZXNjcmlwdG9yOjpzZXRXaWR0
aCh1bnNpZ25lZCB3aWR0aCkKLXsKLSAgICBtX2Rlc2NyaXB0b3Iuc2V0V2lkdGgod2lkdGgpOwot
fQotCi11bnNpZ25lZCBXZWJHUFVUZXh0dXJlRGVzY3JpcHRvcjo6aGVpZ2h0KCkgY29uc3QKLXsK
LSAgICByZXR1cm4gbV9kZXNjcmlwdG9yLmhlaWdodCgpOwotfQotCi12b2lkIFdlYkdQVVRleHR1
cmVEZXNjcmlwdG9yOjpzZXRIZWlnaHQodW5zaWduZWQgaGVpZ2h0KQotewotICAgIG1fZGVzY3Jp
cHRvci5zZXRIZWlnaHQoaGVpZ2h0KTsKLX0KLQotdW5zaWduZWQgV2ViR1BVVGV4dHVyZURlc2Ny
aXB0b3I6OnNhbXBsZUNvdW50KCkgY29uc3QKLXsKLSAgICByZXR1cm4gbV9kZXNjcmlwdG9yLnNh
bXBsZUNvdW50KCk7Ci19Ci0KLXZvaWQgV2ViR1BVVGV4dHVyZURlc2NyaXB0b3I6OnNldFNhbXBs
ZUNvdW50KHVuc2lnbmVkIHNhbXBsZUNvdW50KQotewotICAgIG1fZGVzY3JpcHRvci5zZXRTYW1w
bGVDb3VudChzYW1wbGVDb3VudCk7Ci19Ci0KLXVuc2lnbmVkIFdlYkdQVVRleHR1cmVEZXNjcmlw
dG9yOjp0ZXh0dXJlVHlwZSgpIGNvbnN0Ci17Ci0gICAgcmV0dXJuIG1fZGVzY3JpcHRvci50ZXh0
dXJlVHlwZSgpOwotfQotCi12b2lkIFdlYkdQVVRleHR1cmVEZXNjcmlwdG9yOjpzZXRUZXh0dXJl
VHlwZSh1bnNpZ25lZCB0ZXh0dXJlVHlwZSkKLXsKLSAgICBtX2Rlc2NyaXB0b3Iuc2V0VGV4dHVy
ZVR5cGUodGV4dHVyZVR5cGUpOwotfQotCi11bnNpZ25lZCBXZWJHUFVUZXh0dXJlRGVzY3JpcHRv
cjo6c3RvcmFnZU1vZGUoKSBjb25zdAotewotICAgIHJldHVybiBtX2Rlc2NyaXB0b3Iuc3RvcmFn
ZU1vZGUoKTsKLX0KLQotdm9pZCBXZWJHUFVUZXh0dXJlRGVzY3JpcHRvcjo6c2V0U3RvcmFnZU1v
ZGUodW5zaWduZWQgc3RvcmFnZU1vZGUpCi17Ci0gICAgbV9kZXNjcmlwdG9yLnNldFN0b3JhZ2VN
b2RlKHN0b3JhZ2VNb2RlKTsKLX0KLQotdW5zaWduZWQgV2ViR1BVVGV4dHVyZURlc2NyaXB0b3I6
OnVzYWdlKCkgY29uc3QKLXsKLSAgICByZXR1cm4gbV9kZXNjcmlwdG9yLnVzYWdlKCk7Ci19Ci0K
LXZvaWQgV2ViR1BVVGV4dHVyZURlc2NyaXB0b3I6OnNldFVzYWdlKHVuc2lnbmVkIHVzYWdlKQot
ewotICAgIG1fZGVzY3JpcHRvci5zZXRVc2FnZSh1c2FnZSk7Ci19Ci0gICAgCi19IC8vIG5hbWVz
cGFjZSBXZWJDb3JlCi0KLSNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9j
YW52YXMvV2ViR1BVVGV4dHVyZURlc2NyaXB0b3IuaCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2Fu
dmFzL1dlYkdQVVRleHR1cmVEZXNjcmlwdG9yLmgKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IGMwMTg5M2I3MTViOWEzYzQ2NmFjMDYwNzgzY2IxMjZmN2U5NTg5NWUuLjAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9j
YW52YXMvV2ViR1BVVGV4dHVyZURlc2NyaXB0b3IuaAorKysgL2Rldi9udWxsCkBAIC0xLDY4ICsw
LDAgQEAKLS8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTcgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJl
c2VydmVkLgotICoKLSAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5h
cnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAotICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVk
IHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCi0gKiBhcmUgbWV0OgotICog
MS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBj
b3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBm
b2xsb3dpbmcgZGlzY2xhaW1lci4KLSAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9y
bSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCi0g
KiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0
aGUgZGlzdHJpYnV0aW9uLgotICoKLSAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQ
TEUgSU5DLiBgYEFTIElTJycgQU5EIEFOWQotICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJ
RVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKLSAqIElNUExJRUQgV0FSUkFO
VElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgotICog
UFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IK
LSAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJ
REVOVEFMLCBTUEVDSUFMLAotICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMg
KElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAotICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJ
VFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCi0gKiBQUk9GSVRT
OyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhF
T1JZCi0gKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJ
VFksIE9SIFRPUlQKLSAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJ
TkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQotICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJ
RiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KLSAqLwotCi0jcHJh
Z21hIG9uY2UKLQotI2lmIEVOQUJMRShXRUJHUFUpCi0KLSNpbmNsdWRlICJHUFVUZXh0dXJlRGVz
Y3JpcHRvci5oIgotI2luY2x1ZGUgPHd0Zi9SZWYuaD4KLSNpbmNsdWRlIDx3dGYvUmVmQ291bnRl
ZC5oPgotCi1uYW1lc3BhY2UgV2ViQ29yZSB7Ci0KLWNsYXNzIFdlYkdQVVRleHR1cmVEZXNjcmlw
dG9yIDogcHVibGljIFJlZkNvdW50ZWQ8V2ViR1BVVGV4dHVyZURlc2NyaXB0b3I+IHsKLXB1Ymxp
YzoKLSAgICBzdGF0aWMgUmVmPFdlYkdQVVRleHR1cmVEZXNjcmlwdG9yPiBjcmVhdGUodW5zaWdu
ZWQgcGl4ZWxGb3JtYXQsIHVuc2lnbmVkIHdpZHRoLCB1bnNpZ25lZCBoZWlnaHQsIGJvb2wgbWlw
bWFwcGVkKTsKLQotICAgIHVuc2lnbmVkIHdpZHRoKCkgY29uc3Q7Ci0gICAgdm9pZCBzZXRXaWR0
aCh1bnNpZ25lZCk7Ci0KLSAgICB1bnNpZ25lZCBoZWlnaHQoKSBjb25zdDsKLSAgICB2b2lkIHNl
dEhlaWdodCh1bnNpZ25lZCk7Ci0KLSAgICB1bnNpZ25lZCBzYW1wbGVDb3VudCgpIGNvbnN0Owot
ICAgIHZvaWQgc2V0U2FtcGxlQ291bnQodW5zaWduZWQpOwotCi0gICAgdW5zaWduZWQgdGV4dHVy
ZVR5cGUoKSBjb25zdDsKLSAgICB2b2lkIHNldFRleHR1cmVUeXBlKHVuc2lnbmVkKTsKLQotICAg
IHVuc2lnbmVkIHN0b3JhZ2VNb2RlKCkgY29uc3Q7Ci0gICAgdm9pZCBzZXRTdG9yYWdlTW9kZSh1
bnNpZ25lZCk7Ci0KLSAgICB1bnNpZ25lZCB1c2FnZSgpIGNvbnN0OwotICAgIHZvaWQgc2V0VXNh
Z2UodW5zaWduZWQpOwotCi0gICAgY29uc3QgR1BVVGV4dHVyZURlc2NyaXB0b3ImIGRlc2NyaXB0
b3IoKSB7IHJldHVybiBtX2Rlc2NyaXB0b3I7IH0KLQotcHJpdmF0ZToKLSAgICBXZWJHUFVUZXh0
dXJlRGVzY3JpcHRvcih1bnNpZ25lZCBwaXhlbEZvcm1hdCwgdW5zaWduZWQgd2lkdGgsIHVuc2ln
bmVkIGhlaWdodCwgYm9vbCBtaXBtYXBwZWQpOwotCi0gICAgR1BVVGV4dHVyZURlc2NyaXB0b3Ig
bV9kZXNjcmlwdG9yOwotfTsKLQotfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQotCi0jZW5kaWYKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdQVVRleHR1cmVEZXNjcmlw
dG9yLmlkbCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdQVVRleHR1cmVEZXNjcmlw
dG9yLmlkbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZGI2YTA2MzNmZWJkYmU0NGVh
NzcyYjg2NzNmMzQ3NmM4ZjJjMmI5Yy4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHUFVUZXh0dXJlRGVz
Y3JpcHRvci5pZGwKKysrIC9kZXYvbnVsbApAQCAtMSw0MyArMCwwIEBACi0vKgotICogQ29weXJp
Z2h0IChDKSAyMDE3IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLSAqCi0gKiBSZWRp
c3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdp
dGhvdXQKLSAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBm
b2xsb3dpbmcgY29uZGl0aW9ucwotICogYXJlIG1ldDoKLSAqIDEuIFJlZGlzdHJpYnV0aW9ucyBv
ZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3Rp
Y2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIu
Ci0gKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhl
IGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQotICogICAgZG9jdW1lbnRhdGlvbiBh
bmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KLSAq
Ci0gKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gYGBBUyBJUycnIEFO
RCBBTlkKLSAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBO
T1QgTElNSVRFRCBUTywgVEhFCi0gKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklM
SVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKLSAqIFBVUlBPU0UgQVJFIERJU0NMQUlN
RUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SCi0gKiBDT05UUklCVVRPUlMgQkUg
TElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKLSAq
IEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1Qg
TElNSVRFRCBUTywKLSAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklD
RVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgotICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJS
VVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQotICogT0YgTElBQklMSVRZ
LCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCi0gKiAoSU5D
TFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9G
IFRIRSBVU0UKLSAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9T
U0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCi0gKi8KLQotWwotICAgIENvbnN0cnVjdG9yKHVuc2ln
bmVkIGxvbmcgcGl4ZWxGb3JtYXQsIHVuc2lnbmVkIGxvbmcgd2lkdGgsIHVuc2lnbmVkIGxvbmcg
aGVpZ2h0LCBib29sZWFuIG1pcG1hcHBlZCksCi0gICAgQ29uZGl0aW9uYWw9V0VCR1BVLAotICAg
IEVuYWJsZWRBdFJ1bnRpbWU9V2ViR1BVLAotICAgIEltcGxlbWVudGF0aW9uTGFja3NWVGFibGUK
LV0gaW50ZXJmYWNlIFdlYkdQVVRleHR1cmVEZXNjcmlwdG9yIHsKLQotICAgIGF0dHJpYnV0ZSB1
bnNpZ25lZCBsb25nIHRleHR1cmVUeXBlOwotCi0gICAgYXR0cmlidXRlIHVuc2lnbmVkIGxvbmcg
d2lkdGg7Ci0gICAgYXR0cmlidXRlIHVuc2lnbmVkIGxvbmcgaGVpZ2h0OwotICAgIGF0dHJpYnV0
ZSB1bnNpZ25lZCBsb25nIHNhbXBsZUNvdW50OwotCi0gICAgYXR0cmlidXRlIHVuc2lnbmVkIGxv
bmcgc3RvcmFnZU1vZGU7Ci0KLSAgICBhdHRyaWJ1dGUgdW5zaWduZWQgbG9uZyB1c2FnZTsKLQot
fTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYk1ldGFsQnVmZmVy
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYk1ldGFsQnVmZmVyLmNwcApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi5iZDMwMWVlOTg1NTNhNjE3OWI0ZGIzZmE0ZGNiMzRhZGRlZDJmZWRjCi0tLSAvZGV2
L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViTWV0YWxCdWZmZXIuY3Bw
CkBAIC0wLDAgKzEsNDYgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTcgQXBwbGUgSW5jLiBB
bGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291
cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBh
cmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBh
cmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWlu
IHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlv
bnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBp
biBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBu
b3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWlt
ZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJv
dmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJP
VklERUQgQlkgQVBQTEUgSU5DLiBgYEFTIElTJycgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBM
SUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKKyAqIElN
UExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFS
VElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQ
UExFIElOQy4gT1IKKyAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElO
RElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAorICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5U
SUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogUFJPQ1VSRU1F
TlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9S
CisgKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFO
RCBPTiBBTlkgVEhFT1JZCisgKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNU
UklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhF
UldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZU
V0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4K
KyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgiCisjaW5jbHVkZSAiV2ViTWV0YWxCdWZmZXIuaCIK
KworI2lmIEVOQUJMRShXRUJNRVRBTCkKKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitSZWZQdHI8
V2ViTWV0YWxCdWZmZXI+IFdlYk1ldGFsQnVmZmVyOjpjcmVhdGUoR1BVQnVmZmVyJiYgYnVmZmVy
KQoreworICAgIC8vIEZJWE1FOiBDb25zaWRlciByZXR1cm5pbmcgbnVsbCByYXRoZXIgdGhhbiBh
IGJ1ZmZlciB3aXRoIGxlbmd0aCAwIGFuZCBjb250ZW50cyBudWxsIHdoZW4gY3JlYXRpb24gZmFp
bHMuCisgICAgcmV0dXJuIGFkb3B0UmVmKCpuZXcgV2ViTWV0YWxCdWZmZXIoV1RGTW92ZShidWZm
ZXIpKSk7Cit9CisKK1dlYk1ldGFsQnVmZmVyOjpXZWJNZXRhbEJ1ZmZlcihHUFVCdWZmZXImJiBi
dWZmZXIpCisgICAgOiBtX2J1ZmZlciB7IFdURk1vdmUoYnVmZmVyKSB9Cit7Cit9CisKK30gLy8g
bmFtZXNwYWNlIFdlYkNvcmUKKworI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9o
dG1sL2NhbnZhcy9XZWJNZXRhbEJ1ZmZlci5oIGIvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMv
V2ViTWV0YWxCdWZmZXIuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yZTM0MWE3MmFlYTkwN2Q4MmJiYmI5NzNhMzVl
YWM2OWRmMDU0OGNiCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52
YXMvV2ViTWV0YWxCdWZmZXIuaApAQCAtMCwwICsxLDUzIEBACisvKgorICogQ29weXJpZ2h0IChD
KSAyMDE3IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1
dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQK
KyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dp
bmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3Vy
Y2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRo
aXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAy
LiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3Zl
IGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhl
IGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Ig
b3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBU
SElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gYGBBUyBJUycnIEFORCBBTlkK
KyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElN
SVRFRCBUTywgVEhFCisgKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFO
RCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJ
TiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SCisgKiBDT05UUklCVVRPUlMgQkUgTElBQkxF
IEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKKyAqIEVYRU1Q
TEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRF
RCBUTywKKyAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExP
U1MgT0YgVVNFLCBEQVRBLCBPUgorICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9O
KSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQorICogT0YgTElBQklMSVRZLCBXSEVU
SEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5H
IE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBV
U0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJ
VFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI3ByYWdtYSBvbmNlCisKKyNpZiBFTkFCTEUoV0VC
TUVUQUwpCisKKyNpbmNsdWRlICJHUFVCdWZmZXIuaCIKKyNpbmNsdWRlIDx3dGYvUmVmQ291bnRl
ZC5oPgorI2luY2x1ZGUgPHd0Zi9SZWZQdHIuaD4KKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitj
bGFzcyBXZWJNZXRhbEJ1ZmZlciA6IHB1YmxpYyBSZWZDb3VudGVkPFdlYk1ldGFsQnVmZmVyPiB7
CitwdWJsaWM6CisgICAgc3RhdGljIFJlZlB0cjxXZWJNZXRhbEJ1ZmZlcj4gY3JlYXRlKEdQVUJ1
ZmZlciYmKTsKKworICAgIHVuc2lnbmVkIGxlbmd0aCgpIGNvbnN0IHsgcmV0dXJuIG1fYnVmZmVy
Lmxlbmd0aCgpOyB9CisgICAgSlNDOjpBcnJheUJ1ZmZlciYgY29udGVudHMoKSBjb25zdCB7IHJl
dHVybiAqbV9idWZmZXIuY29udGVudHMoKTsgfQorCisgICAgY29uc3QgR1BVQnVmZmVyJiBidWZm
ZXIoKSBjb25zdCB7IHJldHVybiBtX2J1ZmZlcjsgfQorCitwcml2YXRlOgorICAgIGV4cGxpY2l0
IFdlYk1ldGFsQnVmZmVyKEdQVUJ1ZmZlciYmKTsKKworICAgIEdQVUJ1ZmZlciBtX2J1ZmZlcjsK
K307CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKworI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJNZXRhbEJ1ZmZlci5pZGwgYi9Tb3VyY2UvV2ViQ29y
ZS9odG1sL2NhbnZhcy9XZWJNZXRhbEJ1ZmZlci5pZGwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYTI3NTM1NjZkYjIx
NWQ0MDU4YzRhZDUyMmY4MjQ3ZjgzMThmYTMzZQotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2h0bWwvY2FudmFzL1dlYk1ldGFsQnVmZmVyLmlkbApAQCAtMCwwICsxLDM1IEBACisv
KgorICogQ29weXJpZ2h0IChDKSAyMDE3IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4K
KyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1z
LCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRl
ZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlz
dHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0
CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5n
IGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCBy
ZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2Yg
Y29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9j
dW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3Ry
aWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4g
YGBBUyBJUycnIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNM
VURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisgKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0Yg
TUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0Ug
QVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SCisgKiBDT05U
UklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwg
U1BFQ0lBTCwKKyAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJ
TkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09P
RFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgorICogUFJPRklUUzsgT1IgQlVT
SU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQorICog
T0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBU
T1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFO
WSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNF
RCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworWworICAgIENvbmRp
dGlvbmFsPVdFQk1FVEFMLAorICAgIEVuYWJsZWRBdFJ1bnRpbWU9V2ViTWV0YWwsCisgICAgSW1w
bGVtZW50YXRpb25MYWNrc1ZUYWJsZQorXSBpbnRlcmZhY2UgV2ViTWV0YWxCdWZmZXIgeworCisg
ICAgcmVhZG9ubHkgYXR0cmlidXRlIHVuc2lnbmVkIGxvbmcgbGVuZ3RoOworICAgIHJlYWRvbmx5
IGF0dHJpYnV0ZSBBcnJheUJ1ZmZlclZpZXcgY29udGVudHM7CisKK307CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJNZXRhbENvbW1hbmRCdWZmZXIuY3BwIGIvU291
cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViTWV0YWxDb21tYW5kQnVmZmVyLmNwcApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi5kMWJiZTFhNjQ4YzE0NTNjODMwMGI0ODMxNTc2Njc0NjI0MGRlZTkwCi0tLSAvZGV2L251
bGwKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViTWV0YWxDb21tYW5kQnVmZmVy
LmNwcApAQCAtMCwwICsxLDg3IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE3IEFwcGxlIElu
Yy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAxNyBZdWljaGlybyBL
aWt1cmEgKHkua2lrdXJhQGdtYWlsLmNvbSkKKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNl
IGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNh
dGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9u
cworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0
IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBj
b25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1
dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAor
ICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBk
aXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJp
YWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJF
IElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gYGBBUyBJUycnIEFORCBBTlkKKyAqIEVYUFJFU1Mg
T1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhF
CisgKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZP
UiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBT
SEFMTCBBUFBMRSBJTkMuIE9SCisgKiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElS
RUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKKyAqIEVYRU1QTEFSWSwgT1IgQ09O
U0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFBS
T0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBE
QVRBLCBPUgorICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENB
VVNFRCBBTkQgT04gQU5ZIFRIRU9SWQorICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRS
QUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0Ug
T1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRI
SVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBE
QU1BR0UuCisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorI2luY2x1ZGUgIldlYk1ldGFsQ29t
bWFuZEJ1ZmZlci5oIgorCisjaWYgRU5BQkxFKFdFQk1FVEFMKQorCisjaW5jbHVkZSAiR1BVQ29t
bWFuZEJ1ZmZlci5oIgorI2luY2x1ZGUgIkdQVUNvbW1hbmRRdWV1ZS5oIgorI2luY2x1ZGUgIkxv
Z2dpbmcuaCIKKyNpbmNsdWRlICJXZWJNZXRhbENvbXB1dGVDb21tYW5kRW5jb2Rlci5oIgorI2lu
Y2x1ZGUgIldlYk1ldGFsRHJhd2FibGUuaCIKKyNpbmNsdWRlICJXZWJNZXRhbFJlbmRlckNvbW1h
bmRFbmNvZGVyLmgiCisjaW5jbHVkZSAiV2ViTWV0YWxSZW5kZXJQYXNzRGVzY3JpcHRvci5oIgor
CituYW1lc3BhY2UgV2ViQ29yZSB7CisKK1JlZjxXZWJNZXRhbENvbW1hbmRCdWZmZXI+IFdlYk1l
dGFsQ29tbWFuZEJ1ZmZlcjo6Y3JlYXRlKGNvbnN0IEdQVUNvbW1hbmRRdWV1ZSYgcXVldWUpCit7
CisgICAgcmV0dXJuIGFkb3B0UmVmKCpuZXcgV2ViTWV0YWxDb21tYW5kQnVmZmVyKHF1ZXVlKSk7
Cit9CisKK1dlYk1ldGFsQ29tbWFuZEJ1ZmZlcjo6V2ViTWV0YWxDb21tYW5kQnVmZmVyKGNvbnN0
IEdQVUNvbW1hbmRRdWV1ZSYgcXVldWUpCisgICAgOiBtX2J1ZmZlciB7IHF1ZXVlLCBbdGhpc10g
KCkgeyBtX2NvbXBsZXRlZC5yZXNvbHZlKCk7IH0gfQoreworICAgIExPRyhXZWJNZXRhbCwgIldl
Yk1ldGFsQ29tbWFuZEJ1ZmZlcjo6V2ViTWV0YWxDb21tYW5kQnVmZmVyKCkiKTsKK30KKworV2Vi
TWV0YWxDb21tYW5kQnVmZmVyOjp+V2ViTWV0YWxDb21tYW5kQnVmZmVyKCkKK3sKKyAgICBMT0co
V2ViTWV0YWwsICJXZWJNZXRhbENvbW1hbmRCdWZmZXI6On5XZWJNZXRhbENvbW1hbmRCdWZmZXIo
KSIpOworfQorCit2b2lkIFdlYk1ldGFsQ29tbWFuZEJ1ZmZlcjo6Y29tbWl0KCkKK3sKKyAgICBM
T0coV2ViTWV0YWwsICJXZWJNZXRhbENvbW1hbmRCdWZmZXI6OmNvbW1pdCgpIik7CisgICAgbV9i
dWZmZXIuY29tbWl0KCk7Cit9CisKK3ZvaWQgV2ViTWV0YWxDb21tYW5kQnVmZmVyOjpwcmVzZW50
RHJhd2FibGUoV2ViTWV0YWxEcmF3YWJsZSYgZHJhd2FibGUpCit7CisgICAgTE9HKFdlYk1ldGFs
LCAiV2ViTWV0YWxDb21tYW5kQnVmZmVyOjpwcmVzZW50RHJhd2FibGUoKSIpOworICAgIG1fYnVm
ZmVyLnByZXNlbnREcmF3YWJsZShkcmF3YWJsZS5kcmF3YWJsZSgpKTsKK30KKworUmVmPFdlYk1l
dGFsUmVuZGVyQ29tbWFuZEVuY29kZXI+IFdlYk1ldGFsQ29tbWFuZEJ1ZmZlcjo6Y3JlYXRlUmVu
ZGVyQ29tbWFuZEVuY29kZXJXaXRoRGVzY3JpcHRvcihXZWJNZXRhbFJlbmRlclBhc3NEZXNjcmlw
dG9yJiBkZXNjcmlwdG9yKQoreworICAgIHJldHVybiBXZWJNZXRhbFJlbmRlckNvbW1hbmRFbmNv
ZGVyOjpjcmVhdGUoR1BVUmVuZGVyQ29tbWFuZEVuY29kZXIgeyBtX2J1ZmZlciwgZGVzY3JpcHRv
ci5kZXNjcmlwdG9yKCkgfSk7Cit9CisKK1JlZjxXZWJNZXRhbENvbXB1dGVDb21tYW5kRW5jb2Rl
cj4gV2ViTWV0YWxDb21tYW5kQnVmZmVyOjpjcmVhdGVDb21wdXRlQ29tbWFuZEVuY29kZXIoKQor
eworICAgIHJldHVybiBXZWJNZXRhbENvbXB1dGVDb21tYW5kRW5jb2Rlcjo6Y3JlYXRlKEdQVUNv
bXB1dGVDb21tYW5kRW5jb2RlciB7IG1fYnVmZmVyIH0pOworfQorCitET01Qcm9taXNlUHJveHk8
SURMVm9pZD4mIFdlYk1ldGFsQ29tbWFuZEJ1ZmZlcjo6Y29tcGxldGVkKCkKK3sKKyAgICByZXR1
cm4gbV9jb21wbGV0ZWQ7Cit9CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKworI2VuZGlmCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJNZXRhbENvbW1hbmRCdWZm
ZXIuaCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYk1ldGFsQ29tbWFuZEJ1ZmZlci5o
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLmIzODRmMmQxMjg3MWY5MWI1ZmIyZmIyNWUwNjAwNzEwYWFmNjc4N2UKLS0t
IC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJNZXRhbENvbW1h
bmRCdWZmZXIuaApAQCAtMCwwICsxLDY3IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE3IEFw
cGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAxNyBZdWlj
aGlybyBLaWt1cmEgKHkua2lrdXJhQGdtYWlsLmNvbSkKKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBh
bmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1v
ZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29u
ZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29k
ZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlz
dCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRp
c3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHly
aWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxv
d2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIg
bWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNP
RlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gYGBBUyBJUycnIEFORCBBTlkKKyAqIEVY
UFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBU
TywgVEhFCisgKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRO
RVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBF
VkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SCisgKiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBB
TlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKKyAqIEVYRU1QTEFSWSwg
T1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywK
KyAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0Yg
VVNFLCBEQVRBLCBPUgorICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dF
VkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQorICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElO
IENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJ
R0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAq
IE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0Yg
U1VDSCBEQU1BR0UuCisgKi8KKworI3ByYWdtYSBvbmNlCisKKyNpZiBFTkFCTEUoV0VCTUVUQUwp
CisKKyNpbmNsdWRlICJET01Qcm9taXNlUHJveHkuaCIKKyNpbmNsdWRlICJHUFVDb21tYW5kQnVm
ZmVyLmgiCisjaW5jbHVkZSA8d3RmL1JlZi5oPgorI2luY2x1ZGUgPHd0Zi9SZWZDb3VudGVkLmg+
CisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworY2xhc3MgV2ViTWV0YWxDb21wdXRlQ29tbWFuZEVu
Y29kZXI7CitjbGFzcyBXZWJNZXRhbERyYXdhYmxlOworY2xhc3MgV2ViTWV0YWxSZW5kZXJDb21t
YW5kRW5jb2RlcjsKK2NsYXNzIFdlYk1ldGFsUmVuZGVyUGFzc0Rlc2NyaXB0b3I7CisKK2NsYXNz
IFdlYk1ldGFsQ29tbWFuZEJ1ZmZlciA6IHB1YmxpYyBSZWZDb3VudGVkPFdlYk1ldGFsQ29tbWFu
ZEJ1ZmZlcj4geworcHVibGljOgorICAgIH5XZWJNZXRhbENvbW1hbmRCdWZmZXIoKTsKKyAgICBz
dGF0aWMgUmVmPFdlYk1ldGFsQ29tbWFuZEJ1ZmZlcj4gY3JlYXRlKGNvbnN0IEdQVUNvbW1hbmRR
dWV1ZSYpOworCisgICAgdm9pZCBjb21taXQoKTsKKyAgICB2b2lkIHByZXNlbnREcmF3YWJsZShX
ZWJNZXRhbERyYXdhYmxlJik7CisKKyAgICBSZWY8V2ViTWV0YWxSZW5kZXJDb21tYW5kRW5jb2Rl
cj4gY3JlYXRlUmVuZGVyQ29tbWFuZEVuY29kZXJXaXRoRGVzY3JpcHRvcihXZWJNZXRhbFJlbmRl
clBhc3NEZXNjcmlwdG9yJik7CisgICAgUmVmPFdlYk1ldGFsQ29tcHV0ZUNvbW1hbmRFbmNvZGVy
PiBjcmVhdGVDb21wdXRlQ29tbWFuZEVuY29kZXIoKTsKKworICAgIERPTVByb21pc2VQcm94eTxJ
RExWb2lkPiYgY29tcGxldGVkKCk7CisKKyAgICBjb25zdCBHUFVDb21tYW5kQnVmZmVyJiBidWZm
ZXIoKSBjb25zdCB7IHJldHVybiBtX2J1ZmZlcjsgfQorCitwcml2YXRlOgorICAgIGV4cGxpY2l0
IFdlYk1ldGFsQ29tbWFuZEJ1ZmZlcihjb25zdCBHUFVDb21tYW5kUXVldWUmKTsKKworICAgIEdQ
VUNvbW1hbmRCdWZmZXIgbV9idWZmZXI7CisgICAgRE9NUHJvbWlzZVByb3h5PElETFZvaWQ+IG1f
Y29tcGxldGVkOworfTsKKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorCisjZW5kaWYKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYk1ldGFsQ29tbWFuZEJ1ZmZlci5p
ZGwgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJNZXRhbENvbW1hbmRCdWZmZXIuaWRs
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLmNjMWEwMGY1YmJlYjFhM2JlYmZlNjgwNWRmZTEzNTAwODEyN2FjOTUKLS0t
IC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJNZXRhbENvbW1h
bmRCdWZmZXIuaWRsCkBAIC0wLDAgKzEsMzcgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTcg
QXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0IChDKSAyMDE3IFl1
aWNoaXJvIEtpa3VyYSAoeS5raWt1cmFAZ21haWwuY29tKQorICoKKyAqIFJlZGlzdHJpYnV0aW9u
IGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICog
bW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBj
b25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBj
b2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBs
aXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJl
ZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29w
eXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9s
bG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhl
ciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMg
U09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBgYEFTIElTJycgQU5EIEFOWQorICog
RVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVE
IFRPLCBUSEUKKyAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJ
VE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5P
IEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IKKyAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9S
IEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAorICogRVhFTVBMQVJZ
LCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRP
LAorICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBP
RiBVU0UsIERBVEEsIE9SCisgKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhP
V0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCisgKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIg
SU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVH
TElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQor
ICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBP
RiBTVUNIIERBTUFHRS4KKyAqLworCitbCisgICAgQ29uZGl0aW9uYWw9V0VCTUVUQUwsCisgICAg
RW5hYmxlZEF0UnVudGltZT1XZWJNZXRhbCwKKyAgICBJbXBsZW1lbnRhdGlvbkxhY2tzVlRhYmxl
CitdIGludGVyZmFjZSBXZWJNZXRhbENvbW1hbmRCdWZmZXIgeworICAgIFdlYk1ldGFsUmVuZGVy
Q29tbWFuZEVuY29kZXIgY3JlYXRlUmVuZGVyQ29tbWFuZEVuY29kZXJXaXRoRGVzY3JpcHRvcihX
ZWJNZXRhbFJlbmRlclBhc3NEZXNjcmlwdG9yIGRlc2NyaXB0b3IpOworICAgIFdlYk1ldGFsQ29t
cHV0ZUNvbW1hbmRFbmNvZGVyIGNyZWF0ZUNvbXB1dGVDb21tYW5kRW5jb2RlcigpOworICAgIHZv
aWQgY29tbWl0KCk7CisgICAgdm9pZCBwcmVzZW50RHJhd2FibGUoV2ViTWV0YWxEcmF3YWJsZSBk
cmF3YWJsZSk7CisgICAgcmVhZG9ubHkgYXR0cmlidXRlIFByb21pc2U8dm9pZD4gY29tcGxldGVk
OworfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYk1ldGFsQ29t
bWFuZFF1ZXVlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYk1ldGFsQ29tbWFu
ZFF1ZXVlLmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5hNDliMjNiNWUyZDRjZjQyODU4YWY2Y2E2ODAyYjQyYzg5
YjcyOTYzCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2Vi
TWV0YWxDb21tYW5kUXVldWUuY3BwCkBAIC0wLDAgKzEsNTQgQEAKKy8qCisgKiBDb3B5cmlnaHQg
KEMpIDIwMTcgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJp
YnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91
dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxv
d2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNv
dXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwg
dGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAq
IDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJv
dmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9v
ciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAq
IFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBgYEFTIElTJycgQU5EIEFO
WQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBM
SU1JVEVEIFRPLCBUSEUKKyAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkg
QU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4g
IElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IKKyAqIENPTlRSSUJVVE9SUyBCRSBMSUFC
TEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAorICogRVhF
TVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1J
VEVEIFRPLAorICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsg
TE9TUyBPRiBVU0UsIERBVEEsIE9SCisgKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJ
T04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCisgKiBPRiBMSUFCSUxJVFksIFdI
RVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJ
TkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhF
IFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJ
TElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgiCisjaW5jbHVk
ZSAiV2ViTWV0YWxDb21tYW5kUXVldWUuaCIKKworI2lmIEVOQUJMRShXRUJNRVRBTCkKKworI2lu
Y2x1ZGUgIldlYk1ldGFsQ29tbWFuZEJ1ZmZlci5oIgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisK
K1JlZjxXZWJNZXRhbENvbW1hbmRRdWV1ZT4gV2ViTWV0YWxDb21tYW5kUXVldWU6OmNyZWF0ZShH
UFVDb21tYW5kUXVldWUmJiBxdWV1ZSkKK3sKKyAgICByZXR1cm4gYWRvcHRSZWYoKm5ldyBXZWJN
ZXRhbENvbW1hbmRRdWV1ZShXVEZNb3ZlKHF1ZXVlKSkpOworfQorCitXZWJNZXRhbENvbW1hbmRR
dWV1ZTo6V2ViTWV0YWxDb21tYW5kUXVldWUoR1BVQ29tbWFuZFF1ZXVlJiYgcXVldWUpCisgICAg
OiBtX3F1ZXVlIHsgV1RGTW92ZShxdWV1ZSkgfQoreworfQorCitXZWJNZXRhbENvbW1hbmRRdWV1
ZTo6fldlYk1ldGFsQ29tbWFuZFF1ZXVlKCkgPSBkZWZhdWx0OworCitSZWY8V2ViTWV0YWxDb21t
YW5kQnVmZmVyPiBXZWJNZXRhbENvbW1hbmRRdWV1ZTo6Y3JlYXRlQ29tbWFuZEJ1ZmZlcigpCit7
CisgICAgcmV0dXJuIFdlYk1ldGFsQ29tbWFuZEJ1ZmZlcjo6Y3JlYXRlKG1fcXVldWUpOworfQor
Cit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKKyNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvaHRtbC9jYW52YXMvV2ViTWV0YWxDb21tYW5kUXVldWUuaCBiL1NvdXJjZS9XZWJDb3Jl
L2h0bWwvY2FudmFzL1dlYk1ldGFsQ29tbWFuZFF1ZXVlLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjUwN2IyMzYx
MDZlZWEyZDU4NjcwNzVjNjkzYjY0OGNjOGQ4NDRiNgotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYk1ldGFsQ29tbWFuZFF1ZXVlLmgKQEAgLTAsMCArMSw1
NiBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxNyBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVz
ZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFy
eSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQg
cHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAx
LiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNv
cHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3Jt
IG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBs
aXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAq
ICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRo
ZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBM
RSBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElF
UywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQorICogSU1QTElFRCBXQVJSQU5U
SUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQ
VVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUgor
ICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lE
RU5UQUwsIFNQRUNJQUwsCisgKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAo
SU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElU
VVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKKyAqIFBST0ZJVFM7
IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVP
UlkKKyAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElU
WSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lO
RyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElG
IEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNwcmFn
bWEgb25jZQorCisjaWYgRU5BQkxFKFdFQk1FVEFMKQorCisjaW5jbHVkZSAiR1BVQ29tbWFuZFF1
ZXVlLmgiCisjaW5jbHVkZSA8d3RmL1JlZi5oPgorI2luY2x1ZGUgPHd0Zi9SZWZDb3VudGVkLmg+
CisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworY2xhc3MgV2ViTWV0YWxDb21tYW5kQnVmZmVyOwor
CitjbGFzcyBXZWJNZXRhbENvbW1hbmRRdWV1ZSA6IHB1YmxpYyBSZWZDb3VudGVkPFdlYk1ldGFs
Q29tbWFuZFF1ZXVlPiB7CitwdWJsaWM6CisgICAgfldlYk1ldGFsQ29tbWFuZFF1ZXVlKCk7Cisg
ICAgc3RhdGljIFJlZjxXZWJNZXRhbENvbW1hbmRRdWV1ZT4gY3JlYXRlKEdQVUNvbW1hbmRRdWV1
ZSYmKTsKKworICAgIFN0cmluZyBsYWJlbCgpIGNvbnN0IHsgcmV0dXJuIG1fcXVldWUubGFiZWwo
KTsgfQorICAgIHZvaWQgc2V0TGFiZWwoY29uc3QgU3RyaW5nJiBsYWJlbCkgeyBtX3F1ZXVlLnNl
dExhYmVsKGxhYmVsKTsgfQorCisgICAgUmVmPFdlYk1ldGFsQ29tbWFuZEJ1ZmZlcj4gY3JlYXRl
Q29tbWFuZEJ1ZmZlcigpOworCitwcml2YXRlOgorICAgIGV4cGxpY2l0IFdlYk1ldGFsQ29tbWFu
ZFF1ZXVlKEdQVUNvbW1hbmRRdWV1ZSYmKTsKKworICAgIEdQVUNvbW1hbmRRdWV1ZSBtX3F1ZXVl
OworfTsKKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorCisjZW5kaWYKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYk1ldGFsQ29tbWFuZFF1ZXVlLmlkbCBiL1NvdXJj
ZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYk1ldGFsQ29tbWFuZFF1ZXVlLmlkbApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li5mNmIzMDdiNDBhZjg0NmQ0OGY0MWVhYTBmNjBmODdmMTE1MTYxM2Q1Ci0tLSAvZGV2L251bGwK
KysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViTWV0YWxDb21tYW5kUXVldWUuaWRs
CkBAIC0wLDAgKzEsMzYgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTcgQXBwbGUgSW5jLiBB
bGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291
cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBh
cmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBh
cmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWlu
IHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlv
bnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBp
biBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBu
b3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWlt
ZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJv
dmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJP
VklERUQgQlkgQVBQTEUgSU5DLiBgYEFTIElTJycgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBM
SUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKKyAqIElN
UExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFS
VElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQ
UExFIElOQy4gT1IKKyAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElO
RElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAorICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5U
SUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogUFJPQ1VSRU1F
TlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9S
CisgKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFO
RCBPTiBBTlkgVEhFT1JZCisgKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNU
UklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhF
UldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZU
V0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4K
KyAqLworCitbCisgICAgQ29uZGl0aW9uYWw9V0VCTUVUQUwsCisgICAgRW5hYmxlZEF0UnVudGlt
ZT1XZWJNZXRhbCwKKyAgICBJbXBsZW1lbnRhdGlvbkxhY2tzVlRhYmxlCitdIGludGVyZmFjZSBX
ZWJNZXRhbENvbW1hbmRRdWV1ZSB7CisKKyAgICBhdHRyaWJ1dGUgRE9NU3RyaW5nIGxhYmVsOwor
CisgICAgV2ViTWV0YWxDb21tYW5kQnVmZmVyIGNyZWF0ZUNvbW1hbmRCdWZmZXIoKTsKKworfTsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYk1ldGFsQ29tcHV0ZUNv
bW1hbmRFbmNvZGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYk1ldGFsQ29t
cHV0ZUNvbW1hbmRFbmNvZGVyLmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5iNDYwM2Y0Nzc1MjFkNTYyMWRkOWI0
NGIyMjMwYmRlMTJhOWFiN2M5Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvaHRt
bC9jYW52YXMvV2ViTWV0YWxDb21wdXRlQ29tbWFuZEVuY29kZXIuY3BwCkBAIC0wLDAgKzEsNzcg
QEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTcgWXVpY2hpcm8gS2lrdXJhICh5Lmtpa3VyYUBn
bWFpbC5jb20pCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJp
bmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0
ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6Cisg
KiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3Zl
IGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhl
IGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBm
b3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhp
cyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUK
KyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRo
IHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBB
UFBMRSBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFO
VElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQorICogSU1QTElFRCBXQVJS
QU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisg
KiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBP
UgorICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElO
Q0lERU5UQUwsIFNQRUNJQUwsCisgKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdF
UyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBQUk9DVVJFTUVOVCBPRiBTVUJT
VElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKKyAqIFBST0ZJ
VFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBU
SEVPUlkKKyAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJ
TElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJ
U0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVO
IElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNp
bmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJXZWJNZXRhbENvbXB1dGVDb21tYW5kRW5jb2Rl
ci5oIgorCisjaWYgRU5BQkxFKFdFQk1FVEFMKQorCisjaW5jbHVkZSAiR1BVQ29tbWFuZEJ1ZmZl
ci5oIgorI2luY2x1ZGUgIkdQVUNvbXB1dGVDb21tYW5kRW5jb2Rlci5oIgorI2luY2x1ZGUgIkdQ
VVNpemUuaCIKKyNpbmNsdWRlICJXZWJNZXRhbEJ1ZmZlci5oIgorI2luY2x1ZGUgIldlYk1ldGFs
Q29tbWFuZEJ1ZmZlci5oIgorI2luY2x1ZGUgIldlYk1ldGFsQ29tcHV0ZVBpcGVsaW5lU3RhdGUu
aCIKKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitzdGF0aWMgaW5saW5lIEdQVVNpemUgR1BVU2l6
ZU1ha2UoV2ViTWV0YWxTaXplIHNpemUpCit7CisgICAgcmV0dXJuIHsgc2l6ZS53aWR0aCwgc2l6
ZS5oZWlnaHQsIHNpemUuZGVwdGggfTsKK30KKworUmVmPFdlYk1ldGFsQ29tcHV0ZUNvbW1hbmRF
bmNvZGVyPiBXZWJNZXRhbENvbXB1dGVDb21tYW5kRW5jb2Rlcjo6Y3JlYXRlKEdQVUNvbXB1dGVD
b21tYW5kRW5jb2RlciYmIGVuY29kZXIpCit7CisgICAgcmV0dXJuIGFkb3B0UmVmKCpuZXcgV2Vi
TWV0YWxDb21wdXRlQ29tbWFuZEVuY29kZXIoV1RGTW92ZShlbmNvZGVyKSkpOworfQorICAgIAor
V2ViTWV0YWxDb21wdXRlQ29tbWFuZEVuY29kZXI6OldlYk1ldGFsQ29tcHV0ZUNvbW1hbmRFbmNv
ZGVyKEdQVUNvbXB1dGVDb21tYW5kRW5jb2RlciYmIGVuY29kZXIpCisgICAgOiBtX2VuY29kZXIg
eyBXVEZNb3ZlKGVuY29kZXIpIH0KK3sKK30KKwordm9pZCBXZWJNZXRhbENvbXB1dGVDb21tYW5k
RW5jb2Rlcjo6c2V0Q29tcHV0ZVBpcGVsaW5lU3RhdGUoV2ViTWV0YWxDb21wdXRlUGlwZWxpbmVT
dGF0ZSYgcGlwZWxpbmVTdGF0ZSkKK3sKKyAgICBtX2VuY29kZXIuc2V0Q29tcHV0ZVBpcGVsaW5l
U3RhdGUocGlwZWxpbmVTdGF0ZS5zdGF0ZSgpKTsKK30KKwordm9pZCBXZWJNZXRhbENvbXB1dGVD
b21tYW5kRW5jb2Rlcjo6c2V0QnVmZmVyKFdlYk1ldGFsQnVmZmVyJiBidWZmZXIsIHVuc2lnbmVk
IG9mZnNldCwgdW5zaWduZWQgaW5kZXgpCit7CisgICAgbV9lbmNvZGVyLnNldEJ1ZmZlcihidWZm
ZXIuYnVmZmVyKCksIG9mZnNldCwgaW5kZXgpOworfQorCit2b2lkIFdlYk1ldGFsQ29tcHV0ZUNv
bW1hbmRFbmNvZGVyOjpkaXNwYXRjaChXZWJNZXRhbFNpemUgdGhyZWFkZ3JvdXBzUGVyR3JpZCwg
V2ViTWV0YWxTaXplIHRocmVhZHNQZXJUaHJlYWRncm91cCkKK3sKKyAgICBtX2VuY29kZXIuZGlz
cGF0Y2goR1BVU2l6ZU1ha2UodGhyZWFkZ3JvdXBzUGVyR3JpZCksIEdQVVNpemVNYWtlKHRocmVh
ZHNQZXJUaHJlYWRncm91cCkpOworfQorCit2b2lkIFdlYk1ldGFsQ29tcHV0ZUNvbW1hbmRFbmNv
ZGVyOjplbmRFbmNvZGluZygpCit7CisgICAgbV9lbmNvZGVyLmVuZEVuY29kaW5nKCk7Cit9CisK
K30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKworI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9odG1sL2NhbnZhcy9XZWJNZXRhbENvbXB1dGVDb21tYW5kRW5jb2Rlci5oIGIvU291cmNl
L1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViTWV0YWxDb21wdXRlQ29tbWFuZEVuY29kZXIuaApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi5iZmJhOGM1YzQwYWYzMGIwNzBkNzUwNDc0NjgwOTA5ZWRlNjRiYzYxCi0tLSAvZGV2
L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViTWV0YWxDb21wdXRlQ29t
bWFuZEVuY29kZXIuaApAQCAtMCwwICsxLDU3IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE3
IFl1aWNoaXJvIEtpa3VyYSAoeS5raWt1cmFAZ21haWwuY29tKQorICoKKyAqIFJlZGlzdHJpYnV0
aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAor
ICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2lu
ZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJj
ZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhp
cyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIu
IFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUg
Y29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUg
Zm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBv
dGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRI
SVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBgYEFTIElTJycgQU5EIEFOWQor
ICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1J
VEVEIFRPLCBUSEUKKyAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5E
IEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElO
IE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IKKyAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUg
Rk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAorICogRVhFTVBM
QVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVE
IFRPLAorICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9T
UyBPRiBVU0UsIERBVEEsIE9SCisgKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04p
IEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCisgKiBPRiBMSUFCSUxJVFksIFdIRVRI
RVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcg
TkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVT
RQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElU
WSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjcHJhZ21hIG9uY2UKKworI2lmIEVOQUJMRShXRUJN
RVRBTCkKKworI2luY2x1ZGUgIkdQVUNvbXB1dGVDb21tYW5kRW5jb2Rlci5oIgorI2luY2x1ZGUg
IldlYk1ldGFsU2l6ZS5oIgorI2luY2x1ZGUgPHd0Zi9SZWYuaD4KKyNpbmNsdWRlIDx3dGYvUmVm
Q291bnRlZC5oPgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK2NsYXNzIFdlYk1ldGFsQnVmZmVy
OworY2xhc3MgV2ViTWV0YWxDb21wdXRlUGlwZWxpbmVTdGF0ZTsKKworY2xhc3MgV2ViTWV0YWxD
b21wdXRlQ29tbWFuZEVuY29kZXIgOiBwdWJsaWMgUmVmQ291bnRlZDxXZWJNZXRhbENvbXB1dGVD
b21tYW5kRW5jb2Rlcj4geworcHVibGljOgorICAgIHN0YXRpYyBSZWY8V2ViTWV0YWxDb21wdXRl
Q29tbWFuZEVuY29kZXI+IGNyZWF0ZShHUFVDb21wdXRlQ29tbWFuZEVuY29kZXImJik7CisKKyAg
ICB2b2lkIHNldENvbXB1dGVQaXBlbGluZVN0YXRlKFdlYk1ldGFsQ29tcHV0ZVBpcGVsaW5lU3Rh
dGUmKTsKKyAgICB2b2lkIHNldEJ1ZmZlcihXZWJNZXRhbEJ1ZmZlciYsIHVuc2lnbmVkLCB1bnNp
Z25lZCk7CisgICAgdm9pZCBkaXNwYXRjaChXZWJNZXRhbFNpemUsIFdlYk1ldGFsU2l6ZSk7Cisg
ICAgdm9pZCBlbmRFbmNvZGluZygpOworCitwcml2YXRlOgorICAgIGV4cGxpY2l0IFdlYk1ldGFs
Q29tcHV0ZUNvbW1hbmRFbmNvZGVyKEdQVUNvbXB1dGVDb21tYW5kRW5jb2RlciYmKTsKKworICAg
IEdQVUNvbXB1dGVDb21tYW5kRW5jb2RlciBtX2VuY29kZXI7Cit9OworCit9IC8vIG5hbWVzcGFj
ZSBXZWJDb3JlCisKKyNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52
YXMvV2ViTWV0YWxDb21wdXRlQ29tbWFuZEVuY29kZXIuaWRsIGIvU291cmNlL1dlYkNvcmUvaHRt
bC9jYW52YXMvV2ViTWV0YWxDb21wdXRlQ29tbWFuZEVuY29kZXIuaWRsCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIw
NWRiNzkzMGU2YjRlYzg1YWU3NzgzZGQ5MjEyNDBlMGVjYWMzMWIKLS0tIC9kZXYvbnVsbAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJNZXRhbENvbXB1dGVDb21tYW5kRW5jb2Rl
ci5pZGwKQEAgLTAsMCArMSwzOCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxNyBZdWljaGly
byBLaWt1cmEgKHkua2lrdXJhQGdtYWlsLmNvbSkKKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQg
dXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlm
aWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0
aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBt
dXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3Ry
aWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdo
dAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2lu
ZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0
ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRX
QVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gYGBBUyBJUycnIEFORCBBTlkKKyAqIEVYUFJF
U1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywg
VEhFCisgKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNT
IEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVO
VCBTSEFMTCBBUFBMRSBJTkMuIE9SCisgKiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkg
RElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKKyAqIEVYRU1QTEFSWSwgT1Ig
Q09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAq
IFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNF
LCBEQVRBLCBPUgorICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVS
IENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQorICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENP
TlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VO
Q0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9G
IFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VD
SCBEQU1BR0UuCisgKi8KKworWworICAgIENvbmRpdGlvbmFsPVdFQk1FVEFMLAorICAgIEVuYWJs
ZWRBdFJ1bnRpbWU9V2ViTWV0YWwsCisgICAgSW1wbGVtZW50YXRpb25MYWNrc1ZUYWJsZQorXSBp
bnRlcmZhY2UgV2ViTWV0YWxDb21wdXRlQ29tbWFuZEVuY29kZXIgeworCisgICAgdm9pZCBzZXRD
b21wdXRlUGlwZWxpbmVTdGF0ZShXZWJNZXRhbENvbXB1dGVQaXBlbGluZVN0YXRlIHBpcGVsaW5l
U3RhdGUpOworICAgIHZvaWQgc2V0QnVmZmVyKFdlYk1ldGFsQnVmZmVyIGJ1ZmZlciwgdW5zaWdu
ZWQgbG9uZyBvZmZzZXQsIHVuc2lnbmVkIGxvbmcgaW5kZXgpOworICAgIHZvaWQgZGlzcGF0Y2go
V2ViTWV0YWxTaXplIHRocmVhZGdyb3Vwc1BlckdyaWQsIFdlYk1ldGFsU2l6ZSB0aHJlYWRzUGVy
VGhyZWFkZ3JvdXApOworCisgICAgdm9pZCBlbmRFbmNvZGluZygpOworCit9OwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViTWV0YWxDb21wdXRlUGlwZWxpbmVTdGF0
ZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJNZXRhbENvbXB1dGVQaXBlbGlu
ZVN0YXRlLmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMWI1M2I1NWEwMGY0M2UzYjNkZDI1YzliM2RjZmVlZGM5
Njg5NjY4Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2Vi
TWV0YWxDb21wdXRlUGlwZWxpbmVTdGF0ZS5jcHAKQEAgLTAsMCArMSw0NSBAQAorLyoKKyAqIENv
cHlyaWdodCAoQykgMjAxNyBZdWljaGlybyBLaWt1cmEgKHkua2lrdXJhQGdtYWlsLmNvbSkKKyAq
CisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3
aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0
aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJp
YnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Cisg
KiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRp
c2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXBy
b2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29u
ZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1l
bnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1
dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gYGBB
UyBJUycnIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJ
TkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisgKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVS
Q0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJF
IERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SCisgKiBDT05UUklC
VVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BF
Q0lBTCwKKyAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcs
IEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMg
T1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgorICogUFJPRklUUzsgT1IgQlVTSU5F
U1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQorICogT0Yg
TElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JU
CisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBX
QVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBP
RiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUgImNvbmZp
Zy5oIgorI2luY2x1ZGUgIldlYk1ldGFsQ29tcHV0ZVBpcGVsaW5lU3RhdGUuaCIKKworI2lmIEVO
QUJMRShXRUJNRVRBTCkKKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitSZWY8V2ViTWV0YWxDb21w
dXRlUGlwZWxpbmVTdGF0ZT4gV2ViTWV0YWxDb21wdXRlUGlwZWxpbmVTdGF0ZTo6Y3JlYXRlKEdQ
VUNvbXB1dGVQaXBlbGluZVN0YXRlJiYgc3RhdGUpCit7CisgICAgcmV0dXJuIGFkb3B0UmVmKCpu
ZXcgV2ViTWV0YWxDb21wdXRlUGlwZWxpbmVTdGF0ZShXVEZNb3ZlKHN0YXRlKSkpOworfQorCitX
ZWJNZXRhbENvbXB1dGVQaXBlbGluZVN0YXRlOjpXZWJNZXRhbENvbXB1dGVQaXBlbGluZVN0YXRl
KEdQVUNvbXB1dGVQaXBlbGluZVN0YXRlJiYgc3RhdGUpCisgICAgOiBtX3N0YXRlIHsgV1RGTW92
ZShzdGF0ZSkgfQoreworfQorCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKKyNlbmRpZgpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViTWV0YWxDb21wdXRlUGlwZWxp
bmVTdGF0ZS5oIGIvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViTWV0YWxDb21wdXRlUGlw
ZWxpbmVTdGF0ZS5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmJjZTQ3OGYyYjUyODdjZmIyN2UxZWIyY2Q3ODA5MTNm
NzMxMTU4NjkKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9X
ZWJNZXRhbENvbXB1dGVQaXBlbGluZVN0YXRlLmgKQEAgLTAsMCArMSw1MiBAQAorLyoKKyAqIENv
cHlyaWdodCAoQykgMjAxNyBZdWljaGlybyBLaWt1cmEgKHkua2lrdXJhQGdtYWlsLmNvbSkKKyAq
CisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3
aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0
aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJp
YnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Cisg
KiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRp
c2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXBy
b2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29u
ZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1l
bnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1
dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gYGBB
UyBJUycnIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJ
TkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisgKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVS
Q0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJF
IERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SCisgKiBDT05UUklC
VVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BF
Q0lBTCwKKyAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcs
IEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMg
T1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgorICogUFJPRklUUzsgT1IgQlVTSU5F
U1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQorICogT0Yg
TElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JU
CisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBX
QVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBP
RiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI3ByYWdtYSBvbmNlCisK
KyNpZiBFTkFCTEUoV0VCTUVUQUwpCisKKyNpbmNsdWRlICJHUFVDb21wdXRlUGlwZWxpbmVTdGF0
ZS5oIgorI2luY2x1ZGUgPHd0Zi9SZWYuaD4KKyNpbmNsdWRlIDx3dGYvUmVmQ291bnRlZC5oPgor
CituYW1lc3BhY2UgV2ViQ29yZSB7CisKK2NsYXNzIFdlYk1ldGFsRnVuY3Rpb247CisKK2NsYXNz
IFdlYk1ldGFsQ29tcHV0ZVBpcGVsaW5lU3RhdGUgOiBwdWJsaWMgUmVmQ291bnRlZDxXZWJNZXRh
bENvbXB1dGVQaXBlbGluZVN0YXRlPiB7CitwdWJsaWM6CisgICAgc3RhdGljIFJlZjxXZWJNZXRh
bENvbXB1dGVQaXBlbGluZVN0YXRlPiBjcmVhdGUoR1BVQ29tcHV0ZVBpcGVsaW5lU3RhdGUmJik7
CisKKyAgICBHUFVDb21wdXRlUGlwZWxpbmVTdGF0ZSYgc3RhdGUoKSB7IHJldHVybiBtX3N0YXRl
OyB9CisKK3ByaXZhdGU6CisgICAgZXhwbGljaXQgV2ViTWV0YWxDb21wdXRlUGlwZWxpbmVTdGF0
ZShHUFVDb21wdXRlUGlwZWxpbmVTdGF0ZSYmKTsKKworICAgIEdQVUNvbXB1dGVQaXBlbGluZVN0
YXRlIG1fc3RhdGU7Cit9OworCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKKyNlbmRpZgpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViTWV0YWxDb21wdXRlUGlwZWxp
bmVTdGF0ZS5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJNZXRhbENvbXB1dGVQ
aXBlbGluZVN0YXRlLmlkbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5jMzExMjQzMjg4NjNkODdlZjU3MzE5ZWU1MGRh
ZGZhMDUyMDFkZjVkCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52
YXMvV2ViTWV0YWxDb21wdXRlUGlwZWxpbmVTdGF0ZS5pZGwKQEAgLTAsMCArMSwzMSBAQAorLyoK
KyAqIENvcHlyaWdodCAoQykgMjAxNyBZdWljaGlybyBLaWt1cmEgKHkua2lrdXJhQGdtYWlsLmNv
bSkKKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZv
cm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92
aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJl
ZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJp
Z2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93
aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVz
dCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qg
b2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAg
ZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRp
c3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElO
Qy4gYGBBUyBJUycnIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJ
TkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisgKiBJTVBMSUVEIFdBUlJBTlRJRVMg
T0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBP
U0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SCisgKiBD
T05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRB
TCwgU1BFQ0lBTCwKKyAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNM
VURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUg
R09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgorICogUFJPRklUUzsgT1Ig
QlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQor
ICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBP
UiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElO
IEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURW
SVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworWworICAgIENv
bmRpdGlvbmFsPVdFQk1FVEFMLAorICAgIEVuYWJsZWRBdFJ1bnRpbWU9V2ViTWV0YWwsCisgICAg
SW1wbGVtZW50YXRpb25MYWNrc1ZUYWJsZQorXSBpbnRlcmZhY2UgV2ViTWV0YWxDb21wdXRlUGlw
ZWxpbmVTdGF0ZSB7Cit9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMv
V2ViTWV0YWxEZXB0aFN0ZW5jaWxEZXNjcmlwdG9yLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwv
Y2FudmFzL1dlYk1ldGFsRGVwdGhTdGVuY2lsRGVzY3JpcHRvci5jcHAKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjU5
YjcwMzA5N2QwN2U2YWU2NTFlYjBjOTVlMTMwNTYyYjM0MDY0YQotLS0gL2Rldi9udWxsCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYk1ldGFsRGVwdGhTdGVuY2lsRGVzY3JpcHRv
ci5jcHAKQEAgLTAsMCArMSw2MSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxNyBBcHBsZSBJ
bmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBp
biBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRp
b24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMK
KyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCBy
ZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29u
ZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRp
b25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAq
ICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlz
Y2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFs
cyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJ
UyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCisgKiBFWFBSRVNTIE9S
IElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQor
ICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1Ig
QSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hB
TEwgQVBQTEUgSU5DLiBPUgorICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVD
VCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCisgKiBFWEVNUExBUlksIE9SIENPTlNF
UVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBQUk9D
VVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFU
QSwgT1IKKyAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVT
RUQgQU5EIE9OIEFOWSBUSEVPUlkKKyAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFD
VCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9S
IE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElT
IFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFN
QUdFLgorICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJXZWJNZXRhbERlcHRo
U3RlbmNpbERlc2NyaXB0b3IuaCIKKworI2lmIEVOQUJMRShXRUJNRVRBTCkKKworbmFtZXNwYWNl
IFdlYkNvcmUgeworCitSZWY8V2ViTWV0YWxEZXB0aFN0ZW5jaWxEZXNjcmlwdG9yPiBXZWJNZXRh
bERlcHRoU3RlbmNpbERlc2NyaXB0b3I6OmNyZWF0ZSgpCit7CisgICAgcmV0dXJuIGFkb3B0UmVm
KCpuZXcgV2ViTWV0YWxEZXB0aFN0ZW5jaWxEZXNjcmlwdG9yKTsKK30KKworYm9vbCBXZWJNZXRh
bERlcHRoU3RlbmNpbERlc2NyaXB0b3I6OmRlcHRoV3JpdGVFbmFibGVkKCkgY29uc3QKK3sKKyAg
ICByZXR1cm4gbV9kZXNjcmlwdG9yLmRlcHRoV3JpdGVFbmFibGVkKCk7Cit9CisKK3ZvaWQgV2Vi
TWV0YWxEZXB0aFN0ZW5jaWxEZXNjcmlwdG9yOjpzZXREZXB0aFdyaXRlRW5hYmxlZChib29sIG5l
d0RlcHRoV3JpdGVFbmFibGVkKQoreworICAgIG1fZGVzY3JpcHRvci5zZXREZXB0aFdyaXRlRW5h
YmxlZChuZXdEZXB0aFdyaXRlRW5hYmxlZCk7Cit9CisKK1dlYk1ldGFsQ29tcGFyZUZ1bmN0aW9u
IFdlYk1ldGFsRGVwdGhTdGVuY2lsRGVzY3JpcHRvcjo6ZGVwdGhDb21wYXJlRnVuY3Rpb24oKSBj
b25zdAoreworICAgIHJldHVybiBtX2RlcHRoQ29tcGFyZUZ1bmN0aW9uOworfQorCit2b2lkIFdl
Yk1ldGFsRGVwdGhTdGVuY2lsRGVzY3JpcHRvcjo6c2V0RGVwdGhDb21wYXJlRnVuY3Rpb24oQ29t
cGFyZUZ1bmN0aW9uIG5ld0RlcHRoQ29tcGFyZUZ1bmN0aW9uKQoreworICAgIG1fZGVwdGhDb21w
YXJlRnVuY3Rpb24gPSBuZXdEZXB0aENvbXBhcmVGdW5jdGlvbjsKKyAgICBtX2Rlc2NyaXB0b3Iu
c2V0RGVwdGhDb21wYXJlRnVuY3Rpb24odG9HUFVDb21wYXJlRnVuY3Rpb24obV9kZXB0aENvbXBh
cmVGdW5jdGlvbikpOworfQorCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKKyNlbmRpZgpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViTWV0YWxEZXB0aFN0ZW5jaWxE
ZXNjcmlwdG9yLmggYi9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJNZXRhbERlcHRoU3Rl
bmNpbERlc2NyaXB0b3IuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5hM2I3OTUwYjUyZTg4M2Y5YmE1ZjM3ZjE5ZGEy
MDc1M2NiMjUwZDkzCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52
YXMvV2ViTWV0YWxEZXB0aFN0ZW5jaWxEZXNjcmlwdG9yLmgKQEAgLTAsMCArMSw2NCBAQAorLyoK
KyAqIENvcHlyaWdodCAoQykgMjAxNyBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisg
KgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywg
d2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQg
dGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3Ry
aWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAor
ICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBk
aXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVw
cm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNv
bmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3Vt
ZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmli
dXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIGBg
QVMgSVMnJyBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVE
SU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQorICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1F
UkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFS
RSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUgorICogQ09OVFJJ
QlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQ
RUNJQUwsCisgKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5H
LCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RT
IE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKKyAqIFBST0ZJVFM7IE9SIEJVU0lO
RVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKKyAqIE9G
IExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9S
VAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkg
V0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQg
T0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNwcmFnbWEgb25jZQor
CisjaWYgRU5BQkxFKFdFQk1FVEFMKQorCisjaW5jbHVkZSAiR1BVRGVwdGhTdGVuY2lsRGVzY3Jp
cHRvci5oIgorI2luY2x1ZGUgIldlYk1ldGFsRW51bXMuaCIKKyNpbmNsdWRlIDx3dGYvUmVmLmg+
CisjaW5jbHVkZSA8d3RmL1JlZkNvdW50ZWQuaD4KKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitj
bGFzcyBXZWJNZXRhbERlcHRoU3RlbmNpbERlc2NyaXB0b3IgOiBwdWJsaWMgUmVmQ291bnRlZDxX
ZWJNZXRhbERlcHRoU3RlbmNpbERlc2NyaXB0b3I+IHsKK3B1YmxpYzoKKyAgICBzdGF0aWMgUmVm
PFdlYk1ldGFsRGVwdGhTdGVuY2lsRGVzY3JpcHRvcj4gY3JlYXRlKCk7CisKKyAgICBib29sIGRl
cHRoV3JpdGVFbmFibGVkKCkgY29uc3Q7CisgICAgdm9pZCBzZXREZXB0aFdyaXRlRW5hYmxlZChi
b29sKTsKKworICAgIHVzaW5nIENvbXBhcmVGdW5jdGlvbiA9IFdlYk1ldGFsQ29tcGFyZUZ1bmN0
aW9uOworICAgIENvbXBhcmVGdW5jdGlvbiBkZXB0aENvbXBhcmVGdW5jdGlvbigpIGNvbnN0Owor
ICAgIHZvaWQgc2V0RGVwdGhDb21wYXJlRnVuY3Rpb24oQ29tcGFyZUZ1bmN0aW9uKTsKKworICAg
IEdQVURlcHRoU3RlbmNpbERlc2NyaXB0b3ImIGRlc2NyaXB0b3IoKSB7IHJldHVybiBtX2Rlc2Ny
aXB0b3I7IH0KKworcHJpdmF0ZToKKyAgICBXZWJNZXRhbERlcHRoU3RlbmNpbERlc2NyaXB0b3Io
KSA9IGRlZmF1bHQ7CisKKyAgICAvLyBGSVhNRTogVGhlIGRlZmF1bHQgdmFsdWUgb2YgIkFsd2F5
cyIgaXMgZGVmaW5lZCBib3RoIGhlcmUgYW5kIGluIHRoZQorICAgIC8vIEdQVURlcHRoU3RlbmNp
bERlc2NyaXB0b3IgY2xhc3MncyBpbXBsZW1lbnRhdGlvbi4gTWlnaHQgYmUgYmV0dGVyIHRvIG5v
dAorICAgIC8vIHN0b3JlIHRoZSBjb21wYXJlIGZ1bmN0aW9uIHNlcGFyYXRlbHkgaGVyZSwgdHJh
bnNsYXRlIGl0IGluc3RlYWQsIGFuZCB0aGVuCisgICAgLy8gdGhlcmUgd291bGQgYmUgbm8gbmVl
ZCBmb3IgYSBkZWZhdWx0IHZhbHVlIGhlcmUuCisKKyAgICBXZWJNZXRhbENvbXBhcmVGdW5jdGlv
biBtX2RlcHRoQ29tcGFyZUZ1bmN0aW9uIHsgV2ViTWV0YWxDb21wYXJlRnVuY3Rpb246OkFsd2F5
cyB9OworICAgIEdQVURlcHRoU3RlbmNpbERlc2NyaXB0b3IgbV9kZXNjcmlwdG9yOworfTsKKwor
fSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorCisjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2h0bWwvY2FudmFzL1dlYk1ldGFsRGVwdGhTdGVuY2lsRGVzY3JpcHRvci5pZGwgYi9Tb3Vy
Y2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJNZXRhbERlcHRoU3RlbmNpbERlc2NyaXB0b3IuaWRs
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjA5YWQ5NDVhZTg4MDg0MTIzYmE5NTMyMjc3MmE1NzVlZTRiOGQ5YzUKLS0t
IC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJNZXRhbERlcHRo
U3RlbmNpbERlc2NyaXB0b3IuaWRsCkBAIC0wLDAgKzEsNTAgQEAKKy8qCisgKiBDb3B5cmlnaHQg
KEMpIDIwMTcgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJp
YnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91
dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxv
d2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNv
dXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwg
dGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAq
IDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJv
dmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9v
ciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAq
IFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBgYEFTIElTJycgQU5EIEFO
WQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBM
SU1JVEVEIFRPLCBUSEUKKyAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkg
QU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4g
IElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IKKyAqIENPTlRSSUJVVE9SUyBCRSBMSUFC
TEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAorICogRVhF
TVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1J
VEVEIFRPLAorICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsg
TE9TUyBPRiBVU0UsIERBVEEsIE9SCisgKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJ
T04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCisgKiBPRiBMSUFCSUxJVFksIFdI
RVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJ
TkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhF
IFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJ
TElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCitbCisgICAgQ29uZGl0aW9uYWw9V0VCTUVUQUws
CisgICAgRW5hYmxlZEF0UnVudGltZT1XZWJNZXRhbAorXSBlbnVtIFdlYk1ldGFsQ29tcGFyZUZ1
bmN0aW9uIHsKKyAgICAibmV2ZXIiLAorICAgICJsZXNzIiwKKyAgICAiZXF1YWwiLAorICAgICJs
ZXNzZXF1YWwiLAorICAgICJncmVhdGVyIiwKKyAgICAibm90ZXF1YWwiLAorICAgICJncmVhdGVy
ZXF1YWwiLAorICAgICJhbHdheXMiCit9OworCitbCisgICAgQ29uc3RydWN0b3IsCisgICAgQ29u
ZGl0aW9uYWw9V0VCTUVUQUwsCisgICAgRW5hYmxlZEF0UnVudGltZT1XZWJNZXRhbCwKKyAgICBJ
bXBsZW1lbnRhdGlvbkxhY2tzVlRhYmxlCitdIGludGVyZmFjZSBXZWJNZXRhbERlcHRoU3RlbmNp
bERlc2NyaXB0b3IgeworCisgICAgYXR0cmlidXRlIFdlYk1ldGFsQ29tcGFyZUZ1bmN0aW9uIGRl
cHRoQ29tcGFyZUZ1bmN0aW9uOworICAgIGF0dHJpYnV0ZSBib29sZWFuIGRlcHRoV3JpdGVFbmFi
bGVkOworCit9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViTWV0
YWxEZXB0aFN0ZW5jaWxTdGF0ZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJN
ZXRhbERlcHRoU3RlbmNpbFN0YXRlLmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42YTk0N2ViNGQ3MDdjMjNhMTc5
YTM5MzNkYjg2NzVjN2YxMmJkOTAwCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUv
aHRtbC9jYW52YXMvV2ViTWV0YWxEZXB0aFN0ZW5jaWxTdGF0ZS5jcHAKQEAgLTAsMCArMSw1OCBA
QAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxNyBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2
ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBm
b3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJv
dmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBS
ZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHly
aWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxv
d2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11
c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAg
IGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBk
aXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJ
TkMuIGBgQVMgSVMnJyBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywg
SU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQorICogSU1QTElFRCBXQVJSQU5USUVT
IE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQ
T1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUgorICog
Q09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5U
QUwsIFNQRUNJQUwsCisgKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5D
TFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRF
IEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKKyAqIFBST0ZJVFM7IE9S
IEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkK
KyAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwg
T1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJ
TiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFE
VklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpbmNsdWRl
ICJjb25maWcuaCIKKyNpbmNsdWRlICJXZWJNZXRhbERlcHRoU3RlbmNpbFN0YXRlLmgiCisKKyNp
ZiBFTkFCTEUoV0VCTUVUQUwpCisKKyNpbmNsdWRlICJXZWJNZXRhbERlcHRoU3RlbmNpbERlc2Ny
aXB0b3IuaCIKKyNpbmNsdWRlIDx3dGYvdGV4dC9XVEZTdHJpbmcuaD4KKworbmFtZXNwYWNlIFdl
YkNvcmUgeworCitSZWY8V2ViTWV0YWxEZXB0aFN0ZW5jaWxTdGF0ZT4gV2ViTWV0YWxEZXB0aFN0
ZW5jaWxTdGF0ZTo6Y3JlYXRlKEdQVURlcHRoU3RlbmNpbFN0YXRlJiYgc3RhdGUpCit7CisgICAg
cmV0dXJuIGFkb3B0UmVmKCpuZXcgV2ViTWV0YWxEZXB0aFN0ZW5jaWxTdGF0ZShXVEZNb3ZlKHN0
YXRlKSkpOworfQorCitXZWJNZXRhbERlcHRoU3RlbmNpbFN0YXRlOjpXZWJNZXRhbERlcHRoU3Rl
bmNpbFN0YXRlKEdQVURlcHRoU3RlbmNpbFN0YXRlJiYgc3RhdGUpCisgICAgOiBtX3N0YXRlIHsg
V1RGTW92ZShzdGF0ZSkgfQoreworfQorCitTdHJpbmcgV2ViTWV0YWxEZXB0aFN0ZW5jaWxTdGF0
ZTo6bGFiZWwoKSBjb25zdAoreworICAgIHJldHVybiBtX3N0YXRlLmxhYmVsKCk7Cit9CisKK3Zv
aWQgV2ViTWV0YWxEZXB0aFN0ZW5jaWxTdGF0ZTo6c2V0TGFiZWwoY29uc3QgU3RyaW5nJiBsYWJl
bCkKK3sKKyAgICBtX3N0YXRlLnNldExhYmVsKGxhYmVsKTsKK30KKworfSAvLyBuYW1lc3BhY2Ug
V2ViQ29yZQorCisjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFz
L1dlYk1ldGFsRGVwdGhTdGVuY2lsU3RhdGUuaCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFz
L1dlYk1ldGFsRGVwdGhTdGVuY2lsU3RhdGUuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mNDVjMmQ2ZDhkNWE5NzI2
YzFjOWU2MTUwMDkxZWRjZTU5ODM4Yzk3Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNv
cmUvaHRtbC9jYW52YXMvV2ViTWV0YWxEZXB0aFN0ZW5jaWxTdGF0ZS5oCkBAIC0wLDAgKzEsNTMg
QEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTcgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2Vy
dmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkg
Zm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHBy
b3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4g
UmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5
cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xs
b3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBt
dXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlz
dCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAg
ICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUg
ZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUg
SU5DLiBgYEFTIElTJycgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMs
IElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKKyAqIElNUExJRUQgV0FSUkFOVElF
UyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVS
UE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IKKyAq
IENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVO
VEFMLCBTUEVDSUFMLAorICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElO
Q0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVU
RSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCisgKiBQUk9GSVRTOyBP
UiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZ
CisgKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFks
IE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcg
SU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBB
RFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjcHJhZ21h
IG9uY2UKKworI2lmIEVOQUJMRShXRUJNRVRBTCkKKworI2luY2x1ZGUgIkdQVURlcHRoU3RlbmNp
bFN0YXRlLmgiCisjaW5jbHVkZSA8d3RmL1JlZi5oPgorI2luY2x1ZGUgPHd0Zi9SZWZDb3VudGVk
Lmg+CisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworY2xhc3MgV2ViTWV0YWxEZXB0aFN0ZW5jaWxT
dGF0ZSA6IHB1YmxpYyBSZWZDb3VudGVkPFdlYk1ldGFsRGVwdGhTdGVuY2lsU3RhdGU+IHsKK3B1
YmxpYzoKKyAgICBzdGF0aWMgUmVmPFdlYk1ldGFsRGVwdGhTdGVuY2lsU3RhdGU+IGNyZWF0ZShH
UFVEZXB0aFN0ZW5jaWxTdGF0ZSYmKTsKKworICAgIFN0cmluZyBsYWJlbCgpIGNvbnN0OworICAg
IHZvaWQgc2V0TGFiZWwoY29uc3QgU3RyaW5nJik7CisKKyAgICBHUFVEZXB0aFN0ZW5jaWxTdGF0
ZSYgc3RhdGUoKSB7IHJldHVybiBtX3N0YXRlOyB9CisKK3ByaXZhdGU6CisgICAgZXhwbGljaXQg
V2ViTWV0YWxEZXB0aFN0ZW5jaWxTdGF0ZShHUFVEZXB0aFN0ZW5jaWxTdGF0ZSYmKTsKKworICAg
IEdQVURlcHRoU3RlbmNpbFN0YXRlIG1fc3RhdGU7Cit9OworICAgIAorfSAvLyBuYW1lc3BhY2Ug
V2ViQ29yZQorCisjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFz
L1dlYk1ldGFsRGVwdGhTdGVuY2lsU3RhdGUuaWRsIGIvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52
YXMvV2ViTWV0YWxEZXB0aFN0ZW5jaWxTdGF0ZS5pZGwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMDA4MmI0MjBhNzQ5
Mjg3NmIzMGM2NmRjY2JlYzE3NzFlNzhiN2NjYwotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2h0bWwvY2FudmFzL1dlYk1ldGFsRGVwdGhTdGVuY2lsU3RhdGUuaWRsCkBAIC0wLDAg
KzEsMzQgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTcgQXBwbGUgSW5jLiBBbGwgcmlnaHRz
IHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBi
aW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0
dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0Ogor
ICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92
ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRo
ZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkg
Zm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRo
aXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhl
CisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0
aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkg
QVBQTEUgSU5DLiBgYEFTIElTJycgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJB
TlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKKyAqIElNUExJRUQgV0FS
UkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgor
ICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4g
T1IKKyAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJ
TkNJREVOVEFMLCBTUEVDSUFMLAorICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFH
RVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogUFJPQ1VSRU1FTlQgT0YgU1VC
U1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCisgKiBQUk9G
SVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkg
VEhFT1JZCisgKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFC
SUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFS
SVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZF
TiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCitb
CisgICAgQ29uZGl0aW9uYWw9V0VCTUVUQUwsCisgICAgRW5hYmxlZEF0UnVudGltZT1XZWJNZXRh
bCwKKyAgICBJbXBsZW1lbnRhdGlvbkxhY2tzVlRhYmxlCitdIGludGVyZmFjZSBXZWJNZXRhbERl
cHRoU3RlbmNpbFN0YXRlIHsKKworICAgIGF0dHJpYnV0ZSBET01TdHJpbmcgbGFiZWw7CisKK307
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJNZXRhbERyYXdhYmxl
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYk1ldGFsRHJhd2FibGUuY3BwCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjU3Zjc5MjE3ODEwMGM4YWExNzkyM2EzYmJjM2UzN2NmMGM1NDRjMDUKLS0tIC9k
ZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJNZXRhbERyYXdhYmxl
LmNwcApAQCAtMCwwICsxLDUxIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE3IEFwcGxlIElu
Yy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGlu
IHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlv
biwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwor
ICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJl
dGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25k
aXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlv
bnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICog
ICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNj
bGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxz
IHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElT
IFBST1ZJREVEIEJZIEFQUExFIElOQy4gYGBBUyBJUycnIEFORCBBTlkKKyAqIEVYUFJFU1MgT1Ig
SU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisg
KiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBB
IFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFM
TCBBUFBMRSBJTkMuIE9SCisgKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAo
SU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBDT05UUklCVVRPUlMgQkUgTElBQkxF
IEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKKyAqIFBST0NV
UkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRB
LCBPUgorICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNF
RCBBTkQgT04gQU5ZIFRIRU9SWQorICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNU
LCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1Ig
T1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMg
U09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1B
R0UuCisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorI2luY2x1ZGUgIldlYk1ldGFsRHJhd2Fi
bGUuaCIKKworI2lmIEVOQUJMRShXRUJNRVRBTCkKKworI2luY2x1ZGUgIkdQVVRleHR1cmUuaCIK
KyNpbmNsdWRlICJXZWJNZXRhbFRleHR1cmUuaCIKKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitS
ZWY8V2ViTWV0YWxEcmF3YWJsZT4gV2ViTWV0YWxEcmF3YWJsZTo6Y3JlYXRlKEdQVURyYXdhYmxl
JiYgZHJhd2FibGUpCit7CisgICAgcmV0dXJuIGFkb3B0UmVmKCpuZXcgV2ViTWV0YWxEcmF3YWJs
ZShXVEZNb3ZlKGRyYXdhYmxlKSkpOworfQorCitXZWJNZXRhbERyYXdhYmxlOjpXZWJNZXRhbERy
YXdhYmxlKEdQVURyYXdhYmxlJiYgZHJhd2FibGUpCisgICAgOiBtX2RyYXdhYmxlIHsgV1RGTW92
ZShkcmF3YWJsZSkgfQorICAgICwgbV90ZXh0dXJlIHsgV2ViTWV0YWxUZXh0dXJlOjpjcmVhdGUo
R1BVVGV4dHVyZSB7IG1fZHJhd2FibGUgfSkgfQoreworfQorCitXZWJNZXRhbERyYXdhYmxlOjp+
V2ViTWV0YWxEcmF3YWJsZSgpID0gZGVmYXVsdDsKKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQor
CisjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYk1ldGFs
RHJhd2FibGUuaCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYk1ldGFsRHJhd2FibGUu
aApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi41MzdhYjViODY3NzRhNTUzMDRkNjAwZGQ5ZDZlZjdjNzY5YWM0N2FjCi0t
LSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViTWV0YWxEcmF3
YWJsZS5oCkBAIC0wLDAgKzEsNTUgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTcgQXBwbGUg
SW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2Ug
aW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0
aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25z
CisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3Qg
cmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNv
bmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0
aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Cisg
KiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRp
c2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlh
bHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUg
SVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBgYEFTIElTJycgQU5EIEFOWQorICogRVhQUkVTUyBP
UiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUK
KyAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9S
IEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNI
QUxMIEFQUExFIElOQy4gT1IKKyAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJF
Q1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAorICogRVhFTVBMQVJZLCBPUiBDT05T
RVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogUFJP
Q1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERB
VEEsIE9SCisgKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FV
U0VEIEFORCBPTiBBTlkgVEhFT1JZCisgKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJB
Q1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBP
UiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJ
UyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERB
TUFHRS4KKyAqLworCisjcHJhZ21hIG9uY2UKKworI2lmIEVOQUJMRShXRUJNRVRBTCkKKworI2lu
Y2x1ZGUgIkdQVURyYXdhYmxlLmgiCisjaW5jbHVkZSA8d3RmL1JlZi5oPgorI2luY2x1ZGUgPHd0
Zi9SZWZDb3VudGVkLmg+CisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworY2xhc3MgV2ViTWV0YWxU
ZXh0dXJlOworCitjbGFzcyBXZWJNZXRhbERyYXdhYmxlIDogcHVibGljIFJlZkNvdW50ZWQ8V2Vi
TWV0YWxEcmF3YWJsZT4geworcHVibGljOgorICAgIH5XZWJNZXRhbERyYXdhYmxlKCk7CisgICAg
c3RhdGljIFJlZjxXZWJNZXRhbERyYXdhYmxlPiBjcmVhdGUoR1BVRHJhd2FibGUmJik7CisKKyAg
ICBHUFVEcmF3YWJsZSYgZHJhd2FibGUoKSB7IHJldHVybiBtX2RyYXdhYmxlOyB9CisgICAgV2Vi
TWV0YWxUZXh0dXJlJiB0ZXh0dXJlKCkgeyByZXR1cm4gbV90ZXh0dXJlLmdldCgpOyB9CisKK3By
aXZhdGU6CisgICAgZXhwbGljaXQgV2ViTWV0YWxEcmF3YWJsZShHUFVEcmF3YWJsZSYmKTsKKwor
ICAgIEdQVURyYXdhYmxlIG1fZHJhd2FibGU7CisgICAgUmVmPFdlYk1ldGFsVGV4dHVyZT4gbV90
ZXh0dXJlOworfTsKKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorCisjZW5kaWYKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYk1ldGFsRHJhd2FibGUuaWRsIGIvU291
cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViTWV0YWxEcmF3YWJsZS5pZGwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
YTc2ZDY5MWUyZDc4NjBkY2Y0ZjhlOTk1NWNjMjRkNmYyYmU3ZTk5MgotLS0gL2Rldi9udWxsCisr
KyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYk1ldGFsRHJhd2FibGUuaWRsCkBAIC0w
LDAgKzEsMzQgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTcgQXBwbGUgSW5jLiBBbGwgcmln
aHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFu
ZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVy
bWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0
OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBh
Ym92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5k
IHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5h
cnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2Us
IHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4g
dGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQg
d2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQg
QlkgQVBQTEUgSU5DLiBgYEFTIElTJycgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdB
UlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKKyAqIElNUExJRUQg
V0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxB
UgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElO
Qy4gT1IKKyAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNU
LCBJTkNJREVOVEFMLCBTUEVDSUFMLAorICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERB
TUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogUFJPQ1VSRU1FTlQgT0Yg
U1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCisgKiBQ
Uk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBB
TlkgVEhFT1JZCisgKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBM
SUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0Up
IEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwg
RVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLwor
CitbCisgICAgQ29uZGl0aW9uYWw9V0VCTUVUQUwsCisgICAgRW5hYmxlZEF0UnVudGltZT1XZWJN
ZXRhbCwKKyAgICBJbXBsZW1lbnRhdGlvbkxhY2tzVlRhYmxlCitdIGludGVyZmFjZSBXZWJNZXRh
bERyYXdhYmxlIHsKKworICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBXZWJNZXRhbFRleHR1cmUgdGV4
dHVyZTsgLy8gRklYTUU6IE9ubHkgdGhlIGZyYW1lYnVmZmVyIHNob3VsZCBoYXZlIHRoaXMuCisK
K307CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJNZXRhbEVudW1z
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYk1ldGFsRW51bXMuY3BwCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjZhZDBhNDZlYzI3MmQzNWQ5NTM5MTA4MjMyYmM3ZTA4YmY3MjhlOTIKLS0tIC9kZXYv
bnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJNZXRhbEVudW1zLmNwcApA
QCAtMCwwICsxLDEwNyBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxNyBBcHBsZSBJbmMuIEFs
bCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3Vy
Y2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFy
ZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFy
ZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4g
dGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9u
cyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGlu
IGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5v
dGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1l
ciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92
aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9W
SURFRCBCWSBBUFBMRSBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJ
RUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQorICogSU1Q
TElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJU
SUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQ
TEUgSU5DLiBPUgorICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5E
SVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCisgKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJ
QUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBQUk9DVVJFTUVO
VCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IK
KyAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5E
IE9OIEFOWSBUSEVPUlkKKyAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RS
SUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVS
V0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRX
QVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgor
ICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJXZWJNZXRhbEVudW1zLmgiCisK
KyNpZiBFTkFCTEUoV0VCTUVUQUwpCisKKyNpbmNsdWRlICJHUFVFbnVtcy5oIgorI2luY2x1ZGUg
PHd0Zi90ZXh0L1dURlN0cmluZy5oPgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK3N0ZDo6b3B0
aW9uYWw8V2ViTWV0YWxDb21wYXJlRnVuY3Rpb24+IHRvV2ViTWV0YWxDb21wYXJlRnVuY3Rpb24o
Y29uc3QgU3RyaW5nJiBuYW1lKQoreworICAgIGlmIChlcXVhbExldHRlcnNJZ25vcmluZ0FTQ0lJ
Q2FzZShuYW1lLCAibmV2ZXIiKSkKKyAgICAgICAgcmV0dXJuIFdlYk1ldGFsQ29tcGFyZUZ1bmN0
aW9uOjpOZXZlcjsKKyAgICBpZiAoZXF1YWxMZXR0ZXJzSWdub3JpbmdBU0NJSUNhc2UobmFtZSwg
Imxlc3MiKSkKKyAgICAgICAgcmV0dXJuIFdlYk1ldGFsQ29tcGFyZUZ1bmN0aW9uOjpMZXNzOwor
ICAgIGlmIChlcXVhbExldHRlcnNJZ25vcmluZ0FTQ0lJQ2FzZShuYW1lLCAiZXF1YWwiKSkKKyAg
ICAgICAgcmV0dXJuIFdlYk1ldGFsQ29tcGFyZUZ1bmN0aW9uOjpFcXVhbDsKKyAgICBpZiAoZXF1
YWxMZXR0ZXJzSWdub3JpbmdBU0NJSUNhc2UobmFtZSwgImxlc3NlcXVhbCIpKQorICAgICAgICBy
ZXR1cm4gV2ViTWV0YWxDb21wYXJlRnVuY3Rpb246Okxlc3NlcXVhbDsKKyAgICBpZiAoZXF1YWxM
ZXR0ZXJzSWdub3JpbmdBU0NJSUNhc2UobmFtZSwgImdyZWF0ZXIiKSkKKyAgICAgICAgcmV0dXJu
IFdlYk1ldGFsQ29tcGFyZUZ1bmN0aW9uOjpHcmVhdGVyOworICAgIGlmIChlcXVhbExldHRlcnNJ
Z25vcmluZ0FTQ0lJQ2FzZShuYW1lLCAibm90ZXF1YWwiKSkKKyAgICAgICAgcmV0dXJuIFdlYk1l
dGFsQ29tcGFyZUZ1bmN0aW9uOjpOb3RlcXVhbDsKKyAgICBpZiAoZXF1YWxMZXR0ZXJzSWdub3Jp
bmdBU0NJSUNhc2UobmFtZSwgImdyZWF0ZXJlcXVhbCIpKQorICAgICAgICByZXR1cm4gV2ViTWV0
YWxDb21wYXJlRnVuY3Rpb246OkdyZWF0ZXJlcXVhbDsKKyAgICBpZiAoZXF1YWxMZXR0ZXJzSWdu
b3JpbmdBU0NJSUNhc2UobmFtZSwgImFsd2F5cyIpKQorICAgICAgICByZXR1cm4gV2ViTWV0YWxD
b21wYXJlRnVuY3Rpb246OkFsd2F5czsKKworICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOworICAg
IHJldHVybiBzdGQ6Om51bGxvcHQ7Cit9CisKK1N0cmluZyB3ZWIzRENvbXBhcmVGdW5jdGlvbk5h
bWUoV2ViTWV0YWxDb21wYXJlRnVuY3Rpb24gdmFsdWUpCit7CisgICAgaWYgKHZhbHVlID09IFdl
Yk1ldGFsQ29tcGFyZUZ1bmN0aW9uOjpOZXZlcikKKyAgICAgICAgcmV0dXJuICJuZXZlciJfczsK
KyAgICBpZiAodmFsdWUgPT0gV2ViTWV0YWxDb21wYXJlRnVuY3Rpb246Okxlc3MpCisgICAgICAg
IHJldHVybiAibGVzcyJfczsKKyAgICBpZiAodmFsdWUgPT0gV2ViTWV0YWxDb21wYXJlRnVuY3Rp
b246OkVxdWFsKQorICAgICAgICByZXR1cm4gImVxdWFsIl9zOworICAgIGlmICh2YWx1ZSA9PSBX
ZWJNZXRhbENvbXBhcmVGdW5jdGlvbjo6TGVzc2VxdWFsKQorICAgICAgICByZXR1cm4gImxlc3Nl
cXVhbCJfczsKKyAgICBpZiAodmFsdWUgPT0gV2ViTWV0YWxDb21wYXJlRnVuY3Rpb246OkdyZWF0
ZXIpCisgICAgICAgIHJldHVybiAiZ3JlYXRlciJfczsKKyAgICBpZiAodmFsdWUgPT0gV2ViTWV0
YWxDb21wYXJlRnVuY3Rpb246Ok5vdGVxdWFsKQorICAgICAgICByZXR1cm4gIm5vdGVxdWFsIl9z
OworICAgIGlmICh2YWx1ZSA9PSBXZWJNZXRhbENvbXBhcmVGdW5jdGlvbjo6R3JlYXRlcmVxdWFs
KQorICAgICAgICByZXR1cm4gImdyZWF0ZXJlcXVhbCJfczsKKyAgICBpZiAodmFsdWUgPT0gV2Vi
TWV0YWxDb21wYXJlRnVuY3Rpb246OkFsd2F5cykKKyAgICAgICAgcmV0dXJuICJhbHdheXMiX3M7
CisgICAgCisgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CisgICAgcmV0dXJuIGVtcHR5U3RyaW5n
KCk7Cit9CisKK0dQVUNvbXBhcmVGdW5jdGlvbiB0b0dQVUNvbXBhcmVGdW5jdGlvbihjb25zdCBX
ZWJNZXRhbENvbXBhcmVGdW5jdGlvbiB2YWx1ZSkKK3sKKyAgICBpZiAodmFsdWUgPT0gV2ViTWV0
YWxDb21wYXJlRnVuY3Rpb246Ok5ldmVyKQorICAgICAgICByZXR1cm4gR1BVQ29tcGFyZUZ1bmN0
aW9uOjpOZXZlcjsKKyAgICBpZiAodmFsdWUgPT0gV2ViTWV0YWxDb21wYXJlRnVuY3Rpb246Okxl
c3MpCisgICAgICAgIHJldHVybiBHUFVDb21wYXJlRnVuY3Rpb246Okxlc3M7CisgICAgaWYgKHZh
bHVlID09IFdlYk1ldGFsQ29tcGFyZUZ1bmN0aW9uOjpFcXVhbCkKKyAgICAgICAgcmV0dXJuIEdQ
VUNvbXBhcmVGdW5jdGlvbjo6RXF1YWw7CisgICAgaWYgKHZhbHVlID09IFdlYk1ldGFsQ29tcGFy
ZUZ1bmN0aW9uOjpMZXNzZXF1YWwpCisgICAgICAgIHJldHVybiBHUFVDb21wYXJlRnVuY3Rpb246
Okxlc3NFcXVhbDsKKyAgICBpZiAodmFsdWUgPT0gV2ViTWV0YWxDb21wYXJlRnVuY3Rpb246Okdy
ZWF0ZXIpCisgICAgICAgIHJldHVybiBHUFVDb21wYXJlRnVuY3Rpb246OkdyZWF0ZXI7CisgICAg
aWYgKHZhbHVlID09IFdlYk1ldGFsQ29tcGFyZUZ1bmN0aW9uOjpOb3RlcXVhbCkKKyAgICAgICAg
cmV0dXJuIEdQVUNvbXBhcmVGdW5jdGlvbjo6Tm90RXF1YWw7CisgICAgaWYgKHZhbHVlID09IFdl
Yk1ldGFsQ29tcGFyZUZ1bmN0aW9uOjpHcmVhdGVyZXF1YWwpCisgICAgICAgIHJldHVybiBHUFVD
b21wYXJlRnVuY3Rpb246OkdyZWF0ZXJFcXVhbDsKKyAgICBpZiAodmFsdWUgPT0gV2ViTWV0YWxD
b21wYXJlRnVuY3Rpb246OkFsd2F5cykKKyAgICAgICAgcmV0dXJuIEdQVUNvbXBhcmVGdW5jdGlv
bjo6QWx3YXlzOworICAgIAorICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOworICAgIHJldHVybiBH
UFVDb21wYXJlRnVuY3Rpb246Ok5ldmVyOworfQorCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisK
KyNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViTWV0YWxF
bnVtcy5oIGIvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViTWV0YWxFbnVtcy5oCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjI4MmM1MDYzYWZjMTc5MDNkYWQ4ZjRkNDQ5ZDNhYjdjM2U0NjU5MGQKLS0tIC9kZXYv
bnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJNZXRhbEVudW1zLmgKQEAg
LTAsMCArMSw1NCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxNyBBcHBsZSBJbmMuIEFsbCBy
aWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2Ug
YW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBw
ZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBt
ZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhl
IGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJp
bmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGlj
ZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBp
biB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRl
ZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURF
RCBCWSBBUFBMRSBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQg
V0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQorICogSU1QTElF
RCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNV
TEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUg
SU5DLiBPUgorICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJF
Q1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCisgKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwg
REFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBQUk9DVVJFTUVOVCBP
RiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKKyAq
IFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9O
IEFOWSBUSEVPUlkKKyAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNU
IExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lT
RSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJF
LCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICov
CisKKyNwcmFnbWEgb25jZQorCisjaWYgRU5BQkxFKFdFQk1FVEFMKQorCisjaW5jbHVkZSA8d3Rm
L0ZvcndhcmQuaD4KKyNpbmNsdWRlIDx3dGYvT3B0aW9uYWwuaD4KKworbmFtZXNwYWNlIFdlYkNv
cmUgeworCitlbnVtIGNsYXNzIEdQVUNvbXBhcmVGdW5jdGlvbjsKKworZW51bSBjbGFzcyBXZWJN
ZXRhbENvbXBhcmVGdW5jdGlvbiB7CisgICAgTmV2ZXIsCisgICAgTGVzcywKKyAgICBFcXVhbCwK
KyAgICBMZXNzZXF1YWwsCisgICAgR3JlYXRlciwKKyAgICBOb3RlcXVhbCwKKyAgICBHcmVhdGVy
ZXF1YWwsCisgICAgQWx3YXlzCit9OworCitzdGQ6Om9wdGlvbmFsPFdlYk1ldGFsQ29tcGFyZUZ1
bmN0aW9uPiB0b1dlYk1ldGFsQ29tcGFyZUZ1bmN0aW9uKGNvbnN0IFN0cmluZyYpOworU3RyaW5n
IHdlYjNEQ29tcGFyZUZ1bmN0aW9uTmFtZShXZWJNZXRhbENvbXBhcmVGdW5jdGlvbik7CitHUFVD
b21wYXJlRnVuY3Rpb24gdG9HUFVDb21wYXJlRnVuY3Rpb24oV2ViTWV0YWxDb21wYXJlRnVuY3Rp
b24pOworCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKKyNlbmRpZgpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViTWV0YWxFbnVtcy5pZGwgYi9Tb3VyY2UvV2ViQ29y
ZS9odG1sL2NhbnZhcy9XZWJNZXRhbEVudW1zLmlkbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41NWVhNDUxOTU4N2Y2
YzliZmViODE2ZTA1ZWM5ZDlmNTY4ZjMxOGFmCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dl
YkNvcmUvaHRtbC9jYW52YXMvV2ViTWV0YWxFbnVtcy5pZGwKQEAgLTAsMCArMSwyNzQgQEAKKy8q
CisgKiBDb3B5cmlnaHQgKEMpIDIwMTcgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgor
ICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMs
IHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVk
IHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0
cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQK
KyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcg
ZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJl
cHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBj
b25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1
bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJp
YnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBg
YEFTIElTJycgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xV
RElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKKyAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBN
RVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBB
UkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IKKyAqIENPTlRS
SUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBT
UEVDSUFMLAorICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElO
RywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09E
UyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCisgKiBQUk9GSVRTOyBPUiBCVVNJ
TkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCisgKiBP
RiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRP
UlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5Z
IFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VE
IE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCitbCisgICAgQ29uZGl0
aW9uYWw9V0VCTUVUQUwsCisgICAgRW5hYmxlZEF0UnVudGltZT1XZWJNZXRhbAorXSBlbnVtIFdl
Yk1ldGFsUGl4ZWxGb3JtYXQgeworICAgICJCR1JBOFVub3JtIgorfTsKKworWworICAgIENvbmRp
dGlvbmFsPVdFQk1FVEFMLAorICAgIEVuYWJsZWRBdFJ1bnRpbWU9V2ViTWV0YWwKK10gZW51bSBX
ZWJNZXRhbExvYWRBY3Rpb24geworICAgICJkb250Y2FyZSIsCisgICAgImxvYWQiLAorICAgICJj
bGVhciIKK307CisKK1sKKyAgICBDb25kaXRpb25hbD1XRUJNRVRBTCwKKyAgICBFbmFibGVkQXRS
dW50aW1lPVdlYk1ldGFsCitdIGVudW0gV2ViTWV0YWxTdG9yZUFjdGlvbiB7CisgICAgImRvbnRj
YXJlIiwKKyAgICAic3RvcmUiLAorICAgICJtdWx0aXNhbXBsZXJlc29sdmUiCit9OworCitbCisg
ICAgQ29uZGl0aW9uYWw9V0VCTUVUQUwsCisgICAgRW5hYmxlZEF0UnVudGltZT1XZWJNZXRhbAor
XSBlbnVtIFdlYk1ldGFsUHJpbWl0aXZlVHlwZSB7CisgICAgInBvaW50IiwKKyAgICAibGluZSIs
CisgICAgImxpbmVzdHJpcCIsCisgICAgInRyaWFuZ2xlIiwKKyAgICAidHJpYW5nbGVzdHJpcCIK
K307CisKK1sKKyAgICBDb25kaXRpb25hbD1XRUJNRVRBTCwKKyAgICBFbmFibGVkQXRSdW50aW1l
PVdlYk1ldGFsCitdIGVudW0gV2ViTWV0YWxGdW5jdGlvblR5cGUgeworICAgICJmcmFnbWVudCIs
CisgICAgInZlcnRleCIKK307CisKK1sKKyAgICBDb25kaXRpb25hbD1XRUJNRVRBTCwKKyAgICBF
bmFibGVkQXRSdW50aW1lPVdlYk1ldGFsCitdIGVudW0gV2ViTWV0YWxTdGVuY2lsT3BlcmF0aW9u
IHsKKyAgICAia2VlcCIsCisgICAgInplcm8iLAorICAgICJyZXBsYWNlIiwKKyAgICAiaW5jcmVt
ZW50Y2xhbXAiLAorICAgICJkZWNyZW1lbnRjbGFtcCIsCisgICAgImludmVydCIsCisgICAgImlu
Y3JlbWVudHdyYXAiLAorICAgICJkZWNyZW1lbnR3cmFwIgorfTsKKworWworICAgIENvbmRpdGlv
bmFsPVdFQk1FVEFMLAorICAgIEVuYWJsZWRBdFJ1bnRpbWU9V2ViTWV0YWwKK10gZW51bSBXZWJN
ZXRhbFN0YXR1cyB7CisgICAgIm5vdGVucXVldWVkIiwKKyAgICAiZW5xdWV1ZWQiLAorICAgICJj
b21taXR0ZWQiLAorICAgICJzY2hlZHVsZWQiLAorICAgICJjb21wbGV0ZWQiLAorICAgICJlcnJv
ciIKK307CisKK1sKKyAgICBDb25kaXRpb25hbD1XRUJNRVRBTCwKKyAgICBFbmFibGVkQXRSdW50
aW1lPVdlYk1ldGFsCitdIGVudW0gV2ViTWV0YWxTYW1wbGVyQWRkcmVzc01vZGUgeworICAgICJj
bGFtcHRvZWRnZSIsCisgICAgIm1pcnJvcmNsYW1wdG9lZGdlIiwKKyAgICAicmVwZWF0IiwKKyAg
ICAibWlycm9ycmVwZWF0IiwKKyAgICAiY2xhbXB0b3plcm8iCit9OworCitbCisgICAgQ29uZGl0
aW9uYWw9V0VCTUVUQUwsCisgICAgRW5hYmxlZEF0UnVudGltZT1XZWJNZXRhbAorXSBlbnVtIFdl
Yk1ldGFsU2FtcGxlck1pbk1hZ0ZpbHRlciB7CisgICAgIm5lYXJlc3QiLAorICAgICJsaW5lYXIi
Cit9OworCitbCisgICAgQ29uZGl0aW9uYWw9V0VCTUVUQUwsCisgICAgRW5hYmxlZEF0UnVudGlt
ZT1XZWJNZXRhbAorXSBlbnVtIFdlYk1ldGFsU2FtcGxlck1pcEZpbHRlciB7CisgICAgIm5vdG1p
cG1hcHBlZCIsCisgICAgIm5lYXJlc3QiLAorICAgICJsaW5lYXIiCit9OworCitbCisgICAgQ29u
ZGl0aW9uYWw9V0VCTUVUQUwsCisgICAgRW5hYmxlZEF0UnVudGltZT1XZWJNZXRhbAorXSBlbnVt
IFdlYk1ldGFsQ3VsbE1vZGUgeworICAgICJub25lIiwKKyAgICAiZnJvbnQiLAorICAgICJiYWNr
IgorfTsKKworWworICAgIENvbmRpdGlvbmFsPVdFQk1FVEFMLAorICAgIEVuYWJsZWRBdFJ1bnRp
bWU9V2ViTWV0YWwKK10gZW51bSBXZWJNZXRhbEluZGV4VHlwZSB7CisgICAgInVpbnQxNiIsCisg
ICAgInVpbnQzMiIKK307CisKK1sKKyAgICBDb25kaXRpb25hbD1XRUJNRVRBTCwKKyAgICBFbmFi
bGVkQXRSdW50aW1lPVdlYk1ldGFsCitdIGVudW0gV2ViTWV0YWxWaXNpYmlsaXR5UmVzdWx0TW9k
ZSB7CisgICAgImRpc2FibGVkIiwKKyAgICAiYm9vbGVhbiIsCisgICAgImNvdW50aW5nIgorfTsK
KworWworICAgIENvbmRpdGlvbmFsPVdFQk1FVEFMLAorICAgIEVuYWJsZWRBdFJ1bnRpbWU9V2Vi
TWV0YWwKK10gZW51bSBXZWJNZXRhbFdpbmRpbmcgeworICAgICJjbG9ja3dpc2UiLAorICAgICJj
b3VudGVyY2xvY2t3aXNlIgorfTsKKworWworICAgIENvbmRpdGlvbmFsPVdFQk1FVEFMLAorICAg
IEVuYWJsZWRBdFJ1bnRpbWU9V2ViTWV0YWwKK10gZW51bSBXZWJNZXRhbERlcHRoQ2xpcE1vZGUg
eworICAgICJjbGlwIiwKKyAgICAiY2xhbXAiCit9OworCitbCisgICAgQ29uZGl0aW9uYWw9V0VC
TUVUQUwsCisgICAgRW5hYmxlZEF0UnVudGltZT1XZWJNZXRhbAorXSBlbnVtIFdlYk1ldGFsVHJp
YW5nbGVGaWxsTW9kZSB7CisgICAgImZpbGwiLAorICAgICJsaW5lcyIKK307CisKK1sKKyAgICBD
b25kaXRpb25hbD1XRUJNRVRBTCwKKyAgICBFbmFibGVkQXRSdW50aW1lPVdlYk1ldGFsCitdIGVu
dW0gV2ViTWV0YWxDUFVDYWNoZU1vZGUgeworICAgICJkZWZhdWx0Y2FjaGUiLAorICAgICJ3cml0
ZWNvbWJpbmVkIgorfTsKKworWworICAgIENvbmRpdGlvbmFsPVdFQk1FVEFMLAorICAgIEVuYWJs
ZWRBdFJ1bnRpbWU9V2ViTWV0YWwKK10gZW51bSBXZWJNZXRhbFN0b3JhZ2VNb2RlIHsKKyAgICAi
c2hhcmVkIiwKKyAgICAibWFuYWdlZCIsCisgICAgInByaXZhdGUiCit9OworCitbCisgICAgQ29u
ZGl0aW9uYWw9V0VCTUVUQUwsCisgICAgRW5hYmxlZEF0UnVudGltZT1XZWJNZXRhbAorXSBlbnVt
IFdlYk1ldGFsUmVzb3VyY2VPcHRpb25zIHsKKyAgICAiY3B1Y2FjaGVtb2RlZGVmYXVsdGNhY2hl
IiwKKyAgICAiY3B1Y2FjaGVtb2Rld3JpdGVjb21iaW5lZCIsCisgICAgInN0b3JhZ2Vtb2Rlc2hh
cmVkIiwKKyAgICAic3RvcmFnZW1vZGVtYW5hZ2VkIiwKKyAgICAic3RvcmFnZW1vZGVwcml2YXRl
IiwKKyAgICAib3B0aW9uY3B1Y2FjaGVtb2RlZGVmYXVsdGNhY2hlIiwKKyAgICAib3B0aW9uY3B1
Y2FjaGVtb2Rld3JpdGVjb21iaW5lZCIKK307CisKK1sKKyAgICBDb25kaXRpb25hbD1XRUJNRVRB
TCwKKyAgICBFbmFibGVkQXRSdW50aW1lPVdlYk1ldGFsCitdIGVudW0gV2ViTWV0YWxUZXh0dXJl
VXNhZ2UgeworICAgICJ1bmtub3duIiwKKyAgICAic2hhZGVycmVhZCIsCisgICAgInNoYWRlcndy
aXRlIiwKKyAgICAicmVuZGVydGFyZ2V0IiwKKyAgICAicGl4ZWxmb3JtYXR2aWV3IgorfTsKKwor
WworICAgIENvbmRpdGlvbmFsPVdFQk1FVEFMLAorICAgIEVuYWJsZWRBdFJ1bnRpbWU9V2ViTWV0
YWwKK10gZW51bSBXZWJNZXRhbEJsZW5kT3BlcmF0aW9uIHsKKyAgICAiYWRkIiwKKyAgICAic3Vi
dHJhY3QiLAorICAgICJyZXZlcnNlc3VidHJhY3QiLAorICAgICJtaW4iLAorICAgICJtYXgiCit9
OworCitbCisgICAgQ29uZGl0aW9uYWw9V0VCTUVUQUwsCisgICAgRW5hYmxlZEF0UnVudGltZT1X
ZWJNZXRhbAorXSBlbnVtIFdlYk1ldGFsQmxlbmRGYWN0b3IgeworICAgICJ6ZXJvIiwKKyAgICAi
b25lIiwKKyAgICAic291cmNlY29sb3IiLAorICAgICJvbmVtaW51c3NvdXJjZWNvbG9yIiwKKyAg
ICAic291cmNlYWxwaGEiLAorICAgICJvbmVtaW51c3NvdXJjZWFscGhhIiwKKyAgICAiZGVzdGlu
YXRpb25jb2xvciIsCisgICAgIm9uZW1pbnVzZGVzdGluYXRpb25jb2xvciIsCisgICAgImRlc3Rp
bmF0aW9uYWxwaGEiLAorICAgICJvbmVtaW51c2Rlc3RpbmF0aW9uYWxwaGEiLAorICAgICJzb3Vy
Y2VhbHBoYXNhdHVyYXRlZCIsCisgICAgImJsZW5kY29sb3IiLAorICAgICJvbmVtaW51c2JsZW5k
Y29sb3IiLAorICAgICJibGVuZGFscGhhIiwKKyAgICAib25lbWludXNibGVuZGFscGhhIgorfTsK
KworWworICAgIENvbmRpdGlvbmFsPVdFQk1FVEFMLAorICAgIEVuYWJsZWRBdFJ1bnRpbWU9V2Vi
TWV0YWwKK10gZW51bSBXZWJNZXRhbENvbG9yV3JpdGVNYXNrIHsKKyAgICAibm9uZSIsCisgICAg
InJlZCIsCisgICAgImdyZWVuIiwKKyAgICAiYmx1ZSIsCisgICAgImFscGhhIiwKKyAgICAiYWxs
IgorfTsKKworWworICAgIENvbmRpdGlvbmFsPVdFQk1FVEFMLAorICAgIEVuYWJsZWRBdFJ1bnRp
bWU9V2ViTWV0YWwKK10gZW51bSBXZWJNZXRhbE11bHRpc2FtcGxlRGVwdGhSZXNvbHZlRmlsdGVy
IHsKKyAgICAic2FtcGxlMCIsCisgICAgIm1pbiIsCisgICAgIm1heCIKK307CisKK1sKKyAgICBD
b25kaXRpb25hbD1XRUJNRVRBTCwKKyAgICBFbmFibGVkQXRSdW50aW1lPVdlYk1ldGFsCitdIGVu
dW0gV2ViTWV0YWxGZWF0dXJlU2V0IHsKKyAgICAibGV2ZWwxIiwKKyAgICAibGV2ZWwyIgorfTsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYk1ldGFsRnVuY3Rpb24u
Y3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViTWV0YWxGdW5jdGlvbi5jcHAKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uNDdiZDNhZGQwZTc2ZTg2ODllMWQ2YTc3MzdlYjQwZTdiNjhiNjg1NAotLS0gL2Rl
di9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYk1ldGFsRnVuY3Rpb24u
Y3BwCkBAIC0wLDAgKzEsNDcgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTcgQXBwbGUgSW5j
LiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4g
c291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9u
LCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisg
KiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0
YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRp
dGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9u
cyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAg
ICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2Ns
YWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMg
cHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMg
UFJPVklERUQgQlkgQVBQTEUgSU5DLiBgYEFTIElTJycgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJ
TVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKKyAq
IElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEg
UEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxM
IEFQUExFIElOQy4gT1IKKyAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1Qs
IElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAorICogRVhFTVBMQVJZLCBPUiBDT05TRVFV
RU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogUFJPQ1VS
RU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEs
IE9SCisgKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VE
IEFORCBPTiBBTlkgVEhFT1JZCisgKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1Qs
IFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBP
VEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBT
T0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFH
RS4KKyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgiCisjaW5jbHVkZSAiV2ViTWV0YWxGdW5jdGlv
bi5oIgorCisjaWYgRU5BQkxFKFdFQk1FVEFMKQorCisjaW5jbHVkZSAiV2ViTWV0YWxMaWJyYXJ5
LmgiCisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworUmVmPFdlYk1ldGFsRnVuY3Rpb24+IFdlYk1l
dGFsRnVuY3Rpb246OmNyZWF0ZShHUFVGdW5jdGlvbiYmIGZ1bmN0aW9uKQoreworICAgIHJldHVy
biBhZG9wdFJlZigqbmV3IFdlYk1ldGFsRnVuY3Rpb24oV1RGTW92ZShmdW5jdGlvbikpKTsKK30K
KworV2ViTWV0YWxGdW5jdGlvbjo6V2ViTWV0YWxGdW5jdGlvbihHUFVGdW5jdGlvbiYmIGZ1bmN0
aW9uKQorICAgIDogbV9mdW5jdGlvbiB7IFdURk1vdmUoZnVuY3Rpb24pIH0KK3sKK30KKworfSAv
LyBuYW1lc3BhY2UgV2ViQ29yZQorCisjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L2h0bWwvY2FudmFzL1dlYk1ldGFsRnVuY3Rpb24uaCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2Fu
dmFzL1dlYk1ldGFsRnVuY3Rpb24uaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yYmE2OTJjMTQzM2I4ODczODUxYmRj
NTk1MTI2NmFiN2Y0MTJiOGI3Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvaHRt
bC9jYW52YXMvV2ViTWV0YWxGdW5jdGlvbi5oCkBAIC0wLDAgKzEsNTIgQEAKKy8qCisgKiBDb3B5
cmlnaHQgKEMpIDIwMTcgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJl
ZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Ig
d2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhl
IGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25z
IG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5v
dGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1l
ci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0
aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25z
IGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9u
IGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgor
ICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBgYEFTIElTJycg
QU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVU
IE5PVCBMSU1JVEVEIFRPLCBUSEUKKyAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFC
SUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xB
SU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IKKyAqIENPTlRSSUJVVE9SUyBC
RSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAor
ICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5P
VCBMSU1JVEVEIFRPLAorICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJW
SUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCisgKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRF
UlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCisgKiBPRiBMSUFCSUxJ
VFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJ
TkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQg
T0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQ
T1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjcHJhZ21hIG9uY2UKKworI2lmIEVO
QUJMRShXRUJNRVRBTCkKKworI2luY2x1ZGUgIkdQVUZ1bmN0aW9uLmgiCisjaW5jbHVkZSA8d3Rm
L1JlZi5oPgorI2luY2x1ZGUgPHd0Zi9SZWZDb3VudGVkLmg+CisjaW5jbHVkZSA8d3RmL3RleHQv
V1RGU3RyaW5nLmg+CisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworY2xhc3MgV2ViTWV0YWxGdW5j
dGlvbiA6IHB1YmxpYyBSZWZDb3VudGVkPFdlYk1ldGFsRnVuY3Rpb24+IHsKK3B1YmxpYzoKKyAg
ICBzdGF0aWMgUmVmPFdlYk1ldGFsRnVuY3Rpb24+IGNyZWF0ZShHUFVGdW5jdGlvbiYmKTsKKwor
ICAgIFN0cmluZyBuYW1lKCkgY29uc3QgeyByZXR1cm4gbV9mdW5jdGlvbi5uYW1lKCk7IH0KKyAg
ICBjb25zdCBHUFVGdW5jdGlvbiYgZnVuY3Rpb24oKSBjb25zdCB7IHJldHVybiBtX2Z1bmN0aW9u
OyB9CisKK3ByaXZhdGU6CisgICAgZXhwbGljaXQgV2ViTWV0YWxGdW5jdGlvbihHUFVGdW5jdGlv
biYmKTsKKworICAgIEdQVUZ1bmN0aW9uIG1fZnVuY3Rpb247Cit9OworICAgIAorfSAvLyBuYW1l
c3BhY2UgV2ViQ29yZQorCisjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwv
Y2FudmFzL1dlYk1ldGFsRnVuY3Rpb24uaWRsIGIvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMv
V2ViTWV0YWxGdW5jdGlvbi5pZGwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2JjYTU4OTgwMzExODg1ZmU2MGIzNGJk
MjkwZjk2ZjEyNWZkMzhjMQotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwv
Y2FudmFzL1dlYk1ldGFsRnVuY3Rpb24uaWRsCkBAIC0wLDAgKzEsMzQgQEAKKy8qCisgKiBDb3B5
cmlnaHQgKEMpIDIwMTcgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJl
ZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Ig
d2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhl
IGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25z
IG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5v
dGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1l
ci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0
aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25z
IGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9u
IGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgor
ICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBgYEFTIElTJycg
QU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVU
IE5PVCBMSU1JVEVEIFRPLCBUSEUKKyAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFC
SUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xB
SU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IKKyAqIENPTlRSSUJVVE9SUyBC
RSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAor
ICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5P
VCBMSU1JVEVEIFRPLAorICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJW
SUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCisgKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRF
UlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCisgKiBPRiBMSUFCSUxJ
VFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJ
TkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQg
T0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQ
T1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCitbCisgICAgQ29uZGl0aW9uYWw9V0VC
TUVUQUwsCisgICAgRW5hYmxlZEF0UnVudGltZT1XZWJNZXRhbCwKKyAgICBJbXBsZW1lbnRhdGlv
bkxhY2tzVlRhYmxlCitdIGludGVyZmFjZSBXZWJNZXRhbEZ1bmN0aW9uIHsKKworICAgIHJlYWRv
bmx5IGF0dHJpYnV0ZSBET01TdHJpbmcgbmFtZTsKKworfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2h0bWwvY2FudmFzL1dlYk1ldGFsTGlicmFyeS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9o
dG1sL2NhbnZhcy9XZWJNZXRhbExpYnJhcnkuY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmI3OTE1NmJlZTM4MDRm
OGE4MTRiYzhkNDBmNWE2ZGMxZTYyMTFjNjIKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9odG1sL2NhbnZhcy9XZWJNZXRhbExpYnJhcnkuY3BwCkBAIC0wLDAgKzEsNjEgQEAKKy8q
CisgKiBDb3B5cmlnaHQgKEMpIDIwMTcgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgor
ICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMs
IHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVk
IHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0
cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQK
KyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcg
ZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJl
cHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBj
b25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1
bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJp
YnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBg
YEFTIElTJycgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xV
RElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKKyAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBN
RVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBB
UkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IKKyAqIENPTlRS
SUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBT
UEVDSUFMLAorICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElO
RywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09E
UyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCisgKiBQUk9GSVRTOyBPUiBCVVNJ
TkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCisgKiBP
RiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRP
UlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5Z
IFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VE
IE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVkZSAiY29u
ZmlnLmgiCisjaW5jbHVkZSAiV2ViTWV0YWxMaWJyYXJ5LmgiCisKKyNpZiBFTkFCTEUoV0VCTUVU
QUwpCisKKyNpbmNsdWRlICJXZWJNZXRhbEZ1bmN0aW9uLmgiCisKK25hbWVzcGFjZSBXZWJDb3Jl
IHsKKworUmVmPFdlYk1ldGFsTGlicmFyeT4gV2ViTWV0YWxMaWJyYXJ5OjpjcmVhdGUoR1BVTGli
cmFyeSYmIGxpYnJhcnksIGNvbnN0IFN0cmluZyYgc291cmNlQ29kZSkKK3sKKyAgICByZXR1cm4g
YWRvcHRSZWYoKm5ldyBXZWJNZXRhbExpYnJhcnkoV1RGTW92ZShsaWJyYXJ5KSwgc291cmNlQ29k
ZSkpOworfQorCitXZWJNZXRhbExpYnJhcnk6OldlYk1ldGFsTGlicmFyeShHUFVMaWJyYXJ5JiYg
bGlicmFyeSwgY29uc3QgU3RyaW5nJiBzb3VyY2VDb2RlKQorICAgIDogbV9zb3VyY2VDb2RlIHsg
c291cmNlQ29kZSB9CisgICAgLCBtX2xpYnJhcnkgeyBXVEZNb3ZlKGxpYnJhcnkpIH0KK3sKK30K
KworVmVjdG9yPFN0cmluZz4gV2ViTWV0YWxMaWJyYXJ5OjpmdW5jdGlvbk5hbWVzKCkgY29uc3QK
K3sKKyAgICByZXR1cm4gbV9saWJyYXJ5LmZ1bmN0aW9uTmFtZXMoKTsKK30KKworUmVmUHRyPFdl
Yk1ldGFsRnVuY3Rpb24+IFdlYk1ldGFsTGlicmFyeTo6ZnVuY3Rpb25XaXRoTmFtZShjb25zdCBT
dHJpbmcmIG5hbWUpIGNvbnN0Cit7CisgICAgR1BVRnVuY3Rpb24gZnVuY3Rpb24geyBtX2xpYnJh
cnksIG5hbWUgfTsKKyAgICBpZiAoIWZ1bmN0aW9uKQorICAgICAgICByZXR1cm4gbnVsbHB0cjsK
KyAgICByZXR1cm4gV2ViTWV0YWxGdW5jdGlvbjo6Y3JlYXRlKFdURk1vdmUoZnVuY3Rpb24pKTsK
K30KKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorCisjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYk1ldGFsTGlicmFyeS5oIGIvU291cmNlL1dlYkNvcmUv
aHRtbC9jYW52YXMvV2ViTWV0YWxMaWJyYXJ5LmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZThlMTFkOWVmMDk2Zjk2
Y2E3OWJmNGY4YzE5YjhmYTk3Y2I2MjJhOAotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2h0bWwvY2FudmFzL1dlYk1ldGFsTGlicmFyeS5oCkBAIC0wLDAgKzEsNjAgQEAKKy8qCisg
KiBDb3B5cmlnaHQgKEMpIDIwMTcgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoK
KyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdp
dGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRo
YXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmli
dXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAq
ICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlz
Y2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJv
ZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25k
aXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVu
dGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0
aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBgYEFT
IElTJycgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElO
RywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKKyAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJD
SEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUg
RElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IKKyAqIENPTlRSSUJV
VE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVD
SUFMLAorICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywg
QlVUIE5PVCBMSU1JVEVEIFRPLAorICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBP
UiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCisgKiBQUk9GSVRTOyBPUiBCVVNJTkVT
UyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCisgKiBPRiBM
SUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQK
KyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdB
WSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9G
IFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjcHJhZ21hIG9uY2UKKwor
I2lmIEVOQUJMRShXRUJNRVRBTCkKKworI2luY2x1ZGUgIkdQVUxpYnJhcnkuaCIKKyNpbmNsdWRl
IDx3dGYvUmVmLmg+CisjaW5jbHVkZSA8d3RmL1JlZkNvdW50ZWQuaD4KKworbmFtZXNwYWNlIFdl
YkNvcmUgeworCitjbGFzcyBXZWJNZXRhbEZ1bmN0aW9uOworCitjbGFzcyBXZWJNZXRhbExpYnJh
cnkgOiBwdWJsaWMgUmVmQ291bnRlZDxXZWJNZXRhbExpYnJhcnk+IHsKK3B1YmxpYzoKKyAgICBz
dGF0aWMgUmVmPFdlYk1ldGFsTGlicmFyeT4gY3JlYXRlKEdQVUxpYnJhcnkmJiwgY29uc3QgU3Ry
aW5nJiBzb3VyY2VDb2RlKTsKKworICAgIGNvbnN0IFN0cmluZyYgc291cmNlQ29kZSgpIGNvbnN0
IHsgcmV0dXJuIG1fc291cmNlQ29kZTsgfQorCisgICAgU3RyaW5nIGxhYmVsKCkgY29uc3QgeyBy
ZXR1cm4gbV9saWJyYXJ5LmxhYmVsKCk7IH0KKyAgICB2b2lkIHNldExhYmVsKGNvbnN0IFN0cmlu
ZyYgbGFiZWwpIHsgbV9saWJyYXJ5LnNldExhYmVsKGxhYmVsKTsgfQorCisgICAgVmVjdG9yPFN0
cmluZz4gZnVuY3Rpb25OYW1lcygpIGNvbnN0OworCisgICAgUmVmUHRyPFdlYk1ldGFsRnVuY3Rp
b24+IGZ1bmN0aW9uV2l0aE5hbWUoY29uc3QgU3RyaW5nJikgY29uc3Q7CisKK3ByaXZhdGU6Cisg
ICAgV2ViTWV0YWxMaWJyYXJ5KEdQVUxpYnJhcnkmJiwgY29uc3QgU3RyaW5nJiBzb3VyY2VDb2Rl
KTsKKworICAgIFN0cmluZyBtX3NvdXJjZUNvZGU7CisgICAgR1BVTGlicmFyeSBtX2xpYnJhcnk7
Cit9OworCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKKyNlbmRpZgpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViTWV0YWxMaWJyYXJ5LmlkbCBiL1NvdXJjZS9XZWJD
b3JlL2h0bWwvY2FudmFzL1dlYk1ldGFsTGlicmFyeS5pZGwKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjFkMzAyYmVm
ZDQzZjFmODA0YjEwMzEyMmVkY2M4MjY1YTg3MmU4NAotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYk1ldGFsTGlicmFyeS5pZGwKQEAgLTAsMCArMSwzOCBA
QAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxNyBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2
ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBm
b3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJv
dmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBS
ZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHly
aWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxv
d2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11
c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAg
IGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBk
aXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJ
TkMuIGBgQVMgSVMnJyBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywg
SU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQorICogSU1QTElFRCBXQVJSQU5USUVT
IE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQ
T1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUgorICog
Q09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5U
QUwsIFNQRUNJQUwsCisgKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5D
TFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRF
IEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKKyAqIFBST0ZJVFM7IE9S
IEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkK
KyAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwg
T1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJ
TiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFE
VklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKK1sKKyAgICBD
b25kaXRpb25hbD1XRUJNRVRBTCwKKyAgICBFbmFibGVkQXRSdW50aW1lPVdlYk1ldGFsLAorICAg
IEltcGxlbWVudGF0aW9uTGFja3NWVGFibGUKK10gaW50ZXJmYWNlIFdlYk1ldGFsTGlicmFyeSB7
CisKKyAgICByZWFkb25seSBhdHRyaWJ1dGUgRE9NU3RyaW5nIHNvdXJjZUNvZGU7CisgICAgYXR0
cmlidXRlIERPTVN0cmluZyBsYWJlbDsKKyAgICByZWFkb25seSBhdHRyaWJ1dGUgc2VxdWVuY2U8
RE9NU3RyaW5nPiBmdW5jdGlvbk5hbWVzOworCisgICAgV2ViTWV0YWxGdW5jdGlvbj8gZnVuY3Rp
b25XaXRoTmFtZShET01TdHJpbmcgbmFtZSk7CisKK307CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9odG1sL2NhbnZhcy9XZWJNZXRhbFJlbmRlckNvbW1hbmRFbmNvZGVyLmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYk1ldGFsUmVuZGVyQ29tbWFuZEVuY29kZXIuY3BwCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLmU4ZTYxOGM2MjFlNGNjYjdkODM5OTJlMGU3ODM2ZjRkOTI2M2YxMTUKLS0tIC9k
ZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJNZXRhbFJlbmRlckNv
bW1hbmRFbmNvZGVyLmNwcApAQCAtMCwwICsxLDg1IEBACisvKgorICogQ29weXJpZ2h0IChDKSAy
MDE3IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlv
biBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAq
IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcg
Y29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2Ug
Y29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBS
ZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNv
cHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3Ro
ZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElT
IFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gYGBBUyBJUycnIEFORCBBTlkKKyAq
IEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRF
RCBUTywgVEhFCisgKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBG
SVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBO
TyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SCisgKiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZP
UiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKKyAqIEVYRU1QTEFS
WSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBU
TywKKyAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1Mg
T0YgVVNFLCBEQVRBLCBPUgorICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBI
T1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQorICogT0YgTElBQklMSVRZLCBXSEVUSEVS
IElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5F
R0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UK
KyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkg
T0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorI2luY2x1ZGUgIldl
Yk1ldGFsUmVuZGVyQ29tbWFuZEVuY29kZXIuaCIKKworI2lmIEVOQUJMRShXRUJNRVRBTCkKKwor
I2luY2x1ZGUgIkdQVUNvbW1hbmRCdWZmZXIuaCIKKyNpbmNsdWRlICJHUFVSZW5kZXJQYXNzRGVz
Y3JpcHRvci5oIgorI2luY2x1ZGUgIldlYk1ldGFsQnVmZmVyLmgiCisjaW5jbHVkZSAiV2ViTWV0
YWxDb21tYW5kQnVmZmVyLmgiCisjaW5jbHVkZSAiV2ViTWV0YWxEZXB0aFN0ZW5jaWxTdGF0ZS5o
IgorI2luY2x1ZGUgIldlYk1ldGFsUmVuZGVyUGFzc0Rlc2NyaXB0b3IuaCIKKyNpbmNsdWRlICJX
ZWJNZXRhbFJlbmRlclBpcGVsaW5lU3RhdGUuaCIKKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitS
ZWY8V2ViTWV0YWxSZW5kZXJDb21tYW5kRW5jb2Rlcj4gV2ViTWV0YWxSZW5kZXJDb21tYW5kRW5j
b2Rlcjo6Y3JlYXRlKEdQVVJlbmRlckNvbW1hbmRFbmNvZGVyJiYgZW5jb2RlcikKK3sKKyAgICBy
ZXR1cm4gYWRvcHRSZWYoKm5ldyBXZWJNZXRhbFJlbmRlckNvbW1hbmRFbmNvZGVyKFdURk1vdmUo
ZW5jb2RlcikpKTsKK30KKworV2ViTWV0YWxSZW5kZXJDb21tYW5kRW5jb2Rlcjo6V2ViTWV0YWxS
ZW5kZXJDb21tYW5kRW5jb2RlcihHUFVSZW5kZXJDb21tYW5kRW5jb2RlciYmIGVuY29kZXIpCisg
ICAgOiBtX2VuY29kZXIgeyBXVEZNb3ZlKGVuY29kZXIpIH0KK3sKK30KKworV2ViTWV0YWxSZW5k
ZXJDb21tYW5kRW5jb2Rlcjo6fldlYk1ldGFsUmVuZGVyQ29tbWFuZEVuY29kZXIoKSA9IGRlZmF1
bHQ7CisKK3ZvaWQgV2ViTWV0YWxSZW5kZXJDb21tYW5kRW5jb2Rlcjo6c2V0UmVuZGVyUGlwZWxp
bmVTdGF0ZShXZWJNZXRhbFJlbmRlclBpcGVsaW5lU3RhdGUmIHBpcGVsaW5lU3RhdGUpCit7Cisg
ICAgbV9lbmNvZGVyLnNldFJlbmRlclBpcGVsaW5lU3RhdGUocGlwZWxpbmVTdGF0ZS5zdGF0ZSgp
KTsKK30KKwordm9pZCBXZWJNZXRhbFJlbmRlckNvbW1hbmRFbmNvZGVyOjpzZXREZXB0aFN0ZW5j
aWxTdGF0ZShXZWJNZXRhbERlcHRoU3RlbmNpbFN0YXRlJiBkZXB0aFN0ZW5jaWxTdGF0ZSkKK3sK
KyAgICBtX2VuY29kZXIuc2V0RGVwdGhTdGVuY2lsU3RhdGUoZGVwdGhTdGVuY2lsU3RhdGUuc3Rh
dGUoKSk7Cit9CisKK3ZvaWQgV2ViTWV0YWxSZW5kZXJDb21tYW5kRW5jb2Rlcjo6c2V0VmVydGV4
QnVmZmVyKFdlYk1ldGFsQnVmZmVyJiBidWZmZXIsIHVuc2lnbmVkIG9mZnNldCwgdW5zaWduZWQg
aW5kZXgpCit7CisgICAgbV9lbmNvZGVyLnNldFZlcnRleEJ1ZmZlcihidWZmZXIuYnVmZmVyKCks
IG9mZnNldCwgaW5kZXgpOworfQorCit2b2lkIFdlYk1ldGFsUmVuZGVyQ29tbWFuZEVuY29kZXI6
OnNldEZyYWdtZW50QnVmZmVyKFdlYk1ldGFsQnVmZmVyJiBidWZmZXIsIHVuc2lnbmVkIG9mZnNl
dCwgdW5zaWduZWQgaW5kZXgpCit7CisgICAgbV9lbmNvZGVyLnNldEZyYWdtZW50QnVmZmVyKGJ1
ZmZlci5idWZmZXIoKSwgb2Zmc2V0LCBpbmRleCk7Cit9CisKK3ZvaWQgV2ViTWV0YWxSZW5kZXJD
b21tYW5kRW5jb2Rlcjo6ZHJhd1ByaW1pdGl2ZXModW5zaWduZWQgdHlwZSwgdW5zaWduZWQgc3Rh
cnQsIHVuc2lnbmVkIGNvdW50KQoreworICAgIG1fZW5jb2Rlci5kcmF3UHJpbWl0aXZlcyh0eXBl
LCBzdGFydCwgY291bnQpOworfQorCit2b2lkIFdlYk1ldGFsUmVuZGVyQ29tbWFuZEVuY29kZXI6
OmVuZEVuY29kaW5nKCkKK3sKKyAgICByZXR1cm4gbV9lbmNvZGVyLmVuZEVuY29kaW5nKCk7Cit9
CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKworI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9odG1sL2NhbnZhcy9XZWJNZXRhbFJlbmRlckNvbW1hbmRFbmNvZGVyLmggYi9Tb3Vy
Y2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJNZXRhbFJlbmRlckNvbW1hbmRFbmNvZGVyLmgKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uOWRlZDdhYmU0NTczMjEzZWI5NTMzZTY5ZjQyYjBiOGQ5ZTc1MTg2MAotLS0gL2Rl
di9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYk1ldGFsUmVuZGVyQ29t
bWFuZEVuY29kZXIuaApAQCAtMCwwICsxLDYyIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE3
IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBh
bmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1v
ZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29u
ZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29k
ZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlz
dCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRp
c3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHly
aWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxv
d2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIg
bWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNP
RlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gYGBBUyBJUycnIEFORCBBTlkKKyAqIEVY
UFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBU
TywgVEhFCisgKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRO
RVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBF
VkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SCisgKiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBB
TlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKKyAqIEVYRU1QTEFSWSwg
T1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywK
KyAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0Yg
VVNFLCBEQVRBLCBPUgorICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dF
VkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQorICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElO
IENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJ
R0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAq
IE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0Yg
U1VDSCBEQU1BR0UuCisgKi8KKworI3ByYWdtYSBvbmNlCisKKyNpZiBFTkFCTEUoV0VCTUVUQUwp
CisKKyNpbmNsdWRlICJHUFVSZW5kZXJDb21tYW5kRW5jb2Rlci5oIgorI2luY2x1ZGUgPHd0Zi9S
ZWYuaD4KKyNpbmNsdWRlIDx3dGYvUmVmQ291bnRlZC5oPgorCituYW1lc3BhY2UgV2ViQ29yZSB7
CisKK2NsYXNzIFdlYk1ldGFsQnVmZmVyOworY2xhc3MgV2ViTWV0YWxEZXB0aFN0ZW5jaWxTdGF0
ZTsKK2NsYXNzIFdlYk1ldGFsUmVuZGVyUGlwZWxpbmVTdGF0ZTsKKworY2xhc3MgV2ViTWV0YWxS
ZW5kZXJDb21tYW5kRW5jb2RlciA6IHB1YmxpYyBSZWZDb3VudGVkPFdlYk1ldGFsUmVuZGVyQ29t
bWFuZEVuY29kZXI+IHsKK3B1YmxpYzoKKyAgICB+V2ViTWV0YWxSZW5kZXJDb21tYW5kRW5jb2Rl
cigpOworICAgIHN0YXRpYyBSZWY8V2ViTWV0YWxSZW5kZXJDb21tYW5kRW5jb2Rlcj4gY3JlYXRl
KEdQVVJlbmRlckNvbW1hbmRFbmNvZGVyJiYpOworCisgICAgdm9pZCBzZXRSZW5kZXJQaXBlbGlu
ZVN0YXRlKFdlYk1ldGFsUmVuZGVyUGlwZWxpbmVTdGF0ZSYpOworICAgIHZvaWQgc2V0RGVwdGhT
dGVuY2lsU3RhdGUoV2ViTWV0YWxEZXB0aFN0ZW5jaWxTdGF0ZSYpOworICAgIHZvaWQgc2V0VmVy
dGV4QnVmZmVyKFdlYk1ldGFsQnVmZmVyJiwgdW5zaWduZWQgb2Zmc2V0LCB1bnNpZ25lZCBpbmRl
eCk7CisgICAgdm9pZCBzZXRGcmFnbWVudEJ1ZmZlcihXZWJNZXRhbEJ1ZmZlciYsIHVuc2lnbmVk
IG9mZnNldCwgdW5zaWduZWQgaW5kZXgpOworICAgIHZvaWQgZHJhd1ByaW1pdGl2ZXModW5zaWdu
ZWQgdHlwZSwgdW5zaWduZWQgc3RhcnQsIHVuc2lnbmVkIGNvdW50KTsKKyAgICB2b2lkIGVuZEVu
Y29kaW5nKCk7CisKKyAgICBHUFVSZW5kZXJDb21tYW5kRW5jb2RlciYgZW5jb2RlcigpIHsgcmV0
dXJuIG1fZW5jb2RlcjsgfQorCitwcml2YXRlOgorICAgIGV4cGxpY2l0IFdlYk1ldGFsUmVuZGVy
Q29tbWFuZEVuY29kZXIoR1BVUmVuZGVyQ29tbWFuZEVuY29kZXImJik7CisKKyAgICBHUFVSZW5k
ZXJDb21tYW5kRW5jb2RlciBtX2VuY29kZXI7Cit9OworCit9IC8vIG5hbWVzcGFjZSBXZWJDb3Jl
CisKKyNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViTWV0
YWxSZW5kZXJDb21tYW5kRW5jb2Rlci5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9X
ZWJNZXRhbFJlbmRlckNvbW1hbmRFbmNvZGVyLmlkbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5iZmIzYjk4ODkwNzhi
M2FlYTg0NTM3NWQ2YmY2ZjU3OTBjNGE0NzNmCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dl
YkNvcmUvaHRtbC9jYW52YXMvV2ViTWV0YWxSZW5kZXJDb21tYW5kRW5jb2Rlci5pZGwKQEAgLTAs
MCArMSw0MCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxNyBBcHBsZSBJbmMuIEFsbCByaWdo
dHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5k
IGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJt
aXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6
CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFi
b3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQg
dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFy
eSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwg
dGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0
aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3
aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBC
WSBBUFBMRSBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FS
UkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQorICogSU1QTElFRCBX
QVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFS
CisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5D
LiBPUgorICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1Qs
IElOQ0lERU5UQUwsIFNQRUNJQUwsCisgKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFN
QUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBQUk9DVVJFTUVOVCBPRiBT
VUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKKyAqIFBS
T0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFO
WSBUSEVPUlkKKyAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJ
QUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkg
QVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBF
VkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisK
K1sKKyAgICBDb25kaXRpb25hbD1XRUJNRVRBTCwKKyAgICBFbmFibGVkQXRSdW50aW1lPVdlYk1l
dGFsLAorICAgIEltcGxlbWVudGF0aW9uTGFja3NWVGFibGUKK10gaW50ZXJmYWNlIFdlYk1ldGFs
UmVuZGVyQ29tbWFuZEVuY29kZXIgeworCisgICAgdm9pZCBzZXRSZW5kZXJQaXBlbGluZVN0YXRl
KFdlYk1ldGFsUmVuZGVyUGlwZWxpbmVTdGF0ZSBwaXBlbGluZVN0YXRlKTsKKyAgICB2b2lkIHNl
dERlcHRoU3RlbmNpbFN0YXRlKFdlYk1ldGFsRGVwdGhTdGVuY2lsU3RhdGUgZGVwdGhTdGVuY2ls
U3RhdGUpOworICAgIHZvaWQgc2V0VmVydGV4QnVmZmVyKFdlYk1ldGFsQnVmZmVyIGJ1ZmZlciwg
dW5zaWduZWQgbG9uZyBvZmZzZXQsIHVuc2lnbmVkIGxvbmcgaW5kZXgpOworICAgIHZvaWQgc2V0
RnJhZ21lbnRCdWZmZXIoV2ViTWV0YWxCdWZmZXIgYnVmZmVyLCB1bnNpZ25lZCBsb25nIG9mZnNl
dCwgdW5zaWduZWQgbG9uZyBpbmRleCk7CisgICAgdm9pZCBkcmF3UHJpbWl0aXZlcyh1bnNpZ25l
ZCBsb25nIHR5cGUsIHVuc2lnbmVkIGxvbmcgc3RhcnQsIHVuc2lnbmVkIGxvbmcgY291bnQpOwor
CisgICAgdm9pZCBlbmRFbmNvZGluZygpOworCit9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvaHRtbC9jYW52YXMvV2ViTWV0YWxSZW5kZXJQYXNzQXR0YWNobWVudERlc2NyaXB0b3IuY3Bw
IGIvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViTWV0YWxSZW5kZXJQYXNzQXR0YWNobWVu
dERlc2NyaXB0b3IuY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjBmYzRiYWFhNjBmYWM3OWQ1YmFiYzRhYzJmOTg2
M2I3Njk4YWRmM2IKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZh
cy9XZWJNZXRhbFJlbmRlclBhc3NBdHRhY2htZW50RGVzY3JpcHRvci5jcHAKQEAgLTAsMCArMSw4
MSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxNyBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVz
ZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFy
eSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQg
cHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAx
LiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNv
cHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3Jt
IG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBs
aXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAq
ICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRo
ZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBM
RSBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElF
UywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQorICogSU1QTElFRCBXQVJSQU5U
SUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQ
VVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUgor
ICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lE
RU5UQUwsIFNQRUNJQUwsCisgKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAo
SU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElU
VVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKKyAqIFBST0ZJVFM7
IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVP
UlkKKyAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElU
WSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lO
RyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElG
IEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpbmNs
dWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJXZWJNZXRhbFJlbmRlclBhc3NBdHRhY2htZW50RGVz
Y3JpcHRvci5oIgorCisjaWYgRU5BQkxFKFdFQk1FVEFMKQorCisjaW5jbHVkZSAiR1BVUmVuZGVy
UGFzc0F0dGFjaG1lbnREZXNjcmlwdG9yLmgiCisjaW5jbHVkZSAiR1BVVGV4dHVyZS5oIgorI2lu
Y2x1ZGUgIldlYk1ldGFsVGV4dHVyZS5oIgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK1dlYk1l
dGFsUmVuZGVyUGFzc0F0dGFjaG1lbnREZXNjcmlwdG9yOjpXZWJNZXRhbFJlbmRlclBhc3NBdHRh
Y2htZW50RGVzY3JpcHRvcigpCit7Cit9CisKK1dlYk1ldGFsUmVuZGVyUGFzc0F0dGFjaG1lbnRE
ZXNjcmlwdG9yOjp+V2ViTWV0YWxSZW5kZXJQYXNzQXR0YWNobWVudERlc2NyaXB0b3IoKSA9IGRl
ZmF1bHQ7CisKK3Vuc2lnbmVkIFdlYk1ldGFsUmVuZGVyUGFzc0F0dGFjaG1lbnREZXNjcmlwdG9y
Ojpsb2FkQWN0aW9uKCkgY29uc3QKK3sKKyAgICByZXR1cm4gZGVzY3JpcHRvcigpLmxvYWRBY3Rp
b24oKTsKK30KKwordm9pZCBXZWJNZXRhbFJlbmRlclBhc3NBdHRhY2htZW50RGVzY3JpcHRvcjo6
c2V0TG9hZEFjdGlvbih1bnNpZ25lZCBuZXdMb2FkQWN0aW9uKQoreworICAgIGRlc2NyaXB0b3Io
KS5zZXRMb2FkQWN0aW9uKG5ld0xvYWRBY3Rpb24pOworfQorCit1bnNpZ25lZCBXZWJNZXRhbFJl
bmRlclBhc3NBdHRhY2htZW50RGVzY3JpcHRvcjo6c3RvcmVBY3Rpb24oKSBjb25zdAoreworICAg
IHJldHVybiBkZXNjcmlwdG9yKCkuc3RvcmVBY3Rpb24oKTsKK30KKwordm9pZCBXZWJNZXRhbFJl
bmRlclBhc3NBdHRhY2htZW50RGVzY3JpcHRvcjo6c2V0U3RvcmVBY3Rpb24odW5zaWduZWQgbmV3
U3RvcmVBY3Rpb24pCit7CisgICAgZGVzY3JpcHRvcigpLnNldFN0b3JlQWN0aW9uKG5ld1N0b3Jl
QWN0aW9uKTsKK30KKworV2ViTWV0YWxUZXh0dXJlKiBXZWJNZXRhbFJlbmRlclBhc3NBdHRhY2ht
ZW50RGVzY3JpcHRvcjo6dGV4dHVyZSgpIGNvbnN0Cit7CisgICAgcmV0dXJuIG1fdGV4dHVyZS5n
ZXQoKTsKK30KKwordm9pZCBXZWJNZXRhbFJlbmRlclBhc3NBdHRhY2htZW50RGVzY3JpcHRvcjo6
c2V0VGV4dHVyZShSZWZQdHI8V2ViTWV0YWxUZXh0dXJlPiYmIG5ld1RleHR1cmUpCit7CisgICAg
Ly8gRklYTUU6IFdoeSBjYW4ndCB3ZSBzZXQgdGhpcyB0byBudWxsPworICAgIGlmICghbmV3VGV4
dHVyZSkKKyAgICAgICAgcmV0dXJuOworICAgIAorICAgIG1fdGV4dHVyZSA9IFdURk1vdmUobmV3
VGV4dHVyZSk7CisKKyAgICBkZXNjcmlwdG9yKCkuc2V0VGV4dHVyZShtX3RleHR1cmUtPnRleHR1
cmUoKSk7Cit9CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKworI2VuZGlmCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJNZXRhbFJlbmRlclBhc3NBdHRhY2htZW50
RGVzY3JpcHRvci5oIGIvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViTWV0YWxSZW5kZXJQ
YXNzQXR0YWNobWVudERlc2NyaXB0b3IuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yNmJjM2UwYzc1YTIyMTExNDZj
NDNlZWFmY2NhZmJkN2UwOTgzMzFjCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUv
aHRtbC9jYW52YXMvV2ViTWV0YWxSZW5kZXJQYXNzQXR0YWNobWVudERlc2NyaXB0b3IuaApAQCAt
MCwwICsxLDY0IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE3IEFwcGxlIEluYy4gQWxsIHJp
Z2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBh
bmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBl
cm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1l
dDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUg
YWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFu
ZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmlu
YXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNl
LCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGlu
IHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVk
IHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVE
IEJZIEFQUExFIElOQy4gYGBBUyBJUycnIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBX
QVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisgKiBJTVBMSUVE
IFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VM
QVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJ
TkMuIE9SCisgKiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVD
VCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKKyAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBE
QU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFBST0NVUkVNRU5UIE9G
IFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgorICog
UFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04g
QU5ZIFRIRU9SWQorICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1Qg
TElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNF
KSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUs
IEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8K
KworI3ByYWdtYSBvbmNlCisKKyNpZiBFTkFCTEUoV0VCTUVUQUwpCisKKyNpbmNsdWRlIDx3dGYv
UmVmLmg+CisjaW5jbHVkZSA8d3RmL1JlZkNvdW50ZWQuaD4KKworbmFtZXNwYWNlIFdlYkNvcmUg
eworCitjbGFzcyBHUFVSZW5kZXJQYXNzQXR0YWNobWVudERlc2NyaXB0b3I7CitjbGFzcyBXZWJN
ZXRhbFRleHR1cmU7CisKK2NsYXNzIFdlYk1ldGFsUmVuZGVyUGFzc0F0dGFjaG1lbnREZXNjcmlw
dG9yIDogcHVibGljIFJlZkNvdW50ZWQ8V2ViTWV0YWxSZW5kZXJQYXNzQXR0YWNobWVudERlc2Ny
aXB0b3I+IHsKK3B1YmxpYzoKKyAgICB2aXJ0dWFsIH5XZWJNZXRhbFJlbmRlclBhc3NBdHRhY2ht
ZW50RGVzY3JpcHRvcigpOworCisgICAgdW5zaWduZWQgbG9hZEFjdGlvbigpIGNvbnN0OworICAg
IHZvaWQgc2V0TG9hZEFjdGlvbih1bnNpZ25lZCk7CisKKyAgICB1bnNpZ25lZCBzdG9yZUFjdGlv
bigpIGNvbnN0OworICAgIHZvaWQgc2V0U3RvcmVBY3Rpb24odW5zaWduZWQpOworCisgICAgV2Vi
TWV0YWxUZXh0dXJlKiB0ZXh0dXJlKCkgY29uc3Q7CisgICAgdm9pZCBzZXRUZXh0dXJlKFJlZlB0
cjxXZWJNZXRhbFRleHR1cmU+JiYpOworCisgICAgdmlydHVhbCBib29sIGlzQ29sb3JBdHRhY2ht
ZW50RGVzY3JpcHRvcigpIGNvbnN0ID0gMDsKKworcHJvdGVjdGVkOgorICAgIFdlYk1ldGFsUmVu
ZGVyUGFzc0F0dGFjaG1lbnREZXNjcmlwdG9yKCk7CisKK3ByaXZhdGU6CisgICAgdmlydHVhbCBj
b25zdCBHUFVSZW5kZXJQYXNzQXR0YWNobWVudERlc2NyaXB0b3ImIGRlc2NyaXB0b3IoKSBjb25z
dCA9IDA7CisKKyAgICBSZWZQdHI8V2ViTWV0YWxUZXh0dXJlPiBtX3RleHR1cmU7Cit9OworCit9
IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKKyNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvaHRtbC9jYW52YXMvV2ViTWV0YWxSZW5kZXJQYXNzQXR0YWNobWVudERlc2NyaXB0b3IuaWRs
IGIvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViTWV0YWxSZW5kZXJQYXNzQXR0YWNobWVu
dERlc2NyaXB0b3IuaWRsCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmE5MTQwODVlOWEzNzM2ZTE2YTBlYzY5N2NiY2Rj
MWRlYmRhMmQ3YjAKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZh
cy9XZWJNZXRhbFJlbmRlclBhc3NBdHRhY2htZW50RGVzY3JpcHRvci5pZGwKQEAgLTAsMCArMSwz
OCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxNyBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVz
ZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFy
eSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQg
cHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAx
LiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNv
cHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3Jt
IG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBs
aXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAq
ICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRo
ZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBM
RSBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElF
UywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQorICogSU1QTElFRCBXQVJSQU5U
SUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQ
VVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUgor
ICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lE
RU5UQUwsIFNQRUNJQUwsCisgKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAo
SU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElU
VVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKKyAqIFBST0ZJVFM7
IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVP
UlkKKyAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElU
WSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lO
RyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElG
IEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKK1sKKyAg
ICBDb25kaXRpb25hbD1XRUJNRVRBTCwKKyAgICBFbmFibGVkQXRSdW50aW1lPVdlYk1ldGFsLAor
ICAgIEN1c3RvbVRvSlNPYmplY3QKK10KK2ludGVyZmFjZSBXZWJNZXRhbFJlbmRlclBhc3NBdHRh
Y2htZW50RGVzY3JpcHRvciB7CisKKyAgICBhdHRyaWJ1dGUgV2ViTWV0YWxUZXh0dXJlPyB0ZXh0
dXJlOworCisgICAgYXR0cmlidXRlIHVuc2lnbmVkIGxvbmcgbG9hZEFjdGlvbjsgLy8gc2hvdWxk
IGJlIFdlYk1ldGFsTG9hZEFjdGlvbgorICAgIGF0dHJpYnV0ZSB1bnNpZ25lZCBsb25nIHN0b3Jl
QWN0aW9uOyAvLyBzaG91bGQgYmUgV2ViTWV0YWxTdG9yZUFjdGlvbgorCit9OwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViTWV0YWxSZW5kZXJQYXNzQ29sb3JBdHRh
Y2htZW50RGVzY3JpcHRvci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJNZXRh
bFJlbmRlclBhc3NDb2xvckF0dGFjaG1lbnREZXNjcmlwdG9yLmNwcApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42NjI4
ZmY5Njc0Yjk2NmE1YWRhNDhhNTMzZWZiNGQ1NjUyYjMxNjlhCi0tLSAvZGV2L251bGwKKysrIGIv
U291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViTWV0YWxSZW5kZXJQYXNzQ29sb3JBdHRhY2ht
ZW50RGVzY3JpcHRvci5jcHAKQEAgLTAsMCArMSw2NiBAQAorLyoKKyAqIENvcHlyaWdodCAoQykg
MjAxNyBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRp
b24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Cisg
KiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5n
IGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNl
IGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlz
IGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4g
UmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBj
b3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBm
b2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90
aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJ
UyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCisg
KiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlU
RUQgVE8sIFRIRQorICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQg
RklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4g
Tk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUgorICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBG
T1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCisgKiBFWEVNUExB
UlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQg
VE8sCisgKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NT
IE9GIFVTRSwgREFUQSwgT1IKKyAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikg
SE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKKyAqIE9GIExJQUJJTElUWSwgV0hFVEhF
UiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBO
RUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNF
CisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZ
IE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJX
ZWJNZXRhbFJlbmRlclBhc3NDb2xvckF0dGFjaG1lbnREZXNjcmlwdG9yLmgiCisKKyNpZiBFTkFC
TEUoV0VCTUVUQUwpCisKKyNpbmNsdWRlICJHUFVUZXh0dXJlLmgiCisjaW5jbHVkZSAiV2ViTWV0
YWxUZXh0dXJlLmgiCisjaW5jbHVkZSA8d3RmL1ZlY3Rvci5oPgorCituYW1lc3BhY2UgV2ViQ29y
ZSB7CisKK1JlZjxXZWJNZXRhbFJlbmRlclBhc3NDb2xvckF0dGFjaG1lbnREZXNjcmlwdG9yPiBX
ZWJNZXRhbFJlbmRlclBhc3NDb2xvckF0dGFjaG1lbnREZXNjcmlwdG9yOjpjcmVhdGUoR1BVUmVu
ZGVyUGFzc0NvbG9yQXR0YWNobWVudERlc2NyaXB0b3ImJiBkZXNjcmlwdG9yKQoreworICAgIHJl
dHVybiBhZG9wdFJlZigqbmV3IFdlYk1ldGFsUmVuZGVyUGFzc0NvbG9yQXR0YWNobWVudERlc2Ny
aXB0b3IoV1RGTW92ZShkZXNjcmlwdG9yKSkpOworfQorCitXZWJNZXRhbFJlbmRlclBhc3NDb2xv
ckF0dGFjaG1lbnREZXNjcmlwdG9yOjpXZWJNZXRhbFJlbmRlclBhc3NDb2xvckF0dGFjaG1lbnRE
ZXNjcmlwdG9yKEdQVVJlbmRlclBhc3NDb2xvckF0dGFjaG1lbnREZXNjcmlwdG9yJiYgZGVzY3Jp
cHRvcikKKyAgICA6IG1fZGVzY3JpcHRvciB7IFdURk1vdmUoZGVzY3JpcHRvcikgfQoreworfQor
CitXZWJNZXRhbFJlbmRlclBhc3NDb2xvckF0dGFjaG1lbnREZXNjcmlwdG9yOjp+V2ViTWV0YWxS
ZW5kZXJQYXNzQ29sb3JBdHRhY2htZW50RGVzY3JpcHRvcigpID0gZGVmYXVsdDsKKworY29uc3Qg
R1BVUmVuZGVyUGFzc0F0dGFjaG1lbnREZXNjcmlwdG9yJiBXZWJNZXRhbFJlbmRlclBhc3NDb2xv
ckF0dGFjaG1lbnREZXNjcmlwdG9yOjpkZXNjcmlwdG9yKCkgY29uc3QKK3sKKyAgICByZXR1cm4g
bV9kZXNjcmlwdG9yOworfQorCitWZWN0b3I8ZmxvYXQ+IFdlYk1ldGFsUmVuZGVyUGFzc0NvbG9y
QXR0YWNobWVudERlc2NyaXB0b3I6OmNsZWFyQ29sb3IoKSBjb25zdAoreworICAgIHJldHVybiBt
X2Rlc2NyaXB0b3IuY2xlYXJDb2xvcigpOworfQorCit2b2lkIFdlYk1ldGFsUmVuZGVyUGFzc0Nv
bG9yQXR0YWNobWVudERlc2NyaXB0b3I6OnNldENsZWFyQ29sb3IoY29uc3QgVmVjdG9yPGZsb2F0
PiYgbmV3Q2xlYXJDb2xvcikKK3sKKyAgICBtX2Rlc2NyaXB0b3Iuc2V0Q2xlYXJDb2xvcihuZXdD
bGVhckNvbG9yKTsKK30KKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorCisjZW5kaWYKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYk1ldGFsUmVuZGVyUGFzc0NvbG9y
QXR0YWNobWVudERlc2NyaXB0b3IuaCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYk1l
dGFsUmVuZGVyUGFzc0NvbG9yQXR0YWNobWVudERlc2NyaXB0b3IuaApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5kMTAx
ZTdiZTUwMTA4NDU3ZDhlNTZkNjcyNGNkYTYzZDFkZmQzMDQ1Ci0tLSAvZGV2L251bGwKKysrIGIv
U291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViTWV0YWxSZW5kZXJQYXNzQ29sb3JBdHRhY2ht
ZW50RGVzY3JpcHRvci5oCkBAIC0wLDAgKzEsNTQgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIw
MTcgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9u
IGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICog
bW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBj
b25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBj
b2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBs
aXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJl
ZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29w
eXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9s
bG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhl
ciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMg
U09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBgYEFTIElTJycgQU5EIEFOWQorICog
RVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVE
IFRPLCBUSEUKKyAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJ
VE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5P
IEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IKKyAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9S
IEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAorICogRVhFTVBMQVJZ
LCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRP
LAorICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBP
RiBVU0UsIERBVEEsIE9SCisgKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhP
V0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCisgKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIg
SU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVH
TElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQor
ICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBP
RiBTVUNIIERBTUFHRS4KKyAqLworCisjcHJhZ21hIG9uY2UKKworI2lmIEVOQUJMRShXRUJNRVRB
TCkKKworI2luY2x1ZGUgIkdQVVJlbmRlclBhc3NDb2xvckF0dGFjaG1lbnREZXNjcmlwdG9yLmgi
CisjaW5jbHVkZSAiV2ViTWV0YWxSZW5kZXJQYXNzQXR0YWNobWVudERlc2NyaXB0b3IuaCIKKwor
bmFtZXNwYWNlIFdlYkNvcmUgeworCitjbGFzcyBXZWJNZXRhbFJlbmRlclBhc3NDb2xvckF0dGFj
aG1lbnREZXNjcmlwdG9yIGZpbmFsIDogcHVibGljIFdlYk1ldGFsUmVuZGVyUGFzc0F0dGFjaG1l
bnREZXNjcmlwdG9yIHsKK3B1YmxpYzoKKyAgICB2aXJ0dWFsIH5XZWJNZXRhbFJlbmRlclBhc3ND
b2xvckF0dGFjaG1lbnREZXNjcmlwdG9yKCk7CisgICAgc3RhdGljIFJlZjxXZWJNZXRhbFJlbmRl
clBhc3NDb2xvckF0dGFjaG1lbnREZXNjcmlwdG9yPiBjcmVhdGUoR1BVUmVuZGVyUGFzc0NvbG9y
QXR0YWNobWVudERlc2NyaXB0b3ImJik7CisKKyAgICBWZWN0b3I8ZmxvYXQ+IGNsZWFyQ29sb3Io
KSBjb25zdDsKKyAgICB2b2lkIHNldENsZWFyQ29sb3IoY29uc3QgVmVjdG9yPGZsb2F0PiYpOwor
Citwcml2YXRlOgorICAgIGV4cGxpY2l0IFdlYk1ldGFsUmVuZGVyUGFzc0NvbG9yQXR0YWNobWVu
dERlc2NyaXB0b3IoR1BVUmVuZGVyUGFzc0NvbG9yQXR0YWNobWVudERlc2NyaXB0b3ImJik7CisK
KyAgICBjb25zdCBHUFVSZW5kZXJQYXNzQXR0YWNobWVudERlc2NyaXB0b3ImIGRlc2NyaXB0b3Io
KSBjb25zdCBmaW5hbDsKKyAgICBib29sIGlzQ29sb3JBdHRhY2htZW50RGVzY3JpcHRvcigpIGNv
bnN0IGZpbmFsIHsgcmV0dXJuIHRydWU7IH0KKworICAgIEdQVVJlbmRlclBhc3NDb2xvckF0dGFj
aG1lbnREZXNjcmlwdG9yIG1fZGVzY3JpcHRvcjsKK307CisgICAgCit9IC8vIG5hbWVzcGFjZSBX
ZWJDb3JlCisKKyNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMv
V2ViTWV0YWxSZW5kZXJQYXNzQ29sb3JBdHRhY2htZW50RGVzY3JpcHRvci5pZGwgYi9Tb3VyY2Uv
V2ViQ29yZS9odG1sL2NhbnZhcy9XZWJNZXRhbFJlbmRlclBhc3NDb2xvckF0dGFjaG1lbnREZXNj
cmlwdG9yLmlkbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5lNzg0YTE0MGFjOGFmNDViNTRmY2Q3Y2NiMDA0ZWNmOWI3
OTU1ODQ1Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2Vi
TWV0YWxSZW5kZXJQYXNzQ29sb3JBdHRhY2htZW50RGVzY3JpcHRvci5pZGwKQEAgLTAsMCArMSwz
MyBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxNyBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVz
ZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFy
eSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQg
cHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAx
LiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNv
cHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3Jt
IG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBs
aXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAq
ICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRo
ZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBM
RSBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElF
UywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQorICogSU1QTElFRCBXQVJSQU5U
SUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQ
VVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUgor
ICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lE
RU5UQUwsIFNQRUNJQUwsCisgKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAo
SU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElU
VVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKKyAqIFBST0ZJVFM7
IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVP
UlkKKyAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElU
WSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lO
RyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElG
IEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKK1sKKyAg
ICBDb25kaXRpb25hbD1XRUJNRVRBTCwKKyAgICBFbmFibGVkQXRSdW50aW1lPVdlYk1ldGFsCitd
IGludGVyZmFjZSBXZWJNZXRhbFJlbmRlclBhc3NDb2xvckF0dGFjaG1lbnREZXNjcmlwdG9yIDog
V2ViTWV0YWxSZW5kZXJQYXNzQXR0YWNobWVudERlc2NyaXB0b3IgeworCisgICAgYXR0cmlidXRl
IHNlcXVlbmNlPGZsb2F0PiBjbGVhckNvbG9yOworCit9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvaHRtbC9jYW52YXMvV2ViTWV0YWxSZW5kZXJQYXNzRGVwdGhBdHRhY2htZW50RGVzY3Jp
cHRvci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJNZXRhbFJlbmRlclBhc3NE
ZXB0aEF0dGFjaG1lbnREZXNjcmlwdG9yLmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4wNWM1ZmIyMDRlNWFkYmUy
NDZlODlkZDVhMjQ5MWIyODM5OTQ3YzBmCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNv
cmUvaHRtbC9jYW52YXMvV2ViTWV0YWxSZW5kZXJQYXNzRGVwdGhBdHRhY2htZW50RGVzY3JpcHRv
ci5jcHAKQEAgLTAsMCArMSw2NCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxNyBBcHBsZSBJ
bmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBp
biBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRp
b24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMK
KyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCBy
ZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29u
ZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRp
b25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAq
ICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlz
Y2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFs
cyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJ
UyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCisgKiBFWFBSRVNTIE9S
IElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQor
ICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1Ig
QSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hB
TEwgQVBQTEUgSU5DLiBPUgorICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVD
VCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCisgKiBFWEVNUExBUlksIE9SIENPTlNF
UVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBQUk9D
VVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFU
QSwgT1IKKyAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVT
RUQgQU5EIE9OIEFOWSBUSEVPUlkKKyAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFD
VCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9S
IE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElT
IFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFN
QUdFLgorICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJXZWJNZXRhbFJlbmRl
clBhc3NEZXB0aEF0dGFjaG1lbnREZXNjcmlwdG9yLmgiCisKKyNpZiBFTkFCTEUoV0VCTUVUQUwp
CisKKyNpbmNsdWRlICJXZWJNZXRhbFRleHR1cmUuaCIKKworbmFtZXNwYWNlIFdlYkNvcmUgewor
CitSZWY8V2ViTWV0YWxSZW5kZXJQYXNzRGVwdGhBdHRhY2htZW50RGVzY3JpcHRvcj4gV2ViTWV0
YWxSZW5kZXJQYXNzRGVwdGhBdHRhY2htZW50RGVzY3JpcHRvcjo6Y3JlYXRlKEdQVVJlbmRlclBh
c3NEZXB0aEF0dGFjaG1lbnREZXNjcmlwdG9yJiYgZGVzY3JpcHRvcikKK3sKKyAgICByZXR1cm4g
YWRvcHRSZWYoKm5ldyBXZWJNZXRhbFJlbmRlclBhc3NEZXB0aEF0dGFjaG1lbnREZXNjcmlwdG9y
KFdURk1vdmUoZGVzY3JpcHRvcikpKTsKK30KKworV2ViTWV0YWxSZW5kZXJQYXNzRGVwdGhBdHRh
Y2htZW50RGVzY3JpcHRvcjo6V2ViTWV0YWxSZW5kZXJQYXNzRGVwdGhBdHRhY2htZW50RGVzY3Jp
cHRvcihHUFVSZW5kZXJQYXNzRGVwdGhBdHRhY2htZW50RGVzY3JpcHRvciYmIGRlc2NyaXB0b3Ip
CisgICAgOiBtX2Rlc2NyaXB0b3IgeyBXVEZNb3ZlKGRlc2NyaXB0b3IpIH0KK3sKK30KKworV2Vi
TWV0YWxSZW5kZXJQYXNzRGVwdGhBdHRhY2htZW50RGVzY3JpcHRvcjo6fldlYk1ldGFsUmVuZGVy
UGFzc0RlcHRoQXR0YWNobWVudERlc2NyaXB0b3IoKSA9IGRlZmF1bHQ7CisKK2RvdWJsZSBXZWJN
ZXRhbFJlbmRlclBhc3NEZXB0aEF0dGFjaG1lbnREZXNjcmlwdG9yOjpjbGVhckRlcHRoKCkgY29u
c3QKK3sKKyAgICByZXR1cm4gbV9kZXNjcmlwdG9yLmNsZWFyRGVwdGgoKTsKK30KKwordm9pZCBX
ZWJNZXRhbFJlbmRlclBhc3NEZXB0aEF0dGFjaG1lbnREZXNjcmlwdG9yOjpzZXRDbGVhckRlcHRo
KGRvdWJsZSBuZXdDbGVhckRlcHRoKQoreworICAgIG1fZGVzY3JpcHRvci5zZXRDbGVhckRlcHRo
KG5ld0NsZWFyRGVwdGgpOworfQorCitjb25zdCBHUFVSZW5kZXJQYXNzQXR0YWNobWVudERlc2Ny
aXB0b3ImIFdlYk1ldGFsUmVuZGVyUGFzc0RlcHRoQXR0YWNobWVudERlc2NyaXB0b3I6OmRlc2Ny
aXB0b3IoKSBjb25zdAoreworICAgIHJldHVybiBtX2Rlc2NyaXB0b3I7Cit9CisKK30gLy8gbmFt
ZXNwYWNlIFdlYkNvcmUKKworI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1s
L2NhbnZhcy9XZWJNZXRhbFJlbmRlclBhc3NEZXB0aEF0dGFjaG1lbnREZXNjcmlwdG9yLmggYi9T
b3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJNZXRhbFJlbmRlclBhc3NEZXB0aEF0dGFjaG1l
bnREZXNjcmlwdG9yLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYmEwOTAyOTNlZTQwZjZjZDhlMTc5MzU0NjllNzg5
NDAxNTA5MjRlMAotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFz
L1dlYk1ldGFsUmVuZGVyUGFzc0RlcHRoQXR0YWNobWVudERlc2NyaXB0b3IuaApAQCAtMCwwICsx
LDU0IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE3IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyBy
ZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmlu
YXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRl
ZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAq
IDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUg
Y29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUg
Zm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZv
cm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlz
IGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQor
ICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGgg
dGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQ
UExFIElOQy4gYGBBUyBJUycnIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5U
SUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisgKiBJTVBMSUVEIFdBUlJB
TlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAq
IFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9S
CisgKiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5D
SURFTlRBTCwgU1BFQ0lBTCwKKyAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VT
IChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFBST0NVUkVNRU5UIE9GIFNVQlNU
SVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgorICogUFJPRklU
UzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRI
RU9SWQorICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklM
SVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklT
SU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4g
SUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI3By
YWdtYSBvbmNlCisKKyNpZiBFTkFCTEUoV0VCTUVUQUwpCisKKyNpbmNsdWRlICJHUFVSZW5kZXJQ
YXNzRGVwdGhBdHRhY2htZW50RGVzY3JpcHRvci5oIgorI2luY2x1ZGUgIldlYk1ldGFsUmVuZGVy
UGFzc0F0dGFjaG1lbnREZXNjcmlwdG9yLmgiCisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworY2xh
c3MgV2ViTWV0YWxSZW5kZXJQYXNzRGVwdGhBdHRhY2htZW50RGVzY3JpcHRvciBmaW5hbCA6IHB1
YmxpYyBXZWJNZXRhbFJlbmRlclBhc3NBdHRhY2htZW50RGVzY3JpcHRvciB7CitwdWJsaWM6Cisg
ICAgdmlydHVhbCB+V2ViTWV0YWxSZW5kZXJQYXNzRGVwdGhBdHRhY2htZW50RGVzY3JpcHRvcigp
OworICAgIHN0YXRpYyBSZWY8V2ViTWV0YWxSZW5kZXJQYXNzRGVwdGhBdHRhY2htZW50RGVzY3Jp
cHRvcj4gY3JlYXRlKEdQVVJlbmRlclBhc3NEZXB0aEF0dGFjaG1lbnREZXNjcmlwdG9yJiYpOwor
CisgICAgZG91YmxlIGNsZWFyRGVwdGgoKSBjb25zdDsKKyAgICB2b2lkIHNldENsZWFyRGVwdGgo
ZG91YmxlKTsKKworcHJpdmF0ZToKKyAgICBleHBsaWNpdCBXZWJNZXRhbFJlbmRlclBhc3NEZXB0
aEF0dGFjaG1lbnREZXNjcmlwdG9yKEdQVVJlbmRlclBhc3NEZXB0aEF0dGFjaG1lbnREZXNjcmlw
dG9yJiYpOworCisgICAgY29uc3QgR1BVUmVuZGVyUGFzc0F0dGFjaG1lbnREZXNjcmlwdG9yJiBk
ZXNjcmlwdG9yKCkgY29uc3QgZmluYWw7CisgICAgYm9vbCBpc0NvbG9yQXR0YWNobWVudERlc2Ny
aXB0b3IoKSBjb25zdCBmaW5hbCB7IHJldHVybiBmYWxzZTsgfQorCisgICAgR1BVUmVuZGVyUGFz
c0RlcHRoQXR0YWNobWVudERlc2NyaXB0b3IgbV9kZXNjcmlwdG9yOworfTsKKyAgICAKK30gLy8g
bmFtZXNwYWNlIFdlYkNvcmUKKworI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9o
dG1sL2NhbnZhcy9XZWJNZXRhbFJlbmRlclBhc3NEZXB0aEF0dGFjaG1lbnREZXNjcmlwdG9yLmlk
bCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYk1ldGFsUmVuZGVyUGFzc0RlcHRoQXR0
YWNobWVudERlc2NyaXB0b3IuaWRsCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmY1NWIwOTQ4OWRmODQwODMxYWU5ZWYz
NGJiZTE4ZjZiMWIyY2M2NWIKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1s
L2NhbnZhcy9XZWJNZXRhbFJlbmRlclBhc3NEZXB0aEF0dGFjaG1lbnREZXNjcmlwdG9yLmlkbApA
QCAtMCwwICsxLDMzIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE3IEFwcGxlIEluYy4gQWxs
IHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJj
ZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJl
IHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJl
IG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0
aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25z
IGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4g
YmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
IGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3Zp
ZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJ
REVEIEJZIEFQUExFIElOQy4gYGBBUyBJUycnIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElF
RCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisgKiBJTVBM
SUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJ
Q1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBM
RSBJTkMuIE9SCisgKiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJ
UkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKKyAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElB
TCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFBST0NVUkVNRU5U
IE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgor
ICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQg
T04gQU5ZIFRIRU9SWQorICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJ
Q1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJX
SVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdB
UkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisg
Ki8KKworWworICAgIENvbmRpdGlvbmFsPVdFQk1FVEFMLAorICAgIEVuYWJsZWRBdFJ1bnRpbWU9
V2ViTWV0YWwKK10gaW50ZXJmYWNlIFdlYk1ldGFsUmVuZGVyUGFzc0RlcHRoQXR0YWNobWVudERl
c2NyaXB0b3IgOiBXZWJNZXRhbFJlbmRlclBhc3NBdHRhY2htZW50RGVzY3JpcHRvciB7CisKKyAg
ICBhdHRyaWJ1dGUgdW5yZXN0cmljdGVkIGRvdWJsZSBjbGVhckRlcHRoOworCit9OwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViTWV0YWxSZW5kZXJQYXNzRGVzY3Jp
cHRvci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJNZXRhbFJlbmRlclBhc3NE
ZXNjcmlwdG9yLmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5jZmRhMzhiNzUyZTZmNWE2YjI2ZTI4MTNhYWUwMmI5
M2M1ZmY5OGU1Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMv
V2ViTWV0YWxSZW5kZXJQYXNzRGVzY3JpcHRvci5jcHAKQEAgLTAsMCArMSw2MyBAQAorLyoKKyAq
IENvcHlyaWdodCAoQykgMjAxNyBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgor
ICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0
aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhh
dCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1
dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICog
ICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNj
bGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9k
dWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRp
dGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50
YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRp
b24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIGBgQVMg
SVMnJyBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5H
LCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQorICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNI
QU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBE
SVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUgorICogQ09OVFJJQlVU
T1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJ
QUwsCisgKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBC
VVQgTk9UIExJTUlURUQgVE8sCisgKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9S
IFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKKyAqIFBST0ZJVFM7IE9SIEJVU0lORVNT
IElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKKyAqIE9GIExJ
QUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAor
ICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZ
IE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0Yg
VEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpbmNsdWRlICJjb25maWcu
aCIKKyNpbmNsdWRlICJXZWJNZXRhbFJlbmRlclBhc3NEZXNjcmlwdG9yLmgiCisKKyNpZiBFTkFC
TEUoV0VCTUVUQUwpCisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworUmVmPFdlYk1ldGFsUmVuZGVy
UGFzc0Rlc2NyaXB0b3I+IFdlYk1ldGFsUmVuZGVyUGFzc0Rlc2NyaXB0b3I6OmNyZWF0ZSgpCit7
CisgICAgcmV0dXJuIGFkb3B0UmVmKCpuZXcgV2ViTWV0YWxSZW5kZXJQYXNzRGVzY3JpcHRvcik7
Cit9CisKK1dlYk1ldGFsUmVuZGVyUGFzc0Rlc2NyaXB0b3I6OldlYk1ldGFsUmVuZGVyUGFzc0Rl
c2NyaXB0b3IoKSA9IGRlZmF1bHQ7CisKK1dlYk1ldGFsUmVuZGVyUGFzc0Rlc2NyaXB0b3I6On5X
ZWJNZXRhbFJlbmRlclBhc3NEZXNjcmlwdG9yKCkgPSBkZWZhdWx0OworCitXZWJNZXRhbFJlbmRl
clBhc3NEZXB0aEF0dGFjaG1lbnREZXNjcmlwdG9yJiBXZWJNZXRhbFJlbmRlclBhc3NEZXNjcmlw
dG9yOjpkZXB0aEF0dGFjaG1lbnQoKQoreworICAgIGlmICghbV9kZXB0aEF0dGFjaG1lbnQpCisg
ICAgICAgIG1fZGVwdGhBdHRhY2htZW50ID0gV2ViTWV0YWxSZW5kZXJQYXNzRGVwdGhBdHRhY2ht
ZW50RGVzY3JpcHRvcjo6Y3JlYXRlKG1fZGVzY3JpcHRvci5kZXB0aEF0dGFjaG1lbnQoKSk7Cisg
ICAgcmV0dXJuICptX2RlcHRoQXR0YWNobWVudDsKK30KKworY29uc3QgVmVjdG9yPFJlZlB0cjxX
ZWJNZXRhbFJlbmRlclBhc3NDb2xvckF0dGFjaG1lbnREZXNjcmlwdG9yPj4mIFdlYk1ldGFsUmVu
ZGVyUGFzc0Rlc2NyaXB0b3I6OmNvbG9yQXR0YWNobWVudHMoKQoreworICAgIGlmIChtX2NvbG9y
QXR0YWNobWVudHMuaXNFbXB0eSgpKSB7CisgICAgICAgIGF1dG8gYXR0YWNobWVudHMgPSBtX2Rl
c2NyaXB0b3IuY29sb3JBdHRhY2htZW50cygpOworICAgICAgICBBU1NFUlQoIWF0dGFjaG1lbnRz
LmlzRW1wdHkoKSk7CisgICAgICAgIG1fY29sb3JBdHRhY2htZW50cy5yZXNlcnZlSW5pdGlhbENh
cGFjaXR5KGF0dGFjaG1lbnRzLnNpemUoKSk7CisgICAgICAgIGZvciAoYXV0byYgYXR0YWNobWVu
dCA6IGF0dGFjaG1lbnRzKQorICAgICAgICAgICAgbV9jb2xvckF0dGFjaG1lbnRzLnVuY2hlY2tl
ZEFwcGVuZChXZWJNZXRhbFJlbmRlclBhc3NDb2xvckF0dGFjaG1lbnREZXNjcmlwdG9yOjpjcmVh
dGUoV1RGTW92ZShhdHRhY2htZW50KSkpOworICAgIH0KKyAgICByZXR1cm4gbV9jb2xvckF0dGFj
aG1lbnRzOworfQorCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKKyNlbmRpZgpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViTWV0YWxSZW5kZXJQYXNzRGVzY3JpcHRv
ci5oIGIvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViTWV0YWxSZW5kZXJQYXNzRGVzY3Jp
cHRvci5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjJlMjM4OWM5YTQ3M2U2N2Q3YzUwYmUzMjRiNmVjMzUxYzI2MzQ2
NWYKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJNZXRh
bFJlbmRlclBhc3NEZXNjcmlwdG9yLmgKQEAgLTAsMCArMSw2MCBAQAorLyoKKyAqIENvcHlyaWdo
dCAoQykgMjAxNyBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0
cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRo
b3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9s
bG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Yg
c291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNl
LCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgor
ICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBh
Ym92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5k
IHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5k
L29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgor
ICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIGBgQVMgSVMnJyBBTkQg
QU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9U
IExJTUlURUQgVE8sIFRIRQorICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElU
WSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVE
LiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUgorICogQ09OVFJJQlVUT1JTIEJFIExJ
QUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCisgKiBF
WEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJ
TUlURUQgVE8sCisgKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VT
OyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKKyAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQ
VElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKKyAqIE9GIExJQUJJTElUWSwg
V0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xV
RElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBU
SEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJ
QklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNwcmFnbWEgb25jZQorCisjaWYgRU5BQkxF
KFdFQk1FVEFMKQorCisjaW5jbHVkZSAiR1BVUmVuZGVyUGFzc0Rlc2NyaXB0b3IuaCIKKyNpbmNs
dWRlICJXZWJNZXRhbFJlbmRlclBhc3NDb2xvckF0dGFjaG1lbnREZXNjcmlwdG9yLmgiCisjaW5j
bHVkZSAiV2ViTWV0YWxSZW5kZXJQYXNzRGVwdGhBdHRhY2htZW50RGVzY3JpcHRvci5oIgorI2lu
Y2x1ZGUgPHd0Zi9SZWYuaD4KKyNpbmNsdWRlIDx3dGYvUmVmQ291bnRlZC5oPgorI2luY2x1ZGUg
PHd0Zi9WZWN0b3IuaD4KKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitjbGFzcyBXZWJNZXRhbFJl
bmRlclBhc3NEZXNjcmlwdG9yIDogcHVibGljIFJlZkNvdW50ZWQ8V2ViTWV0YWxSZW5kZXJQYXNz
RGVzY3JpcHRvcj4geworcHVibGljOgorICAgIH5XZWJNZXRhbFJlbmRlclBhc3NEZXNjcmlwdG9y
KCk7CisgICAgc3RhdGljIFJlZjxXZWJNZXRhbFJlbmRlclBhc3NEZXNjcmlwdG9yPiBjcmVhdGUo
KTsKKworICAgIFdlYk1ldGFsUmVuZGVyUGFzc0RlcHRoQXR0YWNobWVudERlc2NyaXB0b3ImIGRl
cHRoQXR0YWNobWVudCgpOworICAgIGNvbnN0IFZlY3RvcjxSZWZQdHI8V2ViTWV0YWxSZW5kZXJQ
YXNzQ29sb3JBdHRhY2htZW50RGVzY3JpcHRvcj4+JiBjb2xvckF0dGFjaG1lbnRzKCk7CisKKyAg
ICBjb25zdCBHUFVSZW5kZXJQYXNzRGVzY3JpcHRvciYgZGVzY3JpcHRvcigpIGNvbnN0IHsgcmV0
dXJuIG1fZGVzY3JpcHRvcjsgfQorCitwcml2YXRlOgorICAgIFdlYk1ldGFsUmVuZGVyUGFzc0Rl
c2NyaXB0b3IoKTsKKworICAgIFZlY3RvcjxSZWZQdHI8V2ViTWV0YWxSZW5kZXJQYXNzQ29sb3JB
dHRhY2htZW50RGVzY3JpcHRvcj4+IG1fY29sb3JBdHRhY2htZW50czsKKyAgICBSZWZQdHI8V2Vi
TWV0YWxSZW5kZXJQYXNzRGVwdGhBdHRhY2htZW50RGVzY3JpcHRvcj4gbV9kZXB0aEF0dGFjaG1l
bnQ7CisKKyAgICBHUFVSZW5kZXJQYXNzRGVzY3JpcHRvciBtX2Rlc2NyaXB0b3I7Cit9OworICAg
IAorfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorCisjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2h0bWwvY2FudmFzL1dlYk1ldGFsUmVuZGVyUGFzc0Rlc2NyaXB0b3IuaWRsIGIvU291
cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViTWV0YWxSZW5kZXJQYXNzRGVzY3JpcHRvci5pZGwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uMmYzZmVlY2I5Y2Y1M2M1OTA5MzgyMzg1ZmY1OTE4ODA4YTJmZjAyMQotLS0g
L2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYk1ldGFsUmVuZGVy
UGFzc0Rlc2NyaXB0b3IuaWRsCkBAIC0wLDAgKzEsNDAgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMp
IDIwMTcgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0
aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAor
ICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2lu
ZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJj
ZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhp
cyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIu
IFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUg
Y29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUg
Zm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBv
dGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRI
SVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBgYEFTIElTJycgQU5EIEFOWQor
ICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1J
VEVEIFRPLCBUSEUKKyAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5E
IEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElO
IE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IKKyAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUg
Rk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAorICogRVhFTVBM
QVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVE
IFRPLAorICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9T
UyBPRiBVU0UsIERBVEEsIE9SCisgKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04p
IEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCisgKiBPRiBMSUFCSUxJVFksIFdIRVRI
RVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcg
TkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVT
RQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElU
WSBPRiBTVUNIIERBTUFHRS4KKyAqLworCitbCisgICAgQ29uc3RydWN0b3IsCisgICAgQ29uZGl0
aW9uYWw9V0VCTUVUQUwsCisgICAgRW5hYmxlZEF0UnVudGltZT1XZWJNZXRhbCwKKyAgICBJbXBs
ZW1lbnRhdGlvbkxhY2tzVlRhYmxlCitdIGludGVyZmFjZSBXZWJNZXRhbFJlbmRlclBhc3NEZXNj
cmlwdG9yIHsKKworICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBzZXF1ZW5jZTxXZWJNZXRhbFJlbmRl
clBhc3NDb2xvckF0dGFjaG1lbnREZXNjcmlwdG9yPiBjb2xvckF0dGFjaG1lbnRzOworICAgIHJl
YWRvbmx5IGF0dHJpYnV0ZSBXZWJNZXRhbFJlbmRlclBhc3NEZXB0aEF0dGFjaG1lbnREZXNjcmlw
dG9yIGRlcHRoQXR0YWNobWVudDsKKyAgICAvL3JlYWRvbmx5IGF0dHJpYnV0ZSBXZWJNZXRhbFJl
bmRlclBhc3NTdGVuY2lsQXR0YWNobWVudERlc2NyaXB0b3Igc3RlbmNpbEF0dGFjaG1lbnQ7CisK
KyAgICAvLyByZW5kZXJUYXJnZXRBcnJheUxlbmd0aAorICAgIC8vIHZpc2liaWxpdHlSZXN1bHRC
dWZmZXIKKworfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYk1l
dGFsUmVuZGVyUGlwZWxpbmVDb2xvckF0dGFjaG1lbnREZXNjcmlwdG9yLmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL2h0bWwvY2FudmFzL1dlYk1ldGFsUmVuZGVyUGlwZWxpbmVDb2xvckF0dGFjaG1lbnRE
ZXNjcmlwdG9yLmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41YzZkOTYyMGYzYTk4ZTJiOTFhMTE0ZTBmZDBmZmM4
ZWZjMWFjZTg5Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMv
V2ViTWV0YWxSZW5kZXJQaXBlbGluZUNvbG9yQXR0YWNobWVudERlc2NyaXB0b3IuY3BwCkBAIC0w
LDAgKzEsNTUgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTcgQXBwbGUgSW5jLiBBbGwgcmln
aHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFu
ZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVy
bWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0
OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBh
Ym92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5k
IHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5h
cnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2Us
IHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4g
dGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQg
d2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQg
QlkgQVBQTEUgSU5DLiBgYEFTIElTJycgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdB
UlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKKyAqIElNUExJRUQg
V0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxB
UgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElO
Qy4gT1IKKyAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNU
LCBJTkNJREVOVEFMLCBTUEVDSUFMLAorICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERB
TUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogUFJPQ1VSRU1FTlQgT0Yg
U1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCisgKiBQ
Uk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBB
TlkgVEhFT1JZCisgKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBM
SUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0Up
IEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwg
RVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLwor
CisjaW5jbHVkZSAiY29uZmlnLmgiCisjaW5jbHVkZSAiV2ViTWV0YWxSZW5kZXJQaXBlbGluZUNv
bG9yQXR0YWNobWVudERlc2NyaXB0b3IuaCIKKworI2lmIEVOQUJMRShXRUJNRVRBTCkKKworbmFt
ZXNwYWNlIFdlYkNvcmUgeworCitSZWY8V2ViTWV0YWxSZW5kZXJQaXBlbGluZUNvbG9yQXR0YWNo
bWVudERlc2NyaXB0b3I+IFdlYk1ldGFsUmVuZGVyUGlwZWxpbmVDb2xvckF0dGFjaG1lbnREZXNj
cmlwdG9yOjpjcmVhdGUoR1BVUmVuZGVyUGlwZWxpbmVDb2xvckF0dGFjaG1lbnREZXNjcmlwdG9y
JiYgZGVzY3JpcHRvcikKK3sKKyAgICByZXR1cm4gYWRvcHRSZWYoKm5ldyBXZWJNZXRhbFJlbmRl
clBpcGVsaW5lQ29sb3JBdHRhY2htZW50RGVzY3JpcHRvcihXVEZNb3ZlKGRlc2NyaXB0b3IpKSk7
Cit9CisKK1dlYk1ldGFsUmVuZGVyUGlwZWxpbmVDb2xvckF0dGFjaG1lbnREZXNjcmlwdG9yOjpX
ZWJNZXRhbFJlbmRlclBpcGVsaW5lQ29sb3JBdHRhY2htZW50RGVzY3JpcHRvcihHUFVSZW5kZXJQ
aXBlbGluZUNvbG9yQXR0YWNobWVudERlc2NyaXB0b3ImJiBkZXNjcmlwdG9yKQorICAgIDogbV9k
ZXNjcmlwdG9yIHsgV1RGTW92ZShkZXNjcmlwdG9yKSB9Cit7Cit9CisKK3Vuc2lnbmVkIFdlYk1l
dGFsUmVuZGVyUGlwZWxpbmVDb2xvckF0dGFjaG1lbnREZXNjcmlwdG9yOjpwaXhlbEZvcm1hdCgp
IGNvbnN0Cit7CisgICAgcmV0dXJuIG1fZGVzY3JpcHRvci5waXhlbEZvcm1hdCgpOworfQorCit2
b2lkIFdlYk1ldGFsUmVuZGVyUGlwZWxpbmVDb2xvckF0dGFjaG1lbnREZXNjcmlwdG9yOjpzZXRQ
aXhlbEZvcm1hdCh1bnNpZ25lZCBuZXdQaXhlbEZvcm1hdCkKK3sKKyAgICBtX2Rlc2NyaXB0b3Iu
c2V0UGl4ZWxGb3JtYXQobmV3UGl4ZWxGb3JtYXQpOworfQorCit9IC8vIG5hbWVzcGFjZSBXZWJD
b3JlCisKKyNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2Vi
TWV0YWxSZW5kZXJQaXBlbGluZUNvbG9yQXR0YWNobWVudERlc2NyaXB0b3IuaCBiL1NvdXJjZS9X
ZWJDb3JlL2h0bWwvY2FudmFzL1dlYk1ldGFsUmVuZGVyUGlwZWxpbmVDb2xvckF0dGFjaG1lbnRE
ZXNjcmlwdG9yLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYjY2ZWY1MjVjNTExMTcwMWJiNTdmNzM1NTBlNmUyZjY2
NjRlNDRkZQotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dl
Yk1ldGFsUmVuZGVyUGlwZWxpbmVDb2xvckF0dGFjaG1lbnREZXNjcmlwdG9yLmgKQEAgLTAsMCAr
MSw1MSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxNyBBcHBsZSBJbmMuIEFsbCByaWdodHMg
cmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJp
bmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0
ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6Cisg
KiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3Zl
IGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhl
IGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBm
b3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhp
cyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUK
KyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRo
IHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBB
UFBMRSBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFO
VElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQorICogSU1QTElFRCBXQVJS
QU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisg
KiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBP
UgorICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElO
Q0lERU5UQUwsIFNQRUNJQUwsCisgKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdF
UyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBQUk9DVVJFTUVOVCBPRiBTVUJT
VElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKKyAqIFBST0ZJ
VFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBU
SEVPUlkKKyAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJ
TElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJ
U0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVO
IElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNw
cmFnbWEgb25jZQorCisjaWYgRU5BQkxFKFdFQk1FVEFMKQorCisjaW5jbHVkZSAiR1BVUmVuZGVy
UGlwZWxpbmVDb2xvckF0dGFjaG1lbnREZXNjcmlwdG9yLmgiCisjaW5jbHVkZSA8d3RmL1JlZi5o
PgorI2luY2x1ZGUgPHd0Zi9SZWZDb3VudGVkLmg+CisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKwor
Y2xhc3MgV2ViTWV0YWxSZW5kZXJQaXBlbGluZUNvbG9yQXR0YWNobWVudERlc2NyaXB0b3IgOiBw
dWJsaWMgUmVmQ291bnRlZDxXZWJNZXRhbFJlbmRlclBpcGVsaW5lQ29sb3JBdHRhY2htZW50RGVz
Y3JpcHRvcj4geworcHVibGljOgorICAgIHN0YXRpYyBSZWY8V2ViTWV0YWxSZW5kZXJQaXBlbGlu
ZUNvbG9yQXR0YWNobWVudERlc2NyaXB0b3I+IGNyZWF0ZShHUFVSZW5kZXJQaXBlbGluZUNvbG9y
QXR0YWNobWVudERlc2NyaXB0b3ImJik7CisKKyAgICB1bnNpZ25lZCBwaXhlbEZvcm1hdCgpIGNv
bnN0OworICAgIHZvaWQgc2V0UGl4ZWxGb3JtYXQodW5zaWduZWQpOworCitwcml2YXRlOgorICAg
IGV4cGxpY2l0IFdlYk1ldGFsUmVuZGVyUGlwZWxpbmVDb2xvckF0dGFjaG1lbnREZXNjcmlwdG9y
KEdQVVJlbmRlclBpcGVsaW5lQ29sb3JBdHRhY2htZW50RGVzY3JpcHRvciYmKTsKKworICAgIEdQ
VVJlbmRlclBpcGVsaW5lQ29sb3JBdHRhY2htZW50RGVzY3JpcHRvciBtX2Rlc2NyaXB0b3I7Cit9
OworICAgIAorfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorCisjZW5kaWYKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYk1ldGFsUmVuZGVyUGlwZWxpbmVDb2xvckF0dGFj
aG1lbnREZXNjcmlwdG9yLmlkbCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYk1ldGFs
UmVuZGVyUGlwZWxpbmVDb2xvckF0dGFjaG1lbnREZXNjcmlwdG9yLmlkbApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42
OThjZDVhYTkzZmIyMTk0NmIzYjc4NTkzMWNkODc2ZDIyZjUzYTZlCi0tLSAvZGV2L251bGwKKysr
IGIvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViTWV0YWxSZW5kZXJQaXBlbGluZUNvbG9y
QXR0YWNobWVudERlc2NyaXB0b3IuaWRsCkBAIC0wLDAgKzEsMzQgQEAKKy8qCisgKiBDb3B5cmln
aHQgKEMpIDIwMTcgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlz
dHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0
aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZv
bGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9m
IHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGlj
ZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4K
KyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUg
YWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFu
ZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFu
ZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoK
KyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBgYEFTIElTJycgQU5E
IEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5P
VCBMSU1JVEVEIFRPLCBUSEUKKyAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJ
VFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1F
RC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IKKyAqIENPTlRSSUJVVE9SUyBCRSBM
SUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAorICog
RVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBM
SU1JVEVEIFRPLAorICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNF
UzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCisgKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJV
UFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCisgKiBPRiBMSUFCSUxJVFks
IFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNM
VURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0Yg
VEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NT
SUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCitbCisgICAgQ29uZGl0aW9uYWw9V0VCTUVU
QUwsCisgICAgRW5hYmxlZEF0UnVudGltZT1XZWJNZXRhbCwKKyAgICBJbXBsZW1lbnRhdGlvbkxh
Y2tzVlRhYmxlCitdIGludGVyZmFjZSBXZWJNZXRhbFJlbmRlclBpcGVsaW5lQ29sb3JBdHRhY2ht
ZW50RGVzY3JpcHRvciB7CisKKyAgICBhdHRyaWJ1dGUgdW5zaWduZWQgbG9uZyBwaXhlbEZvcm1h
dDsgLy8gc2hvdWxkIGJlIE1UTFBpeGVsRm9ybWF0CisKK307CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9odG1sL2NhbnZhcy9XZWJNZXRhbFJlbmRlclBpcGVsaW5lRGVzY3JpcHRvci5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJNZXRhbFJlbmRlclBpcGVsaW5lRGVzY3Jp
cHRvci5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uMGM3MTI4MDFkZTIzMzIwMDEzOWNjNGRmMTBjMTFiMDJmMjVl
Y2Q3ZQotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYk1l
dGFsUmVuZGVyUGlwZWxpbmVEZXNjcmlwdG9yLmNwcApAQCAtMCwwICsxLDExMCBAQAorLyoKKyAq
IENvcHlyaWdodCAoQykgMjAxNyBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgor
ICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0
aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhh
dCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1
dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICog
ICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNj
bGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9k
dWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRp
dGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50
YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRp
b24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIGBgQVMg
SVMnJyBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5H
LCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQorICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNI
QU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBE
SVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUgorICogQ09OVFJJQlVU
T1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJ
QUwsCisgKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBC
VVQgTk9UIExJTUlURUQgVE8sCisgKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9S
IFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKKyAqIFBST0ZJVFM7IE9SIEJVU0lORVNT
IElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKKyAqIE9GIExJ
QUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAor
ICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZ
IE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0Yg
VEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpbmNsdWRlICJjb25maWcu
aCIKKyNpbmNsdWRlICJXZWJNZXRhbFJlbmRlclBpcGVsaW5lRGVzY3JpcHRvci5oIgorCisjaWYg
RU5BQkxFKFdFQk1FVEFMKQorCisjaW5jbHVkZSAiR1BVRnVuY3Rpb24uaCIKKyNpbmNsdWRlICJH
UFVSZW5kZXJQaXBlbGluZUNvbG9yQXR0YWNobWVudERlc2NyaXB0b3IuaCIKKyNpbmNsdWRlICJX
ZWJNZXRhbEZ1bmN0aW9uLmgiCisjaW5jbHVkZSAiV2ViTWV0YWxSZW5kZXJQaXBlbGluZUNvbG9y
QXR0YWNobWVudERlc2NyaXB0b3IuaCIKKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitSZWY8V2Vi
TWV0YWxSZW5kZXJQaXBlbGluZURlc2NyaXB0b3I+IFdlYk1ldGFsUmVuZGVyUGlwZWxpbmVEZXNj
cmlwdG9yOjpjcmVhdGUoKQoreworICAgIHJldHVybiBhZG9wdFJlZigqbmV3IFdlYk1ldGFsUmVu
ZGVyUGlwZWxpbmVEZXNjcmlwdG9yKTsKK30KKworV2ViTWV0YWxSZW5kZXJQaXBlbGluZURlc2Ny
aXB0b3I6OldlYk1ldGFsUmVuZGVyUGlwZWxpbmVEZXNjcmlwdG9yKCkgPSBkZWZhdWx0OworCitX
ZWJNZXRhbFJlbmRlclBpcGVsaW5lRGVzY3JpcHRvcjo6fldlYk1ldGFsUmVuZGVyUGlwZWxpbmVE
ZXNjcmlwdG9yKCkgPSBkZWZhdWx0OworCitXZWJNZXRhbEZ1bmN0aW9uKiBXZWJNZXRhbFJlbmRl
clBpcGVsaW5lRGVzY3JpcHRvcjo6dmVydGV4RnVuY3Rpb24oKSBjb25zdAoreworICAgIHJldHVy
biBtX3ZlcnRleEZ1bmN0aW9uLmdldCgpOworfQorCit2b2lkIFdlYk1ldGFsUmVuZGVyUGlwZWxp
bmVEZXNjcmlwdG9yOjpzZXRWZXJ0ZXhGdW5jdGlvbihSZWZQdHI8V2ViTWV0YWxGdW5jdGlvbj4m
JiBuZXdWZXJ0ZXhGdW5jdGlvbikKK3sKKyAgICAvLyBGSVhNRTogV2h5IGNhbid0IHdlIHNldCB0
aGlzIHRvIG51bGw/CisgICAgaWYgKCFuZXdWZXJ0ZXhGdW5jdGlvbikKKyAgICAgICAgcmV0dXJu
OworCisgICAgbV92ZXJ0ZXhGdW5jdGlvbiA9IFdURk1vdmUobmV3VmVydGV4RnVuY3Rpb24pOwor
CisgICAgbV9kZXNjcmlwdG9yLnNldFZlcnRleEZ1bmN0aW9uKG1fdmVydGV4RnVuY3Rpb24tPmZ1
bmN0aW9uKCkpOworfQorCitXZWJNZXRhbEZ1bmN0aW9uKiBXZWJNZXRhbFJlbmRlclBpcGVsaW5l
RGVzY3JpcHRvcjo6ZnJhZ21lbnRGdW5jdGlvbigpIGNvbnN0Cit7CisgICAgcmV0dXJuIG1fZnJh
Z21lbnRGdW5jdGlvbi5nZXQoKTsKK30KKwordm9pZCBXZWJNZXRhbFJlbmRlclBpcGVsaW5lRGVz
Y3JpcHRvcjo6c2V0RnJhZ21lbnRGdW5jdGlvbihSZWZQdHI8V2ViTWV0YWxGdW5jdGlvbj4mJiBu
ZXdGcmFnbWVudEZ1bmN0aW9uKQoreworICAgIC8vIEZJWE1FOiBXaHkgY2FuJ3Qgd2Ugc2V0IHRo
aXMgdG8gbnVsbD8KKyAgICBpZiAoIW5ld0ZyYWdtZW50RnVuY3Rpb24pCisgICAgICAgIHJldHVy
bjsKKworICAgIG1fZnJhZ21lbnRGdW5jdGlvbiA9IFdURk1vdmUobmV3RnJhZ21lbnRGdW5jdGlv
bik7CisKKyAgICBtX2Rlc2NyaXB0b3Iuc2V0RnJhZ21lbnRGdW5jdGlvbihtX2ZyYWdtZW50RnVu
Y3Rpb24tPmZ1bmN0aW9uKCkpOworfQorCitjb25zdCBWZWN0b3I8UmVmUHRyPFdlYk1ldGFsUmVu
ZGVyUGlwZWxpbmVDb2xvckF0dGFjaG1lbnREZXNjcmlwdG9yPj4mIFdlYk1ldGFsUmVuZGVyUGlw
ZWxpbmVEZXNjcmlwdG9yOjpjb2xvckF0dGFjaG1lbnRzKCkKK3sKKyAgICBpZiAoIW1fY29sb3JB
dHRhY2htZW50cy5zaXplKCkpIHsKKyAgICAgICAgYXV0byBhdHRhY2htZW50cyA9IG1fZGVzY3Jp
cHRvci5jb2xvckF0dGFjaG1lbnRzKCk7CisgICAgICAgIG1fY29sb3JBdHRhY2htZW50cy5yZXNl
cnZlSW5pdGlhbENhcGFjaXR5KGF0dGFjaG1lbnRzLnNpemUoKSk7CisgICAgICAgIGZvciAoYXV0
byYgYXR0YWNobWVudCA6IGF0dGFjaG1lbnRzKQorICAgICAgICAgICAgbV9jb2xvckF0dGFjaG1l
bnRzLnVuY2hlY2tlZEFwcGVuZChXZWJNZXRhbFJlbmRlclBpcGVsaW5lQ29sb3JBdHRhY2htZW50
RGVzY3JpcHRvcjo6Y3JlYXRlKFdURk1vdmUoYXR0YWNobWVudCkpKTsKKyAgICB9CisgICAgcmV0
dXJuIG1fY29sb3JBdHRhY2htZW50czsKK30KKwordW5zaWduZWQgV2ViTWV0YWxSZW5kZXJQaXBl
bGluZURlc2NyaXB0b3I6OmRlcHRoQXR0YWNobWVudFBpeGVsRm9ybWF0KCkgY29uc3QKK3sKKyAg
ICByZXR1cm4gbV9kZXNjcmlwdG9yLmRlcHRoQXR0YWNobWVudFBpeGVsRm9ybWF0KCk7Cit9CisK
K3ZvaWQgV2ViTWV0YWxSZW5kZXJQaXBlbGluZURlc2NyaXB0b3I6OnNldERlcHRoQXR0YWNobWVu
dFBpeGVsRm9ybWF0KHVuc2lnbmVkIG5ld1BpeGVsRm9ybWF0KQoreworICAgIG1fZGVzY3JpcHRv
ci5zZXREZXB0aEF0dGFjaG1lbnRQaXhlbEZvcm1hdChuZXdQaXhlbEZvcm1hdCk7Cit9CisKK3Zv
aWQgV2ViTWV0YWxSZW5kZXJQaXBlbGluZURlc2NyaXB0b3I6OnJlc2V0KCkKK3sKKyAgICBtX3Zl
cnRleEZ1bmN0aW9uID0gbnVsbHB0cjsKKyAgICBtX2ZyYWdtZW50RnVuY3Rpb24gPSBudWxscHRy
OworCisgICAgLy8gRklYTUU6IFdoeSBkb2Vzbid0IHRoaXMgY2xlYXIgb3V0IHRoZSBmdW5jdGlv
bnMgb24gbV9kZXNjcmlwdG9yPworfQorCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKKyNlbmRp
ZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViTWV0YWxSZW5kZXJQ
aXBlbGluZURlc2NyaXB0b3IuaCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYk1ldGFs
UmVuZGVyUGlwZWxpbmVEZXNjcmlwdG9yLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uOGEwNjIwMDAwMWNmZjU0OTg1
MTc3MzkyMmZjMThlODI5NWM2NzEyNgotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L2h0bWwvY2FudmFzL1dlYk1ldGFsUmVuZGVyUGlwZWxpbmVEZXNjcmlwdG9yLmgKQEAgLTAsMCAr
MSw3NiBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxNyBBcHBsZSBJbmMuIEFsbCByaWdodHMg
cmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJp
bmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0
ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6Cisg
KiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3Zl
IGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhl
IGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBm
b3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhp
cyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUK
KyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRo
IHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBB
UFBMRSBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFO
VElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQorICogSU1QTElFRCBXQVJS
QU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisg
KiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBP
UgorICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElO
Q0lERU5UQUwsIFNQRUNJQUwsCisgKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdF
UyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBQUk9DVVJFTUVOVCBPRiBTVUJT
VElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKKyAqIFBST0ZJ
VFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBU
SEVPUlkKKyAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJ
TElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJ
U0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVO
IElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNw
cmFnbWEgb25jZQorCisjaWYgRU5BQkxFKFdFQk1FVEFMKQorCisjaW5jbHVkZSAiR1BVUmVuZGVy
UGlwZWxpbmVEZXNjcmlwdG9yLmgiCisjaW5jbHVkZSAiV2ViTWV0YWxSZW5kZXJQaXBlbGluZUNv
bG9yQXR0YWNobWVudERlc2NyaXB0b3IuaCIKKyNpbmNsdWRlIDx3dGYvUmVmLmg+CisjaW5jbHVk
ZSA8d3RmL1JlZkNvdW50ZWQuaD4KKyNpbmNsdWRlIDx3dGYvVmVjdG9yLmg+CisKK25hbWVzcGFj
ZSBXZWJDb3JlIHsKKworY2xhc3MgR1BVRnVuY3Rpb247CitjbGFzcyBHUFVSZW5kZXJQaXBlbGlu
ZURlc2NyaXB0b3I7CitjbGFzcyBXZWJNZXRhbEZ1bmN0aW9uOworY2xhc3MgV2ViTWV0YWxSZW5k
ZXJQaXBlbGluZUNvbG9yQXR0YWNobWVudERlc2NyaXB0b3I7CisKK2NsYXNzIFdlYk1ldGFsUmVu
ZGVyUGlwZWxpbmVEZXNjcmlwdG9yIDogcHVibGljIFJlZkNvdW50ZWQ8V2ViTWV0YWxSZW5kZXJQ
aXBlbGluZURlc2NyaXB0b3I+IHsKK3B1YmxpYzoKKyAgICB+V2ViTWV0YWxSZW5kZXJQaXBlbGlu
ZURlc2NyaXB0b3IoKTsKKyAgICBzdGF0aWMgUmVmPFdlYk1ldGFsUmVuZGVyUGlwZWxpbmVEZXNj
cmlwdG9yPiBjcmVhdGUoKTsKKworICAgIFdlYk1ldGFsRnVuY3Rpb24qIHZlcnRleEZ1bmN0aW9u
KCkgY29uc3Q7CisgICAgdm9pZCBzZXRWZXJ0ZXhGdW5jdGlvbihSZWZQdHI8V2ViTWV0YWxGdW5j
dGlvbj4mJik7CisKKyAgICBXZWJNZXRhbEZ1bmN0aW9uKiBmcmFnbWVudEZ1bmN0aW9uKCkgY29u
c3Q7CisgICAgdm9pZCBzZXRGcmFnbWVudEZ1bmN0aW9uKFJlZlB0cjxXZWJNZXRhbEZ1bmN0aW9u
PiYmKTsKKworICAgIGNvbnN0IFZlY3RvcjxSZWZQdHI8V2ViTWV0YWxSZW5kZXJQaXBlbGluZUNv
bG9yQXR0YWNobWVudERlc2NyaXB0b3I+PiYgY29sb3JBdHRhY2htZW50cygpOworCisgICAgdW5z
aWduZWQgZGVwdGhBdHRhY2htZW50UGl4ZWxGb3JtYXQoKSBjb25zdDsKKyAgICB2b2lkIHNldERl
cHRoQXR0YWNobWVudFBpeGVsRm9ybWF0KHVuc2lnbmVkKTsKKworICAgIHZvaWQgcmVzZXQoKTsK
KworICAgIGNvbnN0IEdQVVJlbmRlclBpcGVsaW5lRGVzY3JpcHRvciYgZGVzY3JpcHRvcigpIHsg
cmV0dXJuIG1fZGVzY3JpcHRvcjsgfQorCitwcml2YXRlOgorICAgIFdlYk1ldGFsUmVuZGVyUGlw
ZWxpbmVEZXNjcmlwdG9yKCk7CisKKyAgICBSZWZQdHI8V2ViTWV0YWxGdW5jdGlvbj4gbV92ZXJ0
ZXhGdW5jdGlvbjsKKyAgICBSZWZQdHI8V2ViTWV0YWxGdW5jdGlvbj4gbV9mcmFnbWVudEZ1bmN0
aW9uOworCisgICAgVmVjdG9yPFJlZlB0cjxXZWJNZXRhbFJlbmRlclBpcGVsaW5lQ29sb3JBdHRh
Y2htZW50RGVzY3JpcHRvcj4+IG1fY29sb3JBdHRhY2htZW50czsKKworICAgIEdQVVJlbmRlclBp
cGVsaW5lRGVzY3JpcHRvciBtX2Rlc2NyaXB0b3I7Cit9OworCit9IC8vIG5hbWVzcGFjZSBXZWJD
b3JlCisKKyNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2Vi
TWV0YWxSZW5kZXJQaXBlbGluZURlc2NyaXB0b3IuaWRsIGIvU291cmNlL1dlYkNvcmUvaHRtbC9j
YW52YXMvV2ViTWV0YWxSZW5kZXJQaXBlbGluZURlc2NyaXB0b3IuaWRsCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjI1
NmQxYmVkOWI2NjUzMmNkMDBiY2VkN2YyODJiNjhmMWE3ZDEyYjEKLS0tIC9kZXYvbnVsbAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJNZXRhbFJlbmRlclBpcGVsaW5lRGVzY3Jp
cHRvci5pZGwKQEAgLTAsMCArMSw0MiBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxNyBBcHBs
ZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVz
ZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmlj
YXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlv
bnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVz
dCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2Yg
Y29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmli
dXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQK
KyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcg
ZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVy
aWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FS
RSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCisgKiBFWFBSRVNT
IE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRI
RQorICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBG
T1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQg
U0hBTEwgQVBQTEUgSU5DLiBPUgorICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJ
UkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCisgKiBFWEVNUExBUlksIE9SIENP
TlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBQ
Uk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwg
REFUQSwgT1IKKyAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBD
QVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKKyAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05U
UkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNF
IE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBU
SElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0gg
REFNQUdFLgorICovCisKK1sKKyAgICBDb25zdHJ1Y3RvciwKKyAgICBDb25kaXRpb25hbD1XRUJN
RVRBTCwKKyAgICBFbmFibGVkQXRSdW50aW1lPVdlYk1ldGFsLAorICAgIEltcGxlbWVudGF0aW9u
TGFja3NWVGFibGUKK10gaW50ZXJmYWNlIFdlYk1ldGFsUmVuZGVyUGlwZWxpbmVEZXNjcmlwdG9y
IHsKKworICAgIGF0dHJpYnV0ZSBXZWJNZXRhbEZ1bmN0aW9uPyB2ZXJ0ZXhGdW5jdGlvbjsKKyAg
ICBhdHRyaWJ1dGUgV2ViTWV0YWxGdW5jdGlvbj8gZnJhZ21lbnRGdW5jdGlvbjsKKworICAgIHJl
YWRvbmx5IGF0dHJpYnV0ZSBzZXF1ZW5jZTxXZWJNZXRhbFJlbmRlclBpcGVsaW5lQ29sb3JBdHRh
Y2htZW50RGVzY3JpcHRvcj4gY29sb3JBdHRhY2htZW50czsKKworICAgIGF0dHJpYnV0ZSB1bnNp
Z25lZCBsb25nIGRlcHRoQXR0YWNobWVudFBpeGVsRm9ybWF0OworCisgICAgdm9pZCByZXNldCgp
OworCit9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViTWV0YWxS
ZW5kZXJQaXBlbGluZVN0YXRlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYk1l
dGFsUmVuZGVyUGlwZWxpbmVTdGF0ZS5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjEzOGJmZmRmMmQ4MTQyZDMw
MzFiZTM4ZjYxMzNkY2RhYjIxOTRkZgotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L2h0bWwvY2FudmFzL1dlYk1ldGFsUmVuZGVyUGlwZWxpbmVTdGF0ZS5jcHAKQEAgLTAsMCArMSw1
NSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxNyBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVz
ZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFy
eSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQg
cHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAx
LiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNv
cHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3Jt
IG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBs
aXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAq
ICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRo
ZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBM
RSBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElF
UywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQorICogSU1QTElFRCBXQVJSQU5U
SUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQ
VVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUgor
ICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lE
RU5UQUwsIFNQRUNJQUwsCisgKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAo
SU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElU
VVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKKyAqIFBST0ZJVFM7
IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVP
UlkKKyAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElU
WSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lO
RyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElG
IEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpbmNs
dWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJXZWJNZXRhbFJlbmRlclBpcGVsaW5lU3RhdGUuaCIK
KworI2lmIEVOQUJMRShXRUJNRVRBTCkKKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitSZWY8V2Vi
TWV0YWxSZW5kZXJQaXBlbGluZVN0YXRlPiBXZWJNZXRhbFJlbmRlclBpcGVsaW5lU3RhdGU6OmNy
ZWF0ZShHUFVSZW5kZXJQaXBlbGluZVN0YXRlJiYgc3RhdGUpCit7CisgICAgcmV0dXJuIGFkb3B0
UmVmKCpuZXcgV2ViTWV0YWxSZW5kZXJQaXBlbGluZVN0YXRlKFdURk1vdmUoc3RhdGUpKSk7Cit9
CisKK1dlYk1ldGFsUmVuZGVyUGlwZWxpbmVTdGF0ZTo6V2ViTWV0YWxSZW5kZXJQaXBlbGluZVN0
YXRlKEdQVVJlbmRlclBpcGVsaW5lU3RhdGUmJiBzdGF0ZSkKKyAgICA6IG1fc3RhdGUgeyBXVEZN
b3ZlKHN0YXRlKSB9Cit7Cit9CisKK1N0cmluZyBXZWJNZXRhbFJlbmRlclBpcGVsaW5lU3RhdGU6
OmxhYmVsKCkgY29uc3QKK3sKKyAgICByZXR1cm4gbV9zdGF0ZS5sYWJlbCgpOworfQorCit2b2lk
IFdlYk1ldGFsUmVuZGVyUGlwZWxpbmVTdGF0ZTo6c2V0TGFiZWwoY29uc3QgU3RyaW5nJiBsYWJl
bCkKK3sKKyAgICBtX3N0YXRlLnNldExhYmVsKGxhYmVsKTsKK30KKworfSAvLyBuYW1lc3BhY2Ug
V2ViQ29yZQorCisjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFz
L1dlYk1ldGFsUmVuZGVyUGlwZWxpbmVTdGF0ZS5oIGIvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52
YXMvV2ViTWV0YWxSZW5kZXJQaXBlbGluZVN0YXRlLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODhmNzk5ZGY0ZTBj
NWI4OWZhYTU4MzZiNDM0MjQ5MDA0ZDM3MzBjMgotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2h0bWwvY2FudmFzL1dlYk1ldGFsUmVuZGVyUGlwZWxpbmVTdGF0ZS5oCkBAIC0wLDAg
KzEsNTMgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTcgQXBwbGUgSW5jLiBBbGwgcmlnaHRz
IHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBi
aW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0
dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0Ogor
ICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92
ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRo
ZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkg
Zm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRo
aXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhl
CisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0
aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkg
QVBQTEUgSU5DLiBgYEFTIElTJycgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJB
TlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKKyAqIElNUExJRUQgV0FS
UkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgor
ICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4g
T1IKKyAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJ
TkNJREVOVEFMLCBTUEVDSUFMLAorICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFH
RVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogUFJPQ1VSRU1FTlQgT0YgU1VC
U1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCisgKiBQUk9G
SVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkg
VEhFT1JZCisgKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFC
SUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFS
SVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZF
TiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisj
cHJhZ21hIG9uY2UKKworI2lmIEVOQUJMRShXRUJNRVRBTCkKKworI2luY2x1ZGUgIkdQVVJlbmRl
clBpcGVsaW5lU3RhdGUuaCIKKyNpbmNsdWRlIDx3dGYvUmVmLmg+CisjaW5jbHVkZSA8d3RmL1Jl
ZkNvdW50ZWQuaD4KKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitjbGFzcyBXZWJNZXRhbFJlbmRl
clBpcGVsaW5lU3RhdGUgOiBwdWJsaWMgUmVmQ291bnRlZDxXZWJNZXRhbFJlbmRlclBpcGVsaW5l
U3RhdGU+IHsKK3B1YmxpYzoKKyAgICBzdGF0aWMgUmVmPFdlYk1ldGFsUmVuZGVyUGlwZWxpbmVT
dGF0ZT4gY3JlYXRlKEdQVVJlbmRlclBpcGVsaW5lU3RhdGUmJik7CisKKyAgICBTdHJpbmcgbGFi
ZWwoKSBjb25zdDsKKyAgICB2b2lkIHNldExhYmVsKGNvbnN0IFN0cmluZyYpOworCisgICAgY29u
c3QgR1BVUmVuZGVyUGlwZWxpbmVTdGF0ZSYgc3RhdGUoKSBjb25zdCB7IHJldHVybiBtX3N0YXRl
OyB9CisKK3ByaXZhdGU6CisgICAgZXhwbGljaXQgV2ViTWV0YWxSZW5kZXJQaXBlbGluZVN0YXRl
KEdQVVJlbmRlclBpcGVsaW5lU3RhdGUmJik7CisKKyAgICBHUFVSZW5kZXJQaXBlbGluZVN0YXRl
IG1fc3RhdGU7Cit9OworICAgIAorfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorCisjZW5kaWYKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYk1ldGFsUmVuZGVyUGlwZWxp
bmVTdGF0ZS5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJNZXRhbFJlbmRlclBp
cGVsaW5lU3RhdGUuaWRsCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjBjMWU4YWNiNGYyMGQyYWVjMzgwOTdhOTI4OWVj
MDRmMjdkNWRkMTEKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZh
cy9XZWJNZXRhbFJlbmRlclBpcGVsaW5lU3RhdGUuaWRsCkBAIC0wLDAgKzEsMzQgQEAKKy8qCisg
KiBDb3B5cmlnaHQgKEMpIDIwMTcgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoK
KyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdp
dGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRo
YXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmli
dXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAq
ICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlz
Y2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJv
ZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25k
aXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVu
dGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0
aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBgYEFT
IElTJycgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElO
RywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKKyAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJD
SEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUg
RElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IKKyAqIENPTlRSSUJV
VE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVD
SUFMLAorICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywg
QlVUIE5PVCBMSU1JVEVEIFRPLAorICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBP
UiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCisgKiBQUk9GSVRTOyBPUiBCVVNJTkVT
UyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCisgKiBPRiBM
SUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQK
KyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdB
WSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9G
IFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCitbCisgICAgQ29uZGl0aW9u
YWw9V0VCTUVUQUwsCisgICAgRW5hYmxlZEF0UnVudGltZT1XZWJNZXRhbCwKKyAgICBJbXBsZW1l
bnRhdGlvbkxhY2tzVlRhYmxlCitdIGludGVyZmFjZSBXZWJNZXRhbFJlbmRlclBpcGVsaW5lU3Rh
dGUgeworCisgICAgYXR0cmlidXRlIERPTVN0cmluZyBsYWJlbDsKKworfTsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYk1ldGFsUmVuZGVyaW5nQ29udGV4dC5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJNZXRhbFJlbmRlcmluZ0NvbnRleHQuY3Bw
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjE2OWVhYmQ0N2RmNjJiZDU2ZGExNzNjNmQ0Mjg1MjM3MGUzNmY2MjAKLS0t
IC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJNZXRhbFJlbmRl
cmluZ0NvbnRleHQuY3BwCkBAIC0wLDAgKzEsMTk2IEBACisvKgorICogQ29weXJpZ2h0IChDKSAy
MDE3IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAx
NyBZdWljaGlybyBLaWt1cmEgKHkua2lrdXJhQGdtYWlsLmNvbSkKKyAqCisgKiBSZWRpc3RyaWJ1
dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQK
KyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dp
bmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3Vy
Y2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRo
aXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAy
LiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3Zl
IGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhl
IGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Ig
b3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBU
SElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gYGBBUyBJUycnIEFORCBBTlkK
KyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElN
SVRFRCBUTywgVEhFCisgKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFO
RCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJ
TiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SCisgKiBDT05UUklCVVRPUlMgQkUgTElBQkxF
IEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKKyAqIEVYRU1Q
TEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRF
RCBUTywKKyAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExP
U1MgT0YgVVNFLCBEQVRBLCBPUgorICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9O
KSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQorICogT0YgTElBQklMSVRZLCBXSEVU
SEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5H
IE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBV
U0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJ
VFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorI2luY2x1ZGUg
IldlYk1ldGFsUmVuZGVyaW5nQ29udGV4dC5oIgorCisjaWYgRU5BQkxFKFdFQk1FVEFMKQorCisj
aW5jbHVkZSAiRG9jdW1lbnQuaCIKKyNpbmNsdWRlICJGcmFtZVZpZXcuaCIKKyNpbmNsdWRlICJH
UFVEZXZpY2UuaCIKKyNpbmNsdWRlICJJbnNwZWN0b3JJbnN0cnVtZW50YXRpb24uaCIKKyNpbmNs
dWRlICJXZWJNZXRhbEJ1ZmZlci5oIgorI2luY2x1ZGUgIldlYk1ldGFsQ29tbWFuZFF1ZXVlLmgi
CisjaW5jbHVkZSAiV2ViTWV0YWxDb21wdXRlUGlwZWxpbmVTdGF0ZS5oIgorI2luY2x1ZGUgIldl
Yk1ldGFsRGVwdGhTdGVuY2lsRGVzY3JpcHRvci5oIgorI2luY2x1ZGUgIldlYk1ldGFsRGVwdGhT
dGVuY2lsU3RhdGUuaCIKKyNpbmNsdWRlICJXZWJNZXRhbERyYXdhYmxlLmgiCisjaW5jbHVkZSAi
V2ViTWV0YWxGdW5jdGlvbi5oIgorI2luY2x1ZGUgIldlYk1ldGFsTGlicmFyeS5oIgorI2luY2x1
ZGUgIldlYk1ldGFsUmVuZGVyUGFzc0Rlc2NyaXB0b3IuaCIKKyNpbmNsdWRlICJXZWJNZXRhbFJl
bmRlclBpcGVsaW5lRGVzY3JpcHRvci5oIgorI2luY2x1ZGUgIldlYk1ldGFsUmVuZGVyUGlwZWxp
bmVTdGF0ZS5oIgorI2luY2x1ZGUgIldlYk1ldGFsVGV4dHVyZS5oIgorI2luY2x1ZGUgIldlYk1l
dGFsVGV4dHVyZURlc2NyaXB0b3IuaCIKKyNpbmNsdWRlIDxKYXZhU2NyaXB0Q29yZS9BcnJheUJ1
ZmZlci5oPgorI2luY2x1ZGUgPEphdmFTY3JpcHRDb3JlL0pTQ0lubGluZXMuaD4KKyNpbmNsdWRl
IDxKYXZhU2NyaXB0Q29yZS9UeXBlZEFycmF5SW5saW5lcy5oPgorI2luY2x1ZGUgPEphdmFTY3Jp
cHRDb3JlL1VpbnQzMkFycmF5Lmg+CisjaW5jbHVkZSA8d3RmL1N0ZExpYkV4dHJhcy5oPgorI2lu
Y2x1ZGUgPHd0Zi90ZXh0L0NTdHJpbmcuaD4KKworbmFtZXNwYWNlIHsKKworaW50IGNsYW1wKGlu
dCB2YWx1ZSwgaW50IG1pbiwgaW50IG1heCkKK3sKKyAgICBpZiAodmFsdWUgPCBtaW4pCisgICAg
ICAgIHZhbHVlID0gbWluOworICAgIGlmICh2YWx1ZSA+IG1heCkKKyAgICAgICAgdmFsdWUgPSBt
YXg7CisgICAgcmV0dXJuIHZhbHVlOworfQorCit9CisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKwor
c3RhdGljIGNvbnN0IGludCBrTWF4VGV4dHVyZVNpemUgPSA0MDk2OworCitzdGQ6OnVuaXF1ZV9w
dHI8V2ViTWV0YWxSZW5kZXJpbmdDb250ZXh0PiBXZWJNZXRhbFJlbmRlcmluZ0NvbnRleHQ6OmNy
ZWF0ZShDYW52YXNCYXNlJiBjYW52YXMpCit7CisgICAgR1BVRGV2aWNlIGRldmljZTsKKworICAg
IGlmICghZGV2aWNlKSB7CisgICAgICAgIC8vIEZJWE1FOiBXZWJNZXRhbCAtIGRpc3BhdGNoIGFu
IGV2ZW50IGhlcmUgZm9yIHRoZSBmYWlsdXJlLgorICAgICAgICByZXR1cm4gbnVsbHB0cjsKKyAg
ICB9CisKKyAgICBhdXRvIHJlbmRlcmluZ0NvbnRleHQgPSBzdGQ6OnVuaXF1ZV9wdHI8V2ViTWV0
YWxSZW5kZXJpbmdDb250ZXh0PihuZXcgV2ViTWV0YWxSZW5kZXJpbmdDb250ZXh0KGNhbnZhcywg
V1RGTW92ZShkZXZpY2UpKSk7CisgICAgcmVuZGVyaW5nQ29udGV4dC0+c3VzcGVuZElmTmVlZGVk
KCk7CisKKyAgICBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OmRpZENyZWF0ZUNhbnZhc1JlbmRl
cmluZ0NvbnRleHQoKnJlbmRlcmluZ0NvbnRleHQpOworCisgICAgcmV0dXJuIHJlbmRlcmluZ0Nv
bnRleHQ7Cit9CisKK1dlYk1ldGFsUmVuZGVyaW5nQ29udGV4dDo6V2ViTWV0YWxSZW5kZXJpbmdD
b250ZXh0KENhbnZhc0Jhc2UmIGNhbnZhcywgR1BVRGV2aWNlJiYgZGV2aWNlKQorICAgIDogR1BV
QmFzZWRDYW52YXNSZW5kZXJpbmdDb250ZXh0KGNhbnZhcykKKyAgICAsIG1fZGV2aWNlKFdURk1v
dmUoZGV2aWNlKSkKK3sKKyAgICBpbml0aWFsaXplTmV3Q29udGV4dCgpOworfQorCitIVE1MQ2Fu
dmFzRWxlbWVudCogV2ViTWV0YWxSZW5kZXJpbmdDb250ZXh0OjpjYW52YXMoKSBjb25zdAorewor
ICAgIGF1dG8mIGJhc2UgPSBjYW52YXNCYXNlKCk7CisgICAgaWYgKCFpczxIVE1MQ2FudmFzRWxl
bWVudD4oYmFzZSkpCisgICAgICAgIHJldHVybiBudWxscHRyOworICAgIHJldHVybiAmZG93bmNh
c3Q8SFRNTENhbnZhc0VsZW1lbnQ+KGJhc2UpOworfQorCit2b2lkIFdlYk1ldGFsUmVuZGVyaW5n
Q29udGV4dDo6aW5pdGlhbGl6ZU5ld0NvbnRleHQoKQoreworICAgIC8vIEZJWE1FOiBXZWJNZXRh
bCAtIE1heWJlIHdlIHNob3VsZCByZXNldCBhIGJ1bmNoIG9mIHN0dWZmIGhlcmUuCisKKyAgICBJ
bnRTaXplIGNhbnZhc1NpemUgPSBjbGFtcGVkQ2FudmFzU2l6ZSgpOworICAgIG1fZGV2aWNlLnJl
c2hhcGUoY2FudmFzU2l6ZS53aWR0aCgpLCBjYW52YXNTaXplLmhlaWdodCgpKTsKK30KKworSW50
U2l6ZSBXZWJNZXRhbFJlbmRlcmluZ0NvbnRleHQ6OmNsYW1wZWRDYW52YXNTaXplKCkgY29uc3QK
K3sKKyAgICByZXR1cm4gSW50U2l6ZShjbGFtcChjYW52YXMoKS0+d2lkdGgoKSwgMSwga01heFRl
eHR1cmVTaXplKSwKKyAgICAgICAgY2xhbXAoY2FudmFzKCktPmhlaWdodCgpLCAxLCBrTWF4VGV4
dHVyZVNpemUpKTsKK30KKworYm9vbCBXZWJNZXRhbFJlbmRlcmluZ0NvbnRleHQ6Omhhc1BlbmRp
bmdBY3Rpdml0eSgpIGNvbnN0Cit7CisgICAgcmV0dXJuIGZhbHNlOworfQorCit2b2lkIFdlYk1l
dGFsUmVuZGVyaW5nQ29udGV4dDo6c3RvcCgpCit7Cit9CisKK2NvbnN0IGNoYXIqIFdlYk1ldGFs
UmVuZGVyaW5nQ29udGV4dDo6YWN0aXZlRE9NT2JqZWN0TmFtZSgpIGNvbnN0Cit7CisgICAgcmV0
dXJuICJXZWJNZXRhbFJlbmRlcmluZ0NvbnRleHQiOworfQorCitib29sIFdlYk1ldGFsUmVuZGVy
aW5nQ29udGV4dDo6Y2FuU3VzcGVuZEZvckRvY3VtZW50U3VzcGVuc2lvbigpIGNvbnN0Cit7Cisg
ICAgcmV0dXJuIGZhbHNlOworfQorCitQbGF0Zm9ybUxheWVyKiBXZWJNZXRhbFJlbmRlcmluZ0Nv
bnRleHQ6OnBsYXRmb3JtTGF5ZXIoKSBjb25zdAoreworICAgIHJldHVybiBtX2RldmljZS5wbGF0
Zm9ybUxheWVyKCk7Cit9CisKK3ZvaWQgV2ViTWV0YWxSZW5kZXJpbmdDb250ZXh0OjptYXJrTGF5
ZXJDb21wb3NpdGVkKCkKK3sKKyAgICBtX2RldmljZS5tYXJrTGF5ZXJDb21wb3NpdGVkKCk7Cit9
CisKK3ZvaWQgV2ViTWV0YWxSZW5kZXJpbmdDb250ZXh0OjpyZXNoYXBlKGludCB3aWR0aCwgaW50
IGhlaWdodCkKK3sKKyAgICAvLyBGSVhNRTogV2ViTWV0YWwgLSBEbyB3ZSBuZWVkIHRvIHJlc2V0
IHN0dWZmIGhlcmU/CisgICAgbV9kZXZpY2UucmVzaGFwZSh3aWR0aCwgaGVpZ2h0KTsKK30KKwor
UmVmPFdlYk1ldGFsTGlicmFyeT4gV2ViTWV0YWxSZW5kZXJpbmdDb250ZXh0OjpjcmVhdGVMaWJy
YXJ5KGNvbnN0IFN0cmluZyYgc291cmNlQ29kZSkKK3sKKyAgICByZXR1cm4gV2ViTWV0YWxMaWJy
YXJ5OjpjcmVhdGUoR1BVTGlicmFyeSB7IG1fZGV2aWNlLCBzb3VyY2VDb2RlIH0sIHNvdXJjZUNv
ZGUpOworfQorCitSZWY8V2ViTWV0YWxSZW5kZXJQaXBlbGluZVN0YXRlPiBXZWJNZXRhbFJlbmRl
cmluZ0NvbnRleHQ6OmNyZWF0ZVJlbmRlclBpcGVsaW5lU3RhdGUoV2ViTWV0YWxSZW5kZXJQaXBl
bGluZURlc2NyaXB0b3ImIGRlc2NyaXB0b3IpCit7CisgICAgcmV0dXJuIFdlYk1ldGFsUmVuZGVy
UGlwZWxpbmVTdGF0ZTo6Y3JlYXRlKEdQVVJlbmRlclBpcGVsaW5lU3RhdGUgeyBtX2RldmljZSwg
ZGVzY3JpcHRvci5kZXNjcmlwdG9yKCkgfSk7Cit9CisKK1JlZjxXZWJNZXRhbERlcHRoU3RlbmNp
bFN0YXRlPiBXZWJNZXRhbFJlbmRlcmluZ0NvbnRleHQ6OmNyZWF0ZURlcHRoU3RlbmNpbFN0YXRl
KFdlYk1ldGFsRGVwdGhTdGVuY2lsRGVzY3JpcHRvciYgZGVzY3JpcHRvcikKK3sKKyAgICByZXR1
cm4gV2ViTWV0YWxEZXB0aFN0ZW5jaWxTdGF0ZTo6Y3JlYXRlKEdQVURlcHRoU3RlbmNpbFN0YXRl
IHsgbV9kZXZpY2UsIGRlc2NyaXB0b3IuZGVzY3JpcHRvcigpIH0pOworfQorCitSZWY8V2ViTWV0
YWxDb21wdXRlUGlwZWxpbmVTdGF0ZT4gV2ViTWV0YWxSZW5kZXJpbmdDb250ZXh0OjpjcmVhdGVD
b21wdXRlUGlwZWxpbmVTdGF0ZShXZWJNZXRhbEZ1bmN0aW9uJiBmdW5jdGlvbikKK3sKKyAgICBy
ZXR1cm4gV2ViTWV0YWxDb21wdXRlUGlwZWxpbmVTdGF0ZTo6Y3JlYXRlKEdQVUNvbXB1dGVQaXBl
bGluZVN0YXRlIHsgbV9kZXZpY2UsIGZ1bmN0aW9uLmZ1bmN0aW9uKCkgfSk7Cit9CisKK1JlZjxX
ZWJNZXRhbENvbW1hbmRRdWV1ZT4gV2ViTWV0YWxSZW5kZXJpbmdDb250ZXh0OjpjcmVhdGVDb21t
YW5kUXVldWUoKQoreworICAgIHJldHVybiBXZWJNZXRhbENvbW1hbmRRdWV1ZTo6Y3JlYXRlKEdQ
VUNvbW1hbmRRdWV1ZSB7IG1fZGV2aWNlIH0pOworfQorCitSZWY8V2ViTWV0YWxEcmF3YWJsZT4g
V2ViTWV0YWxSZW5kZXJpbmdDb250ZXh0OjpuZXh0RHJhd2FibGUoKQoreworICAgIHJldHVybiBX
ZWJNZXRhbERyYXdhYmxlOjpjcmVhdGUoR1BVRHJhd2FibGUgeyBtX2RldmljZSB9KTsKK30KKwor
UmVmUHRyPFdlYk1ldGFsQnVmZmVyPiBXZWJNZXRhbFJlbmRlcmluZ0NvbnRleHQ6OmNyZWF0ZUJ1
ZmZlcihKU0M6OkFycmF5QnVmZmVyVmlldyYgZGF0YSkKK3sKKyAgICByZXR1cm4gV2ViTWV0YWxC
dWZmZXI6OmNyZWF0ZShHUFVCdWZmZXIgeyBtX2RldmljZSwgZGF0YSB9KTsKK30KKworUmVmPFdl
Yk1ldGFsVGV4dHVyZT4gV2ViTWV0YWxSZW5kZXJpbmdDb250ZXh0OjpjcmVhdGVUZXh0dXJlKFdl
Yk1ldGFsVGV4dHVyZURlc2NyaXB0b3ImIGRlc2NyaXB0b3IpCit7CisgICAgcmV0dXJuIFdlYk1l
dGFsVGV4dHVyZTo6Y3JlYXRlKEdQVVRleHR1cmUgeyBtX2RldmljZSwgZGVzY3JpcHRvci5kZXNj
cmlwdG9yKCkgfSk7Cit9CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKworI2VuZGlmCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJNZXRhbFJlbmRlcmluZ0NvbnRl
eHQuaCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYk1ldGFsUmVuZGVyaW5nQ29udGV4
dC5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLmNmYzcwYmQwOTZhZmQ5MTE4MWQzYzVmZGQ0YTE3NTJjMDU2MWNjMDMK
LS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJNZXRhbFJl
bmRlcmluZ0NvbnRleHQuaApAQCAtMCwwICsxLDk1IEBACisvKgorICogQ29weXJpZ2h0IChDKSAy
MDE3IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAx
NyBZdWljaGlybyBLaWt1cmEgKHkua2lrdXJhQGdtYWlsLmNvbSkKKyAqCisgKiBSZWRpc3RyaWJ1
dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQK
KyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dp
bmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3Vy
Y2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRo
aXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAy
LiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3Zl
IGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhl
IGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Ig
b3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBU
SElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gYGBBUyBJUycnIEFORCBBTlkK
KyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElN
SVRFRCBUTywgVEhFCisgKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFO
RCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJ
TiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SCisgKiBDT05UUklCVVRPUlMgQkUgTElBQkxF
IEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKKyAqIEVYRU1Q
TEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRF
RCBUTywKKyAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExP
U1MgT0YgVVNFLCBEQVRBLCBPUgorICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9O
KSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQorICogT0YgTElBQklMSVRZLCBXSEVU
SEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5H
IE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBV
U0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJ
VFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI3ByYWdtYSBvbmNlCisKKyNpZiBFTkFCTEUoV0VC
TUVUQUwpCisKKyNpbmNsdWRlICJHUFVCYXNlZENhbnZhc1JlbmRlcmluZ0NvbnRleHQuaCIKKyNp
bmNsdWRlICJHUFVEZXZpY2UuaCIKKworbmFtZXNwYWNlIEpTQyB7CitjbGFzcyBBcnJheUJ1ZmZl
clZpZXc7Cit9CisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworY2xhc3MgV2ViTWV0YWxCdWZmZXI7
CitjbGFzcyBXZWJNZXRhbENvbW1hbmRRdWV1ZTsKK2NsYXNzIFdlYk1ldGFsQ29tcHV0ZVBpcGVs
aW5lU3RhdGU7CitjbGFzcyBXZWJNZXRhbERlcHRoU3RlbmNpbERlc2NyaXB0b3I7CitjbGFzcyBX
ZWJNZXRhbERlcHRoU3RlbmNpbFN0YXRlOworY2xhc3MgV2ViTWV0YWxEcmF3YWJsZTsKK2NsYXNz
IFdlYk1ldGFsRnVuY3Rpb247CitjbGFzcyBXZWJNZXRhbExpYnJhcnk7CitjbGFzcyBXZWJNZXRh
bFJlbmRlclBpcGVsaW5lRGVzY3JpcHRvcjsKK2NsYXNzIFdlYk1ldGFsUmVuZGVyUGlwZWxpbmVT
dGF0ZTsKK2NsYXNzIFdlYk1ldGFsVGV4dHVyZTsKK2NsYXNzIFdlYk1ldGFsVGV4dHVyZURlc2Ny
aXB0b3I7CisKK2NsYXNzIFdlYk1ldGFsUmVuZGVyaW5nQ29udGV4dCBmaW5hbCA6IHB1YmxpYyBH
UFVCYXNlZENhbnZhc1JlbmRlcmluZ0NvbnRleHQgeworcHVibGljOgorICAgIHN0YXRpYyBzdGQ6
OnVuaXF1ZV9wdHI8V2ViTWV0YWxSZW5kZXJpbmdDb250ZXh0PiBjcmVhdGUoQ2FudmFzQmFzZSYp
OworCisgICAgLy8gRklYTUU6IElETCBmaWxlIHNheXMgdGhpcyBpcyBub3QgbnVsbGFibGUsIGJ1
dCB0aGlzIGZ1bmN0aW9uIGNhbiByZXR1cm4gbnVsbC4KKyAgICBIVE1MQ2FudmFzRWxlbWVudCog
Y2FudmFzKCkgY29uc3Q7CisKKyAgICBSZWY8V2ViTWV0YWxMaWJyYXJ5PiBjcmVhdGVMaWJyYXJ5
KGNvbnN0IFN0cmluZyYpOworICAgIFJlZjxXZWJNZXRhbFJlbmRlclBpcGVsaW5lU3RhdGU+IGNy
ZWF0ZVJlbmRlclBpcGVsaW5lU3RhdGUoV2ViTWV0YWxSZW5kZXJQaXBlbGluZURlc2NyaXB0b3Im
KTsKKyAgICBSZWY8V2ViTWV0YWxEZXB0aFN0ZW5jaWxTdGF0ZT4gY3JlYXRlRGVwdGhTdGVuY2ls
U3RhdGUoV2ViTWV0YWxEZXB0aFN0ZW5jaWxEZXNjcmlwdG9yJik7CisgICAgUmVmPFdlYk1ldGFs
Q29tcHV0ZVBpcGVsaW5lU3RhdGU+IGNyZWF0ZUNvbXB1dGVQaXBlbGluZVN0YXRlKFdlYk1ldGFs
RnVuY3Rpb24mKTsKKyAgICBSZWY8V2ViTWV0YWxDb21tYW5kUXVldWU+IGNyZWF0ZUNvbW1hbmRR
dWV1ZSgpOworICAgIFJlZjxXZWJNZXRhbERyYXdhYmxlPiBuZXh0RHJhd2FibGUoKTsKKyAgICBS
ZWZQdHI8V2ViTWV0YWxCdWZmZXI+IGNyZWF0ZUJ1ZmZlcihKU0M6OkFycmF5QnVmZmVyVmlldyYp
OworICAgIFJlZjxXZWJNZXRhbFRleHR1cmU+IGNyZWF0ZVRleHR1cmUoV2ViTWV0YWxUZXh0dXJl
RGVzY3JpcHRvciYpOworCisgICAgY29uc3QgR1BVRGV2aWNlJiBkZXZpY2UoKSBjb25zdCB7IHJl
dHVybiBtX2RldmljZTsgfQorCitwcml2YXRlOgorICAgIFdlYk1ldGFsUmVuZGVyaW5nQ29udGV4
dChDYW52YXNCYXNlJiwgR1BVRGV2aWNlJiYpOworCisgICAgYm9vbCBoYXNQZW5kaW5nQWN0aXZp
dHkoKSBjb25zdCBmaW5hbDsKKyAgICB2b2lkIHN0b3AoKSBmaW5hbDsKKyAgICBjb25zdCBjaGFy
KiBhY3RpdmVET01PYmplY3ROYW1lKCkgY29uc3QgZmluYWw7CisgICAgYm9vbCBjYW5TdXNwZW5k
Rm9yRG9jdW1lbnRTdXNwZW5zaW9uKCkgY29uc3QgZmluYWw7CisKKyAgICBJbnRTaXplIGNsYW1w
ZWRDYW52YXNTaXplKCkgY29uc3Q7CisgICAgdm9pZCBpbml0aWFsaXplTmV3Q29udGV4dCgpOwor
CisgICAgYm9vbCBpc1dlYk1ldGFsKCkgY29uc3QgZmluYWwgeyByZXR1cm4gdHJ1ZTsgfQorCisg
ICAgdm9pZCByZXNoYXBlKGludCB3aWR0aCwgaW50IGhlaWdodCkgZmluYWw7CisgICAgdm9pZCBt
YXJrTGF5ZXJDb21wb3NpdGVkKCkgZmluYWw7CisgICAgUGxhdGZvcm1MYXllciogcGxhdGZvcm1M
YXllcigpIGNvbnN0IGZpbmFsOworCisgICAgR1BVRGV2aWNlIG1fZGV2aWNlOworfTsKKworfSAv
LyBuYW1lc3BhY2UgV2ViQ29yZQorCitTUEVDSUFMSVpFX1RZUEVfVFJBSVRTX0NBTlZBU1JFTkRF
UklOR0NPTlRFWFQoV2ViQ29yZTo6V2ViTWV0YWxSZW5kZXJpbmdDb250ZXh0LCBpc1dlYk1ldGFs
KCkpCisKKyNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2Vi
TWV0YWxSZW5kZXJpbmdDb250ZXh0LmlkbCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dl
Yk1ldGFsUmVuZGVyaW5nQ29udGV4dC5pZGwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNjZiOGIwOWJjMTNhN2Y0ZTE5
Y2RmYTAzOGNkYjYxNDI4ZjdlN2MyNwotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L2h0bWwvY2FudmFzL1dlYk1ldGFsUmVuZGVyaW5nQ29udGV4dC5pZGwKQEAgLTAsMCArMSwxMTUg
QEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTcgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2Vy
dmVkLgorICogQ29weXJpZ2h0IChDKSAyMDE3IFl1aWNoaXJvIEtpa3VyYSAoeS5raWt1cmFAZ21h
aWwuY29tKQorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5h
cnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVk
IHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICog
MS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBj
b3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBm
b2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9y
bSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisg
KiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0
aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQ
TEUgSU5DLiBgYEFTIElTJycgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJ
RVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKKyAqIElNUExJRUQgV0FSUkFO
VElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICog
UFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IK
KyAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJ
REVOVEFMLCBTUEVDSUFMLAorICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMg
KElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJ
VFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCisgKiBQUk9GSVRT
OyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhF
T1JZCisgKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJ
VFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJ
TkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJ
RiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCitbCisg
ICAgQ29uZGl0aW9uYWw9V0VCTUVUQUwsCisgICAgRW5hYmxlZEF0UnVudGltZT1XZWJNZXRhbCwK
KyAgICBKU0N1c3RvbU1hcmtGdW5jdGlvbiwKKyAgICBEb05vdENoZWNrQ29uc3RhbnRzCitdIGlu
dGVyZmFjZSBXZWJNZXRhbFJlbmRlcmluZ0NvbnRleHQgeworICAgIC8vIGJhY2stcmVmZXJlbmNl
IHRvIHRoZSBjYW52YXMKKyAgICByZWFkb25seSBhdHRyaWJ1dGUgSFRNTENhbnZhc0VsZW1lbnQg
Y2FudmFzOworCisgICAgLy8gUGl4ZWwgZm9ybWF0cworCisgICAgY29uc3QgdW5zaWduZWQgaW50
IFBpeGVsRm9ybWF0QkdSQThVbm9ybSA9IDgwOworICAgIGNvbnN0IHVuc2lnbmVkIGludCBQaXhl
bEZvcm1hdERlcHRoMzJGbG9hdCA9IDI1MjsKKyAgICBjb25zdCB1bnNpZ25lZCBpbnQgUGl4ZWxG
b3JtYXRTdGVuY2lsOCA9IDI1MzsKKyAgICBjb25zdCB1bnNpZ25lZCBpbnQgUGl4ZWxGb3JtYXRJ
bnZhbGlkID0gMDsKKworICAgIC8vIExvYWQgYWN0aW9ucworCisgICAgY29uc3QgdW5zaWduZWQg
aW50IExvYWRBY3Rpb25Eb250Q2FyZSA9IDA7CisgICAgY29uc3QgdW5zaWduZWQgaW50IExvYWRB
Y3Rpb25Mb2FkID0gMTsKKyAgICBjb25zdCB1bnNpZ25lZCBpbnQgTG9hZEFjdGlvbkNsZWFyID0g
MjsKKworICAgIC8vIFN0b3JlIGFjdGlvbnMKKworICAgIGNvbnN0IHVuc2lnbmVkIGludCBTdG9y
ZUFjdGlvbkRvbnRDYXJlID0gMDsKKyAgICBjb25zdCB1bnNpZ25lZCBpbnQgU3RvcmVBY3Rpb25T
dG9yZSA9IDE7CisgICAgY29uc3QgdW5zaWduZWQgaW50IFN0b3JlQWN0aW9uTXVsdGlzYW1wbGVS
ZXNvbHZlID0gMjsKKworICAgIC8vIFByaW1pdGl2ZSB0eXBlcworCisgICAgY29uc3QgdW5zaWdu
ZWQgaW50IFByaW1pdGl2ZVR5cGVQb2ludCA9IDA7CisgICAgY29uc3QgdW5zaWduZWQgaW50IFBy
aW1pdGl2ZVR5cGVMaW5lID0gMTsKKyAgICBjb25zdCB1bnNpZ25lZCBpbnQgUHJpbWl0aXZlVHlw
ZUxpbmVTdHJpcCA9IDI7CisgICAgY29uc3QgdW5zaWduZWQgaW50IFByaW1pdGl2ZVR5cGVUcmlh
bmdsZSA9IDM7CisgICAgY29uc3QgdW5zaWduZWQgaW50IFByaW1pdGl2ZVR5cGVUcmlhbmdsZVN0
cmlwID0gNDsKKworICAgIC8vIENvbXBhcmlzb24gZnVuY3Rpb25zCisKKyAgICBjb25zdCB1bnNp
Z25lZCBpbnQgQ29tcGFyZUZ1bmN0aW9uTmV2ZXIgPSAwOworICAgIGNvbnN0IHVuc2lnbmVkIGlu
dCBDb21wYXJlRnVuY3Rpb25MZXNzID0gMTsKKyAgICBjb25zdCB1bnNpZ25lZCBpbnQgQ29tcGFy
ZUZ1bmN0aW9uRXF1YWwgPSAyOworICAgIGNvbnN0IHVuc2lnbmVkIGludCBDb21wYXJlRnVuY3Rp
b25MZXNzRXF1YWwgPSAzOworICAgIGNvbnN0IHVuc2lnbmVkIGludCBDb21wYXJlRnVuY3Rpb25H
cmVhdGVyID0gNDsKKyAgICBjb25zdCB1bnNpZ25lZCBpbnQgQ29tcGFyZUZ1bmN0aW9uTm90RXF1
YWwgPSA1OworICAgIGNvbnN0IHVuc2lnbmVkIGludCBDb21wYXJlRnVuY3Rpb25HcmVhdGVyRXF1
YWwgPSA2OworICAgIGNvbnN0IHVuc2lnbmVkIGludCBDb21wYXJlRnVuY3Rpb25BbHdheXMgPSA3
OworCisgICAgLy8gVGV4dHVyZSBUeXBlcworCisgICAgY29uc3QgdW5zaWduZWQgaW50IFRleHR1
cmVUeXBlMUQgPSAwOworICAgIGNvbnN0IHVuc2lnbmVkIGludCBUZXh0dXJlVHlwZTFEQXJyYXkg
PSAxOworICAgIGNvbnN0IHVuc2lnbmVkIGludCBUZXh0dXJlVHlwZTJEID0gMjsKKyAgICBjb25z
dCB1bnNpZ25lZCBpbnQgVGV4dHVyZVR5cGUyREFycmF5ID0gMzsKKyAgICBjb25zdCB1bnNpZ25l
ZCBpbnQgVGV4dHVyZVR5cGUyRE11bHRpc2FtcGxlID0gNDsKKyAgICBjb25zdCB1bnNpZ25lZCBp
bnQgVGV4dHVyZVR5cGVDdWJlID0gNTsKKyAgICBjb25zdCB1bnNpZ25lZCBpbnQgVGV4dHVyZVR5
cGVDdWJlQXJyYXkgPSA2OworICAgIGNvbnN0IHVuc2lnbmVkIGludCBUZXh0dXJlVHlwZTNEID0g
NzsKKworICAgIC8vIFN0b3JhZ2UgbW9kZXMKKworICAgIGNvbnN0IHVuc2lnbmVkIGludCBTdG9y
YWdlTW9kZVNoYXJlZCAgPSAwOworICAgIGNvbnN0IHVuc2lnbmVkIGludCBTdG9yYWdlTW9kZU1h
bmFnZWQgPSAxOworICAgIGNvbnN0IHVuc2lnbmVkIGludCBTdG9yYWdlTW9kZVByaXZhdGUgPSAy
OworCisgICAgLy8gVXNhZ2UKKworICAgIGNvbnN0IHVuc2lnbmVkIGludCBUZXh0dXJlVXNhZ2VV
bmtub3duID0gMHgwMDAwOworICAgIGNvbnN0IHVuc2lnbmVkIGludCBUZXh0dXJlVXNhZ2VTaGFk
ZXJSZWFkID0gMHgwMDAxOworICAgIGNvbnN0IHVuc2lnbmVkIGludCBUZXh0dXJlVXNhZ2VTaGFk
ZXJXcml0ZSA9IDB4MDAwMjsKKyAgICBjb25zdCB1bnNpZ25lZCBpbnQgVGV4dHVyZVVzYWdlUmVu
ZGVyVGFyZ2V0ID0gMHgwMDA0OworICAgIGNvbnN0IHVuc2lnbmVkIGludCBUZXh0dXJlVXNhZ2VQ
aXhlbEZvcm1hdFZpZXcgPSAweDAwMTA7CisKKyAgICAvLyBFbnRyeSBwb2ludHMKKworICAgIFdl
Yk1ldGFsTGlicmFyeSBjcmVhdGVMaWJyYXJ5KERPTVN0cmluZyBzb3VyY2VDb2RlKTsKKworICAg
IFdlYk1ldGFsUmVuZGVyUGlwZWxpbmVTdGF0ZSBjcmVhdGVSZW5kZXJQaXBlbGluZVN0YXRlKFdl
Yk1ldGFsUmVuZGVyUGlwZWxpbmVEZXNjcmlwdG9yIGRlc2NyaXB0b3IpOworICAgIFdlYk1ldGFs
RGVwdGhTdGVuY2lsU3RhdGUgY3JlYXRlRGVwdGhTdGVuY2lsU3RhdGUoV2ViTWV0YWxEZXB0aFN0
ZW5jaWxEZXNjcmlwdG9yIGRlc2NyaXB0b3IpOworICAgIFdlYk1ldGFsQ29tcHV0ZVBpcGVsaW5l
U3RhdGUgY3JlYXRlQ29tcHV0ZVBpcGVsaW5lU3RhdGUoV2ViTWV0YWxGdW5jdGlvbiBmdW5jdGlv
bik7CisKKyAgICBXZWJNZXRhbENvbW1hbmRRdWV1ZSBjcmVhdGVDb21tYW5kUXVldWUoKTsKKwor
ICAgIFdlYk1ldGFsRHJhd2FibGUgbmV4dERyYXdhYmxlKCk7CisKKyAgICBXZWJNZXRhbEJ1ZmZl
cj8gY3JlYXRlQnVmZmVyKEFycmF5QnVmZmVyVmlldyBkYXRhKTsKKworICAgIFdlYk1ldGFsVGV4
dHVyZSBjcmVhdGVUZXh0dXJlKFdlYk1ldGFsVGV4dHVyZURlc2NyaXB0b3IgZGVzY3JpcHRvcik7
CisKK307CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJNZXRhbFNp
emUuaCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYk1ldGFsU2l6ZS5oCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjRlNDI1YWQ5NjY3OGZhMWNiYTZjYWQwM2Q4ZGM0NmYwNWI3MzA1ODMKLS0tIC9kZXYvbnVs
bAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJNZXRhbFNpemUuaApAQCAtMCww
ICsxLDQwIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE3IFl1aWNoaXJvIEtpa3VyYSAoeS5r
aWt1cmFAZ21haWwuY29tKQorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNl
IGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUg
cGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUg
bWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRo
ZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBi
aW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3Rp
Y2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIg
aW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlk
ZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklE
RUQgQlkgQVBQTEUgSU5DLiBgYEFTIElTJycgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVE
IFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKKyAqIElNUExJ
RUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElD
VUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExF
IElOQy4gT1IKKyAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElS
RUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAorICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFM
IERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogUFJPQ1VSRU1FTlQg
T0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCisg
KiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBP
TiBBTlkgVEhFT1JZCisgKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklD
VCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJ
U0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FS
RSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAq
LworCisjcHJhZ21hIG9uY2UKKworI2lmIEVOQUJMRShXRUJNRVRBTCkKKworbmFtZXNwYWNlIFdl
YkNvcmUgeworICAgIAorc3RydWN0IFdlYk1ldGFsU2l6ZSB7CisgICAgdW5zaWduZWQgd2lkdGg7
CisgICAgdW5zaWduZWQgaGVpZ2h0OworICAgIHVuc2lnbmVkIGRlcHRoOworfTsKKyAgICAKK30g
Ly8gbmFtZXNwYWNlIFdlYkNvcmUKKworI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9odG1sL2NhbnZhcy9XZWJNZXRhbFNpemUuaWRsIGIvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52
YXMvV2ViTWV0YWxTaXplLmlkbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mYWU4YzdkMGRiYTFhMDZjOTM2YzNlZGIw
NjI0NGU1NjcyNGZkYmMzCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9j
YW52YXMvV2ViTWV0YWxTaXplLmlkbApAQCAtMCwwICsxLDMzIEBACisvKgorICogQ29weXJpZ2h0
IChDKSAyMDE3IFl1aWNoaXJvIEtpa3VyYSAoeS5raWt1cmFAZ21haWwuY29tKQorICoKKyAqIFJl
ZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Ig
d2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhl
IGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25z
IG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5v
dGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1l
ci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0
aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25z
IGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9u
IGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgor
ICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBgYEFTIElTJycg
QU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVU
IE5PVCBMSU1JVEVEIFRPLCBUSEUKKyAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFC
SUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xB
SU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IKKyAqIENPTlRSSUJVVE9SUyBC
RSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAor
ICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5P
VCBMSU1JVEVEIFRPLAorICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJW
SUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCisgKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRF
UlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCisgKiBPRiBMSUFCSUxJ
VFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJ
TkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQg
T0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQ
T1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworIAorWworICAgIENvbmRpdGlvbmFsPVdF
Qk1FVEFMLAorICAgIEVuYWJsZWRBdFJ1bnRpbWU9V2ViTWV0YWwKK10gZGljdGlvbmFyeSBXZWJN
ZXRhbFNpemUgeworICAgIHVuc2lnbmVkIGxvbmcgd2lkdGg7CisgICAgdW5zaWduZWQgbG9uZyBo
ZWlnaHQ7CisgICAgdW5zaWduZWQgbG9uZyBkZXB0aDsKK307CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9odG1sL2NhbnZhcy9XZWJNZXRhbFRleHR1cmUuY3BwIGIvU291cmNlL1dlYkNvcmUv
aHRtbC9jYW52YXMvV2ViTWV0YWxUZXh0dXJlLmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5jZGMzZTE2ZDNlOGYw
ZTY3ODkzZGNmNjdiODgwZjVlNWMzMTFhZjNiCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dl
YkNvcmUvaHRtbC9jYW52YXMvV2ViTWV0YWxUZXh0dXJlLmNwcApAQCAtMCwwICsxLDQ1IEBACisv
KgorICogQ29weXJpZ2h0IChDKSAyMDE3IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4K
KyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1z
LCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRl
ZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlz
dHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0
CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5n
IGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCBy
ZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2Yg
Y29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9j
dW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3Ry
aWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4g
YGBBUyBJUycnIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNM
VURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisgKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0Yg
TUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0Ug
QVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SCisgKiBDT05U
UklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwg
U1BFQ0lBTCwKKyAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJ
TkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09P
RFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgorICogUFJPRklUUzsgT1IgQlVT
SU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQorICog
T0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBU
T1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFO
WSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNF
RCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUgImNv
bmZpZy5oIgorI2luY2x1ZGUgIldlYk1ldGFsVGV4dHVyZS5oIgorCisjaWYgRU5BQkxFKFdFQk1F
VEFMKQorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK1JlZjxXZWJNZXRhbFRleHR1cmU+IFdlYk1l
dGFsVGV4dHVyZTo6Y3JlYXRlKEdQVVRleHR1cmUmJiB0ZXh0dXJlKQoreworICAgIHJldHVybiBh
ZG9wdFJlZigqbmV3IFdlYk1ldGFsVGV4dHVyZShXVEZNb3ZlKHRleHR1cmUpKSk7Cit9CisKK1dl
Yk1ldGFsVGV4dHVyZTo6V2ViTWV0YWxUZXh0dXJlKEdQVVRleHR1cmUmJiB0ZXh0dXJlKQorICAg
IDogbV90ZXh0dXJlIHsgV1RGTW92ZSh0ZXh0dXJlKSB9Cit7Cit9CisKK30gLy8gbmFtZXNwYWNl
IFdlYkNvcmUKKworI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZh
cy9XZWJNZXRhbFRleHR1cmUuaCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYk1ldGFs
VGV4dHVyZS5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLmJlY2I0YWEzZjFiMDk3ZjM0ZGQ5ZDZlMjQ3ZmExOGZmZmUw
ZTliZjcKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJN
ZXRhbFRleHR1cmUuaApAQCAtMCwwICsxLDU1IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE3
IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBh
bmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1v
ZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29u
ZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29k
ZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlz
dCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRp
c3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHly
aWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxv
d2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIg
bWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNP
RlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gYGBBUyBJUycnIEFORCBBTlkKKyAqIEVY
UFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBU
TywgVEhFCisgKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRO
RVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBF
VkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SCisgKiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBB
TlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKKyAqIEVYRU1QTEFSWSwg
T1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywK
KyAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0Yg
VVNFLCBEQVRBLCBPUgorICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dF
VkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQorICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElO
IENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJ
R0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAq
IE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0Yg
U1VDSCBEQU1BR0UuCisgKi8KKworI3ByYWdtYSBvbmNlCisKKyNpZiBFTkFCTEUoV0VCTUVUQUwp
CisKKyNpbmNsdWRlICJHUFVUZXh0dXJlLmgiCisjaW5jbHVkZSA8d3RmL1JlZi5oPgorI2luY2x1
ZGUgPHd0Zi9SZWZDb3VudGVkLmg+CisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworY2xhc3MgR1BV
VGV4dHVyZURlc2NyaXB0b3I7CisKK2NsYXNzIFdlYk1ldGFsVGV4dHVyZSA6IHB1YmxpYyBSZWZD
b3VudGVkPFdlYk1ldGFsVGV4dHVyZT4geworcHVibGljOgorICAgIHN0YXRpYyBSZWY8V2ViTWV0
YWxUZXh0dXJlPiBjcmVhdGUoR1BVVGV4dHVyZSYmKTsKKworICAgIHVuc2lnbmVkIHdpZHRoKCkg
Y29uc3QgeyByZXR1cm4gbV90ZXh0dXJlLndpZHRoKCk7IH0KKyAgICB1bnNpZ25lZCBoZWlnaHQo
KSBjb25zdCB7IHJldHVybiBtX3RleHR1cmUuaGVpZ2h0KCk7IH0KKworICAgIGNvbnN0IEdQVVRl
eHR1cmUmIHRleHR1cmUoKSBjb25zdCB7IHJldHVybiBtX3RleHR1cmU7IH0KKworcHJpdmF0ZToK
KyAgICBleHBsaWNpdCBXZWJNZXRhbFRleHR1cmUoR1BVVGV4dHVyZSYmKTsKKworICAgIEdQVVRl
eHR1cmUgbV90ZXh0dXJlOworfTsKKyAgICAKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKworI2Vu
ZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJNZXRhbFRleHR1
cmUuaWRsIGIvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViTWV0YWxUZXh0dXJlLmlkbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi43OWNmNGQ1YzI5N2IyNTJkOGFkYzRkYjlhYjA1Mjk5NGY4MzYyZjQ2Ci0tLSAv
ZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViTWV0YWxUZXh0dXJl
LmlkbApAQCAtMCwwICsxLDM1IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE3IEFwcGxlIElu
Yy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGlu
IHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlv
biwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwor
ICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJl
dGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25k
aXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlv
bnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICog
ICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNj
bGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxz
IHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElT
IFBST1ZJREVEIEJZIEFQUExFIElOQy4gYGBBUyBJUycnIEFORCBBTlkKKyAqIEVYUFJFU1MgT1Ig
SU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisg
KiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBB
IFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFM
TCBBUFBMRSBJTkMuIE9SCisgKiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNU
LCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKKyAqIEVYRU1QTEFSWSwgT1IgQ09OU0VR
VUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFBST0NV
UkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRB
LCBPUgorICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNF
RCBBTkQgT04gQU5ZIFRIRU9SWQorICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNU
LCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1Ig
T1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMg
U09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1B
R0UuCisgKi8KKworWworICAgIENvbmRpdGlvbmFsPVdFQk1FVEFMLAorICAgIEVuYWJsZWRBdFJ1
bnRpbWU9V2ViTWV0YWwsCisgICAgSW1wbGVtZW50YXRpb25MYWNrc1ZUYWJsZQorXSBpbnRlcmZh
Y2UgV2ViTWV0YWxUZXh0dXJlIHsKKworICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSB1bnNpZ25lZCBs
b25nIHdpZHRoOworICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSB1bnNpZ25lZCBsb25nIGhlaWdodDsK
KworfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYk1ldGFsVGV4
dHVyZURlc2NyaXB0b3IuY3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViTWV0YWxU
ZXh0dXJlRGVzY3JpcHRvci5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNjIwN2JkZWY0ZWE2ZGQyMTgwYjRjNmFl
NWU0MTVhNzhhNmZiOTgzMQotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwv
Y2FudmFzL1dlYk1ldGFsVGV4dHVyZURlc2NyaXB0b3IuY3BwCkBAIC0wLDAgKzEsMTA1IEBACisv
KgorICogQ29weXJpZ2h0IChDKSAyMDE3IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4K
KyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1z
LCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRl
ZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlz
dHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0
CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5n
IGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCBy
ZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2Yg
Y29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9j
dW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3Ry
aWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4g
YGBBUyBJUycnIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNM
VURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisgKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0Yg
TUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0Ug
QVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SCisgKiBDT05U
UklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwg
U1BFQ0lBTCwKKyAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJ
TkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09P
RFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgorICogUFJPRklUUzsgT1IgQlVT
SU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQorICog
T0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBU
T1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFO
WSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNF
RCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUgImNv
bmZpZy5oIgorI2luY2x1ZGUgIldlYk1ldGFsVGV4dHVyZURlc2NyaXB0b3IuaCIKKworI2lmIEVO
QUJMRShXRUJNRVRBTCkKKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitSZWY8V2ViTWV0YWxUZXh0
dXJlRGVzY3JpcHRvcj4gV2ViTWV0YWxUZXh0dXJlRGVzY3JpcHRvcjo6Y3JlYXRlKHVuc2lnbmVk
IHBpeGVsRm9ybWF0LCB1bnNpZ25lZCB3aWR0aCwgdW5zaWduZWQgaGVpZ2h0LCBib29sIG1pcG1h
cHBlZCkKK3sKKyAgICByZXR1cm4gYWRvcHRSZWYoKm5ldyBXZWJNZXRhbFRleHR1cmVEZXNjcmlw
dG9yKHBpeGVsRm9ybWF0LCB3aWR0aCwgaGVpZ2h0LCBtaXBtYXBwZWQpKTsKK30KKworV2ViTWV0
YWxUZXh0dXJlRGVzY3JpcHRvcjo6V2ViTWV0YWxUZXh0dXJlRGVzY3JpcHRvcih1bnNpZ25lZCBw
aXhlbEZvcm1hdCwgdW5zaWduZWQgd2lkdGgsIHVuc2lnbmVkIGhlaWdodCwgYm9vbCBtaXBtYXBw
ZWQpCisgICAgOiBtX2Rlc2NyaXB0b3IgeyBwaXhlbEZvcm1hdCwgd2lkdGgsIGhlaWdodCwgbWlw
bWFwcGVkIH0KK3sKK30KKwordW5zaWduZWQgV2ViTWV0YWxUZXh0dXJlRGVzY3JpcHRvcjo6d2lk
dGgoKSBjb25zdAoreworICAgIHJldHVybiBtX2Rlc2NyaXB0b3Iud2lkdGgoKTsKK30KKwordm9p
ZCBXZWJNZXRhbFRleHR1cmVEZXNjcmlwdG9yOjpzZXRXaWR0aCh1bnNpZ25lZCB3aWR0aCkKK3sK
KyAgICBtX2Rlc2NyaXB0b3Iuc2V0V2lkdGgod2lkdGgpOworfQorCit1bnNpZ25lZCBXZWJNZXRh
bFRleHR1cmVEZXNjcmlwdG9yOjpoZWlnaHQoKSBjb25zdAoreworICAgIHJldHVybiBtX2Rlc2Ny
aXB0b3IuaGVpZ2h0KCk7Cit9CisKK3ZvaWQgV2ViTWV0YWxUZXh0dXJlRGVzY3JpcHRvcjo6c2V0
SGVpZ2h0KHVuc2lnbmVkIGhlaWdodCkKK3sKKyAgICBtX2Rlc2NyaXB0b3Iuc2V0SGVpZ2h0KGhl
aWdodCk7Cit9CisKK3Vuc2lnbmVkIFdlYk1ldGFsVGV4dHVyZURlc2NyaXB0b3I6OnNhbXBsZUNv
dW50KCkgY29uc3QKK3sKKyAgICByZXR1cm4gbV9kZXNjcmlwdG9yLnNhbXBsZUNvdW50KCk7Cit9
CisKK3ZvaWQgV2ViTWV0YWxUZXh0dXJlRGVzY3JpcHRvcjo6c2V0U2FtcGxlQ291bnQodW5zaWdu
ZWQgc2FtcGxlQ291bnQpCit7CisgICAgbV9kZXNjcmlwdG9yLnNldFNhbXBsZUNvdW50KHNhbXBs
ZUNvdW50KTsKK30KKwordW5zaWduZWQgV2ViTWV0YWxUZXh0dXJlRGVzY3JpcHRvcjo6dGV4dHVy
ZVR5cGUoKSBjb25zdAoreworICAgIHJldHVybiBtX2Rlc2NyaXB0b3IudGV4dHVyZVR5cGUoKTsK
K30KKwordm9pZCBXZWJNZXRhbFRleHR1cmVEZXNjcmlwdG9yOjpzZXRUZXh0dXJlVHlwZSh1bnNp
Z25lZCB0ZXh0dXJlVHlwZSkKK3sKKyAgICBtX2Rlc2NyaXB0b3Iuc2V0VGV4dHVyZVR5cGUodGV4
dHVyZVR5cGUpOworfQorCit1bnNpZ25lZCBXZWJNZXRhbFRleHR1cmVEZXNjcmlwdG9yOjpzdG9y
YWdlTW9kZSgpIGNvbnN0Cit7CisgICAgcmV0dXJuIG1fZGVzY3JpcHRvci5zdG9yYWdlTW9kZSgp
OworfQorCit2b2lkIFdlYk1ldGFsVGV4dHVyZURlc2NyaXB0b3I6OnNldFN0b3JhZ2VNb2RlKHVu
c2lnbmVkIHN0b3JhZ2VNb2RlKQoreworICAgIG1fZGVzY3JpcHRvci5zZXRTdG9yYWdlTW9kZShz
dG9yYWdlTW9kZSk7Cit9CisKK3Vuc2lnbmVkIFdlYk1ldGFsVGV4dHVyZURlc2NyaXB0b3I6OnVz
YWdlKCkgY29uc3QKK3sKKyAgICByZXR1cm4gbV9kZXNjcmlwdG9yLnVzYWdlKCk7Cit9CisKK3Zv
aWQgV2ViTWV0YWxUZXh0dXJlRGVzY3JpcHRvcjo6c2V0VXNhZ2UodW5zaWduZWQgdXNhZ2UpCit7
CisgICAgbV9kZXNjcmlwdG9yLnNldFVzYWdlKHVzYWdlKTsKK30KKyAgICAKK30gLy8gbmFtZXNw
YWNlIFdlYkNvcmUKKworI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL2Nh
bnZhcy9XZWJNZXRhbFRleHR1cmVEZXNjcmlwdG9yLmggYi9Tb3VyY2UvV2ViQ29yZS9odG1sL2Nh
bnZhcy9XZWJNZXRhbFRleHR1cmVEZXNjcmlwdG9yLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYzQ1MDAyMjNlMWE1
NGE2ZjZkNmVhNGNhNDEyMTZjYjgyNjY0YWI0NwotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2h0bWwvY2FudmFzL1dlYk1ldGFsVGV4dHVyZURlc2NyaXB0b3IuaApAQCAtMCwwICsx
LDY4IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE3IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyBy
ZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmlu
YXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRl
ZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAq
IDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUg
Y29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUg
Zm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZv
cm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlz
IGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQor
ICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGgg
dGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQ
UExFIElOQy4gYGBBUyBJUycnIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5U
SUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisgKiBJTVBMSUVEIFdBUlJB
TlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAq
IFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9S
CisgKiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5D
SURFTlRBTCwgU1BFQ0lBTCwKKyAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VT
IChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFBST0NVUkVNRU5UIE9GIFNVQlNU
SVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgorICogUFJPRklU
UzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRI
RU9SWQorICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklM
SVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklT
SU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4g
SUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI3By
YWdtYSBvbmNlCisKKyNpZiBFTkFCTEUoV0VCTUVUQUwpCisKKyNpbmNsdWRlICJHUFVUZXh0dXJl
RGVzY3JpcHRvci5oIgorI2luY2x1ZGUgPHd0Zi9SZWYuaD4KKyNpbmNsdWRlIDx3dGYvUmVmQ291
bnRlZC5oPgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK2NsYXNzIFdlYk1ldGFsVGV4dHVyZURl
c2NyaXB0b3IgOiBwdWJsaWMgUmVmQ291bnRlZDxXZWJNZXRhbFRleHR1cmVEZXNjcmlwdG9yPiB7
CitwdWJsaWM6CisgICAgc3RhdGljIFJlZjxXZWJNZXRhbFRleHR1cmVEZXNjcmlwdG9yPiBjcmVh
dGUodW5zaWduZWQgcGl4ZWxGb3JtYXQsIHVuc2lnbmVkIHdpZHRoLCB1bnNpZ25lZCBoZWlnaHQs
IGJvb2wgbWlwbWFwcGVkKTsKKworICAgIHVuc2lnbmVkIHdpZHRoKCkgY29uc3Q7CisgICAgdm9p
ZCBzZXRXaWR0aCh1bnNpZ25lZCk7CisKKyAgICB1bnNpZ25lZCBoZWlnaHQoKSBjb25zdDsKKyAg
ICB2b2lkIHNldEhlaWdodCh1bnNpZ25lZCk7CisKKyAgICB1bnNpZ25lZCBzYW1wbGVDb3VudCgp
IGNvbnN0OworICAgIHZvaWQgc2V0U2FtcGxlQ291bnQodW5zaWduZWQpOworCisgICAgdW5zaWdu
ZWQgdGV4dHVyZVR5cGUoKSBjb25zdDsKKyAgICB2b2lkIHNldFRleHR1cmVUeXBlKHVuc2lnbmVk
KTsKKworICAgIHVuc2lnbmVkIHN0b3JhZ2VNb2RlKCkgY29uc3Q7CisgICAgdm9pZCBzZXRTdG9y
YWdlTW9kZSh1bnNpZ25lZCk7CisKKyAgICB1bnNpZ25lZCB1c2FnZSgpIGNvbnN0OworICAgIHZv
aWQgc2V0VXNhZ2UodW5zaWduZWQpOworCisgICAgY29uc3QgR1BVVGV4dHVyZURlc2NyaXB0b3Im
IGRlc2NyaXB0b3IoKSB7IHJldHVybiBtX2Rlc2NyaXB0b3I7IH0KKworcHJpdmF0ZToKKyAgICBX
ZWJNZXRhbFRleHR1cmVEZXNjcmlwdG9yKHVuc2lnbmVkIHBpeGVsRm9ybWF0LCB1bnNpZ25lZCB3
aWR0aCwgdW5zaWduZWQgaGVpZ2h0LCBib29sIG1pcG1hcHBlZCk7CisKKyAgICBHUFVUZXh0dXJl
RGVzY3JpcHRvciBtX2Rlc2NyaXB0b3I7Cit9OworCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisK
KyNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViTWV0YWxU
ZXh0dXJlRGVzY3JpcHRvci5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJNZXRh
bFRleHR1cmVEZXNjcmlwdG9yLmlkbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xYTVmN2YxZjI4MWJmNWE3OTMwZjRi
YmViZDc3M2U1MGYyNmMyOTIxCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvaHRt
bC9jYW52YXMvV2ViTWV0YWxUZXh0dXJlRGVzY3JpcHRvci5pZGwKQEAgLTAsMCArMSw0MyBAQAor
LyoKKyAqIENvcHlyaWdodCAoQykgMjAxNyBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQu
CisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jt
cywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlk
ZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRp
c3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdo
dAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2lu
ZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3Qg
cmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9m
IGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRv
Y3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0
cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMu
IGBgQVMgSVMnJyBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5D
TFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQorICogSU1QTElFRCBXQVJSQU5USUVTIE9G
IE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NF
IEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUgorICogQ09O
VFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUws
IFNQRUNJQUwsCisgKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVE
SU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdP
T0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKKyAqIFBST0ZJVFM7IE9SIEJV
U0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKKyAq
IE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1Ig
VE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBB
TlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklT
RUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKK1sKKyAgICBDb25z
dHJ1Y3Rvcih1bnNpZ25lZCBsb25nIHBpeGVsRm9ybWF0LCB1bnNpZ25lZCBsb25nIHdpZHRoLCB1
bnNpZ25lZCBsb25nIGhlaWdodCwgYm9vbGVhbiBtaXBtYXBwZWQpLAorICAgIENvbmRpdGlvbmFs
PVdFQk1FVEFMLAorICAgIEVuYWJsZWRBdFJ1bnRpbWU9V2ViTWV0YWwsCisgICAgSW1wbGVtZW50
YXRpb25MYWNrc1ZUYWJsZQorXSBpbnRlcmZhY2UgV2ViTWV0YWxUZXh0dXJlRGVzY3JpcHRvciB7
CisKKyAgICBhdHRyaWJ1dGUgdW5zaWduZWQgbG9uZyB0ZXh0dXJlVHlwZTsKKworICAgIGF0dHJp
YnV0ZSB1bnNpZ25lZCBsb25nIHdpZHRoOworICAgIGF0dHJpYnV0ZSB1bnNpZ25lZCBsb25nIGhl
aWdodDsKKyAgICBhdHRyaWJ1dGUgdW5zaWduZWQgbG9uZyBzYW1wbGVDb3VudDsKKworICAgIGF0
dHJpYnV0ZSB1bnNpZ25lZCBsb25nIHN0b3JhZ2VNb2RlOworCisgICAgYXR0cmlidXRlIHVuc2ln
bmVkIGxvbmcgdXNhZ2U7CisKK307CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0
b3IvSW5zcGVjdG9yQ2FudmFzLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0
b3JDYW52YXMuY3BwCmluZGV4IDdlYzU3NTE2NjcyZjEzZDcyZGM0NzMwMzJmNDUzMjZhMjA0M2Rl
N2MuLjU1YTU2ZjVlZTA0NDI1Y2IxZmQ4YjBjNzYwMTVlMDA5MDg4NWI5N2QgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JDYW52YXMuY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JDYW52YXMuY3BwCkBAIC02NCw4ICs2NCw4IEBA
CiAjaWYgRU5BQkxFKFdFQkdMMikKICNpbmNsdWRlICJXZWJHTDJSZW5kZXJpbmdDb250ZXh0Lmgi
CiAjZW5kaWYKLSNpZiBFTkFCTEUoV0VCR1BVKQotI2luY2x1ZGUgIldlYkdQVVJlbmRlcmluZ0Nv
bnRleHQuaCIKKyNpZiBFTkFCTEUoV0VCTUVUQUwpCisjaW5jbHVkZSAiV2ViTWV0YWxSZW5kZXJp
bmdDb250ZXh0LmgiCiAjZW5kaWYKICNpbmNsdWRlIDxKYXZhU2NyaXB0Q29yZS9JZGVudGlmaWVy
c0ZhY3RvcnkuaD4KICNpbmNsdWRlIDxKYXZhU2NyaXB0Q29yZS9TY3JpcHRDYWxsU3RhY2suaD4K
QEAgLTIzMiw5ICsyMzIsOSBAQCBSZWY8SW5zcGVjdG9yOjpQcm90b2NvbDo6Q2FudmFzOjpDYW52
YXM+IEluc3BlY3RvckNhbnZhczo6YnVpbGRPYmplY3RGb3JDYW52YXMoSQogICAgIGVsc2UgaWYg
KGlzPFdlYkdMMlJlbmRlcmluZ0NvbnRleHQ+KG1fY29udGV4dCkpCiAgICAgICAgIGNvbnRleHRU
eXBlID0gSW5zcGVjdG9yOjpQcm90b2NvbDo6Q2FudmFzOjpDb250ZXh0VHlwZTo6V2ViR0wyOwog
I2VuZGlmCi0jaWYgRU5BQkxFKFdFQkdQVSkKLSAgICBlbHNlIGlmIChpczxXZWJHUFVSZW5kZXJp
bmdDb250ZXh0PihtX2NvbnRleHQpKQotICAgICAgICBjb250ZXh0VHlwZSA9IEluc3BlY3Rvcjo6
UHJvdG9jb2w6OkNhbnZhczo6Q29udGV4dFR5cGU6OldlYkdQVTsKKyNpZiBFTkFCTEUoV0VCTUVU
QUwpCisgICAgZWxzZSBpZiAoaXM8V2ViTWV0YWxSZW5kZXJpbmdDb250ZXh0PihtX2NvbnRleHQp
KQorICAgICAgICBjb250ZXh0VHlwZSA9IEluc3BlY3Rvcjo6UHJvdG9jb2w6OkNhbnZhczo6Q29u
dGV4dFR5cGU6OldlYk1ldGFsOwogI2VuZGlmCiAgICAgZWxzZSB7CiAgICAgICAgIEFTU0VSVF9O
T1RfUkVBQ0hFRCgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2FnZW50
cy9JbnNwZWN0b3JDYW52YXNBZ2VudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvYWdl
bnRzL0luc3BlY3RvckNhbnZhc0FnZW50LmNwcAppbmRleCAxNTQ2ZDUwODcxZTNkMDQzZWYzOGE3
Y2E5NGI2NDg4YzhkNjZjMTAyLi45ZjMzM2M2OGI2YTBhYzZkNjM4YjExOTgwNzdiNDJlOWRmZTAx
ZTQ3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvYWdlbnRzL0luc3BlY3Rv
ckNhbnZhc0FnZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvYWdlbnRzL0lu
c3BlY3RvckNhbnZhc0FnZW50LmNwcApAQCAtNTYsOCArNTYsOCBAQAogI2luY2x1ZGUgIkpTV2Vi
R0wyUmVuZGVyaW5nQ29udGV4dC5oIgogI2VuZGlmCiAKLSNpZiBFTkFCTEUoV0VCR1BVKQotI2lu
Y2x1ZGUgIkpTV2ViR1BVUmVuZGVyaW5nQ29udGV4dC5oIgorI2lmIEVOQUJMRShXRUJNRVRBTCkK
KyNpbmNsdWRlICJKU1dlYk1ldGFsUmVuZGVyaW5nQ29udGV4dC5oIgogI2VuZGlmCiAKIApAQCAt
MTk5LDcgKzE5OSw3IEBAIHZvaWQgSW5zcGVjdG9yQ2FudmFzQWdlbnQ6OnJlcXVlc3RDb250ZW50
KEVycm9yU3RyaW5nJiBlcnJvclN0cmluZywgY29uc3QgU3RyaW5nCiAjZW5kaWYKICAgICB9CiAK
LSAgICAvLyBGSVhNRTogPGh0dHBzOi8vd2Via2l0Lm9yZy9iLzE3MzYyMT4gV2ViIEluc3BlY3Rv
cjogU3VwcG9ydCBnZXR0aW5nIHRoZSBjb250ZW50IG9mIFdlYkdQVSBjb250ZXh0OworICAgIC8v
IEZJWE1FOiA8aHR0cHM6Ly93ZWJraXQub3JnL2IvMTczNjIxPiBXZWIgSW5zcGVjdG9yOiBTdXBw
b3J0IGdldHRpbmcgdGhlIGNvbnRlbnQgb2YgV2ViTWV0YWwgY29udGV4dDsKICAgICBlcnJvclN0
cmluZyA9ICJVbnN1cHBvcnRlZCBjYW52YXMgY29udGV4dCB0eXBlIl9zOwogfQogCkBAIC0yMzAs
OSArMjMwLDkgQEAgc3RhdGljIEpTQzo6SlNWYWx1ZSBjb250ZXh0QXNTY3JpcHRWYWx1ZShKU0M6
OkV4ZWNTdGF0ZSYgc3RhdGUsIENhbnZhc1JlbmRlcmluZ0MKICAgICBpZiAoaXM8V2ViR0wyUmVu
ZGVyaW5nQ29udGV4dD4oY29udGV4dCkpCiAgICAgICAgIHJldHVybiB0b0pTKCZzdGF0ZSwgZGVw
cmVjYXRlZEdsb2JhbE9iamVjdEZvclByb3RvdHlwZSgmc3RhdGUpLCBkb3duY2FzdDxXZWJHTDJS
ZW5kZXJpbmdDb250ZXh0Pihjb250ZXh0KSk7CiAjZW5kaWYKLSNpZiBFTkFCTEUoV0VCR1BVKQot
ICAgIGlmIChpczxXZWJHUFVSZW5kZXJpbmdDb250ZXh0Pihjb250ZXh0KSkKLSAgICAgICAgcmV0
dXJuIHRvSlMoJnN0YXRlLCBkZXByZWNhdGVkR2xvYmFsT2JqZWN0Rm9yUHJvdG90eXBlKCZzdGF0
ZSksIGRvd25jYXN0PFdlYkdQVVJlbmRlcmluZ0NvbnRleHQ+KGNvbnRleHQpKTsKKyNpZiBFTkFC
TEUoV0VCTUVUQUwpCisgICAgaWYgKGlzPFdlYk1ldGFsUmVuZGVyaW5nQ29udGV4dD4oY29udGV4
dCkpCisgICAgICAgIHJldHVybiB0b0pTKCZzdGF0ZSwgZGVwcmVjYXRlZEdsb2JhbE9iamVjdEZv
clByb3RvdHlwZSgmc3RhdGUpLCBkb3duY2FzdDxXZWJNZXRhbFJlbmRlcmluZ0NvbnRleHQ+KGNv
bnRleHQpKTsKICNlbmRpZgogICAgIGlmIChpczxJbWFnZUJpdG1hcFJlbmRlcmluZ0NvbnRleHQ+
KGNvbnRleHQpKQogICAgICAgICByZXR1cm4gdG9KUygmc3RhdGUsIGRlcHJlY2F0ZWRHbG9iYWxP
YmplY3RGb3JQcm90b3R5cGUoJnN0YXRlKSwgZG93bmNhc3Q8SW1hZ2VCaXRtYXBSZW5kZXJpbmdD
b250ZXh0Pihjb250ZXh0KSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1J1bnRp
bWVFbmFibGVkRmVhdHVyZXMuaCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvUnVudGltZUVuYWJsZWRG
ZWF0dXJlcy5oCmluZGV4IDcxZTYyZTVlNjU1YzAzOWMyMWE3OTY5NjliMzRkZTdkYjg5MjliMjAu
LmUzYzA0Y2Q0ZjNiMzJmODU3ODkxZGZlZjYyZmRmZjViNTFiMGY5YjAgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3BhZ2UvUnVudGltZUVuYWJsZWRGZWF0dXJlcy5oCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3BhZ2UvUnVudGltZUVuYWJsZWRGZWF0dXJlcy5oCkBAIC0yNDcsOSArMjQ3LDkgQEAg
cHVibGljOgogICAgIGJvb2wgd2ViR0wyRW5hYmxlZCgpIGNvbnN0IHsgcmV0dXJuIG1faXNXZWJH
TDJFbmFibGVkOyB9CiAjZW5kaWYKIAotI2lmIEVOQUJMRShXRUJHUFUpCi0gICAgdm9pZCBzZXRX
ZWJHUFVFbmFibGVkKGJvb2wgaXNFbmFibGVkKSB7IG1faXNXZWJHUFVFbmFibGVkID0gaXNFbmFi
bGVkOyB9Ci0gICAgYm9vbCB3ZWJHUFVFbmFibGVkKCkgY29uc3QgeyByZXR1cm4gbV9pc1dlYkdQ
VUVuYWJsZWQ7IH0KKyNpZiBFTkFCTEUoV0VCTUVUQUwpCisgICAgdm9pZCBzZXRXZWJNZXRhbEVu
YWJsZWQoYm9vbCBpc0VuYWJsZWQpIHsgbV9pc1dlYk1ldGFsRW5hYmxlZCA9IGlzRW5hYmxlZDsg
fQorICAgIGJvb2wgd2ViTWV0YWxFbmFibGVkKCkgY29uc3QgeyByZXR1cm4gbV9pc1dlYk1ldGFs
RW5hYmxlZDsgfQogI2VuZGlmCiAKICNpZiBFTkFCTEUoU1RSRUFNU19BUEkpCkBAIC00MDAsOCAr
NDAwLDggQEAgcHJpdmF0ZToKICAgICBib29sIG1faXNXZWJHTDJFbmFibGVkIHsgZmFsc2UgfTsK
ICNlbmRpZgogCi0jaWYgRU5BQkxFKFdFQkdQVSkKLSAgICBib29sIG1faXNXZWJHUFVFbmFibGVk
IHsgZmFsc2UgfTsKKyNpZiBFTkFCTEUoV0VCTUVUQUwpCisgICAgYm9vbCBtX2lzV2ViTWV0YWxF
bmFibGVkIHsgZmFsc2UgfTsKICNlbmRpZgogCiAjaWYgRU5BQkxFKERPV05MT0FEX0FUVFJJQlVU
RSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL0xvZ2dpbmcuaCBiL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL0xvZ2dpbmcuaAppbmRleCAzOTBlMzc1ZjdmZmQ2OGY0ZDdiNzRm
MDFmNTllZjFhZmRjZWMzOGYxLi5mMTA1NjdkNmMyNDJlMGQwOTQyYTI4NTgwYzBiMzkwMDJiNDAy
MDBkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9Mb2dnaW5nLmgKKysrIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vTG9nZ2luZy5oCkBAIC05OSw3ICs5OSw3IEBAIG5hbWVz
cGFjZSBXZWJDb3JlIHsKICAgICBNKFZpZXdwb3J0cykgXAogICAgIE0oV2ViQXVkaW8pIFwKICAg
ICBNKFdlYkdMKSBcCi0gICAgTShXZWJHUFUpIFwKKyAgICBNKFdlYk1ldGFsKSBcCiAgICAgTShX
ZWJSVEMpIFwKICAgICBNKFdoZWVsRXZlbnRUZXN0VHJpZ2dlcnMpIFwKIApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2EvY29jb2EvUGxhdGZvcm1DQUxheWVy
Q29jb2EubW0gYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jYS9jb2NvYS9QbGF0
Zm9ybUNBTGF5ZXJDb2NvYS5tbQppbmRleCBjZTAyZTA5YTIyNTdhNWNkNDc3MjA3YTRhNTJiMTg2
MWI4MjYzMjJhLi42YmUxZWY3OTM2MjAxNTZiOGU1MTdlYTQ4NzhkMzI4MzBhYjkzNzQwIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jYS9jb2NvYS9QbGF0Zm9y
bUNBTGF5ZXJDb2NvYS5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9j
YS9jb2NvYS9QbGF0Zm9ybUNBTGF5ZXJDb2NvYS5tbQpAQCAtNDAsOCArNDAsOCBAQAogI2ltcG9y
dCAiV2ViR0xMYXllci5oIgogI2ltcG9ydCA8cGFsL3NwaS9jb2NvYS9RdWFydHpDb3JlU1BJLmg+
CiAjaW1wb3J0IDx3dGYvU29mdExpbmtpbmcuaD4KLSNpZiBFTkFCTEUoV0VCR1BVKQotI2ltcG9y
dCAiV2ViR1BVTGF5ZXIuaCIKKyNpZiBFTkFCTEUoV0VCTUVUQUwpCisjaW1wb3J0ICJXZWJNZXRh
bExheWVyLmgiCiAjZW5kaWYKICNpbXBvcnQgIldlYkxheWVyLmgiCiAjaW1wb3J0ICJXZWJTeXN0
ZW1CYWNrZHJvcExheWVyLmgiCkBAIC0yMDMsOCArMjAzLDggQEAgUGxhdGZvcm1DQUxheWVyOjpM
YXllclR5cGUgUGxhdGZvcm1DQUxheWVyQ29jb2E6OmxheWVyVHlwZUZvclBsYXRmb3JtTGF5ZXIo
UGxhdGYKICAgICBpZiAoW2xheWVyIGlzS2luZE9mQ2xhc3M6W1dlYkdMTGF5ZXIgY2xhc3NdXSkK
ICAgICAgICAgcmV0dXJuIExheWVyVHlwZUNvbnRlbnRzUHJvdmlkZWRMYXllcjsKIAotI2lmIEVO
QUJMRShXRUJHUFUpCi0gICAgaWYgKFtsYXllciBpc0tpbmRPZkNsYXNzOltXZWJHUFVMYXllciBj
bGFzc11dKQorI2lmIEVOQUJMRShXRUJNRVRBTCkKKyAgICBpZiAoW2xheWVyIGlzS2luZE9mQ2xh
c3M6W1dlYk1ldGFsTGF5ZXIgY2xhc3NdXSkKICAgICAgICAgcmV0dXJuIExheWVyVHlwZUNvbnRl
bnRzUHJvdmlkZWRMYXllcjsKICNlbmRpZgogCkBAIC0yNTksNyArMjU5LDcgQEAgUGxhdGZvcm1D
QUxheWVyQ29jb2E6OlBsYXRmb3JtQ0FMYXllckNvY29hKExheWVyVHlwZSBsYXllclR5cGUsIFBs
YXRmb3JtQ0FMYXllckMKICAgICAgICAgbGF5ZXJDbGFzcyA9IGdldEFWUGxheWVyTGF5ZXJDbGFz
cygpOwogICAgICAgICBicmVhazsKICAgICBjYXNlIExheWVyVHlwZUNvbnRlbnRzUHJvdmlkZWRM
YXllcjoKLSAgICAgICAgLy8gV2UgZG9uJ3QgY3JlYXRlIFBsYXRmb3JtQ0FMYXllckNvY29hcyB3
cmFwcGVkIGFyb3VuZCBXZWJHTExheWVycyBvciBXZWJHUFVMYXllcnMuCisgICAgICAgIC8vIFdl
IGRvbid0IGNyZWF0ZSBQbGF0Zm9ybUNBTGF5ZXJDb2NvYXMgd3JhcHBlZCBhcm91bmQgV2ViR0xM
YXllcnMgb3IgV2ViTWV0YWxMYXllcnMuCiAgICAgICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOwog
ICAgICAgICBicmVhazsKICAgICBjYXNlIExheWVyVHlwZVNoYXBlTGF5ZXI6CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jb2NvYS9XZWJHUFVMYXllci5oIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY29jb2EvV2ViR1BVTGF5ZXIuaApkZWxl
dGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMzkzNjJlNGQwMDhlOTIxODcyMDY4OGY3Njc4ODJl
NTU5MWNlNjFiNS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jb2NvYS9XZWJHUFVMYXllci5oCisr
KyAvZGV2L251bGwKQEAgLTEsNTQgKzAsMCBAQAotLyoKLSAqIENvcHlyaWdodCAoQykgMjAxNyBB
cHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0gKgotICogUmVkaXN0cmlidXRpb24gYW5k
IHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Ci0gKiBtb2Rp
ZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRp
dGlvbnMKLSAqIGFyZSBtZXQ6Ci0gKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUg
bXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qg
b2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgotICogMi4gUmVkaXN0
cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmln
aHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dp
bmcgZGlzY2xhaW1lciBpbiB0aGUKLSAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1h
dGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCi0gKgotICogVEhJUyBTT0ZU
V0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCi0gKiBFWFBS
RVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8s
IFRIRQotICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVT
UyBGT1IgQSBQQVJUSUNVTEFSCi0gKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZF
TlQgU0hBTEwgQVBQTEUgSU5DLiBPUgotICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5Z
IERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCi0gKiBFWEVNUExBUlksIE9S
IENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCi0g
KiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVT
RSwgREFUQSwgT1IKLSAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZF
UiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKLSAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBD
T05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAotICogKElOQ0xVRElORyBORUdMSUdF
TkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCi0gKiBP
RiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNV
Q0ggREFNQUdFLgotICovCi0KLSNwcmFnbWEgb25jZQotCi0jaWYgRU5BQkxFKFdFQkdQVSkKLQot
I2ltcG9ydCA8TWV0YWwvTWV0YWwuaD4KLSNpbXBvcnQgPFF1YXJ0ekNvcmUvUXVhcnR6Q29yZS5o
PgotCi1uYW1lc3BhY2UgV2ViQ29yZSB7Ci1jbGFzcyBHUFVEZXZpY2U7Ci19Ci0KLSNpZiAhUExB
VEZPUk0oSU9TX1NJTVVMQVRPUikKLUBpbnRlcmZhY2UgV2ViR1BVTGF5ZXIgOiBDQU1ldGFsTGF5
ZXIgewotI2Vsc2UKLUBpbnRlcmZhY2UgV2ViR1BVTGF5ZXIgOiBDQUxheWVyIHsgLy8gRklYTUU6
IFdlYkdQVSAtIERpc2FibGUgV2ViR1BVIG9uIGlPUyBzaW11bGF0b3I/Ci0jZW5kaWYKLSAgICBX
ZWJDb3JlOjpHUFVEZXZpY2UqIF9jb250ZXh0OwotICAgIGZsb2F0IF9kZXZpY2VQaXhlbFJhdGlv
OwotfQotCi1AcHJvcGVydHkgKG5vbmF0b21pYykgV2ViQ29yZTo6R1BVRGV2aWNlKiBjb250ZXh0
OwotCi0tIChpZClpbml0V2l0aEdQVURldmljZTooV2ViQ29yZTo6R1BVRGV2aWNlKiljb250ZXh0
OwotCi0tIChDR0ltYWdlUmVmKWNvcHlJbWFnZVNuYXBzaG90V2l0aENvbG9yU3BhY2U6KENHQ29s
b3JTcGFjZVJlZiljb2xvclNwYWNlOwotCi1AZW5kCi0KLSNlbmRpZgpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY29jb2EvV2ViR1BVTGF5ZXIubW0gYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jb2NvYS9XZWJHUFVMYXllci5tbQpkZWxldGVk
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMjVlZmI4Yjc0NzY4MDI0NTU4ZGJjZGYzMGY3NDMxODcx
NDY5NTVhOC4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jb2NvYS9XZWJHUFVMYXllci5tbQorKysg
L2Rldi9udWxsCkBAIC0xLDc0ICswLDAgQEAKLS8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTUgQXBw
bGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgotICoKLSAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1
c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAotICogbW9kaWZp
Y2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRp
b25zCi0gKiBhcmUgbWV0OgotICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11
c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9m
IGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KLSAqIDIuIFJlZGlzdHJp
YnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0
Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5n
IGRpc2NsYWltZXIgaW4gdGhlCi0gKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRl
cmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgotICoKLSAqIFRISVMgU09GVFdB
UkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBgYEFTIElTJycgQU5EIEFOWQotICogRVhQUkVT
UyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBU
SEUKLSAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1Mg
Rk9SIEEgUEFSVElDVUxBUgotICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5U
IFNIQUxMIEFQUExFIElOQy4gT1IKLSAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBE
SVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAotICogRVhFTVBMQVJZLCBPUiBD
T05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAotICog
UFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0Us
IERBVEEsIE9SCi0gKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIg
Q0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCi0gKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09O
VFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKLSAqIChJTkNMVURJTkcgTkVHTElHRU5D
RSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQotICogT0Yg
VEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNI
IERBTUFHRS4KLSAqLwotCi0jaW5jbHVkZSAiY29uZmlnLmgiCi0jaW1wb3J0ICJXZWJHUFVMYXll
ci5oIgotCi0jaWYgRU5BQkxFKFdFQkdQVSkKLQotI2ltcG9ydCAiR1BVRGV2aWNlLmgiCi0jaW1w
b3J0ICJHcmFwaGljc0NvbnRleHRDRy5oIgotI2ltcG9ydCAiR3JhcGhpY3NMYXllci5oIgotI2lt
cG9ydCA8d3RmL0Zhc3RNYWxsb2MuaD4KLSNpbXBvcnQgPHd0Zi9SZXRhaW5QdHIuaD4KLQotQGlt
cGxlbWVudGF0aW9uIFdlYkdQVUxheWVyCi0KLUBzeW50aGVzaXplIGNvbnRleHQ9X2NvbnRleHQ7
Ci0KLS0gKGlkKWluaXRXaXRoR1BVRGV2aWNlOihXZWJDb3JlOjpHUFVEZXZpY2UqKWNvbnRleHQK
LXsKLSAgICBzZWxmID0gW3N1cGVyIGluaXRdOwotICAgIF9jb250ZXh0ID0gY29udGV4dDsKLQot
ICAgIC8vIEZJWE1FOiBXZWJHUFUgLSBoYW5kbGUgcmV0aW5hIGNvcnJlY3RseS4KLSAgICBfZGV2
aWNlUGl4ZWxSYXRpbyA9IDE7Ci0KLSNpZiBQTEFURk9STShNQUMpCi0gICAgc2VsZi5jb250ZW50
c1NjYWxlID0gX2RldmljZVBpeGVsUmF0aW87Ci0gICAgc2VsZi5jb2xvcnNwYWNlID0gV2ViQ29y
ZTo6c1JHQkNvbG9yU3BhY2VSZWYoKTsKLSNlbmRpZgotICAgIHJldHVybiBzZWxmOwotfQotCi0t
IChDR0ltYWdlUmVmKWNvcHlJbWFnZVNuYXBzaG90V2l0aENvbG9yU3BhY2U6KENHQ29sb3JTcGFj
ZVJlZiljb2xvclNwYWNlCi17Ci0gICAgaWYgKCFfY29udGV4dCkKLSAgICAgICAgcmV0dXJuIG51
bGxwdHI7Ci0KLSAgICBVTlVTRURfUEFSQU0oY29sb3JTcGFjZSk7Ci0gICAgcmV0dXJuIG51bGxw
dHI7Ci19Ci0KLS0gKHZvaWQpZGlzcGxheQotewotICAgIC8vIFRoaXMgaXMgYSBuby1vcC4gV2Ug
ZG9uJ3QgbmVlZCB0bwotICAgIC8vIGNhbGwgZGlzcGxheSAtIGluc3RlYWQgd2UgcHJlc2VudAot
ICAgIC8vIGEgZHJhd2FibGUgZnJvbSBvdXIgY29udGV4dC4KLX0KLQotQGVuZAotCi0jZW5kaWYK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NvY29hL1dlYk1l
dGFsTGF5ZXIuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NvY29hL1dlYk1l
dGFsTGF5ZXIuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi45ODA5YTc3ZGY5NDVlNDNhNTA2MTgxNWU5MGI5YmRiNWU1
N2Q3MTFlCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvY29jb2EvV2ViTWV0YWxMYXllci5oCkBAIC0wLDAgKzEsNTQgQEAKKy8qCisgKiBDb3B5cmln
aHQgKEMpIDIwMTcgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlz
dHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0
aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZv
bGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9m
IHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGlj
ZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4K
KyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUg
YWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFu
ZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFu
ZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoK
KyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBgYEFTIElTJycgQU5E
IEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5P
VCBMSU1JVEVEIFRPLCBUSEUKKyAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJ
VFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1F
RC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IKKyAqIENPTlRSSUJVVE9SUyBCRSBM
SUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAorICog
RVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBM
SU1JVEVEIFRPLAorICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNF
UzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCisgKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJV
UFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCisgKiBPRiBMSUFCSUxJVFks
IFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNM
VURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0Yg
VEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NT
SUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjcHJhZ21hIG9uY2UKKworI2lmIEVOQUJM
RShXRUJNRVRBTCkKKworI2ltcG9ydCA8TWV0YWwvTWV0YWwuaD4KKyNpbXBvcnQgPFF1YXJ0ekNv
cmUvUXVhcnR6Q29yZS5oPgorCituYW1lc3BhY2UgV2ViQ29yZSB7CitjbGFzcyBHUFVEZXZpY2U7
Cit9CisKKyNpZiAhUExBVEZPUk0oSU9TX1NJTVVMQVRPUikKK0BpbnRlcmZhY2UgV2ViTWV0YWxM
YXllciA6IENBTWV0YWxMYXllciB7CisjZWxzZQorQGludGVyZmFjZSBXZWJNZXRhbExheWVyIDog
Q0FMYXllciB7IC8vIEZJWE1FOiBXZWJNZXRhbCAtIERpc2FibGUgV2ViTWV0YWwgb24gaU9TIHNp
bXVsYXRvcj8KKyNlbmRpZgorICAgIFdlYkNvcmU6OkdQVURldmljZSogX2NvbnRleHQ7CisgICAg
ZmxvYXQgX2RldmljZVBpeGVsUmF0aW87Cit9CisKK0Bwcm9wZXJ0eSAobm9uYXRvbWljKSBXZWJD
b3JlOjpHUFVEZXZpY2UqIGNvbnRleHQ7CisKKy0gKGlkKWluaXRXaXRoR1BVRGV2aWNlOihXZWJD
b3JlOjpHUFVEZXZpY2UqKWNvbnRleHQ7CisKKy0gKENHSW1hZ2VSZWYpY29weUltYWdlU25hcHNo
b3RXaXRoQ29sb3JTcGFjZTooQ0dDb2xvclNwYWNlUmVmKWNvbG9yU3BhY2U7CisKK0BlbmQKKwor
I2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jb2Nv
YS9XZWJNZXRhbExheWVyLm1tIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY29j
b2EvV2ViTWV0YWxMYXllci5tbQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi45MWMwMjMzNTczNzY4NDAxMzIxY2QzOGRj
YTg5NjY3OTdlM2ZhZGM0Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvY29jb2EvV2ViTWV0YWxMYXllci5tbQpAQCAtMCwwICsxLDc0IEBACisvKgor
ICogQ29weXJpZ2h0IChDKSAyMDE1IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAq
CisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3
aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0
aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJp
YnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Cisg
KiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRp
c2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXBy
b2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29u
ZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1l
bnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1
dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gYGBB
UyBJUycnIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJ
TkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisgKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVS
Q0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJF
IERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SCisgKiBDT05UUklC
VVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BF
Q0lBTCwKKyAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcs
IEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMg
T1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgorICogUFJPRklUUzsgT1IgQlVTSU5F
U1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQorICogT0Yg
TElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JU
CisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBX
QVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBP
RiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUgImNvbmZp
Zy5oIgorI2ltcG9ydCAiV2ViTWV0YWxMYXllci5oIgorCisjaWYgRU5BQkxFKFdFQk1FVEFMKQor
CisjaW1wb3J0ICJHUFVEZXZpY2UuaCIKKyNpbXBvcnQgIkdyYXBoaWNzQ29udGV4dENHLmgiCisj
aW1wb3J0ICJHcmFwaGljc0xheWVyLmgiCisjaW1wb3J0IDx3dGYvRmFzdE1hbGxvYy5oPgorI2lt
cG9ydCA8d3RmL1JldGFpblB0ci5oPgorCitAaW1wbGVtZW50YXRpb24gV2ViTWV0YWxMYXllcgor
CitAc3ludGhlc2l6ZSBjb250ZXh0PV9jb250ZXh0OworCistIChpZClpbml0V2l0aEdQVURldmlj
ZTooV2ViQ29yZTo6R1BVRGV2aWNlKiljb250ZXh0Cit7CisgICAgc2VsZiA9IFtzdXBlciBpbml0
XTsKKyAgICBfY29udGV4dCA9IGNvbnRleHQ7CisKKyAgICAvLyBGSVhNRTogV2ViTWV0YWwgLSBo
YW5kbGUgcmV0aW5hIGNvcnJlY3RseS4KKyAgICBfZGV2aWNlUGl4ZWxSYXRpbyA9IDE7CisKKyNp
ZiBQTEFURk9STShNQUMpCisgICAgc2VsZi5jb250ZW50c1NjYWxlID0gX2RldmljZVBpeGVsUmF0
aW87CisgICAgc2VsZi5jb2xvcnNwYWNlID0gV2ViQ29yZTo6c1JHQkNvbG9yU3BhY2VSZWYoKTsK
KyNlbmRpZgorICAgIHJldHVybiBzZWxmOworfQorCistIChDR0ltYWdlUmVmKWNvcHlJbWFnZVNu
YXBzaG90V2l0aENvbG9yU3BhY2U6KENHQ29sb3JTcGFjZVJlZiljb2xvclNwYWNlCit7CisgICAg
aWYgKCFfY29udGV4dCkKKyAgICAgICAgcmV0dXJuIG51bGxwdHI7CisKKyAgICBVTlVTRURfUEFS
QU0oY29sb3JTcGFjZSk7CisgICAgcmV0dXJuIG51bGxwdHI7Cit9CisKKy0gKHZvaWQpZGlzcGxh
eQoreworICAgIC8vIFRoaXMgaXMgYSBuby1vcC4gV2UgZG9uJ3QgbmVlZCB0bworICAgIC8vIGNh
bGwgZGlzcGxheSAtIGluc3RlYWQgd2UgcHJlc2VudAorICAgIC8vIGEgZHJhd2FibGUgZnJvbSBv
dXIgY29udGV4dC4KK30KKworQGVuZAorCisjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dwdS9HUFVCdWZmZXIuY3BwIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L0dQVUJ1ZmZlci5jcHAKaW5kZXggMDFiMWVlNzM1NDNhMDM2
MDQyNmViMDIxMDkyNDhjMTgzNmRhMDQ4Ni4uNjU4MTBiNjYyZjc4NDFkN2JjNTQxNTJkMDdiZTNk
N2ZkMWVlOWNiMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
Z3B1L0dQVUJ1ZmZlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
Z3B1L0dQVUJ1ZmZlci5jcHAKQEAgLTI2LDcgKzI2LDcgQEAKICNpbmNsdWRlICJjb25maWcuaCIK
ICNpbmNsdWRlICJHUFVCdWZmZXIuaCIKIAotI2lmIEVOQUJMRShXRUJHUFUpCisjaWYgRU5BQkxF
KFdFQk1FVEFMKQogCiAjaW5jbHVkZSAiTG9nZ2luZy5oIgogI2luY2x1ZGUgPEphdmFTY3JpcHRD
b3JlL0FycmF5QnVmZmVyLmg+CkBAIC0zNSw3ICszNSw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsK
IAogR1BVQnVmZmVyOjp+R1BVQnVmZmVyKCkKIHsKLSAgICBMT0coV2ViR1BVLCAiR1BVQnVmZmVy
Ojp+R1BVQnVmZmVyKCkiKTsKKyAgICBMT0coV2ViTWV0YWwsICJHUFVCdWZmZXI6On5HUFVCdWZm
ZXIoKSIpOwogfQogCiB1bnNpZ25lZCBHUFVCdWZmZXI6Omxlbmd0aCgpIGNvbnN0CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9ncHUvR1BVQnVmZmVyLmggYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9ncHUvR1BVQnVmZmVyLmgKaW5kZXggYjU3
MjEzM2NhMjg4ZWIwODVkOTM5Y2I1MDc5OGNlZTgyNzA0MTE2Mi4uZTgyZTY5NGEyMTk3MjY3MjI5
YWI3MmE3ZjBkNjNjNzBlZDM4YWUxZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvZ3B1L0dQVUJ1ZmZlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL2dwdS9HUFVCdWZmZXIuaApAQCAtMjUsNyArMjUsNyBAQAogCiAjcHJhZ21hIG9u
Y2UKIAotI2lmIEVOQUJMRShXRUJHUFUpCisjaWYgRU5BQkxFKFdFQk1FVEFMKQogCiAjaW5jbHVk
ZSA8d3RmL1JlZlB0ci5oPgogI2luY2x1ZGUgPHd0Zi9SZXRhaW5QdHIuaD4KZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dwdS9HUFVDb21tYW5kQnVmZmVyLmNw
cCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dwdS9HUFVDb21tYW5kQnVmZmVy
LmNwcAppbmRleCAyODJjODI5MDgzMzM4NWVhZjdmYWMyZWZjYTgzYTZmN2UxN2NkYjI5Li4wMjFk
ZmIyYzVjNjgzYWVlZGQ2MjNjOTExYmVjZDBjMzhjMGE4ZDlmIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9ncHUvR1BVQ29tbWFuZEJ1ZmZlci5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L0dQVUNvbW1hbmRCdWZmZXIuY3Bw
CkBAIC0yNyw3ICsyNyw3IEBACiAjaW5jbHVkZSAiY29uZmlnLmgiCiAjaW5jbHVkZSAiR1BVQ29t
bWFuZEJ1ZmZlci5oIgogCi0jaWYgRU5BQkxFKFdFQkdQVSkKKyNpZiBFTkFCTEUoV0VCTUVUQUwp
CiAKICNpbmNsdWRlICJMb2dnaW5nLmgiCiAKQEAgLTM1LDcgKzM1LDcgQEAgbmFtZXNwYWNlIFdl
YkNvcmUgewogCiBHUFVDb21tYW5kQnVmZmVyOjp+R1BVQ29tbWFuZEJ1ZmZlcigpCiB7Ci0gICAg
TE9HKFdlYkdQVSwgIkdQVUNvbW1hbmRCdWZmZXI6On5HUFVDb21tYW5kQnVmZmVyKCkiKTsKKyAg
ICBMT0coV2ViTWV0YWwsICJHUFVDb21tYW5kQnVmZmVyOjp+R1BVQ29tbWFuZEJ1ZmZlcigpIik7
CiB9CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL2dwdS9HUFVDb21tYW5kQnVmZmVyLmggYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9ncHUvR1BVQ29tbWFuZEJ1ZmZlci5oCmluZGV4IDQ1NmNmNDg5
OWNjZGQ0ZGFiY2M3OWUxNjIyMzA5ODY4MDE2ZmJhNjUuLmNiZTY1OWZkZmJjYzcwNzQwOTY1MmVh
NjJjY2NiOWQzNjBiZjkyMDkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL2dwdS9HUFVDb21tYW5kQnVmZmVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvZ3B1L0dQVUNvbW1hbmRCdWZmZXIuaApAQCAtMjYsNyArMjYsNyBAQAogCiAj
cHJhZ21hIG9uY2UKIAotI2lmIEVOQUJMRShXRUJHUFUpCisjaWYgRU5BQkxFKFdFQk1FVEFMKQog
CiAjaW5jbHVkZSA8d3RmL0Z1bmN0aW9uLmg+CiAjaW5jbHVkZSA8d3RmL1JldGFpblB0ci5oPgpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L0dQVUNvbW1h
bmRRdWV1ZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9ncHUvR1BVQ29t
bWFuZFF1ZXVlLmNwcAppbmRleCA4MjIyYWNlODhjNTRhYmJiODFlOGE0MmNmNzc0MDkzYzBiMGJh
ZjY5Li5kZGUxNDhlZWJmMGNiMGVhODZmZjZkOTA1Y2I0MThiYjhmZDVkNjNmIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9ncHUvR1BVQ29tbWFuZFF1ZXVlLmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9ncHUvR1BVQ29tbWFuZFF1
ZXVlLmNwcApAQCAtMjYsNyArMjYsNyBAQAogI2luY2x1ZGUgImNvbmZpZy5oIgogI2luY2x1ZGUg
IkdQVUNvbW1hbmRRdWV1ZS5oIgogCi0jaWYgRU5BQkxFKFdFQkdQVSkKKyNpZiBFTkFCTEUoV0VC
TUVUQUwpCiAKICNpbmNsdWRlICJMb2dnaW5nLmgiCiAKQEAgLTM0LDcgKzM0LDcgQEAgbmFtZXNw
YWNlIFdlYkNvcmUgewogCiBHUFVDb21tYW5kUXVldWU6On5HUFVDb21tYW5kUXVldWUoKQogewot
ICAgIExPRyhXZWJHUFUsICJHUFVDb21tYW5kUXVldWU6On5HUFVDb21tYW5kUXVldWUoKSIpOwor
ICAgIExPRyhXZWJNZXRhbCwgIkdQVUNvbW1hbmRRdWV1ZTo6fkdQVUNvbW1hbmRRdWV1ZSgpIik7
CiB9CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL2dwdS9HUFVDb21tYW5kUXVldWUuaCBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL2dwdS9HUFVDb21tYW5kUXVldWUuaAppbmRleCBlM2QxZTRjODVi
MWFhYzdjMDMxN2FkYTNlM2FlYjQ1NThkZTE3ZDcxLi45ZmQ5NmI2ODUwZWFiNzQ0YmE3ZjRjNDEz
ZGM5YWJiYjJkYzE3NTE5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9ncHUvR1BVQ29tbWFuZFF1ZXVlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvZ3B1L0dQVUNvbW1hbmRRdWV1ZS5oCkBAIC0yNSw3ICsyNSw3IEBACiAKICNwcmFn
bWEgb25jZQogCi0jaWYgRU5BQkxFKFdFQkdQVSkKKyNpZiBFTkFCTEUoV0VCTUVUQUwpCiAKICNp
bmNsdWRlIDx3dGYvUmV0YWluUHRyLmg+CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL2dwdS9HUFVDb21wdXRlQ29tbWFuZEVuY29kZXIuY3BwIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L0dQVUNvbXB1dGVDb21tYW5kRW5jb2Rlci5j
cHAKaW5kZXggYzFiODM1MzYyMDUxNTg1Y2M1MDQ4NThkMTlkZmI5MWYwNDBjZDI0Ni4uYTUxNmVj
NDcxNjM1ZGRmZmQ0NWRmMjcxZWE3NzU1Y2Y5ZmE0MTMxYyAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L0dQVUNvbXB1dGVDb21tYW5kRW5jb2Rlci5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L0dQVUNvbXB1dGVDb21t
YW5kRW5jb2Rlci5jcHAKQEAgLTI2LDcgKzI2LDcgQEAKICNpbmNsdWRlICJjb25maWcuaCIKICNp
bmNsdWRlICJHUFVDb21wdXRlQ29tbWFuZEVuY29kZXIuaCIKIAotI2lmIEVOQUJMRShXRUJHUFUp
CisjaWYgRU5BQkxFKFdFQk1FVEFMKQogCiAjaW5jbHVkZSAiTG9nZ2luZy5oIgogCkBAIC0zNCw3
ICszNCw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAKIEdQVUNvbXB1dGVDb21tYW5kRW5j
b2Rlcjo6fkdQVUNvbXB1dGVDb21tYW5kRW5jb2RlcigpCiB7Ci0gICAgTE9HKFdlYkdQVSwgIkdQ
VUNvbXB1dGVDb21tYW5kRW5jb2Rlcjo6fkdQVUNvbXB1dGVDb21tYW5kRW5jb2RlcigpIik7Cisg
ICAgTE9HKFdlYk1ldGFsLCAiR1BVQ29tcHV0ZUNvbW1hbmRFbmNvZGVyOjp+R1BVQ29tcHV0ZUNv
bW1hbmRFbmNvZGVyKCkiKTsKIH0KICAgICAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dwdS9HUFVDb21wdXRlQ29t
bWFuZEVuY29kZXIuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dwdS9HUFVD
b21wdXRlQ29tbWFuZEVuY29kZXIuaAppbmRleCBjZjE2N2MzNGE2YzM2Y2M0MTJiMjAxZjU3ZTEw
YWQ3YWM3NjJjZWFlLi43MTA3ZTMwOGYzZDk1MWRhMGU2MzE4OGFkYWY0ODgxYmE1ZjRiMTAxIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9ncHUvR1BVQ29tcHV0
ZUNvbW1hbmRFbmNvZGVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
Z3B1L0dQVUNvbXB1dGVDb21tYW5kRW5jb2Rlci5oCkBAIC0yNSw3ICsyNSw3IEBACiAKICNwcmFn
bWEgb25jZQogCi0jaWYgRU5BQkxFKFdFQkdQVSkKKyNpZiBFTkFCTEUoV0VCTUVUQUwpCiAKICNp
bmNsdWRlIDx3dGYvUmV0YWluUHRyLmg+CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL2dwdS9HUFVDb21wdXRlUGlwZWxpbmVTdGF0ZS5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9ncHUvR1BVQ29tcHV0ZVBpcGVsaW5lU3RhdGUuY3Bw
CmluZGV4IGMxNTgyOWE5NGFiNDAyM2JjZmE3MTdmMjljZjJiMjlkNGMyNDY2ZWQuLjRiYjY2NzIz
YjgzYjIyNmNjZWZkZWVkNmE3ODgyM2Q1YTIxYjA1ZDIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dwdS9HUFVDb21wdXRlUGlwZWxpbmVTdGF0ZS5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L0dQVUNvbXB1dGVQaXBlbGlu
ZVN0YXRlLmNwcApAQCAtMjYsNyArMjYsNyBAQAogI2luY2x1ZGUgImNvbmZpZy5oIgogI2luY2x1
ZGUgIkdQVUNvbXB1dGVQaXBlbGluZVN0YXRlLmgiCiAKLSNpZiBFTkFCTEUoV0VCR1BVKQorI2lm
IEVOQUJMRShXRUJNRVRBTCkKIAogI2luY2x1ZGUgIkxvZ2dpbmcuaCIKIApAQCAtMzQsNyArMzQs
NyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgCiBHUFVDb21wdXRlUGlwZWxpbmVTdGF0ZTo6
fkdQVUNvbXB1dGVQaXBlbGluZVN0YXRlKCkKIHsKLSAgICBMT0coV2ViR1BVLCAiR1BVQ29tcHV0
ZVBpcGVsaW5lU3RhdGU6On5HUFVDb21wdXRlUGlwZWxpbmVTdGF0ZSgpIik7CisgICAgTE9HKFdl
Yk1ldGFsLCAiR1BVQ29tcHV0ZVBpcGVsaW5lU3RhdGU6On5HUFVDb21wdXRlUGlwZWxpbmVTdGF0
ZSgpIik7CiB9CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dwdS9HUFVDb21wdXRlUGlwZWxpbmVTdGF0ZS5oIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L0dQVUNvbXB1dGVQaXBlbGluZVN0
YXRlLmgKaW5kZXggMTBlMGI0ZDc2ZWQyNGVhZjUzZTQyOGViMmRiYjQ4ODQ1NTY4NmM4MC4uNzk3
NGM1MTgyNGI0MTQ3YTZkNWEzYjVhNzgyMTc5MDRlYzVmMjc0OCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L0dQVUNvbXB1dGVQaXBlbGluZVN0YXRlLmgK
KysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L0dQVUNvbXB1dGVQaXBl
bGluZVN0YXRlLmgKQEAgLTI1LDcgKzI1LDcgQEAKIAogI3ByYWdtYSBvbmNlCiAKLSNpZiBFTkFC
TEUoV0VCR1BVKQorI2lmIEVOQUJMRShXRUJNRVRBTCkKIAogI2luY2x1ZGUgPHd0Zi9SZXRhaW5Q
dHIuaD4KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1
L0dQVURlcHRoU3RlbmNpbERlc2NyaXB0b3IuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvZ3B1L0dQVURlcHRoU3RlbmNpbERlc2NyaXB0b3IuY3BwCmluZGV4IDg1MjU0Njhm
MmFlNmUwNzQ5MWZlOWU0Y2IxNjE1MjUyMGYxM2U3MjkuLjYyOGIyMDQ1NWRhOTdiNmNhYjJmMDA2
OGEwZTBlODU0YzQ3ZjBiNGMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL2dwdS9HUFVEZXB0aFN0ZW5jaWxEZXNjcmlwdG9yLmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9ncHUvR1BVRGVwdGhTdGVuY2lsRGVzY3JpcHRvci5jcHAK
QEAgLTI2LDcgKzI2LDcgQEAKICNpbmNsdWRlICJjb25maWcuaCIKICNpbmNsdWRlICJHUFVEZXB0
aFN0ZW5jaWxEZXNjcmlwdG9yLmgiCiAKLSNpZiBFTkFCTEUoV0VCR1BVKQorI2lmIEVOQUJMRShX
RUJNRVRBTCkKIAogI2luY2x1ZGUgIkxvZ2dpbmcuaCIKIApAQCAtMzQsNyArMzQsNyBAQCBuYW1l
c3BhY2UgV2ViQ29yZSB7CiAKIEdQVURlcHRoU3RlbmNpbERlc2NyaXB0b3I6On5HUFVEZXB0aFN0
ZW5jaWxEZXNjcmlwdG9yKCkKIHsKLSAgICBMT0coV2ViR1BVLCAiR1BVRGVwdGhTdGVuY2lsRGVz
Y3JpcHRvcjo6fkdQVURlcHRoU3RlbmNpbERlc2NyaXB0b3IoKSIpOworICAgIExPRyhXZWJNZXRh
bCwgIkdQVURlcHRoU3RlbmNpbERlc2NyaXB0b3I6On5HUFVEZXB0aFN0ZW5jaWxEZXNjcmlwdG9y
KCkiKTsKIH0KIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L0dQVURlcHRoU3RlbmNpbERlc2NyaXB0b3IuaCBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dwdS9HUFVEZXB0aFN0ZW5jaWxEZXNj
cmlwdG9yLmgKaW5kZXggMDU3OWE2NmI4MWM2OWM0ZGRhMjk3NWU3YmJhN2ZhMThhZjNkNTJjOS4u
Y2ZhMDE5OWU2NDE2MWM5MzM1Yjg2MDg4MzRjYjhhODI5YmExNTRmZSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L0dQVURlcHRoU3RlbmNpbERlc2NyaXB0
b3IuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9ncHUvR1BVRGVwdGhT
dGVuY2lsRGVzY3JpcHRvci5oCkBAIC0yNSw3ICsyNSw3IEBACiAKICNwcmFnbWEgb25jZQogCi0j
aWYgRU5BQkxFKFdFQkdQVSkKKyNpZiBFTkFCTEUoV0VCTUVUQUwpCiAKICNpbmNsdWRlIDx3dGYv
UmV0YWluUHRyLmg+CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL2dwdS9HUFVEZXB0aFN0ZW5jaWxTdGF0ZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9ncHUvR1BVRGVwdGhTdGVuY2lsU3RhdGUuY3BwCmluZGV4IDU3MWVkYWViMWQ3
M2Y1MDY3ZGE2NTY2YzQyZTU4ODdlN2FiZjE4OGIuLjZjMDBmOTc4NTU5ZjJiNDk1NTZhY2Q0NGZm
MGVlMDYyYTgyYzRlMDMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL2dwdS9HUFVEZXB0aFN0ZW5jaWxTdGF0ZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvZ3B1L0dQVURlcHRoU3RlbmNpbFN0YXRlLmNwcApAQCAtMjYsNyArMjYs
NyBAQAogI2luY2x1ZGUgImNvbmZpZy5oIgogI2luY2x1ZGUgIkdQVURlcHRoU3RlbmNpbFN0YXRl
LmgiCiAKLSNpZiBFTkFCTEUoV0VCR1BVKQorI2lmIEVOQUJMRShXRUJNRVRBTCkKIAogI2luY2x1
ZGUgIkxvZ2dpbmcuaCIKIApAQCAtMzQsNyArMzQsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAK
IEdQVURlcHRoU3RlbmNpbFN0YXRlOjp+R1BVRGVwdGhTdGVuY2lsU3RhdGUoKQogewotICAgIExP
RyhXZWJHUFUsICJHUFVEZXB0aFN0ZW5jaWxTdGF0ZTo6fkdQVURlcHRoU3RlbmNpbFN0YXRlKCki
KTsKKyAgICBMT0coV2ViTWV0YWwsICJHUFVEZXB0aFN0ZW5jaWxTdGF0ZTo6fkdQVURlcHRoU3Rl
bmNpbFN0YXRlKCkiKTsKIH0KIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L0dQVURlcHRoU3RlbmNpbFN0YXRl
LmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9ncHUvR1BVRGVwdGhTdGVuY2ls
U3RhdGUuaAppbmRleCAzZjU3MzIzNDhiYmZjNWQzNzE4YmY3YjhhZWYxYjkxYjlkYzUyYTljLi5k
NWJmM2UzMjJiNzIwMTRhMzA1ODAxODcxNzdmMzM4ZjJkMTc0MjUxIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9ncHUvR1BVRGVwdGhTdGVuY2lsU3RhdGUuaAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9ncHUvR1BVRGVwdGhTdGVuY2ls
U3RhdGUuaApAQCAtMjUsNyArMjUsNyBAQAogCiAjcHJhZ21hIG9uY2UKIAotI2lmIEVOQUJMRShX
RUJHUFUpCisjaWYgRU5BQkxFKFdFQk1FVEFMKQogCiAjaW5jbHVkZSA8d3RmL0ZvcndhcmQuaD4K
ICNpbmNsdWRlIDx3dGYvUmV0YWluUHRyLmg+CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9ncHUvR1BVRGV2aWNlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL2dwdS9HUFVEZXZpY2UuY3BwCmluZGV4IDU0NDhmYmNjM2Q4NDVhZjhiYmU2
ZjM2YWIyNTg5MTIwYmY5ZGUyZWQuLjdkZmI1NTE2YTQ2YmQ4MmQwMjk4NzcwNTA1Mjc3Y2MyMDU4
NWQ0OTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dwdS9H
UFVEZXZpY2UuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dwdS9H
UFVEZXZpY2UuY3BwCkBAIC0yNiw3ICsyNiw3IEBACiAjaW5jbHVkZSAiY29uZmlnLmgiCiAjaW5j
bHVkZSAiR1BVRGV2aWNlLmgiCiAKLSNpZiBFTkFCTEUoV0VCR1BVKQorI2lmIEVOQUJMRShXRUJN
RVRBTCkKIAogI2luY2x1ZGUgIkxvZ2dpbmcuaCIKIApAQCAtMzQsNyArMzQsNyBAQCBuYW1lc3Bh
Y2UgV2ViQ29yZSB7CiAKIEdQVURldmljZTo6fkdQVURldmljZSgpCiB7Ci0gICAgTE9HKFdlYkdQ
VSwgIkdQVURldmljZTo6fkdQVURldmljZSgpIik7CisgICAgTE9HKFdlYk1ldGFsLCAiR1BVRGV2
aWNlOjp+R1BVRGV2aWNlKCkiKTsKICAgICBkaXNjb25uZWN0KCk7CiB9CiAKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dwdS9HUFVEZXZpY2UuaCBiL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dwdS9HUFVEZXZpY2UuaAppbmRleCBkOTg3MGY5
Mjk4YzNiZDZlYzdjNWUyMTA4MDkyN2ZmMWVlNmUwMDU5Li40MzJmZTFhM2U4N2RiMjdjN2ZmMjkx
ZTI4MGYzNDMxYmU5ODE1OTYzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9ncHUvR1BVRGV2aWNlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvZ3B1L0dQVURldmljZS5oCkBAIC0yNSwxMiArMjUsMTIgQEAKIAogI3ByYWdtYSBvbmNl
CiAKLSNpZiBFTkFCTEUoV0VCR1BVKQorI2lmIEVOQUJMRShXRUJNRVRBTCkKIAogI2luY2x1ZGUg
PHd0Zi9SZXRhaW5QdHIuaD4KIAogT0JKQ19DTEFTUyBDQUxheWVyOwotT0JKQ19DTEFTUyBXZWJH
UFVMYXllcjsKK09CSkNfQ0xBU1MgV2ViTWV0YWxMYXllcjsKIAogT0JKQ19QUk9UT0NPTChNVExE
ZXZpY2UpOwogCkBAIC00Niw3ICs0Niw3IEBAIHB1YmxpYzoKICAgICB2b2lkIHJlc2hhcGUoaW50
IHdpZHRoLCBpbnQgaGVpZ2h0KSBjb25zdDsKIAogI2lmIFVTRShNRVRBTCkKLSAgICBXZWJHUFVM
YXllciAqbGF5ZXIoKSBjb25zdCB7IHJldHVybiBtX2xheWVyLmdldCgpOyB9CisgICAgV2ViTWV0
YWxMYXllciAqbGF5ZXIoKSBjb25zdCB7IHJldHVybiBtX2xheWVyLmdldCgpOyB9CiAgICAgV0VC
Q09SRV9FWFBPUlQgQ0FMYXllciAqcGxhdGZvcm1MYXllcigpIGNvbnN0OwogICAgIE1UTERldmlj
ZSAqbWV0YWwoKSBjb25zdCB7IHJldHVybiBtX21ldGFsLmdldCgpOyB9CiAjZW5kaWYKQEAgLTU3
LDcgKzU3LDcgQEAgcHJpdmF0ZToKICAgICB2b2lkIGRpc2Nvbm5lY3QoKTsKIAogI2lmIFVTRShN
RVRBTCkKLSAgICBSZXRhaW5QdHI8V2ViR1BVTGF5ZXI+IG1fbGF5ZXI7CisgICAgUmV0YWluUHRy
PFdlYk1ldGFsTGF5ZXI+IG1fbGF5ZXI7CiAgICAgUmV0YWluUHRyPE1UTERldmljZT4gbV9tZXRh
bDsKICNlbmRpZgogfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL2dwdS9HUFVEcmF3YWJsZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9ncHUvR1BVRHJhd2FibGUuY3BwCmluZGV4IDhkOGVhNGMzY2ZmZWIxZDc4ODAzNTUxNGExZTcy
Y2VjODEyNzM4YjcuLjcyZmE3NTBhYmYxOTMxMGJkYWY1ZWJlNGU0ZGYyMjZhMjNlMjY2ZmYgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dwdS9HUFVEcmF3YWJs
ZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L0dQVURyYXdh
YmxlLmNwcApAQCAtMjYsNyArMjYsNyBAQAogI2luY2x1ZGUgImNvbmZpZy5oIgogI2luY2x1ZGUg
IkdQVURyYXdhYmxlLmgiCiAKLSNpZiBFTkFCTEUoV0VCR1BVKQorI2lmIEVOQUJMRShXRUJNRVRB
TCkKIAogI2luY2x1ZGUgIkxvZ2dpbmcuaCIKIApAQCAtMzQsNyArMzQsNyBAQCBuYW1lc3BhY2Ug
V2ViQ29yZSB7CiAKIEdQVURyYXdhYmxlOjp+R1BVRHJhd2FibGUoKQogewotICAgIExPRyhXZWJH
UFUsICJHUFVEcmF3YWJsZTo6fkdQVURyYXdhYmxlKCkiKTsKKyAgICBMT0coV2ViTWV0YWwsICJH
UFVEcmF3YWJsZTo6fkdQVURyYXdhYmxlKCkiKTsKIH0KIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29y
ZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L0dQVURy
YXdhYmxlLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9ncHUvR1BVRHJhd2Fi
bGUuaAppbmRleCA2ZjQzMjkyMzNmNzI0ZTY3MjcxNDZjOTVhN2ZjOTQ5MDdmOWRkNTMyLi5iNjc5
OGNlZGJiNGE5MjI4YzM2YjM0ZmQ3MjBlYzc5ODc3OTFjZWI1IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9ncHUvR1BVRHJhd2FibGUuaAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9ncHUvR1BVRHJhd2FibGUuaApAQCAtMjUsNyArMjUs
NyBAQAogCiAjcHJhZ21hIG9uY2UKIAotI2lmIEVOQUJMRShXRUJHUFUpCisjaWYgRU5BQkxFKFdF
Qk1FVEFMKQogCiAjaW5jbHVkZSA8d3RmL1JldGFpblB0ci5oPgogCkBAIC00Niw3ICs0Niw3IEBA
IHB1YmxpYzoKICNpZiBVU0UoTUVUQUwpCiAgICAgTVRMRHJhd2FibGUgKm1ldGFsKCkgY29uc3Q7
CiAKLSAgICAvLyBGSVhNRTogV2ViR1BVIC0gbm90IGFsbCBkcmF3YWJsZXMgc2hvdWxkIGhhdmUg
dGhpcy4gT25seSB0aGUgZnJhbWVidWZmZXIuCisgICAgLy8gRklYTUU6IFdlYk1ldGFsIC0gbm90
IGFsbCBkcmF3YWJsZXMgc2hvdWxkIGhhdmUgdGhpcy4gT25seSB0aGUgZnJhbWVidWZmZXIuCiAg
ICAgTVRMVGV4dHVyZSAqdGV4dHVyZSgpIGNvbnN0OwogI2VuZGlmCiAKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dwdS9HUFVFbnVtcy5oIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L0dQVUVudW1zLmgKaW5kZXggNmRlZjYwYWEzMWY3
NzE0NTcxYjhjZjA2ZTkyMzE1ZGRjYmYyN2ExOC4uMTI0ZmY0M2RhNjMyNjlhM2EyNzViYjNmMjAx
NTUyZmVjNzQ5MGI5YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvZ3B1L0dQVUVudW1zLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
Z3B1L0dQVUVudW1zLmgKQEAgLTI1LDcgKzI1LDcgQEAKIAogI3ByYWdtYSBvbmNlCiAKLSNpZiBF
TkFCTEUoV0VCR1BVKQorI2lmIEVOQUJMRShXRUJNRVRBTCkKIAogbmFtZXNwYWNlIFdlYkNvcmUg
ewogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9ncHUvR1BV
RnVuY3Rpb24uY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L0dQVUZ1
bmN0aW9uLmNwcAppbmRleCAwZDBiMzk5NDUwY2I3YmEwOWJmMjZkNzA4NzJmOTNmZGU3MjI1YmU4
Li45YzgwNzc3NDMzMzNmYzhkYmU4NjAwNThiNGM0MjhhZGQ0NTBmNzdhIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9ncHUvR1BVRnVuY3Rpb24uY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dwdS9HUFVGdW5jdGlvbi5jcHAKQEAg
LTI2LDcgKzI2LDcgQEAKICNpbmNsdWRlICJjb25maWcuaCIKICNpbmNsdWRlICJHUFVGdW5jdGlv
bi5oIgogCi0jaWYgRU5BQkxFKFdFQkdQVSkKKyNpZiBFTkFCTEUoV0VCTUVUQUwpCiAKICNpbmNs
dWRlICJMb2dnaW5nLmgiCiAKQEAgLTM0LDcgKzM0LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewog
CiBHUFVGdW5jdGlvbjo6fkdQVUZ1bmN0aW9uKCkKIHsKLSAgICBMT0coV2ViR1BVLCAiR1BVRnVu
Y3Rpb246On5HUFVGdW5jdGlvbigpIik7CisgICAgTE9HKFdlYk1ldGFsLCAiR1BVRnVuY3Rpb246
On5HUFVGdW5jdGlvbigpIik7CiB9CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dwdS9HUFVGdW5jdGlvbi5oIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L0dQVUZ1bmN0aW9uLmgKaW5kZXgg
OTZmYTQ5MmUxODJhMWJlM2NhYjc4NWVjNDA5MjE2YzM2OGE0NjQ3NS4uZDQ2MDQwMjBiNzlkOGE3
OWJiOTYwZTc0MTA1OGVlMWQzOGEzMmMzZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvZ3B1L0dQVUZ1bmN0aW9uLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvZ3B1L0dQVUZ1bmN0aW9uLmgKQEAgLTI1LDcgKzI1LDcgQEAKIAogI3By
YWdtYSBvbmNlCiAKLSNpZiBFTkFCTEUoV0VCR1BVKQorI2lmIEVOQUJMRShXRUJNRVRBTCkKIAog
I2luY2x1ZGUgPHd0Zi9SZXRhaW5QdHIuaD4KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L0dQVUxpYnJhcnkuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvZ3B1L0dQVUxpYnJhcnkuY3BwCmluZGV4IDkwNjI0ODg1OTI2NTRkOTAw
YTUwMmYxYWNiNDIxOTY3MzM0ZmZmNTguLjQ4YzZjM2MzNmY0MWRjNDdlNGM0YTU5YjIwNjkyZjA0
NGZhNzU1MzcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dw
dS9HUFVMaWJyYXJ5LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9n
cHUvR1BVTGlicmFyeS5jcHAKQEAgLTI2LDcgKzI2LDcgQEAKICNpbmNsdWRlICJjb25maWcuaCIK
ICNpbmNsdWRlICJHUFVMaWJyYXJ5LmgiCiAKLSNpZiBFTkFCTEUoV0VCR1BVKQorI2lmIEVOQUJM
RShXRUJNRVRBTCkKIAogI2luY2x1ZGUgIkxvZ2dpbmcuaCIKIApAQCAtMzQsNyArMzQsNyBAQCBu
YW1lc3BhY2UgV2ViQ29yZSB7CiAKIEdQVUxpYnJhcnk6On5HUFVMaWJyYXJ5KCkKIHsKLSAgICBM
T0coV2ViR1BVLCAiR1BVTGlicmFyeTo6fkdQVUxpYnJhcnkoKSIpOworICAgIExPRyhXZWJNZXRh
bCwgIkdQVUxpYnJhcnk6On5HUFVMaWJyYXJ5KCkiKTsKIH0KIAogfSAvLyBuYW1lc3BhY2UgV2Vi
Q29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L0dQ
VUxpYnJhcnkuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dwdS9HUFVMaWJy
YXJ5LmgKaW5kZXggZjM1ZDViYTE0NmE5NGJkNWJiNTBmMmQxODQxNTQwZTZlY2Y2YzhmNS4uNzRh
YzQ0NjRlODQyYmM3ZjRkMDI3YjJiZjA0NTQ5NGUyZGFiNTdmMyAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L0dQVUxpYnJhcnkuaAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9ncHUvR1BVTGlicmFyeS5oCkBAIC0yNSw3ICsyNSw3
IEBACiAKICNwcmFnbWEgb25jZQogCi0jaWYgRU5BQkxFKFdFQkdQVSkKKyNpZiBFTkFCTEUoV0VC
TUVUQUwpCiAKICNpbmNsdWRlIDx3dGYvUmV0YWluUHRyLmg+CiAKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dwdS9HUFVSZW5kZXJDb21tYW5kRW5jb2Rlci5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9ncHUvR1BVUmVuZGVyQ29tbWFu
ZEVuY29kZXIuY3BwCmluZGV4IDZkMWY1M2I5NDcyZTE3MzUwNTg3Zjc3NDMyYjRkYTIzNWUzYWEx
ZjkuLjQ3NDYxYThmZWM0NGI5Mzc5NmFmMjg2MDI3MTMzNDc1ZjQxMjBkNWQgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dwdS9HUFVSZW5kZXJDb21tYW5kRW5j
b2Rlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L0dQVVJl
bmRlckNvbW1hbmRFbmNvZGVyLmNwcApAQCAtMjYsNyArMjYsNyBAQAogI2luY2x1ZGUgImNvbmZp
Zy5oIgogI2luY2x1ZGUgIkdQVVJlbmRlckNvbW1hbmRFbmNvZGVyLmgiCiAKLSNpZiBFTkFCTEUo
V0VCR1BVKQorI2lmIEVOQUJMRShXRUJNRVRBTCkKIAogI2luY2x1ZGUgIkxvZ2dpbmcuaCIKIApA
QCAtMzQsNyArMzQsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIEdQVVJlbmRlckNvbW1hbmRF
bmNvZGVyOjp+R1BVUmVuZGVyQ29tbWFuZEVuY29kZXIoKQogewotICAgIExPRyhXZWJHUFUsICJH
UFVSZW5kZXJDb21tYW5kRW5jb2Rlcjo6fkdQVVJlbmRlckNvbW1hbmRFbmNvZGVyKCkiKTsKKyAg
ICBMT0coV2ViTWV0YWwsICJHUFVSZW5kZXJDb21tYW5kRW5jb2Rlcjo6fkdQVVJlbmRlckNvbW1h
bmRFbmNvZGVyKCkiKTsKIH0KIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L0dQVVJlbmRlckNvbW1hbmRFbmNv
ZGVyLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9ncHUvR1BVUmVuZGVyQ29t
bWFuZEVuY29kZXIuaAppbmRleCBmOTA1M2NlYzViMGM5Yjk2MzBiNWQ3YjYzMmM2ZDliN2IzMWJm
NDllLi4yOWUyMDRhOGY5ZTMyNmE0M2MxZWNiZTg5MTYzYmM4MzBhNzk0MTFhIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9ncHUvR1BVUmVuZGVyQ29tbWFuZEVu
Y29kZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9ncHUvR1BVUmVu
ZGVyQ29tbWFuZEVuY29kZXIuaApAQCAtMjUsNyArMjUsNyBAQAogCiAjcHJhZ21hIG9uY2UKIAot
I2lmIEVOQUJMRShXRUJHUFUpCisjaWYgRU5BQkxFKFdFQk1FVEFMKQogCiAjaW5jbHVkZSA8d3Rm
L1JldGFpblB0ci5oPgogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9ncHUvR1BVUmVuZGVyUGFzc0F0dGFjaG1lbnREZXNjcmlwdG9yLmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dwdS9HUFVSZW5kZXJQYXNzQXR0YWNobWVudERlc2Ny
aXB0b3IuY3BwCmluZGV4IDc1ZDg5ZTk5ODQ0Y2UwNGIzZmI4YTU2MjY0YTY1NDM4YTljNTVhMDUu
LjcxNjJmN2ZlNzczZjViMjA5OWVhNDZkOGJjOWQwMDllYTk5NzdkZjUgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dwdS9HUFVSZW5kZXJQYXNzQXR0YWNobWVu
dERlc2NyaXB0b3IuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dw
dS9HUFVSZW5kZXJQYXNzQXR0YWNobWVudERlc2NyaXB0b3IuY3BwCkBAIC0yNiw3ICsyNiw3IEBA
CiAjaW5jbHVkZSAiY29uZmlnLmgiCiAjaW5jbHVkZSAiR1BVUmVuZGVyUGFzc0F0dGFjaG1lbnRE
ZXNjcmlwdG9yLmgiCiAKLSNpZiBFTkFCTEUoV0VCR1BVKQorI2lmIEVOQUJMRShXRUJNRVRBTCkK
IAogI2luY2x1ZGUgIkdQVVRleHR1cmUuaCIKICNpbmNsdWRlICJMb2dnaW5nLmgiCkBAIC0zNSw3
ICszNSw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogR1BVUmVuZGVyUGFzc0F0dGFjaG1lbnRE
ZXNjcmlwdG9yOjp+R1BVUmVuZGVyUGFzc0F0dGFjaG1lbnREZXNjcmlwdG9yKCkKIHsKLSAgICBM
T0coV2ViR1BVLCAiR1BVUmVuZGVyUGFzc0F0dGFjaG1lbnREZXNjcmlwdG9yOjp+R1BVUmVuZGVy
UGFzc0F0dGFjaG1lbnREZXNjcmlwdG9yKCkiKTsKKyAgICBMT0coV2ViTWV0YWwsICJHUFVSZW5k
ZXJQYXNzQXR0YWNobWVudERlc2NyaXB0b3I6On5HUFVSZW5kZXJQYXNzQXR0YWNobWVudERlc2Ny
aXB0b3IoKSIpOwogfQogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9ncHUvR1BVUmVuZGVyUGFzc0F0dGFjaG1lbnRE
ZXNjcmlwdG9yLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9ncHUvR1BVUmVu
ZGVyUGFzc0F0dGFjaG1lbnREZXNjcmlwdG9yLmgKaW5kZXggZmVmNzA5NGE5Y2UzMjk5YzQwOTY3
NGM5YTdmNTc0NjliYWQ5YTZiOC4uNDZkOTIzODVhMzg2MzU5ZDM1MTIzNmI5ODk4NzhiZWE0ODNj
MGYyMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L0dQ
VVJlbmRlclBhc3NBdHRhY2htZW50RGVzY3JpcHRvci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL2dwdS9HUFVSZW5kZXJQYXNzQXR0YWNobWVudERlc2NyaXB0b3IuaApA
QCAtMjUsNyArMjUsNyBAQAogCiAjcHJhZ21hIG9uY2UKIAotI2lmIEVOQUJMRShXRUJHUFUpCisj
aWYgRU5BQkxFKFdFQk1FVEFMKQogCiAjaW5jbHVkZSA8d3RmL1JldGFpblB0ci5oPgogCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9ncHUvR1BVUmVuZGVyUGFz
c0NvbG9yQXR0YWNobWVudERlc2NyaXB0b3IuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvZ3B1L0dQVVJlbmRlclBhc3NDb2xvckF0dGFjaG1lbnREZXNjcmlwdG9yLmNwcApp
bmRleCAyZjVhYzc4OGYyMThkYjNjYTcxYTUwMWFkMTExM2U4MzlkMWQ3NGI5Li5kZmIxNTU5YTZi
YTdiY2Q4ODg2YmFhMmYyNjYwMDBhZDJkYzAxN2IyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9ncHUvR1BVUmVuZGVyUGFzc0NvbG9yQXR0YWNobWVudERlc2Ny
aXB0b3IuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dwdS9HUFVS
ZW5kZXJQYXNzQ29sb3JBdHRhY2htZW50RGVzY3JpcHRvci5jcHAKQEAgLTI2LDcgKzI2LDcgQEAK
ICNpbmNsdWRlICJjb25maWcuaCIKICNpbmNsdWRlICJHUFVSZW5kZXJQYXNzQ29sb3JBdHRhY2ht
ZW50RGVzY3JpcHRvci5oIgogCi0jaWYgRU5BQkxFKFdFQkdQVSkKKyNpZiBFTkFCTEUoV0VCTUVU
QUwpCiAKICNpbmNsdWRlICJMb2dnaW5nLmgiCiAKQEAgLTM0LDcgKzM0LDcgQEAgbmFtZXNwYWNl
IFdlYkNvcmUgewogCiBHUFVSZW5kZXJQYXNzQ29sb3JBdHRhY2htZW50RGVzY3JpcHRvcjo6fkdQ
VVJlbmRlclBhc3NDb2xvckF0dGFjaG1lbnREZXNjcmlwdG9yKCkKIHsKLSAgICBMT0coV2ViR1BV
LCAiR1BVUmVuZGVyUGFzc0NvbG9yQXR0YWNobWVudERlc2NyaXB0b3I6On5HUFVSZW5kZXJQYXNz
Q29sb3JBdHRhY2htZW50RGVzY3JpcHRvcigpIik7CisgICAgTE9HKFdlYk1ldGFsLCAiR1BVUmVu
ZGVyUGFzc0NvbG9yQXR0YWNobWVudERlc2NyaXB0b3I6On5HUFVSZW5kZXJQYXNzQ29sb3JBdHRh
Y2htZW50RGVzY3JpcHRvcigpIik7CiB9CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dwdS9HUFVSZW5kZXJQYXNz
Q29sb3JBdHRhY2htZW50RGVzY3JpcHRvci5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvZ3B1L0dQVVJlbmRlclBhc3NDb2xvckF0dGFjaG1lbnREZXNjcmlwdG9yLmgKaW5kZXgg
MzFhZWU4ZmI2MmJjOTcxZGEwMmM5NmU1OGM0NGFhY2Q1Mzg4YWZmNi4uNzI0NDYxM2VmNmMwYjg2
MGIwZTdmNzA1ZTdlNzM2NzMwZGRiZmQ5NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvZ3B1L0dQVVJlbmRlclBhc3NDb2xvckF0dGFjaG1lbnREZXNjcmlwdG9y
LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L0dQVVJlbmRlclBh
c3NDb2xvckF0dGFjaG1lbnREZXNjcmlwdG9yLmgKQEAgLTI1LDcgKzI1LDcgQEAKIAogI3ByYWdt
YSBvbmNlCiAKLSNpZiBFTkFCTEUoV0VCR1BVKQorI2lmIEVOQUJMRShXRUJNRVRBTCkKIAogI2lu
Y2x1ZGUgIkdQVVJlbmRlclBhc3NBdHRhY2htZW50RGVzY3JpcHRvci5oIgogCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9ncHUvR1BVUmVuZGVyUGFzc0RlcHRo
QXR0YWNobWVudERlc2NyaXB0b3IuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvZ3B1L0dQVVJlbmRlclBhc3NEZXB0aEF0dGFjaG1lbnREZXNjcmlwdG9yLmNwcAppbmRleCA0
YzFjYTY3MTY3YTFmZjVmMDlmYTdiMDU1ZDQ3MjVhODZmMTg2OTFhLi5lOTQ1N2U3MjM0ZmNhNTc4
N2M5OTEzNjJkNWY3MDAwMjc1OGFlYjVkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9ncHUvR1BVUmVuZGVyUGFzc0RlcHRoQXR0YWNobWVudERlc2NyaXB0b3Iu
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dwdS9HUFVSZW5kZXJQ
YXNzRGVwdGhBdHRhY2htZW50RGVzY3JpcHRvci5jcHAKQEAgLTI2LDcgKzI2LDcgQEAKICNpbmNs
dWRlICJjb25maWcuaCIKICNpbmNsdWRlICJHUFVSZW5kZXJQYXNzRGVwdGhBdHRhY2htZW50RGVz
Y3JpcHRvci5oIgogCi0jaWYgRU5BQkxFKFdFQkdQVSkKKyNpZiBFTkFCTEUoV0VCTUVUQUwpCiAK
ICNpbmNsdWRlICJMb2dnaW5nLmgiCiAKQEAgLTM0LDcgKzM0LDcgQEAgbmFtZXNwYWNlIFdlYkNv
cmUgewogCiBHUFVSZW5kZXJQYXNzRGVwdGhBdHRhY2htZW50RGVzY3JpcHRvcjo6fkdQVVJlbmRl
clBhc3NEZXB0aEF0dGFjaG1lbnREZXNjcmlwdG9yKCkKIHsKLSAgICBMT0coV2ViR1BVLCAiR1BV
UmVuZGVyUGFzc0RlcHRoQXR0YWNobWVudERlc2NyaXB0b3I6On5HUFVSZW5kZXJQYXNzRGVwdGhB
dHRhY2htZW50RGVzY3JpcHRvcigpIik7CisgICAgTE9HKFdlYk1ldGFsLCAiR1BVUmVuZGVyUGFz
c0RlcHRoQXR0YWNobWVudERlc2NyaXB0b3I6On5HUFVSZW5kZXJQYXNzRGVwdGhBdHRhY2htZW50
RGVzY3JpcHRvcigpIik7CiB9CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dwdS9HUFVSZW5kZXJQYXNzRGVwdGhB
dHRhY2htZW50RGVzY3JpcHRvci5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
Z3B1L0dQVVJlbmRlclBhc3NEZXB0aEF0dGFjaG1lbnREZXNjcmlwdG9yLmgKaW5kZXggYjRjNTE3
Mjg5NzE0NjcwZmJhZDc1ODJlNmU1OTBkNzYzODA4MjgxZS4uNzJmZDc5MjAyZDdjMjZiZjIwNGYw
NTYyYzBhY2EzOWE4YjJjOTBlNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvZ3B1L0dQVVJlbmRlclBhc3NEZXB0aEF0dGFjaG1lbnREZXNjcmlwdG9yLmgKKysr
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L0dQVVJlbmRlclBhc3NEZXB0
aEF0dGFjaG1lbnREZXNjcmlwdG9yLmgKQEAgLTI1LDcgKzI1LDcgQEAKIAogI3ByYWdtYSBvbmNl
CiAKLSNpZiBFTkFCTEUoV0VCR1BVKQorI2lmIEVOQUJMRShXRUJNRVRBTCkKIAogI2luY2x1ZGUg
IkdQVVJlbmRlclBhc3NBdHRhY2htZW50RGVzY3JpcHRvci5oIgogCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9ncHUvR1BVUmVuZGVyUGFzc0Rlc2NyaXB0b3Iu
Y3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L0dQVVJlbmRlclBhc3NE
ZXNjcmlwdG9yLmNwcAppbmRleCBmYTRhYmM5ZTFjOWQyNjY3Yzk4OTdjYjFmNjYwNjc0MzBhNWI2
YzA4Li43Mzk3MWJmZjg3OGFkY2U2MWJiZGJkYWNiZDZhMDU1YzU0ODM3OTU0IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9ncHUvR1BVUmVuZGVyUGFzc0Rlc2Ny
aXB0b3IuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dwdS9HUFVS
ZW5kZXJQYXNzRGVzY3JpcHRvci5jcHAKQEAgLTI2LDcgKzI2LDcgQEAKICNpbmNsdWRlICJjb25m
aWcuaCIKICNpbmNsdWRlICJHUFVSZW5kZXJQYXNzRGVzY3JpcHRvci5oIgogCi0jaWYgRU5BQkxF
KFdFQkdQVSkKKyNpZiBFTkFCTEUoV0VCTUVUQUwpCiAKICNpbmNsdWRlICJHUFVSZW5kZXJQYXNz
RGVwdGhBdHRhY2htZW50RGVzY3JpcHRvci5oIgogI2luY2x1ZGUgIkxvZ2dpbmcuaCIKQEAgLTM1
LDcgKzM1LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogCiBHUFVSZW5kZXJQYXNzRGVzY3JpcHRv
cjo6fkdQVVJlbmRlclBhc3NEZXNjcmlwdG9yKCkKIHsKLSAgICBMT0coV2ViR1BVLCAiR1BVUmVu
ZGVyUGFzc0Rlc2NyaXB0b3I6On5HUFVSZW5kZXJQYXNzRGVzY3JpcHRvcigpIik7CisgICAgTE9H
KFdlYk1ldGFsLCAiR1BVUmVuZGVyUGFzc0Rlc2NyaXB0b3I6On5HUFVSZW5kZXJQYXNzRGVzY3Jp
cHRvcigpIik7CiB9CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dwdS9HUFVSZW5kZXJQYXNzRGVzY3JpcHRvci5o
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L0dQVVJlbmRlclBhc3NEZXNj
cmlwdG9yLmgKaW5kZXggNTRkYWUyNDJmYjVlNGY4MTEwODQ2YThjMmFkOGYwY2NlNDYwZjgwMi4u
MjlkNGUzZGQ5ODUwYWViOGNiNjk4YmNiMDEwMjQ3YWEyNGNkODI3OSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L0dQVVJlbmRlclBhc3NEZXNjcmlwdG9y
LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L0dQVVJlbmRlclBh
c3NEZXNjcmlwdG9yLmgKQEAgLTI1LDcgKzI1LDcgQEAKIAogI3ByYWdtYSBvbmNlCiAKLSNpZiBF
TkFCTEUoV0VCR1BVKQorI2lmIEVOQUJMRShXRUJNRVRBTCkKIAogI2luY2x1ZGUgPHd0Zi9SZXRh
aW5QdHIuaD4KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
Z3B1L0dQVVJlbmRlclBpcGVsaW5lQ29sb3JBdHRhY2htZW50RGVzY3JpcHRvci5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9ncHUvR1BVUmVuZGVyUGlwZWxpbmVDb2xvckF0
dGFjaG1lbnREZXNjcmlwdG9yLmNwcAppbmRleCBhNzU4NzgwMDk0NDExYzA3ZjcxMTY1Y2JhMjE0
ZDRjYTI0NzgwNzg1Li5kODNiYTExMWQzNmQzYTA4MjM5NmMzOGMzY2ZiNDdkMmRlZTAzMWFhIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9ncHUvR1BVUmVuZGVy
UGlwZWxpbmVDb2xvckF0dGFjaG1lbnREZXNjcmlwdG9yLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9ncHUvR1BVUmVuZGVyUGlwZWxpbmVDb2xvckF0dGFjaG1lbnRE
ZXNjcmlwdG9yLmNwcApAQCAtMjYsNyArMjYsNyBAQAogI2luY2x1ZGUgImNvbmZpZy5oIgogI2lu
Y2x1ZGUgIkdQVVJlbmRlclBpcGVsaW5lQ29sb3JBdHRhY2htZW50RGVzY3JpcHRvci5oIgogCi0j
aWYgRU5BQkxFKFdFQkdQVSkKKyNpZiBFTkFCTEUoV0VCTUVUQUwpCiAKICNpbmNsdWRlICJMb2dn
aW5nLmgiCiAKQEAgLTM0LDcgKzM0LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogCiBHUFVSZW5k
ZXJQaXBlbGluZUNvbG9yQXR0YWNobWVudERlc2NyaXB0b3I6On5HUFVSZW5kZXJQaXBlbGluZUNv
bG9yQXR0YWNobWVudERlc2NyaXB0b3IoKQogewotICAgIExPRyhXZWJHUFUsICJHUFVSZW5kZXJQ
aXBlbGluZUNvbG9yQXR0YWNobWVudERlc2NyaXB0b3I6On5HUFVSZW5kZXJQaXBlbGluZUNvbG9y
QXR0YWNobWVudERlc2NyaXB0b3IoKSIpOworICAgIExPRyhXZWJNZXRhbCwgIkdQVVJlbmRlclBp
cGVsaW5lQ29sb3JBdHRhY2htZW50RGVzY3JpcHRvcjo6fkdQVVJlbmRlclBpcGVsaW5lQ29sb3JB
dHRhY2htZW50RGVzY3JpcHRvcigpIik7CiB9CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dwdS9HUFVSZW5kZXJQ
aXBlbGluZUNvbG9yQXR0YWNobWVudERlc2NyaXB0b3IuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL2dwdS9HUFVSZW5kZXJQaXBlbGluZUNvbG9yQXR0YWNobWVudERlc2NyaXB0
b3IuaAppbmRleCBhODBhNWQwMGU2YjA2ZDNlN2NjODI5MDQxYjg5OTU5ZDc4MWVjNTVhLi5hODM2
Y2ZmMTU1NjBmN2RkN2NhNjljNTY0MzkxNmRkYWFmMDY2MzMwIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9ncHUvR1BVUmVuZGVyUGlwZWxpbmVDb2xvckF0dGFj
aG1lbnREZXNjcmlwdG9yLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
Z3B1L0dQVVJlbmRlclBpcGVsaW5lQ29sb3JBdHRhY2htZW50RGVzY3JpcHRvci5oCkBAIC0yNSw3
ICsyNSw3IEBACiAKICNwcmFnbWEgb25jZQogCi0jaWYgRU5BQkxFKFdFQkdQVSkKKyNpZiBFTkFC
TEUoV0VCTUVUQUwpCiAKICNpbmNsdWRlIDx3dGYvUmV0YWluUHRyLmg+CiAKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dwdS9HUFVSZW5kZXJQaXBlbGluZURl
c2NyaXB0b3IuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L0dQVVJl
bmRlclBpcGVsaW5lRGVzY3JpcHRvci5jcHAKaW5kZXggOTY4Y2M0NTM2MWViMDA2NDIzNWZlZWYw
ZGNmOGE4MzQyMGE1NjM0ZC4uNjRjMWM0YzlmYjEwMTQxMThhYmRiZGIxM2Q3ZDk3N2E5YjEzNjll
ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L0dQVVJl
bmRlclBpcGVsaW5lRGVzY3JpcHRvci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvZ3B1L0dQVVJlbmRlclBpcGVsaW5lRGVzY3JpcHRvci5jcHAKQEAgLTI2LDcgKzI2
LDcgQEAKICNpbmNsdWRlICJjb25maWcuaCIKICNpbmNsdWRlICJHUFVSZW5kZXJQaXBlbGluZURl
c2NyaXB0b3IuaCIKIAotI2lmIEVOQUJMRShXRUJHUFUpCisjaWYgRU5BQkxFKFdFQk1FVEFMKQog
CiAjaW5jbHVkZSAiTG9nZ2luZy5oIgogCkBAIC0zNCw3ICszNCw3IEBAIG5hbWVzcGFjZSBXZWJD
b3JlIHsKIAogR1BVUmVuZGVyUGlwZWxpbmVEZXNjcmlwdG9yOjp+R1BVUmVuZGVyUGlwZWxpbmVE
ZXNjcmlwdG9yKCkKIHsKLSAgICBMT0coV2ViR1BVLCAiR1BVUmVuZGVyUGlwZWxpbmVEZXNjcmlw
dG9yOjp+R1BVUmVuZGVyUGlwZWxpbmVEZXNjcmlwdG9yKCkiKTsKKyAgICBMT0coV2ViTWV0YWws
ICJHUFVSZW5kZXJQaXBlbGluZURlc2NyaXB0b3I6On5HUFVSZW5kZXJQaXBlbGluZURlc2NyaXB0
b3IoKSIpOwogfQogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9ncHUvR1BVUmVuZGVyUGlwZWxpbmVEZXNjcmlwdG9y
LmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9ncHUvR1BVUmVuZGVyUGlwZWxp
bmVEZXNjcmlwdG9yLmgKaW5kZXggMWZkZTkyNzg4ZjU1ZGE0ZmQ3ODg1MTgyZDdjYWIzYjQ4OGUz
NjI4Yi4uMDRjNWU2OGE3ZjcwMjM3ODkzMzVmYmQyZTBlMjVjOGQ3YTg2YzEyZiAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L0dQVVJlbmRlclBpcGVsaW5l
RGVzY3JpcHRvci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dwdS9H
UFVSZW5kZXJQaXBlbGluZURlc2NyaXB0b3IuaApAQCAtMjUsNyArMjUsNyBAQAogCiAjcHJhZ21h
IG9uY2UKIAotI2lmIEVOQUJMRShXRUJHUFUpCisjaWYgRU5BQkxFKFdFQk1FVEFMKQogCiAjaW5j
bHVkZSA8d3RmL1JldGFpblB0ci5oPgogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9ncHUvR1BVUmVuZGVyUGlwZWxpbmVTdGF0ZS5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9ncHUvR1BVUmVuZGVyUGlwZWxpbmVTdGF0ZS5jcHAKaW5k
ZXggNjlkYzQxMDVkMWZlMGY0NDNkMWMzNmIyNDZlMGY3N2YzMWFmOTRkYy4uYWFiMmIzZTgyMzQy
Y2RiNTljN2Q5N2JlZTgzOTEzYjk5ZDY5ODgyMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L0dQVVJlbmRlclBpcGVsaW5lU3RhdGUuY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dwdS9HUFVSZW5kZXJQaXBlbGluZVN0YXRl
LmNwcApAQCAtMjYsNyArMjYsNyBAQAogI2luY2x1ZGUgImNvbmZpZy5oIgogI2luY2x1ZGUgIkdQ
VVJlbmRlclBpcGVsaW5lU3RhdGUuaCIKIAotI2lmIEVOQUJMRShXRUJHUFUpCisjaWYgRU5BQkxF
KFdFQk1FVEFMKQogCiAjaW5jbHVkZSAiTG9nZ2luZy5oIgogCkBAIC0zNCw3ICszNCw3IEBAIG5h
bWVzcGFjZSBXZWJDb3JlIHsKIAogR1BVUmVuZGVyUGlwZWxpbmVTdGF0ZTo6fkdQVVJlbmRlclBp
cGVsaW5lU3RhdGUoKQogewotICAgIExPRyhXZWJHUFUsICJHUFVSZW5kZXJQaXBlbGluZVN0YXRl
Ojp+R1BVUmVuZGVyUGlwZWxpbmVTdGF0ZSgpIik7CisgICAgTE9HKFdlYk1ldGFsLCAiR1BVUmVu
ZGVyUGlwZWxpbmVTdGF0ZTo6fkdQVVJlbmRlclBpcGVsaW5lU3RhdGUoKSIpOwogfQogCiB9IC8v
IG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9ncHUvR1BVUmVuZGVyUGlwZWxpbmVTdGF0ZS5oIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvZ3B1L0dQVVJlbmRlclBpcGVsaW5lU3RhdGUuaAppbmRleCBjODgzMjQ5
NmU4N2E1ZGY2N2ExMDg5OGUxNzJkMDY4MzNmMWMxN2I0Li5jNjRhZmVkMTcwZGRjYzg4MWJiYTQy
ZWZlMjUwNjRkODNhZTdhNzJkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9ncHUvR1BVUmVuZGVyUGlwZWxpbmVTdGF0ZS5oCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL2dwdS9HUFVSZW5kZXJQaXBlbGluZVN0YXRlLmgKQEAgLTI1LDcg
KzI1LDcgQEAKIAogI3ByYWdtYSBvbmNlCiAKLSNpZiBFTkFCTEUoV0VCR1BVKQorI2lmIEVOQUJM
RShXRUJNRVRBTCkKIAogI2luY2x1ZGUgPHd0Zi9SZXRhaW5QdHIuaD4KIApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L0dQVVNpemUuaCBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dwdS9HUFVTaXplLmgKaW5kZXggMzk1OGU4M2JmM2Jl
OGM4MTQzYjY5MjU1NWQ4MjY4MDY1Yjk1OTRjYi4uMDY1OGYwODc4ZTVkN2E3YjJmMWFlODdjYzYx
ZjNmN2UzOGRlYzkyMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvZ3B1L0dQVVNpemUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9n
cHUvR1BVU2l6ZS5oCkBAIC0yNSw3ICsyNSw3IEBACiAKICNwcmFnbWEgb25jZQogCi0jaWYgRU5B
QkxFKFdFQkdQVSkKKyNpZiBFTkFCTEUoV0VCTUVUQUwpCiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsK
ICAgICAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dwdS9H
UFVUZXh0dXJlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dwdS9HUFVU
ZXh0dXJlLmNwcAppbmRleCBiY2M1ZThhMzFkYmU3MWQzMzI2YjE0YWIxZGE0ODNlM2QzNTJiZjNk
Li5iZjExNDY5ZDRmMmExYTM4ODNlNGZhZWY2MTg0Y2U4MzRiMzQ5Mjk0IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9ncHUvR1BVVGV4dHVyZS5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L0dQVVRleHR1cmUuY3BwCkBAIC0y
Niw3ICsyNiw3IEBACiAjaW5jbHVkZSAiY29uZmlnLmgiCiAjaW5jbHVkZSAiR1BVVGV4dHVyZS5o
IgogCi0jaWYgRU5BQkxFKFdFQkdQVSkKKyNpZiBFTkFCTEUoV0VCTUVUQUwpCiAKICNpbmNsdWRl
ICJMb2dnaW5nLmgiCiAKQEAgLTM0LDcgKzM0LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogCiBH
UFVUZXh0dXJlOjp+R1BVVGV4dHVyZSgpCiB7Ci0gICAgTE9HKFdlYkdQVSwgIkdQVVRleHR1cmU6
On5HUFVUZXh0dXJlKCkiKTsKKyAgICBMT0coV2ViTWV0YWwsICJHUFVUZXh0dXJlOjp+R1BVVGV4
dHVyZSgpIik7CiB9CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dwdS9HUFVUZXh0dXJlLmggYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9ncHUvR1BVVGV4dHVyZS5oCmluZGV4IGQwMzY3OTFjZWU2
YzJlNTIzNTNjOThlNmE4NTFhMjg0MTMzNmY3NDcuLjZiN2EzMTdiMjJlMmZlYTkyNjZhMzhkMDQ3
NTgwN2M1ZmJhZmQ5OTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL2dwdS9HUFVUZXh0dXJlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvZ3B1L0dQVVRleHR1cmUuaApAQCAtMjUsNyArMjUsNyBAQAogCiAjcHJhZ21hIG9uY2UKIAot
I2lmIEVOQUJMRShXRUJHUFUpCisjaWYgRU5BQkxFKFdFQk1FVEFMKQogCiAjaW5jbHVkZSA8d3Rm
L1JldGFpblB0ci5oPgogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9ncHUvR1BVVGV4dHVyZURlc2NyaXB0b3IuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvZ3B1L0dQVVRleHR1cmVEZXNjcmlwdG9yLmNwcAppbmRleCBkZjY3NWE0Y2Qx
NDk0Y2FlNjIwNjBiNzM5MmU0ZDkwNmE2ZGNlNmM5Li4wMmNjZjQyMzE2NTY0OGUwNGU4NjRiZWJj
MTFiZDM1Yzk5NTYyN2M4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9ncHUvR1BVVGV4dHVyZURlc2NyaXB0b3IuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL2dwdS9HUFVUZXh0dXJlRGVzY3JpcHRvci5jcHAKQEAgLTI2LDcgKzI2
LDcgQEAKICNpbmNsdWRlICJjb25maWcuaCIKICNpbmNsdWRlICJHUFVUZXh0dXJlRGVzY3JpcHRv
ci5oIgogCi0jaWYgRU5BQkxFKFdFQkdQVSkKKyNpZiBFTkFCTEUoV0VCTUVUQUwpCiAKICNpbmNs
dWRlICJMb2dnaW5nLmgiCiAKQEAgLTM0LDcgKzM0LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewog
CiBHUFVUZXh0dXJlRGVzY3JpcHRvcjo6fkdQVVRleHR1cmVEZXNjcmlwdG9yKCkKIHsKLSAgICBM
T0coV2ViR1BVLCAiR1BVVGV4dHVyZURlc2NyaXB0b3I6On5HUFVUZXh0dXJlRGVzY3JpcHRvcigp
Iik7CisgICAgTE9HKFdlYk1ldGFsLCAiR1BVVGV4dHVyZURlc2NyaXB0b3I6On5HUFVUZXh0dXJl
RGVzY3JpcHRvcigpIik7CiB9CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dwdS9HUFVUZXh0dXJlRGVzY3JpcHRv
ci5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L0dQVVRleHR1cmVEZXNj
cmlwdG9yLmgKaW5kZXggMjQxMTFmY2ZhZjI2YzQ1N2MwMDUyYmJiNWU4YmY3ZDExZWQ1MzM2Mi4u
MzM1ODcxZDY2ZWQ5YTIxNjc3NWIyMjkwYmQ2OGUwZTMxYWIyZjUwZiAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L0dQVVRleHR1cmVEZXNjcmlwdG9yLmgK
KysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3B1L0dQVVRleHR1cmVEZXNj
cmlwdG9yLmgKQEAgLTI1LDcgKzI1LDcgQEAKIAogI3ByYWdtYSBvbmNlCiAKLSNpZiBFTkFCTEUo
V0VCR1BVKQorI2lmIEVOQUJMRShXRUJNRVRBTCkKIAogI2luY2x1ZGUgPHd0Zi9SZXRhaW5QdHIu
aD4KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvbWV0YWwv
R1BVQnVmZmVyTWV0YWwubW0gYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9tZXRh
bC9HUFVCdWZmZXJNZXRhbC5tbQppbmRleCA0YTExOWM3ZDlmNGZjNTllNmM5NjRkMmZiZWEwM2Iy
NzUzY2NiYmNkLi5hYTMwZDkzMDNiMjZhNzBhYTExZjI0OTk0YzMyYmNkN2UwMjlkYWFjIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9tZXRhbC9HUFVCdWZmZXJN
ZXRhbC5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9tZXRhbC9HUFVC
dWZmZXJNZXRhbC5tbQpAQCAtMjYsNyArMjYsNyBAQAogI2ltcG9ydCAiY29uZmlnLmgiCiAjaW1w
b3J0ICJHUFVCdWZmZXIuaCIKIAotI2lmIEVOQUJMRShXRUJHUFUpCisjaWYgRU5BQkxFKFdFQk1F
VEFMKQogCiAjaW1wb3J0ICJHUFVEZXZpY2UuaCIKICNpbXBvcnQgIkxvZ2dpbmcuaCIKQEAgLTM5
LDcgKzM5LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogCiBHUFVCdWZmZXI6OkdQVUJ1ZmZlcihj
b25zdCBHUFVEZXZpY2UmIGRldmljZSwgY29uc3QgSlNDOjpBcnJheUJ1ZmZlclZpZXcmIGRhdGEp
CiB7Ci0gICAgTE9HKFdlYkdQVSwgIkdQVUJ1ZmZlcjo6R1BVQnVmZmVyKCkiKTsKKyAgICBMT0co
V2ViTWV0YWwsICJHUFVCdWZmZXI6OkdQVUJ1ZmZlcigpIik7CiAKICAgICBpZiAoIWRldmljZS5t
ZXRhbCgpKQogICAgICAgICByZXR1cm47CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9tZXRhbC9HUFVDb21tYW5kQnVmZmVyTWV0YWwubW0gYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9tZXRhbC9HUFVDb21tYW5kQnVmZmVyTWV0YWwubW0KaW5k
ZXggNmRmNjM2MWFiNGRjYTA5MWU5NGJmOTk1YzRjMzg5OWVjZWJiZDdkOS4uZmNkM2RjMjM2ZTEy
M2ZkNzhmZTU1NjE4ZDIwMzg4MDdjMTQ1ZTBmNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvbWV0YWwvR1BVQ29tbWFuZEJ1ZmZlck1ldGFsLm1tCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL21ldGFsL0dQVUNvbW1hbmRCdWZmZXJNZXRh
bC5tbQpAQCAtMjYsNyArMjYsNyBAQAogI2ltcG9ydCAiY29uZmlnLmgiCiAjaW1wb3J0ICJHUFVD
b21tYW5kQnVmZmVyLmgiCiAKLSNpZiBFTkFCTEUoV0VCR1BVKQorI2lmIEVOQUJMRShXRUJNRVRB
TCkKIAogI2ltcG9ydCAiR1BVQ29tbWFuZFF1ZXVlLmgiCiAjaW1wb3J0ICJHUFVEcmF3YWJsZS5o
IgpAQCAtNDAsNyArNDAsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiBHUFVDb21tYW5kQnVmZmVy
OjpHUFVDb21tYW5kQnVmZmVyKGNvbnN0IEdQVUNvbW1hbmRRdWV1ZSYgcXVldWUsIEZ1bmN0aW9u
PHZvaWQoKT4mJiBjb21wbGV0ZWRDYWxsYmFjaykKICAgICA6IG1fbWV0YWwgeyBbcXVldWUubWV0
YWwoKSBjb21tYW5kQnVmZmVyXSB9CiB7Ci0gICAgTE9HKFdlYkdQVSwgIkdQVUNvbW1hbmRCdWZm
ZXI6OkdQVUNvbW1hbmRCdWZmZXIoKSIpOworICAgIExPRyhXZWJNZXRhbCwgIkdQVUNvbW1hbmRC
dWZmZXI6OkdQVUNvbW1hbmRCdWZmZXIoKSIpOwogCiAgICAgW21fbWV0YWwgYWRkQ29tcGxldGVk
SGFuZGxlcjpCbG9ja1B0cjx2b2lkIChpZDxNVExDb21tYW5kQnVmZmVyPik+Ojpmcm9tQ2FsbGFi
bGUoW2NvbXBsZXRlZENhbGxiYWNrID0gV1RGTW92ZShjb21wbGV0ZWRDYWxsYmFjayldIChpZDxN
VExDb21tYW5kQnVmZmVyPikgbXV0YWJsZSB7CiAgICAgICAgIGNhbGxPbk1haW5UaHJlYWQoV1RG
TW92ZShjb21wbGV0ZWRDYWxsYmFjaykpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvbWV0YWwvR1BVQ29tbWFuZFF1ZXVlTWV0YWwubW0gYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9tZXRhbC9HUFVDb21tYW5kUXVldWVNZXRhbC5tbQppbmRl
eCAzMDNiMjVkYTNkNGE2NGVkMWIwMDMwYjcyYjlmZGJjNmY5NjVjMzNkLi45ZTJhMDBhN2ZmODcw
YmQ4ZDNmOTI4OTYzMWEyNmVmZDhhMjU0ZmQyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9tZXRhbC9HUFVDb21tYW5kUXVldWVNZXRhbC5tbQorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9tZXRhbC9HUFVDb21tYW5kUXVldWVNZXRhbC5t
bQpAQCAtMjYsNyArMjYsNyBAQAogI2ltcG9ydCAiY29uZmlnLmgiCiAjaW1wb3J0ICJHUFVDb21t
YW5kUXVldWUuaCIKIAotI2lmIEVOQUJMRShXRUJHUFUpCisjaWYgRU5BQkxFKFdFQk1FVEFMKQog
CiAjaW1wb3J0ICJHUFVEZXZpY2UuaCIKICNpbXBvcnQgIkxvZ2dpbmcuaCIKQEAgLTQxLDcgKzQx
LDcgQEAgc3RhdGljIE5TU3RyaW5nICogY29uc3QgY29tbWFuZFF1ZXVlTGFiZWxQcmVmaXggPSBA
ImNvbS5hcHBsZS5XZWJLaXQuIjsKIEdQVUNvbW1hbmRRdWV1ZTo6R1BVQ29tbWFuZFF1ZXVlKGNv
bnN0IEdQVURldmljZSYgZGV2aWNlKQogICAgIDogbV9tZXRhbCB7IGFkb3B0TlMoW2RldmljZS5t
ZXRhbCgpIG5ld0NvbW1hbmRRdWV1ZV0pIH0KIHsKLSAgICBMT0coV2ViR1BVLCAiR1BVQ29tbWFu
ZFF1ZXVlOjpHUFVDb21tYW5kUXVldWUoKSIpOworICAgIExPRyhXZWJNZXRhbCwgIkdQVUNvbW1h
bmRRdWV1ZTo6R1BVQ29tbWFuZFF1ZXVlKCkiKTsKIAogICAgIFttX21ldGFsIHNldExhYmVsOmNv
bW1hbmRRdWV1ZURlZmF1bHRMYWJlbF07CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9tZXRhbC9HUFVDb21wdXRlQ29tbWFuZEVuY29kZXJNZXRhbC5tbSBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL21ldGFsL0dQVUNvbXB1dGVDb21tYW5k
RW5jb2Rlck1ldGFsLm1tCmluZGV4IDFhMDViYmRiOWU3OGEyNzA2OTM0MTY5MGUzNTQ3MGZhNTc5
ZWE0OTIuLmNmOTQ0ZDdmODRhNWI5NTE0MTg4MGFjNDIyZjRiODZhNGY4NmI1ZGYgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL21ldGFsL0dQVUNvbXB1dGVDb21t
YW5kRW5jb2Rlck1ldGFsLm1tCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L21ldGFsL0dQVUNvbXB1dGVDb21tYW5kRW5jb2Rlck1ldGFsLm1tCkBAIC0yNiw3ICsyNiw3IEBA
CiAjaW1wb3J0ICJjb25maWcuaCIKICNpbXBvcnQgIkdQVUNvbXB1dGVDb21tYW5kRW5jb2Rlci5o
IgogCi0jaWYgRU5BQkxFKFdFQkdQVSkKKyNpZiBFTkFCTEUoV0VCTUVUQUwpCiAKICNpbXBvcnQg
IkdQVUJ1ZmZlci5oIgogI2ltcG9ydCAiR1BVQ29tbWFuZEJ1ZmZlci5oIgpAQCAtNDUsNyArNDUs
NyBAQCBzdGF0aWMgaW5saW5lIE1UTFNpemUgTVRMU2l6ZU1ha2UoR1BVU2l6ZSBzaXplKQogR1BV
Q29tcHV0ZUNvbW1hbmRFbmNvZGVyOjpHUFVDb21wdXRlQ29tbWFuZEVuY29kZXIoY29uc3QgR1BV
Q29tbWFuZEJ1ZmZlciYgYnVmZmVyKQogICAgIDogbV9tZXRhbCB7IFtidWZmZXIubWV0YWwoKSBj
b21wdXRlQ29tbWFuZEVuY29kZXJdIH0KIHsKLSAgICBMT0coV2ViR1BVLCAiR1BVQ29tcHV0ZUNv
bW1hbmRFbmNvZGVyOjpHUFVDb21wdXRlQ29tbWFuZEVuY29kZXIoKSIpOworICAgIExPRyhXZWJN
ZXRhbCwgIkdQVUNvbXB1dGVDb21tYW5kRW5jb2Rlcjo6R1BVQ29tcHV0ZUNvbW1hbmRFbmNvZGVy
KCkiKTsKIH0KIAogdm9pZCBHUFVDb21wdXRlQ29tbWFuZEVuY29kZXI6OnNldENvbXB1dGVQaXBl
bGluZVN0YXRlKGNvbnN0IEdQVUNvbXB1dGVQaXBlbGluZVN0YXRlJiBjb21wdXRlUGlwZWxpbmVT
dGF0ZSkgY29uc3QKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L21ldGFsL0dQVUNvbXB1dGVQaXBlbGluZVN0YXRlTWV0YWwubW0gYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9tZXRhbC9HUFVDb21wdXRlUGlwZWxpbmVTdGF0ZU1ldGFsLm1tCmlu
ZGV4IDUwMWJlZWU3ZDFjNGMzYjRhMmZjN2VmMDNhMGRhOWU1OTA1OWI2MWIuLjE1NzgyZTk3N2Zk
YjBlMTRjNzNmZDYxZDE4MmRhNGRlY2RmMDVmYTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL21ldGFsL0dQVUNvbXB1dGVQaXBlbGluZVN0YXRlTWV0YWwubW0K
KysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvbWV0YWwvR1BVQ29tcHV0ZVBp
cGVsaW5lU3RhdGVNZXRhbC5tbQpAQCAtMjYsNyArMjYsNyBAQAogI2ltcG9ydCAiY29uZmlnLmgi
CiAjaW1wb3J0ICJHUFVDb21wdXRlUGlwZWxpbmVTdGF0ZS5oIgogCi0jaWYgRU5BQkxFKFdFQkdQ
VSkKKyNpZiBFTkFCTEUoV0VCTUVUQUwpCiAKICNpbXBvcnQgIkdQVURldmljZS5oIgogI2ltcG9y
dCAiR1BVRnVuY3Rpb24uaCIKQEAgLTM3LDcgKzM3LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewog
CiBHUFVDb21wdXRlUGlwZWxpbmVTdGF0ZTo6R1BVQ29tcHV0ZVBpcGVsaW5lU3RhdGUoY29uc3Qg
R1BVRGV2aWNlJiBkZXZpY2UsIGNvbnN0IEdQVUZ1bmN0aW9uJiBmdW5jdGlvbikKIHsKLSAgICBM
T0coV2ViR1BVLCAiR1BVQ29tcHV0ZVBpcGVsaW5lU3RhdGU6OkdQVUNvbXB1dGVQaXBlbGluZVN0
YXRlKCkiKTsKKyAgICBMT0coV2ViTWV0YWwsICJHUFVDb21wdXRlUGlwZWxpbmVTdGF0ZTo6R1BV
Q29tcHV0ZVBpcGVsaW5lU3RhdGUoKSIpOwogCiAgICAgaWYgKCFmdW5jdGlvbi5tZXRhbCgpKQog
ICAgICAgICByZXR1cm47CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9tZXRhbC9HUFVEZXB0aFN0ZW5jaWxEZXNjcmlwdG9yTWV0YWwubW0gYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9tZXRhbC9HUFVEZXB0aFN0ZW5jaWxEZXNjcmlwdG9yTWV0
YWwubW0KaW5kZXggZDRhOTg4MmNkMjkxMGQ1ZmI2YzM3ODFkY2ZmOWI3OTMwYTIyMmIyZi4uNWU4
NWJjNzFjOTdhODY1MzEzODZlZTA0MmVlYTM1YWI3M2NkOTQ4MiAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvbWV0YWwvR1BVRGVwdGhTdGVuY2lsRGVzY3JpcHRv
ck1ldGFsLm1tCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL21ldGFsL0dQ
VURlcHRoU3RlbmNpbERlc2NyaXB0b3JNZXRhbC5tbQpAQCAtMjYsNyArMjYsNyBAQAogI2ltcG9y
dCAiY29uZmlnLmgiCiAjaW1wb3J0ICJHUFVEZXB0aFN0ZW5jaWxEZXNjcmlwdG9yLmgiCiAKLSNp
ZiBFTkFCTEUoV0VCR1BVKQorI2lmIEVOQUJMRShXRUJNRVRBTCkKIAogI2ltcG9ydCAiR1BVRW51
bXMuaCIKICNpbXBvcnQgIkxvZ2dpbmcuaCIKQEAgLTM3LDcgKzM3LDcgQEAgbmFtZXNwYWNlIFdl
YkNvcmUgewogR1BVRGVwdGhTdGVuY2lsRGVzY3JpcHRvcjo6R1BVRGVwdGhTdGVuY2lsRGVzY3Jp
cHRvcigpCiAgICAgOiBtX21ldGFsIHsgYWRvcHROUyhbTVRMRGVwdGhTdGVuY2lsRGVzY3JpcHRv
ciBuZXddKSB9CiB7Ci0gICAgTE9HKFdlYkdQVSwgIkdQVURlcHRoU3RlbmNpbERlc2NyaXB0b3I6
OkdQVURlcHRoU3RlbmNpbERlc2NyaXB0b3IoKSIpOworICAgIExPRyhXZWJNZXRhbCwgIkdQVURl
cHRoU3RlbmNpbERlc2NyaXB0b3I6OkdQVURlcHRoU3RlbmNpbERlc2NyaXB0b3IoKSIpOwogfQog
CiBib29sIEdQVURlcHRoU3RlbmNpbERlc2NyaXB0b3I6OmRlcHRoV3JpdGVFbmFibGVkKCkgY29u
c3QKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL21ldGFsL0dQ
VURlcHRoU3RlbmNpbFN0YXRlTWV0YWwubW0gYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9tZXRhbC9HUFVEZXB0aFN0ZW5jaWxTdGF0ZU1ldGFsLm1tCmluZGV4IDcyNWYyNWFlNjM0
MzA1NDBlYjBhYTg5M2ZiZmEwMDcxNTYyODc0NDUuLjU1ODBjNzRjZTU0NjdkYjliNTkyNzU5OWEz
NzExNDM3YWNmYzg1MzUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL21ldGFsL0dQVURlcHRoU3RlbmNpbFN0YXRlTWV0YWwubW0KKysrIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvbWV0YWwvR1BVRGVwdGhTdGVuY2lsU3RhdGVNZXRhbC5tbQpA
QCAtMjYsNyArMjYsNyBAQAogI2ltcG9ydCAiY29uZmlnLmgiCiAjaW1wb3J0ICJHUFVEZXB0aFN0
ZW5jaWxTdGF0ZS5oIgogCi0jaWYgRU5BQkxFKFdFQkdQVSkKKyNpZiBFTkFCTEUoV0VCTUVUQUwp
CiAKICNpbXBvcnQgIkdQVURlcHRoU3RlbmNpbERlc2NyaXB0b3IuaCIKICNpbXBvcnQgIkdQVURl
dmljZS5oIgpAQCAtMzksNyArMzksNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiBHUFVEZXB0aFN0
ZW5jaWxTdGF0ZTo6R1BVRGVwdGhTdGVuY2lsU3RhdGUoY29uc3QgR1BVRGV2aWNlJiBkZXZpY2Us
IGNvbnN0IEdQVURlcHRoU3RlbmNpbERlc2NyaXB0b3ImIGRlc2NyaXB0b3IpCiAgICAgOiBtX21l
dGFsIHsgYWRvcHROUyhbZGV2aWNlLm1ldGFsKCkgbmV3RGVwdGhTdGVuY2lsU3RhdGVXaXRoRGVz
Y3JpcHRvcjpkZXNjcmlwdG9yLm1ldGFsKCldKSB9CiB7Ci0gICAgTE9HKFdlYkdQVSwgIkdQVURl
cHRoU3RlbmNpbFN0YXRlOjpHUFVEZXB0aFN0ZW5jaWxTdGF0ZSgpIik7CisgICAgTE9HKFdlYk1l
dGFsLCAiR1BVRGVwdGhTdGVuY2lsU3RhdGU6OkdQVURlcHRoU3RlbmNpbFN0YXRlKCkiKTsKIH0K
IAogU3RyaW5nIEdQVURlcHRoU3RlbmNpbFN0YXRlOjpsYWJlbCgpIGNvbnN0CkBAIC01NCw3ICs1
NCw3IEBAIHZvaWQgR1BVRGVwdGhTdGVuY2lsU3RhdGU6OnNldExhYmVsKGNvbnN0IFN0cmluZyYp
IGNvbnN0CiB7CiAgICAgLy8gRklYTUU6IFRoZSBNVExEZXB0aFN0ZW5jaWxTdGF0ZSBwcm90b2Nv
bCBkb2VzIG5vdCBhbGxvdyBzZXR0aW5nIHRoZSBsYWJlbC4KICAgICAvLyBUaGUgbGFiZWwgaGFz
IHRvIGJlIHNldCBvbiB0aGUgZGVzY3JpcHRvciB3aGVuIGNyZWF0aW5nIHRoZSBzdGF0ZSBvYmpl
Y3QuCi0gICAgLy8gV2Ugc2hvdWxkIGNvbnNpZGVyIGNoYW5naW5nIHRoZSBXZWJHUFUgaW50ZXJm
YWNlIHRvIG5vdCByZXF1aXJlIHRoaXMhCisgICAgLy8gV2Ugc2hvdWxkIGNvbnNpZGVyIGNoYW5n
aW5nIHRoZSBXZWJNZXRhbCBpbnRlcmZhY2UgdG8gbm90IHJlcXVpcmUgdGhpcyEKIH0KICAgICAK
IH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL21ldGFsL0dQVURldmljZU1ldGFsLm1tIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvbWV0YWwvR1BVRGV2aWNlTWV0YWwubW0KaW5kZXggOGFkZGZlOWFjY2Zj
N2Q5NDlkZDZjOWUwZjU5ODhiODUzYjEwMjJjZS4uYmNlYTNmNzc0NDY0ZGUzNzg1NDdjYzc1NjI3
MzFiY2ZjZTc2MTIxZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvbWV0YWwvR1BVRGV2aWNlTWV0YWwubW0KKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvbWV0YWwvR1BVRGV2aWNlTWV0YWwubW0KQEAgLTI2LDEwICsyNiwxMCBAQAogI2lt
cG9ydCAiY29uZmlnLmgiCiAjaW1wb3J0ICJHUFVEZXZpY2UuaCIKIAotI2lmIEVOQUJMRShXRUJH
UFUpCisjaWYgRU5BQkxFKFdFQk1FVEFMKQogCiAjaW1wb3J0ICJMb2dnaW5nLmgiCi0jaW1wb3J0
ICJXZWJHUFVMYXllci5oIgorI2ltcG9ydCAiV2ViTWV0YWxMYXllci5oIgogI2ltcG9ydCA8SmF2
YVNjcmlwdENvcmUvQXJyYXlCdWZmZXIuaD4KICNpbXBvcnQgPE1ldGFsL01ldGFsLmg+CiAjaW1w
b3J0IDx3dGYvQmxvY2tPYmpDRXhjZXB0aW9ucy5oPgpAQCAtNDEsMTkgKzQxLDE5IEBAIEdQVURl
dmljZTo6R1BVRGV2aWNlKCkKIHsKIAogICAgIGlmICghbV9tZXRhbCkgewotICAgICAgICBMT0co
V2ViR1BVLCAiR1BVRGV2aWNlOjpHUFVEZXZpY2UgLS0gY291bGQgbm90IGNyZWF0ZSB0aGUgZGV2
aWNlLiBUaGlzIHVzdWFsbHkgbWVhbnMgTWV0YWwgaXMgbm90IGF2YWlsYWJsZSBvbiB0aGlzIGhh
cmR3YXJlLiIpOworICAgICAgICBMT0coV2ViTWV0YWwsICJHUFVEZXZpY2U6OkdQVURldmljZSAt
LSBjb3VsZCBub3QgY3JlYXRlIHRoZSBkZXZpY2UuIFRoaXMgdXN1YWxseSBtZWFucyBNZXRhbCBp
cyBub3QgYXZhaWxhYmxlIG9uIHRoaXMgaGFyZHdhcmUuIik7CiAgICAgICAgIHJldHVybjsKICAg
ICB9CiAKLSAgICBMT0coV2ViR1BVLCAiR1BVRGV2aWNlOjpHUFVEZXZpY2UgTWV0YWwgZGV2aWNl
IGlzICVwIiwgbV9tZXRhbC5nZXQoKSk7CisgICAgTE9HKFdlYk1ldGFsLCAiR1BVRGV2aWNlOjpH
UFVEZXZpY2UgTWV0YWwgZGV2aWNlIGlzICVwIiwgbV9tZXRhbC5nZXQoKSk7CiAKICAgICBCRUdJ
Tl9CTE9DS19PQkpDX0VYQ0VQVElPTlMKIAotICAgIG1fbGF5ZXIgPSBhZG9wdE5TKFtbV2ViR1BV
TGF5ZXIgYWxsb2NdIGluaXRXaXRoR1BVRGV2aWNlOnRoaXNdKTsKKyAgICBtX2xheWVyID0gYWRv
cHROUyhbW1dlYk1ldGFsTGF5ZXIgYWxsb2NdIGluaXRXaXRoR1BVRGV2aWNlOnRoaXNdKTsKICAg
ICBbbV9sYXllciBzZXRPcGFxdWU6MF07Ci0gICAgW21fbGF5ZXIgc2V0TmFtZTpAIldlYkdQVSBM
YXllciJdOworICAgIFttX2xheWVyIHNldE5hbWU6QCJXZWJNZXRhbCBMYXllciJdOwogCi0gICAg
Ly8gRklYTUU6IFdlYkdQVSAtIFNob3VsZCB0aGlzIGJlIGluIHRoZSBXZWJHUFVMYXllciBpbml0
aWFsaXplcj8KKyAgICAvLyBGSVhNRTogV2ViTWV0YWwgLSBTaG91bGQgdGhpcyBiZSBpbiB0aGUg
V2ViTWV0YWxMYXllciBpbml0aWFsaXplcj8KICAgICBbbV9sYXllciBzZXREZXZpY2U6bV9tZXRh
bC5nZXQoKV07CiAgICAgW21fbGF5ZXIgc2V0UGl4ZWxGb3JtYXQ6TVRMUGl4ZWxGb3JtYXRCR1JB
OFVub3JtXTsKICAgICBbbV9sYXllciBzZXRGcmFtZWJ1ZmZlck9ubHk6WUVTXTsKQEAgLTcyLDcg
KzcyLDcgQEAgdm9pZCBHUFVEZXZpY2U6OnJlc2hhcGUoaW50IHdpZHRoLCBpbnQgaGVpZ2h0KSBj
b25zdAogICAgIFttX2xheWVyIHNldEJvdW5kczpDR1JlY3RNYWtlKDAsIDAsIHdpZHRoLCBoZWln
aHQpXTsKICAgICBbbV9sYXllciBzZXREcmF3YWJsZVNpemU6Q0dTaXplTWFrZSh3aWR0aCwgaGVp
Z2h0KV07CiAKLSAgICAvLyBGSVhNRTogV2ViR1BVIC0gTG90cyBvZiByZXNoYXBlIHN0dWZmIHNo
b3VsZCBnbyBoZXJlLiBTZWUgR0MzRC4KKyAgICAvLyBGSVhNRTogV2ViTWV0YWwgLSBMb3RzIG9m
IHJlc2hhcGUgc3R1ZmYgc2hvdWxkIGdvIGhlcmUuIFNlZSBHQzNELgogfQogCiBDQUxheWVyICpH
UFVEZXZpY2U6OnBsYXRmb3JtTGF5ZXIoKSBjb25zdApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvbWV0YWwvR1BVRHJhd2FibGVNZXRhbC5tbSBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL21ldGFsL0dQVURyYXdhYmxlTWV0YWwubW0KaW5kZXgg
ZmIzMjY4Yzg0YTdlN2VhOTQwMjgxZDcwOTllN2VlM2JlODQ1ODY3ZS4uNWNhZDk4YWNhYzAxNGEx
ZGFkNjI3NjMwOWI0NzJiZTFhMDFjN2JkMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvbWV0YWwvR1BVRHJhd2FibGVNZXRhbC5tbQorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9tZXRhbC9HUFVEcmF3YWJsZU1ldGFsLm1tCkBAIC0yNiwy
MyArMjYsMjMgQEAKICNpbXBvcnQgImNvbmZpZy5oIgogI2ltcG9ydCAiR1BVRHJhd2FibGUuaCIK
IAotI2lmIEVOQUJMRShXRUJHUFUpCisjaWYgRU5BQkxFKFdFQk1FVEFMKQogCiAjaW1wb3J0ICJH
UFVEZXZpY2UuaCIKICNpbXBvcnQgIkxvZ2dpbmcuaCIKLSNpbXBvcnQgIldlYkdQVUxheWVyLmgi
CisjaW1wb3J0ICJXZWJNZXRhbExheWVyLmgiCiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogR1BV
RHJhd2FibGU6OkdQVURyYXdhYmxlKGNvbnN0IEdQVURldmljZSYgZGV2aWNlKQogICAgIDogbV9t
ZXRhbCB7IFtkZXZpY2UubGF5ZXIoKSBuZXh0RHJhd2FibGVdIH0KIHsKLSAgICBMT0coV2ViR1BV
LCAiR1BVRHJhd2FibGU6OkdQVURyYXdhYmxlKCkiKTsKKyAgICBMT0coV2ViTWV0YWwsICJHUFVE
cmF3YWJsZTo6R1BVRHJhd2FibGUoKSIpOwogfQogCiB2b2lkIEdQVURyYXdhYmxlOjpyZWxlYXNl
KCkKIHsKLSAgICBMT0coV2ViR1BVLCAiR1BVRHJhd2FibGU6OnJlbGVhc2UoKSIpOworICAgIExP
RyhXZWJNZXRhbCwgIkdQVURyYXdhYmxlOjpyZWxlYXNlKCkiKTsKICAgICBtX21ldGFsID0gbmls
OwogfQogICAgIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
bWV0YWwvR1BVRnVuY3Rpb25NZXRhbC5tbSBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL21ldGFsL0dQVUZ1bmN0aW9uTWV0YWwubW0KaW5kZXggMDgyMzIwOTlhZjY1OGU5OTRmYWE5
YzgxNTgwNzk4ZDIzN2YzNzI0YS4uN2E0YmUzYmYzYWE4MjRlNzBkNzZlNjc0YzhjZTYwOTE2OTBk
MWJmYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvbWV0YWwv
R1BVRnVuY3Rpb25NZXRhbC5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9tZXRhbC9HUFVGdW5jdGlvbk1ldGFsLm1tCkBAIC0yNiw3ICsyNiw3IEBACiAjaW1wb3J0ICJj
b25maWcuaCIKICNpbXBvcnQgIkdQVUZ1bmN0aW9uLmgiCiAKLSNpZiBFTkFCTEUoV0VCR1BVKQor
I2lmIEVOQUJMRShXRUJNRVRBTCkKIAogI2ltcG9ydCAiR1BVTGlicmFyeS5oIgogI2ltcG9ydCAi
TG9nZ2luZy5oIgpAQCAtMzgsNyArMzgsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiBHUFVGdW5j
dGlvbjo6R1BVRnVuY3Rpb24oY29uc3QgR1BVTGlicmFyeSYgbGlicmFyeSwgY29uc3QgU3RyaW5n
JiBuYW1lKQogICAgIDogbV9tZXRhbCB7IGFkb3B0TlMoW2xpYnJhcnkubWV0YWwoKSBuZXdGdW5j
dGlvbldpdGhOYW1lOm5hbWVdKSB9CiB7Ci0gICAgTE9HKFdlYkdQVSwgIkdQVUZ1bmN0aW9uOjpH
UFVGdW5jdGlvbigpIik7CisgICAgTE9HKFdlYk1ldGFsLCAiR1BVRnVuY3Rpb246OkdQVUZ1bmN0
aW9uKCkiKTsKIH0KIAogU3RyaW5nIEdQVUZ1bmN0aW9uOjpuYW1lKCkgY29uc3QKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL21ldGFsL0dQVUxpYnJhcnlNZXRh
bC5tbSBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL21ldGFsL0dQVUxpYnJhcnlN
ZXRhbC5tbQppbmRleCA4YWU4ODdhZjI4NjBlOTNhOWVmMGM3NjgyZWZhZGVmY2IwOTRiYjc2Li5l
MmFkYjFhYTQ1ZWFhY2FkOTA3MzZkODk5NDQ5NmI3MzJmZDNhNGU0IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9tZXRhbC9HUFVMaWJyYXJ5TWV0YWwubW0KKysr
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvbWV0YWwvR1BVTGlicmFyeU1ldGFs
Lm1tCkBAIC0yNiw3ICsyNiw3IEBACiAjaW1wb3J0ICJjb25maWcuaCIKICNpbXBvcnQgIkdQVUxp
YnJhcnkuaCIKIAotI2lmIEVOQUJMRShXRUJHUFUpCisjaWYgRU5BQkxFKFdFQk1FVEFMKQogCiAj
aW1wb3J0ICJHUFVEZXZpY2UuaCIKICNpbXBvcnQgIkxvZ2dpbmcuaCIKQEAgLTM4LDcgKzM4LDcg
QEAgbmFtZXNwYWNlIFdlYkNvcmUgewogCiBHUFVMaWJyYXJ5OjpHUFVMaWJyYXJ5KGNvbnN0IEdQ
VURldmljZSYgZGV2aWNlLCBjb25zdCBTdHJpbmcmIHNvdXJjZUNvZGUpCiB7Ci0gICAgTE9HKFdl
YkdQVSwgIkdQVUxpYnJhcnk6OkdQVUxpYnJhcnkoKSIpOworICAgIExPRyhXZWJNZXRhbCwgIkdQ
VUxpYnJhcnk6OkdQVUxpYnJhcnkoKSIpOwogCiAgICAgaWYgKCFkZXZpY2UubWV0YWwoKSkKICAg
ICAgICAgcmV0dXJuOwpAQCAtNDYsNyArNDYsNyBAQCBHUFVMaWJyYXJ5OjpHUFVMaWJyYXJ5KGNv
bnN0IEdQVURldmljZSYgZGV2aWNlLCBjb25zdCBTdHJpbmcmIHNvdXJjZUNvZGUpCiAgICAgTlNF
cnJvciAqZXJyb3IgPSBbTlNFcnJvciBlcnJvcldpdGhEb21haW46QCJjb20uYXBwbGUuV2ViS2l0
LkdQVSIgY29kZToxIHVzZXJJbmZvOm5pbF07CiAgICAgbV9tZXRhbCA9IGFkb3B0TlMoW2Rldmlj
ZS5tZXRhbCgpIG5ld0xpYnJhcnlXaXRoU291cmNlOnNvdXJjZUNvZGUgb3B0aW9uczpuaWwgZXJy
b3I6JmVycm9yXSk7CiAgICAgaWYgKCFtX21ldGFsKQotICAgICAgICBMT0coV2ViR1BVLCAiQ29t
cGlsYXRpb24gZXJyb3I6ICVzIiwgW1tlcnJvciBsb2NhbGl6ZWREZXNjcmlwdGlvbl0gVVRGOFN0
cmluZ10pOworICAgICAgICBMT0coV2ViTWV0YWwsICJDb21waWxhdGlvbiBlcnJvcjogJXMiLCBb
W2Vycm9yIGxvY2FsaXplZERlc2NyaXB0aW9uXSBVVEY4U3RyaW5nXSk7CiB9CiAKIFN0cmluZyBH
UFVMaWJyYXJ5OjpsYWJlbCgpIGNvbnN0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9tZXRhbC9HUFVSZW5kZXJDb21tYW5kRW5jb2Rlck1ldGFsLm1tIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvbWV0YWwvR1BVUmVuZGVyQ29tbWFuZEVuY29k
ZXJNZXRhbC5tbQppbmRleCBjMWU2MmIzZTE3YTZmMjFjNzQ3NjMzYjQ5ODc5OWFhNjJmODVjM2Rj
Li5iNzc1ODNiMjU2NzlmYWE4NDJjMTBiMDcyNWFiZDUyZWQ0MTU2NjI1IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9tZXRhbC9HUFVSZW5kZXJDb21tYW5kRW5j
b2Rlck1ldGFsLm1tCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL21ldGFs
L0dQVVJlbmRlckNvbW1hbmRFbmNvZGVyTWV0YWwubW0KQEAgLTI2LDcgKzI2LDcgQEAKICNpbXBv
cnQgImNvbmZpZy5oIgogI2ltcG9ydCAiR1BVUmVuZGVyQ29tbWFuZEVuY29kZXIuaCIKIAotI2lm
IEVOQUJMRShXRUJHUFUpCisjaWYgRU5BQkxFKFdFQk1FVEFMKQogCiAjaW1wb3J0ICJHUFVCdWZm
ZXIuaCIKICNpbXBvcnQgIkdQVUNvbW1hbmRCdWZmZXIuaCIKQEAgLTQwLDcgKzQwLDcgQEAgbmFt
ZXNwYWNlIFdlYkNvcmUgewogCiBHUFVSZW5kZXJDb21tYW5kRW5jb2Rlcjo6R1BVUmVuZGVyQ29t
bWFuZEVuY29kZXIoY29uc3QgR1BVQ29tbWFuZEJ1ZmZlciYgYnVmZmVyLCBjb25zdCBHUFVSZW5k
ZXJQYXNzRGVzY3JpcHRvciYgZGVzY3JpcHRvcikKIHsKLSAgICBMT0coV2ViR1BVLCAiR1BVUmVu
ZGVyQ29tbWFuZEVuY29kZXI6OkdQVVJlbmRlckNvbW1hbmRFbmNvZGVyKCkiKTsKKyAgICBMT0co
V2ViTWV0YWwsICJHUFVSZW5kZXJDb21tYW5kRW5jb2Rlcjo6R1BVUmVuZGVyQ29tbWFuZEVuY29k
ZXIoKSIpOwogCiAgICAgaWYgKCFkZXNjcmlwdG9yLm1ldGFsKCkpCiAgICAgICAgIHJldHVybjsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL21ldGFsL0dQVVJl
bmRlclBhc3NBdHRhY2htZW50RGVzY3JpcHRvck1ldGFsLm1tIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvbWV0YWwvR1BVUmVuZGVyUGFzc0F0dGFjaG1lbnREZXNjcmlwdG9yTWV0
YWwubW0KaW5kZXggNzMwZTcwZjM3ODY1ZWNhNDRlODVmYTBmYjViYzQ5MWIwMGU2ZjI3MC4uOTI0
OTM5YThiYzI4M2MxMjRkODI1MWUzNGQ1MjVhNzlkNmQwOThjYSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvbWV0YWwvR1BVUmVuZGVyUGFzc0F0dGFjaG1lbnRE
ZXNjcmlwdG9yTWV0YWwubW0KKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
bWV0YWwvR1BVUmVuZGVyUGFzc0F0dGFjaG1lbnREZXNjcmlwdG9yTWV0YWwubW0KQEAgLTI2LDcg
KzI2LDcgQEAKICNpbXBvcnQgImNvbmZpZy5oIgogI2ltcG9ydCAiR1BVUmVuZGVyUGFzc0F0dGFj
aG1lbnREZXNjcmlwdG9yLmgiCiAKLSNpZiBFTkFCTEUoV0VCR1BVKQorI2lmIEVOQUJMRShXRUJN
RVRBTCkKIAogI2ltcG9ydCAiR1BVVGV4dHVyZS5oIgogI2ltcG9ydCAiTG9nZ2luZy5oIgpAQCAt
MzgsNyArMzgsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiBHUFVSZW5kZXJQYXNzQXR0YWNobWVu
dERlc2NyaXB0b3I6OkdQVVJlbmRlclBhc3NBdHRhY2htZW50RGVzY3JpcHRvcihNVExSZW5kZXJQ
YXNzQXR0YWNobWVudERlc2NyaXB0b3IgKm1ldGFsKQogICAgIDogbV9tZXRhbCB7IG1ldGFsIH0K
IHsKLSAgICBMT0coV2ViR1BVLCAiR1BVUmVuZGVyUGFzc0F0dGFjaG1lbnREZXNjcmlwdG9yOjpH
UFVSZW5kZXJQYXNzQXR0YWNobWVudERlc2NyaXB0b3IoKSIpOworICAgIExPRyhXZWJNZXRhbCwg
IkdQVVJlbmRlclBhc3NBdHRhY2htZW50RGVzY3JpcHRvcjo6R1BVUmVuZGVyUGFzc0F0dGFjaG1l
bnREZXNjcmlwdG9yKCkiKTsKIH0KIAogdW5zaWduZWQgR1BVUmVuZGVyUGFzc0F0dGFjaG1lbnRE
ZXNjcmlwdG9yOjpsb2FkQWN0aW9uKCkgY29uc3QKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL21ldGFsL0dQVVJlbmRlclBhc3NDb2xvckF0dGFjaG1lbnREZXNj
cmlwdG9yTWV0YWwubW0gYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9tZXRhbC9H
UFVSZW5kZXJQYXNzQ29sb3JBdHRhY2htZW50RGVzY3JpcHRvck1ldGFsLm1tCmluZGV4IDFmNWEz
Njk1MzI0OWEyNjM3NmE1YmE1OGYwZWNiMjg4MTY2YWFhMDQuLmNjZDBmNDkwOTVjNDc0YjYyYWM3
ZTk5OGJjNmVmYWExZmIzZWZiZTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL21ldGFsL0dQVVJlbmRlclBhc3NDb2xvckF0dGFjaG1lbnREZXNjcmlwdG9yTWV0
YWwubW0KKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvbWV0YWwvR1BVUmVu
ZGVyUGFzc0NvbG9yQXR0YWNobWVudERlc2NyaXB0b3JNZXRhbC5tbQpAQCAtMjYsNyArMjYsNyBA
QAogI2ltcG9ydCAiY29uZmlnLmgiCiAjaW1wb3J0ICJHUFVSZW5kZXJQYXNzQ29sb3JBdHRhY2ht
ZW50RGVzY3JpcHRvci5oIgogCi0jaWYgRU5BQkxFKFdFQkdQVSkKKyNpZiBFTkFCTEUoV0VCTUVU
QUwpCiAKICNpbXBvcnQgIkZsb2F0Q29udmVyc2lvbi5oIgogI2ltcG9ydCAiTG9nZ2luZy5oIgpA
QCAtMzgsNyArMzgsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiBHUFVSZW5kZXJQYXNzQ29sb3JB
dHRhY2htZW50RGVzY3JpcHRvcjo6R1BVUmVuZGVyUGFzc0NvbG9yQXR0YWNobWVudERlc2NyaXB0
b3IoTVRMUmVuZGVyUGFzc0NvbG9yQXR0YWNobWVudERlc2NyaXB0b3IgKm1ldGFsKQogICAgIDog
R1BVUmVuZGVyUGFzc0F0dGFjaG1lbnREZXNjcmlwdG9yIHsgbWV0YWwgfQogewotICAgIExPRyhX
ZWJHUFUsICJHUFVSZW5kZXJQYXNzQ29sb3JBdHRhY2htZW50RGVzY3JpcHRvcjo6R1BVUmVuZGVy
UGFzc0NvbG9yQXR0YWNobWVudERlc2NyaXB0b3IoKSIpOworICAgIExPRyhXZWJNZXRhbCwgIkdQ
VVJlbmRlclBhc3NDb2xvckF0dGFjaG1lbnREZXNjcmlwdG9yOjpHUFVSZW5kZXJQYXNzQ29sb3JB
dHRhY2htZW50RGVzY3JpcHRvcigpIik7CiB9CiAKIFZlY3RvcjxmbG9hdD4gR1BVUmVuZGVyUGFz
c0NvbG9yQXR0YWNobWVudERlc2NyaXB0b3I6OmNsZWFyQ29sb3IoKSBjb25zdApkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvbWV0YWwvR1BVUmVuZGVyUGFzc0Rl
cHRoQXR0YWNobWVudERlc2NyaXB0b3JNZXRhbC5tbSBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL21ldGFsL0dQVVJlbmRlclBhc3NEZXB0aEF0dGFjaG1lbnREZXNjcmlwdG9yTWV0
YWwubW0KaW5kZXggMzc2NWIxYTJhOTQ5ZDYxMmE4M2MwZTA5ZmE1ZmYwZmY3NWE4YTc4NS4uNzY0
NzJlOTNlNGIzYmZkNzhlM2Q0Zjg3YTBiOGMzNzgyN2VjMjQ4OSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvbWV0YWwvR1BVUmVuZGVyUGFzc0RlcHRoQXR0YWNo
bWVudERlc2NyaXB0b3JNZXRhbC5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9tZXRhbC9HUFVSZW5kZXJQYXNzRGVwdGhBdHRhY2htZW50RGVzY3JpcHRvck1ldGFsLm1t
CkBAIC0yNiw3ICsyNiw3IEBACiAjaW1wb3J0ICJjb25maWcuaCIKICNpbXBvcnQgIkdQVVJlbmRl
clBhc3NEZXB0aEF0dGFjaG1lbnREZXNjcmlwdG9yLmgiCiAKLSNpZiBFTkFCTEUoV0VCR1BVKQor
I2lmIEVOQUJMRShXRUJNRVRBTCkKIAogI2ltcG9ydCAiR1BVUmVuZGVyUGFzc0F0dGFjaG1lbnRE
ZXNjcmlwdG9yLmgiCiAjaW1wb3J0ICJMb2dnaW5nLmgiCkBAIC0zNyw3ICszNyw3IEBAIG5hbWVz
cGFjZSBXZWJDb3JlIHsKIEdQVVJlbmRlclBhc3NEZXB0aEF0dGFjaG1lbnREZXNjcmlwdG9yOjpH
UFVSZW5kZXJQYXNzRGVwdGhBdHRhY2htZW50RGVzY3JpcHRvcihNVExSZW5kZXJQYXNzRGVwdGhB
dHRhY2htZW50RGVzY3JpcHRvciAqbWV0YWwpCiAgICAgOiBHUFVSZW5kZXJQYXNzQXR0YWNobWVu
dERlc2NyaXB0b3IgeyBtZXRhbCB9CiB7Ci0gICAgTE9HKFdlYkdQVSwgIkdQVVJlbmRlclBhc3NE
ZXB0aEF0dGFjaG1lbnREZXNjcmlwdG9yOjpHUFVSZW5kZXJQYXNzRGVwdGhBdHRhY2htZW50RGVz
Y3JpcHRvcigpIik7CisgICAgTE9HKFdlYk1ldGFsLCAiR1BVUmVuZGVyUGFzc0RlcHRoQXR0YWNo
bWVudERlc2NyaXB0b3I6OkdQVVJlbmRlclBhc3NEZXB0aEF0dGFjaG1lbnREZXNjcmlwdG9yKCki
KTsKIH0KIAogZG91YmxlIEdQVVJlbmRlclBhc3NEZXB0aEF0dGFjaG1lbnREZXNjcmlwdG9yOjpj
bGVhckRlcHRoKCkgY29uc3QKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL21ldGFsL0dQVVJlbmRlclBhc3NEZXNjcmlwdG9yTWV0YWwubW0gYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9tZXRhbC9HUFVSZW5kZXJQYXNzRGVzY3JpcHRvck1ldGFs
Lm1tCmluZGV4IGI3YWUxOGJmMTY2ZGRhZDE4NTJhODdjOThiMDE0OGI4MzA0ODA2ZjMuLmVhOGRk
NzE1NzczMzU2ZjRjNzhkZTY0YzRiNWZlM2NkNDQ1ZjUyZDkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL21ldGFsL0dQVVJlbmRlclBhc3NEZXNjcmlwdG9yTWV0
YWwubW0KKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvbWV0YWwvR1BVUmVu
ZGVyUGFzc0Rlc2NyaXB0b3JNZXRhbC5tbQpAQCAtMjYsNyArMjYsNyBAQAogI2ltcG9ydCAiY29u
ZmlnLmgiCiAjaW1wb3J0ICJHUFVSZW5kZXJQYXNzRGVzY3JpcHRvci5oIgogCi0jaWYgRU5BQkxF
KFdFQkdQVSkKKyNpZiBFTkFCTEUoV0VCTUVUQUwpCiAKICNpbXBvcnQgIkdQVVJlbmRlclBhc3ND
b2xvckF0dGFjaG1lbnREZXNjcmlwdG9yLmgiCiAjaW1wb3J0ICJHUFVSZW5kZXJQYXNzRGVwdGhB
dHRhY2htZW50RGVzY3JpcHRvci5oIgpAQCAtMzksNyArMzksNyBAQCBuYW1lc3BhY2UgV2ViQ29y
ZSB7CiBHUFVSZW5kZXJQYXNzRGVzY3JpcHRvcjo6R1BVUmVuZGVyUGFzc0Rlc2NyaXB0b3IoKQog
ICAgIDogbV9tZXRhbCB7IGFkb3B0TlMoW01UTFJlbmRlclBhc3NEZXNjcmlwdG9yIG5ld10pIH0K
IHsKLSAgICBMT0coV2ViR1BVLCAiR1BVUmVuZGVyUGFzc0Rlc2NyaXB0b3I6OkdQVVJlbmRlclBh
c3NEZXNjcmlwdG9yKCkiKTsKKyAgICBMT0coV2ViTWV0YWwsICJHUFVSZW5kZXJQYXNzRGVzY3Jp
cHRvcjo6R1BVUmVuZGVyUGFzc0Rlc2NyaXB0b3IoKSIpOwogfQogCiBWZWN0b3I8R1BVUmVuZGVy
UGFzc0NvbG9yQXR0YWNobWVudERlc2NyaXB0b3I+IEdQVVJlbmRlclBhc3NEZXNjcmlwdG9yOjpj
b2xvckF0dGFjaG1lbnRzKCkgY29uc3QKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL21ldGFsL0dQVVJlbmRlclBpcGVsaW5lQ29sb3JBdHRhY2htZW50RGVzY3Jp
cHRvck1ldGFsLm1tIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvbWV0YWwvR1BV
UmVuZGVyUGlwZWxpbmVDb2xvckF0dGFjaG1lbnREZXNjcmlwdG9yTWV0YWwubW0KaW5kZXggZGI4
ZTUyZDZmYzk3MWVmN2YyNTI0MzgyZGZlN2Y2Njc2NDgwZjE3Zi4uYTljYWYxNTUzZDAxZDE5NzRm
MzU5MmY1N2JjNzhkMTFkYTkxYzg3ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvbWV0YWwvR1BVUmVuZGVyUGlwZWxpbmVDb2xvckF0dGFjaG1lbnREZXNjcmlw
dG9yTWV0YWwubW0KKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvbWV0YWwv
R1BVUmVuZGVyUGlwZWxpbmVDb2xvckF0dGFjaG1lbnREZXNjcmlwdG9yTWV0YWwubW0KQEAgLTI2
LDcgKzI2LDcgQEAKICNpbXBvcnQgImNvbmZpZy5oIgogI2ltcG9ydCAiR1BVUmVuZGVyUGlwZWxp
bmVDb2xvckF0dGFjaG1lbnREZXNjcmlwdG9yLmgiCiAKLSNpZiBFTkFCTEUoV0VCR1BVKQorI2lm
IEVOQUJMRShXRUJNRVRBTCkKIAogI2ltcG9ydCAiTG9nZ2luZy5oIgogI2ltcG9ydCA8TWV0YWwv
TWV0YWwuaD4KQEAgLTM2LDcgKzM2LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogR1BVUmVuZGVy
UGlwZWxpbmVDb2xvckF0dGFjaG1lbnREZXNjcmlwdG9yOjpHUFVSZW5kZXJQaXBlbGluZUNvbG9y
QXR0YWNobWVudERlc2NyaXB0b3IoTVRMUmVuZGVyUGlwZWxpbmVDb2xvckF0dGFjaG1lbnREZXNj
cmlwdG9yICptZXRhbCkKICAgICA6IG1fbWV0YWwgeyBtZXRhbCB9CiB7Ci0gICAgTE9HKFdlYkdQ
VSwgIkdQVVJlbmRlclBpcGVsaW5lQ29sb3JBdHRhY2htZW50RGVzY3JpcHRvcjo6R1BVUmVuZGVy
UGlwZWxpbmVDb2xvckF0dGFjaG1lbnREZXNjcmlwdG9yKCkiKTsKKyAgICBMT0coV2ViTWV0YWws
ICJHUFVSZW5kZXJQaXBlbGluZUNvbG9yQXR0YWNobWVudERlc2NyaXB0b3I6OkdQVVJlbmRlclBp
cGVsaW5lQ29sb3JBdHRhY2htZW50RGVzY3JpcHRvcigpIik7CiB9CiAKIHVuc2lnbmVkIEdQVVJl
bmRlclBpcGVsaW5lQ29sb3JBdHRhY2htZW50RGVzY3JpcHRvcjo6cGl4ZWxGb3JtYXQoKSBjb25z
dApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvbWV0YWwvR1BV
UmVuZGVyUGlwZWxpbmVEZXNjcmlwdG9yTWV0YWwubW0gYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9tZXRhbC9HUFVSZW5kZXJQaXBlbGluZURlc2NyaXB0b3JNZXRhbC5tbQppbmRl
eCAyNjMzMzc3NmIwYThiODljODNhNTM0ZGEzOTk3MmIxNzA1NzNlYzYxLi42YWQwMDI5OTcyZmZk
MDA1NGZkZGVmNGMwOTJkYmU3MDFhYmRkMjI4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9tZXRhbC9HUFVSZW5kZXJQaXBlbGluZURlc2NyaXB0b3JNZXRhbC5t
bQorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9tZXRhbC9HUFVSZW5kZXJQ
aXBlbGluZURlc2NyaXB0b3JNZXRhbC5tbQpAQCAtMjYsNyArMjYsNyBAQAogI2ltcG9ydCAiY29u
ZmlnLmgiCiAjaW1wb3J0ICJHUFVSZW5kZXJQaXBlbGluZURlc2NyaXB0b3IuaCIKIAotI2lmIEVO
QUJMRShXRUJHUFUpCisjaWYgRU5BQkxFKFdFQk1FVEFMKQogCiAjaW1wb3J0ICJHUFVGdW5jdGlv
bi5oIgogI2ltcG9ydCAiR1BVUmVuZGVyUGlwZWxpbmVDb2xvckF0dGFjaG1lbnREZXNjcmlwdG9y
LmgiCkBAIC0zOSw3ICszOSw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIEdQVVJlbmRlclBpcGVs
aW5lRGVzY3JpcHRvcjo6R1BVUmVuZGVyUGlwZWxpbmVEZXNjcmlwdG9yKCkKICAgICA6IG1fbWV0
YWwgeyBhZG9wdE5TKFtNVExSZW5kZXJQaXBlbGluZURlc2NyaXB0b3IgbmV3XSkgfQogewotICAg
IExPRyhXZWJHUFUsICJHUFVSZW5kZXJQaXBlbGluZURlc2NyaXB0b3I6OkdQVVJlbmRlclBpcGVs
aW5lRGVzY3JpcHRvcigpIik7CisgICAgTE9HKFdlYk1ldGFsLCAiR1BVUmVuZGVyUGlwZWxpbmVE
ZXNjcmlwdG9yOjpHUFVSZW5kZXJQaXBlbGluZURlc2NyaXB0b3IoKSIpOwogfQogCiB1bnNpZ25l
ZCBHUFVSZW5kZXJQaXBlbGluZURlc2NyaXB0b3I6OmRlcHRoQXR0YWNobWVudFBpeGVsRm9ybWF0
KCkgY29uc3QKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL21l
dGFsL0dQVVJlbmRlclBpcGVsaW5lU3RhdGVNZXRhbC5tbSBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL21ldGFsL0dQVVJlbmRlclBpcGVsaW5lU3RhdGVNZXRhbC5tbQppbmRleCBl
ZTc3OTg2ODNjMmNhMWY3YzdhMjM3MTA0NmM0NWYzOGY1NGQyZmQxLi5jZTJkZjZhMDFiZDBkM2Q3
NzcyMzE0YzdkOTg4ZWE0Y2MyYzdjYTUzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9tZXRhbC9HUFVSZW5kZXJQaXBlbGluZVN0YXRlTWV0YWwubW0KKysrIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvbWV0YWwvR1BVUmVuZGVyUGlwZWxpbmVT
dGF0ZU1ldGFsLm1tCkBAIC0yNiw3ICsyNiw3IEBACiAjaW1wb3J0ICJjb25maWcuaCIKICNpbXBv
cnQgIkdQVVJlbmRlclBpcGVsaW5lU3RhdGUuaCIKIAotI2lmIEVOQUJMRShXRUJHUFUpCisjaWYg
RU5BQkxFKFdFQk1FVEFMKQogCiAjaW1wb3J0ICJHUFVEZXZpY2UuaCIKICNpbXBvcnQgIkdQVVJl
bmRlclBpcGVsaW5lRGVzY3JpcHRvci5oIgpAQCAtMzksNyArMzksNyBAQCBuYW1lc3BhY2UgV2Vi
Q29yZSB7CiBHUFVSZW5kZXJQaXBlbGluZVN0YXRlOjpHUFVSZW5kZXJQaXBlbGluZVN0YXRlKGNv
bnN0IEdQVURldmljZSYgZGV2aWNlLCBjb25zdCBHUFVSZW5kZXJQaXBlbGluZURlc2NyaXB0b3Im
IGRlc2NyaXB0b3IpCiAgICAgOiBtX21ldGFsIHsgYWRvcHROUyhbZGV2aWNlLm1ldGFsKCkgbmV3
UmVuZGVyUGlwZWxpbmVTdGF0ZVdpdGhEZXNjcmlwdG9yOmRlc2NyaXB0b3IubWV0YWwoKSBlcnJv
cjpuaWxdKSB9CiB7Ci0gICAgTE9HKFdlYkdQVSwgIkdQVVJlbmRlclBpcGVsaW5lU3RhdGU6OkdQ
VVJlbmRlclBpcGVsaW5lU3RhdGUoKSIpOworICAgIExPRyhXZWJNZXRhbCwgIkdQVVJlbmRlclBp
cGVsaW5lU3RhdGU6OkdQVVJlbmRlclBpcGVsaW5lU3RhdGUoKSIpOwogfQogCiBTdHJpbmcgR1BV
UmVuZGVyUGlwZWxpbmVTdGF0ZTo6bGFiZWwoKSBjb25zdApAQCAtNTMsNyArNTMsNyBAQCB2b2lk
IEdQVVJlbmRlclBpcGVsaW5lU3RhdGU6OnNldExhYmVsKGNvbnN0IFN0cmluZyYpIGNvbnN0CiB7
CiAgICAgLy8gRklYTUU6IFRoZSBNVExSZW5kZXJQaXBlbGluZVN0YXRlIHByb3RvY29sIGRvZXMg
bm90IGFsbG93IHNldHRpbmcgdGhlIGxhYmVsLgogICAgIC8vIFRoZSBsYWJlbCBoYXMgdG8gYmUg
c2V0IG9uIHRoZSBkZXNjcmlwdG9yIHdoZW4gY3JlYXRpbmcgdGhlIHN0YXRlIG9iamVjdC4KLSAg
ICAvLyBXZSBzaG91bGQgY29uc2lkZXIgY2hhbmdpbmcgdGhlIFdlYkdQVSBpbnRlcmZhY2UgdG8g
bm90IHJlcXVpcmUgdGhpcyEKKyAgICAvLyBXZSBzaG91bGQgY29uc2lkZXIgY2hhbmdpbmcgdGhl
IFdlYk1ldGFsIGludGVyZmFjZSB0byBub3QgcmVxdWlyZSB0aGlzIQogfQogICAgIAogTVRMUmVu
ZGVyUGlwZWxpbmVTdGF0ZSAqR1BVUmVuZGVyUGlwZWxpbmVTdGF0ZTo6bWV0YWwoKSBjb25zdApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvbWV0YWwvR1BVVGV4
dHVyZURlc2NyaXB0b3JNZXRhbC5tbSBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L21ldGFsL0dQVVRleHR1cmVEZXNjcmlwdG9yTWV0YWwubW0KaW5kZXggNzMyODA2Zjc0MjUyNDRj
OWU0YWY2YjUyN2I3NDg4MTFkMDAzZmI5Zi4uYmE3MzA1M2VkYTg3ZmY2ODZhY2QwN2JlMDhkZGI5
MWJkNTllMmI2ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
bWV0YWwvR1BVVGV4dHVyZURlc2NyaXB0b3JNZXRhbC5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9tZXRhbC9HUFVUZXh0dXJlRGVzY3JpcHRvck1ldGFsLm1tCkBAIC0y
Niw3ICsyNiw3IEBACiAjaW1wb3J0ICJjb25maWcuaCIKICNpbXBvcnQgIkdQVVRleHR1cmVEZXNj
cmlwdG9yLmgiCiAKLSNpZiBFTkFCTEUoV0VCR1BVKQorI2lmIEVOQUJMRShXRUJNRVRBTCkKIAog
I2ltcG9ydCAiTG9nZ2luZy5oIgogI2ltcG9ydCA8TWV0YWwvTWV0YWwuaD4KQEAgLTM2LDcgKzM2
LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogR1BVVGV4dHVyZURlc2NyaXB0b3I6OkdQVVRleHR1
cmVEZXNjcmlwdG9yKHVuc2lnbmVkIHBpeGVsRm9ybWF0LCB1bnNpZ25lZCB3aWR0aCwgdW5zaWdu
ZWQgaGVpZ2h0LCBib29sIG1pcG1hcHBlZCkKICAgICA6IG1fbWV0YWwgeyBbTVRMVGV4dHVyZURl
c2NyaXB0b3IgdGV4dHVyZTJERGVzY3JpcHRvcldpdGhQaXhlbEZvcm1hdDpzdGF0aWNfY2FzdDxN
VExQaXhlbEZvcm1hdD4ocGl4ZWxGb3JtYXQpIHdpZHRoOndpZHRoIGhlaWdodDpoZWlnaHQgbWlw
bWFwcGVkOm1pcG1hcHBlZF0gfQogewotICAgIExPRyhXZWJHUFUsICJHUFVUZXh0dXJlRGVzY3Jp
cHRvcjo6R1BVVGV4dHVyZURlc2NyaXB0b3IoKSIpOworICAgIExPRyhXZWJNZXRhbCwgIkdQVVRl
eHR1cmVEZXNjcmlwdG9yOjpHUFVUZXh0dXJlRGVzY3JpcHRvcigpIik7CiB9CiAKIHVuc2lnbmVk
IEdQVVRleHR1cmVEZXNjcmlwdG9yOjp3aWR0aCgpIGNvbnN0CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9tZXRhbC9HUFVUZXh0dXJlTWV0YWwubW0gYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9tZXRhbC9HUFVUZXh0dXJlTWV0YWwubW0KaW5k
ZXggMTEwN2ZjM2JjMmQxYzdkODE5NzkwNDM2OTg0OTMyMjU4MTM2MjI3MC4uYmNlZmNmZDFjMDY0
ZGY1ZGQ4Y2I2ZWJjYjU4OWVjNThkMTM4OWQyYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvbWV0YWwvR1BVVGV4dHVyZU1ldGFsLm1tCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL21ldGFsL0dQVVRleHR1cmVNZXRhbC5tbQpAQCAtMjYs
NyArMjYsNyBAQAogI2ltcG9ydCAiY29uZmlnLmgiCiAjaW1wb3J0ICJHUFVUZXh0dXJlLmgiCiAK
LSNpZiBFTkFCTEUoV0VCR1BVKQorI2lmIEVOQUJMRShXRUJNRVRBTCkKIAogI2ltcG9ydCAiR1BV
RGV2aWNlLmgiCiAjaW1wb3J0ICJHUFVEcmF3YWJsZS5oIgpAQCAtMzgsNyArMzgsNyBAQCBuYW1l
c3BhY2UgV2ViQ29yZSB7CiAKIEdQVVRleHR1cmU6OkdQVVRleHR1cmUoY29uc3QgR1BVRGV2aWNl
JiBkZXZpY2UsIGNvbnN0IEdQVVRleHR1cmVEZXNjcmlwdG9yJiBkZXNjcmlwdG9yKQogewotICAg
IExPRyhXZWJHUFUsICJHUFVUZXh0dXJlOjpHUFVUZXh0dXJlKCkiKTsKKyAgICBMT0coV2ViTWV0
YWwsICJHUFVUZXh0dXJlOjpHUFVUZXh0dXJlKCkiKTsKIAogICAgIGlmICghZGVzY3JpcHRvci5t
ZXRhbCgpKQogICAgICAgICByZXR1cm47CkBAIC00OSw3ICs0OSw3IEBAIEdQVVRleHR1cmU6OkdQ
VVRleHR1cmUoY29uc3QgR1BVRGV2aWNlJiBkZXZpY2UsIGNvbnN0IEdQVVRleHR1cmVEZXNjcmlw
dG9yJiBkZXNjCiBHUFVUZXh0dXJlOjpHUFVUZXh0dXJlKGNvbnN0IEdQVURyYXdhYmxlJiBvdGhl
cikKICAgICA6IG1fbWV0YWwgeyBvdGhlci50ZXh0dXJlKCkgfQogewotICAgIExPRyhXZWJHUFUs
ICJHUFVUZXh0dXJlOjpHUFVUZXh0dXJlKCkiKTsKKyAgICBMT0coV2ViTWV0YWwsICJHUFVUZXh0
dXJlOjpHUFVUZXh0dXJlKCkiKTsKIH0KIAogdW5zaWduZWQgR1BVVGV4dHVyZTo6d2lkdGgoKSBj
b25zdApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbFNldHRpbmdz
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxTZXR0aW5ncy5jcHAKaW5kZXgg
MjdmZjkwOWIwMjIwZWEwOWRhYjdkNWJjNjQ0NDNmYjdkYmNlYTBhNS4uYmQxZmEzMTEyMTZiYzJm
MGYzNDAxZjFkZGIwZGY2NDZhZjg2ZWI4NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvdGVz
dGluZy9JbnRlcm5hbFNldHRpbmdzLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0lu
dGVybmFsU2V0dGluZ3MuY3BwCkBAIC0xMTEsOCArMTExLDggQEAgSW50ZXJuYWxTZXR0aW5nczo6
QmFja3VwOjpCYWNrdXAoU2V0dGluZ3MmIHNldHRpbmdzKQogI2lmIEVOQUJMRShXRUJHTDIpCiAg
ICAgLCBtX3dlYkdMMkVuYWJsZWQoUnVudGltZUVuYWJsZWRGZWF0dXJlczo6c2hhcmVkRmVhdHVy
ZXMoKS53ZWJHTDJFbmFibGVkKCkpCiAjZW5kaWYKLSNpZiBFTkFCTEUoV0VCR1BVKQotICAgICwg
bV93ZWJHUFVFbmFibGVkKFJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6OnNoYXJlZEZlYXR1cmVzKCku
d2ViR1BVRW5hYmxlZCgpKQorI2lmIEVOQUJMRShXRUJNRVRBTCkKKyAgICAsIG1fd2ViTWV0YWxF
bmFibGVkKFJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6OnNoYXJlZEZlYXR1cmVzKCkud2ViTWV0YWxF
bmFibGVkKCkpCiAjZW5kaWYKICAgICAsIG1fd2ViVlJFbmFibGVkKFJ1bnRpbWVFbmFibGVkRmVh
dHVyZXM6OnNoYXJlZEZlYXR1cmVzKCkud2ViVlJFbmFibGVkKCkpCiAjaWYgRU5BQkxFKE1FRElB
X1NUUkVBTSkKQEAgLTIxNiw4ICsyMTYsOCBAQCB2b2lkIEludGVybmFsU2V0dGluZ3M6OkJhY2t1
cDo6cmVzdG9yZVRvKFNldHRpbmdzJiBzZXR0aW5ncykKICNpZiBFTkFCTEUoV0VCR0wyKQogICAg
IFJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6OnNoYXJlZEZlYXR1cmVzKCkuc2V0V2ViR0wyRW5hYmxl
ZChtX3dlYkdMMkVuYWJsZWQpOwogI2VuZGlmCi0jaWYgRU5BQkxFKFdFQkdQVSkKLSAgICBSdW50
aW1lRW5hYmxlZEZlYXR1cmVzOjpzaGFyZWRGZWF0dXJlcygpLnNldFdlYkdQVUVuYWJsZWQobV93
ZWJHUFVFbmFibGVkKTsKKyNpZiBFTkFCTEUoV0VCTUVUQUwpCisgICAgUnVudGltZUVuYWJsZWRG
ZWF0dXJlczo6c2hhcmVkRmVhdHVyZXMoKS5zZXRXZWJNZXRhbEVuYWJsZWQobV93ZWJNZXRhbEVu
YWJsZWQpOwogI2VuZGlmCiAgICAgUnVudGltZUVuYWJsZWRGZWF0dXJlczo6c2hhcmVkRmVhdHVy
ZXMoKS5zZXRXZWJWUkVuYWJsZWQobV93ZWJWUkVuYWJsZWQpOwogI2lmIEVOQUJMRShNRURJQV9T
VFJFQU0pCkBAIC03NTgsMTAgKzc1OCwxMCBAQCB2b2lkIEludGVybmFsU2V0dGluZ3M6OnNldFdl
YkdMMkVuYWJsZWQoYm9vbCBlbmFibGVkKQogI2VuZGlmCiB9CiAKLXZvaWQgSW50ZXJuYWxTZXR0
aW5nczo6c2V0V2ViR1BVRW5hYmxlZChib29sIGVuYWJsZWQpCit2b2lkIEludGVybmFsU2V0dGlu
Z3M6OnNldFdlYk1ldGFsRW5hYmxlZChib29sIGVuYWJsZWQpCiB7Ci0jaWYgRU5BQkxFKFdFQkdQ
VSkKLSAgICBSdW50aW1lRW5hYmxlZEZlYXR1cmVzOjpzaGFyZWRGZWF0dXJlcygpLnNldFdlYkdQ
VUVuYWJsZWQoZW5hYmxlZCk7CisjaWYgRU5BQkxFKFdFQk1FVEFMKQorICAgIFJ1bnRpbWVFbmFi
bGVkRmVhdHVyZXM6OnNoYXJlZEZlYXR1cmVzKCkuc2V0V2ViTWV0YWxFbmFibGVkKGVuYWJsZWQp
OwogI2Vsc2UKICAgICBVTlVTRURfUEFSQU0oZW5hYmxlZCk7CiAjZW5kaWYKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxTZXR0aW5ncy5oIGIvU291cmNlL1dlYkNv
cmUvdGVzdGluZy9JbnRlcm5hbFNldHRpbmdzLmgKaW5kZXggNjcwN2ZlNmFhMTkyZmI4NzQ1YTJh
N2Q4MzU2NDQ4MDM2MjcyOGEzNy4uMzU1NjdmODdjZmUwNDU0ZDlmNGU2ZjUxMmM2MTVmNzIzMDU3
N2I5NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbFNldHRpbmdz
LmgKKysrIGIvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbFNldHRpbmdzLmgKQEAgLTEy
Miw3ICsxMjIsNyBAQCBwdWJsaWM6CiAgICAgLy8gUnVudGltZUVuYWJsZWRGZWF0dXJlcy4KICAg
ICBzdGF0aWMgdm9pZCBzZXRJbmRleGVkREJXb3JrZXJzRW5hYmxlZChib29sKTsKICAgICBzdGF0
aWMgdm9pZCBzZXRXZWJHTDJFbmFibGVkKGJvb2wpOwotICAgIHN0YXRpYyB2b2lkIHNldFdlYkdQ
VUVuYWJsZWQoYm9vbCk7CisgICAgc3RhdGljIHZvaWQgc2V0V2ViTWV0YWxFbmFibGVkKGJvb2wp
OwogICAgIHN0YXRpYyB2b2lkIHNldFdlYlZSRW5hYmxlZChib29sKTsKICAgICBzdGF0aWMgdm9p
ZCBzZXRTY3JlZW5DYXB0dXJlRW5hYmxlZChib29sKTsKIApAQCAtMjA5LDcgKzIwOSw3IEBAIHBy
aXZhdGU6CiAgICAgICAgIC8vIFJ1bnRpbWUgZW5hYmxlZCBzZXR0aW5ncy4KICAgICAgICAgYm9v
bCBtX2luZGV4ZWREQldvcmtlcnNFbmFibGVkOwogICAgICAgICBib29sIG1fd2ViR0wyRW5hYmxl
ZDsKLSAgICAgICAgYm9vbCBtX3dlYkdQVUVuYWJsZWQ7CisgICAgICAgIGJvb2wgbV93ZWJNZXRh
bEVuYWJsZWQ7CiAgICAgICAgIGJvb2wgbV93ZWJWUkVuYWJsZWQ7CiAgICAgICAgIGJvb2wgbV9z
ZXRTY3JlZW5DYXB0dXJlRW5hYmxlZDsKICAgICAgICAgCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS90ZXN0aW5nL0ludGVybmFsU2V0dGluZ3MuaWRsIGIvU291cmNlL1dlYkNvcmUvdGVzdGlu
Zy9JbnRlcm5hbFNldHRpbmdzLmlkbAppbmRleCBkMTY5ODZlOGMyOGQ5ZGYzMzIzNjllYzNlMWFk
NmQyMDE5Nzg4M2YxLi41MWViMjQ2MDUxMGQ2YzJhMDJiY2JiYjMxNjI1YTJjZmJjZmVlZDA0IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFsU2V0dGluZ3MuaWRsCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxTZXR0aW5ncy5pZGwKQEAgLTkwLDcg
KzkwLDcgQEAgZW51bSBGb250TG9hZFRpbWluZ092ZXJyaWRlIHsgIkJsb2NrIiwgIlN3YXAiLCAi
RmFpbHVyZSIgfTsKICAgICAvLyBSdW50aW1lRW5hYmxlZEZlYXR1cmVzLgogICAgIHZvaWQgc2V0
SW5kZXhlZERCV29ya2Vyc0VuYWJsZWQoYm9vbGVhbiBlbmFibGVkKTsKICAgICB2b2lkIHNldFdl
YkdMMkVuYWJsZWQoYm9vbGVhbiBlbmFibGVkKTsKLSAgICB2b2lkIHNldFdlYkdQVUVuYWJsZWQo
Ym9vbGVhbiBlbmFibGVkKTsKKyAgICB2b2lkIHNldFdlYk1ldGFsRW5hYmxlZChib29sZWFuIGVu
YWJsZWQpOwogICAgIHZvaWQgc2V0V2ViVlJFbmFibGVkKGJvb2xlYW4gZW5hYmxlZCk7CiAgICAg
dm9pZCBzZXRTY3JlZW5DYXB0dXJlRW5hYmxlZChib29sZWFuIGVuYWJsZWQpOwogICAgIHZvaWQg
c2V0U3RvcmFnZUFjY2Vzc1Byb21wdHNFbmFibGVkKGJvb2xlYW4gZW5hYmxlZCk7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9Nb2RlbHMvQ2FudmFzLmpz
IGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvTW9kZWxzL0NhbnZhcy5qcwpp
bmRleCA0ZWZkYzUxMmViODViYTY0ZmMzNGNkNWIxMDY1NmVlZmIxZGI1ZGM0Li5jNDE0YzI4OWJh
ZjIzZjY5Nzg0YjllYjEzYWE4NmQ2YzY3MTBlOWQxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViSW5z
cGVjdG9yVUkvVXNlckludGVyZmFjZS9Nb2RlbHMvQ2FudmFzLmpzCisrKyBiL1NvdXJjZS9XZWJJ
bnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL01vZGVscy9DYW52YXMuanMKQEAgLTcwLDYgKzcwLDgg
QEAgV0kuQ2FudmFzID0gY2xhc3MgQ2FudmFzIGV4dGVuZHMgV0kuT2JqZWN0CiAgICAgICAgICAg
ICBicmVhazsKICAgICAgICAgY2FzZSBDYW52YXNBZ2VudC5Db250ZXh0VHlwZS5XZWJHUFU6CiAg
ICAgICAgICAgICBjb250ZXh0VHlwZSA9IFdJLkNhbnZhcy5Db250ZXh0VHlwZS5XZWJHUFU7Cisg
ICAgICAgIGNhc2UgQ2FudmFzQWdlbnQuQ29udGV4dFR5cGUuV2ViTWV0YWw6CisgICAgICAgICAg
ICBjb250ZXh0VHlwZSA9IFdJLkNhbnZhcy5Db250ZXh0VHlwZS5XZWJNZXRhbDsKICAgICAgICAg
ICAgIGJyZWFrOwogICAgICAgICBkZWZhdWx0OgogICAgICAgICAgICAgY29uc29sZS5lcnJvcigi
SW52YWxpZCBjYW52YXMgY29udGV4dCB0eXBlIiwgcGF5bG9hZC5jb250ZXh0VHlwZSk7CkBAIC05
Nyw2ICs5OSw4IEBAIFdJLkNhbnZhcyA9IGNsYXNzIENhbnZhcyBleHRlbmRzIFdJLk9iamVjdAog
ICAgICAgICAgICAgcmV0dXJuIFdJLnVubG9jYWxpemVkU3RyaW5nKCJXZWJHTDIiKTsKICAgICAg
ICAgY2FzZSBXSS5DYW52YXMuQ29udGV4dFR5cGUuV2ViR1BVOgogICAgICAgICAgICAgcmV0dXJu
IFdJLnVubG9jYWxpemVkU3RyaW5nKCJXZWJHUFUiKTsKKyAgICAgICAgY2FzZSBXSS5DYW52YXMu
Q29udGV4dFR5cGUuV2ViTWV0YWw6CisgICAgICAgICAgICByZXR1cm4gV0kudW5sb2NhbGl6ZWRT
dHJpbmcoIldlYk1ldGFsIik7CiAgICAgICAgIGRlZmF1bHQ6CiAgICAgICAgICAgICBjb25zb2xl
LmVycm9yKCJJbnZhbGlkIGNhbnZhcyBjb250ZXh0IHR5cGUiLCBjb250ZXh0VHlwZSk7CiAgICAg
ICAgIH0KQEAgLTMwNiw2ICszMTAsNyBAQCBXSS5DYW52YXMuQ29udGV4dFR5cGUgPSB7CiAgICAg
V2ViR0w6ICJ3ZWJnbCIsCiAgICAgV2ViR0wyOiAid2ViZ2wyIiwKICAgICBXZWJHUFU6ICJ3ZWJn
cHUiLAorICAgIFdlYk1ldGFsOiAid2VibWV0YWwiLAogfTsKIAogV0kuQ2FudmFzLkV2ZW50ID0g
ewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5l
cy54Y2NvbmZpZyBiL1NvdXJjZS9XZWJLaXQvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURlZmluZXMu
eGNjb25maWcKaW5kZXggNjhlZmNlOTQyY2EwZGNkZTYyMDlhMzBmYjRlNWQwYmQ4NzYwYTc4MS4u
MjQyOWRkOGRjNjkxMjQzNTZkMDE0NjNhYWI3Nzk4ZTc4Nzc5Yzk1YyAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdC9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5lcy54Y2NvbmZpZworKysgYi9T
b3VyY2UvV2ViS2l0L0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnCkBAIC0z
NTAsMTEgKzM1MCwxMSBAQCBFTkFCTEVfV0VCR0wgPSBFTkFCTEVfV0VCR0w7CiAKIEVOQUJMRV9X
RUJHTDIgPSBFTkFCTEVfV0VCR0wyOwogCi1FTkFCTEVfV0VCR1BVID0gJChFTkFCTEVfV0VCR1BV
XyQoV0tfUExBVEZPUk1fTkFNRSkpOwotRU5BQkxFX1dFQkdQVV9pcGhvbmVvcyA9IEVOQUJMRV9X
RUJHUFU7Ci1FTkFCTEVfV0VCR1BVX3dhdGNob3MgPSBFTkFCTEVfV0VCR1BVOwotRU5BQkxFX1dF
QkdQVV9hcHBsZXR2b3MgPSBFTkFCTEVfV0VCR1BVOwotRU5BQkxFX1dFQkdQVV9tYWNvc3ggPSBF
TkFCTEVfV0VCR1BVOworRU5BQkxFX1dFQk1FVEFMID0gJChFTkFCTEVfV0VCTUVUQUxfJChXS19Q
TEFURk9STV9OQU1FKSk7CitFTkFCTEVfV0VCTUVUQUxfaXBob25lb3MgPSBFTkFCTEVfV0VCTUVU
QUw7CitFTkFCTEVfV0VCTUVUQUxfd2F0Y2hvcyA9IEVOQUJMRV9XRUJNRVRBTDsKK0VOQUJMRV9X
RUJNRVRBTF9hcHBsZXR2b3MgPSBFTkFCTEVfV0VCTUVUQUw7CitFTkFCTEVfV0VCTUVUQUxfbWFj
b3N4ID0gRU5BQkxFX1dFQk1FVEFMOwogCiBFTkFCTEVfV0VCX0FVRElPID0gRU5BQkxFX1dFQl9B
VURJTzsKIApAQCAtMzcyLDQgKzM3Miw0IEBAIEVOQUJMRV9XSVJFTEVTU19QTEFZQkFDS19UQVJH
RVQgPSBFTkFCTEVfV0lSRUxFU1NfUExBWUJBQ0tfVEFSR0VUOwogCiBFTkFCTEVfWFNMVCA9IEVO
QUJMRV9YU0xUOwogCi1GRUFUVVJFX0RFRklORVMgPSAkKEVOQUJMRV8zRF9UUkFOU0ZPUk1TKSAk
KEVOQUJMRV9BQ0NFTEVSQVRFRF8yRF9DQU5WQVMpICQoRU5BQkxFX0FDQ0VMRVJBVEVEX09WRVJG
TE9XX1NDUk9MTElORykgJChFTkFCTEVfQVBQTEVfUEFZKSAkKEVOQUJMRV9BUFBMRV9QQVlfU0VT
U0lPTl9WMykgJChFTkFCTEVfQVBQTEVfUEFZX1NFU1NJT05fVjQpICQoRU5BQkxFX0FQUExJQ0FU
SU9OX01BTklGRVNUKSAkKEVOQUJMRV9BVFRBQ0hNRU5UX0VMRU1FTlQpICQoRU5BQkxFX0FWRl9D
QVBUSU9OUykgJChFTkFCTEVfQ0FDSEVfUEFSVElUSU9OSU5HKSAkKEVOQUJMRV9DSEFOTkVMX01F
U1NBR0lORykgJChFTkFCTEVfQ09OVEVOVF9GSUxURVJJTkcpICQoRU5BQkxFX0NTUzNfVEVYVCkg
JChFTkFCTEVfQ1NTX0JPWF9ERUNPUkFUSU9OX0JSRUFLKSAkKEVOQUJMRV9DU1NfQ09NUE9TSVRJ
TkcpICQoRU5BQkxFX0NTU19ERVZJQ0VfQURBUFRBVElPTikgJChFTkFCTEVfQ1NTX0lNQUdFX09S
SUVOVEFUSU9OKSAkKEVOQUJMRV9DU1NfSU1BR0VfUkVTT0xVVElPTikgJChFTkFCTEVfQ1NTX1ND
Uk9MTF9TTkFQKSAkKEVOQUJMRV9DU1NfU0VMRUNUT1JTX0xFVkVMNCkgJChFTkFCTEVfQ1NTX1RS
QUlMSU5HX1dPUkQpICQoRU5BQkxFX0NVUlNPUl9WSVNJQklMSVRZKSAkKEVOQUJMRV9DVVNUT01f
U0NIRU1FX0hBTkRMRVIpICQoRU5BQkxFX0RBU0hCT0FSRF9TVVBQT1JUKSAkKEVOQUJMRV9EQVRB
X0lOVEVSQUNUSU9OKSAkKEVOQUJMRV9EQVRBQ1VFX1ZBTFVFKSAkKEVOQUJMRV9EQVRBTElTVF9F
TEVNRU5UKSAkKEVOQUJMRV9ERVZJQ0VfT1JJRU5UQVRJT04pICQoRU5BQkxFX0RSQUdfU1VQUE9S
VCkgJChFTkFCTEVfRU5DUllQVEVEX01FRElBKSAkKEVOQUJMRV9FWFBFUklNRU5UQUxfRkVBVFVS
RVMpICQoRU5BQkxFX0ZBU1RfSklUX1BFUk1JU1NJT05TKSAkKEVOQUJMRV9GSUxURVJTX0xFVkVM
XzIpICQoRU5BQkxFX0ZUTF9KSVQpICQoRU5BQkxFX0ZVTExTQ1JFRU5fQVBJKSAkKEVOQUJMRV9H
QU1FUEFEKSAkKEVOQUJMRV9HRU9MT0NBVElPTikgJChFTkFCTEVfSUNPTkRBVEFCQVNFKSAkKEVO
QUJMRV9JTkRFWEVEX0RBVEFCQVNFKSAkKEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNFX0lOX1dPUktF
UlMpICQoRU5BQkxFX0lOUFVUX1RZUEVfQ09MT1IpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURSkg
JChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFVElNRV9JTkNPTVBMRVRFKSAkKEVOQUJMRV9JTlBVVF9U
WVBFX0RBVEVUSU1FTE9DQUwpICQoRU5BQkxFX0lOUFVUX1RZUEVfTU9OVEgpICQoRU5BQkxFX0lO
UFVUX1RZUEVfVElNRSkgJChFTkFCTEVfSU5QVVRfVFlQRV9XRUVLKSAkKEVOQUJMRV9JTlRFUlNF
Q1RJT05fT0JTRVJWRVIpICQoRU5BQkxFX0lOVEwpICQoRU5BQkxFX0lPU19HRVNUVVJFX0VWRU5U
UykgJChFTkFCTEVfSU9TX1RPVUNIX0VWRU5UUykgJChFTkFCTEVfSklUKSAkKEVOQUJMRV9KU19B
U1lOQ19JVEVSQVRJT04pICQoRU5BQkxFX0tFWUJPQVJEX0NPREVfQVRUUklCVVRFKSAkKEVOQUJM
RV9LRVlCT0FSRF9LRVlfQVRUUklCVVRFKSAkKEVOQUJMRV9MQVlPVVRfRk9STUFUVElOR19DT05U
RVhUKSAkKEVOQUJMRV9MRUdBQ1lfQ1NTX1ZFTkRPUl9QUkVGSVhFUykgJChFTkFCTEVfTEVHQUNZ
X0NVU1RPTV9QUk9UT0NPTF9NQU5BR0VSKSAkKEVOQUJMRV9MRUdBQ1lfRU5DUllQVEVEX01FRElB
KSAkKEVOQUJMRV9MRVRURVJQUkVTUykgJChFTkFCTEVfTUFDX0dFU1RVUkVfRVZFTlRTKSAkKEVO
QUJMRV9NQUNfVklERU9fVE9PTEJPWCkgJChFTkFCTEVfTUFUSE1MKSAkKEVOQUJMRV9NRURJQV9D
QVBUVVJFKSAkKEVOQUJMRV9NRURJQV9DT05UUk9MU19TQ1JJUFQpICQoRU5BQkxFX01FRElBX1NF
U1NJT04pICQoRU5BQkxFX01FRElBX1NPVVJDRSkgJChFTkFCTEVfTUVESUFfU1RBVElTVElDUykg
JChFTkFCTEVfTUVESUFfU1RSRUFNKSAkKEVOQUJMRV9NRVRFUl9FTEVNRU5UKSAkKEVOQUJMRV9N
SFRNTCkgJChFTkFCTEVfTU9VU0VfQ1VSU09SX1NDQUxFKSAkKEVOQUJMRV9OQVZJR0FUT1JfQ09O
VEVOVF9VVElMUykgJChFTkFCTEVfTkFWSUdBVE9SX1NUQU5EQUxPTkUpICQoRU5BQkxFX05PVElG
SUNBVElPTlMpICQoRU5BQkxFX1BBWU1FTlRfUkVRVUVTVCkgJChFTkFCTEVfUERGS0lUX1BMVUdJ
TikgJChFTkFCTEVfUE9JTlRFUl9MT0NLKSAkKEVOQUJMRV9QVUJMSUNfU1VGRklYX0xJU1QpICQo
RU5BQkxFX1FVT1RBKSAkKEVOQUJMRV9SRU1PVEVfSU5TUEVDVE9SKSAkKEVOQUJMRV9SRVNPTFVU
SU9OX01FRElBX1FVRVJZKSAkKEVOQUJMRV9SRVNPVVJDRV9VU0FHRSkgJChFTkFCTEVfUlVCQkVS
X0JBTkRJTkcpICQoRU5BQkxFX1NFUlZJQ0VfQ09OVFJPTFMpICQoRU5BQkxFX1NFUlZJQ0VfV09S
S0VSKSAkKEVOQUJMRV9TUEVFQ0hfU1lOVEhFU0lTKSAkKEVOQUJMRV9TVFJFQU1TX0FQSSkgJChF
TkFCTEVfU1VCVExFX0NSWVBUTykgJChFTkFCTEVfU1ZHX0ZPTlRTKSAkKEVOQUJMRV9URUxFUEhP
TkVfTlVNQkVSX0RFVEVDVElPTikgJChFTkFCTEVfVEVYVF9BVVRPU0laSU5HKSAkKEVOQUJMRV9U
T1VDSF9FVkVOVFMpICQoRU5BQkxFX1VTRVJfTUVTU0FHRV9IQU5ETEVSUykgJChFTkFCTEVfVVNF
UlNFTEVDVF9BTEwpICQoRU5BQkxFX1ZBUklBVElPTl9GT05UUykgJChFTkFCTEVfVklERU8pICQo
RU5BQkxFX1ZJREVPX1BSRVNFTlRBVElPTl9NT0RFKSAkKEVOQUJMRV9WSURFT19UUkFDSykgJChF
TkFCTEVfVklERU9fVVNFU19FTEVNRU5UX0ZVTExTQ1JFRU4pICQoRU5BQkxFX1dFQl9BVURJTykg
JChFTkFCTEVfV0VCX0FVVEhOKSAkKEVOQUJMRV9XRUJfUlRDKSAkKEVOQUJMRV9XRUJBU1NFTUJM
WSkgJChFTkFCTEVfV0VCQVNTRU1CTFlfU1RSRUFNSU5HX0FQSSkgJChFTkFCTEVfV0VCR0wpICQo
RU5BQkxFX1dFQkdMMikgJChFTkFCTEVfV0VCR1BVKSAkKEVOQUJMRV9XSVJFTEVTU19QTEFZQkFD
S19UQVJHRVQpICQoRU5BQkxFX1hTTFQpOworRkVBVFVSRV9ERUZJTkVTID0gJChFTkFCTEVfM0Rf
VFJBTlNGT1JNUykgJChFTkFCTEVfQUNDRUxFUkFURURfMkRfQ0FOVkFTKSAkKEVOQUJMRV9BQ0NF
TEVSQVRFRF9PVkVSRkxPV19TQ1JPTExJTkcpICQoRU5BQkxFX0FQUExFX1BBWSkgJChFTkFCTEVf
QVBQTEVfUEFZX1NFU1NJT05fVjMpICQoRU5BQkxFX0FQUExFX1BBWV9TRVNTSU9OX1Y0KSAkKEVO
QUJMRV9BUFBMSUNBVElPTl9NQU5JRkVTVCkgJChFTkFCTEVfQVRUQUNITUVOVF9FTEVNRU5UKSAk
KEVOQUJMRV9BVkZfQ0FQVElPTlMpICQoRU5BQkxFX0NBQ0hFX1BBUlRJVElPTklORykgJChFTkFC
TEVfQ0hBTk5FTF9NRVNTQUdJTkcpICQoRU5BQkxFX0NPTlRFTlRfRklMVEVSSU5HKSAkKEVOQUJM
RV9DU1MzX1RFWFQpICQoRU5BQkxFX0NTU19CT1hfREVDT1JBVElPTl9CUkVBSykgJChFTkFCTEVf
Q1NTX0NPTVBPU0lUSU5HKSAkKEVOQUJMRV9DU1NfREVWSUNFX0FEQVBUQVRJT04pICQoRU5BQkxF
X0NTU19JTUFHRV9PUklFTlRBVElPTikgJChFTkFCTEVfQ1NTX0lNQUdFX1JFU09MVVRJT04pICQo
RU5BQkxFX0NTU19TQ1JPTExfU05BUCkgJChFTkFCTEVfQ1NTX1NFTEVDVE9SU19MRVZFTDQpICQo
RU5BQkxFX0NTU19UUkFJTElOR19XT1JEKSAkKEVOQUJMRV9DVVJTT1JfVklTSUJJTElUWSkgJChF
TkFCTEVfQ1VTVE9NX1NDSEVNRV9IQU5ETEVSKSAkKEVOQUJMRV9EQVNIQk9BUkRfU1VQUE9SVCkg
JChFTkFCTEVfREFUQV9JTlRFUkFDVElPTikgJChFTkFCTEVfREFUQUNVRV9WQUxVRSkgJChFTkFC
TEVfREFUQUxJU1RfRUxFTUVOVCkgJChFTkFCTEVfREVWSUNFX09SSUVOVEFUSU9OKSAkKEVOQUJM
RV9EUkFHX1NVUFBPUlQpICQoRU5BQkxFX0VOQ1JZUFRFRF9NRURJQSkgJChFTkFCTEVfRVhQRVJJ
TUVOVEFMX0ZFQVRVUkVTKSAkKEVOQUJMRV9GQVNUX0pJVF9QRVJNSVNTSU9OUykgJChFTkFCTEVf
RklMVEVSU19MRVZFTF8yKSAkKEVOQUJMRV9GVExfSklUKSAkKEVOQUJMRV9GVUxMU0NSRUVOX0FQ
SSkgJChFTkFCTEVfR0FNRVBBRCkgJChFTkFCTEVfR0VPTE9DQVRJT04pICQoRU5BQkxFX0lDT05E
QVRBQkFTRSkgJChFTkFCTEVfSU5ERVhFRF9EQVRBQkFTRSkgJChFTkFCTEVfSU5ERVhFRF9EQVRB
QkFTRV9JTl9XT1JLRVJTKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0NPTE9SKSAkKEVOQUJMRV9JTlBV
VF9UWVBFX0RBVEUpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURVRJTUVfSU5DT01QTEVURSkgJChF
TkFCTEVfSU5QVVRfVFlQRV9EQVRFVElNRUxPQ0FMKSAkKEVOQUJMRV9JTlBVVF9UWVBFX01PTlRI
KSAkKEVOQUJMRV9JTlBVVF9UWVBFX1RJTUUpICQoRU5BQkxFX0lOUFVUX1RZUEVfV0VFSykgJChF
TkFCTEVfSU5URVJTRUNUSU9OX09CU0VSVkVSKSAkKEVOQUJMRV9JTlRMKSAkKEVOQUJMRV9JT1Nf
R0VTVFVSRV9FVkVOVFMpICQoRU5BQkxFX0lPU19UT1VDSF9FVkVOVFMpICQoRU5BQkxFX0pJVCkg
JChFTkFCTEVfSlNfQVNZTkNfSVRFUkFUSU9OKSAkKEVOQUJMRV9LRVlCT0FSRF9DT0RFX0FUVFJJ
QlVURSkgJChFTkFCTEVfS0VZQk9BUkRfS0VZX0FUVFJJQlVURSkgJChFTkFCTEVfTEFZT1VUX0ZP
Uk1BVFRJTkdfQ09OVEVYVCkgJChFTkFCTEVfTEVHQUNZX0NTU19WRU5ET1JfUFJFRklYRVMpICQo
RU5BQkxFX0xFR0FDWV9DVVNUT01fUFJPVE9DT0xfTUFOQUdFUikgJChFTkFCTEVfTEVHQUNZX0VO
Q1JZUFRFRF9NRURJQSkgJChFTkFCTEVfTEVUVEVSUFJFU1MpICQoRU5BQkxFX01BQ19HRVNUVVJF
X0VWRU5UUykgJChFTkFCTEVfTUFDX1ZJREVPX1RPT0xCT1gpICQoRU5BQkxFX01BVEhNTCkgJChF
TkFCTEVfTUVESUFfQ0FQVFVSRSkgJChFTkFCTEVfTUVESUFfQ09OVFJPTFNfU0NSSVBUKSAkKEVO
QUJMRV9NRURJQV9TRVNTSU9OKSAkKEVOQUJMRV9NRURJQV9TT1VSQ0UpICQoRU5BQkxFX01FRElB
X1NUQVRJU1RJQ1MpICQoRU5BQkxFX01FRElBX1NUUkVBTSkgJChFTkFCTEVfTUVURVJfRUxFTUVO
VCkgJChFTkFCTEVfTUhUTUwpICQoRU5BQkxFX01PVVNFX0NVUlNPUl9TQ0FMRSkgJChFTkFCTEVf
TkFWSUdBVE9SX0NPTlRFTlRfVVRJTFMpICQoRU5BQkxFX05BVklHQVRPUl9TVEFOREFMT05FKSAk
KEVOQUJMRV9OT1RJRklDQVRJT05TKSAkKEVOQUJMRV9QQVlNRU5UX1JFUVVFU1QpICQoRU5BQkxF
X1BERktJVF9QTFVHSU4pICQoRU5BQkxFX1BPSU5URVJfTE9DSykgJChFTkFCTEVfUFVCTElDX1NV
RkZJWF9MSVNUKSAkKEVOQUJMRV9RVU9UQSkgJChFTkFCTEVfUkVNT1RFX0lOU1BFQ1RPUikgJChF
TkFCTEVfUkVTT0xVVElPTl9NRURJQV9RVUVSWSkgJChFTkFCTEVfUkVTT1VSQ0VfVVNBR0UpICQo
RU5BQkxFX1JVQkJFUl9CQU5ESU5HKSAkKEVOQUJMRV9TRVJWSUNFX0NPTlRST0xTKSAkKEVOQUJM
RV9TRVJWSUNFX1dPUktFUikgJChFTkFCTEVfU1BFRUNIX1NZTlRIRVNJUykgJChFTkFCTEVfU1RS
RUFNU19BUEkpICQoRU5BQkxFX1NVQlRMRV9DUllQVE8pICQoRU5BQkxFX1NWR19GT05UUykgJChF
TkFCTEVfVEVMRVBIT05FX05VTUJFUl9ERVRFQ1RJT04pICQoRU5BQkxFX1RFWFRfQVVUT1NJWklO
RykgJChFTkFCTEVfVE9VQ0hfRVZFTlRTKSAkKEVOQUJMRV9VU0VSX01FU1NBR0VfSEFORExFUlMp
ICQoRU5BQkxFX1VTRVJTRUxFQ1RfQUxMKSAkKEVOQUJMRV9WQVJJQVRJT05fRk9OVFMpICQoRU5B
QkxFX1ZJREVPKSAkKEVOQUJMRV9WSURFT19QUkVTRU5UQVRJT05fTU9ERSkgJChFTkFCTEVfVklE
RU9fVFJBQ0spICQoRU5BQkxFX1ZJREVPX1VTRVNfRUxFTUVOVF9GVUxMU0NSRUVOKSAkKEVOQUJM
RV9XRUJfQVVESU8pICQoRU5BQkxFX1dFQl9BVVRITikgJChFTkFCTEVfV0VCX1JUQykgJChFTkFC
TEVfV0VCQVNTRU1CTFkpICQoRU5BQkxFX1dFQkFTU0VNQkxZX1NUUkVBTUlOR19BUEkpICQoRU5B
QkxFX1dFQkdMKSAkKEVOQUJMRV9XRUJHTDIpICQoRU5BQkxFX1dFQk1FVEFMKSAkKEVOQUJMRV9X
SVJFTEVTU19QTEFZQkFDS19UQVJHRVQpICQoRU5BQkxFX1hTTFQpOwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdC9TaGFyZWQvV2ViUHJlZmVyZW5jZXMueWFtbCBiL1NvdXJjZS9XZWJLaXQvU2hh
cmVkL1dlYlByZWZlcmVuY2VzLnlhbWwKaW5kZXggMTMwOWZiMTMyN2ZiODA3MjU3NmY5OWZlOWJl
OTFjZDQyODZkM2E5OS4uNjNjNGI5M2Q1MzI1ZGYxODE2YjI3MjRkZjQ2MDlkODA0YTVkZjE4ZSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9TaGFyZWQvV2ViUHJlZmVyZW5jZXMueWFtbAorKysg
Yi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9XZWJQcmVmZXJlbmNlcy55YW1sCkBAIC0xMjM4LDE0ICsx
MjM4LDE0IEBAIFdlYkdMMkVuYWJsZWQ6CiAgIHdlYmNvcmVCaW5kaW5nOiBSdW50aW1lRW5hYmxl
ZEZlYXR1cmVzCiAgIGNvbmRpdGlvbjogRU5BQkxFKFdFQkdMMikKIAotV2ViR1BVRW5hYmxlZDoK
K1dlYk1ldGFsRW5hYmxlZDoKICAgdHlwZTogYm9vbAogICBkZWZhdWx0VmFsdWU6IGZhbHNlCi0g
IGh1bWFuUmVhZGFibGVOYW1lOiAiV2ViR1BVIgotICBodW1hblJlYWRhYmxlRGVzY3JpcHRpb246
ICJXZWJHUFUgcHJvdG90eXBlIgorICBodW1hblJlYWRhYmxlTmFtZTogIldlYk1ldGFsIgorICBo
dW1hblJlYWRhYmxlRGVzY3JpcHRpb246ICJXZWJNZXRhbCBwcm90b3R5cGUiCiAgIGNhdGVnb3J5
OiBleHBlcmltZW50YWwKICAgd2ViY29yZUJpbmRpbmc6IFJ1bnRpbWVFbmFibGVkRmVhdHVyZXMK
LSAgY29uZGl0aW9uOiBFTkFCTEUoV0VCR1BVKQorICBjb25kaXRpb246IEVOQUJMRShXRUJNRVRB
TCkKIAogQWNjZXNzaWJpbGl0eU9iamVjdE1vZGVsRW5hYmxlZDoKICAgdHlwZTogYm9vbApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0luamVjdGVk
QnVuZGxlLmNwcCBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9Jbmpl
Y3RlZEJ1bmRsZS5jcHAKaW5kZXggMWI0YTRmNDY0YTllYTRmOGRhMzViNDkzYTk3NGRjNzFjOTUx
M2Y3OC4uZWUwZDRiY2ViYzE1ZmQ5MWU3NTFhYzc4OWM3ZWI4ZTQ5NDQyMDc5MyAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0luamVjdGVkQnVuZGxl
LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvSW5qZWN0
ZWRCdW5kbGUuY3BwCkBAIC0yMTEsOSArMjExLDkgQEAgdm9pZCBJbmplY3RlZEJ1bmRsZTo6b3Zl
cnJpZGVCb29sUHJlZmVyZW5jZUZvclRlc3RSdW5uZXIoV2ViUGFnZUdyb3VwUHJveHkqIHBhZ2UK
ICAgICAgICAgUnVudGltZUVuYWJsZWRGZWF0dXJlczo6c2hhcmVkRmVhdHVyZXMoKS5zZXRXZWJH
TDJFbmFibGVkKGVuYWJsZWQpOwogI2VuZGlmCiAKLSNpZiBFTkFCTEUoV0VCR1BVKQotICAgIGlm
IChwcmVmZXJlbmNlID09ICJXZWJLaXRXZWJHUFVFbmFibGVkIikKLSAgICAgICAgUnVudGltZUVu
YWJsZWRGZWF0dXJlczo6c2hhcmVkRmVhdHVyZXMoKS5zZXRXZWJHUFVFbmFibGVkKGVuYWJsZWQp
OworI2lmIEVOQUJMRShXRUJNRVRBTCkKKyAgICBpZiAocHJlZmVyZW5jZSA9PSAiV2ViS2l0V2Vi
TWV0YWxFbmFibGVkIikKKyAgICAgICAgUnVudGltZUVuYWJsZWRGZWF0dXJlczo6c2hhcmVkRmVh
dHVyZXMoKS5zZXRXZWJNZXRhbEVuYWJsZWQoZW5hYmxlZCk7CiAjZW5kaWYKIAogICAgIGlmIChw
cmVmZXJlbmNlID09ICJXZWJLaXRNb2Rlcm5NZWRpYUNvbnRyb2xzRW5hYmxlZCIpCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9Db25maWd1cmF0aW9ucy9GZWF0dXJlRGVmaW5l
cy54Y2NvbmZpZyBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL0NvbmZpZ3VyYXRpb25zL0ZlYXR1
cmVEZWZpbmVzLnhjY29uZmlnCmluZGV4IDY4ZWZjZTk0MmNhMGRjZGU2MjA5YTMwZmI0ZTVkMGJk
ODc2MGE3ODEuLjI0MjlkZDhkYzY5MTI0MzU2ZDAxNDYzYWFiNzc5OGU3ODc3OWM5NWMgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL0NvbmZpZ3VyYXRpb25zL0ZlYXR1cmVEZWZp
bmVzLnhjY29uZmlnCisrKyBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL0NvbmZpZ3VyYXRpb25z
L0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnCkBAIC0zNTAsMTEgKzM1MCwxMSBAQCBFTkFCTEVfV0VC
R0wgPSBFTkFCTEVfV0VCR0w7CiAKIEVOQUJMRV9XRUJHTDIgPSBFTkFCTEVfV0VCR0wyOwogCi1F
TkFCTEVfV0VCR1BVID0gJChFTkFCTEVfV0VCR1BVXyQoV0tfUExBVEZPUk1fTkFNRSkpOwotRU5B
QkxFX1dFQkdQVV9pcGhvbmVvcyA9IEVOQUJMRV9XRUJHUFU7Ci1FTkFCTEVfV0VCR1BVX3dhdGNo
b3MgPSBFTkFCTEVfV0VCR1BVOwotRU5BQkxFX1dFQkdQVV9hcHBsZXR2b3MgPSBFTkFCTEVfV0VC
R1BVOwotRU5BQkxFX1dFQkdQVV9tYWNvc3ggPSBFTkFCTEVfV0VCR1BVOworRU5BQkxFX1dFQk1F
VEFMID0gJChFTkFCTEVfV0VCTUVUQUxfJChXS19QTEFURk9STV9OQU1FKSk7CitFTkFCTEVfV0VC
TUVUQUxfaXBob25lb3MgPSBFTkFCTEVfV0VCTUVUQUw7CitFTkFCTEVfV0VCTUVUQUxfd2F0Y2hv
cyA9IEVOQUJMRV9XRUJNRVRBTDsKK0VOQUJMRV9XRUJNRVRBTF9hcHBsZXR2b3MgPSBFTkFCTEVf
V0VCTUVUQUw7CitFTkFCTEVfV0VCTUVUQUxfbWFjb3N4ID0gRU5BQkxFX1dFQk1FVEFMOwogCiBF
TkFCTEVfV0VCX0FVRElPID0gRU5BQkxFX1dFQl9BVURJTzsKIApAQCAtMzcyLDQgKzM3Miw0IEBA
IEVOQUJMRV9XSVJFTEVTU19QTEFZQkFDS19UQVJHRVQgPSBFTkFCTEVfV0lSRUxFU1NfUExBWUJB
Q0tfVEFSR0VUOwogCiBFTkFCTEVfWFNMVCA9IEVOQUJMRV9YU0xUOwogCi1GRUFUVVJFX0RFRklO
RVMgPSAkKEVOQUJMRV8zRF9UUkFOU0ZPUk1TKSAkKEVOQUJMRV9BQ0NFTEVSQVRFRF8yRF9DQU5W
QVMpICQoRU5BQkxFX0FDQ0VMRVJBVEVEX09WRVJGTE9XX1NDUk9MTElORykgJChFTkFCTEVfQVBQ
TEVfUEFZKSAkKEVOQUJMRV9BUFBMRV9QQVlfU0VTU0lPTl9WMykgJChFTkFCTEVfQVBQTEVfUEFZ
X1NFU1NJT05fVjQpICQoRU5BQkxFX0FQUExJQ0FUSU9OX01BTklGRVNUKSAkKEVOQUJMRV9BVFRB
Q0hNRU5UX0VMRU1FTlQpICQoRU5BQkxFX0FWRl9DQVBUSU9OUykgJChFTkFCTEVfQ0FDSEVfUEFS
VElUSU9OSU5HKSAkKEVOQUJMRV9DSEFOTkVMX01FU1NBR0lORykgJChFTkFCTEVfQ09OVEVOVF9G
SUxURVJJTkcpICQoRU5BQkxFX0NTUzNfVEVYVCkgJChFTkFCTEVfQ1NTX0JPWF9ERUNPUkFUSU9O
X0JSRUFLKSAkKEVOQUJMRV9DU1NfQ09NUE9TSVRJTkcpICQoRU5BQkxFX0NTU19ERVZJQ0VfQURB
UFRBVElPTikgJChFTkFCTEVfQ1NTX0lNQUdFX09SSUVOVEFUSU9OKSAkKEVOQUJMRV9DU1NfSU1B
R0VfUkVTT0xVVElPTikgJChFTkFCTEVfQ1NTX1NDUk9MTF9TTkFQKSAkKEVOQUJMRV9DU1NfU0VM
RUNUT1JTX0xFVkVMNCkgJChFTkFCTEVfQ1NTX1RSQUlMSU5HX1dPUkQpICQoRU5BQkxFX0NVUlNP
Ul9WSVNJQklMSVRZKSAkKEVOQUJMRV9DVVNUT01fU0NIRU1FX0hBTkRMRVIpICQoRU5BQkxFX0RB
U0hCT0FSRF9TVVBQT1JUKSAkKEVOQUJMRV9EQVRBX0lOVEVSQUNUSU9OKSAkKEVOQUJMRV9EQVRB
Q1VFX1ZBTFVFKSAkKEVOQUJMRV9EQVRBTElTVF9FTEVNRU5UKSAkKEVOQUJMRV9ERVZJQ0VfT1JJ
RU5UQVRJT04pICQoRU5BQkxFX0RSQUdfU1VQUE9SVCkgJChFTkFCTEVfRU5DUllQVEVEX01FRElB
KSAkKEVOQUJMRV9FWFBFUklNRU5UQUxfRkVBVFVSRVMpICQoRU5BQkxFX0ZBU1RfSklUX1BFUk1J
U1NJT05TKSAkKEVOQUJMRV9GSUxURVJTX0xFVkVMXzIpICQoRU5BQkxFX0ZUTF9KSVQpICQoRU5B
QkxFX0ZVTExTQ1JFRU5fQVBJKSAkKEVOQUJMRV9HQU1FUEFEKSAkKEVOQUJMRV9HRU9MT0NBVElP
TikgJChFTkFCTEVfSUNPTkRBVEFCQVNFKSAkKEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNFKSAkKEVO
QUJMRV9JTkRFWEVEX0RBVEFCQVNFX0lOX1dPUktFUlMpICQoRU5BQkxFX0lOUFVUX1RZUEVfQ09M
T1IpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURSkgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFVElN
RV9JTkNPTVBMRVRFKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEVUSU1FTE9DQUwpICQoRU5BQkxF
X0lOUFVUX1RZUEVfTU9OVEgpICQoRU5BQkxFX0lOUFVUX1RZUEVfVElNRSkgJChFTkFCTEVfSU5Q
VVRfVFlQRV9XRUVLKSAkKEVOQUJMRV9JTlRFUlNFQ1RJT05fT0JTRVJWRVIpICQoRU5BQkxFX0lO
VEwpICQoRU5BQkxFX0lPU19HRVNUVVJFX0VWRU5UUykgJChFTkFCTEVfSU9TX1RPVUNIX0VWRU5U
UykgJChFTkFCTEVfSklUKSAkKEVOQUJMRV9KU19BU1lOQ19JVEVSQVRJT04pICQoRU5BQkxFX0tF
WUJPQVJEX0NPREVfQVRUUklCVVRFKSAkKEVOQUJMRV9LRVlCT0FSRF9LRVlfQVRUUklCVVRFKSAk
KEVOQUJMRV9MQVlPVVRfRk9STUFUVElOR19DT05URVhUKSAkKEVOQUJMRV9MRUdBQ1lfQ1NTX1ZF
TkRPUl9QUkVGSVhFUykgJChFTkFCTEVfTEVHQUNZX0NVU1RPTV9QUk9UT0NPTF9NQU5BR0VSKSAk
KEVOQUJMRV9MRUdBQ1lfRU5DUllQVEVEX01FRElBKSAkKEVOQUJMRV9MRVRURVJQUkVTUykgJChF
TkFCTEVfTUFDX0dFU1RVUkVfRVZFTlRTKSAkKEVOQUJMRV9NQUNfVklERU9fVE9PTEJPWCkgJChF
TkFCTEVfTUFUSE1MKSAkKEVOQUJMRV9NRURJQV9DQVBUVVJFKSAkKEVOQUJMRV9NRURJQV9DT05U
Uk9MU19TQ1JJUFQpICQoRU5BQkxFX01FRElBX1NFU1NJT04pICQoRU5BQkxFX01FRElBX1NPVVJD
RSkgJChFTkFCTEVfTUVESUFfU1RBVElTVElDUykgJChFTkFCTEVfTUVESUFfU1RSRUFNKSAkKEVO
QUJMRV9NRVRFUl9FTEVNRU5UKSAkKEVOQUJMRV9NSFRNTCkgJChFTkFCTEVfTU9VU0VfQ1VSU09S
X1NDQUxFKSAkKEVOQUJMRV9OQVZJR0FUT1JfQ09OVEVOVF9VVElMUykgJChFTkFCTEVfTkFWSUdB
VE9SX1NUQU5EQUxPTkUpICQoRU5BQkxFX05PVElGSUNBVElPTlMpICQoRU5BQkxFX1BBWU1FTlRf
UkVRVUVTVCkgJChFTkFCTEVfUERGS0lUX1BMVUdJTikgJChFTkFCTEVfUE9JTlRFUl9MT0NLKSAk
KEVOQUJMRV9QVUJMSUNfU1VGRklYX0xJU1QpICQoRU5BQkxFX1FVT1RBKSAkKEVOQUJMRV9SRU1P
VEVfSU5TUEVDVE9SKSAkKEVOQUJMRV9SRVNPTFVUSU9OX01FRElBX1FVRVJZKSAkKEVOQUJMRV9S
RVNPVVJDRV9VU0FHRSkgJChFTkFCTEVfUlVCQkVSX0JBTkRJTkcpICQoRU5BQkxFX1NFUlZJQ0Vf
Q09OVFJPTFMpICQoRU5BQkxFX1NFUlZJQ0VfV09SS0VSKSAkKEVOQUJMRV9TUEVFQ0hfU1lOVEhF
U0lTKSAkKEVOQUJMRV9TVFJFQU1TX0FQSSkgJChFTkFCTEVfU1VCVExFX0NSWVBUTykgJChFTkFC
TEVfU1ZHX0ZPTlRTKSAkKEVOQUJMRV9URUxFUEhPTkVfTlVNQkVSX0RFVEVDVElPTikgJChFTkFC
TEVfVEVYVF9BVVRPU0laSU5HKSAkKEVOQUJMRV9UT1VDSF9FVkVOVFMpICQoRU5BQkxFX1VTRVJf
TUVTU0FHRV9IQU5ETEVSUykgJChFTkFCTEVfVVNFUlNFTEVDVF9BTEwpICQoRU5BQkxFX1ZBUklB
VElPTl9GT05UUykgJChFTkFCTEVfVklERU8pICQoRU5BQkxFX1ZJREVPX1BSRVNFTlRBVElPTl9N
T0RFKSAkKEVOQUJMRV9WSURFT19UUkFDSykgJChFTkFCTEVfVklERU9fVVNFU19FTEVNRU5UX0ZV
TExTQ1JFRU4pICQoRU5BQkxFX1dFQl9BVURJTykgJChFTkFCTEVfV0VCX0FVVEhOKSAkKEVOQUJM
RV9XRUJfUlRDKSAkKEVOQUJMRV9XRUJBU1NFTUJMWSkgJChFTkFCTEVfV0VCQVNTRU1CTFlfU1RS
RUFNSU5HX0FQSSkgJChFTkFCTEVfV0VCR0wpICQoRU5BQkxFX1dFQkdMMikgJChFTkFCTEVfV0VC
R1BVKSAkKEVOQUJMRV9XSVJFTEVTU19QTEFZQkFDS19UQVJHRVQpICQoRU5BQkxFX1hTTFQpOwor
RkVBVFVSRV9ERUZJTkVTID0gJChFTkFCTEVfM0RfVFJBTlNGT1JNUykgJChFTkFCTEVfQUNDRUxF
UkFURURfMkRfQ0FOVkFTKSAkKEVOQUJMRV9BQ0NFTEVSQVRFRF9PVkVSRkxPV19TQ1JPTExJTkcp
ICQoRU5BQkxFX0FQUExFX1BBWSkgJChFTkFCTEVfQVBQTEVfUEFZX1NFU1NJT05fVjMpICQoRU5B
QkxFX0FQUExFX1BBWV9TRVNTSU9OX1Y0KSAkKEVOQUJMRV9BUFBMSUNBVElPTl9NQU5JRkVTVCkg
JChFTkFCTEVfQVRUQUNITUVOVF9FTEVNRU5UKSAkKEVOQUJMRV9BVkZfQ0FQVElPTlMpICQoRU5B
QkxFX0NBQ0hFX1BBUlRJVElPTklORykgJChFTkFCTEVfQ0hBTk5FTF9NRVNTQUdJTkcpICQoRU5B
QkxFX0NPTlRFTlRfRklMVEVSSU5HKSAkKEVOQUJMRV9DU1MzX1RFWFQpICQoRU5BQkxFX0NTU19C
T1hfREVDT1JBVElPTl9CUkVBSykgJChFTkFCTEVfQ1NTX0NPTVBPU0lUSU5HKSAkKEVOQUJMRV9D
U1NfREVWSUNFX0FEQVBUQVRJT04pICQoRU5BQkxFX0NTU19JTUFHRV9PUklFTlRBVElPTikgJChF
TkFCTEVfQ1NTX0lNQUdFX1JFU09MVVRJT04pICQoRU5BQkxFX0NTU19TQ1JPTExfU05BUCkgJChF
TkFCTEVfQ1NTX1NFTEVDVE9SU19MRVZFTDQpICQoRU5BQkxFX0NTU19UUkFJTElOR19XT1JEKSAk
KEVOQUJMRV9DVVJTT1JfVklTSUJJTElUWSkgJChFTkFCTEVfQ1VTVE9NX1NDSEVNRV9IQU5ETEVS
KSAkKEVOQUJMRV9EQVNIQk9BUkRfU1VQUE9SVCkgJChFTkFCTEVfREFUQV9JTlRFUkFDVElPTikg
JChFTkFCTEVfREFUQUNVRV9WQUxVRSkgJChFTkFCTEVfREFUQUxJU1RfRUxFTUVOVCkgJChFTkFC
TEVfREVWSUNFX09SSUVOVEFUSU9OKSAkKEVOQUJMRV9EUkFHX1NVUFBPUlQpICQoRU5BQkxFX0VO
Q1JZUFRFRF9NRURJQSkgJChFTkFCTEVfRVhQRVJJTUVOVEFMX0ZFQVRVUkVTKSAkKEVOQUJMRV9G
QVNUX0pJVF9QRVJNSVNTSU9OUykgJChFTkFCTEVfRklMVEVSU19MRVZFTF8yKSAkKEVOQUJMRV9G
VExfSklUKSAkKEVOQUJMRV9GVUxMU0NSRUVOX0FQSSkgJChFTkFCTEVfR0FNRVBBRCkgJChFTkFC
TEVfR0VPTE9DQVRJT04pICQoRU5BQkxFX0lDT05EQVRBQkFTRSkgJChFTkFCTEVfSU5ERVhFRF9E
QVRBQkFTRSkgJChFTkFCTEVfSU5ERVhFRF9EQVRBQkFTRV9JTl9XT1JLRVJTKSAkKEVOQUJMRV9J
TlBVVF9UWVBFX0NPTE9SKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEUpICQoRU5BQkxFX0lOUFVU
X1RZUEVfREFURVRJTUVfSU5DT01QTEVURSkgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFVElNRUxP
Q0FMKSAkKEVOQUJMRV9JTlBVVF9UWVBFX01PTlRIKSAkKEVOQUJMRV9JTlBVVF9UWVBFX1RJTUUp
ICQoRU5BQkxFX0lOUFVUX1RZUEVfV0VFSykgJChFTkFCTEVfSU5URVJTRUNUSU9OX09CU0VSVkVS
KSAkKEVOQUJMRV9JTlRMKSAkKEVOQUJMRV9JT1NfR0VTVFVSRV9FVkVOVFMpICQoRU5BQkxFX0lP
U19UT1VDSF9FVkVOVFMpICQoRU5BQkxFX0pJVCkgJChFTkFCTEVfSlNfQVNZTkNfSVRFUkFUSU9O
KSAkKEVOQUJMRV9LRVlCT0FSRF9DT0RFX0FUVFJJQlVURSkgJChFTkFCTEVfS0VZQk9BUkRfS0VZ
X0FUVFJJQlVURSkgJChFTkFCTEVfTEFZT1VUX0ZPUk1BVFRJTkdfQ09OVEVYVCkgJChFTkFCTEVf
TEVHQUNZX0NTU19WRU5ET1JfUFJFRklYRVMpICQoRU5BQkxFX0xFR0FDWV9DVVNUT01fUFJPVE9D
T0xfTUFOQUdFUikgJChFTkFCTEVfTEVHQUNZX0VOQ1JZUFRFRF9NRURJQSkgJChFTkFCTEVfTEVU
VEVSUFJFU1MpICQoRU5BQkxFX01BQ19HRVNUVVJFX0VWRU5UUykgJChFTkFCTEVfTUFDX1ZJREVP
X1RPT0xCT1gpICQoRU5BQkxFX01BVEhNTCkgJChFTkFCTEVfTUVESUFfQ0FQVFVSRSkgJChFTkFC
TEVfTUVESUFfQ09OVFJPTFNfU0NSSVBUKSAkKEVOQUJMRV9NRURJQV9TRVNTSU9OKSAkKEVOQUJM
RV9NRURJQV9TT1VSQ0UpICQoRU5BQkxFX01FRElBX1NUQVRJU1RJQ1MpICQoRU5BQkxFX01FRElB
X1NUUkVBTSkgJChFTkFCTEVfTUVURVJfRUxFTUVOVCkgJChFTkFCTEVfTUhUTUwpICQoRU5BQkxF
X01PVVNFX0NVUlNPUl9TQ0FMRSkgJChFTkFCTEVfTkFWSUdBVE9SX0NPTlRFTlRfVVRJTFMpICQo
RU5BQkxFX05BVklHQVRPUl9TVEFOREFMT05FKSAkKEVOQUJMRV9OT1RJRklDQVRJT05TKSAkKEVO
QUJMRV9QQVlNRU5UX1JFUVVFU1QpICQoRU5BQkxFX1BERktJVF9QTFVHSU4pICQoRU5BQkxFX1BP
SU5URVJfTE9DSykgJChFTkFCTEVfUFVCTElDX1NVRkZJWF9MSVNUKSAkKEVOQUJMRV9RVU9UQSkg
JChFTkFCTEVfUkVNT1RFX0lOU1BFQ1RPUikgJChFTkFCTEVfUkVTT0xVVElPTl9NRURJQV9RVUVS
WSkgJChFTkFCTEVfUkVTT1VSQ0VfVVNBR0UpICQoRU5BQkxFX1JVQkJFUl9CQU5ESU5HKSAkKEVO
QUJMRV9TRVJWSUNFX0NPTlRST0xTKSAkKEVOQUJMRV9TRVJWSUNFX1dPUktFUikgJChFTkFCTEVf
U1BFRUNIX1NZTlRIRVNJUykgJChFTkFCTEVfU1RSRUFNU19BUEkpICQoRU5BQkxFX1NVQlRMRV9D
UllQVE8pICQoRU5BQkxFX1NWR19GT05UUykgJChFTkFCTEVfVEVMRVBIT05FX05VTUJFUl9ERVRF
Q1RJT04pICQoRU5BQkxFX1RFWFRfQVVUT1NJWklORykgJChFTkFCTEVfVE9VQ0hfRVZFTlRTKSAk
KEVOQUJMRV9VU0VSX01FU1NBR0VfSEFORExFUlMpICQoRU5BQkxFX1VTRVJTRUxFQ1RfQUxMKSAk
KEVOQUJMRV9WQVJJQVRJT05fRk9OVFMpICQoRU5BQkxFX1ZJREVPKSAkKEVOQUJMRV9WSURFT19Q
UkVTRU5UQVRJT05fTU9ERSkgJChFTkFCTEVfVklERU9fVFJBQ0spICQoRU5BQkxFX1ZJREVPX1VT
RVNfRUxFTUVOVF9GVUxMU0NSRUVOKSAkKEVOQUJMRV9XRUJfQVVESU8pICQoRU5BQkxFX1dFQl9B
VVRITikgJChFTkFCTEVfV0VCX1JUQykgJChFTkFCTEVfV0VCQVNTRU1CTFkpICQoRU5BQkxFX1dF
QkFTU0VNQkxZX1NUUkVBTUlOR19BUEkpICQoRU5BQkxFX1dFQkdMKSAkKEVOQUJMRV9XRUJHTDIp
ICQoRU5BQkxFX1dFQk1FVEFMKSAkKEVOQUJMRV9XSVJFTEVTU19QTEFZQkFDS19UQVJHRVQpICQo
RU5BQkxFX1hTTFQpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViVmll
dy9XZWJQcmVmZXJlbmNlS2V5c1ByaXZhdGUuaCBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dl
YlZpZXcvV2ViUHJlZmVyZW5jZUtleXNQcml2YXRlLmgKaW5kZXggYjg5ZmZmNjAwOGNhY2M5NjNk
MjJhYzIxZmQwZjYwNzJhMDJjODY5Mi4uNmM5ZmZhMTUxNWE3MWEyMzZjYjdiNzQxN2M4NjY5ODYz
MmYyM2UyZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViVmlldy9XZWJQ
cmVmZXJlbmNlS2V5c1ByaXZhdGUuaAorKysgYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJW
aWV3L1dlYlByZWZlcmVuY2VLZXlzUHJpdmF0ZS5oCkBAIC0xMTMsNyArMTEzLDcgQEAKICNkZWZp
bmUgV2ViS2l0V2ViQXVkaW9FbmFibGVkUHJlZmVyZW5jZUtleSBAIldlYktpdFdlYkF1ZGlvRW5h
YmxlZCIKICNkZWZpbmUgV2ViS2l0V2ViR0xFbmFibGVkUHJlZmVyZW5jZUtleSBAIldlYktpdFdl
YkdMRW5hYmxlZCIKICNkZWZpbmUgV2ViS2l0V2ViR0wyRW5hYmxlZFByZWZlcmVuY2VLZXkgQCJX
ZWJLaXRXZWJHTDJFbmFibGVkIgotI2RlZmluZSBXZWJLaXRXZWJHUFVFbmFibGVkUHJlZmVyZW5j
ZUtleSBAIldlYktpdFdlYkdQVUVuYWJsZWQiCisjZGVmaW5lIFdlYktpdFdlYk1ldGFsRW5hYmxl
ZFByZWZlcmVuY2VLZXkgQCJXZWJLaXRXZWJNZXRhbEVuYWJsZWQiCiAjZGVmaW5lIFdlYktpdEZv
cmNlU29mdHdhcmVXZWJHTFJlbmRlcmluZ1ByZWZlcmVuY2VLZXkgQCJXZWJLaXRGb3JjZVNvZnR3
YXJlV2ViR0xSZW5kZXJpbmciCiAjZGVmaW5lIFdlYktpdEZvcmNlV2ViR0xVc2VzTG93UG93ZXJQ
cmVmZXJlbmNlS2V5IEAiV2ViS2l0Rm9yY2VXZWJHTFVzZXNMb3dQb3dlciIKICNkZWZpbmUgV2Vi
S2l0QWNjZWxlcmF0ZWQyZENhbnZhc0VuYWJsZWRQcmVmZXJlbmNlS2V5IEAiV2ViS2l0QWNjZWxl
cmF0ZWQyZENhbnZhc0VuYWJsZWQiCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L21h
Yy9XZWJWaWV3L1dlYlByZWZlcmVuY2VzLm1tIGIvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2Vi
Vmlldy9XZWJQcmVmZXJlbmNlcy5tbQppbmRleCBjNjZmYTk1M2RmYTQzM2JkYzZlZWQxMWEyOGIx
NGU2ZGRmMzRiOGVhLi4xODExMTZmMTIzM2UyNjkzODgzNWRhMjYyZTYzMTM0MzJjNTRiYWZiIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJWaWV3L1dlYlByZWZlcmVuY2Vz
Lm1tCisrKyBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYlZpZXcvV2ViUHJlZmVyZW5jZXMu
bW0KQEAgLTYzMCw4ICs2MzAsOCBAQCArICh2b2lkKWluaXRpYWxpemUKICNpZiBFTkFCTEUoV0VC
R0wyKQogICAgICAgICBbTlNOdW1iZXIgbnVtYmVyV2l0aEJvb2w6Tk9dLCBXZWJLaXRXZWJHTDJF
bmFibGVkUHJlZmVyZW5jZUtleSwKICNlbmRpZgotI2lmIEVOQUJMRShXRUJHUFUpCi0gICAgICAg
IFtOU051bWJlciBudW1iZXJXaXRoQm9vbDpOT10sIFdlYktpdFdlYkdQVUVuYWJsZWRQcmVmZXJl
bmNlS2V5LAorI2lmIEVOQUJMRShXRUJNRVRBTCkKKyAgICAgICAgW05TTnVtYmVyIG51bWJlcldp
dGhCb29sOk5PXSwgV2ViS2l0V2ViTWV0YWxFbmFibGVkUHJlZmVyZW5jZUtleSwKICNlbmRpZgog
ICAgICAgICBbTlNOdW1iZXIgbnVtYmVyV2l0aEJvb2w6Tk9dLCBXZWJLaXRDYWNoZUFQSUVuYWJs
ZWRQcmVmZXJlbmNlS2V5LAogICAgICAgICBbTlNOdW1iZXIgbnVtYmVyV2l0aEJvb2w6WUVTXSwg
V2ViS2l0RmV0Y2hBUElFbmFibGVkUHJlZmVyZW5jZUtleSwKQEAgLTIxMDksMTQgKzIxMDksMTQg
QEAgLSAodm9pZClzZXRGb3JjZVdlYkdMVXNlc0xvd1Bvd2VyOihCT09MKWZvcmNlTG93UG93ZXIK
ICAgICBbc2VsZiBfc2V0Qm9vbFZhbHVlOmZvcmNlTG93UG93ZXIgZm9yS2V5OldlYktpdEZvcmNl
V2ViR0xVc2VzTG93UG93ZXJQcmVmZXJlbmNlS2V5XTsKIH0KIAotLSAoQk9PTCl3ZWJHUFVFbmFi
bGVkCistIChCT09MKXdlYk1ldGFsRW5hYmxlZAogewotICAgIHJldHVybiBbc2VsZiBfYm9vbFZh
bHVlRm9yS2V5OldlYktpdFdlYkdQVUVuYWJsZWRQcmVmZXJlbmNlS2V5XTsKKyAgICByZXR1cm4g
W3NlbGYgX2Jvb2xWYWx1ZUZvcktleTpXZWJLaXRXZWJNZXRhbEVuYWJsZWRQcmVmZXJlbmNlS2V5
XTsKIH0KIAotLSAodm9pZClzZXRXZWJHUFVFbmFibGVkOihCT09MKWVuYWJsZWQKKy0gKHZvaWQp
c2V0V2ViTWV0YWxFbmFibGVkOihCT09MKWVuYWJsZWQKIHsKLSAgICBbc2VsZiBfc2V0Qm9vbFZh
bHVlOmVuYWJsZWQgZm9yS2V5OldlYktpdFdlYkdQVUVuYWJsZWRQcmVmZXJlbmNlS2V5XTsKKyAg
ICBbc2VsZiBfc2V0Qm9vbFZhbHVlOmVuYWJsZWQgZm9yS2V5OldlYktpdFdlYk1ldGFsRW5hYmxl
ZFByZWZlcmVuY2VLZXldOwogfQogCiAtIChCT09MKWFjY2VsZXJhdGVkMmRDYW52YXNFbmFibGVk
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJWaWV3L1dlYlByZWZlcmVu
Y2VzUHJpdmF0ZS5oIGIvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViVmlldy9XZWJQcmVmZXJl
bmNlc1ByaXZhdGUuaAppbmRleCA0NzBhNmZkOTUzOGRmMzI5ZDM4ZDE5YTVmYWIzOTMyOTE3Yzc3
MWJlLi5lMmY4NDA3MjQ4Y2VhNWRmOWNkM2FiYjgwZjFjODEwZDI1MmNkYWFjIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJWaWV3L1dlYlByZWZlcmVuY2VzUHJpdmF0ZS5o
CisrKyBiL1NvdXJjZS9XZWJLaXRMZWdhY3kvbWFjL1dlYlZpZXcvV2ViUHJlZmVyZW5jZXNQcml2
YXRlLmgKQEAgLTI3Miw4ICsyNzIsOCBAQCBleHRlcm4gTlNTdHJpbmcgKldlYlByZWZlcmVuY2Vz
Q2FjaGVNb2RlbENoYW5nZWRJbnRlcm5hbE5vdGlmaWNhdGlvbiBXRUJLSVRfREVQUgogLSAoQk9P
TClmb3JjZUxvd1Bvd2VyR1BVRm9yV2ViR0w7CiAtICh2b2lkKXNldEZvcmNlV2ViR0xVc2VzTG93
UG93ZXI6KEJPT0wpZm9yY2VMb3dQb3dlcjsKIAotLSAoQk9PTCl3ZWJHUFVFbmFibGVkOwotLSAo
dm9pZClzZXRXZWJHUFVFbmFibGVkOihCT09MKWVuYWJsZWQ7CistIChCT09MKXdlYk1ldGFsRW5h
YmxlZDsKKy0gKHZvaWQpc2V0V2ViTWV0YWxFbmFibGVkOihCT09MKWVuYWJsZWQ7CiAKIC0gKEJP
T0wpYWNjZWxlcmF0ZWQyZENhbnZhc0VuYWJsZWQ7CiAtICh2b2lkKXNldEFjY2VsZXJhdGVkMmRD
YW52YXNFbmFibGVkOihCT09MKWVuYWJsZWQ7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0TGVn
YWN5L21hYy9XZWJWaWV3L1dlYlZpZXcubW0gYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9XZWJW
aWV3L1dlYlZpZXcubW0KaW5kZXggODUyZGViZjE5ZWJjYzIzOGM4ZDM4MzdlZTc4YzBlNDEyMWY1
MjE1MC4uOWRlYjZlZWNlYTNjMTcyZmQ5YTkxOGU1OTVmNzBlMTYyNmZmNTMxYiAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvV2ViVmlldy9XZWJWaWV3Lm1tCisrKyBiL1NvdXJj
ZS9XZWJLaXRMZWdhY3kvbWFjL1dlYlZpZXcvV2ViVmlldy5tbQpAQCAtMzExMSw4ICszMTExLDgg
QEAgLSAodm9pZClfcHJlZmVyZW5jZXNDaGFuZ2VkOihXZWJQcmVmZXJlbmNlcyAqKXByZWZlcmVu
Y2VzCiAgICAgUnVudGltZUVuYWJsZWRGZWF0dXJlczo6c2hhcmVkRmVhdHVyZXMoKS5zZXRXZWJH
TDJFbmFibGVkKFtwcmVmZXJlbmNlcyB3ZWJHTDJFbmFibGVkXSk7CiAjZW5kaWYKIAotI2lmIEVO
QUJMRShXRUJHUFUpCi0gICAgUnVudGltZUVuYWJsZWRGZWF0dXJlczo6c2hhcmVkRmVhdHVyZXMo
KS5zZXRXZWJHUFVFbmFibGVkKFtwcmVmZXJlbmNlcyB3ZWJHUFVFbmFibGVkXSk7CisjaWYgRU5B
QkxFKFdFQk1FVEFMKQorICAgIFJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6OnNoYXJlZEZlYXR1cmVz
KCkuc2V0V2ViTWV0YWxFbmFibGVkKFtwcmVmZXJlbmNlcyB3ZWJNZXRhbEVuYWJsZWRdKTsKICNl
bmRpZgogCiAjaWYgRU5BQkxFKERPV05MT0FEX0FUVFJJQlVURSkKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9jbWFrZS9XZWJLaXRGZWF0dXJlcy5jbWFrZSBiL1NvdXJjZS9jbWFrZS9XZWJLaXRGZWF0dXJl
cy5jbWFrZQppbmRleCBmNTMwN2NjZGY2NTJiOWQ5NTdmYWJhNzc1ZTEwZDFhYzYwMTA5YzgzLi5m
MDk0OGRiOWRhNzAxMGQ2YWUwNTYxOWJjNWQxNjRjZDlhYjcyNzUzIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvY21ha2UvV2ViS2l0RmVhdHVyZXMuY21ha2UKKysrIGIvU291cmNlL2NtYWtlL1dlYktpdEZl
YXR1cmVzLmNtYWtlCkBAIC0xODUsNyArMTg1LDcgQEAgbWFjcm8oV0VCS0lUX09QVElPTl9CRUdJ
TikKICAgICBXRUJLSVRfT1BUSU9OX0RFRklORShFTkFCTEVfV0VCRFJJVkVSICJXaGV0aGVyIHRv
IGVuYWJsZSB0aGUgV2ViRHJpdmVyIHNlcnZpY2UgcHJvY2VzcyIgUFJJVkFURSBPRkYpCiAgICAg
V0VCS0lUX09QVElPTl9ERUZJTkUoRU5BQkxFX1dFQkdMICJUb2dnbGUgV2ViR0wgc3VwcG9ydCIg
UFJJVkFURSBPTikKICAgICBXRUJLSVRfT1BUSU9OX0RFRklORShFTkFCTEVfV0VCR0wyICJUb2dn
bGUgV2ViR0wgMi4wIHN1cHBvcnQiIFBSSVZBVEUgT0ZGKQotICAgIFdFQktJVF9PUFRJT05fREVG
SU5FKEVOQUJMRV9XRUJHUFUgIlRvZ2dsZSBXZWJHUFUgc3VwcG9ydCIgUFJJVkFURSBPRkYpCisg
ICAgV0VCS0lUX09QVElPTl9ERUZJTkUoRU5BQkxFX1dFQk1FVEFMICJUb2dnbGUgV2ViTWV0YWwg
c3VwcG9ydCIgUFJJVkFURSBPRkYpCiAgICAgV0VCS0lUX09QVElPTl9ERUZJTkUoRU5BQkxFX1dF
QlZUVF9SRUdJT05TICJUb2dnbGUgd2VidnR0IHJlZ2lvbiBzdXBwb3J0IiBQUklWQVRFIE9GRikK
ICAgICBXRUJLSVRfT1BUSU9OX0RFRklORShFTkFCTEVfV0VCX0FVRElPICJUb2dnbGUgV2ViIEF1
ZGlvIHN1cHBvcnQiIFBSSVZBVEUgT04pCiAgICAgV0VCS0lUX09QVElPTl9ERUZJTkUoRU5BQkxF
X1dFQl9BVVRITiAiVG9nZ2xlIFdlYiBBdXRobiBzdXBwb3J0IiBQUklWQVRFIE9GRikKZGlmZiAt
LWdpdCBhL1Rvb2xzL0NoYW5nZUxvZyBiL1Rvb2xzL0NoYW5nZUxvZwppbmRleCA5M2YwY2E2NDE1
ZjZjZjhkZTJhNmYxYTE0YzE2ZDQ3NTNmOWY0ZmFkLi44OGFjMzRmYzI4ODQyMDJmYjdhNGU5MTZm
Njg5ODQ3MzgxMjI4NjYzIDEwMDY0NAotLS0gYS9Ub29scy9DaGFuZ2VMb2cKKysrIGIvVG9vbHMv
Q2hhbmdlTG9nCkBAIC0xLDMgKzEsMjkgQEAKKzIwMTgtMTAtMDggIEp1c3RpbiBGYW4gIDxqdXN0
aW5fZmFuQGFwcGxlLmNvbT4KKworICAgICAgICBXZWJHUFU6IFJlbmFtZSBvbGQgV2ViR1BVIHBy
b3RvdHlwZSB0byBXZWJNZXRhbAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9MTkwMzI1CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS80NDk5MDQ0Mz4KKwor
ICAgICAgICBSZXZpZXdlZCBieSBEZWFuIEphY2tzb24uCisKKyAgICAgICAgUmVuYW1lIFdlYkdQ
VSBwcm90b3R5cGUgZmlsZXMgdG8gV2ViTWV0YWwgaW4gcHJlcGFyYXRpb24gZm9yIGltcGxlbWVu
dGluZyB0aGUgbmV3IChPY3QgMjAxOCkgV2ViR1BVIGludGVyZmFjZS4KKworICAgICAgICAqIER1
bXBSZW5kZXJUcmVlL21hYy9EdW1wUmVuZGVyVHJlZS5tbToKKyAgICAgICAgKGVuYWJsZUV4cGVy
aW1lbnRhbEZlYXR1cmVzKToKKyAgICAgICAgKHJlc2V0V2ViUHJlZmVyZW5jZXNUb0NvbnNpc3Rl
bnRWYWx1ZXMpOgorICAgICAgICAqIFRlc3RXZWJLaXRBUEkvQ29uZmlndXJhdGlvbnMvRmVhdHVy
ZURlZmluZXMueGNjb25maWc6CisgICAgICAgICogVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJDb3Jl
L21hYy9HUFVCdWZmZXIubW06CisgICAgICAgICogVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJDb3Jl
L21hYy9HUFVDb21tYW5kUXVldWUubW06CisgICAgICAgICogVGVzdFdlYktpdEFQSS9UZXN0cy9X
ZWJDb3JlL21hYy9HUFVEZXZpY2UubW06CisgICAgICAgICogVGVzdFdlYktpdEFQSS9UZXN0cy9X
ZWJDb3JlL21hYy9HUFVGdW5jdGlvbi5tbToKKyAgICAgICAgKiBUZXN0V2ViS2l0QVBJL1Rlc3Rz
L1dlYkNvcmUvbWFjL0dQVUxpYnJhcnkubW06CisgICAgICAgICogV2ViS2l0VGVzdFJ1bm5lci9J
bmplY3RlZEJ1bmRsZS9JbmplY3RlZEJ1bmRsZS5jcHA6CisgICAgICAgIChXVFI6OkluamVjdGVk
QnVuZGxlOjpiZWdpblRlc3RpbmcpOgorICAgICAgICAqIFdlYktpdFRlc3RSdW5uZXIvSW5qZWN0
ZWRCdW5kbGUvVGVzdFJ1bm5lci5jcHA6CisgICAgICAgIChXVFI6OlRlc3RSdW5uZXI6OnNldFdl
Yk1ldGFsRW5hYmxlZCk6CisgICAgICAgIChXVFI6OlRlc3RSdW5uZXI6OnNldFdlYkdQVUVuYWJs
ZWQpOiBEZWxldGVkLgorICAgICAgICAqIFdlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUv
VGVzdFJ1bm5lci5oOgorCiAyMDE4LTEwLTA1ICBDaHJpcyBEdW1leiAgPGNkdW1lekBhcHBsZS5j
b20+CiAKICAgICAgICAgUmVncmVzc2lvbihyMjM2ODYyKTogQ3Jhc2ggdW5kZXIgRE9NV2luZG93
RXh0ZW5zaW9uOjp3aWxsRGV0YWNoR2xvYmFsT2JqZWN0RnJvbUZyYW1lKCkKZGlmZiAtLWdpdCBh
L1Rvb2xzL0R1bXBSZW5kZXJUcmVlL21hYy9EdW1wUmVuZGVyVHJlZS5tbSBiL1Rvb2xzL0R1bXBS
ZW5kZXJUcmVlL21hYy9EdW1wUmVuZGVyVHJlZS5tbQppbmRleCAwYmJhZDNjNWMwMzU1ZjJjODRh
NGRiOTg3YzZmZmE5YjgwNGJjYmM3Li42ZTBkNTliM2IyNjk5YWY5MzMwNDNiYmIwMGQ0M2ZlM2U4
ODgwZGFiIDEwMDY0NAotLS0gYS9Ub29scy9EdW1wUmVuZGVyVHJlZS9tYWMvRHVtcFJlbmRlclRy
ZWUubW0KKysrIGIvVG9vbHMvRHVtcFJlbmRlclRyZWUvbWFjL0R1bXBSZW5kZXJUcmVlLm1tCkBA
IC04NTQsNyArODU0LDcgQEAgc3RhdGljIHZvaWQgZW5hYmxlRXhwZXJpbWVudGFsRmVhdHVyZXMo
V2ViUHJlZmVyZW5jZXMqIHByZWZlcmVuY2VzKQogICAgIFtwcmVmZXJlbmNlcyBzZXRGZXRjaEFQ
SUtlZXBBbGl2ZUVuYWJsZWQ6WUVTXTsKICAgICBbcHJlZmVyZW5jZXMgc2V0V2ViQW5pbWF0aW9u
c0VuYWJsZWQ6WUVTXTsKICAgICBbcHJlZmVyZW5jZXMgc2V0V2ViR0wyRW5hYmxlZDpZRVNdOwot
ICAgIFtwcmVmZXJlbmNlcyBzZXRXZWJHUFVFbmFibGVkOllFU107CisgICAgW3ByZWZlcmVuY2Vz
IHNldFdlYk1ldGFsRW5hYmxlZDpZRVNdOwogICAgIC8vIEZJWE1FOiBBc3luY0ZyYW1lU2Nyb2xs
aW5nRW5hYmxlZAogICAgIFtwcmVmZXJlbmNlcyBzZXRXZWJBdXRoZW50aWNhdGlvbkVuYWJsZWQ6
Tk9dOwogICAgIFtwcmVmZXJlbmNlcyBzZXRDYWNoZUFQSUVuYWJsZWQ6Tk9dOwpAQCAtOTcxLDcg
Kzk3MSw3IEBAIHN0YXRpYyB2b2lkIHJlc2V0V2ViUHJlZmVyZW5jZXNUb0NvbnNpc3RlbnRWYWx1
ZXMoKQogICAgIFtwcmVmZXJlbmNlcyBzZXRDdXN0b21QYXN0ZWJvYXJkRGF0YUVuYWJsZWQ6WUVT
XTsKIAogICAgIFtwcmVmZXJlbmNlcyBzZXRXZWJHTDJFbmFibGVkOllFU107Ci0gICAgW3ByZWZl
cmVuY2VzIHNldFdlYkdQVUVuYWJsZWQ6WUVTXTsKKyAgICBbcHJlZmVyZW5jZXMgc2V0V2ViTWV0
YWxFbmFibGVkOllFU107CiAKICAgICBbcHJlZmVyZW5jZXMgc2V0RG93bmxvYWRBdHRyaWJ1dGVF
bmFibGVkOllFU107CiAgICAgW3ByZWZlcmVuY2VzIHNldERpcmVjdG9yeVVwbG9hZEVuYWJsZWQ6
WUVTXTsKZGlmZiAtLWdpdCBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvQ29uZmlndXJhdGlvbnMvRmVh
dHVyZURlZmluZXMueGNjb25maWcgYi9Ub29scy9UZXN0V2ViS2l0QVBJL0NvbmZpZ3VyYXRpb25z
L0ZlYXR1cmVEZWZpbmVzLnhjY29uZmlnCmluZGV4IDY4ZWZjZTk0MmNhMGRjZGU2MjA5YTMwZmI0
ZTVkMGJkODc2MGE3ODEuLjI0MjlkZDhkYzY5MTI0MzU2ZDAxNDYzYWFiNzc5OGU3ODc3OWM5NWMg
MTAwNjQ0Ci0tLSBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvQ29uZmlndXJhdGlvbnMvRmVhdHVyZURl
ZmluZXMueGNjb25maWcKKysrIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9Db25maWd1cmF0aW9ucy9G
ZWF0dXJlRGVmaW5lcy54Y2NvbmZpZwpAQCAtMzUwLDExICszNTAsMTEgQEAgRU5BQkxFX1dFQkdM
ID0gRU5BQkxFX1dFQkdMOwogCiBFTkFCTEVfV0VCR0wyID0gRU5BQkxFX1dFQkdMMjsKIAotRU5B
QkxFX1dFQkdQVSA9ICQoRU5BQkxFX1dFQkdQVV8kKFdLX1BMQVRGT1JNX05BTUUpKTsKLUVOQUJM
RV9XRUJHUFVfaXBob25lb3MgPSBFTkFCTEVfV0VCR1BVOwotRU5BQkxFX1dFQkdQVV93YXRjaG9z
ID0gRU5BQkxFX1dFQkdQVTsKLUVOQUJMRV9XRUJHUFVfYXBwbGV0dm9zID0gRU5BQkxFX1dFQkdQ
VTsKLUVOQUJMRV9XRUJHUFVfbWFjb3N4ID0gRU5BQkxFX1dFQkdQVTsKK0VOQUJMRV9XRUJNRVRB
TCA9ICQoRU5BQkxFX1dFQk1FVEFMXyQoV0tfUExBVEZPUk1fTkFNRSkpOworRU5BQkxFX1dFQk1F
VEFMX2lwaG9uZW9zID0gRU5BQkxFX1dFQk1FVEFMOworRU5BQkxFX1dFQk1FVEFMX3dhdGNob3Mg
PSBFTkFCTEVfV0VCTUVUQUw7CitFTkFCTEVfV0VCTUVUQUxfYXBwbGV0dm9zID0gRU5BQkxFX1dF
Qk1FVEFMOworRU5BQkxFX1dFQk1FVEFMX21hY29zeCA9IEVOQUJMRV9XRUJNRVRBTDsKIAogRU5B
QkxFX1dFQl9BVURJTyA9IEVOQUJMRV9XRUJfQVVESU87CiAKQEAgLTM3Miw0ICszNzIsNCBAQCBF
TkFCTEVfV0lSRUxFU1NfUExBWUJBQ0tfVEFSR0VUID0gRU5BQkxFX1dJUkVMRVNTX1BMQVlCQUNL
X1RBUkdFVDsKIAogRU5BQkxFX1hTTFQgPSBFTkFCTEVfWFNMVDsKIAotRkVBVFVSRV9ERUZJTkVT
ID0gJChFTkFCTEVfM0RfVFJBTlNGT1JNUykgJChFTkFCTEVfQUNDRUxFUkFURURfMkRfQ0FOVkFT
KSAkKEVOQUJMRV9BQ0NFTEVSQVRFRF9PVkVSRkxPV19TQ1JPTExJTkcpICQoRU5BQkxFX0FQUExF
X1BBWSkgJChFTkFCTEVfQVBQTEVfUEFZX1NFU1NJT05fVjMpICQoRU5BQkxFX0FQUExFX1BBWV9T
RVNTSU9OX1Y0KSAkKEVOQUJMRV9BUFBMSUNBVElPTl9NQU5JRkVTVCkgJChFTkFCTEVfQVRUQUNI
TUVOVF9FTEVNRU5UKSAkKEVOQUJMRV9BVkZfQ0FQVElPTlMpICQoRU5BQkxFX0NBQ0hFX1BBUlRJ
VElPTklORykgJChFTkFCTEVfQ0hBTk5FTF9NRVNTQUdJTkcpICQoRU5BQkxFX0NPTlRFTlRfRklM
VEVSSU5HKSAkKEVOQUJMRV9DU1MzX1RFWFQpICQoRU5BQkxFX0NTU19CT1hfREVDT1JBVElPTl9C
UkVBSykgJChFTkFCTEVfQ1NTX0NPTVBPU0lUSU5HKSAkKEVOQUJMRV9DU1NfREVWSUNFX0FEQVBU
QVRJT04pICQoRU5BQkxFX0NTU19JTUFHRV9PUklFTlRBVElPTikgJChFTkFCTEVfQ1NTX0lNQUdF
X1JFU09MVVRJT04pICQoRU5BQkxFX0NTU19TQ1JPTExfU05BUCkgJChFTkFCTEVfQ1NTX1NFTEVD
VE9SU19MRVZFTDQpICQoRU5BQkxFX0NTU19UUkFJTElOR19XT1JEKSAkKEVOQUJMRV9DVVJTT1Jf
VklTSUJJTElUWSkgJChFTkFCTEVfQ1VTVE9NX1NDSEVNRV9IQU5ETEVSKSAkKEVOQUJMRV9EQVNI
Qk9BUkRfU1VQUE9SVCkgJChFTkFCTEVfREFUQV9JTlRFUkFDVElPTikgJChFTkFCTEVfREFUQUNV
RV9WQUxVRSkgJChFTkFCTEVfREFUQUxJU1RfRUxFTUVOVCkgJChFTkFCTEVfREVWSUNFX09SSUVO
VEFUSU9OKSAkKEVOQUJMRV9EUkFHX1NVUFBPUlQpICQoRU5BQkxFX0VOQ1JZUFRFRF9NRURJQSkg
JChFTkFCTEVfRVhQRVJJTUVOVEFMX0ZFQVRVUkVTKSAkKEVOQUJMRV9GQVNUX0pJVF9QRVJNSVNT
SU9OUykgJChFTkFCTEVfRklMVEVSU19MRVZFTF8yKSAkKEVOQUJMRV9GVExfSklUKSAkKEVOQUJM
RV9GVUxMU0NSRUVOX0FQSSkgJChFTkFCTEVfR0FNRVBBRCkgJChFTkFCTEVfR0VPTE9DQVRJT04p
ICQoRU5BQkxFX0lDT05EQVRBQkFTRSkgJChFTkFCTEVfSU5ERVhFRF9EQVRBQkFTRSkgJChFTkFC
TEVfSU5ERVhFRF9EQVRBQkFTRV9JTl9XT1JLRVJTKSAkKEVOQUJMRV9JTlBVVF9UWVBFX0NPTE9S
KSAkKEVOQUJMRV9JTlBVVF9UWVBFX0RBVEUpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURVRJTUVf
SU5DT01QTEVURSkgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFVElNRUxPQ0FMKSAkKEVOQUJMRV9J
TlBVVF9UWVBFX01PTlRIKSAkKEVOQUJMRV9JTlBVVF9UWVBFX1RJTUUpICQoRU5BQkxFX0lOUFVU
X1RZUEVfV0VFSykgJChFTkFCTEVfSU5URVJTRUNUSU9OX09CU0VSVkVSKSAkKEVOQUJMRV9JTlRM
KSAkKEVOQUJMRV9JT1NfR0VTVFVSRV9FVkVOVFMpICQoRU5BQkxFX0lPU19UT1VDSF9FVkVOVFMp
ICQoRU5BQkxFX0pJVCkgJChFTkFCTEVfSlNfQVNZTkNfSVRFUkFUSU9OKSAkKEVOQUJMRV9LRVlC
T0FSRF9DT0RFX0FUVFJJQlVURSkgJChFTkFCTEVfS0VZQk9BUkRfS0VZX0FUVFJJQlVURSkgJChF
TkFCTEVfTEFZT1VUX0ZPUk1BVFRJTkdfQ09OVEVYVCkgJChFTkFCTEVfTEVHQUNZX0NTU19WRU5E
T1JfUFJFRklYRVMpICQoRU5BQkxFX0xFR0FDWV9DVVNUT01fUFJPVE9DT0xfTUFOQUdFUikgJChF
TkFCTEVfTEVHQUNZX0VOQ1JZUFRFRF9NRURJQSkgJChFTkFCTEVfTEVUVEVSUFJFU1MpICQoRU5B
QkxFX01BQ19HRVNUVVJFX0VWRU5UUykgJChFTkFCTEVfTUFDX1ZJREVPX1RPT0xCT1gpICQoRU5B
QkxFX01BVEhNTCkgJChFTkFCTEVfTUVESUFfQ0FQVFVSRSkgJChFTkFCTEVfTUVESUFfQ09OVFJP
TFNfU0NSSVBUKSAkKEVOQUJMRV9NRURJQV9TRVNTSU9OKSAkKEVOQUJMRV9NRURJQV9TT1VSQ0Up
ICQoRU5BQkxFX01FRElBX1NUQVRJU1RJQ1MpICQoRU5BQkxFX01FRElBX1NUUkVBTSkgJChFTkFC
TEVfTUVURVJfRUxFTUVOVCkgJChFTkFCTEVfTUhUTUwpICQoRU5BQkxFX01PVVNFX0NVUlNPUl9T
Q0FMRSkgJChFTkFCTEVfTkFWSUdBVE9SX0NPTlRFTlRfVVRJTFMpICQoRU5BQkxFX05BVklHQVRP
Ul9TVEFOREFMT05FKSAkKEVOQUJMRV9OT1RJRklDQVRJT05TKSAkKEVOQUJMRV9QQVlNRU5UX1JF
UVVFU1QpICQoRU5BQkxFX1BERktJVF9QTFVHSU4pICQoRU5BQkxFX1BPSU5URVJfTE9DSykgJChF
TkFCTEVfUFVCTElDX1NVRkZJWF9MSVNUKSAkKEVOQUJMRV9RVU9UQSkgJChFTkFCTEVfUkVNT1RF
X0lOU1BFQ1RPUikgJChFTkFCTEVfUkVTT0xVVElPTl9NRURJQV9RVUVSWSkgJChFTkFCTEVfUkVT
T1VSQ0VfVVNBR0UpICQoRU5BQkxFX1JVQkJFUl9CQU5ESU5HKSAkKEVOQUJMRV9TRVJWSUNFX0NP
TlRST0xTKSAkKEVOQUJMRV9TRVJWSUNFX1dPUktFUikgJChFTkFCTEVfU1BFRUNIX1NZTlRIRVNJ
UykgJChFTkFCTEVfU1RSRUFNU19BUEkpICQoRU5BQkxFX1NVQlRMRV9DUllQVE8pICQoRU5BQkxF
X1NWR19GT05UUykgJChFTkFCTEVfVEVMRVBIT05FX05VTUJFUl9ERVRFQ1RJT04pICQoRU5BQkxF
X1RFWFRfQVVUT1NJWklORykgJChFTkFCTEVfVE9VQ0hfRVZFTlRTKSAkKEVOQUJMRV9VU0VSX01F
U1NBR0VfSEFORExFUlMpICQoRU5BQkxFX1VTRVJTRUxFQ1RfQUxMKSAkKEVOQUJMRV9WQVJJQVRJ
T05fRk9OVFMpICQoRU5BQkxFX1ZJREVPKSAkKEVOQUJMRV9WSURFT19QUkVTRU5UQVRJT05fTU9E
RSkgJChFTkFCTEVfVklERU9fVFJBQ0spICQoRU5BQkxFX1ZJREVPX1VTRVNfRUxFTUVOVF9GVUxM
U0NSRUVOKSAkKEVOQUJMRV9XRUJfQVVESU8pICQoRU5BQkxFX1dFQl9BVVRITikgJChFTkFCTEVf
V0VCX1JUQykgJChFTkFCTEVfV0VCQVNTRU1CTFkpICQoRU5BQkxFX1dFQkFTU0VNQkxZX1NUUkVB
TUlOR19BUEkpICQoRU5BQkxFX1dFQkdMKSAkKEVOQUJMRV9XRUJHTDIpICQoRU5BQkxFX1dFQkdQ
VSkgJChFTkFCTEVfV0lSRUxFU1NfUExBWUJBQ0tfVEFSR0VUKSAkKEVOQUJMRV9YU0xUKTsKK0ZF
QVRVUkVfREVGSU5FUyA9ICQoRU5BQkxFXzNEX1RSQU5TRk9STVMpICQoRU5BQkxFX0FDQ0VMRVJB
VEVEXzJEX0NBTlZBUykgJChFTkFCTEVfQUNDRUxFUkFURURfT1ZFUkZMT1dfU0NST0xMSU5HKSAk
KEVOQUJMRV9BUFBMRV9QQVkpICQoRU5BQkxFX0FQUExFX1BBWV9TRVNTSU9OX1YzKSAkKEVOQUJM
RV9BUFBMRV9QQVlfU0VTU0lPTl9WNCkgJChFTkFCTEVfQVBQTElDQVRJT05fTUFOSUZFU1QpICQo
RU5BQkxFX0FUVEFDSE1FTlRfRUxFTUVOVCkgJChFTkFCTEVfQVZGX0NBUFRJT05TKSAkKEVOQUJM
RV9DQUNIRV9QQVJUSVRJT05JTkcpICQoRU5BQkxFX0NIQU5ORUxfTUVTU0FHSU5HKSAkKEVOQUJM
RV9DT05URU5UX0ZJTFRFUklORykgJChFTkFCTEVfQ1NTM19URVhUKSAkKEVOQUJMRV9DU1NfQk9Y
X0RFQ09SQVRJT05fQlJFQUspICQoRU5BQkxFX0NTU19DT01QT1NJVElORykgJChFTkFCTEVfQ1NT
X0RFVklDRV9BREFQVEFUSU9OKSAkKEVOQUJMRV9DU1NfSU1BR0VfT1JJRU5UQVRJT04pICQoRU5B
QkxFX0NTU19JTUFHRV9SRVNPTFVUSU9OKSAkKEVOQUJMRV9DU1NfU0NST0xMX1NOQVApICQoRU5B
QkxFX0NTU19TRUxFQ1RPUlNfTEVWRUw0KSAkKEVOQUJMRV9DU1NfVFJBSUxJTkdfV09SRCkgJChF
TkFCTEVfQ1VSU09SX1ZJU0lCSUxJVFkpICQoRU5BQkxFX0NVU1RPTV9TQ0hFTUVfSEFORExFUikg
JChFTkFCTEVfREFTSEJPQVJEX1NVUFBPUlQpICQoRU5BQkxFX0RBVEFfSU5URVJBQ1RJT04pICQo
RU5BQkxFX0RBVEFDVUVfVkFMVUUpICQoRU5BQkxFX0RBVEFMSVNUX0VMRU1FTlQpICQoRU5BQkxF
X0RFVklDRV9PUklFTlRBVElPTikgJChFTkFCTEVfRFJBR19TVVBQT1JUKSAkKEVOQUJMRV9FTkNS
WVBURURfTUVESUEpICQoRU5BQkxFX0VYUEVSSU1FTlRBTF9GRUFUVVJFUykgJChFTkFCTEVfRkFT
VF9KSVRfUEVSTUlTU0lPTlMpICQoRU5BQkxFX0ZJTFRFUlNfTEVWRUxfMikgJChFTkFCTEVfRlRM
X0pJVCkgJChFTkFCTEVfRlVMTFNDUkVFTl9BUEkpICQoRU5BQkxFX0dBTUVQQUQpICQoRU5BQkxF
X0dFT0xPQ0FUSU9OKSAkKEVOQUJMRV9JQ09OREFUQUJBU0UpICQoRU5BQkxFX0lOREVYRURfREFU
QUJBU0UpICQoRU5BQkxFX0lOREVYRURfREFUQUJBU0VfSU5fV09SS0VSUykgJChFTkFCTEVfSU5Q
VVRfVFlQRV9DT0xPUikgJChFTkFCTEVfSU5QVVRfVFlQRV9EQVRFKSAkKEVOQUJMRV9JTlBVVF9U
WVBFX0RBVEVUSU1FX0lOQ09NUExFVEUpICQoRU5BQkxFX0lOUFVUX1RZUEVfREFURVRJTUVMT0NB
TCkgJChFTkFCTEVfSU5QVVRfVFlQRV9NT05USCkgJChFTkFCTEVfSU5QVVRfVFlQRV9USU1FKSAk
KEVOQUJMRV9JTlBVVF9UWVBFX1dFRUspICQoRU5BQkxFX0lOVEVSU0VDVElPTl9PQlNFUlZFUikg
JChFTkFCTEVfSU5UTCkgJChFTkFCTEVfSU9TX0dFU1RVUkVfRVZFTlRTKSAkKEVOQUJMRV9JT1Nf
VE9VQ0hfRVZFTlRTKSAkKEVOQUJMRV9KSVQpICQoRU5BQkxFX0pTX0FTWU5DX0lURVJBVElPTikg
JChFTkFCTEVfS0VZQk9BUkRfQ09ERV9BVFRSSUJVVEUpICQoRU5BQkxFX0tFWUJPQVJEX0tFWV9B
VFRSSUJVVEUpICQoRU5BQkxFX0xBWU9VVF9GT1JNQVRUSU5HX0NPTlRFWFQpICQoRU5BQkxFX0xF
R0FDWV9DU1NfVkVORE9SX1BSRUZJWEVTKSAkKEVOQUJMRV9MRUdBQ1lfQ1VTVE9NX1BST1RPQ09M
X01BTkFHRVIpICQoRU5BQkxFX0xFR0FDWV9FTkNSWVBURURfTUVESUEpICQoRU5BQkxFX0xFVFRF
UlBSRVNTKSAkKEVOQUJMRV9NQUNfR0VTVFVSRV9FVkVOVFMpICQoRU5BQkxFX01BQ19WSURFT19U
T09MQk9YKSAkKEVOQUJMRV9NQVRITUwpICQoRU5BQkxFX01FRElBX0NBUFRVUkUpICQoRU5BQkxF
X01FRElBX0NPTlRST0xTX1NDUklQVCkgJChFTkFCTEVfTUVESUFfU0VTU0lPTikgJChFTkFCTEVf
TUVESUFfU09VUkNFKSAkKEVOQUJMRV9NRURJQV9TVEFUSVNUSUNTKSAkKEVOQUJMRV9NRURJQV9T
VFJFQU0pICQoRU5BQkxFX01FVEVSX0VMRU1FTlQpICQoRU5BQkxFX01IVE1MKSAkKEVOQUJMRV9N
T1VTRV9DVVJTT1JfU0NBTEUpICQoRU5BQkxFX05BVklHQVRPUl9DT05URU5UX1VUSUxTKSAkKEVO
QUJMRV9OQVZJR0FUT1JfU1RBTkRBTE9ORSkgJChFTkFCTEVfTk9USUZJQ0FUSU9OUykgJChFTkFC
TEVfUEFZTUVOVF9SRVFVRVNUKSAkKEVOQUJMRV9QREZLSVRfUExVR0lOKSAkKEVOQUJMRV9QT0lO
VEVSX0xPQ0spICQoRU5BQkxFX1BVQkxJQ19TVUZGSVhfTElTVCkgJChFTkFCTEVfUVVPVEEpICQo
RU5BQkxFX1JFTU9URV9JTlNQRUNUT1IpICQoRU5BQkxFX1JFU09MVVRJT05fTUVESUFfUVVFUlkp
ICQoRU5BQkxFX1JFU09VUkNFX1VTQUdFKSAkKEVOQUJMRV9SVUJCRVJfQkFORElORykgJChFTkFC
TEVfU0VSVklDRV9DT05UUk9MUykgJChFTkFCTEVfU0VSVklDRV9XT1JLRVIpICQoRU5BQkxFX1NQ
RUVDSF9TWU5USEVTSVMpICQoRU5BQkxFX1NUUkVBTVNfQVBJKSAkKEVOQUJMRV9TVUJUTEVfQ1JZ
UFRPKSAkKEVOQUJMRV9TVkdfRk9OVFMpICQoRU5BQkxFX1RFTEVQSE9ORV9OVU1CRVJfREVURUNU
SU9OKSAkKEVOQUJMRV9URVhUX0FVVE9TSVpJTkcpICQoRU5BQkxFX1RPVUNIX0VWRU5UUykgJChF
TkFCTEVfVVNFUl9NRVNTQUdFX0hBTkRMRVJTKSAkKEVOQUJMRV9VU0VSU0VMRUNUX0FMTCkgJChF
TkFCTEVfVkFSSUFUSU9OX0ZPTlRTKSAkKEVOQUJMRV9WSURFTykgJChFTkFCTEVfVklERU9fUFJF
U0VOVEFUSU9OX01PREUpICQoRU5BQkxFX1ZJREVPX1RSQUNLKSAkKEVOQUJMRV9WSURFT19VU0VT
X0VMRU1FTlRfRlVMTFNDUkVFTikgJChFTkFCTEVfV0VCX0FVRElPKSAkKEVOQUJMRV9XRUJfQVVU
SE4pICQoRU5BQkxFX1dFQl9SVEMpICQoRU5BQkxFX1dFQkFTU0VNQkxZKSAkKEVOQUJMRV9XRUJB
U1NFTUJMWV9TVFJFQU1JTkdfQVBJKSAkKEVOQUJMRV9XRUJHTCkgJChFTkFCTEVfV0VCR0wyKSAk
KEVOQUJMRV9XRUJNRVRBTCkgJChFTkFCTEVfV0lSRUxFU1NfUExBWUJBQ0tfVEFSR0VUKSAkKEVO
QUJMRV9YU0xUKTsKZGlmZiAtLWdpdCBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViQ29y
ZS9tYWMvR1BVQnVmZmVyLm1tIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJDb3JlL21h
Yy9HUFVCdWZmZXIubW0KaW5kZXggN2ZlM2ViNmI4NzIzMzFkZGJlNDNiOTFhYjdjNTI5ODI3NzY3
MTM4NC4uNzdhYzU5ZTZjY2YyZDNmMzk4MjM2NzI2ZjI3NTljZmY2MTAwZTMyMCAxMDA2NDQKLS0t
IGEvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJDb3JlL21hYy9HUFVCdWZmZXIubW0KKysr
IGIvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJDb3JlL21hYy9HUFVCdWZmZXIubW0KQEAg
LTI1LDcgKzI1LDcgQEAKIAogI2ltcG9ydCAiY29uZmlnLmgiCiAKLSNpZiBFTkFCTEUoV0VCR1BV
KQorI2lmIEVOQUJMRShXRUJNRVRBTCkKIAogI2ltcG9ydCAiR1BVVGVzdC5oIgogI2ltcG9ydCA8
SmF2YVNjcmlwdENvcmUvQXJyYXlCdWZmZXIuaD4KZGlmZiAtLWdpdCBhL1Rvb2xzL1Rlc3RXZWJL
aXRBUEkvVGVzdHMvV2ViQ29yZS9tYWMvR1BVQ29tbWFuZFF1ZXVlLm1tIGIvVG9vbHMvVGVzdFdl
YktpdEFQSS9UZXN0cy9XZWJDb3JlL21hYy9HUFVDb21tYW5kUXVldWUubW0KaW5kZXggNTA3Yjg3
ZTViNGU0MjY0YzIzYTkwZWM2NWExMDY0YmZlN2FjMGY1Zi4uMmY1YjE2NWI3ZDhkNTM1ODVhNGQz
YmU2ZDRhZGE5YzU5MzQ5ZDY4MiAxMDA2NDQKLS0tIGEvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0
cy9XZWJDb3JlL21hYy9HUFVDb21tYW5kUXVldWUubW0KKysrIGIvVG9vbHMvVGVzdFdlYktpdEFQ
SS9UZXN0cy9XZWJDb3JlL21hYy9HUFVDb21tYW5kUXVldWUubW0KQEAgLTI1LDcgKzI1LDcgQEAK
IAogI2ltcG9ydCAiY29uZmlnLmgiCiAKLSNpZiBFTkFCTEUoV0VCR1BVKQorI2lmIEVOQUJMRShX
RUJNRVRBTCkKIAogI2ltcG9ydCAiR1BVVGVzdC5oIgogI2ltcG9ydCAiUGxhdGZvcm1VdGlsaXRp
ZXMuaCIKZGlmZiAtLWdpdCBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViQ29yZS9tYWMv
R1BVRGV2aWNlLm1tIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJDb3JlL21hYy9HUFVE
ZXZpY2UubW0KaW5kZXggNmE2MWYwZDIwYzJmZWE1ODBlYmY3OTg5OWIzNTA1NWE3MDZhYzk0MS4u
YTA0NDk0YmZmZTE2MzA4MmMwNGRkMTJmZTU2YmEwMGZmNjhmMzFjZiAxMDA2NDQKLS0tIGEvVG9v
bHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJDb3JlL21hYy9HUFVEZXZpY2UubW0KKysrIGIvVG9v
bHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJDb3JlL21hYy9HUFVEZXZpY2UubW0KQEAgLTI1LDcg
KzI1LDcgQEAKIAogI2ltcG9ydCAiY29uZmlnLmgiCiAKLSNpZiBFTkFCTEUoV0VCR1BVKQorI2lm
IEVOQUJMRShXRUJNRVRBTCkKIAogI2ltcG9ydCAiR1BVVGVzdC5oIgogI2ltcG9ydCA8TWV0YWwv
TWV0YWwuaD4KZGlmZiAtLWdpdCBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViQ29yZS9t
YWMvR1BVRnVuY3Rpb24ubW0gYi9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYkNvcmUvbWFj
L0dQVUZ1bmN0aW9uLm1tCmluZGV4IDNmOTVhZjJmNmNkOWRmN2QxMGZkM2E2ZTA4NmQ5YjA4Njk1
ZmZmMmEuLmZjMDI3NGE2MGYyOTk4YzE4NTZmYTFjNTQ2M2NkMWE0NzgxMzBjOGQgMTAwNjQ0Ci0t
LSBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViQ29yZS9tYWMvR1BVRnVuY3Rpb24ubW0K
KysrIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJDb3JlL21hYy9HUFVGdW5jdGlvbi5t
bQpAQCAtMjYsNyArMjYsNyBAQAogCiAjaW1wb3J0ICJjb25maWcuaCIKIAotI2lmIEVOQUJMRShX
RUJHUFUpCisjaWYgRU5BQkxFKFdFQk1FVEFMKQogCiAjaW1wb3J0ICJHUFVUZXN0LmgiCiAjaW1w
b3J0ICJQbGF0Zm9ybVV0aWxpdGllcy5oIgpkaWZmIC0tZ2l0IGEvVG9vbHMvVGVzdFdlYktpdEFQ
SS9UZXN0cy9XZWJDb3JlL21hYy9HUFVMaWJyYXJ5Lm1tIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9U
ZXN0cy9XZWJDb3JlL21hYy9HUFVMaWJyYXJ5Lm1tCmluZGV4IGJkMTI5Mjk1ZjIwNTJkMTQyYzVi
OGQxODY1ZDI0YTY4MmJhNTE5OTcuLmM5MDY1MGExN2RjYzlhZGY2NjUxMTEyMzQwYWMwYzEwOTA5
NDU0MzEgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvV2ViQ29yZS9tYWMv
R1BVTGlicmFyeS5tbQorKysgYi9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYkNvcmUvbWFj
L0dQVUxpYnJhcnkubW0KQEAgLTI1LDcgKzI1LDcgQEAKIAogI2ltcG9ydCAiY29uZmlnLmgiCiAK
LSNpZiBFTkFCTEUoV0VCR1BVKQorI2lmIEVOQUJMRShXRUJNRVRBTCkKIAogI2ltcG9ydCAiR1BV
VGVzdC5oIgogI2ltcG9ydCAiUGxhdGZvcm1VdGlsaXRpZXMuaCIKZGlmZiAtLWdpdCBhL1Rvb2xz
L1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvSW5qZWN0ZWRCdW5kbGUuY3BwIGIvVG9v
bHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9JbmplY3RlZEJ1bmRsZS5jcHAKaW5k
ZXggMWQ3NTEzNmNlZTZiODYzNGQ4MGYyODlmYTRlYzUwYzA1MDhhMGY5Ni4uOWNmMzFhMjQ1NTYx
NGE4NjVlZTlmNWE0NWFmZTQyZDVlOWI2NzZkZCAxMDA2NDQKLS0tIGEvVG9vbHMvV2ViS2l0VGVz
dFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9JbmplY3RlZEJ1bmRsZS5jcHAKKysrIGIvVG9vbHMvV2Vi
S2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9JbmplY3RlZEJ1bmRsZS5jcHAKQEAgLTQ5Niw3
ICs0OTYsNyBAQCB2b2lkIEluamVjdGVkQnVuZGxlOjpiZWdpblRlc3RpbmcoV0tEaWN0aW9uYXJ5
UmVmIHNldHRpbmdzLCBCZWdpbmdUZXN0aW5nTW9kZSB0ZQogICAgIG1fdGVzdFJ1bm5lci0+c2V0
WFNTQXVkaXRvckVuYWJsZWQoZmFsc2UpOwogCiAgICAgbV90ZXN0UnVubmVyLT5zZXRXZWJHTDJF
bmFibGVkKHRydWUpOwotICAgIG1fdGVzdFJ1bm5lci0+c2V0V2ViR1BVRW5hYmxlZCh0cnVlKTsK
KyAgICBtX3Rlc3RSdW5uZXItPnNldFdlYk1ldGFsRW5hYmxlZCh0cnVlKTsKIAogICAgIG1fdGVz
dFJ1bm5lci0+c2V0V3JpdGFibGVTdHJlYW1BUElFbmFibGVkKHRydWUpOwogICAgIG1fdGVzdFJ1
bm5lci0+c2V0UmVhZGFibGVCeXRlU3RyZWFtQVBJRW5hYmxlZCh0cnVlKTsKZGlmZiAtLWdpdCBh
L1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvVGVzdFJ1bm5lci5jcHAgYi9U
b29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL1Rlc3RSdW5uZXIuY3BwCmluZGV4
IDI1YTAyMTJmNjczMDZhMzcwMTkyYTBkMDg4ODE0NjU0MWI5N2FhOTQuLmM4NDNiYzcyNjIxOTIy
M2Y1NzRiYmYyMjlkMjU5MDdhZTNjYTg1YTUgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1dlYktpdFRlc3RS
dW5uZXIvSW5qZWN0ZWRCdW5kbGUvVGVzdFJ1bm5lci5jcHAKKysrIGIvVG9vbHMvV2ViS2l0VGVz
dFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9UZXN0UnVubmVyLmNwcApAQCAtNDc2LDkgKzQ3Niw5IEBA
IHZvaWQgVGVzdFJ1bm5lcjo6c2V0V2ViR0wyRW5hYmxlZChib29sIGVuYWJsZWQpCiAgICAgV0tC
dW5kbGVPdmVycmlkZUJvb2xQcmVmZXJlbmNlRm9yVGVzdFJ1bm5lcihpbmplY3RlZEJ1bmRsZS5i
dW5kbGUoKSwgaW5qZWN0ZWRCdW5kbGUucGFnZUdyb3VwKCksIGtleS5nZXQoKSwgZW5hYmxlZCk7
CiB9CiAKLXZvaWQgVGVzdFJ1bm5lcjo6c2V0V2ViR1BVRW5hYmxlZChib29sIGVuYWJsZWQpCit2
b2lkIFRlc3RSdW5uZXI6OnNldFdlYk1ldGFsRW5hYmxlZChib29sIGVuYWJsZWQpCiB7Ci0gICAg
V0tSZXRhaW5QdHI8V0tTdHJpbmdSZWY+IGtleShBZG9wdFdLLCBXS1N0cmluZ0NyZWF0ZVdpdGhV
VEY4Q1N0cmluZygiV2ViS2l0V2ViR1BVRW5hYmxlZCIpKTsKKyAgICBXS1JldGFpblB0cjxXS1N0
cmluZ1JlZj4ga2V5KEFkb3B0V0ssIFdLU3RyaW5nQ3JlYXRlV2l0aFVURjhDU3RyaW5nKCJXZWJL
aXRXZWJNZXRhbEVuYWJsZWQiKSk7CiAgICAgYXV0byYgaW5qZWN0ZWRCdW5kbGUgPSBJbmplY3Rl
ZEJ1bmRsZTo6c2luZ2xldG9uKCk7CiAgICAgV0tCdW5kbGVPdmVycmlkZUJvb2xQcmVmZXJlbmNl
Rm9yVGVzdFJ1bm5lcihpbmplY3RlZEJ1bmRsZS5idW5kbGUoKSwgaW5qZWN0ZWRCdW5kbGUucGFn
ZUdyb3VwKCksIGtleS5nZXQoKSwgZW5hYmxlZCk7CiB9CmRpZmYgLS1naXQgYS9Ub29scy9XZWJL
aXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL1Rlc3RSdW5uZXIuaCBiL1Rvb2xzL1dlYktpdFRl
c3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvVGVzdFJ1bm5lci5oCmluZGV4IDg5ZmVkN2JiMTYyMjM4
OTMxOWVmYTg3MzU1Y2Q4NjM4NTM4ZGE3MWEuLjEyMTViM2NhMGJlYTEwNWU0MmVhZTkzMGUyYWIw
Yjg1N2NjZDBjMTQgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRC
dW5kbGUvVGVzdFJ1bm5lci5oCisrKyBiL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRC
dW5kbGUvVGVzdFJ1bm5lci5oCkBAIC0xMDQsNyArMTA0LDcgQEAgcHVibGljOgogICAgIHZvaWQg
c2V0WFNTQXVkaXRvckVuYWJsZWQoYm9vbCk7CiAgICAgdm9pZCBzZXRNb2Rlcm5NZWRpYUNvbnRy
b2xzRW5hYmxlZChib29sKTsKICAgICB2b2lkIHNldFdlYkdMMkVuYWJsZWQoYm9vbCk7Ci0gICAg
dm9pZCBzZXRXZWJHUFVFbmFibGVkKGJvb2wpOworICAgIHZvaWQgc2V0V2ViTWV0YWxFbmFibGVk
KGJvb2wpOwogICAgIHZvaWQgc2V0V3JpdGFibGVTdHJlYW1BUElFbmFibGVkKGJvb2wpOwogICAg
IHZvaWQgc2V0UmVhZGFibGVCeXRlU3RyZWFtQVBJRW5hYmxlZChib29sKTsKIApkaWZmIC0tZ2l0
IGEvV2Vic2l0ZXMvd2Via2l0Lm9yZy9DaGFuZ2VMb2cgYi9XZWJzaXRlcy93ZWJraXQub3JnL0No
YW5nZUxvZwppbmRleCAyMmY1ZTMyMjdhMTE0YjRmYTI2ZDNiM2MwODUzN2NhNDZhYTBjMjVjLi5k
NTNlNTdjMmMzMzc0NGQxNTM4M2I1NDMxMTY2NjM4MmM1OWEzYjAxIDEwMDY0NAotLS0gYS9XZWJz
aXRlcy93ZWJraXQub3JnL0NoYW5nZUxvZworKysgYi9XZWJzaXRlcy93ZWJraXQub3JnL0NoYW5n
ZUxvZwpAQCAtMSwzICsxLDM5IEBACisyMDE4LTEwLTA4ICBKdXN0aW4gRmFuICA8anVzdGluX2Zh
bkBhcHBsZS5jb20+CisKKyAgICAgICAgV2ViR1BVOiBSZW5hbWUgb2xkIFdlYkdQVSBwcm90b3R5
cGUgdG8gV2ViTWV0YWwKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTE5MDMyNQorICAgICAgICA8cmRhcjovL3Byb2JsZW0vNDQ5OTA0NDM+CisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgRGVhbiBKYWNrc29uLgorCisgICAgICAgIFJlbmFtZSBXZWJHUFUgcHJv
dG90eXBlIGZpbGVzIHRvIFdlYk1ldGFsIGluIHByZXBhcmF0aW9uIGZvciBpbXBsZW1lbnRpbmcg
dGhlIG5ldyAoT2N0IDIwMTgpIFdlYkdQVSBpbnRlcmZhY2UuCisKKyAgICAgICAgKiBkZW1vcy93
ZWJncHUvc2hhcmVkLmpzOiBSZW1vdmVkLgorICAgICAgICAqIGRlbW9zL3dlYm1ldGFsLzJkLmh0
bWw6IFJlbmFtZWQgZnJvbSBXZWJzaXRlcy93ZWJraXQub3JnL2RlbW9zL3dlYmdwdS8yZC5odG1s
LgorICAgICAgICAqIGRlbW9zL3dlYm1ldGFsLzJkLmpwZzogUmVuYW1lZCBmcm9tIFdlYnNpdGVz
L3dlYmtpdC5vcmcvZGVtb3Mvd2ViZ3B1LzJkLmpwZy4KKyAgICAgICAgKiBkZW1vcy93ZWJtZXRh
bC8yZC5qczogUmVuYW1lZCBmcm9tIFdlYnNpdGVzL3dlYmtpdC5vcmcvZGVtb3Mvd2ViZ3B1LzJk
LmpzLgorICAgICAgICAoaW5pdCk6CisgICAgICAgICogZGVtb3Mvd2VibWV0YWwvY2lyY2xlLnN2
ZzogUmVuYW1lZCBmcm9tIFdlYnNpdGVzL3dlYmtpdC5vcmcvZGVtb3Mvd2ViZ3B1L2NpcmNsZS5z
dmcuCisgICAgICAgICogZGVtb3Mvd2VibWV0YWwvY3ViZXMuaHRtbDogUmVuYW1lZCBmcm9tIFdl
YnNpdGVzL3dlYmtpdC5vcmcvZGVtb3Mvd2ViZ3B1L2N1YmVzLmh0bWwuCisgICAgICAgICogZGVt
b3Mvd2VibWV0YWwvY3ViZXMuanBnOiBSZW5hbWVkIGZyb20gV2Vic2l0ZXMvd2Via2l0Lm9yZy9k
ZW1vcy93ZWJncHUvY3ViZXMuanBnLgorICAgICAgICAqIGRlbW9zL3dlYm1ldGFsL2N1YmVzLmpz
OiBSZW5hbWVkIGZyb20gV2Vic2l0ZXMvd2Via2l0Lm9yZy9kZW1vcy93ZWJncHUvY3ViZXMuanMu
CisgICAgICAgIChpbml0KToKKyAgICAgICAgKiBkZW1vcy93ZWJtZXRhbC9nbC1tYXRyaXgtbWlu
LmpzOiBSZW5hbWVkIGZyb20gV2Vic2l0ZXMvd2Via2l0Lm9yZy9kZW1vcy93ZWJncHUvZ2wtbWF0
cml4LW1pbi5qcy4KKyAgICAgICAgKiBkZW1vcy93ZWJtZXRhbC9oZWxsby5odG1sOiBSZW5hbWVk
IGZyb20gV2Vic2l0ZXMvd2Via2l0Lm9yZy9kZW1vcy93ZWJncHUvaGVsbG8uaHRtbC4KKyAgICAg
ICAgKiBkZW1vcy93ZWJtZXRhbC9oZWxsby5qcGc6IFJlbmFtZWQgZnJvbSBXZWJzaXRlcy93ZWJr
aXQub3JnL2RlbW9zL3dlYmdwdS9oZWxsby5qcGcuCisgICAgICAgICogZGVtb3Mvd2VibWV0YWwv
aGVsbG8uanM6IFJlbmFtZWQgZnJvbSBXZWJzaXRlcy93ZWJraXQub3JnL2RlbW9zL3dlYmdwdS9o
ZWxsby5qcy4KKyAgICAgICAgKGluaXQpOgorICAgICAgICAqIGRlbW9zL3dlYm1ldGFsL2luZGV4
Lmh0bWw6IFJlbmFtZWQgZnJvbSBXZWJzaXRlcy93ZWJraXQub3JnL2RlbW9zL3dlYmdwdS9pbmRl
eC5odG1sLgorICAgICAgICAqIGRlbW9zL3dlYm1ldGFsL3NoYXJlZC5jc3M6IFJlbmFtZWQgZnJv
bSBXZWJzaXRlcy93ZWJraXQub3JnL2RlbW9zL3dlYmdwdS9zaGFyZWQuY3NzLgorICAgICAgICAq
IGRlbW9zL3dlYm1ldGFsL3NoYXJlZC5qczogQWRkZWQuCisgICAgICAgIChjb25zdC5oYXNXZWJN
ZXRhbCk6CisgICAgICAgIChjb25zdC5jaGVja0ZvcldlYk1ldGFsKToKKyAgICAgICAgKiBkZW1v
cy93ZWJtZXRhbC9zaW1wbGUuaHRtbDogUmVuYW1lZCBmcm9tIFdlYnNpdGVzL3dlYmtpdC5vcmcv
ZGVtb3Mvd2ViZ3B1L3NpbXBsZS5odG1sLgorICAgICAgICAqIGRlbW9zL3dlYm1ldGFsL3NpbXBs
ZS5qcGc6IFJlbmFtZWQgZnJvbSBXZWJzaXRlcy93ZWJraXQub3JnL2RlbW9zL3dlYmdwdS9zaW1w
bGUuanBnLgorICAgICAgICAqIGRlbW9zL3dlYm1ldGFsL3NpbXBsZS5qczogUmVuYW1lZCBmcm9t
IFdlYnNpdGVzL3dlYmtpdC5vcmcvZGVtb3Mvd2ViZ3B1L3NpbXBsZS5qcy4KKyAgICAgICAgKGlu
aXQpOgorICAgICAgICAqIGV4cGVyaW1lbnRhbC1mZWF0dXJlcy5odG1sOgorCiAyMDE4LTA5LTA1
ICBGdWppaSBIaXJvbm9yaSAgPEhpcm9ub3JpLkZ1amlpQHNvbnkuY29tPgogCiAgICAgICAgIFVw
ZGF0ZSBjb2RlIHN0eWxlIGd1aWRlbGluZXMgZm9yIHVzaW5nIG5hbWVzcGFjZSBpbnNpZGUgYSBu
YW1lc3BhY2UgZGVmaW5pdGlvbgpkaWZmIC0tZ2l0IGEvV2Vic2l0ZXMvd2Via2l0Lm9yZy9kZW1v
cy93ZWJncHUvMmQuaHRtbCBiL1dlYnNpdGVzL3dlYmtpdC5vcmcvZGVtb3Mvd2ViZ3B1LzJkLmh0
bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDhjNjI1MmU5NmViOGU3ZDg3ZTNjMjJj
MmRlZWRmZmQ1MmE1NDQwZGQuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAKLS0tIGEvV2Vic2l0ZXMvd2Via2l0Lm9yZy9kZW1vcy93ZWJncHUvMmQuaHRtbAorKysgL2Rl
di9udWxsCkBAIC0xLDYxICswLDAgQEAKLTwhRE9DVFlQRSBodG1sPgotPGh0bWw+Ci08aGVhZD4K
LTxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD02MDAiPgotPG1ldGEgaHR0cC1l
cXVpdj0iQ29udGVudC10eXBlIiBjb250ZW50PSJ0ZXh0L2h0bWw7IGNoYXJzZXQ9dXRmLTgiPgot
PHRpdGxlPldlYkdQVSAyRCBkZW1vPC90aXRsZT4KLTxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJl
Zj0ic2hhcmVkLmNzcyI+Ci08bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Imh0dHBzOi8vd2Vi
a2l0Lm9yZy93cC1jb250ZW50L3RoZW1lcy93ZWJraXQvc3R5bGUuY3NzIj4KLTxsaW5rIHJlbD0i
c3R5bGVzaGVldCIgaHJlZj0iaHR0cHM6Ly93d3cuYXBwbGUuY29tL3dzcy9mb250cz9mYW1pbHk9
TXlyaWFkK1NldCtQcm8mYW1wO3Y9MSI+Ci08c2NyaXB0IHNyYz0ic2hhcmVkLmpzIj48L3Njcmlw
dD4KLTxzY3JpcHQgc3JjPSIyZC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IGlkPSJsaWJyYXJ5IiB0
eXBlPSJ4LXNoYWRlci94LW1ldGFsIj4KLSNpbmNsdWRlIDxtZXRhbF9zdGRsaWI+Ci0KLXVzaW5n
IG5hbWVzcGFjZSBtZXRhbDsKLQotc3RydWN0IFZlcnRleAotewotICAgIGZsb2F0NCBwb3NpdGlv
biBbW3Bvc2l0aW9uXV07Ci19OwotCi1zdHJ1Y3QgVW5pZm9ybQotewotICAgIGZsb2F0MiByZXNv
bHV0aW9uOwotICAgIGZsb2F0IHRpbWU7Ci19OwotCi12ZXJ0ZXggVmVydGV4IHZlcnRleF9tYWlu
KGRldmljZSBWZXJ0ZXggKnZlcnRpY2VzIFtbYnVmZmVyKDApXV0sCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgIGNvbnN0YW50IFVuaWZvcm0gKnVuaWZvcm1zIFtbYnVmZmVyKDEpXV0sCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgIHVpbnQgdmlkIFtbdmVydGV4X2lkXV0pCi17Ci0gICAgcmV0
dXJuIHZlcnRpY2VzW3ZpZF07Ci19Ci0KLWZyYWdtZW50IGZsb2F0NCBmcmFnbWVudF9tYWluKFZl
cnRleCB2ZXJ0ZXhJbiBbW3N0YWdlX2luXV0sIGNvbnN0YW50IFVuaWZvcm0gKnVuaWZvcm1zIFtb
YnVmZmVyKDApXV0pCi17Ci0gICAgZmxvYXQyIHBvc2l0aW9uID0gdmVydGV4SW4ucG9zaXRpb24u
eHkgLyB1bmlmb3Jtcy0+cmVzb2x1dGlvbi54eTsKLQotICAgIGZsb2F0IGNvbG9yID0gMC4wOwot
ICAgIGZsb2F0IHRpbWUgPSB1bmlmb3Jtcy0+dGltZTsKLSAgICBjb2xvciArPSBzaW4ocG9zaXRp
b24ueCAqIGNvcyh0aW1lIC8gNy4wKSAqIDkwLjApICsgY29zKHBvc2l0aW9uLnkgKiBjb3ModGlt
ZSAvIDE3LjApICogMTUuMCk7Ci0gICAgY29sb3IgKz0gc2luKHBvc2l0aW9uLnkgKiBzaW4odGlt
ZSAvIDEzLjApICogMzUuMCkgKyBjb3MocG9zaXRpb24ueCAqIHNpbih0aW1lIC8gMjcuMCkgKiAz
NS4wKTsKLSAgICBjb2xvciArPSBzaW4ocG9zaXRpb24ueCAqIHNpbih0aW1lIC8gNS4wKSAqIDE1
LjApICsgc2luKHBvc2l0aW9uLnkgKiBzaW4odGltZSAvIDMxLjApICogOTAuMCk7Ci0gICAgY29s
b3IgKj0gc2luKHRpbWUgLyAxMC4wKSAqIDAuNTsKLQotICAgIHJldHVybiBmbG9hdDQoY29sb3Is
IGNvbG9yICogMC41ICsgc2luKHRpbWUgLyAxMCksIHNpbihjb2xvciArIHRpbWUgLyAzLjApICog
MC43NSwgMS4wKTsKLX0KLTwvc2NyaXB0PgotPC9oZWFkPgotPGJvZHk+Ci08Y2FudmFzPjwvY2Fu
dmFzPgotPGRpdiBpZD0iZXJyb3IiPgotICAgIDxoMj5XZWJHUFUgbm90IGF2YWlsYWJsZTwvaDI+
Ci0gICAgPHA+Ci0gICAgICAgIE1ha2Ugc3VyZSB5b3UgYXJlIG9uIGEgc3lzdGVtIHdpdGggV2Vi
R1BVIGVuYWJsZWQuIEluCi0gICAgICAgIFNhZmFyaSwgZmlyc3QgbWFrZSBzdXJlIHRoZSBEZXZl
bG9wZXIgTWVudSBpcyB2aXNpYmxlIChQcmVmZXJlbmNlcyDihpIKLSAgICAgICAgQWR2YW5jZWQp
LCB0aGVuIERldmVsb3Ag4oaSIEV4cGVyaW1lbnRhbCBGZWF0dXJlcyDihpIgRW5hYmxlIFdlYkdQ
VS4KLSAgICA8L3A+Ci08L2Rpdj4KLTwvYm9keT4KLTwvaHRtbD4KZGlmZiAtLWdpdCBhL1dlYnNp
dGVzL3dlYmtpdC5vcmcvZGVtb3Mvd2ViZ3B1LzJkLmpwZyBiL1dlYnNpdGVzL3dlYmtpdC5vcmcv
ZGVtb3Mvd2ViZ3B1LzJkLmpwZwpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggOGFlNmI0
MmRiOTJhNmJhYTEzZjUxZDAwNDZkODgyZjdiYTQ5NGY5MS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMApHSVQgYmluYXJ5IHBhdGNoCmxpdGVyYWwgMApIY21WP2QwMDAw
MQoKbGl0ZXJhbCAzMDQwNwp6Y21lRlljVF5QNV9BZmYqRUUxS1Iofnh0SkFYJGJ5RmJzP1lWVGQj
MjkyNkIxYTNvMDFJV3I2K1ZVVEQqa3wzREAKelE0SGokZmBFZDh6U2VXVG9fcF9GY2RnJWc+OzNt
bTRjLTBlPmd3ditSZU0rTXtwc2V7dDZ2e0w9T0lRV01qI1JyCno1YTxmPDFOflk4bkhmZzxjIUVJ
WTx7JlQjMWZtOSFrfSFrRjA3TEAoSyM0dmVAOz97XjUoU1BSNU5SM2RLUkcwYQp6V259LXN6YzJu
O3E3bT44NEdxK2dtR3V2aWFkaSlIXk4+TFhfe20xUDJGbDlJJGpPMjxic19eQGshWClsZW00JjwK
ekFBYz51JilyVzFgRi01QTFtVmkmYV5ge2g5Xk83enFKdXFicUFoSFooUCpUKXlQJUZYemg8T0hx
K2coKU4ybmAqCnpxQFM7VWgoQEhBO0dmRGgwUUBeIVIqP1Rza3g7YWpwdU0+anprV2NsMmZ3bjZs
OGxAbmFDZmt+cnZ9dSg9LT5BTwp6WElnXilaZSZENmdpTTVAT2hCLWd0aH5DcXh+IWFudGImM3hQ
KG5IKyUwSlhLUXJiVTY9JHslNEpWS0RjSzdwWT0KejBzajJJWWpreEIybipFYDZxRSY/QXA3cX17
RHl6cXM/R28zXnhxISVaeDgmcDJtYWR3fEx1WVFfUTMhRGRmLTNhCnpqKXk8czt6Uih4NEN2UUtr
ZVpjdUt4amFTY1IoUCZxS3E2IVAweiVme0lgPEBxKDR+WDQ/STgxbGV+fXlZOVpnYwp6TVUlSUN0
UVklaGBRakBSZVNIQHpzSEtzS25jKktGPyY3ZChWNHlHUWNAVzZZS1F0ST50akJOZmZaKFRFMCRl
dnsKeno/RzglJCt7diMwKEdzZCV6b0dUJiskK0ZlfEtOIWVtaTt+KDJWciZ5OGRTVyZqNkQ8OzEm
VkNxN19pdyV7PkleCnoyakRoZmR4O0RUNGg0YjhaVU9tMTV1dCY8YVRTMUJnTWtKRHhaXmtXYFdK
cnI4QHY0cmZBfnx6N09EQEZJUnZ+Pgp6ZFJOekFGQSNfeCRPaUY7QmZXcm49PW5oKU5Aam18QUFi
O3RTcVo/fU5OLW5uNWE9UnM0Sjc1fjd3e1hHMGEpRGEKemYycWdvZjVFUDxaaHp9XmJAbHAtfDBO
ND5DLTdoY3BPOFJiKlFoQHl8NmxJPmU4WWhMYGpaNUtKLXY3RTYpMTJOCnoyS3VaSDlib3p3YEAz
MEt7KiYobU5jMGMoNCFaKlQyT35yRGZ4aTZMejMjM0NydktuREcpKHMmPj4zUTlmMHl3SQp6SEw/
OCUyTTBqXio2OzZZQG1vTHN3ODdpTTxTK0lKRnxfJDctX3lzKTxSMlhFWjQzVmdoeF4hQntEVlcj
SGg8ZD8Kej9YQ1llS1I2OGZ4NlBpeE10XjFXM2p5eEBfajhmMXw5TXVadz1FRXd7SHJ9NEFAK2FV
PEwrVCNfJjQ3bF9QMT87CnpwP1pKbzREfGhAPndqZU5ASFBJTTl9O2YhX3VrTjgrclJsSlNJQlNP
e1psP0wpYXF+bGZYcU9LQU9qRlRORlU/Xwp6QCZ8Yzx7Nk1iMm5FYE1YMHR5OEEwJXVYNzkrQUl3
NHh9RnQ3IX5afTxzSGhlM3N7ZmB6bGxGbU12N2xTUEZAdVIKemBmWlFEJVlaLSEmXzh4WSFhbmh6
eWRkQ3k0UnMpQEQqaktOdDBWfjJCP1h2NzxBM3NtUlhgeFJMSis4WDFzTjZgCnp7OyZHVGU7Kzc3
dj4tK2hEfkpRYzNsYWl9Z1FQKFVBUWpMaCZ9RT9ZNVJmSXY3VVRlTzF8ZFAtSz5MRzE1dW9kIQp6
K25AeHtlYjU2P0htQ3FwM2FTTHZmcERNfSY/OFV9PW94NGJHenl2bzVrWVQyQTMkck05bmM9PUU5
ZUlhMj8tU20KejB8XlRXMk1IZ0UyI0YrIzAqTS1sSGk7cEw4M35sY2YjZSNBN2x9VmY3fENeI0ow
JGw+R0RyJFklMVA9O25uXmxJCnpve192RG5JYyZyU3Q4allgOWt1WWwjRzt+bCREZitSRnFWZlJF
PD1aKVJmZWcpUVF4S0c+OX5zR0Bkay1HPl4xYAp6dzJgISheY20/V0RVdEw4PT8+YDs4SGtMSWpH
YXQ/T3F4dU1Pck9rPjNfPDJlN0VCZ1BoOVMhI3N+fkc0Pm1uTj4Kem48NHVed283KEdQRCMhfSZR
QzUpZXU/fUZJZ0FgaDl6LTVYbz1qZHFVUHM8ZS1jTFM1ekNeeDl7KiFgJWZ9Mjg7CnpMVzlERCFr
KXM1QjchMTtCOFFAZWY8UTRxTDhNcnRfKTFBaCR4Yk9vc1ktYzsodCMzMThBRiomU3hrd2lkYGRZ
Kgp6eGs3bkZNTWNGeUJ9dGA0V2w3fnE2LXQjcmx+MmAzXkBNN2dZS2BpY252Ui19VDdsWSM4YlIk
KDlZPnUqLTlZYEEKemRZWEVKYFVsTjw4Vzk9fDhjUH4/bmticXlua3QkdW5oQmFVbmpmQEd2fF9Z
Y3c2P1M7K1N7fnd2YHdARncyUU97CnpiYVpycmJuMH4wYlV0KnE9PD9fdShoYnVzKFZmc1UofVVe
dD1eZzNBPXVfIXk+N1VYcyY+dGBgRm8tZi1XPFc1Ngp6R05keHBHZHlRXyQ4ZGEoPCgka3BsWExG
cFpre1ZWKk00c0wrJFRtRk1pRTlgTXJYIW8jdkkwMCN0RnZWXkVCczAKeiYrREllSnMqMyVATzxh
X2BTVjlpRUtLckRtUH4kMyR4SURRRlBKdSZzaENCWDRWbTRVPEMhYSZwRUl3cGtnKjd7Cno9KDhZ
TT95eXZgNDZ2LVJRbkhHJW55e2krQDNaMXEkNjVFLW5BdyFyP0FSak4zZlgkdUtDcUxxaT9XLXJg
PzlDOAp6eDNKSCNmNHsoVUxIQn5rZz9rczhFPSp0ZWM5SEFpPCU9RXtGJkZVe2k1SV9mQE4qYilw
Z0dieDkmeDxvQjxCUWsKelQ2MEVsbVQoU20/c0JubVVFKUc9VllwaGpVVVFSamdTbnlIRzJFNWhG
UyhDK2N6S0xAMCh0VXpwN1pTVHZoIVolCnpNZSUwd0tJWXh4Vzh1XjBeV24/bGQmME5QJiZJRklA
NWBVWi1fTzQleiU2aF5BV1djS1V8aXNicHFMO2BGaXNGSgp6XypSSGtOS01GN0NgK2hNWGl1MD0q
ailJIUZqbn1yMiN0dUVoX15fdCRkSmY0UTg3YHRYcmt5TihNXz83VmtUbkkKelZweT83YVJ6WjZA
Z1ZVRUBtVUU8MntqM3tNNnR2cW09dnJHXzY4UyVDblFORlJVfn5SaXpUT3xENVRWLXtHfT9TCno9
QjRTU2IqMDBsdkM+TzI+QHNGRGFXYW8mS0ZKRXBCNHBFTGhoJUBzRGEtbEZSbXJgUFhPQFNeJEh7
bGVlXkNHewp6QVFjSn5XKSZGfWpUQ1B4Ynx+JkVOaCowTGxfPFNaVz5HZCpQRV90d0sydVJ1MzA3
JVIqLXtsJnl7MX5FSTxMbTYKeld+RypfSG1wdmV1QlUhZXkrezItTHEjSzBxZWJLTUNGeDcoT0FW
SmNITmBZTkdeO2RNdjs/KFd3YVQ/VlghQzFkCnooPU9CZ3BkK0I7cyNCcX1kfEJ3U2B7a087OEBk
dkBEQlZXZ1BrTTVDIUZtTH1afjdZZ0h9c3p4a1FvPm9VPH0zJAp6bkdJb3YxJX5nODFkWTZtdXRz
fnYlRW1GcVBwP3AxRn07JDBXIXs5eDFaaCVsdklrTHgrPF4zKCh3b3x0N01MIVoKemZ6NSk9eTM5
JDxBP0JJcGl4d2dse3VZbGNMNiM8I25VLSZAI0hAbT54fihhI3QqaV5KKlAtJno+KEMoXjc4QDZ2
CnoyQWkrOGRiVmt7Wighb0VGaiRgKnFuKUUmejE9c3MwWHpmIyFDdXo+aFcpNG1yLVAzfTJaOVA9
aHAwZ3VUe1hPIwp6ZVJhKUkqKWhSISZQbUtFKCY+ZFdyP2FuZnVNNEEjdDRyJU9pZml5fDRjQVV4
RW5PPklrSzliJGlybl4pYHA4YDUKemp7OVp6RWNZIUJFc3FTMzROb280NDlgdDNFdzQ8a0VwSHZ+
OVBlRXBlVitvS2ViZzBIRGU0PkE1P3piXzxxUC00CnpgJShLe15YdjN5X0RCMm8yay1fJjIyMkc/
MXx8ZjQyK3wxMzQlIVBnNFh6MHgzMl9TUDJ4U0V2cE88MGNWUnlycAp6IW5NTi0hO2Q1RUIzZEp2
Qks7I0BNdURVNU1RdWJJTU9Waj0jfkA/K3RfeGhoZVNQVk0/djMoVGwzMkljek1EY2YKejw4UTly
R1FMJUpvQXgmUF9FPy07VHQ/akM5ciZIRGMlSnhNQGhmK1k/X3Z8cUI/S3FUQ3RnWXtPKElZN05n
QlZXCnpjclg5blBtRFdlPGk2YmZvY3BLQSRtRWR9YElOa3JVI1hzezw3cH5zQkBaWWNfJj1DUypH
YUYtVjlKUWpTampaYwp6WXxyQSkhZWt3MHlKV3d9UU9ZVUpyT2dlP3tnN3Z0Kk80IXJ7fi1VZ3pg
S0IwczhAKEQ7eDQqWl5zVSZ2YylIfHIKek5tRDZMPkhYNjBXajx4RSU4a3EwRD99QEREayY/JkU3
ejsrcylubDdzX1Nid1l3cCphKSV3P2RzRHN3XipRP2dvCnpIKmh6a1ZNKCFKKnNWcyMjen53M3VB
QG8xc1R8TGF6eUE+UUZ6biVXXlI/IT03U29vI1I8K2lxSGolYT4wdCo0dAp6UFNQSUx6VzIhYyhU
NUkpajtUJmFYSjZOKUU8KDNWY1dzWUFQaGxAeFpgeHpwJE1LSlVKJkFzRF5mZDc0P2xaNHYKekR9
NjN+Wj1UeWZwWTZCcUEwSUZzNyM9aGxkX0pUKl5raTZUeGFXbiZpX1FfWGt3PkV7cXdPITFVbFBX
WSN8WXlwCno8THdpdzZDSVE0bFUtQXFROyg7MHJrfjlpJW5aKCYlI0lRKmgqTlgweG1XWCFeQi1R
aHp1SHt6VUQkc2V7YCR3OAp6VFo8SG5uNzhOTz1EZyM2U01ncnJKXnE4cmh1JFRGckkqViMlV3Fi
WUQ/NihwdEVYJTY+a1I4VDgrO3F9bitsc2YKelRTaS14K2dHPk9iXj4+UD4/Vjk8YGRJV3l7OFFX
SyViI0VGKzMmNkcyay15LWw2PTUlUDx5QyEqbXE9Z156TihRCnoqQns/NyN+akNYQ3UlMXste0lk
a2VuZ3k3byN2Zk1vT1MmKXtraXpkQDdKJEQqST9IX3pRQXZ+bWVkbTxhbGgxcAp6S254QmI1WCZT
OE0wQFVFe18+dl5mSUNlQmxtVzBFaTQ0Z09YKSYySXhkYTZqI1hqWDApamFpa25rQ3dBXmJgIUQK
ej1TJiR4JnpDWEh2KFR8PnZxaUp4RktscHRJYkZHT3hoSHJqXz59b1ExWDJaQ2dyPGMqaUlSJCk2
SzltNTE3Xk14CnokJlhTPyhsYXY4V2VJWHNAKCZibEQ1OHw/bHJPNypSYXNPfCl6O0tzWVA0TXso
IThVRSh1VjQyVXpYRDQoX19+Xgp6WiRNKjZaZ14oJiYzTnoxcnBYNyRFN05oYTByTVY8UiFmeyFn
TE9UJCEzSmxHaGMoLV4hZHZhejlOR31BUzZkdkwKem8kJF9obXpIWkN1RnU/RkF7WDQoSnF8czhk
REhvQHFYZn5DelJHPyZ7dzR2aUsjIW5eO0ZPUz4mP2pOOSF1S08tCnpxV0dnI1Y9UyZDWiQhcG9a
c3kpOXlJbWV2ZE03VkY/UVRMc09rei15PVJFfCo7PVhST2EqQjg9Y04rNXB4XiRXaAp6eTNGJWc3
cWJPJkJ5Kk1Xd0RKdUwlbk07ZlNCc0cpPStlLSNUamRXYiR9MCZ+Qmh+TH40KHE3dnhmXjckZFd8
cmcKelM1cVdEPjB3VERNR0xtSXdYS1dycTwhR2dpO2w2KnNWLXZvdERaTiM/O28hfCo/REBATkF7
ZXBVd2xBdyZ9cy1kCno5UHQ3KFFaJE54YER8PXp7S0xlQCQpbDw3KTJBfihXey0oU2JObGxqMGN+
NCh7cURgSCNwJDxXP31wekdkPkM5Qgp6UylOe2J5U2xZQHZfWX4tempiazJYaCZ2T3tpRlVUbGgz
QW0yS3gkTUVgMGZORm0jeElnI04xZT9jQkhiJE19PDUKei0+cldMe01iS3pjOSNEMCtBcTBaenk3
IUptIWFVTkh+X3xmbnxoZ01wTl5KWmd1KEVmSClHb1FLQmZafVg7djR1CnplRD5MazM+QGExY2Uk
USZmOH58cmJLeUBHWGNMP2hJdXYwUDxyV2hhN20mQ0pyVU1eS0U9IUZ8Y2dhLUJDZC1BKAp6VXNF
dHFsdkJFKGJmJnpqR05PdUMlVGtabGFLNUNjRFhLLVN3V0I/eSh7Wl57SChmN0lLZj1KKig5T3Vz
Knp9NkYKemk5QUhlbCtCRkY/QVV6VVYkcEtTWVNfOURgcS14MXdnWDE2ZGtEd2MqRXAwVDNhKH4z
clpePSEkR1AwUmNHRVNeCno0VEg+ZEZZPjdNZUNYQlR7blRkfEhHd0FqRjhaemQ/KjwkUFEzaFdL
a3FYcmR2ayYpPXhEJU5oKWZvTEdYOFFXLQp6amlaflN3YGd5bGk9KTNvZEZOO1I7b1lyLXd+MTNw
MU5TO0cqIXZ+UDReclklQmh2Z0hjJV4kfnBmWkVBcU88U2gKeit8U0wtRTZsR2JzNHNrMkxANGVs
PV8/JkFuPTQ8ZklJNXpvekV9Z1UpdlU5cWNXRFUzLWZEYitEe0kyemRtb044Cno2STxUNVpub19h
akB5NUFQPEFxT3YzN0l6QGJgKjdtVV5RMlJPPWF9Jio4YW18SUxCUyFQPXAmO2p0R1ZNIXZpeAp6
QTdkWEVvbHVfQ249K2ZXblNzd0RoPm1tNF5EZUtoRW5JdTtgbz93OV57d2tXKlowVHwtYjtiWSpI
PHZCMSM4JiMKej92MG41Wj9gXmZwWUdDczxvcVExUyFQZG1Va3VRSVVrNkt2JnlMRXojKHJ9PSk7
UEklXjdaQDdrQjZyelhRLWI+Cnp6bDhwZUAmQ1d1fDJQWFJ0MHIzclZFPjsxYCR1dldhP2tRSUBN
LWQrMSMkJSszb1ElKDZsRD88NUM9PDBmVzsmUQp6cSZUSXwlaDFTeldEbiN2PFg8VGFFNEN9dUN9
KnFPUTRMYWFRYTlDNXkoRlowUFYtbzZNU0RgYD5FJX00ST13UmUKekxXNjk+UkhIPVdUVVIxWTB3
Rz9lJlN0amVDS2xTM0Rwcz1BNT5RYmFWT3YzJWZFXiM0K24mUkw5bD9CKy1qVHxRCnojT2NpVyNP
MiR5VzdpKUBRZz48KE1vKUd4WmZea31RNHw8MD4jTnxXPzVgZjY2S0VWezlxYllrNzx3eCNKLWpA
awp6SXIzQExNRCpMM28kSlQzcSZJMUEoY2grdEJMUDs/KSVlLUZlRl54KTt2fiR5RnBUU2NeSktM
WXA7WDR5diRUJjcKem1lVXRBVVMtWl95fjx3NWQ2b01yWiQ1dm5WNzcza1hzVVJrV1VPPyZZXnI+
Jjt3YFkhP054dVRDOWgrc1hLVWNhCnppWjtzTmwkdGN+SXVHQG00TyRGYTRjaGJ3bSlvQC1YPl9Q
fER0NV9zT1pKSE4zTz9xMiF1NkV2OEU+RVBiTG9FNwp6MGxoKTxBXjVQezMqVjlPKFZIKW0jP3Jf
MENRMnNEcnopbilXe1BIV2lScDlxPWleYDlTY3JIWEBXeS1iK0ZPVHIKekh0KCVJU1REaHMtQnlC
RDxKUGoqPm8mU0skRkBGZmY3dkRmJG9maDZ2JTtSJXpRR3J4MUVXTHpCYn4zOHpOczlgCnpwR2Ja
ZXtsUzBBYW1Nbks7VFByYUAmNlpaQF9TOTcxWSppNlY0WipeZjxSe0pBVytGQTsyaj89S3VNZWZm
dmd4bgp6QVh7fTFzYV9oMFI4YktgRHAmYjt7VThCZWBPJCNSZ0QhI3VLJDBMO0FVP0pSeHF0I2RI
LVZWNDB6PzQ0MEtFa3IKemtrRkN7a1o2JERrXzM9b05OUHoyTiFDYXlOeVNPY2ZMSmROaTBeakVJ
TE5NJE1VJnlsSHB6djdOVWUlfGxSXmZGCnojcmh+MkRYJnFzUWMrVn5xdzEhPE5GN1Eybm5zN0Y3
S29FI1grUDRyJmByQEImXzd9VEduQVpUSkQwKnAmM059Ygp6I3JaQGdkWnRXZjlfRCUkUmhBKUVJ
T18mbTZnd1N6KiMqQExsTld0Q1hnUlEpN016RCVNY2xeUjJSdm9HPURncWUKellXWk9UNmF3dm5D
P05yJSpUVUglUCpFMDlxRjkwV0gzPjBea0trNnhDQENGak82ZHVpTFJvSilIRi1NdV9YX1FiCno1
MHJlQiV+VFhyZERVM2QmdU5eJGJVey08T0lCTSkkTDJDaEgoc3c/fEN6eXg1dFQ5Y2ltOGJZPGdS
SSVTLTFIcwp6aSpIc08pPj0+eG4+NT5RKmJibn1tSlZAPHd5U0dTPzlONm01IWJNO0FDTWdHSFhp
QW9Re0Y1LV9OWCVTdUhQbTkKeilQUmozIXtGTGJoT21oNilreGNAcCV8Xn0/WGUwc0FLc1JhWWwm
Qzkrbmd3IVJEPEVZcE8/YXRuKk0rKEp1OHpsCnp0MEc0X3c+I2d3VjVSNzBpQlJjZWBRMXcwWU88
T2Ficn1zVmpkRCQ3X305JkN0PzdpSU43a0trLUU9KzZqfG9vYAp6YHQxOXEyMSRxQnlsNVpJOXQp
cDlPekYrWTV5al5mN0dRN2stdjBPeXpJP2l0eE9yaV9AdVNoXylofiVodmZtY0oKenI9QSk3bkxx
dit7fGtTe1VqLU97RH1aNn0xS2p8bmczM1V4MEVoNGZ2PEVOLXlkPGg1UndRVlcxZD5YQzNIVSV0
CnpMTWxYUk0yYVRPQW5oaHlDdTFTZ0JNVCNJQVhfQ0RBYV5DTkNmfXR7cVBSJmhNIykxTkstb3ts
TyUrWngxSHtyPAp6KUYoOThYaHZ2Tlg9fl4+PXUrcyg9JWVaUDhHSU8pJlJzbj4mdUdVdWZCeCRF
V2hPTSFIfEQhNj5ANC1IK04/OGQKeks1VzAoYjElcVc3ejBOQzk3aFlNSnJebGc2U3BHfDFKNHVR
VV9LR1BTTnM/T0VyQm5CYndhTWZKaT4yODNQcWo4CnpndkVCbTJAPCEhV3w5e3FTRVFQeHFoeVJe
UyFMSmNJXjxJb0pRT2MwYVZ6fiRleWoydlNrS0RVM3A1SFpSY0pQOAp6XiNiJFJgc0g3R1Q+MlVZ
ail1MzU+VyF6YW9JclJAYjxBQU1aJih5dEtESnRoKCUyfjJJPlM9ejk+V2hEQm9KO18KejNtcz5p
WDxjLSRNWT1ZLT9ZTjczY3pNPSllZV9YNiNpQj8ySVEtRThQbEdzdSEkYW83R3tkVlI4S1o3UWY0
YzVeCno8SkM+O1RWcnUlY2dGNW9CfV53bD9AaXNlTkZHVk9rfldsWGt9O2tJJVlLKU8maWhgRlRx
SUUzVUZ1Tnd2alNWPwp6VHl2cHp3bXV0K3p6SDwlS0owQTR2XmxwY2J1ZV5wYlUqM01kZ0FkKz17
Y3g+WV9NcTlaeytnSjN1QWl8RlE+M0cKenNsQFBrdUxaOSsoUWordD89MClDUiYzQzJoMyV8O0xo
TVorU1JQRnQra0puMzI2JnZud0RIZ1F8S0lLWi01PmlHCnp7QTIoQWY5IXQldXp3MHRGQFcoMkIr
VnMjTGI/cmJJKS1Fc1dMVUNnYXZwTDd6fGt5SDJtb3glTHlBKk0yeFRHVgp6WERVT2dWdGBTQlE0
P3FgJnxJZmtwKjUlTnE3JGRmcW8pUW1WMyl5I1ZmTEtheGp7eGYjJUpnQyZKUXd+RiVnK3YKem5M
bzN7dll1bHRWXmQlb1dPcm1neXBWUUw+ZiVjZGVAKyg4Wll+ZFFYNn5tdmZ4UF5AbFlGPU43NUxX
JDNJJVAxCnomSXllUS14bzAjV2ZFTndzfVQyLVB6T19ocnpER3xlNTYlbnNBTHZvbzg8MXdKMWJ9
P2F3dlhSZFojPzNMUXV1Mwp6KXV9Z1diWUZVQHh1b0A3aHlBaiR1RHhFWWV5emNiNXQqXiM2e05g
bk5TRW9kSWdOJDlDQmlEdmBWbi0/bUtPJU0KeiVZYVdob0paSlAmMmZDPyU7fEZWVDlOQkpxPnd3
eHFzQCFOK3NkWmBfMDhBUDQ7dyVtPW9kcmAoRjwofTdtRnkxCno7Kkt1NyZWOGZlQ2lvVTFQWEVz
QVVHSWRgcXo0Iypgd3ZzSlFlUWw8T0pDMjclJTt6JiVHMXQmUXk1ZHNUaGQ8Xgp6UHtDSUBTRGpz
cHMyNkVDWTgtQVZlSGhnT1omUGpPPkxCZ2g/VmomX19ONFklIWdINGFgNX1fdyQmcz5gIVE7bDAK
emR7WllnYkh3KWZmYCF7fXtOSzkwY1VrZ1VpQ1c5dFh4KTBYMztIQ3ZoeG4zdyohVDZ2aVJ6RT12
KERlK0FMNk5+CnpATyQrRGs8allfXnk5bDx6WWMmOEwjUSU5cHRKTn16a1hFd2BnSytiMVJJTVcm
e04ta2FxKyhrUT1TS2JHRE8rVwp6WEgkO2lwWj9ESC1fb3pBQVNQOyhMeXwpPjU8dzZ0NkEyajsk
KitEOEFNZ3djZlA0aGZLY3pgWCQ7Y0B2c2k8amEKej4zey0rXlQ0KyVXTXJofFdFMiM/VSFhaU8w
SXF8YG5KQWJBPGFIQG90WC0pRGdJRT1BcjxZUjs9YH14TmdIRylVCnpFNGxeOChhXkdBeFg4Z05B
fVNePjBhajkwUUJfbWQmXkl0TkdRTUkwdjlYMk8hMiNNOD5GKGpfPD9Wd0MyQE1PNgp6aD5WSzk2
TXJgJEczZyNBQlFxO0lDcFJ5QHByVyM+eH44X1N6TS1ZSGpuTXc2cXFEMjtkSD14UihDfnxxPjZ1
eUwKei0yQUpCKkd0UFF0ODQyVW5fSnVhVWsobkJ6SjVEQ2BUa29qNUAwUjtDO2R5WnwzZlkmS3JU
e3BheCF3Ti0qUzxWCnpNZ1NXYjZGRyV8SlNEVFBISS1gK2k9ZWA3WUY1NFVeNSRuV0xXPEJtSG4t
cEBUNlNUakM2V0UjcVd6S1ZlPG9QbQp6fDB+SjwzaWNubC1UKF4kPjdQVkszWEJwTjg4QX1oS211
YVMtdzlhS3wwTD52Qyl6Jj1wZ1FVMzAyY0cjPUAoRTUKejJ+WT1jR2JRbEhLdG8wSSYhendRQHot
MHhMRS09UDhibDk3eXJmS0lPZHVXNT41STFlKW5WKkdobUJtaShfSnowCnooQClzP08tZ3JpJiQr
SVlQZFdAdEtWclFgOz9SQ0Eyb2JoQzh7emR5LTl2O0V7TEdObSZafm1lKzdSQDZWPUlvaAp6aH52
YkNkX3o/bnNxYjRzdDdnPUc0MWJAT2tLalk+JTJGWkxXZkJvYmR0WT1vbW8rdVIpR3lfSXBIciVM
VmpGSUIKek5MMnBwM1JkZjc+fkFmU3k2U21WTTl+QWBZS0VfX3lfWU1vJm5ETnImTG83Uk0hc2tt
bU5XdD5ORGRGZEdiZ19WCnpfZWxBdFQoJDNsb0JFdHplKSNkJGF1LV42NysoWjVfK2o4elVSOSZC
cThwT2NjZi1wWFAzNU5fJjZuWk53YSVXcwp6N3BrZytZJEMpZm56YmU/RnlmJHBaelBTWF5tZlgj
SF8tbUF7KXdWKEhNPGkhQD5SOF9IYVEoPklIV21HWGFvPE0Kei1GMj40MUY4Y2ErbmVmXlRnNWFl
eGU8aTlpRlJ5bklRVkVWJnlDaH1xLV5WWHUyNz1mKih9V1phKEdxUSkkWTJhCnpZR0NCeW0yNEMw
ZUVNPEU0Ulh7RDs4MXo5V1pJNWZhSC1YYSN5OzBkKjlyfEk0RE9jdm1DRk1qRlFkfkt4ajJGaQp6
QnZyaDNmXns3LVkyT3Y0UU9RM3k4ZDQ3N0x1fmswP2xeZjJiSStAWFF6YEdiZGRfc3xOS0VXYXdX
YE8mQDdUfFgKekF2Ul51JSYwVDNnbDJgd3BPTVF3UWVwQlFoPjJ7cG8lMnlDS21LajdyZGVhITJD
czBSKFFlZl93UiU7fmxtclJNCnomenI+U3dRSXohO0V+fWRSNDYqcklzeipYWFY+bndAKyF9OW9v
eF51ZVRlZ1lRd3RlUW9ObVZyS35COWVLPy1aPgp6WEI1dm10e2ZQPVo/UTBwKEQxI1gpfSUzMSpZ
dyQoNEQmTl45TXVXU14haDRHeD5XaDgqck53SSFmcEdgezs7MGsKemRKUitQam41NV4mPyg8cSRg
I2M0SEYtTU89QVMrNUBDZFN1NldNYW9zX0s+OF9jZFRWIVlBeWZQayE4ZVE7bWtKCnpkZFdnSWsk
eGkja3AhZT8+XypuU098YG89TSFZZjJVYzNTV2BuYGR4TV9xJkxDYjtKZTdrZzEzbiNNSzVVPjJG
YQp6e1hQREttcmY3WSt4XiRMMGlCWnRiWnVZZiFtXzQmbV9uMCVoPHl2ZXVgQFQqZiUlMENGZG0o
TnZWfURJK0MtOyMKeio3KDxQTGFzZjQmKVBnUSV8JE00QlArKWBEXmR7VzwlU3kjR1Zzc0Vsdmp+
XjhIa2R2QFlGUGcqPV5qXz5kXkwtCno+NWZyey0+TjRJSVJQNX5EbCZxRHRNWEIrPnAtWUBhNzhE
VmROa1pKS3krOyZHSkN9e19UYSVYUXNhN2NmcHxzZAp6TDxPeVEjalVeRlhzN0YjT0xpYTUpcDJ5
THQoTDJHV0s1b3hiPVB4STYpfjlLTUk1fnNKdHM5aVVreztMPDlJQ1oKemx6eFMxVTYzekt1JiE+
fWR7Izw+OEk7VD12I21TSVUhTlY3Unk4aj1Ze3ZYM1dPfDYqQyU2dHRKRXROeGlXdGtFCnpBPkk1
M2k5d3ZyJGVibyY7K1F6ISklWmI0JmhreUsyMF87PXAxZyF5ZiRiaTV6ZlAkWGhmSE50VlBkYCNw
O3dLVQp6NX1BXmNaP3Jhfkpuci1lTEZ+LU1oMEg2Zzc5OHptNj1xeUh0eFM/e1pkTGZpZz4hb3VK
JEpYaVhpanMmMXNeeV4Keml7UDghaE5xPT1XbVBLfE9WU2J+P0x0I0JVQW8qT0JePnoxUEVHUVJj
MmlRI3h5O3E9c0B9TG44UXAwPCE2QUM0CnpKRXsxSU5mU3phWk55NiFsOUBhUyFGTWhOcFRiK35u
JFVleyYkbkgwOWxBckB7UnNUdmFWP2RNMUsqUUNQZ2g+PQp6O3Y0dHJGYHdHengxN1ZnIzAweGpS
USQ2fjdtNm5YdkJERih1QHIqP2I9JVMwajZhJWYwdmJDKyZSKHQ4OVE1dzIKeklmbSZ9TlVVNHtS
QiE0T09ESDlXVFkzZGVfeHlZcFRRcU96Nk92M256c2B8RVlGam05ezlYNkNgZ1p2MlZUQF5OCnpf
QUZ2Q2x4OyZMKkdhTzUoNnUjb2VPJk9+OFFKc3Y8KEFwcVhYTmhDSWx0YVhBcjJoSHdkYUB2TjV0
WnBMVl9TMAp6YSpTISMrRTZJNEF9KG1JIUNjTXl3eipfRndDWS1DKWRkeWBDYEN2XzFQPnwoK3Rm
MyE3IW1UPnNaRzM7dGVAa3gKendUfVlmP0dSJF4oPGt1UStqKGJuTDEpSyEyJXcmUTVJXkJxaXZJ
ajxfXmtVdUZqfmdNcmA1YipKT2duaUQ+blNiCnpSRFpBTkFjXmY9Ynh1ekhJKmM5SSVgZU9ocFM/
fUhnWTdwaDN+PjtfUE1PPSZObmNHeD8xeU5rZUNjSnBEWTRBPAp6bEF6SjsxSDZjc2MzMkU7Vnkx
WipKQCprZVBSKGBfaj9OaiREb09uNHM5R3hLWEtDRXB1ezlRRTdyYFNyKjcmSV8KeiNMMnZSLVU3
V1F1VmxIWSV7anFkUGB2eXdEQllxbD00dy1SVzgrMTRjKChYTERRK3BxOGg2ZkoxMCFDcXBAJEpL
CnpCVGRmfWVeS1F7dEFMaFMtQCh9OyEkYUpIPFNLYzY3YGklazk2IUUxaT5oXlUzUn5+fFFDUU01
VSNAcldxfnUxNAp6YlF0c1UzZGVlTFpPNmAtVk5sb3ZWeFY5e2VaM2NSKGV1IUY8PllaPih+PE94
cGZRLXdqQEhKdmhWfCVnOyVoYjsKenVhMmRoWipxTT9NOytKT3QtTzJLXkY3X2A4X3B9c1QmTilU
eXlVMFFedS13QmFnKXxndyNuSntWdWFkZlhRJTZ8CnpEX3o9fFdGLVNmOGs/V00lWl9qe3A3fnhV
KH1zZiQtQlBGYzNBUlRYdH4kTCE3RnVYPnI8bG9rPWNDK2FFI25lTgp6ZjdGWWgma21XM1ZHWTRm
TDM2RjVvbnhXVT1rMj9aPlp5XjlNfD5lVnl7P1l0bUw7KTBhfFUxTFUlTitYKShYR1kKejVtP3Nk
SF9eSU1uflFURjZFUlVEV0dmTVYzXkErKm1AfV5ibHdNWnFCbmFpMD9TWWpZaXpidW9TQmQ/cFBk
ckJ6CnotZCg5aT93SmtBV2srPT9DX3szKzJvQ24hRjV0JSVJYUtDcHlzK2QwOT1wZ0xyOzNJTm97
OzUwNFBQZ1gqSTkxQwp6d1VxN0J0NlRQOE05JiNvMkZQQVVBMl5HPUlRajZ9YyhYXk9MPDQza0ps
OzMkJG1Fbi05SD5qQ3lwaHYjKmk8dlAKekxKdDQoey1PdFN0KlRQbT9xa3J6JS1aWWB3VHc8RUlH
fk1seXshQX1Sc0d8Nm13WE0qKHk3QSghWjFQUypZcygwCnpMaUMmVihwdSVBPWdSMTNzPWNCNlZ2
R1VoWEN7M2BtTkJTXnhtK2pwcmg+VmhUSUtieF5XP35hRW91TCo1U08lLQp6aFlHYn4+fWl7eXhS
eGNXPm8/b3lveiF1NHslMVM0QTlaYkVVTTF8aj5qOEkhZEBaVT4zUGx1R3liWGYqLXdseHIKemAp
cnthZG8qP3d2UiZFRmApUGdsUVM0RD5QfXFEeXglQiY5NEBXPnsrR3tXR2c7KXJEYkZPKj5jTTMp
cWJhKEhKCnpOZlFDMURlVVNUa0hVTT0jMFVFYiQ3PU9FOGRsREY1WFZGOFpOfXpCYkMhZUF5Z3R8
P1pKd3BDeVJVVk1KRnhkWQp6LVlfOypNVTtKK2dedD1mYD1oYDFscVIrVF5IPTlMKjRMS01IPk54
MDJmZjx+ano2cHVAeSFYQkpIeGVVWWd0fjUKej5ZSUNEdDtnKEw3b3YlST52JXFlck8jb1RGKDx9
c0YoYlFNMHRNflRwQ21JZUN9SU5ZRyU9fG8jPD1gUEY1U0tuCnopfjIocT5seGVaWXAybGxvX0RX
VHN6YndwPyFwaFdZSWZPciZLTXUyKEZnSE4mbUxtMEhXa2dDXn1lQDJQZX1XQgp6YUwqbX0weWVq
ZndmZ09ARWMzOX0ySXRafkZVWnA8TiRCKSRJXk1BeG5DfWY3eG9gWV9hKHFkQUpLJSEjeVJ3K08K
eikmb2V3ZG1kRUxCai1iLWB8aXQlIS1nPzZAIXcqUD91SkNuVkpFXnErZWZKMEt6RjUoZVEwZUdu
QSRjOGlJXnxnCnpYITF8Zm9ROzRSbSFLKFFrfmEjeiR3Zis3KmorakcocGk+dGZqV0UmREZKNGta
NXBxfUVtOGRCbXNEUT12QzRobAp6Ji1aclVSWC17eVEtclk+bHE8fT9VRndLMVBhNipedlRqOzBF
aVE7R1hkIT1oeFVVPXZUWTlVYT8hOWwrVTVIbGcKek1WUmM2Y3cqXzR1WVhjYXlxO0c3R3tgdUFO
QFQje1lFZVd9Nz83YHkmbHVQe3V0YXs4YjJQOG4oMzcjbTMzUklNCnoqdEBOO2EtfkhkPXNjX3Ju
WklzWXZ0R0lBKW9ZenxHckg9NFhkO1Nfa1hjJF5aUE59PlREfT4hWjdNfn5SaHJFaAp6YkkzSDRK
aTJ9LUYkfT9YZV94ZSNLfSpqRVJaJDwzZDZgbF82SkNMTjtgYnNyJW1PXzheWDdPKylHfHV0LUVD
R18KenRYbG4pQSpMZ0plJCRAJkAkZDxQa2QmaXdHdUpOOHJrJkFweF8zS0xUMUF9KW54MmE3Zno/
NkZCWHtWSHNMVX5VCnprK2srJCV7eUd+YTl5ZFcjP0FfUyUyPjxuQHtCUHFlbjhFe0w/T25mM3ZU
U0FQMkhyeEY1ZjxMd1l9dkt6bWNsQwp6XnJLIVdaU3leJlRKYnhIKjJmN09PdCt6RDRWfHhRUGMm
djlNOytsZVVndllxN1U8TSYxPDdfMEhnRW8jSWtpYloKejVFQnBeM0QmKD5KcWBge3IkeGh6biFA
SG9aaSMqY2JIbW9VSUE2QyVlb2dZMlJzUCYrVXRMK3FET0opSlE8WjYqCnpudlNiVVBDMiNjZlVx
SU4wJF50eWQ3fEhOa15VTVhFX3JUJnNTMiQrQXRRPSYlTEVOI1hSWSE/Wl4mcDZWMDd4QQp6OWty
al4+PEU9O0pCPk5XYlRyPC0tPXNrVntePylgOVFDNTk7RypaLV5uO1V7PW85RGlrZjVSaWB2P30h
ajNfTHgKelB4U256cmNUQ3ppQXZmKU1gO3BJTnRLUGMxOVRLPkY1KXBOZlZ9UFVjeUhhUFpTdHIw
XjAtaiEqR2d4LTRicDY2Cnp0eDxONjVQdDM8TTx8anRMKzhSRSghPFVJPlExVD1rcWFqZXtWZGJG
YDJwNmhgT1A2OCQ4JmlFb3txcnIqa3gjWgp6N2BWb0FsPyZRNSg8T2okOXdaM2xHJj98d2g7e0I7
RjJ4JXNOKj9VZkl0RU0wS1cqMTVNTUwrQEI1fFdXNktwVF4Kek1iT1dyVzZBbSNJSitsKjdBJEVD
Z2Q+VXhJS1pmNC12Sz54SExBO1FeI2E/O0lhU0lmKGZsKS1iVDUyMURtPmpPCnpoUyhmNzVadnF0
OUUwOHt1Ui1wODdybWYpeX1OS00leXpCd1RqT0JJd30jLXduMyl2akFjdkxxd2ZhdlRuc1lwMwp6
XjljOEVST3RuU0M4IzYwSlkjaj92PGJ6WXFsSW1lZnghXl84U3xuOGl2bmp0dGB5PEJ6a1lmeHhe
bk5RJkB3eHwKeiZRI2h1JUJSSnwpOztIbT54aEQoTkJPYUhPdXdJTXlgcmYjMmRYXnl0JU14PCk1
OFVAc2NvI157YmgreEA2bEw0CnpIQjtOSzEodGJzTSspQUE8fXVTR3V2bVJmM28kO1lJWSpEZC1V
UikwYVBAeGs1a35+YEM3Z003UE9TcikkTmdMVgp6OU9PakcqJENoS09ec0o1ZH54PWBUVlhDUjxC
bk1MbXRVWlYqPFpEQ2B6Pj5XUzQ/NVRJcHNjVDRKe15eWiFObmkKelBUdHFZe3JVczR3PjJENHhp
VUJFWD1HNWRDTjh4ZTlGUkIhLXZjbDhvXyVLMmNTZWxIM2BRZVdkYEN8U0toPzVHCnpZb340MFly
VUU2MUMyK3QrOz42Vj9XOzxZc24qNDBveUZEQ1MtaDU8T1hidGdmN3QqbmNnTD13KmIoRkhKb2FA
agp6TjdFJVdCOUMjODVhblJfJVhQSSZINCYyeUF2VTVqPjJeNGVFbFZLb3ZRRXlyNHF0ViYmVGh6
QkVDMSVHbV9OI3AKemJwTFZrSFpwZ1deJXFGPlR9eCU9VER8N1REWShYJUg9X0tFJHUjTWA7QyVW
Nyo7QkpAQUEjVT00RUVXbSh6bUZlCno/UEdpUTF9ZktEZFE3V2ZDUn1wOFh1WUdgYmZHd1YjRktO
Jm54dWUhQnJjaGF6MUFxKWR4NVlYd1U8fGdPcj5EPQp6ZWN5dlJeTUFaRSYpMF80eDNxRXc2PUVq
Zil6VWpJYShoaSp3TVckTnVaZDxMI3RSQFp5O2otU0g9fVlBRlpmZ28KekohUH1FP0Z0fHhgUCsr
UTRrNjAxMUo2NHMhcGVeV1NsMkJrcGppe0oya3pAUkhrcF9WNWc7Qmo8NGs1eEpWPU8xCnomUEkl
e0J+M1J+KmpuUzk0RG5CJUVmTGVRdXlTLTNaPWZXbVpTWkRKUFZSOUpQWTcxZj9qQkQ9RD11aFJU
I3s0SQp6KUFsfmhIWEFqU2pASChfPEhERH1XTWpfel8qezRWWTxlfV9UJGAtQGQxWGB8QHdrQHgx
QTctPT9fUHJFPihwOSgKekBAemFrVlo4NkhxfT5JNHBXO2k+Yis1dyEjJnllVlJIKGVVVHxEc34q
RF84amRta3BAQGFqeUZFPkdMV3V0d1IhCnpwQEJXNFZmYioleTFQWl9MZiQyUjxLSz08d3g/WlZD
KnR2cD11XnFjMUspMjc7bkNTXihKITtOVSphNUUyKGU9aQp6S0NsPD8tUHhDTUtibm4kSEBOMyQm
dSgjdnZET2ozdWZ5WjRGX1dpfnN6Wj0hcWI0djghZCF4ZFFYSnVIdDFxOHkKem5JKEcyO1NqR1Nz
P2lRaEZKUUYzMVlRV1M5ZFMzT1hYTXlAeWE0OXRHPkh8bFhvMU5qbDtCKm5GaSNCK3dlT1NWCnp6
d2xtJlJIa1VDM3hMbz8mKnZVZCsoLSpyUHM8SDklRF5oSnRDYmdJUV5lJWFHaDF3b2Q4KV9QUj0q
SEpPeF4/Ywp6cGI8PmNIPTB9JDtvN0w0UUYpdzgzYVpEZ3NTTXhvYmdGc1BFP3EkeTBqcWxlJVZz
K35sJkRKNjRyWE9VSU1OfnsKeit2Vmp1OyUme3FERD00XyNpWnBDc0kreDkrSSt6SjBzTE17UnBh
PUchdDZrWWcoU09jIWRSI3hwN1A8UjMlRlF4CnppUitCbng0a2U8cDk9NVE2R05Tcys1YClnejV+
bTVsM3gmYzZ5dHxGbVghc2ozcSNJSHpsZipzb1l3YnU1REloRwp6aTs4MEF6WiFYPTZfKjN3Ukxx
S0RpMUJsX1NgO1dmaEZJQnRBRShsZXl+Xi09Xi1NVkdGfFBzbTNmdTlaZjNCaVYKej48Z3xuTHhS
JEJraHdMKUBPcShYLVZnQ2RCZjBfJiVtcSpRODxeKnhXTExqVEQ7I15YPUlKfXdEdkRGQHZVNk9W
CnotKndjP287cjQ2ZWRPdSs9c25oJncoZm13bEw3a2NabmNjPE9gVWJWe2A2UlJfPVJmUVdhMHE2
cVlwODMqRENBVwp6Pn5mRWQ/cV5HM3g4Qkl6NUN4U2oqZHB4Q2JYa2FGVVZNcn5tSXp6MXY9MFFX
ZmpIcUZrV2AjMEpJX2dzS1d4bUMKekxAPkZlP1NtMWU1QkZsaUA4TXwxUDxtKUV1T3lVZGBVJVlo
dnxGZTBJUDlebHcqVkYjKilUPUNyR184aEh3b2RaCnpVRSo0IVI3VTlBYWJqUDw7dnVVQHR+SkZx
PHptQHQ/LTVCQTdzTUgoMnhSa2dMZFhCKlNrXyE8RXpXej9wI15pNgp6RCp5eVUmWjVEczt3Nlkk
VThfKTNGKyhpd21UNUwkdmZKbTZKZnBOPXQ0cChKWGxuTjdYK29OYy1WRjUrPnZ6fUgKenh0Mztt
S19TQkJ6Rk0qUkl6LVJ3dU53VDlgfHtNM3pTY3pHZEFwMX4qZ3UjMzAjI0dwSG50R2cjMmllK3dN
NV5HCnpLWUxMPlVCLWg3I2IyZE9VJGF+NnpLRW03WUFZZ2A7QnowQ0MlXjFtU1lablM3bGoyJGVo
aj9JM3hoN3g3TmZ8cQp6YmttUDlJWWFhVitfUEVGPTFRSD1ORSF4TEdjQWRhPTJ+RXtXXjJoX1hh
LSkoSXVqU0FIa1I2RDxvK0RmLSpJdXcKei1gcVl8YEQ4OHZ0Kz8zdCQ7S2pVOHg/eCRMcDtlZz12
P145VERhPCpfLXBQSW1QS1M9eU09YGtWM3pzVj8+fCY8CnotdEVeRE5PUDQ5P29YeT5XMnFhPzw0
fTQ0dkJFM1Z6ZGlCKCpvTntXXlAlWjw4eG0xWkpDfXVheCRrKzVrMUJvYQp6LWVFa0YqZjU9NFBu
M1hnb3x3NFpTbEx+UHpnfHVDbj4ldXZ0MX19VWF5V348R2FtRE4xc3szb2traGl4TW9eZnUKejlk
JnVRX2VsKTdIIWt0NFRhaTtZcD8rRUUjYXhDY2V6NjdoRWwjSTZCPkVnJWZ3QjspRTE/eU0+UG01
bWlMV218CnoyeTtWRjVpfX5PbG42VjZPXkszOFJxTlEhYGluIyMmVz9SSENGTlM/d3dsJno8elMt
KnNvKz1tXnBfMnI2TDFFfgp6Kk0+PEhYZ3hee0hrYE5KbFoocmE3OHs+NTFANDYzRTJxWD8kKkpx
Pmx8K2FEbGk4dzA8SW1La1U3PEJZVkQoezcKem4jUlRCP19pO3lIbnV2PFdWPnVWOGR7YEwzTlVx
T0Y9dE9wPWYjKGpZd35NfG1zeGhSU2NncE04fUNkcGFPM3MtCnp1U15TaCkwblg9eUJANT1HIUJA
Pm1jdzxabUwwaWZVaipHTE5OMTQzU189JXM1XzBCeXRkR09KYm87T302N3stPQp6NElgK189Kj15
ZHJqSjNQWHI1KVlzP3praz84ZmEpTlJvV3IjaExzRGNHTGx5czJYcTdUeTFAJlFkdDhSWTJPR2oK
elpvU2pqaUJiKX5RUVFEdSVWSXNtJWUjZVg8O0dwRil7YEgqbDh+S0tYPiRramJxX1kxUngtRz4k
VFBaTUZxSmZDCno+eFc9Y3pMRHd6TkF9fWJwbyh5LXhsbThNMFJHWF9TPFFrZVNwbHIxP0liWjxg
TElvLWR9RUF4ZFVle2BETHArWQp6dFYmRDVDOzJBaS1tdVU0JklTZH1fVnYxOV53OGpoZXBBTTV4
JSE3V29AYXctPWEyejZpeU0qJCpTfEMrZXx3bE4KenE/PXYpUVJ6NSRePHVwb2BiJEd6PjViQ3pz
YkBNfmQ8SGp2JjdZY1AqV0U+X3M7Z2xHYVd9MHVJX35TMVNUWmo0CnpSPWJieDtVUk4oUVNwKzlO
aiY2fkZLSXVmYmg9MCkmZHpZdHU1QVReckpidmlhN3AmZSVVUGZMRj5aZTZvN0d4cwp6NWZUZkBT
fXVZb2peQnQ2RVpORXdiWmNFbEVNYGs4YztIUCpvQ2R3ZEp6d2RCPCp+PmpNKUp8JlZVNzI0bztX
U04KemJSSnNmd3V6Z3szejQ/ZnprYHwxTjZVQWgmT1JzWnQ3NDF+YlhaOzAhUmktUVAjcX1fJT5e
OV5QbUdAdEN5ekNuCnpYTH5xe0VQTFUwd2Y9MG9le15tZykka0ZqMj1oYE54UTh2VFI/QSpSSFFv
dWFTdy0yfkooZ0FOTjY+JCNaJUVXfgp6UG9jSVdsc1JYWSgkNGlyeTQ+QVlrcSFCLTh2aFZzRm5K
czglKGBXSjRZQllEYXdANmJBN1dubFU2JWpaazIoVWcKejglYD44R1pXTHN7TWEqT19EcVFHP3F0
bXJRUWIhUTtTMVh9Tk1RY085Pz9WezEtRihPJGZnKSV4RVE/Xm9OTmtoCnpLQURUVEduRUkkY3xy
KVMzVWpfI21sayltVVohSjk9NCsxPkw9YVUqR2wqYz9PMlBTXjZDKzgzU2NjTVQxWVo7Wgp6IVpu
OF8hI3Y+cEs/YGZzNzdUMXs2PEwmXnZyKUM3IUhIZWZ2by1YckE7fm5Fb2dFPnB4aXp5SlJ8Mns9
dkt4JUUKemhhRmJJPmlnekxtaU1EZXtjYihvZGliOz1qdiZYJTI1MjhhWWJmcXBJOVAqZGR+djxh
MGFiUDFgSUZPcUJBO35PCnp3SHRGUERtZHpibWRPdnhjbXdxM0ZXWWJVRDRmfFJVKV5nc15sVE1H
Sj5rSDJLWlE7MT8tKUV6eikzVipMNSZvQQp6P0BeamlAb3FVTWFkY2syOG4zSEpuVjR4VXxGcVdE
Mz8oS2hTZGs+R1ktRDNzMT8tJER3UUdfO1I8ZFg7VmNCaFIKek5DYDVXRW5VTUR2OTZfYVpDQUFj
JDhpaVFGS2hIZnltblYtKW4+KH16M01mM3phajYqam5YI2pYUj07PWBUJjF5Cnp3MCVAYnoyKSV5
dnQ1PiE7WjVUcCo1WjZlTiVEO2xDPSs2amJ8aXVEYWM3VEx4TiFEbztnWT9pNVExJEJ2ND5+Tgp6
cjljbjdlaitlPFh7QHcrYjwoa305Y3YqOCR2VCtzbmJ+MjVWSEJpMkVDfGlnP2h7VXQ7VjA9SUpS
ZHFYNGl3b0wKel50RjM2LXJHNW47VkpDV1ZPbWEtUk9FRFoydT8qS1AkUHg3KmROYkIhaV43OUZX
NGFOYjZ9SERTdk1NJTtvSjdBCno8dEkrSTRwaEF8RTlUQndneCM5bTsxbmRSaD93dmg9Rz9JX3RC
Ozd1N0ZQQ1RnMU8rWENSU2U7alMoJUlYaip6RAp6Vz4zNmoqRiNxQXt0V1ojUDk2U2ZNP3J3aWNk
eillLVdmTk50Mnh7OV9IJD9HO1A+M3s8XjFIKkhtXmU/VTViJHUKekB0aF93KFl4VyptYjM3fWNU
ckJkRVRwdGVIdEote3d6YChtMCEpYFJSRSp7Znh8KF5Zb1QzeGBeJnZ3OygmPlJfCnpUJnVoJVRk
cGBScyV5QGNAY29eeFlXY0Fqdm82WVc3QFFvM0FHTksqelk0eTBOb1gobUpNQ2BPXklwKCQoZmhl
UAp6NGZ0RXZIKX1kZDFHKkM0bSVAfiRPeF9VKyFffUFBZihfWGBzR0BKOWBhPHpeVCV0Rk91OXx5
V1JNZTBXM15ab0AKejktQ2ZKNGYqcz9pSXtsenM3a1EoTjtFdXN7OFArMXh+JHVHP0gmWiN5e1Uj
fW1nQ0R0WWQpbkZqTVg+VVMhKmdeCnpPKEdpb0FmbXUkTFE8SjZJXmUrcGk4akRyJntLNEhfIVcw
Pz1rdTI+VWJhdnROTHckczAjPTJgSj1iRUNET2MwbAp6aDlyZzdRJGRhZDU3ayROYyFfa3AxY0BF
MU43MHlXSHM7b1hhdFo4JnQ7aTtOTHlAWlRRZUZOOXMhV0lkMH0rP2IKeiYkZSNBS3YhTHxfUEkt
aSg7OHBFY0FuMVplITt7dEZyN19WO2A+cU4yZCY+bXRRXngxZjN3OSNuIyRnSyhKK1klCnpZKVl+
JkdmYGpKTXg9YHpScXRDaFdVNXxNIypeOFIlT1dPd1ZgPSpIUk9gPj1gI0xya1BAKDReMHJNZjJs
dGE9Jgp6TFVPLW5oKjVtM147PmN3WFF5PkxaYXxJVCltVHlGYVM8O3RHeURCYE1RQjdEYUhiMXRh
fVorJTdLSGJBJH5LZ2QKejh6R0xVSDRsazVJQ25HRDtlPi1DQS00NS1obEY+bSg3P3NiZylDM3lZ
PjV8N3VgQGJ8MnxoKjdDb3hObExNRG5RCnpnXyEqWVhwcTRhclgjTEExK14/NG47JSFQOHlqTSRj
Tj5UIT8kLUxASihXViQ5V2preUVOMFQ5cEB9ZVh1Vk5RJQp6VmROZ3lzT1FyblpPbjNRYExVNHRi
OUxRUCgrb0c1Iz5vMXJEQioqRF9NUDlzZ2lDeW80OCEoS2xmNHttNE9GTz0KekRyeCkyUzMhPTgl
eSN8RV5HbHVXOUR7elBRfGdvfG5zdTklc0NON1Nhek9lakd2O0pWLXsjTylNbXspfnFvRHt0CnpB
T3J5eXdhbW9SNDZJeWBhMUwrdWRFSTAjO3l4akFnQSQkKVQ7UjE0XitgcD1MbjZmIWY/QXcjJG1v
ckl7QH15QQp6IzNmQ1cpWVB0UVY3a3peODlwKzZCbF9ncGhAQWlNc2dVOzI7QWlXVTd1OXEtNUZt
Y1F3KmpCPEFQPT8paj5XQFkKekZ8T3BXbCpoQnZndlFOb2p6TT02WURDI2lHQnZCPUN0KEZDbXg1
ek5sY1pST2QmVSp5bj92RkMmKjM5KGQlQFpwCnpXTjlnbnEkI1ZVMyp3YjJ1JXE3I0ozbmZNTW4k
bHQqZ2U+e15sWnFgaWRoSX1jKmBlVz0qaEdlb3FtTXNKbGAtPwp6a0tMRCFQMFgxQDRYcXkrNnBn
ajQ+YV97NipAPEJIYVd+ZG9PY3I+UmVPU3R7NVZibU0pSExwZkNucVBiYD5RPlAKekx5fWlFP2Vr
Uj8qSXhCcW53MGBTeUk3WngwXypFbGpMM2tLRTg0ME1tRWlkYTxrc2YrWVghTWFSRVRqNFZPLTRK
CnojPjVqeCZlS09wOztJfSVUVkVPKSpwTmFGK01CZ1I/PkI0USVjVzE9Sno9bEVsWTI9Z3M1Jmk4
X3khfXUpSXpodAp6V2c/dkkpdEZZMSlGJjtpVyl3NGErQ250PDB5OHFDcE5wWE1yOTt2P1pTRWp+
T3NBaTRFPSMzJVpea2I0NiZiWGQKejdZanFAbDApRj90aSZpJHtHZyg1JTdHVCtgKE8oSjNyVStZ
aG1JWUhYSmUyS2tJIUtBaU1vNFFBIyEpNnBEczd9CnokQyQmSFFMNyN6IzAwJm0mfnh2dF93fjdl
ZXhRJXlUa0xHN1o4SnVUPHtZUUx2aSlFQHgwK19vKm1zT2dzPnF5OAp6Z30tPU9lTlVwZlR1aWkw
NWMzMno2OHk9JkQqYWRtbkh0dWgtYUl0fngwWFByOz11NGxTMitZUDFFZm1WPU04dW0KejsqYEJK
THs8S0JuPjhRWVRKNGluJEUmZzBmOSs4RHRffU5AP0t8fjAxI2ZlfTwyZjI5K0BvWm5oZ3dvdkYt
bnVLCnorO1FJU1AxaWtEelQmN293cGBNS2N1aGxKOH1JYXBebFJkYkVOeUJNQU9LSWhFfEFrIVFT
Z0x6TE9+VF40fHR3MAp6PlReazM2c1lncDx0JXJ1bWNGWkhuU1RsJkAjNjRLbnxZWGo4V297WnUt
c3N4WV42eF9EdCg3IyUoQWV3d05UVmEKemxVZTtUSHNDUVRFIT04JXk9REhyZG5aQGQ8bXNzUF4y
TFIxNiRlUVQyTUxkeSl+V34xUHdALUUtMDU1OCRGamAoCnorK25sQSFJckU4Vzs0P1koWnNnWUMp
UTZyN1ZDeDZoVUdpOVYzfUQtRnRBbSZoZy1iPz5AZjc5aEhxNEdCWHJeOAp6Y04+VVpWKWpSS2RE
dGpmTyY9X0k1T08hOD9LU3ZyQzBecSgjYUdxNE5GNkRIOzB0SjU3KmxHR25VUV58eyZhYnMKejEo
JC1RPmZEMS10S0JrVk4xWC1RanEpPUJiZEchNHQ2SCNMdFJRO0c0eXRoIW0+KGZDe0gwbEshRkpC
Zio5WEM1CnpZe0NzTnFCfWMqN2JXZlljVksqK3V2dnQ9NF9wWkghO3poUlBQMmhQQn1tTGh1JVdD
Wkh8d1RiKVYkPEQpejR+NAp6Rm8+TkxNUDRAekE0RVhgZTdZdWR1bkhSMXBkZ0pfU2NPU0lkeStr
UUgrUU5QJnhJfkclZGx8SW49OUJVX2xLUlYKemhzQVk4XlMpem1zLXw4JkwwUVZkak9AczduPFYw
MlplLVNxUFBFaCh6YzNVNk5ZS0N4amZuI0F5VTZYVl4hZWA7CnpjXj09Y141dDRMaDZFMyE4bWck
JTdJNntfSUxDOXEkTW9+IUhzKHE8Q3wmWF9sQyNRMik1cVI1UlNfbz15dkgwJgp6Y0R8Zz5DcDVq
ZWElTG1FezZufTx3ZzBkdGRXWiNAazZqYWFFP2JFRlNVSXFoeVI3N2xzdWQ8JDFNaWtfNSYoNm4K
enBBJElWJV9tekY2dEA8O0ZWen10ZCp5RGJJU3EkcSE2YihCPzJgRDROXnt9IzZLJGA4Ml99YCpM
K1QzTCNnemRtCnpZZDVAYiptcXUrVG5BfiFlNEhjNypwM1pzbzd4RDU2SjdUWnlySjlLe2heUFl1
Rl9hNklMR3g+QF9BZHkmcWAlaQp6S2BYcD5PNF53PkpCU0xyOHMkPjNqKHd1SzVXYVptbm9SMXBh
JSNBSkxxJCZWIVN0aXdfS2JOPHIjeGJ0WTBrUyYKeiN7fnxDLVdTMlJCQUNWO2V9VHEwekdBSD5U
KFVNQ1Jse0UhWj1ZJW5HX2ZhXylFWl5aX1FoKDwoVD5eQm9iNFJFCnpnd3l8YyEmaVVweEh0SUpz
SSV+MGRETT41I0FtPktCUH1AUS1RO19tSjdXYkdHaHNCSWI7MmNCb0BxWVI4SlhCcAp6dz9rWDNP
S0RJQF9OO1M3Y2RpPWlAJHYqQkwjXlI3YURKPVBBNmZ5dDREUk1pRHxRR21QZDg/Qnl3VlZnWD4x
SnAKellIIyp2Yyl0TkkqJS0jM2lsZzR2PCV6TX48TWEqZzhqeks7RiQ9cG5gbjR1K2QrcFlZWVli
OXQkVnYmO2ZVSkExCnp2NHFQIztUJnZFb3QhbFMmJiR0eGYpQnVKa0J0cWBgSiFOUVNkRDkkcTJy
VDwkM35BQSViSDxYN0BRUExXNjBeJQp6XismXmZWWiN8Mz9kZGJxOGcxJEdRJWlDeG59Tmhlclhq
bSpBREUjVCNTST5NdEBMTm1HS3lNaiEpVzw5QlpmdWIKenZ3PnlgUl9uX1FmQE5XMjRtQSYoUF9z
Pzw7flFWekxwSWhna0EqN0twakV1VCZ5VER9JUQ3S2hHVElGKD58ZFhxCnprYkYlamt1NH0oZ1pH
PEM2RX53cnA1eX16VnsrdG47U2t+XzBYRj8pTSNfVENnZkNeTCZnfSk4UlN4SWQoMXJrPgp6Pm9x
I0VtZ1FUM3FFNzM+NVB9K1podl9oNSV3d0drKzFUQ2F0WSF1ZDdxIVhfPj55WnxFczlZcjx1a0dx
eHM2eUgKemtWfTR4M1FZalNMI2Qmc2Bxb2ZDeFUrKyN3LUBORz04fVZLRHBRKztaKHcmR2FzPUF9
TDw1fDkxJCZRMkRyZ3g4CnpvfVlJT3llQmtQWikqdDJsMigoJlk0bD0zRWxrWShVI3JhMjttISZL
Y2x9PXs8SUh0QT5hcXB1Uz5Je1k/YSQ+Uwp6WmNxMHQ4Z1ZGQXUralNuSEotVFA3SzlxMCN4Qnhu
UHNKdD16MzBAbzFSQmdhczA2IWMxam5wMUlGQjJ7P01uNk0KeiVJfjNWSipobClwZnFFVURPKnFR
M0ZidFlpXiUoeWV6fUomRDxPWU91Mm1UI1NaQGJ6O0UpcGglNjkhLStneXVlCnpxazlRekY+clFe
JV8kWjktSTNpY1NBUEleJmxqVkhgZUpCI1cmNT9VaSVaPC1eayE1eG55RTMmNjxINn1jdiRhWgp6
dFdUTXQ9NEVAISp6KEt2US1vN1JGWkkmMlRvfjw3QyM0fn51Um94RVkhLTFCKzlaSmc+RVE4WnQ2
Xj01VEMhMXMKeihYYTNyQSN1I3Y5SHxgfWFaVntuK3chJWt3ZVE2REdQaWtMa0F6Kj8hQWFYNXNr
S2JBQmlUZSNEeF5BMEBYR2NgCno5cVJgSXwzJG4tM1ZFdS1FSil0ZWtuUjEmRG1QWHIzbnJPaHVx
fnxBcSFVcHN4Pys4eUNWKmBXeXh4JVM2KCs5VQp6QE5EfXMoVys2NTZlVTQyQ0xMeDN4aVh4UlEq
WC1TSiR0VVJOZVZfRz48MDw9NmZ6IUQ5cj1vKk9lK1k7Yjx4fWQKelp2OzJvMVgjV1RBIVJPVSg8
P15rR2YySX49QmJnKXp5KE9uNzl6UDVAVylvJTkmU31PNn1AfX1YYEdyWGwha2xZCnppfkU8QCM8
Iz1GUkBsVXs7U2xTVm97YytqKXZ3aUkkKn1tOzYwQStieWd3Z2hsWlFzeEo8S0NjczM1VGxAdHM/
Uwp6TG54dFkydDR+VkxKMT5yXmxgY3RuRntUJkhle1E9WTtETmViUEdgYVlwaV98aGhkRXlibWde
Zmx7amM5UEtDezMKenVCWFZIZTJRcXtYO1c8Knhubih0KXF1WlQtYj95aVo5QyVLQWpJYT1HSkJP
R0dFNUcjO2Z+NlJoayp5fF5rfnplCnojWnRfVmA/OEAqc1c/R3MxMkdIbmIrNXg5KnRQKklmLXRC
dSNEV1FqX1NaRzhFRVBTb3QwS0xuWG8tZ3czbCVfRgp6Tk9MZmY8JVp7aFpeWDIxTiZRJS1CQFhS
XlljOGM8dndfVV5sYk9GcCk3Vkh+TiVaNEZBOzRQY2o9U0U3SztFbm0KemtLNEJBU2QpVSEoP2gy
V0wjeTNMOX40MGs+K1VyK1NVaVU7RTg1WkBVVj9ke3pVPDY1NlI4PHh0eHJtaFhpJVA/CnpxWXVP
fHZ6eFl+dUc9MmI2QVUoemM1VGZYblBBVGhnNHNDfk0pfDZaXkJDPFRiK0FFM2RWLUk0KH1Jazw4
X2I9Zgp6Pko+T3h5Xl4kfVNqWm08UC19JTE3fEFuQnVjYTAwaEVMIzhUal9UbFhvSl48NSpvQVE7
YUZkQUQ/QkFCUFVGS2MKej9mMG9SK2ohNGdeM0V9fV5eZkZrKl5hYjVvMiFORlIrNCtEbjhoe1hB
JFAkK3VYYEtoQylXeXZ4cSpTJDlQa2RnCnolVzRmVkJOdDtXdFk8XygyOEpJKUFyZT4lb1p0JkBW
MGIzPXVnO1lSKl8zM256PEluMmJoQzw0dCtYOVNGbD5NUwp6R29BKz9vfihUWWNeKlMhWER4e0wm
VjVleWw4VElLPWVEaDlqIUAoKkVETGNMSDNHKmMjdS1hM0N9OHI9JT97TVYKemFXUDYyIURGZF9E
RDlIXj1QTkswdypXbD17Y0JeQjRnPGI/MU47OGdpbmlhb2l3cHNmK2hiPFkjRTMwTjx0amdPCnp3
bmReSHN6NHVCKCEqYExAV3p9ZXJeYTgybSV4aTJ0aFpqPVBCeXQ/SkEkZ3l3QjRDJkZJTnJyViYz
KEdUZGxXRgp6PEJlU208SXxzOHZsfk1ZaEZobDJpQGI/a2krWU1pUT5LUVo1MU18SE5kTX5DMFI2
cHYrKzB9KmxtKyR7OGBuMVcKekEqcU5NZXB1VEwzckZvczV7KEBOQ0E3MHsmM2U/NiNtdHYlWndI
TG5RfXRSVEcpVVR4NUV0fHM8Y215KVFCT2JHCnpQQm59YWVCSnppZE59V31ybmFEOD4jPGhealJu
QypQWE1KdjBSQGdDRWlAcXtBKSFmIUFSUUQ/PDUyYDhHJH0jcAp6UWJIaD03SjUtMkQ3X3xoZ2E4
UmVrU2Z5cj8pSk9TeT9eWVR2aHpJMnRVWHo0JjJRY3I8SnAtTXNxRlZ4V1paaXIKenQ1bzBNckFa
UnIhbihtOGBxfmJ5czlYUXAxM3N0TV5kMnp2R3E1RmNGakw0RXJRbDBEOT17VnxKM31FJWdmcnZC
CnpTJWhkUTdhRmFZZzJAQFBmeF5ncWI5KkIqblYqT2RiQTEwQzgrOSgqNXtgVnRtY1NOOStjWFE0
UmI3TnVHWUhaUAp6aCZaeWhwQUIwa3Q+al47Kj98PHlRZUBSRjBQNCNCPVAmOzllfihWRSRiWnMj
T1hzUlhPJXoyeG1ZUWw/U3BkSX0KentQQDtKejZjXjdkPisoQGt0fXBOYl9pKlFPMjw7PDBzflc/
RVJ0XklvWmglSFQtO19qdlNfMGBoWWdTc2RfN0R1CnpIOTckWWJOWGZPIztLbXcwc3BZNEcmNE84
THVMeUxpJmU7YSQtIXBiRCVySWtBITJjJT1YISY8MzZmYllNYFFxdgp6QnNFV2dERWE5Yj5zM0Eq
SkdjdXw1Rjk0bz9meiojNHFJTGMlIzlpTFVzNF5YbD1QY09BbHhXQ0FDPjlrQDVUfFgKendVWE9p
TkBoWGg4QCFzfUl7dCY0RUhWUjU7WExSLSMkeSY2cmBZWFNRKXR7Zzd3UlpaQEt1RyhjP1h0dTkj
NCNoCnpMVF9VN1Z2ISlxX1okclcrPVJhTkp8Nnl1RzRIPGlJciN0TG1BTypxJmYrNmRMN31pRHV0
RylEQWpvdCk/SSU4YQp6NiV+blJpTzAxMWU7RnJOX2NfS0YpRyR7bytJXzd9Yk89SnVAaX5oNCt9
P2cyJXJjcEdkPyE2Rit3SXNQU1RSeUIKemlITFVWWjNpYCY4eGV3d1Y9ZDw3dG4/dmM0R3N6T0s4
UzMwRipYc35zdEBrZng3ODEwTnlaMiN7JXtTTUdkVGheCnp3YUdoVyEmM1Z5ez5lIURtSTg2aThs
MF4oPEIkKkI4XyZHP1liQiFrP2A3V2g4NmVIYlg3NSZ3QihYUjg4I2Rsagp6Z3ImfnsqRmx5cUZF
NDA1IUI1S19tQF8jezRsZyk+Pj9TfF9XVEpmd3MhPXRtK0A0WWhLVDdJKElPJV9Fa2gqfEsKejI1
KF5ebDR8RHI8LUx3MnZ0JnxWbDI+NVB0IXAhKDB9ZmZ7O0x3Nk5ATThqKT13QClqKl5xb1I1XyEl
SCspdFNBCnpBdnpAYVIrI3FVcWZARys8am8oVGdlX0M8MnZmVHs/ekM/KnBhYXBKdkNnam1CX2kk
XyVSQzxEJnwqSEZSTndvPQp6TXBZYmxBTkdEdW9VQ1lNK0lBYXE4JT4kPUpKfCE3NF5IJStVTnU0
cFc5Z21rLVpJR1pwM0RgQ0FNKi1oOEIxcW4KekRYNTdEJHAhYUAoPTI7YWdPe0N9eW1fT1dWdlE9
e21qfFByRGYmPXoqUTBaJEZKXi1ubVdNSlBuQ0p3bClNUFZuCno7dzlKcG9FY3hgezdnR0EzUCFm
PkE5d3tMQFh4ZXh3UykwPWFZQlIkR2VEZUNeMk1RVkpfekJPQGBZP1AmYiUqUAp6eitVKUhqNCsl
Y0N+fnd4Tjl9WWJ0LStOYXVGR3BIR2oqKVkwWCN0TW1rZUNvPHNXajNndSptQVJ3NzcraXEpR1oK
ej5He1ZhRT1qTnkoTTlPdUY1OWFnZDJZN3d6Tn5QR0I8IWEoXlAyIXMwNHByPFdpS2JrMVlHcCZk
VVlWbG9Wc31NCnopO0FORk5nOHttezh6IS1FOXtsdUZfUVJUckdAMkRGKGhfWEBzRSRPUCNtWSE1
WVVDYkVGIXxWdUhfVWRQeV54PAp6TG9mbnI5Zk5JaU8lOHJrM3tydF40Qi1NVUo/VjtYYzRBNmI4
O1BGdDxwR3Y7PXxYS3x1c2VwUVR7R2QwbDwrJn0KelZUSHhXMkx7T1Z1PGZZWj5kO0RsWEdGZEA+
RXxZT1FtWGN6ekQ9JHxMezU2fCY4NXd9V04+RChvKWJCK15teUVwCno3V30md2dkc3NOejdwJjMh
QjRNT0UqWSNPVlhvTmtqRn45LUQ5YEtwV1dBPDd5UWFSTip8R2t+en5Zcl9fVEs5fQp6QHEjMit0
NUFRTk0xYmo2UWglJHpROXk3cXJaXnJ9N0xRX1RvbDk8MChfU2h5aHExNHowP1g+ZFBNNkNrajM5
SHkKeio+cUZHKUh1Uk0tZU4paVhSNVZPfEY8JUhBU004MG4pYE9UMFdXaW08dk5UUCo4eV87RSUr
Qyl1aEc0MktXJldmCnpvWGRfT0Q9IyZkcnVEc08mMGJ5T3IxR0IrdzYhVXEpSXQ5T1FpNlh4cllp
ez5nUWxwVmpiOGNsUkVZYHd5UyVVfgp6UV5YVnN4aW1aQGFYUEI5ZyhtJiE3byoqO15NLWp9aU5A
T1gkcFdxO1E2bFQwSD1fUnlVSGchJiE3Sj07JFphbW8KendneHY3P35SJFVuZm9YPVg5eX1RPigz
aihaXmApQik+aSYxbnFhcHJyITgzU0FvUT5PcTktcnprck45ODcrSX5xCnpEZFUoLXI4SUIqOFFm
ZjNpeSlra3QqV08yV3lwZShsfnR4dTNxY296V1FLMHp0fmNHMlE0e2lnQmhQfW0+Ql9zTwp6PW1R
flBIe0w2RiZxU2BuR2x8My1qRGleRCNlfEFlUERuV0QlMzt0RHB2bmpEPyQ9aUVaQC1ZKTdVNXJn
MTBFYGAKelh4UCo0aGR+KFpidU82KWRwJTlae0AjJm0zbCh4biU1UV99aW5HJlkqe2VmZ1pqS3gz
JDVvIWtCelpGUmxITzA0CnpvJEFmUmM4NDlgOWw2KVY3VD9mbDZaOzBYJm54WjVMeFFfdzFoNkcx
dWRzPXJUQVc7bDUwVX1qdFBgREp3JH1FKAp6OFFDIyFfJiFgRlJgI29hUlcxcnl0M2lQQEppN1k1
VWtGIz8maDcpUTNWMnk3Vk9EeDZgV31tQHg3X2xNTnxueDIKeiRsdH5gZGY+Tigmcnh1PmRadFU7
QXpXeUo1NEBePndfYkNpdn5TYmNIN3NmZUBzM0NGe2ohTXVERn4wVnI5MTl3CnozckFSSXpIX21I
IVVaSWByT0h6JmJuJUFEXn45Sns3PTZtbTxzY2V8LTs4S1ByKUZha0k7YTZEI0l2WXMxRW9Iewp6
N3o7bW1NXyNofi1PanZaaW9QPz5rJGgtUD9tLV93ZFZPLUVia1MwUlFvbytJYnQ5aXVjUFY4SENl
QEAyRl9RYUUKekQmI3RFZWxxJXImYWxnQWhxbWxkOEk9c1NYYz80KUVsek1RT3VgZjxwbTNMPTFB
Zk9wSSgqV3s0KG5TOGNBJXpgCno+VChWeCtaT1BWcEZHNzBabm5AXkFrcTxNUCNkUD9We2crUyFx
PDR8Mj1ARlZfSyFaQVU7THhPWjVoUT1hLU87Rwp6aiFXa3l0cktOKD87Ylk+VXdIQVQhI3A+Plg0
bSt9eEFBbV47dWZARFRVMzlFelF3PjxSMTxHMjc5NTtXQ0xHIykKej8+a2hmbFlGeE0+eH4zSDxH
Jjx0YGlBPHEzOEZfVnBlel9DVkh8eHZzNDYjXkBnKytxVzlzdXRNeUd+WXh0KyRNCnotXlBPUlcq
QzdtVk5SSF5xYWQ+QiUpckVgZXI5Y2VYNnxvUFNhemJuKEIpVHt6TD0zPSh3bWMwXyhBOzBhUSlT
Rwp6ckooK1Y2M3c4TmlsPDxSbVYhcyVvYmhkdkRDRElfWk5afEtqU3tQUj43fkUjKGJYVG1Ac2Bo
I3srdkpUIThWVVkKekc8OytyQyF8QmwqZlI1TyVKUkNFT31NREMyMEs5KyVJT2xvZTllJCZaWmw1
dm1sb2hGU0VNS05oaH1+SXc4bFRfCnpnMXowSFRgNkdLbEA4b1M8Sk5hJnZuUE1CVC0rN15KcE1z
VTQ1bEtVYjNec1dWUE84K2MwT15kJnU8T2lGV2NjRwp6YWtyaD8xRHFJR21BJXViaFpWaFNtIXda
XztGMTxBaSFAd1Y+MTwzcWg3eGw5U0ZXbnhCRlppanZePj01XkBGPmkKemt0NU4xPHdrYmoxM2tN
ck90KTVWJkt2T0g4e3U4NGg+fWVAWTJFOVhjUk5aeFdGa2FgN1UpcjhUcG1JS1JlTzJaCnp6VCtq
PSU8QihqX01uZlBXPVVraEFTVCF7SWk9eVU4KVh5Jms3Zm0xKXE0Z3tfTzcwSUZLLT49THNLV2BD
ZV5WQQp6cHlmPD4oI1leVGQrUWR+XnpqaTliSXU/ekh1bmVjaSZBQTFEOzZiUkBaMHhGP3hkP2lP
NGlhZyF8blVKcn1NJX0KekIqSD1jQ2EwQ3FXLU1FVnF2fW97ZTM+cGpOdS1DWGlmYSZUZDlkTWxh
UEE2ZlZhcXNwODA5akY9QVpJeXNtTHlGCnpHZHFTbzl9QnYyNWpGSXYxOCRqbCFkQVpFaDt0OylM
JTl1NmhrZipSZ0dQM0NsV1dnPG8lJlFTQ0BERCFPUiVTJAp6STBORXhPTmdNIyNtQjNjYGYpNGY0
XjEjMXdOVTVQa3t1V3lTcDJUYVVuKkJGTXdkeXkoPl5TU3V8WnROKkR5MmgKekU8THhNWng0RV5D
QGxQekJKcmQmMEk1ZUFaKEhMSFM4S1FeUGJNYiNYdUhsKFJ0KFVkcHtLUENMPHJsYihhQzx8Cnpl
VlRXaEN1VSZBaWZSeyRseTRpTUNrWioxMmdZWjlrQnE8QFhuRiY+NiE2QiFYZTQ0YDtucEF9cj0j
R1gtJmpEPQp6N3RYQSFtRjlHUmBKQyNWS1NXbUNJSEIlaFIqUjIxNmdNQm1GbkxOb3N7IUchb3dR
RTQ+KUtuMTI/Qn08PSs9Y2AKemMyaGMqM2Jybyl0MVNDej07QERjTjBJKG5LdHgwUGkkclh0Tm4x
OC1vSnQpZ3A7ZCRNeVRmcEF0PTQ0MyZBVFpgCnpqSENxIUFNajhKQCpMU200KlF3ODlWPEFNbzxX
KSRsfWg/TCk/SSV2cHdqQ0N0aDN5UFA+VzU2RU1LfFN0UDEydQp6VHwhclg1NHBOb0h1amNYNTJJ
TDAhRzxESzgxRT0+X147OE4xREU5dlQ0PHtAZiMtPWIjKmghMEBjRjZOUkBFMUsKejhffXBVOH15
YHkpWVB9TUlUSlg0P2NWV3s/ckJmXkZWSWsqdEMkNygxZlUrXzFnRE42IUt5SVYreDNnXjdJZDVT
CnpPQ1VQNzY2ekg+aEhiVnItczdyNipqS2xHWSVIJW4qQW1obV9JbSpSVWx0NnlxaylSXyNjTzh6
TUcyRWtPUldUcQp6I31LYmMmVUpXfGFFQzlgUzJfQGIoX0JKSSsra3opa1ZfRip4cFdKUiRlTGMh
QG48d1d2eDI0eW5qVyVWbU1oezEKejZjSyQwXiZRTUJ6NEA2Pz9zMVZAO3hRMSVAKX5CYHNOY3Nt
XmlSZHwqOVZUeHRRMj9tR3NCNXFCTW1DI145OC0tCno2VUsqZEp+cUxiXl5Tb2Nyen19aE0zRGVV
Ui1he1EmZGA4c0s1VXBrJHY2OUhBdGRsK0wqVFJtVjxvVyp1YVNkMQp6ZXBuJmhlITwjdGolN0RX
IXUtcnBUS21DMkFuTEN3R2VyJWBwKG85I1FxaTJjP18kakAlQ1JoISRlU0AkN3RNJksKens8SSl1
ejgtVj9rNz4rUE9sRylDck44STg1P2JOV04weUQ8QkxidGtWSmZ7YF5MRGRTNXBSJXMySHZwV1kq
QmZjCnoqQEZgSztvSDtaQEdee1NLTDMkdWlXR0ZgYCY5NXB4Nnx0N1ZeV1M1en42Mz0hMlI+Zyl4
YTlSckkmUmw8ZkZATwp6OUpfQ1ZFeHtqTXc2UHIrPnY5NEZtJSZkaEVKUGZ7RDJjNGN7T0w1dl9r
WTIwfERhMmxiJVo2OEgzTW9YSG0yd1YKemBCT01ib1AlWXQ8fmk8QFRBZndCbEMjSihCYTAmOC1p
UnZIZTJ+KktOMVZJTztiSkhUTmZ0fmczIyVKQVd+dFJtCno1Z05xZT1JS0NNYDl9amlUckE9YEha
JnpNQntiUnpMbDEyYlNBQEQ0Wn1AN1Z7VzYlVm1GWF9kITc3MjVgcE48fgp6Q3tHSnxeVUQ/T25Z
MGY/OUVBMHxUPT5iSil8Kj9meXpCWllNUENVWnNVKW1Me31ZaHBtcHxJTHtjdXRGWDlhc3UKejFO
cW4rSy0hUEpZbENNX2ZaX3ljdTB9N3YzdXpCIUdRSENYSj57TmkhbjFPYWpCLV8kfDlQNWloPk84
eSlTdHgzCnpGbHRROTI9aHNrOGQ5UGYqez1LQVI+cGo8TF5eJig9Z28xU0lueHw/cT5tSz9BbGZC
YmslPnNlPVhyPis3OC1TbQp6UXpmJCRjcSMxejxRNl5EdVV2aU1RPGJgKClrWWh6XkolO0FRfUZq
c0EqaSFtUzNrIylQMDxXKWBIMF9aNENeYl8Kek8jTXdhZlVCOClBcSNMQXV0MmhHNU14QnFmNkhg
dEM5fW0oMGZAUXhFZ0ZRX251NC1jZW5nV2t3cDgqNTtac29GCnpSTnU1cUtAeE9Qa2F6KnBBNkFA
d2dMeGdnQzNTYGJSOD0oO3FqV216RnwlQE5jc159PTs2N0dJOD5sIXJ3d0JvXgp6MCtEZF58Q1JJ
RnZVQCt2Py12ZDVVciltRiMtYEA7WmAwSzEhMD4tKWBEOWI1PHc1JWphYT8jPHswdH0qb2B9ZnYK
ejFnRFlrSDtpVElhNzg7IztnVVB7PjRMPkdJWm98eURnSUQ5QV5FbE01b208RWhnQ1ZJRj5Sb0sy
S2JzdHBPWjs+CnpqQGtLbztQdCRHejJKZGBXVk5UZCspTEFoQXE0cGJTTytReS0zKWE2ZiVBJXZ1
aW9FNklffldEblhfVTQhPyEhcAp6KF4hcDc1YUUoVCM7RyFsJXd8PzV7Nm1XPytKXlpVO1JKbXd5
ZH5tQHtgRmYxQjRvLSomP3I0U1g5RnxsN2Z4NXwKempTJFZfWHt1YlpwOEtxQ3xLRyYzVjxsUzBo
TDgrKGc5VEVEcUgobk0rR0FKb0pgWD1ZIzNHQW0oaUZBcHlgfFpwCno/SW0+Z1pwYXpldWdHfEVH
azYlazZMc1psMD9PQn1IfD9+e3A/ZkQkQzh1SWs2JG9laG85d2ZGKDVTKFJiSk5zPAp6dHEkeHJo
YGJNeyZPak5YKVoxN2EpJF53aSQ8Q2olczE+S0IhaDdwYU8ofTAoK0J2Y2h4YD1iJClzaXZ1JGp7
bHkKeiZhfnwhK31JbDAofUVlcVl5MVZnRmNCMnc7Vz4tPE96ZGEmXzZOYTlmMHd4JHNjNChJZFFX
eWVie0Vmaz5gNXMxCnotMXxHI0htYkNnWSYoUm07Sis9JWVKNEk/Knl5bHE9YEZMMXVlKHRpcHl9
RF82RDtPcmxVTkghJVFWQWdXO0V6Mwp6NDFlQGhkYG0/elE8Z3lSazswNTgyNTd1ZVgxVFVrbE5L
eTRvWj5MJFpCP218YTBhRXRkelhEeV5EXzV8ZVRrOV8Kendnc3EyK2UjQFdWKXYlUG1RJSNHTzdK
VUBXe0VVSnhSbW1pclF9PThVTThlKl9+QFVQb2VLOWhGZH5PIzI5LUIzCnpQbHZaSl9JNTlpO0Bm
NUwtYWcxbip1eGk5PV8xeEFTVUVXWXMzZi0hVHUlYiYxWDVOR15CIVBvTzVTLV9EZ0UqVQp6SFBj
UWxKZXstVGJvNXJ7VW5ZODVZUXB9ITsjeHRCR1cpRCNxSXlJPERDQE1IWFdVOHl2Pk5LWm1sU041
UzdZK00Kel8jWDF6PzJYe0VFNSF+OEFYan0+Jn16aT9sP3haTEpUZU1lKk9kdW95NGVhKzdiM2Y5
Y1I4VDg0Y2V2WTFxK203CnowT0xXRkskam9ZQ2FTSCUpNXlWP29wcU9VdWZ4X09acW17JTZUZm1e
JHYySD1Fey1qTkFURDZ7IWxmSCNWO2xZMgp6SiptK3QqXitUNyojSGUzNVpXK3teTjREdStndFUk
Q2h2c2EwfTNBK1dfXjJfRE17PlYjOUwzY0hpaW04YnZieGIKengyZzVRcjhnbndeSzUtIzUpdnFR
bTwtU3VJVFlSSkozandfeSQ9Zmp0Vng5XzhHWCZxYkNTdXEoRXl7UWlgYHVQCnpBKW1qTUhnSXtW
eEYpWn0yX1VjSHBecjNgUTFpKkImdlg5SHBINTI9VG82ZiFFZSslYEYranZhRVpWOUtJekkqUwp6
SVB+dXVubHl2aTBQa0tVZSshT1R7fmBQY1kkKktlYGhtRCZBdGxwVzZtZkd8MilNZ0RVb1lueHdT
fmkrMkJvU0UKenZebzJpeCk4JlleMkM8OE9wakVldisqckk2ITc/Vz5VYGVrR1BmJWpHMkxWX0pM
USNWbypHKlZxfWxKQWQwbXx6CnptO2x8dj9QJXJ8SUgzTmIqOHtzb3AlbW8jSWc2cStDOylHNCMp
dmdnbCpUNFMrPFVDWFVSTlI2KSQ4PSZeUigyYgp6akwjfHdDbiViRXpmcVU2KWVNNXZrbk17OGJr
RElPJVVpV0wlWGNLX299RH5Ye0VQZXs2ekt2UHdvWTcjUDI4XkYKej8pQ0p4cHpqQztQfFJ1X04x
Xl92Vldja0pNQEImTWZCPmgrI2dqP0FpJlc7LVlmWDtJPWtNQV50ZlZOWklhM1EjCno4MH5DPTBe
QHN5LS0mRl5XTUI+MDxKS2M3TjE2V3x1WHN+JGBOZ3pZWng8eTlQY2UhKVZOak8pUGtNO1dzR0Y7
Zwp6RGktTlA/cW1qcUI3TGtaUVpTZHthUiooRmZCLWl8PkNsY141Xj5MKEU7e3pQJS0pbFchcz1n
czR9Q0lINCZ6VGkKek9GWUBYMTx1K2JOJGRQJFFfOHdWKnh4TCNrJFR0K1pHYEFLUWoxZk1CKCtK
IyZSV0dAJFgyX1VLP3xwVCUpfHF7CnpNMzhSYFk0KVFQc3RWJm1fSEJXNm5hPjNLTTV4cHRMKHpi
VEtEKV4mYnFRYHR1Tm9rUWw3aHI+TEZ4QUMkPzExRgp6aEJPb2orZVdBd243PyF3PGNobzY2eGgr
fiVRU3NUNWZhV192QE0qdVhlfGlUNkdYRylzPzg3T0pMZWsmMHwxWFYKemA3NigyKVE+bSVBd1Y1
TmFxTUdMdmdzZztuVmpmbkApVz07d0pqP3NWMFY1fDEkO3NBaGJOMVRPfTJ5QDg1eTItCnpwRHFm
dEhtVWdIcGUqTzlkX01vY0JUUCpfZEglVnsjVnVXPnJ5I158dF4+a3FwI0ZuaGZObmRsOyhOZTZs
MFpKJQp6WjB6USEzS2Y0KVpfPXstMyRIMktzYzw+fj9KR2YzMGd6MjVAZ2skZ2NpIUA8b1EteE8k
VzhtZjh8bylVUUE0OXYKejhAWGo0PjJkR3RsJFhKVVZjfC1TNTFxNUBrbmVzenMtVGheMFoybWVj
dm9eRD9HRVVIb2h8ZlpVcitrRl9+WHU2CnpIeEVwMVNeJH5ES2RGdD1aQ1hEfDU/Zk5pUik+TFFY
TEcjWEpMaXNxYjZzWFlsRy0+QntDTVRpLWRUZ29PUyU5Iwp6MygjWCVnRzttMkE8OGYzZCoxcWtf
QVdLKXFkem82dUwmPC1BciRTMCMtNEtqVipCNjk0VjIzfHw5SDlNbGg0NygKejhsOXBeNWFUR2ZV
YVZRN145U3h7IWt5T1dMalpHYW4lfCpiPil4U0piak99YkwmSD0wLXlfWjA+PDB0N3VUI29mCnor
YW8kMGo0YVJNemg9fiVQQnpoRm4qeV97bF9WWHwwMFlQVmExKm4pNkUwTSZuT3NxMkArZ0xXanFJ
fmRpTGZucgp6KypgRFRGYm1pcW5Wa21FRjxRKDZBVmI1I1Y1eil7Nl5JdGJOb29PZzljcn1Bckcy
cUlsMHAyfFJYRXdhUn5BLSEKemchdHJONkh4M0Mld1B4O2NjaUhXYF5zPVI7Yn16cXt5RUV9I21g
amZCbGooelBIXmtid0Z+YDxgVjs9YEB7Q1RDCno0bFRyLTN3cSt1SVBXckI7azxQfThsSzI1Nkc1
b3pWIVdsIWpZU28tZTQpQl5KVFZ6QmFzbUIjRVgzRjRDcj4/Zgp6SHZHeWRvYEk1WEBrJTVab1lq
TStua1R0QjglbnVRbT0/O0J0Y2QhN2V0XmBTeXRNWXIzOG1jWGh4ZDVkREdJcm8KelZuNHo9dHxs
eF47fUslOFVnSHZRPGUzI2o2Nz9GbDx8SjBQZX0qPVRoUWtaOyYtb1hHelF+WGhUVXdTSU9iWXAm
Cnp7ZUdQeCp+K0tTS20tLVleZ3psQEtvUk0hM3o1ZkhYP1dmQ0F8JDUlTTBfTHs+fSZ3RW09cHh8
Wjh0fndkKzlVZgp6RUt0cng+VG1aNFlDRjQ/UFhlS0I1eHxOfiMyNkRjMjBkYUd2dUAzcT9LaDFm
JE9YcEBeNH5Xb0pZcElLX3NmbCEKelB6dCQtO0g7YWx4e1VgbWd0Zz9iX01oMWZxbz4oQUgjYV5+
SGJ0Pi1aNVB+RUdzRnp5YnZlX35kLWYqPnFqc30xCno8NGl4QCl6KS1sRz1ZaG9VRWdLJlM4citv
MDxHQC1CIUYtU042QkNjWH1IYSVLJGkxIUR+Yk9JZU1QdUtiQyV+OQp6ZFBecFoqLVM2ZFNER3U1
M2Y3ckBYXntWKFZsR1R6MjFDS2I4ZiVGMiNSXjg3MF9kaD4qTyszfFN5UmtFRz9ncnQKemx8QDFH
TylRcldFWklgNjR5fVgpP3t4UnZCeWRZYkJtPmxeNlAmNDteN3VQTUhEWjl+Vjk0d2wpczVvRiZQ
NUgoCnpycm5Kfj4yZ08rfDlrM3V1I3g2dSRnRVVFbnp3UTRhZyopI2Y5dFZFNC03bT1iRWFQaEhz
JDA3RDMxQjJOaXl6dAp6LUhuOChHPDFOYC0ybGBuPEZUSk1xd1d3OWAyISE+RjNQe0spSjAkKG9O
dy0qJjxWb1U5JHpRPigyWlpaOC1vfksKekRrMHwrRmBFQlFKfj5IKkxqS3pGSXZEeGxuQzAhMmZy
KSFZUTVlOFRpUHVqdCFjUH1eJVJUeXRFfCVLODx1b3FpCnpzfUNWNGNXQ2NLK35mMihYS15tPUFj
K09DNng+MDVramMhcF5ZJSpvKVBqKEo0WXwmejZgNVctOH5MUlVvfFg7fgp6M1J0aTxUblY3d2VP
SHZTYWY9emBuRWFPQEBsWi1oY2I3KmpTb1EmKT0+KiU7ejFBIXooRCp4Yy0kci15ZCZDN1IKejR6
PEFDOHVDamRRPHhndFAlP1V1ek9NQXFUd0Q7OTQqckxeOEU5byt3M1QkezxfQ28lJUglcXh7QlNW
UTN3NHB8CnpYV0JPNzFIdn1vTEQmR3kpKD1tR3RFZGw3aXh2bnRkX053Nk5qOXI5eGUkZlk7Mi0r
JD4wcz5QSCVCU2dqanFGaQp6NUQzKWVIZ1EjK0M1ZlNPT0R9Oy1CVy0/SjEwUXBNZSUzJWBDMHpU
YFZJKVctZkc+OFFoT0Y9QTJvY1pXR31HKj8KeikjJHQkJHg7VnM/QjV7QkhydDd2NnlBbzQkUFN9
akNyaCo0Rm07VjVQK0R5VExXQWxCPzR3d21RRSshYlIlYlViCno+aXxzYypAWl8rTkNmdEBiWkV6
OyMwYG9zKVRNbkMpIV97RmNnY0Y3bWkrN3A0ZV81NEZTbys4dzJhYlFGVUVaVgp6aSZua3IoSFFz
KTRteVd6dTl3cDxnLUA5UEVCVFF2Jn5KbnhtaFpBfEJ6c153Q2pCbyVXYFMyQHpmcFUwa3ojWHsK
enZRJnx2aVZWKFZFQHdSNDgjezQoI2g8cHw+VzhPejlHays9RjNONDZMYGAxbXc0ZCp3V2NKbzUj
RnIrJHtuZD9aCnpmQXJqSldXKyVQKj8jKkVkb3tyUURzeDhsWmdGPlI7WXgzczlnUj48eHtRTi03
fHVrQXFfNigpR3k4KFJiMCZiXgp6VkNqV3olXjJOQXVGbkhMP1lQdlg2O30waiZFa1MhMEcmN2dV
Nm9yfG92KUN4RXoxeUBHZzRYXjdqTG5RPzRGajIKejEhfThCe1JociRQJFJNI0JOYmslTks5c0Ay
cjVxVnhtSEchK0o4YlNQPk9pSzEzayh3RChTV3YtWUJ5eGheSCZ2CnooSkZuUXVia35tUldwMFIt
Z3h4MmNfajA/dGF4OV5MK1p3dnd2PFAyMGJhb2VeJnolPj5TQz00PlNpa3preTBnawp6RXw4fDtG
YjU9WHZHKl4pYn5FNGtnfU1+JUpVYyF1MmhET215NnwqWm1QQHdPPmFEdEtmSjtNNzFwUlNZbDxh
amAKenVSbEg9RXNeRVBJWmRlZDVgZXtVekxQKztVUzhpcCVOdnhkd2JNYnNoe1E7UGQlckFWNmFl
V3YlWSk/JkQrMmJiCnpRY25rKVQtQ3tHZllAdXlWWiR0NlZafCljWT5YRit6TF58aCtGM1BucylI
N3tTMWd8MC1WM0J9THJ1RTsoJGFAIQp6ejAxIWBMOEk/ayZ8QnhmR2U5QnRFOzdpaWVwZytAUS1R
YDhCMXhPd0pjKmU2ZHg1bUFFYjcoYDJCLU1OMz51NU8KenA1Yld4UXxuVEV3aFNnM151UWpGMV5D
QkRHRT03JUZMVkBYeHM9YkQ5N0ZFYlYqfk0zVV9OKnh0PD85ek9NSUtDCnpoMkRHc28rXnUyOHl1
WntyYWAmK0VoRldPWT1HS1ZxITc1VWFOcnd2anF0TG8/MkR1RSRoanV9aXdoNjZeejBhTgp6RjVz
UHYjJjJVfmlXb0tFYzliciZSY3xtfSQjdFI+YD9zaEFIKG9IYmokMTZLX0dmaT93U2s7Rkt0SyVV
YSU9Pj8KelZrN208SSNuLUJpWUE+PXIyQjE8KHhZIW5jTTl6OWI9P2dDLUVUSVE5Z1FYckdvNXJM
dGFLUl9VJH57WnZCPX5YCnpQfFd+eTBoM1k0Tlo1NllZNSRmc2JKX21oalJVbX53cjheKjw9eGh5
d3YxRVRCcTNsbyRuPV9fUXZ2YEFEcEpHIQp6PmBRNG1iNy1LYlpgM2BRQlR4QTRhKjBSMmgye1R2
YVVjT2tNM2BwcGBsTSYpdTZFZXF1Zjh8V0ZuWG43LXVaSH4KelV7QnBaPl93ejtJR2BkdzN6SGA+
SiZxV0lBJVF7a0hAKUEqZVFaXm1GMTRsbDgyJVphXnR7Mz5tQm0+NGJFfT9QCnpkV000ejV6QXE3
Rz4tfXE2aEFPIShgOC1ydn0zVGA1ejcmT1RFMGd1KzE9ZmZLI2M/QVNBazZMVU1qZjcrJihRJQp6
K3Y4PEheVD0/aUReKyE5OWRiWSlWJG0yc1Q8bFVkRzRTe3NqWj94ZWB2Iz9nMlVuRiZXKytBYXM5
ZElhKX1XTjAKemNgVnZRMjYla29SI0t7ZypPWUs3UFArK3hDMDQ3YF5LckJMPXxDVXJqPElxWk5M
b2IqP1BaO0FzK3lVOCQ8YCliCnoxLUlFZjxBbCR6TDNBNXs5PnMoQVFZRXxtRmAySmpZRSp4IXBH
M1pjenNTT1BmUnRLKUYta31vJiNOPXtxcndKbQp6diFJZFBoemYyJjYxWkZoIVI0WChSVH47MUdM
djBGdUhwKHZSKmdEWCNqYUNAUiZBbEUzKSZKbSF9bDFJIzcjRGUKenM1X1UrNHFOZzt7VE5HeGAo
NGo4NnhffGpfOUopWVJOMnJUczhSS048TzUoUih2VysjPClTaGs5I3pPdXBNIylECno0eXxBKCR0
WFVickYhR3k7JUFZNUUpKm1JWTh9eGlKNykpU2VBZj1jbVgtflBBY20hbExTYmk4Tl82azRHaSlH
LQp6Y19SJGFuNyZZajF+YnluVipvIS13QWhsSmt9ISsoKGFqdGszRSU8XkQxWlVfV2NCfV8oakhY
KVVWMGgjR3dWeSYKelZJe1AkbVVVPGNGajd9c1p2fXhpJmA7Z0whTUFhJFkwRztmLU1uJHxUYjhB
bDAyNmlWSWNqKilafG59Qi1GcEEzCnp6Sng9bFhrLTM0UE96aW5EfVNZP147Yk4lI3pSMThKP3kq
fHZSNDJMRUdJIVlRczBFaV5LWkhEKkBRUXg0clA9Rwp6azQwT2t0eTA9SmY5VWIqc29SUE51az9v
clY4NVU1emxAI1F7PXVrUmM9ZWRfI1A4LTJyZkhKIWR+VnE8PkpWKXUKeldxbGI8JjV9Y300UF4/
OS1fIy1gZiFrQlNeTzlsM2w5NG5WdjJrbU8wJC1zXk9wY0pVK0IrQH4/X1VPem9KR25BCnpmXjQ4
RlhzMkYpNTd3OUw7dz8ja2JBb3lMWG4maWd0aEEmdyMlUFZ4emU/YVR8Tkg3MStYKnFmNFZ2M29Q
PEpmMgp6KkE9YGk5NXtBYk8wVWRAUWJSYmFrSTBRTFk/fF4xcEpOSzRBPCk1VTUwSDRWPXxSVnxs
OzJOJkRuMUpGJGthLWwKelMhRSNaVXkjZTV2bGgpJmh1antQQy1lPHojWTQ2fU02WSM0IW5mTlJK
NE1VbyFgfEshZFBDZSVyRzFwRWYydllZCnoqUmcwRFdeaFNMYV9OO31AMyMqKHgmZl5Acnp9SnFX
I3MxN2h0Rn5vZlh5dmwyVDB5Mmgwe2k1dVNtT2g1QF5jRwp6dld3ZTMqNG81K1NkSSZEe2FPXjVT
Qkk7R1ohVFNGJkFGSkAxSE57anJHYlk7P0tzOUcwVCR1V3Q9d3laQXFMdn0Kem9VSllTYjU8UVFe
KWBfNWZSaCFfa1JTb2ZUI2l9aSpFVzlnNllUdkt1YFkoKF9LRnBZVTNaTEl6NEkqP1hkQChtCnoq
fVRQMD5FRkU/cCVfWEoyZz1vdyNTd2owVDVzSUo3N0koaFgrNnk/Q0Nsdz01fiQjZChWKU5WKlpH
KV9WdkolXgp6bnVjeyhDPyNJcjFLJFIrIXBwbk9mbyQ+ZT95VUJiWEtqQH5velAkJig2Rl5KJkJx
ITltX1R2fE96OzNxJXkxfCYKel9Wdmd0Uz5fb05OfG0yMVpsbUJYenp9cW5nY0FkOSRMJitIUmVl
VyheeytSX2o5TXpFYnkwaD5BVjBmaVpRWWZuCnpqUnclaGArcDdIWikkTVMkRUBlUkIwaiFFYnRH
U0gwKElCVmkmSVRgN2poRU1yYHc0UGNwTjcrQGhmNF4rKGZpbAp6XzQhbVpaRnxMPCg0Xzd6OU8l
eEBHMmVaNHJ4aTNGRSt0V21iYlUkNWp1KzFGOXZ+Vz1sXz0zVDNyZmlRckJJVSsKelhHYz53VDN7
eUo4KDNMOClNWCV2OFlHST0rUWZWeHJzPHh0alM9UCtTWnNAJkg+KENZbHY1KFM3RXhraGJhQ2lj
CnpGb2BwJTgwcng8PjI8JCtvJVpfRlZkMVhmM2AjNGdPbSNAXl9aJks1V1BAOChkN1V+bU50PEtl
Sk5aPV84N3lNbQp6YmRqbipOJD16ZGNLQkB5MX43PU5LQzJ7WCFQWlNkI30/TUNadnFSZ3F8MiM3
UHE3PmcyfEZLN0lzWV49O21nYW0Kem9VYW1EZWBoYG9AMHN1SztwR2RLNGxIaXpJQ1koKXpmJDd8
Uz5+OVFtZm9aaXE+e30rXkczWTd2THVEVXRxM3omCnowND1ZRFdATT40O1ExXkVXaGhaKz1eTnRF
RnExWWxYRmRyVkRtTng8KmA5TVFpITlOIW9Aa0Y+SE9oZWppXllLMwp6dkxwVVdOaTZZYylmMDhk
KV5vaHk1aE8rVG0mPDt+N1VAfmZGWikpJWc2X09taHJvYCRkSjI5ZVMkQ3x6fDQkU3QKelFDPlI+
NVNaSWJqZSZvfipXU3Q8VnxMJXJZWmd4Q295I2BBKGNkQWYybVE2VD83ejx9WFcoNzhmb1JpdCsq
SHppCno5ZWczTXw0NSR3T1J4VSNAdT5QPTlxYjttYSkpVTslNGNjQTVfSDlhdF4mPX5yV1VNVVBB
cGl9NHJ0bGJVRDJJLQp6cHt0e29NciNlQXkxYFJzPCkzcTg4JmZ2RE9XWV98QmxzIS1QbzBiNXt+
KkhpUGB6LVBKZSYpKm5gI0czeElSY0AKektXdWlfYEpUQFo2R2hZdEpjQmVnJmtpdTdlNX5iaTlx
PGloaWBIX1Y9NHxpMmlgekxPVjJhWSFhPUJeQCQmQ1BkCnp0bGlhTSpWUF5oQnhJMTV3amBqIXNQ
ak8jRXxWdCFUREleMTlTOzswRUgrSXlYZXBnbF5WcXBzPEM2XzMxVVh9Uwp6OXh5I0MyR0dOJVgh
YWZiMTA8TzRPaT1DN3Y1Jj5OMnd9Q3BfckJQaXtua1pzJU9BO3RtRkJ1fGFzUWtJXyUqVngKej5m
RUV+N09Aekg0JmgpeHUhNG9MWnFNV1Y4LVlgbGU4TUBQb3x9Iz9TLTYhNWRNays2NT1EemoreF9q
V21jZz48CnpoKnhWKlI+S2QhS2k+WkZ8Mjl8NHgtN0VUOGJKNCpReVcwfGphUmw2YWNaclUpMGM0
WSU8a3lxYn1LbWB1QiFKTgp6Rk9wPCVSSW9Mcm5pK3UlMGEzI3NXQzs8fHxBRlN4VnB9eUdGeXJg
MiNZZ2hXOVZodilHfnFiYj9mUVFLN3NGWkYKenEobzY9eWtKUkNVZS1eZntofTIqNiMxITM3bX1V
K2EwbXlZcjNURVE2X0QoNT81K2N6KHczeVZlJk8pc1JMOXdACnpWIzdHPSZlV14wRGNOQkIodDF5
Q2VWU2lISVRFRT02bk9ydiQ2NUx0JjlOQTsqVWpQZGVPRHxCM0whaVpDZVR1Pwp6SX5NM2AjbzZz
Q21CUD5jPXpgNUctaEp0d1Vvc0NfeHApNmh3S3JkalQlcnleN0MrZlJHNlVJbkdgLXFoeSNYK14K
entKUmJSazVuVSVXK3VAUG1XPUEoMndndUItUX1VU3Y0anI0SXt8Jnhuez8tJndCVVkkPUhKbXZl
JFM0bVFyJTE+CnolVXRIJiYpZWtIal4zVyNNWDhQQGo/aXcyXlp9Ozs9PSE3SUNnSiZlVHR7ZnVl
cE9IIUE/SnZ4NE5fJihtLUpJQwp6eElZN3VTOTxUWVJSX2I9VDg/QjJfPlpSVDxZRXNTb2s4Zm5J
UkAkKWBiQkBPRzBQQzVeT3VIaEY2I29tOT1HYGEKemVmX1ZgSkJeN3JHYT5RfHdidHNMdmFnbnRV
d2EhSCp8KGNPT01Mbnt2U1NPcXhqMXlIWFp6NEc5PVY3fCg7cHthCnpWVUNAaFI0XktLUlZ7ZCpA
KjM7N1h2aVp+YFcpLTlpRERtSUt1dTk0VSFGaHFmaCRTQjR1eWZNMnlKMnUtbF55Sgp6dEteRHZV
LSFPV3ImZVg4O15yX349ITdkd2w3ekY3VyMydG4pKCo5Pyh4Sm56KztLbilAUlg2Tmpsei00TTMp
XzwKeiVuSD5HYHdtT14xfmR8aXFjbUN6QGFmPXJDeGNFU21vfCpoSXlDYnBZO1F6dD14WE9ae2M0
JFYzPUdiUjJSdmpzCnpsVkdvTGk9dlEkV20/NE1aeDVXZVRoNTN2YD01UCpaViVqQE43cFI2SCl5
Rmk9ST9zWTMpdyVSNjlZZlJOWDA2NAp6KjVmSEFwYSU1SU5vITgoYURDY1pFTFpQTygqJFpjejJA
TVNKPCFHWStXK2lCZzBXbEFEKSZ3cSlkNGxUTDtuWlUKQz1EY1NCCgpkaWZmIC0tZ2l0IGEvV2Vi
c2l0ZXMvd2Via2l0Lm9yZy9kZW1vcy93ZWJncHUvMmQuanMgYi9XZWJzaXRlcy93ZWJraXQub3Jn
L2RlbW9zL3dlYmdwdS8yZC5qcwpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggM2ZiM2M4
YjJiZWFmYWYwOTAzYjEzODdiZDNhMWM3YTZlYzkyNGE2OS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9XZWJzaXRlcy93ZWJraXQub3JnL2RlbW9zL3dlYmdw
dS8yZC5qcworKysgL2Rldi9udWxsCkBAIC0xLDE0MiArMCwwIEBACi1jbGFzcyBVbmlmb3JtIHsK
LSAgICBjb25zdHJ1Y3RvcihmbG9hdDMyQXJyYXkpIHsKLSAgICAgICAgaWYgKGZsb2F0MzJBcnJh
eSAmJiBmbG9hdDMyQXJyYXkubGVuZ3RoICE9IDY0KSB7Ci0gICAgICAgICAgICBjb25zb2xlLmxv
ZygiSW5jb3JyZWN0IGJhY2tpbmcgc3RvcmUgZm9yIFVuaWZvcm0iKTsKLSAgICAgICAgICAgIHJl
dHVybjsKLSAgICAgICAgfQotCi0gICAgICAgIHRoaXMuYXJyYXkgPSBmbG9hdDMyQXJyYXkgfHwg
bmV3IEZsb2F0MzJBcnJheSg2NCk7Ci0gICAgfQotICAgIC8vIExheW91dCBpcwotICAgIC8vIDAt
MSA9IHJlc29sdXRpb24gKGZsb2F0MikKLSAgICAvLyAyID0gdGltZSAoZmxvYXQpCi0gICAgZ2V0
IGJ1ZmZlcigpIHsKLSAgICAgICAgcmV0dXJuIHRoaXMuYXJyYXk7Ci0gICAgfQotICAgIGdldCBy
ZXNvbHV0aW9uKCkgewotICAgICAgICByZXR1cm4gdGhpcy5hcnJheS5zdWJhcnJheSgwLCAyKTsK
LSAgICB9Ci0gICAgZ2V0IHRpbWUoKSB7Ci0gICAgICAgIHJldHVybiB0aGlzLmFycmF5WzJdOwot
ICAgIH0KLSAgICBzZXQgcmVzb2x1dGlvbih2YWx1ZSkgewotICAgICAgICB0aGlzLmFycmF5WzBd
ID0gdmFsdWVbMF07Ci0gICAgICAgIHRoaXMuYXJyYXlbMV0gPSB2YWx1ZVsxXTsKLSAgICB9Ci0g
ICAgc2V0IHRpbWUodmFsdWUpIHsKLSAgICAgICAgdGhpcy5hcnJheVsyXSA9IHZhbHVlOwotICAg
IH0KLSAgICBjb3B5VmFsdWVzVG8oYnVmZmVyKSB7Ci0gICAgICAgIHZhciBidWZmZXJEYXRhID0g
bmV3IEZsb2F0MzJBcnJheShidWZmZXIuY29udGVudHMpOwotICAgICAgICBmb3IgKGxldCBpID0g
MDsgaSA8IDM7IGkrKykgewotICAgICAgICAgICAgYnVmZmVyRGF0YVtpXSA9IHRoaXMuYXJyYXlb
aV07Ci0gICAgICAgIH0KLSAgICB9Ci19Ci0KLWNvbnN0IHZlcnRleERhdGEgPSBuZXcgRmxvYXQz
MkFycmF5KAotWwotICAgIC0xLCAtMSwgMCwgMSwKLSAgICAxLCAtMSwgMCwgMSwKLSAgICAxLCAx
LCAwLCAxLAotICAgIC0xLCAtMSwgMCwgMSwKLSAgICAtMSwgMSwgMCwgMSwKLSAgICAxLCAxLCAw
LCAxLAotXSk7Ci0KLWxldCBncHU7Ci1sZXQgY29tbWFuZFF1ZXVlOwotbGV0IHJlbmRlclBhc3NE
ZXNjcmlwdG9yOwotbGV0IHJlbmRlclBpcGVsaW5lU3RhdGU7Ci0KLWNvbnN0IE51bUFjdGl2ZVVu
aWZvcm1CdWZmZXJzID0gMzsKLWxldCB1bmlmb3JtcyA9IG5ldyBBcnJheShOdW1BY3RpdmVVbmlm
b3JtQnVmZmVycyk7Ci1sZXQgdW5pZm9ybUJ1ZmZlcnMgPSBuZXcgQXJyYXkoTnVtQWN0aXZlVW5p
Zm9ybUJ1ZmZlcnMpOwotbGV0IGN1cnJlbnRVbmlmb3JtQnVmZmVySW5kZXggPSAwOwotCi13aW5k
b3cuYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIGluaXQsIGZhbHNlKTsKLQotZnVuY3Rpb24gaW5p
dCgpIHsKLQotICAgIGlmICghY2hlY2tGb3JXZWJHUFUoKSkgewotICAgICAgICByZXR1cm47Ci0g
ICAgfQotCi0gICAgbGV0IGNhbnZhcyA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoImNhbnZhcyIp
OwotICAgIGxldCBjYW52YXNTaXplID0gY2FudmFzLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpOwot
ICAgIGNhbnZhcy53aWR0aCA9IGNhbnZhc1NpemUud2lkdGg7Ci0gICAgY2FudmFzLmhlaWdodCA9
IGNhbnZhc1NpemUuaGVpZ2h0OwotCi0gICAgZ3B1ID0gY2FudmFzLmdldENvbnRleHQoIndlYmdw
dSIpOwotICAgIGNvbW1hbmRRdWV1ZSA9IGdwdS5jcmVhdGVDb21tYW5kUXVldWUoKTsKLQotICAg
IGxldCBsaWJyYXJ5ID0gZ3B1LmNyZWF0ZUxpYnJhcnkoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImxpYnJhcnkiKS50ZXh0KTsKLSAgICBsZXQgdmVydGV4RnVuY3Rpb24gPSBsaWJyYXJ5LmZ1bmN0
aW9uV2l0aE5hbWUoInZlcnRleF9tYWluIik7Ci0gICAgbGV0IGZyYWdtZW50RnVuY3Rpb24gPSBs
aWJyYXJ5LmZ1bmN0aW9uV2l0aE5hbWUoImZyYWdtZW50X21haW4iKTsKLQotICAgIGlmICghbGli
cmFyeSB8fCAhZnJhZ21lbnRGdW5jdGlvbiB8fCAhdmVydGV4RnVuY3Rpb24pIHsKLSAgICAgICAg
cmV0dXJuOwotICAgIH0KLQotICAgIGxldCBwaXBlbGluZURlc2NyaXB0b3IgPSBuZXcgV2ViR1BV
UmVuZGVyUGlwZWxpbmVEZXNjcmlwdG9yKCk7Ci0gICAgcGlwZWxpbmVEZXNjcmlwdG9yLnZlcnRl
eEZ1bmN0aW9uID0gdmVydGV4RnVuY3Rpb247Ci0gICAgcGlwZWxpbmVEZXNjcmlwdG9yLmZyYWdt
ZW50RnVuY3Rpb24gPSBmcmFnbWVudEZ1bmN0aW9uOwotICAgIC8vIE5PVEU6IE91ciBBUEkgcHJv
cG9zYWwgaGFzIHRoZXNlIHZhbHVlcyBhcyBlbnVtcywgbm90IGNvbnN0YW50IG51bWJlcnMuCi0g
ICAgLy8gV2UgaGF2ZW4ndCBnb3QgYXJvdW5kIHRvIGltcGxlbWVudGluZyB0aGUgZW51bXMgeWV0
LgotICAgIHBpcGVsaW5lRGVzY3JpcHRvci5jb2xvckF0dGFjaG1lbnRzWzBdLnBpeGVsRm9ybWF0
ID0gZ3B1LlBpeGVsRm9ybWF0QkdSQThVbm9ybTsKLQotICAgIHJlbmRlclBpcGVsaW5lU3RhdGUg
PSBncHUuY3JlYXRlUmVuZGVyUGlwZWxpbmVTdGF0ZShwaXBlbGluZURlc2NyaXB0b3IpOwotCi0g
ICAgZm9yIChsZXQgaSA9IDA7IGkgPCBOdW1BY3RpdmVVbmlmb3JtQnVmZmVyczsgaSsrKSB7Ci0g
ICAgICAgIGxldCB1bmlmb3JtID0gbmV3IFVuaWZvcm0oKTsKLSAgICAgICAgdW5pZm9ybS5yZXNv
bHV0aW9uID0gbmV3IEZsb2F0MzJBcnJheShbY2FudmFzU2l6ZS53aWR0aCwgY2FudmFzU2l6ZS5o
ZWlnaHRdKTsKLSAgICAgICAgdW5pZm9ybXNbaV0gPSB1bmlmb3JtOwotICAgICAgICB1bmlmb3Jt
QnVmZmVyc1tpXSA9IGdwdS5jcmVhdGVCdWZmZXIodW5pZm9ybS5idWZmZXIpOwotICAgIH0KLQot
ICAgIHJlbmRlclBhc3NEZXNjcmlwdG9yID0gbmV3IFdlYkdQVVJlbmRlclBhc3NEZXNjcmlwdG9y
KCk7Ci0gICAgLy8gTk9URTogT3VyIEFQSSBwcm9wb3NhbCBoYXMgc29tZSBvZiB0aGVzZSB2YWx1
ZXMgYXMgZW51bXMsIG5vdCBjb25zdGFudCBudW1iZXJzLgotICAgIC8vIFdlIGhhdmVuJ3QgZ290
IGFyb3VuZCB0byBpbXBsZW1lbnRpbmcgdGhlIGVudW1zIHlldC4KLSAgICByZW5kZXJQYXNzRGVz
Y3JpcHRvci5jb2xvckF0dGFjaG1lbnRzWzBdLmxvYWRBY3Rpb24gPSBncHUuTG9hZEFjdGlvbkNs
ZWFyOwotICAgIHJlbmRlclBhc3NEZXNjcmlwdG9yLmNvbG9yQXR0YWNobWVudHNbMF0uc3RvcmVB
Y3Rpb24gPSBncHUuU3RvcmVBY3Rpb25TdG9yZTsKLSAgICByZW5kZXJQYXNzRGVzY3JpcHRvci5j
b2xvckF0dGFjaG1lbnRzWzBdLmNsZWFyQ29sb3IgPSBbMC4zNSwgMC42NSwgMC44NSwgMS4wXTsK
LQotICAgIHZlcnRleEJ1ZmZlciA9IGdwdS5jcmVhdGVCdWZmZXIodmVydGV4RGF0YSk7Ci0gICAg
cmVuZGVyKCk7Ci19Ci0KLWZ1bmN0aW9uIHJlbmRlcigpIHsKLQotICAgIHVwZGF0ZVVuaWZvcm1E
YXRhKGN1cnJlbnRVbmlmb3JtQnVmZmVySW5kZXgpOwotCi0gICAgbGV0IGNvbW1hbmRCdWZmZXIg
PSBjb21tYW5kUXVldWUuY3JlYXRlQ29tbWFuZEJ1ZmZlcigpOwotCi0gICAgbGV0IGRyYXdhYmxl
ID0gZ3B1Lm5leHREcmF3YWJsZSgpOwotCi0gICAgcmVuZGVyUGFzc0Rlc2NyaXB0b3IuY29sb3JB
dHRhY2htZW50c1swXS50ZXh0dXJlID0gZHJhd2FibGUudGV4dHVyZTsKLQotICAgIGxldCBjb21t
YW5kRW5jb2RlciA9IGNvbW1hbmRCdWZmZXIuY3JlYXRlUmVuZGVyQ29tbWFuZEVuY29kZXJXaXRo
RGVzY3JpcHRvcihyZW5kZXJQYXNzRGVzY3JpcHRvcik7Ci0gICAgY29tbWFuZEVuY29kZXIuc2V0
UmVuZGVyUGlwZWxpbmVTdGF0ZShyZW5kZXJQaXBlbGluZVN0YXRlKTsKLSAgICBjb21tYW5kRW5j
b2Rlci5zZXRWZXJ0ZXhCdWZmZXIodmVydGV4QnVmZmVyLCAwLCAwKTsKLSAgICBjb21tYW5kRW5j
b2Rlci5zZXRWZXJ0ZXhCdWZmZXIodW5pZm9ybUJ1ZmZlcnNbY3VycmVudFVuaWZvcm1CdWZmZXJJ
bmRleF0sIDAsIDEpOwotICAgIGNvbW1hbmRFbmNvZGVyLnNldEZyYWdtZW50QnVmZmVyKHVuaWZv
cm1CdWZmZXJzW2N1cnJlbnRVbmlmb3JtQnVmZmVySW5kZXhdLCAwLCAwKTsKLQotICAgIC8vIE5P
VEU6IE91ciBBUEkgcHJvcG9zYWwgdXNlcyB0aGUgZW51bSB2YWx1ZSAidHJpYW5nbGUiIGhlcmUu
IFdlIGhhdmVuJ3QgZ290IGFyb3VuZCB0byBpbXBsZW1lbnRpbmcgdGhlIGVudW1zIHlldC4KLSAg
ICBjb21tYW5kRW5jb2Rlci5kcmF3UHJpbWl0aXZlcyhncHUuUHJpbWl0aXZlVHlwZVRyaWFuZ2xl
LCAwLCA2KTsKLQotICAgIGNvbW1hbmRFbmNvZGVyLmVuZEVuY29kaW5nKCk7Ci0gICAgY29tbWFu
ZEJ1ZmZlci5wcmVzZW50RHJhd2FibGUoZHJhd2FibGUpOwotICAgIGNvbW1hbmRCdWZmZXIuY29t
bWl0KCk7Ci0KLSAgICBjdXJyZW50VW5pZm9ybUJ1ZmZlckluZGV4ID0gKGN1cnJlbnRVbmlmb3Jt
QnVmZmVySW5kZXggKyAxKSAlIE51bUFjdGl2ZVVuaWZvcm1CdWZmZXJzOwotICAgIHJlcXVlc3RB
bmltYXRpb25GcmFtZShyZW5kZXIpOwotfQotCi1mdW5jdGlvbiB1cGRhdGVVbmlmb3JtRGF0YShp
bmRleCkgewotICAgIHZhciBub3cgPSBEYXRlLm5vdygpICUgMTAwMDAwIC8gNTAwOwotICAgIGxl
dCB1bmlmb3JtID0gdW5pZm9ybXNbaW5kZXhdOwotICAgIHVuaWZvcm0udGltZSA9IG5vdzsKLQot
ICAgIHVuaWZvcm0uY29weVZhbHVlc1RvKHVuaWZvcm1CdWZmZXJzW2luZGV4XSk7Ci0KLX0KZGlm
ZiAtLWdpdCBhL1dlYnNpdGVzL3dlYmtpdC5vcmcvZGVtb3Mvd2ViZ3B1L2NpcmNsZS5zdmcgYi9X
ZWJzaXRlcy93ZWJraXQub3JnL2RlbW9zL3dlYmdwdS9jaXJjbGUuc3ZnCmRlbGV0ZWQgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCBlYjdhMGU5MTI4NGViMjY3NDJkM2FlMTA2NzQ3YWU2NzIxZjgxOTc0
Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL1dlYnNpdGVz
L3dlYmtpdC5vcmcvZGVtb3Mvd2ViZ3B1L2NpcmNsZS5zdmcKKysrIC9kZXYvbnVsbApAQCAtMSw2
ICswLDAgQEAKLTxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94
PSIwIDAgMTAwIDEwMCI+Ci0KLTxjaXJjbGUgZmlsbD0icmdiKDIyNCwgMjI0LCAyMjQpIiBjeD0i
NTAiIGN5PSI1MCIgcj0iNDAiLz4KLTxjaXJjbGUgZmlsbD0ibm9uZSIgc3Ryb2tlPSJyZ2IoMjI0
LCAyMjQsIDIyNCkiIHN0cm9rZS13aWR0aD0iMC41IiBzdHJva2UtZGFzaGFycmF5PSIyLjUgMiIg
Y3g9IjUwIiBjeT0iNTAiIHI9IjQxIi8+Ci0KLTwvc3ZnPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9m
IGZpbGUKZGlmZiAtLWdpdCBhL1dlYnNpdGVzL3dlYmtpdC5vcmcvZGVtb3Mvd2ViZ3B1L2N1YmVz
Lmh0bWwgYi9XZWJzaXRlcy93ZWJraXQub3JnL2RlbW9zL3dlYmdwdS9jdWJlcy5odG1sCmRlbGV0
ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBiNjkzMWExYzNjOTM5NGMxZGFmZjUzNzQ3MzBjYjQ2
NTE2MmUxOTUzLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBh
L1dlYnNpdGVzL3dlYmtpdC5vcmcvZGVtb3Mvd2ViZ3B1L2N1YmVzLmh0bWwKKysrIC9kZXYvbnVs
bApAQCAtMSw3OCArMCwwIEBACi08IURPQ1RZUEUgaHRtbD4KLTxodG1sPgotPGhlYWQ+Ci08bWV0
YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9NjAwIj4KLTxtZXRhIGh0dHAtZXF1aXY9
IkNvbnRlbnQtdHlwZSIgY29udGVudD0idGV4dC9odG1sOyBjaGFyc2V0PXV0Zi04Ij4KLTx0aXRs
ZT5XZWJHUFUgQ3ViZXMgZGVtbzwvdGl0bGU+Ci08bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9
InNoYXJlZC5jc3MiPgotPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSJodHRwczovL3dlYmtp
dC5vcmcvd3AtY29udGVudC90aGVtZXMvd2Via2l0L3N0eWxlLmNzcyI+Ci08bGluayByZWw9InN0
eWxlc2hlZXQiIGhyZWY9Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS93c3MvZm9udHM/ZmFtaWx5PU15
cmlhZCtTZXQrUHJvJmFtcDt2PTEiPgotPHNjcmlwdCBzcmM9ImdsLW1hdHJpeC1taW4uanMiPjwv
c2NyaXB0PgotPHNjcmlwdCBzcmM9InNoYXJlZC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IHNyYz0i
Y3ViZXMuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBpZD0ibGlicmFyeSIgdHlwZT0ieC1zaGFkZXIv
eC1tZXRhbCI+Ci0jaW5jbHVkZSA8bWV0YWxfc3RkbGliPgotI2luY2x1ZGUgPHNpbWQvc2ltZC5o
PgotCi11c2luZyBuYW1lc3BhY2UgbWV0YWw7Ci0KLXN0cnVjdCB1bmlmb3JtX3QKLXsKLSAgICBm
bG9hdDR4NCBtb2RlbHZpZXdfcHJvamVjdGlvbl9tYXRyaXg7Ci0gICAgZmxvYXQ0eDQgbm9ybWFs
X21hdHJpeDsKLSAgICBmbG9hdDQgYW1iaWVudF9jb2xvcjsKLSAgICBmbG9hdCBtdWx0aXBsaWVy
OwotfSBfX2F0dHJpYnV0ZV9fICgoYWxpZ25lZCAoMjU2KSkpOwotCi1jb25zdGFudCBmbG9hdDMg
bGlnaHRfcG9zaXRpb24gPSBmbG9hdDMoMC4wLCAtMS4wLCAxLjApOwotY29uc3RhbnQgZmxvYXQ0
IGxpZ2h0X2NvbG9yID0gZmxvYXQ0KDEsIDEsIDEsIDEpOwotCi1zdHJ1Y3QgdmVydGV4X3QKLXsK
LSAgICBwYWNrZWRfZmxvYXQzIHBvc2l0aW9uOwotICAgIHBhY2tlZF9mbG9hdDMgbm9ybWFsOwot
fTsKLQotc3RydWN0IHZhcnlpbmdfdCB7Ci0gICAgZmxvYXQ0IHBvc2l0aW9uIFtbcG9zaXRpb25d
XTsKLSAgICBoYWxmNCBjb2xvcjsKLX07Ci0KLXZlcnRleCB2YXJ5aW5nX3QgdmVydGV4X2Z1bmN0
aW9uKGRldmljZSB2ZXJ0ZXhfdCogdmVydGV4X2FycmF5IFtbIGJ1ZmZlcigwKSBdXSwKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdGFudCB1bmlmb3JtX3QmIHVuaWZvcm1zIFtb
IGJ1ZmZlcigxKSBdXSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1bnNpZ25lZCBp
bnQgdmlkIFtbIHZlcnRleF9pZCBdXSkKLXsKLSAgICB2YXJ5aW5nX3Qgb3V0OwotCi0gICAgZmxv
YXQ0IHBvc2l0aW9uID0gZmxvYXQ0KGZsb2F0Myh2ZXJ0ZXhfYXJyYXlbdmlkXS5wb3NpdGlvbiks
IDEuMCk7Ci0gICAgb3V0LnBvc2l0aW9uID0gdW5pZm9ybXMubW9kZWx2aWV3X3Byb2plY3Rpb25f
bWF0cml4ICogcG9zaXRpb247Ci0KLSAgICBmbG9hdDMgbm9ybWFsID0gdmVydGV4X2FycmF5W3Zp
ZF0ubm9ybWFsOwotICAgIGZsb2F0NCBleWVfbm9ybWFsID0gbm9ybWFsaXplKHVuaWZvcm1zLm5v
cm1hbF9tYXRyaXggKiBmbG9hdDQobm9ybWFsLCAwLjApKTsKLQotICAgIGZsb2F0IG5fZG90X2wg
PSBkb3QoZXllX25vcm1hbC5yZ2IsIG5vcm1hbGl6ZShsaWdodF9wb3NpdGlvbikpOwotICAgIG5f
ZG90X2wgPSBmbWF4KDAuMCwgbl9kb3RfbCk7Ci0KLSAgICBvdXQuY29sb3IgPSBoYWxmNCh1bmlm
b3Jtcy5hbWJpZW50X2NvbG9yICsgbGlnaHRfY29sb3IgKiBuX2RvdF9sKTsKLQotICAgIHJldHVy
biBvdXQ7Ci19Ci0KLWZyYWdtZW50IGhhbGY0IGZyYWdtZW50X2Z1bmN0aW9uKHZhcnlpbmdfdCBp
biBbW3N0YWdlX2luXV0pCi17Ci0gICAgcmV0dXJuIGluLmNvbG9yOwotfTsKLTwvc2NyaXB0Pgot
PC9oZWFkPgotPGJvZHk+Ci08Y2FudmFzPjwvY2FudmFzPgotPGRpdiBpZD0iZXJyb3IiPgotICAg
IDxoMj5XZWJHUFUgbm90IGF2YWlsYWJsZTwvaDI+Ci0gICAgPHA+Ci0gICAgICAgIE1ha2Ugc3Vy
ZSB5b3UgYXJlIG9uIGEgc3lzdGVtIHdpdGggV2ViR1BVIGVuYWJsZWQuIEluCi0gICAgICAgIFNh
ZmFyaSwgZmlyc3QgbWFrZSBzdXJlIHRoZSBEZXZlbG9wZXIgTWVudSBpcyB2aXNpYmxlIChQcmVm
ZXJlbmNlcyDihpIKLSAgICAgICAgQWR2YW5jZWQpLCB0aGVuIERldmVsb3Ag4oaSIEV4cGVyaW1l
bnRhbCBGZWF0dXJlcyDihpIgRW5hYmxlIFdlYkdQVS4KLSAgICA8L3A+Ci08L2Rpdj4KLTwvYm9k
eT4KLTwvaHRtbD4KZGlmZiAtLWdpdCBhL1dlYnNpdGVzL3dlYmtpdC5vcmcvZGVtb3Mvd2ViZ3B1
L2N1YmVzLmpwZyBiL1dlYnNpdGVzL3dlYmtpdC5vcmcvZGVtb3Mvd2ViZ3B1L2N1YmVzLmpwZwpk
ZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggOGEzZWIxZWM2ZTRlY2NhNzlmM2E5MGQ1OWZj
YTk2NWViZGJlMjU5Ni4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMApH
SVQgYmluYXJ5IHBhdGNoCmxpdGVyYWwgMApIY21WP2QwMDAwMQoKbGl0ZXJhbCA0MjI5NQp6Y21l
RlgxeW8kbShsNUcpIVFJezYtOEh6bzF9OHZwY1BFZ0wxUHZyZWZNQ0lHTFU2YT43TSRTaj8jYFgk
b2Q1c2EKemA+cHJnXn1ZQSpUSkt4eW91MWpWZjRpcjtjMiMlUj95Qm5qSDFvNiFVQEZOZSReanF7
MDRQOHx6fCNzNEQoaD9hCno1JiU/SDBjSFJJNUNKJDRIVU5lcTVjQzZwaHlsMWk3eXkoJkIhNlFx
NWFUfi1VO3lCKTlSVH1KOGJqIyRjWSQqTAp6LVRJJHJtQEpzVENfdnt+O0Q2IVlxKSNoSVJKTlg7
dUVIRH4mS35SKlJ4VTVCKikzaDFJRDlRIUlrP3o0SVJIQCEKelVzbnJEMld3QnQ3dUdnKiZTS09A
ampoeV9jMjs4NGBoMlJLczs8KTN3c3Mycz8kK0E9WUM0d3c0d2dieilEcSY5CnpxUTFodVBPZVZZ
bykobjhQTDlxViFvRmhFZjB6cUhAJFlJNVlSVyQobyheS3YyQzVwQShrfH1TbHppO0c/M35vbAp6
KjZ2bT5nfCVlbHtARTZLQn1WO0VBJEAjJipuTjF8VUVGT3J4UCpqK0k1QGRFeFZoUCY2bEAtVCZZ
bComWXxiN3UKemV7cW5wX09OdWZiTT5AeWFpO3Z1KGMqPVJtIX12dEgzIyQjOVJJdzxafV8qWTsq
fGRgfEwlYypfclNrPDtOTHkpCno/O2lNZjVCJmVIMm1hO2xTVVc+cTkzUUFKMTNWbzdmKlE2aW8t
UTc/RjBQYjM/M3txMGwlZ3VeWj5JfWR7JFJSNAp6NU9hYm9gZDF3QTlkOylhRFB7aiFEKT8hWWE3
SXlEK0R0PUJUfjFMJl9LKTkzKmxYZUg+SWoxZzA4WS1IP3BwRnYKemxtXmNZREdecW40alZTcXti
TDA8RUcjYC1Ce2VpdWUpSWg2e0Q9U0ZLYktRfismZl5MP0tpSyN0TiZ7TiVMP2lpCnpMSCREd0RF
U0wzNEApTn51N1Z6ZW1hZ3VlMDAwaCEqMzxaU3k4Z3p3UD5reWk2JWROK2VxKTx8O0tBU2MjWHM9
IQp6OX52RGtYKC1KKClQcUh9dXlENWwwOTByLUs8UkMxMUxjRUMyPnxmZSZRXkJMMEQjUjQjcDBI
PjdGR2EyMj5sT1cKemIjaWp+amtCUGJAeH1rZCRMND4rNzhXbzU9NG9NSl5FZHY3RjNeX0g4X1U+
dnhIPysre2tpeCpgUXptMTE/e2d0CnpnJk8qY1lVezNgMXdHUzNgPmZFeE1mcT4rezZiQ3J1WDtQ
RU10QDtqRjlxR2R1JShDZVp6dWd2VFBxNzA8LWYzKAp6Z1JiT1gqdW91KHt6K3Ihc2leWjhjNlpW
R280PlE4K1ZBPUNobVduYjtAe1pYTHN0OCpgaj5XY2locDUkVE9Jd3MKenUoekZfK0YjaGlMSGxu
UntCNVFHdTZPcytgZGo5Zz9zOStZPTtRJXlgT29gV1RLd3g/cDAreF9nTntHKVNiR0AhCnpFc3ZH
OGpPXmRfJmJvaWc9SVNaK0gmMGlgS1hkJmJaNWAkUnVKYGNQez0yUUd5VXlTQl83K09OPWs2YlJT
NUorPAp6YHYqX35XQzBtfjV8OVMkMEI2NyZafmBvI1MyRUJtNTVOXzBna0pmMVRLb1E8YkFZc3F0
RG4xX2pqYm84Qi1EYmUKekRIV1k5Kjt5Jk1Ja15NPztJfT5nclU4STZ0dl99SyFYTm9wb2cxe2h1
bisqaWVFQzxNMXElUSl1dEg2dV5qfiRmCnpgflpORzFefHN+bVJ8MU98S0pEdmB2ZUNkMH5pMTxL
bT9Fakd5byZPMjU8eFhmQyVzbUQhbWUqNChJXlMwYUwmZAp6dSFZTCs0KV8zcHokK2pFaHlwJFVp
OWpsbDM0OD8jZmltRGJQenk4eD9MYXAkMFE+fGRmak05cSpafXJgVzhmMEYKejFBI3lZQVQkc1Ro
ekxYaHE2NHZqeEl1eS1hZ1ohWDEqOFJmNGwpUFhmU2ZeSXBnPlNLQzw+R1NOKEUodWlhLV5oCnpk
UWR5NDQ+U3Q7MXpHe15mS0VaVEZrbCF8NytlQEs3PHcyRTcocDBHNy1iazg3IXcjOTcmalB5bkFi
M3xGZXh4Twp6RnJfZHhGenFre0ZxMUlMRm5jZjtVO3ZCKSNzXmJAKn0jSGVYfE91ajVkMEdDNGh7
eEtmfEl+RztCcyZTeENjQkEKelVJeT1qWigha0phYlBLNyo8ZUxyNjx+RT9FbihlWWdKR2ojUSgr
NVhZaFp1Q2o+RTNOOT5ZR3VwfX4+RHZBX3cjCnpEWiZ9Uip9KGIwTVpoSiY8LT05T2ItXyktWk5P
Y14hXjdqbEdyJFlMRTVKWDh3fSVnYWtCMHZPNH1vdWtBQkE2bwp6emQlNGhBVk9lNDVKT04kdXQ0
eGNoKFAjXlA+UnJzRm92KiFhRSp3OU5QKTxXRDJIZj49IV9WS24xb28yKm4mOFEKenhQXkYhZ28j
OWxCI2ZrdldRRjkxNm8tX0gpUE9YQ3cxSVNvakReZ0FFUVlMdVk+KWczSVIme0t4ZUl3N2Azd2FH
CnpnJklXJk1IOXNpQkBgdEU8cl8qYiRfbU8yRG1FJUpzeCshR3N1eVozWTV7NSs+TXp0WUcmRDRO
dn1iNkJYcjVAWAp6WGhtcTlYcDNtcT1zNCk/PSEpbzg9cHBFNz1yIW5MPSFZMGM3PDNxdDdeV0Vo
NyljbkY3JFg/X21gSXJQbjlgVVEKem44QkU3bkR2O2BtPXs8JFNYQH1AU1dafmNTakFYPFNsaWVM
KiEwLTQqakN1RHZBPCQ+VnoxJFZhY0ZSKWFWJkFkCnphZEw2R2E1aXdeYVQjekdhcVYlVmFMYUlx
YWdYdF5AcCRwe0BPPCZvQFM1P0tAeGwxP189QDxCXztMOChAdSU9Xwp6M0NJV30zOUpkOzZPPEUt
NW5LX0g1SSFUY0NYNko2NUthPV81PlhQIzU7K2pYNlYoemU1V15CUDZLZkx0NU44bH4KejUkfWBX
bDhCSTRsMD1leEN6Jk9NQSFSMWpBYEt3QE47KmgtS31KcHtQdiVQWW5YSHArcEIkaDM4TSFfQUMt
TjVaCno5U1IlQGFTQSglUFpYXmJ5T2VtOGw5WX49RFU/NGJrRXV3aDZzV3dZdlo7b3Q/eC0yNGIq
YU9zQT1DPnIkVFdnOQp6RktJcn1ia0gyclFxWmM+MkdXKyQmZTk+IzNEVmlwQ0RabExVQ31lcD4o
anJidWNoQitBWUBRdkBNa0R0bX1mKnwKemx3ZnBZJXdlMmhmQGN6QmEkeCR4XnBoRWVuVUMzKUln
TlJRMSVgIzYjZzYzKiVQMT14c31RUipZWXl1KTghRFM1CnpuPlNrdCtYXzJBeTkjPzRkb0JBUjJR
N3lvTT82T2wkMEh7bnJ6Mi1CPU51T3ttbDlWUFJ8RDU2SCM0Xi1jTitIdQp6NDtxZ2dQWTYjUCZq
fkxKdVFoSzU/K2hPZnBETiM1ejdEPHplZ1NAV3smTX51MGFeaWJmcG1kc0wwbXglIUR6dT0KekF2
aHJecCU5QGFwJk1hLVZOYz1qIWJjKShBYFQrT0JITi0ycVNtNmhxSEFLKlZpc2NBViQwJWA7XnlM
Njs+IXxMCno1Kjg5VTYwNlQ+bz5ASzFmM192YkJ4eF5NRHRSY3lEZGpGekVwO1U9RUZDMT5DSWdt
e214K2BhbWNeRlVsfShqaAp6bCV0bGprdD5scW1na2NYa1opNmZRJjNpalNEMDJMUT95aHBRYW59
P1B6cUF8cF5VMW10KD5hN3M9fTx8dUZ7fGkKenFwR0MoUUZVSThQUiZgWlJ2bDFSUlI1XkhwdXdR
d3JxUVNndWNASiNybiN4YnI0Xnt2cW04MyZyZF9Pa3NVeEttCnpyISVMXnNPelFNcEAqU290WEhJ
V3I3eHFPcHVjUnVWR3Z8NkBTT08kLVNhdl8xVmNUO2U4VVNQUykpWHc0UCFwegp6MjsoVWUxYH1W
Q0sydV4tTjdINkEzXk5PfU5ePn1LZWUrYFRka2J9bzlFKno9aVo5WSU5OXYzVENSXkBWSit0fmAK
endQUCkyb25YRTdRdFZ+SSVXV0dtbn55ZC13aTMyVXcpPUx7Y0J5dEpfNnFpeV9FISQtNGgwVFJq
ezElZUNxeVQ2CnpyK1F+Plg5d3BXRjYxdTBFfkJuMnRgVi13Wm8rUGZacFpHKj8pZUBkNC09MCVQ
aDY8dUd3OCtXXn5QKChUaWlSJQp6YGBTbShyX3ZZOCpWJVdfa0o8ME4tPEgzZWVfakE9Zk1xfk9B
WFZWMno/QzQkcHpMNSFAUWRKJTVTb3pKQXNlQ2MKenBAcHhJVXBjJVEzZ1prKjJzO25nNHt2eClf
QiE8Uys4ZztkQkB5VG0/aCheKE1jIXQ8Z01EWkJadW1YVmBfSnptCnpCZHNGKXFkMjNJcVZBKERx
eCltSFZwM3dCVnFlQSUkTU1IeWUxUU1wezkhNnlCRUIjSUU1U2N1P1c1fClub3BGVQp6QjBycmNu
a0R1bkBnYCpeQlBWKyRGUT0lYSlQMUo/e05lTGBzJWAzSW5wN0dqb2l6UEBgcWRZIUZKbD9jR1Jp
Wl8KekdOVXFZditTfkZ2Z05hRGFfRG9DelFUWD97PEBpfm0pbnlrbXsqaWZvRkEze1B+Y3AhVCZQ
dn1xZSE1cnNGPGBrCnp0Xn1zVXQ3TkN0eGIkYjRPaiV0eVRYe0FGOX1AS3FffiFMKHg1QigpPmJ2
c3lqIU1ER0ArIUtqXmxGXnkkUW4/TQp6VShJbz9aUzhYMV5TYVNgclRVSHJrJXNDPF9RcnhIczsw
RE55eW16VDxkKVloUHAkcn43ajNSPmB8VVJFWWFNMUMKemJEYWpBNkYpUzY0MGtEYV4+KWozY2xK
cDN3RHlZaUh1VllqKSVPZWIqQURPeClDfT9zUnVBekZSUyl3SSpOZ35eCnopY3E5dCopUz9QK0E9
MEYpOz15WC1hVmw+RikqbiVJWGF+fkg4WDhJeSp5KHp2O0U4USpVN0IrP0E9YEdKbHVUYgp6MF9I
LX1CSSNuejY0TWY3blNaJT9NUF9BaVJlTj1BJjJudlQtRENaSjxNayVtWDNgZUxSPyM7MWNHSGdC
JmQqKD0Kei1Ia29oeX1TTDAxRlZEZUwmbjNacWkwOGgjfEZuNkMrO1V0cl9wQ2JYOWVmSD1OJVVz
N21KcnBtdj5pQCpGQEthCnpILWF9a3hCOW5SY1J1JEJfYkNyZDQtSnBYa01tRFhQZnhCRT9pUFEx
ZiFgQCFuM3ZHUj9gWik1cGdqaXdvU3kpSQp6alEkVVFgNDB1dW9kIVdecGpaI1k0JSZuSDB5YyRa
Zjx1NWlmIXsleE1xRU4jTEIyd1RMIShEbSNfK188IWtXZkcKeiE0PTJ6JEE9Slg1aXR7NmtSKzNp
a2kkeyVRQ2ReUVFoJW96cWRsYURWTClmWlVfeWFEYEVGUGFTWGJEXyoqaUleCnpJZGkhX2EwbF8m
XlhsPEU8N1hEWTV4NXVKNUU+TSY1PWo+ZzdxYmBGa2BSQiFEb0cpUUZPNGFLQm52RDFBYV5CeQp6
dGd4LVB0VGR4TXRrUnwwcSprZTNyY3RhfXEqYmg0clVUS2YoNXV3MUdebCFCV21zd1MtTUdSOFZo
UzwpWmVDfjYKenska01ibShgfkFgTzdDOzZnengtWTZsaWFKfF91aE1IZ0xIWWQwVkY3Pnw2PFI8
OVpGNkpJMWhOYEhYPndMckB0CnotezhvUTxqfH5GKjxxUkNEWC0oK0xfYEY8YiRqPm55PHd6VWx3
PnF0M31ZOzU5UUZzNGMlJWZCa0M+a2I2UkRDfAp6bDZoMGFLRmctNnJzPHt8ZVgtMU4kbj93IyZI
aiore2sxeGBLV3sxanliIVU3dzN3cXJzI0xla3JyYTB1P3BzbnQKeiZpOWhhJUJxSXkpfCMlYHpQ
aDNNKFQyJiFuV25rc3JJeio5eXwjLUVhM3xnbSN4QnVyalVMTmhwVDVaY15hMDNWCnpgX1Nte14y
b3VAaV96UCRgfC1QcD4mYzYkbGojSEtZK0lYTW9TVF4rVE5xbUdVRnVyeVVnPSpRVFUlSikqfF52
Twp6WktMaUc/JFllQj8rWURCQTFXUnhBSXFGQHBBd3YmcDdvcjZ6SHFue3krWGZReGB5MEAtZkdA
YS1KUlVHS2cyKHAKektYRT1pe1YoSXM0bzMtaDF8OSFoIzhzcGQ2bDdGN0crQV84ajV5Mj10VFAt
b1RyPDRTXyFFUl5NNUBHWk5aTHAqCnokeXE0T0Q1SSZXc0hiU289YGlSPzhSIXxRbTxYOXNuNkZ0
QFMlPXZnKnVRY19iOSFAYGIxVSsyQClHYnFAVThScgp6M3FTLXYzSGJ8fmliI3BsaXk/fmJpSH1P
dUpeTHlkRkJLOzNCallJaExRWVIhU3dVUXBPTm1BcVBYJDVjVDZJQCMKelVWVClmU0Y9Tl9NWX5h
X1BQYmFgbnxfSHd7X3x8WlJISU1FRih6K0shXn1kPUxvQzh4THxUNWRPMUNhfWBPVCl6Cnp3I31+
QmUjQndZYW8lYSZkRWUjUTRjP3U9Z1ZqXlklZlE+JkMpX3ZMdWhoUmFVQFVNdz1wcUNyNiF7Zjs3
LX4zdAp6X35ZeUlIIy1wdlolNXlDeXwwVGJpT1B1bjVFQjtiNlgqMjdDZis4JnstZ1VSfEhTYTVz
TnwwK1hgZ2RhaV8qVE8KelNBU3tCPSpTJCVuI3h8IXh5WGdqQmd8KG01R188SUdBbmoxMmAmOWxt
UUBhY0c9Si1fbkVidn14bXxUIWVPPmNaCnoyVmFsWWZaSXNpTUE9Tj0hcklFeUNmMlVoQHgwVVZN
QFpNbD90LTMlLWw0d2J7P2tGJkFeYyhiNXgkPk5xYmcoQwp6PE42YlpsZzNrfihgR1p+enN6U1g8
fUJ0ZDdBekptbU1vV1RTNm8qRSpDTitiSCVjfWV3KzZRdGJgRXkkX2ZaZHMKejU5eUVDazJ5e2xw
ZmxqPFl+e1REQklgMnYlSl5GTmhWYlV7Y0txKCFlYXdVWHF1ZGtDZTtFSiYtMlI3Z2thMCF2CnpK
ZlFZfTFocyFsa35Hb0BheEBCMk4oWldCPksyKysrRENkVTF9YThvQ01JU0U3QWpVXkhjV09UNHVJ
b35iQmsrKwp6eU8qYmlIPWkkJktVfX5+Jl9xYUNTVWBrRTZrWVVNWSkkOzlNQkI0VSR3SHx0PWBA
KXsqO3UpXkB9VWE4aW1wbUYKeiVCQ3Rocyl9bWo+aWlsVW5vTF5zK08jXjx4PlJ9O2BsSlIjJish
ZWhqWmxwZE9oNl9Oclo7OSs9R1BXP21NflVgCnopKSs3R1pBZmpZP0M5Ozg5WEs0aG8lbyFFVHFJ
b08tODl8SkpYfTNQejJkI0llSlh0MHs2X3AyMGA+eTBnSkQ5RAp6THM0SExnQEtAfT09JHI0SHlz
Zz53X25+eHpXMGk+aCpGSWZqRz45ZWg8JTdWX149djNwRF49cmBxTkN9dWNWcGUKem5Vdnx6UT5o
YmE8TFJTY01seXluaHFGZXJyKmFtY0U4VEo0WjJAY3tTYGw2YGM/bz9mZGxfJUpGaHReO2JjTWAh
CnoqLUR1enNwQEFuVnp0NmAwYCl1JTlFfmhaXnYlPlE8Z0Z4YUI8PHVLdzRIMX0xaUdaVVJlU1Yl
VS1VV2xkaz0mUgp6ejhpYGtQOHJHZ25MVX5fbU5sTH1rdnRoYzYqY3tPQ2dfKlh0am5EM3khcGNP
TWVRWXhXejd9KylmYTFTPnRQIy0Kem59dTdBK2UxNmN5UWxsRzJlXmx7TjhIQ15Dby1wVVhMOUcj
N1pSNXVTTnp2cEghUWRHY2EtLTs0PipyI1B3PkNUCnp7fnZqaS0pak9xR15XZ2p0YG9YJTBZRGBs
MDVVYFhmRjJvfGwwWExsNEt4N0k1ZHZWTztzNipQOXNxeyg+KS0xSwp6MilnQm0xWWlQJDAyUk9q
MnRlYXdPfjRGcjBZYWNMV2UhamNeWl5VTjgzLTlmMXJpNDdmTHVWNHBhTWBnWGFmY3cKemg3bT51
OHRiSiU8R1h6QDVtKjgyNH5CclpWUUhhfVN9eUUxOTZLfT8+d3czQUg7MW84S3R3UHtYaGJBTF5o
S09TCnpsMFloZSMhMTEqMlBrR0pxb157ZHdQPyZ9OFImVEVGJkt5I1ohcUM3LShzTytlWihmaUYy
V0pPPkF9XjwtTk4oMwp6TjVSaGA1RnEkVD10elcyUjY/dnFkYF47MURvPVZ3bVBNe2dlb0lrNnNZ
P1klUllQcjBMcSMpN25ARmNjazMmRG4KemtqaU16I0szZ0dUKj4wY0QhflROSG9+NjlWYXFBVmd+
R01PVUJtTiUqTzU8IXBJZC1qNUp3MUk3Km04bWx1Qz80CnpUdFkob25aNHZ8c2NoK1huS2R+Q2Qx
ZUo9TUxWVDglMl9JbnN4eFg9OGJxMzZUR3JaZUkqcXp9KDdDTXNKan00bAp6WHV8fkdSTDshRHl1
QFBKbEVfTmlJe3hMVEVzbVhtZVVgKCVsWmJQeSVhKXQwZHgwbUtteWg/bHVafnwmZkxMSG4KekZu
N3FlUzZwRz1VLVBgRmMrMilLS2F4QnVCP2MhcHtzVUowcjtvJithKzI3UjgkWVkydUJDQCQmfTlE
MWUpQ2xfCno1MWlqdW17NHExJTJeSkUldk14WSMjZyk1WVN3YyRxQk8weFJKVFFSODJuKUVoVXVC
PnN+SmNmQCpYaTlsXlctcQp6V1NyKnlyOH0zaGFKVEhlZGNXfkBuXyMhfUs8O1MkXno4LTUpJTxQ
amdVcH1qJDZ3PTVATXJ3X3Eyc1JzJWBpOXQKekt8bX4hMXluK0YyeT8oT0ctRSZ4NSYmc3s5NiVB
RXVoMn11RzdKY1kyMVg5WDBWVjthNW9ReU4xQ3wxTmZzNFdHCnp1dkQtWHV6OWZpYUorQ0thNnxC
OUBHa0hfNUooWmM1eXFqaF5lNG17QnkqJkdXQzclUzZlNSV1UjR9U1A+SXNAMQp6KzZ1WjZgWlJf
ZiN4JGw4PHw+djApKW4+fTlESk4yVHlmbFNKVWhINntBMjx5Zis2VldxWjU1NkhYd2xeREpMfjEK
ekxuQ1Y/Y2MtQUVuNHlmTTV+RGgkRX5LJWJDOE0zQU9RU2JzcGs+JSZ0WSEqalIkKER2U3p8M3te
SkFDZXp+JEtCCnp0bUJJMXcmcj1wT1VpcjR4NF8+Q1VDKitHUWlhbipheng5O254VzZMJjFYK2lC
K3xrJSM8SCpFaXNWTlhaantLQwp6Qn47OCpnVmVzTHdgaTx0QSEmMiNuQ2l5cHdka0tjWEVKPFls
eDkzYGlma3JuP3JUeDtWJFhgditVOH1FJjRDQFMKemVYdjhuNk9wcm5PUGQ+IXlTSy0qbSNCQkhG
TlItYHw2IW0tJmBnTUM9dW50U198T31UaF9RRUM/PzxFNXFXZmJOCno7KEZwMDZOVyRPQ04zc0Jx
fS0tUHImRTF0JXpVMnBte1hFI25vbSRMUUl1Rj5TVm1SOHxFPk9lV1IrPFJaeWozdwp6UiUyYFBy
JmpCQi1jSTFoUDxNSy1RfiRGO2Z9IUopIU9AY08qaCVrY25fbzZfe3RFPzVkI2pTYElhfG0oVVY5
c2QKemhSMClQPks4dytePV85UXBkS2dtdkdMZFZ8TDY5PF97YVhLfEpjOXRBTiVpdStDTGwmMTJw
NX4zWD1AZTNiUEIlCno+QnhlOHokTV5TU1RhfmNYcFV3Y2p0WktNYDM4M251TFBlNGV9b3s1QENC
TXQoTTdDQUIwdmc2VDA+U3ZaYWByfgp6TmtLKH4mVllTMUdxZWVHNzQmV2xEVTViWkRhPnZ4Nnw2
flkzK3lBRFV8ZStFRUllKyFaaFR8PmJBbVdSUj5EQ2QKelhKUT1VTWlPZ01ZfD1JfFM4X2A3cEFA
ZXN4aFhmUCh4fG0qJn1qeH1xdiV4V3ZGTHY+PFM7cmgye0ZTbGtGdERXCnp3UE89dE1ffldPUU9A
fj4lYW1KfmhsdUJ2Y2FnNyR6Z25PfnV1IU82eEtVKEtiVmNrfDB7PERHcT04aGhiYi12Ywp6OTlX
KTUhQlgqcVFpSmxVRHZ9elB4fW5CZiYwNEo7OWRjY0x5IylRQSZvSz9QamdwTEtPb2AybSUrb0N2
RW9yUm0KenQqZE42d2k8UmhfRShQVFA5LWtMdTE7PX45I1dwKXklfko2ezdDKU4wIWYyJUxZUENW
IT0lRn0tcT1SbXp4eG5MCno3NDxEZkVWbDIxVWl7YHEtJGN9OyshWFE4Yjc9dXokVE5PcXgjVW9N
b3l0b3JGZjVgZ3o5e1cyJi1+ezFVQjYxOAp6aE5LUnJlIXA/THh4S1paSikrYUJpPm45SmA/RWk1
KDB5M2BDJmxRXl98IzwwYm4zNUhiSXVEZG1kc1hjKjhEYTsKelpkTEJnPjtzMV4kQStpVD1OKkBL
SHYpSXc1QjB5dC17VTBAX3dVc00wSEkxaih+cFohUGlPUTFmUkYkSDVBamI9CnpjUjVjXzRffjNk
I3lrTURJc1BMVHxDPDtkNjk1d0VAaTd6TzJPdz5+RUI9QEEpQ09RN2czZHdiVT1URmBnOVFSKAp6
ZnU0UTw2d3JJWEw2ZVdyQCl0RC0xYEc9YWtBUjRUaX49Ujcjc3B3TVVAIzBVNyFMMEQxX34kJGBh
Yn1SMSYyKz0KekI/KnRDWEBObFBoUmdqYkp7eXJucy1oaUZZeEowdz1ZQE0xNTs4c2tBclViaEpw
Jl5YR2NPOyVmU3sxRHcyWjhyCnp5bj4+Vnd2TWl6Sn5adVdYPVZNPSNANWM+IV8mKiMkSmZ0NHtQ
bWxOeDl7RlpDVmMjcW4zU0NJSVdefk5aZUQmdAp6Vk52bi0lQnQjYCtQZUNOaj9OIWwtOTVkMXti
Uz0zbFQqXyh6aCtsZipWWj5TeDMraDdQZnBMeUZEfGRIWipHNjwKejElakBuZjBjaHxfODtgWmc2
YWhXM2sheHRfXmxUUiNzXytVdjAmay14WnRyUkg0IVlfYUh6Um9BPnZCS1hJSGMlCnooZVAqOzxH
cFluTWFITSlVNzxWcXQ9Yj5XeyVlWWJ7WGYjfFpeaXpsKkJvPnFmY2FDdkZ3anV+Z1B8aEAzb1h6
WAp6XkxLJFI+Mzw2MUtNVjRvMCE/K0lwZ147anwxM3tYQ0xreWVYayZRajdZenZrPjk0PjM+KnVF
aHNEbmNKR3oqfFkKekJWSElSRmN1JklUdHFWRndCfSlLYU9PbFowezxUITtIUkplSjtXSU8/Oyp6
NmUtQU9ufDlnbHJAIXZ5PyReVjA1CnpNQX5LN25wfFBpRCh+KiYyM01zaW51T2BrQnRAP0JRTWBM
WjgwKSFKdDhoTERtM3BRIUNASHVkZFZYWFdPbm1iNAp6P2RwSkI8N21NZDQzfmFQY2JgVnc1IUVf
KWc4YTM5cm17ZlcxbXdjckRgKUdNcVFJNSRiYHBBJSNRYDFzKlR1bWQKeiMrPUE9SFBgPX1NaCQr
TmBoVEo2YG5+PnxEbyVVTiQtRHlfQ3l3KiE2aykxVm1zQDslJEhuMlpAPDJXSVNtS1k2CnpjZDYw
JTJhUG1KeWYlOUZVLS1PbFgtYWNpVHFoLUxNUmV5PT5FbWYlVGReaTwhRF4ybipnRmYtT29YdzdQ
NmlBMwp6dTR5ZFJCcEJgVntzUTtMZDQkU2VFczRoVnpfam9YdEAwfk4/YyNXWkVKV1FlQihEYTFe
MGd0O1VYNj9eYz4tODYKelpPR3goQzZ7V3FHYGllaUgtMiFfTSkxJHg1JU4hVXlTbDJPMyQ7VD1P
eXF3byhvRHtgNmNuMnA8RF5HPzQhZDhGCnpvMX02TDspLWxzITY0WHVNNGpsKSZKKSt7I2hJJmtu
Q308aSs/UmozRTFzX1pPMSYja3Y7ciUta1djTmxhV14/dwp6cn1ncTZQUl5LMFFgPD5MJjdgYmdE
ZGd0XnhFeF4+PE5idmglMStYaXVuZ3ZpPW96blhkZCpLZjZ0YE5eMmo0T20KekI7UXV+bGNXP3JI
bzY7USl9SXBDOVokZjUreEAlY1NYc1pMdTh6UDNSO3g5fkV3YWlfa2RvRVhqamBUaCVWUnROCnom
NWVZITFvQGFtXlpKVUQ/MDBiaTE/ISh6V3xPPGpEMylxfEB6R2IhYFlHRV5WSXI9enRYKnVAREcl
SG8ka3klPgp6QFIqUUdPZT42ZT9wKGQhTiFgQzdxYkZJbUdEfm9EVTVKfmleSUopbm01Y0QyOWhl
fH5ibWBoT1h3dHRNZGFpITIKeitCJWZeUmpYNG9AMThNbHlIb35WKnYoS191Ql8xM0ZqfX1na3c/
LTQ+QmJ9PWNESikzV0JDYVhGMlNvRitgXlBPCnp3VU97cismTUJsX0kxIXBPTTNyOzsoUnBwMGJi
Ujh5b2dhejRTbVF5Yl5BV1g4anA2MyZVMihCbkJyYnp7Tjk5Twp6IyoyY3pNXzJ2RXgpRXktTCsp
S2ghSzZBKGpYZDlPXj5LQ1VZdmtgdVMyRWxtSXtPSkpWPHBraiFeR3NOVFlla3wKemJxITVObCty
Z1FaaGgqQk5LbkNkJF8tV0hgdUorOUhFNVpmXlQkaTQ8JS1DJiRXe1RiMFE8KD5uJGE3dFl0fD0j
CnpBcChETEN5O0crcCYzMFhrYFhlRkBmbiNoQy1sRjFOSVhzZCpOaD4mdCMyOXFwKEpoTS1lU2Rz
Z2hwcXdeZEpSWgp6Z3hxQFJecjluN2shSE5pKGc7Zl8rSFglJCoyajcyYkRwcXY7ZjtBKHUpTHpJ
cFZZbkdGPX1jcXVgeipyenMpRHYKenQje0FPPHM5TVk9N19ZXnhJc09FJFFTLXc/Sm9eZiVtZ093
bk5HTCYkN3w+OS1nVzNAeUVxfGA5Qyg9Kj1HVFNJCnpeMDU3UWtCeW96KyU4WD1we2lefmVzQko+
ezdfVXIjNVh+YU9KRHZKZyhwaVk5OE09NDl5JStqbzFCP2ZuWEcwRQp6UnhRO3RQQiN7KE1qUTk8
JFpxKWNEa2lAJHVwNi0pMVRTcHtWSEYxfEFHM2UoVWZBT3d5aGdCTStZLWwrZW0jUD4Keikkc05K
Vkl7PX1qbDFKPXwwS2ZvOGBGcWNsUUw/TTVGfGJubkcrciVZYzs4cnExIWh0YiNnMituam9SXlpl
ZTtrCnpDPW5mfXo0Sk98VjlSQ1RlI0NSKVFSMkYwZU5DbjZkeGZkXlg/M1N0YGVfJH1zUTIxYjxJ
JFRaZkI/T2s8Qn1rWAp6OW5XUmBMeis9b2peR0JgTlJuSGQrcjlZTCp5PlgheW1qLXNDNHViN1Nv
JCkzNWZ9VihoZiYraW1xezRgV1l5T3AKemE5VUEkZ3A0PDMofU5HWjVUZmg0X3RaUDF6MWZMTHU5
RTltciY5PFduTmRoWlE2VlZUaTU7ZSk2XjE2eyRwOSpCCnpoJDdlMCo4cDtzcVUjRW1HIXgtSHBN
QGxhbnpnJXVNeGlHbGJiNk9tSWM/PzRsJklgfGhYfS1idVEraERBIU1xdAp6PG09ayRKZX5APDFG
fiolZlp6Nnx4YU8zbktuNEJrNDFUU2N5akdAfWl+cDl4T2ZNPyh3X1h9cF41dHBITWVMZXsKem10
SjRpLWVxNnszaXM7UWBlIUAwKUhWbzhBaj56Zm5VWn1GKSRtUzM2JHlWRHJpPUxaNH15M1ZjK0V7
PE91NntECnpPQzRse0xEeHQ4I3VOM28pZG0rUE5WSmk8SF56Y0wrelUpJShZWHVHI24yclZubW8j
JDAyak1re0gmOXA0NztxKQp6PiozeEhaYH5vOTZXSGl6WmUpOGRyZVc1aj1nUXF1bHl8KUdIPD13
Mkx6WiNuTFhaRygrPmc+cXl6blVKRyk/ZFEKemk0e240PUJpJnhGPlh0UlFsbm50WjBrZUF4c1pQ
bmlpMlA3OEM/dzdDdiR1YVNCJENSKCZJKSllYl9zX241P149Cno5VyVreTBKMzx5ZVBkRW9iY0Mk
MDElYHBQdn5FUGJYZyNGRlpJaDE5V2ZVSGJpWU9GYGFXMGx+NjJzcmhPdGlmIwp6QjR9YG5MPTQ2
ZzRya2ZQQ0kyWDFhYjF3VGVKaHN0clkhZGd5QSEhJjhTIUp0aU15WThlR2xMQXhxaCVfbSo5VDYK
ek1eVHRQY1M3fVNXNmlDWmRmTiV0cDxyRjF0fDZQY0woTyVjQDlnV0JYWEBgK0o+SjdRNGx6PEoh
WS01Zzd6ZCNSCnpjJjhRSC04U2JlP297VWVVfjk3eVlBMklDcj5XeVI7cXckSEl9dEJpM0NPUD5D
c1hRcyNtV3QxYDJqO2lTbH16Vgp6ZTU9eChEZENBYVN3IzYtbiZMek9keVZudnhsJipHLWUjdSE+
Z3M4dk42aHkyTlgyJSFRNzFZM1NmSGpPZEVjY20KemI0MlF8a3QzUUJpZXRKRkRWOEcwd2o7Zz5N
KVgld0llZEdLMEtTS3l6M2VreHJoYVU8KUpve0hyczNVeDwkKXZkCnpmOVZFQzFWamJjJktpQnpx
U1p7WUJWK2A4WHZkdUJ5bT13ZW95OXNhdnNJdGFiRSVXWEotczFqOCFvOXUmKEdhJQp6KWpXTTxW
aCtRNjlKMzReUStMVkEtPHEyI1NEdHNZeXwjbzVEdG9PRjQqOTBFKERmZT02O0gwRlpodSp0Rk1r
NVMKelcxWl9XdiR4fjkyUnFoUm1EfER5Vm5WbjItM14lczdeYHpoLU5gb0FGUzUzX155KFpmO31i
TnopPUJsaD8xdGNvCnoyOSQ2Kkdgay0+VzBxPmBmUD9jVmxfUis1NzMmSVk7clArP0o+d0clKHx2
K2pST0BucHI9UzNkbV5+bEdtblZRdAp6MF9SKmZeN1FEOXNoQiM2RSU/Qj5iKyQkQF81ZVlUNEJP
YVdGKlgxbVI9O3ExLWtmV35FeWVkbXAtOHZWLWhIIykKeiRseSk3OSkzUH5ZMmw9dj9iKkAwTWVk
ZWt3SyghVDMtamR0UXp0SiFSUXFARSVBXyNyMSRidzJCYDQhT3t0PGVeCnolMSVQKUFyckZBSndn
PHNwVnZMX25yYCpTcDghbnJHZiZLUW4yTnpTdU1TQ0E7LSo+e1BFMTJSOWhVZms7NjVSRwp6b2A+
JGt4Mz5YN0VHTEtKQlJyeilSPnU8I08xJCZoaWd0VSYpMUo0UGV3ez9sPXJ2Zm5NWEV3MzF3a1Fi
SEI3c3YKeiVxUlI2QHh9SkYkOz58MSM0bk1+K35wPUl2RyhPeUc2NUleMEVQNzlkfWZIREE8RyRa
YitLLTsqbU01N1RBITstCnpPU04+JGRoXm56KDZpfigrc3RMaWtCXj96JDFmWSVVJj5OPF8lTmBT
XnUzP1NZPzI2e2FHVVRySj9FYiRLITdmPAp6STFpS2IpbilmJENIPWF1PHchQjVjXnNKfm0hc1Zn
TVBuWm1jaHtkVTFlVn1lPTxwcGpAWGcoNCR9ZD8pQGVDQkwKeiokVlRDdDUtQFd1eHc+Z3V5OH49
RTVpdVQlR2xKK3p7e18pajBLYkkzRmxYQHl2dig8UFROJURVN0h8N2h6JCNOCnp6PE1+eWItb2F0
TW1TLTNsJXNuQkFPQHt6YGdeMVNrJEV2SXg0c1EjRDR6XihAJmc2WEg4VihmejkxY2JHPmE0dQp6
SXVVcHE/S20zfjhON2VTWUZXcnw5ZVJGJkhfKUVEc31HQTxtZlBPTCR7IW12JXJhfHFuQz8mZikk
OSNMUikheksKej4hYkRkNDI0emwmI1dQODV7NUozOWVScjRabWJDeiVORnVHTHRiOG4kXio3X2Uo
KnNFNENsRylOJGRUSiZiPn4mCnpXI1lwITBscyk5TDwrJkJoPSlpPVd8RHpBUHJ3SzklcVBHTTtS
JW8+ekZEfk4pcDxOMXMrZDEhJHZZQUY1bzdlRAp6WDIqdUV0aCRNLT02c2ZEVHwzJX1peFFuMWdM
SmJjaWgwRDwqQVlWVXJpM0ZuPVBrMys5c2duQFA1WXBKUmhMRXkKem52UDNJcyQ3c3RyZ3cjLSVs
Kjc4U0xkWno4bmg+ajZ0NWdNc3Jjd1R7ZVB3PUcrXnU3PUdjWXQ2dVp2X1V9enMwCnpqRmh6QVM0
THlGZHppIX5mJjQpMFBOaSVmUWtkfH4temdlTjgkeHtNMHxMQ3VTIU0wSWpmPkk9T0omeD80SnRE
Twp6P3JMezhmfDRVayN9dyhvamh0V3JwQkFLJlElfH5uV3JKSjU2c1YlMUFWaTc8VThqUU0/bW93
b297UG1qMGpCajAKek5yVmh2RHFLaTxMdU8hfjBPbiNaUW5GRmM7cylwS2F9Zj5IeS1XfG8/e1cj
KnY5aFM4b1JadTI4SWttSCVDPndjCnpWNnczfkNlTlYoSXNhXnhWfGhZS2NqM3Z+YWlXMUMwd1U4
TEBkbFQjdC00cDxGQWEocHIrayFwYUVmaCpZKjg8Tgp6YExAM0VWdEooZ0hma3RjIV5hd2dZWHpO
VzF8I0l2d1d3SW5VY0hjMiFCXyRHYWxDfl9tfS10NkFzJTVoOEBMKFkKeiR1aElJJmRWQUA7TUhh
WF5xRGlWTDYkZV4kbWNONiozKk9SNWdNeEIqWXhxKTFgKU1NM0A2VERVT1JMcT1ARUNPCnpVdjY0
Kl90JS1QbFR0S3l0Vk1nbHg0ZVIma01jZGhFYV5va20md2lJeS0lc3xnVEJCUVpMYEVUdDkmQlRj
SmZ0bAp6QjF0T2lPQSQjV3NXO2UjP3s0VzBRN2lecihvX2FfbGxnYGlaZjtUfWk7PStBSEhBZGwm
bDBVdFVCTyFHUUwrUVAKek9gNnJNYUZwJlN6SFlMUEJ3STNGJj83eT14MSg1eHZGdWNxY0x9fl5S
eHhlWCk8U3YrYj0wbEsxQ14hbFZ0d1clCnphc30tN1dnPSFqUGY5RmAkNy12aF5iWndmYXJOYGZh
VyFSdXxKQFB0MWtFQ19ZJVAlbmRXSW5GQzdWKnp7PEtiQQp6OWk4QSE9NlV6ayk4YjFubWRRSUlM
UnlidVNCRC14diR6KEMyXyQ/TXlaaSFETiVTa0lPQzJuPUFnQF9fM1luPngKel94clJgei0mQ01y
OGRPYWxIb2pYWG1pJHJeTShpY00wLU9+eWJMbjdmMHZ4cXg5bVU3U0x7MmA7bT5HVXluQ3RGCnpy
U0dReSp+ZTBGX14wQ0RmbXowRVc+a31JWC1xP1RNU3kycl93P3NQeEFjZEoqI2QtI20tVEpNeHJx
Ul95OD54Swp6ej1Pa3ZUUUg7OHc8Plk+a2VueEFKdVU+SnQ7R0sjYzttTTlSUXk2YzxfVztxb01i
eU1hajRJQ2NyUWIzZnhebD4Kekk0NVVQKEpxRHZ0NiMzYTtrUnluMSE7VWxfMSNuX3hPU1lpPVNH
K35afml2eVBlZClUeVdVZXJWKVQlMDNQQyl7CnpHdyM3KlcjXih9RDBSeDhEPklyZHpEWHlRP2Nf
YzdxJWxNRFBEKkg5ekJKOHIrdmkoZkI1WSF6aCFvfGxVXkpeVAp6UWZ8Ul9fTTs0SW1EX2ZoYSRx
b2RSbkQ4MUdFTXQ+NSFoOGFHdD5XM3IoVXxAd0xOPGtidklSVkIwcGpeYDRCNmQKenNMcHIySnU8
alBCQmkzekA/MSklb0dWTj9JKUdUfDBgaCo1MjtXRWcyZmhMPDBXNGJeOE5UKnRPV2V9Wm9+YlNf
CnomYWZNKjMpS0B+dHE5cWFwdCgkN1dedHhLLSN4UnU1O3FXQUgqWn5hYyE3YVh6cXpATlZMTDVS
XmFPcGV2fHQ0VAp6Y2I2UH15Nmo+fFZ2YEh8ZHhzam5aUTdCWHViNWw9RjItOHMmalMrdVpgMD9F
UEw/VmtsJHxfWmpsUX5YenRWMGUKeiZ1UElBPy1iUyV7bXo+azU+JDV8MFQ7d35ZX0VfcjNofHRn
PmszO3xEMV50Oyk3XyViZ0gzJjQ+NU5gMlczP1B1CnpLU0VsN0Z3dT1xdklQLSpLNTRRQG1oJHpB
R1EpTXVPYnVCZHpVIUo9VUYpcFBEdGhzYlJ6cGw5M31lTWlXTkJ0QAp6UzE7azBhbTs4eCpDRUNX
djM1djd3Vi1OdW53Syo9PldBTD9abnMzZkd4S2RVNCV9X2BIUVQ4cHtGYmRKVjI7U3UKeiNBc3oj
ZDtqUFBhKmRHQ3dTcHA7NjdAZCFRJkQ/MnJmWjFzT3ptaEBxYSRKMk4xRSVqUDA9Nitgd2oyOy1i
amgpCnp3VWc1SzdsY3tmP0BFck9iWUJzK2xmXm9tX05qNFFmNDs7aUFxLVVPSSk7ZlUyRWdCendX
ZCZaJDEqUSQzM2Zlbgp6KXwocVg5d3xJS0gpVFAzdjBPODtvKnx3KHJAZHFMPUMmKl5EWlleSFZV
WWowT1NxMV5BenkmOHVUUyg4UFd6O0oKekY+UklKTHxkdmM+ezB+byljR31Be1Rrfk0zcyRVdGpY
Jn5EUypTPC07fHF9dF4qdGtFZTI4RTZ1STRVMkJAWks0Cno5fSZAVzNyQ2xqaFUzbXQoZG8lQDBr
N3tmUkBhZjx4bUU2cz91JEVsSXBhMDhPNEl0fG47Q2ZXQiY8T0tCfEdCfAp6NjBQO0s4SHV2NGch
bns2TUMzV3VVTHN8TFJYK1lraUQ0VX0/VCtfRCZpO2Y7NzQ2I3x6MiQtUChmN3E2IzVhTXUKek47
PUhLP3kyNnBVJmhiT0Noc3o/RjVqVGJHTyNfS3chWldIZTE2bGtKYXs+bGA1ezVrXmlLVnBaJjwl
Kld8d3BLCnpyMXtNKXFZVyR8JS1RMzNQRipLdnNnUn52ZT4hWjZ6YlY4dUojIWElZj9Ib0xTfiNJ
UyhWRyg7KzMxd053RDFKPAp6UjUhJlApcT45aWFyPkZ7Xj5iOStpc3QzPnlDYWw4cXRDUTs4e2N9
b05fQT58JjhPKTRsQi1RKFJ3UW0rcVBxZGIKejN9SUdrZk9aPFl1P1E4SmYmPG5FSG4xKGNTRSNI
fE08ZG1KNHBPam8hfklvSFZ+Um9rMnwjPS0kU0dEWGxBI2crCnpfRXA8ejIjOSkjZGR2KWtqfnl5
Y1dEPUN+Wk5JQXdwN05xVFBkbWFuSnFfQjZoVW1abD1FKyhBeF5NOzNYVWk5MAp6dylvbip0WkxW
PHNzYVo+VlclREJKdHVHWnNyazV+ejdFNUQwSzFtR0VTO21TPWQ9WD41I19ie2ZebnQpeUVlXzYK
el53aXlobVlaQU17JG4pZjdqeEdFXjBqdzB7YWFIaXQhSEpnV3VsIzhxJWRSJkRlfXgwdWFuZyk1
fGB0eD9KJD1NCnpSY3orNXBMSk9kdD8/cUBVKjwrJWAxRFhucm4wa3FYKjhUU2skVkRjcUkrTHgp
NDs5MkE7cFFrOTx0SUd1eyVMQQp6OH4/bmRqKD1QZz90bVpOKlJ+VEtBQVYlS0ZqWmY/Jl9BeH4r
TWI+OzJSdXtVPmotN1p1WDFoR2VfaG1mcnxTMW4Kelg7SUlvV2lDSlpLITcycmYmND1fZHZRUiMo
ZDYyI1ViUj9FZjdTazJoayo7S0JCZyh2K3M8T01HZzQwZGR6KTlDCnotRH1MOSo/OD8jKXN7VFEl
I0pFNSt9fUMxTTZqbHN6R3t4NjY+KWI5ezBRPTZ4d3dSPVBFJXx9dk09TEgjTm1aTAp6R25YVm5D
QGl6YztnNUtDKjNhIT1zWDAhKjVkOTVwNnozPHB6RjE0NUJyQWtnVnwxPis/Vk80KlpvX2JYcVJl
Q3wKekVZS3JsZyhaYHoqNFM+VyM9M1Q3ZnVXPSlCVzcxdlVeO2JrVDVgJUhFSl9HSS1+KF8hV0U5
dVlGI21aX0RkcTdqCnpIaVVLQiooX3oxUX1Fc0R4NXx4bD9+dCNEbkw1Xm5wUDFWX2F2RSVBVz0p
R01OQHV6WGNQZCRybUFGZnI8NlB4Ngp6PFghI3MtVU4wbiZqaE5rSTgzSV9Ed3E8QEFSUm5VREdl
OXdyRjMxWnBwWlR8LShHKiZUSWtDWVdzJExCSm52Xk8Keil2dWkyJGFeT3VDU2N8ZmZ8SWdMUFZD
KTBKX0Y0Xy1xOCZJP304dFJyP0U0JFMmOXgqTjQqeCMkflg+bXdqO3pSCnpBajlVdERFQElFdXpu
dzc8MXs4WCV7TkBSWDM4X3wzLXxGJGxFUFVjRzRIeD1gTU88fXZ2R31NPWpzQWBBNEI4Iwp6PS1J
KkpCWD9YKj19eWFYTGkwenlVKT9obEJgK191Vz0mNlRqO2BuTG1tO2BLbSlQP2NQcCpPd1QyVjt6
QFAwfEkKekFnSyFvZlB5fClKLSkwbEtraU4+VjI1eCQwWiEyOEdSeWklbWd4OXdHcyNMeld5IVVB
N2t9eW17fjJHQXhhI2IzCnpWU28+ZmsxPnBQMWNqUkwpSVBzPVFZWmQjWnBkTEYhZFZIZUdvamRa
KzNgJGRpaGwofWMyPzY0cUdONlBubmdSMgp6SWRaM2o9YUEwWTM7aXV+OClsSD9JPFg/QUIxdn5B
KWtHMTZXQFAodU13WFg0K1JrKlR2ZENQUHlJVnAoZkJJVCUKelA2UDJ7VWd1T1NePXRkRys+YlpC
IUR4bypnX0RUX08ocmRDVE13cHY/MmhIN0ZKKWJJS2I0cnI0MisqckhAKCtrCno+PEluKCk2R29r
SS0rME1NOUYwRHUwRXhLKUslSng7O3NNamRxLSFocSlRZSk0N1RxQmpMKmJSeU14V2UrSUckJQp6
OHxlZFJ0bU0+ciRkU1dya2pERWYzOCY4MHVYP1c/M2NsKHlZNHtSfVYpJD5HWCpHUU8zV3NvKVEh
SlhHO0okQ1AKej50UU5XRj96Pz97cm9qU017SWBqb1dVQCRXYy1aQmVNI1lRQCgrc0BoREkoIXpP
bmdZQW4meX5IJV59KkwtdmxUCnprKnEwKGFGKyMzNF5+N25ZdGwmMldXeiEqTFN9VHlNWEdhKj58
eTBUI0BramI/UVhmJXshNzlHangzVFgtV1BmYgp6YWI2MzxJdTkje1hqYSFGb3ZwdVdDMSY7Qk0/
SWgwMW4wVV90ZHJDPjJNKj1nQ3F2KF5nRCl5ais/WTQyU3I+fmQKentzdUx+RnA8YlJCaVlGKzIr
NmU8YCZVcC16M05BfjtCJEEzcmREMGlAT2tzOy01WVhDYV4/WXNxX3c9cWFXcVJkCnp5IS1SSnkh
QCR2Z1ZWfiplbUJoQHFoXmdzRihHRkQ7I0whcTFSTlI1U1UwKk9jLXVAS21pWUROdCgtOWB5WVNG
MAp6QFIyeXByUD1DMClzK0tqXihuTTRZMVYhRCEmelJvWDFgZkUxVCE9THk/eDVNK0tQelRPQn5k
flNFZDRfdV9BRzkKeld9alp4RmBzaH58OHorRndLSEEyOU9UWDJFTF5vQj9CMEJGTG1AQ1Z7UEY4
aGFnUHJ4PCtzV2hZY0RkVGs3NHJUCnpNVkRuRWMtTC1LQl42PytKY2glOzhYeXNwaE80IUBgO3d3
LVlYPzg0QjlvdztnKXlObHV0emolaUQmIXo3VD0xRgp6bFdkaXJteXcxT0RmUk8/MiRqZDdVa1Ix
Mjk0X2QqZTZIKH1PeFVFb3dhVjtWYVczbCNOT0JHYyFmQCVZRD9YYn4Kem4/SXZ0NX1WUEsjZUkr
V0pUYVYhPlF5Z0k3fVA2RSMhbyNjcyUoOFcjKlNwWG9GME9DYnkzYi17ITZrQHcxbj1wCnpSJUg+
SzV8ZnprLVotOVhDSlMkWVg0alhFbWdFQSVDIW53PE0ha0dLYjh6Q0wqPmpffkMzUngyPCE+WTgz
LS0zYgp6PExsWHR1aUw0Sjc9UEhEbXpyVTJvN3UrUU4lY3dpMTd9JEJPWFJKWng2PipHKX1DSSZj
P3Fga0MtaTlxU2R+ZzQKekdvfShla3BwUjZEIXlVIXB4dUs8eWd0cTYhWjlmZ1c1VWhROUt+WT11
RXU7SHV7OzJSKXFGeihDUjAtdnlWRTBVCnpEZSFYPCVwOX40QmpvQyg4N3RIQGRRbmsqIVk1V2s/
V31kVXUkVl5KJlI4TlpKI2p1ejIlJE0hNXJUQ1dETFVzWAp6RjsmbXM8Kn09VUB2WWJIJT1maTs2
cHZgdVlSe2N5amspLXdQQWgzcDBYe3ErcVJhPz1yNTRTZ2QjV0FmQD9EPlEKek9LKVBNVDIpdn5p
VyhrWXZSXzw2ZGYjRWhDZHxtcjVHbU9LcUc/KzIrJVckJC1ufnBIekJMN249U2FuNnNqfSM0Cno8
VjJrOFdGRD0mOWdGI0x4X1BoLVFKSH0jTVg2R1ZGVUBOazFQYGw2WDxwRVB6V21CaSRRfUwoQGd7
JEw8OyNiQwp6UCkmbEUmWldmLWA5Jj9sdEYmK3JaLWx+X2tScGsoWVYle35qfSo3I3RPZWlfQyEl
e2VKRWdBJGUwKC1lVVckLVoKemY0PW9ESTxKPSFLTH5EM15OTDdmMipZaFF4e0tQaUtYQ3NWNSRm
QmxhOFREQS19aFhOfDBQQWVsPUsyZ3MwVXAzCnpRZVRiKmB2Zm5+cSlZeUR0eU84X0UhYDtsOHxe
cSZvZEFOV2JxP1EqczNlSXVVYl45NWQoSVNAX0Y+fD5ZZkk5PAp6TEFSSHtgcUZQfkNkLW5mdmF2
Y1ZFTUw5WjhMNGswenUxMlE0NmlHSCV4K3pOZjshZjw2NUdjJDl1SFIoVUZUJTIKeiFzblN0ejlU
O3hffGdATmFFZ3I5LWhIV1hCZmd4WXg/OExaNCFZQ2RCUFZsOUxTVEctb1lHc0JlPjdhWjxHfE9Q
Cno+PWs2WHBtc2tVVDhYTWdFTGhBWVdWR3hyOyhyanI7OWBfMXQ3KHdSQHlAZD43PkU3fnxDYWoy
aHFeZ2RufTxCbgp6TT09Y2hJbW9zI0tZYzg5WU1HUmhXJnJRdT1Ob1N0NDgxcTxOPiM+SXdkISl2
Tlk0NGllLV9TI0pkSXlHQy1DUksKempsQjd8PlhyUGY9fj1SKkR8P29uPW81ZlZSPEpZTWteIU48
RjM4S0JiIXdoLXQrXyZ9NGBwIWwyclA5KXllbUtgCnpkfmk2Jno7V01FYG9paS0oQ09RblFGNzl7
Nyk7WW5JN3lfXyhSV21RPDhtOStHbEI9NnBYPDM9KjloWHQrJVJhVQp6JlU7S05HYDRHYTxzJHJS
Jj1GflFFdH45SEN1eyltQW1vUjJiY2kqRDRRdTx1Q3JeJnpJbWtUZjZPZ0FKV043KFYKemg4TnVR
MWlaMTxHKkhJVHliIyltRHEkfSQlRHJDdWFtJDtPR2ooZkxYKmZ1YVV5cCo1ZSV+R25kfSNhTnVD
T0s4CnozI3N1OChpPUEoSkUoVFJVeDFyPEEkdml6aSV9O15lMThNVTU9WHFRK2ByPCFSeXVoQ2R8
VkEzTEB6Jn1IZWcoWgp6Jk8teDxGO1NzYWA7PFZSMnsmekxKbDRkODFHP3x9enJAT3hLSGFjVzQ8
czUmNz0mRlZMNTk0WjBFd29uMTBSKmcKekBkfmJkKGUyXnV6S2NUJUVIbU5ta2ppQH1seTU1PSN0
fUVxdS1WNWolRiUpcE8/Nmt9LWRfMCtIeyV4LWpHIzRICno9dz1TMEU7Wj9tQWQ4Un1XSz5AVTI2
Wkk1NEdUOG0zS2EpKG5AcjF9ezw8LSQ4MFp2UTVYUV9QeitzWDF5ej89Rwp6K3pYdk8wZGU+SW9A
NkVrd1c+OGYoV2IxUGBuIUR4O2t9cFFsTzZpZzxhOXFScnFBb289UiNyQVEhPylvQWtzSS0Kektf
IzJwZm1HIzZyIStzUHhlanxSbFNGdkY2bXpRc25RbXNvPDU1eGVDSyExUSl4JDMkdz1HOTRtOzBE
cHVIK0U1CnpedysqcyN2VDRCU1pIeWNJV2l2Vyh3MWtmc0c2RWhQbXJmQXokJFhkOHVJdCklKjVP
ISRDYHtYRStZMXQ5YE85NAp6RmdHVHZkOU9VYTVRNXg/akJEYD5KUXJ5PTJnLVFDWF5gXmJ4SXZB
NT97PEdHdTZPMGZzOzwzcmBxIWBHcD5lQSUKekY+THF6ZGsmKG0zakdpX0RxVGMkemdaKyZhOWxe
Sj8+b3YjRTg4M04hVyN0MjFtV3I3aXxxezNzbGAqb15NTXtWCnp3KGtlOFFYYVBETVNAR185eTBU
UzxPRXs1PmJ1Yz5TLVQzQHRyQEVsc3owZztgLXYyXiNGIzc/Z0BZcHNxI0R3Qgp6OCFEUThkN0t3
I2NvKXp2bXFKNns2TlpAV1h3OFMzMmoxJDYoT3VlT3JyV3ImKz1RRmFYJEYqRCp8VChnJHM0TDcK
el8janJAan1aR3pfdFAhSy1pfDNuO2tBKT08JUQ3WEIwLSg+bmNTYCpxZExqXkhkcjVzUGpSeENV
ZW5ydXNRWDtJCnpmNzErNCUwY18lJF42b1hDeENkSEVmRDJwYGw3S1MpQT0oQG80dm1CLUFHdFZC
aXw2WT5QOzRmejYtYWVOMms7bwp6Zk59T0s7N3k4YiRPcn4mTCZ4Xmo8OTQyVVU4fCV+KGFQTXgz
dzNlJFNpIWZ3Ji07ZXV6djBFUG4jd0BuZWYlOHoKekdFRUFJOSQyUC1aMV5AMURqNzZQJSlXbGF6
ckZSayp8JDVgPT9mNVMqNHhWUE9fbi1VdyYhO14ja3VSOTJwV0dfCnoqJDxjfEZ4YEFjOFF2PzNy
UT53Wm1tP0Z7WmVPWXtBO2J6RjFYe3p9MWcleHsmPXhvPDRGfT1rT1hOOGtVMyhiVAp6M283ZXQ/
JEtpZ1NNT0l5cW9VTGhQSH1CI1ZRZ3E9QWJnJj9DTyRjS0V+azB0UHN0dlZSWCEmQElgYTBRbiNo
VSQKenJCe0lkKiRaek57eHhVc1J9KGhqPX5MQmE3MzA+RVREJCNCcUIrTyR0JWJYWTJzM01gbXYj
UE17NkRgRHZ+VT9kCnphPER6PktZcyM1Ynt2K1puR2MhS01sNlNnLUY5VDUmeHdyd1JiYHtaVSRq
b3VaP0ZCc1hDfmM3QEhUWXtuQjZAJAp6T1EmTUlNUX5KMiRWZSRtODRKRWdDZEpEXjFNc3s7TE90
Xk9SV3ltdDZJciYpJWQ8NTVRZ2kmWnFJUX5CTSU7PnwKem5wTk13JHZrX1drYDVxZkljej13U2JK
I1lfRzYxQDh5RT9nMGRtYX07c3R2fktsNnEhWDc8YHdub0Z5SFFEfDtvCnpLMm5edHpFIWZqYSY2
dWZYfGZTYXFJTnJOYUdmKXZtfTs4Nj9LbzB4Mm9SWVcpYXYjXyRSPkx5KjFxcjFvbGB4QAp6ST5u
fG5xbHxHdkpJYllKN0ZnNjxVVXg0JCNvPzUmV1RIRGtqUTJ4O1ZaQmNDVmFsQXBBPTRHezAjZXA5
SEVAIWAKej81Z3dkI29rU0cpM0RudkxfbjgpTTBmTztWYyYtQ2oqZmMpeUtTQE14eEBIWkdxK3Rz
RXZHODloZjlXQXkrbGkyCnpaUVpkWnNyWDtON0xEZlNMeEl8YzVQQ1ZXeyRwdjZaNGM4LWlaSiU4
O00tazMhYmU9JSRHVVJUK1NnfX05cHZLKAp6dmkpTCozSE9HQVppMi1JZShxRD1IYU54dGtyJG1Y
e0tAdTlPPlRFbjZkZVdFIU1SQE5jLXhEN1ZMY3RoOGxNa1MKejlyblZzN0JSRCFkaTAhZ25QVlNA
O2U1cTJ0QCtEKnlYOXpZMD42X05OSzghUStrSVNocE0zKUt4XmZHd1c+clBaCnpuJHJ8LXllbHI3
Qz14cX45dkFxMDg0QSkmZihXKkBodFI7dlhZOzFSdHFzenI7TCNNSFRqWWJDYDBqWT45PlVwVAp6
UEdCRVN5bEwoSEJ1aUsrbmczTGowUDZgVE51ezVvNCNJSFRjZ0p1dWptWmc9TzxLWlZxPF5PMiUz
KXkmWSZ8JHkKeih6eXpNVSZvb3p8MXhVJkRFO0dDZ3JAJGlgSWdtSClEKntMYVBpM0MyflJtJCt2
Y1ltRjR5VllxeSpFcmIwMVVyCnphbEk9ezZSQkdLRzFkeWZ7c3pvYGAzZ0x+eitidWMwdTZZeDN3
OC05KTgxQ0t2PytBM1hQPnFTcDgjTDt0PzlnZwp6QD5pPVVDY3pVIW18VXZsdS1fe0JyMk5nVnZ9
ZDNUfEtyO2dhbmJmSWlUWkB+dmlxezVNfXEwYGtmZWVZUVQyQTsKenJoPT17dERPKztva3pPeVhf
dChNM3RVWXomcD5taT8rTl5lMU1+IWFfaCYwbUtrb0B9XmJObEtmIWcjelAmNHx6CnomQnw+cnpO
Z3QhQyYmLUY/S1N7YkN3WV5CcEZnR3QtUndYMCZtNT5ASDlucVBGKHY2KnkxZnZXeSQ7V1BYbnBx
Ywp6LXB6c04yfmQzSDIpU0hDYWRZT1VxTz45VDFid1N3byRvNS1wMGRHWTxWYGdQYSFLRjFuZG5G
TVJXOTZlQUVzd08Kem47eCoxZFY+XipRPE9WYHdqU1J4K0RIUlI2NEROaiYzcUhXWGhVU30qaCha
eT1YRTRzbzchK3NiUT9wZUQ9SElJCnpQNE9uKGlBO0RwY2tXdDFKcX57TElsV2skMipTP0RwMyY1
OystSFl5eEdIO2pfcnx5YVpCdlYpYj9AN3RpKGckOwp6Km91ZF5ZaUJ6cV5sMitZezxGSXorYV54
KlZYX0dWWSlOfEJBNno5S1daWDxZOT5AeXo8KWB8OyZ6PH55P2l9VE4Kejh9WlJEZkp2TFNmPDsw
NUBNd0dIZTZ3bVY+WD5ZXz94IUEzZzQyZll0K3hjez9YZzFAV0gwP0tAeVRafFJBbkZjCnpOU0NT
RU0qI2B1OT9lVUdfdjBvY2Zfdk5kanJCVUhYdWx9cF9faClSVyYlfGI1fkxvbzNEYSR1KktLeXU2
KEVMXwp6V2orUDcrRDlCe2hoaWJmcnxRXldXa1gxSkswRjVASm1nQUBNP1BBd2lLZ2I4ckF+ZTJK
TTYyTXp2cCZkQD9ONGoKemF2eE4yQlEmVTw5aHVrXl47YEx4V2sxQiQwUWJHfHJMV3M0OyQ3Y0Ne
ZzQ4cD9KY0NaYFYwTTFtbnIkM1h1OVlxCno+JGwje1Bzel5HQXlFSCRXM0pAK2V6fHAzZ0s5I0Ay
M1ppMXxNWFVqa0BTJUxFWiVtV3U4cT8+NnN+PUVePnZtUAp6KTE5fG5PSShIeHY1bVBtMnp2XjBl
OUV3QU1rPmtwYCZ0R3crPz4wSjx4fHNiKGAtVzw5ZGNxY0J5cFJyRVpIXjMKeiE3PWN0QDZJeEJa
UmRsZlZiWk51Q3Z4X0dCM1R3bjd0YUowUS1hTSlEYExJSGdAWjczRll1SSpRV3ZlaF8qbkBOCnpM
OE0xe281al98eVFtZlAze0xxTyV+SHNse0JARkFVfXtaV29ITnZmNDclR2hpfjFtPSshXlNEbTRT
U3NycFFkKQp6YHN6Qkw0ODQ2VzdNX2I7JlArcGgmM1JYekAzdnkySUpgVHxlIWpaQmx6a3xIPzl7
dVc+YlowcmBeKFZxeUlyczUKelN6ezhiKEh3biEkcGBQfip0ZVBYQ3hVNWp4UEZuQGomPGN1QiMh
SWJVRnFBfEh7M1UtcEw2TiNuVCNgeSVIb35UCnp1Z0g/QUF1eDxWcjFPe04mM25NK1MxekF8dEVY
U0x5PlFkTV50RT9TSkhUQzlTMUJNWT42X1VKPFh4VXNfJWZ5egp6ZzJeJitxM3F7V2pxK35PQik0
fjFaMU8kamJuZjtQaik1JW91K0M+ZnRnMDxTIXUmbCRDSHRmcSFzbHkhRj4kKlgKejZfNiNqZHk8
JHpVdWBydyNxTVVAKntJI31eSFhvN01Tcm93Q1NpamE/WEpGdSZ0OVZXNVFjZlB0WVdBeXEmQkxR
CnpOMlclazRvaDU8PUB8cVVCSHF1PSl+eiV8QXRVX1pMc3BVP0k2PlYpKzFNcjREP0Uyd2kmYUgw
cG1ufW1hXjI+TAp6cUNHQGdoSSlOV2MwNEAmbFYoXlomT1pMQnR4YV9abTZkZ0A/RnwxMDB3Xi13
WXA9KXQhVWdReCpxUW9mejZrREsKem5mNl9fPCk8NUdIR2cySFpgfjZUPWtLUFZZaFYjZHZ5XiVw
OVl5JGtGby1vc0BKdnUzPztzJCpjRGpDaF4/Unt5CnprKzl3RCk/eDx6QHhLM0xaNj9ObTdqYENG
cXVeZHVydTU3dWdhfWdeP2BOMVU2U2VyMS1nMjA1eEc3V2Fiej5KWAp6YFErR3phdj5KRk90NkxU
b208NWZKMTFBRGN1SU42QmZmV21wQnZlNWdgSkNOUVJlX21pbUJ3eHc+flgtMnpsYjYKelRkKztp
N1JUTzx6dz8pbnN3JWhTRlh3PitMbzUpVTtTT3RxYmN3XjhQaFgqbipMMlo3dUFiYmgpaDdVVWNM
YzNACno8OTxwWEo1aUlnIXBVVGQpR3lxOWBReGlgYGVxNWslSHlMNS1sKCNkNTV4KXc4WkZjQUtE
RHlYMVlzK2RfM15kYQp6UXRwRkBVZjUwS1hPa0l1czB8RnNlPVpaNT5Be01RQXU4NjIrNj1JM1U5
I01ReWxZc0JjVDZRa3lYIWtYVGRUNSEKelp1N0xvWkw8dVZNfVozJE9XN1hGZzYlTndYbG1FU058
cUshaXA8blErflc5Rzw+Skg2TiNjO2pLRG1tJEBuP1R1CnpmRnxCMjlrPHdiclZ3IVVHWj00MDNP
VV9SXkhSX3JJVVFIa1QyfmhGRD42S0FpVEJZaitpdj52JWVWb0xkJDs/Nwp6KTE2enJFP25iWChj
UWFGZnRuaiVFO3F1aFNWR0lXZHpQJUBxYVIwdnpCYyVNPyM+Nn1hZ35lSzlaeHtSUWN3dUQKelNW
Pi1TdkwzIXFOekVvKk5OfXxIK2NOS0U0XmxQc2Z8YHpAWmo8cmFyM0Y3Ul5ndWNNI1EjQ29kcT1i
ViMoKTEmCnpaTUNJenBlV01ULW5CUFh3V35JQFRidE4+Q1E0Q2l2fVZvTk4pVVZSUyRtNTtWcERf
fDM2YjlVe0xYIVQ9bDxVSgp6QTM2Q2F8OFU7Iz52fj9WPWl+WGo+YHdLZksqSyNWd1REVzVPXndz
ZXtNI2Q2Vl9EZCZseDRyI1JfdHFkakNrdSkKellrZjI+ZVQtZ0NadzQ5X3QmTmZIXnhVXn45ITQj
NWFYa0AwOW9+KjAkdVVgYkV3eGMzeWcpY31QTT5LVD9Nc2pFCnorX0t1REtzNGNuRGgtYEtNOzF1
VVlJJWV2WSRzbT9HKyhSK0hUZU47NksleVBiNWFVKGdwJUBWWEJUYEhvJkVzPwp6OX13Nnd2TWJI
cEQ3NVQxaTk+dH1PSi1mQko0JmpVTiU8KX45TjtjQG9SdzdqZlZYcjs+fDZrRHMyIVJTciZtK20K
eip4c09+Q2JuUWBDOG5uWkV0Y3NuaDZoWXxybU5vP2FHWGgwcDBoWG9jNHo1YTNMUGhCbypxfHo7
MH0xTSl4N2FUCnotO1dhUyZAcHJXaD9qUnMjWWQ9fns0VmhyKF9ufGNePz15TERBeVZJUVVDWT04
fjN+NCpRKVMkI34/bClNbVglUwp6QzskKVg2O3M4d1NpVGtaPDB2eiNUP0c0PUp5WkF4eFYyak4l
IzBIPzY3ND9aMU4rJFpCZ0JmJmpiXmRGOVBBaXYKeiEwJlllVDVyd1BWZik2TnpvZzhsbWluIyNf
WnY0MVYjaDl1TUtXMjRXU1g0PlRgVWo7YHM/N0U1RG4/aHF1TzYyCnpTY2UpM01JQjsjSU1wZ31C
cCtKIzRNRHZ8Z05iSHBvMUk4THY/VHw4Wj1ffjdibE47a29xS1prNnVgaUw0JWRWYQp6c1l3b2ZD
djkqIXs4KU4xJHZwOU1URlF8WXFKPV4xd01DWEo5OzhWcFNLSWw+MmkqM154cDFYRyElTnJqdFl2
OGQKekExJD1DVzcyQTg8N1FmKytpX3tnRU1QJU9mY1d+Tm82bTxFI0RMMmNVODBza1EwM2BNMXhp
aCN8TlNCUF94fVVECnowcyVJUT8zYyl2citwV1NMcH1BRCZlSXZDMlorMl98TGY0U09NPnN0SyE3
bE5PdlR8V1FAazVRP3xhTUM5KGBiRgp6cFY/c3VXbFh9QE1xJVp7e1FXWWg8NHhjKnJ0bnR0QmJs
aml7X3BjYzxkO1RwalJVaylOS1FRUlVpPDdIKnR6aUYKemlyVmpQSD1jcUcye3FDaFo4cjd0Mm9T
bVN5XmBEVT90YTNVakxNPEVkNWcpUCs2RTx4Z309WEI3WnR5dDBoWllnCnpsbnV7NlJ4Q2Q5bGJ4
KCZGWlorOW1uamxETndTe3BgOzhEemo5ZCU5QFV7MzZHVnRfUUNzUGpBKWRQYz0lcHlKIQp6ejxn
SmI2U1RQKT1RYmRve3Mkbjl2bXV1MGY3UGE2VWV2a3IoJmdkN2tDbjwtM21WSE5hVVUxa1hFYkNw
Z1BeekUKem9KP1E+cD5VRGlxMjs5SU5yUT48Q0FoZn5afE1ufGpJWHxNYnokamhLSmhpQFFwanUy
S3BARVMhWH5WUE1laUdsCnpZfWU5MTBLWnZQWD9mMGd4SVEzNjsqbWV5QEp2bUJ5M01sRlFQcik2
UGVhe3EpM3ooXjtFaDtue0NwP2UoZ3BPOwp6VnBhRmowS0djSClJVFQpRVNiNSlLV29QKDJKKj0r
MnQ1fWF1PXVUK3U+VW5geUczV2NtMnBRcVBDSUshc0VRWXsKejhRa2pAQEA2Zj0mOW5fI3hNOzdS
SjJAX3pkfHlfT1QzaXw9K0gqaE1aZ1hRUkZ5TkY2WWIhSHdMVGVgQ0UyVWtOCno7KntvSipxcFo8
PEV3WUdDN3MlOXlrS00kVHNQa1QyKUx4bCotTDI8YChNNisqaihOPEVzN1lZSSZAYHdXI0N+Sgp6
UjNOVWR4RDxPPmtHfFZfeDRrZyVJZWFXWncrTDRZK0BPS1ZydF9eN1pCbVVNKDMjWWVqTWl1eGVw
X2ttLUBwcWAKelhxamkqOyQqKiR6SyRiX0hadDJRbj07a01YR0pfRGQkJjg1TWU+ez97S3o8VU9a
Z15jVFh0TihNZ358QiQ3cUFxCnp4SzwpUXI3MFdDRE92Mz0qaD9gPUVWPlVPOXJSXjh5NSYjcWtO
NlVUeHtoJGlOV19MRClqR1NSSkoqNGEqRjErOQp6ekxqOGdSeDdzKntzRXw0X302Yk5qK0loQUd5
dHZCMmhySiZ0Mz1nRFZtY2U3RUVEP0lqbElwT2FVPW90NXxRPVgKeiVEcGByKWNpfkZfVyhEYiVA
fVBKWEtUQGZqM0doNktTNzQwOCY/VTJVUlgwPSYrciVwOHkkWntiI3NsMGxYY0x1CnpyajRwOC01
fTJmcE5IKF9IcGVVZjA2UU1YRnxzYD8zXlJKaD5lRlM7cVA5ZT0rODxWMHRRZmhSbCljQ3pUJXwo
OQp6Tmx4TFRSVjUja1kwRjRXNGZIQnIlJmphZjktNCpAcmNVMkUxSkR6bCFFP0dXJjV8c1UtRiRq
bjtEQHJxJGx8VnYKemV9RUooblh7bTNxJmtoTXFEeHVJPHc7IVRvOWxocS0taWIjaTZTV21HPl9n
TXBYdFBuNzVMdFBfOGM/SjE1QDxsCnpLTD9BOU0hcH5sbEZ7QCM5dEd8RzFCOFF4UXVecW0jPXNX
RipEOSotZXt2fHlFJWtMZ0BudkV2LVpjMmgtVG4mTQp6dml1PnNOWVB6PXooQHZkczxaOXdKK3Bm
Wkl1Nio7NTljQyFkcy04Sks4MGNwP01fU1YtX2lUKCZGaWtRQ1RLMnoKelE8PGhkPSRWPzZWQG9I
YE9uMj97NHQ9cnhSXmxXfV9RNiR1QU80akZEYVBoZnBWQENQJWR7eTJoYU5jMS1kS2Z4Cno7IyNN
K18yJXdydTRHT2F1d2k0cVFHclh3XzxDPiptfnlpfDZ4RispT3czI2BYMGYpMHdYNXhJYF9vSEgl
cStwQwp6PWp+ZWsyXl4yRGBnI3pyPFV1TjE7flB7TGY2WGNGQjRTcyhKYjk8ZiRmVzAmU19mb2FH
VVpmdSFebnV8K3RrQF4KekhxI0RNQW9OJk53biVqYnsjN08kNFQ5Zz5mMyNKVyQhNHo2dT07YzN5
eGJxemNSQ0tPPXtWVkZ7T3x1NHAhYnB9CnpvV3t6WjR1SS1WLWg0dH5MNE5Pdz9wKmRjMkJ2a1Fe
aUBqUWpYT1E+T0ZAMEJSLWNRZFIlTShTOWUyZyRoKykmWAp6QyMpcykjbDN6XjkrcU9TZUB8Ymlv
IUQkJiFsdHMme3s3VERSTX13UCtMUVglKEImajRfa0JaKC0qNkJjPnwwODAKemhpM0NkV28/UTko
OWl5fkswWk81cFRDRyF7O35HVCFORT0qPylYJmR2ZkllTXZHTGpwY0tzV0M8UytPU2ExSStVCnp7
PC1KQUo1aVZecShSI0VUMz47KT1UYzBqNU5mOE5KU2dCNlUjKFA0b3pfRyE0NzBPeUR8bE59M0t1
SUNjKHsxdwp6P3VxPzVPby19dHApdSpfUkM5ODlHfWpyTiFiP3Y2PTduWFAoTXNsaDcxKGE8Zn1p
Jipoa2FSYSM0SUJiPmlFSm0Kejt2IzArJTU8NCo/T2VJKF9YUyVxNHdnU3RPSkdeezl6UUt6VTA3
cmEldlhPRWViRmIqMjZlIXxidWVFeHF8SUdoCnpYM0I0Z0t6IX4kJUtwPHleTTsmJUYyTil+UCV4
RH4qP1k1NisjK2FUNkxCIS1FWk1hK0Mke0ZrQil2ZmU4WXU3fgp6Nyk9NEtLMXlTNzNKPzwxQDxG
MENlVUF6ZkA0Vj5HYyNVa1EhUTVmN01XTDZ9Yyk/YiZ1UFcjLV4jZFB8NilNJFEKej9KbCQhXjtX
PEN6RXZmenw5JiUwOXVzeHFlQF5sQkRrazVJOFEoTCNWZHkwNmIqaypMbU1TbiZtRE9gOWNtXkxt
CnpgMX4/JExwJDExUm1YY21fPDN0aGJNMH5oWHRzWT50QytqYCl9czZHWSZoKEx6VlUlfDA5UCRV
RWk9cUZyVDZKOAp6a2hranE/Uno4Y0QyKV41UWRoVWRCV1BMQlJ+Z3tEdl4xMytta0xATjBeQnB9
SFglNDN4YFlDNEB4X1U8eF9yQ1QKelUjRUk5SXl0KzE+bVJfQSF8ZmorWEplT1pCSlIkSGAre0th
MjcqZ2xEe0FGWnk/KVFTMm51MnBZTileZU9FM0p7CnpaRVFsRVB9WGQ8M1pMO1lMQ1QmPWExaXwm
O2MtdkRMI2clVlBFaE4kJSl5MihPMj1OSChmJXd3O3ljT2phUHVyRgp6X1laZWYoWG9udi1hdlY/
eT16JWE9cnZiZ2t4SGBaa0EwTW9vWFhuUnZvUm56LTxqZFFHfXBlYkREZDI1SHIrKWYKejBLUVlk
Vll3cCl6akt+Wj1lOzZ4aWdtJTVUISM/VSpYbWRnO1ZiKnJ8TmM8P0EyRjc0cFdmTk48TChzSU1s
e2RHCnpRbEZDTSNFJWFZJlZuUEpkaTBndDZIPEpHZStvMmMqVFc/a3glIVl+eHdLajRJd1Utc0hL
IW41SlY3U14/WGJ3QQp6WWpHJH56dyhtdCF7cD9LcktfST08czAqT0UhdTdWXyE3KUo8SHA4TnxF
MG5JNmZfN3JSQk9NeDBEQDNCeDl+VyUKemRzVyZ5OE9DbHU8PX0wKHl1RTJUal81NjV1O0xmXmA2
fEFFQUFPaFB3JmdTPDd2P344aHwzeD9fPjEhJmZSWjd6Cno/aWRSK2VvKm5kYXFuOzZnZlZwK2FG
JE96ZTVQWW1SUThYb2lHYyFXJkE2V2smaWpOPFBwJDxZX3lEYVlXfjhVQAp6UUE9ZEdkc2shMnRR
b1grTlZsNCpjU0hgXiU1JWY9LXRwQUdOVXIte0glbyZBeyQpNElJd1B0QEErKn5ZQ2hsZXkKekU0
KSYlNHZXbUU7ayRwYD5Oanx7UV56I3tgLShhJWx2Yzh9Kjk8K1VrMipUSTh0USZPPi0jcTx6MnVs
KGw7bzc0Cno/cFctdytAbiFOcmktP315LUgoajFnLSl6dGplRzdoMGZPUSpLVUhIWUFRRCplfSty
QCFudH5Sc3FobVdMRXc7Xgp6TGwoJEtGTE5IbWghLURFJiM2WWR2RnRFOURyOT9tV3Q2MDs+NHlU
UENITFZ0Zz99fWozZGJUe2ljRkxzNCN3OG8KejZnMklCODtOYCEkXldycEMhdS1WWWw4fG1BM28k
SmpORzNyViFII2c3bH1zKUZ6djFuWmZDRC16USlBOCQmfnQyCnpPS1E+QkZGPUdsKEo4T1pZcmRe
XjtCNnhZUDtGI0chOz9+N2x8VE94Nks3MEpIeTgpTWgzJmY/YE1kRE5kSGo5Owp6e00qUjEySVYo
WjxeMFR7VjhLenBHcV82WiRBVVhLVU8kTVZWUndOQVYxRyphUEElKyVXRGUkRnN0fjFiUHZlPXEK
ei0pSXkrY3J5Wnk9blM7UiF6WVU2dzAzbFN6fmBtMlh9a3QjTTkkOEowRT1uUzd8MExPRGZgd0FL
R3hnUHMhdnVnCnozSkFGOzxDI0kyK1REVF5FR2lLQ0FkNT0zQ0FGfXpHTzI5UyQ2fEVvQDwqanFM
ZTJTMzVvXjIyeTd7QUdUYmxtUgp6QnR7aigrR0RlZUp5ZSshZD8xVV9HRzJ7VFpLMnJJfEtyKkk+
RGMkQ3FQWjVuM3JaJCVqekRpSFZuYCNpNT0oVEwKemJ9b1RVKnw9TmtCQmVuN0U4XjFvNXFqKmRO
fUZZJCtZYk9eT1dJaWpMQStmUnN1Jmc+WWI9PnhUPkp4SWQ0e1dgCnpXTlo1cnVYKGA3NyFqIS0z
blBJRkhLYzd5dmgwXnNXPGV3JD50JFBOZW5mQXVpeE9qUG5oMyZqRl9MJCk7V05KMgp6Umk9IXZZ
P1NZfXJeSFFZNVhXPFRXPiRePEM1QkNtNEhCbmZsLW8xSXpqM0FeS0JwfnRZQTwyKDR7JVdTKCVF
Qj4KenlsQyRZQmhWfXBtMCpoUktsd15NRGVfYEVhaVA1c2phR3lsPWZ3NHVrRjRgaG85VDxqIUkj
YGdXS0N1KmVPWHomCno7enk1a2Y4TWo9JlIoRDEoeEItaD1XNkV+WDhZMm8pMkZsWVB9YlBGNFd5
QThgem9ZTlJreHM4MzM3NH5GZko2Sgp6SWFkUmJjJCs2UiohKlY5bktBPGB5eHp1OGFxWFItLWUo
emM4Rnc1VGlpUXtCYFN0fCZXcDJlQGR+VnVOd3t2RloKekJuUH07RX40IUtpMS1udnhQKncyT204
OHFwKGc+I1Uta004e3hLRkphWlR+fl9YcGFnZUtxPyYwa2g9Vnd6RS0yCnpoR049SmkzVztPKlQr
fHg0KyRnOGRqVmUqRDQmcTkyMisjOz8xVCExN1RFb25FSCpyPDxQSldrMSt3R3IxcFdnTQp6SyFw
V1VDNyF7V3oyfHJCSHJERF4tVkNmK295I05AbUV4Mzc3KXV5d24ycWx9JDJqNWYocXN8UEtSaU04
Y1duKXcKendYfVY0cmQhJnhVJHV7JG8jdUhMUn1GRnk9M21nITM7Y1BpUWkmXyYrRWJINUtDMis3
Oz0+aXpYJmlAKDwyV1c8CnpuWW12JVpqMlcpdVoxU1k4ZXwmIyVCbTZFXmMmZHZfbFIlTEpZU29q
ISohLXlIe0MpNnYkKjxia31kd0szRFBJQwp6RismT0dsM2ZWN2wpX0MrPX1xezBCP3pvOUdOekR7
RTRwIzF2MklwXlR3KUFKP1RXUkpoXytXLVpvKHU0aTFHLXYKekNEK3pBJnQwNzA+ODF6V3Ftb1hx
UEJaTlNYMSV4VTE2N252b3lyTXVmPGA2bkBwR3FfUVR4PUI/K0RDNlhgaUw2CnpCRTd6UGttRiFe
MHNVUV9QSGgyLVgjLUxpUEctWEVpRk03Z0NDNFVLbyojLUtTXzlMLSlnKHxRdCYtRDI0anoxNAp6
JCNJKCg1Sl9QQUMqUVY9KStKcjE/T0pwMWV9TDRKPGEoRCloYk5ZS0AhYmIyUmFfSCtlbU8oPWA9
VE5PS2FMJnQKemVTV19YWGJTeGFnPlEzPiFxNXZmNCUrRGpkUFo4X3BsVn1pP0srb1k/TEVFRnJn
KThHSVIjMngxfG4/Kj9oNGd9CnpqeiM5a3E9e0RBNTQhbDx4fUtVfVY3cGBFSys9Tj5Pdjs8OCpf
QDMteyN5cn5UcmJ3QUh5Uz5ISFomRn1STzdwbQp6TUN9JnV7Z2QpX1Nsd3AlbUt5KmJVcnhgQDtm
NUZyPGNvKkxWTWtVNl8hTmhIe0ZDMXN5UWA2ZjtLPy0zdkdwNTEKel5FYnJ2cnFCSC0wS2JsJiNt
PFgpKGMyTztCTXd1YHh2dEhfc3JlNTNNeX5vKnp6XkhpMVdgRVpYVit9c3chVTVxCnpHP35TSCNF
WTJLJVAzVjx3NnpWK0ZBaipgQ2F6UWlYdVF0fnNlZ3J2X19sNDQrZEQtcD9wYDcqaDQ0Ym5LMSRQ
QAp6ekUteTk3MV95blJLa0RRJD1YV1MmTHNPQE5gakJiSHxtV1Z2KH4zR0tmPXpESFc5WnpURFRh
dmAxYDVZNjJPS0QKekYodiQkUWpfR0QwJjFRWkQwQjB6fDJZJDI9WStNSGcyZWFrPXV9VVctYm4z
Q3xIOXslc0NUWTxCIWxpc2ZPQ2AzCnplUjN7dnRxfUIpLTNvUCsxaXExVkNfczduQypAcn5Zbz5l
T1dMdzxiX00pPjBGWWl+fD09e1JKalkrRmtuVHVHYQp6Z3hCc0w5V3RWaE11KGF+P31GfmJGcm82
fTs4Q3lpVTJjV1ZFPmVoZW10VlotTzlTWi1UJFhURSt+ZiY3I3RUbHIKemY5bHwwUSM1b1pkMTIw
dF42fUhJdXVXPkY9anJrTml2Uy04SWFtaztDWXZ2R1h0T0VLWE1iczdiSnRoRTxKV1F7CnpyI09+
bzFMKHVSYnZgVzF1KVk8UUI9TklXQ2pKMHorQTFQTEBecFFjbFNYLV9LeXYxUTV6NGxUME4+ekdi
MU1RUgp6a3htcjd7e0gpRTQ8fThIRDtIRXpmNFdQV0dOX29BXnZ7RTRCel9jQU5qVUdGRUExck5l
QEktR2gjR091VDM0WGQKek9BUkJhOXBMfHIzPShJZnt4MCg3Tjh0VGdtMVpDfVVSeUcrQ3dZWDlw
RFlqRFg+cSRMMjx6TEBpbmp2dGs0blRwCnpeaHJqeSo2Y31tJHdQbDFhbU14N0o8KiN3U0J9LTIk
dnElITlsK1c0XnA7TnBKTXNlSXBRKDxmXiYhYUV2QDRrTAp6I0R6PShUaUo7RVI2eVIpWmJ8KSFn
eUhCI0ROTGE2WiY7dTE+KVgrQnM7S2Fqez5YZ0UtWns7cztMNntgZHB8JkAKek14R2dVKHRvdHc9
ZFNLWFZZZkFDRnYrQGVoKjZAV2tgbXZgVFpINm5tbGhJdWI8WUh7c3QzXno4aiZnRS1JKzI5Cnpf
eXh+U0FjLVdZSHsrVThXYGF8cEVEdDFGVnl5eGVMeCRabyh6PkE/bE90c3koWnwyYWBIdTRDcWhW
dUE8UHhxJQp6P1ckfEIhaUlNbCVOYWN6cl8oXmpoNmBoUHRNYTNMbzV6bj9TaHpsM2NmWGlDTjRE
dT48alJLWms/O3oycldYSU4KekpUenB6IVNQWn04VDEhUmc2NnUyVj0wfjxQam1+Iz47fTFoYGdl
b1lHPDRPbigxaT5MN34qVHhIcXZ9Zl5SdTYzCnprdUhxNWYoOTt2TmZQMXlgPkI1PTYpS1olMEd3
P1ZYYU9QTGIpRmw0UlA8bklXRSgkcm1RQ19BZHBSMm1qTShwYgp6ZlleI016Y3tebEQmZWx8dkdI
bkV0LVMrVnEjeUQzRHljYGxAVSVNdk1WTklNamx5KnNRS2I/K1B7KUFxdU4kOHEKejxXJEd2V3xV
QzNqV3RzSTduX308RWwpWn1BZ2BnPlN4eVQ2NnUxfEhrZzxLcFlCZ1MlS0k+S3N6KSNkb3tKN0Im
CnooaWJlb2M+eFNyXyl+RXJ2fHYqRCZPZWJ4WmdKI21HQjhxR1kyNV5sZHl4amtVNTI3dkBUfSRi
O0FlPU1BaFJMdQp6WUNEenlgJDtYZDx4IVJyKk9IWTF7RCtNfGhtRFppX3JDKz9RfSpEODhGTEV7
WVZTYDU4UX1PWUcpeFM3eiVOQDwKenY9SGFkPVF8Q09fZjVrMFomaGtha096fmBUPG8rNExOPzB5
JUwxSyM4fWBYPUFpYXxBOWAtKkNVYyFyU1JLVndQCnojc3lreWNEZnFOK1YqZ2Y4VkdZNTdSdWpz
OGRXQ05kVSo4QChFU1cyPjlWPDN2aVo1dFZyT3Ewb1llZTJOO3BhPQp6KCpJUSRGaWZXWGo/NmQj
Pyp3b0tibjYyYkJ0fX04MUhZfCsyczdMYWQ9WFdzRFFqNDFlQD8lZmxwOGloZDtKbVAKelZfa1Fa
Xk1PT05MS1U2K1dJPiQyX0tYcnVTSlI5Wm1SJiVCcW91clJ6cVNNQzBfKU48UityIWZpfmhfbGMl
X1F7CnpHX1MoU0I5bEZ6cHwrSkhrdGxeeGZ3SXxfUVNeSDBOeEExaXVkNCp9UHxlMjgpfUk/TFhv
fjVxUlNSOGtsYlp4RQp6O1dgLU5XMjtgMmF9P3c7O3hHQ1lYWCUwaiUhO2JrRWhONTNlS3wmK2h1
SWpAK3FDa2N5YHNBYkFuaD5gP2ZuSFUKekxHQ3JeOHArayR2VFJOZjR2MDwxVFJ7cHZVXitKdihv
ZUd6ODhmUWhFbSVGUWQ3M3sjSz1+UHVAYkdPSnZeXyhWCno2NTBSVldTNVBWVUUjd15DUzIpMXpS
Z2UrQkZSe0xFXldKRkZKWTcyP0JiTjB2WWNvWUx9NnFZQHdIfW88IS1aPwp6d2dGREJvaSRKJjdg
MFhGOD8/SWw0PXt8P0toUyhzODZgWUtQQmBZZ0dFT2MwMmwmXyVDKVl2UEs0Ujd1ZDNZeksKelpC
Xmc/akNlZDZfTU5EaWh7bT1eM1J2Y1ExNklufm9HWFByPDdWVnM4WFF3azMoe1o3RHV6eSlrWDRu
TW5ROHotCnpCVS1Dbl56LVlfaj47eW9iRUNOV1dPbXRhV0hKY0JsXzBlPl5HOSl5P0ElKCkod2lP
UyNnM0dMVCMkfGtTcmRlPAp6SWhRWTY0X28pYnJqRmBkWjl8VkphZlA8ODMrRGRMVWZOYW1xYzwt
JDhSZypuajZfSmohfXFuRXZGRztKUnA+KiQKendBQiRvPzktbEQ4aHJuVilnRzYydjdnZFYzc31S
Mkg0ZlZMK1YweHJ1PWRtYSpkeEJgZnhqbmJ4TX1FTW5ebSQlCnpsd3hGNCZJPiUlQntXOUo4WCth
X1dCMUgrQX01VylvQG88byQjZXBiXjVUKSVNczY5Ni1lPExjbUp+eE8lSjJ0fQp6aEZrMytnWVAl
eWw+eCh4VEc4YCgzRVd1QTh2V0ZQcCt6MkY2dHd3dDhCNy0jM3l3TjtZeTxre3FWSlQyUmJgPFkK
emJQenlLdDgwWXFYSEBQPncxZHl6ckolV3xGMCNpV2tmY0VWaT1GUT8tJDgyNGVmTXEyNS1QPWQ/
OThEWjI5eEBYCnpjVGx8JSEqdiFtcWRwKHJOMSg9bDF6eFdeQTIjYFVwT2gtZ2hFY05QIVRgUTtB
dm01NTJDZzFERiNKeHtCMzd7Ywp6U21zVDBvK0RRQEZWYTFLVzY1OXdOP0dHaz9uYFczODYhR2FI
ekxMSzAoP3I1PV9sVSpBcVc8N0JLbjxNPkx1dm0KeiU+ciVhbUtePVBILTR8PkVDbC1wI2RyMXlh
PVlkLUItYlduTWBiMmw/bHh0XzU2RUY1MT1XPWdAckxWbzJoejErCnpGcnpYbjNVNlBDU09ZdXRW
YSo4RFlaT3RQK1V8KXleJEZeSCEpT2hue18xWCMkeStxPENzb156biV6dWV7NnIjOAp6bjdUeFk4
R2w4MypnSHBlR047T3l6e0h1e3dFS2hvI05jX0pha3JOYntHSGxoTVhRRHlQTSNza2BCQ3ptNX40
NHsKendMKldJdnhFLXZ8MCkqeXl0WC1lQT5IQ0Y1PkMkUFRrS3ZgSklXaCVGNGpnZmw3eG5qUXl9
bHR2WjB0YSZobTZuCnp3JjZKRyFsZVZjaSgrbig8aHtudHU1OWA+XjM3eF5mSC1VR0ZPLT9mO0Zn
Mn5obklVQ0hjSnJNUWwwdmlpYXZkdwp6ZWFPN3k8Vkllelg3YlNOOyEyS1ExcnJ8dGtXODJ9Nyti
KSVgQHFkO3dePV5GZWFHKWp1cXUjbzl5Z3FxLSY+UyEKeitLVUhnITRDRWxqbn59VDhAXmBnUDxq
YHM4eHFGYTBZdX5qc2hDeSRwbU9TQCtgP0huaVpEY35tNTRiZV9sMjZFCnp2aHRoaXpJWnk3USZM
R2UkMTJFbnpoV2VxNDBCUH0ySjFWMG5Jd0g/V35zJGFsamp+Q1ZULVRGZigweW90WGNnNwp6eEsq
c0EoanooKEFLbUxEQnhLNldqP3taLU59SjReZD9HJSF3d1hlcXN+JFRaRTN9PjRLVT8rZSYqRTJp
bWk+WjgKemZVcmJeS0okbFFAJTx+dSojKEx5WVNSeEJeQT1JLUw7PTRXeHs1VWcqfmY3QTB4cXJA
U0NHJHRZYV5HdGAoRiVKCno/MUlqNWN+Vns1dWVZO3J3d2VPcTcpRCM5XyRtZVJ2Py0kQD81SCly
NHVUNUklQWVMITJwfGNFezloNV9COFN6egp6d3I5O1hRbXdfdC0pXzdeKFZocHY4YXNzTGtDdD1R
WWJNWC0oJlE3TnIyKj9LQEpIVnphaSopXzgxNjVORyFEQTwKejdsaHEwcFBTTCVuP0MmKEVSWmJ+
QCY9eWJDRng7YlktJDk+VDEhUjdeSm5uKUdyJGclJmpRWWVWO0hCUzt8Kmc0CnpvOzVKfDloIT9g
dUJJMC1DRnQ7NUs/JTE0ajxxclp0U3M2U2MyYlpQI29UKTBeNjdmUlgtIXpEUzdgRDVxUU43Iwp6
OFo4QzZJWkFDU3xCMFYoPXA7VTVVd3dldG1NQzQ4dkJmJn5oa2VkIWFjYHUke0htUlEhaEdeKjs4
bGIreHR1O04KentTRFV8V3o2UUVjZWR2WF93amxjMkhpMkw+S2RJM2ZlRnMmUHg0Tnp4RmVxWGl3
UXBAcUpnUzYzMC05VUROb0ctCnp0MzhQKzFNQGVSPTVGWGYxd35ZdC1qcWY9cDV9PEYxNHFEc2Qr
SnwpdGNiTFhCZE9GSUFVK1gzUEZsbEQpPjdrTgp6Qn4xWkw2eXMwITYoPTxzZHhIJDNQSlc7SWlY
RCFeRlYpVik4b2MxOCVAO1JYPXtDKHlRPilPP0c5NHo8cEN4QTwKengxaT51TU45d2J5Z1Q7MDxJ
aUpeQ1ZCbW1SUWYtKWB+Iz5DbSZIOFFubVA7ODtgSzUoKWx9QGd1UEBGPDlGdSk5Cno7JX5AVDtU
THUlR0Emdj4md0R1dVVKbjFXa1l5YShyJkNPSmhnTFVVTHohVHA0K3QpQmI+bz9LSCEpRTQ4Qn0w
aAp6eXtDbStlVzIxN1c4PSNLb0xLb0t7Xj5zZThTT0B9TmdlWUd6YnVfXjIteXtqeUUzZ0A8LVRo
VGFAKCZ8VE5UJTYKemYpcWhsOFh+ZGdKPWg9PGErMFVDTGJIXylDZ3FwMlY8bSpzZCQ8ZzFvbGU+
JikheXVJI1orTl9XK1FVTFlaaFRECnpCOyVVZmRKM1Z+TzxfKVQld2RVREErMVJgSF8+TX40I2tQ
bktVcT8xbn03N29fRE48NWlQPmB8RHkqfCRTSWMwdQp6JCt8dXttI01LKSZANF92aG9WUTliM3tp
b01SMC17NCVAQTV6OXdYfGAjfCFWPmNZSCtwOGQobk57WVhUcHhOe3IKejJYT2AzQEluNWhCKWEk
bD5pcFQxNCtvbzkmXkF8aSpqJSkoV3otMSMxQklESiU/JWBGM0wqI1M8KUppNDVPMCtICnpiRjtg
aDxsNjluaXtmaVl3MUVQKXRxan14dykjazZJa1UmOEA3SWR5YWA5NVc9T0BXVzVeLThmYGVCck4p
MHlITgp6byUzWm4jempsfUZqY0Qwb08qaTVuWH58Kk9PMWk3Z1lfSHRzVThVdnFvbUAjXn0yVmAr
SCNpIUU/R2xzIzBmRDwKek1fJGVMUnJzZzdmYWdKPFppQ3plZylNUDU3ZEQ5P2tAQj1BLXgpR304
dGtDQDxiSURweiNlMX5CajxMMGt2cFg2CnpoYk5kUHJYO3FMYytJITN7UjJHcHI0QUhMNlZwYWVY
ZGg5YXpvVFJENHI1SnZVWmxeMUtKKjMyOVF3JCtoS24teAp6SChXOSgxVil0WFAxKH5XXmAqTGN1
KylVeiREYDsmRihENndld3FvTW43YDJ2MlI9NTJrMSlQeT0tQUs0TVN+O2EKemFeT3JveFg9VU5K
OH03flNIe0BoPDRjITRrNy1tfnEpZnJEbVpze1BXdjc8SHk2ZjRqSXc9dnQ3PDkrLUR3c1dRCnpy
VEhPZzJia2w4eXVZSCM+ZFFhQzc4MF9vNU5ERjV2R3gkKWM3N0pvWlReX1NUdUgqSytxclFIbUNE
QUZFOS1pcgp6dkBFT0luakpfejtuPH1QKkk+YlFDKHdjU0RUO3VTVX1vRk5SKU0xX201R3teUXwq
PCQqP0F3VUo1ZlNmMih+WCUKeih9O04jcVpAYS1TVjM4aT1uIUFsc3o/M2NQQTRXTlVTNHAzNksz
WCNrT0NYUykwKmw3WGx2MSVNaSNxZlYkLUZSCnpSSXpyJDt7a2FVa252NDBSU209cjcqMUA4QDVX
RU1pfjJ6dkFHT2NuaEJwfFVCX1E+ZShnJWVuIVViaHBxdj1SVgp6UitUOVZOMnwhdEpteCVpa3V9
I2hUKExLeDN2I2lkQFpxV2Z7akwjSi1PVDA4di15N2o9cFdwKGtiPFpvTEg1YUIKenhqdGROcSQj
N0xfTXZUU0V1QyZCSCNkQnQycWM+VFROI2FHMHlHbUNaVD5gREUzdXRZVko9OG5gel9BOXdHdloy
CnpHdXYrQjVkNWlxQj1fLVhlZzI/eWdYe1gmQzlUV1QpY1RWdkNLYnYjWjskJGBlaC11JVE5THYq
ektoZ1BtPE1hIQp6czBWaFE2IXAmUDViVSRBbXBNKz8oc3slSW9ibTR5O0wyNDJZX35VSEwwaypI
dUhLVU9CZCtAUmAkJDElcntMciEKem9DWChoPz1ObXx3KjVLZz9NdnJiNn5DMStsdkd8WG08aWYq
KXNxJC1vZDNxcFJTXj14S1A3dn1TaFVoOGV3ZnB3CnohUnRqUHQ5MiRfOz9JQEZ1Y2ZjbD03dzB7
cDJmem0zS1k1RiliUFRNWXRWMEk5SD17Y2ppfmVhU2hrPzQxKGxTIwp6XnEtaiVKNER9VFJ2SkY8
YHxGb2t1aUFAVDF+PGo9bmplISM+YE1+JWhsTHBiTTRKLXIxWmA4VG1fVFhIdnRgWisKej9lRUxk
VDk/bmRwfE49Q2xtNFY0XjlgazA4bG5yb0M3TUZaeE5geTJiR0Y8SjhTITNVcE1JQzh6RSMmZj5O
KSQjCnpYIWB8U2xBdyUtRzQoSGYoZXNIKFZEUnFQQU8wV3I7bEc/cSVlZmFGaHglPDhEOD47bWo0
aVRmP143RU1DZSQlZAp6RFNOfXc+QCgyMGlqQjFHe3VyQ1huYTxkP0RRcTkrIyRwMH55NkBYfitQ
LVpwJWZTTDQzRmAwSFQyfmMhN0Nle30Kel5NRyMhenpJd2I0bXl6R00xP3FEcV4qa2B4KD97Ny0h
UGU9U1ojUjZBKVJPR2xqMXxNNSpoTnQ9TXg3WjhXYDtOCnowQmJiT3JmTzFjVVY7X1Ehdlpia0Ez
dkRiQSpnTXxtTmZzTyY4e2YrKHdMQn1aPkxURGJTZDYxXj5uU2B7UnVSegp6ZUt6JD0tNnR2PyNQ
S1RkPzc7aExWVXYlQVc4VHxmNSZWN3JaJVFTdjhqdHRKe2x7O3drZX48XzNyRiQzKjNxPWQKejZS
TzVYI0ItMXVDN3MxPXhZPVlhPzJ1OVdxQWJ5K158Xlp0IyM7dGkxKEh7dmFgck1Wc0hyNygreG00
Z3Fjc2doCnprOWQ3NV8haV5hIWg9MDdzMjRqeWIqb1ZiZV47QWRHKE5QUDwmaVNUVTN5IWtCSzlT
Mk1NZG56S1ktUztLNGhKRgp6b1ohQCtAe0padTM0d1M3Q1V+QHstLV9GTS1BUnFwSXM3WTRhMS1Y
OEFVantwRkZXOWk/RVRed1phYXk1KTxLS30KekxlZGhZaXZIN0AtPHNpSWJoTDhqanFNe0dZV18+
Q3xJWmV7VGVVa2xlfDd1QGchNj4mM0MyVFp5N3FRVVloP2I5Cnpvfk9xQFVndktGREBoXmhteD1A
WTk9Um5rb3ghPGc4an1VX1c5UlVXbVFTR3ttIXo3KytCXlJOSStiUW84I21MNAp6KU5aen5mbHxA
Kk0jUW5oZjkwLTE5TDhgPU1rRnxsSmVGPVR4Qloxb15yJEo1c3dTbWpYWWd4VEBBaD9sJWolaikK
elotdmAtdCooIVZhMyNIemZaa1o0PnU8MkUyN3AxNHVNUz8wM0V3bjtJfmRgYjNnb25xYyNDelck
SHVrWEJBO2M7CnohRXYzbktYfHBgeT9QXj12aCVjZT9EKlV+P2RDJmwzbWhxJlZ9RXZDYWkxaVJF
bXJWSEheQ0xxRXd9QTgocHsraQp6czxwXzklfXVxXllQS1czJkRocjBab0E+dzxoenZJYGFyOXRH
KT5KTElhTzZ9VjdYbVl2WSpXUEcrXyFpIyokbH4KemtMcWlyQV5GPmp6VWtBc2FwMSEhKXNBNkw2
YUUxaDJ5OHB2NG9iMjhHcTk+I20qNTwrO0ZWVW5vZi1CXl8qIVlFCnp6MTlmcjQ3Pmc8PntlK3I2
Q30qPnVWc3hZVUY/M35NdXg1fmZUfH5HX0wrYGF2aUl+Pj1QSEhKQD5ZdGJ3UXtvRgp6NkJnVFp7
VXI4d3xBMnpjPUR9cnxpPCVkOG04NmxabzlDb149algtbih3dyY3UFdGRVF1Z1hFRm1IfDZGc20j
ZEIKemRQTU4qR1EhdHxERV9ubFF6QkFjeERWVE1geU92M3FwX2NAYVA7PWRDanMlPm99YyMjbFR4
YVVydyRYbFMxczlaCnpUPGNFalFIKzIzM3M+THpHZkh5Xmxpc1ZuTjJjeENvZnptfGd5UzBKRXdp
cGtKdUlobVcoV3dPSTF+UXNkaT5aQAp6entKWH1MRU5FVSE9QVNvMylhdmY9VXdNK2p9K00zbipa
dDxBYmdAfCVKT1UjWjZyOzVaWVJFfSF5TG1KbGx4UGkKekRXc0kqTVd+c144azhvWkBIXn5KSGhf
QTtXLVk2ZWhKWG9xVWhXfl9XcnohPGhpPEgtRzk5STYmdSNOX0ZUZH1uCno7aE1gZChDeUtfdmkk
M1RCV3JGank7M1c8SiNZTVgtMGFAMnVZUE1AK2pwPU54YF8/RD96fE81KFVjfDJ2e0sybgp6VHpt
TFIrTUBHdF5mbkNyWlU8dW1rc244ZHQzQl4jPmdHKUh2PyEmfWw8UzBWdVJpaXMqPSljJmE5cy1Y
WmZ2Y3sKekBAREJEY3dDe28kfFgke2wxYERwWVh2UzI+Oy1mVFpxR0teTyZEfXdofGVHOE16UD1H
U1hjWCZNdGZIO1YoWnV4CnpOPVNQUUlQdXxMODZ+Jn0qUVJITWs+SUx2NjZLT3Mtc1NGblU2KHF8
dkUzZyspWTRPOT1hNytWJX1ASVEtamBEMwp6PWZASCplYGpGKE9gbHEzeSEwbCR5diF2PVhAMDAk
Y3k7UDw5Q1VsIyZ0VGpzMnFHYW54ZjdUVUI9Y2c+bz5hcjsKelVZYypzJnFNazhxJlVLbl55UCk3
LXpIaXVgTF5RY0BpQVdOeG0kV3xSclMtMyttJWg0c0xgMGBwfVhDezB6Pj5MCno7dyVvNmY9TlVD
TU5DKyRhU1JLVldaYnVLLWQofUdLcT5HKkVJenE0STFaN31EP0EoZDA3Mzs2VlREZytnOVc5VQp6
WCVqN1h6VjtNN3M5OVpfOWclRztTe1RNJFlmaXUmeSZ9KV9WeiNxci0jaCNjT1lQVHRLP01FZlZI
VE48Vj5zYjAKemQ9akxVQGN2NnZETzN0V0k1cWhLemt7akhvRCpOZkJJVVFUbFFqaWpYd24/Ky1Z
ME9JeTk4bjwlQUkzTkpteChZCnojXj9MLXYtOyZ+dzlAKElKdlUwaGpQZmwwS3d9bH1ffEBaT0tP
dDhNaWY7NCF5RHlwNTxhfUplMCVaPUtoJHM8Ywp6VjAmPStidWZXMW5TYG5OKz9KQmAqY0JIWl5p
QWxrK0AleFZ1STVCP0RXfD5udlNCKjxlSGliYFdkYUxEelltbHkKemxMKUxpMWwhdmBfY185PXtJ
YUVZTndsODI1T3pUOHdrOSRpdEtLeThyN0xDUF5mMmVedEtubTszM3BuVzNhY3hBCnp5M292JWFs
aGYoUVQzKCRCV2Q3YVN4Y3h7OSpiJWQjPjVDaHgpY0p6e1hjWHg+aERVdlRXfXtJantociQmQiMp
Rwp6THBBRz07c0Z2KEY8QUpDRUA9Nj1sQDF3Nl9ERGNmPmBJNVo4UWBoSXdYR14jSU5CU1FpbXc9
Um49Mlo8STd0PEoKelI8R3ZKQyNqaV5eM35wUEY2Ymp5dVFgbFR7fFlCYzNoeHBEZkEwb3QyZmFv
K25QO0ZNemFZKiFBU0JtJlhPZDxUCnp7eC0oXiphMU1CeiE1bm13UkA4PTNIUDFDenFtTmdTfns7
IT4tcnEhIWBKO0M/S1JNXytIYUYlZVZrMVgqVHY5Jgp6MGohcS1wSj1MZ0h5RjN1ZSQrTTl3YnNX
VGpwfUNJU0tMZnlDNkFWdENrcik/bzAtU1JCUHFWKU5aRE47P212O2MKemRwS3RJNTcxSEBjPFMt
Z1JkNzBLIURFMjY/VS1ZdVdWJWQpZnpqXkxOSCVSQTQtYGF+P3NOfGR5QlA0TGFKTUp6Cnp3YHE3
YGFCPU5tOSQmMX5eUEZAdzR0fCkheSNkRiZmPUBpe3plJVRMQTAjdT8yRUhDUHtMYXJEdWZuYFp4
TW45dgp6VURvdkUxYCtNbWN3UHAySDBKdXxMSEA1aTFzWXdHUV40aHNgbiE5ZFhxOGBfeT1zR2Ve
Qy0zdkQtdVRXeWxRRV8KellSNTI4NnM8PnhpPD4+eGYlR0ktZnJEQ35WY1QqRU8hT00/emVGRUVj
IUY2d3A1MHBOa3NyYVJxekdofjRtNURRCnpPM0dhRjUyYHlYLWNnK05gfDhDPldTOzBic3YpSH1i
YE44LShKTjc5JGZ+Xn1yUS1HaWUtQXdsc2FZbzNTIWs9VAp6c2phVzlpeUVEez9iPzt8bkRXeWRO
K1JANTFwZTsrMD9YPmZTNEl8KWFSSFh0WGJ9Z2UtT1BfVmt9c0NsNEpuIXUKenUwQFVvT1NETDZn
SmMtJmorfiNvTFduNGJ6cnQoXmFUKjMmMj52PUh4cFcpOVZhdV5eeEJGckNVZTw+ZUR+RCRWCnpq
emM2NFZRMEtfPnZsKn5KU0A1P3h7WWVfZFI0WGBFfDJFckxTakV2ez49TVFvZHstSXk+OTJoV3pB
MEczYW1YWAp6Vm9SZm8kVndrbkYjVWU5Nzl2ZHt3OUBrNjhqViF5VnRDJXFldzk+QUVpdUBxJDRk
ITVhYFpHel5rTjk1XyFXVG8KemltX2V5eChxKngqQC0lUXlVY2BLazs0OFlnRHxkJVJHeXROUkdX
KXR4P1pzSExmaGN2QHkzREl2VT9fMXI0ZjsrCnopT19qd0EpUWpRZSppKlMmNzBIclgtRUoyI1pu
TV47YT4zVEYyJXFma1olXyY1UkVlYkdBaWYzITQxdE9IOHR5ewp6Qk00IVReT3ZpcT16fF99Jks+
VkZyRXh2ajE2TUNqTmZ3eDhzbkIpVmhiPD9rcnlsaiU7UWNzIz45N0YocFpQfDYKeilMci1QZXE4
JnJiMVZzbyRTJk1ua1p5fHNaTkJ3c3JYUDVAS1hMPjMlVnBNWHdWcCo2ZHk4P1F1R1Nve3clS2xR
CnpCaW5fa2pAbjdweWBXX0g0YWNSQVY3PCpuSD88VX4mV24xMXxOaD98VHshekohZ15mZT1tPn44
X2l5en1pRiNDKwp6QUpsZ3wrV3p0Y0xPSyRYXlVkNXc5a1FuUzR7JlhOVytFPUJtbXZ1cyFxZXsl
bVZleXN0Rl9WX2Q3WVo2Tjc2JnwKemI+Nj5lZDc+dDZXajl5VndNRzFDZGIybX17bypRZ3E0Ql9B
WXIrfSlyRWBnamQrRyo4PHZVP29wS3k5PVlDaG1xCnpwWHRFSit9MU1lM2EjJCg/WWh9R2NSfkZZ
bDd7R0AmWEZ0alJmIyhTP15PNSlCX3FzbXAzK0xZclo3N0wyfUBkJQp6VjsqIUVmdkt6fVVvfWdM
RmdmRypgYUspdEZXe0Q4SSVPbUBNZ1VPNnl8fXE2SDFtTUFFSC01VVNFfj8lOyZWdD8KeiVqWkgm
PyVtZm1xYHdGKnk+YTg2aC0rMHlxe2VSP3MwPCRVREdPdjZrNmNpVUI3YEkpPW1tWiooT3I+dHUw
Q0Z5CnpOc3xeZFVVYyFSeHQlVCtZYXg0Zl9oTDd8LXs4I2x3bDdvLUlQXykyRDhAOWdFKmM2fDl6
d1oqTTFKQ3lgJlhYbwp6ND5lWHxCfFAkKVZeMmQpNTdfWT5FPyhhTDE9XzljYnJvQGVoWGRDbzY3
YGVpSChhQ1ZifXB9KXlfO0Y7cEg/PGcKentVc0BzakpsRzIpQnZPVVgrOEEjWXJ6UElxPXlUUS13
P3VqXjEzelFCIz9FQGs+Y3QwQCVefitvT3xXWXhgKk9lCnpyR24oc2ZKTikoWGkpQHViIWMxRkhT
WmB9aVZwK3omcl9objE7ejlzYFY1bFVzNjtzaW1nfTRHUDJUZ3NVMCZubAp6YiQ2VzVZaE8rVyVD
Knc/ZEE8WG1YOCtjPVFTOVk5SEMmPVBRQFBXaD0zSn16bUxNN35JYzEjZSNEbHl9bjt9WWQKejRK
TlBHVilJQXt3QT8/eTlwNjk4anVZcDhsPHhyX1MpSFlaQSo5fCpCPVJkMndXaHElaW9uRD5uYyQ2
bzBRb34pCnpOa2x7JjlSfVUyNWtzUVQpRFNIKTxAelJTKjtQPl5aQTxxeyMrSiRyKlBnRkk8Vmgt
e3Vtdml1Q19pc2Z0QDtNMgp6d0I/REhqS3Y3QEFSVmhkYSg2Ri1LOH1eTEVjP204TzM+QTJTVG1t
dVE/ZnJyQThYQjE3MUBaM3dGdS1TZEJvekwKelg+VzJXLTB0S2J6eT1jd2xLa0ZxRD9FTndoeDY+
WmR7TkhfdURGO2EoOzhOIUBSUTckbkNzUig+M2hPQVptSEg3CnpYTztuN1BLOTF3UmpxQ1BMfnx0
PC1kNEtTJXYybUhwQD85VjlMWGpqN2BAQ1BIazdtPzdeZSRgZWtmNWZIVHtVfgp6aWBvclQlQl9u
N1lZV1RUcjEwRTdWP2Z9RTdaKj1wUyhHVCokVXU5cTMjU0w7ZX1hKX1rdXF3Jj9KSSU2MFhkbCYK
elR4Nj5DNDJxX0I/U3lrR3Y+TSttanFycntTPHt3Mzd3bndzVSl2aF87SU1+fXRKWTkjNX1Gd0Jx
P0xNYkF4biYtCnpLOVQpUyVYQHk/aUF8bVBEZmpOWE5qfjhJaEx9X3cod1hRbFhtfEElP2ltWDRI
TCY+X0MyWHFZaGJ9WjxleiRyeQp6REVMRTZZLXlmdHAmc1hQQkhPaD5KbXA7YiZ9ZmZqVWI3fENe
Kzh0cFZ6JV9fSm5uITgwPVc5OHY5UTBkZjRIWmwKekNAaTxlbjtQM3cyIz1yKXR3fCNMciMwaUMy
Sjx8Tkt+TDElYGxWcWVmZygzcXhUaWtJZmIobWYrNkx0bl9jb2BrCnpyUElMNW99eXlFPUslSnUq
Y084Z0x8bUg/PUNYZjlHTm04QVooeVhidE14RiQtK0ZwPiYoPCtvXjw1YWZeVEJsPQp6KGBESFoq
JlYoMWxqO3JnJFRtU3QhbkttRmNpbSpeNU5sPTs2T0AmYmQwVWEqSWtqSjMpLXh+PEM9ekphSHBE
JSEKekBsfTFLU21rYHJnK35AWGJ9R1khT2lOOWl3bGZvJjlYTUxgYWJBOT1qIVQoSGR2KyooIVpf
KT0haiY0UmBuN3pJCnpfaz9QNnFPLWZfbVM7Y1gkRFFJR3JkMXNPd1MxczdxRCVnXzI1WTJ5TXw/
YGh6M04/N2xSbE5kMHVSQ2RUSUs9Qwp6WlpAQW9xS2ZXdyRrYDxydjIxfjQpZzdDRyQ9Zlh+REh9
VlNHZiNFPThgKXElJVNYYGsrRXRKOXF1RzdaVXo3V3oKenhAbSZwRG9tZ0Rse0RvQD14NHZ5QmM3
bSk/YXNfKCYxJGg2Kn1tfGVIdEpzKj4mcVdAR3tuakRwV1E0djttPlRACnpBJituUCZxVHZ5P1Fo
JkNeNkV9dkdwVGRQVEBtYGA0SD51bWZCcEtrTkwpXjxAPmQkJU93c0VuQlR+YjtPe3R5WAp6P2N+
NyU5en5kWVhPNnxleUJjUzIjaSl1cWRHOEgqcmhvVDdnNDxwbSV3MFJRKjx1Y21hVXZrfDJTekdN
LT1CJG8KemYpSHEkNX1oK3ozdSFtZ2l9YUpgXjt2a35sS0lEZDJlJGV6SjBkIXY0PTMpPUYkTWpG
NS1KTHJfblZTTnRCWHc/Cno+VktoK3coUUxyaCVDbmdoJnJ3ZWwlRE9KUyU+SnBQU0Q8MkUoJl45
MVIyfjhyMEF8cW1pVS1xTExaYmgwMUZzSAp6UjNUPmpmKFVSPUdPK1VUNVQjQ15NSmpSNWV5SVJn
Vm1xcVRgRiUzUTc4SlheMVloJXlJdl54fmZzSGtkKWV6b28KemsoZyVOb0dacH43QH42SXdrVyRy
bWhldnY4YHw9PzQjPlRsKXU7UD56cztxSjNsezA2Kml9PlduVHwrQ3c9fjVhCnpKO3JZbG1aMjdn
SEIoNmN2K3p9PVp9KG9nKTw0c0JCTklQQThpYHd7S059P3hVaUYxe0V4M2ZidGZTNjxCPDxBSwp6
RD5YR0hRbFUzZnd3SnpWLTBONihKQzZTVkkmPm5JdWMoVDgkbzBOSGM0NmBrSzxQPUNDYW04JXww
KWFRKTNmcGoKel4kK21mUTlaV1NFPFRLOEYhNW5rKlczI01TeHJUTSZrSzBiZlVqQWJXa2phMD5n
PEYkPnxrJW9STzlEWkxvLUZQCnpNZStJJEJqfHczSVlxOykkcXd2M1ZGdXFBYGBVQ0lZSUA4Z3pi
flE1X0tkd1RVWUhuZnszQEY3ZGd2N0RhMmtjRwp6e0tiaGVpY05tU0RgMVdvelR6Z0FySElhbHRy
ciROeTgrRShVbCQqaTZ9Mj0qUDBvLWR5a0JSTW5ATWVZNVlpVGIKekY8KDJiRnBoaWRwej1MRT9B
MD1qMmZZJkordXlNKGlaYmBpMnEoZ2JtQ1A3cHRmSHBTeSkrUWZtYEtydjR7ZSotCnp6MmhTaGwo
NCNWJm1mR3gqYEUpU1Ihcn4wUnE3VHEreiVrJU1DOSgoYWVRYHNNYz1yIU5YU0o1QURYTG8oPkAq
TQp6ZStFVHV2X24oSTszPEV3QTkjPmQkKUJDbkBmWVM0RGJTJUpBMmVfODZNNEVgbnVYdTVOb3It
SHhHdl47NzEoPFgKem5OYXIhd0ckRkU3YXhRbTdnbW1fTCQteUpNRj54Vj57YjZ0UUVwLSRFZ0xP
WTtpSFRrN0lzTT96dFEzfl9tNHlRCnplX2t1IU9jeGJSd0M5dnB6bmwwcFFUOSRISlQrS2dBb2st
d3ojR1gyMyVNPVBLI0RjamhLUkA8UWs5I2IyflR8NAp6XmQ8azIrQWt5dWNLPShrRlRDfWxgTT9E
ZXV1RzclMGM7YHYzRVRlfkRnTGlmNFdRaGBhUXdNbWdVYU0qPmdmZUoKeilBPTJsKyRMNDc7Z1BD
OVJAO2NIYXVLUVZDaHVrPXhYX2VuSF98fjlEJFFvJjdUUV57a3pPPSo5ZzFeIXt2USFkCno9VCh7
SVMxNnIkdElfNistb1Zudz50VyhVSCVUV3dWNUNndzUrWjVlRDAoNU9HZm4mTCp9Smdedmk7TURP
JW81TAp6Mm12ekRzK3ttPipob05lcWFAJDk1NSM+Um1tc1QpTFdpTnJVLWt3I3B4d0dWdWc0VUl7
e2ZRaCtrR2JkWUhTR3QKejlmdyZ5dz4+WVE2V1gyOUUjXnxOaT1UZzQ5e0d4OWxQRD90bz5hJn5T
TzJrYUJPWmk9I25Cc3EzRVE3Pk1efHlxCnp3WDBnbikyT1Jedz85UlBQQlNYX25ebXNReCU+a19L
eUA2fkN0KG5IJkx2enRqbi0rKSZRPzElOypMN05LUTB1Xgp6V1U/Mnx6LVA8fjt5Pmx5Vk81VEJC
dXUkVHd4dGkyODYxVjFEVSlmUl8lYzY3Q1gwfHNOQnVPWExyZyUoMU5vNVoKelBsbkMqSiVyMHoq
UGlyJGVxfXZhZnolKGtgKVdDYl9WV083KUo7K00zUmo8SFZGTHVIdXthU0FHQndkX0JEe34lCnoy
NVAlO1U0aEUkV1VSKSheQXY4X3hqKUsmRkU8Zj47WnlAbmp4cFBGPXI+KFp4OEBJVkxsZ1pfUWVA
MTk4UllMJQp6S1Fgfk1iUj9uQStoRWJhOSs+Jkx4JHU7Wi0wbWlDfEgrdVEoRHBQQUx0UTVxeGxg
Y3hkSFpKRzgjMEpQRDkhajQKenJYMDNXVlcxSm4ocX5tPWNGNDY+JSV4R2wkKkdJaWc7fF9wZE5e
VjVLYytHSnd6fTVUVHk2YUNYaWxrVngzeXlfCno8JmZtcEh6T1VpR1BVKkFtSTF9NE58cl5QRUYo
U3JqJkFQP21MdCFJdjFiZWlUWUwrb2hTbnptNysldF9SM1lscQp6Vj1eV0ZvMGhuaFNNXkcjYWAh
JkV3TiZnRXdvMVd4bExlWkpZSjZQJlZCNlN7Z2Uhe0slI31wKjRTZXRfNCl+MzsKeiZ+Pkc1cj5C
Tj5hZWEmfCk3KnRxT3BLMkQ8NGdVI3IrSUZJaUl6MyZvZzlTTWs2T2FPZFBEWnhOUXA1Nlk0PTFy
Cno1NUtfSS0qYzFNeUh0dUlaMXA7OzN8eSFaKHRyVE4ta0UlbWlgYy1FRX4jUTdZMWg1bEBCczlQ
fEEmfHBPUWNOTAp6N2Zia1olT2BwVGNaRVN1ViFUbmZHaHBwNUBqfD1kK1RWOGUhQWU9ZnpSdX0q
akNVMmYrUGBofCVEYiV5OVJZTXgKejQxailhZ04wXzteKTlRSnVCZz0+PHtsVFU4YVBvKlgjeFBg
ZlphUChDd0pxbkg4QUNpX3NqUDVNR3dZQ05Uc1ZVCnpgaGhMeCNtOHBRMGBPR1V5PUYtLVYrSk1s
TzxYVmF5NmF0IT5zO2Y2NGpUQ0s+bX0+TlN3ZzYjMSU1cE0/fDEzSgp6ZC1iNWFvc3tzVjkoK2VO
e3tSbU90OylMcj5DWl98PT4yMXdtVT8xPUxwSWlBMjk9ejBveVZibjsyXj9FKyNea0AKelE2Mlhv
O1JBaiZnc098REI7dVJwJUAxTyR0QnJsb3cpOFdrWkUpYjV4QXNQZGlTaExLIT56e3k5ays0dCY8
LWh0CnpkJW5jNmR9RUxqNlBqdSkhP2pRZTNkWG5TN0p4aHlqY3lLPChDXlAxMCU5Pzc7Ulo5UDFo
PXJgMGtJV1B1IWkyTAp6LUlANiNvY3dnSGBzfjZkNSZpej8oQ1p6PlAxbjNSK1hNNUFlKm5oZzc4
UFd4eUU9NmpsNkE3Q3xHODdkO0gxZUgKel5xKm55M0dHNSZPYzdoVz89fG5+N0l6dDJPVHYtZF5U
QjF6ODt2dH4jOEo2Yk9KbXhwaDF3WENZRVE9TFc+ISh3CnpJaHROOHZ+dl5senxZekEmSykpJXJ2
PnhqT0NKfXc8KGA7fSg2QXRgdU1tezM+JjBAJVpxPT9IMmVZPG47O3J8Rwp6aVkqJjEmJiNJeGsj
O1M9SzhVYGRrakxtYlRuVCklJFJ6VzReKFVnRjt4QFE7ej04NHBXTz55XmRLcXYrVDttVkgKelpO
PV4wa2V4b0BgYUxjNnZoP0hEaE1XZnQ/ZWE3OFVKY3BOIyQtaUJfQjl4SmNKeU5tOWwoandLejwh
VVp0ZT4rCnpqOEx3OHt2SWs2Wl49YW95M0R3ZEI7Tzh9cHQkMn1lNjlLJXsmLSlAY31pJkZOMngm
ZFFxfmloMitzVkZ8OSgoXgp6dSorYzNMMDVgQDhtZlFfdDc8TCMmV2psZU9JRldncUZ3KSRrVVQm
T3p1aSNaQFpXZWUqVmo2RmVkREtVNzFZJWcKelJKI3QrRFdhP1h1OVpCTmNsSWlyR2UlYEZrdUBX
KXNTUCZzaF9ETCZvYyhWeHw1I0pnKEFFP19JSE5XcVMhJFFwCnolLT9+TjR1YnVDTlRMK19YNDJg
YkxIclNYYmFtQlpORThYYDE1XjVYOUV4aURNcn1jUzlOJjltazIhI1hrUGYreQp6T1dgdmNEQ21O
NCY4RXlkWjJJMERTYXstVipMMlRwJW1jTlJndnowcS1sP3dmdFhJYEY3VWQme3RjIW9AJGgjQHsK
emhDVE0/XmIwNXImZDc7TCRYRlJeYH53dD5AZjJlb1NRdmw1Wmw4czE2cygwJSk7JG9JOTZ+QEpI
V3stSyFJPGx7CnphQStCPW0teiQ3JTY3K1FXQnhAYUxIK15wUFgybmNRMlFnVSkha0F3U0BweDFn
MT9vSW57V25zTFBMVSVgc04wVQp6cFJIe1gpdSo2aClNY20pRWw1PTJ0UWc1NDxOSTxkXzVEdT8r
WXhYe2M2OWpyUHdgPyphVjl+Y2o0e1FweUI0ZDAKej8rUyp8VHhfP31NUFZPK2YkS1ZmPVQ/Wk02
ZjlvKEl4MzZCbDN1JD1rcHNKb2huPFZ4MEZePGtfRDl+UzhWYHY2CnpYeUk4Mm5JVS1QKENMKko9
WXowMlImQUh0Vzh1U1MyQEZvWTJXaCZBLWBXZno5UjgtcDJ1I1RUeGNmbyZ6bE1xYgp6WD8qfkc3
aURxVHJUTlhoZE5JSVNQOyNrWHZHUWg/KEN6ZzZIJEhFcnFFfSl0OFZgMzRrVEVfNHJffE44P0k9
RmgKel5qZlBfem1fYV9IYTBgZEF8QHt1YzJZcmZyRD5VYyRJV0NgU2tQNEgobHZDbGlwJDRmZTB6
JUdTTjsmdUVAbiQzCnoma31vOSU4QlBnOHU9digoelAhUGwjREV8cVV6TypMSDE0Kk4yQW9ScSVy
UC1vOUw8UnFAPyFlPWk2PU5TRjhHagp6WFUxMSl7UXBiVFh0cXNRJSFWeDk4flZgMHR0aDxBeC1r
d0FjZjhVTWZsMSFoUk8xSCMxWFFFfSNLckwzN093U1gKem14dn0kR3AzbXQ+eXc4fGtsa2RMJHE2
OD1WUH5nKmloO3ojNmwtR2BJbjRqTT5vZTFjeEZwTH0ra2xyWEc7Tz1WCnpxQEdtRFNzPF8/c3Vf
fWR3NWwrWjBTU3wjd3VnfUVHcXstZmRUQmdTaj1IR3BefCVYZGZSdEx4ZzAmXypme1V7RQp6TEYk
fEYyS0xyQUtKSkY4djQpWlJEbnx8PVNuO3Y1YiNzI2teQXh8MjwjZEFIIVBSUExnQnIhcFBkQUNl
I2VBYCoKenRKYSVNTEJ+M24/aWtHMig7bCVeQyFPVmo9ZjlQemp0SH5JdERCKkJSSD87I21IVXFs
KlI5UjhEekFXK014Ri1hCnpIaXBqNlV3M1BlZTIpYGlFPThQSW4qdFJCa0pLfFoxV0tLeHhgfHt8
RH0yPCF0eUErd2N9OSF8K31pUj8zaGJQTgp6dTUjdHl5UngzbDIzb15kNlk+O1ZXOWJaeXpwY2tM
SH55Ni0oZXxZcEhARFlzaXZIUU1IVEMmPG52XnB+bVhlaDEKemN2aSV6YlpkSlFwSiVKbzl3VTdl
NTk3ITs/eiU+RiEzJn0kIX1NKSRuTEg8bXVtUT9rNyhiRXA7N01HP3ZVKiF3CnpMRERrOV5od2I5
KUhQa2lxIyFmP1BkSUF9JVh2ez01bWhiLUU/Qmh7QjwkcDU+dHYwQUIzKCVGTCt4WlBhR2A7WAp6
KXt8dHxiRUEqUzJrNkBGKEQyMkt7QFlCdml0YXI9JW0mRW9tYTY2dnNXX3BrVyk8ISNgaiZXYz94
WCVAJHRTfUIKekB0XzV+Ry1rUVFhLTtkJXIkKjNzOXlYRTZOfmJPcl5mZ3Y2cD9SQX5QNn02NDM0
Yy0/dGBSWTBEPCM1Y0dWQVRXCnphT2lFYypJTWhkVDl6X29pQWl+dWRBaDt4dyQ7PVdiOEwwcCU2
cmlrd1A+dFg2fiRockFAdntFMmBXKCpgSUZQMQp6TUBBXmhQcUBrODVoaklHLTt7JXpEe1ZuIWVQ
VThyc2ZiXn1feFkxS3leR0lBM0g/SzghbjRRdVZybHM4P3tucmcKemlxU1NDPTI+b2t7QGBwY1E5
U0FVPH1keEpPYj9mPyYjb1JeaXJKKVIqfnteNW59LSpMXi1PNkY5dDtyZj5jTSY1CnpYbFAmeDIt
VjhBNykyITIzemZoaiQ1ejRHU2FiT0dpJkZgTSFLNmI3P0t6KklYMnM7PWg3aV5VSH5lJmohdiVn
PAp6YGs8RjxYMmEzOGV0MyhqPTFKVD47UitGI3BXUGk4KzBSTGU4aC1WQjZYMUo8S0x5S2wme2No
MFF6b2Z4VnohdUgKekxfPy1ERUU2cSQxOX0/O0skcHBQKiEydClqMmNYR2AwYjNwLWEoSDkoVmBB
SS1GemgjTkpTOVN5aj1yY3VUSTZiCnpFT21sYSVZRHpxaDV5KTVELSF5QT5PKk5ZN2dyaz1HTjZS
Szx5S2h6cVJaI0h6ZWo+K153NyFMSlhKamgjWUYwfAp6ezhxeXh8QX5TUmRiVHc+RSkkRn5JU2M5
UDB5Sn08ZjRSODgyd2o8eUojRk93OW1pZ3IpfjQmbERgOzBQQGVONUMKejt0eWdXIzZKJkJyS3hW
SCljRXF+eG4xTDxUdmZQYW5YcWw7KUBDMFlFbmwrSCktNnZSMSVASjVMO2RtTFgyJU1uCnojYTg1
Ujxofn5ZNF9+WlQ/emJvVHFCLTxBSjN7aDlDfmlOVmVtc1pSeT5WXmghMSUxa1FGODw9TGFMWCZv
OWVzTgp6MnRAZT94JTRrT095S0k1JnNAX1RzJCpFUVJrbz1laCVQdVo5dXB+TWx4K1BSekhOKntt
P3lRO3FERzc9c35WPFYKelVKfEJYUXktOCpqRTZUUUklWitXKWk1diVzX3B2TSlVeyUjb1RaeXs1
eGVZT3o4fCt0OUBDendQaU9sKkhVQ3JKCnpTbkRwYlpzIzZYTnkjYEo5MEJoUCZlRHF4ZkJEJjM5
bzxJUVdZcWxyUzgtUCEpSV8lUjVwKThHTXY9JTRCRkpJewp6NmM4QTtJNUglRmtnI1cxR2xHSkU/
NFljUGZVKyt0QWhITjM2SiphSUFQUHU4bWFxcmBTdDkhJDAqQ31xMnFFQ3QKemBoOVE4Wj1OO3Zy
cnhXMWV7fWNsdUl7UStfdHJncSYrcT11YE10LWNAR05qPkRZd0Nre2ZBYS1tVH5mQT5wdVVPCnpz
eER5PE50OThrPzIrSjxAI0tNWjxDfmt1OWVZSGg1NEBYP2BPS3pXZTkyYjdPbWJMWT92djklVztM
S1FPKnUlfgp6eDdUTXNrJmlqR3hVakdiQmZUS1ImdThFJkZBbztVWV4ycH4rTlhESzFPNzhDb0RM
QjZ8MG9LdT8+cF5wM0klLTAKejhVS2VTLWFnSlJxQXVEJGw/KHF1P342RzxseWd3Z0QhenpnSDwh
KlRzZVJJTEdnalMrPEkmfDtRM0BKX0M7JTV6Cno5MFdvUiNlISs5ezJMX15edzMkZUs5KHR0Qyo2
ZzR6SWNic2NPdlB+c2JGTTlvLVZGLVdeKEpNMDEldXVYb3V+Nwp6V191SmcpQCRxfjUkNyt2SmFD
cUAmN2BjOEFwbWJnbEYodUFYTzgwO0FfTT1eb2grTU5PMTREWEh0eHZmWjk0aEUKejZHcTthIXl9
NHchO042YismemlKZzRBaEF2b35RN0lCRjNpRzlDKEZiOD1JPWN8IT1fVmxyayM3UEBMfXJHI3ZK
Cno5SnowT19OZmdNSlgybi1MSUJ5ck9SYTN6PCgpYCZGdlZAel5Yckc7eHsoUCpvbj85PGktaHp+
Mz11NiVoUSp6MAp6Q2kmOCg8P2x4KEomMHV9bFVeTz1QJmo/ND15MnVKQzBGX0cxfHk3bk87WEBz
dmhlZkUqdnMhMDsrRkJkXyZ1bkQKejg/VCM5Kj84Sz1gQDdTcDNpVVNJK1Ymckt1Tis0Z2YtY2Je
UzBmNlNGTjtnJXF9I1pUQkJQdEF7M0o2QXBSeWpnCnppTUpqbFRORmFaTTxaQWpHM21aVihFRjs2
ZTJ+MEFsNzFLMWN5dl9VUFV2MHk8YGNeOExRZ0gmNzAzMW9VYUlrRQp6JGdFcmZQeykxPUkraEhm
dH0lU1RiWD14T3F6LT40ez8hMm5wKEI2IUBzMWZPQ3NnJF84ezteVVdnSlh0Q01GMX0KendiO1gj
alZkWj9EO3xzLWcpdUx8ZX4hR3RYYGV1dnBVUiNzQj1wcDdDNVBLWVpeOUQlRGI1bi1JcGl4QE8+
aWtwCnpgaStudU9pNnhtVGZVeDNaKElgYnNBRmRJKWNlNS13Zl8yUmVvMDVXVytSS3QhTn5xTjQ+
elghVX5WWHlZWWwyVAp6XztENDRYXjU9d1N9XnRDTmdCME1SX3cmNllaZGxAJUFzfVQ7MkFZbWVE
cSN9I0dXKEpqT15DKXp9XjlgPUtTUlMKejkpa0szQjRHTEVUN099QWJ7Z2RrWXE2ZzA2PFpwVmA1
SkE/R0NkMEhgOyFiezQkIVE3NCR7TCk0QFk7KHhwVHNqCno0dSMjWnsyKHV7SylFYDA/b0dwZVN1
ZjhTO3YrQ0VlQCs5c0NgQEp4Ymw1b01xMD5YRT1QfmdvOE8/cXlIezY7dwp6XmNATTw3S18oI3NX
SStLK0ZpUktybHhuM3A5dDFNeHUlRzRgMngoO3NnJmVSVE0paDZZe1BpcWo2bTZec0B8ajcKeitj
NmhyM0ZAdEUwYSo2OGlGP2whclI8dW9zSEcoRk0xTSRMV31ydUxUb1FvI0dHbSk3Plp+NzJTSDdS
Nzdka3pDCno9KXxJc2lmTVp1M2J1LXVFVnM9Z3xLM09fK35YVTRgMC1ON3tvIU1GY1lufGJhc3dA
QUdBRnEzPFNnXkI2a0heeAp6WHgre09vaTB+Y19reiQwPiFsfFB4Z282OWtvY1NURXMlflRBIWpm
cjFVZzczRDJrWT8/aGFyJndMITMyU2EhcnAKelY1OWVYRHl9Z2R3OXlAT3lxZk8wZSkyN2ktKDYj
MD8mO2FOUTA1T0R1SCtYRytKYz92IT92b21CaGBBKzZJbn5FCnptQWs/fUQoTlY5b3FgSmxyeChv
SnIrN2VXRnZXO2lRPTgwISpiPkAoJlQ0bDk0fSZRfGUocClRQVpWa3NtWFZxSQp6NnA0ZiFHeGlT
X19kfU1SKTxiMyk+eSVna1BSN31xaFRVSURyUzMtbXJqTjdRT0l5dzE/PkNlaXhIfFBhUjZ5c14K
ej0tUEBNRUpFZFloXkRPLW8wUXdCPj5aKnlHYmUzQHlTTnh+ZnNLYnZnQU11LTMyRn4zTCM9Umtq
VkN1I2NVVk4yCno/bmFVKGRHSXVEY21WVENGfX54Kl9NWEYrP01gT1hfS2AwJik2NkJ+KUoraCkj
aj48d19IWUp3NystMFA9eSlrJAp6JURKenIjVj41dHpjfEZkTnRPUF88OStwZnJRP1c4KWRSQiEp
dGVRXjFFJGtpaC16MDBlem1qS3dwfkhLTyVtWmsKejFfSWVeRi1qO2NlQEk3QylBWDlmc3AhXzk0
OGlgSmRxbH1mTVV0YTtWOWJvU3BIR28hPHxLMXtESE9hbXZFQVE3CnpYWlkpamBuVDVAUkl2JlM9
bTx+RjNyZm45OH15fiZITDxFYU55O2FBdGtIcj0/U209TG97SytqP2BzRTF1cU9wTwp6S0B1QDwq
N0dsPjshKWdYIyVmKVpPRWVzVTQyZitTY2BpU1plPF5iV0l4TGUxYmo0U3BCfGkyUiooREBzKSom
T2AKelVRfSRlP1VUPm05VGc+M3YtZldRNF9YMSo4ZmNEISkmKztRLT4lNHc7a1p9eSQpSHlqUzdr
ZDRISmBYWldNNmJTCnpWXmRwQ2NKbXIjbSZTP1FuMnRoaDA5dC1WP1VfOEAqJmlOSSZvPDxxSU9F
NSNCdUNyQ3lFVENOeWhJfFhlVWhRNwp6R2gmSyY9Vz1mUHZ9OzNVV15TP35OYGJzcitHalN9Ykhi
JFo3YG5RQjJfNXd8MHctdDdCRFZtelN0VkpuSCtNTE4KenJNUVFQMlIxN2lheSN1YGhmI3tWeXtZ
a1hRdUlBa2Z1V0RFeEVvdCVsaChjem5rSHBYPnt3cjBibCN9LSolb34wCnphN0U3KkVOWkB5MSR8
eDVtNEM+bzx3entyfDJVREREaS1hIWpoTEQyWXsoIUN1KFo0NjEhdCk+VGoqdGBWaFpmXgp6OGM0
YlJhZF9uRDFuJWs1LVpmeFZ3NSE3RXthLUF6clohZU93KVZGO0xEWkJsdj5RPDArWT1lNj4zK0p9
fElgemEKend4T0ZGTkgqRno+aE1fNGQpOVlNS3wkKzlya2dfQER+R24pTlBTb0BeNzhqVmt1Y1Rt
dlcpZXA4aFRmJiMqZU5pCnpaKCRucWIqfFAoZiZGMTtTO31eOGtAKVVuX1p6ajJaTEpkfnFVUiNt
Kkx9Z3JZLSs8JGFxaDFiSkhIVGp2QG91MAp6ZyUzfUZxdVNzZj5aajFIangzJCMmTDxEVkApTnZA
Z0JPNztuVnlCUVVzLXhCQFQ/XjElKyNgYzgrUihQYkstV2UKeiQ4RFF7OyF6VCVxLUhDTjJ4TXkh
YHQtdDl4Y08tUGk5JntiaDheTyRqXmBsSSE4RXQ+YjxZKW12Mjd+PW9jP2ttCnp7Q1NmNkRWNlVa
T00kT2ZmJmdQfTJGRX5QI204K2c/a0g1PklEWFZHWUdmKXlwOXUjT1kmTF51djt3QUE2eiUmQAp6
aDlQP253cE9OZT4qYnVrdDF3LTRtczRGR21LSW8jSTk8Xk50cmgybz8kcXZmWmZZbHEtO3J+K2FJ
JjRJVnNOTjcKejU+LV9qI0ReWUhXQCp5KFRCNTh+KylZUz1AOS1lOCZJYEx4MStVdV4yUXFiSy1a
XkxpbV5obUVCPXxgYjtOKCM+CnpqPTlzJnI2TWQocHBKcHlZKUVfUk40PX5RVkYlQDQ4S3AwPXBs
Z1llRGpJMlgqSEUyIXJ8YU0ld29KQ3xmO2lAMwp6dVcrfDNGeXxyOFdYOHtUKihZUElJNmp0a1Yx
SE88aGFZaSFQJG9gS1BpeikxK0BDeWpPUk0+KGM9PENFNF4zSWkKelBvKHl4XiFpek92UzI+YkBm
aioxTVpESUk1KmYyU0xsYThwYXU1KlFnfTFxT2xydCorX0hGQWs+TT9FRGlAdk5ZCnp7dzQrc2N6
WEBzcVZxYE1TTnRVPkAlcGIxYHdoRT01JE95MThzWldEQHR+aFhoJVZMemApPWVhY3xEMitGPHZm
QQp6V1gtLTNIeUtoSDRnNSV9VXg+bjtPWk51M24kXjFxJlFhViZUPjBHam9IKmtraCY8RDlydWl+
Y3djSCREel9GdSkKekhrfileNTBsP1JZPHY8S0RtI090JSRBbDwpQiN5KGhlSW1AM1lKdTVfI2Fn
Ml9PQ3dYJFBJUCtSRDI7cT1gZi0/Cno+e15oM1I8ZHE7c3FwR1Nub3lHUVYxaXluQjJEVyNpejJG
dFVTSlJwSjZBVmJwKmpzRzxBYChFQFlgIWJVP2E9cAp6Xilzc3NPe2AwfDNjN2tDUk9LemMlaTdN
XjZYeyhSJU5IRWI/NmcqSHdsJkBNKHo5aG1PWVBGPXE0fUQqeitIRTAKek1XfWRZP19mVV9HZnRz
VChzaT05VERQcXZfMFZhYiorTmhOZlZqYm9AezdyUXpOI1ljKyRfRGA4OHtIJmFWTEdsCnpFLXFm
Ynw4UkEmJjA7Wl5IRDFoOTZhSiZxM1RjRERePXJ3X3dPKCZHPDYtSHRtbWUrKD5ifm8mJkdhI04t
cnFvfgp6VjUjLT5XYWFIWEdtWjVjP1ZrSEpydHZqK25MKXx4SHwxNk5XbWVkZCV+SUBeSCl0TTdw
az56XzsxTjQ2YUxvaGEKendTaU1CVnkkRjJ4Z0BscmolbS1XMGAhVjEwND1GUXA3YEBHO2N3cG1t
QUdART1aUS1YckR8fD5DKH5ldyMoR0I2Cnpmfn5JJjd0Xj5wZENsVm8jVDN0PWNuQ2JYIUskYVJj
e0JPdCR0e352bGN2aGFiPjROdkRjIzZqWGZ9Y1JyaGgqQAp6dT1iKExyWSVNeEgrV3ojcnBxVXV8
SVg3R2pIfUdYQClvZHVodS0/fDFAcUJEJSVyOEs3WTs5UnQ3bDNsQ2dJfGcKej9+KGU3U0RPeVcx
JjltZCRCSkk2ajBWWW8xbGklUVd3ZXYhbGt4ci0tc15rKSk2TCNzKWs+KkhLRnkpZytaNkwxCnpu
Q25HUlZZOHR9SV9AUm0/Ql9ed29DX2VycXx9aitJM3wrIWIob1ZYcDhyYFdjXjt0UEY5ZXFHZStu
JXhlWCEhWQp6JWZ6Qn1BXjx+fVklSGxTYXJLdSYpMlJrO1dlWml3VGB9MTJ1RkFRPWUoUm1+R28z
VyZ4UXZUUkhBPChJUUB1TDMKejBKOTc0ez57R3JlOyhAcHpVQkM1Y0pIXlphWSs5MUhtWmRFWEF5
WWNeUWpoPmhfZVd7YE5gTSg7bCFJLSpSfU59CnpTPzxJcTRMR0lnJl5sMnxOe2pBOW43Ty1HPEpT
NUlZMF5+RFh9KGgqJGBmVVhHZUxFTVhpSmBwK2VWdEFANXFhbQp6cXNfc01qezdBbCM/K2czLTNN
ZHxMUmomdV9sRyt8RE5EJT9BfFYteXYzamdyOGQrTEhxNGNtJG15QyROX15mNjMKejllUigpSlAt
IX49fUxEKDRuYk9CaHRDcUclMSRpLXlqc2E7VmlKeU1sQSZUPl5gMStsK3Q0OCNldGZ3OGBwPj1r
Cnp1US0+VWlwKGF0X2hDZ0JXJVRHKV9uYn4lUGsrQ0JyYTU4ejhFZDZ8eHIwP3d3Y00yZGw+SFN9
Ylh4dFk8dmVEQAp6UHFuUE50WmIpJmwrcSQlZXhAaGsrSyFJSnFwZXAhJChrP0dWYko+Sj8/aTso
aXhVNk5HdGhVNE5kSkw+e2ROQHAKdWx7VXdCXzc0OW1YOGJlY2BkPX5Razl2VUxoV1k8V05CJD9A
YFM7WWV8M0R9SFU2VkxJNUMwRHJSYnVlfgoKZGlmZiAtLWdpdCBhL1dlYnNpdGVzL3dlYmtpdC5v
cmcvZGVtb3Mvd2ViZ3B1L2N1YmVzLmpzIGIvV2Vic2l0ZXMvd2Via2l0Lm9yZy9kZW1vcy93ZWJn
cHUvY3ViZXMuanMKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDZmNTJhMjQyMTU4OThm
YWY2ZjE2NjY4YWJlODNhYTI5YTkxZTQwNDguLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAKLS0tIGEvV2Vic2l0ZXMvd2Via2l0Lm9yZy9kZW1vcy93ZWJncHUvY3ViZXMu
anMKKysrIC9kZXYvbnVsbApAQCAtMSwzNDQgKzAsMCBAQAotY2xhc3MgVW5pZm9ybSB7Ci0gICAg
Y29uc3RydWN0b3IoZmxvYXQzMkFycmF5KSB7Ci0gICAgICAgIGlmIChmbG9hdDMyQXJyYXkgJiYg
ZmxvYXQzMkFycmF5Lmxlbmd0aCAhPSA2NCkgewotICAgICAgICAgICAgY29uc29sZS5sb2coIklu
Y29ycmVjdCBiYWNraW5nIHN0b3JlIGZvciBVbmlmb3JtIik7Ci0gICAgICAgICAgICByZXR1cm47
Ci0gICAgICAgIH0KLQotICAgICAgICB0aGlzLmFycmF5ID0gZmxvYXQzMkFycmF5IHx8IG5ldyBG
bG9hdDMyQXJyYXkoNjQpOwotICAgIH0KLSAgICAvLyBMYXlvdXQgaXMKLSAgICAvLyAwLTE1ID0g
bW9kZWxfdmlld19wcm9qZWN0aW9uX21hdHJpeCAoZmxvYXQ0eDQpCi0gICAgLy8gMTYtMzEgPSBu
b3JtYWwgbWF0cml4IChmbG9hdDR4NCkKLSAgICAvLyAzMi0zNSA9IGFtYmllbnQgY29sb3IgKGZs
b2F0NCkKLSAgICAvLyAzNiA9IG11bHRpcGxpZXIgKGludCkKLSAgICBnZXQgYnVmZmVyKCkgewot
ICAgICAgICByZXR1cm4gdGhpcy5hcnJheTsKLSAgICB9Ci0gICAgZ2V0IG12cCgpIHsKLSAgICAg
ICAgcmV0dXJuIHRoaXMuYXJyYXkuc3ViYXJyYXkoMCwgMTYpOwotICAgIH0KLSAgICBnZXQgbm9y
bWFsKCkgewotICAgICAgICByZXR1cm4gdGhpcy5hcnJheS5zdWJhcnJheSgxNiwgMzIpOwotICAg
IH0KLSAgICBnZXQgYW1iaWVudENvbG9yKCkgewotICAgICAgICByZXR1cm4gdGhpcy5hcnJheS5z
dWJhcnJheSgzMiwgMzYpOwotICAgIH0KLSAgICBnZXQgbXVsdGlwbGllcigpIHsKLSAgICAgICAg
cmV0dXJuIHRoaXMuYXJyYXlbNDBdOwotICAgIH0KLSAgICBzZXQgbXZwKHZhbHVlKSB7Ci0gICAg
ICAgIHRoaXMuX2NvcHlNYXRyaXgodmFsdWUsIDApOwotICAgIH0KLSAgICBzZXQgbm9ybWFsKHZh
bHVlKSB7Ci0gICAgICAgIHRoaXMuX2NvcHlNYXRyaXgodmFsdWUsIDE2KTsKLSAgICB9Ci0gICAg
c2V0IGFtYmllbnRDb2xvcih2YWx1ZSkgewotICAgICAgICB0aGlzLmFycmF5WzMyXSA9IHZhbHVl
WzBdOwotICAgICAgICB0aGlzLmFycmF5WzMzXSA9IHZhbHVlWzFdOwotICAgICAgICB0aGlzLmFy
cmF5WzM0XSA9IHZhbHVlWzJdOwotICAgICAgICB0aGlzLmFycmF5WzM1XSA9IHZhbHVlWzNdOwot
ICAgIH0KLSAgICBzZXQgbXVsdGlwbGllcih2YWx1ZSkgewotICAgICAgICB0aGlzLmFycmF5WzM2
XSA9IHZhbHVlOwotICAgIH0KLSAgICBfY29weU1hdHJpeChtYXRyaXgsIG9mZnNldCkgewotICAg
ICAgICBmb3IgKHZhciBpID0gMDsgaSA8IDE2OyBpKyspIHsKLSAgICAgICAgICAgIHRoaXMuYXJy
YXlbb2Zmc2V0ICsgaV0gPSBtYXRyaXhbaV07Ci0gICAgICAgIH0KLSAgICB9Ci19Ci0KLWNvbnN0
IHNtb290aHN0ZXAgPSAobWluLCBtYXgsIHZhbHVlKSA9PiB7Ci0gICAgbGV0IHggPSBNYXRoLm1h
eCgwLCBNYXRoLm1pbigxLCAodmFsdWUgLSBtaW4pIC8gKG1heCAtIG1pbikpKTsKLSAgICByZXR1
cm4geCAqIHggKiAoMyAtIDIgKiB4KTsKLX07Ci0KLWNvbnN0IGluVGltZVJhbmdlID0gKG5vdywg
c3RhcnQsIGVuZCwgcGVyaW9kKSA9PiB7Ci0gICAgbGV0IG9mZnNldCA9IG5vdyAlIHBlcmlvZDsK
LSAgICByZXR1cm4gb2Zmc2V0ID49IHN0YXJ0ICYmIG9mZnNldCA8PSBlbmQ7Ci19OwotCi1jb25z
dCB0aW1lUmFuZ2VPZmZzZXQgPSAobm93LCBzdGFydCwgZW5kLCBwZXJpb2QpID0+IHsKLSAgICBp
ZiAoIWluVGltZVJhbmdlKG5vdywgc3RhcnQsIGVuZCwgcGVyaW9kKSkgewotICAgICAgICByZXR1
cm4gMDsKLSAgICB9Ci0gICAgbGV0IG9mZnNldCA9IG5vdyAlIHBlcmlvZDsKLSAgICByZXR1cm4g
TWF0aC5taW4oMSwgTWF0aC5tYXgoMCwgKG9mZnNldCAtIHN0YXJ0KSAvIChlbmQgLSBzdGFydCkp
KTsKLX07Ci0KLWNvbnN0IG1pZGRsZVBlYWtUaW1lUmFuZ2VPZmZzZXQgPSAobm93LCBzdGFydCwg
ZW5kLCBwZXJpb2QpID0+IHsKLSAgICBsZXQgb2Zmc2V0ID0gdGltZVJhbmdlT2Zmc2V0KG5vdywg
c3RhcnQsIGVuZCwgcGVyaW9kKTsKLSAgICByZXR1cm4gMSAtIE1hdGguYWJzKDAuNSAtIG9mZnNl
dCkgKiAyOwotfTsKLQotY29uc3Qga051bUFjdGl2ZVVuaWZvcm1CdWZmZXJzID0gMzsKLWNvbnN0
IGtOdW1iZXJPZkJveGVzUGVyQXhpcyA9IDY7Ci1jb25zdCBrTnVtYmVyT2ZCb3hlcyA9IGtOdW1i
ZXJPZkJveGVzUGVyQXhpcyAqIGtOdW1iZXJPZkJveGVzUGVyQXhpczsKLWNvbnN0IGtCb3hCYXNl
QW1iaWVudENvbG9yID0gWzAuMiwgMC4yLCAwLjIsIDEuMF07Ci1jb25zdCBrRk9WWSA9IDQ1LjAg
LyAxODAgKiBNYXRoLlBJOwotY29uc3Qga0V5ZSA9IHZlYzMuZnJvbVZhbHVlcygwLjAsIDIuNzUs
IC0yKTsKLWNvbnN0IGtDZW50ZXIgPSB2ZWMzLmZyb21WYWx1ZXMoMC4wLCAxLjUsIDEuMCk7Ci1j
b25zdCBrVXAgPSB2ZWMzLmZyb21WYWx1ZXMoMC4wLCAxLjAsIDAuMCk7Ci1jb25zdCBrRWRnZSA9
IDEuNSAvIGtOdW1iZXJPZkJveGVzUGVyQXhpcyA7Ci0KLWNvbnN0IGtDdWJlVmVydGV4RGF0YSA9
IG5ldyBGbG9hdDMyQXJyYXkoCi1bCi0gICAga0VkZ2UsIC1rRWRnZSwga0VkZ2UsIDAuMCwgLTEu
MCwgMC4wLAotICAgIC1rRWRnZSwgLWtFZGdlLCBrRWRnZSwgMC4wLCAtMS4wLCAwLjAsCi0gICAg
LWtFZGdlLCAta0VkZ2UsIC1rRWRnZSwgMC4wLCAtMS4wLCAwLjAsCi0gICAga0VkZ2UsIC1rRWRn
ZSwgLWtFZGdlLCAwLjAsIC0xLjAsIDAuMCwKLSAgICBrRWRnZSwgLWtFZGdlLCBrRWRnZSwgMC4w
LCAtMS4wLCAwLjAsCi0gICAgLWtFZGdlLCAta0VkZ2UsIC1rRWRnZSwgMC4wLCAtMS4wLCAwLjAs
Ci0KLSAgICBrRWRnZSwga0VkZ2UsIGtFZGdlLCAxLjAsIDAuMCwgMC4wLAotICAgIGtFZGdlLCAt
a0VkZ2UsIGtFZGdlLCAxLjAsIDAuMCwgMC4wLAotICAgIGtFZGdlLCAta0VkZ2UsIC1rRWRnZSwg
MS4wLCAwLjAsIDAuMCwKLSAgICBrRWRnZSwga0VkZ2UsIC1rRWRnZSwgMS4wLCAwLjAsIDAuMCwK
LSAgICBrRWRnZSwga0VkZ2UsIGtFZGdlLCAxLjAsIDAuMCwgMC4wLAotICAgIGtFZGdlLCAta0Vk
Z2UsIC1rRWRnZSwgMS4wLCAwLjAsIDAuMCwKLQotICAgIC1rRWRnZSwga0VkZ2UsIGtFZGdlLCAw
LjAsIDEuMCwgMC4wLAotICAgIGtFZGdlLCBrRWRnZSwga0VkZ2UsIDAuMCwgMS4wLCAwLjAsCi0g
ICAga0VkZ2UsIGtFZGdlLCAta0VkZ2UsIDAuMCwgMS4wLCAwLjAsCi0gICAgLWtFZGdlLCBrRWRn
ZSwgLWtFZGdlLCAwLjAsIDEuMCwgMC4wLAotICAgIC1rRWRnZSwga0VkZ2UsIGtFZGdlLCAwLjAs
IDEuMCwgMC4wLAotICAgIGtFZGdlLCBrRWRnZSwgLWtFZGdlLCAwLjAsIDEuMCwgMC4wLAotCi0g
ICAgLWtFZGdlLCAta0VkZ2UsIGtFZGdlLCAtMS4wLCAwLjAsIDAuMCwKLSAgICAta0VkZ2UsIGtF
ZGdlLCBrRWRnZSwgLTEuMCwgMC4wLCAwLjAsCi0gICAgLWtFZGdlLCBrRWRnZSwgLWtFZGdlLCAt
MS4wLCAwLjAsIDAuMCwKLSAgICAta0VkZ2UsIC1rRWRnZSwgLWtFZGdlLCAtMS4wLCAwLjAsIDAu
MCwKLSAgICAta0VkZ2UsIC1rRWRnZSwga0VkZ2UsIC0xLjAsIDAuMCwgMC4wLAotICAgIC1rRWRn
ZSwga0VkZ2UsIC1rRWRnZSwgLTEuMCwgMC4wLCAwLjAsCi0KLSAgICBrRWRnZSwga0VkZ2UsIGtF
ZGdlLCAwLjAsIDAuMCwgMS4wLAotICAgIC1rRWRnZSwga0VkZ2UsIGtFZGdlLCAwLjAsIDAuMCwg
MS4wLAotICAgIC1rRWRnZSwgLWtFZGdlLCBrRWRnZSwgMC4wLCAwLjAsIDEuMCwKLSAgICAta0Vk
Z2UsIC1rRWRnZSwga0VkZ2UsIDAuMCwgMC4wLCAxLjAsCi0gICAga0VkZ2UsIC1rRWRnZSwga0Vk
Z2UsIDAuMCwgMC4wLCAxLjAsCi0gICAga0VkZ2UsIGtFZGdlLCBrRWRnZSwgMC4wLCAwLjAsIDEu
MCwKLQotICAgIGtFZGdlLCAta0VkZ2UsIC1rRWRnZSwgMC4wLCAwLjAsIC0xLjAsCi0gICAgLWtF
ZGdlLCAta0VkZ2UsIC1rRWRnZSwgMC4wLCAwLjAsIC0xLjAsCi0gICAgLWtFZGdlLCBrRWRnZSwg
LWtFZGdlLCAwLjAsIDAuMCwgLTEuMCwKLSAgICBrRWRnZSwga0VkZ2UsIC1rRWRnZSwgMC4wLCAw
LjAsIC0xLjAsCi0gICAga0VkZ2UsIC1rRWRnZSwgLWtFZGdlLCAwLjAsIDAuMCwgLTEuMCwKLSAg
ICAta0VkZ2UsIGtFZGdlLCAta0VkZ2UsIDAuMCwgMC4wLCAtMS4wCi1dKTsKLQotbGV0IGdwdTsK
LWxldCBjb21tYW5kUXVldWU7Ci1sZXQgcmVuZGVyUGFzc0Rlc2NyaXB0b3I7Ci1sZXQgcmVuZGVy
UGlwZWxpbmVTdGF0ZTsKLWxldCBkZXB0aFN0ZW5jaWxTdGF0ZTsKLQotbGV0IHByb2plY3Rpb25N
YXRyaXggPSBtYXQ0LmNyZWF0ZSgpOwotbGV0IHZpZXdNYXRyaXggPSBtYXQ0LmNyZWF0ZSgpOwot
Ci12YXIgc3RhcnRUaW1lOwotdmFyIGVsYXBzZWRUaW1lOwotbGV0IGNhbWVyYVJvdGF0aW9uID0g
MDsKLWxldCBjYW1lcmFBbHRpdHVkZSA9IDA7Ci0KLWNvbnN0IHVuaWZvcm1CdWZmZXJzID0gbmV3
IEFycmF5KGtOdW1BY3RpdmVVbmlmb3JtQnVmZmVycyk7Ci12YXIgY3VycmVudFVuaWZvcm1CdWZm
ZXJJbmRleCA9IDA7Ci0KLXdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgaW5pdCwgZmFs
c2UpOwotCi1mdW5jdGlvbiBpbml0KCkgewotCi0gICAgaWYgKCFjaGVja0ZvcldlYkdQVSgpKSB7
Ci0gICAgICAgIHJldHVybjsKLSAgICB9Ci0KLSAgICBsZXQgY2FudmFzID0gZG9jdW1lbnQucXVl
cnlTZWxlY3RvcigiY2FudmFzIik7Ci0gICAgbGV0IGNhbnZhc1NpemUgPSBjYW52YXMuZ2V0Qm91
bmRpbmdDbGllbnRSZWN0KCk7Ci0gICAgY2FudmFzLndpZHRoID0gY2FudmFzU2l6ZS53aWR0aDsK
LSAgICBjYW52YXMuaGVpZ2h0ID0gY2FudmFzU2l6ZS5oZWlnaHQ7Ci0KLSAgICBsZXQgYXNwZWN0
ID0gTWF0aC5hYnMoY2FudmFzU2l6ZS53aWR0aCAvIGNhbnZhc1NpemUuaGVpZ2h0KTsKLSAgICBt
YXQ0LnBlcnNwZWN0aXZlKHByb2plY3Rpb25NYXRyaXgsIGtGT1ZZLCBhc3BlY3QsIDAuMSwgMTAw
LjApOwotICAgIG1hdDQubG9va0F0KHZpZXdNYXRyaXgsIGtFeWUsIGtDZW50ZXIsIGtVcCk7Ci0K
LSAgICBncHUgPSBjYW52YXMuZ2V0Q29udGV4dCgid2ViZ3B1Iik7Ci0gICAgY29tbWFuZFF1ZXVl
ID0gZ3B1LmNyZWF0ZUNvbW1hbmRRdWV1ZSgpOwotCi0gICAgbGV0IGxpYnJhcnkgPSBncHUuY3Jl
YXRlTGlicmFyeShkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgibGlicmFyeSIpLnRleHQpOwotICAg
IGxldCB2ZXJ0ZXhGdW5jdGlvbiA9IGxpYnJhcnkuZnVuY3Rpb25XaXRoTmFtZSgidmVydGV4X2Z1
bmN0aW9uIik7Ci0gICAgbGV0IGZyYWdtZW50RnVuY3Rpb24gPSBsaWJyYXJ5LmZ1bmN0aW9uV2l0
aE5hbWUoImZyYWdtZW50X2Z1bmN0aW9uIik7Ci0KLSAgICBpZiAoIWxpYnJhcnkgfHwgIWZyYWdt
ZW50RnVuY3Rpb24gfHwgIXZlcnRleEZ1bmN0aW9uKSB7Ci0gICAgICAgIHJldHVybjsKLSAgICB9
Ci0KLSAgICB2YXIgcGlwZWxpbmVEZXNjcmlwdG9yID0gbmV3IFdlYkdQVVJlbmRlclBpcGVsaW5l
RGVzY3JpcHRvcigpOwotICAgIHBpcGVsaW5lRGVzY3JpcHRvci52ZXJ0ZXhGdW5jdGlvbiA9IHZl
cnRleEZ1bmN0aW9uOwotICAgIHBpcGVsaW5lRGVzY3JpcHRvci5mcmFnbWVudEZ1bmN0aW9uID0g
ZnJhZ21lbnRGdW5jdGlvbjsKLSAgICAvLyBOT1RFOiBPdXIgQVBJIHByb3Bvc2FsIGhhcyB0aGVz
ZSB2YWx1ZXMgYXMgZW51bXMsIG5vdCBjb25zdGFudCBudW1iZXJzLgotICAgIC8vIFdlIGhhdmVu
J3QgZ290IGFyb3VuZCB0byBpbXBsZW1lbnRpbmcgdGhlIGVudW1zIHlldC4KLSAgICBwaXBlbGlu
ZURlc2NyaXB0b3IuY29sb3JBdHRhY2htZW50c1swXS5waXhlbEZvcm1hdCA9IGdwdS5QaXhlbEZv
cm1hdEJHUkE4VW5vcm07Ci0gICAgcGlwZWxpbmVEZXNjcmlwdG9yLmRlcHRoQXR0YWNobWVudFBp
eGVsRm9ybWF0ID0gZ3B1LlBpeGVsRm9ybWF0RGVwdGgzMkZsb2F0OwotCi0gICAgcmVuZGVyUGlw
ZWxpbmVTdGF0ZSA9IGdwdS5jcmVhdGVSZW5kZXJQaXBlbGluZVN0YXRlKHBpcGVsaW5lRGVzY3Jp
cHRvcik7Ci0KLSAgICBsZXQgZGVwdGhTdGVuY2lsRGVzY3JpcHRvciA9IG5ldyBXZWJHUFVEZXB0
aFN0ZW5jaWxEZXNjcmlwdG9yKCk7Ci0gICAgZGVwdGhTdGVuY2lsRGVzY3JpcHRvci5kZXB0aFdy
aXRlRW5hYmxlZCA9IHRydWU7Ci0gICAgZGVwdGhTdGVuY2lsRGVzY3JpcHRvci5kZXB0aENvbXBh
cmVGdW5jdGlvbiA9ICJsZXNzIjsKLQotICAgIGRlcHRoU3RlbmNpbFN0YXRlID0gZ3B1LmNyZWF0
ZURlcHRoU3RlbmNpbFN0YXRlKGRlcHRoU3RlbmNpbERlc2NyaXB0b3IpOwotCi0gICAgZm9yIChs
ZXQgaSA9IDA7IGkgPCBrTnVtQWN0aXZlVW5pZm9ybUJ1ZmZlcnM7IGkrKykgewotICAgICAgICB1
bmlmb3JtQnVmZmVyc1tpXSA9IFtdOwotICAgICAgICBmb3IgKGxldCBqID0gMDsgaiA8IGtOdW1i
ZXJPZkJveGVzOyBqKyspIHsKLSAgICAgICAgICAgIGxldCB1bmlmb3JtID0gbmV3IFVuaWZvcm0o
KTsKLSAgICAgICAgICAgIHVuaWZvcm0ubXVsdGlwbGllciA9IChqICUgMikgPyAtMSA6IDE7Ci0g
ICAgICAgICAgICB1bmlmb3JtLmFtYmllbnRDb2xvciA9IGtCb3hCYXNlQW1iaWVudENvbG9yOwot
ICAgICAgICAgICAgdW5pZm9ybUJ1ZmZlcnNbaV0ucHVzaChncHUuY3JlYXRlQnVmZmVyKHVuaWZv
cm0uYnVmZmVyKSk7Ci0gICAgICAgIH0KLSAgICB9Ci0KLSAgICBsZXQgZGVwdGhUZXh0dXJlRGVz
Y3JpcHRvciA9IG5ldyBXZWJHUFVUZXh0dXJlRGVzY3JpcHRvcihncHUuUGl4ZWxGb3JtYXREZXB0
aDMyRmxvYXQsIGNhbnZhc1NpemUud2lkdGgsIGNhbnZhc1NpemUuaGVpZ2h0LCBmYWxzZSk7Ci0g
ICAgLy8gTk9URTogT3VyIEFQSSBwcm9wb3NhbCBoYXMgc29tZSBvZiB0aGVzZSB2YWx1ZXMgYXMg
ZW51bXMsIG5vdCBjb25zdGFudCBudW1iZXJzLgotICAgIC8vIFdlIGhhdmVuJ3QgZ290IGFyb3Vu
ZCB0byBpbXBsZW1lbnRpbmcgdGhlIGVudW1zIHlldC4KLSAgICBkZXB0aFRleHR1cmVEZXNjcmlw
dG9yLnRleHR1cmVUeXBlID0gZ3B1LlRleHR1cmVUeXBlMkQ7Ci0gICAgZGVwdGhUZXh0dXJlRGVz
Y3JpcHRvci5zYW1wbGVDb3VudCA9IDE7Ci0gICAgZGVwdGhUZXh0dXJlRGVzY3JpcHRvci51c2Fn
ZSA9IGdwdS5UZXh0dXJlVXNhZ2VVbmtub3duOwotICAgIGRlcHRoVGV4dHVyZURlc2NyaXB0b3Iu
c3RvcmFnZU1vZGUgPSBncHUuU3RvcmFnZU1vZGVQcml2YXRlOwotCi0gICAgbGV0IGRlcHRoVGV4
dHVyZSA9IGdwdS5jcmVhdGVUZXh0dXJlKGRlcHRoVGV4dHVyZURlc2NyaXB0b3IpOwotCi0gICAg
cmVuZGVyUGFzc0Rlc2NyaXB0b3IgPSBuZXcgV2ViR1BVUmVuZGVyUGFzc0Rlc2NyaXB0b3IoKTsK
LSAgICAvLyBOT1RFOiBPdXIgQVBJIHByb3Bvc2FsIGhhcyBzb21lIG9mIHRoZXNlIHZhbHVlcyBh
cyBlbnVtcywgbm90IGNvbnN0YW50IG51bWJlcnMuCi0gICAgLy8gV2UgaGF2ZW4ndCBnb3QgYXJv
dW5kIHRvIGltcGxlbWVudGluZyB0aGUgZW51bXMgeWV0LgotICAgIHJlbmRlclBhc3NEZXNjcmlw
dG9yLmNvbG9yQXR0YWNobWVudHNbMF0ubG9hZEFjdGlvbiA9IGdwdS5Mb2FkQWN0aW9uQ2xlYXI7
Ci0gICAgcmVuZGVyUGFzc0Rlc2NyaXB0b3IuY29sb3JBdHRhY2htZW50c1swXS5zdG9yZUFjdGlv
biA9IGdwdS5TdG9yZUFjdGlvblN0b3JlOwotICAgIHJlbmRlclBhc3NEZXNjcmlwdG9yLmNvbG9y
QXR0YWNobWVudHNbMF0uY2xlYXJDb2xvciA9IFswLjM1LCAwLjY1LCAwLjg1LCAxLjBdOwotICAg
IHJlbmRlclBhc3NEZXNjcmlwdG9yLmRlcHRoQXR0YWNobWVudC5sb2FkQWN0aW9uID0gZ3B1Lkxv
YWRBY3Rpb25DbGVhcjsKLSAgICByZW5kZXJQYXNzRGVzY3JpcHRvci5kZXB0aEF0dGFjaG1lbnQu
c3RvcmVBY3Rpb24gPSBncHUuU3RvcmVBY3Rpb25Eb250Q2FyZTsKLSAgICByZW5kZXJQYXNzRGVz
Y3JpcHRvci5kZXB0aEF0dGFjaG1lbnQuY2xlYXJEZXB0aCA9IDEuMDsKLSAgICByZW5kZXJQYXNz
RGVzY3JpcHRvci5kZXB0aEF0dGFjaG1lbnQudGV4dHVyZSA9IGRlcHRoVGV4dHVyZTsKLQotICAg
IHZlcnRleEJ1ZmZlciA9IGdwdS5jcmVhdGVCdWZmZXIoa0N1YmVWZXJ0ZXhEYXRhKTsKLQotICAg
IHN0YXJ0VGltZSA9IERhdGUubm93KCk7Ci0gICAgcmVuZGVyKCk7Ci19Ci0KLWZ1bmN0aW9uIHJl
bmRlcigpIHsKLQotICAgIGVsYXBzZWRUaW1lID0gKERhdGUubm93KCkgLSBzdGFydFRpbWUpIC8g
MTAwMDsKLQotICAgIGNhbWVyYVJvdGF0aW9uID0gTWF0aC5QSSAqIDIgKiAoMSAtIHRpbWVSYW5n
ZU9mZnNldChlbGFwc2VkVGltZSwgMCwgMTEsIDExKSk7Ci0gICAgY2FtZXJhQWx0aXR1ZGUgPSBN
YXRoLnNpbihlbGFwc2VkVGltZSAvIDYgKiBNYXRoLlBJKSArIDE7Ci0KLSAgICBsZXQgZXllID0g
dmVjMy5jcmVhdGUoKTsKLSAgICB2ZWMzLmFkZChleWUsIGtFeWUsIHZlYzMuZnJvbVZhbHVlcygw
LCBjYW1lcmFBbHRpdHVkZSwgMCkpOwotICAgIG1hdDQubG9va0F0KHZpZXdNYXRyaXgsIGV5ZSwg
a0NlbnRlciwga1VwKTsKLQotICAgIHVwZGF0ZVVuaWZvcm1EYXRhKGN1cnJlbnRVbmlmb3JtQnVm
ZmVySW5kZXgpOwotCi0gICAgbGV0IGNvbW1hbmRCdWZmZXIgPSBjb21tYW5kUXVldWUuY3JlYXRl
Q29tbWFuZEJ1ZmZlcigpOwotCi0gICAgbGV0IGRyYXdhYmxlID0gZ3B1Lm5leHREcmF3YWJsZSgp
OwotCi0gICAgcmVuZGVyUGFzc0Rlc2NyaXB0b3IuY29sb3JBdHRhY2htZW50c1swXS50ZXh0dXJl
ID0gZHJhd2FibGUudGV4dHVyZTsKLQotICAgIGxldCBjb21tYW5kRW5jb2RlciA9IGNvbW1hbmRC
dWZmZXIuY3JlYXRlUmVuZGVyQ29tbWFuZEVuY29kZXJXaXRoRGVzY3JpcHRvcihyZW5kZXJQYXNz
RGVzY3JpcHRvcik7Ci0gICAgY29tbWFuZEVuY29kZXIuc2V0RGVwdGhTdGVuY2lsU3RhdGUoZGVw
dGhTdGVuY2lsU3RhdGUpOwotICAgIGNvbW1hbmRFbmNvZGVyLnNldFJlbmRlclBpcGVsaW5lU3Rh
dGUocmVuZGVyUGlwZWxpbmVTdGF0ZSk7Ci0gICAgY29tbWFuZEVuY29kZXIuc2V0VmVydGV4QnVm
ZmVyKHZlcnRleEJ1ZmZlciwgMCwgMCk7Ci0KLSAgICBmb3IgKGxldCBnZW9tZXRyeUJ1ZmZlciBv
ZiB1bmlmb3JtQnVmZmVyc1tjdXJyZW50VW5pZm9ybUJ1ZmZlckluZGV4XSkgewotICAgICAgICBj
b21tYW5kRW5jb2Rlci5zZXRWZXJ0ZXhCdWZmZXIoZ2VvbWV0cnlCdWZmZXIsIDAsIDEpOwotICAg
ICAgICAvLyBOT1RFOiBPdXIgQVBJIHByb3Bvc2FsIHVzZXMgdGhlIGVudW0gdmFsdWUgInRyaWFu
Z2xlIiBoZXJlLiBXZSBoYXZlbid0IGdvdCBhcm91bmQgdG8gaW1wbGVtZW50aW5nIHRoZSBlbnVt
cyB5ZXQuCi0gICAgICAgIGNvbW1hbmRFbmNvZGVyLmRyYXdQcmltaXRpdmVzKGdwdS5QcmltaXRp
dmVUeXBlVHJpYW5nbGUsIDAsIGtDdWJlVmVydGV4RGF0YS5sZW5ndGgpOwotICAgIH0KLQotICAg
IGNvbW1hbmRFbmNvZGVyLmVuZEVuY29kaW5nKCk7Ci0gICAgY29tbWFuZEJ1ZmZlci5wcmVzZW50
RHJhd2FibGUoZHJhd2FibGUpOwotICAgIGNvbW1hbmRCdWZmZXIuY29tbWl0KCk7Ci0KLSAgICBj
dXJyZW50VW5pZm9ybUJ1ZmZlckluZGV4ID0gKGN1cnJlbnRVbmlmb3JtQnVmZmVySW5kZXggKyAx
KSAlIGtOdW1BY3RpdmVVbmlmb3JtQnVmZmVyczsKLSAgICByZXF1ZXN0QW5pbWF0aW9uRnJhbWUo
cmVuZGVyKTsKLX0KLQotZnVuY3Rpb24gdXBkYXRlVW5pZm9ybURhdGEoaW5kZXgpIHsKLQotICAg
IGxldCBiYXNlTW9kZWxWaWV3TWF0cml4ID0gbWF0NC5jcmVhdGUoKTsKLSAgICBtYXQ0LnRyYW5z
bGF0ZShiYXNlTW9kZWxWaWV3TWF0cml4LCBiYXNlTW9kZWxWaWV3TWF0cml4LCB2ZWMzLmZyb21W
YWx1ZXMoMCwgLTEgKiBjYW1lcmFBbHRpdHVkZSwgNSkpOwotICAgIG1hdDQucm90YXRlKGJhc2VN
b2RlbFZpZXdNYXRyaXgsIGJhc2VNb2RlbFZpZXdNYXRyaXgsIGNhbWVyYVJvdGF0aW9uLCB2ZWMz
LmZyb21WYWx1ZXMoMCwgMSwgMCkpOwotCi0gICAgbWF0NC5tdWx0aXBseShiYXNlTW9kZWxWaWV3
TWF0cml4LCB2aWV3TWF0cml4LCBiYXNlTW9kZWxWaWV3TWF0cml4KTsKLQotICAgIGZvciAobGV0
IGkgPSAwOyBpIDwga051bWJlck9mQm94ZXNQZXJBeGlzOyBpKyspIHsKLSAgICAgICAgZm9yIChs
ZXQgaiA9IDA7IGogPCBrTnVtYmVyT2ZCb3hlc1BlckF4aXM7IGorKykgewotCi0gICAgICAgICAg
ICBsZXQgYm94SW5kZXggPSBpICoga051bWJlck9mQm94ZXNQZXJBeGlzICsgajsKLQotICAgICAg
ICAgICAgbGV0IG1vZGVsVmlld01hdHJpeCA9IG1hdDQuY3JlYXRlKCk7Ci0KLSAgICAgICAgICAg
IC8vIFBvc2l0aW9uIHRoZSBjdWJlIGluIFgsWS4KLSAgICAgICAgICAgIGxldCB0cmFuc2xhdGlv
bk1hdHJpeCA9IG1hdDQuY3JlYXRlKCk7Ci0gICAgICAgICAgICBpZiAoa051bWJlck9mQm94ZXNQ
ZXJBeGlzID4gMSkgewotICAgICAgICAgICAgICAgIGxldCBzdGVwID0gNCAvIChrTnVtYmVyT2ZC
b3hlc1BlckF4aXMgLSAxKTsKLSAgICAgICAgICAgICAgICBtYXQ0LnRyYW5zbGF0ZSh0cmFuc2xh
dGlvbk1hdHJpeCwgdHJhbnNsYXRpb25NYXRyaXgsIHZlYzMuZnJvbVZhbHVlcyhqICogc3RlcCAt
IDIsIDAsIGkgKiBzdGVwIC0gMikpOwotICAgICAgICAgICAgfSBlbHNlIHsKLSAgICAgICAgICAg
ICAgICBtYXQ0LnRyYW5zbGF0ZSh0cmFuc2xhdGlvbk1hdHJpeCwgdHJhbnNsYXRpb25NYXRyaXgs
IHZlYzMuZnJvbVZhbHVlcygwLCAwLCAwKSk7Ci0gICAgICAgICAgICB9Ci0KLSAgICAgICAgICAg
IGxldCB0cmFuc2xhdGVFbGFwc2VkT2Zmc2V0ID0gZWxhcHNlZFRpbWUgKyBib3hJbmRleCAqIDAu
NjsKLSAgICAgICAgICAgIGlmIChpblRpbWVSYW5nZSh0cmFuc2xhdGVFbGFwc2VkT2Zmc2V0LCAx
MCwgMTIsIDIzKSkgewotICAgICAgICAgICAgICAgIGxldCB0cmFuc2xhdGUgPSBzbW9vdGhzdGVw
KDAsIDEsIG1pZGRsZVBlYWtUaW1lUmFuZ2VPZmZzZXQodHJhbnNsYXRlRWxhcHNlZE9mZnNldCwg
MTAsIDEyLCAyMykpICogMC40OwotICAgICAgICAgICAgICAgIG1hdDQudHJhbnNsYXRlKHRyYW5z
bGF0aW9uTWF0cml4LCB0cmFuc2xhdGlvbk1hdHJpeCwgdmVjMy5mcm9tVmFsdWVzKDAsIHRyYW5z
bGF0ZSwgMCkpOwotICAgICAgICAgICAgfQotCi0gICAgICAgICAgICBsZXQgc2NhbGVNYXRyaXgg
PSBtYXQ0LmNyZWF0ZSgpOwotICAgICAgICAgICAgbGV0IHNjYWxlRWxhcHNlZE9mZnNldCA9IGVs
YXBzZWRUaW1lICsgYm94SW5kZXggKiAwLjE7Ci0gICAgICAgICAgICBpZiAoaW5UaW1lUmFuZ2Uo
c2NhbGVFbGFwc2VkT2Zmc2V0LCAyLCA2LCAxOSkpIHsKLSAgICAgICAgICAgICAgICBsZXQgc2Nh
bGUgPSBzbW9vdGhzdGVwKDAsIDEsIG1pZGRsZVBlYWtUaW1lUmFuZ2VPZmZzZXQoc2NhbGVFbGFw
c2VkT2Zmc2V0LCAyLCA2LCAxOSkpICogMC41ICsgMTsKLSAgICAgICAgICAgICAgICBtYXQ0LnNj
YWxlKHNjYWxlTWF0cml4LCBzY2FsZU1hdHJpeCwgdmVjMy5mcm9tVmFsdWVzKHNjYWxlLCBzY2Fs
ZSwgc2NhbGUpKTsKLSAgICAgICAgICAgIH0KLSAgICAgICAgICAgIG1hdDQubXVsdGlwbHkobW9k
ZWxWaWV3TWF0cml4LCB0cmFuc2xhdGlvbk1hdHJpeCwgc2NhbGVNYXRyaXgpOwotCi0gICAgICAg
ICAgICAvLyBSb3RhdGUgdGhlIGN1YmUuCi0gICAgICAgICAgICBsZXQgcm90YXRpb25NYXRyaXgg
PSBtYXQ0LmNyZWF0ZSgpOwotICAgICAgICAgICAgbGV0IHJvdGF0aW9uRWxhcHNlZE9mZnNldCA9
IGVsYXBzZWRUaW1lICsgKGtOdW1iZXJPZkJveGVzIC0gYm94SW5kZXgpICogMC4xOwotICAgICAg
ICAgICAgaWYgKGluVGltZVJhbmdlKHJvdGF0aW9uRWxhcHNlZE9mZnNldCwgMywgNywgMTEpKSB7
Ci0gICAgICAgICAgICAgICAgdmFyIHJvdGF0aW9uID0gc21vb3Roc3RlcCgwLCAxLCB0aW1lUmFu
Z2VPZmZzZXQocm90YXRpb25FbGFwc2VkT2Zmc2V0LCAzLCA3LCAxMSkpICogTWF0aC5QSSAqIDI7
Ci0gICAgICAgICAgICAgICAgbWF0NC5yb3RhdGUocm90YXRpb25NYXRyaXgsIHJvdGF0aW9uTWF0
cml4LCByb3RhdGlvbiwgdmVjMy5mcm9tVmFsdWVzKDAuNSwgMSwgMSkpOwotICAgICAgICAgICAg
fQotICAgICAgICAgICAgbWF0NC5tdWx0aXBseShtb2RlbFZpZXdNYXRyaXgsIG1vZGVsVmlld01h
dHJpeCwgcm90YXRpb25NYXRyaXgpOwotCi0gICAgICAgICAgICBtYXQ0Lm11bHRpcGx5KG1vZGVs
Vmlld01hdHJpeCwgYmFzZU1vZGVsVmlld01hdHJpeCwgbW9kZWxWaWV3TWF0cml4KTsKLQotICAg
ICAgICAgICAgbGV0IG5vcm1hbE1hdHJpeCA9IG1hdDQuY2xvbmUobW9kZWxWaWV3TWF0cml4KTsK
LSAgICAgICAgICAgIG1hdDQudHJhbnNwb3NlKG5vcm1hbE1hdHJpeCwgbm9ybWFsTWF0cml4KTsK
LSAgICAgICAgICAgIG1hdDQuaW52ZXJ0KG5vcm1hbE1hdHJpeCwgbm9ybWFsTWF0cml4KTsKLQot
ICAgICAgICAgICAgbGV0IHVuaWZvcm0gPSBuZXcgVW5pZm9ybShuZXcgRmxvYXQzMkFycmF5KHVu
aWZvcm1CdWZmZXJzW2luZGV4XVtpICoga051bWJlck9mQm94ZXNQZXJBeGlzICsgal0uY29udGVu
dHMpKTsKLQotICAgICAgICAgICAgdW5pZm9ybS5ub3JtYWwgPSBub3JtYWxNYXRyaXg7Ci0KLSAg
ICAgICAgICAgIGxldCBtb2RlbFZpZXdQcm9qZWN0aW9uTWF0cml4ID0gbWF0NC5jcmVhdGUoKTsK
LSAgICAgICAgICAgIG1hdDQubXVsdGlwbHkobW9kZWxWaWV3UHJvamVjdGlvbk1hdHJpeCwgcHJv
amVjdGlvbk1hdHJpeCwgbW9kZWxWaWV3TWF0cml4KTsKLQotICAgICAgICAgICAgdW5pZm9ybS5t
dnAgPSBtb2RlbFZpZXdQcm9qZWN0aW9uTWF0cml4OwotCi0gICAgICAgICAgICBsZXQgY29sb3JF
bGFwc2VkT2Zmc2V0ID0gZWxhcHNlZFRpbWUgKyBib3hJbmRleCAqIDAuMTU7Ci0gICAgICAgICAg
ICBpZiAoaW5UaW1lUmFuZ2UoY29sb3JFbGFwc2VkT2Zmc2V0LCAyLCAzLCAxMCkpIHsKLSAgICAg
ICAgICAgICAgICBsZXQgcmVkQm9vc3QgPSBtaWRkbGVQZWFrVGltZVJhbmdlT2Zmc2V0KGNvbG9y
RWxhcHNlZE9mZnNldCwgMiwgMywgMTApICogMC41OwotICAgICAgICAgICAgICAgIHVuaWZvcm0u
YW1iaWVudENvbG9yWzBdID0gTWF0aC5taW4oMS4wLCBNYXRoLm1heCgwLCBrQm94QmFzZUFtYmll
bnRDb2xvclswXSArIHJlZEJvb3N0KSk7Ci0gICAgICAgICAgICB9IGVsc2UgewotICAgICAgICAg
ICAgICAgIHVuaWZvcm0uYW1iaWVudENvbG9yWzBdID0ga0JveEJhc2VBbWJpZW50Q29sb3JbMF07
Ci0gICAgICAgICAgICB9Ci0gICAgICAgICAgICBjb2xvckVsYXBzZWRPZmZzZXQgPSBlbGFwc2Vk
VGltZSArIChrTnVtYmVyT2ZCb3hlcyAtIGJveEluZGV4KSAqIDAuMTsKLSAgICAgICAgICAgIGlm
IChpblRpbWVSYW5nZShjb2xvckVsYXBzZWRPZmZzZXQsIDcsIDExLCAyMSkpIHsKLSAgICAgICAg
ICAgICAgICBsZXQgZ3JlZW5Cb29zdCA9IG1pZGRsZVBlYWtUaW1lUmFuZ2VPZmZzZXQoY29sb3JF
bGFwc2VkT2Zmc2V0LCA3LCAxMSwgMjEpICogMC4zOwotICAgICAgICAgICAgICAgIHVuaWZvcm0u
YW1iaWVudENvbG9yWzFdID0gTWF0aC5taW4oMS4wLCBNYXRoLm1heCgwLCBrQm94QmFzZUFtYmll
bnRDb2xvclsxXSArIGdyZWVuQm9vc3QpKTsKLSAgICAgICAgICAgIH0gZWxzZSB7Ci0gICAgICAg
ICAgICAgICAgdW5pZm9ybS5hbWJpZW50Q29sb3JbMV0gPSBrQm94QmFzZUFtYmllbnRDb2xvclsx
XTsKLSAgICAgICAgICAgIH0KLSAgICAgICAgfQotICAgIH0KLX0KZGlmZiAtLWdpdCBhL1dlYnNp
dGVzL3dlYmtpdC5vcmcvZGVtb3Mvd2ViZ3B1L2dsLW1hdHJpeC1taW4uanMgYi9XZWJzaXRlcy93
ZWJraXQub3JnL2RlbW9zL3dlYmdwdS9nbC1tYXRyaXgtbWluLmpzCmRlbGV0ZWQgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAxYzU2ZDZjY2E3ZmZlN2M0OWY3Y2ZjZjBlOTdiNWRjODM3N2E2NmI3Li4w
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL1dlYnNpdGVzL3dl
YmtpdC5vcmcvZGVtb3Mvd2ViZ3B1L2dsLW1hdHJpeC1taW4uanMKKysrIC9kZXYvbnVsbApAQCAt
MSwyOCArMCwwIEBACi0vKioKLSAqIEBmaWxlb3ZlcnZpZXcgZ2wtbWF0cml4IC0gSGlnaCBwZXJm
b3JtYW5jZSBtYXRyaXggYW5kIHZlY3RvciBvcGVyYXRpb25zCi0gKiBAYXV0aG9yIEJyYW5kb24g
Sm9uZXMKLSAqIEBhdXRob3IgQ29saW4gTWFjS2VuemllIElWCi0gKiBAdmVyc2lvbiAyLjQuMAot
ICovCi0KLS8qIENvcHlyaWdodCAoYykgMjAxNSwgQnJhbmRvbiBKb25lcywgQ29saW4gTWFjS2Vu
emllIElWLgotCi1QZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwg
dG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYSBjb3B5Ci1vZiB0aGlzIHNvZnR3YXJlIGFuZCBhc3Nv
Y2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZSAiU29mdHdhcmUiKSwgdG8gZGVhbAotaW4g
dGhlIFNvZnR3YXJlIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZyB3aXRob3V0IGxpbWl0
YXRpb24gdGhlIHJpZ2h0cwotdG8gdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLCBk
aXN0cmlidXRlLCBzdWJsaWNlbnNlLCBhbmQvb3Igc2VsbAotY29waWVzIG9mIHRoZSBTb2Z0d2Fy
ZSwgYW5kIHRvIHBlcm1pdCBwZXJzb25zIHRvIHdob20gdGhlIFNvZnR3YXJlIGlzCi1mdXJuaXNo
ZWQgdG8gZG8gc28sIHN1YmplY3QgdG8gdGhlIGZvbGxvd2luZyBjb25kaXRpb25zOgotCi1UaGUg
YWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBi
ZSBpbmNsdWRlZCBpbgotYWxsIGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUg
U29mdHdhcmUuCi0KLVRIRSBTT0ZUV0FSRSBJUyBQUk9WSURFRCAiQVMgSVMiLCBXSVRIT1VUIFdB
UlJBTlRZIE9GIEFOWSBLSU5ELCBFWFBSRVNTIE9SCi1JTVBMSUVELCBJTkNMVURJTkcgQlVUIE5P
VCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSwKLUZJVE5FU1Mg
Rk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT05JTkZSSU5HRU1FTlQuIElOIE5PIEVWRU5U
IFNIQUxMIFRIRQotQVVUSE9SUyBPUiBDT1BZUklHSFQgSE9MREVSUyBCRSBMSUFCTEUgRk9SIEFO
WSBDTEFJTSwgREFNQUdFUyBPUiBPVEhFUgotTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElP
TiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSwKLU9VVCBPRiBP
UiBJTiBDT05ORUNUSU9OIFdJVEggVEhFIFNPRlRXQVJFIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVB
TElOR1MgSU4KLVRIRSBTT0ZUV0FSRS4gKi8KLQotIWZ1bmN0aW9uKHQsbil7aWYoIm9iamVjdCI9
PXR5cGVvZiBleHBvcnRzJiYib2JqZWN0Ij09dHlwZW9mIG1vZHVsZSltb2R1bGUuZXhwb3J0cz1u
KCk7ZWxzZSBpZigiZnVuY3Rpb24iPT10eXBlb2YgZGVmaW5lJiZkZWZpbmUuYW1kKWRlZmluZShb
XSxuKTtlbHNle3ZhciByPW4oKTtmb3IodmFyIGEgaW4gcikoIm9iamVjdCI9PXR5cGVvZiBleHBv
cnRzP2V4cG9ydHM6dClbYV09clthXX19KHRoaXMsZnVuY3Rpb24oKXtyZXR1cm4gZnVuY3Rpb24o
dCl7ZnVuY3Rpb24gbihhKXtpZihyW2FdKXJldHVybiByW2FdLmV4cG9ydHM7dmFyIGU9clthXT17
aTphLGw6ITEsZXhwb3J0czp7fX07cmV0dXJuIHRbYV0uY2FsbChlLmV4cG9ydHMsZSxlLmV4cG9y
dHMsbiksZS5sPSEwLGUuZXhwb3J0c312YXIgcj17fTtyZXR1cm4gbi5tPXQsbi5jPXIsbi5kPWZ1
bmN0aW9uKHQscixhKXtuLm8odCxyKXx8T2JqZWN0LmRlZmluZVByb3BlcnR5KHQscix7Y29uZmln
dXJhYmxlOiExLGVudW1lcmFibGU6ITAsZ2V0OmF9KX0sbi5uPWZ1bmN0aW9uKHQpe3ZhciByPXQm
JnQuX19lc01vZHVsZT9mdW5jdGlvbigpe3JldHVybiB0LmRlZmF1bHR9OmZ1bmN0aW9uKCl7cmV0
dXJuIHR9O3JldHVybiBuLmQociwiYSIscikscn0sbi5vPWZ1bmN0aW9uKHQsbil7cmV0dXJuIE9i
amVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbCh0LG4pfSxuLnA9IiIsbihuLnM9NCl9
KFtmdW5jdGlvbih0LG4scil7InVzZSBzdHJpY3QiO2Z1bmN0aW9uIGEodCl7bi5BUlJBWV9UWVBF
PWk9dH1mdW5jdGlvbiBlKHQpe3JldHVybiB0KnN9ZnVuY3Rpb24gdSh0LG4pe3JldHVybiBNYXRo
LmFicyh0LW4pPD1vKk1hdGgubWF4KDEsTWF0aC5hYnModCksTWF0aC5hYnMobikpfU9iamVjdC5k
ZWZpbmVQcm9wZXJ0eShuLCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSxuLnNldE1hdHJpeEFycmF5
VHlwZT1hLG4udG9SYWRpYW49ZSxuLmVxdWFscz11O3ZhciBvPW4uRVBTSUxPTj0xZS02LGk9bi5B
UlJBWV9UWVBFPSJ1bmRlZmluZWQiIT10eXBlb2YgRmxvYXQzMkFycmF5P0Zsb2F0MzJBcnJheTpB
cnJheSxzPShuLlJBTkRPTT1NYXRoLnJhbmRvbSxNYXRoLlBJLzE4MCl9LGZ1bmN0aW9uKHQsbixy
KXsidXNlIHN0cmljdCI7ZnVuY3Rpb24gYSgpe3ZhciB0PW5ldyBnLkFSUkFZX1RZUEUoOSk7cmV0
dXJuIHRbMF09MSx0WzFdPTAsdFsyXT0wLHRbM109MCx0WzRdPTEsdFs1XT0wLHRbNl09MCx0Wzdd
PTAsdFs4XT0xLHR9ZnVuY3Rpb24gZSh0LG4pe3JldHVybiB0WzBdPW5bMF0sdFsxXT1uWzFdLHRb
Ml09blsyXSx0WzNdPW5bNF0sdFs0XT1uWzVdLHRbNV09bls2XSx0WzZdPW5bOF0sdFs3XT1uWzld
LHRbOF09blsxMF0sdH1mdW5jdGlvbiB1KHQpe3ZhciBuPW5ldyBnLkFSUkFZX1RZUEUoOSk7cmV0
dXJuIG5bMF09dFswXSxuWzFdPXRbMV0sblsyXT10WzJdLG5bM109dFszXSxuWzRdPXRbNF0sbls1
XT10WzVdLG5bNl09dFs2XSxuWzddPXRbN10sbls4XT10WzhdLG59ZnVuY3Rpb24gbyh0LG4pe3Jl
dHVybiB0WzBdPW5bMF0sdFsxXT1uWzFdLHRbMl09blsyXSx0WzNdPW5bM10sdFs0XT1uWzRdLHRb
NV09bls1XSx0WzZdPW5bNl0sdFs3XT1uWzddLHRbOF09bls4XSx0fWZ1bmN0aW9uIGkodCxuLHIs
YSxlLHUsbyxpLHMpe3ZhciBjPW5ldyBnLkFSUkFZX1RZUEUoOSk7cmV0dXJuIGNbMF09dCxjWzFd
PW4sY1syXT1yLGNbM109YSxjWzRdPWUsY1s1XT11LGNbNl09byxjWzddPWksY1s4XT1zLGN9ZnVu
Y3Rpb24gcyh0LG4scixhLGUsdSxvLGkscyxjKXtyZXR1cm4gdFswXT1uLHRbMV09cix0WzJdPWEs
dFszXT1lLHRbNF09dSx0WzVdPW8sdFs2XT1pLHRbN109cyx0WzhdPWMsdH1mdW5jdGlvbiBjKHQp
e3JldHVybiB0WzBdPTEsdFsxXT0wLHRbMl09MCx0WzNdPTAsdFs0XT0xLHRbNV09MCx0WzZdPTAs
dFs3XT0wLHRbOF09MSx0fWZ1bmN0aW9uIGYodCxuKXtpZih0PT09bil7dmFyIHI9blsxXSxhPW5b
Ml0sZT1uWzVdO3RbMV09blszXSx0WzJdPW5bNl0sdFszXT1yLHRbNV09bls3XSx0WzZdPWEsdFs3
XT1lfWVsc2UgdFswXT1uWzBdLHRbMV09blszXSx0WzJdPW5bNl0sdFszXT1uWzFdLHRbNF09bls0
XSx0WzVdPW5bN10sdFs2XT1uWzJdLHRbN109bls1XSx0WzhdPW5bOF07cmV0dXJuIHR9ZnVuY3Rp
b24gTSh0LG4pe3ZhciByPW5bMF0sYT1uWzFdLGU9blsyXSx1PW5bM10sbz1uWzRdLGk9bls1XSxz
PW5bNl0sYz1uWzddLGY9bls4XSxNPWYqby1pKmMsaD0tZip1K2kqcyxsPWMqdS1vKnMsdj1yKk0r
YSpoK2UqbDtyZXR1cm4gdj8odj0xL3YsdFswXT1NKnYsdFsxXT0oLWYqYStlKmMpKnYsdFsyXT0o
aSphLWUqbykqdix0WzNdPWgqdix0WzRdPShmKnItZSpzKSp2LHRbNV09KC1pKnIrZSp1KSp2LHRb
Nl09bCp2LHRbN109KC1jKnIrYSpzKSp2LHRbOF09KG8qci1hKnUpKnYsdCk6bnVsbH1mdW5jdGlv
biBoKHQsbil7dmFyIHI9blswXSxhPW5bMV0sZT1uWzJdLHU9blszXSxvPW5bNF0saT1uWzVdLHM9
bls2XSxjPW5bN10sZj1uWzhdO3JldHVybiB0WzBdPW8qZi1pKmMsdFsxXT1lKmMtYSpmLHRbMl09
YSppLWUqbyx0WzNdPWkqcy11KmYsdFs0XT1yKmYtZSpzLHRbNV09ZSp1LXIqaSx0WzZdPXUqYy1v
KnMsdFs3XT1hKnMtcipjLHRbOF09cipvLWEqdSx0fWZ1bmN0aW9uIGwodCl7dmFyIG49dFswXSxy
PXRbMV0sYT10WzJdLGU9dFszXSx1PXRbNF0sbz10WzVdLGk9dFs2XSxzPXRbN10sYz10WzhdO3Jl
dHVybiBuKihjKnUtbypzKStyKigtYyplK28qaSkrYSoocyplLXUqaSl9ZnVuY3Rpb24gdih0LG4s
cil7dmFyIGE9blswXSxlPW5bMV0sdT1uWzJdLG89blszXSxpPW5bNF0scz1uWzVdLGM9bls2XSxm
PW5bN10sTT1uWzhdLGg9clswXSxsPXJbMV0sdj1yWzJdLGQ9clszXSxiPXJbNF0sbT1yWzVdLHA9
cls2XSxQPXJbN10sRT1yWzhdO3JldHVybiB0WzBdPWgqYStsKm8rdipjLHRbMV09aCplK2wqaSt2
KmYsdFsyXT1oKnUrbCpzK3YqTSx0WzNdPWQqYStiKm8rbSpjLHRbNF09ZCplK2IqaSttKmYsdFs1
XT1kKnUrYipzK20qTSx0WzZdPXAqYStQKm8rRSpjLHRbN109cCplK1AqaStFKmYsdFs4XT1wKnUr
UCpzK0UqTSx0fWZ1bmN0aW9uIGQodCxuLHIpe3ZhciBhPW5bMF0sZT1uWzFdLHU9blsyXSxvPW5b
M10saT1uWzRdLHM9bls1XSxjPW5bNl0sZj1uWzddLE09bls4XSxoPXJbMF0sbD1yWzFdO3JldHVy
biB0WzBdPWEsdFsxXT1lLHRbMl09dSx0WzNdPW8sdFs0XT1pLHRbNV09cyx0WzZdPWgqYStsKm8r
Yyx0WzddPWgqZStsKmkrZix0WzhdPWgqdStsKnMrTSx0fWZ1bmN0aW9uIGIodCxuLHIpe3ZhciBh
PW5bMF0sZT1uWzFdLHU9blsyXSxvPW5bM10saT1uWzRdLHM9bls1XSxjPW5bNl0sZj1uWzddLE09
bls4XSxoPU1hdGguc2luKHIpLGw9TWF0aC5jb3Mocik7cmV0dXJuIHRbMF09bCphK2gqbyx0WzFd
PWwqZStoKmksdFsyXT1sKnUraCpzLHRbM109bCpvLWgqYSx0WzRdPWwqaS1oKmUsdFs1XT1sKnMt
aCp1LHRbNl09Yyx0WzddPWYsdFs4XT1NLHR9ZnVuY3Rpb24gbSh0LG4scil7dmFyIGE9clswXSxl
PXJbMV07cmV0dXJuIHRbMF09YSpuWzBdLHRbMV09YSpuWzFdLHRbMl09YSpuWzJdLHRbM109ZSpu
WzNdLHRbNF09ZSpuWzRdLHRbNV09ZSpuWzVdLHRbNl09bls2XSx0WzddPW5bN10sdFs4XT1uWzhd
LHR9ZnVuY3Rpb24gcCh0LG4pe3JldHVybiB0WzBdPTEsdFsxXT0wLHRbMl09MCx0WzNdPTAsdFs0
XT0xLHRbNV09MCx0WzZdPW5bMF0sdFs3XT1uWzFdLHRbOF09MSx0fWZ1bmN0aW9uIFAodCxuKXt2
YXIgcj1NYXRoLnNpbihuKSxhPU1hdGguY29zKG4pO3JldHVybiB0WzBdPWEsdFsxXT1yLHRbMl09
MCx0WzNdPS1yLHRbNF09YSx0WzVdPTAsdFs2XT0wLHRbN109MCx0WzhdPTEsdH1mdW5jdGlvbiBF
KHQsbil7cmV0dXJuIHRbMF09blswXSx0WzFdPTAsdFsyXT0wLHRbM109MCx0WzRdPW5bMV0sdFs1
XT0wLHRbNl09MCx0WzddPTAsdFs4XT0xLHR9ZnVuY3Rpb24gTyh0LG4pe3JldHVybiB0WzBdPW5b
MF0sdFsxXT1uWzFdLHRbMl09MCx0WzNdPW5bMl0sdFs0XT1uWzNdLHRbNV09MCx0WzZdPW5bNF0s
dFs3XT1uWzVdLHRbOF09MSx0fWZ1bmN0aW9uIHgodCxuKXt2YXIgcj1uWzBdLGE9blsxXSxlPW5b
Ml0sdT1uWzNdLG89cityLGk9YSthLHM9ZStlLGM9cipvLGY9YSpvLE09YSppLGg9ZSpvLGw9ZSpp
LHY9ZSpzLGQ9dSpvLGI9dSppLG09dSpzO3JldHVybiB0WzBdPTEtTS12LHRbM109Zi1tLHRbNl09
aCtiLHRbMV09ZittLHRbNF09MS1jLXYsdFs3XT1sLWQsdFsyXT1oLWIsdFs1XT1sK2QsdFs4XT0x
LWMtTSx0fWZ1bmN0aW9uIEEodCxuKXt2YXIgcj1uWzBdLGE9blsxXSxlPW5bMl0sdT1uWzNdLG89
bls0XSxpPW5bNV0scz1uWzZdLGM9bls3XSxmPW5bOF0sTT1uWzldLGg9blsxMF0sbD1uWzExXSx2
PW5bMTJdLGQ9blsxM10sYj1uWzE0XSxtPW5bMTVdLHA9cippLWEqbyxQPXIqcy1lKm8sRT1yKmMt
dSpvLE89YSpzLWUqaSx4PWEqYy11KmksQT1lKmMtdSpzLHE9ZipkLU0qdix5PWYqYi1oKnYsdz1m
Km0tbCp2LFI9TSpiLWgqZCxMPU0qbS1sKmQsUz1oKm0tbCpiLF89cCpTLVAqTCtFKlIrTyp3LXgq
eStBKnE7cmV0dXJuIF8/KF89MS9fLHRbMF09KGkqUy1zKkwrYypSKSpfLHRbMV09KHMqdy1vKlMt
Yyp5KSpfLHRbMl09KG8qTC1pKncrYypxKSpfLHRbM109KGUqTC1hKlMtdSpSKSpfLHRbNF09KHIq
Uy1lKncrdSp5KSpfLHRbNV09KGEqdy1yKkwtdSpxKSpfLHRbNl09KGQqQS1iKngrbSpPKSpfLHRb
N109KGIqRS12KkEtbSpQKSpfLHRbOF09KHYqeC1kKkUrbSpwKSpfLHQpOm51bGx9ZnVuY3Rpb24g
cSh0LG4scil7cmV0dXJuIHRbMF09Mi9uLHRbMV09MCx0WzJdPTAsdFszXT0wLHRbNF09LTIvcix0
WzVdPTAsdFs2XT0tMSx0WzddPTEsdFs4XT0xLHR9ZnVuY3Rpb24geSh0KXtyZXR1cm4ibWF0Mygi
K3RbMF0rIiwgIit0WzFdKyIsICIrdFsyXSsiLCAiK3RbM10rIiwgIit0WzRdKyIsICIrdFs1XSsi
LCAiK3RbNl0rIiwgIit0WzddKyIsICIrdFs4XSsiKSJ9ZnVuY3Rpb24gdyh0KXtyZXR1cm4gTWF0
aC5zcXJ0KE1hdGgucG93KHRbMF0sMikrTWF0aC5wb3codFsxXSwyKStNYXRoLnBvdyh0WzJdLDIp
K01hdGgucG93KHRbM10sMikrTWF0aC5wb3codFs0XSwyKStNYXRoLnBvdyh0WzVdLDIpK01hdGgu
cG93KHRbNl0sMikrTWF0aC5wb3codFs3XSwyKStNYXRoLnBvdyh0WzhdLDIpKX1mdW5jdGlvbiBS
KHQsbixyKXtyZXR1cm4gdFswXT1uWzBdK3JbMF0sdFsxXT1uWzFdK3JbMV0sdFsyXT1uWzJdK3Jb
Ml0sdFszXT1uWzNdK3JbM10sdFs0XT1uWzRdK3JbNF0sdFs1XT1uWzVdK3JbNV0sdFs2XT1uWzZd
K3JbNl0sdFs3XT1uWzddK3JbN10sdFs4XT1uWzhdK3JbOF0sdH1mdW5jdGlvbiBMKHQsbixyKXty
ZXR1cm4gdFswXT1uWzBdLXJbMF0sdFsxXT1uWzFdLXJbMV0sdFsyXT1uWzJdLXJbMl0sdFszXT1u
WzNdLXJbM10sdFs0XT1uWzRdLXJbNF0sdFs1XT1uWzVdLXJbNV0sdFs2XT1uWzZdLXJbNl0sdFs3
XT1uWzddLXJbN10sdFs4XT1uWzhdLXJbOF0sdH1mdW5jdGlvbiBTKHQsbixyKXtyZXR1cm4gdFsw
XT1uWzBdKnIsdFsxXT1uWzFdKnIsdFsyXT1uWzJdKnIsdFszXT1uWzNdKnIsdFs0XT1uWzRdKnIs
dFs1XT1uWzVdKnIsdFs2XT1uWzZdKnIsdFs3XT1uWzddKnIsdFs4XT1uWzhdKnIsdH1mdW5jdGlv
biBfKHQsbixyLGEpe3JldHVybiB0WzBdPW5bMF0rclswXSphLHRbMV09blsxXStyWzFdKmEsdFsy
XT1uWzJdK3JbMl0qYSx0WzNdPW5bM10rclszXSphLHRbNF09bls0XStyWzRdKmEsdFs1XT1uWzVd
K3JbNV0qYSx0WzZdPW5bNl0rcls2XSphLHRbN109bls3XStyWzddKmEsdFs4XT1uWzhdK3JbOF0q
YSx0fWZ1bmN0aW9uIEkodCxuKXtyZXR1cm4gdFswXT09PW5bMF0mJnRbMV09PT1uWzFdJiZ0WzJd
PT09blsyXSYmdFszXT09PW5bM10mJnRbNF09PT1uWzRdJiZ0WzVdPT09bls1XSYmdFs2XT09PW5b
Nl0mJnRbN109PT1uWzddJiZ0WzhdPT09bls4XX1mdW5jdGlvbiBOKHQsbil7dmFyIHI9dFswXSxh
PXRbMV0sZT10WzJdLHU9dFszXSxvPXRbNF0saT10WzVdLHM9dFs2XSxjPXRbN10sZj10WzhdLE09
blswXSxoPW5bMV0sbD1uWzJdLHY9blszXSxkPW5bNF0sYj1uWzVdLG09bls2XSxwPW5bN10sUD1u
WzhdO3JldHVybiBNYXRoLmFicyhyLU0pPD1nLkVQU0lMT04qTWF0aC5tYXgoMSxNYXRoLmFicyhy
KSxNYXRoLmFicyhNKSkmJk1hdGguYWJzKGEtaCk8PWcuRVBTSUxPTipNYXRoLm1heCgxLE1hdGgu
YWJzKGEpLE1hdGguYWJzKGgpKSYmTWF0aC5hYnMoZS1sKTw9Zy5FUFNJTE9OKk1hdGgubWF4KDEs
TWF0aC5hYnMoZSksTWF0aC5hYnMobCkpJiZNYXRoLmFicyh1LXYpPD1nLkVQU0lMT04qTWF0aC5t
YXgoMSxNYXRoLmFicyh1KSxNYXRoLmFicyh2KSkmJk1hdGguYWJzKG8tZCk8PWcuRVBTSUxPTipN
YXRoLm1heCgxLE1hdGguYWJzKG8pLE1hdGguYWJzKGQpKSYmTWF0aC5hYnMoaS1iKTw9Zy5FUFNJ
TE9OKk1hdGgubWF4KDEsTWF0aC5hYnMoaSksTWF0aC5hYnMoYikpJiZNYXRoLmFicyhzLW0pPD1n
LkVQU0lMT04qTWF0aC5tYXgoMSxNYXRoLmFicyhzKSxNYXRoLmFicyhtKSkmJk1hdGguYWJzKGMt
cCk8PWcuRVBTSUxPTipNYXRoLm1heCgxLE1hdGguYWJzKGMpLE1hdGguYWJzKHApKSYmTWF0aC5h
YnMoZi1QKTw9Zy5FUFNJTE9OKk1hdGgubWF4KDEsTWF0aC5hYnMoZiksTWF0aC5hYnMoUCkpfU9i
amVjdC5kZWZpbmVQcm9wZXJ0eShuLCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSxuLnN1Yj1uLm11
bD12b2lkIDAsbi5jcmVhdGU9YSxuLmZyb21NYXQ0PWUsbi5jbG9uZT11LG4uY29weT1vLG4uZnJv
bVZhbHVlcz1pLG4uc2V0PXMsbi5pZGVudGl0eT1jLG4udHJhbnNwb3NlPWYsbi5pbnZlcnQ9TSxu
LmFkam9pbnQ9aCxuLmRldGVybWluYW50PWwsbi5tdWx0aXBseT12LG4udHJhbnNsYXRlPWQsbi5y
b3RhdGU9YixuLnNjYWxlPW0sbi5mcm9tVHJhbnNsYXRpb249cCxuLmZyb21Sb3RhdGlvbj1QLG4u
ZnJvbVNjYWxpbmc9RSxuLmZyb21NYXQyZD1PLG4uZnJvbVF1YXQ9eCxuLm5vcm1hbEZyb21NYXQ0
PUEsbi5wcm9qZWN0aW9uPXEsbi5zdHI9eSxuLmZyb2I9dyxuLmFkZD1SLG4uc3VidHJhY3Q9TCxu
Lm11bHRpcGx5U2NhbGFyPVMsbi5tdWx0aXBseVNjYWxhckFuZEFkZD1fLG4uZXhhY3RFcXVhbHM9
SSxuLmVxdWFscz1OO3ZhciBZPXIoMCksZz1mdW5jdGlvbih0KXtpZih0JiZ0Ll9fZXNNb2R1bGUp
cmV0dXJuIHQ7dmFyIG49e307aWYobnVsbCE9dClmb3IodmFyIHIgaW4gdClPYmplY3QucHJvdG90
eXBlLmhhc093blByb3BlcnR5LmNhbGwodCxyKSYmKG5bcl09dFtyXSk7cmV0dXJuIG4uZGVmYXVs
dD10LG59KFkpO24ubXVsPXYsbi5zdWI9TH0sZnVuY3Rpb24odCxuLHIpeyJ1c2Ugc3RyaWN0Ijtm
dW5jdGlvbiBhKCl7dmFyIHQ9bmV3IFouQVJSQVlfVFlQRSgzKTtyZXR1cm4gdFswXT0wLHRbMV09
MCx0WzJdPTAsdH1mdW5jdGlvbiBlKHQpe3ZhciBuPW5ldyBaLkFSUkFZX1RZUEUoMyk7cmV0dXJu
IG5bMF09dFswXSxuWzFdPXRbMV0sblsyXT10WzJdLG59ZnVuY3Rpb24gdSh0KXt2YXIgbj10WzBd
LHI9dFsxXSxhPXRbMl07cmV0dXJuIE1hdGguc3FydChuKm4rcipyK2EqYSl9ZnVuY3Rpb24gbyh0
LG4scil7dmFyIGE9bmV3IFouQVJSQVlfVFlQRSgzKTtyZXR1cm4gYVswXT10LGFbMV09bixhWzJd
PXIsYX1mdW5jdGlvbiBpKHQsbil7cmV0dXJuIHRbMF09blswXSx0WzFdPW5bMV0sdFsyXT1uWzJd
LHR9ZnVuY3Rpb24gcyh0LG4scixhKXtyZXR1cm4gdFswXT1uLHRbMV09cix0WzJdPWEsdH1mdW5j
dGlvbiBjKHQsbixyKXtyZXR1cm4gdFswXT1uWzBdK3JbMF0sdFsxXT1uWzFdK3JbMV0sdFsyXT1u
WzJdK3JbMl0sdH1mdW5jdGlvbiBmKHQsbixyKXtyZXR1cm4gdFswXT1uWzBdLXJbMF0sdFsxXT1u
WzFdLXJbMV0sdFsyXT1uWzJdLXJbMl0sdH1mdW5jdGlvbiBNKHQsbixyKXtyZXR1cm4gdFswXT1u
WzBdKnJbMF0sdFsxXT1uWzFdKnJbMV0sdFsyXT1uWzJdKnJbMl0sdH1mdW5jdGlvbiBoKHQsbixy
KXtyZXR1cm4gdFswXT1uWzBdL3JbMF0sdFsxXT1uWzFdL3JbMV0sdFsyXT1uWzJdL3JbMl0sdH1m
dW5jdGlvbiBsKHQsbil7cmV0dXJuIHRbMF09TWF0aC5jZWlsKG5bMF0pLHRbMV09TWF0aC5jZWls
KG5bMV0pLHRbMl09TWF0aC5jZWlsKG5bMl0pLHR9ZnVuY3Rpb24gdih0LG4pe3JldHVybiB0WzBd
PU1hdGguZmxvb3IoblswXSksdFsxXT1NYXRoLmZsb29yKG5bMV0pLHRbMl09TWF0aC5mbG9vcihu
WzJdKSx0fWZ1bmN0aW9uIGQodCxuLHIpe3JldHVybiB0WzBdPU1hdGgubWluKG5bMF0sclswXSks
dFsxXT1NYXRoLm1pbihuWzFdLHJbMV0pLHRbMl09TWF0aC5taW4oblsyXSxyWzJdKSx0fWZ1bmN0
aW9uIGIodCxuLHIpe3JldHVybiB0WzBdPU1hdGgubWF4KG5bMF0sclswXSksdFsxXT1NYXRoLm1h
eChuWzFdLHJbMV0pLHRbMl09TWF0aC5tYXgoblsyXSxyWzJdKSx0fWZ1bmN0aW9uIG0odCxuKXty
ZXR1cm4gdFswXT1NYXRoLnJvdW5kKG5bMF0pLHRbMV09TWF0aC5yb3VuZChuWzFdKSx0WzJdPU1h
dGgucm91bmQoblsyXSksdH1mdW5jdGlvbiBwKHQsbixyKXtyZXR1cm4gdFswXT1uWzBdKnIsdFsx
XT1uWzFdKnIsdFsyXT1uWzJdKnIsdH1mdW5jdGlvbiBQKHQsbixyLGEpe3JldHVybiB0WzBdPW5b
MF0rclswXSphLHRbMV09blsxXStyWzFdKmEsdFsyXT1uWzJdK3JbMl0qYSx0fWZ1bmN0aW9uIEUo
dCxuKXt2YXIgcj1uWzBdLXRbMF0sYT1uWzFdLXRbMV0sZT1uWzJdLXRbMl07cmV0dXJuIE1hdGgu
c3FydChyKnIrYSphK2UqZSl9ZnVuY3Rpb24gTyh0LG4pe3ZhciByPW5bMF0tdFswXSxhPW5bMV0t
dFsxXSxlPW5bMl0tdFsyXTtyZXR1cm4gcipyK2EqYStlKmV9ZnVuY3Rpb24geCh0KXt2YXIgbj10
WzBdLHI9dFsxXSxhPXRbMl07cmV0dXJuIG4qbityKnIrYSphfWZ1bmN0aW9uIEEodCxuKXtyZXR1
cm4gdFswXT0tblswXSx0WzFdPS1uWzFdLHRbMl09LW5bMl0sdH1mdW5jdGlvbiBxKHQsbil7cmV0
dXJuIHRbMF09MS9uWzBdLHRbMV09MS9uWzFdLHRbMl09MS9uWzJdLHR9ZnVuY3Rpb24geSh0LG4p
e3ZhciByPW5bMF0sYT1uWzFdLGU9blsyXSx1PXIqcithKmErZSplO3JldHVybiB1PjAmJih1PTEv
TWF0aC5zcXJ0KHUpLHRbMF09blswXSp1LHRbMV09blsxXSp1LHRbMl09blsyXSp1KSx0fWZ1bmN0
aW9uIHcodCxuKXtyZXR1cm4gdFswXSpuWzBdK3RbMV0qblsxXSt0WzJdKm5bMl19ZnVuY3Rpb24g
Uih0LG4scil7dmFyIGE9blswXSxlPW5bMV0sdT1uWzJdLG89clswXSxpPXJbMV0scz1yWzJdO3Jl
dHVybiB0WzBdPWUqcy11KmksdFsxXT11Km8tYSpzLHRbMl09YSppLWUqbyx0fWZ1bmN0aW9uIEwo
dCxuLHIsYSl7dmFyIGU9blswXSx1PW5bMV0sbz1uWzJdO3JldHVybiB0WzBdPWUrYSooclswXS1l
KSx0WzFdPXUrYSooclsxXS11KSx0WzJdPW8rYSooclsyXS1vKSx0fWZ1bmN0aW9uIFModCxuLHIs
YSxlLHUpe3ZhciBvPXUqdSxpPW8qKDIqdS0zKSsxLHM9byoodS0yKSt1LGM9byoodS0xKSxmPW8q
KDMtMip1KTtyZXR1cm4gdFswXT1uWzBdKmkrclswXSpzK2FbMF0qYytlWzBdKmYsdFsxXT1uWzFd
KmkrclsxXSpzK2FbMV0qYytlWzFdKmYsdFsyXT1uWzJdKmkrclsyXSpzK2FbMl0qYytlWzJdKmYs
dH1mdW5jdGlvbiBfKHQsbixyLGEsZSx1KXt2YXIgbz0xLXUsaT1vKm8scz11KnUsYz1pKm8sZj0z
KnUqaSxNPTMqcypvLGg9cyp1O3JldHVybiB0WzBdPW5bMF0qYytyWzBdKmYrYVswXSpNK2VbMF0q
aCx0WzFdPW5bMV0qYytyWzFdKmYrYVsxXSpNK2VbMV0qaCx0WzJdPW5bMl0qYytyWzJdKmYrYVsy
XSpNK2VbMl0qaCx0fWZ1bmN0aW9uIEkodCxuKXtuPW58fDE7dmFyIHI9MipaLlJBTkRPTSgpKk1h
dGguUEksYT0yKlouUkFORE9NKCktMSxlPU1hdGguc3FydCgxLWEqYSkqbjtyZXR1cm4gdFswXT1N
YXRoLmNvcyhyKSplLHRbMV09TWF0aC5zaW4ocikqZSx0WzJdPWEqbix0fWZ1bmN0aW9uIE4odCxu
LHIpe3ZhciBhPW5bMF0sZT1uWzFdLHU9blsyXSxvPXJbM10qYStyWzddKmUrclsxMV0qdStyWzE1
XTtyZXR1cm4gbz1vfHwxLHRbMF09KHJbMF0qYStyWzRdKmUrcls4XSp1K3JbMTJdKS9vLHRbMV09
KHJbMV0qYStyWzVdKmUrcls5XSp1K3JbMTNdKS9vLHRbMl09KHJbMl0qYStyWzZdKmUrclsxMF0q
dStyWzE0XSkvbyx0fWZ1bmN0aW9uIFkodCxuLHIpe3ZhciBhPW5bMF0sZT1uWzFdLHU9blsyXTty
ZXR1cm4gdFswXT1hKnJbMF0rZSpyWzNdK3Uqcls2XSx0WzFdPWEqclsxXStlKnJbNF0rdSpyWzdd
LHRbMl09YSpyWzJdK2Uqcls1XSt1KnJbOF0sdH1mdW5jdGlvbiBnKHQsbixyKXt2YXIgYT1uWzBd
LGU9blsxXSx1PW5bMl0sbz1yWzBdLGk9clsxXSxzPXJbMl0sYz1yWzNdLGY9YyphK2kqdS1zKmUs
TT1jKmUrcyphLW8qdSxoPWMqdStvKmUtaSphLGw9LW8qYS1pKmUtcyp1O3JldHVybiB0WzBdPWYq
YytsKi1vK00qLXMtaCotaSx0WzFdPU0qYytsKi1pK2gqLW8tZiotcyx0WzJdPWgqYytsKi1zK2Yq
LWktTSotbyx0fWZ1bmN0aW9uIFQodCxuLHIsYSl7dmFyIGU9W10sdT1bXTtyZXR1cm4gZVswXT1u
WzBdLXJbMF0sZVsxXT1uWzFdLXJbMV0sZVsyXT1uWzJdLXJbMl0sdVswXT1lWzBdLHVbMV09ZVsx
XSpNYXRoLmNvcyhhKS1lWzJdKk1hdGguc2luKGEpLHVbMl09ZVsxXSpNYXRoLnNpbihhKStlWzJd
Kk1hdGguY29zKGEpLHRbMF09dVswXStyWzBdLHRbMV09dVsxXStyWzFdLHRbMl09dVsyXStyWzJd
LHR9ZnVuY3Rpb24gaih0LG4scixhKXt2YXIgZT1bXSx1PVtdO3JldHVybiBlWzBdPW5bMF0tclsw
XSxlWzFdPW5bMV0tclsxXSxlWzJdPW5bMl0tclsyXSx1WzBdPWVbMl0qTWF0aC5zaW4oYSkrZVsw
XSpNYXRoLmNvcyhhKSx1WzFdPWVbMV0sdVsyXT1lWzJdKk1hdGguY29zKGEpLWVbMF0qTWF0aC5z
aW4oYSksdFswXT11WzBdK3JbMF0sdFsxXT11WzFdK3JbMV0sdFsyXT11WzJdK3JbMl0sdH1mdW5j
dGlvbiBEKHQsbixyLGEpe3ZhciBlPVtdLHU9W107cmV0dXJuIGVbMF09blswXS1yWzBdLGVbMV09
blsxXS1yWzFdLGVbMl09blsyXS1yWzJdLHVbMF09ZVswXSpNYXRoLmNvcyhhKS1lWzFdKk1hdGgu
c2luKGEpLHVbMV09ZVswXSpNYXRoLnNpbihhKStlWzFdKk1hdGguY29zKGEpLHVbMl09ZVsyXSx0
WzBdPXVbMF0rclswXSx0WzFdPXVbMV0rclsxXSx0WzJdPXVbMl0rclsyXSx0fWZ1bmN0aW9uIFYo
dCxuKXt2YXIgcj1vKHRbMF0sdFsxXSx0WzJdKSxhPW8oblswXSxuWzFdLG5bMl0pO3kocixyKSx5
KGEsYSk7dmFyIGU9dyhyLGEpO3JldHVybiBlPjE/MDplPC0xP01hdGguUEk6TWF0aC5hY29zKGUp
fWZ1bmN0aW9uIHoodCl7cmV0dXJuInZlYzMoIit0WzBdKyIsICIrdFsxXSsiLCAiK3RbMl0rIiki
fWZ1bmN0aW9uIEYodCxuKXtyZXR1cm4gdFswXT09PW5bMF0mJnRbMV09PT1uWzFdJiZ0WzJdPT09
blsyXX1mdW5jdGlvbiBRKHQsbil7dmFyIHI9dFswXSxhPXRbMV0sZT10WzJdLHU9blswXSxvPW5b
MV0saT1uWzJdO3JldHVybiBNYXRoLmFicyhyLXUpPD1aLkVQU0lMT04qTWF0aC5tYXgoMSxNYXRo
LmFicyhyKSxNYXRoLmFicyh1KSkmJk1hdGguYWJzKGEtbyk8PVouRVBTSUxPTipNYXRoLm1heCgx
LE1hdGguYWJzKGEpLE1hdGguYWJzKG8pKSYmTWF0aC5hYnMoZS1pKTw9Wi5FUFNJTE9OKk1hdGgu
bWF4KDEsTWF0aC5hYnMoZSksTWF0aC5hYnMoaSkpfU9iamVjdC5kZWZpbmVQcm9wZXJ0eShuLCJf
X2VzTW9kdWxlIix7dmFsdWU6ITB9KSxuLmZvckVhY2g9bi5zcXJMZW49bi5sZW49bi5zcXJEaXN0
PW4uZGlzdD1uLmRpdj1uLm11bD1uLnN1Yj12b2lkIDAsbi5jcmVhdGU9YSxuLmNsb25lPWUsbi5s
ZW5ndGg9dSxuLmZyb21WYWx1ZXM9byxuLmNvcHk9aSxuLnNldD1zLG4uYWRkPWMsbi5zdWJ0cmFj
dD1mLG4ubXVsdGlwbHk9TSxuLmRpdmlkZT1oLG4uY2VpbD1sLG4uZmxvb3I9dixuLm1pbj1kLG4u
bWF4PWIsbi5yb3VuZD1tLG4uc2NhbGU9cCxuLnNjYWxlQW5kQWRkPVAsbi5kaXN0YW5jZT1FLG4u
c3F1YXJlZERpc3RhbmNlPU8sbi5zcXVhcmVkTGVuZ3RoPXgsbi5uZWdhdGU9QSxuLmludmVyc2U9
cSxuLm5vcm1hbGl6ZT15LG4uZG90PXcsbi5jcm9zcz1SLG4ubGVycD1MLG4uaGVybWl0ZT1TLG4u
YmV6aWVyPV8sbi5yYW5kb209SSxuLnRyYW5zZm9ybU1hdDQ9TixuLnRyYW5zZm9ybU1hdDM9WSxu
LnRyYW5zZm9ybVF1YXQ9ZyxuLnJvdGF0ZVg9VCxuLnJvdGF0ZVk9aixuLnJvdGF0ZVo9RCxuLmFu
Z2xlPVYsbi5zdHI9eixuLmV4YWN0RXF1YWxzPUYsbi5lcXVhbHM9UTt2YXIgWD1yKDApLFo9ZnVu
Y3Rpb24odCl7aWYodCYmdC5fX2VzTW9kdWxlKXJldHVybiB0O3ZhciBuPXt9O2lmKG51bGwhPXQp
Zm9yKHZhciByIGluIHQpT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKHQscikm
JihuW3JdPXRbcl0pO3JldHVybiBuLmRlZmF1bHQ9dCxufShYKTtuLnN1Yj1mLG4ubXVsPU0sbi5k
aXY9aCxuLmRpc3Q9RSxuLnNxckRpc3Q9TyxuLmxlbj11LG4uc3FyTGVuPXgsbi5mb3JFYWNoPWZ1
bmN0aW9uKCl7dmFyIHQ9YSgpO3JldHVybiBmdW5jdGlvbihuLHIsYSxlLHUsbyl7dmFyIGk9dm9p
ZCAwLHM9dm9pZCAwO2ZvcihyfHwocj0zKSxhfHwoYT0wKSxzPWU/TWF0aC5taW4oZSpyK2Esbi5s
ZW5ndGgpOm4ubGVuZ3RoLGk9YTtpPHM7aSs9cil0WzBdPW5baV0sdFsxXT1uW2krMV0sdFsyXT1u
W2krMl0sdSh0LHQsbyksbltpXT10WzBdLG5baSsxXT10WzFdLG5baSsyXT10WzJdO3JldHVybiBu
fX0oKX0sZnVuY3Rpb24odCxuLHIpeyJ1c2Ugc3RyaWN0IjtmdW5jdGlvbiBhKCl7dmFyIHQ9bmV3
IFQuQVJSQVlfVFlQRSg0KTtyZXR1cm4gdFswXT0wLHRbMV09MCx0WzJdPTAsdFszXT0wLHR9ZnVu
Y3Rpb24gZSh0KXt2YXIgbj1uZXcgVC5BUlJBWV9UWVBFKDQpO3JldHVybiBuWzBdPXRbMF0sblsx
XT10WzFdLG5bMl09dFsyXSxuWzNdPXRbM10sbn1mdW5jdGlvbiB1KHQsbixyLGEpe3ZhciBlPW5l
dyBULkFSUkFZX1RZUEUoNCk7cmV0dXJuIGVbMF09dCxlWzFdPW4sZVsyXT1yLGVbM109YSxlfWZ1
bmN0aW9uIG8odCxuKXtyZXR1cm4gdFswXT1uWzBdLHRbMV09blsxXSx0WzJdPW5bMl0sdFszXT1u
WzNdLHR9ZnVuY3Rpb24gaSh0LG4scixhLGUpe3JldHVybiB0WzBdPW4sdFsxXT1yLHRbMl09YSx0
WzNdPWUsdH1mdW5jdGlvbiBzKHQsbixyKXtyZXR1cm4gdFswXT1uWzBdK3JbMF0sdFsxXT1uWzFd
K3JbMV0sdFsyXT1uWzJdK3JbMl0sdFszXT1uWzNdK3JbM10sdH1mdW5jdGlvbiBjKHQsbixyKXty
ZXR1cm4gdFswXT1uWzBdLXJbMF0sdFsxXT1uWzFdLXJbMV0sdFsyXT1uWzJdLXJbMl0sdFszXT1u
WzNdLXJbM10sdH1mdW5jdGlvbiBmKHQsbixyKXtyZXR1cm4gdFswXT1uWzBdKnJbMF0sdFsxXT1u
WzFdKnJbMV0sdFsyXT1uWzJdKnJbMl0sdFszXT1uWzNdKnJbM10sdH1mdW5jdGlvbiBNKHQsbixy
KXtyZXR1cm4gdFswXT1uWzBdL3JbMF0sdFsxXT1uWzFdL3JbMV0sdFsyXT1uWzJdL3JbMl0sdFsz
XT1uWzNdL3JbM10sdH1mdW5jdGlvbiBoKHQsbil7cmV0dXJuIHRbMF09TWF0aC5jZWlsKG5bMF0p
LHRbMV09TWF0aC5jZWlsKG5bMV0pLHRbMl09TWF0aC5jZWlsKG5bMl0pLHRbM109TWF0aC5jZWls
KG5bM10pLHR9ZnVuY3Rpb24gbCh0LG4pe3JldHVybiB0WzBdPU1hdGguZmxvb3IoblswXSksdFsx
XT1NYXRoLmZsb29yKG5bMV0pLHRbMl09TWF0aC5mbG9vcihuWzJdKSx0WzNdPU1hdGguZmxvb3Io
blszXSksdH1mdW5jdGlvbiB2KHQsbixyKXtyZXR1cm4gdFswXT1NYXRoLm1pbihuWzBdLHJbMF0p
LHRbMV09TWF0aC5taW4oblsxXSxyWzFdKSx0WzJdPU1hdGgubWluKG5bMl0sclsyXSksdFszXT1N
YXRoLm1pbihuWzNdLHJbM10pLHR9ZnVuY3Rpb24gZCh0LG4scil7cmV0dXJuIHRbMF09TWF0aC5t
YXgoblswXSxyWzBdKSx0WzFdPU1hdGgubWF4KG5bMV0sclsxXSksdFsyXT1NYXRoLm1heChuWzJd
LHJbMl0pLHRbM109TWF0aC5tYXgoblszXSxyWzNdKSx0fWZ1bmN0aW9uIGIodCxuKXtyZXR1cm4g
dFswXT1NYXRoLnJvdW5kKG5bMF0pLHRbMV09TWF0aC5yb3VuZChuWzFdKSx0WzJdPU1hdGgucm91
bmQoblsyXSksdFszXT1NYXRoLnJvdW5kKG5bM10pLHR9ZnVuY3Rpb24gbSh0LG4scil7cmV0dXJu
IHRbMF09blswXSpyLHRbMV09blsxXSpyLHRbMl09blsyXSpyLHRbM109blszXSpyLHR9ZnVuY3Rp
b24gcCh0LG4scixhKXtyZXR1cm4gdFswXT1uWzBdK3JbMF0qYSx0WzFdPW5bMV0rclsxXSphLHRb
Ml09blsyXStyWzJdKmEsdFszXT1uWzNdK3JbM10qYSx0fWZ1bmN0aW9uIFAodCxuKXt2YXIgcj1u
WzBdLXRbMF0sYT1uWzFdLXRbMV0sZT1uWzJdLXRbMl0sdT1uWzNdLXRbM107cmV0dXJuIE1hdGgu
c3FydChyKnIrYSphK2UqZSt1KnUpfWZ1bmN0aW9uIEUodCxuKXt2YXIgcj1uWzBdLXRbMF0sYT1u
WzFdLXRbMV0sZT1uWzJdLXRbMl0sdT1uWzNdLXRbM107cmV0dXJuIHIqcithKmErZSplK3UqdX1m
dW5jdGlvbiBPKHQpe3ZhciBuPXRbMF0scj10WzFdLGE9dFsyXSxlPXRbM107cmV0dXJuIE1hdGgu
c3FydChuKm4rcipyK2EqYStlKmUpfWZ1bmN0aW9uIHgodCl7dmFyIG49dFswXSxyPXRbMV0sYT10
WzJdLGU9dFszXTtyZXR1cm4gbipuK3IqcithKmErZSplfWZ1bmN0aW9uIEEodCxuKXtyZXR1cm4g
dFswXT0tblswXSx0WzFdPS1uWzFdLHRbMl09LW5bMl0sdFszXT0tblszXSx0fWZ1bmN0aW9uIHEo
dCxuKXtyZXR1cm4gdFswXT0xL25bMF0sdFsxXT0xL25bMV0sdFsyXT0xL25bMl0sdFszXT0xL25b
M10sdH1mdW5jdGlvbiB5KHQsbil7dmFyIHI9blswXSxhPW5bMV0sZT1uWzJdLHU9blszXSxvPXIq
cithKmErZSplK3UqdTtyZXR1cm4gbz4wJiYobz0xL01hdGguc3FydChvKSx0WzBdPXIqbyx0WzFd
PWEqbyx0WzJdPWUqbyx0WzNdPXUqbyksdH1mdW5jdGlvbiB3KHQsbil7cmV0dXJuIHRbMF0qblsw
XSt0WzFdKm5bMV0rdFsyXSpuWzJdK3RbM10qblszXX1mdW5jdGlvbiBSKHQsbixyLGEpe3ZhciBl
PW5bMF0sdT1uWzFdLG89blsyXSxpPW5bM107cmV0dXJuIHRbMF09ZSthKihyWzBdLWUpLHRbMV09
dSthKihyWzFdLXUpLHRbMl09bythKihyWzJdLW8pLHRbM109aSthKihyWzNdLWkpLHR9ZnVuY3Rp
b24gTCh0LG4pe3JldHVybiBuPW58fDEsdFswXT1ULlJBTkRPTSgpLHRbMV09VC5SQU5ET00oKSx0
WzJdPVQuUkFORE9NKCksdFszXT1ULlJBTkRPTSgpLHkodCx0KSxtKHQsdCxuKSx0fWZ1bmN0aW9u
IFModCxuLHIpe3ZhciBhPW5bMF0sZT1uWzFdLHU9blsyXSxvPW5bM107cmV0dXJuIHRbMF09clsw
XSphK3JbNF0qZStyWzhdKnUrclsxMl0qbyx0WzFdPXJbMV0qYStyWzVdKmUrcls5XSp1K3JbMTNd
Km8sdFsyXT1yWzJdKmErcls2XSplK3JbMTBdKnUrclsxNF0qbyx0WzNdPXJbM10qYStyWzddKmUr
clsxMV0qdStyWzE1XSpvLHR9ZnVuY3Rpb24gXyh0LG4scil7dmFyIGE9blswXSxlPW5bMV0sdT1u
WzJdLG89clswXSxpPXJbMV0scz1yWzJdLGM9clszXSxmPWMqYStpKnUtcyplLE09YyplK3MqYS1v
KnUsaD1jKnUrbyplLWkqYSxsPS1vKmEtaSplLXMqdTtyZXR1cm4gdFswXT1mKmMrbCotbytNKi1z
LWgqLWksdFsxXT1NKmMrbCotaStoKi1vLWYqLXMsdFsyXT1oKmMrbCotcytmKi1pLU0qLW8sdFsz
XT1uWzNdLHR9ZnVuY3Rpb24gSSh0KXtyZXR1cm4idmVjNCgiK3RbMF0rIiwgIit0WzFdKyIsICIr
dFsyXSsiLCAiK3RbM10rIikifWZ1bmN0aW9uIE4odCxuKXtyZXR1cm4gdFswXT09PW5bMF0mJnRb
MV09PT1uWzFdJiZ0WzJdPT09blsyXSYmdFszXT09PW5bM119ZnVuY3Rpb24gWSh0LG4pe3ZhciBy
PXRbMF0sYT10WzFdLGU9dFsyXSx1PXRbM10sbz1uWzBdLGk9blsxXSxzPW5bMl0sYz1uWzNdO3Jl
dHVybiBNYXRoLmFicyhyLW8pPD1ULkVQU0lMT04qTWF0aC5tYXgoMSxNYXRoLmFicyhyKSxNYXRo
LmFicyhvKSkmJk1hdGguYWJzKGEtaSk8PVQuRVBTSUxPTipNYXRoLm1heCgxLE1hdGguYWJzKGEp
LE1hdGguYWJzKGkpKSYmTWF0aC5hYnMoZS1zKTw9VC5FUFNJTE9OKk1hdGgubWF4KDEsTWF0aC5h
YnMoZSksTWF0aC5hYnMocykpJiZNYXRoLmFicyh1LWMpPD1ULkVQU0lMT04qTWF0aC5tYXgoMSxN
YXRoLmFicyh1KSxNYXRoLmFicyhjKSl9T2JqZWN0LmRlZmluZVByb3BlcnR5KG4sIl9fZXNNb2R1
bGUiLHt2YWx1ZTohMH0pLG4uZm9yRWFjaD1uLnNxckxlbj1uLmxlbj1uLnNxckRpc3Q9bi5kaXN0
PW4uZGl2PW4ubXVsPW4uc3ViPXZvaWQgMCxuLmNyZWF0ZT1hLG4uY2xvbmU9ZSxuLmZyb21WYWx1
ZXM9dSxuLmNvcHk9byxuLnNldD1pLG4uYWRkPXMsbi5zdWJ0cmFjdD1jLG4ubXVsdGlwbHk9Zixu
LmRpdmlkZT1NLG4uY2VpbD1oLG4uZmxvb3I9bCxuLm1pbj12LG4ubWF4PWQsbi5yb3VuZD1iLG4u
c2NhbGU9bSxuLnNjYWxlQW5kQWRkPXAsbi5kaXN0YW5jZT1QLG4uc3F1YXJlZERpc3RhbmNlPUUs
bi5sZW5ndGg9TyxuLnNxdWFyZWRMZW5ndGg9eCxuLm5lZ2F0ZT1BLG4uaW52ZXJzZT1xLG4ubm9y
bWFsaXplPXksbi5kb3Q9dyxuLmxlcnA9UixuLnJhbmRvbT1MLG4udHJhbnNmb3JtTWF0ND1TLG4u
dHJhbnNmb3JtUXVhdD1fLG4uc3RyPUksbi5leGFjdEVxdWFscz1OLG4uZXF1YWxzPVk7dmFyIGc9
cigwKSxUPWZ1bmN0aW9uKHQpe2lmKHQmJnQuX19lc01vZHVsZSlyZXR1cm4gdDt2YXIgbj17fTtp
ZihudWxsIT10KWZvcih2YXIgciBpbiB0KU9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHku
Y2FsbCh0LHIpJiYobltyXT10W3JdKTtyZXR1cm4gbi5kZWZhdWx0PXQsbn0oZyk7bi5zdWI9Yyxu
Lm11bD1mLG4uZGl2PU0sbi5kaXN0PVAsbi5zcXJEaXN0PUUsbi5sZW49TyxuLnNxckxlbj14LG4u
Zm9yRWFjaD1mdW5jdGlvbigpe3ZhciB0PWEoKTtyZXR1cm4gZnVuY3Rpb24obixyLGEsZSx1LG8p
e3ZhciBpPXZvaWQgMCxzPXZvaWQgMDtmb3Iocnx8KHI9NCksYXx8KGE9MCkscz1lP01hdGgubWlu
KGUqcithLG4ubGVuZ3RoKTpuLmxlbmd0aCxpPWE7aTxzO2krPXIpdFswXT1uW2ldLHRbMV09bltp
KzFdLHRbMl09bltpKzJdLHRbM109bltpKzNdLHUodCx0LG8pLG5baV09dFswXSxuW2krMV09dFsx
XSxuW2krMl09dFsyXSxuW2krM109dFszXTtyZXR1cm4gbn19KCl9LGZ1bmN0aW9uKHQsbixyKXsi
dXNlIHN0cmljdCI7ZnVuY3Rpb24gYSh0KXtpZih0JiZ0Ll9fZXNNb2R1bGUpcmV0dXJuIHQ7dmFy
IG49e307aWYobnVsbCE9dClmb3IodmFyIHIgaW4gdClPYmplY3QucHJvdG90eXBlLmhhc093blBy
b3BlcnR5LmNhbGwodCxyKSYmKG5bcl09dFtyXSk7cmV0dXJuIG4uZGVmYXVsdD10LG59T2JqZWN0
LmRlZmluZVByb3BlcnR5KG4sIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLG4udmVjND1uLnZlYzM9
bi52ZWMyPW4ucXVhdD1uLm1hdDQ9bi5tYXQzPW4ubWF0MmQ9bi5tYXQyPW4uZ2xNYXRyaXg9dm9p
ZCAwO3ZhciBlPXIoMCksdT1hKGUpLG89cig1KSxpPWEobykscz1yKDYpLGM9YShzKSxmPXIoMSks
TT1hKGYpLGg9cig3KSxsPWEoaCksdj1yKDgpLGQ9YSh2KSxiPXIoOSksbT1hKGIpLHA9cigyKSxQ
PWEocCksRT1yKDMpLE89YShFKTtuLmdsTWF0cml4PXUsbi5tYXQyPWksbi5tYXQyZD1jLG4ubWF0
Mz1NLG4ubWF0ND1sLG4ucXVhdD1kLG4udmVjMj1tLG4udmVjMz1QLG4udmVjND1PfSxmdW5jdGlv
bih0LG4scil7InVzZSBzdHJpY3QiO2Z1bmN0aW9uIGEoKXt2YXIgdD1uZXcgTC5BUlJBWV9UWVBF
KDQpO3JldHVybiB0WzBdPTEsdFsxXT0wLHRbMl09MCx0WzNdPTEsdH1mdW5jdGlvbiBlKHQpe3Zh
ciBuPW5ldyBMLkFSUkFZX1RZUEUoNCk7cmV0dXJuIG5bMF09dFswXSxuWzFdPXRbMV0sblsyXT10
WzJdLG5bM109dFszXSxufWZ1bmN0aW9uIHUodCxuKXtyZXR1cm4gdFswXT1uWzBdLHRbMV09blsx
XSx0WzJdPW5bMl0sdFszXT1uWzNdLHR9ZnVuY3Rpb24gbyh0KXtyZXR1cm4gdFswXT0xLHRbMV09
MCx0WzJdPTAsdFszXT0xLHR9ZnVuY3Rpb24gaSh0LG4scixhKXt2YXIgZT1uZXcgTC5BUlJBWV9U
WVBFKDQpO3JldHVybiBlWzBdPXQsZVsxXT1uLGVbMl09cixlWzNdPWEsZX1mdW5jdGlvbiBzKHQs
bixyLGEsZSl7cmV0dXJuIHRbMF09bix0WzFdPXIsdFsyXT1hLHRbM109ZSx0fWZ1bmN0aW9uIGMo
dCxuKXtpZih0PT09bil7dmFyIHI9blsxXTt0WzFdPW5bMl0sdFsyXT1yfWVsc2UgdFswXT1uWzBd
LHRbMV09blsyXSx0WzJdPW5bMV0sdFszXT1uWzNdO3JldHVybiB0fWZ1bmN0aW9uIGYodCxuKXt2
YXIgcj1uWzBdLGE9blsxXSxlPW5bMl0sdT1uWzNdLG89cip1LWUqYTtyZXR1cm4gbz8obz0xL28s
dFswXT11Km8sdFsxXT0tYSpvLHRbMl09LWUqbyx0WzNdPXIqbyx0KTpudWxsfWZ1bmN0aW9uIE0o
dCxuKXt2YXIgcj1uWzBdO3JldHVybiB0WzBdPW5bM10sdFsxXT0tblsxXSx0WzJdPS1uWzJdLHRb
M109cix0fWZ1bmN0aW9uIGgodCl7cmV0dXJuIHRbMF0qdFszXS10WzJdKnRbMV19ZnVuY3Rpb24g
bCh0LG4scil7dmFyIGE9blswXSxlPW5bMV0sdT1uWzJdLG89blszXSxpPXJbMF0scz1yWzFdLGM9
clsyXSxmPXJbM107cmV0dXJuIHRbMF09YSppK3Uqcyx0WzFdPWUqaStvKnMsdFsyXT1hKmMrdSpm
LHRbM109ZSpjK28qZix0fWZ1bmN0aW9uIHYodCxuLHIpe3ZhciBhPW5bMF0sZT1uWzFdLHU9blsy
XSxvPW5bM10saT1NYXRoLnNpbihyKSxzPU1hdGguY29zKHIpO3JldHVybiB0WzBdPWEqcyt1Kmks
dFsxXT1lKnMrbyppLHRbMl09YSotaSt1KnMsdFszXT1lKi1pK28qcyx0fWZ1bmN0aW9uIGQodCxu
LHIpe3ZhciBhPW5bMF0sZT1uWzFdLHU9blsyXSxvPW5bM10saT1yWzBdLHM9clsxXTtyZXR1cm4g
dFswXT1hKmksdFsxXT1lKmksdFsyXT11KnMsdFszXT1vKnMsdH1mdW5jdGlvbiBiKHQsbil7dmFy
IHI9TWF0aC5zaW4obiksYT1NYXRoLmNvcyhuKTtyZXR1cm4gdFswXT1hLHRbMV09cix0WzJdPS1y
LHRbM109YSx0fWZ1bmN0aW9uIG0odCxuKXtyZXR1cm4gdFswXT1uWzBdLHRbMV09MCx0WzJdPTAs
dFszXT1uWzFdLHR9ZnVuY3Rpb24gcCh0KXtyZXR1cm4ibWF0MigiK3RbMF0rIiwgIit0WzFdKyIs
ICIrdFsyXSsiLCAiK3RbM10rIikifWZ1bmN0aW9uIFAodCl7cmV0dXJuIE1hdGguc3FydChNYXRo
LnBvdyh0WzBdLDIpK01hdGgucG93KHRbMV0sMikrTWF0aC5wb3codFsyXSwyKStNYXRoLnBvdyh0
WzNdLDIpKX1mdW5jdGlvbiBFKHQsbixyLGEpe3JldHVybiB0WzJdPWFbMl0vYVswXSxyWzBdPWFb
MF0sclsxXT1hWzFdLHJbM109YVszXS10WzJdKnJbMV0sW3QsbixyXX1mdW5jdGlvbiBPKHQsbixy
KXtyZXR1cm4gdFswXT1uWzBdK3JbMF0sdFsxXT1uWzFdK3JbMV0sdFsyXT1uWzJdK3JbMl0sdFsz
XT1uWzNdK3JbM10sdH1mdW5jdGlvbiB4KHQsbixyKXtyZXR1cm4gdFswXT1uWzBdLXJbMF0sdFsx
XT1uWzFdLXJbMV0sdFsyXT1uWzJdLXJbMl0sdFszXT1uWzNdLXJbM10sdH1mdW5jdGlvbiBBKHQs
bil7cmV0dXJuIHRbMF09PT1uWzBdJiZ0WzFdPT09blsxXSYmdFsyXT09PW5bMl0mJnRbM109PT1u
WzNdfWZ1bmN0aW9uIHEodCxuKXt2YXIgcj10WzBdLGE9dFsxXSxlPXRbMl0sdT10WzNdLG89blsw
XSxpPW5bMV0scz1uWzJdLGM9blszXTtyZXR1cm4gTWF0aC5hYnMoci1vKTw9TC5FUFNJTE9OKk1h
dGgubWF4KDEsTWF0aC5hYnMociksTWF0aC5hYnMobykpJiZNYXRoLmFicyhhLWkpPD1MLkVQU0lM
T04qTWF0aC5tYXgoMSxNYXRoLmFicyhhKSxNYXRoLmFicyhpKSkmJk1hdGguYWJzKGUtcyk8PUwu
RVBTSUxPTipNYXRoLm1heCgxLE1hdGguYWJzKGUpLE1hdGguYWJzKHMpKSYmTWF0aC5hYnModS1j
KTw9TC5FUFNJTE9OKk1hdGgubWF4KDEsTWF0aC5hYnModSksTWF0aC5hYnMoYykpfWZ1bmN0aW9u
IHkodCxuLHIpe3JldHVybiB0WzBdPW5bMF0qcix0WzFdPW5bMV0qcix0WzJdPW5bMl0qcix0WzNd
PW5bM10qcix0fWZ1bmN0aW9uIHcodCxuLHIsYSl7cmV0dXJuIHRbMF09blswXStyWzBdKmEsdFsx
XT1uWzFdK3JbMV0qYSx0WzJdPW5bMl0rclsyXSphLHRbM109blszXStyWzNdKmEsdH1PYmplY3Qu
ZGVmaW5lUHJvcGVydHkobiwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksbi5zdWI9bi5tdWw9dm9p
ZCAwLG4uY3JlYXRlPWEsbi5jbG9uZT1lLG4uY29weT11LG4uaWRlbnRpdHk9byxuLmZyb21WYWx1
ZXM9aSxuLnNldD1zLG4udHJhbnNwb3NlPWMsbi5pbnZlcnQ9ZixuLmFkam9pbnQ9TSxuLmRldGVy
bWluYW50PWgsbi5tdWx0aXBseT1sLG4ucm90YXRlPXYsbi5zY2FsZT1kLG4uZnJvbVJvdGF0aW9u
PWIsbi5mcm9tU2NhbGluZz1tLG4uc3RyPXAsbi5mcm9iPVAsbi5MRFU9RSxuLmFkZD1PLG4uc3Vi
dHJhY3Q9eCxuLmV4YWN0RXF1YWxzPUEsbi5lcXVhbHM9cSxuLm11bHRpcGx5U2NhbGFyPXksbi5t
dWx0aXBseVNjYWxhckFuZEFkZD13O3ZhciBSPXIoMCksTD1mdW5jdGlvbih0KXtpZih0JiZ0Ll9f
ZXNNb2R1bGUpcmV0dXJuIHQ7dmFyIG49e307aWYobnVsbCE9dClmb3IodmFyIHIgaW4gdClPYmpl
Y3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwodCxyKSYmKG5bcl09dFtyXSk7cmV0dXJu
IG4uZGVmYXVsdD10LG59KFIpO24ubXVsPWwsbi5zdWI9eH0sZnVuY3Rpb24odCxuLHIpeyJ1c2Ug
c3RyaWN0IjtmdW5jdGlvbiBhKCl7dmFyIHQ9bmV3IFIuQVJSQVlfVFlQRSg2KTtyZXR1cm4gdFsw
XT0xLHRbMV09MCx0WzJdPTAsdFszXT0xLHRbNF09MCx0WzVdPTAsdH1mdW5jdGlvbiBlKHQpe3Zh
ciBuPW5ldyBSLkFSUkFZX1RZUEUoNik7cmV0dXJuIG5bMF09dFswXSxuWzFdPXRbMV0sblsyXT10
WzJdLG5bM109dFszXSxuWzRdPXRbNF0sbls1XT10WzVdLG59ZnVuY3Rpb24gdSh0LG4pe3JldHVy
biB0WzBdPW5bMF0sdFsxXT1uWzFdLHRbMl09blsyXSx0WzNdPW5bM10sdFs0XT1uWzRdLHRbNV09
bls1XSx0fWZ1bmN0aW9uIG8odCl7cmV0dXJuIHRbMF09MSx0WzFdPTAsdFsyXT0wLHRbM109MSx0
WzRdPTAsdFs1XT0wLHR9ZnVuY3Rpb24gaSh0LG4scixhLGUsdSl7dmFyIG89bmV3IFIuQVJSQVlf
VFlQRSg2KTtyZXR1cm4gb1swXT10LG9bMV09bixvWzJdPXIsb1szXT1hLG9bNF09ZSxvWzVdPXUs
b31mdW5jdGlvbiBzKHQsbixyLGEsZSx1LG8pe3JldHVybiB0WzBdPW4sdFsxXT1yLHRbMl09YSx0
WzNdPWUsdFs0XT11LHRbNV09byx0fWZ1bmN0aW9uIGModCxuKXt2YXIgcj1uWzBdLGE9blsxXSxl
PW5bMl0sdT1uWzNdLG89bls0XSxpPW5bNV0scz1yKnUtYSplO3JldHVybiBzPyhzPTEvcyx0WzBd
PXUqcyx0WzFdPS1hKnMsdFsyXT0tZSpzLHRbM109cipzLHRbNF09KGUqaS11Km8pKnMsdFs1XT0o
YSpvLXIqaSkqcyx0KTpudWxsfWZ1bmN0aW9uIGYodCl7cmV0dXJuIHRbMF0qdFszXS10WzFdKnRb
Ml19ZnVuY3Rpb24gTSh0LG4scil7dmFyIGE9blswXSxlPW5bMV0sdT1uWzJdLG89blszXSxpPW5b
NF0scz1uWzVdLGM9clswXSxmPXJbMV0sTT1yWzJdLGg9clszXSxsPXJbNF0sdj1yWzVdO3JldHVy
biB0WzBdPWEqYyt1KmYsdFsxXT1lKmMrbypmLHRbMl09YSpNK3UqaCx0WzNdPWUqTStvKmgsdFs0
XT1hKmwrdSp2K2ksdFs1XT1lKmwrbyp2K3MsdH1mdW5jdGlvbiBoKHQsbixyKXt2YXIgYT1uWzBd
LGU9blsxXSx1PW5bMl0sbz1uWzNdLGk9bls0XSxzPW5bNV0sYz1NYXRoLnNpbihyKSxmPU1hdGgu
Y29zKHIpO3JldHVybiB0WzBdPWEqZit1KmMsdFsxXT1lKmYrbypjLHRbMl09YSotYyt1KmYsdFsz
XT1lKi1jK28qZix0WzRdPWksdFs1XT1zLHR9ZnVuY3Rpb24gbCh0LG4scil7dmFyIGE9blswXSxl
PW5bMV0sdT1uWzJdLG89blszXSxpPW5bNF0scz1uWzVdLGM9clswXSxmPXJbMV07cmV0dXJuIHRb
MF09YSpjLHRbMV09ZSpjLHRbMl09dSpmLHRbM109bypmLHRbNF09aSx0WzVdPXMsdH1mdW5jdGlv
biB2KHQsbixyKXt2YXIgYT1uWzBdLGU9blsxXSx1PW5bMl0sbz1uWzNdLGk9bls0XSxzPW5bNV0s
Yz1yWzBdLGY9clsxXTtyZXR1cm4gdFswXT1hLHRbMV09ZSx0WzJdPXUsdFszXT1vLHRbNF09YSpj
K3UqZitpLHRbNV09ZSpjK28qZitzLHR9ZnVuY3Rpb24gZCh0LG4pe3ZhciByPU1hdGguc2luKG4p
LGE9TWF0aC5jb3Mobik7cmV0dXJuIHRbMF09YSx0WzFdPXIsdFsyXT0tcix0WzNdPWEsdFs0XT0w
LHRbNV09MCx0fWZ1bmN0aW9uIGIodCxuKXtyZXR1cm4gdFswXT1uWzBdLHRbMV09MCx0WzJdPTAs
dFszXT1uWzFdLHRbNF09MCx0WzVdPTAsdH1mdW5jdGlvbiBtKHQsbil7cmV0dXJuIHRbMF09MSx0
WzFdPTAsdFsyXT0wLHRbM109MSx0WzRdPW5bMF0sdFs1XT1uWzFdLHR9ZnVuY3Rpb24gcCh0KXty
ZXR1cm4ibWF0MmQoIit0WzBdKyIsICIrdFsxXSsiLCAiK3RbMl0rIiwgIit0WzNdKyIsICIrdFs0
XSsiLCAiK3RbNV0rIikifWZ1bmN0aW9uIFAodCl7cmV0dXJuIE1hdGguc3FydChNYXRoLnBvdyh0
WzBdLDIpK01hdGgucG93KHRbMV0sMikrTWF0aC5wb3codFsyXSwyKStNYXRoLnBvdyh0WzNdLDIp
K01hdGgucG93KHRbNF0sMikrTWF0aC5wb3codFs1XSwyKSsxKX1mdW5jdGlvbiBFKHQsbixyKXty
ZXR1cm4gdFswXT1uWzBdK3JbMF0sdFsxXT1uWzFdK3JbMV0sdFsyXT1uWzJdK3JbMl0sdFszXT1u
WzNdK3JbM10sdFs0XT1uWzRdK3JbNF0sdFs1XT1uWzVdK3JbNV0sdH1mdW5jdGlvbiBPKHQsbixy
KXtyZXR1cm4gdFswXT1uWzBdLXJbMF0sdFsxXT1uWzFdLXJbMV0sdFsyXT1uWzJdLXJbMl0sdFsz
XT1uWzNdLXJbM10sdFs0XT1uWzRdLXJbNF0sdFs1XT1uWzVdLXJbNV0sdH1mdW5jdGlvbiB4KHQs
bixyKXtyZXR1cm4gdFswXT1uWzBdKnIsdFsxXT1uWzFdKnIsdFsyXT1uWzJdKnIsdFszXT1uWzNd
KnIsdFs0XT1uWzRdKnIsdFs1XT1uWzVdKnIsdH1mdW5jdGlvbiBBKHQsbixyLGEpe3JldHVybiB0
WzBdPW5bMF0rclswXSphLHRbMV09blsxXStyWzFdKmEsdFsyXT1uWzJdK3JbMl0qYSx0WzNdPW5b
M10rclszXSphLHRbNF09bls0XStyWzRdKmEsdFs1XT1uWzVdK3JbNV0qYSx0fWZ1bmN0aW9uIHEo
dCxuKXtyZXR1cm4gdFswXT09PW5bMF0mJnRbMV09PT1uWzFdJiZ0WzJdPT09blsyXSYmdFszXT09
PW5bM10mJnRbNF09PT1uWzRdJiZ0WzVdPT09bls1XX1mdW5jdGlvbiB5KHQsbil7dmFyIHI9dFsw
XSxhPXRbMV0sZT10WzJdLHU9dFszXSxvPXRbNF0saT10WzVdLHM9blswXSxjPW5bMV0sZj1uWzJd
LE09blszXSxoPW5bNF0sbD1uWzVdO3JldHVybiBNYXRoLmFicyhyLXMpPD1SLkVQU0lMT04qTWF0
aC5tYXgoMSxNYXRoLmFicyhyKSxNYXRoLmFicyhzKSkmJk1hdGguYWJzKGEtYyk8PVIuRVBTSUxP
TipNYXRoLm1heCgxLE1hdGguYWJzKGEpLE1hdGguYWJzKGMpKSYmTWF0aC5hYnMoZS1mKTw9Ui5F
UFNJTE9OKk1hdGgubWF4KDEsTWF0aC5hYnMoZSksTWF0aC5hYnMoZikpJiZNYXRoLmFicyh1LU0p
PD1SLkVQU0lMT04qTWF0aC5tYXgoMSxNYXRoLmFicyh1KSxNYXRoLmFicyhNKSkmJk1hdGguYWJz
KG8taCk8PVIuRVBTSUxPTipNYXRoLm1heCgxLE1hdGguYWJzKG8pLE1hdGguYWJzKGgpKSYmTWF0
aC5hYnMoaS1sKTw9Ui5FUFNJTE9OKk1hdGgubWF4KDEsTWF0aC5hYnMoaSksTWF0aC5hYnMobCkp
fU9iamVjdC5kZWZpbmVQcm9wZXJ0eShuLCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSxuLnN1Yj1u
Lm11bD12b2lkIDAsbi5jcmVhdGU9YSxuLmNsb25lPWUsbi5jb3B5PXUsbi5pZGVudGl0eT1vLG4u
ZnJvbVZhbHVlcz1pLG4uc2V0PXMsbi5pbnZlcnQ9YyxuLmRldGVybWluYW50PWYsbi5tdWx0aXBs
eT1NLG4ucm90YXRlPWgsbi5zY2FsZT1sLG4udHJhbnNsYXRlPXYsbi5mcm9tUm90YXRpb249ZCxu
LmZyb21TY2FsaW5nPWIsbi5mcm9tVHJhbnNsYXRpb249bSxuLnN0cj1wLG4uZnJvYj1QLG4uYWRk
PUUsbi5zdWJ0cmFjdD1PLG4ubXVsdGlwbHlTY2FsYXI9eCxuLm11bHRpcGx5U2NhbGFyQW5kQWRk
PUEsbi5leGFjdEVxdWFscz1xLG4uZXF1YWxzPXk7dmFyIHc9cigwKSxSPWZ1bmN0aW9uKHQpe2lm
KHQmJnQuX19lc01vZHVsZSlyZXR1cm4gdDt2YXIgbj17fTtpZihudWxsIT10KWZvcih2YXIgciBp
biB0KU9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbCh0LHIpJiYobltyXT10W3Jd
KTtyZXR1cm4gbi5kZWZhdWx0PXQsbn0odyk7bi5tdWw9TSxuLnN1Yj1PfSxmdW5jdGlvbih0LG4s
cil7InVzZSBzdHJpY3QiO2Z1bmN0aW9uIGEoKXt2YXIgdD1uZXcgQy5BUlJBWV9UWVBFKDE2KTty
ZXR1cm4gdFswXT0xLHRbMV09MCx0WzJdPTAsdFszXT0wLHRbNF09MCx0WzVdPTEsdFs2XT0wLHRb
N109MCx0WzhdPTAsdFs5XT0wLHRbMTBdPTEsdFsxMV09MCx0WzEyXT0wLHRbMTNdPTAsdFsxNF09
MCx0WzE1XT0xLHR9ZnVuY3Rpb24gZSh0KXt2YXIgbj1uZXcgQy5BUlJBWV9UWVBFKDE2KTtyZXR1
cm4gblswXT10WzBdLG5bMV09dFsxXSxuWzJdPXRbMl0sblszXT10WzNdLG5bNF09dFs0XSxuWzVd
PXRbNV0sbls2XT10WzZdLG5bN109dFs3XSxuWzhdPXRbOF0sbls5XT10WzldLG5bMTBdPXRbMTBd
LG5bMTFdPXRbMTFdLG5bMTJdPXRbMTJdLG5bMTNdPXRbMTNdLG5bMTRdPXRbMTRdLG5bMTVdPXRb
MTVdLG59ZnVuY3Rpb24gdSh0LG4pe3JldHVybiB0WzBdPW5bMF0sdFsxXT1uWzFdLHRbMl09blsy
XSx0WzNdPW5bM10sdFs0XT1uWzRdLHRbNV09bls1XSx0WzZdPW5bNl0sdFs3XT1uWzddLHRbOF09
bls4XSx0WzldPW5bOV0sdFsxMF09blsxMF0sdFsxMV09blsxMV0sdFsxMl09blsxMl0sdFsxM109
blsxM10sdFsxNF09blsxNF0sdFsxNV09blsxNV0sdH1mdW5jdGlvbiBvKHQsbixyLGEsZSx1LG8s
aSxzLGMsZixNLGgsbCx2LGQpe3ZhciBiPW5ldyBDLkFSUkFZX1RZUEUoMTYpO3JldHVybiBiWzBd
PXQsYlsxXT1uLGJbMl09cixiWzNdPWEsYls0XT1lLGJbNV09dSxiWzZdPW8sYls3XT1pLGJbOF09
cyxiWzldPWMsYlsxMF09ZixiWzExXT1NLGJbMTJdPWgsYlsxM109bCxiWzE0XT12LGJbMTVdPWQs
Yn1mdW5jdGlvbiBpKHQsbixyLGEsZSx1LG8saSxzLGMsZixNLGgsbCx2LGQsYil7cmV0dXJuIHRb
MF09bix0WzFdPXIsdFsyXT1hLHRbM109ZSx0WzRdPXUsdFs1XT1vLHRbNl09aSx0WzddPXMsdFs4
XT1jLHRbOV09Zix0WzEwXT1NLHRbMTFdPWgsdFsxMl09bCx0WzEzXT12LHRbMTRdPWQsdFsxNV09
Yix0fWZ1bmN0aW9uIHModCl7cmV0dXJuIHRbMF09MSx0WzFdPTAsdFsyXT0wLHRbM109MCx0WzRd
PTAsdFs1XT0xLHRbNl09MCx0WzddPTAsdFs4XT0wLHRbOV09MCx0WzEwXT0xLHRbMTFdPTAsdFsx
Ml09MCx0WzEzXT0wLHRbMTRdPTAsdFsxNV09MSx0fWZ1bmN0aW9uIGModCxuKXtpZih0PT09bil7
dmFyIHI9blsxXSxhPW5bMl0sZT1uWzNdLHU9bls2XSxvPW5bN10saT1uWzExXTt0WzFdPW5bNF0s
dFsyXT1uWzhdLHRbM109blsxMl0sdFs0XT1yLHRbNl09bls5XSx0WzddPW5bMTNdLHRbOF09YSx0
WzldPXUsdFsxMV09blsxNF0sdFsxMl09ZSx0WzEzXT1vLHRbMTRdPWl9ZWxzZSB0WzBdPW5bMF0s
dFsxXT1uWzRdLHRbMl09bls4XSx0WzNdPW5bMTJdLHRbNF09blsxXSx0WzVdPW5bNV0sdFs2XT1u
WzldLHRbN109blsxM10sdFs4XT1uWzJdLHRbOV09bls2XSx0WzEwXT1uWzEwXSx0WzExXT1uWzE0
XSx0WzEyXT1uWzNdLHRbMTNdPW5bN10sdFsxNF09blsxMV0sdFsxNV09blsxNV07cmV0dXJuIHR9
ZnVuY3Rpb24gZih0LG4pe3ZhciByPW5bMF0sYT1uWzFdLGU9blsyXSx1PW5bM10sbz1uWzRdLGk9
bls1XSxzPW5bNl0sYz1uWzddLGY9bls4XSxNPW5bOV0saD1uWzEwXSxsPW5bMTFdLHY9blsxMl0s
ZD1uWzEzXSxiPW5bMTRdLG09blsxNV0scD1yKmktYSpvLFA9cipzLWUqbyxFPXIqYy11Km8sTz1h
KnMtZSppLHg9YSpjLXUqaSxBPWUqYy11KnMscT1mKmQtTSp2LHk9ZipiLWgqdix3PWYqbS1sKnYs
Uj1NKmItaCpkLEw9TSptLWwqZCxTPWgqbS1sKmIsXz1wKlMtUCpMK0UqUitPKncteCp5K0EqcTty
ZXR1cm4gXz8oXz0xL18sdFswXT0oaSpTLXMqTCtjKlIpKl8sdFsxXT0oZSpMLWEqUy11KlIpKl8s
dFsyXT0oZCpBLWIqeCttKk8pKl8sdFszXT0oaCp4LU0qQS1sKk8pKl8sdFs0XT0ocyp3LW8qUy1j
KnkpKl8sdFs1XT0ocipTLWUqdyt1KnkpKl8sdFs2XT0oYipFLXYqQS1tKlApKl8sdFs3XT0oZipB
LWgqRStsKlApKl8sdFs4XT0obypMLWkqdytjKnEpKl8sdFs5XT0oYSp3LXIqTC11KnEpKl8sdFsx
MF09KHYqeC1kKkUrbSpwKSpfLHRbMTFdPShNKkUtZip4LWwqcCkqXyx0WzEyXT0oaSp5LW8qUi1z
KnEpKl8sdFsxM109KHIqUi1hKnkrZSpxKSpfLHRbMTRdPShkKlAtdipPLWIqcCkqXyx0WzE1XT0o
ZipPLU0qUCtoKnApKl8sdCk6bnVsbH1mdW5jdGlvbiBNKHQsbil7dmFyIHI9blswXSxhPW5bMV0s
ZT1uWzJdLHU9blszXSxvPW5bNF0saT1uWzVdLHM9bls2XSxjPW5bN10sZj1uWzhdLE09bls5XSxo
PW5bMTBdLGw9blsxMV0sdj1uWzEyXSxkPW5bMTNdLGI9blsxNF0sbT1uWzE1XTtyZXR1cm4gdFsw
XT1pKihoKm0tbCpiKS1NKihzKm0tYypiKStkKihzKmwtYypoKSx0WzFdPS0oYSooaCptLWwqYikt
TSooZSptLXUqYikrZCooZSpsLXUqaCkpLHRbMl09YSoocyptLWMqYiktaSooZSptLXUqYikrZCoo
ZSpjLXUqcyksdFszXT0tKGEqKHMqbC1jKmgpLWkqKGUqbC11KmgpK00qKGUqYy11KnMpKSx0WzRd
PS0obyooaCptLWwqYiktZioocyptLWMqYikrdioocypsLWMqaCkpLHRbNV09ciooaCptLWwqYikt
ZiooZSptLXUqYikrdiooZSpsLXUqaCksdFs2XT0tKHIqKHMqbS1jKmIpLW8qKGUqbS11KmIpK3Yq
KGUqYy11KnMpKSx0WzddPXIqKHMqbC1jKmgpLW8qKGUqbC11KmgpK2YqKGUqYy11KnMpLHRbOF09
byooTSptLWwqZCktZiooaSptLWMqZCkrdiooaSpsLWMqTSksdFs5XT0tKHIqKE0qbS1sKmQpLWYq
KGEqbS11KmQpK3YqKGEqbC11Kk0pKSx0WzEwXT1yKihpKm0tYypkKS1vKihhKm0tdSpkKSt2Kihh
KmMtdSppKSx0WzExXT0tKHIqKGkqbC1jKk0pLW8qKGEqbC11Kk0pK2YqKGEqYy11KmkpKSx0WzEy
XT0tKG8qKE0qYi1oKmQpLWYqKGkqYi1zKmQpK3YqKGkqaC1zKk0pKSx0WzEzXT1yKihNKmItaCpk
KS1mKihhKmItZSpkKSt2KihhKmgtZSpNKSx0WzE0XT0tKHIqKGkqYi1zKmQpLW8qKGEqYi1lKmQp
K3YqKGEqcy1lKmkpKSx0WzE1XT1yKihpKmgtcypNKS1vKihhKmgtZSpNKStmKihhKnMtZSppKSx0
fWZ1bmN0aW9uIGgodCl7dmFyIG49dFswXSxyPXRbMV0sYT10WzJdLGU9dFszXSx1PXRbNF0sbz10
WzVdLGk9dFs2XSxzPXRbN10sYz10WzhdLGY9dFs5XSxNPXRbMTBdLGg9dFsxMV0sbD10WzEyXSx2
PXRbMTNdLGQ9dFsxNF0sYj10WzE1XTtyZXR1cm4obipvLXIqdSkqKE0qYi1oKmQpLShuKmktYSp1
KSooZipiLWgqdikrKG4qcy1lKnUpKihmKmQtTSp2KSsocippLWEqbykqKGMqYi1oKmwpLShyKnMt
ZSpvKSooYypkLU0qbCkrKGEqcy1lKmkpKihjKnYtZipsKX1mdW5jdGlvbiBsKHQsbixyKXt2YXIg
YT1uWzBdLGU9blsxXSx1PW5bMl0sbz1uWzNdLGk9bls0XSxzPW5bNV0sYz1uWzZdLGY9bls3XSxN
PW5bOF0saD1uWzldLGw9blsxMF0sdj1uWzExXSxkPW5bMTJdLGI9blsxM10sbT1uWzE0XSxwPW5b
MTVdLFA9clswXSxFPXJbMV0sTz1yWzJdLHg9clszXTtyZXR1cm4gdFswXT1QKmErRSppK08qTSt4
KmQsdFsxXT1QKmUrRSpzK08qaCt4KmIsdFsyXT1QKnUrRSpjK08qbCt4Km0sdFszXT1QKm8rRSpm
K08qdit4KnAsUD1yWzRdLEU9cls1XSxPPXJbNl0seD1yWzddLHRbNF09UCphK0UqaStPKk0reCpk
LHRbNV09UCplK0UqcytPKmgreCpiLHRbNl09UCp1K0UqYytPKmwreCptLHRbN109UCpvK0UqZitP
KnYreCpwLFA9cls4XSxFPXJbOV0sTz1yWzEwXSx4PXJbMTFdLHRbOF09UCphK0UqaStPKk0reCpk
LHRbOV09UCplK0UqcytPKmgreCpiLHRbMTBdPVAqdStFKmMrTypsK3gqbSx0WzExXT1QKm8rRSpm
K08qdit4KnAsUD1yWzEyXSxFPXJbMTNdLE89clsxNF0seD1yWzE1XSx0WzEyXT1QKmErRSppK08q
TSt4KmQsdFsxM109UCplK0UqcytPKmgreCpiLHRbMTRdPVAqdStFKmMrTypsK3gqbSx0WzE1XT1Q
Km8rRSpmK08qdit4KnAsdH1mdW5jdGlvbiB2KHQsbixyKXt2YXIgYT1yWzBdLGU9clsxXSx1PXJb
Ml0sbz12b2lkIDAsaT12b2lkIDAscz12b2lkIDAsYz12b2lkIDAsZj12b2lkIDAsTT12b2lkIDAs
aD12b2lkIDAsbD12b2lkIDAsdj12b2lkIDAsZD12b2lkIDAsYj12b2lkIDAsbT12b2lkIDA7cmV0
dXJuIG49PT10Pyh0WzEyXT1uWzBdKmErbls0XSplK25bOF0qdStuWzEyXSx0WzEzXT1uWzFdKmEr
bls1XSplK25bOV0qdStuWzEzXSx0WzE0XT1uWzJdKmErbls2XSplK25bMTBdKnUrblsxNF0sdFsx
NV09blszXSphK25bN10qZStuWzExXSp1K25bMTVdKToobz1uWzBdLGk9blsxXSxzPW5bMl0sYz1u
WzNdLGY9bls0XSxNPW5bNV0saD1uWzZdLGw9bls3XSx2PW5bOF0sZD1uWzldLGI9blsxMF0sbT1u
WzExXSx0WzBdPW8sdFsxXT1pLHRbMl09cyx0WzNdPWMsdFs0XT1mLHRbNV09TSx0WzZdPWgsdFs3
XT1sLHRbOF09dix0WzldPWQsdFsxMF09Yix0WzExXT1tLHRbMTJdPW8qYStmKmUrdip1K25bMTJd
LHRbMTNdPWkqYStNKmUrZCp1K25bMTNdLHRbMTRdPXMqYStoKmUrYip1K25bMTRdLHRbMTVdPWMq
YStsKmUrbSp1K25bMTVdKSx0fWZ1bmN0aW9uIGQodCxuLHIpe3ZhciBhPXJbMF0sZT1yWzFdLHU9
clsyXTtyZXR1cm4gdFswXT1uWzBdKmEsdFsxXT1uWzFdKmEsdFsyXT1uWzJdKmEsdFszXT1uWzNd
KmEsdFs0XT1uWzRdKmUsdFs1XT1uWzVdKmUsdFs2XT1uWzZdKmUsdFs3XT1uWzddKmUsdFs4XT1u
WzhdKnUsdFs5XT1uWzldKnUsdFsxMF09blsxMF0qdSx0WzExXT1uWzExXSp1LHRbMTJdPW5bMTJd
LHRbMTNdPW5bMTNdLHRbMTRdPW5bMTRdLHRbMTVdPW5bMTVdLHR9ZnVuY3Rpb24gYih0LG4scixh
KXt2YXIgZT1hWzBdLHU9YVsxXSxvPWFbMl0saT1NYXRoLnNxcnQoZSplK3UqdStvKm8pLHM9dm9p
ZCAwLGM9dm9pZCAwLGY9dm9pZCAwLE09dm9pZCAwLGg9dm9pZCAwLGw9dm9pZCAwLHY9dm9pZCAw
LGQ9dm9pZCAwLGI9dm9pZCAwLG09dm9pZCAwLHA9dm9pZCAwLFA9dm9pZCAwLEU9dm9pZCAwLE89
dm9pZCAwLHg9dm9pZCAwLEE9dm9pZCAwLHE9dm9pZCAwLHk9dm9pZCAwLHc9dm9pZCAwLFI9dm9p
ZCAwLEw9dm9pZCAwLFM9dm9pZCAwLF89dm9pZCAwLEk9dm9pZCAwO3JldHVybiBNYXRoLmFicyhp
KTxDLkVQU0lMT04/bnVsbDooaT0xL2ksZSo9aSx1Kj1pLG8qPWkscz1NYXRoLnNpbihyKSxjPU1h
dGguY29zKHIpLGY9MS1jLE09blswXSxoPW5bMV0sbD1uWzJdLHY9blszXSxkPW5bNF0sYj1uWzVd
LG09bls2XSxwPW5bN10sUD1uWzhdLEU9bls5XSxPPW5bMTBdLHg9blsxMV0sQT1lKmUqZitjLHE9
dSplKmYrbypzLHk9byplKmYtdSpzLHc9ZSp1KmYtbypzLFI9dSp1KmYrYyxMPW8qdSpmK2UqcyxT
PWUqbypmK3UqcyxfPXUqbypmLWUqcyxJPW8qbypmK2MsdFswXT1NKkErZCpxK1AqeSx0WzFdPWgq
QStiKnErRSp5LHRbMl09bCpBK20qcStPKnksdFszXT12KkErcCpxK3gqeSx0WzRdPU0qdytkKlIr
UCpMLHRbNV09aCp3K2IqUitFKkwsdFs2XT1sKncrbSpSK08qTCx0WzddPXYqdytwKlIreCpMLHRb
OF09TSpTK2QqXytQKkksdFs5XT1oKlMrYipfK0UqSSx0WzEwXT1sKlMrbSpfK08qSSx0WzExXT12
KlMrcCpfK3gqSSxuIT09dCYmKHRbMTJdPW5bMTJdLHRbMTNdPW5bMTNdLHRbMTRdPW5bMTRdLHRb
MTVdPW5bMTVdKSx0KX1mdW5jdGlvbiBtKHQsbixyKXt2YXIgYT1NYXRoLnNpbihyKSxlPU1hdGgu
Y29zKHIpLHU9bls0XSxvPW5bNV0saT1uWzZdLHM9bls3XSxjPW5bOF0sZj1uWzldLE09blsxMF0s
aD1uWzExXTtyZXR1cm4gbiE9PXQmJih0WzBdPW5bMF0sdFsxXT1uWzFdLHRbMl09blsyXSx0WzNd
PW5bM10sdFsxMl09blsxMl0sdFsxM109blsxM10sdFsxNF09blsxNF0sdFsxNV09blsxNV0pLHRb
NF09dSplK2MqYSx0WzVdPW8qZStmKmEsdFs2XT1pKmUrTSphLHRbN109cyplK2gqYSx0WzhdPWMq
ZS11KmEsdFs5XT1mKmUtbyphLHRbMTBdPU0qZS1pKmEsdFsxMV09aCplLXMqYSx0fWZ1bmN0aW9u
IHAodCxuLHIpe3ZhciBhPU1hdGguc2luKHIpLGU9TWF0aC5jb3MociksdT1uWzBdLG89blsxXSxp
PW5bMl0scz1uWzNdLGM9bls4XSxmPW5bOV0sTT1uWzEwXSxoPW5bMTFdO3JldHVybiBuIT09dCYm
KHRbNF09bls0XSx0WzVdPW5bNV0sdFs2XT1uWzZdLHRbN109bls3XSx0WzEyXT1uWzEyXSx0WzEz
XT1uWzEzXSx0WzE0XT1uWzE0XSx0WzE1XT1uWzE1XSksdFswXT11KmUtYyphLHRbMV09byplLWYq
YSx0WzJdPWkqZS1NKmEsdFszXT1zKmUtaCphLHRbOF09dSphK2MqZSx0WzldPW8qYStmKmUsdFsx
MF09aSphK00qZSx0WzExXT1zKmEraCplLHR9ZnVuY3Rpb24gUCh0LG4scil7dmFyIGE9TWF0aC5z
aW4ociksZT1NYXRoLmNvcyhyKSx1PW5bMF0sbz1uWzFdLGk9blsyXSxzPW5bM10sYz1uWzRdLGY9
bls1XSxNPW5bNl0saD1uWzddO3JldHVybiBuIT09dCYmKHRbOF09bls4XSx0WzldPW5bOV0sdFsx
MF09blsxMF0sdFsxMV09blsxMV0sdFsxMl09blsxMl0sdFsxM109blsxM10sdFsxNF09blsxNF0s
dFsxNV09blsxNV0pLHRbMF09dSplK2MqYSx0WzFdPW8qZStmKmEsdFsyXT1pKmUrTSphLHRbM109
cyplK2gqYSx0WzRdPWMqZS11KmEsdFs1XT1mKmUtbyphLHRbNl09TSplLWkqYSx0WzddPWgqZS1z
KmEsdH1mdW5jdGlvbiBFKHQsbil7cmV0dXJuIHRbMF09MSx0WzFdPTAsdFsyXT0wLHRbM109MCx0
WzRdPTAsdFs1XT0xLHRbNl09MCx0WzddPTAsdFs4XT0wLHRbOV09MCx0WzEwXT0xLHRbMTFdPTAs
dFsxMl09blswXSx0WzEzXT1uWzFdLHRbMTRdPW5bMl0sdFsxNV09MSx0fWZ1bmN0aW9uIE8odCxu
KXtyZXR1cm4gdFswXT1uWzBdLHRbMV09MCx0WzJdPTAsdFszXT0wLHRbNF09MCx0WzVdPW5bMV0s
dFs2XT0wLHRbN109MCx0WzhdPTAsdFs5XT0wLHRbMTBdPW5bMl0sdFsxMV09MCx0WzEyXT0wLHRb
MTNdPTAsdFsxNF09MCx0WzE1XT0xLHR9ZnVuY3Rpb24geCh0LG4scil7dmFyIGE9clswXSxlPXJb
MV0sdT1yWzJdLG89TWF0aC5zcXJ0KGEqYStlKmUrdSp1KSxpPXZvaWQgMCxzPXZvaWQgMCxjPXZv
aWQgMDtyZXR1cm4gTWF0aC5hYnMobyk8Qy5FUFNJTE9OP251bGw6KG89MS9vLGEqPW8sZSo9byx1
Kj1vLGk9TWF0aC5zaW4obikscz1NYXRoLmNvcyhuKSxjPTEtcyx0WzBdPWEqYSpjK3MsdFsxXT1l
KmEqYyt1KmksdFsyXT11KmEqYy1lKmksdFszXT0wLHRbNF09YSplKmMtdSppLHRbNV09ZSplKmMr
cyx0WzZdPXUqZSpjK2EqaSx0WzddPTAsdFs4XT1hKnUqYytlKmksdFs5XT1lKnUqYy1hKmksdFsx
MF09dSp1KmMrcyx0WzExXT0wLHRbMTJdPTAsdFsxM109MCx0WzE0XT0wLHRbMTVdPTEsdCl9ZnVu
Y3Rpb24gQSh0LG4pe3ZhciByPU1hdGguc2luKG4pLGE9TWF0aC5jb3Mobik7cmV0dXJuIHRbMF09
MSx0WzFdPTAsdFsyXT0wLHRbM109MCx0WzRdPTAsdFs1XT1hLHRbNl09cix0WzddPTAsdFs4XT0w
LHRbOV09LXIsdFsxMF09YSx0WzExXT0wLHRbMTJdPTAsdFsxM109MCx0WzE0XT0wLHRbMTVdPTEs
dH1mdW5jdGlvbiBxKHQsbil7dmFyIHI9TWF0aC5zaW4obiksYT1NYXRoLmNvcyhuKTtyZXR1cm4g
dFswXT1hLHRbMV09MCx0WzJdPS1yLHRbM109MCx0WzRdPTAsdFs1XT0xLHRbNl09MCx0WzddPTAs
dFs4XT1yLHRbOV09MCx0WzEwXT1hLHRbMTFdPTAsdFsxMl09MCx0WzEzXT0wLHRbMTRdPTAsdFsx
NV09MSx0fWZ1bmN0aW9uIHkodCxuKXt2YXIgcj1NYXRoLnNpbihuKSxhPU1hdGguY29zKG4pO3Jl
dHVybiB0WzBdPWEsdFsxXT1yLHRbMl09MCx0WzNdPTAsdFs0XT0tcix0WzVdPWEsdFs2XT0wLHRb
N109MCx0WzhdPTAsdFs5XT0wLHRbMTBdPTEsdFsxMV09MCx0WzEyXT0wLHRbMTNdPTAsdFsxNF09
MCx0WzE1XT0xLHR9ZnVuY3Rpb24gdyh0LG4scil7dmFyIGE9blswXSxlPW5bMV0sdT1uWzJdLG89
blszXSxpPWErYSxzPWUrZSxjPXUrdSxmPWEqaSxNPWEqcyxoPWEqYyxsPWUqcyx2PWUqYyxkPXUq
YyxiPW8qaSxtPW8qcyxwPW8qYztyZXR1cm4gdFswXT0xLShsK2QpLHRbMV09TStwLHRbMl09aC1t
LHRbM109MCx0WzRdPU0tcCx0WzVdPTEtKGYrZCksdFs2XT12K2IsdFs3XT0wLHRbOF09aCttLHRb
OV09di1iLHRbMTBdPTEtKGYrbCksdFsxMV09MCx0WzEyXT1yWzBdLHRbMTNdPXJbMV0sdFsxNF09
clsyXSx0WzE1XT0xLHR9ZnVuY3Rpb24gUih0LG4pe3JldHVybiB0WzBdPW5bMTJdLHRbMV09blsx
M10sdFsyXT1uWzE0XSx0fWZ1bmN0aW9uIEwodCxuKXt2YXIgcj1uWzBdLGE9blsxXSxlPW5bMl0s
dT1uWzRdLG89bls1XSxpPW5bNl0scz1uWzhdLGM9bls5XSxmPW5bMTBdO3JldHVybiB0WzBdPU1h
dGguc3FydChyKnIrYSphK2UqZSksdFsxXT1NYXRoLnNxcnQodSp1K28qbytpKmkpLHRbMl09TWF0
aC5zcXJ0KHMqcytjKmMrZipmKSx0fWZ1bmN0aW9uIFModCxuKXt2YXIgcj1uWzBdK25bNV0rblsx
MF0sYT0wO3JldHVybiByPjA/KGE9MipNYXRoLnNxcnQocisxKSx0WzNdPS4yNSphLHRbMF09KG5b
Nl0tbls5XSkvYSx0WzFdPShuWzhdLW5bMl0pL2EsdFsyXT0oblsxXS1uWzRdKS9hKTpuWzBdPm5b
NV0mblswXT5uWzEwXT8oYT0yKk1hdGguc3FydCgxK25bMF0tbls1XS1uWzEwXSksdFszXT0obls2
XS1uWzldKS9hLHRbMF09LjI1KmEsdFsxXT0oblsxXStuWzRdKS9hLHRbMl09KG5bOF0rblsyXSkv
YSk6bls1XT5uWzEwXT8oYT0yKk1hdGguc3FydCgxK25bNV0tblswXS1uWzEwXSksdFszXT0obls4
XS1uWzJdKS9hLHRbMF09KG5bMV0rbls0XSkvYSx0WzFdPS4yNSphLHRbMl09KG5bNl0rbls5XSkv
YSk6KGE9MipNYXRoLnNxcnQoMStuWzEwXS1uWzBdLW5bNV0pLHRbM109KG5bMV0tbls0XSkvYSx0
WzBdPShuWzhdK25bMl0pL2EsdFsxXT0obls2XStuWzldKS9hLHRbMl09LjI1KmEpLHR9ZnVuY3Rp
b24gXyh0LG4scixhKXt2YXIgZT1uWzBdLHU9blsxXSxvPW5bMl0saT1uWzNdLHM9ZStlLGM9dSt1
LGY9bytvLE09ZSpzLGg9ZSpjLGw9ZSpmLHY9dSpjLGQ9dSpmLGI9bypmLG09aSpzLHA9aSpjLFA9
aSpmLEU9YVswXSxPPWFbMV0seD1hWzJdO3JldHVybiB0WzBdPSgxLSh2K2IpKSpFLHRbMV09KGgr
UCkqRSx0WzJdPShsLXApKkUsdFszXT0wLHRbNF09KGgtUCkqTyx0WzVdPSgxLShNK2IpKSpPLHRb
Nl09KGQrbSkqTyx0WzddPTAsdFs4XT0obCtwKSp4LHRbOV09KGQtbSkqeCx0WzEwXT0oMS0oTSt2
KSkqeCx0WzExXT0wLHRbMTJdPXJbMF0sdFsxM109clsxXSx0WzE0XT1yWzJdLHRbMTVdPTEsdH1m
dW5jdGlvbiBJKHQsbixyLGEsZSl7dmFyIHU9blswXSxvPW5bMV0saT1uWzJdLHM9blszXSxjPXUr
dSxmPW8rbyxNPWkraSxoPXUqYyxsPXUqZix2PXUqTSxkPW8qZixiPW8qTSxtPWkqTSxwPXMqYyxQ
PXMqZixFPXMqTSxPPWFbMF0seD1hWzFdLEE9YVsyXSxxPWVbMF0seT1lWzFdLHc9ZVsyXTtyZXR1
cm4gdFswXT0oMS0oZCttKSkqTyx0WzFdPShsK0UpKk8sdFsyXT0odi1QKSpPLHRbM109MCx0WzRd
PShsLUUpKngsdFs1XT0oMS0oaCttKSkqeCx0WzZdPShiK3ApKngsdFs3XT0wLHRbOF09KHYrUCkq
QSx0WzldPShiLXApKkEsdFsxMF09KDEtKGgrZCkpKkEsdFsxMV09MCx0WzEyXT1yWzBdK3EtKHRb
MF0qcSt0WzRdKnkrdFs4XSp3KSx0WzEzXT1yWzFdK3ktKHRbMV0qcSt0WzVdKnkrdFs5XSp3KSx0
WzE0XT1yWzJdK3ctKHRbMl0qcSt0WzZdKnkrdFsxMF0qdyksdFsxNV09MSx0fWZ1bmN0aW9uIE4o
dCxuKXt2YXIgcj1uWzBdLGE9blsxXSxlPW5bMl0sdT1uWzNdLG89cityLGk9YSthLHM9ZStlLGM9
cipvLGY9YSpvLE09YSppLGg9ZSpvLGw9ZSppLHY9ZSpzLGQ9dSpvLGI9dSppLG09dSpzO3JldHVy
biB0WzBdPTEtTS12LHRbMV09ZittLHRbMl09aC1iLHRbM109MCx0WzRdPWYtbSx0WzVdPTEtYy12
LHRbNl09bCtkLHRbN109MCx0WzhdPWgrYix0WzldPWwtZCx0WzEwXT0xLWMtTSx0WzExXT0wLHRb
MTJdPTAsdFsxM109MCx0WzE0XT0wLHRbMTVdPTEsdH1mdW5jdGlvbiBZKHQsbixyLGEsZSx1LG8p
e3ZhciBpPTEvKHItbikscz0xLyhlLWEpLGM9MS8odS1vKTtyZXR1cm4gdFswXT0yKnUqaSx0WzFd
PTAsdFsyXT0wLHRbM109MCx0WzRdPTAsdFs1XT0yKnUqcyx0WzZdPTAsdFs3XT0wLHRbOF09KHIr
bikqaSx0WzldPShlK2EpKnMsdFsxMF09KG8rdSkqYyx0WzExXT0tMSx0WzEyXT0wLHRbMTNdPTAs
dFsxNF09byp1KjIqYyx0WzE1XT0wLHR9ZnVuY3Rpb24gZyh0LG4scixhLGUpe3ZhciB1PTEvTWF0
aC50YW4obi8yKSxvPTEvKGEtZSk7cmV0dXJuIHRbMF09dS9yLHRbMV09MCx0WzJdPTAsdFszXT0w
LHRbNF09MCx0WzVdPXUsdFs2XT0wLHRbN109MCx0WzhdPTAsdFs5XT0wLHRbMTBdPShlK2EpKm8s
dFsxMV09LTEsdFsxMl09MCx0WzEzXT0wLHRbMTRdPTIqZSphKm8sdFsxNV09MCx0fWZ1bmN0aW9u
IFQodCxuLHIsYSl7dmFyIGU9TWF0aC50YW4obi51cERlZ3JlZXMqTWF0aC5QSS8xODApLHU9TWF0
aC50YW4obi5kb3duRGVncmVlcypNYXRoLlBJLzE4MCksbz1NYXRoLnRhbihuLmxlZnREZWdyZWVz
Kk1hdGguUEkvMTgwKSxpPU1hdGgudGFuKG4ucmlnaHREZWdyZWVzKk1hdGguUEkvMTgwKSxzPTIv
KG8raSksYz0yLyhlK3UpO3JldHVybiB0WzBdPXMsdFsxXT0wLHRbMl09MCx0WzNdPTAsdFs0XT0w
LHRbNV09Yyx0WzZdPTAsdFs3XT0wLHRbOF09LShvLWkpKnMqLjUsdFs5XT0oZS11KSpjKi41LHRb
MTBdPWEvKHItYSksdFsxMV09LTEsdFsxMl09MCx0WzEzXT0wLHRbMTRdPWEqci8oci1hKSx0WzE1
XT0wLHR9ZnVuY3Rpb24gaih0LG4scixhLGUsdSxvKXt2YXIgaT0xLyhuLXIpLHM9MS8oYS1lKSxj
PTEvKHUtbyk7cmV0dXJuIHRbMF09LTIqaSx0WzFdPTAsdFsyXT0wLHRbM109MCx0WzRdPTAsdFs1
XT0tMipzLHRbNl09MCx0WzddPTAsdFs4XT0wLHRbOV09MCx0WzEwXT0yKmMsdFsxMV09MCx0WzEy
XT0obityKSppLHRbMTNdPShlK2EpKnMsdFsxNF09KG8rdSkqYyx0WzE1XT0xLHR9ZnVuY3Rpb24g
RCh0LG4scixhKXt2YXIgZT12b2lkIDAsdT12b2lkIDAsbz12b2lkIDAsaT12b2lkIDAscz12b2lk
IDAsYz12b2lkIDAsZj12b2lkIDAsTT12b2lkIDAsaD12b2lkIDAsbD12b2lkIDAsdj1uWzBdLGQ9
blsxXSxiPW5bMl0sbT1hWzBdLHA9YVsxXSxQPWFbMl0sRT1yWzBdLE89clsxXSx4PXJbMl07cmV0
dXJuIE1hdGguYWJzKHYtRSk8Qy5FUFNJTE9OJiZNYXRoLmFicyhkLU8pPEMuRVBTSUxPTiYmTWF0
aC5hYnMoYi14KTxDLkVQU0lMT04/bWF0NC5pZGVudGl0eSh0KTooZj12LUUsTT1kLU8saD1iLXgs
bD0xL01hdGguc3FydChmKmYrTSpNK2gqaCksZio9bCxNKj1sLGgqPWwsZT1wKmgtUCpNLHU9UCpm
LW0qaCxvPW0qTS1wKmYsbD1NYXRoLnNxcnQoZSplK3UqdStvKm8pLGw/KGw9MS9sLGUqPWwsdSo9
bCxvKj1sKTooZT0wLHU9MCxvPTApLGk9TSpvLWgqdSxzPWgqZS1mKm8sYz1mKnUtTSplLGw9TWF0
aC5zcXJ0KGkqaStzKnMrYypjKSxsPyhsPTEvbCxpKj1sLHMqPWwsYyo9bCk6KGk9MCxzPTAsYz0w
KSx0WzBdPWUsdFsxXT1pLHRbMl09Zix0WzNdPTAsdFs0XT11LHRbNV09cyx0WzZdPU0sdFs3XT0w
LHRbOF09byx0WzldPWMsdFsxMF09aCx0WzExXT0wLHRbMTJdPS0oZSp2K3UqZCtvKmIpLHRbMTNd
PS0oaSp2K3MqZCtjKmIpLHRbMTRdPS0oZip2K00qZCtoKmIpLHRbMTVdPTEsdCl9ZnVuY3Rpb24g
Vih0LG4scixhKXt2YXIgZT1uWzBdLHU9blsxXSxvPW5bMl0saT1hWzBdLHM9YVsxXSxjPWFbMl0s
Zj1lLXJbMF0sTT11LXJbMV0saD1vLXJbMl0sbD1mKmYrTSpNK2gqaDtsPjAmJihsPTEvTWF0aC5z
cXJ0KGwpLGYqPWwsTSo9bCxoKj1sKTt2YXIgdj1zKmgtYypNLGQ9YypmLWkqaCxiPWkqTS1zKmY7
cmV0dXJuIHRbMF09dix0WzFdPWQsdFsyXT1iLHRbM109MCx0WzRdPU0qYi1oKmQsdFs1XT1oKnYt
ZipiLHRbNl09ZipkLU0qdix0WzddPTAsdFs4XT1mLHRbOV09TSx0WzEwXT1oLHRbMTFdPTAsdFsx
Ml09ZSx0WzEzXT11LHRbMTRdPW8sdFsxNV09MSx0fWZ1bmN0aW9uIHoodCl7cmV0dXJuIm1hdDQo
Iit0WzBdKyIsICIrdFsxXSsiLCAiK3RbMl0rIiwgIit0WzNdKyIsICIrdFs0XSsiLCAiK3RbNV0r
IiwgIit0WzZdKyIsICIrdFs3XSsiLCAiK3RbOF0rIiwgIit0WzldKyIsICIrdFsxMF0rIiwgIit0
WzExXSsiLCAiK3RbMTJdKyIsICIrdFsxM10rIiwgIit0WzE0XSsiLCAiK3RbMTVdKyIpIn1mdW5j
dGlvbiBGKHQpe3JldHVybiBNYXRoLnNxcnQoTWF0aC5wb3codFswXSwyKStNYXRoLnBvdyh0WzFd
LDIpK01hdGgucG93KHRbMl0sMikrTWF0aC5wb3codFszXSwyKStNYXRoLnBvdyh0WzRdLDIpK01h
dGgucG93KHRbNV0sMikrTWF0aC5wb3codFs2XSwyKStNYXRoLnBvdyh0WzddLDIpK01hdGgucG93
KHRbOF0sMikrTWF0aC5wb3codFs5XSwyKStNYXRoLnBvdyh0WzEwXSwyKStNYXRoLnBvdyh0WzEx
XSwyKStNYXRoLnBvdyh0WzEyXSwyKStNYXRoLnBvdyh0WzEzXSwyKStNYXRoLnBvdyh0WzE0XSwy
KStNYXRoLnBvdyh0WzE1XSwyKSl9ZnVuY3Rpb24gUSh0LG4scil7cmV0dXJuIHRbMF09blswXSty
WzBdLHRbMV09blsxXStyWzFdLHRbMl09blsyXStyWzJdLHRbM109blszXStyWzNdLHRbNF09bls0
XStyWzRdLHRbNV09bls1XStyWzVdLHRbNl09bls2XStyWzZdLHRbN109bls3XStyWzddLHRbOF09
bls4XStyWzhdLHRbOV09bls5XStyWzldLHRbMTBdPW5bMTBdK3JbMTBdLHRbMTFdPW5bMTFdK3Jb
MTFdLHRbMTJdPW5bMTJdK3JbMTJdLHRbMTNdPW5bMTNdK3JbMTNdLHRbMTRdPW5bMTRdK3JbMTRd
LHRbMTVdPW5bMTVdK3JbMTVdLHR9ZnVuY3Rpb24gWCh0LG4scil7cmV0dXJuIHRbMF09blswXS1y
WzBdLHRbMV09blsxXS1yWzFdLHRbMl09blsyXS1yWzJdLHRbM109blszXS1yWzNdLHRbNF09bls0
XS1yWzRdLHRbNV09bls1XS1yWzVdLHRbNl09bls2XS1yWzZdLHRbN109bls3XS1yWzddLHRbOF09
bls4XS1yWzhdLHRbOV09bls5XS1yWzldLHRbMTBdPW5bMTBdLXJbMTBdLHRbMTFdPW5bMTFdLXJb
MTFdLHRbMTJdPW5bMTJdLXJbMTJdLHRbMTNdPW5bMTNdLXJbMTNdLHRbMTRdPW5bMTRdLXJbMTRd
LHRbMTVdPW5bMTVdLXJbMTVdLHR9ZnVuY3Rpb24gWih0LG4scil7cmV0dXJuIHRbMF09blswXSpy
LHRbMV09blsxXSpyLHRbMl09blsyXSpyLHRbM109blszXSpyLHRbNF09bls0XSpyLHRbNV09bls1
XSpyLHRbNl09bls2XSpyLHRbN109bls3XSpyLHRbOF09bls4XSpyLHRbOV09bls5XSpyLHRbMTBd
PW5bMTBdKnIsdFsxMV09blsxMV0qcix0WzEyXT1uWzEyXSpyLHRbMTNdPW5bMTNdKnIsdFsxNF09
blsxNF0qcix0WzE1XT1uWzE1XSpyLHR9ZnVuY3Rpb24gayh0LG4scixhKXtyZXR1cm4gdFswXT1u
WzBdK3JbMF0qYSx0WzFdPW5bMV0rclsxXSphLHRbMl09blsyXStyWzJdKmEsdFszXT1uWzNdK3Jb
M10qYSx0WzRdPW5bNF0rcls0XSphLHRbNV09bls1XStyWzVdKmEsdFs2XT1uWzZdK3JbNl0qYSx0
WzddPW5bN10rcls3XSphLHRbOF09bls4XStyWzhdKmEsdFs5XT1uWzldK3JbOV0qYSx0WzEwXT1u
WzEwXStyWzEwXSphLHRbMTFdPW5bMTFdK3JbMTFdKmEsdFsxMl09blsxMl0rclsxMl0qYSx0WzEz
XT1uWzEzXStyWzEzXSphLHRbMTRdPW5bMTRdK3JbMTRdKmEsdFsxNV09blsxNV0rclsxNV0qYSx0
fWZ1bmN0aW9uIFUodCxuKXtyZXR1cm4gdFswXT09PW5bMF0mJnRbMV09PT1uWzFdJiZ0WzJdPT09
blsyXSYmdFszXT09PW5bM10mJnRbNF09PT1uWzRdJiZ0WzVdPT09bls1XSYmdFs2XT09PW5bNl0m
JnRbN109PT1uWzddJiZ0WzhdPT09bls4XSYmdFs5XT09PW5bOV0mJnRbMTBdPT09blsxMF0mJnRb
MTFdPT09blsxMV0mJnRbMTJdPT09blsxMl0mJnRbMTNdPT09blsxM10mJnRbMTRdPT09blsxNF0m
JnRbMTVdPT09blsxNV19ZnVuY3Rpb24gVyh0LG4pe3ZhciByPXRbMF0sYT10WzFdLGU9dFsyXSx1
PXRbM10sbz10WzRdLGk9dFs1XSxzPXRbNl0sYz10WzddLGY9dFs4XSxNPXRbOV0saD10WzEwXSxs
PXRbMTFdLHY9dFsxMl0sZD10WzEzXSxiPXRbMTRdLG09dFsxNV0scD1uWzBdLFA9blsxXSxFPW5b
Ml0sTz1uWzNdLHg9bls0XSxBPW5bNV0scT1uWzZdLHk9bls3XSx3PW5bOF0sUj1uWzldLEw9blsx
MF0sUz1uWzExXSxfPW5bMTJdLEk9blsxM10sTj1uWzE0XSxZPW5bMTVdO3JldHVybiBNYXRoLmFi
cyhyLXApPD1DLkVQU0lMT04qTWF0aC5tYXgoMSxNYXRoLmFicyhyKSxNYXRoLmFicyhwKSkmJk1h
dGguYWJzKGEtUCk8PUMuRVBTSUxPTipNYXRoLm1heCgxLE1hdGguYWJzKGEpLE1hdGguYWJzKFAp
KSYmTWF0aC5hYnMoZS1FKTw9Qy5FUFNJTE9OKk1hdGgubWF4KDEsTWF0aC5hYnMoZSksTWF0aC5h
YnMoRSkpJiZNYXRoLmFicyh1LU8pPD1DLkVQU0lMT04qTWF0aC5tYXgoMSxNYXRoLmFicyh1KSxN
YXRoLmFicyhPKSkmJk1hdGguYWJzKG8teCk8PUMuRVBTSUxPTipNYXRoLm1heCgxLE1hdGguYWJz
KG8pLE1hdGguYWJzKHgpKSYmTWF0aC5hYnMoaS1BKTw9Qy5FUFNJTE9OKk1hdGgubWF4KDEsTWF0
aC5hYnMoaSksTWF0aC5hYnMoQSkpJiZNYXRoLmFicyhzLXEpPD1DLkVQU0lMT04qTWF0aC5tYXgo
MSxNYXRoLmFicyhzKSxNYXRoLmFicyhxKSkmJk1hdGguYWJzKGMteSk8PUMuRVBTSUxPTipNYXRo
Lm1heCgxLE1hdGguYWJzKGMpLE1hdGguYWJzKHkpKSYmTWF0aC5hYnMoZi13KTw9Qy5FUFNJTE9O
Kk1hdGgubWF4KDEsTWF0aC5hYnMoZiksTWF0aC5hYnModykpJiZNYXRoLmFicyhNLVIpPD1DLkVQ
U0lMT04qTWF0aC5tYXgoMSxNYXRoLmFicyhNKSxNYXRoLmFicyhSKSkmJk1hdGguYWJzKGgtTCk8
PUMuRVBTSUxPTipNYXRoLm1heCgxLE1hdGguYWJzKGgpLE1hdGguYWJzKEwpKSYmTWF0aC5hYnMo
bC1TKTw9Qy5FUFNJTE9OKk1hdGgubWF4KDEsTWF0aC5hYnMobCksTWF0aC5hYnMoUykpJiZNYXRo
LmFicyh2LV8pPD1DLkVQU0lMT04qTWF0aC5tYXgoMSxNYXRoLmFicyh2KSxNYXRoLmFicyhfKSkm
Jk1hdGguYWJzKGQtSSk8PUMuRVBTSUxPTipNYXRoLm1heCgxLE1hdGguYWJzKGQpLE1hdGguYWJz
KEkpKSYmTWF0aC5hYnMoYi1OKTw9Qy5FUFNJTE9OKk1hdGgubWF4KDEsTWF0aC5hYnMoYiksTWF0
aC5hYnMoTikpJiZNYXRoLmFicyhtLVkpPD1DLkVQU0lMT04qTWF0aC5tYXgoMSxNYXRoLmFicyht
KSxNYXRoLmFicyhZKSl9T2JqZWN0LmRlZmluZVByb3BlcnR5KG4sIl9fZXNNb2R1bGUiLHt2YWx1
ZTohMH0pLG4uc3ViPW4ubXVsPXZvaWQgMCxuLmNyZWF0ZT1hLG4uY2xvbmU9ZSxuLmNvcHk9dSxu
LmZyb21WYWx1ZXM9byxuLnNldD1pLG4uaWRlbnRpdHk9cyxuLnRyYW5zcG9zZT1jLG4uaW52ZXJ0
PWYsbi5hZGpvaW50PU0sbi5kZXRlcm1pbmFudD1oLG4ubXVsdGlwbHk9bCxuLnRyYW5zbGF0ZT12
LG4uc2NhbGU9ZCxuLnJvdGF0ZT1iLG4ucm90YXRlWD1tLG4ucm90YXRlWT1wLG4ucm90YXRlWj1Q
LG4uZnJvbVRyYW5zbGF0aW9uPUUsbi5mcm9tU2NhbGluZz1PLG4uZnJvbVJvdGF0aW9uPXgsbi5m
cm9tWFJvdGF0aW9uPUEsbi5mcm9tWVJvdGF0aW9uPXEsbi5mcm9tWlJvdGF0aW9uPXksbi5mcm9t
Um90YXRpb25UcmFuc2xhdGlvbj13LG4uZ2V0VHJhbnNsYXRpb249UixuLmdldFNjYWxpbmc9TCxu
LmdldFJvdGF0aW9uPVMsbi5mcm9tUm90YXRpb25UcmFuc2xhdGlvblNjYWxlPV8sbi5mcm9tUm90
YXRpb25UcmFuc2xhdGlvblNjYWxlT3JpZ2luPUksbi5mcm9tUXVhdD1OLG4uZnJ1c3R1bT1ZLG4u
cGVyc3BlY3RpdmU9ZyxuLnBlcnNwZWN0aXZlRnJvbUZpZWxkT2ZWaWV3PVQsbi5vcnRobz1qLG4u
bG9va0F0PUQsbi50YXJnZXRUbz1WLG4uc3RyPXosbi5mcm9iPUYsbi5hZGQ9USxuLnN1YnRyYWN0
PVgsbi5tdWx0aXBseVNjYWxhcj1aLG4ubXVsdGlwbHlTY2FsYXJBbmRBZGQ9ayxuLmV4YWN0RXF1
YWxzPVUsbi5lcXVhbHM9Vzt2YXIgQj1yKDApLEM9ZnVuY3Rpb24odCl7aWYodCYmdC5fX2VzTW9k
dWxlKXJldHVybiB0O3ZhciBuPXt9O2lmKG51bGwhPXQpZm9yKHZhciByIGluIHQpT2JqZWN0LnBy
b3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKHQscikmJihuW3JdPXRbcl0pO3JldHVybiBuLmRl
ZmF1bHQ9dCxufShCKTtuLm11bD1sLG4uc3ViPVh9LGZ1bmN0aW9uKHQsbixyKXsidXNlIHN0cmlj
dCI7ZnVuY3Rpb24gYSh0KXtpZih0JiZ0Ll9fZXNNb2R1bGUpcmV0dXJuIHQ7dmFyIG49e307aWYo
bnVsbCE9dClmb3IodmFyIHIgaW4gdClPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNh
bGwodCxyKSYmKG5bcl09dFtyXSk7cmV0dXJuIG4uZGVmYXVsdD10LG59ZnVuY3Rpb24gZSgpe3Zh
ciB0PW5ldyBFLkFSUkFZX1RZUEUoNCk7cmV0dXJuIHRbMF09MCx0WzFdPTAsdFsyXT0wLHRbM109
MSx0fWZ1bmN0aW9uIHUodCl7cmV0dXJuIHRbMF09MCx0WzFdPTAsdFsyXT0wLHRbM109MSx0fWZ1
bmN0aW9uIG8odCxuLHIpe3IqPS41O3ZhciBhPU1hdGguc2luKHIpO3JldHVybiB0WzBdPWEqblsw
XSx0WzFdPWEqblsxXSx0WzJdPWEqblsyXSx0WzNdPU1hdGguY29zKHIpLHR9ZnVuY3Rpb24gaSh0
LG4pe3ZhciByPTIqTWF0aC5hY29zKG5bM10pLGE9TWF0aC5zaW4oci8yKTtyZXR1cm4gMCE9YT8o
dFswXT1uWzBdL2EsdFsxXT1uWzFdL2EsdFsyXT1uWzJdL2EpOih0WzBdPTEsdFsxXT0wLHRbMl09
MCkscn1mdW5jdGlvbiBzKHQsbixyKXt2YXIgYT1uWzBdLGU9blsxXSx1PW5bMl0sbz1uWzNdLGk9
clswXSxzPXJbMV0sYz1yWzJdLGY9clszXTtyZXR1cm4gdFswXT1hKmYrbyppK2UqYy11KnMsdFsx
XT1lKmYrbypzK3UqaS1hKmMsdFsyXT11KmYrbypjK2Eqcy1lKmksdFszXT1vKmYtYSppLWUqcy11
KmMsdH1mdW5jdGlvbiBjKHQsbixyKXtyKj0uNTt2YXIgYT1uWzBdLGU9blsxXSx1PW5bMl0sbz1u
WzNdLGk9TWF0aC5zaW4ocikscz1NYXRoLmNvcyhyKTtyZXR1cm4gdFswXT1hKnMrbyppLHRbMV09
ZSpzK3UqaSx0WzJdPXUqcy1lKmksdFszXT1vKnMtYSppLHR9ZnVuY3Rpb24gZih0LG4scil7cio9
LjU7dmFyIGE9blswXSxlPW5bMV0sdT1uWzJdLG89blszXSxpPU1hdGguc2luKHIpLHM9TWF0aC5j
b3Mocik7cmV0dXJuIHRbMF09YSpzLXUqaSx0WzFdPWUqcytvKmksdFsyXT11KnMrYSppLHRbM109
bypzLWUqaSx0fWZ1bmN0aW9uIE0odCxuLHIpe3IqPS41O3ZhciBhPW5bMF0sZT1uWzFdLHU9blsy
XSxvPW5bM10saT1NYXRoLnNpbihyKSxzPU1hdGguY29zKHIpO3JldHVybiB0WzBdPWEqcytlKmks
dFsxXT1lKnMtYSppLHRbMl09dSpzK28qaSx0WzNdPW8qcy11KmksdH1mdW5jdGlvbiBoKHQsbil7
dmFyIHI9blswXSxhPW5bMV0sZT1uWzJdO3JldHVybiB0WzBdPXIsdFsxXT1hLHRbMl09ZSx0WzNd
PU1hdGguc3FydChNYXRoLmFicygxLXIqci1hKmEtZSplKSksdH1mdW5jdGlvbiBsKHQsbixyLGEp
e3ZhciBlPW5bMF0sdT1uWzFdLG89blsyXSxpPW5bM10scz1yWzBdLGM9clsxXSxmPXJbMl0sTT1y
WzNdLGg9dm9pZCAwLGw9dm9pZCAwLHY9dm9pZCAwLGQ9dm9pZCAwLGI9dm9pZCAwO3JldHVybiBs
PWUqcyt1KmMrbypmK2kqTSxsPDAmJihsPS1sLHM9LXMsYz0tYyxmPS1mLE09LU0pLDEtbD4xZS02
PyhoPU1hdGguYWNvcyhsKSx2PU1hdGguc2luKGgpLGQ9TWF0aC5zaW4oKDEtYSkqaCkvdixiPU1h
dGguc2luKGEqaCkvdik6KGQ9MS1hLGI9YSksdFswXT1kKmUrYipzLHRbMV09ZCp1K2IqYyx0WzJd
PWQqbytiKmYsdFszXT1kKmkrYipNLHR9ZnVuY3Rpb24gdih0LG4pe3ZhciByPW5bMF0sYT1uWzFd
LGU9blsyXSx1PW5bM10sbz1yKnIrYSphK2UqZSt1KnUsaT1vPzEvbzowO3JldHVybiB0WzBdPS1y
KmksdFsxXT0tYSppLHRbMl09LWUqaSx0WzNdPXUqaSx0fWZ1bmN0aW9uIGQodCxuKXtyZXR1cm4g
dFswXT0tblswXSx0WzFdPS1uWzFdLHRbMl09LW5bMl0sdFszXT1uWzNdLHR9ZnVuY3Rpb24gYih0
LG4pe3ZhciByPW5bMF0rbls0XStuWzhdLGE9dm9pZCAwO2lmKHI+MClhPU1hdGguc3FydChyKzEp
LHRbM109LjUqYSxhPS41L2EsdFswXT0obls1XS1uWzddKSphLHRbMV09KG5bNl0tblsyXSkqYSx0
WzJdPShuWzFdLW5bM10pKmE7ZWxzZXt2YXIgZT0wO25bNF0+blswXSYmKGU9MSksbls4XT5uWzMq
ZStlXSYmKGU9Mik7dmFyIHU9KGUrMSklMyxvPShlKzIpJTM7YT1NYXRoLnNxcnQoblszKmUrZV0t
blszKnUrdV0tblszKm8rb10rMSksdFtlXT0uNSphLGE9LjUvYSx0WzNdPShuWzMqdStvXS1uWzMq
byt1XSkqYSx0W3VdPShuWzMqdStlXStuWzMqZSt1XSkqYSx0W29dPShuWzMqbytlXStuWzMqZStv
XSkqYX1yZXR1cm4gdH1mdW5jdGlvbiBtKHQsbixyLGEpe3ZhciBlPS41Kk1hdGguUEkvMTgwO24q
PWUscio9ZSxhKj1lO3ZhciB1PU1hdGguc2luKG4pLG89TWF0aC5jb3MobiksaT1NYXRoLnNpbihy
KSxzPU1hdGguY29zKHIpLGM9TWF0aC5zaW4oYSksZj1NYXRoLmNvcyhhKTtyZXR1cm4gdFswXT11
KnMqZi1vKmkqYyx0WzFdPW8qaSpmK3UqcypjLHRbMl09bypzKmMtdSppKmYsdFszXT1vKnMqZit1
KmkqYyx0fWZ1bmN0aW9uIHAodCl7cmV0dXJuInF1YXQoIit0WzBdKyIsICIrdFsxXSsiLCAiK3Rb
Ml0rIiwgIit0WzNdKyIpIn1PYmplY3QuZGVmaW5lUHJvcGVydHkobiwiX19lc01vZHVsZSIse3Zh
bHVlOiEwfSksbi5zZXRBeGVzPW4uc3FsZXJwPW4ucm90YXRpb25Ubz1uLmVxdWFscz1uLmV4YWN0
RXF1YWxzPW4ubm9ybWFsaXplPW4uc3FyTGVuPW4uc3F1YXJlZExlbmd0aD1uLmxlbj1uLmxlbmd0
aD1uLmxlcnA9bi5kb3Q9bi5zY2FsZT1uLm11bD1uLmFkZD1uLnNldD1uLmNvcHk9bi5mcm9tVmFs
dWVzPW4uY2xvbmU9dm9pZCAwLG4uY3JlYXRlPWUsbi5pZGVudGl0eT11LG4uc2V0QXhpc0FuZ2xl
PW8sbi5nZXRBeGlzQW5nbGU9aSxuLm11bHRpcGx5PXMsbi5yb3RhdGVYPWMsbi5yb3RhdGVZPWYs
bi5yb3RhdGVaPU0sbi5jYWxjdWxhdGVXPWgsbi5zbGVycD1sLG4uaW52ZXJ0PXYsbi5jb25qdWdh
dGU9ZCxuLmZyb21NYXQzPWIsbi5mcm9tRXVsZXI9bSxuLnN0cj1wO3ZhciBQPXIoMCksRT1hKFAp
LE89cigxKSx4PWEoTyksQT1yKDIpLHE9YShBKSx5PXIoMyksdz1hKHkpLFI9KG4uY2xvbmU9dy5j
bG9uZSxuLmZyb21WYWx1ZXM9dy5mcm9tVmFsdWVzLG4uY29weT13LmNvcHksbi5zZXQ9dy5zZXQs
bi5hZGQ9dy5hZGQsbi5tdWw9cyxuLnNjYWxlPXcuc2NhbGUsbi5kb3Q9dy5kb3Qsbi5sZXJwPXcu
bGVycCxuLmxlbmd0aD13Lmxlbmd0aCksTD0obi5sZW49UixuLnNxdWFyZWRMZW5ndGg9dy5zcXVh
cmVkTGVuZ3RoKSxTPShuLnNxckxlbj1MLG4ubm9ybWFsaXplPXcubm9ybWFsaXplKTtuLmV4YWN0
RXF1YWxzPXcuZXhhY3RFcXVhbHMsbi5lcXVhbHM9dy5lcXVhbHMsbi5yb3RhdGlvblRvPWZ1bmN0
aW9uKCl7dmFyIHQ9cS5jcmVhdGUoKSxuPXEuZnJvbVZhbHVlcygxLDAsMCkscj1xLmZyb21WYWx1
ZXMoMCwxLDApO3JldHVybiBmdW5jdGlvbihhLGUsdSl7dmFyIGk9cS5kb3QoZSx1KTtyZXR1cm4g
aTwtLjk5OTk5OT8ocS5jcm9zcyh0LG4sZSkscS5sZW4odCk8MWUtNiYmcS5jcm9zcyh0LHIsZSks
cS5ub3JtYWxpemUodCx0KSxvKGEsdCxNYXRoLlBJKSxhKTppPi45OTk5OTk/KGFbMF09MCxhWzFd
PTAsYVsyXT0wLGFbM109MSxhKToocS5jcm9zcyh0LGUsdSksYVswXT10WzBdLGFbMV09dFsxXSxh
WzJdPXRbMl0sYVszXT0xK2ksUyhhLGEpKX19KCksbi5zcWxlcnA9ZnVuY3Rpb24oKXt2YXIgdD1l
KCksbj1lKCk7cmV0dXJuIGZ1bmN0aW9uKHIsYSxlLHUsbyxpKXtyZXR1cm4gbCh0LGEsbyxpKSxs
KG4sZSx1LGkpLGwocix0LG4sMippKigxLWkpKSxyfX0oKSxuLnNldEF4ZXM9ZnVuY3Rpb24oKXt2
YXIgdD14LmNyZWF0ZSgpO3JldHVybiBmdW5jdGlvbihuLHIsYSxlKXtyZXR1cm4gdFswXT1hWzBd
LHRbM109YVsxXSx0WzZdPWFbMl0sdFsxXT1lWzBdLHRbNF09ZVsxXSx0WzddPWVbMl0sdFsyXT0t
clswXSx0WzVdPS1yWzFdLHRbOF09LXJbMl0sUyhuLGIobix0KSl9fSgpfSxmdW5jdGlvbih0LG4s
cil7InVzZSBzdHJpY3QiO2Z1bmN0aW9uIGEoKXt2YXIgdD1uZXcgVi5BUlJBWV9UWVBFKDIpO3Jl
dHVybiB0WzBdPTAsdFsxXT0wLHR9ZnVuY3Rpb24gZSh0KXt2YXIgbj1uZXcgVi5BUlJBWV9UWVBF
KDIpO3JldHVybiBuWzBdPXRbMF0sblsxXT10WzFdLG59ZnVuY3Rpb24gdSh0LG4pe3ZhciByPW5l
dyBWLkFSUkFZX1RZUEUoMik7cmV0dXJuIHJbMF09dCxyWzFdPW4scn1mdW5jdGlvbiBvKHQsbil7
cmV0dXJuIHRbMF09blswXSx0WzFdPW5bMV0sdH1mdW5jdGlvbiBpKHQsbixyKXtyZXR1cm4gdFsw
XT1uLHRbMV09cix0fWZ1bmN0aW9uIHModCxuLHIpe3JldHVybiB0WzBdPW5bMF0rclswXSx0WzFd
PW5bMV0rclsxXSx0fWZ1bmN0aW9uIGModCxuLHIpe3JldHVybiB0WzBdPW5bMF0tclswXSx0WzFd
PW5bMV0tclsxXSx0fWZ1bmN0aW9uIGYodCxuLHIpe3JldHVybiB0WzBdPW5bMF0qclswXSx0WzFd
PW5bMV0qclsxXSx0fWZ1bmN0aW9uIE0odCxuLHIpe3JldHVybiB0WzBdPW5bMF0vclswXSx0WzFd
PW5bMV0vclsxXSx0fWZ1bmN0aW9uIGgodCxuKXtyZXR1cm4gdFswXT1NYXRoLmNlaWwoblswXSks
dFsxXT1NYXRoLmNlaWwoblsxXSksdH1mdW5jdGlvbiBsKHQsbil7cmV0dXJuIHRbMF09TWF0aC5m
bG9vcihuWzBdKSx0WzFdPU1hdGguZmxvb3IoblsxXSksdH1mdW5jdGlvbiB2KHQsbixyKXtyZXR1
cm4gdFswXT1NYXRoLm1pbihuWzBdLHJbMF0pLHRbMV09TWF0aC5taW4oblsxXSxyWzFdKSx0fWZ1
bmN0aW9uIGQodCxuLHIpe3JldHVybiB0WzBdPU1hdGgubWF4KG5bMF0sclswXSksdFsxXT1NYXRo
Lm1heChuWzFdLHJbMV0pLHR9ZnVuY3Rpb24gYih0LG4pe3JldHVybiB0WzBdPU1hdGgucm91bmQo
blswXSksdFsxXT1NYXRoLnJvdW5kKG5bMV0pLHR9ZnVuY3Rpb24gbSh0LG4scil7cmV0dXJuIHRb
MF09blswXSpyLHRbMV09blsxXSpyLHR9ZnVuY3Rpb24gcCh0LG4scixhKXtyZXR1cm4gdFswXT1u
WzBdK3JbMF0qYSx0WzFdPW5bMV0rclsxXSphLHR9ZnVuY3Rpb24gUCh0LG4pe3ZhciByPW5bMF0t
dFswXSxhPW5bMV0tdFsxXTtyZXR1cm4gTWF0aC5zcXJ0KHIqcithKmEpfWZ1bmN0aW9uIEUodCxu
KXt2YXIgcj1uWzBdLXRbMF0sYT1uWzFdLXRbMV07cmV0dXJuIHIqcithKmF9ZnVuY3Rpb24gTyh0
KXt2YXIgbj10WzBdLHI9dFsxXTtyZXR1cm4gTWF0aC5zcXJ0KG4qbityKnIpfWZ1bmN0aW9uIHgo
dCl7dmFyIG49dFswXSxyPXRbMV07cmV0dXJuIG4qbityKnJ9ZnVuY3Rpb24gQSh0LG4pe3JldHVy
biB0WzBdPS1uWzBdLHRbMV09LW5bMV0sdH1mdW5jdGlvbiBxKHQsbil7cmV0dXJuIHRbMF09MS9u
WzBdLHRbMV09MS9uWzFdLHR9ZnVuY3Rpb24geSh0LG4pe3ZhciByPW5bMF0sYT1uWzFdLGU9cipy
K2EqYTtyZXR1cm4gZT4wJiYoZT0xL01hdGguc3FydChlKSx0WzBdPW5bMF0qZSx0WzFdPW5bMV0q
ZSksdH1mdW5jdGlvbiB3KHQsbil7cmV0dXJuIHRbMF0qblswXSt0WzFdKm5bMV19ZnVuY3Rpb24g
Uih0LG4scil7dmFyIGE9blswXSpyWzFdLW5bMV0qclswXTtyZXR1cm4gdFswXT10WzFdPTAsdFsy
XT1hLHR9ZnVuY3Rpb24gTCh0LG4scixhKXt2YXIgZT1uWzBdLHU9blsxXTtyZXR1cm4gdFswXT1l
K2EqKHJbMF0tZSksdFsxXT11K2EqKHJbMV0tdSksdH1mdW5jdGlvbiBTKHQsbil7bj1ufHwxO3Zh
ciByPTIqVi5SQU5ET00oKSpNYXRoLlBJO3JldHVybiB0WzBdPU1hdGguY29zKHIpKm4sdFsxXT1N
YXRoLnNpbihyKSpuLHR9ZnVuY3Rpb24gXyh0LG4scil7dmFyIGE9blswXSxlPW5bMV07cmV0dXJu
IHRbMF09clswXSphK3JbMl0qZSx0WzFdPXJbMV0qYStyWzNdKmUsdH1mdW5jdGlvbiBJKHQsbixy
KXt2YXIgYT1uWzBdLGU9blsxXTtyZXR1cm4gdFswXT1yWzBdKmErclsyXSplK3JbNF0sdFsxXT1y
WzFdKmErclszXSplK3JbNV0sdH1mdW5jdGlvbiBOKHQsbixyKXt2YXIgYT1uWzBdLGU9blsxXTty
ZXR1cm4gdFswXT1yWzBdKmErclszXSplK3JbNl0sdFsxXT1yWzFdKmErcls0XSplK3JbN10sdH1m
dW5jdGlvbiBZKHQsbixyKXt2YXIgYT1uWzBdLGU9blsxXTtyZXR1cm4gdFswXT1yWzBdKmErcls0
XSplK3JbMTJdLHRbMV09clsxXSphK3JbNV0qZStyWzEzXSx0fWZ1bmN0aW9uIGcodCl7cmV0dXJu
InZlYzIoIit0WzBdKyIsICIrdFsxXSsiKSJ9ZnVuY3Rpb24gVCh0LG4pe3JldHVybiB0WzBdPT09
blswXSYmdFsxXT09PW5bMV19ZnVuY3Rpb24gaih0LG4pe3ZhciByPXRbMF0sYT10WzFdLGU9blsw
XSx1PW5bMV07cmV0dXJuIE1hdGguYWJzKHItZSk8PVYuRVBTSUxPTipNYXRoLm1heCgxLE1hdGgu
YWJzKHIpLE1hdGguYWJzKGUpKSYmTWF0aC5hYnMoYS11KTw9Vi5FUFNJTE9OKk1hdGgubWF4KDEs
TWF0aC5hYnMoYSksTWF0aC5hYnModSkpfU9iamVjdC5kZWZpbmVQcm9wZXJ0eShuLCJfX2VzTW9k
dWxlIix7dmFsdWU6ITB9KSxuLmZvckVhY2g9bi5zcXJMZW49bi5zcXJEaXN0PW4uZGlzdD1uLmRp
dj1uLm11bD1uLnN1Yj1uLmxlbj12b2lkIDAsbi5jcmVhdGU9YSxuLmNsb25lPWUsbi5mcm9tVmFs
dWVzPXUsbi5jb3B5PW8sbi5zZXQ9aSxuLmFkZD1zLG4uc3VidHJhY3Q9YyxuLm11bHRpcGx5PWYs
bi5kaXZpZGU9TSxuLmNlaWw9aCxuLmZsb29yPWwsbi5taW49dixuLm1heD1kLG4ucm91bmQ9Yixu
LnNjYWxlPW0sbi5zY2FsZUFuZEFkZD1wLG4uZGlzdGFuY2U9UCxuLnNxdWFyZWREaXN0YW5jZT1F
LG4ubGVuZ3RoPU8sbi5zcXVhcmVkTGVuZ3RoPXgsbi5uZWdhdGU9QSxuLmludmVyc2U9cSxuLm5v
cm1hbGl6ZT15LG4uZG90PXcsbi5jcm9zcz1SLG4ubGVycD1MLG4ucmFuZG9tPVMsbi50cmFuc2Zv
cm1NYXQyPV8sbi50cmFuc2Zvcm1NYXQyZD1JLG4udHJhbnNmb3JtTWF0Mz1OLG4udHJhbnNmb3Jt
TWF0ND1ZLG4uc3RyPWcsbi5leGFjdEVxdWFscz1ULG4uZXF1YWxzPWo7dmFyIEQ9cigwKSxWPWZ1
bmN0aW9uKHQpe2lmKHQmJnQuX19lc01vZHVsZSlyZXR1cm4gdDt2YXIgbj17fTtpZihudWxsIT10
KWZvcih2YXIgciBpbiB0KU9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbCh0LHIp
JiYobltyXT10W3JdKTtyZXR1cm4gbi5kZWZhdWx0PXQsbn0oRCk7bi5sZW49TyxuLnN1Yj1jLG4u
bXVsPWYsbi5kaXY9TSxuLmRpc3Q9UCxuLnNxckRpc3Q9RSxuLnNxckxlbj14LG4uZm9yRWFjaD1m
dW5jdGlvbigpe3ZhciB0PWEoKTtyZXR1cm4gZnVuY3Rpb24obixyLGEsZSx1LG8pe3ZhciBpPXZv
aWQgMCxzPXZvaWQgMDtmb3Iocnx8KHI9MiksYXx8KGE9MCkscz1lP01hdGgubWluKGUqcithLG4u
bGVuZ3RoKTpuLmxlbmd0aCxpPWE7aTxzO2krPXIpdFswXT1uW2ldLHRbMV09bltpKzFdLHUodCx0
LG8pLG5baV09dFswXSxuW2krMV09dFsxXTtyZXR1cm4gbn19KCl9XSl9KTsKXCBObyBuZXdsaW5l
IGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9XZWJzaXRlcy93ZWJraXQub3JnL2RlbW9zL3dl
YmdwdS9oZWxsby5odG1sIGIvV2Vic2l0ZXMvd2Via2l0Lm9yZy9kZW1vcy93ZWJncHUvaGVsbG8u
aHRtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMmUwZDFkODRlNWUwYjZhYTgzNzE0
ZWQ3Mzc4ZDdlNmE4MDY1MDQxNy4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMAotLS0gYS9XZWJzaXRlcy93ZWJraXQub3JnL2RlbW9zL3dlYmdwdS9oZWxsby5odG1sCisr
KyAvZGV2L251bGwKQEAgLTEsNTggKzAsMCBAQAotPCFET0NUWVBFIGh0bWw+Ci08aHRtbD4KLTxo
ZWFkPgotPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPTYwMCI+Ci08bWV0YSBo
dHRwLWVxdWl2PSJDb250ZW50LXR5cGUiIGNvbnRlbnQ9InRleHQvaHRtbDsgY2hhcnNldD11dGYt
OCI+Ci08dGl0bGU+V2ViR1BVIEhlbGxvIFdvcmxkIGRlbW88L3RpdGxlPgotPGxpbmsgcmVsPSJz
dHlsZXNoZWV0IiBocmVmPSJzaGFyZWQuY3NzIj4KLTxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJl
Zj0iaHR0cHM6Ly93ZWJraXQub3JnL3dwLWNvbnRlbnQvdGhlbWVzL3dlYmtpdC9zdHlsZS5jc3Mi
PgotPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSJodHRwczovL3d3dy5hcHBsZS5jb20vd3Nz
L2ZvbnRzP2ZhbWlseT1NeXJpYWQrU2V0K1BybyZhbXA7dj0xIj4KLTxzY3JpcHQgc3JjPSJzaGFy
ZWQuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9ImhlbGxvLmpzIj48L3NjcmlwdD4KLTxzY3Jp
cHQgaWQ9ImxpYnJhcnkiIHR5cGU9Ingtc2hhZGVyL3gtbWV0YWwiPgotI2luY2x1ZGUgPG1ldGFs
X3N0ZGxpYj4KLQotdXNpbmcgbmFtZXNwYWNlIG1ldGFsOwotCi1zdHJ1Y3QgVmVydGV4Ci17Ci0g
ICAgZmxvYXQ0IHBvc2l0aW9uIFtbcG9zaXRpb25dXTsKLX07Ci0KLXZlcnRleCBWZXJ0ZXggdmVy
dGV4X21haW4odWludCB2aWQgW1t2ZXJ0ZXhfaWRdXSkKLXsKLSAgICBWZXJ0ZXggdjsKLSAgICBz
d2l0Y2ggKHZpZCkgewotICAgIGNhc2UgMDoKLSAgICAgICAgdi5wb3NpdGlvbiA9IGZsb2F0NCgt
Ljc1LCAtLjc1LCAwLCAxKTsKLSAgICAgICAgYnJlYWs7Ci0gICAgY2FzZSAxOgotICAgICAgICB2
LnBvc2l0aW9uID0gZmxvYXQ0KC43NSwgLS43NSwgMCwgMSk7Ci0gICAgICAgIGJyZWFrOwotICAg
IGNhc2UgMjoKLSAgICAgICAgdi5wb3NpdGlvbiA9IGZsb2F0NCgwLCAuNzUsIDAsIDEpOwotICAg
ICAgICBicmVhazsKLSAgICBkZWZhdWx0OgotICAgICAgICB2LnBvc2l0aW9uID0gZmxvYXQ0KDAs
IDAsIDAsIDEpOwotICAgIH0KLSAgICByZXR1cm4gdjsKLX0KLQotZnJhZ21lbnQgZmxvYXQ0IGZy
YWdtZW50X21haW4oVmVydGV4IHZlcnRleEluIFtbc3RhZ2VfaW5dXSkKLXsKLSAgICByZXR1cm4g
ZmxvYXQ0KDEuMCwgMC4wLCAwLjAsIDEuMCk7Ci19Ci08L3NjcmlwdD4KLTwvaGVhZD4KLTxib2R5
PgotPGNhbnZhcz48L2NhbnZhcz4KLTxkaXYgaWQ9ImVycm9yIj4KLSAgICA8aDI+V2ViR1BVIG5v
dCBhdmFpbGFibGU8L2gyPgotICAgIDxwPgotICAgICAgICBNYWtlIHN1cmUgeW91IGFyZSBvbiBh
IHN5c3RlbSB3aXRoIFdlYkdQVSBlbmFibGVkLiBJbgotICAgICAgICBTYWZhcmksIGZpcnN0IG1h
a2Ugc3VyZSB0aGUgRGV2ZWxvcGVyIE1lbnUgaXMgdmlzaWJsZSAoUHJlZmVyZW5jZXMg4oaSCi0g
ICAgICAgIEFkdmFuY2VkKSwgdGhlbiBEZXZlbG9wIOKGkiBFeHBlcmltZW50YWwgRmVhdHVyZXMg
4oaSIEVuYWJsZSBXZWJHUFUuCi0gICAgPC9wPgotPC9kaXY+Ci08L2JvZHk+Ci08L2h0bWw+CmRp
ZmYgLS1naXQgYS9XZWJzaXRlcy93ZWJraXQub3JnL2RlbW9zL3dlYmdwdS9oZWxsby5qcGcgYi9X
ZWJzaXRlcy93ZWJraXQub3JnL2RlbW9zL3dlYmdwdS9oZWxsby5qcGcKZGVsZXRlZCBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDg3MTAwMzlkYTdmMjhmNjM2OTkyZDNiYmVhYjlmNzRmNTEwNTJmMzYu
LjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKR0lUIGJpbmFyeSBwYXRj
aApsaXRlcmFsIDAKSGNtVj9kMDAwMDEKCmxpdGVyYWwgMzg2MzMKemNtZUZaMXoyMjV3ZyRRemNo
XjkwY01UMiFmKEhvaEchQmlzVE9mZjFjTT4yV2M8PTt3bXRZfXlhRUZpdDRYJHNLCnpuUkRqOGBg
dFRwPUZCPHN6VkY/c1g3XnJReVE7Y1kpdjgpK3trNTgjJm9AZnxqLXNyQkVDN0szZklScERaa0I8
RQp6R1R0eU4wOG15MlNPNVMoMHBLOGIwNmEpUnohd2s+MH15YEYwS2ZwPTBSWmp8KyVHeHMmKT5s
UmpsTysmdnk0aEAKejxMPlMoJSpwQksjJGpzVldNO2A+PyZRR2ZaUipVKSZCNFY5aClRQG5vMHs4
TXg+SzIxVEVpVTBYbSVUMFh7Y1pwCnpWbCtEWiUzUjlNKHZ+KGJkMCRzYzRQTzthYjYtMWlBcXlH
X2FWay03VlEmWCMyVE9OVERzS21TTT5rPF9GYEEhXgp6M3hvNytIWVd8JCZtISkyVmw9d1NrRW89
YlRySHtpSXJ1b1pYdSNVODdGTlJRNGBseVo3eUtrZl5WZCMjZDNrWW8KekBwM3IxVDYxeT4yPz1w
PkBvQDYrdSFBTW8tRnpJfk99KkoyLURyUGw7ZW4tX3hodUBzOXA+YW5iPSN0O25VamFSCno3ITNf
NF96aiRZe2ZiLWkqUz9CVntVYGxyMXBZR3V7fjNZKmpLRl9KOzZFZXFle1RmLVg2O3h5ZittZ15Y
ditYTQp6K2tvSUI4eiotc0h5YkJzRHFhcFFLdX02UzhSNkUqMEBGe0x7d0lrdWVtODE1N058aGoz
UHllTHtadU9PV2AqUmwKemcwd1hCay1EbV4hYjYjI0hYTytaUSlnIztJMi1fUWFDQ1E3bXlART4p
emhhIVVJdEEhSmtYUzUxMnwzMS1KQiZLCnpKJGlXQzx9ZGYzP2Y/M0FKYjcjQTBsKm1oWkNrJSl8
MjZ7RzB5SysyVGsjUUMrfDB0dyt5U0prei0hUmwrMGA4WQp6O0RmPEBTfSU5IVRSSW57MzAlUHJm
Xl4rMlpUJU58QFJtMEYzJSZIU2pIYkZZU21xRzRNbG5vSFU5QUJDMUl6fWYKekprNzFhYn0qO18w
MTQwMDBfRiQrY3pociZaZjt8MDBSU1o2R2wwIyghUmVOTTFKWD1wfERfJTR8M2FJWm4qR3xRCnpz
ajJtXl5qfi1aWWwyXz0wT3Nhd1p8ZHsmIXlvelBWREFCcipVdi0pekdLKzklQnpFU0kmalMxK0Jx
cnhOO3tnVgp6c1EhYDwxM0NKSXcoKmVIYGhfLWtsTHA3fkZMZjxVQTFNN29kKVI0N3t6OTkmZzRB
RWp6fXl1eWYxekVTKVBIVD8KeihPJV9OSzdSSlcjIX0lfCtSe3glPENsQ1puNUBEdHc2QmUoJk0m
a2xPazNwXytSYVltKkZOfiNOZEtEZT5ZQEg/CnpwUkhWRmY5MjdeNFhwWHM/PT82NStqcUkhWG85
WkVVOzFPfHJ1JUR1RUchPyR7Rj84bV49c2RwLUtCblEpN2shfgp6dHBEVzIocThWQGReYjt4VStj
UU5ZV3x2VVlwUXJGeUZiZjJ5RmRETWUxTTA1NERiTTswO0I7TDswUmEoNHVDMjYKej0+aG8zNFI4
a1IhQjBOIW1mcDhBMlNfX1BgPyRpYVpRUTlPITQrZ2xyUW00SiFBOFp5I1ZyNTt4OWpuPzM7X0k0
Cnp8R0NafU04a2l9YXs9b00zeFF0TXRIMCUkdkkwTkA4QE1EJnsrMzV+NCo8fjkwaWJjISt7NHhM
RllPYFItVmd5YQp6MDI/M3hOQzY2ZjdHTUl7MFVxRVVBT2hTNmQjP3puMC1Bc3hVPHtaOEhlbWw8
MFdaS0djbnBMQWt3NkBmNDVSXj4KektvME8wQzxROGpUQSZHTjJZUEAzOzFlKGIlbVBjbUlgOXFI
MUNEX1UybjIhKiFHeiNMTkZrSUVkSSYzbzJPPGEmCnpoc1ohNExld0Y4NUVGPHMjMVl+RkByUSYk
QXxWTm9HKU5ZdDViXz5VNHszKz1LfUkwY2tZJmdnPE4kSUcyTT5uPAp6TSp3I2hqc2NEblA3cUVL
UDY8dkUmSXJ5TCZJUWdGP2c/QkIrellzRHhEdlA7eE9UViF4Q3l1PXhObVNyQEJsbkkKekpQfHhL
SlVoR355Zm5Oanlnc31ZeWVvVmxkPDErN2ReVVU7ZDtAJGh7MjJUYXtDRF4+MVNBQX0xUyRrfTFR
NyZ6CnoxVDYkfTFRJiFyZ2VaaEdndHJKYTJ3ZXpjMitJaDIyLWs/MWh+JFdAaHtBe3BoYE5aQGgr
Yz9jaCQpRXFofURTUQp6aCFjcUdoe3M0c05KTDFDTkNIVW1OUDAtTk5QYjlCTlV4Qn1rPWw/KGtY
RGg3a2RjdXxreSgrJmtYNGFRaz0+RVEKemtZNkh+QWgjbHFCQ2pLI3FNKU50cVZTLXxxVWZWSXFK
KkhOcGNKOUJwcDJxeXFGa1dqcHdnb1hxcEc0PnAhJVQzCnpxVU5HRHBibiQxcWg2cmxxQXtZMHA9
cU1vcUNHfT9mbVZqcmpXJm4mMTA1Wm0yMy1oVTRJUEZhalEjQHM5cl8zSwp6VyVNJSlKUFp+TFgk
KFVRNH4hVSQwKnAze1heYkQzbjN4UWhfYzhTYC03I1lAM28ken03Y2Z0O0BVYnxzNnRGQz8Kemcw
UnhEWU9xR0pjQ2I7Zz45SGxUamo/XlBRP00oc2hxMXJvcHlEdiNOYUw4fDFtZExRKVo8THk5TzJe
UWFedEd2CnpJXmFnKDdVQX5jZSEpWT1XNUFRYXYlcV9UbXhJQGR3fjd5c1BtMz4mWjtsXnxwTnJw
KHpmT1Fleih9QSNVYHI1NQp6UCloS1RWMj09d2tkSUtDKDM+IXd1JGdkKTIlZDw2TlApPG5EMysq
I1hwLW9oXyU1Knx1X2ZfeTt4Z2g8O3U4YHcKemxLVWk8Qm9RUiNCb2lkKHEqU0NicTt7bjdxX3cy
O2NNJEhkKyk9eVpiPzViKz9tT1NmMipeYXAlKmk2aUQjJktZCno7bUJGWSl5ZShIYkkxcURrTTJf
M21BbVZGX3ZQS3J5V2M1QERERzMoUVkyQmRQOzYxK1E7Smk8RDNkNSNEWmYkPwp6UWJ8KFRRQHg8
LXFTflYtcjxTTW9wdzZRSE5QUilXTlRXcClMUV9zTlBtNHc/Tk5ZdSNNQjcyVE1ATERnT3leSG0K
ek9nQlQxTi1zIW5MIVYwRE9NayteJGVfYXomUVF6bmdeYDMmZnpnKy1tfm9CP2xTeldmZyg7aDlv
RWVFKGtsQnY7Cno3NHMoK0kyTHt1ODx1cElWT0JXU2Qjb19sU0Y5cyFoLV5ZXmolP1glUXx1Vips
SSkpQiNxNyUqTD52en1MTzV6VQp6Yn54IWNeKlE0P2RwV1BVX19eJTRhPUIpP0B3Z1NhTCUxOGI0
fHJJMyV6NHN6Iyg2UCRXcUVebT52O0cxU290aloKelVoe3FDJExDayg1OWphVHpxJSlJJi1Hcn15
KTZNYzBUWTE/ZmhqPSghQUY4b2YqKnRzZ2B8WG5ncW5vVGd6cEt2CnozcyhzNWltOzI9aTQ9KV41
b0h2JDZ3TVZ+Nns4VXw3MFZKXjV+bVYzNXF+NFRCdGIxPER2PlIqYS1hNlQjcl4jSQp6bzA4MHV3
dnJ7MUo1cFJ5dTJSKWZDKF4+dzBuJSpgOzIrMzZoPE5aKDIyVnl5Q1FXOFJtUFhjRXdwZXlnaiRo
N0MKenUxeXxNVVAoUyllb0VvNGcxSkpXIWsoZ2xWdGBfbzV7OG43UWt2NHJMemFpRzQ7eiU+bG9n
Y3xtRkhDR1JVQjFuCnpSUkw4NilrTXwjTX5zaEw5eU97VnNYYkNsU0tDbk1SYCp4JCl4ZygpWTd9
VzRZZjVSeFlSK21nWD9iWE1YayUqfAp6WThQc3M9c2VJIyZ7QCp1KUQ2JWIoN1U0dCkycWAqKjRO
aDAqRlEzbEYtU0k4SHs+QEFHbl9QSEgxYW07R3JuVk4KelpgPSZVaE1HYnZPJVAzVk9vfmh7Tzt0
Xl5PXj9oSiVyZWFPJSUjbSEmQShhUHdAOStzdkp8c1N1LXZvfnZyNGV+CnpWbDhIIVh1Vn00VlV1
Rj45VlFKK2dZRGJPK2gqRkgqczBuVCp4bEljKnExdz9JRzh4cEpLe09vSWQoWndJQyhwYgp6SUl9
djNJV01eZ3lDbDJweGhsRWx5RnVLSC0wSXYzSypNTHlnVVJFbSRGaXJtWFMoTzltJHB9Pkg/RnMl
X247NHAKeiZ2VHptVXM+TmdLTGtIPnpZYyREfEh1QnowZz9lKGZzakQ2ej5YbD1wZUk0PSFFKFdH
QUVRMENkcHMxdjZfT0JnCno3XilONkBafDIzOzN1bjM8KD9MWVZUSE1kT0ApaHVYRmZ4QzI3QzdM
SXEmbkEmI3htYUJLamtfQjJ5d1NxcyppRgp6cXEoREJNQmxfJSNlOXN0N3lDTDZEYjZ1JkdGfkc3
WjMxcUJaXkNNI2EkLSNxUlo+TEtWS093aUZOSDU5R1ppaD4KekJYI007IXh3Y2c+MFpYWXlpQnU2
bkBFPlJGVjcmKWMlRV9jJUhxfU4+LSg/RUdWZithV31kJSt6NEBGYW1zT0xeCnprZSFsKWw7ZkdS
aypsNUNuPHRvOG4xM2ZmR1hKVzt2MCYrfmByRUVUZnheTmZAfWsmY3hNR2p1dHJFa01QbyluXgp6
PiZuPjZ2ZFczZEJpe2s8Smw9aE1afU5WIUxhQ3lvUW4wZURpb1BuTjhveFRDMjIkZnd2c1lfVnlI
dXhGSCZVLXkKei1fYW5fUH5GSlVTa09lPmwtXjkoOU5VN3tAfSVYYSl3bEppJkFJSit5TEowJjJl
ZjBoUUAzLXhPUmVpO3deSHxxCno5QChER1VkaTZwNGBMc2hgaEAlSGB2dj1KMmtzNWo0RHRfRjVB
aEZHZjR1anhXPntkaj92djFgaDdyK2BtUWpoKAp6X09TPEpKPnZARjB+MEN9QmE+UV9wUWo5YG1P
Zmoye3hXU3B5KzdrUWIxQHF7aGQzODhrMjlhTEspI1RAJGg9cy0KemJaQEQ3YE44dHdpcEkrOXNg
PWAtSE1oMFBeKFB5YzghNE5Wbn11SV56QkZ5Z1poaVZ7QE9BeTBeUzZ1ZFZjV1JkCno4OVBpblJs
RTBoMmxzVU0qN3NmYVp3e2g8a3AzdCo8VTh5KmRVVWpLPn5NVD41XitqO2B1MHJsdG9LfiFlRGxL
Vgp6NjhaQVE3NHVjWXdiSiQ2amw8MjJ2I0cxO1BnfiM/dTckRyNMRU03XjBLbjcoMFFecT9mUUkh
S2QtLVB4KDQyO1YKeldrNmFSIVU2ZFBfWF4kXmZmKjRRYVVXPzVjP3g5X2JzNm1oMH0ren1POXxU
QD1NQy1ASzAxTG9wKVhONkBnXnpECno5YUZNWUA/aT1ATmA1TCE+S0t7fCtFS2I0MX5eNzZDVHdQ
T2FPWFE/LURYPjZBTEhvY3RtZXcpal5oZDd3ZEs/MQp6emtpUUswQUp1emE5d0NueEpvMkxHKnJ4
MVR3T3heS0FSK142cD1LfTE1X0NWbkpkezd4anAkVzNRTE5nbHxEWX4KelImRytNUjRzaX1xKmti
MnEqMUNfdUp2QktRbTBiNE8wUD00KHhBZmR5LX5Td0lrZHYwJmF+WlooMHRsciF9OEdUCnojcyhj
bVdKX2JtWVJ+VD07aSV4RzwhdEhWPHI/amxAODBWMSo+bTM7KXJaUGd6KSF7QkppdDNKQX1CVFom
RXU/KQp6JStNRTRWeE5ZRWBHdmJZdndFJXtwJU4oPiNVSVRTTG1yRDRoYVFpYmZTIW54TTNQTE0h
a1d0V0xoUGtYbnNUflUKemhRVFpJKkxJb2laLVRTcHZhQG9rYk5sbGFeQUYjbTZwfE5sN0U2X0Ft
MEZqMW1wXi0jQDs8d3d4VSNhVXB9TXVFCnp5U0FAeHNEN2tqcVZhUm5aMVpCdlRJO3ZBcVluNV4h
WS16NihWaj1XPHshTkpCS2s4MSRfTHdyTW17YkxaK3wpKAp6SVVsX295QkkmNklHV3NfKzZKWDxi
IUs3cV5XNW5DKDg3bnM/eG1qUHsqfT95YEwoVX1xZk4qY2o0aEl7d0JJPHMKejN2RW05REN7Y2pK
PW9fdEFVLSh3KFI9dnYkbklHNTFuWHErd0VRZ2lUPHdEVFYqaiVKRCpvRSFoVUAwJHwyNip7Cnpo
KlhGXyExQDEqdlZ5dmdqKXA7eERUOEgkOWdFWH1gdmFleTA4MDNoWHEqSS1SUWIrUnZOck4jM1JY
JWVSVE9tPAp6JV9RdzFKdklZNUJMZnBQR1lKYmklUEgjJCtlaHtXanZVUz9FPkNVfjl0Qj01SzRR
S3J7PFZBazBfQjI5TGNZU3IKekIydUNaVmtselkjNzg5Uj8mbkN4T05CXiNKK1BOQ2xodXx9a3s0
SXRSLXshVGUyRHo7UlFhcFFvYSlHPDR7OUNpCnpFZ0ZyUWJ6MFRoP3t0Y0ZeWXlheSgrclhmcW05
Q2lMIWR6Pkw4YypRNSQxXiY4SX1jQkAydS09K0YmMVNod1VjcAp6PU4jND96ZE4wfUFoe0J8dkFJ
aW09ejJQT2c/Z3ZAbD0heSNqcnkrejkwa0R6cWRtcTchM2FlUHk/JTF8YlNyRT0KemVCQGQ4XlNY
JVEkayRQRShJR0tqdT99KDhAengycGlMT2IkJClQRWNzZmpQclV1TEhqcm9ZUm1lJTE4NEJYaSkq
CnpXWSR7dFE3JSMqTmpeKH49diRSU1hwd1ZxYTdrUzBvM2lycT02Qyg/Q25ePnp6ZnxwMnBWcipl
QT1QNng1SCNMdAp6cUgxUG5WUWJ9VzZLaHhPKENmN0MzaEdZbURkPXRaRngwb3llPXZ3Sk1EJnFp
bkUjWDEkaXE+TUZgYVMhM0J5VV8KekRkPWFEWF9GYiNTPF5Zd2REOHtjTWVgK19XIzwrRClyaHNV
XzJQfWomQX43OFRpYWhSemhpOVEqPHNrXyp5RyUxCnoxU1IwKyRNUndPKFZPR0k2VD8mQ0dtXjk4
XlJiSX1tKGY/WSpSblVYfDg0Jk5feDFrfkFCe2tpJjwkTXd5V3NqYQp6Q3JjK0VyQCo4WHJMdjw9
ckQ+c0VwfVNfbFd1I19lVlA8QXdXVGpAaSE7WnMmJF9hNCg7TShOPSU9M1lfaEEqRSMKemBDaDFp
aT1kSF5sQ1hkWHR0Z2kwc28xTGNDeUJRRW02QzZ6LWJrbEVOUzI5XzRWTWQrX2Z+TEx2e297SHNI
dj09CnpCQ2RNeDV2TGxuSSlldENDWEUpZ0hsK0BeRX55QG9LQXIpRkEraXl+PSpzdkVkU1leRmRT
TVB7Zm50ZW1NUHlCRwp6TGsobEZXd0dQNT1XKmI3Nm1wVnFtVUJeYWd9T1ByMlliWU9XX2k4JFp1
MSVUbyVqM1plO05vRWdjZ2tQNyZRYX0KellTRmJQPDQtJW4lRU1uaGkrSnU0VkgmOSVCXlhUYGdC
XjFmeUIpVUBLYlA9MWFWcUleQF5zNFEpWHkpYlVRVldzCnpyO2xaZnljJkt6bD08PF5OWS1UYkpn
RGpSXjNEcW8tZU1MSzdFdSY0bHlIPnRsP2ooaXlwdythcGhCa2RMNnViWAp6e1RpYGE7V35rTy1V
aU1fKStVQiNuaWgmeXZOcDFJaVZuST9fQVleTHNVR0VDb2V5U3hfV2htJUw0KGhSO3k9Q14KemUq
R3pIQnp5R0RTaktxak1FcXByKVJXSHYoX1MtOXZvPj1rXkxoJiFpO3RHbm1VVUxsUiRiT1kpe3s1
aFpaPmB5CnorRkpVMEBFdXtCVjI1cyhYSFJWWiFHWWAjKitjMGdpRFF3SWQjQnVJdG1oMERSRnxZ
el99Nz4+TlZvSTw3dUA3bAp6Q20/fTdXaUZeRXc4OD00VkxTbDU3NkglciZfR0I2M2ppS3IwKVZD
djA0RWctITEzfHxhOWxhUj5KSkViPGNBOTIKejAzLWw0enpQVX17Oz9WVzEpUDgmKDVLNz5zKTBV
Vzl7MiU0Z0hTXytBKHt7O05DY3orKGdSdENMeE4rMWRrRmVeCnpGRl5uOUozSn04SmlJU19JczZ2
e0k/eitnTWZpZnEwczNNY05aM2R3TlJgTWEkUkB+KkM/cUp9Q15NKU1zMEU7KAp6Nm98SHM0bi1m
cWN6e3VoJCU2U0JpeDRYczh3TDkqNGtBdUNFKFVIUS1kKCZ4ZDskRGswdiY9KUxMVllAcUJxMD4K
eiNHZ3ApTnpxNylAMksyNEIrRFJ8Qm1aJnQ0VFVucklie0tyN0J3UHU0VUhgPUhTRyp0R1FCempL
RW5pSzhqfWUjCnpCbDkqKEM5NG1jMVVuTUBGaEBHNDRWTkd7SWA8K140UjBLdUpeI2FkSk9VSmdf
KEU5MUkzbVFOKU1BfEM1KXZCcwp6WjYlKmJXbDZVYFNkflNWVzA2LTxmR0l2emRoQFZSYExvSyZC
VF9YbmJ4Vnl7JXxAK25wZShFRWgzSG9xdFEhIy0KeiVSOz9PaWNPY3lOaTglaTxFPSgpQEx7XlBa
fHVIMWgmYVlMWk13Kn43UHc9MmN6TGRRWXg/eTFpVFQkQUAmdnRtCnolcEZxa2chayREYVEwe1U1
ZnFVeHFWWiRtPDhiNFg2N004c3I/OTZzekVuPEklP05yO29CMWowWF52emJlMTZ+Qwp6Z2QlN09S
fmRaeSU9QGEhXy1kRDB3Uil+Yl5ybkBUPmI5XkItN2RCc3haY15tbnR8alkmdGQlJHNXR2t6cllX
OWoKenQ9U2p6N2ZZVGltK1JxUWhgKkw+JWtIaW5nZGNJOSUkPih2SkB+blF7NClRPEtqOzQqSVJC
NDhndXd2XzBBaGVRCnpLcVpKRiVtUkJMVm42e0FmSU5jT0xCYiQ4QVFHP3kyWjV1N2xaQ1RgT01x
Kkgra25UMW14QXx6Rk0/a35waGhyNwp6JFYyIyEkY0dxJklEflc7JHFBX29uSDw+QGM/fFRXbFRn
bDNPO0cjTTFrbSEpTnp0UCo7NHlxTF9BejBZJVVBfGoKelFgcCtyUSNifVZFNFgmSkN3TmNzaVNQ
PnYjMGthLVZUM25Dc2w/cEdMKlZSVmt5aE4lQzQoYT9CUjlOQGRBRjZxCnptNkQkRkdnU24mODEo
X29UVXR9UHlMN1lrPT91bjxiZDJBYXMrb2dYOTxtYSV1Q2tTfWAqNnJ8NV4lMF8pcDV1MAp6U259
VElCaj54fHBURX0kPmEjNE5HfnNsU1l8JTJZV15nfi14UEshPkNOMkVIUTBCMzBxMT1mNG5JZVVm
IzZ6ZloKemZYWFk/bVBhZTxzMlYoKSMjKyhaRWptQituRHh5SihoYkxxKFYmdGgtbHAlKHpGOUM/
VDNaIWJaXlFVKDFNVGA5CnpORkQ4KitGVkZvSj44fX1MX0tyOHYzJngzY2w9RVFKX280PDR+MEFv
OWVWbUdaMWtEPl5Ofm9Fc1F3dUYqeHE9Qgp6Z3BXeUQkcVQ3PUZWNTRWR05AbFFYNm43VSZNd1kx
Jkw9SnlGSEExaEZRcVF+eztzfHZxUlAwMnVNVj8qdiQzQH4KenNueFFidU1fQVI+ZEUtdigwX2xC
Y3haMlVhSE0hRlgyTnNJZGZJeHtjZk1mcCtsdTVgXzlvaHYkRzd6entrX3AyCnpzejt3cndhKnU/
SyNMUkhIaCE3Xnw5JDswezlPTXVLaTl3RyYtTEY4dTc1OzBNaUI5RmhEKEtPaDVISShJeF9ISAp6
QFd0PmUyekw/bUw1eVkma3Mzcn0tWFVIaERJJXBLP0lPent6WEF+ekV0RzBoVnBNPEJSV3hPXjI2
UUkkN1pAbUAKejFib01ZVnZiYHkjT2xHOCFmd1pyIXMpPyVoJnpGMmlub2cmTlB0RH5oTERHX2hz
Y29Wa1R7bHZqYnhEMkBlY2wtCnpNbHdyc0pvMmA/Jko8Sj5wQ30od0BsYjcwcl8qVEFWJGx4Sk1i
YXhYOzQofXpXLX5jMzMkWS13akloMzlnUnUqNgp6QWFoSn1tVF43aEhzJXJMQ0ZNUW1UajF9I1Mx
bkwxXypTUyl4S1UoS2JYbnxOZzZLWktxXj93O2Jpc28kUyRIe0sKemQyQHcwI1JqRG5XbUZZelJz
QmNkWVBJVEhuaU5fKCs2ZytKXmw8Yncze25nfjh7ZEglbX1IblBuQTJMPVQyQCZACnpZI3phflpC
T2h+OWczYU1vRT07eStAI3pxSlE9Oy1fPmxYaWA7IU1gMmVBWktoZShIeEtlWStGZD0/aSQ5ci1S
PQp6RVQlNmBKQU5iNEl+Z00tX2w1WSYqPnR+RzZ0QkQ5SUF2NGpPeShzUT1vaXUjOWhIMTIlWTVm
a3A7SU1MTHNrYkAKenxHamFseHhLWlpKKipTaiZEeyg2QFR2ZEpwekJBdVBuMDhQVzBNbSNRKSR6
V1hDM0Z3N05OYDV0M0s8QW8wVklpCnp6WExuMGQtP31haGFKWmtYOTU/VlNNfDVeP2BGbHpiRWBj
NzIhPDMwS1E3JGRgflUrKGtQYHNsRCpvbz9CS3pqJQp6RGhHNW48Xlo3MHt4NFlrWkRBeEYwN3pn
VSFid0lOQ352I1hfPHlDRkhVSmp8e3lGJTkmO1czXzVPYGUzTyYzNTMKemVnYDU1SzcjMyYoaHhY
ITFWa2ljNmpVXkh1c301cTdeP3lnNH5HRGNoPEpOfDB0bz0wMHw+Wj9jK31qSU5jZGB8CnokVFRo
bEpkZmtFUC12eXp3LWMoNT85dVU+eHJVJms1ZlBKKy1sMW47V01YRkY8RyZ7JEM/cVdYS3RAKGhV
T2BicQp6USVoUzFnazgtb0VVbTA8Vjc2fVY5LWR5X0tFOXoob2AhYCNkbWZSSG4zU0I3YHI+Njtj
MX5feWUhPChxcUtlOUAKej5ZQ2NSYGk3M3F1SWBAUjR9SlprVzgpSyhRPWd9Mm1SREJTKTtCaTRZ
PD1CN187R2wyZH4ka3JlIztqRylUT19xCnp6aXteN19gKEpHZjxyKW5NP2sqaTNqKmZfVWh1ZEdo
fTdJamMjPishcllgdDJKZGFUYnF+ZiNReDEtWVhzX3prKwp6eHNJUl8oZVcrUUA4N2NhbGU2RShT
amd8PD57ckpBI0A4JlUyO2hEdWNzT3ZEO05paVVMSTR4IVc4TmxFclQ8SlEKemVAJHBWNjl7I3Bx
a3x+c1UoKmZQMm4xe2N0YyhReVZXSnxWe19eT3otKjR0WTE0WmEmMkVZSjRVTn5ITVR0RVVpCnpp
ZVNvYSZCST5qJThwPEh7KHBTSS0rY1BOIXxLVFk5YWN5R0AzMT1ke3wmMXhSe09ReGVwZUVgVCls
YWkkTkZwKQp6KHRPNGkmdVVmTCpzXi16UGI+KGRsMSlnNiZLfD9IIzhvIWNqPFlTYlJ0RTgpelpr
WDJMfnY5OUVDczE+PDl1PGAKeiZpb0BJRD11ZT1wU0xnNWA9fSpuV35TfWJDcW42dFpFdHxgKTV4
ViVkfW5SdHF8S0tUOVF3TkZ7YDxTZ2VzNUxKCnpFVmstMkR7SCR9X29aTloqJTdRP3V8TDI/RnVu
UEFVRCE5e3xNdX1ON2Q/SHNpbkpGVnVKMCRISFNSZHVTQj0yeAp6QVpEemI4fS1FYSlQKCNrUmpB
U0JuNnZ7JURsczBMK0puNkx4dTtyTXEtPFMjMEN8R2xHVzcwZ1hfTlUxYkc0O3gKeiUpRkxxUDR3
fU95YXRgKWpCcTg5OElNYU5ESFlufmE1bzN7YiFZIThWWjNWSis5LXp4czRiS3xIUW5ndG1FRUVF
Cno5e2NJajlgMEB7elRNUU5HaDN8JjcyZjA8eilQbH1SWVo5fXd3eyptYCNSWnZePGpEMjRNNCZk
JHJ4Sng+aSU8bQp6Sk15Uk1sNGhnNTg2bXl3JjliOHx0JjlOVmhuOE10UXtDN3U2KHxRQmVsVF5M
T2ttc2wxMUpaZkE7UCMzKlY7P2gKel5yaTd1Tms3blpVQC1kMjV4Pz5ZcFdOWU5pQyMrN0ohNHd1
Sy1NcjkmIzNpWF4+bSRNNUEjNVV2U3ZkfDJTYS1MCnpAaGpyJmBjfkFfd0JoYXNAO2VpMFhNdEFR
eD1QNDRkRDNCMGF2TUFsN1JrMWN0aHdib2dBX2I1OThiNmZlY1lzQQp6ZD1+e3A1fVZSdWVjYVJj
JSVSTUtUTVpzeGBYNk4mPzxYMGhqYyFlc2o9XkApQzFuVjc2eEk8NSliOVR+RjNPdlUKemYzcjtX
Tz9mbUBWcj54JVB2K194JSlHVnctMXM3ZVQxKFRuNShpMTF7TlIyYyRxTVVPbVpEYSVmLUpYayY5
UT4qCno/MUI5RGZheyNMWD1Hay0rbjVLZFIrMUA3eDNQTHNucCVYQmZkZ0diPHAqKjgpOSVBJkF5
SVpTN3g2cSZ6aWBDbAp6b1o5KGRCcmZiVXQpenAlTjBRSk54Q2VQS3lFfjtEXitpVXVDKSo4dl80
O3lhYXJJd3s+azxmTTMxdzlYQWJRbzgKeismen5YSXViK0goSjY4SWxBYU4+OCVJdDx2bGctRV55
bEs8QjJWXmFMIUhrTVNycj92KV91eHJ3WTZLWDhXRUNjCno/ZmwqPW1zdkNQR2lBNWp6cDZXeTJ5
TmpHS3NQaShgbSE7Z29zNUkwZCF8RHxqclI3IylpTzJOPDRkfUM9JUdqMwp6ZmxnQzFuZHFWPkV6
RW1nQzdyKlkkRHxjdmoraVY4M2dQekVyT1gtV1l8dzNibitLeHw5fk9pZG5oejZxbykrNGMKenZ2
X1NjPHMze1oxcWUwSjF0bWVOKEElbnxzempDZ25KKzVXMyFXPjhGI0dkOzZRNWh5WDExP1NtWilZ
fSV2WH5rCnp5dXR9ZWVKbiVwMj1aXlprWiZnY3R3TDB1QitsPk1VYWY1Q1o5RnRsYT00LU1CRGYl
NjU9RFpHQCEzU3A+TkBvYQp6OTJTejspQ3klfSk/Ukc1YiVUUEkoKyoqRmdfUF9uYnNHbW44e3Et
Z1lKQWxhR3U2QXsmTXteRiFCSW0pYE95SloKelZsUCp7bW9MXlRAJSFpdzZ3MkV+P05eUnVwU1pI
fEhKe0NCKVhFPTU5e0U7SmIwa1FOP29NQVZgTSpEbFI+Z0kqCnpoMVRjemRWQTNDWW1MM21aa1Vp
MUs8UDdidEpmZFJtalQhQzU4VWhlcERXbS0xJEFHbUh9cH54c2chc0stSGFARQp6aE5RV1hDbHgp
UiZOTnRhJkEtaCREenMweyRRIzRNcE5ONV5pTGMlb0RKe0B1LSNhJEU7X2B5RSVWTjVlVTtVe34K
em9lRjFCTGdrXklgLSNlc1pTMlNndEZSNHs5cmlVbnZ0O1I8RVIyIzg5I1orRzVGckgzPFJ1QTJR
UH1hVXorUWYjCnpUZkBwTXJ1bH16OzJ6fTFnQ0A2aWIxRVc2U1F8dG1IbjRuYGZfUX5vKyQme2wo
RD8+eyp8dyVBeG5LS3ZYJFBwRAp6Yj8qbXRWaG5VJXZ2eGM4U2Q/dXdjNCZ8MDNFODJSbyM9fXxR
KjZ+MSpxRXstJmYkT2pKQilNcW8yaEBKU25iQ34KekVwUnp0JU5RWWJqfmpoMCtUeElVdWNWSUZp
bT85aCQra3ZTNm1tTlRnaEJ2a15NIXZWWFlxQGJLb2EoYis2dHdpCnpYNiZaRC1wO3YhN3tOQGBq
eCs2S3laKlVoOHlWSip1Qz87cl9iejR6dzdvZ0lvSmQtdXtPX09PbEkhWF9oS3h3cwp6XkJAVCZo
NHRKfkt8UGExQlVEamIrYXBrZXchYlgxZW0zYWghVHFfd1hLNE5nRmlJS3RhMEJGQVY9YzIpSzBT
Q1MKemZXM0JqIyZ0LU9NYzcjSmJ4fWBZS3xSMzA5LU42RSErQl4tKn09Q0xVc1p0aTU5dFlaND9t
PD92RHspQipaY00hCnorQjE/WW9oK1RTRWJgP3xtalkhNXItezspUXx6K2lqWnhleEQhbUJCYFNP
T31vcGw2KFJvYU5sXkt6RnspPldqQAp6QmUhTTBVYWlWO3oxTWhCKFckekNlXig1aClAPHlIKUVS
KE89cWtNWm4pNzthQENLLVNrOVJkPm03MDRUY15ISSMKekNMWEBHSUZ7SXMqZ1ojb1UxZ2NIOHtO
anAqdHt0PEcjLXstQyRTKVZMQztxbWUtckBuSWMwcXNNeFo3R3tNbEV+Cnp6dDZkWDd0byFzS05S
RW1ycWs7MVBHNUZaZntMaEQjOzZOISg3QXwqcndpP3J3PH5TRV9je04ta24weCp6amBIdgp6clNK
RlF2TW1ybGMwdF5OUmR7XkxaQkNiMHcoP3FISk1PN2hiaSRSP1crfWlhUC01UVVuJkg4OXpUe1Rk
d1hqNj0KektaRXdZPTUrfT00bH0oPDN7VHk4K3dBfDx7cyExMXQyX1ZVTCVBKlNOdW5MRyh+Iz9R
aW5xWXROfU0mKHVNPXk9CnojaS1TSHZAbVpNK3Ekdj1sI2Y7LWk1OTg8V35eZUAxKEtoM2k8JlBW
KStNYzZrSiVJM0R6MFpSYi1tJT5zJkpMLQp6MlRiflRoIzZiVSEmKWYzOD1PIzFCaFUreVEjekpZ
U2pRMnp4aWY7LTVYfk13KmRaWntLP3tLPXpaIXRmeWUwdVYKenhURF9PUkJvSntCTyRTI2RlemlR
YTg5fFRHckhUM3hWKDVyVmcyeVRfMHM2O3F2fnhreyV2TnY4JGYoKk91Pmw3CnpFdiZYZDF7OTU0
JUtrckZWSWtsQWQ7SEtjckplPHIrUCRGZyY1NjlUZUVVd0BiUzMwRU9TOHhDYmtNa3okWVlicAp6
LUdZNSpQQWdZM3FzWTMmWH1zQ3pwKDxsfiVoZkV6bn5aUEAwJnVnVDZfPmY+X0dyJGlMWntmY3J9
WS0zNH54Y3YKelN+NDU0alZsZiNyWH5sPEdEakM+ZilGZk1SUFNpQ3VTe0tGUUIyc2k/NW9iX1Mx
c2dMYFJTdiVzX1pNQUhIfDV8CnpAcXU8WlVxeWZTezlLQmFsQE1Ga2ZyNG0pRWVsaW1pallGQlNO
I29lfDhUMVpfZmJmTkszJERHeFNoeTZ7cUpVSAp6ZmEjdTI0fCkqe3gjSntlJGZ0bCtsckJ0VSta
OHhfRjR7OXhPVVo7PDF2dEFMMWxXRGlwRmF1ckBOPStKWDVuRGgKenQ9S2l7bXhlMVQ1aEdQVk14
Z01mVDhlJFlXWCRxZkdGX1VxU3p1PyNEe143TSZTUnI9e0V+TUllYCRsVnN8PSZkCnpMUz57Jj9q
KHVzUF8zQllPdkJTTllHK3lPWmM8cXlqNTNRKStjQ0NpYGRnWSZTLUh2Vm81cEFoNi1uMERNWTlU
IQp6cTsqfTM8O1I0MSg3OGk5c1p6bS0rKzkrLXY3T2k4PUphWVY1RShiNVlySzdCWDwwb1ohOyZ+
QkQqT0FHKFU+eCoKendwZ1goS3UmPV8+JD5AT3hje1gtSzI4UEchJElFSGhEME14cWI7YTJAZ2Fs
RzVKdGNxb31WfHZsdnQ+ZHpMN3NtCnpzP18mPWp4MntwcTVAc250Uz89e005clpCaDAocktQdiYw
cTdpO0NRR1hHTlQ4dnlPS2Z0anZKLXkpfVUpVCZ1Vgp6VklOeG9pXzg5eWApanMrez4/fl96TjZ5
cWdVZG0tTWAwWkFBQjNVPlhBVWpfeGB+ZjdiT2ZOQypWSGNkbTZ0UVIKeiZtYHRMPVI+QkpUYUlf
eDdZKzJwViRibzx4bGJBOEkqbD1NUVlKJnJ4OXYyJGx3X31SbDsrZThkZVRuSnR5VGtsCnolQUBE
TnNhUkoxNjh5ZyllREk0Y1h4P01yYnoreTUpaSlpUUtpPXNiYlZfRHErPDVOMklgcntBOGA1JHh4
YGMkOQp6Jkwkbk52SUN6TihFKj0mU05xN1BXSl5tU2o5Z2F+KEdiPzFheWFpJmZBaShmOSMlM2ol
WChTJChFPCglaTNyPHMKeiFhVF8peDg1aCtvJEtzOWpWTlBBaX5+ezQ9NXlQPFJeMjEkQGkkLTJi
emQwJVckPH5SSCVVZHRCbjk9X1ZXfjdlCnpKLUwqMm03VCUtdENhcEMpdDU2MUJnVSN9KnskWkZv
d3FBQCo3UnA7diFJKGxBN3Y+fHpaVWlgelpTY3N3UHdzNAp6K0xeb29UR2VYRXU5NWwmWlVFOEdj
YURkTnl3aXB8XnZUYUJSP2MxPDZFUjY2eiUxUkstZEVqbE1ueXd5P19wZ1UKejcjTjZfSWBGJmJ7
bFFxRHlwZzx6dj5CSVQ5dEBCJno5QXteWV9lSDczVDxhZyNrdjd9dzJYfSh3Ty1GMTk7I2dBCnpU
dyRDZWN2Rmc9SmZyV2UmeWJqUWNDRHRIT2V+eEgpKm9UM1FgXmc9Y1RySm8zbzVROz9CaHAmWj8m
P0gxcm05Owp6SD9nbktnKUMzLVo3VT5AV3chQFBAejVyXnV2WEN1M0BZPz1eZGRadDw7aVhxT34y
UD1gUW9lWUMyUTV2UE9JaSsKelQwQHw2Q1ZqNnpZMEFENl9SNlZ+S3NaMGYxOUljayReeztzaSRA
Nj5reX1nIXBSVEJ+bzd8Um1xY25eQE8tVktnCnpIamtQPUt1RCU9WHB4c0g7dEtLdldTNEZMUjVt
M096cT4pK1lvclU1MHN+dUNCLVQ0YSNgQnEpbXR6Zj1SVDcoSQp6VTlIJFojOEZyNXAlXypKQ3Ns
TTQ9UER1e0V7cFJTYFV3V2IpNkBDIXBiKStEWEh0X1AwUkRzdkB+NEFGS09gYW8Kenh1RUZZOSFz
XkolNXYmRFZkSE98O3hKSUA9RnFtOE4pT2BQbmhNKjIpeG5RJF9UcVl2aSh8VipxfGtOYG00K0pX
CnpIJTUre1B9XlVvNjczYDVoYUVnfik5RiV7ZiUmbm9HZGZrRzZiT21PTStSVntvcCFFbFJTKUFU
V1h+IXRudkJsJgp6ZT9+PCtWVTRHYSheQW4pQj41PFpQfW9VK2hEZX5aPU5SekhqTXUpUyU9Q0hT
O2pIS1Axe29qdj5fZHEhS1JOXjkKejJEfn1MLXVkJDslWnxVNWxzJkdAWHFpX3EqakNYPVlGYkRH
LTd7bSE8Sz0oZ0F0T3NKJEtwYzA0ZkphIys0TFNpCno0Xkg4QyRoSntIVCh1NylGJWUhYFNgTWV1
U3ZkQWVJZShmI2VDKUkjPjJebU1lPGB8OzNabm80anQ1KGM3eTYzdQp6KEUxam1Wc3A1fnNHY1hN
Kl4hNXRwczBmd1JhXzJ3ditPNntSel5EYmk9YT8pKDw1QFh6SX5wbmRGITN8RjlveUwKemk/YjdR
XzFGR2FWKmMxU2ZVZFclczlWeGwzbzliPXd4LXRIN3Z0P2x5Tmd0eDw0NEp8aXcmaVJkN3VGYFFF
PU0tCnpYWUU4bWU9YmYwQ3pLeUhMKDBLSHI8P3M7c2ooaWRzRTl9SmA0UypSSGBQSUw1QT5kK0w/
eSpiSVMwQC0kVFZqTgp6QCl7fSRGaGkhejZMaS11eUg9d2hKRlJ5dlZhS2R8ZC08dHVIN2xGITBx
ZURjYWt2THZiMW9hM2JWJGZIP1RGQ0sKelJKJHtgbyklOHM1PjN+S1l8Wl8/QTdfUSFwfnFockZG
d3haVCFveE55ZVpqb208bV5yb0Q/VkNFMlZfa0VrcU02CnpAKlV+Plh7V00mUSgtT2B4SFRPMSUm
I2JaQHdXYyV6MCVzcHJDPm9hJG0taGdjcjxySjk1UztYKlk3TmVqTm5kNwp6czJ9bEc8eHhWJC1M
JmJLSSQ0VSUleGF+Q09iVUVzST83XnFVfCtgY2BHIzlXTm11MGtiKFV3OVAwXmtrY15jQkoKenAx
MmlZKXk7S0ZPN01pWnkoPCo2ZHNgazhpMDNfYWpvYSlEWWx0M0ImViNOKTJrbTdyUFJaIU14TWJM
eUN6RFhXCnpTZTZ5PERjYDtVdW12a2ZrSlpwZGdQT3d8YDhRSW82WHQjOS1Le1RBdTkhckwlOW5l
fGJsVExQelNHKighRGVeKAp6Rnh4RCRKKjAzXllKQXowNU9mRlJ1O3UlO2BgPX5zdWRlNG1UU25x
ZiNFVkspQCQ2RXIkdipBITRga0p8KTNWe20Kekh9fDFFazBUP1NkLUBURHZ+USo2K2dmWE1Bbld6
eTZuXktWdDdHLShrQngybjs8PE5jbTA+TFkpbn5IekV6TVMxCnpjd0BjdWdePClWTkxycz1lZGdS
MSVnbWxYc2pqTk83Iz9ZRHBKfTBVWCg2TTFIRjx9IXNob1peTnh3O0JiVHIpLQp6SF5fMXpaQWQx
ayZtJnM8aHY1V0F3Y3FpKSpqeT4/ZnhPfE4pfD4pYjRxNlQpOGM7SUJSSzhwXlFKfGUkR350eiQK
ej9yYEdkOFQ0cmY5ek1MP3Z+WCFKP29valgzd09rYkVWczQtTTt+MXIyOztwUnxFKCpVQEhuVT1t
WlVZSk4hKCNxCnojcCFVRTEydnRrTjBhclVVYmlPRGRaeFhfJSF9Qyg5cyh1TihPNFNCUShqaVop
d2VeQD9UVzVnQ1lFUz1lQ3BBJgp6aiZjN2kyfHMjU1ZHSFdGSlZtVFRKKFEjRWJpI1hMKXpxTGck
cUQ4Njd7N0twUnxDenV0e0MqdmtTeG1NP195c34KeipSS3duenh0SzNiaH49MHVjeD1OWEQlRlNJ
dUJ0RWE/Y3Jqc09WLTFteTtzWikzeEE8WiUxJU5EUCtDeTx4d2BXCno0O29IWmJiWFMrUCU7QFVI
VV41JCVSZF5UTUU+KHxCbHpJYz12OUl9dWtlS3grVnFSJlB4PyUoJCp1KUZhbnQ/MQp6P0dudDA1
cnU4YHZFanZ5cntPREdPLTN1c0l8PHIkPSQ8d3VhZnd5M1Q8RjFDQDt2YyVZbVRJNzNUV0lOSXtU
ezYKem8xajtYPUBSQ3dwWXBzcmh0S2tFMDRNJX0xUzhkeC03a3F0QSQjOUttZm53X3huViVyNil6
VHFDOUQ7MGZUXzJBCnpoM3c2XzF5Jk87SztieSt5SGZuRTtfKndsME55PzY5JWxBTlo9T1NObzlY
Kkxta2YhRTheJDUkSHRFZz9Ta2JKIwp6cENjaFh3ZHQ1JTIhIz1VYGxAZH48bUJjIXlCYVNYSUBY
R1MrbTF7WEI4aFA0VnpKWUF6NGJZdGg/d2lSZ0hsfjUKeiFQPDljI1JpTH5BQTFxcWcwWGw2JWZE
ZUczQVNFSDB8IXdMVG01Nz5wdSZFZm14JEI4ZkBoZzRDdTc2NlNjTSRMCnp6NWNDUClSQEhNbC05
Oylsaj1eX3Qqaz9PdC1rITZtVWkxQ0dLM2VWbXd6fSReay1wMDw9Q2VhdEI5a0FrQyopZgp6RVN0
dSlqTHFPTlF8aFRNK2hReSVMRXd5RjR1ekVUWHhtKD9eMyEyc3Nxc30hSkImPkpHVDdpUXAlKUgx
Y2dOY2cKejEzMFdwKE93MkVgJFhrI3JNNUU0LUQ1fSZrPTZHZjVvKmIwelhkRTNkKzlPflBqe240
T3xNY0BaVUMkMCNhJW13CnpYNm5rb2EhWEtQI0tUVntLSDBWSDl5TFp9NT9aPDMwQV84OUpXNk5a
YzJUeWlOakwtYjdwe2wmM1BtaEhYfU9GRAp6cy1eeDF3JEFeITZwY3NydGI1UzJ6QTMrMTZoVCtr
aWw9Rl9MVW90ZFRxMCtSeUliTyE4MjZHfGxEN0x4eG18ZVcKenBzZVooXitEJUYwKmQpTigqPGpq
O3E5bGRtVWokIyQrO3Qhe2loVlFSdmomeT13Mi1nRXx5cCU4Znt6V05YUnBSCnoyYU1MTU5jJXpJ
K0ozIy07fF5xZjRGSm9JbjdaPHQzfW9aZU19fU1nIzVmJGZBZnk1ZEFBSU0mfDU/WGRuVzQ0cwp6
dFRnbEc0SXBSOz5tV0A8K3BIX1FKRzQzZyNUR3l7dSRtbD1nYjkkY0RzdUdpISM7eXYhPWRWbmVe
eHZGejQ4KSYKejNWXmlRPGg0PV9aWW93MiR3VyRGbVNIbWpeVkoqdkByXmNMaWIkVipfJjheUSN+
UkRrYD5BY1kkZWYjfWlZbmN5CnpGUihkUEN1P1Z+N2pye1lHVHBSN0coU19FcmZDJkx0fHw5Pip8
Q0QtPj9yZlM4SEx3YGA+b3hkelVxQVBIZGpyeQp6Mjx3aWpsfGVCKmV5eiNpeG81OEs3RG1lPDM2
eSVYRUFmcFA0JCpnYU1ZQzFCX3d1NURgNyVhe1RRb3RIRS1qKXAKenZAWWAqPiEjaS0hPTlEe1V5
YyFkYFU4VSN1Sz85XjtsMFN0aHBvWmhzPm1IQHA2fk4wZVR9VHVSbnkhOEQ7KWJTCnp4en1VKlp0
Wkh3eCV9XytXKzFjdlYqMyk4Rz1XVWo8OVlWXzFKfCkkSndZemlxPmhCP1liS092SmY3UlRQJmE4
bAp6MGpeI2JDej02KnFQdXJkRUc8cHJgc0VPQ0toVSVhZSo0LVFAfHJ0OUxuUjB1TjxOKDVMb3dm
SDEhRiVrM0MoIUMKelBOVzViWl42WHRia2BTNHNsLT1NVCgoR2pQRVV0XjNpWD16aGNGfGJ2SUJg
QnJ5Mk9BKDd9cUNLJD47VVQ/NEZTCnpRN1BAbzxWQVdWJDJvY3FKdXhVPHFHejs3eGQmKHRwOE1Z
Ykc9SnBUS2xZITE5aEU9N1coR1pieWpUTHxXMD01YQp6VTh8V3tKNC1VeSomMnpKTXNvdksmbCts
Y3l6I2dGJFI2ZV84OzNWRDg0RilXOHR+OUVTcih+O0VRS1ZSNVZIM3EKem9gb1NnMlRHTjFsI3xz
cFlpNzcmQFEmVX5tZkppd0tSQ0BDRDYmM3B6WXhFfmVvWWFyaWRTaSlIP0NkfnJXfXd5CnpsY3pR
TnZPcTtkZ3Q7fEwlXm49OUd0ZjxiXmU+SDcpISNrZEQ0QWhaPFMkVW53SEBfTCh1Vzx9Uy1HejYz
SG0kVQp6JDtUIX02IXhINVdvcCpVcHw/dT1KX2dJb25oYEl5RWB4YkNHPjFCZD9DezQ2QShaKFJK
SjJDJUIlM0NOQSFzTjIKejd3JjJGRnowPmNUKCg8JSM/TEgwVGhDSF93YFVIPUV5VnYqUUJMOXkw
UGVDWXcmPmVNTDVOXn1OPkgqaSo8RlVKCnp2fkJ2PHpBc2FXSDc2M0EmQEpTcDluTVppby1QWVFD
bD42SkIhPXNHWDUrPTwhI21FJitxKkpWXkBheEV6STZVJAp6QUxvQlR6VyYqbUh+MnBvQVMlKk4k
dXJOQDlWKWNkVX5qSCYqaURmOGZ+KyFecGJCNmwkT0N3YCt4fURnb2p2SFoKemEhY1FjUDBURlFF
KzkjR250Vz1UUjl1fS1yZDNoaitkb2tHeDAzOSR2cWlFTHpFR0pQa1N7cFNKJSQkN0p7WD81CnpN
Qm1GSFVnMEQpNnx9PTFFYlJOQ291UlkkckR5Si1JWmFpSXFeNU0zc2kxeChrYTNeekIqTFJPK1Up
R2JPV2tLVgp6UiYmJShAWU1PKylTZT1qQSp0dmREN3ppMUt8OCNnd0N0NShFOEtYbDhSLXRxdndv
Rz1rcTdwZmgpR0xLPm58UFgKelJofX12bUUhKHNNKkM4TSh3QWA8XjUwSEF7I2o4KEhCR2FGPDwh
OzJYUXdiPSNYS295VyZVN0U4ejtHajN3NkV9CnotRkZ3fioheGJiJTJJdlJQQD9rfFdzWiYlQCZX
QSk+aXMjY2RyYD48JCUzYT0mR15maVFOJGUtRzx2JnRRJmskRgp6M30xa3VEaTRLd0F2fGkwJWc/
MFI7RkpUQ214RzkjNjdOTl5EdnE8dkBVeyQ4d1d4WXNtWXp9ZS0yaDZ2QFQpNz4Kemh+d3FLY3wk
S3VJbmByWG4ofDlgTjJZNShSIThWSiNEfj4xMVVaNVZ7d2c9PEBqbjdIe3puRD5LTnRuYmU9S1lT
CnpwU3F2PG9PLVZ5LTA+KSEjWnFTNEYqPGZaPCZ0TEFIM2hnRmduVnI0YXhaX3YkO3JXdy1uWTk7
SXJ3QCpDcnpofgp6PzZzNiQzOzxaWDRtTjhSU2xOdXMrODIxMUdOcWJxXj0/ZUY4JEFvN0xqSUpl
O25rWn1EeUg/TT97ZnYxI3YwSWAKelljfXU8cz5nUWt2eWJzcHZUblVDPTcyKWFNVlhkfVoqRXU5
PWZ2SzN1WENMMy1Sd1dVcz5FPkJWKVRHJTZmX0kjCnplfD9vSEk7SyFLa1gtSV4+KlhJKlVYY0dp
eGJkSFBjRH1oWjk3U2UwVmokViNBPmdaP0VmWlgxSlBzN0wzN00wVQp6PjJBWCNAK2ple1IhKGhC
ZyZoc1ZWdHp+VVU0SmB3b0RqeWB3KHh8fHkkPl9gaXtkNmkpUzRVQUFKJmlAUSpNcngKem1wQG9i
Rz08KEdncjlYKzxOIXEhJDV8MnEyY2BWbTRTP2ReZFpFTDE5eiZ5M0RtJFE0bDY0Rm5Tb1Mrfnhh
ZDlnCnpJYjdUbXhsJiRQSmM/djN1dHlUQlhKd1VyV216ZkAlVH5YcHlWdHgpUW1rUiQycUtXKjNp
ZmUrcl41Y1B1cUVVVgp6I0VIcnxQUm16YF9zWVkmbzghQiQzcE9PdEV0OSQpMmw9b2hfWVM1ZmFT
bWNfVjE3XyU5cCZVP0tmRGtFPHpec2MKek1qJWI2VHx9Sj1scERHd3RZRTdhVHV8JjdfTXkrcGo+
NmUhSlZDTGBvTnZwWlMjPzlDXkI7dXQ5Q1VlPDR+WGlsCnpRaHFscXw5YX05LSl1emUtTWcpSFh6
WH4hN0chcFgoUyZhMyh9VGBDI0p0R2F1SjZ8MVMqVVNzR308eklAazlVTwp6e1d7RG96dXAjdnI9
dyN9WmNwTz51bWRJNUZGXyNgK30+cW0/V3FPYUxtUjRBWXd1Wj5raTNKfXJJSW1MY1lAbSsKelFi
XjhMXjFAKUhgN3RYQ3ZKdHYzZ29XYCtOKCFpeFZrRDh7V0NEb01UPC1lRUApbz4hSDJIQjlJei0k
NitSQWQpCnpwRHI3RnB5O2w8SUNWO2RvdXB3ZyswODtUKkI/dFgpP1FVTFhMZ208WFJuaExYWGQh
OyZAV3tZOGt9fV4/JTlzYAp6UzhgQXtEQ2JFVHZKXlZrdm5MQjdzO0t0TWBoMitTNWFoTVFKPGsy
WSMleW5OPEg7IU9qUTg1TEU7aFVwQmJASXgKelNWY2drbk4oMVBHYmdoME5ZKHc9Y0Yzazlmfmw7
c2B8bGFtenZiQjwyTnx7UE9GUyNfWFYwRnFCT1pNN0FYa1IkCnotV1hwT1VWSXJtYFRNKWgmT0Up
cmNBM054SWJrXyR2TlZjWjVle0lHaG9gVUpKPU4lO19sS143SEhuNEJCfXZwSQp6VSlQeU09JGlG
YlpVQ31OdnZgQkBQX2BKMF5udXM9P2RwVU93c19uREJzUmp+ZDF8UjY0M3s3TCNeY3FqK3M1WSgK
ek82bzdtSTJfNlI2Q343cUoobURNenkkbX4wWXVhOFIzb1lgdHQ9cEl5bSExSVc8KWh0ZHRnZD9H
MlF4Iz1vRUxFCnoxR19UQHRKOFViOyR6WHRIKVozb1FvOCFKYSUlP3liTjVVLWF9VTMjQW5NQiYq
enQ+UnwzfT9AVj9pWFQ7SG0kOAp6NUpfVT1taklDQG1UWDRNVE8+KGJiRlJJYDxsY0tuI203K1Zz
ZzB8RT0pRlluSTVFTS1UelRCbGVfcCRqPD1XZ3oKekA2Q3M0UFJSXndiTXA1ZUZuWlp8dVNsMHRO
cGpjWSU8PmpBY1RmNXlCJVRNJkYzNnExRjc3dkJ4TV5OMF9IN3hKCno+M2lwdmB7fkloPnh9bCVF
Mj5eTVBhQ2B9KlN8SGdAODE5e3xFbClKeyh9SWFeN3cwQj97PCRObV4mRzxJVl9KaQp6dzttJkY9
UH1EQWVpLWlLWUwhb31QPXJFK2l9SjJ2NWBpYjghZWk0N1dqVVM7JTVTTCtVfCRhJD1xellYSSlR
WiUKekp2b2hOZWNqfStpZnllVGdoY3Z7UmswdnBmJXxPZHZVR20tTzVgZkQxdiRXdVBAfTc0TXRv
Zz4jb09aaTxCKD15CnomNF85T3JodCNvIWJqQUsyJlZGbCZAMFF8dlMkQTJHR0Z+a1J9YDk8UzZH
IXooTWpUSzN+NHFgO3ZfKW1JcU1sRQp6UGwhdHN2bHdlaWNFZFp0ez84OHxhTy0tKCtWZUJoeXlS
bExOVV9qRzJEbk1aRXdPd0ZtemgrPVJfVnJ8Wlg8YGoKem5jMDhtU1ZZQHlRfXl2UjdtUD8xODds
bDN1V0N7VkVqT2UpRklFVUsjPXRpXmNRc0gyZmRBNVB5fWlzcW9BY1Z6Cnp5JUo2VFVNYztJKHUj
NUZncUplIXdPZjxAVU9DekZDVythcEltdVpMQHttZjx1JWlDaD5qNDg4VXpMVj5nYWhtQwp6TmFh
Wnx7bkxaK1VvZFRuS09sKGM/TTUxempZVkJ1eWpjVzIkSWNveyhjMztOIyRhR0FRQztWJHp1a1cx
bWFuVX4KemUlREhYQkZfbUhJOykmaEJZPEgtJHlkejBjS0lmeG01YTgwI3JgQD5EUD5+Tlprc1RC
bW9abW89JkZDJEF+MUhECnpHaSpBUiFvP1ctPkF9UlZjNHsrNlR6Kysten1TMyoxN3xnPmpJcH0+
cDNeQEp6RnhKLVpWaCRBMj1NbzAkPitzcQp6e3BlNzB4d3RqJHUxfFglRGAqfmV1dFZBSkpXWmpZ
bnVzbGhgLUZDZVRVKkRrPUVVSX0hPm1LaT9WaXAlfEV+PH4Kei0+Yl91eTxpQUNpR3huSnJpeFYr
QH5ILVVIZCpqdzs3R1JMTWQ9Uk1UJGFHc0pGUyV0KXZ0dGQ0KXpiQW5yc3VpCnpiXmFpSyo+aiY+
VVhabGdBS0FFZiYjUStzJVAjV0dKbyZXa1hmflZAQ0NlJVR3SDdJNTZDSkl5I0ZHPz1iQ0JMJQp6
WS1EU044PzxuUi1qPV40KH5gNXx2Ykopb2JZVWlsPTt+ZSo5dkZZOyZBPDg1Znh8dSFxVWNpZEJk
MXc2JFJ7XmgKenA1MTY9NzFMXyR7MX13MkA0VDFYZX4qaVFeejA5U2xIZUpRQ2NwY088UWpne2sy
aUkpJX1PYGhHMUdtanJTXjYzCnpKfUglM0EzVTh1YzhQNm0rRDQmQUBuWCVeJk5fQFRMMjVJKlko
LXYrTTJsNEw1dXpWdVBiKjEmO29FfHpCYFBMawp6bVltS0AjY1ppJCZPbmQrS2A3NV94an1pPmdB
amp+Kjd6bmZQfDxDUjRxT09ldlgwfndsdzZNOyMmJEhGeV8mSlAKejBVVE9GdTJJRENtZ1R6akA8
aHlDdylrRl5xbWhqbnN9JF9obXY/T0NDdVEkfHAyX0wqKW8odD5fYE9PanBtNDlVCnoyWW4/SUUw
LTgrYDBaOXYrJm1ISGtJO0RYXnlkIVU2TTwkYlVTV2JqKVZaWlU/VUV7Q1pEXkFXUj5fQV5nTmlC
dgp6Pyk+Pi1ecmNzZzthVm1vTlYxLSpSUU9Qant9by1UXms9eXBpanE5X2E/WnQoRCQ5K1EhNF5C
WWpyMCt8cGlxZzIKenU/VXBGZShydktmUWFTa2ZeQVl3Nj1UckM9JDR9JUtORzlMXmhZcXtsRSkl
Uk8oeVZsNURsb2ZlXis9djwtWjZLCnpsQGI0anNBdng7dyFpRnQ8WXtqZ3doTTBlKUJHPiYxVm8p
dzx9YzsjTz4+dHJsVz8qJCpVRDVrI1RvWDRqKX5OLQp6cURxWlJTRnQlYVFtLTBiemprbiFDPTdm
cWp2fDVVSiZKeDtISiE3PWItY1ZmdWxVJEteQ309b0tWZm1ZI31oVzQKeiFTP3E7KCtZMXgpMj1U
eTNQQHo2KEU0bD1yYT4yO25kdFk1I2MhPWdjdHFUO2RNQlZ9PSNzZ31hSHA9T1F9LTxUCnpoYlo3
YiFieUluYHZMTCFqNURDUXg7YF5IYSUzPXN0eXcrc295YDY/cTJ6ZlY8byQjSjQ1MWpLNyRkNVhy
bG01Wgp6RjF0KVJaTEZ0clh+d1J9X3kqdV9fQFJfX1N7dTg3dnZldTlHXmRJXnJKeiRRTSFNeSM2
JDdISlJoQWA7U0FCfDsKem9fMkBBNW5YIT1eLWUzd1NpXj9aV2E+THktOWpTZGN4NWxDLVFLcXdG
MlA1fHVzWElqSURieWxqb3w4MU9KMWYrCnozbURUOy1IMUs9SlhCRil0UVMrN3ZidDVMb3lSUVk7
QDlLaSRQQFdQbkdmOGdPTlR7Jms4QVFUMFpLIVl7MDNzIQp6Tih+ZGN2LVUqc1JrMHJzLTtlMEgw
Rn5xe1FCbSpWRG9nYlYzajBmU1lgWDYpVEdVel8hXjEhOFMlSEJecEtnV2YKemlyZihze3B5fHk5
TlNnIz5ybTFybE5wTUwyRiVFfWpUMmc8aEVMNT5hdFEtYmAoTDhZNnU/TlpMckNEbldsTE19Cno+
ezJQe3Jaflp+LXMrdW9IdkdgezBDPzYqRVB7amg1aEI+UEB0KmI2RGJ+QnA9aHtKMy1EI1RCNlRN
MFklRS1RMAp6VEspYjhrY1BfTTA3eTM4NCg7Q2xYKXNZa0ZnRDNwYWJfWjZRZWJqRnp4aExSbnVA
bEhHNi1adGkyeyMqc3xAfEMKejxAe3BYcChPV0dpITsjfGdpQnYlNUFHIXAqZitHblpfdjVXbCtG
MmZ3Uns1bGg5ezJCVDB6aUJYZ3xXY3d7eSNkCnp4JSg+ckdzayVIZlN9cypgLVl8I1lxM2N7ZHkp
bCo+ZnV5fnp4bnB0cmZAPHxVKlJ6QHZAUTBrdkVqaFU2OHwjYwp6Sm17MllQeHJIVFl+dDl9Z249
fChmPktLVXJ7Y3xSOyhBNiltQElxRVNKKXpXMChYVEZeeiFsbGZESFgzMW5GTnYKemo+PSFRMiVM
N1cqRmxsPSRtT3Q4I2EyVndEJnpFTVhySG5XNmxYU302TW9VJG9FM0ZnREdvd0Q0R2hxU3JkYlcl
CnpFM0E2dzdwQmNiaFVsRHdAY3pTQFdVbkNkR0hIST0xYEdAKWZtdFI7SHJCSFo0IVlfK1VyWD96
bl84eWUrbUReIwp6RHlIaWdTYlNTOSFRXj9BYyFfXillbm9sPz9AZCUkdkp5eVRPPmhIREAwRio3
ei1CeGVoUXh+IVg2MUpLX3tRP2IKekIwIWJEb151dWNrSlMxZmBoNTJxakwqS2p5TWo9Y3c5JkIo
IyVDKjtLNihlblhTPEZaJG5gNnpfajRLMDI0Xj44Cno2IVVnamVzMXZve3hoenZZfWs2dWV+TSU7
TVgjSGJmaWU2P2cjVzRVekhgRiNecFI/QV9CSztYRygldlZubGFAKwp6NChyX155anQjamN9eXVa
UC1yQz5rWUJDUyVLRDlYQlhoQTs8SnpUM1Z7ZXNiTnJrQzx1TG9CMHJHRiYzcSk3NGAKelREPC1p
KUFZPkYkOT1+d1B7QTI1cE1DaSE1dkFYYzl2d2c8MU5tLSVDcjtBQmo8NEwtWkVIXzg0YCVUP2t5
T3JuCnokKnN1PCk+UlpOZyowTHIjWGRTdXRINzArTXREWE1VZTEwPVA0fWhVXzdfPGE5Zzh9Uk1E
NWZRYjwlSDJhd15Tawp6OERGPW5DWHFjelJBXishX21tNnUqVnFzQkY2ZEg0WSVKY0l1QGsrUUN2
fn5EcWA8SWI7T3ElYTNYT2lPMCR+KWwKejFXI0I9R2Q0YSk0ZDJ6RmpQU35zVTtMN3Fwc215Z1RH
TXMtcCojekMlYUBGcD5wMUlLO1VOKkRRLTF2X2k/KihnCnp0XnQrfD1lSntKZFgpNyQqNGpUPmkr
fUdxUXA/bFFNUTw7aW4jcm9zPzNJWn5qLSRDO0V8Jmh6aykkfGgkO31XZgp6bCM0flYzSHpmVmp3
empZNHhmeUFEajJEZmhxV0FYZ1pvYGVjJTBpSkY4OWo9UG5sTyQteTJJajx5VSVEYjBUTyoKeiQ9
I3h2ayhveG44WT5fS3lkdygoKmU8ViFtbGxhallQbyFqOE1PMkN3eCg0SnRgVkIySFV+YWtxbn5A
OFFnU2RhCnpLaWR6flApYTkjdG9uKzZSfjZmQCYhK2xWeCM3N09mc3VqalhwcWAxdFpmPzxWZnMl
RiZoUHcxOGVIfUlkUH1DWQp6Knd5TnB2d2BkbiNaeUxHUyM8NjtnYmNfaGpIJmoyNmNTeGA+QVc4
KmB+Rm44ZDtHYlVSWkUqVDYlcjxhUGFsaEcKejw3V3FDR0E/SSUzNFdifUBAUEAkKFYlVWdeWFN6
KXFtUiNVWkxhcH4oc2BTZypMP3d5Q0xCRT9OcFowdSpiUHYlCnpPODlvKzxTRHwqbWJKZChSbHRZ
I3tRNU56MX1YMVVKcncqc0QqYSFyIT1oYElIZSY8Kzs+OyVSZDF5YCtPTWt5Qgp6c3Iodl80fXp3
cU1wVC1ZTEEtaX5IOEU7Jkw1YHxiWX52O0JPNyh0aHhhcWA4QjlXKXlGVio8d3N+SH5SKkUpYWMK
eio5enxJYEVDKHNfcjUkKns1SiZjUigtcDA+VTNuK0o2NX1zNEJhaWZzUWVLPzU1XyNPYGBXb3ok
ejVJcnUhYGFiCnpsRGprO2EkcGcpdHZLbW13PkE9OGVicW44PE1nbmQ0U2tae2xxTGZ6QEhkbyQl
bTBNPHtHUkJjR048bT40MyZFKwp6O297WmFFIUw/fEJYSFg5PW92MFEhYXZKXmxMflFtaVAmT1kt
SGo2R05IXlJrTk1vLW1KO3IyakRoLVkrY2RmQDAKekxleU1XO0VxfnpSP09mWT9tUHxjanttXihl
OHVEakBaPEVQVChSQD5qRl90YS1qTWxlUUMxYzR0OU40MHhORmg9Cno0UGMmZ0YoPSYhWkghY2s9
ZFVXZG10OFVqe2AxeWw+IWJ4Xkx0RW0rI1JaOSVWdVImOzwtcjE/UGIkZClwaWQwdwp6KjNPUSZ6
TUhXd0JzNFZOSmJlUjVSV1llJkRlfkVMJWk9MX5CX305N05ZSk5DY0BDUHxFWHE+PDskYSF3QDIl
Z2AKemRAOGFeRnkrcXckdVdsMHtseTRgVU19NCEwakRVNmF5fVRoUE5HOHo/PXZOfSZPWip2b3Bu
WWdRbGM4bGlieEZYCnpIfnYwIzApXkB9PmxqVUcyVDI2YmB4RURePXBhdF5Hc15AeFg2fHd3SThH
SzRUIThgYURZKnVyRXpoZjJqYWU0bwp6NU5PJG4zPE9BaE04NlJES34qMmtATykycEVlPVR8MVZX
ME9NT3deJSlyWj5TcTdtQlEkOXdII19YKyU7bDVaeT8KenFnR35NI2U5PnxkYERtKUMlOVdfayVH
NDRaKnVWe3w3bm1aMjl7TTVyV0U7e2gkJmxyWEdmfjJDQFJJdzheQldGCnolY0R6UD1wSEx6P3Zw
fj57Km98WElkc2lAK1YwUTNKUVhyTyYzeytIbWBwdlo8dnRmKHFCQ24lYzVUMXAkQWJhewp6X31H
WVZyVGV1Sld1bTRsczdKNnNUXis4T3s3LXI4NkVFSl82QWgzal5mR1FSbEFCO0R3bSFSKlRpTUxx
NyVmKTUKei1rfHN7Q09tTmN8OCNmVlFCN3MqSC1hT2VEMmY2aUM1KFV8cTR6ZHFsbVFGflFBJEZP
amlOe3cyKnVEKjBZTzdrCnpkVyM0Y3FCUUE5N287ZTQ0ODFwaiY7eHw8RjdzUCZ0JER2Xm4+V3N6
blV9d14/b0NjXiZPUFYqek8mRVhgd248KQp6OHJfMFVmdXsmVnA8YzI+QzFfPmk5Z3RuRUcyVkAr
P1V+O2xyeHpDUCswcUlsIWNHRWwlTGpAQiFxPFB6RCZiPjgKemtTUkB0aiRDIzF4LXlzN2h4NS1t
NDlCRUVYUVFLKSN7IVI9JkIqI0RZJCkpNmFnZ1FJKX0+SytuSUUtPFFhcCEpCnpyRnpqOGpEODxF
MWY7XyRiO3Z4aFZuQWNURU0oVVghP1VTS3ZsI2xLP1lgLW45NjU7I0BhRStCND89S2JZOWA0Zgp6
UkhmTThVNmh9P2dlfihMPyhHKVkwUyQ/YFQ5Sm9XJFJ3cExyWFJ3PTt9LSFNU0dgdHJGM1Blelps
ZD5HUzh5ZUEKej9wUUJvTiRWKjlkOU89Uj1EKVV6e0gtN29WR3A/bk5aQ2RpZnpxVzNGV0Q0cTdE
T3RwYEdpTkcrRCtMITshNWlECnpMWDw1cUFYZkF+SU9QXlF7PGJnclZLbD8qZnc5MSFVTFUrYWV8
QjsmPEpjbDwtKUUpdHMxUn52eV9vMUw7cF90dAp6Z0olV3ZETHAkTjhrP0FvSURHaG1jWEV0eE5I
N3t9WTd3VjlRRlh+O1VjaWNkTF54ZyM/Z0VwIUlKY25hblZsdkoKejQzQEZIP2FaKDNmansoZnRB
djJXVSNkI2U2THg5TjxKWFpKJFlxV3Jzdyg+JGNkTj9kPExkTzVAKXlKVFFfRjlMCnpEQXRiNFp5
RSkkNUhHa2IqPEBqfnQ9bUV0a05QWkNORGNSKTRxNj40S2U2YW81Zmlje2IkPm9HMSk/ZVBCJlJe
egp6NDRpJXA4UkkxZ0tyUHVkNjlYI35KRH5HUkx5dlF0RXpWWSFNdWt7Uys8d0x9QT5iNH1CK2ZE
O3ZwdFRUQWJXTXQKellLZDJ1Ul5PT2l2Z3VPRjBHOXZOcXgxQzVXYXdRLUZQVjZhPW44SUFMTE5k
IzUoUzckQkU0ZFB6QTBCN2BgQkZnCnp8SHBuQ149TD9pN2hSeyFITjBNUWNZP1piaSMyJXZ4TV5s
e3h+JFUrNjE/Zm1sYElEaVVWb1dwKHVPUFo2RDFaMQp6cCFlOUVVbypGQUMlR3xMZFI8SHlGN2cp
MFh1Q19gcl5pUFBBfnd+OW1MakdpdGFpYjApTExPdEI2blZkT0hORloKem9RO0x+Xz8/emAzQjdT
YmxPISNLamItRShBZEBhck9HTEl4b2hUMEQpc1hYYUhRYEBFcHppSH1HIW9nKz9sQn59CnoxREQ3
czV3fTQ0X2Y2Zi1hb3heMD0zQVpZNVR5bGtwMVVsTlN7MklndCVBUFFfckpXK3ZMT0VuZytGcVY+
bmtYewp6ckQjYXFFTH0qbik7LUtQNjczRnV4dlJ5RShXNlhuLVg/PlU3ZnhqfnlneDY3ViZGRHo2
dE9ydm0kfSY8O2ZDbHcKejhldURGdzlOI04wYWhpYmlvbU1taX0/JXU4O35NRU5CbGp4I0dWWnU/
M29ARlRpcVdFO3AzWS01PXR8fnFSV19XCnpyQCM/KDdKRHwtbFRjNE1FKmd7MGJsYG9kJFY2KF5e
NU5xKjNtV01yX0IhKjVfSWJUfUdXNnI/dyNIUlQ8RVRCYAp6KXtTP3M5ZGckJUZYLW5EbkRHTGNY
VEhhXiY9SzBoMW8kKCFiJkFWKXNrY20xKkslKT5YMCF9RHdwPEswSjI3TCUKenUmMyhBTVYtTEJz
N3dsOWRHKVBzPWVLQV9YempDPD5vaGVwcH1ZKGstTUFhRGV3ajR3bjtyQWNCY3c8UGVTeUhiCnpH
ZGw0ZHA9b15hN09jLVk7T2VwT0dTWkJ0UkBncXooOGlaK2ZCfFg+bmAoRjVuRj8zZCp6QSpQS0Yh
UWk0PkRpTAp6VSp1NlRvRD13N0B+b2RtNTZrd09TRWZrRDluazNAa3pPTGYpaDBqMjxkJHh+WXh5
cE1yaV85eT9Yd308KTt8aTMKeldobW5WMEpPNkB6KDh1Mz50MUBZLVN8VlZDUEVWaTZoU0MhNEU+
allHNEhRcjgkSWopRVE/eVIhaVlSTEdVV285CnpRa0tZUSUybUJtWjt+MXl6NkJSTHMpVXh2Ukgh
KTshe2RYZig3STFmTztuQlNZfHcxPUptVko4Sk42Ty1PRGVuIwp6RjV7Xn5LZGVYRmZpcWxHTkFj
MVhgITlCemh1T1VpVXImI0ZDKUZVK1o/eyF6VDs1dWMkcykmZ3Axbn1DWXRONGMKejJIZTVQZCQ0
ZCR0ZGtCZlllPERCJVFhVW1qUHY3aHIrViNPMmtAMSRaSlBwc2NhMTEyVkFzMXdmMnV0Y0BVQWhJ
CnoyLU85PVluV2t0Q0EocWlYI1RldEtIc3RwJGxQRU1NJTxvXz58I35zVnlwaEhFSDBUUVhTOW90
JG5lVCNBQEk4egp6NVF0QHcjZFZPJDNsMCNFbDdkQkNQTWZnaTAlakhjaSVFVXcpSip+e0g7JlUp
aGJFTUlfRG0oUkZGTD1ATHpmV04KeldrbEg1akhrdTZUejVkdXU2PFAwclYqSlJkPDE8OHJfM285
VWNHRlBKbShJPkV3cjA/ZHRoTzx6eiV3PCUxbWxuCnpraFJAcWZhUmhWZU9nfnBAby1hOTRadzF0
PVk2MENMbEdDVEgpZ0w9WGZreSFMPERwSmdUNGVQeTdoUUkqOX45Qwp6T3JpfjI5MVFOTThzTGdV
PW9eVyRNe2AmWXk3b0w/UWxDcHBlUUw/ZXRLfDZMOTNqdiQqNSt8S3UmMFpRTWdWKWQKemN+VE88
by1QKFA3R1p2OFFMRTBJNnAybz8meDJKfCpUe0RGbmg1czcrandkdTZYeENwJD89Pkk0UE4lM04t
Vi1kCnoyMytENF4tPVRJMH0+emx4MkxfPCV3Y1g7VGtscEJOaCtNUVJTKVYlUSpMNXApTnY7RyVO
KnRqVnExPUtyPiZFZQp6KC1TKGNVSUZUKFg4NWQ2PlI7MHdrQGpvWSpJUmZEZFRKOXRhVk5gb1g2
PDAxQ2sqa15uOXQ4TV88VFF1QWNHKXYKentmOCl3XihIPkM3KUp6N21tRGJTeyVNVDQ3JiFmYVVC
QDZ1PWxCcys1QkglKCYqcjdjPW49RC1jUUFuZ0UrYDJjCnp4TTkzbT16WSZ5Q3k5MnIrRWxsUUFR
Ym88eSNaX0YkMF5QbDVqMH52d0pIXjE+WmVjVzEzUGY5eSV8MjItb1JnPgp6UGFePXg/Qzd6I2BM
Yl9xYj9qWk5geChCMk43K0IlJSNCWVBwdCo8ISpRKE1Lc28qbmpBUWFVP2lQMVI4LWQ+Wk8KejRM
KiN8dCtfQCU1fnp7U1hWMGskTXUzUyNEQVU4NjAhKmFacmRvaUJHfGIzQGVWOVdORClAdGdxKkRY
ZFcobSRGCnpVdVU2VSkjPFFRYUhBMXRKSWErI0E+Xll4MyFjSH15aT4keyF8JSUlSTNCWG5CczE8
ITZZd1BCWV5TU2tWTTg9cwp6U2hKY1d1bSMlZ24/UnhxNGAxaXwrX2Q8ISZxNFl6YF9YbU08IVRm
V0ZVTmcyS35GYitnUjRjb2V1b18zdWBLI2QKem1gZm5rcWxkIT0ha15PbDQtQ2dzRTNfVyNIZTFg
WFdpN0MhJEYkc1RaTSVoVzlPKCZxQDViJSRMQElFWmY0KTFzCnpSUF8xTmYoKTZTZXlsZDNmVE0w
ZSh0NFhDd0ZxQDVRUz9zVDBHSHFOSUhLflVMR2JEeGpzU2xpMTs3aGtrUnhjewp6SjhVdkdnUjlG
TVpTZ283RU1CY3dLV3FXV1BtJjFVR0k/ZlA/eyt7Nm9NelI8RiRiKi1wWlV2V0d+UHstVjwxU2MK
ekJNVjBQdWRBREFpb21TajBfYkkqKlFZQDZKenIhY2paPkB1am4/Vm0tdHg7JGsxeDhLcStNTilz
SDg5SSF9Jm1eCnpLK2V4NHhGOWlIcD1raiVaN2c/UDFDSDhtQFZrMClMTFpEZW0kZmxQajZhX3dt
XiVqVzQoTUx6VW9TX2dXc1oxcgp6RHFxVCMjdkZSI3k2PTxgO1dfJm1lcE5NWUN0NjA/SEk4JHcm
NzZMOHR1Ql5KT1FSUmM1fispbiMoNHtPb1kkVj4Kekc1JHdHcG5iNVplTEBBXjQzMklgeTQkMlFp
diFKJHgoM2cma08oRj53aDkzKE5uTTQzalB4VGRgOysxJntKcS0hCnpDTmlPdSomO1hLN1B1OFpr
RWVvbGc8YkR+Xnc8Szx7QGtQa05gKWBobn03Nll4YktuTD5KSlB2OVQ4cCtkeWA+Qwp6aGAwcl5C
cjJ4SW9uYVUzQylJdmAzN0U4ZmdxRj4ocTRsbmFgSSVuK0ZyJnAmVGg4eVV3Pm9mZlc0PiZtQTNQ
eTIKek0/K0dZSDhqVFhUUyUtPUtrY1orYitjKEVYdWt+Y2ltKXhNdE0weUZ5WSZONUdfX0F8TlBu
dG9galU9fmEzM1J6CnpFJig0IS0/UDI3ZnZgQyFiTilpZjtXdkVZeypYLUtBeFdBckJifUJlaHBx
KUUzKmAheGcrelh0RF9ffTNkSHd5KAp6KyghP0A3V2ozR0hYQHQ/SCs9aTVpdWJFfFR9SEs8JVBu
RmE0cFhFe0g4VW9VUSsyKTk3OUxaZFB9Pk41ITd9aXAKelFwTyZob3Vyb3FDRG5MPzlfe09EMUg+
KT4wMFV3USlkQVdDKDVlNlc0IS0heGdSP1EqOTZpRlRaIVEra0BpWGZBCnptZVVKT1Y+dms5TXp1
MXF6bip2QGgkc0NWVGpjUTsqbWxvZ2psQ1Z+MXxNc0skfkhaSm9WYyZoQj5ZSytgWkVpTAp6eDth
NlplM013P2xNZClsRUIlQGMkUU81WEoxazg/WXl0OzRANFhGNip4MVdXRlZFdmd6dEAxYzVqUyl2
KUVwOC0KenZZMmptYzhfPnBFVWEweUN5X190MCF+JGFEX1B0UTdvX3ItRnlER2A8Yzg2ajBVV0g7
V0M5YiNuZ0VgWiglITlpCnohbD14biVKUVJ9QFBpfHcoXyl5PWV1QVE7Snl4ZTFgS30lVGJGTjFx
byZ6Q2dSYmFJMEJZXmtrJSNYNXFWeGwqMQp6JEZIeDRrNX0xcHZfT1V1R0xIKjRmUzRXVmV2fF4z
ZGcxcX02NmYkZVJuWiFmK1QoNUxxMEllMChkWGB0YD9LeiEKem9QVXR3NWhUQ1NEbTxkN3o+UCRU
WE98Iz83WChPenhXVXt+czZOVDB5M2cmZERKb3olb342QEBad0JXNXJzU2R4Cno1cEVgJE0jP0Ri
eVZePEcwa007QF9BS1AhMXcqSDUwbyYtUV91Rzk4KXVNOVp4KkUtfElQSFpzaktgbSpSdDhBPwp6
LTFLd1ZQbTZ8aysqPTk8PEpfI2FQZEhGantUZH5rUnA4TXoqZyQmcSF7T0YtZEArM214Nk08NFNh
YlRyOX5+O2IKelJyfH59KCVsXnpqYHFCMiFzb2ZUNyFVfE9LKmA0QXxOM09iR1JmLVJfbHV9SXds
Vj1pezRWYnVMYztyNzt9dTdwCnpTQHUkejcrUn4tUnwmcWVvdFI/KTUoNjJid2ZBdG1vVm5wfXs9
TEJ3ZEhlcFJ4KSkxTkNKcnZ8REZ8YFctQG1PQAp6OVZUV1pZViQkalBeWFF0PGRVfX4zS1FOcW1f
cVNmWChnJDZjfihedCotZ2Q1VW9Hb0QhRkReaXVIfG5WWWRRYHIKemAzME1BKj9pYjdBIyVlPjBV
cys5SzIxaVZyTENvJmRfZ0o8YWVSaTdea3Nmez59SyF6aj5EU2pNVH0waEU+KkFJCnphUEp9YiVL
KS13V0pSMkE9TSRUZHhTJkQ0QFhvfTlCRzRoPVN0WTs9aVRBUXhecVktc3BPT2A9QDZmYkBJa0J0
dQp6KC1ARWk3PHAtTEJxV2JqRno3TllkUWhRQG8qQEdedjl+cHRBbiNJJTIlXyM1eW1mSEBNejhh
QntwSnhnbkVUKWAKek9SWjZxczN9SV93Mkgtb1VUViZDbTZeRzY7fSRGalVqO0wjMm1UWiNsdUc8
VkZ+bmMtTngjK2FzTU0yVHFpYH16CnpUSD91IW9RaHJjPHRUNTdKbUkoM1pwSXxITzElZyg5TlR2
X250ZTVrJXYrVm43Z3dFbEdRYSFxaStkYXYpdVBfKwp6dzR+WWxPfi13ZzFxQz4mQmlid0dLVnko
Z1o2TCprM14rI0pIYVFDRVBQNDk8aGd6RTNyYF8ldm0/WjExYmRYZSgKejU3dnZ4Ry1XeXNOJVZF
YFQzQT0oN2okRURiQ0VZMyF0U1k/V31sTzYwbiU3alFhdnlvfEhYdXE/aH1+Tj97WFNXCnp4QCNA
fj9FZEd+dV5DNWQjfkRfPm8wRCZ0PU1efkVsPG9DRllkQT1LdH5gNGdlaGdpKyNkTypzMSVreyoq
U0cxSAp6eWN5NDN3eDtIN2cyfl89Jj1JPU9WVSRFaE9VJSVtRjF+QTImWlNYcFd4YztJOyQ1fCpO
eHF9Pk1LeTBXQFBoU2sKejxUTHpROFN8JlRONDhoZVFaQlUlQ215UEJxMmEmJiUhdml8VTVGTzko
KmUlSFJTc0FeQl8yZkFWcXAyMVpJNVgoCnpecSRRJUJiOyh8Nnd3JndFcDB4I1lKT2Q2M0NpZ3VQ
PSZyPE1iMlRiQlRCYFRZdWNqVGNpckRPUmtHP0JScDFhQQp6cXFreG57RUV+N2glTkx8ZHVMZ04o
PjBUfFA4NXpaek1AJHlKUjZAMEVPRXFaezItWGhRaW4lYl4wNS1ObSZiNG4KemQ+dG16WWdVd3JO
ZCo8VCgrJUJrcT1hLTVKYWlyNkVxKmFAVExJU2kkVEpneHpwNTAkQTRRSi1jUmh3YjdLWjswCnok
TnRqWiRhRWlwaDZxdEFmVVVIUXdpO2s3P1l1QVVHKy0tamJnaWhAWFA9fS1CenhxTiU5UyZ5JGZO
Vm4heFNeNwp6MDU3RTwrQkxKaTlxPXF6Vzt5bWxkbVEjWktncnw5Y3xUKGg/N0pXZ2NrSn5YT1lG
I3FkYkUqWVgoX2gzeHE8JnQKekIxezBRamlEWDJJLVlmbVJXJmZDUWMwbVYtOXd8WEZsUHI7WTZy
THNTMD5aPmhLbn5faml9Z2J0eEkjSit8aSt+CnpuaSN0PHpwc3hzMntxM3ElNjglND1iaSMoX0dN
XyNnfSswWXtpJG9yZEdqZ31WbyEkLTx9IU1pez9md1E/eTdjYQp6QjNxU2Arbzd4fkwmbmcjYFg1
Z2Y1Z35iRTRMej8kR0RwU1JeTV5YJUV0ckhKZ0VWRFBmI0leIXlPUXhiOGdZNykKekg5WXwtXjZR
fmQzNW5EQTQmJUQ/NHNHNVFDLSMpJEFmKnNAUnp1dXtzVlArbWdmVTIwbytzPUszcVA5YSVWZ2lk
Cno/NSZ6V0AqU3B4QCUme0BEQUFaT2pfcnBnX0lELWVRSnNgZ3EjOCt9YmA0JU1tM1J5KHVfSHow
WFgrU04rbXZeUQp6Xl5DX3h4YGhDI3pRVHZue0xpV1JaLUNNdDx1OzUyKUpJfD1sJUcxQG0menRz
Unstang3PjhaOyhOTCpkSFAtaEcKekQwc088a1RCSE9EX3ZgOCohMVh3VWZEI2lfZ0xCZ25HRnZk
Ny1vREs9cC16NVgjQmA3TyliRV9STGRRZjl1YileCnpFQDBzPGB2Rip3eDtKJEVJe0pSQUJLV2BB
Jkl4MGNaMTxGelhoOHBPbzdpc2ZQPVFCUUcyNTBXPlQ9Wk9oZiNkVQp6ITRzQDZ1YTFiRT5eMUp0
O18kPT9tLWc3dXEtUjV6M0ApOWk7dGdYc0Ywa0JQLVlgVDY8PFJQQzN0WnFydnxZNEIKeiF9aU9Y
VUR+dEVFZExOYHIqWntsNFoxZURDUHI2T3ZuM2A7Wks7TCFCZCZZRXVXZlU7UVR1Tio0VG9vbGAz
fXl5Cno/YXZXPCElT1k7Mn5GPT1lbW1ldW9XRnBmeEQ9Rzk8fmJvWUQqJWpsSGpTZUcmdzNJMXVT
bjdGSDV8VDQ5dm8kaAp6OWA8NnQ9RSRqSHgqbTNicnVFRlZ5SjUkaz5nSGZiIXBJYzhxKHNQdVFv
V3QlQ2lQTm95ZlEmRVdXOCtXTWlQfUsKemV7fSolZ2VUa2twPUpnZC1gdG5kTUFWSUBtTTUlLXVA
ZURDTGxzXnF5dipRLTBecTdFazNsUEd7JCNxeHhCQzZCCnpHZkJRdkBrT1RZezBWOW9zVWY4RHJE
VzZgJlNNNDd6VjdgLVl8Q0EmVCM3PXNYLVdvJlpISmZkVGRuUmxFeWpxaAp6M1l1OFkmN0NHfXVB
aGQ4allUVDwwZkEoamxaeENPNXgtV1llVngmOCV9OGFhVVkkNyk+emFuXzM5SDlATVdRWjQKenFQ
Tkdna1drM25nLVF0eWVZeC1NNV99Z3FMSitFdk8/YkpqPjg8REh3Xjc/QTEqXkY7LW1xO311Y0p4
I0lCbTQoCnpnOGV0fEFKRElycD00Mj51VihWNF57WGFvNEopQF5lXk1MXigyLTZVU3pNVykqT0hS
cmpLMVF8bWs1KCNJZmgoMwp6bWZsPDF3KnlNZng7MEF3Xm8pQFJ2azR5JU1vdzEkanw+aSlpc3lp
N2BnZEtAeyh4el5XbSFqNUJDeyZqU318YW4Kem9fTik9SCN+QUw1aE8zYXA7OEUjdWJaT25PP1M9
TEMtV21FYm9RPEEwT3NwQT9hdzBSYEspK2p3P3l9akpSVmFoCnpTR0o7KlZnU09MMkA7ZTJpJFN1
JEgyY3NoNlNLVSkoVDZ4eyRBUWt8NiRCcGVONEI/YW9vQnYlajhMTDZDQmhQeQp6SGRFKl41bzQ0
NnYrUmBVc0x7fn1udis/RD9MUyY1QWxUKEVzYTsyfCViYStkdHNgPz9zVThNQWU8VGsmPUAwZzsK
eno0U3N4OTk8LUBwQ1ExbUhaPnwoRCYyRmQ8MiozUC1qNGxOTj5TP0gwT1J8X0hQVV8+enlOKlhE
fVVHSC1gWFZSCnpGV2Z6fUE2Kmp1Xj9+VUJwaTV+I3ZUKnFpbil5Mm5ZVEFEKnE1bWlFPTxjb2Y/
Pl9oQlB3aHQ5byVqQyRvNjtvUwoKZGlmZiAtLWdpdCBhL1dlYnNpdGVzL3dlYmtpdC5vcmcvZGVt
b3Mvd2ViZ3B1L2hlbGxvLmpzIGIvV2Vic2l0ZXMvd2Via2l0Lm9yZy9kZW1vcy93ZWJncHUvaGVs
bG8uanMKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDQ2MTliMTkxM2ViZDU1ODkwY2Nh
NGZmYTYzNTk0NGM5NjZkNjY5OGEuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAKLS0tIGEvV2Vic2l0ZXMvd2Via2l0Lm9yZy9kZW1vcy93ZWJncHUvaGVsbG8uanMKKysr
IC9kZXYvbnVsbApAQCAtMSw2NyArMCwwIEBACi1sZXQgZ3B1OwotbGV0IGNvbW1hbmRRdWV1ZTsK
LWxldCByZW5kZXJQYXNzRGVzY3JpcHRvcjsKLWxldCByZW5kZXJQaXBlbGluZVN0YXRlOwotCi13
aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIGluaXQsIGZhbHNlKTsKLQotZnVuY3Rpb24g
aW5pdCgpIHsKLQotICAgIGlmICghY2hlY2tGb3JXZWJHUFUoKSkgewotICAgICAgICByZXR1cm47
Ci0gICAgfQotCi0gICAgbGV0IGNhbnZhcyA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoImNhbnZh
cyIpOwotICAgIGxldCBjYW52YXNTaXplID0gY2FudmFzLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgp
OwotICAgIGNhbnZhcy53aWR0aCA9IGNhbnZhc1NpemUud2lkdGg7Ci0gICAgY2FudmFzLmhlaWdo
dCA9IGNhbnZhc1NpemUuaGVpZ2h0OwotCi0gICAgZ3B1ID0gY2FudmFzLmdldENvbnRleHQoIndl
YmdwdSIpOwotICAgIGNvbW1hbmRRdWV1ZSA9IGdwdS5jcmVhdGVDb21tYW5kUXVldWUoKTsKLQot
ICAgIGxldCBsaWJyYXJ5ID0gZ3B1LmNyZWF0ZUxpYnJhcnkoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoImxpYnJhcnkiKS50ZXh0KTsKLSAgICBsZXQgdmVydGV4RnVuY3Rpb24gPSBsaWJyYXJ5LmZ1
bmN0aW9uV2l0aE5hbWUoInZlcnRleF9tYWluIik7Ci0gICAgbGV0IGZyYWdtZW50RnVuY3Rpb24g
PSBsaWJyYXJ5LmZ1bmN0aW9uV2l0aE5hbWUoImZyYWdtZW50X21haW4iKTsKLQotICAgIGlmICgh
bGlicmFyeSB8fCAhZnJhZ21lbnRGdW5jdGlvbiB8fCAhdmVydGV4RnVuY3Rpb24pIHsKLSAgICAg
ICAgcmV0dXJuOwotICAgIH0KLQotICAgIGxldCBwaXBlbGluZURlc2NyaXB0b3IgPSBuZXcgV2Vi
R1BVUmVuZGVyUGlwZWxpbmVEZXNjcmlwdG9yKCk7Ci0gICAgcGlwZWxpbmVEZXNjcmlwdG9yLnZl
cnRleEZ1bmN0aW9uID0gdmVydGV4RnVuY3Rpb247Ci0gICAgcGlwZWxpbmVEZXNjcmlwdG9yLmZy
YWdtZW50RnVuY3Rpb24gPSBmcmFnbWVudEZ1bmN0aW9uOwotICAgIC8vIE5PVEU6IE91ciBBUEkg
cHJvcG9zYWwgaGFzIHRoZXNlIHZhbHVlcyBhcyBlbnVtcywgbm90IGNvbnN0YW50IG51bWJlcnMu
Ci0gICAgLy8gV2UgaGF2ZW4ndCBnb3QgYXJvdW5kIHRvIGltcGxlbWVudGluZyB0aGUgZW51bXMg
eWV0LgotICAgIHBpcGVsaW5lRGVzY3JpcHRvci5jb2xvckF0dGFjaG1lbnRzWzBdLnBpeGVsRm9y
bWF0ID0gZ3B1LlBpeGVsRm9ybWF0QkdSQThVbm9ybTsKLQotICAgIHJlbmRlclBpcGVsaW5lU3Rh
dGUgPSBncHUuY3JlYXRlUmVuZGVyUGlwZWxpbmVTdGF0ZShwaXBlbGluZURlc2NyaXB0b3IpOwot
Ci0gICAgcmVuZGVyUGFzc0Rlc2NyaXB0b3IgPSBuZXcgV2ViR1BVUmVuZGVyUGFzc0Rlc2NyaXB0
b3IoKTsKLSAgICAvLyBOT1RFOiBPdXIgQVBJIHByb3Bvc2FsIGhhcyBzb21lIG9mIHRoZXNlIHZh
bHVlcyBhcyBlbnVtcywgbm90IGNvbnN0YW50IG51bWJlcnMuCi0gICAgLy8gV2UgaGF2ZW4ndCBn
b3QgYXJvdW5kIHRvIGltcGxlbWVudGluZyB0aGUgZW51bXMgeWV0LgotICAgIHJlbmRlclBhc3NE
ZXNjcmlwdG9yLmNvbG9yQXR0YWNobWVudHNbMF0ubG9hZEFjdGlvbiA9IGdwdS5Mb2FkQWN0aW9u
Q2xlYXI7Ci0gICAgcmVuZGVyUGFzc0Rlc2NyaXB0b3IuY29sb3JBdHRhY2htZW50c1swXS5zdG9y
ZUFjdGlvbiA9IGdwdS5TdG9yZUFjdGlvblN0b3JlOwotICAgIHJlbmRlclBhc3NEZXNjcmlwdG9y
LmNvbG9yQXR0YWNobWVudHNbMF0uY2xlYXJDb2xvciA9IFswLjM1LCAwLjY1LCAwLjg1LCAxLjBd
OwotCi0gICAgcmVuZGVyKCk7Ci19Ci0KLWZ1bmN0aW9uIHJlbmRlcigpIHsKLQotICAgIGxldCBj
b21tYW5kQnVmZmVyID0gY29tbWFuZFF1ZXVlLmNyZWF0ZUNvbW1hbmRCdWZmZXIoKTsKLSAgICBs
ZXQgZHJhd2FibGUgPSBncHUubmV4dERyYXdhYmxlKCk7Ci0gICAgcmVuZGVyUGFzc0Rlc2NyaXB0
b3IuY29sb3JBdHRhY2htZW50c1swXS50ZXh0dXJlID0gZHJhd2FibGUudGV4dHVyZTsKLQotICAg
IGxldCBjb21tYW5kRW5jb2RlciA9IGNvbW1hbmRCdWZmZXIuY3JlYXRlUmVuZGVyQ29tbWFuZEVu
Y29kZXJXaXRoRGVzY3JpcHRvcihyZW5kZXJQYXNzRGVzY3JpcHRvcik7Ci0gICAgY29tbWFuZEVu
Y29kZXIuc2V0UmVuZGVyUGlwZWxpbmVTdGF0ZShyZW5kZXJQaXBlbGluZVN0YXRlKTsKLQotICAg
IC8vIE5PVEU6IFdlIGRpZG4ndCBhdHRhY2ggYW55IGJ1ZmZlcnMuIFdlIGNyZWF0ZSB0aGUgZ2Vv
bWV0cnkgaW4gdGhlIHZlcnRleCBzaGFkZXIgdXNpbmcKLSAgICAvLyB0aGUgdmVydGV4IElELgot
Ci0gICAgLy8gTk9URTogT3VyIEFQSSBwcm9wb3NhbCB1c2VzIHRoZSBlbnVtIHZhbHVlICJ0cmlh
bmdsZSIgaGVyZS4gV2UgaGF2ZW4ndCBnb3QgYXJvdW5kIHRvIGltcGxlbWVudGluZyB0aGUgZW51
bXMgeWV0LgotICAgIGNvbW1hbmRFbmNvZGVyLmRyYXdQcmltaXRpdmVzKGdwdS5QcmltaXRpdmVU
eXBlVHJpYW5nbGUsIDAsIDMpOwotCi0gICAgY29tbWFuZEVuY29kZXIuZW5kRW5jb2RpbmcoKTsK
LSAgICBjb21tYW5kQnVmZmVyLnByZXNlbnREcmF3YWJsZShkcmF3YWJsZSk7Ci0gICAgY29tbWFu
ZEJ1ZmZlci5jb21taXQoKTsKLX0KZGlmZiAtLWdpdCBhL1dlYnNpdGVzL3dlYmtpdC5vcmcvZGVt
b3Mvd2ViZ3B1L2luZGV4Lmh0bWwgYi9XZWJzaXRlcy93ZWJraXQub3JnL2RlbW9zL3dlYmdwdS9p
bmRleC5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBiMTQ1YjFjZDkzMzRiYTlj
OWY5MzU3ODhlYWQwNTE3MDk1NGIxMjAxLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwCi0tLSBhL1dlYnNpdGVzL3dlYmtpdC5vcmcvZGVtb3Mvd2ViZ3B1L2luZGV4Lmh0
bWwKKysrIC9kZXYvbnVsbApAQCAtMSwyMTcgKzAsMCBAQAotPCFET0NUWVBFIGh0bWw+Ci08aHRt
bD4KLTxoZWFkPgotPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRlbnQ9IndpZHRoPWRldmljZS13
aWR0aCI+Ci08bWV0YSBodHRwLWVxdWl2PSJDb250ZW50LXR5cGUiIGNvbnRlbnQ9InRleHQvaHRt
bDsgY2hhcnNldD11dGYtOCI+Ci08dGl0bGU+V2ViR1BVIGRlbW9zPC90aXRsZT4KLTxsaW5rIHJl
bD0ic3R5bGVzaGVldCIgaHJlZj0iaHR0cHM6Ly93ZWJraXQub3JnL3dwLWNvbnRlbnQvdGhlbWVz
L3dlYmtpdC9zdHlsZS5jc3MiPgotPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSJodHRwczov
L3d3dy5hcHBsZS5jb20vd3NzL2ZvbnRzP2ZhbWlseT1NeXJpYWQrU2V0K1BybyZhbXA7dj0xIj4K
LTxzdHlsZT4KLSogewotICAgIC0tYmFjazogcmdiKDEzMCwgMTMwLCAxMjYpOwotICAgIC0tZGFy
azogcmdiKDY1LCA2NSwgNjMpOwotICAgIC0tc3ViLWhpZ2hsaWdodDogcmdiKDE0OCwgMTc2LCA4
Myk7Ci0gICAgLS1oaWdobGlnaHQ6IHJnYigxODksIDIzNSwgNyk7Ci0gICAgLS1ib2R5OiByZ2Io
MjI0LCAyMjQsIDIyNCk7Ci0gICAgLS1ib2R5LWRhcmtlcjogcmdiKDIwNCwgMjA0LCAyMDQpOwot
fQotCi1ib2R5IHsKLSAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1ib2R5KTsKLSAgICBjb2xv
cjogdmFyKC0tZGFyayk7Ci0gICAgbWFyZ2luOiAwOwotICAgIHBhZGRpbmc6IDA7Ci0gICAgbGlu
ZS1oZWlnaHQ6IDEuNDsKLX0KLQotaGVhZGVyIHsKLSAgICBwb3NpdGlvbjogcmVsYXRpdmU7Ci0g
ICAgaGVpZ2h0OiAyMHZ3OwotICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2spOwotICAg
IG92ZXJmbG93OiBoaWRkZW47Ci0gICAgYm9yZGVyLWJvdHRvbTogbm9uZTsKLX0KLQotaGVhZGVy
ICogewotICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKLSAgICB0b3A6IDA7Ci0gICAgbGVmdDogMzB2
dzsKLX0KLQotaGVhZGVyIGltZyB7Ci0gICAgd2lkdGg6IDQwdnc7Ci0gICAgaGVpZ2h0OiA0MHZ3
OwotICAgIGFuaW1hdGlvbjogc3BpbiA2MHMgaW5maW5pdGUgbGluZWFyOwotfQotCi1Aa2V5ZnJh
bWVzIHNwaW4gewotICBmcm9tIHsKLSAgICAgIHRyYW5zZm9ybTogcm90YXRlKDBkZWcpOwotICB9
Ci0gIHRvIHsKLSAgICAgIHRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7Ci0gIH0KLX0KLQotaDEg
ewotICAgIHRvcDogMTB2dzsKLSAgICB3aWR0aDogNDB2dzsKLSAgICBtYXJnaW46IDAgYXV0bzsK
LSAgICBmb250LXNpemU6IDV2dzsKLSAgICB0ZXh0LWFsaWduOiBjZW50ZXI7Ci0gICAgZm9udC13
ZWlnaHQ6IGJvbGQ7Ci0gICAgY29sb3I6IHZhcigtLWRhcmspOwotICAgIGxpbmUtaGVpZ2h0OiAx
LjA7Ci0gICAgdGV4dC1zaGFkb3c6IDBweCAycHggMHB4IHZhcigtLWJhY2spOwotfQotCi1zZWN0
aW9uLmRlbW9zIHsKLSAgICBkaXNwbGF5OiBncmlkOwotICAgIG1hcmdpbjogNXZ3IDIwdnc7Ci0g
ICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxNnZ3IDE2dncgMTZ2dzsKLSAgICBncmlkLWdhcDog
NnZ3OwotfQotCi1zZWN0aW9uIHAgewotICAgIHBhZGRpbmc6IDEycHggMjBweDsKLSAgICBjb2xv
cjogdmFyKC0tZGFyayk7Ci19Ci0KLXNlY3Rpb24gcCBhIHsKLSAgICB0ZXh0LWRlY29yYXRpb246
IG5vbmU7Ci0gICAgY29sb3I6IHZhcigtLXN1Yi1oaWdobGlnaHQpOwotICAgIGZvbnQtd2VpZ2h0
OiBib2xkOwotfQotCi0uaW50cm8gewotICAgIGdyaWQtY29sdW1uOiAxIC8gNDsKLSAgICBncmlk
LXJvdzogMTsKLX0KLQotLmhvd3RvIHsKLSAgICBncmlkLWNvbHVtbjogMSAvIDQ7Ci0gICAgZ3Jp
ZC1yb3c6IDI7Ci19Ci0KLS53YXJuaW5nIHsKLSAgICBncmlkLWNvbHVtbjogMSAvIDQ7Ci0gICAg
Z3JpZC1yb3c6IDM7Ci0gICAgYm9yZGVyOiAycHggc29saWQgdmFyKC0tc3ViLWhpZ2hsaWdodCk7
Ci0gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0taGlnaGxpZ2h0KTsKLSAgICBjb2xvcjogYmxh
Y2s7Ci19Ci0KLS5leGFtcGxlIHsKLSAgICBib3JkZXI6IDJweCBzb2xpZCB2YXIoLS1zdWItaGln
aGxpZ2h0KTsKLSAgICB0ZXh0LWFsaWduOiBjZW50ZXI7Ci0gICAgcGFkZGluZzogMTBweCAxMHB4
OwotICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJvZHktZGFya2VyKTsKLX0KLQotLmV4YW1w
bGUgaW1nIHsKLSAgICBiYWNrZ3JvdW5kLWNvbG9yOiBibGFjazsKLSAgICBib3JkZXI6IDFweCBz
b2xpZCBibGFjazsKLSAgICBib3gtc2l6aW5nOiBib3JkZXItYm94OwotICAgIHdpZHRoOiAxMnZ3
OwotICAgIGhlaWdodDogMTJ2dzsKLX0KLQotLmV4YW1wbGUgYSB7Ci0gICAgdGV4dC1kZWNvcmF0
aW9uOiBub25lOwotICAgIGNvbG9yOiB2YXIoLS1kYXJrKTsKLX0KLQotQG1lZGlhIG9ubHkgc2Ny
ZWVuIGFuZCAobWF4LXdpZHRoOiA2MDBweCkgewotICAgIGhlYWRlciB7Ci0gICAgICAgIGhlaWdo
dDogNDB2dzsKLSAgICB9Ci0KLSAgICBoZWFkZXIgKiB7Ci0gICAgICAgIGxlZnQ6IDEwdnc7Ci0g
ICAgfQotCi0gICAgaGVhZGVyIGltZyB7Ci0gICAgICAgIHdpZHRoOiA4MHZ3OwotICAgICAgICBo
ZWlnaHQ6IDgwdnc7Ci0gICAgfQotCi0gICAgaDEgewotICAgICAgICB0b3A6IDIwdnc7Ci0gICAg
ICAgIHdpZHRoOiA4MHZ3OwotICAgICAgICBmb250LXNpemU6IDEwdnc7Ci0gICAgfQotCi0gICAg
c2VjdGlvbi5kZW1vcyB7Ci0gICAgICAgIG1hcmdpbjogNXZ3IDV2dzsKLSAgICAgICAgZ3JpZC10
ZW1wbGF0ZS1jb2x1bW5zOiA5MHZ3OwotICAgICAgICBncmlkLWdhcDogNnZ3OwotICAgIH0KLQot
ICAgIC5pbnRybywgLmhvd3RvLCAud2FybmluZyB7Ci0gICAgICAgIGdyaWQtY29sdW1uOiAxOwot
ICAgIH0KLQotICAgIC5leGFtcGxlIGltZyB7Ci0gICAgICAgIHdpZHRoOiA3MHZ3OwotICAgICAg
ICBoZWlnaHQ6IDcwdnc7Ci0gICAgfQotfQotCi08L3N0eWxlPgotPC9oZWFkPgotPGJvZHk+Ci0g
ICAgPGhlYWRlcj4KLSAgICAgICAgPGltZyBzcmM9ImNpcmNsZS5zdmciPgotICAgICAgICA8aDE+
V2ViR1BVPGJyPmRlbW9zPC9oMT4KLSAgICA8L2hlYWRlcj4KLSAgICA8c2VjdGlvbiBjbGFzcz0i
ZGVtb3MiPgotICAgICAgICA8cCBjbGFzcz0iaW50cm8iPgotICAgICAgICAgICAgSGVyZSBhcmUg
YSBjb2xsZWN0aW9uIG9mIHNpbXBsZSA8YQotICAgICAgICAgICAgaHJlZj0iaHR0cHM6Ly93ZWJr
aXQub3JnL2Jsb2cvNzM4MC9uZXh0LWdlbmVyYXRpb24tM2QtZ3JhcGhpY3Mtb24tdGhlLXdlYi8i
PldlYkdQVTwvYT4KLSAgICAgICAgICAgIGV4YW1wbGVzLiBUaGV5IHNob3VsZCB3b3JrIGluIHRo
ZSBsYXRlc3QgPGEKLSAgICAgICAgICAgIGhyZWY9Imh0dHBzOi8vZGV2ZWxvcGVyLmFwcGxlLmNv
bS9zYWZhcmkvdGVjaG5vbG9neS1wcmV2aWV3LyI+U2FmYXJpCi0gICAgICAgICAgICAgVGVjaG5v
bG9neSBQcmV2aWV3PC9hPiByZWxlYXNlcywgYXMgd2VsbCBhcyA8YQotICAgICAgICAgICAgaHJl
Zj0iaHR0cHM6Ly93ZWJraXQub3JnL25pZ2h0bHkvIj5uaWdodGx5IFdlYktpdDwvYT4gYnVpbGRz
LiBBdAotICAgICAgICAgICAgdGhlIG1vbWVudCB0aGVyZSBhcmUgYSBmZXcgc21hbGwgZGlmZmVy
ZW5jZXMgYmV0d2VlbiB0aGUKLSAgICAgICAgICAgIGltcGxlbWVudGF0aW9uIGFuZCB0aGUgPGEK
LSAgICAgICAgICAgIGhyZWY9Imh0dHBzOi8vd2Via2l0Lm9yZy93cC1jb250ZW50L3VwbG9hZHMv
d2ViZ3B1LWFwaS1wcm9wb3NhbC5odG1sCi0gICAgICAgICAgICAiPmRvY3VtZW50ZWQgcHJvcG9z
YWw8L2E+LCBtb3N0IG9mIHdoaWNoIGFyZSBkb2N1bWVudGVkIGluIHRoZSBjb2RlLgotICAgICAg
ICA8L3A+Ci0gICAgICAgIDxwIGNsYXNzPSJob3d0byI+Ci0gICAgICAgICAgICBNYWtlIHN1cmUg
eW91IGFyZSBvbiBhIHN5c3RlbSB3aXRoIFdlYkdQVSBlbmFibGVkLiBJbiBTYWZhcmksIGZpcnN0
Ci0gICAgICAgICAgICBtYWtlIHN1cmUgdGhlIERldmVsb3BlciBNZW51IGlzIHZpc2libGUgKFBy
ZWZlcmVuY2VzIOKGkiBBZHZhbmNlZCksCi0gICAgICAgICAgICB0aGVuIERldmVsb3Ag4oaSIEV4
cGVyaW1lbnRhbCBGZWF0dXJlcyDihpIgRW5hYmxlIFdlYkdQVS4KLSAgICAgICAgPC9wPgotICAg
ICAgICA8cCBjbGFzcz0id2FybmluZyI+Ci0gICAgICAgICAgICBXZWJHUFUgaXMgYW4gZXhwZXJp
bWVudGFsIHRlY2hub2xvZ3ksIGFuZCB5b3Ugc2hvdWxkIG5vdCBicm93c2UgdGhlIGVudGlyZQot
ICAgICAgICAgICAgV2ViIHdpdGggaXQgZW5hYmxlZCBmb3Igbm93LiBJdCBkb2Vzbid0IGRvIGFu
eSB2YWxpZGF0aW9uIG9mIGNvbnRlbnQsIGFuZAotICAgICAgICAgICAgdGh1cyBtYXkgY2F1c2Ug
c29tZSBpc3N1ZXMgd2l0aCB5b3VyIGNvbXB1dGVyLgotICAgICAgICA8L3A+Ci0gICAgICAgIDxk
aXYgY2xhc3M9ImV4YW1wbGUiPgotICAgICAgICAgICAgPGEgaHJlZj0iaGVsbG8uaHRtbCI+Ci0g
ICAgICAgICAgICA8aW1nIHNyYz0iaGVsbG8uanBnIj48YnI+Ci0gICAgICAgICAgICBIZWxsbyBX
b3JsZCBUcmlhbmdsZQotICAgICAgICAgICAgPC9hPgotICAgICAgICA8L2Rpdj4KLSAgICAgICAg
PGRpdiBjbGFzcz0iZXhhbXBsZSI+Ci0gICAgICAgICAgICA8YSBocmVmPSIyZC5odG1sIj4KLSAg
ICAgICAgICAgIDxpbWcgc3JjPSIyZC5qcGciPjxicj4KLSAgICAgICAgICAgIDJkLWRyYXdpbmcg
bGlrZSBTaGFkZXJ0b3kKLSAgICAgICAgICAgIDwvYT4KLSAgICAgICAgPC9kaXY+Ci0gICAgICAg
IDxkaXYgY2xhc3M9ImV4YW1wbGUiPgotICAgICAgICAgICAgPGEgaHJlZj0ic2ltcGxlLmh0bWwi
PgotICAgICAgICAgICAgPGltZyBzcmM9InNpbXBsZS5qcGciPjxicj4KLSAgICAgICAgICAgIFNp
bXBsZSBTcGlubmluZyBDdWJlCi0gICAgICAgICAgICA8L2E+Ci0gICAgICAgIDwvZGl2PgotICAg
ICAgICA8ZGl2IGNsYXNzPSJleGFtcGxlIj4KLSAgICAgICAgICAgIDxhIGhyZWY9ImN1YmVzLmh0
bWwiPgotICAgICAgICAgICAgPGltZyBzcmM9ImN1YmVzLmpwZyI+PGJyPgotICAgICAgICAgICAg
QW5pbWF0aW5nIEN1YmVzCi0gICAgICAgICAgICA8L2E+Ci0gICAgICAgIDwvZGl2PgotICAgIDwv
c2VjdGlvbj4KLTwvZGl2PgotPC9ib2R5PgotPC9odG1sPgpkaWZmIC0tZ2l0IGEvV2Vic2l0ZXMv
d2Via2l0Lm9yZy9kZW1vcy93ZWJncHUvc2hhcmVkLmNzcyBiL1dlYnNpdGVzL3dlYmtpdC5vcmcv
ZGVtb3Mvd2ViZ3B1L3NoYXJlZC5jc3MKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDIz
NTE0NDk1NDQ5ODcyZjQxZDc0NjVmZjdiNDQ4YmNiMDI0OTdlMTguLjAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvV2Vic2l0ZXMvd2Via2l0Lm9yZy9kZW1vcy93
ZWJncHUvc2hhcmVkLmNzcworKysgL2Rldi9udWxsCkBAIC0xLDQ1ICswLDAgQEAKLWJvZHkgewot
ICAgIGJhY2tncm91bmQtY29sb3I6IHJnYigzNSUsIDY1JSwgODUlKTsKLSAgICBtYXJnaW46IDA7
Ci0gICAgcGFkZGluZzogMDsKLSAgICBoZWlnaHQ6IDEwMHZoOwotICAgIGRpc3BsYXk6IGZsZXg7
Ci0gICAgYWxpZ24taXRlbXM6IGNlbnRlcjsKLSAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsK
LX0KLQotY2FudmFzIHsKLSAgICBkaXNwbGF5OiBibG9jazsKLSAgICB3aWR0aDogMTAwdnc7Ci0g
ICAgaGVpZ2h0OiAxMDB2aDsKLX0KLQotYm9keS5lcnJvciB7Ci0gICAgYmFja2dyb3VuZC1jb2xv
cjogcmdiKDg1JSwgMzUlLCAzNSUpOwotfQotCi1ib2R5LmVycm9yIGNhbnZhcyB7Ci0gICAgZGlz
cGxheTogbm9uZTsKLX0KLQotI2Vycm9yIHsKLSAgICBtYXJnaW46IDA7Ci0gICAgcGFkZGluZzog
MDsKLSAgICB3aWR0aDogNTB2dzsKLSAgICBkaXNwbGF5OiBub25lOwotICAgIHRleHQtYWxpZ246
IGNlbnRlcjsKLX0KLQotYm9keS5lcnJvciAjZXJyb3IgewotICAgIGRpc3BsYXk6IGJsb2NrOwot
fQotCi0jZXJyb3IgaDIgewotICAgIGZvbnQtd2VpZ2h0OiBib2xkOwotICAgIGZvbnQtc2l6ZTog
NDBweDsKLSAgICBtYXJnaW4tYm90dG9tOiAyMHB4OwotfQotCi0jZXJyb3IgcCB7Ci0gICAgZm9u
dC1zaXplOiAzMHB4OwotfQpkaWZmIC0tZ2l0IGEvV2Vic2l0ZXMvd2Via2l0Lm9yZy9kZW1vcy93
ZWJncHUvc2hhcmVkLmpzIGIvV2Vic2l0ZXMvd2Via2l0Lm9yZy9kZW1vcy93ZWJncHUvc2hhcmVk
LmpzCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBlNDk5NzY3NGNmOTI5MzUzNzNkMDkx
MjMyZDIxNjdhYWIzYjQ5NWQ1Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwCi0tLSBhL1dlYnNpdGVzL3dlYmtpdC5vcmcvZGVtb3Mvd2ViZ3B1L3NoYXJlZC5qcworKysg
L2Rldi9udWxsCkBAIC0xLDExICswLDAgQEAKLWNvbnN0IGhhc1dlYkdQVSA9ICgpID0+IHsKLSAg
ICByZXR1cm4gJ1dlYkdQVVJlbmRlcmluZ0NvbnRleHQnIGluIHdpbmRvdzsKLX07Ci0KLWNvbnN0
IGNoZWNrRm9yV2ViR1BVID0gKCkgPT4gewotICAgIGlmIChoYXNXZWJHUFUoKSkKLSAgICAgIHJl
dHVybiB0cnVlOwotCi0gICAgZG9jdW1lbnQuYm9keS5jbGFzc05hbWUgPSAiZXJyb3IiOwotICAg
IHJldHVybiBmYWxzZTsKLX0KZGlmZiAtLWdpdCBhL1dlYnNpdGVzL3dlYmtpdC5vcmcvZGVtb3Mv
d2ViZ3B1L3NpbXBsZS5odG1sIGIvV2Vic2l0ZXMvd2Via2l0Lm9yZy9kZW1vcy93ZWJncHUvc2lt
cGxlLmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDFhMDllNDZlNGRmYWEwMDk5
NWE3OGIxNzAxNDE5ZDg0ZDIyMjc0NzguLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAKLS0tIGEvV2Vic2l0ZXMvd2Via2l0Lm9yZy9kZW1vcy93ZWJncHUvc2ltcGxlLmh0
bWwKKysrIC9kZXYvbnVsbApAQCAtMSw1NyArMCwwIEBACi08IURPQ1RZUEUgaHRtbD4KLTxodG1s
PgotPGhlYWQ+Ci08bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9NjAwIj4KLTxt
ZXRhIGh0dHAtZXF1aXY9IkNvbnRlbnQtdHlwZSIgY29udGVudD0idGV4dC9odG1sOyBjaGFyc2V0
PXV0Zi04Ij4KLTx0aXRsZT5XZWJHUFUgU2ltcGxlIGRlbW88L3RpdGxlPgotPGxpbmsgcmVsPSJz
dHlsZXNoZWV0IiBocmVmPSJzaGFyZWQuY3NzIj4KLTxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJl
Zj0iaHR0cHM6Ly93ZWJraXQub3JnL3dwLWNvbnRlbnQvdGhlbWVzL3dlYmtpdC9zdHlsZS5jc3Mi
PgotPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSJodHRwczovL3d3dy5hcHBsZS5jb20vd3Nz
L2ZvbnRzP2ZhbWlseT1NeXJpYWQrU2V0K1BybyZhbXA7dj0xIj4KLTxzY3JpcHQgc3JjPSJnbC1t
YXRyaXgtbWluLmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSJzaGFyZWQuanMiPjwvc2NyaXB0
PgotPHNjcmlwdCBzcmM9InNpbXBsZS5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0IGlkPSJsaWJyYXJ5
IiB0eXBlPSJ4LXNoYWRlci94LW1ldGFsIj4KLSNpbmNsdWRlIDxtZXRhbF9zdGRsaWI+Ci0KLXVz
aW5nIG5hbWVzcGFjZSBtZXRhbDsKLQotc3RydWN0IFZlcnRleAotewotICAgIGZsb2F0NCBwb3Np
dGlvbiBbW3Bvc2l0aW9uXV07Ci0gICAgZmxvYXQ0IGNvbG9yOwotfTsKLQotc3RydWN0IFVuaWZv
cm0KLXsKLSAgICBmbG9hdDR4NCBtb2RlbFZpZXdQcm9qZWN0aW9uTWF0cml4OwotfTsKLQotdmVy
dGV4IFZlcnRleCB2ZXJ0ZXhfbWFpbihkZXZpY2UgVmVydGV4ICp2ZXJ0aWNlcyBbW2J1ZmZlcigw
KV1dLAotICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdGFudCBVbmlmb3JtICp1bmlmb3Jt
cyBbW2J1ZmZlcigxKV1dLAotICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50IHZpZCBbW3Zl
cnRleF9pZF1dKQotewotICAgIFZlcnRleCB2ZXJ0ZXhPdXQ7Ci0gICAgdmVydGV4T3V0LnBvc2l0
aW9uID0gdW5pZm9ybXMtPm1vZGVsVmlld1Byb2plY3Rpb25NYXRyaXggKiB2ZXJ0aWNlc1t2aWRd
LnBvc2l0aW9uOwotICAgIHZlcnRleE91dC5jb2xvciA9IHZlcnRpY2VzW3ZpZF0uY29sb3I7Ci0K
LSAgICByZXR1cm4gdmVydGV4T3V0OwotfQotCi1mcmFnbWVudCBmbG9hdDQgZnJhZ21lbnRfbWFp
bihWZXJ0ZXggdmVydGV4SW4gW1tzdGFnZV9pbl1dKQotewotICAgIHJldHVybiBmbG9hdDQodmVy
dGV4SW4uY29sb3IpOwotfQotPC9zY3JpcHQ+Ci08L2hlYWQ+Ci08Ym9keT4KLTxjYW52YXM+PC9j
YW52YXM+Ci08ZGl2IGlkPSJlcnJvciI+Ci0gICAgPGgyPldlYkdQVSBub3QgYXZhaWxhYmxlPC9o
Mj4KLSAgICA8cD4KLSAgICAgICAgTWFrZSBzdXJlIHlvdSBhcmUgb24gYSBzeXN0ZW0gd2l0aCBX
ZWJHUFUgZW5hYmxlZC4gSW4KLSAgICAgICAgU2FmYXJpLCBmaXJzdCBtYWtlIHN1cmUgdGhlIERl
dmVsb3BlciBNZW51IGlzIHZpc2libGUgKFByZWZlcmVuY2VzIOKGkgotICAgICAgICBBZHZhbmNl
ZCksIHRoZW4gRGV2ZWxvcCDihpIgRXhwZXJpbWVudGFsIEZlYXR1cmVzIOKGkiBFbmFibGUgV2Vi
R1BVLgotICAgIDwvcD4KLTwvZGl2PgotPC9ib2R5PgotPC9odG1sPgpkaWZmIC0tZ2l0IGEvV2Vi
c2l0ZXMvd2Via2l0Lm9yZy9kZW1vcy93ZWJncHUvc2ltcGxlLmpwZyBiL1dlYnNpdGVzL3dlYmtp
dC5vcmcvZGVtb3Mvd2ViZ3B1L3NpbXBsZS5qcGcKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDkxOTkzMDEzYWYxZjI1NTFjYTk3NDg5ZjE5NjZhNDhkZjQ3ODY5ZWMuLjAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKR0lUIGJpbmFyeSBwYXRjaApsaXRlcmFsIDAK
SGNtVj9kMDAwMDEKCmxpdGVyYWwgMjg1NjQKemNtZUZYYnpCfEd4Jl8jcWprXj12LVE2TCQxJFBN
JismMW42NXxXVUZBT1Y1fGNlbWg5Zlp6ZHdDJTZRNl9iXlMpCnpKP0ZsNi1ATjxvJSlJJXtBOUQr
T190KHxjKW03Y0F6Rk9idnk4Q3smMncqR0FFNkQ+ODJtbU84ZjU2PW1ASlA8cgp6LVVhfHZSUkk8
TjBGVkpWMnJkOHhFZVFBcnl0Vzc2Zjc8fVMwUFg8KkUoN2sqOUxQeHFeelppbCQtNTtLWUNCSSkK
elJ9b0g1bTxOWjJtQ0YtcjRvZXFqUEcxWEdQSHFrXlBDIWkzKlZWJCgoYnwqaGlNNmRnT3FeIUZz
Zn51cC1iJFFDCnpwST88ciltNnNZJlIpXnEtQ0VtVU9+PXlUKE5mcm9NcEEtRyV2WiRNKzExKEYo
fUsjXiokTCgkO3d3KGB5SylpRwp6elIle1FxNTU2SyhAfnRwS3ZqY0UjPkwmNWlsMmp6Z05we2Qr
VEZAVkxgem93WmBYb0g7eHZEMnE+cW1laFl2NEAKemlAUGwreDNJNzxDbD9QVjQtWSQ3ZzVBUnA9
NHMpfTQpZFY+dmokbWY0QC1BQFM1SkV2N31iNF43RWZIZkpqSDJmCnpJS2V3YHtfUGdgPTNpfTxw
ISM/RV9ZP1R7NlpyUU5gMWNkfF9ZP1R7NlpycSU2Wmt2WnY0KCpaI3xQdnh6fStxJgp6cSsjZGM+
RWRETTshNEhLITM3OU9FMitaWWxQb2EodyZ7UEgqeUg1a0tjYXcyX3wwYzFpOH5rNEwzaGchekFN
U2QKem19ekxLJVBUI1NgXzE3Vl5qZiZPST5CS0JmSFRhflR9d2ZsJUR+V3czVFgrWFpueitvVipA
eFhFSW5NTUcmQ09GCnoqWkpyRWNtMDM7b0s0O25KcGRTRXpwdn1CPzA/T2B1PnhyayRRM29mOyFt
dFJFUyo4UzhyOzVHeTFJSjswUTREewp6UHdWNjlkVC19fEhvaU85Syt2d2d3ezhFaHp1d3pWezso
SCttKGtJWjBuNDAjWSF1elghcmN9Qyg3fGtnJUc9VHcKenRPdVA2MDEkQ3VSYHhJZXp+dXZOMn0/
VCpEKiQpXm8mKHNOb243d2o0QTVxSkAqbkU0e1NVVDwjZ283NHc2TClLCnolbEBNOztGYUt3VyRp
cyZvaDx4KkFOKzZySTZIWlAmK0IpaDBle2kkKyFlTEpKc3RTVzNMSVRqezwyfEQpWVNqWAp6dytE
T2xyKX1xQHNRYWdGPV4rQz8lUmpFUXZYRTh6KUFuLUltSE59UmEwaml3bTloNiEoKXJWTmNoVU4q
ZXdkVG0Kekp3QVQ3IU9tTGdGV2NIZlBXI1YlOCsmPUJLVyU/STlzTklUWitrdHBLV3pfMz9aNFhL
Wnp1Q3R6UHAjIVV2MEs9CnptO2JBZSZLfV5FZjRpQHgjb3pEY1h7UTUqQ1YjWlkrUVo8bF9FPWZW
JUtlb08pQlVTJHVBYjY9KSM+Vz04fCVPTwp6VihwfnhTSDZlMF9GdmF9eTZnT3Y/X2k7UGtLTnpw
VHxHN2FkT3BBLUtuez12cn5uemo5KUpQWGZIUG5MOT82MTcKejkpSygwMVJuVyRUS25FKDR2PXdp
Xj5lcWt3ZXpIczAhTlRGbEBpUjdnTj0lWmkoMyE/PyNKVk84Mn51ZWBhUkFkCnpndXtRJmF8NXB6
NWVCMkcpVzdGaHVtVjZNOCNwOU57Kz5yQzAwM3lvME1OOHo+RS1WSU19NkAzSXxLan56eWswQQp6
VnRAam0xKCpQS2ZDbXImTTFoQjM+eS1nQEtuRX1jT2FWKjQ0czU/Vy1+JDgjJncpX2o5cT1CQTFD
b0dyQVI4ekUKek5gWHFDNHJtNzJmb0A7YF95JFk+R3IlSVMzVHkpaHohYDgyZmsyUVQ3IVcpTkZA
ekZBNGBHR3lLIWhMPzVJTSpyCnpoISheVVZoKnV8eiN2fGJLKiRUb0o0ZyY5MzZjcFpnbldXREst
d1hGa1AqbGEkUCMxfGFzO2A4Z1RrVDE7bHEpYAp6Rn5EKWMzQmdJaHNsZSZMSiUrUHxiQSQ3VGRr
R2ZfbWs1XnlSe35jSCpBNiFUSHZ6V0B3KyhqKzEpeWs5TE1TenEKejlWIUhzZnZRN3xwZipyPFhi
PzBFOFZ9OGFtTyZlI0o8dWBlQjZKNk8zNkJWbTJUdWpoNGxmRj8yKEpybzNHVzZVCnoxUm9CYzFZ
WkRPMzt6WHY0MU5qejBSOSZPMV9CdVpEfW80dTVgcURPRXJKaDFDXyszITl6cVI1N3MzUj5EIzk1
ZQp6QXxmRm9CY2RScEJCQ0xwMTdaTVRJQVNWZElwU3g7NXlUYjVRelJyTFZrQX4xYVVedmwzbldq
WlBeNkRZQn1pPloKenFlIWJyN3N6UEhsKmx+RF4ya1FXRnlzKkFjO3E3RlJeKENTYj53UmxZIXJH
RjVmcFY0RC09SkpEM2x6T013RFRjCnpSZ2BOfjk4XllCYWEwe3QyaGBgTmlLdTAkVTh1OUQkN3BE
MUctJCRUbnJRWkQmKElSbEQkc2gtbWU0TklhblZgTwp6V3piRX56MGYxa15VKih9fDNFKit6YCRV
QGMhKih5O2ZXRTZRSGFyckZeX1M5aUhGSTdzZjF+VDhIfH5YUyZLUH0KenhyYz48TVVOJGdXczJw
RzZeflZnSEhAYGBqZV5hOUVyVkA9OWZYflgtR0R1WGVUc3ZKITtQYms8QlN1SVEtc3JwCnp2d0Az
KiVZWjl+WWxac35IeWdKVGNMZmlNTX5mJGVYTm1VJEY5KXYrWnh0VUFwQWxhUC12UiN9ZWt1TUN7
czkzbAp6MFV2PUxmaUZRYUs/fWhtQShXN1RQPklscUZwOTh9YUZYemZoQDQxQCRlUVJhUTVuJUYo
Zkk/PzJNLUB1S0x+cUoKenskUyQ0NilfZEQ5SSsjREc7dG1BOTBAIUwzeUNJKTRAbndIN3MoRE9L
Qip8RkMyMUlHQ0Z3TDc5MnBDbDdGaHNVCnpIclpGUVEqc0omMSMoeU5rS349P0l+MFR6ND1FZmRL
MldxJFkqT007Tj5KS1VleFBpbCtAZDAmbEE+fj1OfkhRaQp6YndFdTx0d2AtZm9rPX1KZU5EcWlx
ZX5NKVElKkJTaSVLZypZZVZ+aXd1QVA3aio/RTVFfDlMNlpraXMyVVduZH4Keks3cWM2eyt4bDRM
Nyg5QExtazVnO3shJHxNdHthKSMjdHJ8Q1Bea1lyWXhwJFc8K0tvVz1HfiE9NUgpO0VjYDVYCnpF
WGdkeHRaPUxYdG9FI190UnJqKVl7RzBYd2spPE9jNjQ/cmM1bjcjXzlZSE5qej02SjlDYUxmb09H
TjxvWTk7Owp6b1dIcEV4dHpGaXhNc0w8eHN8eT94RXJ+VGN2eUhXZDZJZD9jYDxuOWQ0cVpEY0BP
em1gSzxaVV9gZFZ3QHZIS2AKej1JYExZNiVaNn43YnB8aDZyPlkwN2ZjYkg2MmNlSzVERkxTNi1F
JTI3N2k5fTdRUGVfNWIrZUw2eGtQTDdqK2FaCno2NVNBRTZ0Zm5+NW5CPGI1d3tTfTZrbjh9a30j
TFprWFYkWW1iOCR9bDNhZEJgX1NyUC1vdGUlVys/fSQ1fikzRAp6RUBea144dEhReDV0KmtscEpr
ITQzYko5Y0x2cHhzeF5oVyFeWVMkRXcoYGFEMk1ZV08wU2NjTDVmb0p2cVpPeD0KeiRkeFJXM1k4
OSYxKGx5RmVeRWhLKE47LVBTJEBSdyRvKX5IRHg5amFZT0x6NDhvZTQhdHhnP0tTNWw4dnBWTUh9
CnphTU5oZ01BWCNLT3g5ZX07P0BlKD5lMHMySHEkUUJLR1R1YmlQRCtUV3p6TjE/YTsmMEd0biM1
SkoqLWhrSWBRPQp6OzUyd0BGa25ieFhtNDA9Z2srPj1seEs4bUVOMntOeWxUUjQ1XjZIfW5ETWRp
PDMzWG9RenozRkdifVI7dm5xMjAKemJBOXQ3XkJXNndpITYpTkNyVkZKbypZPXBTU0RDKlRScFY7
VjZ8eTJaWElMMlpYPDNKVzN5b15aWDBYNlgod3FICnpaP3xKRlcxblB5PSVERDM/cmBwPz93SWQq
PWNNbWM/dV9oZz8lVip3ZypuMiR4S096R3h7U0U4eGB3KGd4ezB7Twp6eGdFSHh4YVdDNUpSVz0w
ZCpYd3s9Y15aISpESjNqWndjPlk/K1lKMnBESkcqVXpxUCNLTmkyWWUoVjE3ezwjNzAKejBoUiRC
ZnoqTXwxREJwa0o8U1kpMVUoN3IyJk41dzhOQipUO2FTMFIpYVE9UjJTZDAqVm5SK3s9KVkpdU4m
ZlFMCnolYXZDT3VabHg0TCl9QkNVVz5qP2UqXiE8ez57KV4tblNwJHt0Qn1TPndtfWZGODx3M3hN
Z15NMWIwTVkjOWdGSwp6PFdRN0FSTjh5UV9wdFlxKFVRPnhGKnFeKUYpT2pFdjkld2xLN0BUWmk4
RzdxaXwzMF5QZTR1Wk4/MSZNbHZ3fGYKej8mSkg5SCVXRiQ2VW94YTx0YnotWiZTYHd0eGB3Ujk7
VEowbGMmRSt6c2opQl9AMWVkUykwWD42YHpmbT9WWWByCnpxbkZjQEUwa045TjBScTA/PX5Obnpn
VkRFQFRFfCZ1JntgJUQ1QEIpKnNGTjYjSDhkfnNjZE98OEdCaH5JYnIjYAp6M1pUTlBWKFhMbnJe
IWx7JThufGJzPExZTz5YYUoxbnlefCh0ellkeW9uNzV4eTx6PUdnS3xTaHFpQURJNkd1fmkKekdq
KCV2M3FlYSVEe0FZQCoxSTxVdyRzbjlwTGcxQStnQ2N3SSVZWnpJPiowZ2VpYGFnPkZWdjRAOXls
OD5TXm0wCno/YGBmQT4xKmcwPmFRQ1I3XndacXxGdmUyZjNSanFWNW9MamFKY0BQQFZDWWh2NjBx
TSQ8ZypQKnxGfCVyU1g5WQp6d1RZMlEtTzJBJENSMjt3dC1mI2thUWJtTD9MQj14XksyR2pIZiM9
aUVgRllESzVLel9wP3B6YnYxTGhpPkZjdWcKel4zMDBtJUp4cj5wRXMqNypEJSlOKkQyUXZIK1ZM
aEh8MDBLWjVlTl5abzYoQD99WUIrPzU2Qjc/TiNxVC0yWnhECnphSWt2bGV0MzVqZW9UQ3ZmNUxh
dGFqSjFUZjk4QzRlSTlsfWR7SjtJYmxHI0lmMzwkP2JBeG5+Yyp9Zy1fKUYjMgp6PzQ5JTdvdlZl
ciNjd1dmRlcxN15mRmtadUpeKX1DMHMhN08wNkBrM2dEP0xzMG4ldipTTyZFOUFSTGZ3eEt5WXEK
ekpUbjNrIVhlQCYoaUhMbiRgYX4xSXN5ZypyVjVyUGJfVUtBOXZaI2Bmaj9uNihLO347aTNNb18q
KVJuSEJ8bnVsCnpidEZ3Qz9JXyhJMH57a0o2QmFXWD09bTtMY2lFUU0kMmRBVVlxKVpfLX01fT5i
PlAkRWU8OzhyaCRuYT52P31+bgp6cSpecFo/MWl8NGdxRWJsTHBDVyZYK2p4blNyaj5WeG0pPmpn
IypQNnJBNmlNRG5wT0RSR1piUilKcnZyR3oremcKenZgY2wkYndCQTw9fm8kNDgmKEB0OENSTm9k
UiVUPVpkUGV0Wl8pbmJ0S3w9P0hSfV9iSjNCT2NMSSlhMFJ3c1VFCnpOdGx3MHVCKX0xazkma2lv
QGJsYWNrZUBBNmhBNnwhMnE+RCVjczZVVlpqTntHTTtDS3FgeWRmOFRCZU9Hfmwoewp6OD1KUkFW
UVROQiF1Y2JaQkZVbX4tPWpzTiNHdTd1ZXxRaV85bllHO21uaTtHRT1lXzZIXm4mQkdSLW1GR3Zp
dDIKemA+ZjNEbnc8WEpnfWpwajxVK0N7JlNMMmotQlF+IS18e3lWQHQ/OVBpPnM9dDgqQUVYeVh5
TXQyT0NCakN6YCVECnomJEtNR3slcVUrZUEpcitCPjJNQUNEeUljVzcrR3w3dUtJTFEydz1qYUFh
dDRjPXl9cyRrcGkwKiFCM3UjT2RWVwp6KUdtbSZtRmZBSkAzVyhHZ1kmJSRVNW5qSXttWXsoYjNa
cCVQdUMkRT0kajk9WHR6MGJnbS0yM2w9ZjgpV0RqfGMKemg+bmhxZHJtJXtJLVpIMFcxY1R1bHdV
cigoIThkPUtEPXFhanM5aFIkOH5yMnBXWihRMHV7bkJgMk0kJG1yKU1VCnpQfEBpejxTXn45cU9k
en5qYDcmPiU/TGdjano3UjRSd2Eyd2BrQ3lFZnxiJllEeEE4U1d8SD1WOSpjcERrJTVWdAp6YDJo
PFclTFZIKStZb3lyTT5jMFRtcDhYTGp9azh6OX0oWHp8NClIXyFFJkp3IXV9JHJxUzlndjs+aENM
NStqb0oKejUze0FCcjkpKFZXUyEpbSRtPVBuQ2B1QENFN1BoRkpWSlZPcH1NNnV0M0lPOXRKJEh8
c0A8ZWh1VW4mNnA8aXJ9CnpYUDlZfVdjPE0tO18rK0s1VksoT1YyaDleVlYxRjBEYzFRbTZ9SSh1
cFkzfWNoOC11SVd9U2IrYzNkdnA1WiNHOQp6KmdVMVo0N18xSkZNSmRITzhuYWJNZ3hDN0pxP0M/
aFdaPmMxcE5pI2koZkJLVVR1Y1h5JmllZl58bjUmXys0N34KemAtcVQ4cEQ1P3x3JFpqUjR6Y2Ja
e05yQjR6ZXxXc08jWWFhUkczX21Ral4tOCl7I0R0RmA0LUA+b2Y7M19keTtACnp6RjJgO3A7P2hA
QHcxWm1yNVI9QTx0LUtjcEMmMzdzeTM8KllBJE47PkpifC04dTZQKm55RmVDVEdgcm9LYTAwMwp6
Y05sZyRlRl5UMD9hdUZNPj5jYnw+XzdTbktTKCZsRndGbD1kZ1JmbF9MJTstKFMqc1E+NkY9Yl5C
P0JaN0JkI0oKejdJUE4hNzdMYihjMXkweWZoJURAbFU5cUBuJTJLPSV4JiYmLVJ6KzZsSSRfO2F+
eUNVR0oqKVdKNjx8ektnfkRgCnpJeWJveHhxTlZXYn5TY2dhVDlVdEBKcyVWXzg7RT1lP1JfKkBL
RXVeMnQyXj96WW1Vb09WVlZyYVM5QWRGKUJ5dQp6MWUjWGJXeDhKc0lFPlV4RVg+Ui1qSTdqYkI8
JEU2RDRZUTJHMW9meGNiO0N9VEUwQn5JRHI+fVpiRlpSUllVfHUKelh+aShiRjJxK1B6RGEoNVNT
M3s7b2d0R2Y4eiZianw2MVhocU9YI3h2YU8yZ0JPTyZHSDNAWUE0TmdzRkVlMzVtCno5VTVJfkp4
WUJ0MTdiciRCVjEjMjZRc3dHJEc0YEpYNk5QPzdUMTw9Uj47O15IaVdpaGNHVUleNGxJdEdQQ1U7
MQp6Rmt1JS1SfFBqc2NRWCVIJnUzb0kta0NuMWRfVmdRYF9CYnoyVk1saDEqMU1nZX51Q1kwY1gq
bEZVTWJYZ3FGV2YKemVHflQ5RTZuMVpZUGU3WVo2c0ZZWlBmMWo8Pj1YJUAzQilLelFfSER8RE56
WWFxOG5fKHM9UyUlMUcqUCtGPCVuCnojel5MNSkqTHZ+OXBxbCsheHZ4XzUpQEdzR244PFlAfEI1
e09JRkJ5bEM2fWhsQzc0bWN+fm82Q3NIcml6fXZ7Iwp6I007Y3pMZW9tb00qNWt3b3VZJVRsbF9a
ZW12cHlra0FDbHlLQnM9fmYjOSFpMkJVYChodHN9Z2olMUJ5akhRZXgKek9oaXc8bnxrXkU9P3xa
Mm1sP1pSXkV0ekw/RkVmUiVfYVRpQ282NzBMc3NMfjNmN3g4MX4oVkNqJnxVOEAlUU5WCnpjQEQl
NldzbF5LPHhnWnpDQ14wOTF1blFSUys1d2JzY3dqR0BxU180QT5QMExLWGpBKElSTyFqRFJhUGlM
aWFUUQp6SmM8VEBHKlIjeUExV3dHVTs9OyExXzA7PzE4fncmMDMwdGIwTFBYNipaY3RpS2x6fm0q
dVZwVDhlanprIVQ0QWMKekZhdW5HVUApZjQwJjBMaFU9QkVqcGhCbzJBYGwmajNuVURaNTl4LWkh
WGQmaiE5NDxGeStrbSsra3B+ODZgfXNuCnphXzl5OzlUPShRejs3VU1mVSNIeUF7TEBLVmlnaUhr
fnZabkAmamFGPFleUjFsemNFdzNQUm1RR2VhOWVtcW85YAp6VjhLWWtCKjJXb0xkSlQ5amV6fGMy
T1RGQ21tSWVjUFl8eU1VbXQmK3o+ZzQoRm9RXnQ9LVVHKVZwUVR7NTtjKyYKeihpQWNVdlNhY0wz
UlF8TCU2dXdhWTZSKzk4VjZjeCtHKUJ0ZE15UyNoNiU8YkNVYSYrPTNTTzVSekVnTGMwfjRKCnpq
JH0/ZEUrSzktP2dnRyYtdUhZP3tFcX45MVN5MkBnZlRfMU1UeHx5I1deSjtDQUErcU5XR05LbHhk
ZTtrdztRcwp6UUIrWn5TQU0wRUB1KjRseVZ8KTF2OEszfHdSVihGbGtQVCVXcCU/NHFpVztUJEFx
VHhXPEtWezdLQGd8UkAmQ2wKekhZMFg7XzY4MGFqeXVreHV0PUE2SCN6cndQWWY+fkAxTVJwZW13
IT1md2UoQSE0PVFCTG4+ZUx6V1ZmPHtZX3BOCnojazw0Xnl2WFNISU1FK3NOal94N3ZuTW90Ujgz
ayoyfk1MO3xDYWVHVFBoY3QqSDtpeldMQ21lMX0mZmRSOXpLYQp6PDVzOEh6fTFBLXl4ZHl6SWtk
eXozdEtsXyZyRHpLSy17NEJ1K2ZQMDd9b15UNndlUmNuWiZ2NE1lcFVDKXo9JEQKelRQM15sYCMr
Q2ZwS19raFVQYSFAe2BNYiN6Skg/TT9fVTZYe35EbWU7MCF6a0I3cUVgM2UqczBmQ0VyNXBud1FN
CnpHJDQrVVApSWhZMVQ0WnE7QXI5RztUKyomO0Z7cHBwbTxQZXMyOCpkYFYqY1MtVTI9c2VnfWFN
QXNBczBrc1EkbAp6QGUyfGVrfmgqQTcpeVVaekM8eGM9fD5lciV8anpiaSRJNT5gPWNMWCprZGVW
OGU+amo+MHdQXzgpR2x5SU8zZSsKenpRUUJLRTV3KDtBMHgwUXhGYnY7O3dCbWQtIyNYQkM1WnRr
OUJDUHUye3tJTjgtK1YxSj5fPypGbHVxP0Jib3dRCnozcCNTVDhUdz1mUSR7KypaS2ZMTFhEcDlj
aUM5PEklR211bDxUPiM8U0duckJCWUNXT0FNJW0kVUd2V2diYnw5KQp6cmZgeC12U15sQW5ScEI2
Jig8RV5OdDRRbSRlUEdLbW9IUXBRTV4+OVA/M0NPcnV0TVpSbFFZWFNxbnYqTjVAbioKekxhJFot
KnBTKWlpRSo7WW0/XjU2bCkxMFByemhLMU94Q3RHZ3xAcilkPTVkNXttI1ROTjAtbFQjT35mNlEo
amA7CnpJbGZxYVB5UDEtRXVNWjQpX2dWP142MTZqRH4tXzZIKEdCOy1sPks2TT1EMTNMQFVKJWVi
OX1ZUGpGMVVOKHhWKgp6UEhqcHolPW5kNm9NVzB0bHN7ZT1TOFA7RFVBOXh2UCNJUWpURlkwRChY
aWdzKjdCanZ4fUMyUl8laGc/KChCeSsKekBHSF5hIVNMNlM7PDNtSD88dzBLd2xuXjdgM3V8MlFh
YGlTUTgmR3xTTkR0I012djdgemdfNUVFIT17UDZMY0dZCnp6V0BKentMbFgkfDFgaEhLa1dEVD8q
aGpeMHZzYyNfXylGKXpfcjBgZnRycFMpQ1hEJlU0fCF6SHYlPTlTcDtmTwp6amoyR21LfnpSZU0l
K2h8THJNaHw2PHk+UzZlNSZCbG9lRH0pSjhOV3ZfeTFkNUNKPEZXKkZtYGsxKUhqcV9OdHUKenJM
bnRsOV5wKmpUSHg7RTE+c31qWEF0bFpiUTc4b28pQVNuVjAtWUQ3KUY5ZShuTS1haEQtTEQrPzlm
Zzt2NDAyCnpEanVwZT5TUCppVDE/c2p4XzkpZDNeKXV3N18qcTFuVDEmcFNWbVk9KzNlV2BJZ21K
aGFGJWhzO3heP0c7VSh0MQp6Oyt5QzE1dlVPPzdBZz1mNktOOXREeitxa0J9dz5AVSY9cl9ORzR4
KU9kaEpodDd4aDhVYiNfYVNydFclVGlyPEcKendQdX54clZmUiF6RnYmfUgkIVlBWlIyPjhAMWBW
WCNeeHkmXk9tJCQ0JVhHUzVJWVV+RVFmT15iPzBJaVI5OSFXCnoyQGgke05eZUc9M19tamU8VXEy
Z1MtfnZOWUM+ZFFqSzh1QXk/T0lLalFVK2dnbWA0JWQlZnRqU2w+QUdfPyQkRQp6azJBPnVzVDY1
bkdGLUFLdm5PLW9Ae0oxVmkldl49JWhEX1NEKXAtY1lmMDxqOGdgbmRUSDQkNCtlMTZleTEwOEYK
enoyRXZYelBiLTdlNGB3PjlHamV8b2w1JWdkPEhpNldXajk3Y0V4V3NjRC11emB3cDxqZFNHLUVl
JHNKdmVKT2JECnplY04jVnt5bDdYZEcyUXEwRD4rSiU4JkRSY2dOdHU1VHFDWXhRKUtNeVV4MTF5
VWhsSmphZE5yP0RVNWdlX3QzOAp6OHZ0UyQyKGpaMzJnKk8rWFopdmhfWmglSmhNWWk3cGIjMVc0
aEk2b2YhdXVvRDhZTG1mWmAqVnt3eGlGZ1RmO3EKekF8YSFvcUphZiF1KSh6fFAkKFFjNmFuRz4w
fUE5UmNwaVlxTEJPVHZtT3trU3ZfUFY5IXs+UChvcnoyPHtpJlRtCnpZdmgyQV9sYks1M013SmQx
N1o/LTIxWGBrN0N3RmZLX091ZzhDZn1iMXd8IWdaNT5AYmVOYzlfdzZlQ2J3WD04ZAp6QGJ2UWJA
JThoNkAkeXlaPm87JTFWcSFuVSNVfl93T3Y9ajYkPDUwekNAaVkxczs7VDZ0OFp4Uj09ez52LVA3
Q0cKektSUHgoRiopYDkkTW4raiVGb3JjXl5NSn4hPXZNcSkzZnU3JWQ3aS1MQlA1NiYtNiNuey1J
d3VWODd0dDtpMiRJCnpfeCp5dmBHNll+Mk9mYyU4eGREWjZVbzkya0F+K3RHUU08bD1CSVdQVDMp
UktmK3l9SHNEeU5VT1oxMkxVSGpkJAp6ZjMwSTd8Rj9TZlNJN1J8dU5pUDZmY3VAR2FOdHtsTGN1
byQ0PDwwaXlpZWVpe3lRUTZFdXNFU3B3eCttMkNBNVUKek9MdCU7NVU+dkxWbnB5QzB8ZzE/JnJ8
PlV7JSNIPUN7JWFUMDZHfSkhcj8lMTA3Pjk5ajQ3KXY3aSpPKER+dCpGCnp8N2U1V2VmeGk+OEJM
Tz9mbnRhRzVqV2lqdCNTTjJaWklxWEp0aW99WTxAQjtVQkpQWEgqREBqaVh9c25gZGRpXgp6dWk/
LW4hakMwZWc2fmFsRUIpQlo8bXpjeXtUe05UN0J9ZH1ld0F9cWtJekoxakQ0PztmNlRfbHMoezd2
RV9KODgKenswMXYrSnlWXnpUYz5rP2ZXK2xUa0tTKEgrMnV7U15PQExfRnM4RHhWTnxCOVhhQ0Ez
Y3tsUkUqI0QmWWBHQUklCnpud3A1VUJ3S0AoTlBmMXg5b00yRjl3b1goTkZTZXx2ak8mcT5GVk9i
dm1sO0JqK3haUSE0KiFDSz47fW90RGwrIQp6WWNLVTRTUTgoazJlVHFSP3I2PEJoLSUqbEVfZkRB
cjtXc0ttbkFPQnlidWwzWGl6SUo5U0FKN048UWtOR34pKDIKenh0U3RMekJ4I0E/Qit+Km9VbkN2
YkJoKHN6Vnl8R0p1aVZScHpUT1A+PiN+OF8+Qlp0NytNcCU8Yz5HKlFKdjQ9CnpQa0VnVEZWfWpX
TWo8TkpFUz96dU1PPXhCZ1ElVlRNTlRYX2tMfEZsK2J0MkwpKWo4ISFpYVltNnx+cW9BKEBrVQp6
KFo9S2VvcWlTbm9iOzZHPV5eb0o/M0Z7KTlXJU5CaDJaM2N5fi1tPW9uQnYzQilQKXpENnpKZHg8
MlJneHl4ajEKensrNzZBSkA0b28/MSU1akgwM2pLYTFhU308cEIqdWEwI0VEZXBzYHA/VFFQVWdE
RnYpYk16TVcyU1lDUElGfFFeCnpPMFRUZ1M5XjxRZTFQeG1pJUkyWURKZUVKckhxP3E+fkZOUTlW
KXpJZUFFWk1CcCgmVmpsfm0+cV9ffjRPdlI0Jgp6e0gpRSpwU0xIOG4yYWs+U2JjMSRPNWMzQWhm
ISZlbXxkbjVDdUEtIU1SbXJuK31lRGIqR2kjOEp7cVZyQ2NnbV8Kek9NV2NSdVd3X2hnQ0ZUMFdV
WFZaYHt3clowfHI0TnAtYXAqaGR5Mi16ZXZtbmlDJU53UHhVWVRERWx3PkdffjJnCnpoZiVjaWg4
czhUZlo/R2ZJZWgmaEtacVFAI3thWS0tSHJZKUt4Xig+QWIwc2krUnRlXzBqO15sNithRGxgfWJk
NQp6cVRrNSZZRGF2cjNQKEArSUsqVyM+aXk2e3d9fSpPUzhiRWNiSCkkMFhFb0dvRSp+UjVqWWhe
MnE2V3x7ZEo+JU0Kemh1IzZVMUVQTDNqZmJZJFhRXiR4KH1wM0BAdERZbkhsMzlgPXY+R1Z2N0so
UUN4cEBZXzdvSks5KmZGV2h4Tn5LCnpkQ08re2FBYENwcDg4UEI4QHshU1I0UHlKSXdUK28rQ30q
S1l4T28qVSEwNz1TZ1VGJER5ZjxKVDY5WT04RnBqdQp6Yig+Qmt4ZTtHZFgrcWc3Vkp+NDlgQFYj
RzRXPWJFP1lLI2FhPjNiPWhXdWpTOChXTlVte1pKX2BuKlhtdmNebn4Keip0MEd1e15QPT9fZ1U0
YCt3KW5ETVZGNmsxY31+X21RP1JsbkB5RHR4QVl5TXk0bn1hb2VNQHgrQHRVJXhTPjZeCnpza2VN
N3NXUlhgVUBZVFQqME0jfGN3UiM1SE4laDdhOSoxSVFzU0lySztZWlBPOHRPVz40MEpKbzRSRGlR
Y3VEJAp6JnZIYCFUeC1ra1ReNEw1cDhubFlgTSVsR0VlQl5NT31qMmpjMj1MWTJJXmZtOHdfUEtK
RV5JNSY5Tk1BJF9fREsKejYhPT0ydj55Ql9PNkRrRzBMeiR7UnYmRUV2KkxTIVduZnhaezxtN3k+
QThYQipKezNHQjBweyhqJUVHWVAwUmZoCnp5I0htZU0mYzgxNjleaTVQM19NZzdiYlgjbylfS3JI
fkE/IXBPPWF8MXlMXmhWMk9PIWptJkc9M2IrR2E/VnBRMwp6PHB9Zng7a0FkZk5jfUoyWXdaNjR6
RHs8Yk9NK291eHlKOHU5YG5wcmhRS1E2Uz9mYnR1fUxmSWhiVjEhIXBYP08Kenc8Y2ZsNCs+aGMp
TkdGRzd3cV4mYytWNEUxVDA0cEl3ej5yOStqI0VrTTV5RlZsN2lMeDclS1JERXYtcC1AVChoCnpH
RWFWQ3lGP0RoSHRkdj9JPjdPUnpGOVpnND1wdHNUVEA9MkhlYGhrTSRfX08/dDFGbythYzMmK1Qt
QldUbUp7egp6VTsyd3s9I09wVkYwPmN4VVlgVldvUFNaakUldDZRP3E2bHMzPn1NVF5NQXhlJU8r
aSFycXhvIU9rRW8pPlMkJDwKemBCcXdpMVNvaXU0WX5nXj9nfWpHUTh5TXVFVlRJWVBkRlR7NzQx
RmNjcFRzRkVLQ2sqSlRGTXY0cUZGN2xgVXUqCnpua0JAMEIzOHZSQmpZPDRGZlBBOFVsQjFCRm1B
SX1WPDItdlI+dzlZPDJyamhuRnhFampYcGJXdnBydkpwdU8rRAp6UXxGQSk+RzRRVjtgQWo8WDx4
Qnd3UT1Jc3NQe1NyKTY2PTYrX2B5PEhLUjU/KlVrR19AM2d1bigoJEs8RlUmVGcKeihffDB5VFNv
ZlJ1IUxte28peCp0KCRUJkNVOXBERCpsZiZmYz1KJHJ4RHNTKmI3WlAjaiZhckxgVFYwcyFAWDs1
CnpZPWFHajE4SkNwNG9QIS1ma0JvYjttYSVobz4hRUtYPFA/YDNvbn0wM29hWl4+LXNGWTx6Zk45
WGY2IT1MX1BEUwp6Nj5IfVBkWEU+cXtEYjxfMylNWEBmfiEzcCl5V09aX3A5ZT42SC1vVjxMJl5A
Kj9QKlJ4VWVPaUQhJkZzNmZedigKejZCbmRJYyNyVjFHfHRAe299LXdCe1pXO14+YFNDRDl3bHFU
aCkwfTE8fFVUYHAzWD99YiVaZ009UyVvOVdyWUYlCnpZYFl1KHptQ0JnejdgX2ckdmlINT9fdC0w
XlJSSDFwU1hoRDljOFg9Rn0mWUFPaVAhKiFTRmBsdjJTRnN7NTJjVwp6P2J6JHNWP0M1cEVKS31B
V1l7bngqRCNqPkpMe2xGRnc0YTQhZ31VUHtBOFZlUmNURU1rMj4kVmxOKzstNk03MDAKemQ8dmpH
K0Z+cXFwLV5JfnZnVVppa3ElZUtveX1HeWd5OFE/a0JfYTB1MCQycEM+T3ZIbSR5bFImIzw2YTZa
eWs8CnpwSX4oY0tEdUdaQEtiRGY/RE5tZCl2NjBFdURWXzBAZ0Y5bGtfKjJpcmFXcUp7aj9oOFEr
eC18VXRHb1VhaWFMegp6Yn47dHIkMilLaz1tdzIyXlFnU2ZSZX0zflk9R0JmdUhpQkVmTTZgUys8
JCM9cCt5I1V5QiVVK3VYP09CbWxoQUAKekRBWTRLQzNYM19WWUVNKkMxYHAmb0xwcWxjd1BofCg0
P0lDNGBBQT9nVFMxU2hxWWA/O0A9WG5eYEN2NDdaaDZJCnpyPGB1dE14R3RSNztkcFkpam1PUWBp
PEE/Rl5zX3txfFpkfXZ2cGthPVUwRHRQbXxnI0MmR3xRcE9Ce2V5RylDMwp6TytMNXxNMHtLdUl5
TFFKVkFFRj9JSU9wcmtUaV49NVJafW1TT3NaNy1MaiU0SWMmWipJb0I8SSVwSmtTU29NViYKekxV
Tn1eWmBhYmZzSWxSZHpMS00pbiZZZTU8Zk0mSyt3dVk0cT0wbkJoKShrRyQ7cVZKYmRUSkh7QTVR
el4hVmVSCnpgbSYyJHR3XjM2dUtwTXZXWkllX0U4bnBXcXgyOWxJaUlDbFJrODw8IXxgfldoek5n
MWxsNFFuSS1oXnpvXzViKQp6KF8lZC04ViFuRDR6NS1SPjI2emspMndlbnhWPWp4O29VWFJYU0tk
UUd8bzEhViRwNURMTEQ4JlB9flYpX1MxOCgKeiZgc1lmdTVPX31HYUdEQCljdC1WXkpTaitZOTN7
SWxYRzZIPWA+M0JYZkUoTjljQEk4OzhyYkk7MSN+K0x4Z3tfCnpRUWw0Yj4qI0d2clIpJT9Fdj9s
YHgyYmNZNnduTVdaMTNtUD5sSD9OQn5ofn1WKkEzQW9kMEVJWDNHYkZSe3w5cAp6ZmBTcm16TWMq
MWNfNiROSHlrIX1hbV9yQ3YoYSFvWmV9QzB5PkAybXp0RFNCJUcmOGFSTX5lWFlJfkhQRjVLUHcK
ejQ1Sz09PWYjVjA0c3w0RyplTjtkUWZzVkpBd3hPdVQpKGowd0BjVGZgV3tOKl9DOSFtVlBiTlJB
MmthdCh5LWV0CnpHRGgwdFMkJEhRQU1hTVB1TTR+Kj8qTCghYkF5QFpyTXVMfDBnOXVAdjclYzEk
a35qSGZIYF8+bEQ1eWokemp1Wgp6IVFmUGphe0lZcHw0ezx0QXA2aj54aHY0eWpaYUNRQ0R9S2c3
YU00d0cjNH03QmhmI31xT2s8ZVZ9QF9JZFpMOCsKek4/IWxOWmV9YSY9QHpmb3pKZEp1Xz9ZVCZp
JmpUXj1JVGUmWTBgQjJvTkkqXml7eUxBVkhrQyFYSVRIUm5JO1dnCnpwSEdCMjtfWHRMZ2YxNmFM
XlRaQD9OJHAhYk97Y2htelkmd2tOVFlrPnEpRlk1LXYmMj83SH03MTExSTIjTz1rNwp6dy1xTCRZ
Q2ZCYk1QdiN5UkdUTn5kZipKazhvZ0lCXnxud09gTHM5RD5FN00qKmhOcnp3aG5+c2Z2VTBodjFq
PkUKemw+c2Q5ajF9d0tGOGtXJVZ+bW5wKTtHMXVISipmM29AO0hLTGwpVCojLXlSTWQhQEZVZ1B5
NERkJUhpWW48NXhPCnpKbmRHKTxqXkF7eCUmSTE7SVVuJDdRPmN5WjhzbVk9aUlVJEo9KChMKiFF
YUNNeUlqUWl5QTZfQll+YSVgND9PMwp6SCMkdTdoP0BaPUdzZU4lKnUpdCg5clRCbkNJdkdzMkFG
WU9RP208e1Z5TTN1NTAtdENBNE9wTmRLMDUwcHF2QD0KejE/fnR2WnM1VjJgNjJAVkpyTi1oZE4z
SUxfYDsocmRpY281X3BRcUxyKm9VZVZ+KTE3cXA3dGluVHdWMU4pJjcxCnpsbndlbGFtJFVYeio7
YmJYKzV+cV8kUj8zXmx0S0IhMEAteG95ZzFwQDtZaml1aT5JcFRPS2M3ZTc2bWNSJU11cgp6OXRg
Z3E/ZjkwKSZ7WHstKmA/M0hjX1dBKi1Kbmo7VTUhMW5QblRZVzdibylKclRsIWhARF9MMk5kJkxM
RDQmVVYKemomVUM0KFhASiErQVN0bUdnKUFVbURpd2o5bk1WMGR6cXNpbDkhcShPRkhKNTRwc0Io
RWsweElmKDx1Pz4yN0p4CnpYfVlPYG4leXM4LTtDXzFSU2dHKmM4aG1CKSYySDBffTUhSkI3RjhX
TmxWVmw1KkslZlAxUzIoZ0MyOD4pQCNFdAp6VH5LQiszRHpgT2pQXjRxPyF6am5vZVN0dlR8aFNv
LUlXTVVLMT1zNkZRVXZ7SEkkenc/Y1NiR0sxPUVsNmsxRHkKemBINCtEKXchaSk/WEx5PkNMYWpG
aXE+IVQ3K3NXbGt9P0RDRSFCYiZWQGhZPz1PeWFaKkpEOD1JdSQoJnQzT35NCnpmYkheYnYqJGty
LVUwcSU7OHRFdD42TmZMVzlJfkJNb0c/cFlDY3YtLSZmZ01wRWMqWHRyb2ExMHBpcilTOCEoYgp6
YVE+O3NGNHFIJFlXfCExK15nUT4qUUlhezVAazsjKFYjekZJezYpPypnZGNaX0toa0FNcTJ9VEJp
RnRzQT9kPWAKeilWVDF3WXA1NnQ5UDYoT21rM0coNVdFJjt3UW1HVEx9JUZZPyVKbUQ8ZTJeJUBm
U1ladVBhPFZFez44a2pWZWw0Cno5d3prRmJGQTRRKiRoJW05aDwjbWdBdktKUilHWkthXl9JSXl8
Yk55citHQnZham9gfnlgR2RpQWlHfn1WbH1uUgp6eUZHaD1lNllAMm5CY3ElMW9xY28hV1N5UGFI
OX12aT03JTt6U1llIU84VTx9S1lPKHJDcj0+enV+VHNHdFlBUGQKejRjeyZKMz0zQzIhcHxzXz0z
OWMqeytgT3V4bnpIKWUpWV9ZXnRVJj5yI0gyX2gyYF5GJT9VfUBEciteel9PeSN2CnpwcHd5YHpX
VkgrMChJKHQxWnZyV1FVdT8lTmc5MHVgVztZKUN+OGplYm8pYjwpWUBDKUVWM3clbldJd3U9SldE
awp6PTdISSUrTCNrYj5fWWBmdWVDfU8oR2tQcERLRTxTbT59PTEkWEVMd15CSUNjY0AxbFNjKUVh
WCM2VXYqNUEpT0gKekN7NFNkTjg9eTklQDxkdHZfSWh3KXxGSzF1WipZYFkjck5JbjB+c1FleSFm
WklnS0clbCU4d3RydmAjKkVCUCRPCno1bztJIURUc2skJTUzWThkZWZ3NyE3WT9fNmc5OFVVVndt
NW0+Qis2SWF9cTdGPGhNX2J+RE1DV19MVlglMn1OTAp6R3tMJmImaVYyci1MQXclQjRLIXQpQk5l
QVMlUHpCKSV3VyNAfjR9OTVHTFohJm8wcDBvSDVlSE0lSiQ8Qn4kbFIKeik8QDVmZWt7NSZ3MUdl
YXZsTFNJNjtjJXtCLSMqTzlQIV49YEshYmwlc1o+JipBT3JwRl4oQEMpSjY8TjY4cjFyCnpARW4/
cVlmWXhgTyFlQW0mYVF2YTVQM3R0WTBSWitsRU8zajFeMDtjeE90UWBUezVnUSl2SX07JCVXc29f
U20hWgp6Skh6SCtrVHAyUHVYN3VDUk0jZWxaOCRUWW0oZmhhUVlMUmYmdl9LU21BMmsqPkRtK0VE
NTw8enZjNVUhRG99TSYKejc2VlN5N2lSJH5AX3w5MXZMa29zXlpDO1NYX3FRdUklISM0VjkwWHND
KTtUZUJeKy1rZ1RNeVE3aDM4a082Nj9qCnpaTEopPjR9RksqVzhXRHg1Mn5tUiZnRCVFdzJvWiZo
VF4xTHo4JXBnJkMlKW1UPml9UUktdVFESThkb2AjUHtPQAp6aj4ycj0pNDVoKyR3VCU5THVTaEVH
JURCaUdjYHgxRn0tfEFmQUl2YnF1Xkh8QVR5bmNkaX4kMkpDZ3J7cUxvN2oKemlCJk5xcz5faTRA
T3RsNUJMNUMzSEkzOXk3JCR6QmxVPSsyP0xhNzJHKnRoMkpvU3liViVicVpWRWxmYzU1TVluCnom
MXduK1g7QFVMJEorazwkRnArKFRqP3xlWCU9b0grUkpPQ2tWNGJxUWhoX0UrNkNgWnI7VlZvZVdr
Tj44M1JpRAp6VlNrQntWV1lPOT49VTs4ODh1KjZjJTg0IT8hMUp1YFlpVzFQfGhUa2A7U3RxMXom
WT5QUDN4ejs8eCUwYGcpdzAKelJJJCM7Y3p9fjtZajk/WGx3XnlMVDdYV29ARC10UCstXyNnZFhr
eU1yeztacypRRVRkYiYmM1h0XyNqelE/U01JCnpaR2BBaD9oYVB0enxwO2Z4LXRgO3VNfUhSUz1Z
SjcralNNWF9mQWBgJD5hQXhRXlY2fk1FWVV3WUFXQkJzKnF8Wgp6P2Mobm1BRGl7bTh3PTNeI2VV
d1Ujcm0hTnl0N0t5UT05dD9oakZjdzYxbXU8MkN9JUd1dmJ8RDM7TlkrQTxUfHkKeiNReXJDXztL
MHpISFVzNWU4amQrKVomUjlPO1A7eUluaTVLalpocXFYTk5AN0M+U3hsRypuMEgqdys/NE9hayVU
CnpqSi1qcF9PViR8IXNqbjxjaUpeR0k5Z1lfKT1vQ0hZQihyOW9ZLXY8eGk7IyokPERaR0xKbmRQ
YmF0UzdMLWJTZQp6YDEkR2s8NilfTForQjRGT15GelZlOWBKKlBuM3xpVyFPfGItSn5mPElXTmw8
X0ZeQz90WUw9dVFBKk9hJFlAWj8KenF+STRid0JRYngjcUFhYj5jJTZzJEEldEpDdlRvbEgjYyhi
PDUmQXh6TTUreWhEJiV3S14wdE5xS2YrY3dHK1JpCnpjNDY2RCFKSW9feDJPMm1jOHBRZ1ZLQTwq
PTMwWWk5UX0yI3NwaiNSITV1S09rUXowdDRFbnAjdX1rPj5FO1JiNQp6cy1rMEtja2IqZlVIQkxe
MDl3ZTlxfW9JKzVZeG5hcyZaT1VIPHZ5eXBeSFRSKU5oQ05qYnA3MW8wYChrcX5TXmEKeiprSiM/
QEpDRl9VcXFlQjUxKmVtOXVMRE42NkBzS1k/cj5pKnoob2M7dFZvczt9fUBJb1cwP0ZRJD1pWmBO
QjIwCnpGKk4kdFkmYnRJXjdTcjdVY3hUX0dZO1BRRyFBaSRmQ1dBQWw+R1pwIS1VZXZIOWduaj9W
eW5RelEpMSZya3w7SAp6WlJsZTlkPlozPDNBYj9tK3VKUCl2T25VRjhOOUtWcihxMHlobXRLYW8j
YDI/NEd2PjZSJSo9NHtAcipzREdWaVoKeigwIWdBKDNlSD9pdz44IzNBVHUtWUhkKXVKXlNwT1M7
bWwkUWNTMF51WVQtNmp0OTw/PFBqRzlMTW4jUitVbUlECnpCOCklR0U5NWljKTlDcio+R1IoQGtr
Zjl2OHReXytRT0NXV0c+QEg2cWJ1LT9Ec0VyR3ByI2o3K0JlTFMoTCFNcgp6Uko9LUl6I2xWWW5S
VjlfNWpSJDE/ZHZXYnk4NTh7Sit+QSZjWFFDPWFLSCNoI1NBYTgkNzg1ZWM0SWxkI3Ymb3QKemdJ
bVN1e2VUKGRXMlorSz1wR2E0T1cqa3dlK1klZW1CVGtydF5LR0w2aHFlfCtoSmNUbyQtNnQxXlAk
NSkjaDNLCnopc0crO2xlP0I4Q25zVFhCU3lwZkNqOCprbl5rajxNaFpXNWs1JXFeJWEoZz1qIW0w
KnR+Rm5Rekh3fD9lSnR0NQp6UVpsI1V1cHQheFFnUzhnV3pYdnlxdkBLOzx6YlRyJipwWEsmJFBw
KWhLWnwqTi0wZDJYOWJzelVFMyQ1SipOMGsKekp3YiUmdmJjMm1FQ2I+Pm05WCF6Sj97bWJYK3lQ
bylreTd9K20hKFFeXipnMk4zci1pP3EqKTtVOSN4ait7ZmY8CnojRD9sckZXUW1iSjZfKWI4IU85
dnpPa1glJiVPKkBsKDEpdD90dVhgJE5JVyZuY2x0K1F8PDI4czEtXilVbUhVYAp6WE97NjUyVkVF
WHBUOT0wUGFtXzU4dVBHI0Q5KiRoZih2OEhfe1I8RnBOTi1iKEMpXksrUDl1Zl9ISndgIV9gTkgK
emtAJHg8aFFsVXs5Xz9qUzF7MlFKJkp4RGdAY0AtNWVoTSlxQj9+NE48QSRyUzd9UU1BYmp5ZFI0
JWNLKChKRWRoCnotZzVqN2NxakA4TEJucCpwNEVHO2E4b2BtWTNYJWQ9ZSFgam4pIU0kIzVHOUhM
YUNpfmQlMz8jY19IZD0pO21jPQp6YzNTd1ZlRmRATVhGN3FFVDBxaW1udHtpdmR0a21aIyl4RSNW
JH4kY1ZBdSFNRWtfZyROJWo4OShyU1MoemZQJT0KektGUTk8UTYqSitWdlNVTzEhd0FMYVljcF8z
d31qPDVWYUBoYj9oQFQ9QmlwSyNaKH5kQ2VffWFgdnJsS2EoI1JuCnpMckVzUG45OUQhTSFMJkFq
IVdwel5XUW8kc2M1fXJXbUxRdCEkaiZHI351NHBsU3AzKEFENWcxUWF6LWZfOXpaZwp6XnRMRCVW
b0hYTTNYfHBzcTM+Z0lhUD9lY2E8QnxWWSRxKFpeNHtFPU9Jc1NKdkNtSH45JnJiUE97T1M3RVJA
bVgKemVIREZAPXM+OD9OM2hrZVdhd35lTDAxa1hpQ3xSeDV2a2xwUmBaSDEmUl5KWmA1MVo2YnQy
MjlpYH5BSC02TEFYCnpOSzw5QjZeJUQ/Sj0qbTdtPCtwUHI9YXBgV18oUlhlNEZyS1gyYTRHKkw2
ZXFJYWM+K3J7KCQkaFNDQVFNKlk8dgp6QWYhe2ZFUVkkTC1Gbz1IJjhZOTJzNWFrQi1kMk0lelI2
ek5gb01+N3pLMTsrPmdWMCNgdCFYZSkjd1A0UFAyJmgKekBqM3x3JTIob1dMcVQkWnhyWWxLdmBT
T2loeTNCaiZpc0x3R3kxM3JiYG5tejhyZyM7TFZhdnM+Ryk0bGI4ZHdUCnpaWFBkdjdxZVhvNyh7
Jj5WdTwmJkJyMGxkbVhXKTV3QGU0YHJ+JkhUWjd3b05mIz5eejFBWTA1SU12Vj9PTEFgRgp6NHVE
U3IpelVpaHtHJlNVISF7Z1c8NztFcUxUUit+PT0xRGZea1p2ZnQrd2wzMVo9K3QheFZTM19Gc2Jt
d0wmWmUKejMhWHglcCFuQU48JSY/RCsjSyZrWDxsbGdyV31GdktlN2JMeVo9ciFKempXWSVCR0hH
QTM4Y1F3Ujt8PmlPLUZOCno/fVc/fihIdyQ+KjFIfl5ueG1mP3dfMDt9UURES2ZicmdIdVJRRUgh
cSFhSldEXiNfVEdsZXdZSkR8KEgqejZxfAp6cWtkSmpXekVRMkxufHVsN0d6VWhiQDUoMGxIKyFY
NkB6aypxPENTK3Q3NnRaeVZWT3Qzbm9yKSo4UlBPV2RIT2UKemBCeD98PUJlVlFVIV9OYWxRNVEh
Sz82czJ3YU97azB4LUgzKXtYZiNnUXRfXygyWUFqITB5cmlfRGJGYC1qNVd7CnpEOSphJUlsRlNA
QnYwMVVVJmlzZm5IQlY+aDQze1dEc3s0cXhePCRPMmFjfGRXcHFAdSp5N15wM2laX2UhOHxhaQp6
NHZkZ3VTRWVpSmlwa1k0djNfKlRoS1hrUk5EMV87IVkxUkgrc3hWJE8kYVpLXystWTU+MX5VM2BY
fENPS28pPiUKemhOWD5FMVN6dDE9Kz08UE1oZk00VF5Mc3NsTjR1RUBqKlNXVzlme2VjKVdpP1Jh
R3F5SmtJSkVWUTFBekV+QDhpCnpEdnF5eGI4YklZJCZPU1F3PUtyNk93c0I/aEAwbi02WCEwPk49
I1IqTD8wTXJVTUs5SkMxQEY2TyVxPjE4JmxySgp6OT5gISNLRnJlcyU/VU0pRH43TjZEI3hpajkl
fH0lKyZvRXwjekZJWkxXPHBLWDMhKUJjZTFOX2M0fCR5T01FIX0KeiVoRktDeXdqN3EoITVPKkQ/
SEVBOFQlLUxPOTNCc2tGfj1AJWJJKEtKISU5eDx8WCQwd01KSEBFQiUhcHJ8aVNBCnotQW4yWiE4
cG9gKDElPk9UPktBNXRgM1RATThvIzVLc30zQnZqXiZ0enAhNFl3YlVOTWwyUFJsR3JDREA5XnlZ
Twp6UFFiUEZWYkRicSlqYGpFcTlQdTZaa0V8TkFMWTI1anh+UH5iWGVRdGh4NzB6byNVYTVgfmBZ
JHRxP318R3EpRyoKejwtLUhwdGY+TkxEezN3MzlMdG1YcCpwP0ptR1dIJVI9QWtSVFBPcy0tYVcr
KVI4N0Q+Xyp6Tmt4Jk9BXk5Ua0pECnpTXnZ5c0lEUk8oYnxqbypwWjIxJnRCbU5eO0dqZjx5ZzxJ
T25HKXlRej58YnptcnJeaTRjP3xiYHAxdzlgaFR2LQp6IW5NcWU2QUR6QiZJJEI3dWg/NVQ7bmlS
aFQwVzApTVM/amwtdk18UlkzcEFhbzJOQFp8NSZySWU4WClXJC1rdDcKemNiTmo5O2t4cE1vdXI1
Vjs8amBacXFUOTNfVmFqTCFHX3xGTXJZLVVgaWY8SkE1UXMlI3A4SX0jSEtBZmtacDxhCnpSbVVD
UkBQdyNNR29WI3R7dGhAaGl5R25CeHBaMnFEKDlDTDxzQU02RFhBaWEpcCpnQkZyfTV7IzlpZW9F
OUEjbwp6aXdaPksjK1Jfd004QGQ4aWZOISV5Y0p7dktpeTBrSSY9JmV2TkduWFJxRkU8UWk2KC1Q
am5Hb1ZaNkhrZkZYO1EKemV9XyZ+IUB2UWxvZGE3T1BtNHxRX30xdyNpfHZmTHQ5KTM/cWpKTm8z
NlVDKWV4JmNfNiplSWFnPmhSVUhUVT8kCnpEczVqPD0/NzB+WVV8LW9pRGY8MiEkV0A7MXxEbGBZ
WnNRIzw4NCt7cWQ3UXVAI30oVVpwZSR1MG55QXtJNms0Xwp6VkN9RlRlSW4kYlNlPSl6dDx5UkZk
Xl5jcUB3e1NfVyZfNDdzT3gmdFIyPFNBdDVBeUlzb3QxRVFNOHdmVlQjQzkKemhuNnQlaGQmbik0
fiFRbDkqWGAlNzhrX3FoKGNGOShyMVBSYStIdTd5b0BsVEYlYXY2VTdYNkpWTWFJQ3BqOzZKCnpJ
YG1GPENuLVZ4eyFVS2lOJH43dG52MSRlMk1Gez02bzApe2tjVUxwQzVPI2A+UXw2PHNgbCpWdFJC
VT55XkVsbAp6VzYpJCErP1NjYmVkRHZTbGVJUj1WUDtyaG5JS3hqeXBqNTdWfU1GeiUyZkoyTWNL
VW5xIzl2Y1RfKyg0YGdGcW4Kem1FNkc3ITxofnxgVztpPWlublFLRkFaRk5OWU15dXFtWUhHa1Jo
MmNxVCYrfWk+QkM0SkMldihxO1ZXXjFtY3gtCnp4eFFycXphXlR+PnFETS1NdG1laTNOSHBlcFRm
Zmxtajtycmd1NVdTKW5mNnFaeGk9djY7aUl7WWJoIUQ9aUIkPgp6Xkh+Tkk9VStee25kTWpFP1B0
e31ZfVdvQFctbGt1ZGFIZnBiVV5gUGBSd3lBO3tXUWN8RW9ZLUNmSms0cmpCXncKej9yZyUrPWxa
b2BNKmgwQ2N7cWwqK0VXKyhpPEs+bTJaaTg9ZXVvKTtwY2BlbG5Cd3ZHLW9kPFMmUkR3I0piVUQo
CnpzeVFoe3VuUjI+anojNDE9N2FOQjZuLUJJYmoldl4/YlV+P2dMbjVeYChgWVkzM05Mc19JNmZh
b0hxNElEKH5Lcwp6Q3xOKCorZig3P0M1dXR8OFJIK1RMNkBBJnxHfGNDUU1jWVc/QVBaclJHZG5N
XmspTmVPM0I8VUNRN1VmZzJpXkgKekp6NXtITyFlYmB1dyUlQGxvVUBzNWpXSDs2YUlYUSF+cyU/
b0czbHJaREVvVVIoLWFgcmA9RWxNLXRRdFlvbkAoCnpxSkVPSzYhb2dsaXZ3RXw3RGsyQyNtSjhG
Wlc1aEh1US1aelVwZUlFbUU/TTtRdEgzeCslY0JYIT1JMlhNd04zUAp6cXx8KHdWWFVvKEo7QndI
aFpWTSM4a04oanQ9TT52UUpMfHU8cHhIK3M5KzRzaHZMYzxScmk8OyZERWFHcT9NSWkKeihMJm4m
Tys+bzEzVXxJbVhPd0ZwbF5tUWhgN2FtaG9ZXlYxUXNpTGlLKngodEpIZkxXKE4xOyNzdVBHO2c1
TGJBCnolY2lnV0JMPTlxYnA1a2koPG9aYU5YS0RtcDs9MExEPjB3cXdyMVYreVZofDI9Rmd3Ukgq
Qm9sUSp0diVsN2ghVAp6c3E3fG9MZkF5OChIYj5LJD5aQXUyQTh0TU9qTSE4QWNqR1FLSEJocnAp
fWRBX141ZDtaR0N2el4qU3tVNmYyeUMKelIrM2dnSEZwcVp7SyZWdypRNEohb2oxR188XnlVR3ps
bilIXmpAOS0xSTU4MDtXVnc7T0VQYUZrOGUpdktYdEwqCno3e3p0dktSZE4mSD93UzNMSj5rQD02
ZyNUPWByeWp7RkhibHNuQX1NcmI+Y0Z3ZHIkRyUrK29COWlZJS1EKV9veQp6Kn5Ab0BGPCp+Rykz
KnBFdVBuKlMhZ0ZqK0JMQysrbH00UHtKNW51PEw5SyRaVHwzQFk1cykjQGJsejxKU0RebCoKejNq
NWBkQCh0ZlVucTdrYnVhWTVscipGS01qdCQ/ZDVPZylTekRrRmBobHN1Qmsqe1hiRGM5cSg+cHFI
QXFIbDdNCnpPKD0kVHd+Rn5MQGl7OzZScUl3VC1jPT03VjxHbDcrJXBleSkmRUhCeXxSV043eiQt
Z2sxI1UmUlBIITZQZCV9Qgp6KzlGcUhWeVg7TUs/MExCMHZ9JU5IKFcoTHR7SXBVNXpVe3ZmP1p0
SVFNN3cyPiYrKnRmPSg5diNEQSQrWkBCai0KejdxVFh+Mzg8O3MlVEw0Kyp2VUk/SSVJRGoxeT1U
dlh4MTNabXo/bXNWZmRaVzFWdHA2ZHcqKlZjTml0ZmNeeWBwCnoke0p9MGVuckJ1ZG59eyhldUEl
OSQ7M2tlak5XcHFgSkd2XnlveTttOGR4WmVVdnolMmprOStNdDFvO1IqUUtSKwp6NzA1MT5FdX5t
RUB3c0YqQ2ZBVFBFTFVjdVZwUFJhUTMrKHh7OG9qc2FVakM+bWUlWjE1UkB6Ui0yMWRwNUx8Vk4K
ejAofHxGcShHOUtRbU9NQmcxZ143Vz5KNy1XJH4wTXJrK0p0eWEqU2hDdDFvdnhQTG9zQHpWfmVQ
JHA+QE9SSVFfCnpLc21vZ1QwVyEmI1FWIVFDalhVRz9IYCU2NTUqPEQ5cDNuVjVPPHZAX1Z9SiVY
eks7cFlUWih1U1h7d3VtRUxNRwp6UkFPWmwyV09hRyVsSXx6OUgkPDcoPWVrQkM2Km9jc1NYPnIq
K25wbiV1TDk9PWlIazJvTz58SEV2Wng5Pz9EKW4KekNWV2o1e0F9M0lyS0ZsQSY9V3NTKFZqaFU8
SFBLamhzRClfSUA9X3V2KCs8Zm5ua2FCbz1iUVRnXkMqNkh8aV5aCnpoK1Q1ZHlaPUJqJDlsTVA2
YzVVNTc1TiRXe04oZFJiaW59RCVmViZ+PCspaW95IThVamszI0VaS2drMVp4M3p1QAp6azBxYERx
RSV8Xm9MdT5wSGcqVGReJT9tSmhVNlE2VmF3eVVeZW1SVVM9bmJpdlhfaiROTzw9P2opUzBRaCh5
dzYKenMmQ2BoJHVNNDQ4MCYzPjxseUlqJn1FQF98NT1MI0tYNkN7JUtsb0kzfF8oPXFaQTI+PC1W
NVUtbkRIRlo8S2hECnpAKnh+STh7KnktXjtMbDYzVHVWdml+N2FHSyozKWoqSXAze3A1RFkhVXY8
OWc1NWBxVy0tTERBMkBrfHc4djBscwp6U0pWV3tUcmpxcVBQI35UXn5AUCp4OUx+czl7ckhHbmJU
QXpWazJocGJAd1ltSXAla2V1RE5CXkdeOGtkOUl+RnkKeiVTVGZAR1FyZWs3T3d3TUgkQl9CcDFx
b2ItWHlZKzhtX2VYeCM/NStyP3A2IUB2QT9KP1ZsU0tnWENCckxuKFdrCnolWWtXSjQ9JiUzbUR2
aSEtMT5PWVF3RWFFbEZJUGBkaDMhbm1JMmVKTSl9Xz9pYiZxa0tkUkktPmVFSkg5ViptMAp6dWI5
QSlxNlpROHF6fVlsTlVydkw9UXV4bjk3fl8hSjF8IzI5bUolP24qQ2NBPnpGRCs8djZQeylIcm55
RU04U0IKejAreEgwKFZASHVSXmZXWXJATiZ8WjtNb0B5Qis0RzR0cDZ2QEJjeGB1O2Fjd051MFYx
N09rdWo9dXs2R1RhQFgqCnpqM31AR2c4djV6UncyKzgqQjl4REMhdnElN2VYZ30hSENkPXBPczxg
Z0BrJjhVOG5PYmV9QjtMYmx1WmB7OFRSRAp6bCUrKiRLQEgxe0pIan1BR3MmTGJJOHdSV2tZIVpL
NERYfFlNXlkpQ0tlTUFVR3BORm0pcXs/PGVDWEp+WmtWTTcKem5oV3hVUXVLKnxQSWlZKl84Xk5D
OElMYnR6S0lPQDZ+ajsoXihuIVM1UWI3Oy1kRUxWZEBsLTxNXnlLT1pMc0hXCno0IVF9OWQ2cig9
Z1ZFbDVUaEJUUEd0eUFlMFdrSjZGY29pKyQoe2FAa2BRQV9DSHslenl+blV3aWU7MSRzMEY3Pwp6
Vm52d3c4KGpNPlQrO2AlMEBmI282bStaYWkhMC1sMCN9ckM1fCpRSGojcDtWTkpCbk5QYDZ+WFk4
NHs0d083NWsKek44PU84IUg1M15qZWxRKlNPRFctLShfRUlZS28leyFNQ1QybXEmaXtoVWU+N1J7
KmV6e1k9MGduMThLJChXekRPCno+Qz1IJWp5aWM+UFUhTk1fZDh+JFNLflJGejNUSiZrQjxOek5L
Xl9wKCNEMVFZbHJvWnJFSWt5OHZONEF0TXd7Xwp6VTt9YSFYUmAmfWRwKDE5MDhYPTsmJm1TKz5+
P0htP1JGd3RIV047RWpsQVVwYjJSSXI8c2whKyNGVzUjPSE+fkQKejdUb2M8Mypxd3BLdHY/MD1i
YlZycCVJenpGe1ViNDwyJkl2I2M8MmorMipXPiFkcGtHbng/a250NXh+PEE1XzEqCnpOM0U9IVdF
cyNTRyYqd0JrcitsWW1eTzZxaXZLaWY9M2h9Y203ckk2XjQrTXJ1QDV9bWJEIVRsVD8wbDw2YTE0
Iwp6QTNAOX01Yno5YW50RmstVGBFZjJ6SzU7V2ZIcXMpeF5CQF5MWHltVF9OJn0pMnR1PVl0NDJL
bE9KbX5SdF5edEoKek4yX3YpS2FpfWF7TCFpO0h3R0xOQSpHaHtvc1koRmJxNDVkKndSaX1gYj9p
SF9xNG9ARX54YV5EUTBaMzBlTiR1CnoyfHI4UDkpKFIoVGtkXk83KDFWNSRRcWghSW90VWF5ZXYh
az47MkRTdkI1ZGw1I05fTXJrRT1ESUlmc18yUi1wLQp6dXxYVnFXeDUralZYSHp0PCl1UHt2eDZm
KCs0fmFsJUl9cC1iWGg0VFApTVllLTszTCN1eFFlfD42OFRNKDN2Z0IKelVsbVpLSGEzQE5II1Rm
QyVASUstVWRCe0chQjh7TStrKDZ8bURXTCs8d2sxfi1kJVROd1M0JGsoUVhLSlRyR14pCnpRSUZY
MTwyXzQ7I2ErZ2BWR3lxQEdtJD82PEdmPE87XitgcSskWj5uT0VvYXNgd1IqajlyRiV6X2x0NGpM
RWslTAp6ZjJJR15hRV5VQThCfjspTDFPJUlgSjxrYy1BOUJFaWkqUWo8bl9PRiR3NDExWVYhMTRH
eVRkNlg9fnl2VTRFeUwKektUeCh+MHlhT3laYEhpN3JjcFA/ZEsweX1wRUlIR2ROSkAzPyF+SF9N
QX11dHVOancqNSNTPU5FNj9ETTs5OWB7Cnp2PGVYRUtnaG1pRT9zR09CVnZ3T3N1fG5nRV5DaSZg
VWpyVkBjYGFecX5eT2BlZUxiPXhYM0p1O2A5V3FxPEgjUgp6ZGkpem8tRUthcmM0TG48Nz1tblgp
R3N2NDB7TlFXPUV2P3tKc3UpTkl8PVgzZHR7diolYDxPJnBkOWdxQztZfHgKel9Qfl55cHZHK3lp
STNuS3FqbVg3PWF8MipGXlVkKGZRPyF+UlMxTTJCZXFFZHU/T056TlJXNSlta1FYOVMxWSllCnph
O3NLTzZGIzllNDJlTn57fUFfQ2t5JUtBR1VCZy1nWD1Da29BOzRXeytMS3d0MjZFRVlPU0xZJCpQ
dXdPekZ5bQp6Q2lZPmhnLUFLV0Yjb3xoYDZEYyZUYnQ1PXZ7YU9PPEBKWkx5MTdYVzh8JnhBWnZ8
V1lfPV9rRnBMYWJiP1BFN0UKemJpfD1BV0BRSm4oKUN9S0lKNEQ9Mz5YWnM4ej96YEUhTWVtViVO
NT9FfVMmI0hGVTVfbTxRbjttRUVjUHtmRDgwCnpiJGxmdUkyNmhTYXhGSnBDc2UpU145JnY3dHFi
RmdqKklqcFVTTWNVZmtrMn1eXntZcyVPeSVKSEBLPyFMRUVZJQp6RTxPKTtEcVppPnshKTx2NyZ6
WEszVURCdC0rUysxM3xgJVBuMVdIR2IkbVVHcDdeWlRwai1AeWJhMnYkelgkS1IKej5vR3J9R1Um
ZzVQWEd3WUpxYERSTTVtYkUyOEJmekJwdnJ4TH53KDZGS05HQEF1eURDPlJ3MFooU1phZT5IZW9u
Cno+KGxQaVBrWGp8X31gQyNgdXlMKztiazBeS2dkJERsdmZIM2Qxb15BOXh0ZnQ3YTRFTEVWbCt3
N0t4PHRzP3JybAp6Z0FhdD5EQU1UUyhVMXNsUVo4Til2dEtFYmIodVQzZHlyY2BTbXAxfUo1Y15g
NkNAeGBRdkJ9azJMPko2MXpVbzIKeiFKek5wbFRiamFfNUNNMyE0fGcpUmJ2cUhZaTt5SGg0K2dm
RmZ5bTd6WTQ3LTdxbmkhelhLe0hLYkFEdkh8b0FNCnpfSSVhaWMyaiYob3tlYT4+JH5qYjska2NC
ZSVoUmc8YDx+SFVETFJFNkw4WDRkSjAyLURlU1YjKzk4cCl2bVB1Tgp6SXcjbnNmJih0NWBTbXRe
P1R3fSFLSlh0bCRVaTg9MXUqQiplZkhKcnJuaWlMRVVtemRxNVZJNElyREhSYH44bmsKelB2T3g8
Z3xiOXREUWkoOU5oWHl2Z2UpXi1oTnpmaSMjVXJzTn5sbTYqfjI1ZDg4WnlCV1FtWVMzUyZaY1dz
UnxCCno4VGBKdCZOO3Y1SmtMNGpfZEQxMWA8KnxHWXJnWkRgP3t9ZFVpYlVeez1DMjZgd21mfUts
ZSkmO2RNS2R7dnl1cQp6XmwkMzAjZDZrVzE2RD4/bkwrPS1nYEJOd0krOWZFcjB2SXtrfDhtcmVK
cGptVDg5NG5VKHNSZzh1TG5QU3JCQUQKejV6ODsxYTMjNFZfMTdqUCplTmU1JW9SSGRhbC1PRUBl
PWtJPihuOX1XcUhMcF54RD8kXjt6dWNDU0UlcCtpN3ZyCnpMMXpqMVZgNiFwPjVKaEcqOGhfQUJr
M1ViRig+cTNRVilIYkF0Z1o5cndVenE+aiFJb3pwXnREanpmfFlwQXcyQQp6RmNJY2leVGwje2J1
KjFkbCleX09NcjJmM0hiWHpGOG0tKXBPVGJmNVAodHlJTEdlfT0kZk1JNDBhMUJUVjM/KjEKekFZ
PktsMjFJM0dpVGZkPFhVNz1vNHxmPU1ZKUc+SlJIQis9R3krVj0yRmVHMm1iOU4/IV9RK090bHZT
JW1ufXp2CnpQVktsRTVAPGFNKmNXKzZBZW9DY2FiKEhNNTx0dVcrSk1VUGhxMmpvPDd5bjMwOGtx
b1BuPjglazx4WlUmUEZiPgp6JH1uJVRlK1l5akthR3E4Ump+Y2NkJGxMUD4xP0VaeUR8SjVUeUow
LTEyUkhAclA8JGZlWiVPO00yMCU7WSpMZ3wKemdIJjVYKHRVbytObWpJMCgpa3Rfbk9oUzc1TGBo
XkI2WEB0OEpEYEE7eXduTTZPKjNlJTA8ZCRYRE9YUiRENERgCnpqXjJuWHljU2pCbWk3JjVAI0hf
KU91N3xeb05COXIrZCY9UHVUWTBxaVd5cEpsNWdHJm1qODZYV2B+QkNVcFkmKgp6MGJndiZ2eiNo
a2BlMkRVb31AfEgtcGhBbVRCclpYLW5+NkRTKTckfihaMXBBbFhERShSPG9taSlkZnB3U0NLOVMK
ekhme1JEUSlIWG9WTSNzJWl5cDJlM1pIPXs/RHYxWnwyWEJ7SmFqYkZjYXZWeExYd0ReUTE2PFFT
ITFUbkd8JUc3CnpXYjMoPEhQYXU/ViZmajZKeXVBVGNpVWNOajhhRj5nQHFyeXIjMG1hdnlrSDlJ
fFo/TlRqfTlgSk9gTkg/WXozRAp6blNFRF9ZSnt6KTQrbjxKdnZxI2lQQ2NpVWRHV3o3cj9fOFpq
a2p3WjlOZWRNK05IcGs7Xl4+YiZ6c0NeJE0/Rn4KejNBIylxTUpNVSZtV09hJlp6U0F4bmU9Z3hP
Q3gtN1lXSFQ4SCR9ZEdpT0dHKFFUd1hFdXZYPzc9QGY1JjxnPElJCnpYQ2JgcW9HLUIyJW41JFF0
PWMyWTZZXlN8JmU5T0dObHl0Y0JRVmpwdG9heEAlX2F+PCVNfUpqcGFTQmBOKCV3QQp6bjNFOEI2
alZIMXdiOSVUX3FMXjxENkF1bzEoSio+WjxCWHQ1WEgwdHZWa05rSEpYZ2VVIzJ0VChJczxreGJ5
fUgKentTYlFGeFYteTNHM2s2andrX3BuMj8oUFQzYF4kcjVkdXIwbEJlYEZhOX1manFMQFp0Q0sw
Tl5aVWN1fFZJfj10CnpPIWNTIzlGY18lJSVNRzg4NXB9XiQqbX1iJEQkempKRTdLdTJNd1ZqUnRL
dXNwKntUU1ZSJHlaP0ZGemw7OTRqcQp6VT85Q1VmV1FVbFc0JUZjO25lKkdFVnloYEtwSC1WYEhB
K1c0TW1vcXA0dmJpQ15Rez80ZUIpQyl2NGU1R1M3RF4KenZkTX0+ZVMxYG94V2tIazgqSVBmZihN
MlNsaDJPNGgkPWk3UnFgaztNPHNwS0JGMzhVaGchJSprK0IxREZSI1YtCnpscE1qMm4pMiNlSlIz
ZXlxJFVFUUhBXzNWMlM7OTBmZmklJDY2UDZUeCV9b25jQll9KzxtWTZrUitXOVVFfXZqRwp6P1dF
NHcwT3hZWHVUdHpVc20jUE8rVDxMZiomOylpVV9BNGx5dUcobENRYGBVQWpIVkVPWTZ3JHZoNiN0
WHVRXnAKel95R0hwNGdSTmxYKmJ2VUQ2eGZGZH1NNDZuU3s3X3RVa0JHbnVwS09YU15QPnhOcFRv
Xy0ock5JbSpuaGVqT0g3CnpJe0FkV05XXyRXeXhXRDlxZk1rTEhmQFJka2B2PGhZZCF3amQwQTxo
MWBSX0UmUHFHa3JpdnE4JDU+I3wwPlBzawp6TzVyJil3IWhpWkRAZSFgWXFJbGZlWWZ5NlpnQn10
KmQwTXNeIUcpfTtJWGZ4KllrdjAqcHtRKz9we3BtMzRCUlAKekA9OXNrK1puYHgtTHxPdTtrZ18h
VllsTm8yJWZVQHhCRj9reU8jRHxWYl9vOFhzVFZsZ3VRV3RiRUohbDMrQV5xCno3cml8dDhrdEwr
dys7PzRrKikmeU5eanBkU3RfQWJSVShjO1ZLa0BDK2V5KXMzb1hZVD89fXNeUVJFbXVmbz4+bAp6
JmE2aEMrPk9pNE08M0ViM2xMXnluQ2o4byMkQ1daJEs/cyZmVThhYl97UU1VVG1GaEs5MXh6UXhx
PEo3PkNucl4Keks9YFQ8MHs9akdWNWFTY0ZXSTtWMElRJXw2eTY1OSVYVUBoUDtWZ1FaUWBJMCtz
Xj9YNGh7U2I/YD9tPkl+PkFXCno5XmtGaTIpZW4lMSkrPUNqWWl5JVl3PDR4PTN1SG5sfFlGRW0m
aUhYR214ODVKJldDaVVme3h6U2ZjITgzOTN3Rgp6ditLXkxqZk5CbEhLYjE9Kno+Vj92YjRPVlQr
OUBESCpUcXs7aVBXREBmMnJoQGxXJDh5cn52YDNuYXRyKXtffH0Kei08WkVTdmw/M3Bge0dKV1pq
Unp1TylaciZBRWZRd09yRD09P2Brc3RZSm5LLXJgaktTOEZIXnheK2lPaG9hNkVLCnppaEh6UHBX
c0ZKSCFGSCVeS29hQTUzJG8/dlVIXytfVkROckxzRUBaalB2U1QtVlctIVFmV2tkQFFOUEBYMilq
UAp6dFV1Pm5lLTM3VWh4NnYoPkU8XzZUZkh1UDh2NFhHdS15TXp1fmcjQHpoKUN6eX5ValNsOVkw
VEdAfDxSclopOzIKej9CfE9hdGpaYi1QfS0/WHVlZUtETnZ2TXdkdH4ybHNDMEpOSGFKV29nbWZq
bVFDOVprTTdmaT9KailAXz51JD0rCnoyTHB9MiZUa1Y0bSl1b2lXa29gaWoqT3JfPHo4eVlsfCZs
TmthI0xkIXdnNUlBJip2MVk3Y1JfWkdOViMtM15Qdwp6eSh3QX1kby0lWloqIVEyVGtLYCZXNU1R
ZFpjOFFlTVZJQXNhITJjekIxOz8mZEg9PXtkc2MkP20tXnI2X3Mraj8Kel5Vd2BpU3NjdTJQdFBg
VHl9WEswczVfVSt1V2RoP3UoYih8Q0plV0Q2aHZTKzIqYVBSam1NOXx1fjsmUDZuUHVtCnpKKDhH
WTs3X3JxRnN8UkV6IylwaUZ7c2BPMCRESGZmalp8MjVGbEpKeXh5ViQkdUg+KXwwcmxBQUN0NUph
OXw3UQp6OFZSLTc/N01NZyVaMUc7KW9zZEFQK04kSCUhT2IyZm58e3NsZVV6S2BKWVMhYWxOY0Ry
KHpRP2RvJkYhMTh4dm8Keld5SV52RFJkRXRHKzBmNmJsa0Q2TXMhVys9RWd3UyM9ci1OWGB5TnlY
Y0t7SCN1OV9sNUIkaCZmJV9OQUctN28/CnokSTBac3RUQTxjMnB8aWIxUTg1KVZFQ3JGSHVeXjM4
WEJRP0B7VnpoPSVuYnktJClycUF+NGFCPElPWkk1fVZqOQp6MyVfWm5ieVdMZjVNaHt2RTlhfU81
Q0AxUjVWJi09Y2d2YntteWJzVjt5PyhART5jTT04NW5SSl9VJkpDQjdmI0YKempxI21Sdzc5XjB6
cVojSis9PD0tU0xuNVE2IXUkMHolfUd4RS1ZZTFifklAMShYdyp1P1ohTjZye3xAMCp5IVA8Cnps
WEw0WmdWMEBIOVY7czg/MGZRQ1hNNyNPVigrU3lGWUokN3pRejlNP1hqRTFFSXl1YTsyVUIzaCly
eyh4XntaYwp6LUlWVG89MHp6N3lNal5BP2xtLT1teFZRR3o/ZmZ8WiEwXnh0fUxSOFlSclg2Z0dR
fFBAIX0teCVmaX1jTyMjMiQKejJAMHxkdU5iPDJjRG9tTks5bkU9TG4hWX5PSGEwZTJlMXt0YmVZ
dyRuenErVkppUm87ZiElTXkrd2VMfVcxc2tnCnp0RG9oKEZQfHU5VypCP0tuaURZYGhTVGs1RiFP
Q31VU3hLUXsqOzlZK2tHYF5Oe3o/SGJJQFV2VDZDdyM5V3whdgp6Wjl9SGUtSEpeO1JCUSs8eHd8
K19eaEJxcjhfeXhPZVN8MFQpMmF2RHZXZTVERCZtYFEtVSlgYiF1WlVMXnw9VHEKemJRSmhPZF80
O0NGJnd6eiZUSGVzPDhVbUp5aCkwVCt6PzhBfDctXzIyTDJ8Nj88Y01gViFIbT5LTEd+OUVYTnBi
CnpzfWEpKSRoTWRKOW52K3hLeEVvYzNJWEpya29PcDcpRmVTODgpYH5FVDVme1hiKVVhfF8hSDFt
U3g4VG5wZ2cyTQp6PiM9KDlqd18heEB7bzJUTk1WaDMxNzRHSnB+JWgoYG1Qemo7XkJ8aSh9ezgq
WGBuOyFRLXh3OGRmIX1UVTx0UCsKekBwM1ZzVjtqdFJkfWhQP1puU1hadEBFYDtlNGR9KDxBez1h
RztIPn5ZV1ojQlRHNE4hJD59c0JheXl9MWs3a0JhCnopR0IhaFZxfVZ6IVZZV013JllqTGg+Kist
MGdxNEd4NEh2dStzcFJjRVYtMGsjaDxnS1hNVTsyTEM1TGdvYCtgfgp6YGlKN25GZ0ZuNk1RY0dH
JWpnUXpNTFZnZmVLdnpAdVk1PE1YPDQkJUl3U0w8PUF6V2YoWWVhR0FuVjJFbTl4bz4KejE1IUpE
K3g4PD8mcFpOcFM/UCloe04pY2pZazI7VXlaJWx4fElRODJuakp6ZD12YzglYihLWVFWKVVMeGsw
WF5tCnokS2tQREJhTD1ORTdpeD5zNH1iRUZBNmZ5UzZtO0Q7NSNDe18kYFE8JWhiQGVIQlM8dUFj
OHJIYE16eU1Nb2Y1WQp6azZVa2xaYyN6SV57aXhAXk9FVml6fiFAUHsmfmtaRUs5PWdwP0FESXdh
d3c/I2hvb2FBbzZqfHhaMGRDIyo0Sk8KelliWDlqWk9fNHtDVFNzJiZkIzw8XmV+TXJ6d3EkaXl7
JjR0YHN6VVE1ekROczdMV08+bkU1WkMwaklpQ1c7Nk96CnpYY0EjJlkoVCVQaW1BI0dOMERJb01S
PWZ8I3JLcVQ3Tj9BfEJCOXdfZzVqVCFpaXw1ODEwIy13UFo7cSUmOyQ9Twp6QGg/QDVnfU12Pzgp
UmFpSnAmNUsyUSlKZUN9Y28lUG85N1FmVHNfRlhXUGNDNH5DKkZKUURFS3R1Wk59dihpb2IKeio/
Zl89TmplKFdpaCszXzd8YG9AM2U9T0c4NHBaOXZiLUhgYmt6IWNZJFg/b20pUTZnaCEjKkQzRmg9
cVc3UXg4CnpRPyEyZEZxMHQ1Mj1IamNgfnwzRGtIRU5jNkQ+LXVNPWxLJVhuX0o3R0FNWXpRSmBp
cGQze1ZzZDtZcTRLNUZjKQp6JDYhe19uZkdWVHZGeUBtOGdSVnElfHNHRXl6aVNwVDxQaHI5NGQq
Y0VMJTspPDgqNygmN2NPWWF+SE1xKz9lN1kKenp1ITFNYSVzdiE3dGBwd2Q4bF9GSUMmaipXZUc4
N2k8KzE4KW42M1gpZTF5S2NPe01aZn0xdz1NZXplXkNoeHZxCnpke1MyNnBkYXRSMDIqZ082Ulhx
c1F+TERaRzNxfTk+I3lUOTYyYj0yQHY/T3dAX0N7SCVsfiRsVFdQeXUzMzY5JAp6dyZ1Ui1UM0hk
OTU3fi0qOEwkd29nQl50ZiVSTkR7bm4tTHkleXdfdntkbl5TMTxgezs/OWshTDhYPHZfe3s0NG0K
ei19cCU2TjllY0JFblVWNCUtazsjN1RtKENPe2ElN0ctIWh0P0p6d0xBWkdjI1ZpbTl2VW08NzM2
SDtkb0hPcFJCCnpIbDJeVGh6ZEkxYWxeT2RKfDVxIzBWfXd5Ykwyb05hYEVkeD0rPyFRKlBTKFNK
aSFIeDJ+dWxrLVpxcStkLWRzUgp6JUI7QTxEPjswKVV3dUckdTFnO09ZPV4oS1g3fjNtdDZjJCRh
WmolITwrSjZQVmBZXko2fU05dmNxeikzNylFTGcKel5GRF5wQylCQDJjb2RHcW1KPWItSjRSRWM5
JEJgUGJhSXloRjYrN2shJHR9fCUlfk85NFdRYWY2eW91ZTZWV3w2Cno1ezFMNCs5YUktRGlBcm1C
O2BVQmd8YWIlNDR+TGlCQ2t0UWpINyFmc2dZR2kwXlh1UkFQfFY3KTZ1Rih2PntqQAp6Mm5MKipl
OCRSREJlQzMpSUhhcyF5NDxufCshQVg9bVdCd2wwYyMyfGA2SV58UGYjUVpDNll1IU1TQFdFMV8l
SSoKejg0ejRpYlgwKUhWQihQPHgkYD9USj9KIy1yRnAhMGFtTTJfVSpKWHQ8YG1pWDh8NVkjRHNu
KkltQitYaGBhJkVICnp5PSRFMF9NclBzK2xrMEF5RHc7dWF4OHxiOVpCX2NtTjhwS15sPW9ITWRP
LWdyS3wlX3lNQG9WQSQ5VVl0VkxwJgp6QnFoYlNNaXgzNDVRZ1V1QmY1R1FoU3k8KjxrNzhiKXZU
d3hMYnZ1bU4zKnsjdDxDN25BaVk5YSl9dXd7WTVJYXIKelpoRT96Nmpmdy1HJFpxc0xje2wwM09W
SW5rayh5N0pvRWRMKjhPe1QqMyU+eC0/Q2k2e3Q+fTRoMGRMMm1EWGlOCnp5O0FYNjd3PjEjNllq
bStFYmdVJFB4NFdpJGZrelU2azNqZmYjR3hPejEtdzx5TjVOIyQlZ1JFaDhFTX5PWUA4Twp6YDtQ
S145aTclP2BnPmlxVGt2ZjNRblFifXJFdS1XSXNNSUhDdTxmfVJLUyQoUzR3fVhEQHA1SmhkdUo7
UUluck8KelUoR2IlSEdQLVhES35qK3k1MylJcCo4ZDE7cnNRY0JgLWYwO25rMy0zWGp6dig2Mi1J
aSRWe1RPYUd7THcoP2VmCnpAeTRrSVRyMG5TPkR9aFRSI3s8XmswN0hlRT96V0BVQkZfdlJ6OHBL
VHJLeH56ZEcpKFFrUXNyQzgqKiVzeGBIWQp6SWFjYUUqSnBAKE5uKXg7MiFSSF5qIWBGOy1MSl5H
dGJLO2kmfTFTbFo7Qil+aylObjFhaHJXWEtFV1pPM3tASTUKej8xflJUM21eWWo5Km1mM3YzUDJC
eEt6dHlGMGVsMlhKWWtWSEl4K1E3QUZjU0UyMjlgMGAmSXJ0RWxtNi1je0FBCnpOKHpwdlcjakpC
e05hempNIVUzXjdMWnpZNzMlRDdIVCFrSW9KJTt5cyY2fUtRKiswU1l9MWFgaD5DVnl1d09efgp6
KTVCZH4rZkoyTjlOUDdAZUNpMDwpVSRpa3pET2xDRG59eDZMVDUkRSVXMXpDZD50MENmTUFEVHto
bD04SiNGWXwKelZsUCRwJDw4Vlk/JjQ8fWAjJF9RTyM5VCs/dk0xdW8kZEpnelZJZnFKS01qSjJg
Vj0xMHB7P0hxI3pPNUt5OCRoCno1Tl9jKWVqUyF0V2NlK1gxVExmYmlodmEldy0qa2wqTEVYemVL
el50RnwtO2E9LUBoaHhAYWxzWDIoOy1DbXJ1VAp6Q15uO1BScz5Eb0kmSkcmZTJLSmMqSG41ZGth
I0czYUVtPzQ+R3B3KDtzK0VqIWUkSFJhI0NLaUhCaSE4SlhSfFcKenZhQ0NtZWJ6X0MrPU89PTx7
cGU3N1JjeUs1X1RTKW5wWiFKZ3FHNU5kJDRkfShIOE9URng5dHIjYk5DdHdNY2gwCnpQSk5kTlIq
VUdBKXx7eXdVdTU+Qk1+X30lNT8qfEVUSTtvbkBEKWVTSjlxVDApUSZZMXZ8RU5rPDBEcjB1dFVg
fAp6VEY4RV5rNEFudUMlc2NSZEBWYy0mYFo1bml4QTRZZmVLPkExajFSVGBfJiljVldRMjIzJlhw
JlRVey1QZShhfncKenVPTW8/PDgyU0BuNG48UURlej4wZXBCfThieSV7Zzx+cHAoeUspXlNPd0R2
VkFGR1docWl0Y0FCbnslMU1FSEdUCnp5JTVASXh1M1ZUZ3UzK2F7VU5QMGkjWU9Xe0tjbU5GPCM9
RCEtN0RwZCorZ2BTMTtaNDlVezgmdzV6UkFreE9nSAp6ZD07JWRtYEw8ST9NOWd4eE9DdllmWGEm
fT1Pa2BEKnFXVUpKRiokSjZQODgobjkqMUlPXj5RSG9fKGNnVTxncH4KenJwOC1eY3RsJn1hKVB3
OzlaRnt9MXRyPEsoeTZ9Y3QwMW9+IWFpNDA5TXAtfUxDQnNkdHhNTkFiPnBsX3BTPiRlCnooKmtg
MUNQTHpIayE4c2E2cHdAWFleYTtJNGlsdylCRktKQj44cno3ZTwhIzNKU1djdnRCRnsmTWcqNWN4
ODx0MQp6UU9nPXEqVCMobEQhekclWFJMaWRASkBhZ0ZEe1BJcWxlR045OFQhR1A8Nm5uUl4pTkw7
NkJUJFZYZ3p0SUUjci0KejFLN2ooX1BkX0tDZypuM1owVGt0VUxuNndiTUdsOHk2JDx0LTY/emwm
cCYzczNWb1B0QDc5MnhJIXcjU1N1fE8pCnp3UWZDS1FgJGd5TE5HMyYrMmFobkR4Un1mWSllWVkh
MktVYVYpK05mV3xoRntKX0w3NVc2VGxPaCVLUUBKYENUZgp6Mj9ZQl9gOWplQUVqUXZEVn41NTd6
MTEmaT4jI0lyKk58NXRWJEApT2ROaklvYyNtMDhrJVk4U1B1R21tbFpCUWEKekZKRUB8ekFmbXpA
NT57MT9IMUx9OT9xIz9xVH1RXioybH5GQHR+cHQ9a2JPSmw2eEpEYEppdGRfOW9zWUNHcElECnpv
ZU5jTVlQMHFKU0BtQis1Mjhocj97ZypacWlNZT0kQz5SOVllazt0KCRTeVB0U25EJjR5fCg9OUZV
VDZOLStEdQp6S1Y9X3ZoKzt8OEdrSz9aUkQkQSFVPEo2SFQpVUBneXwoR2lJO15Kc2RxUU1sZl5D
JEMqRGgxancrWjBFbU01OygKekw8QyVjeV5+MXQkays1ZGFjbSE5X2kmMXlxSVprVmpKbU1tZkxo
bkYpWGMkWWwjSXNkUE4hIyleTyRAKV5RUTR7CnopITwxZ2BFYEc2e2h7fVdLVjwpWndINSNCS0x4
UlNrJDclOEZ1PTF2WCVBTDIoPGFYVXFITTZjTSZ+IyVuN2o9UQp6dWEjODg+UiY1YHoxfiUjZEhG
QF5iMVExPm1GTE5sTV8hJXFhcWo+WmcqeTlgWGVvMVZrNzdsPDx9Njs7biphSDIKel5Jc28xTmI5
eURDR2NWMmR3USltdV5oOSlpfUo7QzlqYlM9bm9KKkYrdFRTZnYpPztrKTZKa0NZPXY4R1NuNksw
CnpVQURRTT8kWVVOTFRxV0EoUHxRfnBvX2cwKT1gbTlYSDY4e0lXS2hhI34jOTdLV3l3LVBPVitL
QkcrU1BUbjx0Nwp6d3tyMF83a3c5ODdBNTxXNUd5Q0VtWXBrWUl4MUgqT2J6T3FLNmZuQyNXJHxK
SipfLUJjPFN9cjApd20xWDNRI2YKelghOU0yVE58cSF4e1Zxej5xI3t1K3tpdyQ/OXxZRWNmdjhz
Y2JvZFlRS3FCQz1vO0B3SjhEaVVHQzZMKVFzPTJkCnpCcWhQQ2Z8bERVbHVjV0JISEkqKm4qODBg
MGprPDwxSk4oP3pBfGdrKVloRG52YVdWKCpFUlhqPjZgeEd7cj10ZQp0VD5tJkF8R09zU1U7VVc+
TjF5JFomOHErVClBKk5aKV8+fUJ7JiU8WHs9WXZlWVYmJT5lKnZIRHs9TlZKCgpkaWZmIC0tZ2l0
IGEvV2Vic2l0ZXMvd2Via2l0Lm9yZy9kZW1vcy93ZWJncHUvc2ltcGxlLmpzIGIvV2Vic2l0ZXMv
d2Via2l0Lm9yZy9kZW1vcy93ZWJncHUvc2ltcGxlLmpzCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAyZjA4ZDUxZWRmZDNlZWM3YjM3Y2M4YThmMmZjY2RkODVhODgyODMyLi4wMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL1dlYnNpdGVzL3dlYmtpdC5v
cmcvZGVtb3Mvd2ViZ3B1L3NpbXBsZS5qcworKysgL2Rldi9udWxsCkBAIC0xLDE3MiArMCwwIEBA
Ci1jb25zdCB2ZXJ0ZXhEYXRhID0gbmV3IEZsb2F0MzJBcnJheSgKLVsKLSAgICAvLyBmbG9hdDQg
cG9zaXRpb24sIGZsb2F0NCBjb2xvcgotICAgIDEsIC0xLCAxLCAxLCAxLCAwLCAxLCAxLAotICAg
IC0xLCAtMSwgMSwgMSwgMCwgMCwgMSwgMSwKLSAgICAtMSwgLTEsIC0xLCAxLCAwLCAwLCAwLCAx
LAotICAgIDEsIC0xLCAtMSwgMSwgMSwgMCwgMCwgMSwKLSAgICAxLCAtMSwgMSwgMSwgMSwgMCwg
MSwgMSwKLSAgICAtMSwgLTEsIC0xLCAxLCAwLCAwLCAwLCAxLAotCi0gICAgMSwgMSwgMSwgMSwg
MSwgMSwgMSwgMSwKLSAgICAxLCAtMSwgMSwgMSwgMSwgMCwgMSwgMSwKLSAgICAxLCAtMSwgLTEs
IDEsIDEsIDAsIDAsIDEsCi0gICAgMSwgMSwgLTEsIDEsIDEsIDEsIDAsIDEsCi0gICAgMSwgMSwg
MSwgMSwgMSwgMSwgMSwgMSwKLSAgICAxLCAtMSwgLTEsIDEsIDEsIDAsIDAsIDEsCi0KLSAgICAt
MSwgMSwgMSwgMSwgMCwgMSwgMSwgMSwKLSAgICAxLCAxLCAxLCAxLCAxLCAxLCAxLCAxLAotICAg
IDEsIDEsIC0xLCAxLCAxLCAxLCAwLCAxLAotICAgIC0xLCAxLCAtMSwgMSwgMCwgMSwgMCwgMSwK
LSAgICAtMSwgMSwgMSwgMSwgMCwgMSwgMSwgMSwKLSAgICAxLCAxLCAtMSwgMSwgMSwgMSwgMCwg
MSwKLQotICAgIC0xLCAtMSwgMSwgMSwgMCwgMCwgMSwgMSwKLSAgICAtMSwgMSwgMSwgMSwgMCwg
MSwgMSwgMSwKLSAgICAtMSwgMSwgLTEsIDEsIDAsIDEsIDAsIDEsCi0gICAgLTEsIC0xLCAtMSwg
MSwgMCwgMCwgMCwgMSwKLSAgICAtMSwgLTEsIDEsIDEsIDAsIDAsIDEsIDEsCi0gICAgLTEsIDEs
IC0xLCAxLCAwLCAxLCAwLCAxLAotCi0gICAgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwKLSAgICAt
MSwgMSwgMSwgMSwgMCwgMSwgMSwgMSwKLSAgICAtMSwgLTEsIDEsIDEsIDAsIDAsIDEsIDEsCi0g
ICAgLTEsIC0xLCAxLCAxLCAwLCAwLCAxLCAxLAotICAgIDEsIC0xLCAxLCAxLCAxLCAwLCAxLCAx
LAotICAgIDEsIDEsIDEsIDEsIDEsIDEsIDEsIDEsCi0KLSAgICAxLCAtMSwgLTEsIDEsIDEsIDAs
IDAsIDEsCi0gICAgLTEsIC0xLCAtMSwgMSwgMCwgMCwgMCwgMSwKLSAgICAtMSwgMSwgLTEsIDEs
IDAsIDEsIDAsIDEsCi0gICAgMSwgMSwgLTEsIDEsIDEsIDEsIDAsIDEsCi0gICAgMSwgLTEsIC0x
LCAxLCAxLCAwLCAwLCAxLAotICAgIC0xLCAxLCAtMSwgMSwgMCwgMSwgMCwgMSwKLV0pOwotCi1j
b25zdCBOdW1BY3RpdmVVbmlmb3JtQnVmZmVycyA9IDM7Ci0KLWxldCBncHU7Ci1sZXQgY29tbWFu
ZFF1ZXVlOwotbGV0IHJlbmRlclBhc3NEZXNjcmlwdG9yOwotbGV0IHJlbmRlclBpcGVsaW5lU3Rh
dGU7Ci1sZXQgZGVwdGhTdGVuY2lsU3RhdGU7Ci1sZXQgcHJvamVjdGlvbk1hdHJpeCA9IG1hdDQu
Y3JlYXRlKCk7Ci0KLWxldCB1bmlmb3JtQnVmZmVycyA9IG5ldyBBcnJheShOdW1BY3RpdmVVbmlm
b3JtQnVmZmVycyk7Ci12YXIgY3VycmVudFVuaWZvcm1CdWZmZXJJbmRleCA9IDA7Ci0KLXdpbmRv
dy5hZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgaW5pdCwgZmFsc2UpOwotCi1mdW5jdGlvbiBpbml0
KCkgewotCi0gICAgaWYgKCFjaGVja0ZvcldlYkdQVSgpKSB7Ci0gICAgICAgIHJldHVybjsKLSAg
ICB9Ci0KLSAgICBsZXQgY2FudmFzID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvcigiY2FudmFzIik7
Ci0gICAgbGV0IGNhbnZhc1NpemUgPSBjYW52YXMuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7Ci0g
ICAgY2FudmFzLndpZHRoID0gY2FudmFzU2l6ZS53aWR0aDsKLSAgICBjYW52YXMuaGVpZ2h0ID0g
Y2FudmFzU2l6ZS5oZWlnaHQ7Ci0KLSAgICBsZXQgYXNwZWN0ID0gTWF0aC5hYnMoY2FudmFzU2l6
ZS53aWR0aCAvIGNhbnZhc1NpemUuaGVpZ2h0KTsKLSAgICBtYXQ0LnBlcnNwZWN0aXZlKHByb2pl
Y3Rpb25NYXRyaXgsICgyICogTWF0aC5QSSkgLyA1LCBhc3BlY3QsIDEsIDEwMC4wKTsKLQotICAg
IGdwdSA9IGNhbnZhcy5nZXRDb250ZXh0KCJ3ZWJncHUiKTsKLSAgICBjb21tYW5kUXVldWUgPSBn
cHUuY3JlYXRlQ29tbWFuZFF1ZXVlKCk7Ci0KLSAgICBsZXQgbGlicmFyeSA9IGdwdS5jcmVhdGVM
aWJyYXJ5KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJsaWJyYXJ5IikudGV4dCk7Ci0gICAgbGV0
IHZlcnRleEZ1bmN0aW9uID0gbGlicmFyeS5mdW5jdGlvbldpdGhOYW1lKCJ2ZXJ0ZXhfbWFpbiIp
OwotICAgIGxldCBmcmFnbWVudEZ1bmN0aW9uID0gbGlicmFyeS5mdW5jdGlvbldpdGhOYW1lKCJm
cmFnbWVudF9tYWluIik7Ci0KLSAgICBpZiAoIWxpYnJhcnkgfHwgIWZyYWdtZW50RnVuY3Rpb24g
fHwgIXZlcnRleEZ1bmN0aW9uKSB7Ci0gICAgICAgIHJldHVybjsKLSAgICB9Ci0KLSAgICBsZXQg
cGlwZWxpbmVEZXNjcmlwdG9yID0gbmV3IFdlYkdQVVJlbmRlclBpcGVsaW5lRGVzY3JpcHRvcigp
OwotICAgIHBpcGVsaW5lRGVzY3JpcHRvci52ZXJ0ZXhGdW5jdGlvbiA9IHZlcnRleEZ1bmN0aW9u
OwotICAgIHBpcGVsaW5lRGVzY3JpcHRvci5mcmFnbWVudEZ1bmN0aW9uID0gZnJhZ21lbnRGdW5j
dGlvbjsKLSAgICAvLyBOT1RFOiBPdXIgQVBJIHByb3Bvc2FsIGhhcyB0aGVzZSB2YWx1ZXMgYXMg
ZW51bXMsIG5vdCBjb25zdGFudCBudW1iZXJzLgotICAgIC8vIFdlIGhhdmVuJ3QgZ290IGFyb3Vu
ZCB0byBpbXBsZW1lbnRpbmcgdGhlIGVudW1zIHlldC4KLSAgICBwaXBlbGluZURlc2NyaXB0b3Iu
Y29sb3JBdHRhY2htZW50c1swXS5waXhlbEZvcm1hdCA9IGdwdS5QaXhlbEZvcm1hdEJHUkE4VW5v
cm07Ci0gICAgcGlwZWxpbmVEZXNjcmlwdG9yLmRlcHRoQXR0YWNobWVudFBpeGVsRm9ybWF0ID0g
Z3B1LlBpeGVsRm9ybWF0RGVwdGgzMkZsb2F0OwotCi0gICAgcmVuZGVyUGlwZWxpbmVTdGF0ZSA9
IGdwdS5jcmVhdGVSZW5kZXJQaXBlbGluZVN0YXRlKHBpcGVsaW5lRGVzY3JpcHRvcik7Ci0KLSAg
ICBsZXQgZGVwdGhTdGVuY2lsRGVzY3JpcHRvciA9IG5ldyBXZWJHUFVEZXB0aFN0ZW5jaWxEZXNj
cmlwdG9yKCk7Ci0gICAgZGVwdGhTdGVuY2lsRGVzY3JpcHRvci5kZXB0aFdyaXRlRW5hYmxlZCA9
IHRydWU7Ci0gICAgZGVwdGhTdGVuY2lsRGVzY3JpcHRvci5kZXB0aENvbXBhcmVGdW5jdGlvbiA9
ICJsZXNzIjsKLQotICAgIGRlcHRoU3RlbmNpbFN0YXRlID0gZ3B1LmNyZWF0ZURlcHRoU3RlbmNp
bFN0YXRlKGRlcHRoU3RlbmNpbERlc2NyaXB0b3IpOwotCi0gICAgZm9yIChsZXQgaSA9IDA7IGkg
PCBOdW1BY3RpdmVVbmlmb3JtQnVmZmVyczsgaSsrKSB7Ci0gICAgICAgIHVuaWZvcm1CdWZmZXJz
W2ldID0gZ3B1LmNyZWF0ZUJ1ZmZlcihuZXcgRmxvYXQzMkFycmF5KDE2KSk7Ci0gICAgfQotCi0g
ICAgbGV0IGRlcHRoVGV4dHVyZURlc2NyaXB0b3IgPSBuZXcgV2ViR1BVVGV4dHVyZURlc2NyaXB0
b3IoZ3B1LlBpeGVsRm9ybWF0RGVwdGgzMkZsb2F0LCBjYW52YXNTaXplLndpZHRoLCBjYW52YXNT
aXplLmhlaWdodCwgZmFsc2UpOwotICAgIC8vIE5PVEU6IE91ciBBUEkgcHJvcG9zYWwgaGFzIHNv
bWUgb2YgdGhlc2UgdmFsdWVzIGFzIGVudW1zLCBub3QgY29uc3RhbnQgbnVtYmVycy4KLSAgICAv
LyBXZSBoYXZlbid0IGdvdCBhcm91bmQgdG8gaW1wbGVtZW50aW5nIHRoZSBlbnVtcyB5ZXQuCi0g
ICAgZGVwdGhUZXh0dXJlRGVzY3JpcHRvci50ZXh0dXJlVHlwZSA9IGdwdS5UZXh0dXJlVHlwZTJE
OwotICAgIGRlcHRoVGV4dHVyZURlc2NyaXB0b3Iuc2FtcGxlQ291bnQgPSAxOwotICAgIGRlcHRo
VGV4dHVyZURlc2NyaXB0b3IudXNhZ2UgPSBncHUuVGV4dHVyZVVzYWdlVW5rbm93bjsKLSAgICBk
ZXB0aFRleHR1cmVEZXNjcmlwdG9yLnN0b3JhZ2VNb2RlID0gZ3B1LlN0b3JhZ2VNb2RlUHJpdmF0
ZTsKLQotICAgIGxldCBkZXB0aFRleHR1cmUgPSBncHUuY3JlYXRlVGV4dHVyZShkZXB0aFRleHR1
cmVEZXNjcmlwdG9yKTsKLQotICAgIHJlbmRlclBhc3NEZXNjcmlwdG9yID0gbmV3IFdlYkdQVVJl
bmRlclBhc3NEZXNjcmlwdG9yKCk7Ci0gICAgLy8gTk9URTogT3VyIEFQSSBwcm9wb3NhbCBoYXMg
c29tZSBvZiB0aGVzZSB2YWx1ZXMgYXMgZW51bXMsIG5vdCBjb25zdGFudCBudW1iZXJzLgotICAg
IC8vIFdlIGhhdmVuJ3QgZ290IGFyb3VuZCB0byBpbXBsZW1lbnRpbmcgdGhlIGVudW1zIHlldC4K
LSAgICByZW5kZXJQYXNzRGVzY3JpcHRvci5jb2xvckF0dGFjaG1lbnRzWzBdLmxvYWRBY3Rpb24g
PSBncHUuTG9hZEFjdGlvbkNsZWFyOwotICAgIHJlbmRlclBhc3NEZXNjcmlwdG9yLmNvbG9yQXR0
YWNobWVudHNbMF0uc3RvcmVBY3Rpb24gPSBncHUuU3RvcmVBY3Rpb25TdG9yZTsKLSAgICByZW5k
ZXJQYXNzRGVzY3JpcHRvci5jb2xvckF0dGFjaG1lbnRzWzBdLmNsZWFyQ29sb3IgPSBbMC4zNSwg
MC42NSwgMC44NSwgMS4wXTsKLSAgICByZW5kZXJQYXNzRGVzY3JpcHRvci5kZXB0aEF0dGFjaG1l
bnQubG9hZEFjdGlvbiA9IGdwdS5Mb2FkQWN0aW9uQ2xlYXI7Ci0gICAgcmVuZGVyUGFzc0Rlc2Ny
aXB0b3IuZGVwdGhBdHRhY2htZW50LnN0b3JlQWN0aW9uID0gZ3B1LlN0b3JlQWN0aW9uRG9udENh
cmU7Ci0gICAgcmVuZGVyUGFzc0Rlc2NyaXB0b3IuZGVwdGhBdHRhY2htZW50LmNsZWFyRGVwdGgg
PSAxLjA7Ci0gICAgcmVuZGVyUGFzc0Rlc2NyaXB0b3IuZGVwdGhBdHRhY2htZW50LnRleHR1cmUg
PSBkZXB0aFRleHR1cmU7Ci0KLSAgICB2ZXJ0ZXhCdWZmZXIgPSBncHUuY3JlYXRlQnVmZmVyKHZl
cnRleERhdGEpOwotICAgIHJlbmRlcigpOwotfQotCi1mdW5jdGlvbiByZW5kZXIoKSB7Ci0KLSAg
ICB1cGRhdGVVbmlmb3JtRGF0YShjdXJyZW50VW5pZm9ybUJ1ZmZlckluZGV4KTsKLQotICAgIGxl
dCBjb21tYW5kQnVmZmVyID0gY29tbWFuZFF1ZXVlLmNyZWF0ZUNvbW1hbmRCdWZmZXIoKTsKLQot
ICAgIGxldCBkcmF3YWJsZSA9IGdwdS5uZXh0RHJhd2FibGUoKTsKLQotICAgIHJlbmRlclBhc3NE
ZXNjcmlwdG9yLmNvbG9yQXR0YWNobWVudHNbMF0udGV4dHVyZSA9IGRyYXdhYmxlLnRleHR1cmU7
Ci0KLSAgICBsZXQgY29tbWFuZEVuY29kZXIgPSBjb21tYW5kQnVmZmVyLmNyZWF0ZVJlbmRlckNv
bW1hbmRFbmNvZGVyV2l0aERlc2NyaXB0b3IocmVuZGVyUGFzc0Rlc2NyaXB0b3IpOwotICAgIGNv
bW1hbmRFbmNvZGVyLnNldERlcHRoU3RlbmNpbFN0YXRlKGRlcHRoU3RlbmNpbFN0YXRlKTsKLSAg
ICBjb21tYW5kRW5jb2Rlci5zZXRSZW5kZXJQaXBlbGluZVN0YXRlKHJlbmRlclBpcGVsaW5lU3Rh
dGUpOwotICAgIGNvbW1hbmRFbmNvZGVyLnNldFZlcnRleEJ1ZmZlcih2ZXJ0ZXhCdWZmZXIsIDAs
IDApOwotICAgIGNvbW1hbmRFbmNvZGVyLnNldFZlcnRleEJ1ZmZlcih1bmlmb3JtQnVmZmVyc1tj
dXJyZW50VW5pZm9ybUJ1ZmZlckluZGV4XSwgMCwgMSk7Ci0KLSAgICAvLyBOT1RFOiBPdXIgQVBJ
IHByb3Bvc2FsIHVzZXMgdGhlIGVudW0gdmFsdWUgInRyaWFuZ2xlIiBoZXJlLiBXZSBoYXZlbid0
IGdvdCBhcm91bmQgdG8gaW1wbGVtZW50aW5nIHRoZSBlbnVtcyB5ZXQuCi0gICAgY29tbWFuZEVu
Y29kZXIuZHJhd1ByaW1pdGl2ZXMoZ3B1LlByaW1pdGl2ZVR5cGVUcmlhbmdsZSwgMCwgMzYpOwot
Ci0gICAgY29tbWFuZEVuY29kZXIuZW5kRW5jb2RpbmcoKTsKLSAgICBjb21tYW5kQnVmZmVyLnBy
ZXNlbnREcmF3YWJsZShkcmF3YWJsZSk7Ci0gICAgY29tbWFuZEJ1ZmZlci5jb21taXQoKTsKLQot
ICAgIGN1cnJlbnRVbmlmb3JtQnVmZmVySW5kZXggPSAoY3VycmVudFVuaWZvcm1CdWZmZXJJbmRl
eCArIDEpICUgTnVtQWN0aXZlVW5pZm9ybUJ1ZmZlcnM7Ci0gICAgcmVxdWVzdEFuaW1hdGlvbkZy
YW1lKHJlbmRlcik7Ci19Ci0KLWZ1bmN0aW9uIHVwZGF0ZVVuaWZvcm1EYXRhKGluZGV4KSB7Ci0K
LSAgICBsZXQgdmlld01hdHJpeCA9IG1hdDQuY3JlYXRlKCk7Ci0gICAgbWF0NC50cmFuc2xhdGUo
dmlld01hdHJpeCwgdmlld01hdHJpeCwgdmVjMy5mcm9tVmFsdWVzKDAsIDAsIC01KSk7Ci0gICAg
bGV0IG5vdyA9IERhdGUubm93KCkgLyAxMDAwOwotICAgIG1hdDQucm90YXRlKHZpZXdNYXRyaXgs
IHZpZXdNYXRyaXgsIDEsIHZlYzMuZnJvbVZhbHVlcyhNYXRoLnNpbihub3cpLCBNYXRoLmNvcyhu
b3cpLCAwKSk7Ci0KLSAgICBsZXQgbW9kZWxWaWV3UHJvamVjdGlvbk1hdHJpeCA9IG1hdDQuY3Jl
YXRlKCk7Ci0gICAgbWF0NC5tdWx0aXBseShtb2RlbFZpZXdQcm9qZWN0aW9uTWF0cml4LCBwcm9q
ZWN0aW9uTWF0cml4LCB2aWV3TWF0cml4KTsKLQotICAgIGxldCB1bmlmb3JtID0gbmV3IEZsb2F0
MzJBcnJheSh1bmlmb3JtQnVmZmVyc1tpbmRleF0uY29udGVudHMpOwotICAgIGZvciAobGV0IGkg
PSAwOyBpIDwgMTY7IGkrKykgewotICAgICAgICB1bmlmb3JtW2ldID0gbW9kZWxWaWV3UHJvamVj
dGlvbk1hdHJpeFtpXTsKLSAgICB9Ci19CmRpZmYgLS1naXQgYS9XZWJzaXRlcy93ZWJraXQub3Jn
L2RlbW9zL3dlYm1ldGFsLzJkLmh0bWwgYi9XZWJzaXRlcy93ZWJraXQub3JnL2RlbW9zL3dlYm1l
dGFsLzJkLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjNlZDBhOTM2YzQwZjI2YWYyYjdmNjY5MGE1MDlmYTE1
ZjE1ZjU5OQotLS0gL2Rldi9udWxsCisrKyBiL1dlYnNpdGVzL3dlYmtpdC5vcmcvZGVtb3Mvd2Vi
bWV0YWwvMmQuaHRtbApAQCAtMCwwICsxLDYxIEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgor
PGhlYWQ+Cis8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9NjAwIj4KKzxtZXRh
IGh0dHAtZXF1aXY9IkNvbnRlbnQtdHlwZSIgY29udGVudD0idGV4dC9odG1sOyBjaGFyc2V0PXV0
Zi04Ij4KKzx0aXRsZT5XZWJNZXRhbCAyRCBkZW1vPC90aXRsZT4KKzxsaW5rIHJlbD0ic3R5bGVz
aGVldCIgaHJlZj0ic2hhcmVkLmNzcyI+Cis8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Imh0
dHBzOi8vd2Via2l0Lm9yZy93cC1jb250ZW50L3RoZW1lcy93ZWJraXQvc3R5bGUuY3NzIj4KKzxs
aW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iaHR0cHM6Ly93d3cuYXBwbGUuY29tL3dzcy9mb250
cz9mYW1pbHk9TXlyaWFkK1NldCtQcm8mYW1wO3Y9MSI+Cis8c2NyaXB0IHNyYz0ic2hhcmVkLmpz
Ij48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIyZC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IGlkPSJs
aWJyYXJ5IiB0eXBlPSJ4LXNoYWRlci94LW1ldGFsIj4KKyNpbmNsdWRlIDxtZXRhbF9zdGRsaWI+
CisKK3VzaW5nIG5hbWVzcGFjZSBtZXRhbDsKKworc3RydWN0IFZlcnRleAoreworICAgIGZsb2F0
NCBwb3NpdGlvbiBbW3Bvc2l0aW9uXV07Cit9OworCitzdHJ1Y3QgVW5pZm9ybQoreworICAgIGZs
b2F0MiByZXNvbHV0aW9uOworICAgIGZsb2F0IHRpbWU7Cit9OworCit2ZXJ0ZXggVmVydGV4IHZl
cnRleF9tYWluKGRldmljZSBWZXJ0ZXggKnZlcnRpY2VzIFtbYnVmZmVyKDApXV0sCisgICAgICAg
ICAgICAgICAgICAgICAgICAgIGNvbnN0YW50IFVuaWZvcm0gKnVuaWZvcm1zIFtbYnVmZmVyKDEp
XV0sCisgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQgdmlkIFtbdmVydGV4X2lkXV0pCit7
CisgICAgcmV0dXJuIHZlcnRpY2VzW3ZpZF07Cit9CisKK2ZyYWdtZW50IGZsb2F0NCBmcmFnbWVu
dF9tYWluKFZlcnRleCB2ZXJ0ZXhJbiBbW3N0YWdlX2luXV0sIGNvbnN0YW50IFVuaWZvcm0gKnVu
aWZvcm1zIFtbYnVmZmVyKDApXV0pCit7CisgICAgZmxvYXQyIHBvc2l0aW9uID0gdmVydGV4SW4u
cG9zaXRpb24ueHkgLyB1bmlmb3Jtcy0+cmVzb2x1dGlvbi54eTsKKworICAgIGZsb2F0IGNvbG9y
ID0gMC4wOworICAgIGZsb2F0IHRpbWUgPSB1bmlmb3Jtcy0+dGltZTsKKyAgICBjb2xvciArPSBz
aW4ocG9zaXRpb24ueCAqIGNvcyh0aW1lIC8gNy4wKSAqIDkwLjApICsgY29zKHBvc2l0aW9uLnkg
KiBjb3ModGltZSAvIDE3LjApICogMTUuMCk7CisgICAgY29sb3IgKz0gc2luKHBvc2l0aW9uLnkg
KiBzaW4odGltZSAvIDEzLjApICogMzUuMCkgKyBjb3MocG9zaXRpb24ueCAqIHNpbih0aW1lIC8g
MjcuMCkgKiAzNS4wKTsKKyAgICBjb2xvciArPSBzaW4ocG9zaXRpb24ueCAqIHNpbih0aW1lIC8g
NS4wKSAqIDE1LjApICsgc2luKHBvc2l0aW9uLnkgKiBzaW4odGltZSAvIDMxLjApICogOTAuMCk7
CisgICAgY29sb3IgKj0gc2luKHRpbWUgLyAxMC4wKSAqIDAuNTsKKworICAgIHJldHVybiBmbG9h
dDQoY29sb3IsIGNvbG9yICogMC41ICsgc2luKHRpbWUgLyAxMCksIHNpbihjb2xvciArIHRpbWUg
LyAzLjApICogMC43NSwgMS4wKTsKK30KKzwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8Y2Fu
dmFzPjwvY2FudmFzPgorPGRpdiBpZD0iZXJyb3IiPgorICAgIDxoMj5XZWJNZXRhbCBub3QgYXZh
aWxhYmxlPC9oMj4KKyAgICA8cD4KKyAgICAgICAgTWFrZSBzdXJlIHlvdSBhcmUgb24gYSBzeXN0
ZW0gd2l0aCBXZWJNZXRhbCBlbmFibGVkLiBJbgorICAgICAgICBTYWZhcmksIGZpcnN0IG1ha2Ug
c3VyZSB0aGUgRGV2ZWxvcGVyIE1lbnUgaXMgdmlzaWJsZSAoUHJlZmVyZW5jZXMg4oaSCisgICAg
ICAgIEFkdmFuY2VkKSwgdGhlbiBEZXZlbG9wIOKGkiBFeHBlcmltZW50YWwgRmVhdHVyZXMg4oaS
IEVuYWJsZSBXZWJNZXRhbC4KKyAgICA8L3A+Cis8L2Rpdj4KKzwvYm9keT4KKzwvaHRtbD4KZGlm
ZiAtLWdpdCBhL1dlYnNpdGVzL3dlYmtpdC5vcmcvZGVtb3Mvd2VibWV0YWwvMmQuanBnIGIvV2Vi
c2l0ZXMvd2Via2l0Lm9yZy9kZW1vcy93ZWJtZXRhbC8yZC5qcGcKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uOGFlNmI0
MmRiOTJhNmJhYTEzZjUxZDAwNDZkODgyZjdiYTQ5NGY5MQpHSVQgYmluYXJ5IHBhdGNoCmxpdGVy
YWwgMzA0MDcKemNtZUZZY1ReUDVfQWZmKkVFMUtSKH54dEpBWCRieUZicz9ZVlRkIzI5MjZCMWEz
bzAxSVdyNitWVVREKmt8M0RACnpRNEhqJGZgRWQ4elNlV1RvX3BfRmNkZyVnPjszbW00Yy0wZT5n
d3YrUmVNK017cHNle3Q2dntMPU9JUVdNaiNScgp6NWE8ZjwxTn5ZOG5IZmc8YyFFSVk8eyZUIzFm
bTkha30ha0YwN0xAKEsjNHZlQDs/e141KFNQUjVOUjNkS1JHMGEKeldufS1zemMybjtxN20+ODRH
cStnbUd1dmlhZGkpSF5OPkxYX3ttMVAyRmw5SSRqTzI8YnNfXkBrIVgpbGVtNCY8CnpBQWM+dSYp
clcxYEYtNUExbVZpJmFeYHtoOV5PN3pxSnVxYnFBaEhaKFAqVCl5UCVGWHpoPE9IcStnKClOMm5g
Kgp6cUBTO1VoKEBIQTtHZkRoMFFAXiFSKj9Uc2t4O2FqcHVNPmp6a1djbDJmd242bDhsQG5hQ2Zr
fnJ2fXUoPS0+QU8KelhJZ14pWmUmRDZnaU01QE9oQi1ndGh+Q3F4fiFhbnRiJjN4UChuSCslMEpY
S1FyYlU2PSR7JTRKVktEY0s3cFk9Cnowc2oySVlqa3hCMm4qRWA2cUUmP0FwN3F9e0R5enFzP0dv
M154cSElWng4JnAybWFkd3xMdVlRX1EzIURkZi0zYQp6ail5PHM7elIoeDRDdlFLa2VaY3VLeGph
U2NSKFAmcUtxNiFQMHolZntJYDxAcSg0flg0P0k4MWxlfn15WTlaZ2MKek1VJUlDdFFZJWhgUWpA
UmVTSEB6c0hLc0tuYypLRj8mN2QoVjR5R1FjQFc2WUtRdEk+dGpCTmZmWihURTAkZXZ7Cnp6P0c4
JSQre3YjMChHc2Qlem9HVCYrJCtGZXxLTiFlbWk7figyVnImeThkU1cmajZEPDsxJlZDcTdfaXcl
ez5JXgp6MmpEaGZkeDtEVDRoNGI4WlVPbTE1dXQmPGFUUzFCZ01rSkR4Wl5rV2BXSnJyOEB2NHJm
QX58ejdPREBGSVJ2fj4KemRSTnpBRkEjX3gkT2lGO0JmV3JuPT1uaClOQGptfEFBYjt0U3FaP31O
Ti1ubjVhPVJzNEo3NX43d3tYRzBhKURhCnpmMnFnb2Y1RVA8Wmh6fV5iQGxwLXwwTjQ+Qy03aGNw
TzhSYipRaEB5fDZsST5lOFloTGBqWjVLSi12N0U2KTEyTgp6Mkt1Wkg5Ym96d2BAMzBLeyomKG1O
YzBjKDQhWipUMk9+ckRmeGk2THozIzNDcnZLbkRHKShzJj4+M1E5ZjB5d0kKekhMPzglMk0wal4q
Njs2WUBtb0xzdzg3aU08UytJSkZ8XyQ3LV95cyk8UjJYRVo0M1ZnaHheIUJ7RFZXI0hoPGQ/Cno/
WENZZUtSNjhmeDZQaXhNdF4xVzNqeXhAX2o4ZjF8OU11Wnc9RUV3e0hyfTRBQCthVTxMK1QjXyY0
N2xfUDE/Owp6cD9aSm80RHxoQD53amVOQEhQSU05fTtmIV91a044K3JSbEpTSUJTT3tabD9MKWFx
fmxmWHFPS0FPakZUTkZVP18KekAmfGM8ezZNYjJuRWBNWDB0eThBMCV1WDc5K0FJdzR4fUZ0NyF+
Wn08c0hoZTNze2ZgemxsRm1NdjdsU1BGQHVSCnpgZlpRRCVZWi0hJl84eFkhYW5oenlkZEN5NFJz
KUBEKmpLTnQwVn4yQj9Ydjc8QTNzbVJYYHhSTEorOFgxc042YAp6ezsmR1RlOys3N3Y+LStoRH5K
UWMzbGFpfWdRUChVQVFqTGgmfUU/WTVSZkl2N1VUZU8xfGRQLUs+TEcxNXVvZCEKeituQHh7ZWI1
Nj9IbUNxcDNhU0x2ZnBETX0mPzhVfT1veDRiR3p5dm81a1lUMkEzJHJNOW5jPT1FOWVJYTI/LVNt
CnowfF5UVzJNSGdFMiNGKyMwKk0tbEhpO3BMODN+bGNmI2UjQTdsfVZmN3xDXiNKMCRsPkdEciRZ
JTFQPTtubl5sSQp6b3tfdkRuSWMmclN0OGpZYDlrdVlsI0c7fmwkRGYrUkZxVmZSRTw9WilSZmVn
KVFReEtHPjl+c0dAZGstRz5eMWAKencyYCEoXmNtP1dEVXRMOD0/PmA7OEhrTElqR2F0P09xeHVN
T3JPaz4zXzwyZTdFQmdQaDlTISNzfn5HND5tbk4+CnpuPDR1XndvNyhHUEQjIX0mUUM1KWV1P31G
SWdBYGg5ei01WG89amRxVVBzPGUtY0xTNXpDXng5eyohYCVmfTI4Owp6TFc5REQhaylzNUI3ITE7
QjhRQGVmPFE0cUw4TXJ0XykxQWgkeGJPb3NZLWM7KHQjMzE4QUYqJlN4a3dpZGBkWSoKenhrN25G
TU1jRnlCfXRgNFdsN35xNi10I3JsfjJgM15ATTdnWUtgaWNudlItfVQ3bFkjOGJSJCg5WT51Ki05
WWBBCnpkWVhFSmBVbE48OFc5PXw4Y1B+P25rYnF5bmt0JHVuaEJhVW5qZkBHdnxfWWN3Nj9TOytT
e353dmB3QEZ3MlFPewp6YmFacnJibjB+MGJVdCpxPTw/X3UoaGJ1cyhWZnNVKH1VXnQ9XmczQT11
XyF5PjdVWHMmPnRgYEZvLWYtVzxXNTYKekdOZHhwR2R5UV8kOGRhKDwoJGtwbFhMRnBaa3tWVipN
NHNMKyRUbUZNaUU5YE1yWCFvI3ZJMDAjdEZ2Vl5FQnMwCnomK0RJZUpzKjMlQE88YV9gU1Y5aUVL
S3JEbVB+JDMkeElEUUZQSnUmc2hDQlg0Vm00VTxDIWEmcEVJd3BrZyo3ewp6PSg4WU0/eXl2YDQ2
di1SUW5IRyVueXtpK0AzWjFxJDY1RS1uQXchcj9BUmpOM2ZYJHVLQ3FMcWk/Vy1yYD85QzgKengz
SkgjZjR7KFVMSEJ+a2c/a3M4RT0qdGVjOUhBaTwlPUV7RiZGVXtpNUlfZkBOKmIpcGdHYng5Jng8
b0I8QlFrCnpUNjBFbG1UKFNtP3NCbm1VRSlHPVZZcGhqVVVRUmpnU255SEcyRTVoRlMoQytjektM
QDAodFV6cDdaU1R2aCFaJQp6TWUlMHdLSVl4eFc4dV4wXlduP2xkJjBOUCYmSUZJQDVgVVotX080
JXolNmheQVdXY0tVfGlzYnBxTDtgRmlzRkoKel8qUkhrTktNRjdDYCtoTVhpdTA9KmopSSFGam59
cjIjdHVFaF9eX3QkZEpmNFE4N2B0WHJreU4oTV8/N1ZrVG5JCnpWcHk/N2FSelo2QGdWVUVAbVVF
PDJ7ajN7TTZ0dnFtPXZyR182OFMlQ25RTkZSVX5+Uml6VE98RDVUVi17R30/Uwp6PUI0U1NiKjAw
bHZDPk8yPkBzRkRhV2FvJktGSkVwQjRwRUxoaCVAc0RhLWxGUm1yYFBYT0BTXiRIe2xlZV5DR3sK
ekFRY0p+VykmRn1qVENQeGJ8fiZFTmgqMExsXzxTWlc+R2QqUEVfdHdLMnVSdTMwNyVSKi17bCZ5
ezF+RUk8TG02CnpXfkcqX0htcHZldUJVIWV5K3syLUxxI0swcWViS01DRng3KE9BVkpjSE5gWU5H
XjtkTXY7PyhXd2FUP1ZYIUMxZAp6KD1PQmdwZCtCO3MjQnF9ZHxCd1Nge2tPOzhAZHZAREJWV2dQ
a001QyFGbUx9Wn43WWdIfXN6eGtRbz5vVTx9MyQKem5HSW92MSV+ZzgxZFk2bXV0c352JUVtRnFQ
cD9wMUZ9OyQwVyF7OXgxWmglbHZJa0x4KzxeMygod298dDdNTCFaCnpmejUpPXkzOSQ8QT9CSXBp
eHdnbHt1WWxjTDYjPCNuVS0mQCNIQG0+eH4oYSN0KmleSipQLSZ6PihDKF43OEA2dgp6MkFpKzhk
YlZre1ooIW9FRmokYCpxbilFJnoxPXNzMFh6ZiMhQ3V6PmhXKTRtci1QM30yWjlQPWhwMGd1VHtY
TyMKemVSYSlJKiloUiEmUG1LRSgmPmRXcj9hbmZ1TTRBI3Q0ciVPaWZpeXw0Y0FVeEVuTz5Ja0s5
YiRpcm5eKWBwOGA1CnpqezlaekVjWSFCRXNxUzM0Tm9vNDQ5YHQzRXc0PGtFcEh2fjlQZUVwZVYr
b0tlYmcwSERlND5BNT96Yl88cVAtNAp6YCUoS3teWHYzeV9EQjJvMmstXyYyMjJHPzF8fGY0Mit8
MTM0JSFQZzRYejB4MzJfU1AyeFNFdnBPPDBjVlJ5cnAKeiFuTU4tITtkNUVCM2RKdkJLOyNATXVE
VTVNUXViSU1PVmo9I35APyt0X3hoaGVTUFZNP3YzKFRsMzJJY3pNRGNmCno8OFE5ckdRTCVKb0F4
JlBfRT8tO1R0P2pDOXImSERjJUp4TUBoZitZP192fHFCP0txVEN0Z1l7TyhJWTdOZ0JWVwp6Y3JY
OW5QbURXZTxpNmJmb2NwS0EkbUVkfWBJTmtyVSNYc3s8N3B+c0JAWlljXyY9Q1MqR2FGLVY5SlFq
U2pqWmMKell8ckEpIWVrdzB5Sld3fVFPWVVKck9nZT97Zzd2dCpPNCFye34tVWd6YEtCMHM4QChE
O3g0Klpec1UmdmMpSHxyCnpObUQ2TD5IWDYwV2o8eEUlOGtxMEQ/fUBERGsmPyZFN3o7K3Mpbmw3
c19TYndZd3AqYSkldz9kc0Rzd14qUT9nbwp6SCpoemtWTSghSipzVnMjI3p+dzN1QUBvMXNUfExh
enlBPlFGem4lV15SPyE9N1NvbyNSPCtpcUhqJWE+MHQqNHQKelBTUElMelcyIWMoVDVJKWo7VCZh
WEo2TilFPCgzVmNXc1lBUGhsQHhaYHh6cCRNS0pVSiZBc0ReZmQ3ND9sWjR2CnpEfTYzflo9VHlm
cFk2QnFBMElGczcjPWhsZF9KVCpea2k2VHhhV24maV9RX1hrdz5Fe3F3TyExVWxQV1kjfFl5cAp6
PEx3aXc2Q0lRNGxVLUFxUTsoOzBya345aSVuWigmJSNJUSpoKk5YMHhtV1ghXkItUWh6dUh7elVE
JHNle2AkdzgKelRaPEhubjc4Tk89RGcjNlNNZ3JySl5xOHJodSRURnJJKlYjJVdxYllEPzYocHRF
WCU2PmtSOFQ4KztxfW4rbHNmCnpUU2kteCtnRz5PYl4+PlA+P1Y5PGBkSVd5ezhRV0slYiNFRisz
JjZHMmsteS1sNj01JVA8eUMhKm1xPWdeek4oUQp6KkJ7PzcjfmpDWEN1JTF7LXtJZGtlbmd5N28j
dmZNb09TJil7a2l6ZEA3SiREKkk/SF96UUF2fm1lZG08YWxoMXAKektueEJiNVgmUzhNMEBVRXtf
PnZeZklDZUJsbVcwRWk0NGdPWCkmMkl4ZGE2aiNYalgwKWphaWtua0N3QV5iYCFECno9UyYkeCZ6
Q1hIdihUfD52cWlKeEZLbHB0SWJGR094aEhyal8+fW9RMVgyWkNncjxjKmlJUiQpNks5bTUxN15N
eAp6JCZYUz8obGF2OFdlSVhzQCgmYmxENTh8P2xyTzcqUmFzT3wpejtLc1lQNE17KCE4VUUodVY0
MlV6WEQ0KF9ffl4KelokTSo2WmdeKCYmM056MXJwWDckRTdOaGEwck1WPFIhZnshZ0xPVCQhM0ps
R2hjKC1eIWR2YXo5Tkd9QVM2ZHZMCnpvJCRfaG16SFpDdUZ1P0ZBe1g0KEpxfHM4ZERIb0BxWGZ+
Q3pSRz8me3c0dmlLIyFuXjtGT1M+Jj9qTjkhdUtPLQp6cVdHZyNWPVMmQ1okIXBvWnN5KTl5SW1l
dmRNN1ZGP1FUTHNPa3oteT1SRXwqOz1YUk9hKkI4PWNOKzVweF4kV2gKenkzRiVnN3FiTyZCeSpN
V3dESnVMJW5NO2ZTQnNHKT0rZS0jVGpkV2IkfTAmfkJofkx+NChxN3Z4Zl43JGRXfHJnCnpTNXFX
RD4wd1RETUdMbUl3WEtXcnE8IUdnaTtsNipzVi12b3REWk4jPztvIXwqP0RAQE5Be2VwVXdsQXcm
fXMtZAp6OVB0NyhRWiROeGBEfD16e0tMZUAkKWw8NykyQX4oV3stKFNiTmxsajBjfjQoe3FEYEgj
cCQ8Vz99cHpHZD5DOUIKelMpTntieVNsWUB2X1l+LXpqYmsyWGgmdk97aUZVVGxoM0FtMkt4JE1F
YDBmTkZtI3hJZyNOMWU/Y0JIYiRNfTw1CnotPnJXTHtNYkt6YzkjRDArQXEwWnp5NyFKbSFhVU5I
fl98Zm58aGdNcE5eSlpndShFZkgpR29RS0JmWn1YO3Y0dQp6ZUQ+TGszPkBhMWNlJFEmZjh+fHJi
S3lAR1hjTD9oSXV2MFA8cldoYTdtJkNKclVNXktFPSFGfGNnYS1CQ2QtQSgKelVzRXRxbHZCRShi
ZiZ6akdOT3VDJVRrWmxhSzVDY0RYSy1Td1dCP3koe1pee0goZjdJS2Y9SiooOU91cyp6fTZGCnpp
OUFIZWwrQkZGP0FVelVWJHBLU1lTXzlEYHEteDF3Z1gxNmRrRHdjKkVwMFQzYSh+M3JaXj0hJEdQ
MFJjR0VTXgp6NFRIPmRGWT43TWVDWEJUe25UZHxIR3dBakY4WnpkPyo8JFBRM2hXS2txWHJkdmsm
KT14RCVOaClmb0xHWDhRVy0KemppWn5Td2BneWxpPSkzb2RGTjtSO29Zci13fjEzcDFOUztHKiF2
flA0XnJZJUJodmdIYyVeJH5wZlpFQXFPPFNoCnorfFNMLUU2bEdiczRzazJMQDRlbD1fPyZBbj00
PGZJSTV6b3pFfWdVKXZVOXFjV0RVMy1mRGIrRHtJMnpkbW9OOAp6Nkk8VDVabm9fYWpAeTVBUDxB
cU92MzdJekBiYCo3bVVeUTJSTz1hfSYqOGFtfElMQlMhUD1wJjtqdEdWTSF2aXgKekE3ZFhFb2x1
X0NuPStmV25Tc3dEaD5tbTReRGVLaEVuSXU7YG8/dzlee3drVypaMFR8LWI7YlkqSDx2QjEjOCYj
Cno/djBuNVo/YF5mcFlHQ3M8b3FRMVMhUGRtVWt1UUlVazZLdiZ5TEV6IyhyfT0pO1BJJV43WkA3
a0I2cnpYUS1iPgp6emw4cGVAJkNXdXwyUFhSdDByM3JWRT47MWAkdXZXYT9rUUlATS1kKzEjJCUr
M29RJSg2bEQ/PDVDPTwwZlc7JlEKenEmVEl8JWgxU3pXRG4jdjxYPFRhRTRDfXVDfSpxT1E0TGFh
UWE5QzV5KEZaMFBWLW82TVNEYGA+RSV9NEk9d1JlCnpMVzY5PlJISD1XVFVSMVkwd0c/ZSZTdGpl
Q0tsUzNEcHM9QTU+UWJhVk92MyVmRV4jNCtuJlJMOWw/QistalR8UQp6I09jaVcjTzIkeVc3aSlA
UWc+PChNbylHeFpmXmt9UTR8PDA+I058Vz81YGY2NktFVns5cWJZazc8d3gjSi1qQGsKeklyM0BM
TUQqTDNvJEpUM3EmSTFBKGNoK3RCTFA7PyklZS1GZUZeeCk7dn4keUZwVFNjXkpLTFlwO1g0eXYk
VCY3CnptZVV0QVVTLVpfeX48dzVkNm9NclokNXZuVjc3M2tYc1VSa1dVTz8mWV5yPiY7d2BZIT9O
eHVUQzloK3NYS1VjYQp6aVo7c05sJHRjfkl1R0BtNE8kRmE0Y2hid20pb0AtWD5fUHxEdDVfc09a
SkhOM08/cTIhdTZFdjhFPkVQYkxvRTcKejBsaCk8QV41UHszKlY5TyhWSCltIz9yXzBDUTJzRHJ6
KW4pV3tQSFdpUnA5cT1pXmA5U2NySFhAV3ktYitGT1RyCnpIdCglSVNURGhzLUJ5QkQ8SlBqKj5v
JlNLJEZARmZmN3ZEZiRvZmg2diU7UiV6UUdyeDFFV0x6QmJ+Mzh6TnM5YAp6cEdiWmV7bFMwQWFt
TW5LO1RQcmFAJjZaWkBfUzk3MVkqaTZWNFoqXmY8UntKQVcrRkE7Mmo/PUt1TWVmZnZneG4KekFY
e30xc2FfaDBSOGJLYERwJmI7e1U4QmVgTyQjUmdEISN1SyQwTDtBVT9KUnhxdCNkSC1WVjQwej80
NDBLRWtyCnpra0ZDe2taNiREa18zPW9OTlB6Mk4hQ2F5TnlTT2NmTEpkTmkwXmpFSUxOTSRNVSZ5
bEhwenY3TlVlJXxsUl5mRgp6I3JofjJEWCZxc1FjK1Z+cXcxITxORjdRMm5uczdGN0tvRSNYK1A0
ciZgckBCJl83fVRHbkFaVEpEMCpwJjNOfWIKeiNyWkBnZFp0V2Y5X0QlJFJoQSlFSU9fJm02Z3dT
eiojKkBMbE5XdENYZ1JRKTdNekQlTWNsXlIyUnZvRz1EZ3FlCnpZV1pPVDZhd3ZuQz9OciUqVFVI
JVAqRTA5cUY5MFdIMz4wXmtLazZ4Q0BDRmpPNmR1aUxSb0opSEYtTXVfWF9RYgp6NTByZUIlflRY
cmREVTNkJnVOXiRiVXstPE9JQk0pJEwyQ2hIKHN3P3xDenl4NXRUOWNpbThiWTxnUkklUy0xSHMK
emkqSHNPKT49PnhuPjU+USpiYm59bUpWQDx3eVNHUz85TjZtNSFiTTtBQ01nR0hYaUFvUXtGNS1f
TlglU3VIUG05CnopUFJqMyF7RkxiaE9taDYpa3hjQHAlfF59P1hlMHNBS3NSYVlsJkM5K25ndyFS
RDxFWXBPP2F0bipNKyhKdTh6bAp6dDBHNF93PiNnd1Y1UjcwaUJSY2VgUTF3MFlPPE9hYnJ9c1Zq
ZEQkN199OSZDdD83aUlON2tLay1FPSs2anxvb2AKemB0MTlxMjEkcUJ5bDVaSTl0KXA5T3pGK1k1
eWpeZjdHUTdrLXYwT3l6ST9pdHhPcmlfQHVTaF8paH4laHZmbWNKCnpyPUEpN25McXYre3xrU3tV
ai1Pe0R9WjZ9MUtqfG5nMzNVeDBFaDRmdjxFTi15ZDxoNVJ3UVZXMWQ+WEMzSFUldAp6TE1sWFJN
MmFUT0FuaGh5Q3UxU2dCTVQjSUFYX0NEQWFeQ05DZn10e3FQUiZoTSMpMU5LLW97bE8lK1p4MUh7
cjwKeilGKDk4WGh2dk5YPX5ePj11K3MoPSVlWlA4R0lPKSZSc24+JnVHVXVmQngkRVdoT00hSHxE
ITY+QDQtSCtOPzhkCnpLNVcwKGIxJXFXN3owTkM5N2hZTUpyXmxnNlNwR3wxSjR1UVVfS0dQU05z
P09FckJuQmJ3YU1mSmk+MjgzUHFqOAp6Z3ZFQm0yQDwhIVd8OXtxU0VRUHhxaHlSXlMhTEpjSV48
SW9KUU9jMGFWen4kZXlqMnZTa0tEVTNwNUhaUmNKUDgKel4jYiRSYHNIN0dUPjJVWWopdTM1Plch
emFvSXJSQGI8QUFNWiYoeXRLREp0aCglMn4yST5TPXo5PldoREJvSjtfCnozbXM+aVg8Yy0kTVk9
WS0/WU43M2N6TT0pZWVfWDYjaUI/MklRLUU4UGxHc3UhJGFvN0d7ZFZSOEtaN1FmNGM1Xgp6PEpD
PjtUVnJ1JWNnRjVvQn1ed2w/QGlzZU5GR1ZPa35XbFhrfTtrSSVZSylPJmloYEZUcUlFM1VGdU53
dmpTVj8KelR5dnB6d211dCt6ekg8JUtKMEE0dl5scGNidWVecGJVKjNNZGdBZCs9e2N4PllfTXE5
WnsrZ0ozdUFpfEZRPjNHCnpzbEBQa3VMWjkrKFFqK3Q/PTApQ1ImM0MyaDMlfDtMaE1aK1NSUEZ0
K2tKbjMyNiZ2bndESGdRfEtJS1otNT5pRwp6e0EyKEFmOSF0JXV6dzB0RkBXKDJCK1ZzI0xiP3Ji
SSktRXNXTFVDZ2F2cEw3enxreUgybW94JUx5QSpNMnhUR1YKelhEVU9nVnRgU0JRND9xYCZ8SWZr
cCo1JU5xNyRkZnFvKVFtVjMpeSNWZkxLYXhqe3hmIyVKZ0MmSlF3fkYlZyt2CnpuTG8ze3ZZdWx0
Vl5kJW9XT3JtZ3lwVlFMPmYlY2RlQCsoOFpZfmRRWDZ+bXZmeFBeQGxZRj1ONzVMVyQzSSVQMQp6
Jkl5ZVEteG8wI1dmRU53c31UMi1Qek9faHJ6REd8ZTU2JW5zQUx2b284PDF3SjFifT9hd3ZYUmRa
Iz8zTFF1dTMKeil1fWdXYllGVUB4dW9AN2h5QWokdUR4RVlleXpjYjV0Kl4jNntOYG5OU0VvZEln
TiQ5Q0JpRHZgVm4tP21LTyVNCnolWWFXaG9KWkpQJjJmQz8lO3xGVlQ5TkJKcT53d3hxc0AhTitz
ZFpgXzA4QVA0O3clbT1vZHJgKEY8KH03bUZ5MQp6OypLdTcmVjhmZUNpb1UxUFhFc0FVR0lkYHF6
NCMqYHd2c0pRZVFsPE9KQzI3JSU7eiYlRzF0JlF5NWRzVGhkPF4KelB7Q0lAU0Rqc3BzMjZFQ1k4
LUFWZUhoZ09aJlBqTz5MQmdoP1ZqJl9fTjRZJSFnSDRhYDV9X3ckJnM+YCFRO2wwCnpke1pZZ2JI
dylmZmAhe317Tks5MGNVa2dVaUNXOXRYeCkwWDM7SEN2aHhuM3cqIVQ2dmlSekU9dihEZStBTDZO
fgp6QE8kK0RrPGpZX155OWw8elljJjhMI1ElOXB0Sk59emtYRXdgZ0srYjFSSU1XJntOLWthcSso
a1E9U0tiR0RPK1cKelhIJDtpcFo/REgtX296QUFTUDsoTHl8KT41PHc2dDZBMmo7JCorRDhBTWd3
Y2ZQNGhmS2N6YFgkO2NAdnNpPGphCno+M3stK15UNCslV01yaHxXRTIjP1UhYWlPMElxfGBuSkFi
QTxhSEBvdFgtKURnSUU9QXI8WVI7PWB9eE5nSEcpVQp6RTRsXjgoYV5HQXhYOGdOQX1TXj4wYWo5
MFFCX21kJl5JdE5HUU1JMHY5WDJPITIjTTg+RihqXzw/VndDMkBNTzYKemg+Vks5Nk1yYCRHM2cj
QUJRcTtJQ3BSeUBwclcjPnh+OF9Tek0tWUhqbk13NnFxRDI7ZEg9eFIoQ358cT42dXlMCnotMkFK
QipHdFBRdDg0MlVuX0p1YVVrKG5Ceko1RENgVGtvajVAMFI7QztkeVp8M2ZZJktyVHtwYXghd04t
KlM8Vgp6TWdTV2I2RkclfEpTRFRQSEktYCtpPWVgN1lGNTRVXjUkbldMVzxCbUhuLXBAVDZTVGpD
NldFI3FXektWZTxvUG0Kenwwfko8M2ljbmwtVCheJD43UFZLM1hCcE44OEF9aEttdWFTLXc5YUt8
MEw+dkMpeiY9cGdRVTMwMmNHIz1AKEU1Cnoyflk9Y0diUWxIS3RvMEkmIXp3UUB6LTB4TEUtPVA4
Ymw5N3lyZktJT2R1VzU+NUkxZSluVipHaG1CbWkoX0p6MAp6KEApcz9PLWdyaSYkK0lZUGRXQHRL
VnJRYDs/UkNBMm9iaEM4e3pkeS05djtFe0xHTm0mWn5tZSs3UkA2Vj1Jb2gKemh+dmJDZF96P25z
cWI0c3Q3Zz1HNDFiQE9rS2pZPiUyRlpMV2ZCb2JkdFk9b21vK3VSKUd5X0lwSHIlTFZqRklCCnpO
TDJwcDNSZGY3Pn5BZlN5NlNtVk05fkFgWUtFX195X1lNbyZuRE5yJkxvN1JNIXNrbW1OV3Q+TkRk
RmRHYmdfVgp6X2VsQXRUKCQzbG9CRXR6ZSkjZCRhdS1eNjcrKFo1XytqOHpVUjkmQnE4cE9jY2Yt
cFhQMzVOXyY2blpOd2ElV3MKejdwa2crWSRDKWZuemJlP0Z5ZiRwWnpQU1hebWZYI0hfLW1Beyl3
VihITTxpIUA+UjhfSGFRKD5JSFdtR1hhbzxNCnotRjI+NDFGOGNhK25lZl5UZzVhZXhlPGk5aUZS
eW5JUVZFViZ5Q2h9cS1eVlh1Mjc9ZioofVdaYShHcVEpJFkyYQp6WUdDQnltMjRDMGVFTTxFNFJY
e0Q7ODF6OVdaSTVmYUgtWGEjeTswZCo5cnxJNERPY3ZtQ0ZNakZRZH5LeGoyRmkKekJ2cmgzZl57
Ny1ZMk92NFFPUTN5OGQ0NzdMdX5rMD9sXmYyYkkrQFhRemBHYmRkX3N8TktFV2F3V2BPJkA3VHxY
CnpBdlJedSUmMFQzZ2wyYHdwT01Rd1FlcEJRaD4ye3BvJTJ5Q0ttS2o3cmRlYSEyQ3MwUihRZWZf
d1IlO35sbXJSTQp6JnpyPlN3UUl6ITtFfn1kUjQ2KnJJc3oqWFhWPm53QCshfTlvb3hedWVUZWdZ
UXd0ZVFvTm1Wckt+QjllSz8tWj4KelhCNXZtdHtmUD1aP1EwcChEMSNYKX0lMzEqWXckKDREJk5e
OU11V1NeIWg0R3g+V2g4KnJOd0khZnBHYHs7OzBrCnpkSlIrUGpuNTVeJj8oPHEkYCNjNEhGLU1P
PUFTKzVAQ2RTdTZXTWFvc19LPjhfY2RUViFZQXlmUGshOGVRO21rSgp6ZGRXZ0lrJHhpI2twIWU/
Pl8qblNPfGBvPU0hWWYyVWMzU1dgbmBkeE1fcSZMQ2I7SmU3a2cxM24jTUs1VT4yRmEKentYUERL
bXJmN1kreF4kTDBpQlp0Ylp1WWYhbV80Jm1fbjAlaDx5dmV1YEBUKmYlJTBDRmRtKE52Vn1ESStD
LTsjCnoqNyg8UExhc2Y0JilQZ1ElfCRNNEJQKylgRF5ke1c8JVN5I0dWc3NFbHZqfl44SGtkdkBZ
RlBnKj1eal8+ZF5MLQp6PjVmcnstPk40SUlSUDV+RGwmcUR0TVhCKz5wLVlAYTc4RFZkTmtaSkt5
KzsmR0pDfXtfVGElWFFzYTdjZnB8c2QKekw8T3lRI2pVXkZYczdGI09MaWE1KXAyeUx0KEwyR1dL
NW94Yj1QeEk2KX45S01JNX5zSnRzOWlVa3s7TDw5SUNaCnpsenhTMVU2M3pLdSYhPn1keyM8PjhJ
O1Q9diNtU0lVIU5WN1J5OGo9WXt2WDNXT3w2KkMlNnR0SkV0TnhpV3RrRQp6QT5JNTNpOXd2ciRl
Ym8mOytReiEpJVpiNCZoa3lLMjBfOz1wMWcheWYkYmk1emZQJFhoZkhOdFZQZGAjcDt3S1UKejV9
QV5jWj9yYX5KbnItZUxGfi1NaDBINmc3OTh6bTY9cXlIdHhTP3taZExmaWc+IW91SiRKWGlYaWpz
JjFzXnleCnppe1A4IWhOcT09V21QS3xPVlNifj9MdCNCVUFvKk9CXj56MVBFR1FSYzJpUSN4eTtx
PXNAfUxuOFFwMDwhNkFDNAp6SkV7MUlOZlN6YVpOeTYhbDlAYVMhRk1oTnBUYit+biRVZXsmJG5I
MDlsQXJAe1JzVHZhVj9kTTFLKlFDUGdoPj0Kejt2NHRyRmB3R3p4MTdWZyMwMHhqUlEkNn43bTZu
WHZCREYodUByKj9iPSVTMGo2YSVmMHZiQysmUih0ODlRNXcyCnpJZm0mfU5VVTR7UkIhNE9PREg5
V1RZM2RlX3h5WXBUUXFPejZPdjNuenNgfEVZRmptOXs5WDZDYGdadjJWVEBeTgp6X0FGdkNseDsm
TCpHYU81KDZ1I29lTyZPfjhRSnN2PChBcHFYWE5oQ0lsdGFYQXIyaEh3ZGFAdk41dFpwTFZfUzAK
emEqUyEjK0U2STRBfShtSSFDY015d3oqX0Z3Q1ktQylkZHlgQ2BDdl8xUD58KCt0ZjMhNyFtVD5z
WkczO3RlQGt4Cnp3VH1ZZj9HUiReKDxrdVEraihibkwxKUshMiV3JlE1SV5CcWl2SWo8X15rVXVG
an5nTXJgNWIqSk9nbmlEPm5TYgp6UkRaQU5BY15mPWJ4dXpISSpjOUklYGVPaHBTP31IZ1k3cGgz
fj47X1BNTz0mTm5jR3g/MXlOa2VDY0pwRFk0QTwKemxBeko7MUg2Y3NjMzJFO1Z5MVoqSkAqa2VQ
UihgX2o/TmokRG9PbjRzOUd4S1hLQ0VwdXs5UUU3cmBTcio3JklfCnojTDJ2Ui1VN1dRdVZsSFkl
e2pxZFBgdnl3REJZcWw9NHctUlc4KzE0YygoWExEUStwcThoNmZKMTAhQ3FwQCRKSwp6QlRkZn1l
XktRe3RBTGhTLUAofTshJGFKSDxTS2M2N2BpJWs5NiFFMWk+aF5VM1J+fnxRQ1FNNVUjQHJXcX51
MTQKemJRdHNVM2RlZUxaTzZgLVZObG92VnhWOXtlWjNjUihldSFGPD5ZWj4ofjxPeHBmUS13akBI
SnZoVnwlZzslaGI7Cnp1YTJkaFoqcU0/TTsrSk90LU8yS15GN19gOF9wfXNUJk4pVHl5VTBRXnUt
d0JhZyl8Z3cjbkp7VnVhZGZYUSU2fAp6RF96PXxXRi1TZjhrP1dNJVpfantwN354VSh9c2YkLUJQ
RmMzQVJUWHR+JEwhN0Z1WD5yPGxvaz1jQythRSNuZU4KemY3RlloJmttVzNWR1k0ZkwzNkY1b254
V1U9azI/Wj5aeV45TXw+ZVZ5ez9ZdG1MOykwYXxVMUxVJU4rWCkoWEdZCno1bT9zZEhfXklNbn5R
VEY2RVJVRFdHZk1WM15BKyptQH1eYmx3TVpxQm5haTA/U1lqWWl6YnVvU0JkP3BQZHJCegp6LWQo
OWk/d0prQVdrKz0/Q197Mysyb0NuIUY1dCUlSWFLQ3B5cytkMDk9cGdMcjszSU5vezs1MDRQUGdY
Kkk5MUMKendVcTdCdDZUUDhNOSYjbzJGUEFVQTJeRz1JUWo2fWMoWF5PTDw0M2tKbDszJCRtRW4t
OUg+akN5cGh2IyppPHZQCnpMSnQ0KHstT3RTdCpUUG0/cWtyeiUtWllgd1R3PEVJR35NbHl7IUF9
UnNHfDZtd1hNKih5N0EoIVoxUFMqWXMoMAp6TGlDJlYocHUlQT1nUjEzcz1jQjZWdkdVaFhDezNg
bU5CU154bStqcHJoPlZoVElLYnheVz9+YUVvdUwqNVNPJS0KemhZR2J+Pn1pe3l4UnhjVz5vP295
b3ohdTR7JTFTNEE5WmJFVU0xfGo+ajhJIWRAWlU+M1BsdUd5YlhmKi13bHhyCnpgKXJ7YWRvKj93
dlImRUZgKVBnbFFTNEQ+UH1xRHl4JUImOTRAVz57K0d7V0dnOylyRGJGTyo+Y00zKXFiYShISgp6
TmZRQzFEZVVTVGtIVU09IzBVRWIkNz1PRThkbERGNVhWRjhaTn16QmJDIWVBeWd0fD9aSndwQ3lS
VVZNSkZ4ZFkKei1ZXzsqTVU7SitnXnQ9ZmA9aGAxbHFSK1ReSD05TCo0TEtNSD5OeDAyZmY8fmp6
NnB1QHkhWEJKSHhlVVlndH41Cno+WUlDRHQ7ZyhMN292JUk+diVxZXJPI29URig8fXNGKGJRTTB0
TX5UcENtSWVDfUlOWUclPXxvIzw9YFBGNVNLbgp6KX4yKHE+bHhlWllwMmxsb19EV1RzemJ3cD8h
cGhXWUlmT3ImS011MihGZ0hOJm1MbTBIV2tnQ159ZUAyUGV9V0IKemFMKm19MHllamZ3ZmdPQEVj
Mzl9Mkl0Wn5GVVpwPE4kQikkSV5NQXhuQ31mN3hvYFlfYShxZEFKSyUhI3lSdytPCnopJm9ld2Rt
ZEVMQmotYi1gfGl0JSEtZz82QCF3KlA/dUpDblZKRV5xK2VmSjBLekY1KGVRMGVHbkEkYzhpSV58
Zwp6WCExfGZvUTs0Um0hSyhRa35hI3okd2YrNypqK2pHKHBpPnRmaldFJkRGSjRrWjVwcX1FbThk
Qm1zRFE9dkM0aGwKeiYtWnJVUlgte3lRLXJZPmxxPH0/VUZ3SzFQYTYqXnZUajswRWlRO0dYZCE9
aHhVVT12VFk5VWE/ITlsK1U1SGxnCnpNVlJjNmN3Kl80dVlYY2F5cTtHN0d7YHVBTkBUI3tZRWVX
fTc/N2B5Jmx1UHt1dGF7OGIyUDhuKDM3I20zM1JJTQp6KnRATjthLX5IZD1zY19yblpJc1l2dEdJ
QSlvWXp8R3JIPTRYZDtTX2tYYyReWlBOfT5URH0+IVo3TX5+UmhyRWgKemJJM0g0SmkyfS1GJH0/
WGVfeGUjS30qakVSWiQ8M2Q2YGxfNkpDTE47YGJzciVtT184Xlg3TyspR3x1dC1FQ0dfCnp0WGxu
KUEqTGdKZSQkQCZAJGQ8UGtkJml3R3VKTjhyayZBcHhfM0tMVDFBfSlueDJhN2Z6PzZGQlh7Vkhz
TFV+VQp6aytrKyQle3lHfmE5eWRXIz9BX1MlMj48bkB7QlBxZW44RXtMP09uZjN2VFNBUDJIcnhG
NWY8THdZfXZLem1jbEMKel5ySyFXWlN5XiZUSmJ4SCoyZjdPT3QrekQ0Vnx4UVBjJnY5TTsrbGVV
Z3ZZcTdVPE0mMTw3XzBIZ0VvI0lraWJaCno1RUJwXjNEJig+SnFgYHtyJHhoem4hQEhvWmkjKmNi
SG1vVUlBNkMlZW9nWTJSc1AmK1V0TCtxRE9KKUpRPFo2Kgp6bnZTYlVQQzIjY2ZVcUlOMCRedHlk
N3xITmteVU1YRV9yVCZzUzIkK0F0UT0mJUxFTiNYUlkhP1peJnA2VjA3eEEKejlrcmpePjxFPTtK
Qj5OV2JUcjwtLT1za1Z7Xj8pYDlRQzU5O0cqWi1ebjtVez1vOURpa2Y1Umlgdj99IWozX0x4CnpQ
eFNuenJjVEN6aUF2ZilNYDtwSU50S1BjMTlUSz5GNSlwTmZWfVBVY3lIYVBaU3RyMF4wLWohKkdn
eC00YnA2Ngp6dHg8TjY1UHQzPE08fGp0TCs4UkUoITxVST5RMVQ9a3FhamV7VmRiRmAycDZoYE9Q
NjgkOCZpRW97cXJyKmt4I1oKejdgVm9BbD8mUTUoPE9qJDl3WjNsRyY/fHdoO3tCO0YyeCVzTio/
VWZJdEVNMEtXKjE1TU1MK0BCNXxXVzZLcFReCnpNYk9Xclc2QW0jSUorbCo3QSRFQ2dkPlV4SUta
ZjQtdks+eEhMQTtRXiNhPztJYVNJZihmbCktYlQ1MjFEbT5qTwp6aFMoZjc1WnZxdDlFMDh7dVIt
cDg3cm1mKXl9TktNJXl6QndUak9CSXd9Iy13bjMpdmpBY3ZMcXdmYXZUbnNZcDMKel45YzhFUk90
blNDOCM2MEpZI2o/djxiellxbEltZWZ4IV5fOFN8bjhpdm5qdHRgeTxCemtZZnh4Xm5OUSZAd3h8
CnomUSNodSVCUkp8KTs7SG0+eGhEKE5CT2FIT3V3SU15YHJmIzJkWF55dCVNeDwpNThVQHNjbyNe
e2JoK3hANmxMNAp6SEI7TksxKHRic00rKUFBPH11U0d1dm1SZjNvJDtZSVkqRGQtVVIpMGFQQHhr
NWt+fmBDN2dNN1BPU3IpJE5nTFYKejlPT2pHKiRDaEtPXnNKNWR+eD1gVFZYQ1I8Qm5NTG10VVpW
KjxaRENgej4+V1M0PzVUSXBzY1Q0SnteXlohTm5pCnpQVHRxWXtyVXM0dz4yRDR4aVVCRVg9RzVk
Q044eGU5RlJCIS12Y2w4b18lSzJjU2VsSDNgUWVXZGBDfFNLaD81Rwp6WW9+NDBZclVFNjFDMit0
Kzs+NlY/Vzs8WXNuKjQwb3lGRENTLWg1PE9YYnRnZjd0Km5jZ0w9dypiKEZISm9hQGoKek43RSVX
QjlDIzg1YW5SXyVYUEkmSDQmMnlBdlU1aj4yXjRlRWxWS292UUV5cjRxdFYmJlRoekJFQzElR21f
TiNwCnpicExWa0hacGdXXiVxRj5UfXglPVREfDdURFkoWCVIPV9LRSR1I01gO0MlVjcqO0JKQEFB
I1U9NEVFV20oem1GZQp6P1BHaVExfWZLRGRRN1dmQ1J9cDhYdVlHYGJmR3dWI0ZLTiZueHVlIUJy
Y2hhejFBcSlkeDVZWHdVPHxnT3I+RD0KemVjeXZSXk1BWkUmKTBfNHgzcUV3Nj1FamYpelVqSWEo
aGkqd01XJE51WmQ8TCN0UkBaeTtqLVNIPX1ZQUZaZmdvCnpKIVB9RT9GdHx4YFArK1E0azYwMTFK
NjRzIXBlXldTbDJCa3BqaXtKMmt6QFJIa3BfVjVnO0JqPDRrNXhKVj1PMQp6JlBJJXtCfjNSfipq
blM5NERuQiVFZkxlUXV5Uy0zWj1mV21aU1pESlBWUjlKUFk3MWY/akJEPUQ9dWhSVCN7NEkKeilB
bH5oSFhBalNqQEgoXzxIRER9V01qX3pfKns0Vlk8ZX1fVCRgLUBkMVhgfEB3a0B4MUE3LT0/X1By
RT4ocDkoCnpAQHpha1ZaODZIcX0+STRwVztpPmIrNXchIyZ5ZVZSSChlVVR8RHN+KkRfOGpkbWtw
QEBhanlGRT5HTFd1dHdSIQp6cEBCVzRWZmIqJXkxUFpfTGYkMlI8S0s9PHd4P1pWQyp0dnA9dV5x
YzFLKTI3O25DU14oSiE7TlUqYTVFMihlPWkKektDbDw/LVB4Q01LYm5uJEhATjMkJnUoI3Z2RE9q
M3VmeVo0Rl9XaX5zelo9IXFiNHY4IWQheGRRWEp1SHQxcTh5CnpuSShHMjtTakdTcz9pUWhGSlFG
MzFZUVdTOWRTM09YWE15QHlhNDl0Rz5IfGxYbzFOamw7QipuRmkjQit3ZU9TVgp6endsbSZSSGtV
QzN4TG8/Jip2VWQrKC0qclBzPEg5JUReaEp0Q2JnSVFeZSVhR2gxd29kOClfUFI9KkhKT3heP2MK
enBiPD5jSD0wfSQ7bzdMNFFGKXc4M2FaRGdzU014b2JnRnNQRT9xJHkwanFsZSVWcyt+bCZESjY0
clhPVUlNTn57CnordlZqdTslJntxREQ9NF8jaVpwQ3NJK3g5K0krekowc0xNe1JwYT1HIXQ2a1ln
KFNPYyFkUiN4cDdQPFIzJUZReAp6aVIrQm54NGtlPHA5PTVRNkdOU3MrNWApZ3o1fm01bDN4JmM2
eXR8Rm1YIXNqM3EjSUh6bGYqc29Zd2J1NURJaEcKemk7ODBBelohWD02Xyozd1JMcUtEaTFCbF9T
YDtXZmhGSUJ0QUUobGV5fl4tPV4tTVZHRnxQc20zZnU5WmYzQmlWCno+PGd8bkx4UiRCa2h3TClA
T3EoWC1WZ0NkQmYwXyYlbXEqUTg8Xip4V0xMalREOyNeWD1JSn13RHZERkB2VTZPVgp6LSp3Yz9v
O3I0NmVkT3UrPXNuaCZ3KGZtd2xMN2tjWm5jYzxPYFViVntgNlJSXz1SZlFXYTBxNnFZcDgzKkRD
QVcKej5+ZkVkP3FeRzN4OEJJejVDeFNqKmRweENiWGthRlVWTXJ+bUl6ejF2PTBRV2ZqSHFGa1dg
IzBKSV9nc0tXeG1DCnpMQD5GZT9TbTFlNUJGbGlAOE18MVA8bSlFdU95VWRgVSVZaHZ8RmUwSVA5
Xmx3KlZGIyopVD1DckdfOGhId29kWgp6VUUqNCFSN1U5QWFialA8O3Z1VUB0fkpGcTx6bUB0Py01
QkE3c01IKDJ4UmtnTGRYQipTa18hPEV6V3o/cCNeaTYKekQqeXlVJlo1RHM7dzZZJFU4XykzRiso
aXdtVDVMJHZmSm02SmZwTj10NHAoSlhsbk43WCtvTmMtVkY1Kz52en1ICnp4dDM7bUtfU0JCekZN
KlJJei1Sd3VOd1Q5YHx7TTN6U2N6R2RBcDF+Kmd1IzMwIyNHcEhudEdnIzJpZSt3TTVeRwp6S1lM
TD5VQi1oNyNiMmRPVSRhfjZ6S0VtN1lBWWdgO0J6MENDJV4xbVNZWm5TN2xqMiRlaGo/STN4aDd4
N05mfHEKemJrbVA5SVlhYVYrX1BFRj0xUUg9TkUheExHY0FkYT0yfkV7V14yaF9YYS0pKEl1alNB
SGtSNkQ8bytEZi0qSXV3CnotYHFZfGBEODh2dCs/M3QkO0tqVTh4P3gkTHA7ZWc9dj9eOVREYTwq
Xy1wUEltUEtTPXlNPWBrVjN6c1Y/PnwmPAp6LXRFXkROT1A0OT9vWHk+VzJxYT88NH00NHZCRTNW
emRpQigqb057V15QJVo8OHhtMVpKQ311YXgkays1azFCb2EKei1lRWtGKmY1PTRQbjNYZ298dzRa
U2xMflB6Z3x1Q24+JXV2dDF9fVVheVd+PEdhbUROMXN7M29ra2hpeE1vXmZ1Cno5ZCZ1UV9lbCk3
SCFrdDRUYWk7WXA/K0VFI2F4Q2NlejY3aEVsI0k2Qj5FZyVmd0I7KUUxP3lNPlBtNW1pTFdtfAp6
Mnk7VkY1aX1+T2xuNlY2T15LMzhScU5RIWBpbiMjJlc/UkhDRk5TP3d3bCZ6PHpTLSpzbys9bV5w
XzJyNkwxRX4KeipNPjxIWGd4XntIa2BOSmxaKHJhNzh7PjUxQDQ2M0UycVg/JCpKcT5sfCthRGxp
OHcwPEltS2tVNzxCWVZEKHs3CnpuI1JUQj9faTt5SG51djxXVj51Vjhke2BMM05VcU9GPXRPcD1m
IyhqWXd+TXxtc3hoUlNjZ3BNOH1DZHBhTzNzLQp6dVNeU2gpMG5YPXlCQDU9RyFCQD5tY3c8Wm1M
MGlmVWoqR0xOTjE0M1NfPSVzNV8wQnl0ZEdPSmJvO099Njd7LT0KejRJYCtfPSo9eWRyakozUFhy
NSlZcz96a2s/OGZhKU5Sb1dyI2hMc0RjR0xseXMyWHE3VHkxQCZRZHQ4UlkyT0dqCnpab1NqamlC
Yil+UVFRRHUlVklzbSVlI2VYPDtHcEYpe2BIKmw4fktLWD4ka2picV9ZMVJ4LUc+JFRQWk1GcUpm
Qwp6PnhXPWN6TER3ek5BfX1icG8oeS14bG04TTBSR1hfUzxRa2VTcGxyMT9JYlo8YExJby1kfUVB
eGRVZXtgRExwK1kKenRWJkQ1QzsyQWktbXVVNCZJU2R9X1Z2MTledzhqaGVwQU01eCUhN1dvQGF3
LT1hMno2aXlNKiQqU3xDK2V8d2xOCnpxPz12KVFSejUkXjx1cG9gYiRHej41YkN6c2JATX5kPEhq
diY3WWNQKldFPl9zO2dsR2FXfTB1SV9+UzFTVFpqNAp6Uj1iYng7VVJOKFFTcCs5TmomNn5GS0l1
ZmJoPTApJmR6WXR1NUFUXnJKYnZpYTdwJmUlVVBmTEY+WmU2bzdHeHMKejVmVGZAU311WW9qXkJ0
NkVaTkV3YlpjRWxFTWBrOGM7SFAqb0Nkd2RKendkQjwqfj5qTSlKfCZWVTcyNG87V1NOCnpiUkpz
Znd1emd7M3o0P2Z6a2B8MU42VUFoJk9Sc1p0NzQxfmJYWjswIVJpLVFQI3F9XyU+XjleUG1HQHRD
eXpDbgp6WEx+cXtFUExVMHdmPTBvZXtebWcpJGtGajI9aGBOeFE4dlRSP0EqUkhRb3VhU3ctMn5K
KGdBTk42PiQjWiVFV34KelBvY0lXbHNSWFkoJDRpcnk0PkFZa3EhQi04dmhWc0ZuSnM4JShgV0o0
WUJZRGF3QDZiQTdXbmxVNiVqWmsyKFVnCno4JWA+OEdaV0xze01hKk9fRHFRRz9xdG1yUVFiIVE7
UzFYfU5NUWNPOT8/VnsxLUYoTyRmZykleEVRP15vTk5raAp6S0FEVFRHbkVJJGN8cilTM1VqXyNt
bGspbVVaIUo5PTQrMT5MPWFVKkdsKmM/TzJQU142Qys4M1NjY01UMVlaO1oKeiFabjhfISN2PnBL
P2Bmczc3VDF7NjxMJl52cilDNyFISGVmdm8tWHJBO35uRW9nRT5weGl6eUpSfDJ7PXZLeCVFCnpo
YUZiST5pZ3pMbWlNRGV7Y2Iob2RpYjs9anYmWCUyNTI4YVliZnFwSTlQKmRkfnY8YTBhYlAxYElG
T3FCQTt+Twp6d0h0RlBEbWR6Ym1kT3Z4Y213cTNGV1liVUQ0ZnxSVSleZ3NebFRNR0o+a0gyS1pR
OzE/LSlFenopM1YqTDUmb0EKej9AXmppQG9xVU1hZGNrMjhuM0hKblY0eFV8RnFXRDM/KEtoU2Rr
PkdZLUQzczE/LSREd1FHXztSPGRYO1ZjQmhSCnpOQ2A1V0VuVU1Edjk2X2FaQ0FBYyQ4aWlRRkto
SGZ5bW5WLSluPih9ejNNZjN6YWo2KmpuWCNqWFI9Oz1gVCYxeQp6dzAlQGJ6MikleXZ0NT4hO1o1
VHAqNVo2ZU4lRDtsQz0rNmpifGl1RGFjN1RMeE4hRG87Z1k/aTVRMSRCdjQ+fk4KenI5Y243ZWor
ZTxYe0B3K2I8KGt9OWN2KjgkdlQrc25ifjI1VkhCaTJFQ3xpZz9oe1V0O1YwPUlKUmRxWDRpd29M
CnpedEYzNi1yRzVuO1ZKQ1dWT21hLVJPRURaMnU/KktQJFB4NypkTmJCIWleNzlGVzRhTmI2fUhE
U3ZNTSU7b0o3QQp6PHRJK0k0cGhBfEU5VEJ3Z3gjOW07MW5kUmg/d3ZoPUc/SV90Qjs3dTdGUENU
ZzFPK1hDUlNlO2pTKCVJWGoqekQKelc+MzZqKkYjcUF7dFdaI1A5NlNmTT9yd2ljZHopZS1XZk5O
dDJ4ezlfSCQ/RztQPjN7PF4xSCpIbV5lP1U1YiR1CnpAdGhfdyhZeFcqbWIzN31jVHJCZEVUcHRl
SHRKLXt3emAobTAhKWBSUkUqe2Z4fCheWW9UM3hgXiZ2dzsoJj5SXwp6VCZ1aCVUZHBgUnMleUBj
QGNvXnhZV2NBanZvNllXN0BRbzNBR05LKnpZNHkwTm9YKG1KTUNgT15JcCgkKGZoZVAKejRmdEV2
SCl9ZGQxRypDNG0lQH4kT3hfVSshX31BQWYoX1hgc0dASjlgYTx6XlQldEZPdTl8eVdSTWUwVzNe
Wm9ACno5LUNmSjRmKnM/aUl7bHpzN2tRKE47RXVzezhQKzF4fiR1Rz9IJlojeXtVI31tZ0NEdFlk
KW5Gak1YPlVTISpnXgp6TyhHaW9BZm11JExRPEo2SV5lK3BpOGpEciZ7SzRIXyFXMD89a3UyPlVi
YXZ0Tkx3JHMwIz0yYEo9YkVDRE9jMGwKemg5cmc3USRkYWQ1N2skTmMhX2twMWNARTFONzB5V0hz
O29YYXRaOCZ0O2k7Tkx5QFpUUWVGTjlzIVdJZDB9Kz9iCnomJGUjQUt2IUx8X1BJLWkoOzhwRWNB
bjFaZSE7e3RGcjdfVjtgPnFOMmQmPm10UV54MWYzdzkjbiMkZ0soSitZJQp6WSlZfiZHZmBqSk14
PWB6UnF0Q2hXVTV8TSMqXjhSJU9XT3dWYD0qSFJPYD49YCNMcmtQQCg0XjByTWYybHRhPSYKekxV
Ty1uaCo1bTNeOz5jd1hReT5MWmF8SVQpbVR5RmFTPDt0R3lEQmBNUUI3RGFIYjF0YX1aKyU3S0hi
QSR+S2dkCno4ekdMVUg0bGs1SUNuR0Q7ZT4tQ0EtNDUtaGxGPm0oNz9zYmcpQzN5WT41fDd1YEBi
fDJ8aCo3Q294TmxMTURuUQp6Z18hKllYcHE0YXJYI0xBMStePzRuOyUhUDh5ak0kY04+VCE/JC1M
QEooV1YkOVdqa3lFTjBUOXBAfWVYdVZOUSUKelZkTmd5c09Rcm5aT24zUWBMVTR0YjlMUVAoK29H
NSM+bzFyREIqKkRfTVA5c2dpQ3lvNDghKEtsZjR7bTRPRk89CnpEcngpMlMzIT04JXkjfEVeR2x1
VzlEe3pQUXxnb3xuc3U5JXNDTjdTYXpPZWpHdjtKVi17I08pTW17KX5xb0R7dAp6QU9yeXl3YW1v
UjQ2SXlgYTFMK3VkRUkwIzt5eGpBZ0EkJClUO1IxNF4rYHA9TG42ZiFmP0F3IyRtb3JJe0B9eUEK
eiMzZkNXKVlQdFFWN2t6Xjg5cCs2QmxfZ3BoQEFpTXNnVTsyO0FpV1U3dTlxLTVGbWNRdypqQjxB
UD0/KWo+V0BZCnpGfE9wV2wqaEJ2Z3ZRTm9qek09NllEQyNpR0J2Qj1DdChGQ214NXpObGNaUk9k
JlUqeW4/dkZDJiozOShkJUBacAp6V045Z25xJCNWVTMqd2IydSVxNyNKM25mTU1uJGx0KmdlPnte
bFpxYGlkaEl9YypgZVc9KmhHZW9xbU1zSmxgLT8KemtLTEQhUDBYMUA0WHF5KzZwZ2o0PmFfezYq
QDxCSGFXfmRvT2NyPlJlT1N0ezVWYm1NKUhMcGZDbnFQYmA+UT5QCnpMeX1pRT9la1I/Kkl4QnFu
dzBgU3lJN1p4MF8qRWxqTDNrS0U4NDBNbUVpZGE8a3NmK1lYIU1hUkVUajRWTy00Sgp6Iz41angm
ZUtPcDs7SX0lVFZFTykqcE5hRitNQmdSPz5CNFElY1cxPUp6PWxFbFkyPWdzNSZpOF95IX11KUl6
aHQKeldnP3ZJKXRGWTEpRiY7aVcpdzRhK0NudDwweThxQ3BOcFhNcjk7dj9aU0Vqfk9zQWk0RT0j
MyVaXmtiNDYmYlhkCno3WWpxQGwwKUY/dGkmaSR7R2coNSU3R1QrYChPKEozclUrWWhtSVlIWEpl
MktrSSFLQWlNbzRRQSMhKTZwRHM3fQp6JEMkJkhRTDcjeiMwMCZtJn54dnRfd343ZWV4USV5VGtM
RzdaOEp1VDx7WVFMdmkpRUB4MCtfbyptc09ncz5xeTgKemd9LT1PZU5VcGZUdWlpMDVjMzJ6Njh5
PSZEKmFkbW5IdHVoLWFJdH54MFhQcjs9dTRsUzIrWVAxRWZtVj1NOHVtCno7KmBCSkx7PEtCbj44
UVlUSjRpbiRFJmcwZjkrOER0X31OQD9LfH4wMSNmZX08MmYyOStAb1puaGd3b3ZGLW51Swp6KztR
SVNQMWlrRHpUJjdvd3BgTUtjdWhsSjh9SWFwXmxSZGJFTnlCTUFPS0loRXxBayFRU2dMekxPflRe
NHx0dzAKej5UXmszNnNZZ3A8dCVydW1jRlpIblNUbCZAIzY0S258WVhqOFdve1p1LXNzeFleNnhf
RHQoNyMlKEFld3dOVFZhCnpsVWU7VEhzQ1FURSE9OCV5PURIcmRuWkBkPG1zc1BeMkxSMTYkZVFU
Mk1MZHkpfld+MVB3QC1FLTA1NTgkRmpgKAp6KytubEEhSXJFOFc7ND9ZKFpzZ1lDKVE2cjdWQ3g2
aFVHaTlWM31ELUZ0QW0maGctYj8+QGY3OWhIcTRHQlhyXjgKemNOPlVaVilqUktkRHRqZk8mPV9J
NU9PITg/S1N2ckMwXnEoI2FHcTRORjZESDswdEo1NypsR0duVVFefHsmYWJzCnoxKCQtUT5mRDEt
dEtCa1ZOMVgtUWpxKT1CYmRHITR0NkgjTHRSUTtHNHl0aCFtPihmQ3tIMGxLIUZKQmYqOVhDNQp6
WXtDc05xQn1jKjdiV2ZZY1ZLKit1dnZ0PTRfcFpIITt6aFJQUDJoUEJ9bUxodSVXQ1pIfHdUYilW
JDxEKXo0fjQKekZvPk5MTVA0QHpBNEVYYGU3WXVkdW5IUjFwZGdKX1NjT1NJZHkra1FIK1FOUCZ4
SX5HJWRsfEluPTlCVV9sS1JWCnpoc0FZOF5TKXptcy18OCZMMFFWZGpPQHM3bjxWMDJaZS1TcVBQ
RWgoemMzVTZOWUtDeGpmbiNBeVU2WFZeIWVgOwp6Y149PWNeNXQ0TGg2RTMhOG1nJCU3STZ7X0lM
QzlxJE1vfiFIcyhxPEN8JlhfbEMjUTIpNXFSNVJTX289eXZIMCYKemNEfGc+Q3A1amVhJUxtRXs2
bn08d2cwZHRkV1ojQGs2amFhRT9iRUZTVUlxaHlSNzdsc3VkPCQxTWlrXzUmKDZuCnpwQSRJViVf
bXpGNnRAPDtGVnp9dGQqeURiSVNxJHEhNmIoQj8yYEQ0Tl57fSM2SyRgODJffWAqTCtUM0wjZ3pk
bQp6WWQ1QGIqbXF1K1RuQX4hZTRIYzcqcDNac283eEQ1Nko3VFp5cko5S3toXlBZdUZfYTZJTEd4
PkBfQWR5JnFgJWkKektgWHA+TzRedz5KQlNMcjhzJD4zaih3dUs1V2FabW5vUjFwYSUjQUpMcSQm
ViFTdGl3X0tiTjxyI3hidFkwa1MmCnoje358Qy1XUzJSQkFDVjtlfVRxMHpHQUg+VChVTUNSbHtF
IVo9WSVuR19mYV8pRVpeWl9RaCg8KFQ+XkJvYjRSRQp6Z3d5fGMhJmlVcHhIdElKc0klfjBkRE0+
NSNBbT5LQlB9QFEtUTtfbUo3V2JHR2hzQkliOzJjQm9AcVlSOEpYQnAKenc/a1gzT0tESUBfTjtT
N2NkaT1pQCR2KkJMI15SN2FESj1QQTZmeXQ0RFJNaUR8UUdtUGQ4P0J5d1ZWZ1g+MUpwCnpZSCMq
dmMpdE5JKiUtIzNpbGc0djwlek1+PE1hKmc4anpLO0YkPXBuYG40dStkK3BZWVlZYjl0JFZ2Jjtm
VUpBMQp6djRxUCM7VCZ2RW90IWxTJiYkdHhmKUJ1SmtCdHFgYEohTlFTZEQ5JHEyclQ8JDN+QUEl
Ykg8WDdAUVBMVzYwXiUKel4rJl5mVlojfDM/ZGRicThnMSRHUSVpQ3hufU5oZXJYam0qQURFI1Qj
U0k+TXRATE5tR0t5TWohKVc8OUJaZnViCnp2dz55YFJfbl9RZkBOVzI0bUEmKFBfcz88O35RVnpM
cEloZ2tBKjdLcGpFdVQmeVREfSVEN0toR1RJRig+fGRYcQp6a2JGJWprdTR9KGdaRzxDNkV+d3Jw
NXl9elZ7K3RuO1Nrfl8wWEY/KU0jX1RDZ2ZDXkwmZ30pOFJTeElkKDFyaz4Kej5vcSNFbWdRVDNx
RTczPjVQfStaaHZfaDUld3dHaysxVENhdFkhdWQ3cSFYXz4+eVp8RXM5WXI8dWtHcXhzNnlICnpr
Vn00eDNRWWpTTCNkJnNgcW9mQ3hVKysjdy1ATkc9OH1WS0RwUSs7Wih3Jkdhcz1BfUw8NXw5MSQm
UTJEcmd4OAp6b31ZSU95ZUJrUFopKnQybDIoKCZZNGw9M0Vsa1koVSNyYTI7bSEmS2NsfT17PElI
dEE+YXFwdVM+SXtZP2EkPlMKelpjcTB0OGdWRkF1K2pTbkhKLVRQN0s5cTAjeEJ4blBzSnQ9ejMw
QG8xUkJnYXMwNiFjMWpucDFJRkIyez9NbjZNCnolSX4zVkoqaGwpcGZxRVVETypxUTNGYnRZaV4l
KHllen1KJkQ8T1lPdTJtVCNTWkBiejtFKXBoJTY5IS0rZ3l1ZQp6cWs5UXpGPnJRXiVfJFo5LUkz
aWNTQVBJXiZsalZIYGVKQiNXJjU/VWklWjwtXmshNXhueUUzJjY8SDZ9Y3YkYVoKenRXVE10PTRF
QCEqeihLdlEtbzdSRlpJJjJUb348N0MjNH5+dVJveEVZIS0xQis5WkpnPkVROFp0Nl49NVRDITFz
CnooWGEzckEjdSN2OUh8YH1hWlZ7bit3ISVrd2VRNkRHUGlrTGtBeio/IUFhWDVza0tiQUJpVGUj
RHheQTBAWEdjYAp6OXFSYEl8MyRuLTNWRXUtRUopdGVrblIxJkRtUFhyM25yT2h1cX58QXEhVXBz
eD8rOHlDVipgV3l4eCVTNigrOVUKekBORH1zKFcrNjU2ZVU0MkNMTHgzeGlYeFJRKlgtU0okdFVS
TmVWX0c+PDA8PTZmeiFEOXI9bypPZStZO2I8eH1kCnpadjsybzFYI1dUQSFST1UoPD9ea0dmMkl+
PUJiZyl6eShPbjc5elA1QFcpbyU5JlN9TzZ9QH19WGBHclhsIWtsWQp6aX5FPEAjPCM9RlJAbFV7
O1NsU1Zve2Mrail2d2lJJCp9bTs2MEErYnlnd2dobFpRc3hKPEtDY3MzNVRsQHRzP1MKekxueHRZ
MnQ0flZMSjE+cl5sYGN0bkZ7VCZIZXtRPVk7RE5lYlBHYGFZcGlffGhoZEV5Ym1nXmZse2pjOVBL
Q3szCnp1QlhWSGUyUXF7WDtXPCp4bm4odClxdVpULWI/eWlaOUMlS0FqSWE9R0pCT0dHRTVHIztm
fjZSaGsqeXxea356ZQp6I1p0X1ZgPzhAKnNXP0dzMTJHSG5iKzV4OSp0UCpJZi10QnUjRFdRal9T
Wkc4RUVQU290MEtMblhvLWd3M2wlX0YKek5PTGZmPCVae2haXlgyMU4mUSUtQkBYUl5ZYzhjPHZ3
X1VebGJPRnApN1ZIfk4lWjRGQTs0UGNqPVNFN0s7RW5tCnprSzRCQVNkKVUhKD9oMldMI3kzTDl+
NDBrPitVcitTVWlVO0U4NVpAVVY/ZHt6VTw2NTZSODx4dHhybWhYaSVQPwp6cVl1T3x2enhZfnVH
PTJiNkFVKHpjNVRmWG5QQVRoZzRzQ35NKXw2Wl5CQzxUYitBRTNkVi1JNCh9SWs8OF9iPWYKej5K
Pk94eV5eJH1TalptPFAtfSUxN3xBbkJ1Y2EwMGhFTCM4VGpfVGxYb0pePDUqb0FRO2FGZEFEP0JB
QlBVRktjCno/ZjBvUitqITRnXjNFfX1eXmZGaypeYWI1bzIhTkZSKzQrRG44aHtYQSRQJCt1WGBL
aEMpV3l2eHEqUyQ5UGtkZwp6JVc0ZlZCTnQ7V3RZPF8oMjhKSSlBcmU+JW9adCZAVjBiMz11ZztZ
UipfMzNuejxJbjJiaEM8NHQrWDlTRmw+TVMKekdvQSs/b34oVFljXipTIVhEeHtMJlY1ZXlsOFRJ
Sz1lRGg5aiFAKCpFRExjTEgzRypjI3UtYTNDfThyPSU/e01WCnphV1A2MiFERmRfREQ5SF49UE5L
MHcqV2w9e2NCXkI0ZzxiPzFOOzhnaW5pYW9pd3BzZitoYjxZI0UzME48dGpnTwp6d25kXkhzejR1
QighKmBMQFd6fWVyXmE4Mm0leGkydGhaaj1QQnl0P0pBJGd5d0I0QyZGSU5yclYmMyhHVGRsV0YK
ejxCZVNtPEl8czh2bH5NWWhGaGwyaUBiP2tpK1lNaVE+S1FaNTFNfEhOZE1+QzBSNnB2KyswfSps
bSskezhgbjFXCnpBKnFOTWVwdVRMM3JGb3M1eyhATkNBNzB7JjNlPzYjbXR2JVp3SExuUX10UlRH
KVVUeDVFdHxzPGNteSlRQk9iRwp6UEJufWFlQkp6aWROfVd9cm5hRDg+IzxoXmpSbkMqUFhNSnYw
UkBnQ0VpQHF7QSkhZiFBUlFEPzw1MmA4RyR9I3AKelFiSGg9N0o1LTJEN198aGdhOFJla1NmeXI/
KUpPU3k/XllUdmh6STJ0VVh6NCYyUWNyPEpwLU1zcUZWeFdaWmlyCnp0NW8wTXJBWlJyIW4obThg
cX5ieXM5WFFwMTNzdE1eZDJ6dkdxNUZjRmpMNEVyUWwwRDk9e1Z8SjN9RSVnZnJ2Qgp6UyVoZFE3
YUZhWWcyQEBQZnheZ3FiOSpCKm5WKk9kYkExMEM4KzkoKjV7YFZ0bWNTTjkrY1hRNFJiN051R1lI
WlAKemgmWnlocEFCMGt0PmpeOyo/fDx5UWVAUkYwUDQjQj1QJjs5ZX4oVkUkYlpzI09Yc1JYTyV6
MnhtWVFsP1NwZEl9Cnp7UEA7Sno2Y143ZD4rKEBrdH1wTmJfaSpRTzI8Ozwwc35XP0VSdF5Jb1po
JUhULTtfanZTXzBgaFlnU3NkXzdEdQp6SDk3JFliTlhmTyM7S213MHNwWTRHJjRPOEx1THlMaSZl
O2EkLSFwYkQlcklrQSEyYyU9WCEmPDM2ZmJZTWBRcXYKekJzRVdnREVhOWI+czNBKkpHY3V8NUY5
NG8/ZnoqIzRxSUxjJSM5aUxVczReWGw9UGNPQWx4V0NBQz45a0A1VHxYCnp3VVhPaU5AaFhoOEAh
c31Je3QmNEVIVlI1O1hMUi0jJHkmNnJgWVhTUSl0e2c3d1JaWkBLdUcoYz9YdHU5IzQjaAp6TFRf
VTdWdiEpcV9aJHJXKz1SYU5KfDZ5dUc0SDxpSXIjdExtQU8qcSZmKzZkTDd9aUR1dEcpREFqb3Qp
P0klOGEKejYlfm5SaU8wMTFlO0ZyTl9jX0tGKUcke28rSV83fWJPPUp1QGl+aDQrfT9nMiVyY3BH
ZD8hNkYrd0lzUFNUUnlCCnppSExVVlozaWAmOHhld3dWPWQ8N3RuP3ZjNEdzek9LOFMzMEYqWHN+
c3RAa2Z4NzgxME55WjIjeyV7U01HZFRoXgp6d2FHaFchJjNWeXs+ZSFEbUk4Nmk4bDBeKDxCJCpC
OF8mRz9ZYkIhaz9gN1doODZlSGJYNzUmd0IoWFI4OCNkbGoKemdyJn57KkZseXFGRTQwNSFCNUtf
bUBfI3s0bGcpPj4/U3xfV1RKZndzIT10bStANFloS1Q3SShJTyVfRWtoKnxLCnoyNSheXmw0fERy
PC1MdzJ2dCZ8VmwyPjVQdCFwISgwfWZmeztMdzZOQE04aik9d0ApaipecW9SNV8hJUgrKXRTQQp6
QXZ6QGFSKyNxVXFmQEcrPGpvKFRnZV9DPDJ2ZlR7P3pDPypwYWFwSnZDZ2ptQl9pJF8lUkM8RCZ8
KkhGUk53bz0Kek1wWWJsQU5HRHVvVUNZTStJQWFxOCU+JD1KSnwhNzReSCUrVU51NHBXOWdtay1a
SUdacDNEYENBTSotaDhCMXFuCnpEWDU3RCRwIWFAKD0yO2FnT3tDfXltX09XVnZRPXttanxQckRm
Jj16KlEwWiRGSl4tbm1XTUpQbkNKd2wpTVBWbgp6O3c5SnBvRWN4YHs3Z0dBM1AhZj5BOXd7TEBY
eGV4d1MpMD1hWUJSJEdlRGVDXjJNUVZKX3pCT0BgWT9QJmIlKlAKenorVSlIajQrJWNDfn53eE45
fVlidC0rTmF1RkdwSEdqKilZMFgjdE1ta2VDbzxzV2ozZ3UqbUFSdzc3K2lxKUdaCno+R3tWYUU9
ak55KE05T3VGNTlhZ2QyWTd3ek5+UEdCPCFhKF5QMiFzMDRwcjxXaUtiazFZR3AmZFVZVmxvVnN9
TQp6KTtBTkZOZzh7bXs4eiEtRTl7bHVGX1FSVHJHQDJERihoX1hAc0UkT1AjbVkhNVlVQ2JFRiF8
VnVIX1VkUHleeDwKekxvZm5yOWZOSWlPJThyazN7cnReNEItTVVKP1Y7WGM0QTZiODtQRnQ8cEd2
Oz18WEt8dXNlcFFUe0dkMGw8KyZ9CnpWVEh4VzJMe09WdTxmWVo+ZDtEbFhHRmRAPkV8WU9RbVhj
enpEPSR8THs1NnwmODV3fVdOPkQobyliQitebXlFcAp6N1d9JndnZHNzTno3cCYzIUI0TU9FKlkj
T1ZYb05rakZ+OS1EOWBLcFdXQTw3eVFhUk4qfEdrfnp+WXJfX1RLOX0KekBxIzIrdDVBUU5NMWJq
NlFoJSR6UTl5N3FyWl5yfTdMUV9Ub2w5PDAoX1NoeWhxMTR6MD9YPmRQTTZDa2ozOUh5CnoqPnFG
RylIdVJNLWVOKWlYUjVWT3xGPCVIQVNNODBuKWBPVDBXV2ltPHZOVFAqOHlfO0UlK0MpdWhHNDJL
VyZXZgp6b1hkX09EPSMmZHJ1RHNPJjBieU9yMUdCK3c2IVVxKUl0OU9RaTZYeHJZaXs+Z1FscFZq
YjhjbFJFWWB3eVMlVX4KelFeWFZzeGltWkBhWFBCOWcobSYhN28qKjteTS1qfWlOQE9YJHBXcTtR
NmxUMEg9X1J5VUhnISYhN0o9OyRaYW1vCnp3Z3h2Nz9+UiRVbmZvWD1YOXl9UT4oM2ooWl5gKUIp
PmkmMW5xYXByciE4M1NBb1E+T3E5LXJ6a3JOOTg3K0l+cQp6RGRVKC1yOElCKjhRZmYzaXkpa2t0
KldPMld5cGUobH50eHUzcWNveldRSzB6dH5jRzJRNHtpZ0JoUH1tPkJfc08Kej1tUX5QSHtMNkYm
cVNgbkdsfDMtakRpXkQjZXxBZVBEbldEJTM7dERwdm5qRD8kPWlFWkAtWSk3VTVyZzEwRWBgCnpY
eFAqNGhkfihaYnVPNilkcCU5WntAIyZtM2woeG4lNVFffWluRyZZKntlZmdaakt4MyQ1byFrQnpa
RlJsSE8wNAp6byRBZlJjODQ5YDlsNilWN1Q/Zmw2WjswWCZueFo1THhRX3cxaDZHMXVkcz1yVEFX
O2w1MFV9anRQYERKdyR9RSgKejhRQyMhXyYhYEZSYCNvYVJXMXJ5dDNpUEBKaTdZNVVrRiM/Jmg3
KVEzVjJ5N1ZPRHg2YFd9bUB4N19sTU58bngyCnokbHR+YGRmPk4oJnJ4dT5kWnRVO0F6V3lKNTRA
Xj53X2JDaXZ+U2JjSDdzZmVAczNDRntqIU11REZ+MFZyOTE5dwp6M3JBUkl6SF9tSCFVWklgck9I
eiZibiVBRF5+OUp7Nz02bW08c2NlfC07OEtQcilGYWtJO2E2RCNJdllzMUVvSHsKejd6O21tTV8j
aH4tT2p2WmlvUD8+ayRoLVA/bS1fd2RWTy1FYmtTMFJRb28rSWJ0OWl1Y1BWOEhDZUBAMkZfUWFF
CnpEJiN0RWVscSVyJmFsZ0FocW1sZDhJPXNTWGM/NClFbHpNUU91YGY8cG0zTD0xQWZPcEkoKld7
NChuUzhjQSV6YAp6PlQoVngrWk9QVnBGRzcwWm5uQF5Ba3E8TVAjZFA/VntnK1MhcTw0fDI9QEZW
X0shWkFVO0x4T1o1aFE9YS1PO0cKemohV2t5dHJLTig/O2JZPlV3SEFUISNwPj5YNG0rfXhBQW1e
O3VmQERUVTM5RXpRdz48UjE8RzI3OTU7V0NMRyMpCno/PmtoZmxZRnhNPnh+M0g8RyY8dGBpQTxx
MzhGX1ZwZXpfQ1ZIfHh2czQ2I15AZysrcVc5c3V0TXlHfll4dCskTQp6LV5QT1JXKkM3bVZOUkhe
cWFkPkIlKXJFYGVyOWNlWDZ8b1BTYXpibihCKVR7ekw9Mz0od21jMF8oQTswYVEpU0cKenJKKCtW
NjN3OE5pbDw8Um1WIXMlb2JoZHZEQ0RJX1pOWnxLalN7UFI+N35FIyhiWFRtQHNgaCN7K3ZKVCE4
VlVZCnpHPDsrckMhfEJsKmZSNU8lSlJDRU99TURDMjBLOSslSU9sb2U5ZSQmWlpsNXZtbG9oRlNF
TUtOaGh9fkl3OGxUXwp6ZzF6MEhUYDZHS2xAOG9TPEpOYSZ2blBNQlQtKzdeSnBNc1U0NWxLVWIz
XnNXVlBPOCtjME9eZCZ1PE9pRldjY0cKemFrcmg/MURxSUdtQSV1YmhaVmhTbSF3Wl87RjE8QWkh
QHdWPjE8M3FoN3hsOVNGV254QkZaaWp2Xj49NV5ARj5pCnprdDVOMTx3a2JqMTNrTXJPdCk1ViZL
dk9IOHt1ODRoPn1lQFkyRTlYY1JOWnhXRmthYDdVKXI4VHBtSUtSZU8yWgp6elQraj0lPEIoal9N
bmZQVz1Va2hBU1Qhe0lpPXlVOClYeSZrN2ZtMSlxNGd7X083MElGSy0+PUxzS1dgQ2VeVkEKenB5
Zjw+KCNZXlRkK1Fkfl56amk5Ykl1P3pIdW5lY2kmQUExRDs2YlJAWjB4Rj94ZD9pTzRpYWchfG5V
SnJ9TSV9CnpCKkg9Y0NhMENxVy1NRVZxdn1ve2UzPnBqTnUtQ1hpZmEmVGQ5ZE1sYVBBNmZWYXFz
cDgwOWpGPUFaSXlzbUx5Rgp6R2RxU285fUJ2MjVqRkl2MTgkamwhZEFaRWg7dDspTCU5dTZoa2Yq
UmdHUDNDbFdXZzxvJSZRU0NAREQhT1IlUyQKekkwTkV4T05nTSMjbUIzY2BmKTRmNF4xIzF3TlU1
UGt7dVd5U3AyVGFVbipCRk13ZHl5KD5eU1N1fFp0TipEeTJoCnpFPEx4TVp4NEVeQ0BsUHpCSnJk
JjBJNWVBWihITEhTOEtRXlBiTWIjWHVIbChSdChVZHB7S1BDTDxybGIoYUM8fAp6ZVZUV2hDdVUm
QWlmUnskbHk0aU1Da1oqMTJnWVo5a0JxPEBYbkYmPjYhNkIhWGU0NGA7bnBBfXI9I0dYLSZqRD0K
ejd0WEEhbUY5R1JgSkMjVktTV21DSUhCJWhSKlIyMTZnTUJtRm5MTm9zeyFHIW93UUU0PilLbjEy
P0J9PD0rPWNgCnpjMmhjKjNicm8pdDFTQ3o9O0BEY04wSShuS3R4MFBpJHJYdE5uMTgtb0p0KWdw
O2QkTXlUZnBBdD00NDMmQVRaYAp6akhDcSFBTWo4SkAqTFNtNCpRdzg5VjxBTW88VykkbH1oP0wp
P0kldnB3akNDdGgzeVBQPlc1NkVNS3xTdFAxMnUKelR8IXJYNTRwTm9IdWpjWDUySUwwIUc8REs4
MUU9Pl9eOzhOMURFOXZUNDx7QGYjLT1iIypoITBAY0Y2TlJARTFLCno4X31wVTh9eWB5KVlQfU1J
VEpYND9jVld7P3JCZl5GVklrKnRDJDcoMWZVK18xZ0RONiFLeUlWK3gzZ143SWQ1Uwp6T0NVUDc2
NnpIPmhIYlZyLXM3cjYqaktsR1klSCVuKkFtaG1fSW0qUlVsdDZ5cWspUl8jY084ek1HMkVrT1JX
VHEKeiN9S2JjJlVKV3xhRUM5YFMyX0BiKF9CSkkrK2t6KWtWX0YqeHBXSlIkZUxjIUBuPHdXdngy
NHlualclVm1NaHsxCno2Y0skMF4mUU1CejRANj8/czFWQDt4UTElQCl+QmBzTmNzbV5pUmR8KjlW
VHh0UTI/bUdzQjVxQk1tQyNeOTgtLQp6NlVLKmRKfnFMYl5eU29jcnp9fWhNM0RlVVItYXtRJmRg
OHNLNVVwayR2NjlIQXRkbCtMKlRSbVY8b1cqdWFTZDEKemVwbiZoZSE8I3RqJTdEVyF1LXJwVEtt
QzJBbkxDd0dlciVgcChvOSNRcWkyYz9fJGpAJUNSaCEkZVNAJDd0TSZLCnp7PEkpdXo4LVY/azc+
K1BPbEcpQ3JOOEk4NT9iTldOMHlEPEJMYnRrVkpme2BeTERkUzVwUiVzMkh2cFdZKkJmYwp6KkBG
YEs7b0g7WkBHXntTS0wzJHVpV0dGYGAmOTVweDZ8dDdWXldTNXp+NjM9ITJSPmcpeGE5UnJJJlJs
PGZGQE8KejlKX0NWRXh7ak13NlByKz52OTRGbSUmZGhFSlBme0QyYzRje09MNXZfa1kyMHxEYTJs
YiVaNjhIM01vWEhtMndWCnpgQk9NYm9QJVl0PH5pPEBUQWZ3QmxDI0ooQmEwJjgtaVJ2SGUyfipL
TjFWSU87YkpIVE5mdH5nMyMlSkFXfnRSbQp6NWdOcWU9SUtDTWA5fWppVHJBPWBIWiZ6TUJ7YlJ6
TGwxMmJTQUBENFp9QDdWe1c2JVZtRlhfZCE3NzI1YHBOPH4KekN7R0p8XlVEP09uWTBmPzlFQTB8
VD0+YkopfCo/Znl6QlpZTVBDVVpzVSltTHt9WWhwbXB8SUx7Y3V0Rlg5YXN1CnoxTnFuK0stIVBK
WWxDTV9mWl95Y3UwfTd2M3V6QiFHUUhDWEo+e05pIW4xT2FqQi1fJHw5UDVpaD5POHkpU3R4Mwp6
Rmx0UTkyPWhzazhkOVBmKns9S0FSPnBqPExeXiYoPWdvMVNJbnh8P3E+bUs/QWxmQmJrJT5zZT1Y
cj4rNzgtU20KelF6ZiQkY3EjMXo8UTZeRHVVdmlNUTxiYCgpa1loel5KJTtBUX1GanNBKmkhbVMz
ayMpUDA8VylgSDBfWjRDXmJfCnpPI013YWZVQjgpQXEjTEF1dDJoRzVNeEJxZjZIYHRDOX1tKDBm
QFF4RWdGUV9udTQtY2VuZ1drd3A4KjU7WnNvRgp6Uk51NXFLQHhPUGtheipwQTZBQHdnTHhnZ0Mz
U2BiUjg9KDtxaldtekZ8JUBOY3NefT07NjdHSTg+bCFyd3dCb14KejArRGRefENSSUZ2VUArdj8t
dmQ1VXIpbUYjLWBAO1pgMEsxITA+LSlgRDliNTx3NSVqYWE/Izx7MHR9Km9gfWZ2CnoxZ0RZa0g7
aVRJYTc4OyM7Z1VQez40TD5HSVpvfHlEZ0lEOUFeRWxNNW9tPEVoZ0NWSUY+Um9LMktic3RwT1o7
Pgp6akBrS287UHQkR3oySmRgV1ZOVGQrKUxBaEFxNHBiU08rUXktMylhNmYlQSV2dWlvRTZJX35X
RG5YX1U0IT8hIXAKeiheIXA3NWFFKFQjO0chbCV3fD81ezZtVz8rSl5aVTtSSm13eWR+bUB7YEZm
MUI0by0qJj9yNFNYOUZ8bDdmeDV8CnpqUyRWX1h7dWJacDhLcUN8S0cmM1Y8bFMwaEw4KyhnOVRF
RHFIKG5NK0dBSm9KYFg9WSMzR0FtKGlGQXB5YHxacAp6P0ltPmdacGF6ZXVnR3xFR2s2JWs2THNa
bDA/T0J9SHw/fntwP2ZEJEM4dUlrNiRvZWhvOXdmRig1UyhSYkpOczwKenRxJHhyaGBiTXsmT2pO
WClaMTdhKSRed2kkPENqJXMxPktCIWg3cGFPKH0wKCtCdmNoeGA9YiQpc2l2dSRqe2x5CnomYX58
ISt9SWwwKH1FZXFZeTFWZ0ZjQjJ3O1c+LTxPemRhJl82TmE5ZjB3eCRzYzQoSWRRV3llYntFZms+
YDVzMQp6LTF8RyNIbWJDZ1kmKFJtO0orPSVlSjRJPyp5eWxxPWBGTDF1ZSh0aXB5fURfNkQ7T3Js
VU5IISVRVkFnVztFejMKejQxZUBoZGBtP3pRPGd5Ums7MDU4MjU3dWVYMVRVa2xOS3k0b1o+TCRa
Qj9tfGEwYUV0ZHpYRHleRF81fGVUazlfCnp3Z3NxMitlI0BXVil2JVBtUSUjR083SlVAV3tFVUp4
Um1taXJRfT04VU04ZSpffkBVUG9lSzloRmR+TyMyOS1CMwp6UGx2WkpfSTU5aTtAZjVMLWFnMW4q
dXhpOT1fMXhBU1VFV1lzM2YtIVR1JWImMVg1TkdeQiFQb081Uy1fRGdFKlUKekhQY1FsSmV7LVRi
bzVye1VuWTg1WVFwfSE7I3h0QkdXKUQjcUl5STxEQ0BNSFhXVTh5dj5OS1ptbFNONVM3WStNCnpf
I1gxej8yWHtFRTUhfjhBWGp9PiZ9emk/bD94WkxKVGVNZSpPZHVveTRlYSs3YjNmOWNSOFQ4NGNl
dlkxcSttNwp6ME9MV0ZLJGpvWUNhU0glKTV5Vj9vcHFPVXVmeF9PWnFteyU2VGZtXiR2Mkg9RXst
ak5BVEQ2eyFsZkgjVjtsWTIKekoqbSt0Kl4rVDcqI0hlMzVaVyt7Xk40RHUrZ3RVJENodnNhMH0z
QStXX14yX0RNez5WIzlMM2NIaWltOGJ2YnhiCnp4Mmc1UXI4Z253Xks1LSM1KXZxUW08LVN1SVRZ
UkpKM2p3X3kkPWZqdFZ4OV84R1gmcWJDU3VxKEV5e1FpYGB1UAp6QSltak1IZ0l7VnhGKVp9Ml9V
Y0hwXnIzYFExaSpCJnZYOUhwSDUyPVRvNmYhRWUrJWBGK2p2YUVaVjlLSXpJKlMKeklQfnV1bmx5
dmkwUGtLVWUrIU9Ue35gUGNZJCpLZWBobUQmQXRscFc2bWZHfDIpTWdEVW9Zbnh3U35pKzJCb1NF
Cnp2Xm8yaXgpOCZZXjJDPDhPcGpFZXYrKnJJNiE3P1c+VWBla0dQZiVqRzJMVl9KTFEjVm8qRypW
cX1sSkFkMG18egp6bTtsfHY/UCVyfElIM05iKjh7c29wJW1vI0lnNnErQzspRzQjKXZnZ2wqVDRT
KzxVQ1hVUk5SNikkOD0mXlIoMmIKempMI3x3Q24lYkV6ZnFVNillTTV2a25Nezhia0RJTyVVaVdM
JVhjS19vfUR+WHtFUGV7NnpLdlB3b1k3I1AyOF5GCno/KUNKeHB6akM7UHxSdV9OMV5fdlZXY2tK
TUBCJk1mQj5oKyNnaj9BaSZXOy1ZZlg7ST1rTUFedGZWTlpJYTNRIwp6ODB+Qz0wXkBzeS0tJkZe
V01CPjA8SktjN04xNld8dVhzfiRgTmd6WVp4PHk5UGNlISlWTmpPKVBrTTtXc0dGO2cKekRpLU5Q
P3FtanFCN0xrWlFaU2R7YVIqKEZmQi1pfD5DbGNeNV4+TChFO3t6UCUtKWxXIXM9Z3M0fUNJSDQm
elRpCnpPRllAWDE8dStiTiRkUCRRXzh3Vip4eEwjayRUdCtaR2BBS1FqMWZNQigrSiMmUldHQCRY
Ml9VSz98cFQlKXxxewp6TTM4UmBZNClRUHN0ViZtX0hCVzZuYT4zS001eHB0TCh6YlRLRCleJmJx
UWB0dU5va1FsN2hyPkxGeEFDJD8xMUYKemhCT29qK2VXQXduNz8hdzxjaG82NnhoK34lUVNzVDVm
YVdfdkBNKnVYZXxpVDZHWEcpcz84N09KTGVrJjB8MVhWCnpgNzYoMilRPm0lQXdWNU5hcU1HTHZn
c2c7blZqZm5AKVc9O3dKaj9zVjBWNXwxJDtzQWhiTjFUT30yeUA4NXkyLQp6cERxZnRIbVVnSHBl
Kk85ZF9Nb2NCVFAqX2RIJVZ7I1Z1Vz5yeSNefHRePmtxcCNGbmhmTm5kbDsoTmU2bDBaSiUKelow
elEhM0tmNClaXz17LTMkSDJLc2M8Pn4/SkdmMzBnejI1QGdrJGdjaSFAPG9RLXhPJFc4bWY4fG8p
VVFBNDl2Cno4QFhqND4yZEd0bCRYSlVWY3wtUzUxcTVAa25lc3pzLVRoXjBaMm1lY3ZvXkQ/R0VV
SG9ofGZaVXIra0Zfflh1Ngp6SHhFcDFTXiR+REtkRnQ9WkNYRHw1P2ZOaVIpPkxRWExHI1hKTGlz
cWI2c1hZbEctPkJ7Q01UaS1kVGdvT1MlOSMKejMoI1glZ0c7bTJBPDhmM2QqMXFrX0FXSylxZHpv
NnVMJjwtQXIkUzAjLTRLalYqQjY5NFYyM3x8OUg5TWxoNDcoCno4bDlwXjVhVEdmVWFWUTdeOVN4
eyFreU9XTGpaR2FuJXwqYj4peFNKYmpPfWJMJkg9MC15X1owPjwwdDd1VCNvZgp6K2FvJDBqNGFS
TXpoPX4lUEJ6aEZuKnlfe2xfVlh8MDBZUFZhMSpuKTZFME0mbk9zcTJAK2dMV2pxSX5kaUxmbnIK
eisqYERURmJtaXFuVmttRUY8USg2QVZiNSNWNXopezZeSXRiTm9vT2c5Y3J9QXJHMnFJbDBwMnxS
WEV3YVJ+QS0hCnpnIXRyTjZIeDNDJXdQeDtjY2lIV2Becz1SO2J9enF7eUVFfSNtYGpmQmxqKHpQ
SF5rYndGfmA8YFY7PWBAe0NUQwp6NGxUci0zd3ErdUlQV3JCO2s8UH04bEsyNTZHNW96ViFXbCFq
WVNvLWU0KUJeSlRWekJhc21CI0VYM0Y0Q3I+P2YKekh2R3lkb2BJNVhAayU1Wm9Zak0rbmtUdEI4
JW51UW09PztCdGNkITdldF5gU3l0TVlyMzhtY1hoeGQ1ZERHSXJvCnpWbjR6PXR8bHheO31LJThV
Z0h2UTxlMyNqNjc/Rmw8fEowUGV9Kj1UaFFrWjsmLW9YR3pRflhoVFV3U0lPYllwJgp6e2VHUHgq
fitLU0ttLS1ZXmd6bEBLb1JNITN6NWZIWD9XZkNBfCQ1JU0wX0x7Pn0md0VtPXB4fFo4dH53ZCs5
VWYKekVLdHJ4PlRtWjRZQ0Y0P1BYZUtCNXh8Tn4jMjZEYzIwZGFHdnVAM3E/S2gxZiRPWHBAXjR+
V29KWXBJS19zZmwhCnpQenQkLTtIO2FseHtVYG1ndGc/Yl9NaDFmcW8+KEFII2FefkhidD4tWjVQ
fkVHc0Z6eWJ2ZV9+ZC1mKj5xanN9MQp6PDRpeEApeiktbEc9WWhvVUVnSyZTOHIrbzA8R0AtQiFG
LVNONkJDY1h9SGElSyRpMSFEfmJPSWVNUHVLYkMlfjkKemRQXnBaKi1TNmRTREd1NTNmN3JAWF57
VihWbEdUejIxQ0tiOGYlRjIjUl44NzBfZGg+Kk8rM3xTeVJrRUc/Z3J0CnpsfEAxR08pUXJXRVpJ
YDY0eX1YKT97eFJ2QnlkWWJCbT5sXjZQJjQ7Xjd1UE1IRFo5flY5NHdsKXM1b0YmUDVIKAp6cnJu
Sn4+MmdPK3w5azN1dSN4NnUkZ0VVRW56d1E0YWcqKSNmOXRWRTQtN209YkVhUGhIcyQwN0QzMUIy
Tml5enQKei1IbjgoRzwxTmAtMmxgbjxGVEpNcXdXdzlgMiEhPkYzUHtLKUowJChvTnctKiY8Vm9V
OSR6UT4oMlpaWjgtb35LCnpEazB8K0ZgRUJRSn4+SCpMakt6Rkl2RHhsbkMwITJmcikhWVE1ZThU
aVB1anQhY1B9XiVSVHl0RXwlSzg8dW9xaQp6c31DVjRjV0NjSyt+ZjIoWEtebT1BYytPQzZ4PjA1
a2pjIXBeWSUqbylQaihKNFl8Jno2YDVXLTh+TFJVb3xYO34KejNSdGk8VG5WN3dlT0h2U2FmPXpg
bkVhT0BAbFotaGNiNypqU29RJik9PiolO3oxQSF6KEQqeGMtJHIteWQmQzdSCno0ejxBQzh1Q2pk
UTx4Z3RQJT9VdXpPTUFxVHdEOzk0KnJMXjhFOW8rdzNUJHs8X0NvJSVIJXF4e0JTVlEzdzRwfAp6
WFdCTzcxSHZ9b0xEJkd5KSg9bUd0RWRsN2l4dm50ZF9OdzZOajlyOXhlJGZZOzItKyQ+MHM+UEgl
QlNnampxRmkKejVEMyllSGdRIytDNWZTT09EfTstQlctP0oxMFFwTWUlMyVgQzB6VGBWSSlXLWZH
PjhRaE9GPUEyb2NaV0d9Ryo/CnopIyR0JCR4O1ZzP0I1e0JIcnQ3djZ5QW80JFBTfWpDcmgqNEZt
O1Y1UCtEeVRMV0FsQj80d3dtUUUrIWJSJWJVYgp6Pml8c2MqQFpfK05DZnRAYlpFejsjMGBvcylU
TW5DKSFfe0ZjZ2NGN21pKzdwNGVfNTRGU28rOHcyYWJRRlVFWlYKemkmbmtyKEhRcyk0bXlXenU5
d3A8Zy1AOVBFQlRRdiZ+Sm54bWhaQXxCenNed0NqQm8lV2BTMkB6ZnBVMGt6I1h7Cnp2USZ8dmlW
VihWRUB3UjQ4I3s0KCNoPHB8Plc4T3o5R2srPUYzTjQ2TGBgMW13NGQqd1djSm81I0ZyKyR7bmQ/
Wgp6ZkFyakpXVyslUCo/IypFZG97clFEc3g4bFpnRj5SO1l4M3M5Z1I+PHh7UU4tN3x1a0FxXzYo
KUd5OChSYjAmYl4KelZDald6JV4yTkF1Rm5ITD9ZUHZYNjt9MGomRWtTITBHJjdnVTZvcnxvdilD
eEV6MXlAR2c0WF43akxuUT80RmoyCnoxIX04QntSaHIkUCRSTSNCTmJrJU5LOXNAMnI1cVZ4bUhH
IStKOGJTUD5PaUsxM2sod0QoU1d2LVlCeXhoXkgmdgp6KEpGblF1Ymt+bVJXcDBSLWd4eDJjX2ow
P3RheDleTCtad3Z3djxQMjBiYW9lXiZ6JT4+U0M9ND5TaWt6a3kwZ2sKekV8OHw7RmI1PVh2Rype
KWJ+RTRrZ31NfiVKVWMhdTJoRE9teTZ8KlptUEB3Tz5hRHRLZko7TTcxcFJTWWw8YWpgCnp1UmxI
PUVzXkVQSVpkZWQ1YGV7VXpMUCs7VVM4aXAlTnZ4ZHdiTWJzaHtRO1BkJXJBVjZhZVd2JVkpPyZE
KzJiYgp6UWNuaylULUN7R2ZZQHV5VlokdDZWWnwpY1k+WEYrekxefGgrRjNQbnMpSDd7UzFnfDAt
VjNCfUxydUU7KCRhQCEKenowMSFgTDhJP2smfEJ4ZkdlOUJ0RTs3aWllcGcrQFEtUWA4QjF4T3dK
YyplNmR4NW1BRWI3KGAyQi1NTjM+dTVPCnpwNWJXeFF8blRFd2hTZzNedVFqRjFeQ0JER0U9NyVG
TFZAWHhzPWJEOTdGRWJWKn5NM1VfTip4dDw/OXpPTUlLQwp6aDJER3NvK151Mjh5dVp7cmFgJitF
aEZXT1k9R0tWcSE3NVVhTnJ3dmpxdExvPzJEdUUkaGp1fWl3aDY2XnowYU4KekY1c1B2IyYyVX5p
V29LRWM5YnImUmN8bX0kI3RSPmA/c2hBSChvSGJqJDE2S19HZmk/d1NrO0ZLdEslVWElPT4/CnpW
azdtPEkjbi1CaVlBPj1yMkIxPCh4WSFuY005ejliPT9nQy1FVElROWdRWHJHbzVyTHRhS1JfVSR+
e1p2Qj1+WAp6UHxXfnkwaDNZNE5aNTZZWTUkZnNiSl9taGpSVW1+d3I4Xio8PXhoeXd2MUVUQnEz
bG8kbj1fX1F2dmBBRHBKRyEKej5gUTRtYjctS2JaYDNgUUJUeEE0YSowUjJoMntUdmFVY09rTTNg
cHBgbE0mKXU2RWVxdWY4fFdGblhuNy11Wkh+CnpVe0JwWj5fd3o7SUdgZHczekhgPkomcVdJQSVR
e2tIQClBKmVRWl5tRjE0bGw4MiVaYV50ezM+bUJtPjRiRX0/UAp6ZFdNNHo1ekFxN0c+LX1xNmhB
TyEoYDgtcnZ9M1RgNXo3Jk9URTBndSsxPWZmSyNjP0FTQWs2TFVNamY3KyYoUSUKeit2ODxIXlQ9
P2lEXishOTlkYlkpViRtMnNUPGxVZEc0U3tzalo/eGVgdiM/ZzJVbkYmVysrQWFzOWRJYSl9V04w
CnpjYFZ2UTI2JWtvUiNLe2cqT1lLN1BQKyt4QzA0N2BeS3JCTD18Q1VyajxJcVpOTG9iKj9QWjtB
cyt5VTgkPGApYgp6MS1JRWY8QWwkekwzQTV7OT5zKEFRWUV8bUZgMkpqWUUqeCFwRzNaY3pzU09Q
ZlJ0SylGLWt9byYjTj17cXJ3Sm0KenYhSWRQaHpmMiY2MVpGaCFSNFgoUlR+OzFHTHYwRnVIcCh2
UipnRFgjamFDQFImQWxFMykmSm0hfWwxSSM3I0RlCnpzNV9VKzRxTmc7e1ROR3hgKDRqODZ4X3xq
XzlKKVlSTjJyVHM4UktOPE81KFIodlcrIzwpU2hrOSN6T3VwTSMpRAp6NHl8QSgkdFhVYnJGIUd5
OyVBWTVFKSptSVk4fXhpSjcpKVNlQWY9Y21YLX5QQWNtIWxMU2JpOE5fNms0R2kpRy0KemNfUiRh
bjcmWWoxfmJ5blYqbyEtd0FobEprfSErKChhanRrM0UlPF5EMVpVX1djQn1fKGpIWClVVjBoI0d3
VnkmCnpWSXtQJG1VVTxjRmo3fXNadn14aSZgO2dMIU1BYSRZMEc7Zi1NbiR8VGI4QWwwMjZpVklj
aiopWnxufUItRnBBMwp6ekp4PWxYay0zNFBPemluRH1TWT9eO2JOJSN6UjE4Sj95Knx2UjQyTEVH
SSFZUXMwRWleS1pIRCpAUVF4NHJQPUcKems0ME9rdHkwPUpmOVViKnNvUlBOdWs/b3JWODVVNXps
QCNRez11a1JjPWVkXyNQOC0ycmZISiFkflZxPD5KVil1CnpXcWxiPCY1fWN9NFBePzktXyMtYGYh
a0JTXk85bDNsOTRuVnYya21PMCQtc15PcGNKVStCK0B+P19VT3pvSkduQQp6Zl40OEZYczJGKTU3
dzlMO3c/I2tiQW95TFhuJmlndGhBJncjJVBWeHplP2FUfE5INzErWCpxZjRWdjNvUDxKZjIKeipB
PWBpOTV7QWJPMFVkQFFiUmJha0kwUUxZP3xeMXBKTks0QTwpNVU1MEg0Vj18UlZ8bDsyTiZEbjFK
RiRrYS1sCnpTIUUjWlV5I2U1dmxoKSZodWp7UEMtZTx6I1k0Nn1NNlkjNCFuZk5SSjRNVW8hYHxL
IWRQQ2UlckcxcEVmMnZZWQp6KlJnMERXXmhTTGFfTjt9QDMjKih4JmZeQHJ6fUpxVyNzMTdodEZ+
b2ZYeXZsMlQweTJoMHtpNXVTbU9oNUBeY0cKenZXd2UzKjRvNStTZEkmRHthT141U0JJO0daIVRT
RiZBRkpAMUhOe2pyR2JZOz9LczlHMFQkdVd0PXd5WkFxTHZ9CnpvVUpZU2I1PFFRXilgXzVmUmgh
X2tSU29mVCNpfWkqRVc5ZzZZVHZLdWBZKChfS0ZwWVUzWkxJejRJKj9YZEAobQp6Kn1UUDA+RUZF
P3AlX1hKMmc9b3cjU3dqMFQ1c0lKNzdJKGhYKzZ5P0NDbHc9NX4kI2QoVilOVipaRylfVnZKJV4K
em51Y3soQz8jSXIxSyRSKyFwcG5PZm8kPmU/eVVCYlhLakB+b3pQJCYoNkZeSiZCcSE5bV9UdnxP
ejszcSV5MXwmCnpfVnZndFM+X29OTnxtMjFabG1CWHp6fXFuZ2NBZDkkTCYrSFJlZVcoXnsrUl9q
OU16RWJ5MGg+QVYwZmlaUVlmbgp6alJ3JWhgK3A3SFopJE1TJEVAZVJCMGohRWJ0R1NIMChJQlZp
JklUYDdqaEVNcmB3NFBjcE43K0BoZjReKyhmaWwKel80IW1aWkZ8TDwoNF83ejlPJXhARzJlWjRy
eGkzRkUrdFdtYmJVJDVqdSsxRjl2flc9bF89M1QzcmZpUXJCSVUrCnpYR2M+d1Qze3lKOCgzTDgp
TVgldjhZR0k9K1FmVnhyczx4dGpTPVArU1pzQCZIPihDWWx2NShTN0V4a2hiYUNpYwp6Rm9gcCU4
MHJ4PD4yPCQrbyVaX0ZWZDFYZjNgIzRnT20jQF5fWiZLNVdQQDgoZDdVfm1OdDxLZUpOWj1fODd5
TW0KemJkam4qTiQ9emRjS0JAeTF+Nz1OS0Mye1ghUFpTZCN9P01DWnZxUmdxfDIjN1BxNz5nMnxG
SzdJc1lePTttZ2FtCnpvVWFtRGVgaGBvQDBzdUs7cEdkSzRsSGl6SUNZKCl6ZiQ3fFM+fjlRbWZv
WmlxPnt9K15HM1k3dkx1RFV0cTN6Jgp6MDQ9WURXQE0+NDtRMV5FV2hoWis9Xk50RUZxMVlsWEZk
clZEbU54PCpgOU1RaSE5TiFvQGtGPkhPaGVqaV5ZSzMKenZMcFVXTmk2WWMpZjA4ZCleb2h5NWhP
K1RtJjw7fjdVQH5mRlopKSVnNl9PbWhyb2AkZEoyOWVTJEN8enw0JFN0CnpRQz5SPjVTWkliamUm
b34qV1N0PFZ8TCVyWVpneENveSNgQShjZEFmMm1RNlQ/N3o8fVhXKDc4Zm9SaXQrKkh6aQp6OWVn
M018NDUkd09SeFUjQHU+UD05cWI7bWEpKVU7JTRjY0E1X0g5YXReJj1+cldVTVVQQXBpfTRydGxi
VUQySS0KenB7dHtvTXIjZUF5MWBSczwpM3E4OCZmdkRPV1lffEJscyEtUG8wYjV7fipIaVBgei1Q
SmUmKSpuYCNHM3hJUmNACnpLV3VpX2BKVEBaNkdoWXRKY0JlZyZraXU3ZTV+Ymk5cTxpaGlgSF9W
PTR8aTJpYHpMT1YyYVkhYT1CXkAkJkNQZAp6dGxpYU0qVlBeaEJ4STE1d2pgaiFzUGpPI0V8VnQh
VERJXjE5Uzs7MEVIK0l5WGVwZ2xeVnFwczxDNl8zMVVYfVMKejl4eSNDMkdHTiVYIWFmYjEwPE80
T2k9Qzd2NSY+TjJ3fUNwX3JCUGl7bmtacyVPQTt0bUZCdXxhc1FrSV8lKlZ4Cno+ZkVFfjdPQHpI
NCZoKXh1ITRvTFpxTVdWOC1ZYGxlOE1AUG98fSM/Uy02ITVkTWsrNjU9RHpqK3hfaldtY2c+PAp6
aCp4VipSPktkIUtpPlpGfDI5fDR4LTdFVDhiSjQqUXlXMHxqYVJsNmFjWnJVKTBjNFklPGt5cWJ9
S21gdUIhSk4KekZPcDwlUklvTHJuaSt1JTBhMyNzV0M7PHx8QUZTeFZwfXlHRnlyYDIjWWdoVzlW
aHYpR35xYmI/ZlFRSzdzRlpGCnpxKG82PXlrSlJDVWUtXmZ7aH0yKjYjMSEzN219VSthMG15WXIz
VEVRNl9EKDU/NStjeih3M3lWZSZPKXNSTDl3QAp6ViM3Rz0mZVdeMERjTkJCKHQxeUNlVlNpSElU
RUU9Nm5PcnYkNjVMdCY5TkE7KlVqUGRlT0R8QjNMIWlaQ2VUdT8Kekl+TTNgI282c0NtQlA+Yz16
YDVHLWhKdHdVb3NDX3hwKTZod0tyZGpUJXJ5XjdDK2ZSRzZVSW5HYC1xaHkjWCteCnp7SlJiUms1
blUlVyt1QFBtVz1BKDJ3Z3VCLVF9VVN2NGpyNEl7fCZ4bns/LSZ3QlVZJD1ISm12ZSRTNG1RciUx
Pgp6JVV0SCYmKWVrSGpeM1cjTVg4UEBqP2l3Ml5afTs7PT0hN0lDZ0omZVR0e2Z1ZXBPSCFBP0p2
eDROXyYobS1KSUMKenhJWTd1Uzk8VFlSUl9iPVQ4P0IyXz5aUlQ8WUVzU29rOGZuSVJAJClgYkJA
T0cwUEM1Xk91SGhGNiNvbTk9R2BhCnplZl9WYEpCXjdyR2E+UXx3YnRzTHZhZ250VXdhIUgqfChj
T09NTG57dlNTT3F4ajF5SFhaejRHOT1WN3woO3B7YQp6VlVDQGhSNF5LS1JWe2QqQCozOzdYdmla
fmBXKS05aUREbUlLdXU5NFUhRmhxZmgkU0I0dXlmTTJ5SjJ1LWxeeUoKenRLXkR2VS0hT1dyJmVY
ODtecl9+PSE3ZHdsN3pGN1cjMnRuKSgqOT8oeEpueis7S24pQFJYNk5qbHotNE0zKV88Cnolbkg+
R2B3bU9eMX5kfGlxY21DekBhZj1yQ3hjRVNtb3wqaEl5Q2JwWTtRenQ9eFhPWntjNCRWMz1HYlIy
UnZqcwp6bFZHb0xpPXZRJFdtPzRNWng1V2VUaDUzdmA9NVAqWlYlakBON3BSNkgpeUZpPUk/c1kz
KXclUjY5WWZSTlgwNjQKeio1ZkhBcGElNUlObyE4KGFEQ2NaRUxaUE8oKiRaY3oyQE1TSjwhR1kr
VytpQmcwV2xBRCkmd3EpZDRsVEw7blpVCkM9RGNTQgoKbGl0ZXJhbCAwCkhjbVY/ZDAwMDAxCgpk
aWZmIC0tZ2l0IGEvV2Vic2l0ZXMvd2Via2l0Lm9yZy9kZW1vcy93ZWJtZXRhbC8yZC5qcyBiL1dl
YnNpdGVzL3dlYmtpdC5vcmcvZGVtb3Mvd2VibWV0YWwvMmQuanMKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNmM5ODRk
ZTk4MTM5ZDU1YTU0OTk1YTI1MWNhNTNkNGFmOWIxMDk0YwotLS0gL2Rldi9udWxsCisrKyBiL1dl
YnNpdGVzL3dlYmtpdC5vcmcvZGVtb3Mvd2VibWV0YWwvMmQuanMKQEAgLTAsMCArMSwxNDIgQEAK
K2NsYXNzIFVuaWZvcm0geworICAgIGNvbnN0cnVjdG9yKGZsb2F0MzJBcnJheSkgeworICAgICAg
ICBpZiAoZmxvYXQzMkFycmF5ICYmIGZsb2F0MzJBcnJheS5sZW5ndGggIT0gNjQpIHsKKyAgICAg
ICAgICAgIGNvbnNvbGUubG9nKCJJbmNvcnJlY3QgYmFja2luZyBzdG9yZSBmb3IgVW5pZm9ybSIp
OworICAgICAgICAgICAgcmV0dXJuOworICAgICAgICB9CisKKyAgICAgICAgdGhpcy5hcnJheSA9
IGZsb2F0MzJBcnJheSB8fCBuZXcgRmxvYXQzMkFycmF5KDY0KTsKKyAgICB9CisgICAgLy8gTGF5
b3V0IGlzCisgICAgLy8gMC0xID0gcmVzb2x1dGlvbiAoZmxvYXQyKQorICAgIC8vIDIgPSB0aW1l
IChmbG9hdCkKKyAgICBnZXQgYnVmZmVyKCkgeworICAgICAgICByZXR1cm4gdGhpcy5hcnJheTsK
KyAgICB9CisgICAgZ2V0IHJlc29sdXRpb24oKSB7CisgICAgICAgIHJldHVybiB0aGlzLmFycmF5
LnN1YmFycmF5KDAsIDIpOworICAgIH0KKyAgICBnZXQgdGltZSgpIHsKKyAgICAgICAgcmV0dXJu
IHRoaXMuYXJyYXlbMl07CisgICAgfQorICAgIHNldCByZXNvbHV0aW9uKHZhbHVlKSB7CisgICAg
ICAgIHRoaXMuYXJyYXlbMF0gPSB2YWx1ZVswXTsKKyAgICAgICAgdGhpcy5hcnJheVsxXSA9IHZh
bHVlWzFdOworICAgIH0KKyAgICBzZXQgdGltZSh2YWx1ZSkgeworICAgICAgICB0aGlzLmFycmF5
WzJdID0gdmFsdWU7CisgICAgfQorICAgIGNvcHlWYWx1ZXNUbyhidWZmZXIpIHsKKyAgICAgICAg
dmFyIGJ1ZmZlckRhdGEgPSBuZXcgRmxvYXQzMkFycmF5KGJ1ZmZlci5jb250ZW50cyk7CisgICAg
ICAgIGZvciAobGV0IGkgPSAwOyBpIDwgMzsgaSsrKSB7CisgICAgICAgICAgICBidWZmZXJEYXRh
W2ldID0gdGhpcy5hcnJheVtpXTsKKyAgICAgICAgfQorICAgIH0KK30KKworY29uc3QgdmVydGV4
RGF0YSA9IG5ldyBGbG9hdDMyQXJyYXkoCitbCisgICAgLTEsIC0xLCAwLCAxLAorICAgIDEsIC0x
LCAwLCAxLAorICAgIDEsIDEsIDAsIDEsCisgICAgLTEsIC0xLCAwLCAxLAorICAgIC0xLCAxLCAw
LCAxLAorICAgIDEsIDEsIDAsIDEsCitdKTsKKworbGV0IGdwdTsKK2xldCBjb21tYW5kUXVldWU7
CitsZXQgcmVuZGVyUGFzc0Rlc2NyaXB0b3I7CitsZXQgcmVuZGVyUGlwZWxpbmVTdGF0ZTsKKwor
Y29uc3QgTnVtQWN0aXZlVW5pZm9ybUJ1ZmZlcnMgPSAzOworbGV0IHVuaWZvcm1zID0gbmV3IEFy
cmF5KE51bUFjdGl2ZVVuaWZvcm1CdWZmZXJzKTsKK2xldCB1bmlmb3JtQnVmZmVycyA9IG5ldyBB
cnJheShOdW1BY3RpdmVVbmlmb3JtQnVmZmVycyk7CitsZXQgY3VycmVudFVuaWZvcm1CdWZmZXJJ
bmRleCA9IDA7CisKK3dpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgaW5pdCwgZmFsc2Up
OworCitmdW5jdGlvbiBpbml0KCkgeworCisgICAgaWYgKCFjaGVja0ZvcldlYk1ldGFsKCkpIHsK
KyAgICAgICAgcmV0dXJuOworICAgIH0KKworICAgIGxldCBjYW52YXMgPSBkb2N1bWVudC5xdWVy
eVNlbGVjdG9yKCJjYW52YXMiKTsKKyAgICBsZXQgY2FudmFzU2l6ZSA9IGNhbnZhcy5nZXRCb3Vu
ZGluZ0NsaWVudFJlY3QoKTsKKyAgICBjYW52YXMud2lkdGggPSBjYW52YXNTaXplLndpZHRoOwor
ICAgIGNhbnZhcy5oZWlnaHQgPSBjYW52YXNTaXplLmhlaWdodDsKKworICAgIGdwdSA9IGNhbnZh
cy5nZXRDb250ZXh0KCJ3ZWJtZXRhbCIpOworICAgIGNvbW1hbmRRdWV1ZSA9IGdwdS5jcmVhdGVD
b21tYW5kUXVldWUoKTsKKworICAgIGxldCBsaWJyYXJ5ID0gZ3B1LmNyZWF0ZUxpYnJhcnkoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImxpYnJhcnkiKS50ZXh0KTsKKyAgICBsZXQgdmVydGV4RnVu
Y3Rpb24gPSBsaWJyYXJ5LmZ1bmN0aW9uV2l0aE5hbWUoInZlcnRleF9tYWluIik7CisgICAgbGV0
IGZyYWdtZW50RnVuY3Rpb24gPSBsaWJyYXJ5LmZ1bmN0aW9uV2l0aE5hbWUoImZyYWdtZW50X21h
aW4iKTsKKworICAgIGlmICghbGlicmFyeSB8fCAhZnJhZ21lbnRGdW5jdGlvbiB8fCAhdmVydGV4
RnVuY3Rpb24pIHsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKworICAgIGxldCBwaXBlbGluZURl
c2NyaXB0b3IgPSBuZXcgV2ViTWV0YWxSZW5kZXJQaXBlbGluZURlc2NyaXB0b3IoKTsKKyAgICBw
aXBlbGluZURlc2NyaXB0b3IudmVydGV4RnVuY3Rpb24gPSB2ZXJ0ZXhGdW5jdGlvbjsKKyAgICBw
aXBlbGluZURlc2NyaXB0b3IuZnJhZ21lbnRGdW5jdGlvbiA9IGZyYWdtZW50RnVuY3Rpb247Cisg
ICAgLy8gTk9URTogT3VyIEFQSSBwcm9wb3NhbCBoYXMgdGhlc2UgdmFsdWVzIGFzIGVudW1zLCBu
b3QgY29uc3RhbnQgbnVtYmVycy4KKyAgICAvLyBXZSBoYXZlbid0IGdvdCBhcm91bmQgdG8gaW1w
bGVtZW50aW5nIHRoZSBlbnVtcyB5ZXQuCisgICAgcGlwZWxpbmVEZXNjcmlwdG9yLmNvbG9yQXR0
YWNobWVudHNbMF0ucGl4ZWxGb3JtYXQgPSBncHUuUGl4ZWxGb3JtYXRCR1JBOFVub3JtOworCisg
ICAgcmVuZGVyUGlwZWxpbmVTdGF0ZSA9IGdwdS5jcmVhdGVSZW5kZXJQaXBlbGluZVN0YXRlKHBp
cGVsaW5lRGVzY3JpcHRvcik7CisKKyAgICBmb3IgKGxldCBpID0gMDsgaSA8IE51bUFjdGl2ZVVu
aWZvcm1CdWZmZXJzOyBpKyspIHsKKyAgICAgICAgbGV0IHVuaWZvcm0gPSBuZXcgVW5pZm9ybSgp
OworICAgICAgICB1bmlmb3JtLnJlc29sdXRpb24gPSBuZXcgRmxvYXQzMkFycmF5KFtjYW52YXNT
aXplLndpZHRoLCBjYW52YXNTaXplLmhlaWdodF0pOworICAgICAgICB1bmlmb3Jtc1tpXSA9IHVu
aWZvcm07CisgICAgICAgIHVuaWZvcm1CdWZmZXJzW2ldID0gZ3B1LmNyZWF0ZUJ1ZmZlcih1bmlm
b3JtLmJ1ZmZlcik7CisgICAgfQorCisgICAgcmVuZGVyUGFzc0Rlc2NyaXB0b3IgPSBuZXcgV2Vi
TWV0YWxSZW5kZXJQYXNzRGVzY3JpcHRvcigpOworICAgIC8vIE5PVEU6IE91ciBBUEkgcHJvcG9z
YWwgaGFzIHNvbWUgb2YgdGhlc2UgdmFsdWVzIGFzIGVudW1zLCBub3QgY29uc3RhbnQgbnVtYmVy
cy4KKyAgICAvLyBXZSBoYXZlbid0IGdvdCBhcm91bmQgdG8gaW1wbGVtZW50aW5nIHRoZSBlbnVt
cyB5ZXQuCisgICAgcmVuZGVyUGFzc0Rlc2NyaXB0b3IuY29sb3JBdHRhY2htZW50c1swXS5sb2Fk
QWN0aW9uID0gZ3B1LkxvYWRBY3Rpb25DbGVhcjsKKyAgICByZW5kZXJQYXNzRGVzY3JpcHRvci5j
b2xvckF0dGFjaG1lbnRzWzBdLnN0b3JlQWN0aW9uID0gZ3B1LlN0b3JlQWN0aW9uU3RvcmU7Cisg
ICAgcmVuZGVyUGFzc0Rlc2NyaXB0b3IuY29sb3JBdHRhY2htZW50c1swXS5jbGVhckNvbG9yID0g
WzAuMzUsIDAuNjUsIDAuODUsIDEuMF07CisKKyAgICB2ZXJ0ZXhCdWZmZXIgPSBncHUuY3JlYXRl
QnVmZmVyKHZlcnRleERhdGEpOworICAgIHJlbmRlcigpOworfQorCitmdW5jdGlvbiByZW5kZXIo
KSB7CisKKyAgICB1cGRhdGVVbmlmb3JtRGF0YShjdXJyZW50VW5pZm9ybUJ1ZmZlckluZGV4KTsK
KworICAgIGxldCBjb21tYW5kQnVmZmVyID0gY29tbWFuZFF1ZXVlLmNyZWF0ZUNvbW1hbmRCdWZm
ZXIoKTsKKworICAgIGxldCBkcmF3YWJsZSA9IGdwdS5uZXh0RHJhd2FibGUoKTsKKworICAgIHJl
bmRlclBhc3NEZXNjcmlwdG9yLmNvbG9yQXR0YWNobWVudHNbMF0udGV4dHVyZSA9IGRyYXdhYmxl
LnRleHR1cmU7CisKKyAgICBsZXQgY29tbWFuZEVuY29kZXIgPSBjb21tYW5kQnVmZmVyLmNyZWF0
ZVJlbmRlckNvbW1hbmRFbmNvZGVyV2l0aERlc2NyaXB0b3IocmVuZGVyUGFzc0Rlc2NyaXB0b3Ip
OworICAgIGNvbW1hbmRFbmNvZGVyLnNldFJlbmRlclBpcGVsaW5lU3RhdGUocmVuZGVyUGlwZWxp
bmVTdGF0ZSk7CisgICAgY29tbWFuZEVuY29kZXIuc2V0VmVydGV4QnVmZmVyKHZlcnRleEJ1ZmZl
ciwgMCwgMCk7CisgICAgY29tbWFuZEVuY29kZXIuc2V0VmVydGV4QnVmZmVyKHVuaWZvcm1CdWZm
ZXJzW2N1cnJlbnRVbmlmb3JtQnVmZmVySW5kZXhdLCAwLCAxKTsKKyAgICBjb21tYW5kRW5jb2Rl
ci5zZXRGcmFnbWVudEJ1ZmZlcih1bmlmb3JtQnVmZmVyc1tjdXJyZW50VW5pZm9ybUJ1ZmZlcklu
ZGV4XSwgMCwgMCk7CisKKyAgICAvLyBOT1RFOiBPdXIgQVBJIHByb3Bvc2FsIHVzZXMgdGhlIGVu
dW0gdmFsdWUgInRyaWFuZ2xlIiBoZXJlLiBXZSBoYXZlbid0IGdvdCBhcm91bmQgdG8gaW1wbGVt
ZW50aW5nIHRoZSBlbnVtcyB5ZXQuCisgICAgY29tbWFuZEVuY29kZXIuZHJhd1ByaW1pdGl2ZXMo
Z3B1LlByaW1pdGl2ZVR5cGVUcmlhbmdsZSwgMCwgNik7CisKKyAgICBjb21tYW5kRW5jb2Rlci5l
bmRFbmNvZGluZygpOworICAgIGNvbW1hbmRCdWZmZXIucHJlc2VudERyYXdhYmxlKGRyYXdhYmxl
KTsKKyAgICBjb21tYW5kQnVmZmVyLmNvbW1pdCgpOworCisgICAgY3VycmVudFVuaWZvcm1CdWZm
ZXJJbmRleCA9IChjdXJyZW50VW5pZm9ybUJ1ZmZlckluZGV4ICsgMSkgJSBOdW1BY3RpdmVVbmlm
b3JtQnVmZmVyczsKKyAgICByZXF1ZXN0QW5pbWF0aW9uRnJhbWUocmVuZGVyKTsKK30KKworZnVu
Y3Rpb24gdXBkYXRlVW5pZm9ybURhdGEoaW5kZXgpIHsKKyAgICB2YXIgbm93ID0gRGF0ZS5ub3co
KSAlIDEwMDAwMCAvIDUwMDsKKyAgICBsZXQgdW5pZm9ybSA9IHVuaWZvcm1zW2luZGV4XTsKKyAg
ICB1bmlmb3JtLnRpbWUgPSBub3c7CisKKyAgICB1bmlmb3JtLmNvcHlWYWx1ZXNUbyh1bmlmb3Jt
QnVmZmVyc1tpbmRleF0pOworCit9CmRpZmYgLS1naXQgYS9XZWJzaXRlcy93ZWJraXQub3JnL2Rl
bW9zL3dlYm1ldGFsL2NpcmNsZS5zdmcgYi9XZWJzaXRlcy93ZWJraXQub3JnL2RlbW9zL3dlYm1l
dGFsL2NpcmNsZS5zdmcKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZWI3YTBlOTEyODRlYjI2NzQyZDNhZTEwNjc0N2Fl
NjcyMWY4MTk3NAotLS0gL2Rldi9udWxsCisrKyBiL1dlYnNpdGVzL3dlYmtpdC5vcmcvZGVtb3Mv
d2VibWV0YWwvY2lyY2xlLnN2ZwpAQCAtMCwwICsxLDYgQEAKKzxzdmcgeG1sbnM9Imh0dHA6Ly93
d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgMTAwIDEwMCI+CisKKzxjaXJjbGUgZmls
bD0icmdiKDIyNCwgMjI0LCAyMjQpIiBjeD0iNTAiIGN5PSI1MCIgcj0iNDAiLz4KKzxjaXJjbGUg
ZmlsbD0ibm9uZSIgc3Ryb2tlPSJyZ2IoMjI0LCAyMjQsIDIyNCkiIHN0cm9rZS13aWR0aD0iMC41
IiBzdHJva2UtZGFzaGFycmF5PSIyLjUgMiIgY3g9IjUwIiBjeT0iNTAiIHI9IjQxIi8+CisKKzwv
c3ZnPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL1dlYnNpdGVzL3dl
YmtpdC5vcmcvZGVtb3Mvd2VibWV0YWwvY3ViZXMuaHRtbCBiL1dlYnNpdGVzL3dlYmtpdC5vcmcv
ZGVtb3Mvd2VibWV0YWwvY3ViZXMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mZDZhZTY2MmFiZDU4NjkxMmVh
NDBjOTg3MjI5YjU3ZGNjY2ZiMzZjCi0tLSAvZGV2L251bGwKKysrIGIvV2Vic2l0ZXMvd2Via2l0
Lm9yZy9kZW1vcy93ZWJtZXRhbC9jdWJlcy5odG1sCkBAIC0wLDAgKzEsNzggQEAKKzwhRE9DVFlQ
RSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3
aWR0aD02MDAiPgorPG1ldGEgaHR0cC1lcXVpdj0iQ29udGVudC10eXBlIiBjb250ZW50PSJ0ZXh0
L2h0bWw7IGNoYXJzZXQ9dXRmLTgiPgorPHRpdGxlPldlYk1ldGFsIEN1YmVzIGRlbW88L3RpdGxl
PgorPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSJzaGFyZWQuY3NzIj4KKzxsaW5rIHJlbD0i
c3R5bGVzaGVldCIgaHJlZj0iaHR0cHM6Ly93ZWJraXQub3JnL3dwLWNvbnRlbnQvdGhlbWVzL3dl
YmtpdC9zdHlsZS5jc3MiPgorPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSJodHRwczovL3d3
dy5hcHBsZS5jb20vd3NzL2ZvbnRzP2ZhbWlseT1NeXJpYWQrU2V0K1BybyZhbXA7dj0xIj4KKzxz
Y3JpcHQgc3JjPSJnbC1tYXRyaXgtbWluLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSJzaGFy
ZWQuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9ImN1YmVzLmpzIj48L3NjcmlwdD4KKzxzY3Jp
cHQgaWQ9ImxpYnJhcnkiIHR5cGU9Ingtc2hhZGVyL3gtbWV0YWwiPgorI2luY2x1ZGUgPG1ldGFs
X3N0ZGxpYj4KKyNpbmNsdWRlIDxzaW1kL3NpbWQuaD4KKwordXNpbmcgbmFtZXNwYWNlIG1ldGFs
OworCitzdHJ1Y3QgdW5pZm9ybV90Cit7CisgICAgZmxvYXQ0eDQgbW9kZWx2aWV3X3Byb2plY3Rp
b25fbWF0cml4OworICAgIGZsb2F0NHg0IG5vcm1hbF9tYXRyaXg7CisgICAgZmxvYXQ0IGFtYmll
bnRfY29sb3I7CisgICAgZmxvYXQgbXVsdGlwbGllcjsKK30gX19hdHRyaWJ1dGVfXyAoKGFsaWdu
ZWQgKDI1NikpKTsKKworY29uc3RhbnQgZmxvYXQzIGxpZ2h0X3Bvc2l0aW9uID0gZmxvYXQzKDAu
MCwgLTEuMCwgMS4wKTsKK2NvbnN0YW50IGZsb2F0NCBsaWdodF9jb2xvciA9IGZsb2F0NCgxLCAx
LCAxLCAxKTsKKworc3RydWN0IHZlcnRleF90Cit7CisgICAgcGFja2VkX2Zsb2F0MyBwb3NpdGlv
bjsKKyAgICBwYWNrZWRfZmxvYXQzIG5vcm1hbDsKK307CisKK3N0cnVjdCB2YXJ5aW5nX3Qgewor
ICAgIGZsb2F0NCBwb3NpdGlvbiBbW3Bvc2l0aW9uXV07CisgICAgaGFsZjQgY29sb3I7Cit9Owor
Cit2ZXJ0ZXggdmFyeWluZ190IHZlcnRleF9mdW5jdGlvbihkZXZpY2UgdmVydGV4X3QqIHZlcnRl
eF9hcnJheSBbWyBidWZmZXIoMCkgXV0sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
Y29uc3RhbnQgdW5pZm9ybV90JiB1bmlmb3JtcyBbWyBidWZmZXIoMSkgXV0sCisgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgdW5zaWduZWQgaW50IHZpZCBbWyB2ZXJ0ZXhfaWQgXV0pCit7
CisgICAgdmFyeWluZ190IG91dDsKKworICAgIGZsb2F0NCBwb3NpdGlvbiA9IGZsb2F0NChmbG9h
dDModmVydGV4X2FycmF5W3ZpZF0ucG9zaXRpb24pLCAxLjApOworICAgIG91dC5wb3NpdGlvbiA9
IHVuaWZvcm1zLm1vZGVsdmlld19wcm9qZWN0aW9uX21hdHJpeCAqIHBvc2l0aW9uOworCisgICAg
ZmxvYXQzIG5vcm1hbCA9IHZlcnRleF9hcnJheVt2aWRdLm5vcm1hbDsKKyAgICBmbG9hdDQgZXll
X25vcm1hbCA9IG5vcm1hbGl6ZSh1bmlmb3Jtcy5ub3JtYWxfbWF0cml4ICogZmxvYXQ0KG5vcm1h
bCwgMC4wKSk7CisKKyAgICBmbG9hdCBuX2RvdF9sID0gZG90KGV5ZV9ub3JtYWwucmdiLCBub3Jt
YWxpemUobGlnaHRfcG9zaXRpb24pKTsKKyAgICBuX2RvdF9sID0gZm1heCgwLjAsIG5fZG90X2wp
OworCisgICAgb3V0LmNvbG9yID0gaGFsZjQodW5pZm9ybXMuYW1iaWVudF9jb2xvciArIGxpZ2h0
X2NvbG9yICogbl9kb3RfbCk7CisKKyAgICByZXR1cm4gb3V0OworfQorCitmcmFnbWVudCBoYWxm
NCBmcmFnbWVudF9mdW5jdGlvbih2YXJ5aW5nX3QgaW4gW1tzdGFnZV9pbl1dKQoreworICAgIHJl
dHVybiBpbi5jb2xvcjsKK307Cis8L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPGNhbnZhcz48
L2NhbnZhcz4KKzxkaXYgaWQ9ImVycm9yIj4KKyAgICA8aDI+V2ViTWV0YWwgbm90IGF2YWlsYWJs
ZTwvaDI+CisgICAgPHA+CisgICAgICAgIE1ha2Ugc3VyZSB5b3UgYXJlIG9uIGEgc3lzdGVtIHdp
dGggV2ViTWV0YWwgZW5hYmxlZC4gSW4KKyAgICAgICAgU2FmYXJpLCBmaXJzdCBtYWtlIHN1cmUg
dGhlIERldmVsb3BlciBNZW51IGlzIHZpc2libGUgKFByZWZlcmVuY2VzIOKGkgorICAgICAgICBB
ZHZhbmNlZCksIHRoZW4gRGV2ZWxvcCDihpIgRXhwZXJpbWVudGFsIEZlYXR1cmVzIOKGkiBFbmFi
bGUgV2ViTWV0YWwuCisgICAgPC9wPgorPC9kaXY+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1n
aXQgYS9XZWJzaXRlcy93ZWJraXQub3JnL2RlbW9zL3dlYm1ldGFsL2N1YmVzLmpwZyBiL1dlYnNp
dGVzL3dlYmtpdC5vcmcvZGVtb3Mvd2VibWV0YWwvY3ViZXMuanBnCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjhhM2Vi
MWVjNmU0ZWNjYTc5ZjNhOTBkNTlmY2E5NjVlYmRiZTI1OTYKR0lUIGJpbmFyeSBwYXRjaApsaXRl
cmFsIDQyMjk1CnpjbWVGWDF5byRtKGw1RykhUUl7Ni04SHpvMX04dnBjUEVnTDFQdnJlZk1DSUdM
VTZhPjdNJFNqPyNgWCRvZDVzYQp6YD5wcmdefVlBKlRKS3h5b3UxalZmNGlyO2MyIyVSP3lCbmpI
MW82IVVARk5lJF5qcXswNFA4fHp8I3M0RChoP2EKejUmJT9IMGNIUkk1Q0okNEhVTmVxNWNDNnBo
eWwxaTd5eSgmQiE2UXE1YVR+LVU7eUIpOVJUfUo4YmojJGNZJCpMCnotVEkkcm1ASnNUQ192e347
RDYhWXEpI2hJUkpOWDt1RUhEfiZLflIqUnhVNUIqKTNoMUlEOVEhSWs/ejRJUkhAIQp6VXNuckQy
V3dCdDd1R2cqJlNLT0Bqamh5X2MyOzg0YGgyUktzOzwpM3dzczJzPyQrQT1ZQzR3dzR3Z2J6KURx
JjkKenFRMWh1UE9lVllvKShuOFBMOXFWIW9GaEVmMHpxSEAkWUk1WVJXJChvKF5LdjJDNXBBKGt8
fVNsemk7Rz8zfm9sCnoqNnZtPmd8JWVse0BFNktCfVY7RUEkQCMmKm5OMXxVRUZPcnhQKmorSTVA
ZEV4VmhQJjZsQC1UJllsKiZZfGI3dQp6ZXtxbnBfT051ZmJNPkB5YWk7dnUoYyo9Um0hfXZ0SDMj
JCM5Ukl3PFp9XypZOyp8ZGB8TCVjKl9yU2s8O05MeSkKej87aU1mNUImZUgybWE7bFNVVz5xOTNR
QUoxM1ZvN2YqUTZpby1RNz9GMFBiMz8ze3EwbCVndV5aPkl9ZHskUlI0Cno1T2Fib2BkMXdBOWQ7
KWFEUHtqIUQpPyFZYTdJeUQrRHQ9QlR+MUwmX0spOTMqbFhlSD5JajFnMDhZLUg/cHBGdgp6bG1e
Y1lER15xbjRqVlNxe2JMMDxFRyNgLUJ7ZWl1ZSlJaDZ7RD1TRktiS1F+KyZmXkw/S2lLI3ROJntO
JUw/aWkKekxIJER3REVTTDM0QClOfnU3VnplbWFndWUwMDBoISozPFpTeThnendQPmt5aTYlZE4r
ZXEpPHw7S0FTYyNYcz0hCno5fnZEa1goLUooKVBxSH11eUQ1bDA5MHItSzxSQzExTGNFQzI+fGZl
JlFeQkwwRCNSNCNwMEg+N0ZHYTIyPmxPVwp6YiNpan5qa0JQYkB4fWtkJEw0Pis3OFdvNT00b01K
XkVkdjdGM15fSDhfVT52eEg/Kyt7a2l4KmBRem0xMT97Z3QKemcmTypjWVV7M2Axd0dTM2A+ZkV4
TWZxPit7NmJDcnVYO1BFTXRAO2pGOXFHZHUlKENlWnp1Z3ZUUHE3MDwtZjMoCnpnUmJPWCp1b3Uo
e3orciFzaV5aOGM2WlZHbzQ+UTgrVkE9Q2htV25iO0B7WlhMc3Q4KmBqPldjaWhwNSRUT0l3cwp6
dSh6Rl8rRiNoaUxIbG5Se0I1UUd1Nk9zK2BkajlnP3M5K1k9O1EleWBPb2BXVEt3eD9wMCt4X2dO
e0cpU2JHQCEKekVzdkc4ak9eZF8mYm9pZz1JU1orSCYwaWBLWGQmYlo1YCRSdUpgY1B7PTJRR3lV
eVNCXzcrT049azZiUlM1Sis8CnpgdipffldDMG1+NXw5UyQwQjY3Jlp+YG8jUzJFQm01NU5fMGdr
SmYxVEtvUTxiQVlzcXREbjFfampibzhCLURiZQp6REhXWTkqO3kmTUlrXk0/O0l9PmdyVThJNnR2
X31LIVhOb3BvZzF7aHVuKyppZUVDPE0xcSVRKXV0SDZ1Xmp+JGYKemB+Wk5HMV58c35tUnwxT3xL
SkR2YHZlQ2QwfmkxPEttP0VqR3lvJk8yNTx4WGZDJXNtRCFtZSo0KEleUzBhTCZkCnp1IVlMKzQp
XzNweiQrakVoeXAkVWk5amxsMzQ4PyNmaW1EYlB6eTh4P0xhcCQwUT58ZGZqTTlxKlp9cmBXOGYw
Rgp6MUEjeVlBVCRzVGh6TFhocTY0dmp4SXV5LWFnWiFYMSo4UmY0bClQWGZTZl5JcGc+U0tDPD5H
U04oRSh1aWEtXmgKemRRZHk0ND5TdDsxekd7XmZLRVpURmtsIXw3K2VASzc8dzJFNyhwMEc3LWJr
ODchdyM5NyZqUHluQWIzfEZleHhPCnpGcl9keEZ6cWt7RnExSUxGbmNmO1U7dkIpI3NeYkAqfSNI
ZVh8T3VqNWQwR0M0aHt4S2Z8SX5HO0JzJlN4Q2NCQQp6VUl5PWpaKCFrSmFiUEs3KjxlTHI2PH5F
P0VuKGVZZ0pHaiNRKCs1WFloWnVDaj5FM045PllHdXB9fj5EdkFfdyMKekRaJn1SKn0oYjBNWmhK
JjwtPTlPYi1fKS1aTk9jXiFeN2psR3IkWUxFNUpYOHd9JWdha0Iwdk80fW91a0FCQTZvCnp6ZCU0
aEFWT2U0NUpPTiR1dDR4Y2goUCNeUD5ScnNGb3YqIWFFKnc5TlApPFdEMkhmPj0hX1ZLbjFvbzIq
biY4UQp6eFBeRiFnbyM5bEIjZmt2V1FGOTE2by1fSClQT1hDdzFJU29qRF5nQUVRWUx1WT4pZzNJ
UiZ7S3hlSXc3YDN3YUcKemcmSVcmTUg5c2lCQGB0RTxyXypiJF9tTzJEbUUlSnN4KyFHc3V5WjNZ
NXs1Kz5NenRZRyZENE52fWI2QlhyNUBYCnpYaG1xOVhwM21xPXM0KT89ISlvOD1wcEU3PXIhbkw9
IVkwYzc8M3F0N15XRWg3KWNuRjckWD9fbWBJclBuOWBVUQp6bjhCRTduRHY7YG09ezwkU1hAfUBT
V1p+Y1NqQVg8U2xpZUwqITAtNCpqQ3VEdkE8JD5WejEkVmFjRlIpYVYmQWQKemFkTDZHYTVpd15h
VCN6R2FxViVWYUxhSXFhZ1h0XkBwJHB7QE88Jm9AUzU/S0B4bDE/Xz1APEJfO0w4KEB1JT1fCnoz
Q0lXfTM5SmQ7Nk88RS01bktfSDVJIVRjQ1g2SjY1S2E9XzU+WFAjNTsralg2Vih6ZTVXXkJQNktm
THQ1Tjhsfgp6NSR9YFdsOEJJNGwwPWV4Q3omT01BIVIxakFgS3dATjsqaC1LfUpwe1B2JVBZblhI
cCtwQiRoMzhNIV9BQy1ONVoKejlTUiVAYVNBKCVQWlheYnlPZW04bDlZfj1EVT80YmtFdXdoNnNX
d1l2WjtvdD94LTI0YiphT3NBPUM+ciRUV2c5CnpGS0lyfWJrSDJyUXFaYz4yR1crJCZlOT4jM0RW
aXBDRFpsTFVDfWVwPihqcmJ1Y2hCK0FZQFF2QE1rRHRtfWYqfAp6bHdmcFkld2UyaGZAY3pCYSR4
JHhecGhFZW5VQzMpSWdOUlExJWAjNiNnNjMqJVAxPXhzfVFSKllZeXUpOCFEUzUKem4+U2t0K1hf
MkF5OSM/NGRvQkFSMlE3eW9NPzZPbCQwSHtucnoyLUI9TnVPe21sOVZQUnxENTZIIzReLWNOK0h1
Cno0O3FnZ1BZNiNQJmp+TEp1UWhLNT8raE9mcEROIzV6N0Q8emVnU0BXeyZNfnUwYV5pYmZwbWRz
TDBteCUhRHp1PQp6QXZocl5wJTlAYXAmTWEtVk5jPWohYmMpKEFgVCtPQkhOLTJxU202aHFIQUsq
VmlzY0FWJDAlYDteeUw2Oz4hfEwKejUqODlVNjA2VD5vPkBLMWYzX3ZiQnh4Xk1EdFJjeURkakZ6
RXA7VT1FRkMxPkNJZ217bXgrYGFtY15GVWx9KGpoCnpsJXRsamt0PmxxbWdrY1hrWik2ZlEmM2lq
U0QwMkxRP3locFFhbn0/UHpxQXxwXlUxbXQoPmE3cz19PHx1Rnt8aQp6cXBHQyhRRlVJOFBSJmBa
UnZsMVJSUjVeSHB1d1F3cnFRU2d1Y0BKI3JuI3hicjRee3ZxbTgzJnJkX09rc1V4S20KenIhJUxe
c096UU1wQCpTb3RYSElXcjd4cU9wdWNSdVZHdnw2QFNPTyQtU2F2XzFWY1Q7ZThVU1BTKSlYdzRQ
IXB6CnoyOyhVZTFgfVZDSzJ1Xi1ON0g2QTNeTk99Tl4+fUtlZStgVGRrYn1vOUUqej1pWjlZJTk5
djNUQ1JeQFZKK3R+YAp6d1BQKTJvblhFN1F0Vn5JJVdXR21ufnlkLXdpMzJVdyk9THtjQnl0Sl82
cWl5X0UhJC00aDBUUmp7MSVlQ3F5VDYKenIrUX4+WDl3cFdGNjF1MEV+Qm4ydGBWLXdabytQZlpw
WkcqPyllQGQ0LT0wJVBoNjx1R3c4K1deflAoKFRpaVIlCnpgYFNtKHJfdlk4KlYlV19rSjwwTi08
SDNlZV9qQT1mTXF+T0FYVlYyej9DNCRwekw1IUBRZEolNVNvekpBc2VDYwp6cEBweElVcGMlUTNn
WmsqMnM7bmc0e3Z4KV9CITxTKzhnO2RCQHlUbT9oKF4oTWMhdDxnTURaQlp1bVhWYF9Kem0KekJk
c0YpcWQyM0lxVkEoRHF4KW1IVnAzd0JWcWVBJSRNTUh5ZTFRTXB7OSE2eUJFQiNJRTVTY3U/VzV8
KW5vcEZVCnpCMHJyY25rRHVuQGdgKl5CUFYrJEZRPSVhKVAxSj97TmVMYHMlYDNJbnA3R2pvaXpQ
QGBxZFkhRkpsP2NHUmlaXwp6R05VcVl2K1N+RnZnTmFEYV9Eb0N6UVRYP3s8QGl+bSlueWtteypp
Zm9GQTN7UH5jcCFUJlB2fXFlITVyc0Y8YGsKenRefXNVdDdOQ3R4YiRiNE9qJXR5VFh7QUY5fUBL
cV9+IUwoeDVCKCk+YnZzeWohTURHQCshS2pebEZeeSRRbj9NCnpVKElvP1pTOFgxXlNhU2ByVFVI
cmslc0M8X1FyeEhzOzBETnl5bXpUPGQpWWhQcCRyfjdqM1I+YHxVUkVZYU0xQwp6YkRhakE2RilT
NjQwa0RhXj4pajNjbEpwM3dEeVlpSHVWWWopJU9lYipBRE94KUN9P3NSdUF6RlJTKXdJKk5nfl4K
eiljcTl0KilTP1ArQT0wRik7PXlYLWFWbD5GKSpuJUlYYX5+SDhYOEl5KnkoenY7RThRKlU3Qis/
QT1gR0psdVRiCnowX0gtfUJJI256NjRNZjduU1olP01QX0FpUmVOPUEmMm52VC1EQ1pKPE1rJW1Y
M2BlTFI/IzsxY0dIZ0ImZCooPQp6LUhrb2h5fVNMMDFGVkRlTCZuM1pxaTA4aCN8Rm42Qys7VXRy
X3BDYlg5ZWZIPU4lVXM3bUpycG12PmlAKkZAS2EKekgtYX1reEI5blJjUnUkQl9iQ3JkNC1KcFhr
TW1EWFBmeEJFP2lQUTFmIWBAIW4zdkdSP2BaKTVwZ2ppd29TeSlJCnpqUSRVUWA0MHV1b2QhV15w
alojWTQlJm5IMHljJFpmPHU1aWYheyV4TXFFTiNMQjJ3VEwhKERtI18rXzwha1dmRwp6ITQ9Mnok
QT1KWDVpdHs2a1IrM2lraSR7JVFDZF5RUWglb3pxZGxhRFZMKWZaVV95YURgRUZQYVNYYkRfKipp
SV4KeklkaSFfYTBsXyZeWGw8RTw3WERZNXg1dUo1RT5NJjU9aj5nN3FiYEZrYFJCIURvRylRRk80
YUtCbnZEMUFhXkJ5Cnp0Z3gtUHRUZHhNdGtSfDBxKmtlM3JjdGF9cSpiaDRyVVRLZig1dXcxR15s
IUJXbXN3Uy1NR1I4VmhTPClaZUN+Ngp6eyRrTWJtKGB+QWBPN0M7Nmd6eC1ZNmxpYUp8X3VoTUhn
TEhZZDBWRjc+fDY8Ujw5WkY2SkkxaE5gSFg+d0xyQHQKei17OG9RPGp8fkYqPHFSQ0RYLSgrTF9g
RjxiJGo+bnk8d3pVbHc+cXQzfVk7NTlRRnM0YyUlZkJrQz5rYjZSREN8CnpsNmgwYUtGZy02cnM8
e3xlWC0xTiRuP3cjJkhqKit7azF4YEtXezFqeWIhVTd3M3dxcnMjTGVrcnJhMHU/cHNudAp6Jmk5
aGElQnFJeSl8IyVgelBoM00oVDImIW5Xbmtzckl6Kjl5fCMtRWEzfGdtI3hCdXJqVUxOaHBUNVpj
XmEwM1YKemBfU217XjJvdUBpX3pQJGB8LVBwPiZjNiRsaiNIS1krSVhNb1NUXitUTnFtR1VGdXJ5
VWc9KlFUVSVKKSp8XnZPCnpaS0xpRz8kWWVCPytZREJBMVdSeEFJcUZAcEF3diZwN29yNnpIcW57
eStYZlF4YHkwQC1mR0BhLUpSVUdLZzIocAp6S1hFPWl7VihJczRvMy1oMXw5IWgjOHNwZDZsN0Y3
RytBXzhqNXkyPXRUUC1vVHI8NFNfIUVSXk01QEdaTlpMcCoKeiR5cTRPRDVJJldzSGJTbz1gaVI/
OFIhfFFtPFg5c242RnRAUyU9dmcqdVFjX2I5IUBgYjFVKzJAKUdicUBVOFJyCnozcVMtdjNIYnx+
aWIjcGxpeT9+YmlIfU91Sl5MeWRGQks7M0JqWUloTFFZUiFTd1VRcE9ObUFxUFgkNWNUNklAIwp6
VVZUKWZTRj1OX01ZfmFfUFBiYWBufF9Id3tffHxaUkhJTUVGKHorSyFefWQ9TG9DOHhMfFQ1ZE8x
Q2F9YE9UKXoKencjfX5CZSNCd1lhbyVhJmRFZSNRNGM/dT1nVmpeWSVmUT4mQylfdkx1aGhSYVVA
VU13PXBxQ3I2IXtmOzctfjN0Cnpffll5SUgjLXB2WiU1eUN5fDBUYmlPUHVuNUVCO2I2WCoyN0Nm
Kzgmey1nVVJ8SFNhNXNOfDArWGBnZGFpXypUTwp6U0FTe0I9KlMkJW4jeHwheHlYZ2pCZ3wobTVH
XzxJR0FuajEyYCY5bG1RQGFjRz1KLV9uRWJ2fXhtfFQhZU8+Y1oKejJWYWxZZlpJc2lNQT1OPSFy
SUV5Q2YyVWhAeDBVVk1AWk1sP3QtMyUtbDR3Yns/a0YmQV5jKGI1eCQ+TnFiZyhDCno8TjZiWmxn
M2t+KGBHWn56c3pTWDx9QnRkN0F6Sm1tTW9XVFM2bypFKkNOK2JIJWN9ZXcrNlF0YmBFeSRfZlpk
cwp6NTl5RUNrMnl7bHBmbGo8WX57VERCSWAydiVKXkZOaFZiVXtjS3EoIWVhd1VYcXVka0NlO0VK
Ji0yUjdna2EwIXYKekpmUVl9MWhzIWxrfkdvQGF4QEIyTihaV0I+SzIrKytEQ2RVMX1hOG9DTUlT
RTdBalVeSGNXT1Q0dUlvfmJCaysrCnp5TypiaUg9aSQmS1V9fn4mX3FhQ1NVYGtFNmtZVU1ZKSQ7
OU1CQjRVJHdIfHQ9YEApeyo7dSleQH1VYThpbXBtRgp6JUJDdGhzKX1taj5paWxVbm9MXnMrTyNe
PHg+Un07YGxKUiMmKyFlaGpabHBkT2g2X05yWjs5Kz1HUFc/bU1+VWAKeikpKzdHWkFmalk/Qzk7
ODlYSzRobyVvIUVUcUlvTy04OXxKSlh9M1B6MmQjSWVKWHQwezZfcDIwYD55MGdKRDlECnpMczRI
TGdAS0B9PT0kcjRIeXNnPndfbn54elcwaT5oKkZJZmpHPjllaDwlN1ZfXj12M3BEXj1yYHFOQ311
Y1ZwZQp6blV2fHpRPmhiYTxMUlNjTWx5eW5ocUZlcnIqYW1jRThUSjRaMkBje1NgbDZgYz9vP2Zk
bF8lSkZodF47YmNNYCEKeiotRHV6c3BAQW5WenQ2YDBgKXUlOUV+aFpediU+UTxnRnhhQjw8dUt3
NEgxfTFpR1pVUmVTViVVLVVXbGRrPSZSCnp6OGlga1A4ckdnbkxVfl9tTmxMfWt2dGhjNipje09D
Z18qWHRqbkQzeSFwY09NZVFZeFd6N30rKWZhMVM+dFAjLQp6bn11N0ErZTE2Y3lRbGxHMmVebHtO
OEhDXkNvLXBVWEw5RyM3WlI1dVNOenZwSCFRZEdjYS0tOzQ+KnIjUHc+Q1QKent+dmppLSlqT3FH
XldnanRgb1glMFlEYGwwNVVgWGZGMm98bDBYTGw0S3g3STVkdlZPO3M2KlA5c3F7KD4pLTFLCnoy
KWdCbTFZaVAkMDJST2oydGVhd09+NEZyMFlhY0xXZSFqY15aXlVOODMtOWYxcmk0N2ZMdVY0cGFN
YGdYYWZjdwp6aDdtPnU4dGJKJTxHWHpANW0qODI0fkJyWlZRSGF9U315RTE5Nkt9Pz53dzNBSDsx
bzhLdHdQe1hoYkFMXmhLT1MKemwwWWhlIyExMSoyUGtHSnFvXntkd1A/Jn04UiZURUYmS3kjWiFx
QzctKHNPK2VaKGZpRjJXSk8+QX1ePC1OTigzCnpONVJoYDVGcSRUPXR6VzJSNj92cWRgXjsxRG89
VndtUE17Z2VvSWs2c1k/WSVSWVByMExxIyk3bkBGY2NrMyZEbgp6a2ppTXojSzNnR1QqPjBjRCF+
VE5Ib342OVZhcUFWZ35HTU9VQm1OJSpPNTwhcElkLWo1SncxSTcqbThtbHVDPzQKelR0WShvblo0
dnxzY2grWG5LZH5DZDFlSj1NTFZUOCUyX0luc3h4WD04YnEzNlRHclplSSpxen0oN0NNc0pqfTRs
CnpYdXx+R1JMOyFEeXVAUEpsRV9OaUl7eExURXNtWG1lVWAoJWxaYlB5JWEpdDBkeDBtS215aD9s
dVp+fCZmTExIbgp6Rm43cWVTNnBHPVUtUGBGYysyKUtLYXhCdUI/YyFwe3NVSjByO28mK2ErMjdS
OCRZWTJ1QkNAJCZ9OUQxZSlDbF8KejUxaWp1bXs0cTElMl5KRSV2TXhZIyNnKTVZU3djJHFCTzB4
UkpUUVI4Mm4pRWhVdUI+c35KY2ZAKlhpOWxeVy1xCnpXU3IqeXI4fTNoYUpUSGVkY1d+QG5fIyF9
Szw7UyReejgtNSklPFBqZ1VwfWokNnc9NUBNcndfcTJzUnMlYGk5dAp6S3xtfiExeW4rRjJ5PyhP
Ry1FJng1JiZzezk2JUFFdWgyfXVHN0pjWTIxWDlYMFZWO2E1b1F5TjFDfDFOZnM0V0cKenV2RC1Y
dXo5ZmlhSitDS2E2fEI5QEdrSF81SihaYzV5cWpoXmU0bXtCeSomR1dDNyVTNmU1JXVSNH1TUD5J
c0AxCnorNnVaNmBaUl9mI3gkbDg8fD52MCkpbj59OURKTjJUeWZsU0pVaEg2e0EyPHlmKzZWV3Fa
NTU2SFh3bF5ESkx+MQp6TG5DVj9jYy1BRW40eWZNNX5EaCRFfkslYkM4TTNBT1FTYnNwaz4lJnRZ
ISpqUiQoRHZTenwze15KQUNlen4kS0IKenRtQkkxdyZyPXBPVWlyNHg0Xz5DVUMqK0dRaWFuKmF6
eDk7bnhXNkwmMVgraUIrfGslIzxIKkVpc1ZOWFpqe0tDCnpCfjs4KmdWZXNMd2BpPHRBISYyI25D
aXlwd2RrS2NYRUo8WWx4OTNgaWZrcm4/clR4O1YkWGB2K1U4fUUmNENAUwp6ZVh2OG42T3Bybk9Q
ZD4heVNLLSptI0JCSEZOUi1gfDYhbS0mYGdNQz11bnRTX3xPfVRoX1FFQz8/PEU1cVdmYk4Kejso
RnAwNk5XJE9DTjNzQnF9LS1QciZFMXQlelUycG17WEUjbm9tJExRSXVGPlNWbVI4fEU+T2VXUis8
Ulp5ajN3CnpSJTJgUHImakJCLWNJMWhQPE1LLVF+JEY7Zn0hSikhT0BjTypoJWtjbl9vNl97dEU/
NWQjalNgSWF8bShVVjlzZAp6aFIwKVA+Szh3K149XzlRcGRLZ212R0xkVnxMNjk8X3thWEt8SmM5
dEFOJWl1K0NMbCYxMnA1fjNYPUBlM2JQQiUKej5CeGU4eiRNXlNTVGF+Y1hwVXdjanRaS01gMzgz
bnVMUGU0ZX1vezVAQ0JNdChNN0NBQjB2ZzZUMD5TdlphYHJ+CnpOa0sofiZWWVMxR3FlZUc3NCZX
bERVNWJaRGE+dng2fDZ+WTMreUFEVXxlK0VFSWUrIVpoVHw+YkFtV1JSPkRDZAp6WEpRPVVNaU9n
TVl8PUl8UzhfYDdwQUBlc3hoWGZQKHh8bSomfWp4fXF2JXhXdkZMdj48UztyaDJ7RlNsa0Z0RFcK
endQTz10TV9+V09RT0B+PiVhbUp+aGx1QnZjYWc3JHpnbk9+dXUhTzZ4S1UoS2JWY2t8MHs8REdx
PThoaGJiLXZjCno5OVcpNSFCWCpxUWlKbFVEdn16UHh9bkJmJjA0Sjs5ZGNjTHkjKVFBJm9LP1Bq
Z3BMS09vYDJtJStvQ3ZFb3JSbQp6dCpkTjZ3aTxSaF9FKFBUUDkta0x1MTs9fjkjV3ApeSV+SjZ7
N0MpTjAhZjIlTFlQQ1YhPSVGfS1xPVJtenh4bkwKejc0PERmRVZsMjFVaXtgcS0kY307KyFYUThi
Nz11eiRUTk9xeCNVb01veXRvckZmNWBnejl7VzImLX57MVVCNjE4CnpoTktScmUhcD9MeHhLWlpK
KSthQmk+bjlKYD9FaTUoMHkzYEMmbFFeX3wjPDBibjM1SGJJdURkbWRzWGMqOERhOwp6WmRMQmc+
O3MxXiRBK2lUPU4qQEtIdilJdzVCMHl0LXtVMEBfd1VzTTBISTFqKH5wWiFQaU9RMWZSRiRINUFq
Yj0KemNSNWNfNF9+M2QjeWtNRElzUExUfEM8O2Q2OTV3RUBpN3pPMk93Pn5FQj1AQSlDT1E3ZzNk
d2JVPVRGYGc5UVIoCnpmdTRRPDZ3cklYTDZlV3JAKXRELTFgRz1ha0FSNFRpfj1SNyNzcHdNVUAj
MFU3IUwwRDFffiQkYGFifVIxJjIrPQp6Qj8qdENYQE5sUGhSZ2piSnt5cm5zLWhpRll4SjB3PVlA
TTE1Ozhza0FyVWJoSnAmXlhHY087JWZTezFEdzJaOHIKenluPj5Wd3ZNaXpKflp1V1g9Vk09I0A1
Yz4hXyYqIyRKZnQ0e1BtbE54OXtGWkNWYyNxbjNTQ0lJV15+TlplRCZ0CnpWTnZuLSVCdCNgK1Bl
Q05qP04hbC05NWQxe2JTPTNsVCpfKHpoK2xmKlZaPlN4MytoN1BmcEx5RkR8ZEhaKkc2PAp6MSVq
QG5mMGNofF84O2BaZzZhaFczayF4dF9ebFRSI3NfK1V2MCZrLXhadHJSSDQhWV9hSHpSb0E+dkJL
WElIYyUKeihlUCo7PEdwWW5NYUhNKVU3PFZxdD1iPld7JWVZYntYZiN8Wl5pemwqQm8+cWZjYUN2
RndqdX5nUHxoQDNvWHpYCnpeTEskUj4zPDYxS01WNG8wIT8rSXBnXjtqfDEze1hDTGt5ZVhrJlFq
N1l6dms+OTQ+Mz4qdUVoc0RuY0pHeip8WQp6QlZISVJGY3UmSVR0cVZGd0J9KUthT09sWjB7PFQh
O0hSSmVKO1dJTz87Kno2ZS1BT258OWdsckAhdnk/JF5WMDUKek1Bfks3bnB8UGlEKH4qJjIzTXNp
bnVPYGtCdEA/QlFNYExaODApIUp0OGhMRG0zcFEhQ0BIdWRkVlhYV09ubWI0Cno/ZHBKQjw3bU1k
NDN+YVBjYmBWdzUhRV8pZzhhMzlybXtmVzFtd2NyRGApR01xUUk1JGJgcEElI1FgMXMqVHVtZAp6
Iys9QT1IUGA9fU1oJCtOYGhUSjZgbn4+fERvJVVOJC1EeV9DeXcqITZrKTFWbXNAOyUkSG4yWkA8
MldJU21LWTYKemNkNjAlMmFQbUp5ZiU5RlUtLU9sWC1hY2lUcWgtTE1SZXk9PkVtZiVUZF5pPCFE
XjJuKmdGZi1Pb1h3N1A2aUEzCnp1NHlkUkJwQmBWe3NRO0xkNCRTZUVzNGhWel9qb1h0QDB+Tj9j
I1daRUpXUWVCKERhMV4wZ3Q7VVg2P15jPi04Ngp6Wk9HeChDNntXcUdgaWVpSC0yIV9NKTEkeDUl
TiFVeVNsMk8zJDtUPU95cXdvKG9Ee2A2Y24ycDxEXkc/NCFkOEYKem8xfTZMOyktbHMhNjRYdU00
amwpJkopK3sjaEkma25DfTxpKz9SajNFMXNfWk8xJiNrdjtyJS1rV2NObGFXXj93CnpyfWdxNlBS
XkswUWA8PkwmN2BiZ0RkZ3ReeEV4Xj48TmJ2aCUxK1hpdW5ndmk9b3puWGRkKktmNnRgTl4yajRP
bQp6QjtRdX5sY1c/ckhvNjtRKX1JcEM5WiRmNSt4QCVjU1hzWkx1OHpQM1I7eDl+RXdhaV9rZG9F
WGpqYFRoJVZSdE4KeiY1ZVkhMW9AYW1eWkpVRD8wMGJpMT8hKHpXfE88akQzKXF8QHpHYiFgWUdF
XlZJcj16dFgqdUBERyVIbyRreSU+CnpAUipRR09lPjZlP3AoZCFOIWBDN3FiRkltR0R+b0RVNUp+
aV5JSilubTVjRDI5aGV8fmJtYGhPWHd0dE1kYWkhMgp6K0IlZl5Salg0b0AxOE1seUhvflYqdihL
X3VCXzEzRmp9fWdrdz8tND5CYn09Y0RKKTNXQkNhWEYyU29GK2BeUE8KendVT3tyKyZNQmxfSTEh
cE9NM3I7OyhScHAwYmJSOHlvZ2F6NFNtUXliXkFXWDhqcDYzJlUyKEJuQnJientOOTlPCnojKjJj
ek1fMnZFeClFeS1MKylLaCFLNkEoalhkOU9ePktDVVl2a2B1UzJFbG1Je09KSlY8cGtqIV5Hc05U
WWVrfAp6YnEhNU5sK3JnUVpoaCpCTktuQ2QkXy1XSGB1Sis5SEU1WmZeVCRpNDwlLUMmJFd7VGIw
UTwoPm4kYTd0WXR8PSMKekFwKERMQ3k7RytwJjMwWGtgWGVGQGZuI2hDLWxGMU5JWHNkKk5oPiZ0
IzI5cXAoSmhNLWVTZHNnaHBxd15kSlJaCnpneHFAUl5yOW43ayFITmkoZztmXytIWCUkKjJqNzJi
RHBxdjtmO0EodSlMeklwVlluR0Y9fWNxdWB6KnJ6cylEdgp6dCN7QU88czlNWT03X1leeElzT0Uk
UVMtdz9Kb15mJW1nT3duTkdMJiQ3fD45LWdXM0B5RXF8YDlDKD0qPUdUU0kKel4wNTdRa0J5b3or
JThYPXB7aV5+ZXNCSj57N19VciM1WH5hT0pEdkpnKHBpWTk4TT00OXklK2pvMUI/Zm5YRzBFCnpS
eFE7dFBCI3soTWpROTwkWnEpY0RraUAkdXA2LSkxVFNwe1ZIRjF8QUczZShVZkFPd3loZ0JNK1kt
bCtlbSNQPgp6KSRzTkpWSXs9fWpsMUo9fDBLZm84YEZxY2xRTD9NNUZ8Ym5uRytyJVljOzhycTEh
aHRiI2cyK25qb1JeWmVlO2sKekM9bmZ9ejRKT3xWOVJDVGUjQ1IpUVIyRjBlTkNuNmR4ZmReWD8z
U3RgZV8kfXNRMjFiPEkkVFpmQj9PazxCfWtYCno5bldSYEx6Kz1val5HQmBOUm5IZCtyOVlMKnk+
WCF5bWotc0M0dWI3U28kKTM1Zn1WKGhmJitpbXF7NGBXWXlPcAp6YTlVQSRncDQ8Myh9TkdaNVRm
aDRfdFpQMXoxZkxMdTlFOW1yJjk8V25OZGhaUTZWVlRpNTtlKTZeMTZ7JHA5KkIKemgkN2UwKjhw
O3NxVSNFbUcheC1IcE1AbGFuemcldU14aUdsYmI2T21JYz8/NGwmSWB8aFh9LWJ1UStoREEhTXF0
Cno8bT1rJEplfkA8MUZ+KiVmWno2fHhhTzNuS240Qms0MVRTY3lqR0B9aX5wOXhPZk0/KHdfWH1w
XjV0cEhNZUxlewp6bXRKNGktZXE2ezNpcztRYGUhQDApSFZvOEFqPnpmblVafUYpJG1TMzYkeVZE
cmk9TFo0fXkzVmMrRXs8T3U2e0QKek9DNGx7TER4dDgjdU4zbylkbStQTlZKaTxIXnpjTCt6VSkl
KFlYdUcjbjJyVm5tbyMkMDJqTWt7SCY5cDQ3O3EpCno+KjN4SFpgfm85NldIaXpaZSk4ZHJlVzVq
PWdRcXVseXwpR0g8PXcyTHpaI25MWFpHKCs+Zz5xeXpuVUpHKT9kUQp6aTR7bjQ9QmkmeEY+WHRS
UWxubnRaMGtlQXhzWlBuaWkyUDc4Qz93N0N2JHVhU0IkQ1IoJkkpKWViX3NfbjU/Xj0KejlXJWt5
MEozPHllUGRFb2JjQyQwMSVgcFB2fkVQYlhnI0ZGWkloMTlXZlVIYmlZT0ZgYVcwbH42MnNyaE90
aWYjCnpCNH1gbkw9NDZnNHJrZlBDSTJYMWFiMXdUZUpoc3RyWSFkZ3lBISEmOFMhSnRpTXlZOGVH
bExBeHFoJV9tKjlUNgp6TV5UdFBjUzd9U1c2aUNaZGZOJXRwPHJGMXR8NlBjTChPJWNAOWdXQlhY
QGArSj5KN1E0bHo8SiFZLTVnN3pkI1IKemMmOFFILThTYmU/b3tVZVV+OTd5WUEySUNyPld5Ujtx
dyRISX10QmkzQ09QPkNzWFFzI21XdDFgMmo7aVNsfXpWCnplNT14KERkQ0FhU3cjNi1uJkx6T2R5
Vm52eGwmKkctZSN1IT5nczh2TjZoeTJOWDIlIVE3MVkzU2ZIak9kRWNjbQp6YjQyUXxrdDNRQmll
dEpGRFY4RzB3ajtnPk0pWCV3SWVkR0swS1NLeXozZWt4cmhhVTwpSm97SHJzM1V4PCQpdmQKemY5
VkVDMVZqYmMmS2lCenFTWntZQlYrYDhYdmR1QnltPXdlb3k5c2F2c0l0YWJFJVdYSi1zMWo4IW85
dSYoR2ElCnopaldNPFZoK1E2OUozNF5RK0xWQS08cTIjU0R0c1l5fCNvNUR0b09GNCo5MEUoRGZl
PTY7SDBGWmh1KnRGTWs1Uwp6VzFaX1d2JHh+OTJScWhSbUR8RHlWblZuMi0zXiVzN15gemgtTmBv
QUZTNTNfXnkoWmY7fWJOeik9QmxoPzF0Y28KejI5JDYqR2BrLT5XMHE+YGZQP2NWbF9SKzU3MyZJ
WTtyUCs/Sj53RyUofHYralJPQG5wcj1TM2RtXn5sR21uVlF0CnowX1IqZl43UUQ5c2hCIzZFJT9C
PmIrJCRAXzVlWVQ0Qk9hV0YqWDFtUj07cTEta2ZXfkV5ZWRtcC04dlYtaEgjKQp6JGx5KTc5KTNQ
flkybD12P2IqQDBNZWRla3dLKCFUMy1qZHRRenRKIVJRcUBFJUFfI3IxJGJ3MkJgNCFPe3Q8ZV4K
eiUxJVApQXJyRkFKd2c8c3BWdkxfbnJgKlNwOCFuckdmJktRbjJOelN1TVNDQTstKj57UEUxMlI5
aFVmazs2NVJHCnpvYD4ka3gzPlg3RUdMS0pCUnJ6KVI+dTwjTzEkJmhpZ3RVJikxSjRQZXd7P2w9
cnZmbk1YRXczMXdrUWJIQjdzdgp6JXFSUjZAeH1KRiQ7PnwxIzRuTX4rfnA9SXZHKE95RzY1SV4w
RVA3OWR9ZkhEQTxHJFpiK0stOyptTTU3VEEhOy0Kek9TTj4kZGhebnooNml+KCtzdExpa0JeP3ok
MWZZJVUmPk48XyVOYFNedTM/U1k/MjZ7YUdVVHJKP0ViJEshN2Y8CnpJMWlLYiluKWYkQ0g9YXU8
dyFCNWNec0p+bSFzVmdNUG5abWNoe2RVMWVWfWU9PHBwakBYZyg0JH1kPylAZUNCTAp6KiRWVEN0
NS1AV3V4dz5ndXk4fj1FNWl1VCVHbEorent7XylqMEtiSTNGbFhAeXZ2KDxQVE4lRFU3SHw3aHok
I04Keno8TX55Yi1vYXRNbVMtM2wlc25CQU9Ae3pgZ14xU2skRXZJeDRzUSNENHpeKEAmZzZYSDhW
KGZ6OTFjYkc+YTR1CnpJdVVwcT9LbTN+OE43ZVNZRldyfDllUkYmSF8pRURzfUdBPG1mUE9MJHsh
bXYlcmF8cW5DPyZmKSQ5I0xSKSF6Swp6PiFiRGQ0MjR6bCYjV1A4NXs1SjM5ZVJyNFptYkN6JU5G
dUdMdGI4biReKjdfZSgqc0U0Q2xHKU4kZFRKJmI+fiYKelcjWXAhMGxzKTlMPCsmQmg9KWk9V3xE
ekFQcndLOSVxUEdNO1Ilbz56RkR+TilwPE4xcytkMSEkdllBRjVvN2VECnpYMip1RXRoJE0tPTZz
ZkRUfDMlfWl4UW4xZ0xKYmNpaDBEPCpBWVZVcmkzRm49UGszKzlzZ25AUDVZcEpSaExFeQp6bnZQ
M0lzJDdzdHJndyMtJWwqNzhTTGRaejhuaD5qNnQ1Z01zcmN3VHtlUHc9RytedTc9R2NZdDZ1WnZf
VX16czAKempGaHpBUzRMeUZkemkhfmYmNCkwUE5pJWZRa2R8fi16Z2VOOCR4e00wfExDdVMhTTBJ
amY+ST1PSiZ4PzRKdERPCno/ckx7OGZ8NFVrI313KG9qaHRXcnBCQUsmUSV8fm5XckpKNTZzViUx
QVZpNzxVOGpRTT9tb3dvb3tQbWowakJqMAp6TnJWaHZEcUtpPEx1TyF+ME9uI1pRbkZGYztzKXBL
YX1mPkh5LVd8bz97VyMqdjloUzhvUlp1MjhJa21IJUM+d2MKelY2dzN+Q2VOVihJc2FeeFZ8aFlL
Y2ozdn5haVcxQzB3VThMQGRsVCN0LTRwPEZBYShwcitrIXBhRWZoKlkqODxOCnpgTEAzRVZ0Sihn
SGZrdGMhXmF3Z1lYek5XMXwjSXZ3V3dJblVjSGMyIUJfJEdhbEN+X219LXQ2QXMlNWg4QEwoWQp6
JHVoSUkmZFZBQDtNSGFYXnFEaVZMNiRlXiRtY042KjMqT1I1Z014QipZeHEpMWApTU0zQDZURFVP
UkxxPUBFQ08KelV2NjQqX3QlLVBsVHRLeXRWTWdseDRlUiZrTWNkaEVhXm9rbSZ3aUl5LSVzfGdU
QkJRWkxgRVR0OSZCVGNKZnRsCnpCMXRPaU9BJCNXc1c7ZSM/ezRXMFE3aV5yKG9fYV9sbGdgaVpm
O1R9aTs9K0FISEFkbCZsMFV0VUJPIUdRTCtRUAp6T2A2ck1hRnAmU3pIWUxQQndJM0YmPzd5PXgx
KDV4dkZ1Y3FjTH1+XlJ4eGVYKTxTditiPTBsSzFDXiFsVnR3VyUKemFzfS03V2c9IWpQZjlGYCQ3
LXZoXmJad2Zhck5gZmFXIVJ1fEpAUHQxa0VDX1klUCVuZFdJbkZDN1Yqens8S2JBCno5aThBIT02
VXprKThiMW5tZFFJSUxSeWJ1U0JELXh2JHooQzJfJD9NeVppIUROJVNrSU9DMm49QWdAX18zWW4+
eAp6X3hyUmB6LSZDTXI4ZE9hbEhvalhYbWkkcl5NKGljTTAtT355YkxuN2YwdnhxeDltVTdTTHsy
YDttPkdVeW5DdEYKenJTR1F5Kn5lMEZfXjBDRGZtejBFVz5rfUlYLXE/VE1TeTJyX3c/c1B4QWNk
SiojZC0jbS1USk14cnFSX3k4PnhLCnp6PU9rdlRRSDs4dzw+WT5rZW54QUp1VT5KdDtHSyNjO21N
OVJReTZjPF9XO3FvTWJ5TWFqNElDY3JRYjNmeF5sPgp6STQ1VVAoSnFEdnQ2IzNhO2tSeW4xITtV
bF8xI25feE9TWWk9U0crflp+aXZ5UGVkKVR5V1VlclYpVCUwM1BDKXsKekd3IzcqVyNeKH1EMFJ4
OEQ+SXJkekRYeVE/Y19jN3ElbE1EUEQqSDl6Qko4cit2aShmQjVZIXpoIW98bFVeSl5UCnpRZnxS
X19NOzRJbURfZmhhJHFvZFJuRDgxR0VNdD41IWg4YUd0PlczcihVfEB3TE48a2J2SVJWQjBwal5g
NEI2ZAp6c0xwcjJKdTxqUEJCaTN6QD8xKSVvR1ZOP0kpR1R8MGBoKjUyO1dFZzJmaEw8MFc0Yl44
TlQqdE9XZX1ab35iU18KeiZhZk0qMylLQH50cTlxYXB0KCQ3V150eEstI3hSdTU7cVdBSCpafmFj
ITdhWHpxekBOVkxMNVJeYU9wZXZ8dDRUCnpjYjZQfXk2aj58VnZgSHxkeHNqblpRN0JYdWI1bD1G
Mi04cyZqUyt1WmAwP0VQTD9Wa2wkfF9aamxRflh6dFYwZQp6JnVQSUE/LWJTJXttej5rNT4kNXww
VDt3fllfRV9yM2h8dGc+azM7fEQxXnQ7KTdfJWJnSDMmND41TmAyVzM/UHUKektTRWw3Rnd1PXF2
SVAtKks1NFFAbWgkekFHUSlNdU9idUJkelUhSj1VRilwUER0aHNiUnpwbDkzfWVNaVdOQnRACnpT
MTtrMGFtOzh4KkNFQ1d2MzV2N3dWLU51bndLKj0+V0FMP1puczNmR3hLZFU0JX1fYEhRVDhwe0Zi
ZEpWMjtTdQp6I0FzeiNkO2pQUGEqZEdDd1NwcDs2N0BkIVEmRD8ycmZaMXNPem1oQHFhJEoyTjFF
JWpQMD02K2B3ajI7LWJqaCkKendVZzVLN2xje2Y/QEVyT2JZQnMrbGZeb21fTmo0UWY0OztpQXEt
VU9JKTtmVTJFZ0J6d1dkJlokMSpRJDMzZmVuCnopfChxWDl3fElLSClUUDN2ME84O28qfHcockBk
cUw9QyYqXkRaWV5IVlVZajBPU3ExXkF6eSY4dVRTKDhQV3o7Sgp6Rj5SSUpMfGR2Yz57MH5vKWNH
fUF7VGt+TTNzJFV0algmfkRTKlM8LTt8cX10Xip0a0VlMjhFNnVJNFUyQkBaSzQKejl9JkBXM3JD
bGpoVTNtdChkbyVAMGs3e2ZSQGFmPHhtRTZzP3UkRWxJcGEwOE80SXR8bjtDZldCJjxPS0J8R0J8
Cno2MFA7SzhIdXY0ZyFuezZNQzNXdVVMc3xMUlgrWWtpRDRVfT9UK19EJmk7Zjs3NDYjfHoyJC1Q
KGY3cTYjNWFNdQp6Tjs9SEs/eTI2cFUmaGJPQ2hzej9GNWpUYkdPI19LdyFaV0hlMTZsa0phez5s
YDV7NWteaUtWcFomPCUqV3x3cEsKenIxe00pcVlXJHwlLVEzM1BGKkt2c2dSfnZlPiFaNnpiVjh1
SiMhYSVmP0hvTFN+I0lTKFZHKDsrMzF3TndEMUo8CnpSNSEmUClxPjlpYXI+RntePmI5K2lzdDM+
eUNhbDhxdENROzh7Y31vTl9BPnwmOE8pNGxCLVEoUndRbStxUHFkYgp6M31JR2tmT1o8WXU/UThK
ZiY8bkVIbjEoY1NFI0h8TTxkbUo0cE9qbyF+SW9IVn5Sb2syfCM9LSRTR0RYbEEjZysKel9FcDx6
MiM5KSNkZHYpa2p+eXljV0Q9Q35aTklBd3A3TnFUUGRtYW5KcV9CNmhVbVpsPUUrKEF4Xk07M1hV
aTkwCnp3KW9uKnRaTFY8c3NhWj5WVyVEQkp0dUdac3JrNX56N0U1RDBLMW1HRVM7bVM9ZD1YPjUj
X2J7Zl5udCl5RWVfNgp6XndpeWhtWVpBTXskbilmN2p4R0VeMGp3MHthYUhpdCFISmdXdWwjOHEl
ZFImRGV9eDB1YW5nKTV8YHR4P0okPU0KelJjeis1cExKT2R0Pz9xQFUqPCslYDFEWG5ybjBrcVgq
OFRTayRWRGNxSStMeCk0OzkyQTtwUWs5PHRJR3V7JUxBCno4fj9uZGooPVBnP3RtWk4qUn5US0FB
ViVLRmpaZj8mX0F4fitNYj47MlJ1e1U+ai03WnVYMWhHZV9obWZyfFMxbgp6WDtJSW9XaUNKWksh
NzJyZiY0PV9kdlFSIyhkNjIjVWJSP0VmN1NrMmhrKjtLQkJnKHYrczxPTUdnNDBkZHopOUMKei1E
fUw5Kj84PyMpc3tUUSUjSkU1K319QzFNNmpsc3pHe3g2Nj4pYjl7MFE9Nnh3d1I9UEUlfH12TT1M
SCNObVpMCnpHblhWbkNAaXpjO2c1S0MqM2EhPXNYMCEqNWQ5NXA2ejM8cHpGMTQ1QnJBa2dWfDE+
Kz9WTzQqWm9fYlhxUmVDfAp6RVlLcmxnKFpgeio0Uz5XIz0zVDdmdVc9KUJXNzF2VV47YmtUNWAl
SEVKX0dJLX4oXyFXRTl1WUYjbVpfRGRxN2oKekhpVUtCKihfejFRfUVzRHg1fHhsP350I0RuTDVe
bnBQMVZfYXZFJUFXPSlHTU5AdXpYY1BkJHJtQUZmcjw2UHg2Cno8WCEjcy1VTjBuJmpoTmtJODNJ
X0R3cTxAQVJSblVER2U5d3JGMzFacHBaVHwtKEcqJlRJa0NZV3MkTEJKbnZeTwp6KXZ1aTIkYV5P
dUNTY3xmZnxJZ0xQVkMpMEpfRjRfLXE4Jkk/fTh0UnI/RTQkUyY5eCpONCp4IyR+WD5td2o7elIK
ekFqOVV0REVASUV1em53NzwxezhYJXtOQFJYMzhffDMtfEYkbEVQVWNHNEh4PWBNTzx9dnZHfU09
anNBYEE0QjgjCno9LUkqSkJYP1gqPX15YVhMaTB6eVUpP2hsQmArX3VXPSY2VGo7YG5MbW07YEtt
KVA/Y1BwKk93VDJWO3pAUDB8SQp6QWdLIW9mUHl8KUotKTBsS2tpTj5WMjV4JDBaITI4R1J5aSVt
Z3g5d0dzI0x6V3khVUE3a315bXt+MkdBeGEjYjMKelZTbz5mazE+cFAxY2pSTClJUHM9UVlaZCNa
cGRMRiFkVkhlR29qZForM2AkZGlobCh9YzI/NjRxR042UG5uZ1IyCnpJZFozaj1hQTBZMztpdX44
KWxIP0k8WD9BQjF2fkEpa0cxNldAUCh1TXdYWDQrUmsqVHZkQ1BQeUlWcChmQklUJQp6UDZQMntV
Z3VPU149dGRHKz5iWkIhRHhvKmdfRFRfTyhyZENUTXdwdj8yaEg3RkopYklLYjRycjQyKypySEAo
K2sKej48SW4oKTZHb2tJLSswTU05RjBEdTBFeEspSyVKeDs7c01qZHEtIWhxKVFlKTQ3VHFCakwq
YlJ5TXhXZStJRyQlCno4fGVkUnRtTT5yJGRTV3JrakRFZjM4JjgwdVg/Vz8zY2woeVk0e1J9Vikk
PkdYKkdRTzNXc28pUSFKWEc7SiRDUAp6PnRRTldGP3o/P3tyb2pTTXtJYGpvV1VAJFdjLVpCZU0j
WVFAKCtzQGhESSghek9uZ1lBbiZ5fkglXn0qTC12bFQKemsqcTAoYUYrIzM0Xn43bll0bCYyV1d6
ISpMU31UeU1YR2EqPnx5MFQjQGtqYj9RWGYleyE3OUdqeDNUWC1XUGZiCnphYjYzPEl1OSN7WGph
IUZvdnB1V0MxJjtCTT9JaDAxbjBVX3RkckM+Mk0qPWdDcXYoXmdEKXlqKz9ZNDJTcj5+ZAp6e3N1
TH5GcDxiUkJpWUYrMis2ZTxgJlVwLXozTkF+O0IkQTNyZEQwaUBPa3M7LTVZWENhXj9Zc3Ffdz1x
YVdxUmQKenkhLVJKeSFAJHZnVlZ+KmVtQmhAcWheZ3NGKEdGRDsjTCFxMVJOUjVTVTAqT2MtdUBL
bWlZRE50KC05YHlZU0YwCnpAUjJ5cHJQPUMwKXMrS2peKG5NNFkxViFEISZ6Um9YMWBmRTFUIT1M
eT94NU0rS1B6VE9CfmR+U0VkNF91X0FHOQp6V31qWnhGYHNofnw4eitGd0tIQTI5T1RYMkVMXm9C
P0IwQkZMbUBDVntQRjhoYWdQcng8K3NXaFljRGRUazc0clQKek1WRG5FYy1MLUtCXjY/K0pjaCU7
OFh5c3BoTzQhQGA7d3ctWVg/ODRCOW93O2cpeU5sdXR6aiVpRCYhejdUPTFGCnpsV2Rpcm15dzFP
RGZSTz8yJGpkN1VrUjEyOTRfZCplNkgofU94VUVvd2FWO1ZhVzNsI05PQkdjIWZAJVlEP1hifgp6
bj9JdnQ1fVZQSyNlSStXSlRhViE+UXlnSTd9UDZFIyFvI2NzJSg4VyMqU3BYb0YwT0NieTNiLXsh
NmtAdzFuPXAKelIlSD5LNXxmemstWi05WENKUyRZWDRqWEVtZ0VBJUMhbnc8TSFrR0tiOHpDTCo+
al9+QzNSeDI8IT5ZODMtLTNiCno8TGxYdHVpTDRKNz1QSERtenJVMm83dStRTiVjd2kxN30kQk9Y
UkpaeDY+KkcpfUNJJmM/cWBrQy1pOXFTZH5nNAp6R299KGVrcHBSNkQheVUhcHh1Szx5Z3RxNiFa
OWZnVzVVaFE5S35ZPXVFdTtIdXs7MlIpcUZ6KENSMC12eVZFMFUKekRlIVg8JXA5fjRCam9DKDg3
dEhAZFFuayohWTVXaz9XfWRVdSRWXkomUjhOWkojanV6MiUkTSE1clRDV0RMVXNYCnpGOyZtczwq
fT1VQHZZYkglPWZpOzZwdmB1WVJ7Y3lqayktd1BBaDNwMFh7cStxUmE/PXI1NFNnZCNXQWZAP0Q+
UQp6T0spUE1UMil2fmlXKGtZdlJfPDZkZiNFaENkfG1yNUdtT0txRz8rMislVyQkLW5+cEh6Qkw3
bj1TYW42c2p9IzQKejxWMms4V0ZEPSY5Z0YjTHhfUGgtUUpIfSNNWDZHVkZVQE5rMVBgbDZYPHBF
UHpXbUJpJFF9TChAZ3skTDw7I2JDCnpQKSZsRSZaV2YtYDkmP2x0RiYrclotbH5fa1JwayhZViV7
fmp9KjcjdE9laV9DISV7ZUpFZ0EkZTAoLWVVVyQtWgp6ZjQ9b0RJPEo9IUtMfkQzXk5MN2YyKllo
UXh7S1BpS1hDc1Y1JGZCbGE4VERBLX1oWE58MFBBZWw9SzJnczBVcDMKelFlVGIqYHZmbn5xKVl5
RHR5TzhfRSFgO2w4fF5xJm9kQU5XYnE/USpzM2VJdVViXjk1ZChJU0BfRj58PllmSTk8CnpMQVJI
e2BxRlB+Q2QtbmZ2YXZjVkVNTDlaOEw0azB6dTEyUTQ2aUdIJXgrek5mOyFmPDY1R2MkOXVIUihV
RlQlMgp6IXNuU3R6OVQ7eF98Z0BOYUVncjktaEhXWEJmZ3hZeD84TFo0IVlDZEJQVmw5TFNURy1v
WUdzQmU+N2FaPEd8T1AKej49azZYcG1za1VUOFhNZ0VMaEFZV1ZHeHI7KHJqcjs5YF8xdDcod1JA
eUBkPjc+RTd+fENhajJocV5nZG59PEJuCnpNPT1jaEltb3MjS1ljODlZTUdSaFcmclF1PU5vU3Q0
ODFxPE4+Iz5Jd2QhKXZOWTQ0aWUtX1MjSmRJeUdDLUNSSwp6amxCN3w+WHJQZj1+PVIqRHw/b249
bzVmVlI8SllNa14hTjxGMzhLQmIhd2gtdCtfJn00YHAhbDJyUDkpeWVtS2AKemR+aTYmejtXTUVg
b2lpLShDT1FuUUY3OXs3KTtZbkk3eV9fKFJXbVE8OG05K0dsQj02cFg8Mz0qOWhYdCslUmFVCnom
VTtLTkdgNEdhPHMkclImPUZ+UUV0fjlIQ3V7KW1BbW9SMmJjaSpENFF1PHVDcl4meklta1RmNk9n
QUpXTjcoVgp6aDhOdVExaVoxPEcqSElUeWIjKW1EcSR9JCVEckN1YW0kO09HaihmTFgqZnVhVXlw
KjVlJX5HbmR9I2FOdUNPSzgKejMjc3U4KGk9QShKRShUUlV4MXI8QSR2aXppJX07XmUxOE1VNT1Y
cVErYHI8IVJ5dWhDZHxWQTNMQHomfUhlZyhaCnomTy14PEY7U3NhYDs8VlIyeyZ6TEpsNGQ4MUc/
fH16ckBPeEtIYWNXNDxzNSY3PSZGVkw1OTRaMEV3b24xMFIqZwp6QGR+YmQoZTJedXpLY1QlRUht
Tm1ramlAfWx5NTU9I3R9RXF1LVY1aiVGJSlwTz82a30tZF8wK0h7JXgtakcjNEgKej13PVMwRTta
P21BZDhSfVdLPkBVMjZaSTU0R1Q4bTNLYSkobkByMX17PDwtJDgwWnZRNVhRX1B6K3NYMXl6Pz1H
Cnorelh2TzBkZT5Jb0A2RWt3Vz44ZihXYjFQYG4hRHg7a31wUWxPNmlnPGE5cVJycUFvbz1SI3JB
USE/KW9Ba3NJLQp6S18jMnBmbUcjNnIhK3NQeGVqfFJsU0Z2RjZtelFzblFtc288NTV4ZUNLITFR
KXgkMyR3PUc5NG07MERwdUgrRTUKel53KypzI3ZUNEJTWkh5Y0lXaXZXKHcxa2ZzRzZFaFBtcmZB
eiQkWGQ4dUl0KSUqNU8hJENge1hFK1kxdDlgTzk0CnpGZ0dUdmQ5T1VhNVE1eD9qQkRgPkpRcnk9
MmctUUNYXmBeYnhJdkE1P3s8R0d1Nk8wZnM7PDNyYHEhYEdwPmVBJQp6Rj5McXpkayYobTNqR2lf
RHFUYyR6Z1orJmE5bF5KPz5vdiNFODgzTiFXI3QyMW1XcjdpfHF7M3NsYCpvXk1Ne1YKencoa2U4
UVhhUERNU0BHXzl5MFRTPE9FezU+YnVjPlMtVDNAdHJARWxzejBnO2AtdjJeI0YjNz9nQFlwc3Ej
RHdCCno4IURROGQ3S3cjY28penZtcUo2ezZOWkBXWHc4UzMyajEkNihPdWVPcnJXciYrPVFGYVgk
RipEKnxUKGckczRMNwp6XyNqckBqfVpHel90UCFLLWl8M247a0EpPTwlRDdYQjAtKD5uY1NgKnFk
TGpeSGRyNXNQalJ4Q1VlbnJ1c1FYO0kKemY3MSs0JTBjXyUkXjZvWEN4Q2RIRWZEMnBgbDdLUylB
PShAbzR2bUItQUd0VkJpfDZZPlA7NGZ6Ni1hZU4yaztvCnpmTn1PSzs3eThiJE9yfiZMJnheajw5
NDJVVTh8JX4oYVBNeDN3M2UkU2khZncmLTtldXp2MEVQbiN3QG5lZiU4egp6R0VFQUk5JDJQLVox
XkAxRGo3NlAlKVdsYXpyRlJrKnwkNWA9P2Y1Uyo0eFZQT19uLVV3JiE7XiNrdVI5MnBXR18Keiok
PGN8RnhgQWM4UXY/M3JRPndabW0/RntaZU9Ze0E7YnpGMVh7en0xZyV4eyY9eG88NEZ9PWtPWE44
a1UzKGJUCnozbzdldD8kS2lnU01PSXlxb1VMaFBIfUIjVlFncT1BYmcmP0NPJGNLRX5rMHRQc3R2
VlJYISZASWBhMFFuI2hVJAp6ckJ7SWQqJFp6Tnt4eFVzUn0oaGo9fkxCYTczMD5FVEQkI0JxQitP
JHQlYlhZMnMzTWBtdiNQTXs2RGBEdn5VP2QKemE8RHo+S1lzIzVie3YrWm5HYyFLTWw2U2ctRjlU
NSZ4d3J3UmJge1pVJGpvdVo/RkJzWEN+YzdASFRZe25CNkAkCnpPUSZNSU1RfkoyJFZlJG04NEpF
Z0NkSkReMU1zeztMT3ReT1JXeW10NklyJiklZDw1NVFnaSZacUlRfkJNJTs+fAp6bnBOTXckdmtf
V2tgNXFmSWN6PXdTYkojWV9HNjFAOHlFP2cwZG1hfTtzdHZ+S2w2cSFYNzxgd25vRnlIUUR8O28K
eksybl50ekUhZmphJjZ1Zlh8ZlNhcUlOck5hR2Ypdm19Ozg2P0tvMHgyb1JZVylhdiNfJFI+THkq
MXFyMW9sYHhACnpJPm58bnFsfEd2SkliWUo3Rmc2PFVVeDQkI28/NSZXVEhEa2pRMng7VlpCY0NW
YWxBcEE9NEd7MCNlcDlIRUAhYAp6PzVnd2Qjb2tTRykzRG52TF9uOClNMGZPO1ZjJi1DaipmYyl5
S1NATXh4QEhaR3ErdHNFdkc4OWhmOVdBeStsaTIKelpRWmRac3JYO043TERmU0x4SXxjNVBDVld7
JHB2Nlo0YzgtaVpKJTg7TS1rMyFiZT0lJEdVUlQrU2d9fTlwdksoCnp2aSlMKjNIT0dBWmkyLUll
KHFEPUhhTnh0a3IkbVh7S0B1OU8+VEVuNmRlV0UhTVJATmMteEQ3VkxjdGg4bE1rUwp6OXJuVnM3
QlJEIWRpMCFnblBWU0A7ZTVxMnRAK0QqeVg5elkwPjZfTk5LOCFRK2tJU2hwTTMpS3heZkd3Vz5y
UFoKem4kcnwteWVscjdDPXhxfjl2QXEwODRBKSZmKFcqQGh0Ujt2WFk7MVJ0cXN6cjtMI01IVGpZ
YkNgMGpZPjk+VXBUCnpQR0JFU3lsTChIQnVpSytuZzNMajBQNmBUTnV7NW80I0lIVGNnSnV1am1a
Zz1PPEtaVnE8Xk8yJTMpeSZZJnwkeQp6KHp5ek1VJm9venwxeFUmREU7R0NnckAkaWBJZ21IKUQq
e0xhUGkzQzJ+Um0kK3ZjWW1GNHlWWXF5KkVyYjAxVXIKemFsST17NlJCR0tHMWR5Zntzem9gYDNn
TH56K2J1YzB1Nll4M3c4LTkpODFDS3Y/K0EzWFA+cVNwOCNMO3Q/OWdnCnpAPmk9VUNjelUhbXxV
dmx1LV97QnIyTmdWdn1kM1R8S3I7Z2FuYmZJaVRaQH52aXF7NU19cTBga2ZlZVlRVDJBOwp6cmg9
PXt0RE8rO29rek95WF90KE0zdFVZeiZwPm1pPytOXmUxTX4hYV9oJjBtS2tvQH1eYk5sS2YhZyN6
UCY0fHoKeiZCfD5yek5ndCFDJiYtRj9LU3tiQ3dZXkJwRmdHdC1Sd1gwJm01PkBIOW5xUEYodjYq
eTFmdld5JDtXUFhucHFjCnotcHpzTjJ+ZDNIMilTSENhZFlPVXFPPjlUMWJ3U3dvJG81LXAwZEdZ
PFZgZ1BhIUtGMW5kbkZNUlc5NmVBRXN3Twp6bjt4KjFkVj5eKlE8T1Zgd2pTUngrREhSUjY0RE5q
JjNxSFdYaFVTfSpoKFp5PVhFNHNvNyErc2JRP3BlRD1ISUkKelA0T24oaUE7RHBja1d0MUpxfntM
SWxXayQyKlM/RHAzJjU7Ky1IWXl4R0g7al9yfHlhWkJ2ViliP0A3dGkoZyQ7Cnoqb3VkXllpQnpx
XmwyK1l7PEZJeithXngqVlhfR1ZZKU58QkE2ejlLV1pYPFk5PkB5ejwpYHw7Jno8fnk/aX1UTgp6
OH1aUkRmSnZMU2Y8OzA1QE13R0hlNndtVj5YPllfP3ghQTNnNDJmWXQreGN7P1hnMUBXSDA/S0B5
VFp8UkFuRmMKek5TQ1NFTSojYHU5P2VVR192MG9jZl92TmRqckJVSFh1bH1wX19oKVJXJiV8YjV+
TG9vM0RhJHUqS0t5dTYoRUxfCnpXaitQNytEOUJ7aGhpYmZyfFFeV1drWDFKSzBGNUBKbWdBQE0/
UEF3aUtnYjhyQX5lMkpNNjJNenZwJmRAP040agp6YXZ4TjJCUSZVPDlodWteXjtgTHhXazFCJDBR
Ykd8ckxXczQ7JDdjQ15nNDhwP0pjQ1pgVjBNMW1uciQzWHU5WXEKej4kbCN7UHN6XkdBeUVIJFcz
SkArZXp8cDNnSzkjQDIzWmkxfE1YVWprQFMlTEVaJW1XdThxPz42c349RV4+dm1QCnopMTl8bk9J
KEh4djVtUG0yenZeMGU5RXdBTWs+a3BgJnRHdys/PjBKPHh8c2IoYC1XPDlkY3FjQnlwUnJFWkhe
Mwp6ITc9Y3RANkl4QlpSZGxmVmJaTnVDdnhfR0IzVHduN3RhSjBRLWFNKURgTElIZ0BaNzNGWXVJ
KlFXdmVoXypuQE4Kekw4TTF7bzVqX3x5UW1mUDN7THFPJX5Ic2x7QkBGQVV9e1pXb0hOdmY0NyVH
aGl+MW09KyFeU0RtNFNTc3JwUWQpCnpgc3pCTDQ4NDZXN01fYjsmUCtwaCYzUlh6QDN2eTJJSmBU
fGUhalpCbHprfEg/OXt1Vz5iWjByYF4oVnF5SXJzNQp6U3p7OGIoSHduISRwYFB+KnRlUFhDeFU1
anhQRm5AaiY8Y3VCIyFJYlVGcUF8SHszVS1wTDZOI25UI2B5JUhvflQKenVnSD9BQXV4PFZyMU97
TiYzbk0rUzF6QXx0RVhTTHk+UWRNXnRFP1NKSFRDOVMxQk1ZPjZfVUo8WHhVc18lZnl6CnpnMl4m
K3EzcXtXanErfk9CKTR+MVoxTyRqYm5mO1BqKTUlb3UrQz5mdGcwPFMhdSZsJENIdGZxIXNseSFG
PiQqWAp6Nl82I2pkeTwkelV1YHJ3I3FNVUAqe0kjfV5IWG83TVNyb3dDU2lqYT9YSkZ1JnQ5Vlc1
UWNmUHRZV0F5cSZCTFEKek4yVyVrNG9oNTw9QHxxVUJIcXU9KX56JXxBdFVfWkxzcFU/STY+Vikr
MU1yNEQ/RTJ3aSZhSDBwbW59bWFeMj5MCnpxQ0dAZ2hJKU5XYzA0QCZsViheWiZPWkxCdHhhX1pt
NmRnQD9GfDEwMHdeLXdZcD0pdCFVZ1F4KnFRb2Z6NmtESwp6bmY2X188KTw1R0hHZzJIWmB+NlQ9
a0tQVlloViNkdnleJXA5WXkka0ZvLW9zQEp2dTM/O3MkKmNEakNoXj9Se3kKemsrOXdEKT94PHpA
eEszTFo2P05tN2pgQ0ZxdV5kdXJ1NTd1Z2F9Z14/YE4xVTZTZXIxLWcyMDV4RzdXYWJ6PkpYCnpg
UStHemF2PkpGT3Q2TFRvbTw1ZkoxMUFEY3VJTjZCZmZXbXBCdmU1Z2BKQ05RUmVfbWltQnd4dz5+
WC0yemxiNgp6VGQrO2k3UlRPPHp3Pyluc3claFNGWHc+K0xvNSlVO1NPdHFiY3deOFBoWCpuKkwy
Wjd1QWJiaCloN1VVY0xjM0AKejw5PHBYSjVpSWchcFVUZClHeXE5YFF4aWBgZXE1ayVIeUw1LWwo
I2Q1NXgpdzhaRmNBS0REeVgxWXMrZF8zXmRhCnpRdHBGQFVmNTBLWE9rSXVzMHxGc2U9Wlo1PkF7
TVFBdTg2Mis2PUkzVTkjTVF5bFlzQmNUNlFreVgha1hUZFQ1IQp6WnU3TG9aTDx1Vk19WjMkT1c3
WEZnNiVOd1hsbUVTTnxxSyFpcDxuUSt+VzlHPD5KSDZOI2M7aktEbW0kQG4/VHUKemZGfEIyOWs8
d2JyVnchVUdaPTQwM09VX1JeSFJfcklVUUhrVDJ+aEZEPjZLQWlUQllqK2l2PnYlZVZvTGQkOz83
CnopMTZ6ckU/bmJYKGNRYUZmdG5qJUU7cXVoU1ZHSVdkelAlQHFhUjB2ekJjJU0/Iz42fWFnfmVL
OVp4e1JRY3d1RAp6U1Y+LVN2TDMhcU56RW8qTk59fEgrY05LRTRebFBzZnxgekBaajxyYXIzRjdS
Xmd1Y00jUSNDb2RxPWJWIygpMSYKelpNQ0l6cGVXTVQtbkJQWHdXfklAVGJ0Tj5DUTRDaXZ9Vm9O
TilVVlJTJG01O1ZwRF98MzZiOVV7TFghVD1sPFVKCnpBMzZDYXw4VTsjPnZ+P1Y9aX5Yaj5gd0tm
SypLI1Z3VERXNU9ed3Nle00jZDZWX0RkJmx4NHIjUl90cWRqQ2t1KQp6WWtmMj5lVC1nQ1p3NDlf
dCZOZkheeFVefjkhNCM1YVhrQDA5b34qMCR1VWBiRXd4YzN5ZyljfVBNPktUP01zakUKeitfS3VE
S3M0Y25EaC1gS007MXVVWUklZXZZJHNtP0crKFIrSFRlTjs2SyV5UGI1YVUoZ3AlQFZYQlRgSG8m
RXM/Cno5fXc2d3ZNYkhwRDc1VDFpOT50fU9KLWZCSjQmalVOJTwpfjlOO2NAb1J3N2pmVlhyOz58
NmtEczIhUlNyJm0rbQp6KnhzT35DYm5RYEM4bm5aRXRjc25oNmhZfHJtTm8/YUdYaDBwMGhYb2M0
ejVhM0xQaEJvKnF8ejswfTFNKXg3YVQKei07V2FTJkBwcldoP2pScyNZZD1+ezRWaHIoX258Y14/
PXlMREF5VklRVUNZPTh+M340KlEpUyQjfj9sKU1tWCVTCnpDOyQpWDY7czh3U2lUa1o8MHZ6I1Q/
RzQ9SnlaQXh4VjJqTiUjMEg/Njc0P1oxTiskWkJnQmYmamJeZEY5UEFpdgp6ITAmWWVUNXJ3UFZm
KTZOem9nOGxtaW4jI19adjQxViNoOXVNS1cyNFdTWDQ+VGBVajtgcz83RTVEbj9ocXVPNjIKelNj
ZSkzTUlCOyNJTXBnfUJwK0ojNE1EdnxnTmJIcG8xSThMdj9UfDhaPV9+N2JsTjtrb3FLWms2dWBp
TDQlZFZhCnpzWXdvZkN2OSohezgpTjEkdnA5TVRGUXxZcUo9XjF3TUNYSjk7OFZwU0tJbD4yaSoz
XnhwMVhHISVOcmp0WXY4ZAp6QTEkPUNXNzJBODw3UWYrK2lfe2dFTVAlT2ZjV35ObzZtPEUjREwy
Y1U4MHNrUTAzYE0xeGloI3xOU0JQX3h9VUQKejBzJUlRPzNjKXZyK3BXU0xwfUFEJmVJdkMyWisy
X3xMZjRTT00+c3RLITdsTk92VHxXUUBrNVE/fGFNQzkoYGJGCnpwVj9zdVdsWH1ATXElWnt7UVdZ
aDw0eGMqcnRudHRCYmxqaXtfcGNjPGQ7VHBqUlVrKU5LUVFSVWk8N0gqdHppRgp6aXJWalBIPWNx
RzJ7cUNoWjhyN3Qyb1NtU3leYERVP3RhM1VqTE08RWQ1ZylQKzZFPHhnfT1YQjdadHl0MGhaWWcK
emxudXs2UnhDZDlsYngoJkZaWis5bW5qbEROd1N7cGA7OER6ajlkJTlAVXszNkdWdF9RQ3NQakEp
ZFBjPSVweUohCnp6PGdKYjZTVFApPVFiZG97cyRuOXZtdXUwZjdQYTZVZXZrcigmZ2Q3a0NuPC0z
bVZITmFVVTFrWEViQ3BnUF56RQp6b0o/UT5wPlVEaXEyOzlJTnJRPjxDQWhmflp8TW58aklYfE1i
eiRqaEtKaGlAUXBqdTJLcEBFUyFYflZQTWVpR2wKell9ZTkxMEtadlBYP2YwZ3hJUTM2OyptZXlA
SnZtQnkzTWxGUVByKTZQZWF7cSkzeiheO0VoO257Q3A/ZShncE87CnpWcGFGajBLR2NIKUlUVClF
U2I1KUtXb1AoMkoqPSsydDV9YXU9dVQrdT5VbmB5RzNXY20ycFFxUENJSyFzRVFZewp6OFFrakBA
QDZmPSY5bl8jeE07N1JKMkBfemR8eV9PVDNpfD0rSCpoTVpnWFFSRnlORjZZYiFId0xUZWBDRTJV
a04Kejsqe29KKnFwWjw8RXdZR0M3cyU5eWtLTSRUc1BrVDIpTHhsKi1MMjxgKE02KypqKE48RXM3
WVlJJkBgd1cjQ35KCnpSM05VZHhEPE8+a0d8Vl94NGtnJUllYVdadytMNFkrQE9LVnJ0X143WkJt
VU0oMyNZZWpNaXV4ZXBfa20tQHBxYAp6WHFqaSo7JCoqJHpLJGJfSFp0MlFuPTtrTVhHSl9EZCQm
ODVNZT57P3tLejxVT1pnXmNUWHROKE1nfnxCJDdxQXEKenhLPClRcjcwV0NET3YzPSpoP2A9RVY+
VU85clJeOHk1JiNxa042VVR4e2gkaU5XX0xEKWpHU1JKSio0YSpGMSs5Cnp6TGo4Z1J4N3Mqe3NF
fDRffTZiTmorSWhBR3l0dkIyaHJKJnQzPWdEVm1jZTdFRUQ/SWpsSXBPYVU9b3Q1fFE9WAp6JURw
YHIpY2l+Rl9XKERiJUB9UEpYS1RAZmozR2g2S1M3NDA4Jj9VMlVSWDA9JityJXA4eSRae2Ijc2ww
bFhjTHUKenJqNHA4LTV9MmZwTkgoX0hwZVVmMDZRTVhGfHNgPzNeUkpoPmVGUztxUDllPSs4PFYw
dFFmaFJsKWNDelQlfCg5CnpObHhMVFJWNSNrWTBGNFc0ZkhCciUmamFmOS00KkByY1UyRTFKRHps
IUU/R1cmNXxzVS1GJGpuO0RAcnEkbHxWdgp6ZX1FSihuWHttM3Ema2hNcUR4dUk8dzshVG85bGhx
LS1pYiNpNlNXbUc+X2dNcFh0UG43NUx0UF84Yz9KMTVAPGwKektMP0E5TSFwfmxsRntAIzl0R3xH
MUI4UXhRdV5xbSM9c1dGKkQ5Ki1le3Z8eUUla0xnQG52RXYtWmMyaC1UbiZNCnp2aXU+c05ZUHo9
eihAdmRzPFo5d0orcGZaSXU2Kjs1OWNDIWRzLThKSzgwY3A/TV9TVi1faVQoJkZpa1FDVEsyegp6
UTw8aGQ9JFY/NlZAb0hgT24yP3s0dD1yeFJebFd9X1E2JHVBTzRqRkRhUGhmcFZAQ1AlZHt5Mmhh
TmMxLWRLZngKejsjI00rXzIld3J1NEdPYXV3aTRxUUdyWHdfPEM+Km1+eWl8NnhGKylPdzMjYFgw
Zikwd1g1eElgX29ISCVxK3BDCno9an5lazJeXjJEYGcjenI8VXVOMTt+UHtMZjZYY0ZCNFNzKEpi
OTxmJGZXMCZTX2ZvYUdVWmZ1IV5udXwrdGtAXgp6SHEjRE1Bb04mTnduJWpieyM3TyQ0VDlnPmYz
I0pXJCE0ejZ1PTtjM3l4YnF6Y1JDS089e1ZWRntPfHU0cCFicH0Kem9Xe3paNHVJLVYtaDR0fkw0
Tk93P3AqZGMyQnZrUV5pQGpRalhPUT5PRkAwQlItY1FkUiVNKFM5ZTJnJGgrKSZYCnpDIylzKSNs
M3peOStxT1NlQHxiaW8hRCQmIWx0cyZ7ezdURFJNfXdQK0xRWCUoQiZqNF9rQlooLSo2QmM+fDA4
MAp6aGkzQ2RXbz9ROSg5aXl+SzBaTzVwVENHIXs7fkdUIU5FPSo/KVgmZHZmSWVNdkdManBjS3NX
QzxTK09TYTFJK1UKens8LUpBSjVpVl5xKFIjRVQzPjspPVRjMGo1TmY4TkpTZ0I2VSMoUDRvel9H
ITQ3ME95RHxsTn0zS3VJQ2MoezF3Cno/dXE/NU9vLX10cCl1Kl9SQzk4OUd9anJOIWI/djY9N25Y
UChNc2xoNzEoYTxmfWkmKmhrYVJhIzRJQmI+aUVKbQp6O3YjMCslNTw0Kj9PZUkoX1hTJXE0d2dT
dE9KR157OXpRS3pVMDdyYSV2WE9FZWJGYioyNmUhfGJ1ZUV4cXxJR2gKelgzQjRnS3ohfiQlS3A8
eV5NOyYlRjJOKX5QJXhEfio/WTU2KyMrYVQ2TEIhLUVaTWErQyR7RmtCKXZmZThZdTd+Cno3KT00
S0sxeVM3M0o/PDFAPEYwQ2VVQXpmQDRWPkdjI1VrUSFRNWY3TVdMNn1jKT9iJnVQVyMtXiNkUHw2
KU0kUQp6P0psJCFeO1c8Q3pFdmZ6fDkmJTA5dXN4cWVAXmxCRGtrNUk4UShMI1ZkeTA2YiprKkxt
TVNuJm1ET2A5Y21eTG0KemAxfj8kTHAkMTFSbVhjbV88M3RoYk0wfmhYdHNZPnRDK2pgKX1zNkdZ
JmgoTHpWVSV8MDlQJFVFaT1xRnJUNko4CnpraGtqcT9SejhjRDIpXjVRZGhVZEJXUExCUn5ne0R2
XjEzK21rTEBOMF5CcH1IWCU0M3hgWUM0QHhfVTx4X3JDVAp6VSNFSTlJeXQrMT5tUl9BIXxmaitY
SmVPWkJKUiRIYCt7S2EyNypnbER7QUZaeT8pUVMybnUycFlOKV5lT0UzSnsKelpFUWxFUH1YZDwz
Wkw7WUxDVCY9YTFpfCY7Yy12REwjZyVWUEVoTiQlKXkyKE8yPU5IKGYld3c7eWNPamFQdXJGCnpf
WVplZihYb252LWF2Vj95PXolYT1ydmJna3hIYFprQTBNb29YWG5Sdm9SbnotPGpkUUd9cGViRERk
MjVIcispZgp6MEtRWWRWWXdwKXpqS35aPWU7NnhpZ20lNVQhIz9VKlhtZGc7VmIqcnxOYzw/QTJG
NzRwV2ZOTjxMKHNJTWx7ZEcKelFsRkNNI0UlYVkmVm5QSmRpMGd0Nkg8SkdlK28yYypUVz9reCUh
WX54d0tqNEl3VS1zSEshbjVKVjdTXj9YYndBCnpZakckfnp3KG10IXtwP0tyS19JPTxzMCpPRSF1
N1ZfITcpSjxIcDhOfEUwbkk2Zl83clJCT014MERAM0J4OX5XJQp6ZHNXJnk4T0NsdTw9fTAoeXVF
MlRqXzU2NXU7TGZeYDZ8QUVBQU9oUHcmZ1M8N3Y/fjhofDN4P18+MSEmZlJaN3oKej9pZFIrZW8q
bmRhcW47NmdmVnArYUYkT3plNVBZbVJROFhvaUdjIVcmQTZXayZpak48UHAkPFlfeURhWVd+OFVA
CnpRQT1kR2RzayEydFFvWCtOVmw0KmNTSGBeJTUlZj0tdHBBR05Vci17SCVvJkF7JCk0SUl3UHRA
QSsqfllDaGxleQp6RTQpJiU0dldtRTtrJHBgPk5qfHtRXnoje2AtKGElbHZjOH0qOTwrVWsyKlRJ
OHRRJk8+LSNxPHoydWwobDtvNzQKej9wVy13K0BuIU5yaS0/fXktSChqMWctKXp0amVHN2gwZk9R
KktVSEhZQVFEKmV9K3JAIW50flJzcWhtV0xFdzteCnpMbCgkS0ZMTkhtaCEtREUmIzZZZHZGdEU5
RHI5P21XdDYwOz40eVRQQ0hMVnRnP319ajNkYlR7aWNGTHM0I3c4bwp6NmcySUI4O05gISReV3Jw
QyF1LVZZbDh8bUEzbyRKak5HM3JWIUgjZzdsfXMpRnp2MW5aZkNELXpRKUE4JCZ+dDIKek9LUT5C
RkY9R2woSjhPWllyZF5eO0I2eFlQO0YjRyE7P343bHxUT3g2SzcwSkh5OClNaDMmZj9gTWRETmRI
ajk7Cnp7TSpSMTJJVihaPF4wVHtWOEt6cEdxXzZaJEFVWEtVTyRNVlZSd05BVjFHKmFQQSUrJVdE
ZSRGc3R+MWJQdmU9cQp6LSlJeStjcnlaeT1uUztSIXpZVTZ3MDNsU3p+YG0yWH1rdCNNOSQ4SjBF
PW5TN3wwTE9EZmB3QUtHeGdQcyF2dWcKejNKQUY7PEMjSTIrVERUXkVHaUtDQWQ1PTNDQUZ9ekdP
MjlTJDZ8RW9APCpqcUxlMlMzNW9eMjJ5N3tBR1RibG1SCnpCdHtqKCtHRGVlSnllKyFkPzFVX0dH
MntUWksyckl8S3IqST5EYyRDcVBaNW4zclokJWp6RGlIVm5gI2k1PShUTAp6Yn1vVFUqfD1Oa0JC
ZW43RTheMW81cWoqZE59RlkkK1liT15PV0lpakxBK2ZSc3UmZz5ZYj0+eFQ+SnhJZDR7V2AKeldO
WjVydVgoYDc3IWohLTNuUElGSEtjN3l2aDBec1c8ZXckPnQkUE5lbmZBdWl4T2pQbmgzJmpGX0wk
KTtXTkoyCnpSaT0hdlk/U1l9cl5IUVk1WFc8VFc+JF48QzVCQ200SEJuZmwtbzFJemozQV5LQnB+
dFlBPDIoNHslV1MoJUVCPgp6eWxDJFlCaFZ9cG0wKmhSS2x3Xk1EZV9gRWFpUDVzamFHeWw9Znc0
dWtGNGBobzlUPGohSSNgZ1dLQ3UqZU9YeiYKejt6eTVrZjhNaj0mUihEMSh4Qi1oPVc2RX5YOFky
bykyRmxZUH1iUEY0V3lBOGB6b1lOUmt4czgzMzc0fkZmSjZKCnpJYWRSYmMkKzZSKiEqVjluS0E8
YHl4enU4YXFYUi0tZSh6YzhGdzVUaWlRe0JgU3R8JldwMmVAZH5WdU53e3ZGWgp6Qm5QfTtFfjQh
S2kxLW52eFAqdzJPbTg4cXAoZz4jVS1rTTh7eEtGSmFaVH5+X1hwYWdlS3E/JjBraD1Wd3pFLTIK
emhHTj1KaTNXO08qVCt8eDQrJGc4ZGpWZSpENCZxOTIyKyM7PzFUITE3VEVvbkVIKnI8PFBKV2sx
K3dHcjFwV2dNCnpLIXBXVUM3IXtXejJ8ckJIckREXi1WQ2Yrb3kjTkBtRXgzNzcpdXl3bjJxbH0k
Mmo1Zihxc3xQS1JpTThjV24pdwp6d1h9VjRyZCEmeFUkdXskbyN1SExSfUZGeT0zbWchMztjUGlR
aSZfJitFYkg1S0MyKzc7PT5pelgmaUAoPDJXVzwKem5ZbXYlWmoyVyl1WjFTWThlfCYjJUJtNkVe
YyZkdl9sUiVMSllTb2ohKiEteUh7Qyk2diQqPGJrfWR3SzNEUElDCnpGKyZPR2wzZlY3bClfQys9
fXF7MEI/em85R056RHtFNHAjMXYySXBeVHcpQUo/VFdSSmhfK1ctWm8odTRpMUctdgp6Q0QrekEm
dDA3MD44MXpXcW1vWHFQQlpOU1gxJXhVMTY3bnZveXJNdWY8YDZuQHBHcV9RVHg9Qj8rREM2WGBp
TDYKekJFN3pQa21GIV4wc1VRX1BIaDItWCMtTGlQRy1YRWlGTTdnQ0M0VUtvKiMtS1NfOUwtKWco
fFF0Ji1EMjRqejE0CnokI0koKDVKX1BBQypRVj0pK0pyMT9PSnAxZX1MNEo8YShEKWhiTllLQCFi
YjJSYV9IK2VtTyg9YD1UTk9LYUwmdAp6ZVNXX1hYYlN4YWc+UTM+IXE1dmY0JStEamRQWjhfcGxW
fWk/SytvWT9MRUVGcmcpOEdJUiMyeDF8bj8qP2g0Z30Kemp6IzlrcT17REE1NCFsPHh9S1V9Vjdw
YEVLKz1OPk92Ozw4Kl9AMy17I3lyflRyYndBSHlTPkhIWiZGfVJPN3BtCnpNQ30mdXtnZClfU2x3
cCVtS3kqYlVyeGBAO2Y1RnI8Y28qTFZNa1U2XyFOaEh7RkMxc3lRYDZmO0s/LTN2R3A1MQp6XkVi
cnZycUJILTBLYmwmI208WCkoYzJPO0JNd3VgeHZ0SF9zcmU1M015fm8qenpeSGkxV2BFWlhWK31z
dyFVNXEKekc/flNII0VZMkslUDNWPHc2elYrRkFqKmBDYXpRaVh1UXR+c2VncnZfX2w0NCtkRC1w
P3BgNypoNDRibksxJFBACnp6RS15OTcxX3luUktrRFEkPVhXUyZMc09ATmBqQmJIfG1XVnYofjNH
S2Y9ekRIVzlaelREVGF2YDFgNVk2Mk9LRAp6Rih2JCRRal9HRDAmMVFaRDBCMHp8MlkkMj1ZK01I
ZzJlYWs9dX1VVy1ibjNDfEg5eyVzQ1RZPEIhbGlzZk9DYDMKemVSM3t2dHF9QiktM29QKzFpcTFW
Q19zN25DKkByfllvPmVPV0x3PGJfTSk+MEZZaX58PT17UkpqWStGa25UdUdhCnpneEJzTDlXdFZo
TXUoYX4/fUZ+YkZybzZ9OzhDeWlVMmNXVkU+ZWhlbXRWWi1POVNaLVQkWFRFK35mJjcjdFRscgp6
ZjlsfDBRIzVvWmQxMjB0XjZ9SEl1dVc+Rj1qcmtOaXZTLThJYW1rO0NZdnZHWHRPRUtYTWJzN2JK
dGhFPEpXUXsKenIjT35vMUwodVJidmBXMXUpWTxRQj1OSVdDakoweitBMVBMQF5wUWNsU1gtX0t5
djFRNXo0bFQwTj56R2IxTVFSCnpreG1yN3t7SClFNDx9OEhEO0hFemY0V1BXR05fb0FedntFNEJ6
X2NBTmpVR0ZFQTFyTmVASS1HaCNHT3VUMzRYZAp6T0FSQmE5cEx8cjM9KElme3gwKDdOOHRUZ20x
WkN9VVJ5RytDd1lYOXBEWWpEWD5xJEwyPHpMQGluanZ0azRuVHAKel5ocmp5KjZjfW0kd1BsMWFt
TXg3SjwqI3dTQn0tMiR2cSUhOWwrVzRecDtOcEpNc2VJcFEoPGZeJiFhRXZANGtMCnojRHo9KFRp
SjtFUjZ5UilaYnwpIWd5SEIjRE5MYTZaJjt1MT4pWCtCcztLYWp7PlhnRS1aeztzO0w2e2BkcHwm
QAp6TXhHZ1UodG90dz1kU0tYVllmQUNGditAZWgqNkBXa2BtdmBUWkg2bm1saEl1YjxZSHtzdDNe
ejhqJmdFLUkrMjkKel95eH5TQWMtV1lIeytVOFdgYXxwRUR0MUZWeXl4ZUx4JFpvKHo+QT9sT3Rz
eShafDJhYEh1NENxaFZ1QTxQeHElCno/VyR8QiFpSU1sJU5hY3pyXyheamg2YGhQdE1hM0xvNXpu
P1NoemwzY2ZYaUNONER1PjxqUktaaz87ejJyV1hJTgp6SlR6cHohU1BafThUMSFSZzY2dTJWPTB+
PFBqbX4jPjt9MWhgZ2VvWUc8NE9uKDFpPkw3fipUeEhxdn1mXlJ1NjMKemt1SHE1Zig5O3ZOZlAx
eWA+QjU9NilLWiUwR3c/VlhhT1BMYilGbDRSUDxuSVdFKCRybVFDX0FkcFIybWpNKHBiCnpmWV4j
TXpje15sRCZlbHx2R0huRXQtUytWcSN5RDNEeWNgbEBVJU12TVZOSU1qbHkqc1FLYj8rUHspQXF1
TiQ4cQp6PFckR3ZXfFVDM2pXdHNJN25ffTxFbClafUFnYGc+U3h5VDY2dTF8SGtnPEtwWUJnUyVL
ST5Lc3opI2Rve0o3QiYKeihpYmVvYz54U3JfKX5FcnZ8dipEJk9lYnhaZ0ojbUdCOHFHWTI1Xmxk
eXhqa1U1Mjd2QFR9JGI7QWU9TUFoUkx1CnpZQ0R6eWAkO1hkPHghUnIqT0hZMXtEK018aG1EWmlf
ckMrP1F9KkQ4OEZMRXtZVlNgNThRfU9ZRyl4Uzd6JU5APAp6dj1IYWQ9UXxDT19mNWswWiZoa2Fr
T3p+YFQ8bys0TE4/MHklTDFLIzh9YFg9QWlhfEE5YC0qQ1VjIXJTUktWd1AKeiNzeWt5Y0RmcU4r
VipnZjhWR1k1N1J1anM4ZFdDTmRVKjhAKEVTVzI+OVY8M3ZpWjV0VnJPcTBvWWVlMk47cGE9Cnoo
KklRJEZpZldYaj82ZCM/KndvS2JuNjJiQnR9fTgxSFl8KzJzN0xhZD1YV3NEUWo0MWVAPyVmbHA4
aWhkO0ptUAp6Vl9rUVpeTU9PTkxLVTYrV0k+JDJfS1hydVNKUjlabVImJUJxb3VyUnpxU01DMF8p
TjxSK3IhZml+aF9sYyVfUXsKekdfUyhTQjlsRnpwfCtKSGt0bF54ZndJfF9RU15IME54QTFpdWQ0
Kn1QfGUyOCl9ST9MWG9+NXFSU1I4a2xiWnhFCno7V2AtTlcyO2AyYX0/dzs7eEdDWVhYJTBqJSE7
YmtFaE41M2VLfCYraHVJakArcUNrY3lgc0FiQW5oPmA/Zm5IVQp6TEdDcl44cCtrJHZUUk5mNHYw
PDFUUntwdlVeK0p2KG9lR3o4OGZRaEVtJUZRZDczeyNLPX5QdUBiR09Kdl5fKFYKejY1MFJWV1M1
UFZVRSN3XkNTMikxelJnZStCRlJ7TEVeV0pGRkpZNzI/QmJOMHZZY29ZTH02cVlAd0h9bzwhLVo/
Cnp3Z0ZEQm9pJEomN2AwWEY4Pz9JbDQ9e3w/S2hTKHM4NmBZS1BCYFlnR0VPYzAybCZfJUMpWXZQ
SzRSN3VkM1l6Swp6WkJeZz9qQ2VkNl9NTkRpaHttPV4zUnZjUTE2SW5+b0dYUHI8N1ZWczhYUXdr
Myh7WjdEdXp5KWtYNG5NblE4ei0KekJVLUNuXnotWV9qPjt5b2JFQ05XV09tdGFXSEpjQmxfMGU+
Xkc5KXk/QSUoKSh3aU9TI2czR0xUIyR8a1NyZGU8CnpJaFFZNjRfbylicmpGYGRaOXxWSmFmUDw4
MytEZExVZk5hbXFjPC0kOFJnKm5qNl9KaiF9cW5FdkZHO0pScD4qJAp6d0FCJG8/OS1sRDhocm5W
KWdHNjJ2N2dkVjNzfVIySDRmVkwrVjB4cnU9ZG1hKmR4QmBmeGpuYnhNfUVNbl5tJCUKemx3eEY0
Jkk+JSVCe1c5SjhYK2FfV0IxSCtBfTVXKW9AbzxvJCNlcGJeNVQpJU1zNjk2LWU8TGNtSn54TyVK
MnR9CnpoRmszK2dZUCV5bD54KHhURzhgKDNFV3VBOHZXRlBwK3oyRjZ0d3d0OEI3LSMzeXdOO1l5
PGt7cVZKVDJSYmA8WQp6YlB6eUt0ODBZcVhIQFA+dzFkeXpySiVXfEYwI2lXa2ZjRVZpPUZRPy0k
ODI0ZWZNcTI1LVA9ZD85OERaMjl4QFgKemNUbHwlISp2IW1xZHAock4xKD1sMXp4V15BMiNgVXBP
aC1naEVjTlAhVGBRO0F2bTU1MkNnMURGI0p4e0IzN3tjCnpTbXNUMG8rRFFARlZhMUtXNjU5d04/
R0drP25gVzM4NiFHYUh6TExLMCg/cjU9X2xVKkFxVzw3QktuPE0+THV2bQp6JT5yJWFtS149UEgt
NHw+RUNsLXAjZHIxeWE9WWQtQi1iV25NYGIybD9seHRfNTZFRjUxPVc9Z0ByTFZvMmh6MSsKekZy
elhuM1U2UENTT1l1dFZhKjhEWVpPdFArVXwpeV4kRl5IISlPaG57XzFYIyR5K3E8Q3NvXnpuJXp1
ZXs2ciM4CnpuN1R4WThHbDgzKmdIcGVHTjtPeXp7SHV7d0VLaG8jTmNfSmFrck5ie0dIbGhNWFFE
eVBNI3NrYEJDem01fjQ0ewp6d0wqV0l2eEUtdnwwKSp5eXRYLWVBPkhDRjU+QyRQVGtLdmBKSVdo
JUY0amdmbDd4bmpReX1sdHZaMHRhJmhtNm4KencmNkpHIWxlVmNpKCtuKDxoe250dTU5YD5eMzd4
XmZILVVHRk8tP2Y7RmcyfmhuSVVDSGNKck1RbDB2aWlhdmR3CnplYU83eTxWSWV6WDdiU047ITJL
UTFycnx0a1c4Mn03K2IpJWBAcWQ7d149XkZlYUcpanVxdSNvOXlncXEtJj5TIQp6K0tVSGchNENF
bGpufn1UOEBeYGdQPGpgczh4cUZhMFl1fmpzaEN5JHBtT1NAK2A/SG5pWkRjfm01NGJlX2wyNkUK
enZodGhpeklaeTdRJkxHZSQxMkVuemhXZXE0MEJQfTJKMVYwbkl3SD9XfnMkYWxqan5DVlQtVEZm
KDB5b3RYY2c3Cnp4SypzQShqeigoQUttTERCeEs2V2o/e1otTn1KNF5kP0clIXd3WGVxc34kVFpF
M30+NEtVPytlJipFMmltaT5aOAp6ZlVyYl5LSiRsUUAlPH51KiMoTHlZU1J4Ql5BPUktTDs9NFd4
ezVVZyp+ZjdBMHhxckBTQ0ckdFlhXkd0YChGJUoKej8xSWo1Y35WezV1ZVk7cnd3ZU9xNylEIzlf
JG1lUnY/LSRAPzVIKXI0dVQ1SSVBZUwhMnB8Y0V7OWg1X0I4U3p6Cnp3cjk7WFFtd190LSlfN14o
Vmhwdjhhc3NMa0N0PVFZYk1YLSgmUTdOcjIqP0tASkhWemFpKilfODE2NU5HIURBPAp6N2xocTBw
UFNMJW4/QyYoRVJaYn5AJj15YkNGeDtiWS0kOT5UMSFSN15Kbm4pR3IkZyUmalFZZVY7SEJTO3wq
ZzQKem87NUp8OWghP2B1QkkwLUNGdDs1Sz8lMTRqPHFyWnRTczZTYzJiWlAjb1QpMF42N2ZSWC0h
ekRTN2BENXFRTjcjCno4WjhDNklaQUNTfEIwVig9cDtVNVV3d2V0bU1DNDh2QmYmfmhrZWQhYWNg
dSR7SG1SUSFoR14qOzhsYit4dHU7Tgp6e1NEVXxXejZRRWNlZHZYX3dqbGMySGkyTD5LZEkzZmVG
cyZQeDROenhGZXFYaXdRcEBxSmdTNjMwLTlVRE5vRy0KenQzOFArMU1AZVI9NUZYZjF3fll0LWpx
Zj1wNX08RjE0cURzZCtKfCl0Y2JMWEJkT0ZJQVUrWDNQRmxsRCk+N2tOCnpCfjFaTDZ5czAhNig9
PHNkeEgkM1BKVztJaVhEIV5GVilWKThvYzE4JUA7Ulg9e0MoeVE+KU8/Rzk0ejxwQ3hBPAp6eDFp
PnVNTjl3YnlnVDswPElpSl5DVkJtbVJRZi0pYH4jPkNtJkg4UW5tUDs4O2BLNSgpbH1AZ3VQQEY8
OUZ1KTkKejslfkBUO1RMdSVHQSZ2PiZ3RHV1VUpuMVdrWXlhKHImQ09KaGdMVVVMeiFUcDQrdClC
Yj5vP0tIISlFNDhCfTBoCnp5e0NtK2VXMjE3Vzg9I0tvTEtvS3tePnNlOFNPQH1OZ2VZR3pidV9e
Mi15e2p5RTNnQDwtVGhUYUAoJnxUTlQlNgp6ZilxaGw4WH5kZ0o9aD08YSswVUNMYkhfKUNncXAy
VjxtKnNkJDxnMW9sZT4mKSF5dUkjWitOX1crUVVMWVpoVEQKekI7JVVmZEozVn5PPF8pVCV3ZFVE
QSsxUmBIXz5NfjQja1BuS1VxPzFufTc3b19ETjw1aVA+YHxEeSp8JFNJYzB1CnokK3x1e20jTUsp
JkA0X3Zob1ZROWIze2lvTVIwLXs0JUBBNXo5d1h8YCN8IVY+Y1lIK3A4ZChuTntZWFRweE57cgp6
MlhPYDNASW41aEIpYSRsPmlwVDE0K29vOSZeQXxpKmolKShXei0xIzFCSURKJT8lYEYzTCojUzwp
Smk0NU8wK0gKemJGO2BoPGw2OW5pe2ZpWXcxRVApdHFqfXh3KSNrNklrVSY4QDdJZHlhYDk1Vz1P
QFdXNV4tOGZgZUJyTikweUhOCnpvJTNabiN6amx9RmpjRDBvTyppNW5YfnwqT08xaTdnWV9IdHNV
OFV2cW9tQCNefTJWYCtII2khRT9HbHMjMGZEPAp6TV8kZUxScnNnN2ZhZ0o8WmlDemVnKU1QNTdk
RDk/a0BCPUEteClHfTh0a0NAPGJJRHB6I2UxfkJqPEwwa3ZwWDYKemhiTmRQclg7cUxjK0khM3tS
MkdwcjRBSEw2VnBhZVhkaDlhem9UUkQ0cjVKdlVabF4xS0oqMzI5UXckK2hLbi14CnpIKFc5KDFW
KXRYUDEofldeYCpMY3UrKVV6JERgOyZGKEQ2d2V3cW9NbjdgMnYyUj01MmsxKVB5PS1BSzRNU347
YQp6YV5Pcm94WD1VTko4fTd+U0h7QGg8NGMhNGs3LW1+cSlmckRtWnN7UFd2NzxIeTZmNGpJdz12
dDc8OSstRHdzV1EKenJUSE9nMmJrbDh5dVlIIz5kUWFDNzgwX281TkRGNXZHeCQpYzc3Sm9aVF5f
U1R1SCpLK3FyUUhtQ0RBRkU5LWlyCnp2QEVPSW5qSl96O248fVAqST5iUUMod2NTRFQ7dVNVfW9G
TlIpTTFfbTVHe15RfCo8JCo/QXdVSjVmU2YyKH5YJQp6KH07TiNxWkBhLVNWMzhpPW4hQWxzej8z
Y1BBNFdOVVM0cDM2SzNYI2tPQ1hTKTAqbDdYbHYxJU1pI3FmViQtRlIKelJJenIkO3trYVVrbnY0
MFJTbT1yNyoxQDhANVdFTWl+Mnp2QUdPY25oQnB8VUJfUT5lKGclZW4hVWJocHF2PVJWCnpSK1Q5
Vk4yfCF0Sm14JWlrdX0jaFQoTEt4M3YjaWRAWnFXZntqTCNKLU9UMDh2LXk3aj1wV3Aoa2I8Wm9M
SDVhQgp6eGp0ZE5xJCM3TF9NdlRTRXVDJkJII2RCdDJxYz5UVE4jYUcweUdtQ1pUPmBERTN1dFlW
Sj04bmB6X0E5d0d2WjIKekd1ditCNWQ1aXFCPV8tWGVnMj95Z1h7WCZDOVRXVCljVFZ2Q0tidiNa
OyQkYGVoLXUlUTlMdip6S2hnUG08TWEhCnpzMFZoUTYhcCZQNWJVJEFtcE0rPyhzeyVJb2JtNHk7
TDI0MllfflVITDBrKkh1SEtVT0JkK0BSYCQkMSVye0xyIQp6b0NYKGg/PU5tfHcqNUtnP012cmI2
fkMxK2x2R3xYbTxpZiopc3EkLW9kM3FwUlNePXhLUDd2fVNoVWg4ZXdmcHcKeiFSdGpQdDkyJF87
P0lARnVjZmNsPTd3MHtwMmZ6bTNLWTVGKWJQVE1ZdFYwSTlIPXtjaml+ZWFTaGs/NDEobFMjCnpe
cS1qJUo0RH1UUnZKRjxgfEZva3VpQUBUMX48aj1uamUhIz5gTX4laGxMcGJNNEotcjFaYDhUbV9U
WEh2dGBaKwp6P2VFTGRUOT9uZHB8Tj1DbG00VjReOWBrMDhsbnJvQzdNRlp4TmB5MmJHRjxKOFMh
M1VwTUlDOHpFIyZmPk4pJCMKelghYHxTbEF3JS1HNChIZihlc0goVkRScVBBTzBXcjtsRz9xJWVm
YUZoeCU8OEQ4PjttajRpVGY/XjdFTUNlJCVkCnpEU059dz5AKDIwaWpCMUd7dXJDWG5hPGQ/RFFx
OSsjJHAwfnk2QFh+K1AtWnAlZlNMNDNGYDBIVDJ+YyE3Q2V7fQp6Xk1HIyF6ekl3YjRteXpHTTE/
cURxXiprYHgoP3s3LSFQZT1TWiNSNkEpUk9HbGoxfE01KmhOdD1NeDdaOFdgO04KejBCYmJPcmZP
MWNVVjtfUSF2WmJrQTN2RGJBKmdNfG1OZnNPJjh7Zisod0xCfVo+TFREYlNkNjFePm5TYHtSdVJ6
CnplS3okPS02dHY/I1BLVGQ/NztoTFZVdiVBVzhUfGY1JlY3clolUVN2OGp0dEp7bHs7d2tlfjxf
M3JGJDMqM3E9ZAp6NlJPNVgjQi0xdUM3czE9eFk9WWE/MnU5V3FBYnkrXnxeWnQjIzt0aTEoSHt2
YWByTVZzSHI3KCt4bTRncWNzZ2gKems5ZDc1XyFpXmEhaD0wN3MyNGp5YipvVmJlXjtBZEcoTlBQ
PCZpU1RVM3kha0JLOVMyTU1kbnpLWS1TO0s0aEpGCnpvWiFAK0B7Slp1MzR3UzdDVX5Aey0tX0ZN
LUFScXBJczdZNGExLVg4QVVqe3BGRlc5aT9FVF53WmFheTUpPEtLfQp6TGVkaFlpdkg3QC08c2lJ
YmhMOGpqcU17R1lXXz5DfElaZXtUZVVrbGV8N3VAZyE2PiYzQzJUWnk3cVFVWWg/YjkKem9+T3FA
VWd2S0ZEQGheaG14PUBZOT1SbmtveCE8ZzhqfVVfVzlSVVdtUVNHe20hejcrK0JeUk5JK2JRbzgj
bUw0CnopTlp6fmZsfEAqTSNRbmhmOTAtMTlMOGA9TWtGfGxKZUY9VHhCWjFvXnIkSjVzd1NtalhZ
Z3hUQEFoP2wlaiVqKQp6Wi12YC10KighVmEzI0h6ZlprWjQ+dTwyRTI3cDE0dU1TPzAzRXduO0l+
ZGBiM2dvbnFjI0N6VyRIdWtYQkE7YzsKeiFFdjNuS1h8cGB5P1BePXZoJWNlP0QqVX4/ZEMmbDNt
aHEmVn1FdkNhaTFpUkVtclZISF5DTHFFd31BOChweytpCnpzPHBfOSV9dXFeWVBLVzMmRGhyMFpv
QT53PGh6dklgYXI5dEcpPkpMSWFPNn1WN1htWXZZKldQRytfIWkjKiRsfgp6a0xxaXJBXkY+anpV
a0FzYXAxISEpc0E2TDZhRTFoMnk4cHY0b2IyOEdxOT4jbSo1PCs7RlZVbm9mLUJeXyohWUUKenox
OWZyNDc+Zzw+e2UrcjZDfSo+dVZzeFlVRj8zfk11eDV+ZlR8fkdfTCtgYXZpSX4+PVBISEpAPll0
YndRe29GCno2QmdUWntVcjh3fEEyemM9RH1yfGk8JWQ4bTg2bFpvOUNvXj1qWC1uKHd3JjdQV0ZF
UXVnWEVGbUh8NkZzbSNkQgp6ZFBNTipHUSF0fERFX25sUXpCQWN4RFZUTWB5T3YzcXBfY0BhUDs9
ZENqcyU+b31jIyNsVHhhVXJ3JFhsUzFzOVoKelQ8Y0VqUUgrMjMzcz5MekdmSHlebGlzVm5OMmN4
Q29mem18Z3lTMEpFd2lwa0p1SWhtVyhXd09JMX5Rc2RpPlpACnp6e0pYfUxFTkVVIT1BU28zKWF2
Zj1Vd00ran0rTTNuKlp0PEFiZ0B8JUpPVSNaNnI7NVpZUkV9IXlMbUpsbHhQaQp6RFdzSSpNV35z
XjhrOG9aQEhefkpIaF9BO1ctWTZlaEpYb3FVaFd+X1dyeiE8aGk8SC1HOTlJNiZ1I05fRlRkfW4K
ejtoTWBkKEN5S192aSQzVEJXckZqeTszVzxKI1lNWC0wYUAydVlQTUAranA9TnhgXz9EP3p8TzUo
VWN8MnZ7SzJuCnpUem1MUitNQEd0XmZuQ3JaVTx1bWtzbjhkdDNCXiM+Z0cpSHY/ISZ9bDxTMFZ1
Umlpcyo9KWMmYTlzLVhaZnZjewp6QEBEQkRjd0N7byR8WCR7bDFgRHBZWHZTMj47LWZUWnFHS15P
JkR9d2h8ZUc4TXpQPUdTWGNYJk10Zkg7VihadXgKek49U1BRSVB1fEw4Nn4mfSpRUkhNaz5JTHY2
NktPcy1zU0ZuVTYocXx2RTNnKylZNE85PWE3K1YlfUBJUS1qYEQzCno9ZkBIKmVgakYoT2BscTN5
ITBsJHl2IXY9WEAwMCRjeTtQPDlDVWwjJnRUanMycUdhbnhmN1RVQj1jZz5vPmFyOwp6VVljKnMm
cU1rOHEmVUtuXnlQKTctekhpdWBMXlFjQGlBV054bSRXfFJyUy0zK20laDRzTGAwYHB9WEN7MHo+
PkwKejt3JW82Zj1OVUNNTkMrJGFTUktWV1pidUstZCh9R0txPkcqRUl6cTRJMVo3fUQ/QShkMDcz
OzZWVERnK2c5VzlVCnpYJWo3WHpWO003czk5Wl85ZyVHO1N7VE0kWWZpdSZ5Jn0pX1Z6I3FyLSNo
I2NPWVBUdEs/TUVmVkhUTjxWPnNiMAp6ZD1qTFVAY3Y2dkRPM3RXSTVxaEt6a3tqSG9EKk5mQklV
UVRsUWppalh3bj8rLVkwT0l5OThuPCVBSTNOSm14KFkKeiNeP0wtdi07Jn53OUAoSUp2VTBoalBm
bDBLd31sfV98QFpPS090OE1pZjs0IXlEeXA1PGF9SmUwJVo9S2gkczxjCnpWMCY9K2J1ZlcxblNg
bk4rP0pCYCpjQkhaXmlBbGsrQCV4VnVJNUI/RFd8Pm52U0IqPGVIaWJgV2RhTER6WW1seQp6bEwp
TGkxbCF2YF9jXzk9e0lhRVlOd2w4MjVPelQ4d2s5JGl0S0t5OHI3TENQXmYyZV50S25tOzMzcG5X
M2FjeEEKenkzb3YlYWxoZihRVDMoJEJXZDdhU3hjeHs5KmIlZCM+NUNoeCljSnp7WGNYeD5oRFV2
VFd9e0lqe2hyJCZCIylHCnpMcEFHPTtzRnYoRjxBSkNFQD02PWxAMXc2X0REY2Y+YEk1WjhRYGhJ
d1hHXiNJTkJTUWltdz1Sbj0yWjxJN3Q8Sgp6UjxHdkpDI2ppXl4zfnBQRjZianl1UWBsVHt8WUJj
M2h4cERmQTBvdDJmYW8rblA7Rk16YVkqIUFTQm0mWE9kPFQKent4LSheKmExTUJ6ITVubXdSQDg9
M0hQMUN6cW1OZ1N+ezshPi1ycSEhYEo7Qz9LUk1fK0hhRiVlVmsxWCpUdjkmCnowaiFxLXBKPUxn
SHlGM3VlJCtNOXdic1dUanB9Q0lTS0xmeUM2QVZ0Q2tyKT9vMC1TUkJQcVYpTlpETjs/bXY7Ywp6
ZHBLdEk1NzFIQGM8Uy1nUmQ3MEshREUyNj9VLVl1V1YlZClmempeTE5IJVJBNC1gYX4/c058ZHlC
UDRMYUpNSnoKendgcTdgYUI9Tm05JCYxfl5QRkB3NHR8KSF5I2RGJmY9QGl7emUlVExBMCN1PzJF
SENQe0xhckR1Zm5gWnhNbjl2CnpVRG92RTFgK01tY3dQcDJIMEp1fExIQDVpMXNZd0dRXjRoc2Bu
ITlkWHE4YF95PXNHZV5DLTN2RC11VFd5bFFFXwp6WVI1Mjg2czw+eGk8Pj54ZiVHSS1mckRDflZj
VCpFTyFPTT96ZUZFRWMhRjZ3cDUwcE5rc3JhUnF6R2h+NG01RFEKek8zR2FGNTJgeVgtY2crTmB8
OEM+V1M7MGJzdilIfWJgTjgtKEpONzkkZn5efXJRLUdpZS1Bd2xzYVlvM1Mhaz1UCnpzamFXOWl5
RUR7P2I/O3xuRFd5ZE4rUkA1MXBlOyswP1g+ZlM0SXwpYVJIWHRYYn1nZS1PUF9Wa31zQ2w0Sm4h
dQp6dTBAVW9PU0RMNmdKYy0mait+I29MV240YnpydCheYVQqMyYyPnY9SHhwVyk5VmF1Xl54QkZy
Q1VlPD5lRH5EJFYKemp6YzY0VlEwS18+dmwqfkpTQDU/eHtZZV9kUjRYYEV8MkVyTFNqRXZ7Pj1N
UW9key1JeT45MmhXekEwRzNhbVhYCnpWb1JmbyRWd2tuRiNVZTk3OXZke3c5QGs2OGpWIXlWdEMl
cWV3OT5BRWl1QHEkNGQhNWFgWkd6XmtOOTVfIVdUbwp6aW1fZXl4KHEqeCpALSVReVVjYEtrOzQ4
WWdEfGQlUkd5dE5SR1cpdHg/WnNITGZoY3ZAeTNESXZVP18xcjRmOysKeilPX2p3QSlRalFlKmkq
UyY3MEhyWC1FSjIjWm5NXjthPjNURjIlcWZrWiVfJjVSRWViR0FpZjMhNDF0T0g4dHl7CnpCTTQh
VF5PdmlxPXp8X30mSz5WRnJFeHZqMTZNQ2pOZnd4OHNuQilWaGI8P2tyeWxqJTtRY3MjPjk3Rihw
WlB8Ngp6KUxyLVBlcTgmcmIxVnNvJFMmTW5rWnl8c1pOQndzclhQNUBLWEw+MyVWcE1Yd1ZwKjZk
eTg/UXVHU297dyVLbFEKekJpbl9rakBuN3B5YFdfSDRhY1JBVjc8Km5IPzxVfiZXbjExfE5oP3xU
eyF6SiFnXmZlPW0+fjhfaXl6fWlGI0MrCnpBSmxnfCtXenRjTE9LJFheVWQ1dzlrUW5TNHsmWE5X
K0U9Qm1tdnVzIXFleyVtVmV5c3RGX1ZfZDdZWjZONzYmfAp6Yj42PmVkNz50NldqOXlWd01HMUNk
YjJtfXtvKlFncTRCX0FZcit9KXJFYGdqZCtHKjg8dlU/b3BLeTk9WUNobXEKenBYdEVKK30xTWUz
YSMkKD9ZaH1HY1J+RllsN3tHQCZYRnRqUmYjKFM/Xk81KUJfcXNtcDMrTFlyWjc3TDJ9QGQlCnpW
OyohRWZ2S3p9VW99Z0xGZ2ZHKmBhSyl0Rld7RDhJJU9tQE1nVU82eXx9cTZIMW1NQUVILTVVU0V+
PyU7JlZ0Pwp6JWpaSCY/JW1mbXFgd0YqeT5hODZoLSsweXF7ZVI/czA8JFVER092Nms2Y2lVQjdg
SSk9bW1aKihPcj50dTBDRnkKek5zfF5kVVVjIVJ4dCVUK1lheDRmX2hMN3wtezgjbHdsN28tSVBf
KTJEOEA5Z0UqYzZ8OXp3WipNMUpDeWAmWFhvCno0PmVYfEJ8UCQpVl4yZCk1N19ZPkU/KGFMMT1f
OWNicm9AZWhYZENvNjdgZWlIKGFDVmJ9cH0peV87RjtwSD88Zwp6e1VzQHNqSmxHMilCdk9VWCs4
QSNZcnpQSXE9eVRRLXc/dWpeMTN6UUIjP0VAaz5jdDBAJV5+K29PfFdZeGAqT2UKenJHbihzZkpO
KShYaSlAdWIhYzFGSFNaYH1pVnAreiZyX2huMTt6OXNgVjVsVXM2O3NpbWd9NEdQMlRnc1UwJm5s
CnpiJDZXNVloTytXJUMqdz9kQTxYbVg4K2M9UVM5WTlIQyY9UFFAUFdoPTNKfXptTE03fkljMSNl
I0RseX1uO31ZZAp6NEpOUEdWKUlBe3dBPz95OXA2OThqdVlwOGw8eHJfUylIWVpBKjl8KkI9UmQy
d1docSVpb25EPm5jJDZvMFFvfikKek5rbHsmOVJ9VTI1a3NRVClEU0gpPEB6UlMqO1A+XlpBPHF7
IytKJHIqUGdGSTxWaC17dW12aXVDX2lzZnRAO00yCnp3Qj9ESGpLdjdAQVJWaGRhKDZGLUs4fV5M
RWM/bThPMz5BMlNUbW11UT9mcnJBOFhCMTcxQFozd0Z1LVNkQm96TAp6WD5XMlctMHRLYnp5PWN3
bEtrRnFEP0VOd2h4Nj5aZHtOSF91REY7YSg7OE4hQFJRNyRuQ3NSKD4zaE9BWm1ISDcKelhPO243
UEs5MXdSanFDUEx+fHQ8LWQ0S1MldjJtSHBAPzlWOUxYamo3YEBDUEhrN20/N15lJGBla2Y1ZkhU
e1V+CnppYG9yVCVCX243WVlXVFRyMTBFN1Y/Zn1FN1oqPXBTKEdUKiRVdTlxMyNTTDtlfWEpfWt1
cXcmP0pJJTYwWGRsJgp6VHg2PkM0MnFfQj9TeWtHdj5NK21qcXJye1M8e3czN3dud3NVKXZoXztJ
TX59dEpZOSM1fUZ3QnE/TE1iQXhuJi0Keks5VClTJVhAeT9pQXxtUERmak5YTmp+OEloTH1fdyh3
WFFsWG18QSU/aW1YNEhMJj5fQzJYcVloYn1aPGV6JHJ5CnpERUxFNlkteWZ0cCZzWFBCSE9oPkpt
cDtiJn1mZmpVYjd8Q14rOHRwVnolX19Kbm4hODA9Vzk4djlRMGRmNEhabAp6Q0BpPGVuO1AzdzIj
PXIpdHd8I0xyIzBpQzJKPHxOS35MMSVgbFZxZWZnKDNxeFRpa0lmYihtZis2THRuX2NvYGsKenJQ
SUw1b315eUU9SyVKdSpjTzhnTHxtSD89Q1hmOUdObThBWih5WGJ0TXhGJC0rRnA+Jig8K29ePDVh
Zl5UQmw9CnooYERIWiomVigxbGo7cmckVG1TdCFuS21GY2ltKl41Tmw9OzZPQCZiZDBVYSpJa2pK
MykteH48Qz16SmFIcEQlIQp6QGx9MUtTbWtgcmcrfkBYYn1HWSFPaU45aXdsZm8mOVhNTGBhYkE5
PWohVChIZHYrKighWl8pPSFqJjRSYG43ekkKel9rP1A2cU8tZl9tUztjWCREUUlHcmQxc093UzFz
N3FEJWdfMjVZMnlNfD9gaHozTj83bFJsTmQwdVJDZFRJSz1DCnpaWkBBb3FLZld3JGtgPHJ2MjF+
NClnN0NHJD1mWH5ESH1WU0dmI0U9OGApcSUlU1hgaytFdEo5cXVHN1pVejdXegp6eEBtJnBEb21n
RGx7RG9APXg0dnlCYzdtKT9hc18oJjEkaDYqfW18ZUh0SnMqPiZxV0BHe25qRHBXUTR2O20+VEAK
ekEmK25QJnFUdnk/UWgmQ142RX12R3BUZFBUQG1gYDRIPnVtZkJwS2tOTClePEA+ZCQlT3dzRW5C
VH5iO097dHlYCno/Y343JTl6fmRZWE82fGV5QmNTMiNpKXVxZEc4SCpyaG9UN2c0PHBtJXcwUlEq
PHVjbWFVdmt8MlN6R00tPUIkbwp6ZilIcSQ1fWgrejN1IW1naX1hSmBeO3ZrfmxLSURkMmUkZXpK
MGQhdjQ9Myk9RiRNakY1LUpMcl9uVlNOdEJYdz8Kej5WS2grdyhRTHJoJUNuZ2gmcndlbCVET0pT
JT5KcFBTRDwyRSgmXjkxUjJ+OHIwQXxxbWlVLXFMTFpiaDAxRnNICnpSM1Q+amYoVVI9R08rVVQ1
VCNDXk1KalI1ZXlJUmdWbXFxVGBGJTNRNzhKWF4xWWgleUl2Xnh+ZnNIa2QpZXpvbwp6ayhnJU5v
R1pwfjdAfjZJd2tXJHJtaGV2djhgfD0/NCM+VGwpdTtQPnpzO3FKM2x7MDYqaX0+V25UfCtDdz1+
NWEKeko7cllsbVoyN2dIQig2Y3Yren09Wn0ob2cpPDRzQkJOSVBBOGlgd3tLTn0/eFVpRjF7RXgz
ZmJ0ZlM2PEI8PEFLCnpEPlhHSFFsVTNmd3dKelYtME42KEpDNlNWSSY+bkl1YyhUOCRvME5IYzQ2
YGtLPFA9Q0NhbTglfDApYVEpM2Zwagp6XiQrbWZROVpXU0U8VEs4RiE1bmsqVzMjTVN4clRNJmtL
MGJmVWpBYldramEwPmc8RiQ+fGslb1JPOURaTG8tRlAKek1lK0kkQmp8dzNJWXE7KSRxd3YzVkZ1
cUFgYFVDSVlJQDhnemJ+UTVfS2R3VFVZSG5mezNARjdkZ3Y3RGEya2NHCnp7S2JoZWljTm1TRGAx
V296VHpnQXJISWFsdHJyJE55OCtFKFVsJCppNn0yPSpQMG8tZHlrQlJNbkBNZVk1WWlUYgp6Rjwo
MmJGcGhpZHB6PUxFP0EwPWoyZlkmSit1eU0oaVpiYGkycShnYm1DUDdwdGZIcFN5KStRZm1gS3J2
NHtlKi0KenoyaFNobCg0I1YmbWZHeCpgRSlTUiFyfjBScTdUcSt6JWslTUM5KChhZVFgc01jPXIh
TlhTSjVBRFhMbyg+QCpNCnplK0VUdXZfbihJOzM8RXdBOSM+ZCQpQkNuQGZZUzREYlMlSkEyZV84
Nk00RWBudVh1NU5vci1IeEd2Xjs3MSg8WAp6bk5hciF3RyRGRTdheFFtN2dtbV9MJC15Sk1GPnhW
PntiNnRRRXAtJEVnTE9ZO2lIVGs3SXNNP3p0UTN+X200eVEKemVfa3UhT2N4YlJ3Qzl2cHpubDBw
UVQ5JEhKVCtLZ0Fvay13eiNHWDIzJU09UEsjRGNqaEtSQDxRazkjYjJ+VHw0CnpeZDxrMitBa3l1
Y0s9KGtGVEN9bGBNP0RldXVHNyUwYztgdjNFVGV+RGdMaWY0V1FoYGFRd01tZ1VhTSo+Z2ZlSgp6
KUE9MmwrJEw0NztnUEM5UkA7Y0hhdUtRVkNodWs9eFhfZW5IX3x+OUQkUW8mN1RRXntrek89Kjln
MV4he3ZRIWQKej1UKHtJUzE2ciR0SV82Ky1vVm53PnRXKFVIJVRXd1Y1Q2d3NStaNWVEMCg1T0dm
biZMKn1KZ152aTtNRE8lbzVMCnoybXZ6RHMre20+KmhvTmVxYUAkOTU1Iz5SbW1zVClMV2lOclUt
a3cjcHh3R1Z1ZzRVSXt7ZlFoK2tHYmRZSFNHdAp6OWZ3Jnl3Pj5ZUTZXWDI5RSNefE5pPVRnNDl7
R3g5bFBEP3RvPmEmflNPMmthQk9aaT0jbkJzcTNFUTc+TV58eXEKendYMGduKTJPUl53PzlSUFBC
U1hfbl5tc1F4JT5rX0t5QDZ+Q3QobkgmTHZ6dGpuLSspJlE/MSU7Kkw3TktRMHVeCnpXVT8yfHot
UDx+O3k+bHlWTzVUQkJ1dSRUd3h0aTI4NjFWMURVKWZSXyVjNjdDWDB8c05CdU9YTHJnJSgxTm81
Wgp6UGxuQypKJXIweipQaXIkZXF9dmFmeiUoa2ApV0NiX1ZXTzcpSjsrTTNSajxIVkZMdUh1e2FT
QUdCd2RfQkR7fiUKejI1UCU7VTRoRSRXVVIpKF5BdjhfeGopSyZGRTxmPjtaeUBuanhwUEY9cj4o
Wng4QElWTGxnWl9RZUAxOThSWUwlCnpLUWB+TWJSP25BK2hFYmE5Kz4mTHgkdTtaLTBtaUN8SCt1
UShEcFBBTHRRNXF4bGBjeGRIWkpHOCMwSlBEOSFqNAp6clgwM1dWVzFKbihxfm09Y0Y0Nj4lJXhH
bCQqR0lpZzt8X3BkTl5WNUtjK0dKd3p9NVRUeTZhQ1hpbGtWeDN5eV8KejwmZm1wSHpPVWlHUFUq
QW1JMX00TnxyXlBFRihTcmomQVA/bUx0IUl2MWJlaVRZTCtvaFNuem03KyV0X1IzWWxxCnpWPV5X
Rm8waG5oU01eRyNhYCEmRXdOJmdFd28xV3hsTGVaSllKNlAmVkI2U3tnZSF7SyUjfXAqNFNldF80
KX4zOwp6Jn4+RzVyPkJOPmFlYSZ8KTcqdHFPcEsyRDw0Z1UjcitJRklpSXozJm9nOVNNazZPYU9k
UERaeE5RcDU2WTQ9MXIKejU1S19JLSpjMU15SHR1SVoxcDs7M3x5IVoodHJUTi1rRSVtaWBjLUVF
fiNRN1kxaDVsQEJzOVB8QSZ8cE9RY05MCno3ZmJrWiVPYHBUY1pFU3VWIVRuZkdocHA1QGp8PWQr
VFY4ZSFBZT1melJ1fSpqQ1UyZitQYGh8JURiJXk5UllNeAp6NDFqKWFnTjBfO14pOVFKdUJnPT48
e2xUVThhUG8qWCN4UGBmWmFQKEN3SnFuSDhBQ2lfc2pQNU1Hd1lDTlRzVlUKemBoaEx4I204cFEw
YE9HVXk9Ri0tVitKTWxPPFhWYXk2YXQhPnM7ZjY0alRDSz5tfT5OU3dnNiMxJTVwTT98MTNKCnpk
LWI1YW9ze3NWOSgrZU57e1JtT3Q7KUxyPkNaX3w9PjIxd21VPzE9THBJaUEyOT16MG95VmJuOzJe
P0UrI15rQAp6UTYyWG87UkFqJmdzT3xEQjt1UnAlQDFPJHRCcmxvdyk4V2taRSliNXhBc1BkaVNo
TEshPnp7eTlrKzR0JjwtaHQKemQlbmM2ZH1FTGo2UGp1KSE/alFlM2RYblM3SnhoeWpjeUs8KENe
UDEwJTk/NztSWjlQMWg9cmAwa0lXUHUhaTJMCnotSUA2I29jd2dIYHN+NmQ1Jml6PyhDWno+UDFu
M1IrWE01QWUqbmhnNzhQV3h5RT02amw2QTdDfEc4N2Q7SDFlSAp6XnEqbnkzR0c1Jk9jN2hXPz18
bn43SXp0Mk9Udi1kXlRCMXo4O3Z0fiM4SjZiT0pteHBoMXdYQ1lFUT1MVz4hKHcKeklodE44dn52
Xmx6fFl6QSZLKSklcnY+eGpPQ0p9dzwoYDt9KDZBdGB1TW17Mz4mMEAlWnE9P0gyZVk8bjs7cnxH
CnppWSomMSYmI0l4ayM7Uz1LOFVgZGtqTG1iVG5UKSUkUnpXNF4oVWdGO3hAUTt6PTg0cFdPPnle
ZEtxditUO21WSAp6Wk49XjBrZXhvQGBhTGM2dmg/SERoTVdmdD9lYTc4VUpjcE4jJC1pQl9COXhK
Y0p5Tm05bChqd0t6PCFVWnRlPisKemo4THc4e3ZJazZaXj1hb3kzRHdkQjtPOH1wdCQyfWU2OUsl
eyYtKUBjfWkmRk4yeCZkUXF+aWgyK3NWRnw5KCheCnp1KitjM0wwNWBAOG1mUV90NzxMIyZXamxl
T0lGV2dxRncpJGtVVCZPenVpI1pAWldlZSpWajZGZWRES1U3MVklZwp6UkojdCtEV2E/WHU5WkJO
Y2xJaXJHZSVgRmt1QFcpc1NQJnNoX0RMJm9jKFZ4fDUjSmcoQUU/X0lITldxUyEkUXAKeiUtP35O
NHVidUNOVEwrX1g0MmBiTEhyU1hiYW1CWk5FOFhgMTVeNVg5RXhpRE1yfWNTOU4mOW1rMiEjWGtQ
Zit5CnpPV2B2Y0RDbU40JjhFeWRaMkkwRFNhey1WKkwyVHAlbWNOUmd2ejBxLWw/d2Z0WElgRjdV
ZCZ7dGMhb0AkaCNAewp6aENUTT9eYjA1ciZkNztMJFhGUl5gfnd0PkBmMmVvU1F2bDVabDhzMTZz
KDAlKTskb0k5Nn5ASkhXey1LIUk8bHsKemFBK0I9bS16JDclNjcrUVdCeEBhTEgrXnBQWDJuY1Ey
UWdVKSFrQXdTQHB4MWcxP29JbntXbnNMUExVJWBzTjBVCnpwUkh7WCl1KjZoKU1jbSlFbDU9MnRR
ZzU0PE5JPGRfNUR1PytZeFh7YzY5anJQd2A/KmFWOX5jajR7UXB5QjRkMAp6PytTKnxUeF8/fU1Q
Vk8rZiRLVmY9VD9aTTZmOW8oSXgzNkJsM3UkPWtwc0pvaG48VngwRl48a19EOX5TOFZgdjYKelh5
STgybklVLVAoQ0wqSj1ZejAyUiZBSHRXOHVTUzJARm9ZMldoJkEtYFdmejlSOC1wMnUjVFR4Y2Zv
JnpsTXFiCnpYPyp+RzdpRHFUclROWGhkTklJU1A7I2tYdkdRaD8oQ3pnNkgkSEVycUV9KXQ4VmAz
NGtURV80cl98Tjg/ST1GaAp6XmpmUF96bV9hX0hhMGBkQXxAe3VjMllyZnJEPlVjJElXQ2BTa1A0
SChsdkNsaXAkNGZlMHolR1NOOyZ1RUBuJDMKeiZrfW85JThCUGc4dT12KCh6UCFQbCNERXxxVXpP
KkxIMTQqTjJBb1JxJXJQLW85TDxScUA/IWU9aTY9TlNGOEdqCnpYVTExKXtRcGJUWHRxc1ElIVZ4
OTh+VmAwdHRoPEF4LWt3QWNmOFVNZmwxIWhSTzFIIzFYUUV9I0tyTDM3T3dTWAp6bXh2fSRHcDNt
dD55dzh8a2xrZEwkcTY4PVZQfmcqaWg7eiM2bC1HYEluNGpNPm9lMWN4RnBMfStrbHJYRztPPVYK
enFAR21EU3M8Xz9zdV99ZHc1bCtaMFNTfCN3dWd9RUdxey1mZFRCZ1NqPUhHcF58JVhkZlJ0THhn
MCZfKmZ7VXtFCnpMRiR8RjJLTHJBS0pKRjh2NClaUkRufHw9U247djViI3Mja15BeHwyPCNkQUgh
UFJQTGdCciFwUGRBQ2UjZUFgKgp6dEphJU1MQn4zbj9pa0cyKDtsJV5DIU9Waj1mOVB6anRIfkl0
REIqQlJIPzsjbUhVcWwqUjlSOER6QVcrTXhGLWEKekhpcGo2VXczUGVlMilgaUU9OFBJbip0UkJr
Skt8WjFXS0t4eGB8e3xEfTI8IXR5QSt3Y305IXwrfWlSPzNoYlBOCnp1NSN0eXlSeDNsMjNvXmQ2
WT47Vlc5Ylp5enBja0xIfnk2LShlfFlwSEBEWXNpdkhRTUhUQyY8bnZecH5tWGVoMQp6Y3ZpJXpi
WmRKUXBKJUpvOXdVN2U1OTchOz96JT5GITMmfSQhfU0pJG5MSDxtdW1RP2s3KGJFcDs3TUc/dlUq
IXcKekxERGs5Xmh3YjkpSFBraXEjIWY/UGRJQX0lWHZ7PTVtaGItRT9CaHtCPCRwNT50djBBQjMo
JUZMK3haUGFHYDtYCnope3x0fGJFQSpTMms2QEYoRDIyS3tAWUJ2aXRhcj0lbSZFb21hNjZ2c1df
cGtXKTwhI2BqJldjP3hYJUAkdFN9Qgp6QHRfNX5HLWtRUWEtO2QlciQqM3M5eVhFNk5+Yk9yXmZn
djZwP1JBflA2fTY0MzRjLT90YFJZMEQ8IzVjR1ZBVFcKemFPaUVjKklNaGRUOXpfb2lBaX51ZEFo
O3h3JDs9V2I4TDBwJTZyaWt3UD50WDZ+JGhyQUB2e0UyYFcoKmBJRlAxCnpNQEFeaFBxQGs4NWhq
SUctO3slekR7Vm4hZVBVOHJzZmJefV94WTFLeV5HSUEzSD9LOCFuNFF1VnJsczg/e25yZwp6aXFT
U0M9Mj5va3tAYHBjUTlTQVU8fWR4Sk9iP2Y/JiNvUl5pckopUip+e141bn0tKkxeLU82Rjl0O3Jm
PmNNJjUKelhsUCZ4Mi1WOEE3KTIhMjN6ZmhqJDV6NEdTYWJPR2kmRmBNIUs2Yjc/S3oqSVgyczs9
aDdpXlVIfmUmaiF2JWc8CnpgazxGPFgyYTM4ZXQzKGo9MUpUPjtSK0YjcFdQaTgrMFJMZThoLVZC
NlgxSjxLTHlLbCZ7Y2gwUXpvZnhWeiF1SAp6TF8/LURFRTZxJDE5fT87SyRwcFAqITJ0KWoyY1hH
YDBiM3AtYShIOShWYEFJLUZ6aCNOSlM5U3lqPXJjdVRJNmIKekVPbWxhJVlEenFoNXkpNUQtIXlB
Pk8qTlk3Z3JrPUdONlJLPHlLaHpxUlojSHplaj4rXnc3IUxKWEpqaCNZRjB8Cnp7OHF5eHxBflNS
ZGJUdz5FKSRGfklTYzlQMHlKfTxmNFI4ODJ3ajx5SiNGT3c5bWlncil+NCZsRGA7MFBAZU41Qwp6
O3R5Z1cjNkomQnJLeFZIKWNFcX54bjFMPFR2ZlBhblhxbDspQEMwWUVubCtIKS02dlIxJUBKNUw7
ZG1MWDIlTW4KeiNhODVSPGh+flk0X35aVD96Ym9UcUItPEFKM3toOUN+aU5WZW1zWlJ5PlZeaCEx
JTFrUUY4PD1MYUxYJm85ZXNOCnoydEBlP3glNGtPT3lLSTUmc0BfVHMkKkVRUmtvPWVoJVB1Wjl1
cH5NbHgrUFJ6SE4qe20/eVE7cURHNz1zflY8Vgp6VUp8QlhReS04KmpFNlRRSSVaK1cpaTV2JXNf
cHZNKVV7JSNvVFp5ezV4ZVlPejh8K3Q5QEN6d1BpT2wqSFVDckoKelNuRHBiWnMjNlhOeSNgSjkw
QmhQJmVEcXhmQkQmMzlvPElRV1lxbHJTOC1QISlJXyVSNXApOEdNdj0lNEJGSkl7Cno2YzhBO0k1
SCVGa2cjVzFHbEdKRT80WWNQZlUrK3RBaEhOMzZKKmFJQVBQdThtYXFyYFN0OSEkMCpDfXEycUVD
dAp6YGg5UThaPU47dnJyeFcxZXt9Y2x1SXtRK190cmdxJitxPXVgTXQtY0BHTmo+RFl3Q2t7ZkFh
LW1UfmZBPnB1VU8KenN4RHk8TnQ5OGs/MitKPEAjS01aPEN+a3U5ZVlIaDU0QFg/YE9LeldlOTJi
N09tYkxZP3Z2OSVXO0xLUU8qdSV+Cnp4N1RNc2smaWpHeFVqR2JCZlRLUiZ1OEUmRkFvO1VZXjJw
fitOWERLMU83OENvRExCNnwwb0t1Pz5wXnAzSSUtMAp6OFVLZVMtYWdKUnFBdUQkbD8ocXU/fjZH
PGx5Z3dnRCF6emdIPCEqVHNlUklMR2dqUys8SSZ8O1EzQEpfQzslNXoKejkwV29SI2UhKzl7Mkxf
Xl53MyRlSzkodHRDKjZnNHpJY2JzY092UH5zYkZNOW8tVkYtV14oSk0wMSV1dVhvdX43CnpXX3VK
ZylAJHF+NSQ3K3ZKYUNxQCY3YGM4QXBtYmdsRih1QVhPODA7QV9NPV5vaCtNTk8xNERYSHR4dmZa
OTRoRQp6NkdxO2EheX00dyE7TjZiKyZ6aUpnNEFoQXZvflE3SUJGM2lHOUMoRmI4PUk9Y3whPV9W
bHJrIzdQQEx9ckcjdkoKejlKejBPX05mZ01KWDJuLUxJQnlyT1JhM3o8KClgJkZ2VkB6XlhyRzt4
eyhQKm9uPzk8aS1oen4zPXU2JWhRKnowCnpDaSY4KDw/bHgoSiYwdX1sVV5PPVAmaj80PXkydUpD
MEZfRzF8eTduTztYQHN2aGVmRSp2cyEwOytGQmRfJnVuRAp6OD9UIzkqPzhLPWBAN1NwM2lVU0kr
ViZyS3VOKzRnZi1jYl5TMGY2U0ZOO2clcX0jWlRCQlB0QXszSjZBcFJ5amcKemlNSmpsVE5GYVpN
PFpBakczbVpWKEVGOzZlMn4wQWw3MUsxY3l2X1VQVXYweTxgY144TFFnSCY3MDMxb1VhSWtFCnok
Z0VyZlB7KTE9SStoSGZ0fSVTVGJYPXhPcXotPjR7PyEybnAoQjYhQHMxZk9Dc2ckXzh7O15VV2dK
WHRDTUYxfQp6d2I7WCNqVmRaP0Q7fHMtZyl1THxlfiFHdFhgZXV2cFVSI3NCPXBwN0M1UEtZWl45
RCVEYjVuLUlwaXhATz5pa3AKemBpK251T2k2eG1UZlV4M1ooSWBic0FGZEkpY2U1LXdmXzJSZW8w
NVdXK1JLdCFOfnFOND56WCFVflZYeVlZbDJUCnpfO0Q0NFheNT13U31edENOZ0IwTVJfdyY2WVpk
bEAlQXN9VDsyQVltZURxI30jR1coSmpPXkMpen1eOWA9S1NSUwp6OSlrSzNCNEdMRVQ3T31BYntn
ZGtZcTZnMDY8WnBWYDVKQT9HQ2QwSGA7IWJ7NCQhUTc0JHtMKTRAWTsoeHBUc2oKejR1IyNaezIo
dXtLKUVgMD9vR3BlU3VmOFM7ditDRWVAKzlzQ2BASnhibDVvTXEwPlhFPVB+Z284Tz9xeUh7Njt3
CnpeY0BNPDdLXygjc1dJK0srRmlSS3JseG4zcDl0MU14dSVHNGAyeCg7c2cmZVJUTSloNll7UGlx
ajZtNl5zQHxqNwp6K2M2aHIzRkB0RTBhKjY4aUY/bCFyUjx1b3NIRyhGTTFNJExXfXJ1TFRvUW8j
R0dtKTc+Wn43MlNIN1I3N2RrekMKej0pfElzaWZNWnUzYnUtdUVWcz1nfEszT18rflhVNGAwLU43
e28hTUZjWW58YmFzd0BBR0FGcTM8U2deQjZrSF54CnpYeCt7T29pMH5jX2t6JDA+IWx8UHhnbzY5
a29jU1RFcyV+VEEhamZyMVVnNzNEMmtZPz9oYXImd0whMzJTYSFycAp6VjU5ZVhEeX1nZHc5eUBP
eXFmTzBlKTI3aS0oNiMwPyY7YU5RMDVPRHVIK1hHK0pjP3YhP3ZvbUJoYEErNklufkUKem1Baz99
RChOVjlvcWBKbHJ4KG9Kcis3ZVdGdlc7aVE9ODAhKmI+QCgmVDRsOTR9JlF8ZShwKVFBWlZrc21Y
VnFJCno2cDRmIUd4aVNfX2R9TVIpPGIzKT55JWdrUFI3fXFoVFVJRHJTMy1tcmpON1FPSXl3MT8+
Q2VpeEh8UGFSNnlzXgp6PS1QQE1FSkVkWWheRE8tbzBRd0I+PloqeUdiZTNAeVNOeH5mc0tidmdB
TXUtMzJGfjNMIz1Sa2pWQ3UjY1VWTjIKej9uYVUoZEdJdURjbVZUQ0Z9fngqX01YRis/TWBPWF9L
YDAmKTY2Qn4pSitoKSNqPjx3X0hZSnc3Ky0wUD15KWskCnolREp6ciNWPjV0emN8RmROdE9QXzw5
K3BmclE/VzgpZFJCISl0ZVFeMUUka2loLXowMGV6bWpLd3B+SEtPJW1aawp6MV9JZV5GLWo7Y2VA
STdDKUFYOWZzcCFfOTQ4aWBKZHFsfWZNVXRhO1Y5Ym9TcEhHbyE8fEsxe0RIT2FtdkVBUTcKelha
WSlqYG5UNUBSSXYmUz1tPH5GM3Jmbjk4fXl+JkhMPEVhTnk7YUF0a0hyPT9TbT1Mb3tLK2o/YHNF
MXVxT3BPCnpLQHVAPCo3R2w+OyEpZ1gjJWYpWk9FZXNVNDJmK1NjYGlTWmU8XmJXSXhMZTFiajRT
cEJ8aTJSKihEQHMpKiZPYAp6VVF9JGU/VVQ+bTlUZz4zdi1mV1E0X1gxKjhmY0QhKSYrO1EtPiU0
dztrWn15JClIeWpTN2tkNEhKYFhaV002YlMKelZeZHBDY0ptciNtJlM/UW4ydGhoMDl0LVY/VV84
QComaU5JJm88PHFJT0U1I0J1Q3JDeUVUQ055aEl8WGVVaFE3CnpHaCZLJj1XPWZQdn07M1VXXlM/
fk5gYnNyK0dqU31iSGIkWjdgblFCMl81d3wwdy10N0JEVm16U3RWSm5IK01MTgp6ck1RUVAyUjE3
aWF5I3VgaGYje1Z5e1lrWFF1SUFrZnVXREV4RW90JWxoKGN6bmtIcFg+e3dyMGJsI30tKiVvfjAK
emE3RTcqRU5aQHkxJHx4NW00Qz5vPHd6e3J8MlVERERpLWEhamhMRDJZeyghQ3UoWjQ2MSF0KT5U
aip0YFZoWmZeCno4YzRiUmFkX25EMW4lazUtWmZ4Vnc1ITdFe2EtQXpyWiFlT3cpVkY7TERaQmx2
PlE8MCtZPWU2PjMrSn18SWB6YQp6d3hPRkZOSCpGej5oTV80ZCk5WU1LfCQrOXJrZ19ARH5HbilO
UFNvQF43OGpWa3VjVG12VyllcDhoVGYmIyplTmkKelooJG5xYip8UChmJkYxO1M7fV44a0ApVW5f
WnpqMlpMSmR+cVVSI20qTH1nclktKzwkYXFoMWJKSEhUanZAb3UwCnpnJTN9RnF1U3NmPlpqMUhq
eDMkIyZMPERWQClOdkBnQk83O25WeUJRVXMteEJAVD9eMSUrI2BjOCtSKFBiSy1XZQp6JDhEUXs7
IXpUJXEtSENOMnhNeSFgdC10OXhjTy1QaTkme2JoOF5PJGpeYGxJIThFdD5iPFkpbXYyN349b2M/
a20KentDU2Y2RFY2VVpPTSRPZmYmZ1B9MkZFflAjbTgrZz9rSDU+SURYVkdZR2YpeXA5dSNPWSZM
XnV2O3dBQTZ6JSZACnpoOVA/bndwT05lPipidWt0MXctNG1zNEZHbUtJbyNJOTxeTnRyaDJvPyRx
dmZaZllscS07cn4rYUkmNElWc05ONwp6NT4tX2ojRF5ZSFdAKnkoVEI1OH4rKVlTPUA5LWU4Jklg
THgxK1V1XjJRcWJLLVpeTGltXmhtRUI9fGBiO04oIz4Kemo9OXMmcjZNZChwcEpweVkpRV9STjQ9
flFWRiVANDhLcDA9cGxnWWVEakkyWCpIRTIhcnxhTSV3b0pDfGY7aUAzCnp1Vyt8M0Z5fHI4V1g4
e1QqKFlQSUk2anRrVjFITzxoYVlpIVAkb2BLUGl6KTErQEN5ak9STT4oYz08Q0U0XjNJaQp6UG8o
eXheIWl6T3ZTMj5iQGZqKjFNWkRJSTUqZjJTTGxhOHBhdTUqUWd9MXFPbHJ0KitfSEZBaz5NP0VE
aUB2TlkKent3NCtzY3pYQHNxVnFgTVNOdFU+QCVwYjFgd2hFPTUkT3kxOHNaV0RAdH5oWGglVkx6
YCk9ZWFjfEQyK0Y8dmZBCnpXWC0tM0h5S2hINGc1JX1VeD5uO09aTnUzbiReMXEmUWFWJlQ+MEdq
b0gqa2toJjxEOXJ1aX5jd2NIJER6X0Z1KQp6SGt+KV41MGw/Ulk8djxLRG0jT3QlJEFsPClCI3ko
aGVJbUAzWUp1NV8jYWcyX09Dd1gkUElQK1JEMjtxPWBmLT8Kej57XmgzUjxkcTtzcXBHU25veUdR
VjFpeW5CMkRXI2l6MkZ0VVNKUnBKNkFWYnAqanNHPEFgKEVAWWAhYlU/YT1wCnpeKXNzc097YDB8
M2M3a0NST0t6YyVpN01eNlh7KFIlTkhFYj82ZypId2wmQE0oejlobU9ZUEY9cTR9RCp6K0hFMAp6
TVd9ZFk/X2ZVX0dmdHNUKHNpPTlURFBxdl8wVmFiKitOaE5mVmpib0B7N3JRek4jWWMrJF9EYDg4
e0gmYVZMR2wKekUtcWZifDhSQSYmMDtaXkhEMWg5NmFKJnEzVGNERF49cndfd08oJkc8Ni1IdG1t
ZSsoPmJ+byYmR2EjTi1ycW9+CnpWNSMtPldhYUhYR21aNWM/VmtISnJ0dmorbkwpfHhIfDE2Tldt
ZWRkJX5JQF5IKXRNN3BrPnpfOzFONDZhTG9oYQp6d1NpTUJWeSRGMnhnQGxyaiVtLVcwYCFWMTA0
PUZRcDdgQEc7Y3dwbW1BR0BFPVpRLVhyRHx8PkMofmV3IyhHQjYKemZ+fkkmN3RePnBkQ2xWbyNU
M3Q9Y25DYlghSyRhUmN7Qk90JHR7fnZsY3ZoYWI+NE52RGMjNmpYZn1jUnJoaCpACnp1PWIoTHJZ
JU14SCtXeiNycHFVdXxJWDdHakh9R1hAKW9kdWh1LT98MUBxQkQlJXI4SzdZOzlSdDdsM2xDZ0l8
Zwp6P34oZTdTRE95VzEmOW1kJEJKSTZqMFZZbzFsaSVRV3dldiFsa3hyLS1zXmspKTZMI3Mpaz4q
SEtGeSlnK1o2TDEKem5DbkdSVlk4dH1JX0BSbT9CX153b0NfZXJxfH1qK0kzfCshYihvVlhwOHJg
V2NeO3RQRjllcUdlK24leGVYISFZCnolZnpCfUFePH59WSVIbFNhckt1JikyUms7V2VaaXdUYH0x
MnVGQVE9ZShSbX5HbzNXJnhRdlRSSEE8KElRQHVMMwp6MEo5NzR7PntHcmU7KEBwelVCQzVjSkhe
WmFZKzkxSG1aZEVYQXlZY15Ramg+aF9lV3tgTmBNKDtsIUktKlJ9Tn0KelM/PElxNExHSWcmXmwy
fE57akE5bjdPLUc8SlM1SVkwXn5EWH0oaCokYGZVWEdlTEVNWGlKYHArZVZ0QUA1cWFtCnpxc19z
TWp7N0FsIz8rZzMtM01kfExSaiZ1X2xHK3xETkQlP0F8Vi15djNqZ3I4ZCtMSHE0Y20kbXlDJE5f
XmY2Mwp6OWVSKClKUC0hfj19TEQoNG5iT0JodENxRyUxJGkteWpzYTtWaUp5TWxBJlQ+XmAxK2wr
dDQ4I2V0Znc4YHA+PWsKenVRLT5VaXAoYXRfaENnQlclVEcpX25ifiVQaytDQnJhNTh6OEVkNnx4
cjA/d3djTTJkbD5IU31iWHh0WTx2ZURACnpQcW5QTnRaYikmbCtxJCVleEBoaytLIUlKcXBlcCEk
KGs/R1ZiSj5KPz9pOyhpeFU2Tkd0aFU0TmRKTD57ZE5AcAp1bHtVd0JfNzQ5bVg4YmVjYGQ9flFr
OXZVTGhXWTxXTkIkP0BgUztZZXwzRH1IVTZWTEk1QzBEclJidWV+CgpsaXRlcmFsIDAKSGNtVj9k
MDAwMDEKCmRpZmYgLS1naXQgYS9XZWJzaXRlcy93ZWJraXQub3JnL2RlbW9zL3dlYm1ldGFsL2N1
YmVzLmpzIGIvV2Vic2l0ZXMvd2Via2l0Lm9yZy9kZW1vcy93ZWJtZXRhbC9jdWJlcy5qcwpuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi4zZGViYjg5MTM4NDUzYmY1NmZmODQxMWZhNjgxZDcwZWVhYWI4M2VjCi0tLSAvZGV2
L251bGwKKysrIGIvV2Vic2l0ZXMvd2Via2l0Lm9yZy9kZW1vcy93ZWJtZXRhbC9jdWJlcy5qcwpA
QCAtMCwwICsxLDM0NCBAQAorY2xhc3MgVW5pZm9ybSB7CisgICAgY29uc3RydWN0b3IoZmxvYXQz
MkFycmF5KSB7CisgICAgICAgIGlmIChmbG9hdDMyQXJyYXkgJiYgZmxvYXQzMkFycmF5Lmxlbmd0
aCAhPSA2NCkgeworICAgICAgICAgICAgY29uc29sZS5sb2coIkluY29ycmVjdCBiYWNraW5nIHN0
b3JlIGZvciBVbmlmb3JtIik7CisgICAgICAgICAgICByZXR1cm47CisgICAgICAgIH0KKworICAg
ICAgICB0aGlzLmFycmF5ID0gZmxvYXQzMkFycmF5IHx8IG5ldyBGbG9hdDMyQXJyYXkoNjQpOwor
ICAgIH0KKyAgICAvLyBMYXlvdXQgaXMKKyAgICAvLyAwLTE1ID0gbW9kZWxfdmlld19wcm9qZWN0
aW9uX21hdHJpeCAoZmxvYXQ0eDQpCisgICAgLy8gMTYtMzEgPSBub3JtYWwgbWF0cml4IChmbG9h
dDR4NCkKKyAgICAvLyAzMi0zNSA9IGFtYmllbnQgY29sb3IgKGZsb2F0NCkKKyAgICAvLyAzNiA9
IG11bHRpcGxpZXIgKGludCkKKyAgICBnZXQgYnVmZmVyKCkgeworICAgICAgICByZXR1cm4gdGhp
cy5hcnJheTsKKyAgICB9CisgICAgZ2V0IG12cCgpIHsKKyAgICAgICAgcmV0dXJuIHRoaXMuYXJy
YXkuc3ViYXJyYXkoMCwgMTYpOworICAgIH0KKyAgICBnZXQgbm9ybWFsKCkgeworICAgICAgICBy
ZXR1cm4gdGhpcy5hcnJheS5zdWJhcnJheSgxNiwgMzIpOworICAgIH0KKyAgICBnZXQgYW1iaWVu
dENvbG9yKCkgeworICAgICAgICByZXR1cm4gdGhpcy5hcnJheS5zdWJhcnJheSgzMiwgMzYpOwor
ICAgIH0KKyAgICBnZXQgbXVsdGlwbGllcigpIHsKKyAgICAgICAgcmV0dXJuIHRoaXMuYXJyYXlb
NDBdOworICAgIH0KKyAgICBzZXQgbXZwKHZhbHVlKSB7CisgICAgICAgIHRoaXMuX2NvcHlNYXRy
aXgodmFsdWUsIDApOworICAgIH0KKyAgICBzZXQgbm9ybWFsKHZhbHVlKSB7CisgICAgICAgIHRo
aXMuX2NvcHlNYXRyaXgodmFsdWUsIDE2KTsKKyAgICB9CisgICAgc2V0IGFtYmllbnRDb2xvcih2
YWx1ZSkgeworICAgICAgICB0aGlzLmFycmF5WzMyXSA9IHZhbHVlWzBdOworICAgICAgICB0aGlz
LmFycmF5WzMzXSA9IHZhbHVlWzFdOworICAgICAgICB0aGlzLmFycmF5WzM0XSA9IHZhbHVlWzJd
OworICAgICAgICB0aGlzLmFycmF5WzM1XSA9IHZhbHVlWzNdOworICAgIH0KKyAgICBzZXQgbXVs
dGlwbGllcih2YWx1ZSkgeworICAgICAgICB0aGlzLmFycmF5WzM2XSA9IHZhbHVlOworICAgIH0K
KyAgICBfY29weU1hdHJpeChtYXRyaXgsIG9mZnNldCkgeworICAgICAgICBmb3IgKHZhciBpID0g
MDsgaSA8IDE2OyBpKyspIHsKKyAgICAgICAgICAgIHRoaXMuYXJyYXlbb2Zmc2V0ICsgaV0gPSBt
YXRyaXhbaV07CisgICAgICAgIH0KKyAgICB9Cit9CisKK2NvbnN0IHNtb290aHN0ZXAgPSAobWlu
LCBtYXgsIHZhbHVlKSA9PiB7CisgICAgbGV0IHggPSBNYXRoLm1heCgwLCBNYXRoLm1pbigxLCAo
dmFsdWUgLSBtaW4pIC8gKG1heCAtIG1pbikpKTsKKyAgICByZXR1cm4geCAqIHggKiAoMyAtIDIg
KiB4KTsKK307CisKK2NvbnN0IGluVGltZVJhbmdlID0gKG5vdywgc3RhcnQsIGVuZCwgcGVyaW9k
KSA9PiB7CisgICAgbGV0IG9mZnNldCA9IG5vdyAlIHBlcmlvZDsKKyAgICByZXR1cm4gb2Zmc2V0
ID49IHN0YXJ0ICYmIG9mZnNldCA8PSBlbmQ7Cit9OworCitjb25zdCB0aW1lUmFuZ2VPZmZzZXQg
PSAobm93LCBzdGFydCwgZW5kLCBwZXJpb2QpID0+IHsKKyAgICBpZiAoIWluVGltZVJhbmdlKG5v
dywgc3RhcnQsIGVuZCwgcGVyaW9kKSkgeworICAgICAgICByZXR1cm4gMDsKKyAgICB9CisgICAg
bGV0IG9mZnNldCA9IG5vdyAlIHBlcmlvZDsKKyAgICByZXR1cm4gTWF0aC5taW4oMSwgTWF0aC5t
YXgoMCwgKG9mZnNldCAtIHN0YXJ0KSAvIChlbmQgLSBzdGFydCkpKTsKK307CisKK2NvbnN0IG1p
ZGRsZVBlYWtUaW1lUmFuZ2VPZmZzZXQgPSAobm93LCBzdGFydCwgZW5kLCBwZXJpb2QpID0+IHsK
KyAgICBsZXQgb2Zmc2V0ID0gdGltZVJhbmdlT2Zmc2V0KG5vdywgc3RhcnQsIGVuZCwgcGVyaW9k
KTsKKyAgICByZXR1cm4gMSAtIE1hdGguYWJzKDAuNSAtIG9mZnNldCkgKiAyOworfTsKKworY29u
c3Qga051bUFjdGl2ZVVuaWZvcm1CdWZmZXJzID0gMzsKK2NvbnN0IGtOdW1iZXJPZkJveGVzUGVy
QXhpcyA9IDY7Citjb25zdCBrTnVtYmVyT2ZCb3hlcyA9IGtOdW1iZXJPZkJveGVzUGVyQXhpcyAq
IGtOdW1iZXJPZkJveGVzUGVyQXhpczsKK2NvbnN0IGtCb3hCYXNlQW1iaWVudENvbG9yID0gWzAu
MiwgMC4yLCAwLjIsIDEuMF07Citjb25zdCBrRk9WWSA9IDQ1LjAgLyAxODAgKiBNYXRoLlBJOwor
Y29uc3Qga0V5ZSA9IHZlYzMuZnJvbVZhbHVlcygwLjAsIDIuNzUsIC0yKTsKK2NvbnN0IGtDZW50
ZXIgPSB2ZWMzLmZyb21WYWx1ZXMoMC4wLCAxLjUsIDEuMCk7Citjb25zdCBrVXAgPSB2ZWMzLmZy
b21WYWx1ZXMoMC4wLCAxLjAsIDAuMCk7Citjb25zdCBrRWRnZSA9IDEuNSAvIGtOdW1iZXJPZkJv
eGVzUGVyQXhpcyA7CisKK2NvbnN0IGtDdWJlVmVydGV4RGF0YSA9IG5ldyBGbG9hdDMyQXJyYXko
CitbCisgICAga0VkZ2UsIC1rRWRnZSwga0VkZ2UsIDAuMCwgLTEuMCwgMC4wLAorICAgIC1rRWRn
ZSwgLWtFZGdlLCBrRWRnZSwgMC4wLCAtMS4wLCAwLjAsCisgICAgLWtFZGdlLCAta0VkZ2UsIC1r
RWRnZSwgMC4wLCAtMS4wLCAwLjAsCisgICAga0VkZ2UsIC1rRWRnZSwgLWtFZGdlLCAwLjAsIC0x
LjAsIDAuMCwKKyAgICBrRWRnZSwgLWtFZGdlLCBrRWRnZSwgMC4wLCAtMS4wLCAwLjAsCisgICAg
LWtFZGdlLCAta0VkZ2UsIC1rRWRnZSwgMC4wLCAtMS4wLCAwLjAsCisKKyAgICBrRWRnZSwga0Vk
Z2UsIGtFZGdlLCAxLjAsIDAuMCwgMC4wLAorICAgIGtFZGdlLCAta0VkZ2UsIGtFZGdlLCAxLjAs
IDAuMCwgMC4wLAorICAgIGtFZGdlLCAta0VkZ2UsIC1rRWRnZSwgMS4wLCAwLjAsIDAuMCwKKyAg
ICBrRWRnZSwga0VkZ2UsIC1rRWRnZSwgMS4wLCAwLjAsIDAuMCwKKyAgICBrRWRnZSwga0VkZ2Us
IGtFZGdlLCAxLjAsIDAuMCwgMC4wLAorICAgIGtFZGdlLCAta0VkZ2UsIC1rRWRnZSwgMS4wLCAw
LjAsIDAuMCwKKworICAgIC1rRWRnZSwga0VkZ2UsIGtFZGdlLCAwLjAsIDEuMCwgMC4wLAorICAg
IGtFZGdlLCBrRWRnZSwga0VkZ2UsIDAuMCwgMS4wLCAwLjAsCisgICAga0VkZ2UsIGtFZGdlLCAt
a0VkZ2UsIDAuMCwgMS4wLCAwLjAsCisgICAgLWtFZGdlLCBrRWRnZSwgLWtFZGdlLCAwLjAsIDEu
MCwgMC4wLAorICAgIC1rRWRnZSwga0VkZ2UsIGtFZGdlLCAwLjAsIDEuMCwgMC4wLAorICAgIGtF
ZGdlLCBrRWRnZSwgLWtFZGdlLCAwLjAsIDEuMCwgMC4wLAorCisgICAgLWtFZGdlLCAta0VkZ2Us
IGtFZGdlLCAtMS4wLCAwLjAsIDAuMCwKKyAgICAta0VkZ2UsIGtFZGdlLCBrRWRnZSwgLTEuMCwg
MC4wLCAwLjAsCisgICAgLWtFZGdlLCBrRWRnZSwgLWtFZGdlLCAtMS4wLCAwLjAsIDAuMCwKKyAg
ICAta0VkZ2UsIC1rRWRnZSwgLWtFZGdlLCAtMS4wLCAwLjAsIDAuMCwKKyAgICAta0VkZ2UsIC1r
RWRnZSwga0VkZ2UsIC0xLjAsIDAuMCwgMC4wLAorICAgIC1rRWRnZSwga0VkZ2UsIC1rRWRnZSwg
LTEuMCwgMC4wLCAwLjAsCisKKyAgICBrRWRnZSwga0VkZ2UsIGtFZGdlLCAwLjAsIDAuMCwgMS4w
LAorICAgIC1rRWRnZSwga0VkZ2UsIGtFZGdlLCAwLjAsIDAuMCwgMS4wLAorICAgIC1rRWRnZSwg
LWtFZGdlLCBrRWRnZSwgMC4wLCAwLjAsIDEuMCwKKyAgICAta0VkZ2UsIC1rRWRnZSwga0VkZ2Us
IDAuMCwgMC4wLCAxLjAsCisgICAga0VkZ2UsIC1rRWRnZSwga0VkZ2UsIDAuMCwgMC4wLCAxLjAs
CisgICAga0VkZ2UsIGtFZGdlLCBrRWRnZSwgMC4wLCAwLjAsIDEuMCwKKworICAgIGtFZGdlLCAt
a0VkZ2UsIC1rRWRnZSwgMC4wLCAwLjAsIC0xLjAsCisgICAgLWtFZGdlLCAta0VkZ2UsIC1rRWRn
ZSwgMC4wLCAwLjAsIC0xLjAsCisgICAgLWtFZGdlLCBrRWRnZSwgLWtFZGdlLCAwLjAsIDAuMCwg
LTEuMCwKKyAgICBrRWRnZSwga0VkZ2UsIC1rRWRnZSwgMC4wLCAwLjAsIC0xLjAsCisgICAga0Vk
Z2UsIC1rRWRnZSwgLWtFZGdlLCAwLjAsIDAuMCwgLTEuMCwKKyAgICAta0VkZ2UsIGtFZGdlLCAt
a0VkZ2UsIDAuMCwgMC4wLCAtMS4wCitdKTsKKworbGV0IGdwdTsKK2xldCBjb21tYW5kUXVldWU7
CitsZXQgcmVuZGVyUGFzc0Rlc2NyaXB0b3I7CitsZXQgcmVuZGVyUGlwZWxpbmVTdGF0ZTsKK2xl
dCBkZXB0aFN0ZW5jaWxTdGF0ZTsKKworbGV0IHByb2plY3Rpb25NYXRyaXggPSBtYXQ0LmNyZWF0
ZSgpOworbGV0IHZpZXdNYXRyaXggPSBtYXQ0LmNyZWF0ZSgpOworCit2YXIgc3RhcnRUaW1lOwor
dmFyIGVsYXBzZWRUaW1lOworbGV0IGNhbWVyYVJvdGF0aW9uID0gMDsKK2xldCBjYW1lcmFBbHRp
dHVkZSA9IDA7CisKK2NvbnN0IHVuaWZvcm1CdWZmZXJzID0gbmV3IEFycmF5KGtOdW1BY3RpdmVV
bmlmb3JtQnVmZmVycyk7Cit2YXIgY3VycmVudFVuaWZvcm1CdWZmZXJJbmRleCA9IDA7CisKK3dp
bmRvdy5hZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgaW5pdCwgZmFsc2UpOworCitmdW5jdGlvbiBp
bml0KCkgeworCisgICAgaWYgKCFjaGVja0ZvcldlYk1ldGFsKCkpIHsKKyAgICAgICAgcmV0dXJu
OworICAgIH0KKworICAgIGxldCBjYW52YXMgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCJjYW52
YXMiKTsKKyAgICBsZXQgY2FudmFzU2l6ZSA9IGNhbnZhcy5nZXRCb3VuZGluZ0NsaWVudFJlY3Qo
KTsKKyAgICBjYW52YXMud2lkdGggPSBjYW52YXNTaXplLndpZHRoOworICAgIGNhbnZhcy5oZWln
aHQgPSBjYW52YXNTaXplLmhlaWdodDsKKworICAgIGxldCBhc3BlY3QgPSBNYXRoLmFicyhjYW52
YXNTaXplLndpZHRoIC8gY2FudmFzU2l6ZS5oZWlnaHQpOworICAgIG1hdDQucGVyc3BlY3RpdmUo
cHJvamVjdGlvbk1hdHJpeCwga0ZPVlksIGFzcGVjdCwgMC4xLCAxMDAuMCk7CisgICAgbWF0NC5s
b29rQXQodmlld01hdHJpeCwga0V5ZSwga0NlbnRlciwga1VwKTsKKworICAgIGdwdSA9IGNhbnZh
cy5nZXRDb250ZXh0KCJ3ZWJtZXRhbCIpOworICAgIGNvbW1hbmRRdWV1ZSA9IGdwdS5jcmVhdGVD
b21tYW5kUXVldWUoKTsKKworICAgIGxldCBsaWJyYXJ5ID0gZ3B1LmNyZWF0ZUxpYnJhcnkoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImxpYnJhcnkiKS50ZXh0KTsKKyAgICBsZXQgdmVydGV4RnVu
Y3Rpb24gPSBsaWJyYXJ5LmZ1bmN0aW9uV2l0aE5hbWUoInZlcnRleF9mdW5jdGlvbiIpOworICAg
IGxldCBmcmFnbWVudEZ1bmN0aW9uID0gbGlicmFyeS5mdW5jdGlvbldpdGhOYW1lKCJmcmFnbWVu
dF9mdW5jdGlvbiIpOworCisgICAgaWYgKCFsaWJyYXJ5IHx8ICFmcmFnbWVudEZ1bmN0aW9uIHx8
ICF2ZXJ0ZXhGdW5jdGlvbikgeworICAgICAgICByZXR1cm47CisgICAgfQorCisgICAgdmFyIHBp
cGVsaW5lRGVzY3JpcHRvciA9IG5ldyBXZWJNZXRhbFJlbmRlclBpcGVsaW5lRGVzY3JpcHRvcigp
OworICAgIHBpcGVsaW5lRGVzY3JpcHRvci52ZXJ0ZXhGdW5jdGlvbiA9IHZlcnRleEZ1bmN0aW9u
OworICAgIHBpcGVsaW5lRGVzY3JpcHRvci5mcmFnbWVudEZ1bmN0aW9uID0gZnJhZ21lbnRGdW5j
dGlvbjsKKyAgICAvLyBOT1RFOiBPdXIgQVBJIHByb3Bvc2FsIGhhcyB0aGVzZSB2YWx1ZXMgYXMg
ZW51bXMsIG5vdCBjb25zdGFudCBudW1iZXJzLgorICAgIC8vIFdlIGhhdmVuJ3QgZ290IGFyb3Vu
ZCB0byBpbXBsZW1lbnRpbmcgdGhlIGVudW1zIHlldC4KKyAgICBwaXBlbGluZURlc2NyaXB0b3Iu
Y29sb3JBdHRhY2htZW50c1swXS5waXhlbEZvcm1hdCA9IGdwdS5QaXhlbEZvcm1hdEJHUkE4VW5v
cm07CisgICAgcGlwZWxpbmVEZXNjcmlwdG9yLmRlcHRoQXR0YWNobWVudFBpeGVsRm9ybWF0ID0g
Z3B1LlBpeGVsRm9ybWF0RGVwdGgzMkZsb2F0OworCisgICAgcmVuZGVyUGlwZWxpbmVTdGF0ZSA9
IGdwdS5jcmVhdGVSZW5kZXJQaXBlbGluZVN0YXRlKHBpcGVsaW5lRGVzY3JpcHRvcik7CisKKyAg
ICBsZXQgZGVwdGhTdGVuY2lsRGVzY3JpcHRvciA9IG5ldyBXZWJNZXRhbERlcHRoU3RlbmNpbERl
c2NyaXB0b3IoKTsKKyAgICBkZXB0aFN0ZW5jaWxEZXNjcmlwdG9yLmRlcHRoV3JpdGVFbmFibGVk
ID0gdHJ1ZTsKKyAgICBkZXB0aFN0ZW5jaWxEZXNjcmlwdG9yLmRlcHRoQ29tcGFyZUZ1bmN0aW9u
ID0gImxlc3MiOworCisgICAgZGVwdGhTdGVuY2lsU3RhdGUgPSBncHUuY3JlYXRlRGVwdGhTdGVu
Y2lsU3RhdGUoZGVwdGhTdGVuY2lsRGVzY3JpcHRvcik7CisKKyAgICBmb3IgKGxldCBpID0gMDsg
aSA8IGtOdW1BY3RpdmVVbmlmb3JtQnVmZmVyczsgaSsrKSB7CisgICAgICAgIHVuaWZvcm1CdWZm
ZXJzW2ldID0gW107CisgICAgICAgIGZvciAobGV0IGogPSAwOyBqIDwga051bWJlck9mQm94ZXM7
IGorKykgeworICAgICAgICAgICAgbGV0IHVuaWZvcm0gPSBuZXcgVW5pZm9ybSgpOworICAgICAg
ICAgICAgdW5pZm9ybS5tdWx0aXBsaWVyID0gKGogJSAyKSA/IC0xIDogMTsKKyAgICAgICAgICAg
IHVuaWZvcm0uYW1iaWVudENvbG9yID0ga0JveEJhc2VBbWJpZW50Q29sb3I7CisgICAgICAgICAg
ICB1bmlmb3JtQnVmZmVyc1tpXS5wdXNoKGdwdS5jcmVhdGVCdWZmZXIodW5pZm9ybS5idWZmZXIp
KTsKKyAgICAgICAgfQorICAgIH0KKworICAgIGxldCBkZXB0aFRleHR1cmVEZXNjcmlwdG9yID0g
bmV3IFdlYk1ldGFsVGV4dHVyZURlc2NyaXB0b3IoZ3B1LlBpeGVsRm9ybWF0RGVwdGgzMkZsb2F0
LCBjYW52YXNTaXplLndpZHRoLCBjYW52YXNTaXplLmhlaWdodCwgZmFsc2UpOworICAgIC8vIE5P
VEU6IE91ciBBUEkgcHJvcG9zYWwgaGFzIHNvbWUgb2YgdGhlc2UgdmFsdWVzIGFzIGVudW1zLCBu
b3QgY29uc3RhbnQgbnVtYmVycy4KKyAgICAvLyBXZSBoYXZlbid0IGdvdCBhcm91bmQgdG8gaW1w
bGVtZW50aW5nIHRoZSBlbnVtcyB5ZXQuCisgICAgZGVwdGhUZXh0dXJlRGVzY3JpcHRvci50ZXh0
dXJlVHlwZSA9IGdwdS5UZXh0dXJlVHlwZTJEOworICAgIGRlcHRoVGV4dHVyZURlc2NyaXB0b3Iu
c2FtcGxlQ291bnQgPSAxOworICAgIGRlcHRoVGV4dHVyZURlc2NyaXB0b3IudXNhZ2UgPSBncHUu
VGV4dHVyZVVzYWdlVW5rbm93bjsKKyAgICBkZXB0aFRleHR1cmVEZXNjcmlwdG9yLnN0b3JhZ2VN
b2RlID0gZ3B1LlN0b3JhZ2VNb2RlUHJpdmF0ZTsKKworICAgIGxldCBkZXB0aFRleHR1cmUgPSBn
cHUuY3JlYXRlVGV4dHVyZShkZXB0aFRleHR1cmVEZXNjcmlwdG9yKTsKKworICAgIHJlbmRlclBh
c3NEZXNjcmlwdG9yID0gbmV3IFdlYk1ldGFsUmVuZGVyUGFzc0Rlc2NyaXB0b3IoKTsKKyAgICAv
LyBOT1RFOiBPdXIgQVBJIHByb3Bvc2FsIGhhcyBzb21lIG9mIHRoZXNlIHZhbHVlcyBhcyBlbnVt
cywgbm90IGNvbnN0YW50IG51bWJlcnMuCisgICAgLy8gV2UgaGF2ZW4ndCBnb3QgYXJvdW5kIHRv
IGltcGxlbWVudGluZyB0aGUgZW51bXMgeWV0LgorICAgIHJlbmRlclBhc3NEZXNjcmlwdG9yLmNv
bG9yQXR0YWNobWVudHNbMF0ubG9hZEFjdGlvbiA9IGdwdS5Mb2FkQWN0aW9uQ2xlYXI7CisgICAg
cmVuZGVyUGFzc0Rlc2NyaXB0b3IuY29sb3JBdHRhY2htZW50c1swXS5zdG9yZUFjdGlvbiA9IGdw
dS5TdG9yZUFjdGlvblN0b3JlOworICAgIHJlbmRlclBhc3NEZXNjcmlwdG9yLmNvbG9yQXR0YWNo
bWVudHNbMF0uY2xlYXJDb2xvciA9IFswLjM1LCAwLjY1LCAwLjg1LCAxLjBdOworICAgIHJlbmRl
clBhc3NEZXNjcmlwdG9yLmRlcHRoQXR0YWNobWVudC5sb2FkQWN0aW9uID0gZ3B1LkxvYWRBY3Rp
b25DbGVhcjsKKyAgICByZW5kZXJQYXNzRGVzY3JpcHRvci5kZXB0aEF0dGFjaG1lbnQuc3RvcmVB
Y3Rpb24gPSBncHUuU3RvcmVBY3Rpb25Eb250Q2FyZTsKKyAgICByZW5kZXJQYXNzRGVzY3JpcHRv
ci5kZXB0aEF0dGFjaG1lbnQuY2xlYXJEZXB0aCA9IDEuMDsKKyAgICByZW5kZXJQYXNzRGVzY3Jp
cHRvci5kZXB0aEF0dGFjaG1lbnQudGV4dHVyZSA9IGRlcHRoVGV4dHVyZTsKKworICAgIHZlcnRl
eEJ1ZmZlciA9IGdwdS5jcmVhdGVCdWZmZXIoa0N1YmVWZXJ0ZXhEYXRhKTsKKworICAgIHN0YXJ0
VGltZSA9IERhdGUubm93KCk7CisgICAgcmVuZGVyKCk7Cit9CisKK2Z1bmN0aW9uIHJlbmRlcigp
IHsKKworICAgIGVsYXBzZWRUaW1lID0gKERhdGUubm93KCkgLSBzdGFydFRpbWUpIC8gMTAwMDsK
KworICAgIGNhbWVyYVJvdGF0aW9uID0gTWF0aC5QSSAqIDIgKiAoMSAtIHRpbWVSYW5nZU9mZnNl
dChlbGFwc2VkVGltZSwgMCwgMTEsIDExKSk7CisgICAgY2FtZXJhQWx0aXR1ZGUgPSBNYXRoLnNp
bihlbGFwc2VkVGltZSAvIDYgKiBNYXRoLlBJKSArIDE7CisKKyAgICBsZXQgZXllID0gdmVjMy5j
cmVhdGUoKTsKKyAgICB2ZWMzLmFkZChleWUsIGtFeWUsIHZlYzMuZnJvbVZhbHVlcygwLCBjYW1l
cmFBbHRpdHVkZSwgMCkpOworICAgIG1hdDQubG9va0F0KHZpZXdNYXRyaXgsIGV5ZSwga0NlbnRl
ciwga1VwKTsKKworICAgIHVwZGF0ZVVuaWZvcm1EYXRhKGN1cnJlbnRVbmlmb3JtQnVmZmVySW5k
ZXgpOworCisgICAgbGV0IGNvbW1hbmRCdWZmZXIgPSBjb21tYW5kUXVldWUuY3JlYXRlQ29tbWFu
ZEJ1ZmZlcigpOworCisgICAgbGV0IGRyYXdhYmxlID0gZ3B1Lm5leHREcmF3YWJsZSgpOworCisg
ICAgcmVuZGVyUGFzc0Rlc2NyaXB0b3IuY29sb3JBdHRhY2htZW50c1swXS50ZXh0dXJlID0gZHJh
d2FibGUudGV4dHVyZTsKKworICAgIGxldCBjb21tYW5kRW5jb2RlciA9IGNvbW1hbmRCdWZmZXIu
Y3JlYXRlUmVuZGVyQ29tbWFuZEVuY29kZXJXaXRoRGVzY3JpcHRvcihyZW5kZXJQYXNzRGVzY3Jp
cHRvcik7CisgICAgY29tbWFuZEVuY29kZXIuc2V0RGVwdGhTdGVuY2lsU3RhdGUoZGVwdGhTdGVu
Y2lsU3RhdGUpOworICAgIGNvbW1hbmRFbmNvZGVyLnNldFJlbmRlclBpcGVsaW5lU3RhdGUocmVu
ZGVyUGlwZWxpbmVTdGF0ZSk7CisgICAgY29tbWFuZEVuY29kZXIuc2V0VmVydGV4QnVmZmVyKHZl
cnRleEJ1ZmZlciwgMCwgMCk7CisKKyAgICBmb3IgKGxldCBnZW9tZXRyeUJ1ZmZlciBvZiB1bmlm
b3JtQnVmZmVyc1tjdXJyZW50VW5pZm9ybUJ1ZmZlckluZGV4XSkgeworICAgICAgICBjb21tYW5k
RW5jb2Rlci5zZXRWZXJ0ZXhCdWZmZXIoZ2VvbWV0cnlCdWZmZXIsIDAsIDEpOworICAgICAgICAv
LyBOT1RFOiBPdXIgQVBJIHByb3Bvc2FsIHVzZXMgdGhlIGVudW0gdmFsdWUgInRyaWFuZ2xlIiBo
ZXJlLiBXZSBoYXZlbid0IGdvdCBhcm91bmQgdG8gaW1wbGVtZW50aW5nIHRoZSBlbnVtcyB5ZXQu
CisgICAgICAgIGNvbW1hbmRFbmNvZGVyLmRyYXdQcmltaXRpdmVzKGdwdS5QcmltaXRpdmVUeXBl
VHJpYW5nbGUsIDAsIGtDdWJlVmVydGV4RGF0YS5sZW5ndGgpOworICAgIH0KKworICAgIGNvbW1h
bmRFbmNvZGVyLmVuZEVuY29kaW5nKCk7CisgICAgY29tbWFuZEJ1ZmZlci5wcmVzZW50RHJhd2Fi
bGUoZHJhd2FibGUpOworICAgIGNvbW1hbmRCdWZmZXIuY29tbWl0KCk7CisKKyAgICBjdXJyZW50
VW5pZm9ybUJ1ZmZlckluZGV4ID0gKGN1cnJlbnRVbmlmb3JtQnVmZmVySW5kZXggKyAxKSAlIGtO
dW1BY3RpdmVVbmlmb3JtQnVmZmVyczsKKyAgICByZXF1ZXN0QW5pbWF0aW9uRnJhbWUocmVuZGVy
KTsKK30KKworZnVuY3Rpb24gdXBkYXRlVW5pZm9ybURhdGEoaW5kZXgpIHsKKworICAgIGxldCBi
YXNlTW9kZWxWaWV3TWF0cml4ID0gbWF0NC5jcmVhdGUoKTsKKyAgICBtYXQ0LnRyYW5zbGF0ZShi
YXNlTW9kZWxWaWV3TWF0cml4LCBiYXNlTW9kZWxWaWV3TWF0cml4LCB2ZWMzLmZyb21WYWx1ZXMo
MCwgLTEgKiBjYW1lcmFBbHRpdHVkZSwgNSkpOworICAgIG1hdDQucm90YXRlKGJhc2VNb2RlbFZp
ZXdNYXRyaXgsIGJhc2VNb2RlbFZpZXdNYXRyaXgsIGNhbWVyYVJvdGF0aW9uLCB2ZWMzLmZyb21W
YWx1ZXMoMCwgMSwgMCkpOworCisgICAgbWF0NC5tdWx0aXBseShiYXNlTW9kZWxWaWV3TWF0cml4
LCB2aWV3TWF0cml4LCBiYXNlTW9kZWxWaWV3TWF0cml4KTsKKworICAgIGZvciAobGV0IGkgPSAw
OyBpIDwga051bWJlck9mQm94ZXNQZXJBeGlzOyBpKyspIHsKKyAgICAgICAgZm9yIChsZXQgaiA9
IDA7IGogPCBrTnVtYmVyT2ZCb3hlc1BlckF4aXM7IGorKykgeworCisgICAgICAgICAgICBsZXQg
Ym94SW5kZXggPSBpICoga051bWJlck9mQm94ZXNQZXJBeGlzICsgajsKKworICAgICAgICAgICAg
bGV0IG1vZGVsVmlld01hdHJpeCA9IG1hdDQuY3JlYXRlKCk7CisKKyAgICAgICAgICAgIC8vIFBv
c2l0aW9uIHRoZSBjdWJlIGluIFgsWS4KKyAgICAgICAgICAgIGxldCB0cmFuc2xhdGlvbk1hdHJp
eCA9IG1hdDQuY3JlYXRlKCk7CisgICAgICAgICAgICBpZiAoa051bWJlck9mQm94ZXNQZXJBeGlz
ID4gMSkgeworICAgICAgICAgICAgICAgIGxldCBzdGVwID0gNCAvIChrTnVtYmVyT2ZCb3hlc1Bl
ckF4aXMgLSAxKTsKKyAgICAgICAgICAgICAgICBtYXQ0LnRyYW5zbGF0ZSh0cmFuc2xhdGlvbk1h
dHJpeCwgdHJhbnNsYXRpb25NYXRyaXgsIHZlYzMuZnJvbVZhbHVlcyhqICogc3RlcCAtIDIsIDAs
IGkgKiBzdGVwIC0gMikpOworICAgICAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAgICAgICBt
YXQ0LnRyYW5zbGF0ZSh0cmFuc2xhdGlvbk1hdHJpeCwgdHJhbnNsYXRpb25NYXRyaXgsIHZlYzMu
ZnJvbVZhbHVlcygwLCAwLCAwKSk7CisgICAgICAgICAgICB9CisKKyAgICAgICAgICAgIGxldCB0
cmFuc2xhdGVFbGFwc2VkT2Zmc2V0ID0gZWxhcHNlZFRpbWUgKyBib3hJbmRleCAqIDAuNjsKKyAg
ICAgICAgICAgIGlmIChpblRpbWVSYW5nZSh0cmFuc2xhdGVFbGFwc2VkT2Zmc2V0LCAxMCwgMTIs
IDIzKSkgeworICAgICAgICAgICAgICAgIGxldCB0cmFuc2xhdGUgPSBzbW9vdGhzdGVwKDAsIDEs
IG1pZGRsZVBlYWtUaW1lUmFuZ2VPZmZzZXQodHJhbnNsYXRlRWxhcHNlZE9mZnNldCwgMTAsIDEy
LCAyMykpICogMC40OworICAgICAgICAgICAgICAgIG1hdDQudHJhbnNsYXRlKHRyYW5zbGF0aW9u
TWF0cml4LCB0cmFuc2xhdGlvbk1hdHJpeCwgdmVjMy5mcm9tVmFsdWVzKDAsIHRyYW5zbGF0ZSwg
MCkpOworICAgICAgICAgICAgfQorCisgICAgICAgICAgICBsZXQgc2NhbGVNYXRyaXggPSBtYXQ0
LmNyZWF0ZSgpOworICAgICAgICAgICAgbGV0IHNjYWxlRWxhcHNlZE9mZnNldCA9IGVsYXBzZWRU
aW1lICsgYm94SW5kZXggKiAwLjE7CisgICAgICAgICAgICBpZiAoaW5UaW1lUmFuZ2Uoc2NhbGVF
bGFwc2VkT2Zmc2V0LCAyLCA2LCAxOSkpIHsKKyAgICAgICAgICAgICAgICBsZXQgc2NhbGUgPSBz
bW9vdGhzdGVwKDAsIDEsIG1pZGRsZVBlYWtUaW1lUmFuZ2VPZmZzZXQoc2NhbGVFbGFwc2VkT2Zm
c2V0LCAyLCA2LCAxOSkpICogMC41ICsgMTsKKyAgICAgICAgICAgICAgICBtYXQ0LnNjYWxlKHNj
YWxlTWF0cml4LCBzY2FsZU1hdHJpeCwgdmVjMy5mcm9tVmFsdWVzKHNjYWxlLCBzY2FsZSwgc2Nh
bGUpKTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgICAgIG1hdDQubXVsdGlwbHkobW9kZWxWaWV3
TWF0cml4LCB0cmFuc2xhdGlvbk1hdHJpeCwgc2NhbGVNYXRyaXgpOworCisgICAgICAgICAgICAv
LyBSb3RhdGUgdGhlIGN1YmUuCisgICAgICAgICAgICBsZXQgcm90YXRpb25NYXRyaXggPSBtYXQ0
LmNyZWF0ZSgpOworICAgICAgICAgICAgbGV0IHJvdGF0aW9uRWxhcHNlZE9mZnNldCA9IGVsYXBz
ZWRUaW1lICsgKGtOdW1iZXJPZkJveGVzIC0gYm94SW5kZXgpICogMC4xOworICAgICAgICAgICAg
aWYgKGluVGltZVJhbmdlKHJvdGF0aW9uRWxhcHNlZE9mZnNldCwgMywgNywgMTEpKSB7CisgICAg
ICAgICAgICAgICAgdmFyIHJvdGF0aW9uID0gc21vb3Roc3RlcCgwLCAxLCB0aW1lUmFuZ2VPZmZz
ZXQocm90YXRpb25FbGFwc2VkT2Zmc2V0LCAzLCA3LCAxMSkpICogTWF0aC5QSSAqIDI7CisgICAg
ICAgICAgICAgICAgbWF0NC5yb3RhdGUocm90YXRpb25NYXRyaXgsIHJvdGF0aW9uTWF0cml4LCBy
b3RhdGlvbiwgdmVjMy5mcm9tVmFsdWVzKDAuNSwgMSwgMSkpOworICAgICAgICAgICAgfQorICAg
ICAgICAgICAgbWF0NC5tdWx0aXBseShtb2RlbFZpZXdNYXRyaXgsIG1vZGVsVmlld01hdHJpeCwg
cm90YXRpb25NYXRyaXgpOworCisgICAgICAgICAgICBtYXQ0Lm11bHRpcGx5KG1vZGVsVmlld01h
dHJpeCwgYmFzZU1vZGVsVmlld01hdHJpeCwgbW9kZWxWaWV3TWF0cml4KTsKKworICAgICAgICAg
ICAgbGV0IG5vcm1hbE1hdHJpeCA9IG1hdDQuY2xvbmUobW9kZWxWaWV3TWF0cml4KTsKKyAgICAg
ICAgICAgIG1hdDQudHJhbnNwb3NlKG5vcm1hbE1hdHJpeCwgbm9ybWFsTWF0cml4KTsKKyAgICAg
ICAgICAgIG1hdDQuaW52ZXJ0KG5vcm1hbE1hdHJpeCwgbm9ybWFsTWF0cml4KTsKKworICAgICAg
ICAgICAgbGV0IHVuaWZvcm0gPSBuZXcgVW5pZm9ybShuZXcgRmxvYXQzMkFycmF5KHVuaWZvcm1C
dWZmZXJzW2luZGV4XVtpICoga051bWJlck9mQm94ZXNQZXJBeGlzICsgal0uY29udGVudHMpKTsK
KworICAgICAgICAgICAgdW5pZm9ybS5ub3JtYWwgPSBub3JtYWxNYXRyaXg7CisKKyAgICAgICAg
ICAgIGxldCBtb2RlbFZpZXdQcm9qZWN0aW9uTWF0cml4ID0gbWF0NC5jcmVhdGUoKTsKKyAgICAg
ICAgICAgIG1hdDQubXVsdGlwbHkobW9kZWxWaWV3UHJvamVjdGlvbk1hdHJpeCwgcHJvamVjdGlv
bk1hdHJpeCwgbW9kZWxWaWV3TWF0cml4KTsKKworICAgICAgICAgICAgdW5pZm9ybS5tdnAgPSBt
b2RlbFZpZXdQcm9qZWN0aW9uTWF0cml4OworCisgICAgICAgICAgICBsZXQgY29sb3JFbGFwc2Vk
T2Zmc2V0ID0gZWxhcHNlZFRpbWUgKyBib3hJbmRleCAqIDAuMTU7CisgICAgICAgICAgICBpZiAo
aW5UaW1lUmFuZ2UoY29sb3JFbGFwc2VkT2Zmc2V0LCAyLCAzLCAxMCkpIHsKKyAgICAgICAgICAg
ICAgICBsZXQgcmVkQm9vc3QgPSBtaWRkbGVQZWFrVGltZVJhbmdlT2Zmc2V0KGNvbG9yRWxhcHNl
ZE9mZnNldCwgMiwgMywgMTApICogMC41OworICAgICAgICAgICAgICAgIHVuaWZvcm0uYW1iaWVu
dENvbG9yWzBdID0gTWF0aC5taW4oMS4wLCBNYXRoLm1heCgwLCBrQm94QmFzZUFtYmllbnRDb2xv
clswXSArIHJlZEJvb3N0KSk7CisgICAgICAgICAgICB9IGVsc2UgeworICAgICAgICAgICAgICAg
IHVuaWZvcm0uYW1iaWVudENvbG9yWzBdID0ga0JveEJhc2VBbWJpZW50Q29sb3JbMF07CisgICAg
ICAgICAgICB9CisgICAgICAgICAgICBjb2xvckVsYXBzZWRPZmZzZXQgPSBlbGFwc2VkVGltZSAr
IChrTnVtYmVyT2ZCb3hlcyAtIGJveEluZGV4KSAqIDAuMTsKKyAgICAgICAgICAgIGlmIChpblRp
bWVSYW5nZShjb2xvckVsYXBzZWRPZmZzZXQsIDcsIDExLCAyMSkpIHsKKyAgICAgICAgICAgICAg
ICBsZXQgZ3JlZW5Cb29zdCA9IG1pZGRsZVBlYWtUaW1lUmFuZ2VPZmZzZXQoY29sb3JFbGFwc2Vk
T2Zmc2V0LCA3LCAxMSwgMjEpICogMC4zOworICAgICAgICAgICAgICAgIHVuaWZvcm0uYW1iaWVu
dENvbG9yWzFdID0gTWF0aC5taW4oMS4wLCBNYXRoLm1heCgwLCBrQm94QmFzZUFtYmllbnRDb2xv
clsxXSArIGdyZWVuQm9vc3QpKTsKKyAgICAgICAgICAgIH0gZWxzZSB7CisgICAgICAgICAgICAg
ICAgdW5pZm9ybS5hbWJpZW50Q29sb3JbMV0gPSBrQm94QmFzZUFtYmllbnRDb2xvclsxXTsKKyAg
ICAgICAgICAgIH0KKyAgICAgICAgfQorICAgIH0KK30KZGlmZiAtLWdpdCBhL1dlYnNpdGVzL3dl
YmtpdC5vcmcvZGVtb3Mvd2VibWV0YWwvZ2wtbWF0cml4LW1pbi5qcyBiL1dlYnNpdGVzL3dlYmtp
dC5vcmcvZGVtb3Mvd2VibWV0YWwvZ2wtbWF0cml4LW1pbi5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xYzU2ZDZj
Y2E3ZmZlN2M0OWY3Y2ZjZjBlOTdiNWRjODM3N2E2NmI3Ci0tLSAvZGV2L251bGwKKysrIGIvV2Vi
c2l0ZXMvd2Via2l0Lm9yZy9kZW1vcy93ZWJtZXRhbC9nbC1tYXRyaXgtbWluLmpzCkBAIC0wLDAg
KzEsMjggQEAKKy8qKgorICogQGZpbGVvdmVydmlldyBnbC1tYXRyaXggLSBIaWdoIHBlcmZvcm1h
bmNlIG1hdHJpeCBhbmQgdmVjdG9yIG9wZXJhdGlvbnMKKyAqIEBhdXRob3IgQnJhbmRvbiBKb25l
cworICogQGF1dGhvciBDb2xpbiBNYWNLZW56aWUgSVYKKyAqIEB2ZXJzaW9uIDIuNC4wCisgKi8K
KworLyogQ29weXJpZ2h0IChjKSAyMDE1LCBCcmFuZG9uIEpvbmVzLCBDb2xpbiBNYWNLZW56aWUg
SVYuCisKK1Blcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBh
bnkgcGVyc29uIG9idGFpbmluZyBhIGNvcHkKK29mIHRoaXMgc29mdHdhcmUgYW5kIGFzc29jaWF0
ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlICJTb2Z0d2FyZSIpLCB0byBkZWFsCitpbiB0aGUg
U29mdHdhcmUgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nIHdpdGhvdXQgbGltaXRhdGlv
biB0aGUgcmlnaHRzCit0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsIGRpc3Ry
aWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9vciBzZWxsCitjb3BpZXMgb2YgdGhlIFNvZnR3YXJlLCBh
bmQgdG8gcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUgU29mdHdhcmUgaXMKK2Z1cm5pc2hlZCB0
byBkbyBzbywgc3ViamVjdCB0byB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6CisKK1RoZSBhYm92
ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIHNoYWxsIGJlIGlu
Y2x1ZGVkIGluCithbGwgY29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZSBTb2Z0
d2FyZS4KKworVEhFIFNPRlRXQVJFIElTIFBST1ZJREVEICJBUyBJUyIsIFdJVEhPVVQgV0FSUkFO
VFkgT0YgQU5ZIEtJTkQsIEVYUFJFU1MgT1IKK0lNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJ
TUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZLAorRklUTkVTUyBGT1Ig
QSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4gSU4gTk8gRVZFTlQgU0hB
TEwgVEhFCitBVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xERVJTIEJFIExJQUJMRSBGT1IgQU5ZIENM
QUlNLCBEQU1BR0VTIE9SIE9USEVSCitMSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9G
IENPTlRSQUNULCBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLAorT1VUIE9GIE9SIElO
IENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5H
UyBJTgorVEhFIFNPRlRXQVJFLiAqLworCishZnVuY3Rpb24odCxuKXtpZigib2JqZWN0Ij09dHlw
ZW9mIGV4cG9ydHMmJiJvYmplY3QiPT10eXBlb2YgbW9kdWxlKW1vZHVsZS5leHBvcnRzPW4oKTtl
bHNlIGlmKCJmdW5jdGlvbiI9PXR5cGVvZiBkZWZpbmUmJmRlZmluZS5hbWQpZGVmaW5lKFtdLG4p
O2Vsc2V7dmFyIHI9bigpO2Zvcih2YXIgYSBpbiByKSgib2JqZWN0Ij09dHlwZW9mIGV4cG9ydHM/
ZXhwb3J0czp0KVthXT1yW2FdfX0odGhpcyxmdW5jdGlvbigpe3JldHVybiBmdW5jdGlvbih0KXtm
dW5jdGlvbiBuKGEpe2lmKHJbYV0pcmV0dXJuIHJbYV0uZXhwb3J0czt2YXIgZT1yW2FdPXtpOmEs
bDohMSxleHBvcnRzOnt9fTtyZXR1cm4gdFthXS5jYWxsKGUuZXhwb3J0cyxlLGUuZXhwb3J0cyxu
KSxlLmw9ITAsZS5leHBvcnRzfXZhciByPXt9O3JldHVybiBuLm09dCxuLmM9cixuLmQ9ZnVuY3Rp
b24odCxyLGEpe24ubyh0LHIpfHxPYmplY3QuZGVmaW5lUHJvcGVydHkodCxyLHtjb25maWd1cmFi
bGU6ITEsZW51bWVyYWJsZTohMCxnZXQ6YX0pfSxuLm49ZnVuY3Rpb24odCl7dmFyIHI9dCYmdC5f
X2VzTW9kdWxlP2Z1bmN0aW9uKCl7cmV0dXJuIHQuZGVmYXVsdH06ZnVuY3Rpb24oKXtyZXR1cm4g
dH07cmV0dXJuIG4uZChyLCJhIixyKSxyfSxuLm89ZnVuY3Rpb24odCxuKXtyZXR1cm4gT2JqZWN0
LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKHQsbil9LG4ucD0iIixuKG4ucz00KX0oW2Z1
bmN0aW9uKHQsbixyKXsidXNlIHN0cmljdCI7ZnVuY3Rpb24gYSh0KXtuLkFSUkFZX1RZUEU9aT10
fWZ1bmN0aW9uIGUodCl7cmV0dXJuIHQqc31mdW5jdGlvbiB1KHQsbil7cmV0dXJuIE1hdGguYWJz
KHQtbik8PW8qTWF0aC5tYXgoMSxNYXRoLmFicyh0KSxNYXRoLmFicyhuKSl9T2JqZWN0LmRlZmlu
ZVByb3BlcnR5KG4sIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLG4uc2V0TWF0cml4QXJyYXlUeXBl
PWEsbi50b1JhZGlhbj1lLG4uZXF1YWxzPXU7dmFyIG89bi5FUFNJTE9OPTFlLTYsaT1uLkFSUkFZ
X1RZUEU9InVuZGVmaW5lZCIhPXR5cGVvZiBGbG9hdDMyQXJyYXk/RmxvYXQzMkFycmF5OkFycmF5
LHM9KG4uUkFORE9NPU1hdGgucmFuZG9tLE1hdGguUEkvMTgwKX0sZnVuY3Rpb24odCxuLHIpeyJ1
c2Ugc3RyaWN0IjtmdW5jdGlvbiBhKCl7dmFyIHQ9bmV3IGcuQVJSQVlfVFlQRSg5KTtyZXR1cm4g
dFswXT0xLHRbMV09MCx0WzJdPTAsdFszXT0wLHRbNF09MSx0WzVdPTAsdFs2XT0wLHRbN109MCx0
WzhdPTEsdH1mdW5jdGlvbiBlKHQsbil7cmV0dXJuIHRbMF09blswXSx0WzFdPW5bMV0sdFsyXT1u
WzJdLHRbM109bls0XSx0WzRdPW5bNV0sdFs1XT1uWzZdLHRbNl09bls4XSx0WzddPW5bOV0sdFs4
XT1uWzEwXSx0fWZ1bmN0aW9uIHUodCl7dmFyIG49bmV3IGcuQVJSQVlfVFlQRSg5KTtyZXR1cm4g
blswXT10WzBdLG5bMV09dFsxXSxuWzJdPXRbMl0sblszXT10WzNdLG5bNF09dFs0XSxuWzVdPXRb
NV0sbls2XT10WzZdLG5bN109dFs3XSxuWzhdPXRbOF0sbn1mdW5jdGlvbiBvKHQsbil7cmV0dXJu
IHRbMF09blswXSx0WzFdPW5bMV0sdFsyXT1uWzJdLHRbM109blszXSx0WzRdPW5bNF0sdFs1XT1u
WzVdLHRbNl09bls2XSx0WzddPW5bN10sdFs4XT1uWzhdLHR9ZnVuY3Rpb24gaSh0LG4scixhLGUs
dSxvLGkscyl7dmFyIGM9bmV3IGcuQVJSQVlfVFlQRSg5KTtyZXR1cm4gY1swXT10LGNbMV09bixj
WzJdPXIsY1szXT1hLGNbNF09ZSxjWzVdPXUsY1s2XT1vLGNbN109aSxjWzhdPXMsY31mdW5jdGlv
biBzKHQsbixyLGEsZSx1LG8saSxzLGMpe3JldHVybiB0WzBdPW4sdFsxXT1yLHRbMl09YSx0WzNd
PWUsdFs0XT11LHRbNV09byx0WzZdPWksdFs3XT1zLHRbOF09Yyx0fWZ1bmN0aW9uIGModCl7cmV0
dXJuIHRbMF09MSx0WzFdPTAsdFsyXT0wLHRbM109MCx0WzRdPTEsdFs1XT0wLHRbNl09MCx0Wzdd
PTAsdFs4XT0xLHR9ZnVuY3Rpb24gZih0LG4pe2lmKHQ9PT1uKXt2YXIgcj1uWzFdLGE9blsyXSxl
PW5bNV07dFsxXT1uWzNdLHRbMl09bls2XSx0WzNdPXIsdFs1XT1uWzddLHRbNl09YSx0WzddPWV9
ZWxzZSB0WzBdPW5bMF0sdFsxXT1uWzNdLHRbMl09bls2XSx0WzNdPW5bMV0sdFs0XT1uWzRdLHRb
NV09bls3XSx0WzZdPW5bMl0sdFs3XT1uWzVdLHRbOF09bls4XTtyZXR1cm4gdH1mdW5jdGlvbiBN
KHQsbil7dmFyIHI9blswXSxhPW5bMV0sZT1uWzJdLHU9blszXSxvPW5bNF0saT1uWzVdLHM9bls2
XSxjPW5bN10sZj1uWzhdLE09ZipvLWkqYyxoPS1mKnUraSpzLGw9Yyp1LW8qcyx2PXIqTSthKmgr
ZSpsO3JldHVybiB2Pyh2PTEvdix0WzBdPU0qdix0WzFdPSgtZiphK2UqYykqdix0WzJdPShpKmEt
ZSpvKSp2LHRbM109aCp2LHRbNF09KGYqci1lKnMpKnYsdFs1XT0oLWkqcitlKnUpKnYsdFs2XT1s
KnYsdFs3XT0oLWMqcithKnMpKnYsdFs4XT0obypyLWEqdSkqdix0KTpudWxsfWZ1bmN0aW9uIGgo
dCxuKXt2YXIgcj1uWzBdLGE9blsxXSxlPW5bMl0sdT1uWzNdLG89bls0XSxpPW5bNV0scz1uWzZd
LGM9bls3XSxmPW5bOF07cmV0dXJuIHRbMF09bypmLWkqYyx0WzFdPWUqYy1hKmYsdFsyXT1hKmkt
ZSpvLHRbM109aSpzLXUqZix0WzRdPXIqZi1lKnMsdFs1XT1lKnUtcippLHRbNl09dSpjLW8qcyx0
WzddPWEqcy1yKmMsdFs4XT1yKm8tYSp1LHR9ZnVuY3Rpb24gbCh0KXt2YXIgbj10WzBdLHI9dFsx
XSxhPXRbMl0sZT10WzNdLHU9dFs0XSxvPXRbNV0saT10WzZdLHM9dFs3XSxjPXRbOF07cmV0dXJu
IG4qKGMqdS1vKnMpK3IqKC1jKmUrbyppKSthKihzKmUtdSppKX1mdW5jdGlvbiB2KHQsbixyKXt2
YXIgYT1uWzBdLGU9blsxXSx1PW5bMl0sbz1uWzNdLGk9bls0XSxzPW5bNV0sYz1uWzZdLGY9bls3
XSxNPW5bOF0saD1yWzBdLGw9clsxXSx2PXJbMl0sZD1yWzNdLGI9cls0XSxtPXJbNV0scD1yWzZd
LFA9cls3XSxFPXJbOF07cmV0dXJuIHRbMF09aCphK2wqbyt2KmMsdFsxXT1oKmUrbCppK3YqZix0
WzJdPWgqdStsKnMrdipNLHRbM109ZCphK2IqbyttKmMsdFs0XT1kKmUrYippK20qZix0WzVdPWQq
dStiKnMrbSpNLHRbNl09cCphK1AqbytFKmMsdFs3XT1wKmUrUCppK0UqZix0WzhdPXAqdStQKnMr
RSpNLHR9ZnVuY3Rpb24gZCh0LG4scil7dmFyIGE9blswXSxlPW5bMV0sdT1uWzJdLG89blszXSxp
PW5bNF0scz1uWzVdLGM9bls2XSxmPW5bN10sTT1uWzhdLGg9clswXSxsPXJbMV07cmV0dXJuIHRb
MF09YSx0WzFdPWUsdFsyXT11LHRbM109byx0WzRdPWksdFs1XT1zLHRbNl09aCphK2wqbytjLHRb
N109aCplK2wqaStmLHRbOF09aCp1K2wqcytNLHR9ZnVuY3Rpb24gYih0LG4scil7dmFyIGE9blsw
XSxlPW5bMV0sdT1uWzJdLG89blszXSxpPW5bNF0scz1uWzVdLGM9bls2XSxmPW5bN10sTT1uWzhd
LGg9TWF0aC5zaW4ociksbD1NYXRoLmNvcyhyKTtyZXR1cm4gdFswXT1sKmEraCpvLHRbMV09bCpl
K2gqaSx0WzJdPWwqdStoKnMsdFszXT1sKm8taCphLHRbNF09bCppLWgqZSx0WzVdPWwqcy1oKnUs
dFs2XT1jLHRbN109Zix0WzhdPU0sdH1mdW5jdGlvbiBtKHQsbixyKXt2YXIgYT1yWzBdLGU9clsx
XTtyZXR1cm4gdFswXT1hKm5bMF0sdFsxXT1hKm5bMV0sdFsyXT1hKm5bMl0sdFszXT1lKm5bM10s
dFs0XT1lKm5bNF0sdFs1XT1lKm5bNV0sdFs2XT1uWzZdLHRbN109bls3XSx0WzhdPW5bOF0sdH1m
dW5jdGlvbiBwKHQsbil7cmV0dXJuIHRbMF09MSx0WzFdPTAsdFsyXT0wLHRbM109MCx0WzRdPTEs
dFs1XT0wLHRbNl09blswXSx0WzddPW5bMV0sdFs4XT0xLHR9ZnVuY3Rpb24gUCh0LG4pe3ZhciBy
PU1hdGguc2luKG4pLGE9TWF0aC5jb3Mobik7cmV0dXJuIHRbMF09YSx0WzFdPXIsdFsyXT0wLHRb
M109LXIsdFs0XT1hLHRbNV09MCx0WzZdPTAsdFs3XT0wLHRbOF09MSx0fWZ1bmN0aW9uIEUodCxu
KXtyZXR1cm4gdFswXT1uWzBdLHRbMV09MCx0WzJdPTAsdFszXT0wLHRbNF09blsxXSx0WzVdPTAs
dFs2XT0wLHRbN109MCx0WzhdPTEsdH1mdW5jdGlvbiBPKHQsbil7cmV0dXJuIHRbMF09blswXSx0
WzFdPW5bMV0sdFsyXT0wLHRbM109blsyXSx0WzRdPW5bM10sdFs1XT0wLHRbNl09bls0XSx0Wzdd
PW5bNV0sdFs4XT0xLHR9ZnVuY3Rpb24geCh0LG4pe3ZhciByPW5bMF0sYT1uWzFdLGU9blsyXSx1
PW5bM10sbz1yK3IsaT1hK2Escz1lK2UsYz1yKm8sZj1hKm8sTT1hKmksaD1lKm8sbD1lKmksdj1l
KnMsZD11Km8sYj11KmksbT11KnM7cmV0dXJuIHRbMF09MS1NLXYsdFszXT1mLW0sdFs2XT1oK2Is
dFsxXT1mK20sdFs0XT0xLWMtdix0WzddPWwtZCx0WzJdPWgtYix0WzVdPWwrZCx0WzhdPTEtYy1N
LHR9ZnVuY3Rpb24gQSh0LG4pe3ZhciByPW5bMF0sYT1uWzFdLGU9blsyXSx1PW5bM10sbz1uWzRd
LGk9bls1XSxzPW5bNl0sYz1uWzddLGY9bls4XSxNPW5bOV0saD1uWzEwXSxsPW5bMTFdLHY9blsx
Ml0sZD1uWzEzXSxiPW5bMTRdLG09blsxNV0scD1yKmktYSpvLFA9cipzLWUqbyxFPXIqYy11Km8s
Tz1hKnMtZSppLHg9YSpjLXUqaSxBPWUqYy11KnMscT1mKmQtTSp2LHk9ZipiLWgqdix3PWYqbS1s
KnYsUj1NKmItaCpkLEw9TSptLWwqZCxTPWgqbS1sKmIsXz1wKlMtUCpMK0UqUitPKncteCp5K0Eq
cTtyZXR1cm4gXz8oXz0xL18sdFswXT0oaSpTLXMqTCtjKlIpKl8sdFsxXT0ocyp3LW8qUy1jKnkp
Kl8sdFsyXT0obypMLWkqdytjKnEpKl8sdFszXT0oZSpMLWEqUy11KlIpKl8sdFs0XT0ocipTLWUq
dyt1KnkpKl8sdFs1XT0oYSp3LXIqTC11KnEpKl8sdFs2XT0oZCpBLWIqeCttKk8pKl8sdFs3XT0o
YipFLXYqQS1tKlApKl8sdFs4XT0odip4LWQqRSttKnApKl8sdCk6bnVsbH1mdW5jdGlvbiBxKHQs
bixyKXtyZXR1cm4gdFswXT0yL24sdFsxXT0wLHRbMl09MCx0WzNdPTAsdFs0XT0tMi9yLHRbNV09
MCx0WzZdPS0xLHRbN109MSx0WzhdPTEsdH1mdW5jdGlvbiB5KHQpe3JldHVybiJtYXQzKCIrdFsw
XSsiLCAiK3RbMV0rIiwgIit0WzJdKyIsICIrdFszXSsiLCAiK3RbNF0rIiwgIit0WzVdKyIsICIr
dFs2XSsiLCAiK3RbN10rIiwgIit0WzhdKyIpIn1mdW5jdGlvbiB3KHQpe3JldHVybiBNYXRoLnNx
cnQoTWF0aC5wb3codFswXSwyKStNYXRoLnBvdyh0WzFdLDIpK01hdGgucG93KHRbMl0sMikrTWF0
aC5wb3codFszXSwyKStNYXRoLnBvdyh0WzRdLDIpK01hdGgucG93KHRbNV0sMikrTWF0aC5wb3co
dFs2XSwyKStNYXRoLnBvdyh0WzddLDIpK01hdGgucG93KHRbOF0sMikpfWZ1bmN0aW9uIFIodCxu
LHIpe3JldHVybiB0WzBdPW5bMF0rclswXSx0WzFdPW5bMV0rclsxXSx0WzJdPW5bMl0rclsyXSx0
WzNdPW5bM10rclszXSx0WzRdPW5bNF0rcls0XSx0WzVdPW5bNV0rcls1XSx0WzZdPW5bNl0rcls2
XSx0WzddPW5bN10rcls3XSx0WzhdPW5bOF0rcls4XSx0fWZ1bmN0aW9uIEwodCxuLHIpe3JldHVy
biB0WzBdPW5bMF0tclswXSx0WzFdPW5bMV0tclsxXSx0WzJdPW5bMl0tclsyXSx0WzNdPW5bM10t
clszXSx0WzRdPW5bNF0tcls0XSx0WzVdPW5bNV0tcls1XSx0WzZdPW5bNl0tcls2XSx0WzddPW5b
N10tcls3XSx0WzhdPW5bOF0tcls4XSx0fWZ1bmN0aW9uIFModCxuLHIpe3JldHVybiB0WzBdPW5b
MF0qcix0WzFdPW5bMV0qcix0WzJdPW5bMl0qcix0WzNdPW5bM10qcix0WzRdPW5bNF0qcix0WzVd
PW5bNV0qcix0WzZdPW5bNl0qcix0WzddPW5bN10qcix0WzhdPW5bOF0qcix0fWZ1bmN0aW9uIF8o
dCxuLHIsYSl7cmV0dXJuIHRbMF09blswXStyWzBdKmEsdFsxXT1uWzFdK3JbMV0qYSx0WzJdPW5b
Ml0rclsyXSphLHRbM109blszXStyWzNdKmEsdFs0XT1uWzRdK3JbNF0qYSx0WzVdPW5bNV0rcls1
XSphLHRbNl09bls2XStyWzZdKmEsdFs3XT1uWzddK3JbN10qYSx0WzhdPW5bOF0rcls4XSphLHR9
ZnVuY3Rpb24gSSh0LG4pe3JldHVybiB0WzBdPT09blswXSYmdFsxXT09PW5bMV0mJnRbMl09PT1u
WzJdJiZ0WzNdPT09blszXSYmdFs0XT09PW5bNF0mJnRbNV09PT1uWzVdJiZ0WzZdPT09bls2XSYm
dFs3XT09PW5bN10mJnRbOF09PT1uWzhdfWZ1bmN0aW9uIE4odCxuKXt2YXIgcj10WzBdLGE9dFsx
XSxlPXRbMl0sdT10WzNdLG89dFs0XSxpPXRbNV0scz10WzZdLGM9dFs3XSxmPXRbOF0sTT1uWzBd
LGg9blsxXSxsPW5bMl0sdj1uWzNdLGQ9bls0XSxiPW5bNV0sbT1uWzZdLHA9bls3XSxQPW5bOF07
cmV0dXJuIE1hdGguYWJzKHItTSk8PWcuRVBTSUxPTipNYXRoLm1heCgxLE1hdGguYWJzKHIpLE1h
dGguYWJzKE0pKSYmTWF0aC5hYnMoYS1oKTw9Zy5FUFNJTE9OKk1hdGgubWF4KDEsTWF0aC5hYnMo
YSksTWF0aC5hYnMoaCkpJiZNYXRoLmFicyhlLWwpPD1nLkVQU0lMT04qTWF0aC5tYXgoMSxNYXRo
LmFicyhlKSxNYXRoLmFicyhsKSkmJk1hdGguYWJzKHUtdik8PWcuRVBTSUxPTipNYXRoLm1heCgx
LE1hdGguYWJzKHUpLE1hdGguYWJzKHYpKSYmTWF0aC5hYnMoby1kKTw9Zy5FUFNJTE9OKk1hdGgu
bWF4KDEsTWF0aC5hYnMobyksTWF0aC5hYnMoZCkpJiZNYXRoLmFicyhpLWIpPD1nLkVQU0lMT04q
TWF0aC5tYXgoMSxNYXRoLmFicyhpKSxNYXRoLmFicyhiKSkmJk1hdGguYWJzKHMtbSk8PWcuRVBT
SUxPTipNYXRoLm1heCgxLE1hdGguYWJzKHMpLE1hdGguYWJzKG0pKSYmTWF0aC5hYnMoYy1wKTw9
Zy5FUFNJTE9OKk1hdGgubWF4KDEsTWF0aC5hYnMoYyksTWF0aC5hYnMocCkpJiZNYXRoLmFicyhm
LVApPD1nLkVQU0lMT04qTWF0aC5tYXgoMSxNYXRoLmFicyhmKSxNYXRoLmFicyhQKSl9T2JqZWN0
LmRlZmluZVByb3BlcnR5KG4sIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLG4uc3ViPW4ubXVsPXZv
aWQgMCxuLmNyZWF0ZT1hLG4uZnJvbU1hdDQ9ZSxuLmNsb25lPXUsbi5jb3B5PW8sbi5mcm9tVmFs
dWVzPWksbi5zZXQ9cyxuLmlkZW50aXR5PWMsbi50cmFuc3Bvc2U9ZixuLmludmVydD1NLG4uYWRq
b2ludD1oLG4uZGV0ZXJtaW5hbnQ9bCxuLm11bHRpcGx5PXYsbi50cmFuc2xhdGU9ZCxuLnJvdGF0
ZT1iLG4uc2NhbGU9bSxuLmZyb21UcmFuc2xhdGlvbj1wLG4uZnJvbVJvdGF0aW9uPVAsbi5mcm9t
U2NhbGluZz1FLG4uZnJvbU1hdDJkPU8sbi5mcm9tUXVhdD14LG4ubm9ybWFsRnJvbU1hdDQ9QSxu
LnByb2plY3Rpb249cSxuLnN0cj15LG4uZnJvYj13LG4uYWRkPVIsbi5zdWJ0cmFjdD1MLG4ubXVs
dGlwbHlTY2FsYXI9UyxuLm11bHRpcGx5U2NhbGFyQW5kQWRkPV8sbi5leGFjdEVxdWFscz1JLG4u
ZXF1YWxzPU47dmFyIFk9cigwKSxnPWZ1bmN0aW9uKHQpe2lmKHQmJnQuX19lc01vZHVsZSlyZXR1
cm4gdDt2YXIgbj17fTtpZihudWxsIT10KWZvcih2YXIgciBpbiB0KU9iamVjdC5wcm90b3R5cGUu
aGFzT3duUHJvcGVydHkuY2FsbCh0LHIpJiYobltyXT10W3JdKTtyZXR1cm4gbi5kZWZhdWx0PXQs
bn0oWSk7bi5tdWw9dixuLnN1Yj1MfSxmdW5jdGlvbih0LG4scil7InVzZSBzdHJpY3QiO2Z1bmN0
aW9uIGEoKXt2YXIgdD1uZXcgWi5BUlJBWV9UWVBFKDMpO3JldHVybiB0WzBdPTAsdFsxXT0wLHRb
Ml09MCx0fWZ1bmN0aW9uIGUodCl7dmFyIG49bmV3IFouQVJSQVlfVFlQRSgzKTtyZXR1cm4gblsw
XT10WzBdLG5bMV09dFsxXSxuWzJdPXRbMl0sbn1mdW5jdGlvbiB1KHQpe3ZhciBuPXRbMF0scj10
WzFdLGE9dFsyXTtyZXR1cm4gTWF0aC5zcXJ0KG4qbityKnIrYSphKX1mdW5jdGlvbiBvKHQsbixy
KXt2YXIgYT1uZXcgWi5BUlJBWV9UWVBFKDMpO3JldHVybiBhWzBdPXQsYVsxXT1uLGFbMl09cixh
fWZ1bmN0aW9uIGkodCxuKXtyZXR1cm4gdFswXT1uWzBdLHRbMV09blsxXSx0WzJdPW5bMl0sdH1m
dW5jdGlvbiBzKHQsbixyLGEpe3JldHVybiB0WzBdPW4sdFsxXT1yLHRbMl09YSx0fWZ1bmN0aW9u
IGModCxuLHIpe3JldHVybiB0WzBdPW5bMF0rclswXSx0WzFdPW5bMV0rclsxXSx0WzJdPW5bMl0r
clsyXSx0fWZ1bmN0aW9uIGYodCxuLHIpe3JldHVybiB0WzBdPW5bMF0tclswXSx0WzFdPW5bMV0t
clsxXSx0WzJdPW5bMl0tclsyXSx0fWZ1bmN0aW9uIE0odCxuLHIpe3JldHVybiB0WzBdPW5bMF0q
clswXSx0WzFdPW5bMV0qclsxXSx0WzJdPW5bMl0qclsyXSx0fWZ1bmN0aW9uIGgodCxuLHIpe3Jl
dHVybiB0WzBdPW5bMF0vclswXSx0WzFdPW5bMV0vclsxXSx0WzJdPW5bMl0vclsyXSx0fWZ1bmN0
aW9uIGwodCxuKXtyZXR1cm4gdFswXT1NYXRoLmNlaWwoblswXSksdFsxXT1NYXRoLmNlaWwoblsx
XSksdFsyXT1NYXRoLmNlaWwoblsyXSksdH1mdW5jdGlvbiB2KHQsbil7cmV0dXJuIHRbMF09TWF0
aC5mbG9vcihuWzBdKSx0WzFdPU1hdGguZmxvb3IoblsxXSksdFsyXT1NYXRoLmZsb29yKG5bMl0p
LHR9ZnVuY3Rpb24gZCh0LG4scil7cmV0dXJuIHRbMF09TWF0aC5taW4oblswXSxyWzBdKSx0WzFd
PU1hdGgubWluKG5bMV0sclsxXSksdFsyXT1NYXRoLm1pbihuWzJdLHJbMl0pLHR9ZnVuY3Rpb24g
Yih0LG4scil7cmV0dXJuIHRbMF09TWF0aC5tYXgoblswXSxyWzBdKSx0WzFdPU1hdGgubWF4KG5b
MV0sclsxXSksdFsyXT1NYXRoLm1heChuWzJdLHJbMl0pLHR9ZnVuY3Rpb24gbSh0LG4pe3JldHVy
biB0WzBdPU1hdGgucm91bmQoblswXSksdFsxXT1NYXRoLnJvdW5kKG5bMV0pLHRbMl09TWF0aC5y
b3VuZChuWzJdKSx0fWZ1bmN0aW9uIHAodCxuLHIpe3JldHVybiB0WzBdPW5bMF0qcix0WzFdPW5b
MV0qcix0WzJdPW5bMl0qcix0fWZ1bmN0aW9uIFAodCxuLHIsYSl7cmV0dXJuIHRbMF09blswXSty
WzBdKmEsdFsxXT1uWzFdK3JbMV0qYSx0WzJdPW5bMl0rclsyXSphLHR9ZnVuY3Rpb24gRSh0LG4p
e3ZhciByPW5bMF0tdFswXSxhPW5bMV0tdFsxXSxlPW5bMl0tdFsyXTtyZXR1cm4gTWF0aC5zcXJ0
KHIqcithKmErZSplKX1mdW5jdGlvbiBPKHQsbil7dmFyIHI9blswXS10WzBdLGE9blsxXS10WzFd
LGU9blsyXS10WzJdO3JldHVybiByKnIrYSphK2UqZX1mdW5jdGlvbiB4KHQpe3ZhciBuPXRbMF0s
cj10WzFdLGE9dFsyXTtyZXR1cm4gbipuK3IqcithKmF9ZnVuY3Rpb24gQSh0LG4pe3JldHVybiB0
WzBdPS1uWzBdLHRbMV09LW5bMV0sdFsyXT0tblsyXSx0fWZ1bmN0aW9uIHEodCxuKXtyZXR1cm4g
dFswXT0xL25bMF0sdFsxXT0xL25bMV0sdFsyXT0xL25bMl0sdH1mdW5jdGlvbiB5KHQsbil7dmFy
IHI9blswXSxhPW5bMV0sZT1uWzJdLHU9cipyK2EqYStlKmU7cmV0dXJuIHU+MCYmKHU9MS9NYXRo
LnNxcnQodSksdFswXT1uWzBdKnUsdFsxXT1uWzFdKnUsdFsyXT1uWzJdKnUpLHR9ZnVuY3Rpb24g
dyh0LG4pe3JldHVybiB0WzBdKm5bMF0rdFsxXSpuWzFdK3RbMl0qblsyXX1mdW5jdGlvbiBSKHQs
bixyKXt2YXIgYT1uWzBdLGU9blsxXSx1PW5bMl0sbz1yWzBdLGk9clsxXSxzPXJbMl07cmV0dXJu
IHRbMF09ZSpzLXUqaSx0WzFdPXUqby1hKnMsdFsyXT1hKmktZSpvLHR9ZnVuY3Rpb24gTCh0LG4s
cixhKXt2YXIgZT1uWzBdLHU9blsxXSxvPW5bMl07cmV0dXJuIHRbMF09ZSthKihyWzBdLWUpLHRb
MV09dSthKihyWzFdLXUpLHRbMl09bythKihyWzJdLW8pLHR9ZnVuY3Rpb24gUyh0LG4scixhLGUs
dSl7dmFyIG89dSp1LGk9byooMip1LTMpKzEscz1vKih1LTIpK3UsYz1vKih1LTEpLGY9byooMy0y
KnUpO3JldHVybiB0WzBdPW5bMF0qaStyWzBdKnMrYVswXSpjK2VbMF0qZix0WzFdPW5bMV0qaSty
WzFdKnMrYVsxXSpjK2VbMV0qZix0WzJdPW5bMl0qaStyWzJdKnMrYVsyXSpjK2VbMl0qZix0fWZ1
bmN0aW9uIF8odCxuLHIsYSxlLHUpe3ZhciBvPTEtdSxpPW8qbyxzPXUqdSxjPWkqbyxmPTMqdSpp
LE09MypzKm8saD1zKnU7cmV0dXJuIHRbMF09blswXSpjK3JbMF0qZithWzBdKk0rZVswXSpoLHRb
MV09blsxXSpjK3JbMV0qZithWzFdKk0rZVsxXSpoLHRbMl09blsyXSpjK3JbMl0qZithWzJdKk0r
ZVsyXSpoLHR9ZnVuY3Rpb24gSSh0LG4pe249bnx8MTt2YXIgcj0yKlouUkFORE9NKCkqTWF0aC5Q
SSxhPTIqWi5SQU5ET00oKS0xLGU9TWF0aC5zcXJ0KDEtYSphKSpuO3JldHVybiB0WzBdPU1hdGgu
Y29zKHIpKmUsdFsxXT1NYXRoLnNpbihyKSplLHRbMl09YSpuLHR9ZnVuY3Rpb24gTih0LG4scil7
dmFyIGE9blswXSxlPW5bMV0sdT1uWzJdLG89clszXSphK3JbN10qZStyWzExXSp1K3JbMTVdO3Jl
dHVybiBvPW98fDEsdFswXT0oclswXSphK3JbNF0qZStyWzhdKnUrclsxMl0pL28sdFsxXT0oclsx
XSphK3JbNV0qZStyWzldKnUrclsxM10pL28sdFsyXT0oclsyXSphK3JbNl0qZStyWzEwXSp1K3Jb
MTRdKS9vLHR9ZnVuY3Rpb24gWSh0LG4scil7dmFyIGE9blswXSxlPW5bMV0sdT1uWzJdO3JldHVy
biB0WzBdPWEqclswXStlKnJbM10rdSpyWzZdLHRbMV09YSpyWzFdK2Uqcls0XSt1KnJbN10sdFsy
XT1hKnJbMl0rZSpyWzVdK3Uqcls4XSx0fWZ1bmN0aW9uIGcodCxuLHIpe3ZhciBhPW5bMF0sZT1u
WzFdLHU9blsyXSxvPXJbMF0saT1yWzFdLHM9clsyXSxjPXJbM10sZj1jKmEraSp1LXMqZSxNPWMq
ZStzKmEtbyp1LGg9Yyp1K28qZS1pKmEsbD0tbyphLWkqZS1zKnU7cmV0dXJuIHRbMF09ZipjK2wq
LW8rTSotcy1oKi1pLHRbMV09TSpjK2wqLWkraCotby1mKi1zLHRbMl09aCpjK2wqLXMrZiotaS1N
Ki1vLHR9ZnVuY3Rpb24gVCh0LG4scixhKXt2YXIgZT1bXSx1PVtdO3JldHVybiBlWzBdPW5bMF0t
clswXSxlWzFdPW5bMV0tclsxXSxlWzJdPW5bMl0tclsyXSx1WzBdPWVbMF0sdVsxXT1lWzFdKk1h
dGguY29zKGEpLWVbMl0qTWF0aC5zaW4oYSksdVsyXT1lWzFdKk1hdGguc2luKGEpK2VbMl0qTWF0
aC5jb3MoYSksdFswXT11WzBdK3JbMF0sdFsxXT11WzFdK3JbMV0sdFsyXT11WzJdK3JbMl0sdH1m
dW5jdGlvbiBqKHQsbixyLGEpe3ZhciBlPVtdLHU9W107cmV0dXJuIGVbMF09blswXS1yWzBdLGVb
MV09blsxXS1yWzFdLGVbMl09blsyXS1yWzJdLHVbMF09ZVsyXSpNYXRoLnNpbihhKStlWzBdKk1h
dGguY29zKGEpLHVbMV09ZVsxXSx1WzJdPWVbMl0qTWF0aC5jb3MoYSktZVswXSpNYXRoLnNpbihh
KSx0WzBdPXVbMF0rclswXSx0WzFdPXVbMV0rclsxXSx0WzJdPXVbMl0rclsyXSx0fWZ1bmN0aW9u
IEQodCxuLHIsYSl7dmFyIGU9W10sdT1bXTtyZXR1cm4gZVswXT1uWzBdLXJbMF0sZVsxXT1uWzFd
LXJbMV0sZVsyXT1uWzJdLXJbMl0sdVswXT1lWzBdKk1hdGguY29zKGEpLWVbMV0qTWF0aC5zaW4o
YSksdVsxXT1lWzBdKk1hdGguc2luKGEpK2VbMV0qTWF0aC5jb3MoYSksdVsyXT1lWzJdLHRbMF09
dVswXStyWzBdLHRbMV09dVsxXStyWzFdLHRbMl09dVsyXStyWzJdLHR9ZnVuY3Rpb24gVih0LG4p
e3ZhciByPW8odFswXSx0WzFdLHRbMl0pLGE9byhuWzBdLG5bMV0sblsyXSk7eShyLHIpLHkoYSxh
KTt2YXIgZT13KHIsYSk7cmV0dXJuIGU+MT8wOmU8LTE/TWF0aC5QSTpNYXRoLmFjb3MoZSl9ZnVu
Y3Rpb24geih0KXtyZXR1cm4idmVjMygiK3RbMF0rIiwgIit0WzFdKyIsICIrdFsyXSsiKSJ9ZnVu
Y3Rpb24gRih0LG4pe3JldHVybiB0WzBdPT09blswXSYmdFsxXT09PW5bMV0mJnRbMl09PT1uWzJd
fWZ1bmN0aW9uIFEodCxuKXt2YXIgcj10WzBdLGE9dFsxXSxlPXRbMl0sdT1uWzBdLG89blsxXSxp
PW5bMl07cmV0dXJuIE1hdGguYWJzKHItdSk8PVouRVBTSUxPTipNYXRoLm1heCgxLE1hdGguYWJz
KHIpLE1hdGguYWJzKHUpKSYmTWF0aC5hYnMoYS1vKTw9Wi5FUFNJTE9OKk1hdGgubWF4KDEsTWF0
aC5hYnMoYSksTWF0aC5hYnMobykpJiZNYXRoLmFicyhlLWkpPD1aLkVQU0lMT04qTWF0aC5tYXgo
MSxNYXRoLmFicyhlKSxNYXRoLmFicyhpKSl9T2JqZWN0LmRlZmluZVByb3BlcnR5KG4sIl9fZXNN
b2R1bGUiLHt2YWx1ZTohMH0pLG4uZm9yRWFjaD1uLnNxckxlbj1uLmxlbj1uLnNxckRpc3Q9bi5k
aXN0PW4uZGl2PW4ubXVsPW4uc3ViPXZvaWQgMCxuLmNyZWF0ZT1hLG4uY2xvbmU9ZSxuLmxlbmd0
aD11LG4uZnJvbVZhbHVlcz1vLG4uY29weT1pLG4uc2V0PXMsbi5hZGQ9YyxuLnN1YnRyYWN0PWYs
bi5tdWx0aXBseT1NLG4uZGl2aWRlPWgsbi5jZWlsPWwsbi5mbG9vcj12LG4ubWluPWQsbi5tYXg9
YixuLnJvdW5kPW0sbi5zY2FsZT1wLG4uc2NhbGVBbmRBZGQ9UCxuLmRpc3RhbmNlPUUsbi5zcXVh
cmVkRGlzdGFuY2U9TyxuLnNxdWFyZWRMZW5ndGg9eCxuLm5lZ2F0ZT1BLG4uaW52ZXJzZT1xLG4u
bm9ybWFsaXplPXksbi5kb3Q9dyxuLmNyb3NzPVIsbi5sZXJwPUwsbi5oZXJtaXRlPVMsbi5iZXpp
ZXI9XyxuLnJhbmRvbT1JLG4udHJhbnNmb3JtTWF0ND1OLG4udHJhbnNmb3JtTWF0Mz1ZLG4udHJh
bnNmb3JtUXVhdD1nLG4ucm90YXRlWD1ULG4ucm90YXRlWT1qLG4ucm90YXRlWj1ELG4uYW5nbGU9
VixuLnN0cj16LG4uZXhhY3RFcXVhbHM9RixuLmVxdWFscz1RO3ZhciBYPXIoMCksWj1mdW5jdGlv
bih0KXtpZih0JiZ0Ll9fZXNNb2R1bGUpcmV0dXJuIHQ7dmFyIG49e307aWYobnVsbCE9dClmb3Io
dmFyIHIgaW4gdClPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwodCxyKSYmKG5b
cl09dFtyXSk7cmV0dXJuIG4uZGVmYXVsdD10LG59KFgpO24uc3ViPWYsbi5tdWw9TSxuLmRpdj1o
LG4uZGlzdD1FLG4uc3FyRGlzdD1PLG4ubGVuPXUsbi5zcXJMZW49eCxuLmZvckVhY2g9ZnVuY3Rp
b24oKXt2YXIgdD1hKCk7cmV0dXJuIGZ1bmN0aW9uKG4scixhLGUsdSxvKXt2YXIgaT12b2lkIDAs
cz12b2lkIDA7Zm9yKHJ8fChyPTMpLGF8fChhPTApLHM9ZT9NYXRoLm1pbihlKnIrYSxuLmxlbmd0
aCk6bi5sZW5ndGgsaT1hO2k8cztpKz1yKXRbMF09bltpXSx0WzFdPW5baSsxXSx0WzJdPW5baSsy
XSx1KHQsdCxvKSxuW2ldPXRbMF0sbltpKzFdPXRbMV0sbltpKzJdPXRbMl07cmV0dXJuIG59fSgp
fSxmdW5jdGlvbih0LG4scil7InVzZSBzdHJpY3QiO2Z1bmN0aW9uIGEoKXt2YXIgdD1uZXcgVC5B
UlJBWV9UWVBFKDQpO3JldHVybiB0WzBdPTAsdFsxXT0wLHRbMl09MCx0WzNdPTAsdH1mdW5jdGlv
biBlKHQpe3ZhciBuPW5ldyBULkFSUkFZX1RZUEUoNCk7cmV0dXJuIG5bMF09dFswXSxuWzFdPXRb
MV0sblsyXT10WzJdLG5bM109dFszXSxufWZ1bmN0aW9uIHUodCxuLHIsYSl7dmFyIGU9bmV3IFQu
QVJSQVlfVFlQRSg0KTtyZXR1cm4gZVswXT10LGVbMV09bixlWzJdPXIsZVszXT1hLGV9ZnVuY3Rp
b24gbyh0LG4pe3JldHVybiB0WzBdPW5bMF0sdFsxXT1uWzFdLHRbMl09blsyXSx0WzNdPW5bM10s
dH1mdW5jdGlvbiBpKHQsbixyLGEsZSl7cmV0dXJuIHRbMF09bix0WzFdPXIsdFsyXT1hLHRbM109
ZSx0fWZ1bmN0aW9uIHModCxuLHIpe3JldHVybiB0WzBdPW5bMF0rclswXSx0WzFdPW5bMV0rclsx
XSx0WzJdPW5bMl0rclsyXSx0WzNdPW5bM10rclszXSx0fWZ1bmN0aW9uIGModCxuLHIpe3JldHVy
biB0WzBdPW5bMF0tclswXSx0WzFdPW5bMV0tclsxXSx0WzJdPW5bMl0tclsyXSx0WzNdPW5bM10t
clszXSx0fWZ1bmN0aW9uIGYodCxuLHIpe3JldHVybiB0WzBdPW5bMF0qclswXSx0WzFdPW5bMV0q
clsxXSx0WzJdPW5bMl0qclsyXSx0WzNdPW5bM10qclszXSx0fWZ1bmN0aW9uIE0odCxuLHIpe3Jl
dHVybiB0WzBdPW5bMF0vclswXSx0WzFdPW5bMV0vclsxXSx0WzJdPW5bMl0vclsyXSx0WzNdPW5b
M10vclszXSx0fWZ1bmN0aW9uIGgodCxuKXtyZXR1cm4gdFswXT1NYXRoLmNlaWwoblswXSksdFsx
XT1NYXRoLmNlaWwoblsxXSksdFsyXT1NYXRoLmNlaWwoblsyXSksdFszXT1NYXRoLmNlaWwoblsz
XSksdH1mdW5jdGlvbiBsKHQsbil7cmV0dXJuIHRbMF09TWF0aC5mbG9vcihuWzBdKSx0WzFdPU1h
dGguZmxvb3IoblsxXSksdFsyXT1NYXRoLmZsb29yKG5bMl0pLHRbM109TWF0aC5mbG9vcihuWzNd
KSx0fWZ1bmN0aW9uIHYodCxuLHIpe3JldHVybiB0WzBdPU1hdGgubWluKG5bMF0sclswXSksdFsx
XT1NYXRoLm1pbihuWzFdLHJbMV0pLHRbMl09TWF0aC5taW4oblsyXSxyWzJdKSx0WzNdPU1hdGgu
bWluKG5bM10sclszXSksdH1mdW5jdGlvbiBkKHQsbixyKXtyZXR1cm4gdFswXT1NYXRoLm1heChu
WzBdLHJbMF0pLHRbMV09TWF0aC5tYXgoblsxXSxyWzFdKSx0WzJdPU1hdGgubWF4KG5bMl0sclsy
XSksdFszXT1NYXRoLm1heChuWzNdLHJbM10pLHR9ZnVuY3Rpb24gYih0LG4pe3JldHVybiB0WzBd
PU1hdGgucm91bmQoblswXSksdFsxXT1NYXRoLnJvdW5kKG5bMV0pLHRbMl09TWF0aC5yb3VuZChu
WzJdKSx0WzNdPU1hdGgucm91bmQoblszXSksdH1mdW5jdGlvbiBtKHQsbixyKXtyZXR1cm4gdFsw
XT1uWzBdKnIsdFsxXT1uWzFdKnIsdFsyXT1uWzJdKnIsdFszXT1uWzNdKnIsdH1mdW5jdGlvbiBw
KHQsbixyLGEpe3JldHVybiB0WzBdPW5bMF0rclswXSphLHRbMV09blsxXStyWzFdKmEsdFsyXT1u
WzJdK3JbMl0qYSx0WzNdPW5bM10rclszXSphLHR9ZnVuY3Rpb24gUCh0LG4pe3ZhciByPW5bMF0t
dFswXSxhPW5bMV0tdFsxXSxlPW5bMl0tdFsyXSx1PW5bM10tdFszXTtyZXR1cm4gTWF0aC5zcXJ0
KHIqcithKmErZSplK3UqdSl9ZnVuY3Rpb24gRSh0LG4pe3ZhciByPW5bMF0tdFswXSxhPW5bMV0t
dFsxXSxlPW5bMl0tdFsyXSx1PW5bM10tdFszXTtyZXR1cm4gcipyK2EqYStlKmUrdSp1fWZ1bmN0
aW9uIE8odCl7dmFyIG49dFswXSxyPXRbMV0sYT10WzJdLGU9dFszXTtyZXR1cm4gTWF0aC5zcXJ0
KG4qbityKnIrYSphK2UqZSl9ZnVuY3Rpb24geCh0KXt2YXIgbj10WzBdLHI9dFsxXSxhPXRbMl0s
ZT10WzNdO3JldHVybiBuKm4rcipyK2EqYStlKmV9ZnVuY3Rpb24gQSh0LG4pe3JldHVybiB0WzBd
PS1uWzBdLHRbMV09LW5bMV0sdFsyXT0tblsyXSx0WzNdPS1uWzNdLHR9ZnVuY3Rpb24gcSh0LG4p
e3JldHVybiB0WzBdPTEvblswXSx0WzFdPTEvblsxXSx0WzJdPTEvblsyXSx0WzNdPTEvblszXSx0
fWZ1bmN0aW9uIHkodCxuKXt2YXIgcj1uWzBdLGE9blsxXSxlPW5bMl0sdT1uWzNdLG89cipyK2Eq
YStlKmUrdSp1O3JldHVybiBvPjAmJihvPTEvTWF0aC5zcXJ0KG8pLHRbMF09cipvLHRbMV09YSpv
LHRbMl09ZSpvLHRbM109dSpvKSx0fWZ1bmN0aW9uIHcodCxuKXtyZXR1cm4gdFswXSpuWzBdK3Rb
MV0qblsxXSt0WzJdKm5bMl0rdFszXSpuWzNdfWZ1bmN0aW9uIFIodCxuLHIsYSl7dmFyIGU9blsw
XSx1PW5bMV0sbz1uWzJdLGk9blszXTtyZXR1cm4gdFswXT1lK2EqKHJbMF0tZSksdFsxXT11K2Eq
KHJbMV0tdSksdFsyXT1vK2EqKHJbMl0tbyksdFszXT1pK2EqKHJbM10taSksdH1mdW5jdGlvbiBM
KHQsbil7cmV0dXJuIG49bnx8MSx0WzBdPVQuUkFORE9NKCksdFsxXT1ULlJBTkRPTSgpLHRbMl09
VC5SQU5ET00oKSx0WzNdPVQuUkFORE9NKCkseSh0LHQpLG0odCx0LG4pLHR9ZnVuY3Rpb24gUyh0
LG4scil7dmFyIGE9blswXSxlPW5bMV0sdT1uWzJdLG89blszXTtyZXR1cm4gdFswXT1yWzBdKmEr
cls0XSplK3JbOF0qdStyWzEyXSpvLHRbMV09clsxXSphK3JbNV0qZStyWzldKnUrclsxM10qbyx0
WzJdPXJbMl0qYStyWzZdKmUrclsxMF0qdStyWzE0XSpvLHRbM109clszXSphK3JbN10qZStyWzEx
XSp1K3JbMTVdKm8sdH1mdW5jdGlvbiBfKHQsbixyKXt2YXIgYT1uWzBdLGU9blsxXSx1PW5bMl0s
bz1yWzBdLGk9clsxXSxzPXJbMl0sYz1yWzNdLGY9YyphK2kqdS1zKmUsTT1jKmUrcyphLW8qdSxo
PWMqdStvKmUtaSphLGw9LW8qYS1pKmUtcyp1O3JldHVybiB0WzBdPWYqYytsKi1vK00qLXMtaCot
aSx0WzFdPU0qYytsKi1pK2gqLW8tZiotcyx0WzJdPWgqYytsKi1zK2YqLWktTSotbyx0WzNdPW5b
M10sdH1mdW5jdGlvbiBJKHQpe3JldHVybiJ2ZWM0KCIrdFswXSsiLCAiK3RbMV0rIiwgIit0WzJd
KyIsICIrdFszXSsiKSJ9ZnVuY3Rpb24gTih0LG4pe3JldHVybiB0WzBdPT09blswXSYmdFsxXT09
PW5bMV0mJnRbMl09PT1uWzJdJiZ0WzNdPT09blszXX1mdW5jdGlvbiBZKHQsbil7dmFyIHI9dFsw
XSxhPXRbMV0sZT10WzJdLHU9dFszXSxvPW5bMF0saT1uWzFdLHM9blsyXSxjPW5bM107cmV0dXJu
IE1hdGguYWJzKHItbyk8PVQuRVBTSUxPTipNYXRoLm1heCgxLE1hdGguYWJzKHIpLE1hdGguYWJz
KG8pKSYmTWF0aC5hYnMoYS1pKTw9VC5FUFNJTE9OKk1hdGgubWF4KDEsTWF0aC5hYnMoYSksTWF0
aC5hYnMoaSkpJiZNYXRoLmFicyhlLXMpPD1ULkVQU0lMT04qTWF0aC5tYXgoMSxNYXRoLmFicyhl
KSxNYXRoLmFicyhzKSkmJk1hdGguYWJzKHUtYyk8PVQuRVBTSUxPTipNYXRoLm1heCgxLE1hdGgu
YWJzKHUpLE1hdGguYWJzKGMpKX1PYmplY3QuZGVmaW5lUHJvcGVydHkobiwiX19lc01vZHVsZSIs
e3ZhbHVlOiEwfSksbi5mb3JFYWNoPW4uc3FyTGVuPW4ubGVuPW4uc3FyRGlzdD1uLmRpc3Q9bi5k
aXY9bi5tdWw9bi5zdWI9dm9pZCAwLG4uY3JlYXRlPWEsbi5jbG9uZT1lLG4uZnJvbVZhbHVlcz11
LG4uY29weT1vLG4uc2V0PWksbi5hZGQ9cyxuLnN1YnRyYWN0PWMsbi5tdWx0aXBseT1mLG4uZGl2
aWRlPU0sbi5jZWlsPWgsbi5mbG9vcj1sLG4ubWluPXYsbi5tYXg9ZCxuLnJvdW5kPWIsbi5zY2Fs
ZT1tLG4uc2NhbGVBbmRBZGQ9cCxuLmRpc3RhbmNlPVAsbi5zcXVhcmVkRGlzdGFuY2U9RSxuLmxl
bmd0aD1PLG4uc3F1YXJlZExlbmd0aD14LG4ubmVnYXRlPUEsbi5pbnZlcnNlPXEsbi5ub3JtYWxp
emU9eSxuLmRvdD13LG4ubGVycD1SLG4ucmFuZG9tPUwsbi50cmFuc2Zvcm1NYXQ0PVMsbi50cmFu
c2Zvcm1RdWF0PV8sbi5zdHI9SSxuLmV4YWN0RXF1YWxzPU4sbi5lcXVhbHM9WTt2YXIgZz1yKDAp
LFQ9ZnVuY3Rpb24odCl7aWYodCYmdC5fX2VzTW9kdWxlKXJldHVybiB0O3ZhciBuPXt9O2lmKG51
bGwhPXQpZm9yKHZhciByIGluIHQpT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxs
KHQscikmJihuW3JdPXRbcl0pO3JldHVybiBuLmRlZmF1bHQ9dCxufShnKTtuLnN1Yj1jLG4ubXVs
PWYsbi5kaXY9TSxuLmRpc3Q9UCxuLnNxckRpc3Q9RSxuLmxlbj1PLG4uc3FyTGVuPXgsbi5mb3JF
YWNoPWZ1bmN0aW9uKCl7dmFyIHQ9YSgpO3JldHVybiBmdW5jdGlvbihuLHIsYSxlLHUsbyl7dmFy
IGk9dm9pZCAwLHM9dm9pZCAwO2ZvcihyfHwocj00KSxhfHwoYT0wKSxzPWU/TWF0aC5taW4oZSpy
K2Esbi5sZW5ndGgpOm4ubGVuZ3RoLGk9YTtpPHM7aSs9cil0WzBdPW5baV0sdFsxXT1uW2krMV0s
dFsyXT1uW2krMl0sdFszXT1uW2krM10sdSh0LHQsbyksbltpXT10WzBdLG5baSsxXT10WzFdLG5b
aSsyXT10WzJdLG5baSszXT10WzNdO3JldHVybiBufX0oKX0sZnVuY3Rpb24odCxuLHIpeyJ1c2Ug
c3RyaWN0IjtmdW5jdGlvbiBhKHQpe2lmKHQmJnQuX19lc01vZHVsZSlyZXR1cm4gdDt2YXIgbj17
fTtpZihudWxsIT10KWZvcih2YXIgciBpbiB0KU9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVy
dHkuY2FsbCh0LHIpJiYobltyXT10W3JdKTtyZXR1cm4gbi5kZWZhdWx0PXQsbn1PYmplY3QuZGVm
aW5lUHJvcGVydHkobiwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksbi52ZWM0PW4udmVjMz1uLnZl
YzI9bi5xdWF0PW4ubWF0ND1uLm1hdDM9bi5tYXQyZD1uLm1hdDI9bi5nbE1hdHJpeD12b2lkIDA7
dmFyIGU9cigwKSx1PWEoZSksbz1yKDUpLGk9YShvKSxzPXIoNiksYz1hKHMpLGY9cigxKSxNPWEo
ZiksaD1yKDcpLGw9YShoKSx2PXIoOCksZD1hKHYpLGI9cig5KSxtPWEoYikscD1yKDIpLFA9YShw
KSxFPXIoMyksTz1hKEUpO24uZ2xNYXRyaXg9dSxuLm1hdDI9aSxuLm1hdDJkPWMsbi5tYXQzPU0s
bi5tYXQ0PWwsbi5xdWF0PWQsbi52ZWMyPW0sbi52ZWMzPVAsbi52ZWM0PU99LGZ1bmN0aW9uKHQs
bixyKXsidXNlIHN0cmljdCI7ZnVuY3Rpb24gYSgpe3ZhciB0PW5ldyBMLkFSUkFZX1RZUEUoNCk7
cmV0dXJuIHRbMF09MSx0WzFdPTAsdFsyXT0wLHRbM109MSx0fWZ1bmN0aW9uIGUodCl7dmFyIG49
bmV3IEwuQVJSQVlfVFlQRSg0KTtyZXR1cm4gblswXT10WzBdLG5bMV09dFsxXSxuWzJdPXRbMl0s
blszXT10WzNdLG59ZnVuY3Rpb24gdSh0LG4pe3JldHVybiB0WzBdPW5bMF0sdFsxXT1uWzFdLHRb
Ml09blsyXSx0WzNdPW5bM10sdH1mdW5jdGlvbiBvKHQpe3JldHVybiB0WzBdPTEsdFsxXT0wLHRb
Ml09MCx0WzNdPTEsdH1mdW5jdGlvbiBpKHQsbixyLGEpe3ZhciBlPW5ldyBMLkFSUkFZX1RZUEUo
NCk7cmV0dXJuIGVbMF09dCxlWzFdPW4sZVsyXT1yLGVbM109YSxlfWZ1bmN0aW9uIHModCxuLHIs
YSxlKXtyZXR1cm4gdFswXT1uLHRbMV09cix0WzJdPWEsdFszXT1lLHR9ZnVuY3Rpb24gYyh0LG4p
e2lmKHQ9PT1uKXt2YXIgcj1uWzFdO3RbMV09blsyXSx0WzJdPXJ9ZWxzZSB0WzBdPW5bMF0sdFsx
XT1uWzJdLHRbMl09blsxXSx0WzNdPW5bM107cmV0dXJuIHR9ZnVuY3Rpb24gZih0LG4pe3ZhciBy
PW5bMF0sYT1uWzFdLGU9blsyXSx1PW5bM10sbz1yKnUtZSphO3JldHVybiBvPyhvPTEvbyx0WzBd
PXUqbyx0WzFdPS1hKm8sdFsyXT0tZSpvLHRbM109cipvLHQpOm51bGx9ZnVuY3Rpb24gTSh0LG4p
e3ZhciByPW5bMF07cmV0dXJuIHRbMF09blszXSx0WzFdPS1uWzFdLHRbMl09LW5bMl0sdFszXT1y
LHR9ZnVuY3Rpb24gaCh0KXtyZXR1cm4gdFswXSp0WzNdLXRbMl0qdFsxXX1mdW5jdGlvbiBsKHQs
bixyKXt2YXIgYT1uWzBdLGU9blsxXSx1PW5bMl0sbz1uWzNdLGk9clswXSxzPXJbMV0sYz1yWzJd
LGY9clszXTtyZXR1cm4gdFswXT1hKmkrdSpzLHRbMV09ZSppK28qcyx0WzJdPWEqYyt1KmYsdFsz
XT1lKmMrbypmLHR9ZnVuY3Rpb24gdih0LG4scil7dmFyIGE9blswXSxlPW5bMV0sdT1uWzJdLG89
blszXSxpPU1hdGguc2luKHIpLHM9TWF0aC5jb3Mocik7cmV0dXJuIHRbMF09YSpzK3UqaSx0WzFd
PWUqcytvKmksdFsyXT1hKi1pK3Uqcyx0WzNdPWUqLWkrbypzLHR9ZnVuY3Rpb24gZCh0LG4scil7
dmFyIGE9blswXSxlPW5bMV0sdT1uWzJdLG89blszXSxpPXJbMF0scz1yWzFdO3JldHVybiB0WzBd
PWEqaSx0WzFdPWUqaSx0WzJdPXUqcyx0WzNdPW8qcyx0fWZ1bmN0aW9uIGIodCxuKXt2YXIgcj1N
YXRoLnNpbihuKSxhPU1hdGguY29zKG4pO3JldHVybiB0WzBdPWEsdFsxXT1yLHRbMl09LXIsdFsz
XT1hLHR9ZnVuY3Rpb24gbSh0LG4pe3JldHVybiB0WzBdPW5bMF0sdFsxXT0wLHRbMl09MCx0WzNd
PW5bMV0sdH1mdW5jdGlvbiBwKHQpe3JldHVybiJtYXQyKCIrdFswXSsiLCAiK3RbMV0rIiwgIit0
WzJdKyIsICIrdFszXSsiKSJ9ZnVuY3Rpb24gUCh0KXtyZXR1cm4gTWF0aC5zcXJ0KE1hdGgucG93
KHRbMF0sMikrTWF0aC5wb3codFsxXSwyKStNYXRoLnBvdyh0WzJdLDIpK01hdGgucG93KHRbM10s
MikpfWZ1bmN0aW9uIEUodCxuLHIsYSl7cmV0dXJuIHRbMl09YVsyXS9hWzBdLHJbMF09YVswXSxy
WzFdPWFbMV0sclszXT1hWzNdLXRbMl0qclsxXSxbdCxuLHJdfWZ1bmN0aW9uIE8odCxuLHIpe3Jl
dHVybiB0WzBdPW5bMF0rclswXSx0WzFdPW5bMV0rclsxXSx0WzJdPW5bMl0rclsyXSx0WzNdPW5b
M10rclszXSx0fWZ1bmN0aW9uIHgodCxuLHIpe3JldHVybiB0WzBdPW5bMF0tclswXSx0WzFdPW5b
MV0tclsxXSx0WzJdPW5bMl0tclsyXSx0WzNdPW5bM10tclszXSx0fWZ1bmN0aW9uIEEodCxuKXty
ZXR1cm4gdFswXT09PW5bMF0mJnRbMV09PT1uWzFdJiZ0WzJdPT09blsyXSYmdFszXT09PW5bM119
ZnVuY3Rpb24gcSh0LG4pe3ZhciByPXRbMF0sYT10WzFdLGU9dFsyXSx1PXRbM10sbz1uWzBdLGk9
blsxXSxzPW5bMl0sYz1uWzNdO3JldHVybiBNYXRoLmFicyhyLW8pPD1MLkVQU0lMT04qTWF0aC5t
YXgoMSxNYXRoLmFicyhyKSxNYXRoLmFicyhvKSkmJk1hdGguYWJzKGEtaSk8PUwuRVBTSUxPTipN
YXRoLm1heCgxLE1hdGguYWJzKGEpLE1hdGguYWJzKGkpKSYmTWF0aC5hYnMoZS1zKTw9TC5FUFNJ
TE9OKk1hdGgubWF4KDEsTWF0aC5hYnMoZSksTWF0aC5hYnMocykpJiZNYXRoLmFicyh1LWMpPD1M
LkVQU0lMT04qTWF0aC5tYXgoMSxNYXRoLmFicyh1KSxNYXRoLmFicyhjKSl9ZnVuY3Rpb24geSh0
LG4scil7cmV0dXJuIHRbMF09blswXSpyLHRbMV09blsxXSpyLHRbMl09blsyXSpyLHRbM109blsz
XSpyLHR9ZnVuY3Rpb24gdyh0LG4scixhKXtyZXR1cm4gdFswXT1uWzBdK3JbMF0qYSx0WzFdPW5b
MV0rclsxXSphLHRbMl09blsyXStyWzJdKmEsdFszXT1uWzNdK3JbM10qYSx0fU9iamVjdC5kZWZp
bmVQcm9wZXJ0eShuLCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSxuLnN1Yj1uLm11bD12b2lkIDAs
bi5jcmVhdGU9YSxuLmNsb25lPWUsbi5jb3B5PXUsbi5pZGVudGl0eT1vLG4uZnJvbVZhbHVlcz1p
LG4uc2V0PXMsbi50cmFuc3Bvc2U9YyxuLmludmVydD1mLG4uYWRqb2ludD1NLG4uZGV0ZXJtaW5h
bnQ9aCxuLm11bHRpcGx5PWwsbi5yb3RhdGU9dixuLnNjYWxlPWQsbi5mcm9tUm90YXRpb249Yixu
LmZyb21TY2FsaW5nPW0sbi5zdHI9cCxuLmZyb2I9UCxuLkxEVT1FLG4uYWRkPU8sbi5zdWJ0cmFj
dD14LG4uZXhhY3RFcXVhbHM9QSxuLmVxdWFscz1xLG4ubXVsdGlwbHlTY2FsYXI9eSxuLm11bHRp
cGx5U2NhbGFyQW5kQWRkPXc7dmFyIFI9cigwKSxMPWZ1bmN0aW9uKHQpe2lmKHQmJnQuX19lc01v
ZHVsZSlyZXR1cm4gdDt2YXIgbj17fTtpZihudWxsIT10KWZvcih2YXIgciBpbiB0KU9iamVjdC5w
cm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbCh0LHIpJiYobltyXT10W3JdKTtyZXR1cm4gbi5k
ZWZhdWx0PXQsbn0oUik7bi5tdWw9bCxuLnN1Yj14fSxmdW5jdGlvbih0LG4scil7InVzZSBzdHJp
Y3QiO2Z1bmN0aW9uIGEoKXt2YXIgdD1uZXcgUi5BUlJBWV9UWVBFKDYpO3JldHVybiB0WzBdPTEs
dFsxXT0wLHRbMl09MCx0WzNdPTEsdFs0XT0wLHRbNV09MCx0fWZ1bmN0aW9uIGUodCl7dmFyIG49
bmV3IFIuQVJSQVlfVFlQRSg2KTtyZXR1cm4gblswXT10WzBdLG5bMV09dFsxXSxuWzJdPXRbMl0s
blszXT10WzNdLG5bNF09dFs0XSxuWzVdPXRbNV0sbn1mdW5jdGlvbiB1KHQsbil7cmV0dXJuIHRb
MF09blswXSx0WzFdPW5bMV0sdFsyXT1uWzJdLHRbM109blszXSx0WzRdPW5bNF0sdFs1XT1uWzVd
LHR9ZnVuY3Rpb24gbyh0KXtyZXR1cm4gdFswXT0xLHRbMV09MCx0WzJdPTAsdFszXT0xLHRbNF09
MCx0WzVdPTAsdH1mdW5jdGlvbiBpKHQsbixyLGEsZSx1KXt2YXIgbz1uZXcgUi5BUlJBWV9UWVBF
KDYpO3JldHVybiBvWzBdPXQsb1sxXT1uLG9bMl09cixvWzNdPWEsb1s0XT1lLG9bNV09dSxvfWZ1
bmN0aW9uIHModCxuLHIsYSxlLHUsbyl7cmV0dXJuIHRbMF09bix0WzFdPXIsdFsyXT1hLHRbM109
ZSx0WzRdPXUsdFs1XT1vLHR9ZnVuY3Rpb24gYyh0LG4pe3ZhciByPW5bMF0sYT1uWzFdLGU9blsy
XSx1PW5bM10sbz1uWzRdLGk9bls1XSxzPXIqdS1hKmU7cmV0dXJuIHM/KHM9MS9zLHRbMF09dSpz
LHRbMV09LWEqcyx0WzJdPS1lKnMsdFszXT1yKnMsdFs0XT0oZSppLXUqbykqcyx0WzVdPShhKm8t
cippKSpzLHQpOm51bGx9ZnVuY3Rpb24gZih0KXtyZXR1cm4gdFswXSp0WzNdLXRbMV0qdFsyXX1m
dW5jdGlvbiBNKHQsbixyKXt2YXIgYT1uWzBdLGU9blsxXSx1PW5bMl0sbz1uWzNdLGk9bls0XSxz
PW5bNV0sYz1yWzBdLGY9clsxXSxNPXJbMl0saD1yWzNdLGw9cls0XSx2PXJbNV07cmV0dXJuIHRb
MF09YSpjK3UqZix0WzFdPWUqYytvKmYsdFsyXT1hKk0rdSpoLHRbM109ZSpNK28qaCx0WzRdPWEq
bCt1KnYraSx0WzVdPWUqbCtvKnYrcyx0fWZ1bmN0aW9uIGgodCxuLHIpe3ZhciBhPW5bMF0sZT1u
WzFdLHU9blsyXSxvPW5bM10saT1uWzRdLHM9bls1XSxjPU1hdGguc2luKHIpLGY9TWF0aC5jb3Mo
cik7cmV0dXJuIHRbMF09YSpmK3UqYyx0WzFdPWUqZitvKmMsdFsyXT1hKi1jK3UqZix0WzNdPWUq
LWMrbypmLHRbNF09aSx0WzVdPXMsdH1mdW5jdGlvbiBsKHQsbixyKXt2YXIgYT1uWzBdLGU9blsx
XSx1PW5bMl0sbz1uWzNdLGk9bls0XSxzPW5bNV0sYz1yWzBdLGY9clsxXTtyZXR1cm4gdFswXT1h
KmMsdFsxXT1lKmMsdFsyXT11KmYsdFszXT1vKmYsdFs0XT1pLHRbNV09cyx0fWZ1bmN0aW9uIHYo
dCxuLHIpe3ZhciBhPW5bMF0sZT1uWzFdLHU9blsyXSxvPW5bM10saT1uWzRdLHM9bls1XSxjPXJb
MF0sZj1yWzFdO3JldHVybiB0WzBdPWEsdFsxXT1lLHRbMl09dSx0WzNdPW8sdFs0XT1hKmMrdSpm
K2ksdFs1XT1lKmMrbypmK3MsdH1mdW5jdGlvbiBkKHQsbil7dmFyIHI9TWF0aC5zaW4obiksYT1N
YXRoLmNvcyhuKTtyZXR1cm4gdFswXT1hLHRbMV09cix0WzJdPS1yLHRbM109YSx0WzRdPTAsdFs1
XT0wLHR9ZnVuY3Rpb24gYih0LG4pe3JldHVybiB0WzBdPW5bMF0sdFsxXT0wLHRbMl09MCx0WzNd
PW5bMV0sdFs0XT0wLHRbNV09MCx0fWZ1bmN0aW9uIG0odCxuKXtyZXR1cm4gdFswXT0xLHRbMV09
MCx0WzJdPTAsdFszXT0xLHRbNF09blswXSx0WzVdPW5bMV0sdH1mdW5jdGlvbiBwKHQpe3JldHVy
biJtYXQyZCgiK3RbMF0rIiwgIit0WzFdKyIsICIrdFsyXSsiLCAiK3RbM10rIiwgIit0WzRdKyIs
ICIrdFs1XSsiKSJ9ZnVuY3Rpb24gUCh0KXtyZXR1cm4gTWF0aC5zcXJ0KE1hdGgucG93KHRbMF0s
MikrTWF0aC5wb3codFsxXSwyKStNYXRoLnBvdyh0WzJdLDIpK01hdGgucG93KHRbM10sMikrTWF0
aC5wb3codFs0XSwyKStNYXRoLnBvdyh0WzVdLDIpKzEpfWZ1bmN0aW9uIEUodCxuLHIpe3JldHVy
biB0WzBdPW5bMF0rclswXSx0WzFdPW5bMV0rclsxXSx0WzJdPW5bMl0rclsyXSx0WzNdPW5bM10r
clszXSx0WzRdPW5bNF0rcls0XSx0WzVdPW5bNV0rcls1XSx0fWZ1bmN0aW9uIE8odCxuLHIpe3Jl
dHVybiB0WzBdPW5bMF0tclswXSx0WzFdPW5bMV0tclsxXSx0WzJdPW5bMl0tclsyXSx0WzNdPW5b
M10tclszXSx0WzRdPW5bNF0tcls0XSx0WzVdPW5bNV0tcls1XSx0fWZ1bmN0aW9uIHgodCxuLHIp
e3JldHVybiB0WzBdPW5bMF0qcix0WzFdPW5bMV0qcix0WzJdPW5bMl0qcix0WzNdPW5bM10qcix0
WzRdPW5bNF0qcix0WzVdPW5bNV0qcix0fWZ1bmN0aW9uIEEodCxuLHIsYSl7cmV0dXJuIHRbMF09
blswXStyWzBdKmEsdFsxXT1uWzFdK3JbMV0qYSx0WzJdPW5bMl0rclsyXSphLHRbM109blszXSty
WzNdKmEsdFs0XT1uWzRdK3JbNF0qYSx0WzVdPW5bNV0rcls1XSphLHR9ZnVuY3Rpb24gcSh0LG4p
e3JldHVybiB0WzBdPT09blswXSYmdFsxXT09PW5bMV0mJnRbMl09PT1uWzJdJiZ0WzNdPT09blsz
XSYmdFs0XT09PW5bNF0mJnRbNV09PT1uWzVdfWZ1bmN0aW9uIHkodCxuKXt2YXIgcj10WzBdLGE9
dFsxXSxlPXRbMl0sdT10WzNdLG89dFs0XSxpPXRbNV0scz1uWzBdLGM9blsxXSxmPW5bMl0sTT1u
WzNdLGg9bls0XSxsPW5bNV07cmV0dXJuIE1hdGguYWJzKHItcyk8PVIuRVBTSUxPTipNYXRoLm1h
eCgxLE1hdGguYWJzKHIpLE1hdGguYWJzKHMpKSYmTWF0aC5hYnMoYS1jKTw9Ui5FUFNJTE9OKk1h
dGgubWF4KDEsTWF0aC5hYnMoYSksTWF0aC5hYnMoYykpJiZNYXRoLmFicyhlLWYpPD1SLkVQU0lM
T04qTWF0aC5tYXgoMSxNYXRoLmFicyhlKSxNYXRoLmFicyhmKSkmJk1hdGguYWJzKHUtTSk8PVIu
RVBTSUxPTipNYXRoLm1heCgxLE1hdGguYWJzKHUpLE1hdGguYWJzKE0pKSYmTWF0aC5hYnMoby1o
KTw9Ui5FUFNJTE9OKk1hdGgubWF4KDEsTWF0aC5hYnMobyksTWF0aC5hYnMoaCkpJiZNYXRoLmFi
cyhpLWwpPD1SLkVQU0lMT04qTWF0aC5tYXgoMSxNYXRoLmFicyhpKSxNYXRoLmFicyhsKSl9T2Jq
ZWN0LmRlZmluZVByb3BlcnR5KG4sIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLG4uc3ViPW4ubXVs
PXZvaWQgMCxuLmNyZWF0ZT1hLG4uY2xvbmU9ZSxuLmNvcHk9dSxuLmlkZW50aXR5PW8sbi5mcm9t
VmFsdWVzPWksbi5zZXQ9cyxuLmludmVydD1jLG4uZGV0ZXJtaW5hbnQ9ZixuLm11bHRpcGx5PU0s
bi5yb3RhdGU9aCxuLnNjYWxlPWwsbi50cmFuc2xhdGU9dixuLmZyb21Sb3RhdGlvbj1kLG4uZnJv
bVNjYWxpbmc9YixuLmZyb21UcmFuc2xhdGlvbj1tLG4uc3RyPXAsbi5mcm9iPVAsbi5hZGQ9RSxu
LnN1YnRyYWN0PU8sbi5tdWx0aXBseVNjYWxhcj14LG4ubXVsdGlwbHlTY2FsYXJBbmRBZGQ9QSxu
LmV4YWN0RXF1YWxzPXEsbi5lcXVhbHM9eTt2YXIgdz1yKDApLFI9ZnVuY3Rpb24odCl7aWYodCYm
dC5fX2VzTW9kdWxlKXJldHVybiB0O3ZhciBuPXt9O2lmKG51bGwhPXQpZm9yKHZhciByIGluIHQp
T2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKHQscikmJihuW3JdPXRbcl0pO3Jl
dHVybiBuLmRlZmF1bHQ9dCxufSh3KTtuLm11bD1NLG4uc3ViPU99LGZ1bmN0aW9uKHQsbixyKXsi
dXNlIHN0cmljdCI7ZnVuY3Rpb24gYSgpe3ZhciB0PW5ldyBDLkFSUkFZX1RZUEUoMTYpO3JldHVy
biB0WzBdPTEsdFsxXT0wLHRbMl09MCx0WzNdPTAsdFs0XT0wLHRbNV09MSx0WzZdPTAsdFs3XT0w
LHRbOF09MCx0WzldPTAsdFsxMF09MSx0WzExXT0wLHRbMTJdPTAsdFsxM109MCx0WzE0XT0wLHRb
MTVdPTEsdH1mdW5jdGlvbiBlKHQpe3ZhciBuPW5ldyBDLkFSUkFZX1RZUEUoMTYpO3JldHVybiBu
WzBdPXRbMF0sblsxXT10WzFdLG5bMl09dFsyXSxuWzNdPXRbM10sbls0XT10WzRdLG5bNV09dFs1
XSxuWzZdPXRbNl0sbls3XT10WzddLG5bOF09dFs4XSxuWzldPXRbOV0sblsxMF09dFsxMF0sblsx
MV09dFsxMV0sblsxMl09dFsxMl0sblsxM109dFsxM10sblsxNF09dFsxNF0sblsxNV09dFsxNV0s
bn1mdW5jdGlvbiB1KHQsbil7cmV0dXJuIHRbMF09blswXSx0WzFdPW5bMV0sdFsyXT1uWzJdLHRb
M109blszXSx0WzRdPW5bNF0sdFs1XT1uWzVdLHRbNl09bls2XSx0WzddPW5bN10sdFs4XT1uWzhd
LHRbOV09bls5XSx0WzEwXT1uWzEwXSx0WzExXT1uWzExXSx0WzEyXT1uWzEyXSx0WzEzXT1uWzEz
XSx0WzE0XT1uWzE0XSx0WzE1XT1uWzE1XSx0fWZ1bmN0aW9uIG8odCxuLHIsYSxlLHUsbyxpLHMs
YyxmLE0saCxsLHYsZCl7dmFyIGI9bmV3IEMuQVJSQVlfVFlQRSgxNik7cmV0dXJuIGJbMF09dCxi
WzFdPW4sYlsyXT1yLGJbM109YSxiWzRdPWUsYls1XT11LGJbNl09byxiWzddPWksYls4XT1zLGJb
OV09YyxiWzEwXT1mLGJbMTFdPU0sYlsxMl09aCxiWzEzXT1sLGJbMTRdPXYsYlsxNV09ZCxifWZ1
bmN0aW9uIGkodCxuLHIsYSxlLHUsbyxpLHMsYyxmLE0saCxsLHYsZCxiKXtyZXR1cm4gdFswXT1u
LHRbMV09cix0WzJdPWEsdFszXT1lLHRbNF09dSx0WzVdPW8sdFs2XT1pLHRbN109cyx0WzhdPWMs
dFs5XT1mLHRbMTBdPU0sdFsxMV09aCx0WzEyXT1sLHRbMTNdPXYsdFsxNF09ZCx0WzE1XT1iLHR9
ZnVuY3Rpb24gcyh0KXtyZXR1cm4gdFswXT0xLHRbMV09MCx0WzJdPTAsdFszXT0wLHRbNF09MCx0
WzVdPTEsdFs2XT0wLHRbN109MCx0WzhdPTAsdFs5XT0wLHRbMTBdPTEsdFsxMV09MCx0WzEyXT0w
LHRbMTNdPTAsdFsxNF09MCx0WzE1XT0xLHR9ZnVuY3Rpb24gYyh0LG4pe2lmKHQ9PT1uKXt2YXIg
cj1uWzFdLGE9blsyXSxlPW5bM10sdT1uWzZdLG89bls3XSxpPW5bMTFdO3RbMV09bls0XSx0WzJd
PW5bOF0sdFszXT1uWzEyXSx0WzRdPXIsdFs2XT1uWzldLHRbN109blsxM10sdFs4XT1hLHRbOV09
dSx0WzExXT1uWzE0XSx0WzEyXT1lLHRbMTNdPW8sdFsxNF09aX1lbHNlIHRbMF09blswXSx0WzFd
PW5bNF0sdFsyXT1uWzhdLHRbM109blsxMl0sdFs0XT1uWzFdLHRbNV09bls1XSx0WzZdPW5bOV0s
dFs3XT1uWzEzXSx0WzhdPW5bMl0sdFs5XT1uWzZdLHRbMTBdPW5bMTBdLHRbMTFdPW5bMTRdLHRb
MTJdPW5bM10sdFsxM109bls3XSx0WzE0XT1uWzExXSx0WzE1XT1uWzE1XTtyZXR1cm4gdH1mdW5j
dGlvbiBmKHQsbil7dmFyIHI9blswXSxhPW5bMV0sZT1uWzJdLHU9blszXSxvPW5bNF0saT1uWzVd
LHM9bls2XSxjPW5bN10sZj1uWzhdLE09bls5XSxoPW5bMTBdLGw9blsxMV0sdj1uWzEyXSxkPW5b
MTNdLGI9blsxNF0sbT1uWzE1XSxwPXIqaS1hKm8sUD1yKnMtZSpvLEU9cipjLXUqbyxPPWEqcy1l
KmkseD1hKmMtdSppLEE9ZSpjLXUqcyxxPWYqZC1NKnYseT1mKmItaCp2LHc9ZiptLWwqdixSPU0q
Yi1oKmQsTD1NKm0tbCpkLFM9aCptLWwqYixfPXAqUy1QKkwrRSpSK08qdy14KnkrQSpxO3JldHVy
biBfPyhfPTEvXyx0WzBdPShpKlMtcypMK2MqUikqXyx0WzFdPShlKkwtYSpTLXUqUikqXyx0WzJd
PShkKkEtYip4K20qTykqXyx0WzNdPShoKngtTSpBLWwqTykqXyx0WzRdPShzKnctbypTLWMqeSkq
Xyx0WzVdPShyKlMtZSp3K3UqeSkqXyx0WzZdPShiKkUtdipBLW0qUCkqXyx0WzddPShmKkEtaCpF
K2wqUCkqXyx0WzhdPShvKkwtaSp3K2MqcSkqXyx0WzldPShhKnctcipMLXUqcSkqXyx0WzEwXT0o
dip4LWQqRSttKnApKl8sdFsxMV09KE0qRS1mKngtbCpwKSpfLHRbMTJdPShpKnktbypSLXMqcSkq
Xyx0WzEzXT0ocipSLWEqeStlKnEpKl8sdFsxNF09KGQqUC12Kk8tYipwKSpfLHRbMTVdPShmKk8t
TSpQK2gqcCkqXyx0KTpudWxsfWZ1bmN0aW9uIE0odCxuKXt2YXIgcj1uWzBdLGE9blsxXSxlPW5b
Ml0sdT1uWzNdLG89bls0XSxpPW5bNV0scz1uWzZdLGM9bls3XSxmPW5bOF0sTT1uWzldLGg9blsx
MF0sbD1uWzExXSx2PW5bMTJdLGQ9blsxM10sYj1uWzE0XSxtPW5bMTVdO3JldHVybiB0WzBdPWkq
KGgqbS1sKmIpLU0qKHMqbS1jKmIpK2QqKHMqbC1jKmgpLHRbMV09LShhKihoKm0tbCpiKS1NKihl
Km0tdSpiKStkKihlKmwtdSpoKSksdFsyXT1hKihzKm0tYypiKS1pKihlKm0tdSpiKStkKihlKmMt
dSpzKSx0WzNdPS0oYSoocypsLWMqaCktaSooZSpsLXUqaCkrTSooZSpjLXUqcykpLHRbNF09LShv
KihoKm0tbCpiKS1mKihzKm0tYypiKSt2KihzKmwtYypoKSksdFs1XT1yKihoKm0tbCpiKS1mKihl
Km0tdSpiKSt2KihlKmwtdSpoKSx0WzZdPS0ocioocyptLWMqYiktbyooZSptLXUqYikrdiooZSpj
LXUqcykpLHRbN109cioocypsLWMqaCktbyooZSpsLXUqaCkrZiooZSpjLXUqcyksdFs4XT1vKihN
Km0tbCpkKS1mKihpKm0tYypkKSt2KihpKmwtYypNKSx0WzldPS0ociooTSptLWwqZCktZiooYSpt
LXUqZCkrdiooYSpsLXUqTSkpLHRbMTBdPXIqKGkqbS1jKmQpLW8qKGEqbS11KmQpK3YqKGEqYy11
KmkpLHRbMTFdPS0ociooaSpsLWMqTSktbyooYSpsLXUqTSkrZiooYSpjLXUqaSkpLHRbMTJdPS0o
byooTSpiLWgqZCktZiooaSpiLXMqZCkrdiooaSpoLXMqTSkpLHRbMTNdPXIqKE0qYi1oKmQpLWYq
KGEqYi1lKmQpK3YqKGEqaC1lKk0pLHRbMTRdPS0ociooaSpiLXMqZCktbyooYSpiLWUqZCkrdioo
YSpzLWUqaSkpLHRbMTVdPXIqKGkqaC1zKk0pLW8qKGEqaC1lKk0pK2YqKGEqcy1lKmkpLHR9ZnVu
Y3Rpb24gaCh0KXt2YXIgbj10WzBdLHI9dFsxXSxhPXRbMl0sZT10WzNdLHU9dFs0XSxvPXRbNV0s
aT10WzZdLHM9dFs3XSxjPXRbOF0sZj10WzldLE09dFsxMF0saD10WzExXSxsPXRbMTJdLHY9dFsx
M10sZD10WzE0XSxiPXRbMTVdO3JldHVybihuKm8tcip1KSooTSpiLWgqZCktKG4qaS1hKnUpKihm
KmItaCp2KSsobipzLWUqdSkqKGYqZC1NKnYpKyhyKmktYSpvKSooYypiLWgqbCktKHIqcy1lKm8p
KihjKmQtTSpsKSsoYSpzLWUqaSkqKGMqdi1mKmwpfWZ1bmN0aW9uIGwodCxuLHIpe3ZhciBhPW5b
MF0sZT1uWzFdLHU9blsyXSxvPW5bM10saT1uWzRdLHM9bls1XSxjPW5bNl0sZj1uWzddLE09bls4
XSxoPW5bOV0sbD1uWzEwXSx2PW5bMTFdLGQ9blsxMl0sYj1uWzEzXSxtPW5bMTRdLHA9blsxNV0s
UD1yWzBdLEU9clsxXSxPPXJbMl0seD1yWzNdO3JldHVybiB0WzBdPVAqYStFKmkrTypNK3gqZCx0
WzFdPVAqZStFKnMrTypoK3gqYix0WzJdPVAqdStFKmMrTypsK3gqbSx0WzNdPVAqbytFKmYrTyp2
K3gqcCxQPXJbNF0sRT1yWzVdLE89cls2XSx4PXJbN10sdFs0XT1QKmErRSppK08qTSt4KmQsdFs1
XT1QKmUrRSpzK08qaCt4KmIsdFs2XT1QKnUrRSpjK08qbCt4Km0sdFs3XT1QKm8rRSpmK08qdit4
KnAsUD1yWzhdLEU9cls5XSxPPXJbMTBdLHg9clsxMV0sdFs4XT1QKmErRSppK08qTSt4KmQsdFs5
XT1QKmUrRSpzK08qaCt4KmIsdFsxMF09UCp1K0UqYytPKmwreCptLHRbMTFdPVAqbytFKmYrTyp2
K3gqcCxQPXJbMTJdLEU9clsxM10sTz1yWzE0XSx4PXJbMTVdLHRbMTJdPVAqYStFKmkrTypNK3gq
ZCx0WzEzXT1QKmUrRSpzK08qaCt4KmIsdFsxNF09UCp1K0UqYytPKmwreCptLHRbMTVdPVAqbytF
KmYrTyp2K3gqcCx0fWZ1bmN0aW9uIHYodCxuLHIpe3ZhciBhPXJbMF0sZT1yWzFdLHU9clsyXSxv
PXZvaWQgMCxpPXZvaWQgMCxzPXZvaWQgMCxjPXZvaWQgMCxmPXZvaWQgMCxNPXZvaWQgMCxoPXZv
aWQgMCxsPXZvaWQgMCx2PXZvaWQgMCxkPXZvaWQgMCxiPXZvaWQgMCxtPXZvaWQgMDtyZXR1cm4g
bj09PXQ/KHRbMTJdPW5bMF0qYStuWzRdKmUrbls4XSp1K25bMTJdLHRbMTNdPW5bMV0qYStuWzVd
KmUrbls5XSp1K25bMTNdLHRbMTRdPW5bMl0qYStuWzZdKmUrblsxMF0qdStuWzE0XSx0WzE1XT1u
WzNdKmErbls3XSplK25bMTFdKnUrblsxNV0pOihvPW5bMF0saT1uWzFdLHM9blsyXSxjPW5bM10s
Zj1uWzRdLE09bls1XSxoPW5bNl0sbD1uWzddLHY9bls4XSxkPW5bOV0sYj1uWzEwXSxtPW5bMTFd
LHRbMF09byx0WzFdPWksdFsyXT1zLHRbM109Yyx0WzRdPWYsdFs1XT1NLHRbNl09aCx0WzddPWws
dFs4XT12LHRbOV09ZCx0WzEwXT1iLHRbMTFdPW0sdFsxMl09byphK2YqZSt2KnUrblsxMl0sdFsx
M109aSphK00qZStkKnUrblsxM10sdFsxNF09cyphK2gqZStiKnUrblsxNF0sdFsxNV09YyphK2wq
ZSttKnUrblsxNV0pLHR9ZnVuY3Rpb24gZCh0LG4scil7dmFyIGE9clswXSxlPXJbMV0sdT1yWzJd
O3JldHVybiB0WzBdPW5bMF0qYSx0WzFdPW5bMV0qYSx0WzJdPW5bMl0qYSx0WzNdPW5bM10qYSx0
WzRdPW5bNF0qZSx0WzVdPW5bNV0qZSx0WzZdPW5bNl0qZSx0WzddPW5bN10qZSx0WzhdPW5bOF0q
dSx0WzldPW5bOV0qdSx0WzEwXT1uWzEwXSp1LHRbMTFdPW5bMTFdKnUsdFsxMl09blsxMl0sdFsx
M109blsxM10sdFsxNF09blsxNF0sdFsxNV09blsxNV0sdH1mdW5jdGlvbiBiKHQsbixyLGEpe3Zh
ciBlPWFbMF0sdT1hWzFdLG89YVsyXSxpPU1hdGguc3FydChlKmUrdSp1K28qbykscz12b2lkIDAs
Yz12b2lkIDAsZj12b2lkIDAsTT12b2lkIDAsaD12b2lkIDAsbD12b2lkIDAsdj12b2lkIDAsZD12
b2lkIDAsYj12b2lkIDAsbT12b2lkIDAscD12b2lkIDAsUD12b2lkIDAsRT12b2lkIDAsTz12b2lk
IDAseD12b2lkIDAsQT12b2lkIDAscT12b2lkIDAseT12b2lkIDAsdz12b2lkIDAsUj12b2lkIDAs
TD12b2lkIDAsUz12b2lkIDAsXz12b2lkIDAsST12b2lkIDA7cmV0dXJuIE1hdGguYWJzKGkpPEMu
RVBTSUxPTj9udWxsOihpPTEvaSxlKj1pLHUqPWksbyo9aSxzPU1hdGguc2luKHIpLGM9TWF0aC5j
b3MociksZj0xLWMsTT1uWzBdLGg9blsxXSxsPW5bMl0sdj1uWzNdLGQ9bls0XSxiPW5bNV0sbT1u
WzZdLHA9bls3XSxQPW5bOF0sRT1uWzldLE89blsxMF0seD1uWzExXSxBPWUqZSpmK2MscT11KmUq
ZitvKnMseT1vKmUqZi11KnMsdz1lKnUqZi1vKnMsUj11KnUqZitjLEw9byp1KmYrZSpzLFM9ZSpv
KmYrdSpzLF89dSpvKmYtZSpzLEk9bypvKmYrYyx0WzBdPU0qQStkKnErUCp5LHRbMV09aCpBK2Iq
cStFKnksdFsyXT1sKkErbSpxK08qeSx0WzNdPXYqQStwKnEreCp5LHRbNF09TSp3K2QqUitQKkws
dFs1XT1oKncrYipSK0UqTCx0WzZdPWwqdyttKlIrTypMLHRbN109dip3K3AqUit4KkwsdFs4XT1N
KlMrZCpfK1AqSSx0WzldPWgqUytiKl8rRSpJLHRbMTBdPWwqUyttKl8rTypJLHRbMTFdPXYqUytw
Kl8reCpJLG4hPT10JiYodFsxMl09blsxMl0sdFsxM109blsxM10sdFsxNF09blsxNF0sdFsxNV09
blsxNV0pLHQpfWZ1bmN0aW9uIG0odCxuLHIpe3ZhciBhPU1hdGguc2luKHIpLGU9TWF0aC5jb3Mo
ciksdT1uWzRdLG89bls1XSxpPW5bNl0scz1uWzddLGM9bls4XSxmPW5bOV0sTT1uWzEwXSxoPW5b
MTFdO3JldHVybiBuIT09dCYmKHRbMF09blswXSx0WzFdPW5bMV0sdFsyXT1uWzJdLHRbM109blsz
XSx0WzEyXT1uWzEyXSx0WzEzXT1uWzEzXSx0WzE0XT1uWzE0XSx0WzE1XT1uWzE1XSksdFs0XT11
KmUrYyphLHRbNV09byplK2YqYSx0WzZdPWkqZStNKmEsdFs3XT1zKmUraCphLHRbOF09YyplLXUq
YSx0WzldPWYqZS1vKmEsdFsxMF09TSplLWkqYSx0WzExXT1oKmUtcyphLHR9ZnVuY3Rpb24gcCh0
LG4scil7dmFyIGE9TWF0aC5zaW4ociksZT1NYXRoLmNvcyhyKSx1PW5bMF0sbz1uWzFdLGk9blsy
XSxzPW5bM10sYz1uWzhdLGY9bls5XSxNPW5bMTBdLGg9blsxMV07cmV0dXJuIG4hPT10JiYodFs0
XT1uWzRdLHRbNV09bls1XSx0WzZdPW5bNl0sdFs3XT1uWzddLHRbMTJdPW5bMTJdLHRbMTNdPW5b
MTNdLHRbMTRdPW5bMTRdLHRbMTVdPW5bMTVdKSx0WzBdPXUqZS1jKmEsdFsxXT1vKmUtZiphLHRb
Ml09aSplLU0qYSx0WzNdPXMqZS1oKmEsdFs4XT11KmErYyplLHRbOV09byphK2YqZSx0WzEwXT1p
KmErTSplLHRbMTFdPXMqYStoKmUsdH1mdW5jdGlvbiBQKHQsbixyKXt2YXIgYT1NYXRoLnNpbihy
KSxlPU1hdGguY29zKHIpLHU9blswXSxvPW5bMV0saT1uWzJdLHM9blszXSxjPW5bNF0sZj1uWzVd
LE09bls2XSxoPW5bN107cmV0dXJuIG4hPT10JiYodFs4XT1uWzhdLHRbOV09bls5XSx0WzEwXT1u
WzEwXSx0WzExXT1uWzExXSx0WzEyXT1uWzEyXSx0WzEzXT1uWzEzXSx0WzE0XT1uWzE0XSx0WzE1
XT1uWzE1XSksdFswXT11KmUrYyphLHRbMV09byplK2YqYSx0WzJdPWkqZStNKmEsdFszXT1zKmUr
aCphLHRbNF09YyplLXUqYSx0WzVdPWYqZS1vKmEsdFs2XT1NKmUtaSphLHRbN109aCplLXMqYSx0
fWZ1bmN0aW9uIEUodCxuKXtyZXR1cm4gdFswXT0xLHRbMV09MCx0WzJdPTAsdFszXT0wLHRbNF09
MCx0WzVdPTEsdFs2XT0wLHRbN109MCx0WzhdPTAsdFs5XT0wLHRbMTBdPTEsdFsxMV09MCx0WzEy
XT1uWzBdLHRbMTNdPW5bMV0sdFsxNF09blsyXSx0WzE1XT0xLHR9ZnVuY3Rpb24gTyh0LG4pe3Jl
dHVybiB0WzBdPW5bMF0sdFsxXT0wLHRbMl09MCx0WzNdPTAsdFs0XT0wLHRbNV09blsxXSx0WzZd
PTAsdFs3XT0wLHRbOF09MCx0WzldPTAsdFsxMF09blsyXSx0WzExXT0wLHRbMTJdPTAsdFsxM109
MCx0WzE0XT0wLHRbMTVdPTEsdH1mdW5jdGlvbiB4KHQsbixyKXt2YXIgYT1yWzBdLGU9clsxXSx1
PXJbMl0sbz1NYXRoLnNxcnQoYSphK2UqZSt1KnUpLGk9dm9pZCAwLHM9dm9pZCAwLGM9dm9pZCAw
O3JldHVybiBNYXRoLmFicyhvKTxDLkVQU0lMT04/bnVsbDoobz0xL28sYSo9byxlKj1vLHUqPW8s
aT1NYXRoLnNpbihuKSxzPU1hdGguY29zKG4pLGM9MS1zLHRbMF09YSphKmMrcyx0WzFdPWUqYSpj
K3UqaSx0WzJdPXUqYSpjLWUqaSx0WzNdPTAsdFs0XT1hKmUqYy11KmksdFs1XT1lKmUqYytzLHRb
Nl09dSplKmMrYSppLHRbN109MCx0WzhdPWEqdSpjK2UqaSx0WzldPWUqdSpjLWEqaSx0WzEwXT11
KnUqYytzLHRbMTFdPTAsdFsxMl09MCx0WzEzXT0wLHRbMTRdPTAsdFsxNV09MSx0KX1mdW5jdGlv
biBBKHQsbil7dmFyIHI9TWF0aC5zaW4obiksYT1NYXRoLmNvcyhuKTtyZXR1cm4gdFswXT0xLHRb
MV09MCx0WzJdPTAsdFszXT0wLHRbNF09MCx0WzVdPWEsdFs2XT1yLHRbN109MCx0WzhdPTAsdFs5
XT0tcix0WzEwXT1hLHRbMTFdPTAsdFsxMl09MCx0WzEzXT0wLHRbMTRdPTAsdFsxNV09MSx0fWZ1
bmN0aW9uIHEodCxuKXt2YXIgcj1NYXRoLnNpbihuKSxhPU1hdGguY29zKG4pO3JldHVybiB0WzBd
PWEsdFsxXT0wLHRbMl09LXIsdFszXT0wLHRbNF09MCx0WzVdPTEsdFs2XT0wLHRbN109MCx0Wzhd
PXIsdFs5XT0wLHRbMTBdPWEsdFsxMV09MCx0WzEyXT0wLHRbMTNdPTAsdFsxNF09MCx0WzE1XT0x
LHR9ZnVuY3Rpb24geSh0LG4pe3ZhciByPU1hdGguc2luKG4pLGE9TWF0aC5jb3Mobik7cmV0dXJu
IHRbMF09YSx0WzFdPXIsdFsyXT0wLHRbM109MCx0WzRdPS1yLHRbNV09YSx0WzZdPTAsdFs3XT0w
LHRbOF09MCx0WzldPTAsdFsxMF09MSx0WzExXT0wLHRbMTJdPTAsdFsxM109MCx0WzE0XT0wLHRb
MTVdPTEsdH1mdW5jdGlvbiB3KHQsbixyKXt2YXIgYT1uWzBdLGU9blsxXSx1PW5bMl0sbz1uWzNd
LGk9YSthLHM9ZStlLGM9dSt1LGY9YSppLE09YSpzLGg9YSpjLGw9ZSpzLHY9ZSpjLGQ9dSpjLGI9
byppLG09bypzLHA9bypjO3JldHVybiB0WzBdPTEtKGwrZCksdFsxXT1NK3AsdFsyXT1oLW0sdFsz
XT0wLHRbNF09TS1wLHRbNV09MS0oZitkKSx0WzZdPXYrYix0WzddPTAsdFs4XT1oK20sdFs5XT12
LWIsdFsxMF09MS0oZitsKSx0WzExXT0wLHRbMTJdPXJbMF0sdFsxM109clsxXSx0WzE0XT1yWzJd
LHRbMTVdPTEsdH1mdW5jdGlvbiBSKHQsbil7cmV0dXJuIHRbMF09blsxMl0sdFsxXT1uWzEzXSx0
WzJdPW5bMTRdLHR9ZnVuY3Rpb24gTCh0LG4pe3ZhciByPW5bMF0sYT1uWzFdLGU9blsyXSx1PW5b
NF0sbz1uWzVdLGk9bls2XSxzPW5bOF0sYz1uWzldLGY9blsxMF07cmV0dXJuIHRbMF09TWF0aC5z
cXJ0KHIqcithKmErZSplKSx0WzFdPU1hdGguc3FydCh1KnUrbypvK2kqaSksdFsyXT1NYXRoLnNx
cnQocypzK2MqYytmKmYpLHR9ZnVuY3Rpb24gUyh0LG4pe3ZhciByPW5bMF0rbls1XStuWzEwXSxh
PTA7cmV0dXJuIHI+MD8oYT0yKk1hdGguc3FydChyKzEpLHRbM109LjI1KmEsdFswXT0obls2XS1u
WzldKS9hLHRbMV09KG5bOF0tblsyXSkvYSx0WzJdPShuWzFdLW5bNF0pL2EpOm5bMF0+bls1XSZu
WzBdPm5bMTBdPyhhPTIqTWF0aC5zcXJ0KDErblswXS1uWzVdLW5bMTBdKSx0WzNdPShuWzZdLW5b
OV0pL2EsdFswXT0uMjUqYSx0WzFdPShuWzFdK25bNF0pL2EsdFsyXT0obls4XStuWzJdKS9hKTpu
WzVdPm5bMTBdPyhhPTIqTWF0aC5zcXJ0KDErbls1XS1uWzBdLW5bMTBdKSx0WzNdPShuWzhdLW5b
Ml0pL2EsdFswXT0oblsxXStuWzRdKS9hLHRbMV09LjI1KmEsdFsyXT0obls2XStuWzldKS9hKToo
YT0yKk1hdGguc3FydCgxK25bMTBdLW5bMF0tbls1XSksdFszXT0oblsxXS1uWzRdKS9hLHRbMF09
KG5bOF0rblsyXSkvYSx0WzFdPShuWzZdK25bOV0pL2EsdFsyXT0uMjUqYSksdH1mdW5jdGlvbiBf
KHQsbixyLGEpe3ZhciBlPW5bMF0sdT1uWzFdLG89blsyXSxpPW5bM10scz1lK2UsYz11K3UsZj1v
K28sTT1lKnMsaD1lKmMsbD1lKmYsdj11KmMsZD11KmYsYj1vKmYsbT1pKnMscD1pKmMsUD1pKmYs
RT1hWzBdLE89YVsxXSx4PWFbMl07cmV0dXJuIHRbMF09KDEtKHYrYikpKkUsdFsxXT0oaCtQKSpF
LHRbMl09KGwtcCkqRSx0WzNdPTAsdFs0XT0oaC1QKSpPLHRbNV09KDEtKE0rYikpKk8sdFs2XT0o
ZCttKSpPLHRbN109MCx0WzhdPShsK3ApKngsdFs5XT0oZC1tKSp4LHRbMTBdPSgxLShNK3YpKSp4
LHRbMTFdPTAsdFsxMl09clswXSx0WzEzXT1yWzFdLHRbMTRdPXJbMl0sdFsxNV09MSx0fWZ1bmN0
aW9uIEkodCxuLHIsYSxlKXt2YXIgdT1uWzBdLG89blsxXSxpPW5bMl0scz1uWzNdLGM9dSt1LGY9
bytvLE09aStpLGg9dSpjLGw9dSpmLHY9dSpNLGQ9bypmLGI9bypNLG09aSpNLHA9cypjLFA9cypm
LEU9cypNLE89YVswXSx4PWFbMV0sQT1hWzJdLHE9ZVswXSx5PWVbMV0sdz1lWzJdO3JldHVybiB0
WzBdPSgxLShkK20pKSpPLHRbMV09KGwrRSkqTyx0WzJdPSh2LVApKk8sdFszXT0wLHRbNF09KGwt
RSkqeCx0WzVdPSgxLShoK20pKSp4LHRbNl09KGIrcCkqeCx0WzddPTAsdFs4XT0oditQKSpBLHRb
OV09KGItcCkqQSx0WzEwXT0oMS0oaCtkKSkqQSx0WzExXT0wLHRbMTJdPXJbMF0rcS0odFswXSpx
K3RbNF0qeSt0WzhdKncpLHRbMTNdPXJbMV0reS0odFsxXSpxK3RbNV0qeSt0WzldKncpLHRbMTRd
PXJbMl0rdy0odFsyXSpxK3RbNl0qeSt0WzEwXSp3KSx0WzE1XT0xLHR9ZnVuY3Rpb24gTih0LG4p
e3ZhciByPW5bMF0sYT1uWzFdLGU9blsyXSx1PW5bM10sbz1yK3IsaT1hK2Escz1lK2UsYz1yKm8s
Zj1hKm8sTT1hKmksaD1lKm8sbD1lKmksdj1lKnMsZD11Km8sYj11KmksbT11KnM7cmV0dXJuIHRb
MF09MS1NLXYsdFsxXT1mK20sdFsyXT1oLWIsdFszXT0wLHRbNF09Zi1tLHRbNV09MS1jLXYsdFs2
XT1sK2QsdFs3XT0wLHRbOF09aCtiLHRbOV09bC1kLHRbMTBdPTEtYy1NLHRbMTFdPTAsdFsxMl09
MCx0WzEzXT0wLHRbMTRdPTAsdFsxNV09MSx0fWZ1bmN0aW9uIFkodCxuLHIsYSxlLHUsbyl7dmFy
IGk9MS8oci1uKSxzPTEvKGUtYSksYz0xLyh1LW8pO3JldHVybiB0WzBdPTIqdSppLHRbMV09MCx0
WzJdPTAsdFszXT0wLHRbNF09MCx0WzVdPTIqdSpzLHRbNl09MCx0WzddPTAsdFs4XT0ocituKSpp
LHRbOV09KGUrYSkqcyx0WzEwXT0obyt1KSpjLHRbMTFdPS0xLHRbMTJdPTAsdFsxM109MCx0WzE0
XT1vKnUqMipjLHRbMTVdPTAsdH1mdW5jdGlvbiBnKHQsbixyLGEsZSl7dmFyIHU9MS9NYXRoLnRh
bihuLzIpLG89MS8oYS1lKTtyZXR1cm4gdFswXT11L3IsdFsxXT0wLHRbMl09MCx0WzNdPTAsdFs0
XT0wLHRbNV09dSx0WzZdPTAsdFs3XT0wLHRbOF09MCx0WzldPTAsdFsxMF09KGUrYSkqbyx0WzEx
XT0tMSx0WzEyXT0wLHRbMTNdPTAsdFsxNF09MiplKmEqbyx0WzE1XT0wLHR9ZnVuY3Rpb24gVCh0
LG4scixhKXt2YXIgZT1NYXRoLnRhbihuLnVwRGVncmVlcypNYXRoLlBJLzE4MCksdT1NYXRoLnRh
bihuLmRvd25EZWdyZWVzKk1hdGguUEkvMTgwKSxvPU1hdGgudGFuKG4ubGVmdERlZ3JlZXMqTWF0
aC5QSS8xODApLGk9TWF0aC50YW4obi5yaWdodERlZ3JlZXMqTWF0aC5QSS8xODApLHM9Mi8obytp
KSxjPTIvKGUrdSk7cmV0dXJuIHRbMF09cyx0WzFdPTAsdFsyXT0wLHRbM109MCx0WzRdPTAsdFs1
XT1jLHRbNl09MCx0WzddPTAsdFs4XT0tKG8taSkqcyouNSx0WzldPShlLXUpKmMqLjUsdFsxMF09
YS8oci1hKSx0WzExXT0tMSx0WzEyXT0wLHRbMTNdPTAsdFsxNF09YSpyLyhyLWEpLHRbMTVdPTAs
dH1mdW5jdGlvbiBqKHQsbixyLGEsZSx1LG8pe3ZhciBpPTEvKG4tcikscz0xLyhhLWUpLGM9MS8o
dS1vKTtyZXR1cm4gdFswXT0tMippLHRbMV09MCx0WzJdPTAsdFszXT0wLHRbNF09MCx0WzVdPS0y
KnMsdFs2XT0wLHRbN109MCx0WzhdPTAsdFs5XT0wLHRbMTBdPTIqYyx0WzExXT0wLHRbMTJdPShu
K3IpKmksdFsxM109KGUrYSkqcyx0WzE0XT0obyt1KSpjLHRbMTVdPTEsdH1mdW5jdGlvbiBEKHQs
bixyLGEpe3ZhciBlPXZvaWQgMCx1PXZvaWQgMCxvPXZvaWQgMCxpPXZvaWQgMCxzPXZvaWQgMCxj
PXZvaWQgMCxmPXZvaWQgMCxNPXZvaWQgMCxoPXZvaWQgMCxsPXZvaWQgMCx2PW5bMF0sZD1uWzFd
LGI9blsyXSxtPWFbMF0scD1hWzFdLFA9YVsyXSxFPXJbMF0sTz1yWzFdLHg9clsyXTtyZXR1cm4g
TWF0aC5hYnModi1FKTxDLkVQU0lMT04mJk1hdGguYWJzKGQtTyk8Qy5FUFNJTE9OJiZNYXRoLmFi
cyhiLXgpPEMuRVBTSUxPTj9tYXQ0LmlkZW50aXR5KHQpOihmPXYtRSxNPWQtTyxoPWIteCxsPTEv
TWF0aC5zcXJ0KGYqZitNKk0raCpoKSxmKj1sLE0qPWwsaCo9bCxlPXAqaC1QKk0sdT1QKmYtbSpo
LG89bSpNLXAqZixsPU1hdGguc3FydChlKmUrdSp1K28qbyksbD8obD0xL2wsZSo9bCx1Kj1sLG8q
PWwpOihlPTAsdT0wLG89MCksaT1NKm8taCp1LHM9aCplLWYqbyxjPWYqdS1NKmUsbD1NYXRoLnNx
cnQoaSppK3MqcytjKmMpLGw/KGw9MS9sLGkqPWwscyo9bCxjKj1sKTooaT0wLHM9MCxjPTApLHRb
MF09ZSx0WzFdPWksdFsyXT1mLHRbM109MCx0WzRdPXUsdFs1XT1zLHRbNl09TSx0WzddPTAsdFs4
XT1vLHRbOV09Yyx0WzEwXT1oLHRbMTFdPTAsdFsxMl09LShlKnYrdSpkK28qYiksdFsxM109LShp
KnYrcypkK2MqYiksdFsxNF09LShmKnYrTSpkK2gqYiksdFsxNV09MSx0KX1mdW5jdGlvbiBWKHQs
bixyLGEpe3ZhciBlPW5bMF0sdT1uWzFdLG89blsyXSxpPWFbMF0scz1hWzFdLGM9YVsyXSxmPWUt
clswXSxNPXUtclsxXSxoPW8tclsyXSxsPWYqZitNKk0raCpoO2w+MCYmKGw9MS9NYXRoLnNxcnQo
bCksZio9bCxNKj1sLGgqPWwpO3ZhciB2PXMqaC1jKk0sZD1jKmYtaSpoLGI9aSpNLXMqZjtyZXR1
cm4gdFswXT12LHRbMV09ZCx0WzJdPWIsdFszXT0wLHRbNF09TSpiLWgqZCx0WzVdPWgqdi1mKmIs
dFs2XT1mKmQtTSp2LHRbN109MCx0WzhdPWYsdFs5XT1NLHRbMTBdPWgsdFsxMV09MCx0WzEyXT1l
LHRbMTNdPXUsdFsxNF09byx0WzE1XT0xLHR9ZnVuY3Rpb24geih0KXtyZXR1cm4ibWF0NCgiK3Rb
MF0rIiwgIit0WzFdKyIsICIrdFsyXSsiLCAiK3RbM10rIiwgIit0WzRdKyIsICIrdFs1XSsiLCAi
K3RbNl0rIiwgIit0WzddKyIsICIrdFs4XSsiLCAiK3RbOV0rIiwgIit0WzEwXSsiLCAiK3RbMTFd
KyIsICIrdFsxMl0rIiwgIit0WzEzXSsiLCAiK3RbMTRdKyIsICIrdFsxNV0rIikifWZ1bmN0aW9u
IEYodCl7cmV0dXJuIE1hdGguc3FydChNYXRoLnBvdyh0WzBdLDIpK01hdGgucG93KHRbMV0sMikr
TWF0aC5wb3codFsyXSwyKStNYXRoLnBvdyh0WzNdLDIpK01hdGgucG93KHRbNF0sMikrTWF0aC5w
b3codFs1XSwyKStNYXRoLnBvdyh0WzZdLDIpK01hdGgucG93KHRbN10sMikrTWF0aC5wb3codFs4
XSwyKStNYXRoLnBvdyh0WzldLDIpK01hdGgucG93KHRbMTBdLDIpK01hdGgucG93KHRbMTFdLDIp
K01hdGgucG93KHRbMTJdLDIpK01hdGgucG93KHRbMTNdLDIpK01hdGgucG93KHRbMTRdLDIpK01h
dGgucG93KHRbMTVdLDIpKX1mdW5jdGlvbiBRKHQsbixyKXtyZXR1cm4gdFswXT1uWzBdK3JbMF0s
dFsxXT1uWzFdK3JbMV0sdFsyXT1uWzJdK3JbMl0sdFszXT1uWzNdK3JbM10sdFs0XT1uWzRdK3Jb
NF0sdFs1XT1uWzVdK3JbNV0sdFs2XT1uWzZdK3JbNl0sdFs3XT1uWzddK3JbN10sdFs4XT1uWzhd
K3JbOF0sdFs5XT1uWzldK3JbOV0sdFsxMF09blsxMF0rclsxMF0sdFsxMV09blsxMV0rclsxMV0s
dFsxMl09blsxMl0rclsxMl0sdFsxM109blsxM10rclsxM10sdFsxNF09blsxNF0rclsxNF0sdFsx
NV09blsxNV0rclsxNV0sdH1mdW5jdGlvbiBYKHQsbixyKXtyZXR1cm4gdFswXT1uWzBdLXJbMF0s
dFsxXT1uWzFdLXJbMV0sdFsyXT1uWzJdLXJbMl0sdFszXT1uWzNdLXJbM10sdFs0XT1uWzRdLXJb
NF0sdFs1XT1uWzVdLXJbNV0sdFs2XT1uWzZdLXJbNl0sdFs3XT1uWzddLXJbN10sdFs4XT1uWzhd
LXJbOF0sdFs5XT1uWzldLXJbOV0sdFsxMF09blsxMF0tclsxMF0sdFsxMV09blsxMV0tclsxMV0s
dFsxMl09blsxMl0tclsxMl0sdFsxM109blsxM10tclsxM10sdFsxNF09blsxNF0tclsxNF0sdFsx
NV09blsxNV0tclsxNV0sdH1mdW5jdGlvbiBaKHQsbixyKXtyZXR1cm4gdFswXT1uWzBdKnIsdFsx
XT1uWzFdKnIsdFsyXT1uWzJdKnIsdFszXT1uWzNdKnIsdFs0XT1uWzRdKnIsdFs1XT1uWzVdKnIs
dFs2XT1uWzZdKnIsdFs3XT1uWzddKnIsdFs4XT1uWzhdKnIsdFs5XT1uWzldKnIsdFsxMF09blsx
MF0qcix0WzExXT1uWzExXSpyLHRbMTJdPW5bMTJdKnIsdFsxM109blsxM10qcix0WzE0XT1uWzE0
XSpyLHRbMTVdPW5bMTVdKnIsdH1mdW5jdGlvbiBrKHQsbixyLGEpe3JldHVybiB0WzBdPW5bMF0r
clswXSphLHRbMV09blsxXStyWzFdKmEsdFsyXT1uWzJdK3JbMl0qYSx0WzNdPW5bM10rclszXSph
LHRbNF09bls0XStyWzRdKmEsdFs1XT1uWzVdK3JbNV0qYSx0WzZdPW5bNl0rcls2XSphLHRbN109
bls3XStyWzddKmEsdFs4XT1uWzhdK3JbOF0qYSx0WzldPW5bOV0rcls5XSphLHRbMTBdPW5bMTBd
K3JbMTBdKmEsdFsxMV09blsxMV0rclsxMV0qYSx0WzEyXT1uWzEyXStyWzEyXSphLHRbMTNdPW5b
MTNdK3JbMTNdKmEsdFsxNF09blsxNF0rclsxNF0qYSx0WzE1XT1uWzE1XStyWzE1XSphLHR9ZnVu
Y3Rpb24gVSh0LG4pe3JldHVybiB0WzBdPT09blswXSYmdFsxXT09PW5bMV0mJnRbMl09PT1uWzJd
JiZ0WzNdPT09blszXSYmdFs0XT09PW5bNF0mJnRbNV09PT1uWzVdJiZ0WzZdPT09bls2XSYmdFs3
XT09PW5bN10mJnRbOF09PT1uWzhdJiZ0WzldPT09bls5XSYmdFsxMF09PT1uWzEwXSYmdFsxMV09
PT1uWzExXSYmdFsxMl09PT1uWzEyXSYmdFsxM109PT1uWzEzXSYmdFsxNF09PT1uWzE0XSYmdFsx
NV09PT1uWzE1XX1mdW5jdGlvbiBXKHQsbil7dmFyIHI9dFswXSxhPXRbMV0sZT10WzJdLHU9dFsz
XSxvPXRbNF0saT10WzVdLHM9dFs2XSxjPXRbN10sZj10WzhdLE09dFs5XSxoPXRbMTBdLGw9dFsx
MV0sdj10WzEyXSxkPXRbMTNdLGI9dFsxNF0sbT10WzE1XSxwPW5bMF0sUD1uWzFdLEU9blsyXSxP
PW5bM10seD1uWzRdLEE9bls1XSxxPW5bNl0seT1uWzddLHc9bls4XSxSPW5bOV0sTD1uWzEwXSxT
PW5bMTFdLF89blsxMl0sST1uWzEzXSxOPW5bMTRdLFk9blsxNV07cmV0dXJuIE1hdGguYWJzKHIt
cCk8PUMuRVBTSUxPTipNYXRoLm1heCgxLE1hdGguYWJzKHIpLE1hdGguYWJzKHApKSYmTWF0aC5h
YnMoYS1QKTw9Qy5FUFNJTE9OKk1hdGgubWF4KDEsTWF0aC5hYnMoYSksTWF0aC5hYnMoUCkpJiZN
YXRoLmFicyhlLUUpPD1DLkVQU0lMT04qTWF0aC5tYXgoMSxNYXRoLmFicyhlKSxNYXRoLmFicyhF
KSkmJk1hdGguYWJzKHUtTyk8PUMuRVBTSUxPTipNYXRoLm1heCgxLE1hdGguYWJzKHUpLE1hdGgu
YWJzKE8pKSYmTWF0aC5hYnMoby14KTw9Qy5FUFNJTE9OKk1hdGgubWF4KDEsTWF0aC5hYnMobyks
TWF0aC5hYnMoeCkpJiZNYXRoLmFicyhpLUEpPD1DLkVQU0lMT04qTWF0aC5tYXgoMSxNYXRoLmFi
cyhpKSxNYXRoLmFicyhBKSkmJk1hdGguYWJzKHMtcSk8PUMuRVBTSUxPTipNYXRoLm1heCgxLE1h
dGguYWJzKHMpLE1hdGguYWJzKHEpKSYmTWF0aC5hYnMoYy15KTw9Qy5FUFNJTE9OKk1hdGgubWF4
KDEsTWF0aC5hYnMoYyksTWF0aC5hYnMoeSkpJiZNYXRoLmFicyhmLXcpPD1DLkVQU0lMT04qTWF0
aC5tYXgoMSxNYXRoLmFicyhmKSxNYXRoLmFicyh3KSkmJk1hdGguYWJzKE0tUik8PUMuRVBTSUxP
TipNYXRoLm1heCgxLE1hdGguYWJzKE0pLE1hdGguYWJzKFIpKSYmTWF0aC5hYnMoaC1MKTw9Qy5F
UFNJTE9OKk1hdGgubWF4KDEsTWF0aC5hYnMoaCksTWF0aC5hYnMoTCkpJiZNYXRoLmFicyhsLVMp
PD1DLkVQU0lMT04qTWF0aC5tYXgoMSxNYXRoLmFicyhsKSxNYXRoLmFicyhTKSkmJk1hdGguYWJz
KHYtXyk8PUMuRVBTSUxPTipNYXRoLm1heCgxLE1hdGguYWJzKHYpLE1hdGguYWJzKF8pKSYmTWF0
aC5hYnMoZC1JKTw9Qy5FUFNJTE9OKk1hdGgubWF4KDEsTWF0aC5hYnMoZCksTWF0aC5hYnMoSSkp
JiZNYXRoLmFicyhiLU4pPD1DLkVQU0lMT04qTWF0aC5tYXgoMSxNYXRoLmFicyhiKSxNYXRoLmFi
cyhOKSkmJk1hdGguYWJzKG0tWSk8PUMuRVBTSUxPTipNYXRoLm1heCgxLE1hdGguYWJzKG0pLE1h
dGguYWJzKFkpKX1PYmplY3QuZGVmaW5lUHJvcGVydHkobiwiX19lc01vZHVsZSIse3ZhbHVlOiEw
fSksbi5zdWI9bi5tdWw9dm9pZCAwLG4uY3JlYXRlPWEsbi5jbG9uZT1lLG4uY29weT11LG4uZnJv
bVZhbHVlcz1vLG4uc2V0PWksbi5pZGVudGl0eT1zLG4udHJhbnNwb3NlPWMsbi5pbnZlcnQ9Zixu
LmFkam9pbnQ9TSxuLmRldGVybWluYW50PWgsbi5tdWx0aXBseT1sLG4udHJhbnNsYXRlPXYsbi5z
Y2FsZT1kLG4ucm90YXRlPWIsbi5yb3RhdGVYPW0sbi5yb3RhdGVZPXAsbi5yb3RhdGVaPVAsbi5m
cm9tVHJhbnNsYXRpb249RSxuLmZyb21TY2FsaW5nPU8sbi5mcm9tUm90YXRpb249eCxuLmZyb21Y
Um90YXRpb249QSxuLmZyb21ZUm90YXRpb249cSxuLmZyb21aUm90YXRpb249eSxuLmZyb21Sb3Rh
dGlvblRyYW5zbGF0aW9uPXcsbi5nZXRUcmFuc2xhdGlvbj1SLG4uZ2V0U2NhbGluZz1MLG4uZ2V0
Um90YXRpb249UyxuLmZyb21Sb3RhdGlvblRyYW5zbGF0aW9uU2NhbGU9XyxuLmZyb21Sb3RhdGlv
blRyYW5zbGF0aW9uU2NhbGVPcmlnaW49SSxuLmZyb21RdWF0PU4sbi5mcnVzdHVtPVksbi5wZXJz
cGVjdGl2ZT1nLG4ucGVyc3BlY3RpdmVGcm9tRmllbGRPZlZpZXc9VCxuLm9ydGhvPWosbi5sb29r
QXQ9RCxuLnRhcmdldFRvPVYsbi5zdHI9eixuLmZyb2I9RixuLmFkZD1RLG4uc3VidHJhY3Q9WCxu
Lm11bHRpcGx5U2NhbGFyPVosbi5tdWx0aXBseVNjYWxhckFuZEFkZD1rLG4uZXhhY3RFcXVhbHM9
VSxuLmVxdWFscz1XO3ZhciBCPXIoMCksQz1mdW5jdGlvbih0KXtpZih0JiZ0Ll9fZXNNb2R1bGUp
cmV0dXJuIHQ7dmFyIG49e307aWYobnVsbCE9dClmb3IodmFyIHIgaW4gdClPYmplY3QucHJvdG90
eXBlLmhhc093blByb3BlcnR5LmNhbGwodCxyKSYmKG5bcl09dFtyXSk7cmV0dXJuIG4uZGVmYXVs
dD10LG59KEIpO24ubXVsPWwsbi5zdWI9WH0sZnVuY3Rpb24odCxuLHIpeyJ1c2Ugc3RyaWN0Ijtm
dW5jdGlvbiBhKHQpe2lmKHQmJnQuX19lc01vZHVsZSlyZXR1cm4gdDt2YXIgbj17fTtpZihudWxs
IT10KWZvcih2YXIgciBpbiB0KU9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbCh0
LHIpJiYobltyXT10W3JdKTtyZXR1cm4gbi5kZWZhdWx0PXQsbn1mdW5jdGlvbiBlKCl7dmFyIHQ9
bmV3IEUuQVJSQVlfVFlQRSg0KTtyZXR1cm4gdFswXT0wLHRbMV09MCx0WzJdPTAsdFszXT0xLHR9
ZnVuY3Rpb24gdSh0KXtyZXR1cm4gdFswXT0wLHRbMV09MCx0WzJdPTAsdFszXT0xLHR9ZnVuY3Rp
b24gbyh0LG4scil7cio9LjU7dmFyIGE9TWF0aC5zaW4ocik7cmV0dXJuIHRbMF09YSpuWzBdLHRb
MV09YSpuWzFdLHRbMl09YSpuWzJdLHRbM109TWF0aC5jb3MociksdH1mdW5jdGlvbiBpKHQsbil7
dmFyIHI9MipNYXRoLmFjb3MoblszXSksYT1NYXRoLnNpbihyLzIpO3JldHVybiAwIT1hPyh0WzBd
PW5bMF0vYSx0WzFdPW5bMV0vYSx0WzJdPW5bMl0vYSk6KHRbMF09MSx0WzFdPTAsdFsyXT0wKSxy
fWZ1bmN0aW9uIHModCxuLHIpe3ZhciBhPW5bMF0sZT1uWzFdLHU9blsyXSxvPW5bM10saT1yWzBd
LHM9clsxXSxjPXJbMl0sZj1yWzNdO3JldHVybiB0WzBdPWEqZitvKmkrZSpjLXUqcyx0WzFdPWUq
ZitvKnMrdSppLWEqYyx0WzJdPXUqZitvKmMrYSpzLWUqaSx0WzNdPW8qZi1hKmktZSpzLXUqYyx0
fWZ1bmN0aW9uIGModCxuLHIpe3IqPS41O3ZhciBhPW5bMF0sZT1uWzFdLHU9blsyXSxvPW5bM10s
aT1NYXRoLnNpbihyKSxzPU1hdGguY29zKHIpO3JldHVybiB0WzBdPWEqcytvKmksdFsxXT1lKnMr
dSppLHRbMl09dSpzLWUqaSx0WzNdPW8qcy1hKmksdH1mdW5jdGlvbiBmKHQsbixyKXtyKj0uNTt2
YXIgYT1uWzBdLGU9blsxXSx1PW5bMl0sbz1uWzNdLGk9TWF0aC5zaW4ocikscz1NYXRoLmNvcyhy
KTtyZXR1cm4gdFswXT1hKnMtdSppLHRbMV09ZSpzK28qaSx0WzJdPXUqcythKmksdFszXT1vKnMt
ZSppLHR9ZnVuY3Rpb24gTSh0LG4scil7cio9LjU7dmFyIGE9blswXSxlPW5bMV0sdT1uWzJdLG89
blszXSxpPU1hdGguc2luKHIpLHM9TWF0aC5jb3Mocik7cmV0dXJuIHRbMF09YSpzK2UqaSx0WzFd
PWUqcy1hKmksdFsyXT11KnMrbyppLHRbM109bypzLXUqaSx0fWZ1bmN0aW9uIGgodCxuKXt2YXIg
cj1uWzBdLGE9blsxXSxlPW5bMl07cmV0dXJuIHRbMF09cix0WzFdPWEsdFsyXT1lLHRbM109TWF0
aC5zcXJ0KE1hdGguYWJzKDEtcipyLWEqYS1lKmUpKSx0fWZ1bmN0aW9uIGwodCxuLHIsYSl7dmFy
IGU9blswXSx1PW5bMV0sbz1uWzJdLGk9blszXSxzPXJbMF0sYz1yWzFdLGY9clsyXSxNPXJbM10s
aD12b2lkIDAsbD12b2lkIDAsdj12b2lkIDAsZD12b2lkIDAsYj12b2lkIDA7cmV0dXJuIGw9ZSpz
K3UqYytvKmYraSpNLGw8MCYmKGw9LWwscz0tcyxjPS1jLGY9LWYsTT0tTSksMS1sPjFlLTY/KGg9
TWF0aC5hY29zKGwpLHY9TWF0aC5zaW4oaCksZD1NYXRoLnNpbigoMS1hKSpoKS92LGI9TWF0aC5z
aW4oYSpoKS92KTooZD0xLWEsYj1hKSx0WzBdPWQqZStiKnMsdFsxXT1kKnUrYipjLHRbMl09ZCpv
K2IqZix0WzNdPWQqaStiKk0sdH1mdW5jdGlvbiB2KHQsbil7dmFyIHI9blswXSxhPW5bMV0sZT1u
WzJdLHU9blszXSxvPXIqcithKmErZSplK3UqdSxpPW8/MS9vOjA7cmV0dXJuIHRbMF09LXIqaSx0
WzFdPS1hKmksdFsyXT0tZSppLHRbM109dSppLHR9ZnVuY3Rpb24gZCh0LG4pe3JldHVybiB0WzBd
PS1uWzBdLHRbMV09LW5bMV0sdFsyXT0tblsyXSx0WzNdPW5bM10sdH1mdW5jdGlvbiBiKHQsbil7
dmFyIHI9blswXStuWzRdK25bOF0sYT12b2lkIDA7aWYocj4wKWE9TWF0aC5zcXJ0KHIrMSksdFsz
XT0uNSphLGE9LjUvYSx0WzBdPShuWzVdLW5bN10pKmEsdFsxXT0obls2XS1uWzJdKSphLHRbMl09
KG5bMV0tblszXSkqYTtlbHNle3ZhciBlPTA7bls0XT5uWzBdJiYoZT0xKSxuWzhdPm5bMyplK2Vd
JiYoZT0yKTt2YXIgdT0oZSsxKSUzLG89KGUrMiklMzthPU1hdGguc3FydChuWzMqZStlXS1uWzMq
dSt1XS1uWzMqbytvXSsxKSx0W2VdPS41KmEsYT0uNS9hLHRbM109KG5bMyp1K29dLW5bMypvK3Vd
KSphLHRbdV09KG5bMyp1K2VdK25bMyplK3VdKSphLHRbb109KG5bMypvK2VdK25bMyplK29dKSph
fXJldHVybiB0fWZ1bmN0aW9uIG0odCxuLHIsYSl7dmFyIGU9LjUqTWF0aC5QSS8xODA7bio9ZSxy
Kj1lLGEqPWU7dmFyIHU9TWF0aC5zaW4obiksbz1NYXRoLmNvcyhuKSxpPU1hdGguc2luKHIpLHM9
TWF0aC5jb3MociksYz1NYXRoLnNpbihhKSxmPU1hdGguY29zKGEpO3JldHVybiB0WzBdPXUqcypm
LW8qaSpjLHRbMV09byppKmYrdSpzKmMsdFsyXT1vKnMqYy11KmkqZix0WzNdPW8qcypmK3UqaSpj
LHR9ZnVuY3Rpb24gcCh0KXtyZXR1cm4icXVhdCgiK3RbMF0rIiwgIit0WzFdKyIsICIrdFsyXSsi
LCAiK3RbM10rIikifU9iamVjdC5kZWZpbmVQcm9wZXJ0eShuLCJfX2VzTW9kdWxlIix7dmFsdWU6
ITB9KSxuLnNldEF4ZXM9bi5zcWxlcnA9bi5yb3RhdGlvblRvPW4uZXF1YWxzPW4uZXhhY3RFcXVh
bHM9bi5ub3JtYWxpemU9bi5zcXJMZW49bi5zcXVhcmVkTGVuZ3RoPW4ubGVuPW4ubGVuZ3RoPW4u
bGVycD1uLmRvdD1uLnNjYWxlPW4ubXVsPW4uYWRkPW4uc2V0PW4uY29weT1uLmZyb21WYWx1ZXM9
bi5jbG9uZT12b2lkIDAsbi5jcmVhdGU9ZSxuLmlkZW50aXR5PXUsbi5zZXRBeGlzQW5nbGU9byxu
LmdldEF4aXNBbmdsZT1pLG4ubXVsdGlwbHk9cyxuLnJvdGF0ZVg9YyxuLnJvdGF0ZVk9ZixuLnJv
dGF0ZVo9TSxuLmNhbGN1bGF0ZVc9aCxuLnNsZXJwPWwsbi5pbnZlcnQ9dixuLmNvbmp1Z2F0ZT1k
LG4uZnJvbU1hdDM9YixuLmZyb21FdWxlcj1tLG4uc3RyPXA7dmFyIFA9cigwKSxFPWEoUCksTz1y
KDEpLHg9YShPKSxBPXIoMikscT1hKEEpLHk9cigzKSx3PWEoeSksUj0obi5jbG9uZT13LmNsb25l
LG4uZnJvbVZhbHVlcz13LmZyb21WYWx1ZXMsbi5jb3B5PXcuY29weSxuLnNldD13LnNldCxuLmFk
ZD13LmFkZCxuLm11bD1zLG4uc2NhbGU9dy5zY2FsZSxuLmRvdD13LmRvdCxuLmxlcnA9dy5sZXJw
LG4ubGVuZ3RoPXcubGVuZ3RoKSxMPShuLmxlbj1SLG4uc3F1YXJlZExlbmd0aD13LnNxdWFyZWRM
ZW5ndGgpLFM9KG4uc3FyTGVuPUwsbi5ub3JtYWxpemU9dy5ub3JtYWxpemUpO24uZXhhY3RFcXVh
bHM9dy5leGFjdEVxdWFscyxuLmVxdWFscz13LmVxdWFscyxuLnJvdGF0aW9uVG89ZnVuY3Rpb24o
KXt2YXIgdD1xLmNyZWF0ZSgpLG49cS5mcm9tVmFsdWVzKDEsMCwwKSxyPXEuZnJvbVZhbHVlcygw
LDEsMCk7cmV0dXJuIGZ1bmN0aW9uKGEsZSx1KXt2YXIgaT1xLmRvdChlLHUpO3JldHVybiBpPC0u
OTk5OTk5PyhxLmNyb3NzKHQsbixlKSxxLmxlbih0KTwxZS02JiZxLmNyb3NzKHQscixlKSxxLm5v
cm1hbGl6ZSh0LHQpLG8oYSx0LE1hdGguUEkpLGEpOmk+Ljk5OTk5OT8oYVswXT0wLGFbMV09MCxh
WzJdPTAsYVszXT0xLGEpOihxLmNyb3NzKHQsZSx1KSxhWzBdPXRbMF0sYVsxXT10WzFdLGFbMl09
dFsyXSxhWzNdPTEraSxTKGEsYSkpfX0oKSxuLnNxbGVycD1mdW5jdGlvbigpe3ZhciB0PWUoKSxu
PWUoKTtyZXR1cm4gZnVuY3Rpb24ocixhLGUsdSxvLGkpe3JldHVybiBsKHQsYSxvLGkpLGwobixl
LHUsaSksbChyLHQsbiwyKmkqKDEtaSkpLHJ9fSgpLG4uc2V0QXhlcz1mdW5jdGlvbigpe3ZhciB0
PXguY3JlYXRlKCk7cmV0dXJuIGZ1bmN0aW9uKG4scixhLGUpe3JldHVybiB0WzBdPWFbMF0sdFsz
XT1hWzFdLHRbNl09YVsyXSx0WzFdPWVbMF0sdFs0XT1lWzFdLHRbN109ZVsyXSx0WzJdPS1yWzBd
LHRbNV09LXJbMV0sdFs4XT0tclsyXSxTKG4sYihuLHQpKX19KCl9LGZ1bmN0aW9uKHQsbixyKXsi
dXNlIHN0cmljdCI7ZnVuY3Rpb24gYSgpe3ZhciB0PW5ldyBWLkFSUkFZX1RZUEUoMik7cmV0dXJu
IHRbMF09MCx0WzFdPTAsdH1mdW5jdGlvbiBlKHQpe3ZhciBuPW5ldyBWLkFSUkFZX1RZUEUoMik7
cmV0dXJuIG5bMF09dFswXSxuWzFdPXRbMV0sbn1mdW5jdGlvbiB1KHQsbil7dmFyIHI9bmV3IFYu
QVJSQVlfVFlQRSgyKTtyZXR1cm4gclswXT10LHJbMV09bixyfWZ1bmN0aW9uIG8odCxuKXtyZXR1
cm4gdFswXT1uWzBdLHRbMV09blsxXSx0fWZ1bmN0aW9uIGkodCxuLHIpe3JldHVybiB0WzBdPW4s
dFsxXT1yLHR9ZnVuY3Rpb24gcyh0LG4scil7cmV0dXJuIHRbMF09blswXStyWzBdLHRbMV09blsx
XStyWzFdLHR9ZnVuY3Rpb24gYyh0LG4scil7cmV0dXJuIHRbMF09blswXS1yWzBdLHRbMV09blsx
XS1yWzFdLHR9ZnVuY3Rpb24gZih0LG4scil7cmV0dXJuIHRbMF09blswXSpyWzBdLHRbMV09blsx
XSpyWzFdLHR9ZnVuY3Rpb24gTSh0LG4scil7cmV0dXJuIHRbMF09blswXS9yWzBdLHRbMV09blsx
XS9yWzFdLHR9ZnVuY3Rpb24gaCh0LG4pe3JldHVybiB0WzBdPU1hdGguY2VpbChuWzBdKSx0WzFd
PU1hdGguY2VpbChuWzFdKSx0fWZ1bmN0aW9uIGwodCxuKXtyZXR1cm4gdFswXT1NYXRoLmZsb29y
KG5bMF0pLHRbMV09TWF0aC5mbG9vcihuWzFdKSx0fWZ1bmN0aW9uIHYodCxuLHIpe3JldHVybiB0
WzBdPU1hdGgubWluKG5bMF0sclswXSksdFsxXT1NYXRoLm1pbihuWzFdLHJbMV0pLHR9ZnVuY3Rp
b24gZCh0LG4scil7cmV0dXJuIHRbMF09TWF0aC5tYXgoblswXSxyWzBdKSx0WzFdPU1hdGgubWF4
KG5bMV0sclsxXSksdH1mdW5jdGlvbiBiKHQsbil7cmV0dXJuIHRbMF09TWF0aC5yb3VuZChuWzBd
KSx0WzFdPU1hdGgucm91bmQoblsxXSksdH1mdW5jdGlvbiBtKHQsbixyKXtyZXR1cm4gdFswXT1u
WzBdKnIsdFsxXT1uWzFdKnIsdH1mdW5jdGlvbiBwKHQsbixyLGEpe3JldHVybiB0WzBdPW5bMF0r
clswXSphLHRbMV09blsxXStyWzFdKmEsdH1mdW5jdGlvbiBQKHQsbil7dmFyIHI9blswXS10WzBd
LGE9blsxXS10WzFdO3JldHVybiBNYXRoLnNxcnQocipyK2EqYSl9ZnVuY3Rpb24gRSh0LG4pe3Zh
ciByPW5bMF0tdFswXSxhPW5bMV0tdFsxXTtyZXR1cm4gcipyK2EqYX1mdW5jdGlvbiBPKHQpe3Zh
ciBuPXRbMF0scj10WzFdO3JldHVybiBNYXRoLnNxcnQobipuK3Iqcil9ZnVuY3Rpb24geCh0KXt2
YXIgbj10WzBdLHI9dFsxXTtyZXR1cm4gbipuK3Iqcn1mdW5jdGlvbiBBKHQsbil7cmV0dXJuIHRb
MF09LW5bMF0sdFsxXT0tblsxXSx0fWZ1bmN0aW9uIHEodCxuKXtyZXR1cm4gdFswXT0xL25bMF0s
dFsxXT0xL25bMV0sdH1mdW5jdGlvbiB5KHQsbil7dmFyIHI9blswXSxhPW5bMV0sZT1yKnIrYSph
O3JldHVybiBlPjAmJihlPTEvTWF0aC5zcXJ0KGUpLHRbMF09blswXSplLHRbMV09blsxXSplKSx0
fWZ1bmN0aW9uIHcodCxuKXtyZXR1cm4gdFswXSpuWzBdK3RbMV0qblsxXX1mdW5jdGlvbiBSKHQs
bixyKXt2YXIgYT1uWzBdKnJbMV0tblsxXSpyWzBdO3JldHVybiB0WzBdPXRbMV09MCx0WzJdPWEs
dH1mdW5jdGlvbiBMKHQsbixyLGEpe3ZhciBlPW5bMF0sdT1uWzFdO3JldHVybiB0WzBdPWUrYSoo
clswXS1lKSx0WzFdPXUrYSooclsxXS11KSx0fWZ1bmN0aW9uIFModCxuKXtuPW58fDE7dmFyIHI9
MipWLlJBTkRPTSgpKk1hdGguUEk7cmV0dXJuIHRbMF09TWF0aC5jb3Mocikqbix0WzFdPU1hdGgu
c2luKHIpKm4sdH1mdW5jdGlvbiBfKHQsbixyKXt2YXIgYT1uWzBdLGU9blsxXTtyZXR1cm4gdFsw
XT1yWzBdKmErclsyXSplLHRbMV09clsxXSphK3JbM10qZSx0fWZ1bmN0aW9uIEkodCxuLHIpe3Zh
ciBhPW5bMF0sZT1uWzFdO3JldHVybiB0WzBdPXJbMF0qYStyWzJdKmUrcls0XSx0WzFdPXJbMV0q
YStyWzNdKmUrcls1XSx0fWZ1bmN0aW9uIE4odCxuLHIpe3ZhciBhPW5bMF0sZT1uWzFdO3JldHVy
biB0WzBdPXJbMF0qYStyWzNdKmUrcls2XSx0WzFdPXJbMV0qYStyWzRdKmUrcls3XSx0fWZ1bmN0
aW9uIFkodCxuLHIpe3ZhciBhPW5bMF0sZT1uWzFdO3JldHVybiB0WzBdPXJbMF0qYStyWzRdKmUr
clsxMl0sdFsxXT1yWzFdKmErcls1XSplK3JbMTNdLHR9ZnVuY3Rpb24gZyh0KXtyZXR1cm4idmVj
MigiK3RbMF0rIiwgIit0WzFdKyIpIn1mdW5jdGlvbiBUKHQsbil7cmV0dXJuIHRbMF09PT1uWzBd
JiZ0WzFdPT09blsxXX1mdW5jdGlvbiBqKHQsbil7dmFyIHI9dFswXSxhPXRbMV0sZT1uWzBdLHU9
blsxXTtyZXR1cm4gTWF0aC5hYnMoci1lKTw9Vi5FUFNJTE9OKk1hdGgubWF4KDEsTWF0aC5hYnMo
ciksTWF0aC5hYnMoZSkpJiZNYXRoLmFicyhhLXUpPD1WLkVQU0lMT04qTWF0aC5tYXgoMSxNYXRo
LmFicyhhKSxNYXRoLmFicyh1KSl9T2JqZWN0LmRlZmluZVByb3BlcnR5KG4sIl9fZXNNb2R1bGUi
LHt2YWx1ZTohMH0pLG4uZm9yRWFjaD1uLnNxckxlbj1uLnNxckRpc3Q9bi5kaXN0PW4uZGl2PW4u
bXVsPW4uc3ViPW4ubGVuPXZvaWQgMCxuLmNyZWF0ZT1hLG4uY2xvbmU9ZSxuLmZyb21WYWx1ZXM9
dSxuLmNvcHk9byxuLnNldD1pLG4uYWRkPXMsbi5zdWJ0cmFjdD1jLG4ubXVsdGlwbHk9ZixuLmRp
dmlkZT1NLG4uY2VpbD1oLG4uZmxvb3I9bCxuLm1pbj12LG4ubWF4PWQsbi5yb3VuZD1iLG4uc2Nh
bGU9bSxuLnNjYWxlQW5kQWRkPXAsbi5kaXN0YW5jZT1QLG4uc3F1YXJlZERpc3RhbmNlPUUsbi5s
ZW5ndGg9TyxuLnNxdWFyZWRMZW5ndGg9eCxuLm5lZ2F0ZT1BLG4uaW52ZXJzZT1xLG4ubm9ybWFs
aXplPXksbi5kb3Q9dyxuLmNyb3NzPVIsbi5sZXJwPUwsbi5yYW5kb209UyxuLnRyYW5zZm9ybU1h
dDI9XyxuLnRyYW5zZm9ybU1hdDJkPUksbi50cmFuc2Zvcm1NYXQzPU4sbi50cmFuc2Zvcm1NYXQ0
PVksbi5zdHI9ZyxuLmV4YWN0RXF1YWxzPVQsbi5lcXVhbHM9ajt2YXIgRD1yKDApLFY9ZnVuY3Rp
b24odCl7aWYodCYmdC5fX2VzTW9kdWxlKXJldHVybiB0O3ZhciBuPXt9O2lmKG51bGwhPXQpZm9y
KHZhciByIGluIHQpT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKHQscikmJihu
W3JdPXRbcl0pO3JldHVybiBuLmRlZmF1bHQ9dCxufShEKTtuLmxlbj1PLG4uc3ViPWMsbi5tdWw9
ZixuLmRpdj1NLG4uZGlzdD1QLG4uc3FyRGlzdD1FLG4uc3FyTGVuPXgsbi5mb3JFYWNoPWZ1bmN0
aW9uKCl7dmFyIHQ9YSgpO3JldHVybiBmdW5jdGlvbihuLHIsYSxlLHUsbyl7dmFyIGk9dm9pZCAw
LHM9dm9pZCAwO2ZvcihyfHwocj0yKSxhfHwoYT0wKSxzPWU/TWF0aC5taW4oZSpyK2Esbi5sZW5n
dGgpOm4ubGVuZ3RoLGk9YTtpPHM7aSs9cil0WzBdPW5baV0sdFsxXT1uW2krMV0sdSh0LHQsbyks
bltpXT10WzBdLG5baSsxXT10WzFdO3JldHVybiBufX0oKX1dKX0pOwpcIE5vIG5ld2xpbmUgYXQg
ZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL1dlYnNpdGVzL3dlYmtpdC5vcmcvZGVtb3Mvd2VibWV0
YWwvaGVsbG8uaHRtbCBiL1dlYnNpdGVzL3dlYmtpdC5vcmcvZGVtb3Mvd2VibWV0YWwvaGVsbG8u
aHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi4zYmQxYjk2YTJlYTI5MzBjNTVmNDdmMmE0ZDQzYjUwZWRkMjcwYWZl
Ci0tLSAvZGV2L251bGwKKysrIGIvV2Vic2l0ZXMvd2Via2l0Lm9yZy9kZW1vcy93ZWJtZXRhbC9o
ZWxsby5odG1sCkBAIC0wLDAgKzEsNTggQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVh
ZD4KKzxtZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD02MDAiPgorPG1ldGEgaHR0
cC1lcXVpdj0iQ29udGVudC10eXBlIiBjb250ZW50PSJ0ZXh0L2h0bWw7IGNoYXJzZXQ9dXRmLTgi
PgorPHRpdGxlPldlYk1ldGFsIEhlbGxvIFdvcmxkIGRlbW88L3RpdGxlPgorPGxpbmsgcmVsPSJz
dHlsZXNoZWV0IiBocmVmPSJzaGFyZWQuY3NzIj4KKzxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJl
Zj0iaHR0cHM6Ly93ZWJraXQub3JnL3dwLWNvbnRlbnQvdGhlbWVzL3dlYmtpdC9zdHlsZS5jc3Mi
PgorPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSJodHRwczovL3d3dy5hcHBsZS5jb20vd3Nz
L2ZvbnRzP2ZhbWlseT1NeXJpYWQrU2V0K1BybyZhbXA7dj0xIj4KKzxzY3JpcHQgc3JjPSJzaGFy
ZWQuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9ImhlbGxvLmpzIj48L3NjcmlwdD4KKzxzY3Jp
cHQgaWQ9ImxpYnJhcnkiIHR5cGU9Ingtc2hhZGVyL3gtbWV0YWwiPgorI2luY2x1ZGUgPG1ldGFs
X3N0ZGxpYj4KKwordXNpbmcgbmFtZXNwYWNlIG1ldGFsOworCitzdHJ1Y3QgVmVydGV4Cit7Cisg
ICAgZmxvYXQ0IHBvc2l0aW9uIFtbcG9zaXRpb25dXTsKK307CisKK3ZlcnRleCBWZXJ0ZXggdmVy
dGV4X21haW4odWludCB2aWQgW1t2ZXJ0ZXhfaWRdXSkKK3sKKyAgICBWZXJ0ZXggdjsKKyAgICBz
d2l0Y2ggKHZpZCkgeworICAgIGNhc2UgMDoKKyAgICAgICAgdi5wb3NpdGlvbiA9IGZsb2F0NCgt
Ljc1LCAtLjc1LCAwLCAxKTsKKyAgICAgICAgYnJlYWs7CisgICAgY2FzZSAxOgorICAgICAgICB2
LnBvc2l0aW9uID0gZmxvYXQ0KC43NSwgLS43NSwgMCwgMSk7CisgICAgICAgIGJyZWFrOworICAg
IGNhc2UgMjoKKyAgICAgICAgdi5wb3NpdGlvbiA9IGZsb2F0NCgwLCAuNzUsIDAsIDEpOworICAg
ICAgICBicmVhazsKKyAgICBkZWZhdWx0OgorICAgICAgICB2LnBvc2l0aW9uID0gZmxvYXQ0KDAs
IDAsIDAsIDEpOworICAgIH0KKyAgICByZXR1cm4gdjsKK30KKworZnJhZ21lbnQgZmxvYXQ0IGZy
YWdtZW50X21haW4oVmVydGV4IHZlcnRleEluIFtbc3RhZ2VfaW5dXSkKK3sKKyAgICByZXR1cm4g
ZmxvYXQ0KDEuMCwgMC4wLCAwLjAsIDEuMCk7Cit9Cis8L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5
PgorPGNhbnZhcz48L2NhbnZhcz4KKzxkaXYgaWQ9ImVycm9yIj4KKyAgICA8aDI+V2ViTWV0YWwg
bm90IGF2YWlsYWJsZTwvaDI+CisgICAgPHA+CisgICAgICAgIE1ha2Ugc3VyZSB5b3UgYXJlIG9u
IGEgc3lzdGVtIHdpdGggV2ViTWV0YWwgZW5hYmxlZC4gSW4KKyAgICAgICAgU2FmYXJpLCBmaXJz
dCBtYWtlIHN1cmUgdGhlIERldmVsb3BlciBNZW51IGlzIHZpc2libGUgKFByZWZlcmVuY2VzIOKG
kgorICAgICAgICBBZHZhbmNlZCksIHRoZW4gRGV2ZWxvcCDihpIgRXhwZXJpbWVudGFsIEZlYXR1
cmVzIOKGkiBFbmFibGUgV2ViTWV0YWwuCisgICAgPC9wPgorPC9kaXY+Cis8L2JvZHk+Cis8L2h0
bWw+CmRpZmYgLS1naXQgYS9XZWJzaXRlcy93ZWJraXQub3JnL2RlbW9zL3dlYm1ldGFsL2hlbGxv
LmpwZyBiL1dlYnNpdGVzL3dlYmtpdC5vcmcvZGVtb3Mvd2VibWV0YWwvaGVsbG8uanBnCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjg3MTAwMzlkYTdmMjhmNjM2OTkyZDNiYmVhYjlmNzRmNTEwNTJmMzYKR0lUIGJpbmFy
eSBwYXRjaApsaXRlcmFsIDM4NjMzCnpjbWVGWjF6MjI1d2ckUXpjaF45MGNNVDIhZihIb2hHIUJp
c1RPZmYxY00+MldjPD07d210WX15YUVGaXQ0WCRzSwp6blJEajhgYHRUcD1GQjxzelZGP3NYN15y
UXlRO2NZKXY4KSt7azU4IyZvQGZ8ai1zckJFQzdLM2ZJUnBEWmtCPEUKekdUdHlOMDhteTJTTzVT
KDBwSzhiMDZhKVJ6IXdrPjB9eWBGMEtmcD0wUlpqfCslR3hzJik+bFJqbE8rJnZ5NGhACno8TD5T
KCUqcEJLIyRqc1ZXTTtgPj8mUUdmWlIqVSkmQjRWOWgpUUBubzB7OE14PksyMVRFaVUwWG0lVDBY
e2NacAp6VmwrRFolM1I5TSh2fihiZDAkc2M0UE87YWI2LTFpQXF5R19hVmstN1ZRJlgjMlRPTlRE
c0ttU00+azxfRmBBIV4KejN4bzcrSFlXfCQmbSEpMlZsPXdTa0VvPWJUckh7aUlydW9aWHUjVTg3
Rk5SUTRgbHlaN3lLa2ZeVmQjI2Qza1lvCnpAcDNyMVQ2MXk+Mj89cD5Ab0A2K3UhQU1vLUZ6SX5P
fSpKMi1EclBsO2VuLV94aHVAczlwPmFuYj0jdDtuVWphUgp6NyEzXzRfemokWXtmYi1pKlM/QlZ7
VWBscjFwWUd1e34zWSpqS0ZfSjs2RWVxZXtUZi1YNjt4eWYrbWdeWHYrWE0Keitrb0lCOHoqLXNI
eWJCc0RxYXBRS3V9NlM4UjZFKjBARntMe3dJa3VlbTgxNTdOfGhqM1B5ZUx7WnVPT1dgKlJsCnpn
MHdYQmstRG1eIWI2IyNIWE8rWlEpZyM7STItX1FhQ0NRN215QEU+KXpoYSFVSXRBIUprWFM1MTJ8
MzEtSkImSwp6SiRpV0M8fWRmMz9mPzNBSmI3I0EwbCptaFpDayUpfDI2e0cweUsrMlRrI1FDK3ww
dHcreVNKa3otIVJsKzBgOFkKejtEZjxAU30lOSFUUkluezMwJVByZl5eKzJaVCVOfEBSbTBGMyUm
SFNqSGJGWVNtcUc0TWxub0hVOUFCQzFJen1mCnpKazcxYWJ9KjtfMDE0MDAwX0YkK2N6aHImWmY7
fDAwUlNaNkdsMCMoIVJlTk0xSlg9cHxEXyU0fDNhSVpuKkd8UQp6c2oybV5ean4tWllsMl89ME9z
YXdafGR7JiF5b3pQVkRBQnIqVXYtKXpHSys5JUJ6RVNJJmpTMStCcXJ4Tjt7Z1YKenNRIWA8MTND
Skl3KCplSGBoXy1rbExwN35GTGY8VUExTTdvZClSNDd7ejk5Jmc0QUVqen15dXlmMXpFUylQSFQ/
CnooTyVfTks3UkpXIyF9JXwrUnt4JTxDbENabjVARHR3NkJlKCZNJmtsT2szcF8rUmFZbSpGTn4j
TmRLRGU+WUBIPwp6cFJIVkZmOTI3XjRYcFhzPz0/NjUranFJIVhvOVpFVTsxT3xydSVEdUVHIT8k
e0Y/OG1ePXNkcC1LQm5RKTdrIX4KenRwRFcyKHE4VkBkXmI7eFUrY1FOWVd8dlVZcFFyRnlGYmYy
eUZkRE1lMU0wNTREYk07MDtCO0w7MFJhKDR1QzI2Cno9PmhvMzRSOGtSIUIwTiFtZnA4QTJTX19Q
YD8kaWFaUVE5TyE0K2dsclFtNEohQThaeSNWcjU7eDlqbj8zO19JNAp6fEdDWn1NOGtpfWF7PW9N
M3hRdE10SDAlJHZJME5AOEBNRCZ7KzM1fjQqPH45MGliYyErezR4TEZZT2BSLVZneWEKejAyPzN4
TkM2NmY3R01JezBVcUVVQU9oUzZkIz96bjAtQXN4VTx7WjhIZW1sPDBXWktHY25wTEFrdzZAZjQ1
Ul4+CnpLbzBPMEM8UThqVEEmR04yWVBAMzsxZShiJW1QY21JYDlxSDFDRF9VMm4yISohR3ojTE5G
a0lFZEkmM28yTzxhJgp6aHNaITRMZXdGODVFRjxzIzFZfkZAclEmJEF8Vk5vRylOWXQ1Yl8+VTR7
Mys9S31JMGNrWSZnZzxOJElHMk0+bjwKek0qdyNoanNjRG5QN3FFS1A2PHZFJklyeUwmSVFnRj9n
P0JCK3pZc0R4RHZQO3hPVFYheEN5dT14Tm1TckBCbG5JCnpKUHx4S0pVaEd+eWZuTmp5Z3N9WXll
b1ZsZDwxKzdkXlVVO2Q7QCRoezIyVGF7Q0RePjFTQUF9MVMka30xUTcmegp6MVQ2JH0xUSYhcmdl
WmhHZ3RySmEyd2V6YzIrSWgyMi1rPzFofiRXQGh7QXtwaGBOWkBoK2M/Y2gkKUVxaH1EU1EKemgh
Y3FHaHtzNHNOSkwxQ05DSFVtTlAwLU5OUGI5Qk5VeEJ9az1sPyhrWERoN2tkY3V8a3koKyZrWDRh
UWs9PkVRCnprWTZIfkFoI2xxQkNqSyNxTSlOdHFWUy18cVVmVklxSipITnBjSjlCcHAycXlxRmtX
anB3Z29YcXBHND5wISVUMwp6cVVOR0RwYm4kMXFoNnJscUF7WTBwPXFNb3FDR30/Zm1WanJqVyZu
JjEwNVptMjMtaFU0SVBGYWpRI0BzOXJfM0sKelclTSUpSlBafkxYJChVUTR+IVUkMCpwM3tYXmJE
M24zeFFoX2M4U2AtNyNZQDNvJHp9N2NmdDtAVWJ8czZ0RkM/CnpnMFJ4RFlPcUdKY0NiO2c+OUhs
VGpqP15QUT9NKHNocTFyb3B5RHYjTmFMOHwxbWRMUSlaPEx5OU8yXlFhXnRHdgp6SV5hZyg3VUF+
Y2UhKVk9VzVBUWF2JXFfVG14SUBkd343eXNQbTM+Jlo7bF58cE5ycCh6Zk9RZXoofUEjVWByNTUK
elApaEtUVjI9PXdrZElLQygzPiF3dSRnZCkyJWQ8Nk5QKTxuRDMrKiNYcC1vaF8lNSp8dV9mX3k7
eGdoPDt1OGB3CnpsS1VpPEJvUVIjQm9pZChxKlNDYnE7e243cV93MjtjTSRIZCspPXlaYj81Yis/
bU9TZjIqXmFwJSppNmlEIyZLWQp6O21CRlkpeWUoSGJJMXFEa00yXzNtQW1WRl92UEtyeVdjNUBE
REczKFFZMkJkUDs2MStRO0ppPEQzZDUjRFpmJD8KelFifChUUUB4PC1xU35WLXI8U01vcHc2UUhO
UFIpV05UV3ApTFFfc05QbTR3P05OWXUjTUI3MlRNQExEZ095XkhtCnpPZ0JUMU4tcyFuTCFWMERP
TWsrXiRlX2F6JlFRem5nXmAzJmZ6ZystbX5vQj9sU3pXZmcoO2g5b0VlRShrbEJ2Owp6NzRzKCtJ
Mkx7dTg8dXBJVk9CV1NkI29fbFNGOXMhaC1eWV5qJT9YJVF8dVYqbEkpKUIjcTclKkw+dnp9TE81
elUKemJ+eCFjXipRND9kcFdQVV9fXiU0YT1CKT9Ad2dTYUwlMThiNHxySTMlejRzeiMoNlAkV3FF
Xm0+djtHMVNvdGpaCnpVaHtxQyRMQ2soNTlqYVR6cSUpSSYtR3J9eSk2TWMwVFkxP2Zoaj0oIUFG
OG9mKip0c2dgfFhuZ3Fub1RnenBLdgp6M3MoczVpbTsyPWk0PSleNW9IdiQ2d01WfjZ7OFV8NzBW
Sl41fm1WMzVxfjRUQnRiMTxEdj5SKmEtYTZUI3JeI0kKem8wODB1d3ZyezFKNXBSeXUyUilmQyhe
PncwbiUqYDsyKzM2aDxOWigyMlZ5eUNRVzhSbVBYY0V3cGV5Z2okaDdDCnp1MXl8TVVQKFMpZW9F
bzRnMUpKVyFrKGdsVnRgX281ezhuN1FrdjRyTHphaUc0O3olPmxvZ2N8bUZIQ0dSVUIxbgp6UlJM
ODYpa018I01+c2hMOXlPe1ZzWGJDbFNLQ25NUmAqeCQpeGcoKVk3fVc0WWY1UnhZUittZ1g/YlhN
WGslKnwKelk4UHNzPXNlSSMme0AqdSlENiViKDdVNHQpMnFgKio0TmgwKkZRM2xGLVNJOEh7PkBB
R25fUEhIMWFtO0dyblZOCnpaYD0mVWhNR2J2TyVQM1ZPb35oe087dF5eT14/aEolcmVhTyUlI20h
JkEoYVB3QDkrc3ZKfHNTdS12b352cjRlfgp6Vmw4SCFYdVZ9NFZVdUY+OVZRSitnWURiTytoKkZI
KnMwblQqeGxJYypxMXc/SUc4eHBKS3tPb0lkKFp3SUMocGIKeklJfXYzSVdNXmd5Q2wycHhobEVs
eUZ1S0gtMEl2M0sqTUx5Z1VSRW0kRmlybVhTKE85bSRwfT5IP0ZzJV9uOzRwCnomdlR6bVVzPk5n
S0xrSD56WWMkRHxIdUJ6MGc/ZShmc2pENno+WGw9cGVJND0hRShXR0FFUTBDZHBzMXY2X09CZwp6
N14pTjZAWnwyMzszdW4zPCg/TFlWVEhNZE9AKWh1WEZmeEMyN0M3TElxJm5BJiN4bWFCS2prX0Iy
eXdTcXMqaUYKenFxKERCTUJsXyUjZTlzdDd5Q0w2RGI2dSZHRn5HN1ozMXFCWl5DTSNhJC0jcVJa
PkxLVktPd2lGTkg1OUdaaWg+CnpCWCNNOyF4d2NnPjBaWFl5aUJ1Nm5ART5SRlY3JiljJUVfYyVI
cX1OPi0oP0VHVmYrYVd9ZCUrejRARmFtc09MXgp6a2UhbClsO2ZHUmsqbDVDbjx0bzhuMTNmZkdY
Slc7djAmK35gckVFVGZ4Xk5mQH1rJmN4TUdqdXRyRWtNUG8pbl4Kej4mbj42dmRXM2RCaXtrPEps
PWhNWn1OViFMYUN5b1FuMGVEaW9Qbk44b3hUQzIyJGZ3dnNZX1Z5SHV4RkgmVS15CnotX2FuX1B+
RkpVU2tPZT5sLV45KDlOVTd7QH0lWGEpd2xKaSZBSUoreUxKMCYyZWYwaFFAMy14T1JlaTt3Xkh8
cQp6OUAoREdVZGk2cDRgTHNoYGhAJUhgdnY9SjJrczVqNER0X0Y1QWhGR2Y0dWp4Vz57ZGo/dnYx
YGg3citgbVFqaCgKel9PUzxKSj52QEYwfjBDfUJhPlFfcFFqOWBtT2ZqMnt4V1NweSs3a1FiMUBx
e2hkMzg4azI5YUxLKSNUQCRoPXMtCnpiWkBEN2BOOHR3aXBJKzlzYD1gLUhNaDBQXihQeWM4ITRO
Vm59dUleekJGeWdaaGlWe0BPQXkwXlM2dWRWY1dSZAp6ODlQaW5SbEUwaDJsc1VNKjdzZmFad3to
PGtwM3QqPFU4eSpkVVVqSz5+TVQ+NV4rajtgdTBybHRvS34hZURsS1YKejY4WkFRNzR1Y1l3Ykok
NmpsPDIydiNHMTtQZ34jP3U3JEcjTEVNN14wS243KDBRXnE/ZlFJIUtkLS1QeCg0MjtWCnpXazZh
UiFVNmRQX1heJF5mZio0UWFVVz81Yz94OV9iczZtaDB9K3p9Tzl8VEA9TUMtQEswMUxvcClYTjZA
Z156RAp6OWFGTVlAP2k9QE5gNUwhPktLe3wrRUtiNDF+Xjc2Q1R3UE9hT1hRPy1EWD42QUxIb2N0
bWV3KWpeaGQ3d2RLPzEKenpraVFLMEFKdXphOXdDbnhKbzJMRypyeDFUd094XktBUiteNnA9S30x
NV9DVm5KZHs3eGpwJFczUUxOZ2x8RFl+CnpSJkcrTVI0c2l9cSprYjJxKjFDX3VKdkJLUW0wYjRP
MFA9NCh4QWZkeS1+U3dJa2R2MCZhflpaKDB0bHIhfThHVAp6I3MoY21XSl9ibVlSflQ9O2kleEc8
IXRIVjxyP2psQDgwVjEqPm0zOylyWlBneikhe0JKaXQzSkF9QlRaJkV1PykKeiUrTUU0VnhOWUVg
R3ZiWXZ3RSV7cCVOKD4jVUlUU0xtckQ0aGFRaWJmUyFueE0zUExNIWtXdFdMaFBrWG5zVH5VCnpo
UVRaSSpMSW9pWi1UU3B2YUBva2JObGxhXkFGI202cHxObDdFNl9BbTBGajFtcF4tI0A7PHd3eFUj
YVVwfU11RQp6eVNBQHhzRDdranFWYVJuWjFaQnZUSTt2QXFZbjVeIVktejYoVmo9Vzx7IU5KQktr
ODEkX0x3ck1te2JMWit8KSgKeklVbF9veUJJJjZJR1dzXys2Slg8YiFLN3FeVzVuQyg4N25zP3ht
alB7Kn0/eWBMKFV9cWZOKmNqNGhJe3dCSTxzCnozdkVtOURDe2NqSj1vX3RBVS0odyhSPXZ2JG5J
RzUxblhxK3dFUWdpVDx3RFRWKmolSkQqb0UhaFVAMCR8MjYqewp6aCpYRl8hMUAxKnZWeXZnailw
O3hEVDhIJDlnRVh9YHZhZXkwODAzaFhxKkktUlFiK1J2TnJOIzNSWCVlUlRPbTwKeiVfUXcxSnZJ
WTVCTGZwUEdZSmJpJVBIIyQrZWh7V2p2VVM/RT5DVX45dEI9NUs0UUtyezxWQWswX0IyOUxjWVNy
CnpCMnVDWlZrbHpZIzc4OVI/Jm5DeE9OQl4jSitQTkNsaHV8fWt7NEl0Ui17IVRlMkR6O1JRYXBR
b2EpRzw0ezlDaQp6RWdGclFiejBUaD97dGNGXll5YXkoK3JYZnFtOUNpTCFkej5MOGMqUTUkMV4m
OEl9Y0JAMnUtPStGJjFTaHdVY3AKej1OIzQ/emROMH1BaHtCfHZBSWltPXoyUE9nP2d2QGw9IXkj
anJ5K3o5MGtEenFkbXE3ITNhZVB5PyUxfGJTckU9CnplQkBkOF5TWCVRJGskUEUoSUdLanU/fSg4
QHp4MnBpTE9iJCQpUEVjc2ZqUHJVdUxIanJvWVJtZSUxODRCWGkpKgp6V1kke3RRNyUjKk5qXih+
PXYkUlNYcHdWcWE3a1MwbzNpcnE9NkMoP0NuXj56emZ8cDJwVnIqZUE9UDZ4NUgjTHQKenFIMVBu
VlFifVc2S2h4TyhDZjdDM2hHWW1EZD10WkZ4MG95ZT12d0pNRCZxaW5FI1gxJGlxPk1GYGFTITNC
eVVfCnpEZD1hRFhfRmIjUzxeWXdkRDh7Y01lYCtfVyM8K0QpcmhzVV8yUH1qJkF+NzhUaWFoUnpo
aTlRKjxza18qeUclMQp6MVNSMCskTVJ3TyhWT0dJNlQ/JkNHbV45OF5SYkl9bShmP1kqUm5VWHw4
NCZOX3gxa35BQntraSY8JE13eVdzamEKekNyYytFckAqOFhyTHY8PXJEPnNFcH1TX2xXdSNfZVZQ
PEF3V1RqQGkhO1pzJiRfYTQoO00oTj0lPTNZX2hBKkUjCnpgQ2gxaWk9ZEhebENYZFh0dGdpMHNv
MUxjQ3lCUUVtNkM2ei1ia2xFTlMyOV80Vk1kK19mfkxMdntve0hzSHY9PQp6QkNkTXg1dkxsbkkp
ZXRDQ1hFKWdIbCtAXkV+eUBvS0FyKUZBK2l5fj0qc3ZFZFNZXkZkU01Qe2ZudGVtTVB5QkcKekxr
KGxGV3dHUDU9VypiNzZtcFZxbVVCXmFnfU9QcjJZYllPV19pOCRadTElVG8lajNaZTtOb0VnY2dr
UDcmUWF9CnpZU0ZiUDw0LSVuJUVNbmhpK0p1NFZIJjklQl5YVGBnQl4xZnlCKVVAS2JQPTFhVnFJ
XkBeczRRKVh5KWJVUVZXcwp6cjtsWmZ5YyZLemw9PDxeTlktVGJKZ0RqUl4zRHFvLWVNTEs3RXUm
NGx5SD50bD9qKGl5cHcrYXBoQmtkTDZ1YlgKentUaWBhO1d+a08tVWlNXykrVUIjbmloJnl2TnAx
SWlWbkk/X0FZXkxzVUdFQ29leVN4X1dobSVMNChoUjt5PUNeCnplKkd6SEJ6eUdEU2pLcWpNRXFw
cilSV0h2KF9TLTl2bz49a15MaCYhaTt0R25tVVVMbFIkYk9ZKXt7NWhaWj5geQp6K0ZKVTBARXV7
QlYyNXMoWEhSVlohR1lgIyorYzBnaURRd0lkI0J1SXRtaDBEUkZ8WXpffTc+Pk5Wb0k8N3VAN2wK
ekNtP303V2lGXkV3ODg9NFZMU2w1NzZIJXImX0dCNjNqaUtyMClWQ3YwNEVnLSExM3x8YTlsYVI+
SkpFYjxjQTkyCnowMy1sNHp6UFV9ezs/VlcxKVA4Jig1Szc+cykwVVc5ezIlNGdIU18rQSh7eztO
Q2N6KyhnUnRDTHhOKzFka0ZlXgp6RkZebjlKM0p9OEppSVNfSXM2dntJP3orZ01maWZxMHMzTWNO
WjNkd05SYE1hJFJAfipDP3FKfUNeTSlNczBFOygKejZvfEhzNG4tZnFjent1aCQlNlNCaXg0WHM4
d0w5KjRrQXVDRShVSFEtZCgmeGQ7JERrMHYmPSlMTFZZQHFCcTA+CnojR2dwKU56cTcpQDJLMjRC
K0RSfEJtWiZ0NFRVbnJJYntLcjdCd1B1NFVIYD1IU0cqdEdRQnpqS0VuaUs4an1lIwp6Qmw5KihD
OTRtYzFVbk1ARmhARzQ0Vk5He0lgPCteNFIwS3VKXiNhZEpPVUpnXyhFOTFJM21RTilNQXxDNSl2
QnMKelo2JSpiV2w2VWBTZH5TVlcwNi08ZkdJdnpkaEBWUmBMb0smQlRfWG5ieFZ5eyV8QCtucGUo
RUVoM0hvcXRRISMtCnolUjs/T2ljT2N5Tmk4JWk8RT0oKUBMe15QWnx1SDFoJmFZTFpNdyp+N1B3
PTJjekxkUVl4P3kxaVRUJEFAJnZ0bQp6JXBGcWtnIWskRGFRMHtVNWZxVXhxVlokbTw4YjRYNjdN
OHNyPzk2c3pFbjxJJT9OcjtvQjFqMFhednpiZTE2fkMKemdkJTdPUn5kWnklPUBhIV8tZEQwd1Ip
fmJecm5AVD5iOV5CLTdkQnN4WmNebW50fGpZJnRkJSRzV0drenJZVzlqCnp0PVNqejdmWVRpbStS
cVFoYCpMPiVrSGluZ2RjSTklJD4odkpAfm5RezQpUTxLajs0KklSQjQ4Z3V3dl8wQWhlUQp6S3Fa
SkYlbVJCTFZuNntBZklOY09MQmIkOEFRRz95Mlo1dTdsWkNUYE9NcSpIK2tuVDFteEF8ekZNP2t+
cGhocjcKeiRWMiMhJGNHcSZJRH5XOyRxQV9vbkg8PkBjP3xUV2xUZ2wzTztHI00xa20hKU56dFAq
OzR5cUxfQXowWSVVQXxqCnpRYHArclEjYn1WRTRYJkpDd05jc2lTUD52IzBrYS1WVDNuQ3NsP3BH
TCpWUlZreWhOJUM0KGE/QlI5TkBkQUY2cQp6bTZEJEZHZ1NuJjgxKF9vVFV0fVB5TDdZaz0/dW48
YmQyQWFzK29nWDk8bWEldUNrU31gKjZyfDVeJTBfKXA1dTAKelNufVRJQmo+eHxwVEV9JD5hIzRO
R35zbFNZfCUyWVdeZ34teFBLIT5DTjJFSFEwQjMwcTE9ZjRuSWVVZiM2emZaCnpmWFhZP21QYWU8
czJWKCkjIysoWkVqbUIrbkR4eUooaGJMcShWJnRoLWxwJSh6RjlDP1QzWiFiWl5RVSgxTVRgOQp6
TkZEOCorRlZGb0o+OH19TF9Lcjh2MyZ4M2NsPUVRSl9vNDw0fjBBbzllVm1HWjFrRD5eTn5vRXNR
d3VGKnhxPUIKemdwV3lEJHFUNz1GVjU0VkdOQGxRWDZuN1UmTXdZMSZMPUp5RkhBMWhGUXFRfns7
c3x2cVJQMDJ1TVY/KnYkM0B+CnpzbnhRYnVNX0FSPmRFLXYoMF9sQmN4WjJVYUhNIUZYMk5zSWRm
SXh7Y2ZNZnArbHU1YF85b2h2JEc3enp7a19wMgp6c3o7d3J3YSp1P0sjTFJISGghN158OSQ7MHs5
T011S2k5d0cmLUxGOHU3NTswTWlCOUZoRChLT2g1SEkoSXhfSEgKekBXdD5lMnpMP21MNXlZJmtz
M3J9LVhVSGhESSVwSz9JT3p7elhBfnpFdEcwaFZwTTxCUld4T14yNlFJJDdaQG1ACnoxYm9NWVZ2
YmB5I09sRzghZndaciFzKT8laCZ6RjJpbm9nJk5QdER+aExER19oc2NvVmtUe2x2amJ4RDJAZWNs
LQp6TWx3cnNKbzJgPyZKPEo+cEN9KHdAbGI3MHJfKlRBViRseEpNYmF4WDs0KH16Vy1+YzMzJFkt
d2pJaDM5Z1J1KjYKekFhaEp9bVReN2hIcyVyTENGTVFtVGoxfSNTMW5MMV8qU1MpeEtVKEtiWG58
Tmc2S1pLcV4/dztiaXNvJFMkSHtLCnpkMkB3MCNSakRuV21GWXpSc0JjZFlQSVRIbmlOXygrNmcr
Sl5sPGJ3M3tuZ344e2RIJW19SG5QbkEyTD1UMkAmQAp6WSN6YX5aQk9ofjlnM2FNb0U9O3krQCN6
cUpRPTstXz5sWGlgOyFNYDJlQVpLaGUoSHhLZVkrRmQ9P2kkOXItUj0KekVUJTZgSkFOYjRJfmdN
LV9sNVkmKj50fkc2dEJEOUlBdjRqT3koc1E9b2l1IzloSDEyJVk1ZmtwO0lNTExza2JACnp8R2ph
bHh4S1paSioqU2omRHsoNkBUdmRKcHpCQXVQbjA4UFcwTW0jUSkkeldYQzNGdzdOTmA1dDNLPEFv
MFZJaQp6elhMbjBkLT99YWhhSlprWDk1P1ZTTXw1Xj9gRmx6YkVgYzcyITwzMEtRNyRkYH5VKyhr
UGBzbEQqb28/Qkt6aiUKekRoRzVuPF5aNzB7eDRZa1pEQXhGMDd6Z1UhYndJTkN+diNYXzx5Q0ZI
VUpqfHt5RiU5JjtXM181T2BlM08mMzUzCnplZ2A1NUs3IzMmKGh4WCExVmtpYzZqVV5IdXN9NXE3
Xj95ZzR+R0RjaDxKTnwwdG89MDB8Plo/Yyt9aklOY2RgfAp6JFRUaGxKZGZrRVAtdnl6dy1jKDU/
OXVVPnhyVSZrNWZQSistbDFuO1dNWEZGPEcmeyRDP3FXWEt0QChoVU9gYnEKelElaFMxZ2s4LW9F
VW0wPFY3Nn1WOS1keV9LRTl6KG9gIWAjZG1mUkhuM1NCN2ByPjY7YzF+X3llITwocXFLZTlACno+
WUNjUmBpNzNxdUlgQFI0fUpaa1c4KUsoUT1nfTJtUkRCUyk7Qmk0WTw9QjdfO0dsMmR+JGtyZSM7
akcpVE9fcQp6eml7XjdfYChKR2Y8ciluTT9rKmkzaipmX1VodWRHaH03SWpjIz4rIXJZYHQySmRh
VGJxfmYjUXgxLVlYc196aysKenhzSVJfKGVXK1FAODdjYWxlNkUoU2pnfDw+e3JKQSNAOCZVMjto
RHVjc092RDtOaWlVTEk0eCFXOE5sRXJUPEpRCnplQCRwVjY5eyNwcWt8fnNVKCpmUDJuMXtjdGMo
UXlWV0p8VntfXk96LSo0dFkxNFphJjJFWUo0VU5+SE1UdEVVaQp6aWVTb2EmQkk+aiU4cDxIeyhw
U0ktK2NQTiF8S1RZOWFjeUdAMzE9ZHt8JjF4UntPUXhlcGVFYFQpbGFpJE5GcCkKeih0TzRpJnVV
Zkwqc14telBiPihkbDEpZzYmS3w/SCM4byFjajxZU2JSdEU4KXpaa1gyTH52OTlFQ3MxPjw5dTxg
CnomaW9ASUQ9dWU9cFNMZzVgPX0qbld+U31iQ3FuNnRaRXR8YCk1eFYlZH1uUnRxfEtLVDlRd05G
e2A8U2dlczVMSgp6RVZrLTJEe0gkfV9vWk5aKiU3UT91fEwyP0Z1blBBVUQhOXt8TXV9TjdkP0hz
aW5KRlZ1SjAkSEhTUmR1U0I9MngKekFaRHpiOH0tRWEpUCgja1JqQVNCbjZ2eyVEbHMwTCtKbjZM
eHU7ck1xLTxTIzBDfEdsR1c3MGdYX05VMWJHNDt4CnolKUZMcVA0d31PeWF0YClqQnE4OThJTWFO
REhZbn5hNW8ze2IhWSE4VlozVkorOS16eHM0Ykt8SFFuZ3RtRUVFRQp6OXtjSWo5YDBAe3pUTVFO
R2gzfCY3MmYwPHopUGx9UllaOX13d3sqbWAjUlp2XjxqRDI0TTQmZCRyeEp4PmklPG0KekpNeVJN
bDRoZzU4Nm15dyY5Yjh8dCY5TlZobjhNdFF7Qzd1Nih8UUJlbFReTE9rbXNsMTFKWmZBO1AjMypW
Oz9oCnpecmk3dU5rN25aVUAtZDI1eD8+WXBXTllOaUMjKzdKITR3dUstTXI5JiMzaVhePm0kTTVB
IzVVdlN2ZHwyU2EtTAp6QGhqciZgY35BX3dCaGFzQDtlaTBYTXRBUXg9UDQ0ZEQzQjBhdk1BbDdS
azFjdGh3Ym9nQV9iNTk4YjZmZWNZc0EKemQ9fntwNX1WUnVlY2FSYyUlUk1LVE1ac3hgWDZOJj88
WDBoamMhZXNqPV5AKUMxblY3NnhJPDUpYjlUfkYzT3ZVCnpmM3I7V08/Zm1AVnI+eCVQditfeCUp
R1Z3LTFzN2VUMShUbjUoaTExe05SMmMkcU1VT21aRGElZi1KWGsmOVE+Kgp6PzFCOURmYXsjTFg9
R2stK241S2RSKzFAN3gzUExzbnAlWEJmZGdHYjxwKio4KTklQSZBeUlaUzd4NnEmemlgQ2wKem9a
OShkQnJmYlV0KXpwJU4wUUpOeENlUEt5RX47RF4raVV1QykqOHZfNDt5YWFySXd7Pms8Zk0zMXc5
WEFiUW84CnorJnp+WEl1YitIKEo2OElsQWFOPjglSXQ8dmxnLUVeeWxLPEIyVl5hTCFIa01TcnI/
dilfdXhyd1k2S1g4V0VDYwp6P2ZsKj1tc3ZDUEdpQTVqenA2V3kyeU5qR0tzUGkoYG0hO2dvczVJ
MGQhfER8anJSNyMpaU8yTjw0ZH1DPSVHajMKemZsZ0MxbmRxVj5FekVtZ0M3cipZJER8Y3ZqK2lW
ODNnUHpFck9YLVdZfHczYm4rS3h8OX5PaWRuaHo2cW8pKzRjCnp2dl9TYzxzM3taMXFlMEoxdG1l
TihBJW58c3pqQ2duSis1VzMhVz44RiNHZDs2UTVoeVgxMT9TbVopWX0ldlh+awp6eXV0fWVlSm4l
cDI9Wl5aa1omZ2N0d0wwdUIrbD5NVWFmNUNaOUZ0bGE9NC1NQkRmJTY1PURaR0AhM1NwPk5Ab2EK
ejkyU3o7KUN5JX0pP1JHNWIlVFBJKCsqKkZnX1BfbmJzR21uOHtxLWdZSkFsYUd1NkF7Jk17XkYh
QkltKWBPeUpaCnpWbFAqe21vTF5UQCUhaXc2dzJFfj9OXlJ1cFNaSHxISntDQilYRT01OXtFO0pi
MGtRTj9vTUFWYE0qRGxSPmdJKgp6aDFUY3pkVkEzQ1ltTDNtWmtVaTFLPFA3YnRKZmRSbWpUIUM1
OFVoZXBEV20tMSRBR21IfXB+eHNnIXNLLUhhQEUKemhOUVdYQ2x4KVImTk50YSZBLWgkRHpzMHsk
USM0TXBOTjVeaUxjJW9ESntAdS0jYSRFO19geUUlVk41ZVU7VXt+CnpvZUYxQkxna15JYC0jZXNa
UzJTZ3RGUjR7OXJpVW52dDtSPEVSMiM4OSNaK0c1RnJIMzxSdUEyUVB9YVV6K1FmIwp6VGZAcE1y
dWx9ejsyen0xZ0NANmliMUVXNlNRfHRtSG40bmBmX1F+byskJntsKEQ/PnsqfHclQXhuS0t2WCRQ
cEQKemI/Km10VmhuVSV2dnhjOFNkP3V3YzQmfDAzRTgyUm8jPX18USo2fjEqcUV7LSZmJE9qSkIp
TXFvMmhASlNuYkN+CnpFcFJ6dCVOUVlian5qaDArVHhJVXVjVklGaW0/OWgkK2t2UzZtbU5UZ2hC
dmteTSF2VlhZcUBiS29hKGIrNnR3aQp6WDYmWkQtcDt2ITd7TkBgangrNkt5WipVaDh5VkoqdUM/
O3JfYno0enc3b2dJb0pkLXV7T19PT2xJIVhfaEt4d3MKel5CQFQmaDR0Sn5LfFBhMUJVRGpiK2Fw
a2V3IWJYMWVtM2FoIVRxX3dYSzROZ0ZpSUt0YTBCRkFWPWMyKUswU0NTCnpmVzNCaiMmdC1PTWM3
I0pieH1gWUt8UjMwOS1ONkUhK0JeLSp9PUNMVXNadGk1OXRZWjQ/bTw/dkR7KUIqWmNNIQp6K0Ix
P1lvaCtUU0ViYD98bWpZITVyLXs7KVF8eitpalp4ZXhEIW1CQmBTT099b3BsNihSb2FObF5LekZ7
KT5XakAKekJlIU0wVWFpVjt6MU1oQihXJHpDZV4oNWgpQDx5SClFUihPPXFrTVpuKTc7YUBDSy1T
azlSZD5tNzA0VGNeSEkjCnpDTFhAR0lGe0lzKmdaI29VMWdjSDh7TmpwKnR7dDxHIy17LUMkUylW
TEM7cW1lLXJAbkljMHFzTXhaN0d7TWxFfgp6enQ2ZFg3dG8hc0tOUkVtcnFrOzFQRzVGWmZ7TGhE
Izs2TiEoN0F8KnJ3aT9ydzx+U0VfY3tOLWtuMHgqempgSHYKenJTSkZRdk1tcmxjMHReTlJke15M
WkJDYjB3KD9xSEpNTzdoYmkkUj9XK31pYVAtNVFVbiZIODl6VHtUZHdYajY9CnpLWkV3WT01K309
NGx9KDwze1R5OCt3QXw8e3MhMTF0Ml9WVUwlQSpTTnVuTEcofiM/UWlucVl0Tn1NJih1TT15PQp6
I2ktU0h2QG1aTStxJHY9bCNmOy1pNTk4PFd+XmVAMShLaDNpPCZQVikrTWM2a0olSTNEejBaUmIt
bSU+cyZKTC0KejJUYn5UaCM2YlUhJilmMzg9TyMxQmhVK3lRI3pKWVNqUTJ6eGlmOy01WH5Ndypk
Wlp7Sz97Sz16WiF0ZnllMHVWCnp4VERfT1JCb0p7Qk8kUyNkZXppUWE4OXxUR3JIVDN4Vig1clZn
MnlUXzBzNjtxdn54a3sldk52OCRmKCpPdT5sNwp6RXYmWGQxezk1NCVLa3JGVklrbEFkO0hLY3JK
ZTxyK1AkRmcmNTY5VGVFVXdAYlMzMEVPUzh4Q2JrTWt6JFlZYnAKei1HWTUqUEFnWTNxc1kzJlh9
c0N6cCg8bH4laGZFem5+WlBAMCZ1Z1Q2Xz5mPl9HciRpTFp7ZmNyfVktMzR+eGN2CnpTfjQ1NGpW
bGYjclh+bDxHRGpDPmYpRmZNUlBTaUN1U3tLRlFCMnNpPzVvYl9TMXNnTGBSU3Ylc19aTUFISHw1
fAp6QHF1PFpVcXlmU3s5S0JhbEBNRmtmcjRtKUVlbGltaWpZRkJTTiNvZXw4VDFaX2ZiZk5LMyRE
R3hTaHk2e3FKVUgKemZhI3UyNHwpKnt4I0p7ZSRmdGwrbHJCdFUrWjh4X0Y0ezl4T1VaOzwxdnRB
TDFsV0RpcEZhdXJATj0rSlg1bkRoCnp0PUtpe214ZTFUNWhHUFZNeGdNZlQ4ZSRZV1gkcWZHRl9V
cVN6dT8jRHteN00mU1JyPXtFfk1JZWAkbFZzfD0mZAp6TFM+eyY/aih1c1BfM0JZT3ZCU05ZRyt5
T1pjPHF5ajUzUSkrY0NDaWBkZ1kmUy1IdlZvNXBBaDYtbjBETVk5VCEKenE7Kn0zPDtSNDEoNzhp
OXNaem0tKys5Ky12N09pOD1KYVlWNUUoYjVZcks3Qlg8MG9aITsmfkJEKk9BRyhVPngqCnp3cGdY
KEt1Jj1fPiQ+QE94Y3tYLUsyOFBHISRJRUhoRDBNeHFiO2EyQGdhbEc1SnRjcW99Vnx2bHZ0PmR6
TDdzbQp6cz9fJj1qeDJ7cHE1QHNudFM/PXtNOXJaQmgwKHJLUHYmMHE3aTtDUUdYR05UOHZ5T0tm
dGp2Si15KX1VKVQmdVYKelZJTnhvaV84OXlgKWpzK3s+P35fek42eXFnVWRtLU1gMFpBQUIzVT5Y
QVVqX3hgfmY3Yk9mTkMqVkhjZG02dFFSCnombWB0TD1SPkJKVGFJX3g3WSsycFYkYm88eGxiQThJ
Kmw9TVFZSiZyeDl2MiRsd199Umw7K2U4ZGVUbkp0eVRrbAp6JUFARE5zYVJKMTY4eWcpZURJNGNY
eD9NcmJ6K3k1KWkpaVFLaT1zYmJWX0RxKzw1TjJJYHJ7QThgNSR4eGBjJDkKeiZMJG5OdklDek4o
RSo9JlNOcTdQV0pebVNqOWdhfihHYj8xYXlhaSZmQWkoZjkjJTNqJVgoUyQoRTwoJWkzcjxzCnoh
YVRfKXg4NWgrbyRLczlqVk5QQWl+fns0PTV5UDxSXjIxJEBpJC0yYnpkMCVXJDx+UkglVWR0Qm45
PV9WV343ZQp6Si1MKjJtN1QlLXRDYXBDKXQ1NjFCZ1UjfSp7JFpGb3dxQUAqN1JwO3YhSShsQTd2
Pnx6WlVpYHpaU2Nzd1B3czQKeitMXm9vVEdlWEV1OTVsJlpVRThHY2FEZE55d2lwfF52VGFCUj9j
MTw2RVI2NnolMVJLLWRFamxNbnl3eT9fcGdVCno3I042X0lgRiZie2xRcUR5cGc8enY+QklUOXRA
QiZ6OUF7XllfZUg3M1Q8YWcja3Y3fXcyWH0od08tRjE5OyNnQQp6VHckQ2VjdkZnPUpmcldlJnli
alFjQ0R0SE9lfnhIKSpvVDNRYF5nPWNUckpvM281UTs/QmhwJlo/Jj9IMXJtOTsKekg/Z25LZylD
My1aN1U+QFd3IUBQQHo1cl51dlhDdTNAWT89XmRkWnQ8O2lYcU9+MlA9YFFvZVlDMlE1dlBPSWkr
CnpUMEB8NkNWajZ6WTBBRDZfUjZWfktzWjBmMTlJY2skXns7c2kkQDY+a3l9ZyFwUlRCfm83fFJt
cWNuXkBPLVZLZwp6SGprUD1LdUQlPVhweHNIO3RLS3ZXUzRGTFI1bTNPenE+KStZb3JVNTBzfnVD
Qi1UNGEjYEJxKW10emY9UlQ3KEkKelU5SCRaIzhGcjVwJV8qSkNzbE00PVBEdXtFe3BSU2BVd1di
KTZAQyFwYikrRFhIdF9QMFJEc3ZAfjRBRktPYGFvCnp4dUVGWTkhc15KJTV2JkRWZEhPfDt4SklA
PUZxbThOKU9gUG5oTSoyKXhuUSRfVHFZdmkofFYqcXxrTmBtNCtKVwp6SCU1K3tQfV5VbzY3M2A1
aGFFZ34pOUYle2YlJm5vR2Rma0c2Yk9tT00rUlZ7b3AhRWxSUylBVFdYfiF0bnZCbCYKemU/fjwr
VlU0R2EoXkFuKUI+NTxaUH1vVStoRGV+Wj1OUnpIak11KVMlPUNIUztqSEtQMXtvanY+X2RxIUtS
Tl45CnoyRH59TC11ZCQ7JVp8VTVscyZHQFhxaV9xKmpDWD1ZRmJERy03e20hPEs9KGdBdE9zSiRL
cGMwNGZKYSMrNExTaQp6NF5IOEMkaEp7SFQodTcpRiVlIWBTYE1ldVN2ZEFlSWUoZiNlQylJIz4y
Xm1NZTxgfDszWm5vNGp0NShjN3k2M3UKeihFMWptVnNwNX5zR2NYTSpeITV0cHMwZndSYV8yd3Yr
TzZ7UnpeRGJpPWE/KSg8NUBYekl+cG5kRiEzfEY5b3lMCnppP2I3UV8xRkdhVipjMVNmVWRXJXM5
VnhsM285Yj13eC10SDd2dD9seU5ndHg8NDRKfGl3JmlSZDd1RmBRRT1NLQp6WFlFOG1lPWJmMEN6
S3lITCgwS0hyPD9zO3NqKGlkc0U5fUpgNFMqUkhgUElMNUE+ZCtMP3kqYklTMEAtJFRWak4KekAp
e30kRmhpIXo2TGktdXlIPXdoSkZSeXZWYUtkfGQtPHR1SDdsRiEwcWVEY2Frdkx2YjFvYTNiViRm
SD9URkNLCnpSSiR7YG8pJThzNT4zfktZfFpfP0E3X1EhcH5xaHJGRnd4WlQhb3hOeWVaam9tPG1e
cm9EP1ZDRTJWX2tFa3FNNgp6QCpVfj5Ye1dNJlEoLU9geEhUTzElJiNiWkB3V2MlejAlc3ByQz5v
YSRtLWhnY3I8cko5NVM7WCpZN05lak5uZDcKenMyfWxHPHh4ViQtTCZiS0kkNFUlJXhhfkNPYlVF
c0k/N15xVXwrYGNgRyM5V05tdTBrYihVdzlQMF5ra2NeY0JKCnpwMTJpWSl5O0tGTzdNaVp5KDwq
NmRzYGs4aTAzX2Fqb2EpRFlsdDNCJlYjTikya203clBSWiFNeE1iTHlDekRYVwp6U2U2eTxEY2A7
VXVtdmtma0pacGRnUE93fGA4UUlvNlh0IzktS3tUQXU5IXJMJTluZXxibFRMUHpTRyooIURlXigK
ekZ4eEQkSiowM15ZSkF6MDVPZkZSdTt1JTtgYD1+c3VkZTRtVFNucWYjRVZLKUAkNkVyJHYqQSE0
YGtKfCkzVnttCnpIfXwxRWswVD9TZC1AVER2flEqNitnZlhNQW5Xenk2bl5LVnQ3Ry0oa0J4Mm47
PDxOY20wPkxZKW5+SHpFek1TMQp6Y3dAY3VnXjwpVk5McnM9ZWRnUjElZ21sWHNqak5PNyM/WURw
Sn0wVVgoNk0xSEY8fSFzaG9aXk54dztCYlRyKS0KekheXzF6WkFkMWsmbSZzPGh2NVdBd2NxaSkq
ank+P2Z4T3xOKXw+KWI0cTZUKThjO0lCUks4cF5RSnxlJEd+dHokCno/cmBHZDhUNHJmOXpNTD92
flghSj9vb2pYM3dPa2JFVnM0LU07fjFyMjs7cFJ8RSgqVUBIblU9bVpVWUpOISgjcQp6I3AhVUUx
MnZ0a04wYXJVVWJpT0RkWnhYXyUhfUMoOXModU4oTzRTQlEoamlaKXdlXkA/VFc1Z0NZRVM9ZUNw
QSYKemomYzdpMnxzI1NWR0hXRkpWbVRUSihRI0ViaSNYTCl6cUxnJHFEODY3ezdLcFJ8Q3p1dHtD
KnZrU3htTT9feXN+CnoqUkt3bnp4dEszYmh+PTB1Y3g9TlhEJUZTSXVCdEVhP2NyanNPVi0xbXk7
c1opM3hBPFolMSVORFArQ3k8eHdgVwp6NDtvSFpiYlhTK1AlO0BVSFVeNSQlUmReVE1FPih8Qmx6
SWM9djlJfXVrZUt4K1ZxUiZQeD8lKCQqdSlGYW50PzEKej9HbnQwNXJ1OGB2RWp2eXJ7T0RHTy0z
dXNJfDxyJD0kPHd1YWZ3eTNUPEYxQ0A7dmMlWW1USTczVFdJTkl7VHs2CnpvMWo7WD1AUkN3cFlw
c3JodEtrRTA0TSV9MVM4ZHgtN2txdEEkIzlLbWZud194blYlcjYpelRxQzlEOzBmVF8yQQp6aDN3
Nl8xeSZPO0s7YnkreUhmbkU7Xyp3bDBOeT82OSVsQU5aPU9TTm85WCpMbWtmIUU4XiQ1JEh0RWc/
U2tiSiMKenBDY2hYd2R0NSUyISM9VWBsQGR+PG1CYyF5QmFTWElAWEdTK20xe1hCOGhQNFZ6SllB
ejRiWXRoP3dpUmdIbH41CnohUDw5YyNSaUx+QUExcXFnMFhsNiVmRGVHM0FTRUgwfCF3TFRtNTc+
cHUmRWZteCRCOGZAaGc0Q3U3NjZTY00kTAp6ejVjQ1ApUkBITWwtOTspbGo9Xl90Kms/T3QtayE2
bVVpMUNHSzNlVm13en0kXmstcDA8PUNlYXRCOWtBa0MqKWYKekVTdHUpakxxT05RfGhUTStoUXkl
TEV3eUY0dXpFVFh4bSg/XjMhMnNzcXN9IUpCJj5KR1Q3aVFwJSlIMWNnTmNnCnoxMzBXcChPdzJF
YCRYayNyTTVFNC1ENX0maz02R2Y1bypiMHpYZEUzZCs5T35QantuNE98TWNAWlVDJDAjYSVtdwp6
WDZua29hIVhLUCNLVFZ7S0gwVkg5eUxafTU/WjwzMEFfODlKVzZOWmMyVHlpTmpMLWI3cHtsJjNQ
bWhIWH1PRkQKenMtXngxdyRBXiE2cGNzcnRiNVMyekEzKzE2aFQra2lsPUZfTFVvdGRUcTArUnlJ
Yk8hODI2R3xsRDdMeHhtfGVXCnpwc2VaKF4rRCVGMCpkKU4oKjxqajtxOWxkbVVqJCMkKzt0IXtp
aFZRUnZqJnk9dzItZ0V8eXAlOGZ7eldOWFJwUgp6MmFNTE1OYyV6SStKMyMtO3xecWY0RkpvSW43
Wjx0M31vWmVNfX1NZyM1ZiRmQWZ5NWRBQUlNJnw1P1hkblc0NHMKenRUZ2xHNElwUjs+bVdAPCtw
SF9RSkc0M2cjVEd5e3UkbWw9Z2I5JGNEc3VHaSEjO3l2IT1kVm5lXnh2Rno0OCkmCnozVl5pUTxo
ND1fWllvdzIkd1ckRm1TSG1qXlZKKnZAcl5jTGliJFYqXyY4XlEjflJEa2A+QWNZJGVmI31pWW5j
eQp6RlIoZFBDdT9WfjdqcntZR1RwUjdHKFNfRXJmQyZMdHx8OT4qfENELT4/cmZTOEhMd2BgPm94
ZHpVcUFQSGRqcnkKejI8d2lqbHxlQipleXojaXhvNThLN0RtZTwzNnklWEVBZnBQNCQqZ2FNWUMx
Ql93dTVEYDclYXtUUW90SEUtailwCnp2QFlgKj4hI2ktIT05RHtVeWMhZGBVOFUjdUs/OV47bDBT
dGhwb1pocz5tSEBwNn5OMGVUfVR1Um55IThEOyliUwp6eHp9VSpadFpId3glfV8rVysxY3ZWKjMp
OEc9V1VqPDlZVl8xSnwpJEp3WXppcT5oQj9ZYktPdkpmN1JUUCZhOGwKejBqXiNiQ3o9NipxUHVy
ZEVHPHByYHNFT0NLaFUlYWUqNC1RQHxydDlMblIwdU48Tig1TG93ZkgxIUYlazNDKCFDCnpQTlc1
YlpeNlh0YmtgUzRzbC09TVQoKEdqUEVVdF4zaVg9emhjRnxidklCYEJyeTJPQSg3fXFDSyQ+O1VU
PzRGUwp6UTdQQG88VkFXViQyb2NxSnV4VTxxR3o7N3hkJih0cDhNWWJHPUpwVEtsWSExOWhFPTdX
KEdaYnlqVEx8VzA9NWEKelU4fFd7SjQtVXkqJjJ6Sk1zb3ZLJmwrbGN5eiNnRiRSNmVfODszVkQ4
NEYpVzh0fjlFU3IofjtFUUtWUjVWSDNxCnpvYG9TZzJUR04xbCN8c3BZaTc3JkBRJlV+bWZKaXdL
UkNAQ0Q2JjNwell4RX5lb1lhcmlkU2kpSD9DZH5yV313eQp6bGN6UU52T3E7ZGd0O3xMJV5uPTlH
dGY8Yl5lPkg3KSEja2RENEFoWjxTJFVud0hAX0wodVc8fVMtR3o2M0htJFUKeiQ7VCF9NiF4SDVX
b3AqVXB8P3U9Sl9nSW9uaGBJeUVgeGJDRz4xQmQ/Q3s0NkEoWihSSkoyQyVCJTNDTkEhc04yCno3
dyYyRkZ6MD5jVCgoPCUjP0xIMFRoQ0hfd2BVSD1FeVZ2KlFCTDl5MFBlQ1l3Jj5lTUw1Tl59Tj5I
KmkqPEZVSgp6dn5Cdjx6QXNhV0g3NjNBJkBKU3A5bk1aaW8tUFlRQ2w+NkpCIT1zR1g1Kz08ISNt
RSYrcSpKVl5AYXhFekk2VSQKekFMb0JUelcmKm1IfjJwb0FTJSpOJHVyTkA5ViljZFV+akgmKmlE
ZjhmfishXnBiQjZsJE9Dd2AreH1EZ29qdkhaCnphIWNRY1AwVEZRRSs5I0dudFc9VFI5dX0tcmQz
aGorZG9rR3gwMzkkdnFpRUx6RUdKUGtTe3BTSiUkJDdKe1g/NQp6TUJtRkhVZzBEKTZ8fT0xRWJS
TkNvdVJZJHJEeUotSVphaUlxXjVNM3NpMXgoa2EzXnpCKkxSTytVKUdiT1drS1YKelImJiUoQFlN
TyspU2U9akEqdHZkRDd6aTFLfDgjZ3dDdDUoRThLWGw4Ui10cXZ3b0c9a3E3cGZoKUdMSz5ufFBY
CnpSaH19dm1FIShzTSpDOE0od0FgPF41MEhBeyNqOChIQkdhRjw8ITsyWFF3Yj0jWEtveVcmVTdF
OHo7R2ozdzZFfQp6LUZGd34qIXhiYiUySXZSUEA/a3xXc1omJUAmV0EpPmlzI2NkcmA+PCQlM2E9
JkdeZmlRTiRlLUc8diZ0USZrJEYKejN9MWt1RGk0S3dBdnxpMCVnPzBSO0ZKVENteEc5IzY3Tk5e
RHZxPHZAVXskOHdXeFlzbVl6fWUtMmg2dkBUKTc+CnpofndxS2N8JEt1SW5gclhuKHw5YE4yWTUo
UiE4VkojRH4+MTFVWjVWe3dnPTxAam43SHt6bkQ+S050bmJlPUtZUwp6cFNxdjxvTy1WeS0wPikh
I1pxUzRGKjxmWjwmdExBSDNoZ0ZnblZyNGF4Wl92JDtyV3ctblk5O0lyd0AqQ3J6aH4Kej82czYk
Mzs8Wlg0bU44UlNsTnVzKzgyMTFHTnFicV49P2VGOCRBbzdMaklKZTtua1p9RHlIP00/e2Z2MSN2
MElgCnpZY311PHM+Z1Frdnlic3B2VG5VQz03MilhTVZYZH1aKkV1OT1mdkszdVhDTDMtUndXVXM+
RT5CVilURyU2Zl9JIwp6ZXw/b0hJO0shS2tYLUlePipYSSpVWGNHaXhiZEhQY0R9aFo5N1NlMFZq
JFYjQT5nWj9FZlpYMUpQczdMMzdNMFUKej4yQVgjQCtqZXtSIShoQmcmaHNWVnR6flVVNEpgd29E
anlgdyh4fHx5JD5fYGl7ZDZpKVM0VUFBSiZpQFEqTXJ4CnptcEBvYkc9PChHZ3I5WCs8TiFxISQ1
fDJxMmNgVm00Uz9kXmRaRUwxOXomeTNEbSRRNGw2NEZuU29TK354YWQ5Zwp6SWI3VG14bCYkUEpj
P3YzdXR5VEJYSndVcldtemZAJVR+WHB5VnR4KVFta1IkMnFLVyozaWZlK3JeNWNQdXFFVVYKeiNF
SHJ8UFJtemBfc1lZJm84IUIkM3BPT3RFdDkkKTJsPW9oX1lTNWZhU21jX1YxN18lOXAmVT9LZkRr
RTx6XnNjCnpNaiViNlR8fUo9bHBER3d0WUU3YVR1fCY3X015K3BqPjZlIUpWQ0xgb052cFpTIz85
Q15CO3V0OUNVZTw0flhpbAp6UWhxbHF8OWF9OS0pdXplLU1nKUhYelh+ITdHIXBYKFMmYTMofVRg
QyNKdEdhdUo2fDFTKlVTc0d9PHpJQGs5VU8KentXe0RvenVwI3ZyPXcjfVpjcE8+dW1kSTVGRl8j
YCt9PnFtP1dxT2FMbVI0QVl3dVo+a2kzSn1ySUltTGNZQG0rCnpRYl44TF4xQClIYDd0WEN2SnR2
M2dvV2ArTighaXhWa0Q4e1dDRG9NVDwtZUVAKW8+IUgySEI5SXotJDYrUkFkKQp6cERyN0ZweTts
PElDVjtkb3Vwd2crMDg7VCpCP3RYKT9RVUxYTGdtPFhSbmhMWFhkITsmQFd7WThrfX1ePyU5c2AK
elM4YEF7RENiRVR2Sl5Wa3ZuTEI3cztLdE1gaDIrUzVhaE1RSjxrMlkjJXluTjxIOyFPalE4NUxF
O2hVcEJiQEl4CnpTVmNna25OKDFQR2JnaDBOWSh3PWNGM2s5Zn5sO3NgfGxhbXp2YkI8Mk58e1BP
RlMjX1hWMEZxQk9aTTdBWGtSJAp6LVdYcE9VVklybWBUTSloJk9FKXJjQTNOeElia18kdk5WY1o1
ZXtJR2hvYFVKSj1OJTtfbEteN0hIbjRCQn12cEkKelUpUHlNPSRpRmJaVUN9TnZ2YEJAUF9gSjBe
bnVzPT9kcFVPd3NfbkRCc1JqfmQxfFI2NDN7N0wjXmNxaitzNVkoCnpPNm83bUkyXzZSNkN+N3FK
KG1ETXp5JG1+MFl1YThSM29ZYHR0PXBJeW0hMUlXPClodGR0Z2Q/RzJReCM9b0VMRQp6MUdfVEB0
SjhVYjskelh0SClaM29RbzghSmElJT95Yk41VS1hfVUzI0FuTUImKnp0PlJ8M30/QFY/aVhUO0ht
JDgKejVKX1U9bWpJQ0BtVFg0TVRPPihiYkZSSWA8bGNLbiNtNytWc2cwfEU9KUZZbkk1RU0tVHpU
QmxlX3Akajw9V2d6CnpANkNzNFBSUl53Yk1wNWVGblpafHVTbDB0TnBqY1klPD5qQWNUZjV5QiVU
TSZGMzZxMUY3N3ZCeE1eTjBfSDd4Sgp6PjNpcHZge35JaD54fWwlRTI+Xk1QYUNgfSpTfEhnQDgx
OXt8RWwpSnsofUlhXjd3MEI/ezwkTm1eJkc8SVZfSmkKenc7bSZGPVB9REFlaS1pS1lMIW99UD1y
RStpfUoydjVgaWI4IWVpNDdXalVTOyU1U0wrVXwkYSQ9cXpZWEkpUVolCnpKdm9oTmVjan0raWZ5
ZVRnaGN2e1JrMHZwZiV8T2R2VUdtLU81YGZEMXYkV3VQQH03NE10b2c+I29PWmk8Qig9eQp6JjRf
OU9yaHQjbyFiakFLMiZWRmwmQDBRfHZTJEEyR0dGfmtSfWA5PFM2RyF6KE1qVEszfjRxYDt2Xylt
SXFNbEUKelBsIXRzdmx3ZWljRWRadHs/ODh8YU8tLSgrVmVCaHl5UmxMTlVfakcyRG5NWkV3T3dG
bXpoKz1SX1ZyfFpYPGBqCnpuYzA4bVNWWUB5UX15dlI3bVA/MTg3bGwzdVdDe1ZFak9lKUZJRVVL
Iz10aV5jUXNIMmZkQTVQeX1pc3FvQWNWegp6eSVKNlRVTWM7SSh1IzVGZ3FKZSF3T2Y8QFVPQ3pG
Q1crYXBJbXVaTEB7bWY8dSVpQ2g+ajQ4OFV6TFY+Z2FobUMKek5hYVp8e25MWitVb2RUbktPbChj
P001MXpqWVZCdXlqY1cyJEljb3soYzM7TiMkYUdBUUM7ViR6dWtXMW1hblV+CnplJURIWEJGX21I
STspJmhCWTxILSR5ZHowY0tJZnhtNWE4MCNyYEA+RFA+fk5aa3NUQm1vWm1vPSZGQyRBfjFIRAp6
R2kqQVIhbz9XLT5BfVJWYzR7KzZUeisrLXp9UzMqMTd8Zz5qSXB9PnAzXkBKekZ4Si1aVmgkQTI9
TW8wJD4rc3EKentwZTcweHd0aiR1MXxYJURgKn5ldXRWQUpKV1pqWW51c2xoYC1GQ2VUVSpEaz1F
VUl9IT5tS2k/VmlwJXxFfjx+CnotPmJfdXk8aUFDaUd4bkpyaXhWK0B+SC1VSGQqanc7N0dSTE1k
PVJNVCRhR3NKRlMldCl2dHRkNCl6YkFucnN1aQp6Yl5haUsqPmomPlVYWmxnQUtBRWYmI1ErcyVQ
I1dHSm8mV2tYZn5WQENDZSVUd0g3STU2Q0pJeSNGRz89YkNCTCUKelktRFNOOD88blItaj1eNCh+
YDV8dmJKKW9iWVVpbD07fmUqOXZGWTsmQTw4NWZ4fHUhcVVjaWRCZDF3NiRSe15oCnpwNTE2PTcx
TF8kezF9dzJANFQxWGV+KmlRXnowOVNsSGVKUUNjcGNPPFFqZ3trMmlJKSV9T2BoRzFHbWpyU142
Mwp6Sn1IJTNBM1U4dWM4UDZtK0Q0JkFAblglXiZOX0BUTDI1SSpZKC12K00ybDRMNXV6VnVQYiox
JjtvRXx6QmBQTGsKem1ZbUtAI2NaaSQmT25kK0tgNzVfeGp9aT5nQWpqfio3em5mUHw8Q1I0cU9P
ZXZYMH53bHc2TTsjJiRIRnlfJkpQCnowVVRPRnUySURDbWdUempAPGh5Q3cpa0ZecW1oam5zfSRf
aG12P09DQ3VRJHxwMl9MKilvKHQ+X2BPT2pwbTQ5VQp6MlluP0lFMC04K2AwWjl2KyZtSEhrSTtE
WF55ZCFVNk08JGJVU1diailWWlpVP1VFe0NaRF5BV1I+X0FeZ05pQnYKej8pPj4tXnJjc2c7YVZt
b05WMS0qUlFPUGp7fW8tVF5rPXlwaWpxOV9hP1p0KEQkOStRITReQllqcjArfHBpcWcyCnp1P1Vw
RmUocnZLZlFhU2tmXkFZdzY9VHJDPSQ0fSVLTkc5TF5oWXF7bEUpJVJPKHlWbDVEbG9mZV4rPXY8
LVo2Swp6bEBiNGpzQXZ4O3chaUZ0PFl7amd3aE0wZSlCRz4mMVZvKXc8fWM7I08+PnRybFc/KiQq
VUQ1ayNUb1g0ail+Ti0KenFEcVpSU0Z0JWFRbS0wYnpqa24hQz03ZnFqdnw1VUomSng7SEohNz1i
LWNWZnVsVSRLXkN9PW9LVmZtWSN9aFc0CnohUz9xOygrWTF4KTI9VHkzUEB6NihFNGw9cmE+Mjtu
ZHRZNSNjIT1nY3RxVDtkTUJWfT0jc2d9YUhwPU9RfS08VAp6aGJaN2IhYnlJbmB2TEwhajVEQ1F4
O2BeSGElMz1zdHl3K3NveWA2P3EyemZWPG8kI0o0NTFqSzckZDVYcmxtNVoKekYxdClSWkxGdHJY
fndSfV95KnVfX0BSX19Te3U4N3Z2ZXU5R15kSV5ySnokUU0hTXkjNiQ3SEpSaEFgO1NBQnw7Cnpv
XzJAQTVuWCE9Xi1lM3dTaV4/WldhPkx5LTlqU2RjeDVsQy1RS3F3RjJQNXx1c1hJaklEYnlsam98
ODFPSjFmKwp6M21EVDstSDFLPUpYQkYpdFFTKzd2YnQ1TG95UlFZO0A5S2kkUEBXUG5HZjhnT05U
eyZrOEFRVDBaSyFZezAzcyEKek4ofmRjdi1VKnNSazBycy07ZTBIMEZ+cXtRQm0qVkRvZ2JWM2ow
ZlNZYFg2KVRHVXpfIV4xIThTJUhCXnBLZ1dmCnppcmYoc3tweXx5OU5TZyM+cm0xcmxOcE1MMkYl
RX1qVDJnPGhFTDU+YXRRLWJgKEw4WTZ1P05aTHJDRG5XbExNfQp6PnsyUHtyWn5afi1zK3VvSHZH
YHswQz82KkVQe2poNWhCPlBAdCpiNkRifkJwPWh7SjMtRCNUQjZUTTBZJUUtUTAKelRLKWI4a2NQ
X00wN3kzODQoO0NsWClzWWtGZ0QzcGFiX1o2UWViakZ6eGhMUm51QGxIRzYtWnRpMnsjKnN8QHxD
Cno8QHtwWHAoT1dHaSE7I3xnaUJ2JTVBRyFwKmYrR25aX3Y1V2wrRjJmd1J7NWxoOXsyQlQwemlC
WGd8V2N3e3kjZAp6eCUoPnJHc2slSGZTfXMqYC1ZfCNZcTNje2R5KWwqPmZ1eX56eG5wdHJmQDx8
VSpSekB2QFEwa3ZFamhVNjh8I2MKekptezJZUHhySFRZfnQ5fWduPXwoZj5LS1Vye2N8UjsoQTYp
bUBJcUVTSil6VzAoWFRGXnohbGxmREhYMzFuRk52CnpqPj0hUTIlTDdXKkZsbD0kbU90OCNhMlZ3
RCZ6RU1YckhuVzZsWFN9Nk1vVSRvRTNGZ0RHb3dENEdocVNyZGJXJQp6RTNBNnc3cEJjYmhVbER3
QGN6U0BXVW5DZEdISEk9MWBHQClmbXRSO0hyQkhaNCFZXytVclg/em5fOHllK21EXiMKekR5SGln
U2JTUzkhUV4/QWMhX14pZW5vbD8/QGQlJHZKeXlUTz5oSERAMEYqN3otQnhlaFF4fiFYNjFKS197
UT9iCnpCMCFiRG9edXVja0pTMWZgaDUycWpMKktqeU1qPWN3OSZCKCMlQyo7SzYoZW5YUzxGWiRu
YDZ6X2o0SzAyNF4+OAp6NiFVZ2plczF2b3t4aHp2WX1rNnVlfk0lO01YI0hiZmllNj9nI1c0VXpI
YEYjXnBSP0FfQks7WEcoJXZWbmxhQCsKejQocl9eeWp0I2pjfXl1WlAtckM+a1lCQ1MlS0Q5WEJY
aEE7PEp6VDNWe2VzYk5ya0M8dUxvQjByR0YmM3EpNzRgCnpURDwtaSlBWT5GJDk9fndQe0EyNXBN
Q2khNXZBWGM5dndnPDFObS0lQ3I7QUJqPDRMLVpFSF84NGAlVD9reU9ybgp6JCpzdTwpPlJaTmcq
MExyI1hkU3V0SDcwK010RFhNVWUxMD1QNH1oVV83XzxhOWc4fVJNRDVmUWI8JUgyYXdeU2sKejhE
Rj1uQ1hxY3pSQV4rIV9tbTZ1KlZxc0JGNmRINFklSmNJdUBrK1FDdn5+RHFgPEliO09xJWEzWE9p
TzAkfilsCnoxVyNCPUdkNGEpNGQyekZqUFN+c1U7TDdxcHNteWdUR01zLXAqI3pDJWFARnA+cDFJ
SztVTipEUS0xdl9pPyooZwp6dF50K3w9ZUp7SmRYKTckKjRqVD5pK31HcVFwP2xRTVE8O2luI3Jv
cz8zSVp+ai0kQztFfCZoemspJHxoJDt9V2YKemwjNH5WM0h6ZlZqd3pqWTR4ZnlBRGoyRGZocVdB
WGdab2BlYyUwaUpGODlqPVBubE8kLXkySWo8eVUlRGIwVE8qCnokPSN4dmsob3huOFk+X0t5ZHco
KCplPFYhbWxsYWpZUG8hajhNTzJDd3goNEp0YFZCMkhVfmFrcW5+QDhRZ1NkYQp6S2lken5QKWE5
I3Rvbis2Un42ZkAmIStsVngjNzdPZnN1ampYcHFgMXRaZj88VmZzJUYmaFB3MThlSH1JZFB9Q1kK
eip3eU5wdndgZG4jWnlMR1MjPDY7Z2JjX2hqSCZqMjZjU3hgPkFXOCpgfkZuOGQ7R2JVUlpFKlQ2
JXI8YVBhbGhHCno8N1dxQ0dBP0klMzRXYn1AQFBAJChWJVVnXlhTeilxbVIjVVpMYXB+KHNgU2cq
TD93eUNMQkU/TnBaMHUqYlB2JQp6Tzg5bys8U0R8Km1iSmQoUmx0WSN7UTVOejF9WDFVSnJ3KnNE
KmEhciE9aGBJSGUmPCs7PjslUmQxeWArT01reUIKenNyKHZfNH16d3FNcFQtWUxBLWl+SDhFOyZM
NWB8Yll+djtCTzcodGh4YXFgOEI5Vyl5RlYqPHdzfkh+UipFKWFjCnoqOXp8SWBFQyhzX3I1JCp7
NUomY1IoLXAwPlUzbitKNjV9czRCYWlmc1FlSz81NV8jT2BgV296JHo1SXJ1IWBhYgp6bERqazth
JHBnKXR2S21tdz5BPThlYnFuODxNZ25kNFNrWntscUxmekBIZG8kJW0wTTx7R1JCY0dOPG0+NDMm
RSsKejtve1phRSFMP3xCWEhYOT1vdjBRIWF2Sl5sTH5RbWlQJk9ZLUhqNkdOSF5Sa05Nby1tSjty
MmpEaC1ZK2NkZkAwCnpMZXlNVztFcX56Uj9PZlk/bVB8Y2p7bV4oZTh1RGpAWjxFUFQoUkA+akZf
dGEtak1sZVFDMWM0dDlONDB4TkZoPQp6NFBjJmdGKD0mIVpIIWNrPWRVV2RtdDhVantgMXlsPiFi
eF5MdEVtKyNSWjklVnVSJjs8LXIxP1BiJGQpcGlkMHcKeiozT1Emek1IV3dCczRWTkpiZVI1UldZ
ZSZEZX5FTCVpPTF+Ql99OTdOWUpOQ2NAQ1B8RVhxPjw7JGEhd0AyJWdgCnpkQDhhXkZ5K3F3JHVX
bDB7bHk0YFVNfTQhMGpEVTZheX1UaFBORzh6Pz12Tn0mT1oqdm9wbllnUWxjOGxpYnhGWAp6SH52
MCMwKV5AfT5salVHMlQyNmJgeEVEXj1wYXReR3NeQHhYNnx3d0k4R0s0VCE4YGFEWSp1ckV6aGYy
amFlNG8KejVOTyRuMzxPQWhNODZSREt+KjJrQE8pMnBFZT1UfDFWVzBPTU93XiUpclo+U3E3bUJR
JDl3SCNfWCslO2w1Wnk/CnpxZ0d+TSNlOT58ZGBEbSlDJTlXX2slRzQ0Wip1Vnt8N25tWjI5e001
cldFO3toJCZsclhHZn4yQ0BSSXc4XkJXRgp6JWNEelA9cEhMej92cH4+eypvfFhJZHNpQCtWMFEz
SlFYck8mM3srSG1gcHZaPHZ0ZihxQkNuJWM1VDFwJEFiYXsKel99R1lWclRldUpXdW00bHM3SjZz
VF4rOE97Ny1yODZFRUpfNkFoM2peZkdRUmxBQjtEd20hUipUaU1McTclZik1Cnota3xze0NPbU5j
fDgjZlZRQjdzKkgtYU9lRDJmNmlDNShVfHE0emRxbG1RRn5RQSRGT2ppTnt3Mip1RCowWU83awp6
ZFcjNGNxQlFBOTdvO2U0NDgxcGomO3h8PEY3c1AmdCREdl5uPldzem5VfXdeP29DY14mT1BWKnpP
JkVYYHduPCkKejhyXzBVZnV7JlZwPGMyPkMxXz5pOWd0bkVHMlZAKz9Vfjtscnh6Q1ArMHFJbCFj
R0VsJUxqQEIhcTxQekQmYj44CnprU1JAdGokQyMxeC15czdoeDUtbTQ5QkVFWFFRSykjeyFSPSZC
KiNEWSQpKTZhZ2dRSSl9PksrbklFLTxRYXAhKQp6ckZ6ajhqRDg8RTFmO18kYjt2eGhWbkFjVEVN
KFVYIT9VU0t2bCNsSz9ZYC1uOTY1OyNAYUUrQjQ/PUtiWTlgNGYKelJIZk04VTZofT9nZX4oTD8o
RylZMFMkP2BUOUpvVyRSd3BMclhSdz07fS0hTVNHYHRyRjNQZXpabGQ+R1M4eWVBCno/cFFCb04k
Vio5ZDlPPVI9RClVentILTdvVkdwP25OWkNkaWZ6cVczRldENHE3RE90cGBHaU5HK0QrTCE7ITVp
RAp6TFg8NXFBWGZBfklPUF5RezxiZ3JWS2w/KmZ3OTEhVUxVK2FlfEI7JjxKY2w8LSlFKXRzMVJ+
dnlfbzFMO3BfdHQKemdKJVd2RExwJE44az9Bb0lER2htY1hFdHhOSDd7fVk3d1Y5UUZYfjtVY2lj
ZExeeGcjP2dFcCFJSmNuYW5WbHZKCno0M0BGSD9hWigzZmp7KGZ0QXYyV1UjZCNlNkx4OU48Slha
SiRZcVdyc3coPiRjZE4/ZDxMZE81QCl5SlRRX0Y5TAp6REF0YjRaeUUpJDVIR2tiKjxAan50PW1F
dGtOUFpDTkRjUik0cTY+NEtlNmFvNWZpY3tiJD5vRzEpP2VQQiZSXnoKejQ0aSVwOFJJMWdLclB1
ZDY5WCN+SkR+R1JMeXZRdEV6VlkhTXVre1MrPHdMfUE+YjR9QitmRDt2cHRUVEFiV010CnpZS2Qy
dVJeT09pdmd1T0YwRzl2TnF4MUM1V2F3US1GUFY2YT1uOElBTExOZCM1KFM3JEJFNGRQekEwQjdg
YEJGZwp6fEhwbkNePUw/aTdoUnshSE4wTVFjWT9aYmkjMiV2eE1ebHt4fiRVKzYxP2ZtbGBJRGlV
Vm9XcCh1T1BaNkQxWjEKenAhZTlFVW8qRkFDJUd8TGRSPEh5RjdnKTBYdUNfYHJeaVBQQX53fjlt
TGpHaXRhaWIwKUxMT3RCNm5WZE9ITkZaCnpvUTtMfl8/P3pgM0I3U2JsTyEjS2piLUUoQWRAYXJP
R0xJeG9oVDBEKXNYWGFIUWBARXB6aUh9RyFvZys/bEJ+fQp6MUREN3M1d300NF9mNmYtYW94XjA9
M0FaWTVUeWxrcDFVbE5TezJJZ3QlQVBRX3JKVyt2TE9FbmcrRnFWPm5rWHsKenJEI2FxRUx9Km4p
Oy1LUDY3M0Z1eHZSeUUoVzZYbi1YPz5VN2Z4an55Z3g2N1YmRkR6NnRPcnZtJH0mPDtmQ2x3Cno4
ZXVERnc5TiNOMGFoaWJpb21NbWl9PyV1ODt+TUVOQmxqeCNHVlp1PzNvQEZUaXFXRTtwM1ktNT10
fH5xUldfVwp6ckAjPyg3SkR8LWxUYzRNRSpnezBibGBvZCRWNiheXjVOcSozbVdNcl9CISo1X0li
VH1HVzZyP3cjSFJUPEVUQmAKeil7Uz9zOWRnJCVGWC1uRG5ER0xjWFRIYV4mPUswaDFvJCghYiZB
Vilza2NtMSpLJSk+WDAhfUR3cDxLMEoyN0wlCnp1JjMoQU1WLUxCczd3bDlkRylQcz1lS0FfWHpq
Qzw+b2hlcHB9WShrLU1BYURld2o0d247ckFjQmN3PFBlU3lIYgp6R2RsNGRwPW9eYTdPYy1ZO09l
cE9HU1pCdFJAZ3F6KDhpWitmQnxYPm5gKEY1bkY/M2QqekEqUEtGIVFpND5EaUwKelUqdTZUb0Q9
dzdAfm9kbTU2a3dPU0Vma0Q5bmszQGt6T0xmKWgwajI8ZCR4fll4eXBNcmlfOXk/WHd9PCk7fGkz
CnpXaG1uVjBKTzZAeig4dTM+dDFAWS1TfFZWQ1BFVmk2aFNDITRFPmpZRzRIUXI4JElqKUVRP3lS
IWlZUkxHVVdvOQp6UWtLWVElMm1CbVo7fjF5ejZCUkxzKVV4dlJIISk7IXtkWGYoN0kxZk87bkJT
WXx3MT1KbVZKOEpONk8tT0RlbiMKekY1e15+S2RlWEZmaXFsR05BYzFYYCE5QnpodU9VaVVyJiNG
QylGVStaP3shelQ7NXVjJHMpJmdwMW59Q1l0TjRjCnoySGU1UGQkNGQkdGRrQmZZZTxEQiVRYVVt
alB2N2hyK1YjTzJrQDEkWkpQcHNjYTExMlZBczF3ZjJ1dGNAVUFoSQp6Mi1POT1ZbldrdENBKHFp
WCNUZXRLSHN0cCRsUEVNTSU8b18+fCN+c1Z5cGhIRUgwVFFYUzlvdCRuZVQjQUBJOHoKejVRdEB3
I2RWTyQzbDAjRWw3ZEJDUE1mZ2kwJWpIY2klRVV3KUoqfntIOyZVKWhiRU1JX0RtKFJGRkw9QEx6
ZldOCnpXa2xINWpIa3U2VHo1ZHV1NjxQMHJWKkpSZDwxPDhyXzNvOVVjR0ZQSm0oST5Fd3IwP2R0
aE88enoldzwlMW1sbgp6a2hSQHFmYVJoVmVPZ35wQG8tYTk0WncxdD1ZNjBDTGxHQ1RIKWdMPVhm
a3khTDxEcEpnVDRlUHk3aFFJKjl+OUMKek9yaX4yOTFRTk04c0xnVT1vXlckTXtgJll5N29MP1Fs
Q3BwZVFMP2V0S3w2TDkzanYkKjUrfEt1JjBaUU1nVilkCnpjflRPPG8tUChQN0dadjhRTEUwSTZw
Mm8/JngySnwqVHtERm5oNXM3K2p3ZHU2WHhDcCQ/PT5JNFBOJTNOLVYtZAp6MjMrRDReLT1USTB9
PnpseDJMXzwld2NYO1RrbHBCTmgrTVFSUylWJVEqTDVwKU52O0clTip0alZxMT1Lcj4mRWUKeigt
UyhjVUlGVChYODVkNj5SOzB3a0Bqb1kqSVJmRGRUSjl0YVZOYG9YNjwwMUNrKmtebjl0OE1fPFRR
dUFjRyl2Cnp7Zjgpd14oSD5DNylKejdtbURiU3slTVQ0NyYhZmFVQkA2dT1sQnMrNUJIJSgmKnI3
Yz1uPUQtY1FBbmdFK2AyYwp6eE05M209elkmeUN5OTJyK0VsbFFBUWJvPHkjWl9GJDBeUGw1ajB+
dndKSF4xPlplY1cxM1BmOXklfDIyLW9SZz4KelBhXj14P0M3eiNgTGJfcWI/alpOYHgoQjJONytC
JSUjQllQcHQqPCEqUShNS3NvKm5qQVFhVT9pUDFSOC1kPlpPCno0TCojfHQrX0AlNX56e1NYVjBr
JE11M1MjREFVODYwISphWnJkb2lCR3xiM0BlVjlXTkQpQHRncSpEWGRXKG0kRgp6VXVVNlUpIzxR
UWFIQTF0SklhKyNBPl5ZeDMhY0h9eWk+JHshfCUlJUkzQlhuQnMxPCE2WXdQQlleU1NrVk04PXMK
elNoSmNXdW0jJWduP1J4cTRgMWl8K19kPCEmcTRZemBfWG1NPCFUZldGVU5nMkt+RmIrZ1I0Y29l
dW9fM3VgSyNkCnptYGZua3FsZCE9IWteT2w0LUNnc0UzX1cjSGUxYFhXaTdDISRGJHNUWk0laFc5
TygmcUA1YiUkTEBJRVpmNCkxcwp6UlBfMU5mKCk2U2V5bGQzZlRNMGUodDRYQ3dGcUA1UVM/c1Qw
R0hxTklIS35VTEdiRHhqc1NsaTE7N2hra1J4Y3sKeko4VXZHZ1I5Rk1aU2dvN0VNQmN3S1dxV1dQ
bSYxVUdJP2ZQP3srezZvTXpSPEYkYiotcFpVdldHflB7LVY8MVNjCnpCTVYwUHVkQURBaW9tU2ow
X2JJKipRWUA2SnpyIWNqWj5AdWpuP1ZtLXR4OyRrMXg4S3ErTU4pc0g4OUkhfSZtXgp6SytleDR4
RjlpSHA9a2olWjdnP1AxQ0g4bUBWazApTExaRGVtJGZsUGo2YV93bV4lalc0KE1MelVvU19nV3Na
MXIKekRxcVQjI3ZGUiN5Nj08YDtXXyZtZXBOTVlDdDYwP0hJOCR3Jjc2TDh0dUJeSk9RUlJjNX4r
KW4jKDR7T29ZJFY+CnpHNSR3R3BuYjVaZUxAQV40MzJJYHk0JDJRaXYhSiR4KDNnJmtPKEY+d2g5
MyhObk00M2pQeFRkYDsrMSZ7SnEtIQp6Q05pT3UqJjtYSzdQdThaa0Vlb2xnPGJEfl53PEs8e0Br
UGtOYClgaG59NzZZeGJLbkw+SkpQdjlUOHArZHlgPkMKemhgMHJeQnIyeElvbmFVM0MpSXZgMzdF
OGZncUY+KHE0bG5hYEklbitGciZwJlRoOHlVdz5vZmZXND4mbUEzUHkyCnpNPytHWUg4alRYVFMl
LT1La2NaK2IrYyhFWHVrfmNpbSl4TXRNMHlGeVkmTjVHX19BfE5QbnRvYGpVPX5hMzNSegp6RSYo
NCEtP1AyN2Z2YEMhYk4paWY7V3ZFWXsqWC1LQXhXQXJCYn1CZWhwcSlFMypgIXhnK3pYdERfX30z
ZEh3eSgKeisoIT9AN1dqM0dIWEB0P0grPWk1aXViRXxUfUhLPCVQbkZhNHBYRXtIOFVvVVErMik5
NzlMWmRQfT5ONSE3fWlwCnpRcE8maG91cm9xQ0RuTD85X3tPRDFIPik+MDBVd1EpZEFXQyg1ZTZX
NCEtIXhnUj9RKjk2aUZUWiFRK2tAaVhmQQp6bWVVSk9WPnZrOU16dTFxem4qdkBoJHNDVlRqY1E7
Km1sb2dqbENWfjF8TXNLJH5IWkpvVmMmaEI+WUsrYFpFaUwKeng7YTZaZTNNdz9sTWQpbEVCJUBj
JFFPNVhKMWs4P1l5dDs0QDRYRjYqeDFXV0ZWRXZnenRAMWM1alMpdilFcDgtCnp2WTJqbWM4Xz5w
RVVhMHlDeV9fdDAhfiRhRF9QdFE3b19yLUZ5REdgPGM4NmowVVdIO1dDOWIjbmdFYFooJSE5aQp6
IWw9eG4lSlFSfUBQaXx3KF8peT1ldUFRO0p5eGUxYEt9JVRiRk4xcW8mekNnUmJhSTBCWV5rayUj
WDVxVnhsKjEKeiRGSHg0azV9MXB2X09VdUdMSCo0ZlM0V1ZldnxeM2RnMXF9NjZmJGVSblohZitU
KDVMcTBJZTAoZFhgdGA/S3ohCnpvUFV0dzVoVENTRG08ZDd6PlAkVFhPfCM/N1goT3p4V1V7fnM2
TlQweTNnJmRESm96JW9+NkBAWndCVzVyc1NkeAp6NXBFYCRNIz9EYnlWXjxHMGtNO0BfQUtQITF3
Kkg1MG8mLVFfdUc5OCl1TTlaeCpFLXxJUEhac2pLYG0qUnQ4QT8Kei0xS3dWUG02fGsrKj05PDxK
XyNhUGRIRmp7VGR+a1JwOE16KmckJnEhe09GLWRAKzNteDZNPDRTYWJUcjl+fjtiCnpScnx+fSgl
bF56amBxQjIhc29mVDchVXxPSypgNEF8TjNPYkdSZi1SX2x1fUl3bFY9aXs0VmJ1TGM7cjc7fXU3
cAp6U0B1JHo3K1J+LVJ8JnFlb3RSPyk1KDYyYndmQXRtb1ZucH17PUxCd2RIZXBSeCkpMU5DSnJ2
fERGfGBXLUBtT0AKejlWVFdaWVYkJGpQXlhRdDxkVX1+M0tRTnFtX3FTZlgoZyQ2Y34oXnQqLWdk
NVVvR29EIUZEXml1SHxuVllkUWByCnpgMzBNQSo/aWI3QSMlZT4wVXMrOUsyMWlWckxDbyZkX2dK
PGFlUmk3XmtzZns+fUshemo+RFNqTVR9MGhFPipBSQp6YVBKfWIlSyktd1dKUjJBPU0kVGR4UyZE
NEBYb305Qkc0aD1TdFk7PWlUQVF4XnFZLXNwT09gPUA2ZmJASWtCdHUKeigtQEVpNzxwLUxCcVdi
akZ6N05ZZFFoUUBvKkBHXnY5fnB0QW4jSSUyJV8jNXltZkhATXo4YUJ7cEp4Z25FVClgCnpPUlo2
cXMzfUlfdzJILW9VVFYmQ202Xkc2O30kRmpVajtMIzJtVFojbHVHPFZGfm5jLU54Iythc01NMlRx
aWB9egp6VEg/dSFvUWhyYzx0VDU3Sm1JKDNacEl8SE8xJWcoOU5Udl9udGU1ayV2K1ZuN2d3RWxH
UWEhcWkrZGF2KXVQXysKenc0fllsT34td2cxcUM+JkJpYndHS1Z5KGdaNkwqazNeKyNKSGFRQ0VQ
UDQ5PGhnekUzcmBfJXZtP1oxMWJkWGUoCno1N3Z2eEctV3lzTiVWRWBUM0E9KDdqJEVEYkNFWTMh
dFNZP1d9bE82MG4lN2pRYXZ5b3xIWHVxP2h9fk4/e1hTVwp6eEAjQH4/RWRHfnVeQzVkI35EXz5v
MEQmdD1NXn5FbDxvQ0ZZZEE9S3R+YDRnZWhnaSsjZE8qczEla3sqKlNHMUgKenljeTQzd3g7SDdn
Mn5fPSY9ST1PVlUkRWhPVSUlbUYxfkEyJlpTWHBXeGM7STskNXwqTnhxfT5NS3kwV0BQaFNrCno8
VEx6UThTfCZUTjQ4aGVRWkJVJUNteVBCcTJhJiYlIXZpfFU1Rk85KCplJUhSU3NBXkJfMmZBVnFw
MjFaSTVYKAp6XnEkUSVCYjsofDZ3dyZ3RXAweCNZSk9kNjNDaWd1UD0mcjxNYjJUYkJUQmBUWXVj
alRjaXJET1JrRz9CUnAxYUEKenFxa3hue0VFfjdoJU5MfGR1TGdOKD4wVHxQODV6WnpNQCR5SlI2
QDBFT0VxWnsyLVhoUWluJWJeMDUtTm0mYjRuCnpkPnRtellnVXdyTmQqPFQoKyVCa3E9YS01SmFp
cjZFcSphQFRMSVNpJFRKZ3h6cDUwJEE0UUotY1Jod2I3S1o7MAp6JE50alokYUVpcGg2cXRBZlVV
SFF3aTtrNz9ZdUFVRystLWpiZ2loQFhQPX0tQnp4cU4lOVMmeSRmTlZuIXhTXjcKejA1N0U8K0JM
Smk5cT1xelc7eW1sZG1RI1pLZ3J8OWN8VChoPzdKV2dja0p+WE9ZRiNxZGJFKllYKF9oM3hxPCZ0
CnpCMXswUWppRFgySS1ZZm1SVyZmQ1FjMG1WLTl3fFhGbFByO1k2ckxzUzA+Wj5oS25+X2ppfWdi
dHhJI0orfGkrfgp6bmkjdDx6cHN4czJ7cTNxJTY4JTQ9YmkjKF9HTV8jZ30rMFl7aSRvcmRHamd9
Vm8hJC08fSFNaXs/ZndRP3k3Y2EKekIzcVNgK283eH5MJm5nI2BYNWdmNWd+YkU0THo/JEdEcFNS
Xk1eWCVFdHJISmdFVkRQZiNJXiF5T1F4YjhnWTcpCnpIOVl8LV42UX5kMzVuREE0JiVEPzRzRzVR
Qy0jKSRBZipzQFJ6dXV7c1ZQK21nZlUyMG8rcz1LM3FQOWElVmdpZAp6PzUmeldAKlNweEAlJntA
REFBWk9qX3JwZ19JRC1lUUpzYGdxIzgrfWJgNCVNbTNSeSh1X0h6MFhYK1NOK212XlEKel5eQ194
eGBoQyN6UVR2bntMaVdSWi1DTXQ8dTs1MilKSXw9bCVHMUBtJnp0c1J7LWp4Nz44WjsoTkwqZEhQ
LWhHCnpEMHNPPGtUQkhPRF92YDgqITFYd1VmRCNpX2dMQmduR0Z2ZDctb0RLPXAtejVYI0JgN08p
YkVfUkxkUWY5dWIpXgp6RUAwczxgdkYqd3g7SiRFSXtKUkFCS1dgQSZJeDBjWjE8RnpYaDhwT283
aXNmUD1RQlFHMjUwVz5UPVpPaGYjZFUKeiE0c0A2dWExYkU+XjFKdDtfJD0/bS1nN3VxLVI1ejNA
KTlpO3RnWHNGMGtCUC1ZYFQ2PDxSUEMzdFpxcnZ8WTRCCnohfWlPWFVEfnRFRWRMTmByKlp7bDRa
MWVEQ1ByNk92bjNgO1pLO0whQmQmWUV1V2ZVO1FUdU4qNFRvb2xgM315eQp6P2F2VzwhJU9ZOzJ+
Rj09ZW1tZXVvV0ZwZnhEPUc5PH5ib1lEKiVqbEhqU2VHJnczSTF1U243Rkg1fFQ0OXZvJGgKejlg
PDZ0PUUkakh4Km0zYnJ1RUZWeUo1JGs+Z0hmYiFwSWM4cShzUHVRb1d0JUNpUE5veWZRJkVXVzgr
V01pUH1LCnple30qJWdlVGtrcD1KZ2QtYHRuZE1BVklAbU01JS11QGVEQ0xsc15xeXYqUS0wXnE3
RWszbFBHeyQjcXh4QkM2Qgp6R2ZCUXZAa09UWXswVjlvc1VmOERyRFc2YCZTTTQ3elY3YC1ZfENB
JlQjNz1zWC1XbyZaSEpmZFRkblJsRXlqcWgKejNZdThZJjdDR311QWhkOGpZVFQ8MGZBKGpsWnhD
TzV4LVdZZVZ4JjglfThhYVVZJDcpPnphbl8zOUg5QE1XUVo0CnpxUE5HZ2tXazNuZy1RdHllWXgt
TTVffWdxTEorRXZPP2JKaj44PERId143P0ExKl5GOy1tcTt9dWNKeCNJQm00KAp6ZzhldHxBSkRJ
cnA9NDI+dVYoVjRee1hhbzRKKUBeZV5NTF4oMi02VVN6TVcpKk9IUnJqSzFRfG1rNSgjSWZoKDMK
em1mbDwxdyp5TWZ4OzBBd15vKUBSdms0eSVNb3cxJGp8PmkpaXN5aTdgZ2RLQHsoeHpeV20hajVC
Q3smalN9fGFuCnpvX04pPUgjfkFMNWhPM2FwOzhFI3ViWk9uTz9TPUxDLVdtRWJvUTxBME9zcEE/
YXcwUmBLKStqdz95fWpKUlZhaAp6U0dKOypWZ1NPTDJAO2UyaSRTdSRIMmNzaDZTS1UpKFQ2eHsk
QVFrfDYkQnBlTjRCP2Fvb0J2JWo4TEw2Q0JoUHkKekhkRSpeNW80NDZ2K1JgVXNMe359bnYrP0Q/
TFMmNUFsVChFc2E7MnwlYmErZHRzYD8/c1U4TUFlPFRrJj1AMGc7Cnp6NFNzeDk5PC1AcENRMW1I
Wj58KEQmMkZkPDIqM1AtajRsTk4+Uz9IME9SfF9IUFVfPnp5TipYRH1VR0gtYFhWUgp6Rldmen1B
NipqdV4/flVCcGk1fiN2VCpxaW4peTJuWVRBRCpxNW1pRT08Y29mPz5faEJQd2h0OW8lakMkbzY7
b1MKCmxpdGVyYWwgMApIY21WP2QwMDAwMQoKZGlmZiAtLWdpdCBhL1dlYnNpdGVzL3dlYmtpdC5v
cmcvZGVtb3Mvd2VibWV0YWwvaGVsbG8uanMgYi9XZWJzaXRlcy93ZWJraXQub3JnL2RlbW9zL3dl
Ym1ldGFsL2hlbGxvLmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjYyMjg1ZDEzNWZlOTNhOTU1NWVlYmVjNGQ3YTcx
ZjIyOWYwOTBlZjMKLS0tIC9kZXYvbnVsbAorKysgYi9XZWJzaXRlcy93ZWJraXQub3JnL2RlbW9z
L3dlYm1ldGFsL2hlbGxvLmpzCkBAIC0wLDAgKzEsNjcgQEAKK2xldCBncHU7CitsZXQgY29tbWFu
ZFF1ZXVlOworbGV0IHJlbmRlclBhc3NEZXNjcmlwdG9yOworbGV0IHJlbmRlclBpcGVsaW5lU3Rh
dGU7CisKK3dpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgaW5pdCwgZmFsc2UpOworCitm
dW5jdGlvbiBpbml0KCkgeworCisgICAgaWYgKCFjaGVja0ZvcldlYk1ldGFsKCkpIHsKKyAgICAg
ICAgcmV0dXJuOworICAgIH0KKworICAgIGxldCBjYW52YXMgPSBkb2N1bWVudC5xdWVyeVNlbGVj
dG9yKCJjYW52YXMiKTsKKyAgICBsZXQgY2FudmFzU2l6ZSA9IGNhbnZhcy5nZXRCb3VuZGluZ0Ns
aWVudFJlY3QoKTsKKyAgICBjYW52YXMud2lkdGggPSBjYW52YXNTaXplLndpZHRoOworICAgIGNh
bnZhcy5oZWlnaHQgPSBjYW52YXNTaXplLmhlaWdodDsKKworICAgIGdwdSA9IGNhbnZhcy5nZXRD
b250ZXh0KCJ3ZWJtZXRhbCIpOworICAgIGNvbW1hbmRRdWV1ZSA9IGdwdS5jcmVhdGVDb21tYW5k
UXVldWUoKTsKKworICAgIGxldCBsaWJyYXJ5ID0gZ3B1LmNyZWF0ZUxpYnJhcnkoZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImxpYnJhcnkiKS50ZXh0KTsKKyAgICBsZXQgdmVydGV4RnVuY3Rpb24g
PSBsaWJyYXJ5LmZ1bmN0aW9uV2l0aE5hbWUoInZlcnRleF9tYWluIik7CisgICAgbGV0IGZyYWdt
ZW50RnVuY3Rpb24gPSBsaWJyYXJ5LmZ1bmN0aW9uV2l0aE5hbWUoImZyYWdtZW50X21haW4iKTsK
KworICAgIGlmICghbGlicmFyeSB8fCAhZnJhZ21lbnRGdW5jdGlvbiB8fCAhdmVydGV4RnVuY3Rp
b24pIHsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKworICAgIGxldCBwaXBlbGluZURlc2NyaXB0
b3IgPSBuZXcgV2ViTWV0YWxSZW5kZXJQaXBlbGluZURlc2NyaXB0b3IoKTsKKyAgICBwaXBlbGlu
ZURlc2NyaXB0b3IudmVydGV4RnVuY3Rpb24gPSB2ZXJ0ZXhGdW5jdGlvbjsKKyAgICBwaXBlbGlu
ZURlc2NyaXB0b3IuZnJhZ21lbnRGdW5jdGlvbiA9IGZyYWdtZW50RnVuY3Rpb247CisgICAgLy8g
Tk9URTogT3VyIEFQSSBwcm9wb3NhbCBoYXMgdGhlc2UgdmFsdWVzIGFzIGVudW1zLCBub3QgY29u
c3RhbnQgbnVtYmVycy4KKyAgICAvLyBXZSBoYXZlbid0IGdvdCBhcm91bmQgdG8gaW1wbGVtZW50
aW5nIHRoZSBlbnVtcyB5ZXQuCisgICAgcGlwZWxpbmVEZXNjcmlwdG9yLmNvbG9yQXR0YWNobWVu
dHNbMF0ucGl4ZWxGb3JtYXQgPSBncHUuUGl4ZWxGb3JtYXRCR1JBOFVub3JtOworCisgICAgcmVu
ZGVyUGlwZWxpbmVTdGF0ZSA9IGdwdS5jcmVhdGVSZW5kZXJQaXBlbGluZVN0YXRlKHBpcGVsaW5l
RGVzY3JpcHRvcik7CisKKyAgICByZW5kZXJQYXNzRGVzY3JpcHRvciA9IG5ldyBXZWJNZXRhbFJl
bmRlclBhc3NEZXNjcmlwdG9yKCk7CisgICAgLy8gTk9URTogT3VyIEFQSSBwcm9wb3NhbCBoYXMg
c29tZSBvZiB0aGVzZSB2YWx1ZXMgYXMgZW51bXMsIG5vdCBjb25zdGFudCBudW1iZXJzLgorICAg
IC8vIFdlIGhhdmVuJ3QgZ290IGFyb3VuZCB0byBpbXBsZW1lbnRpbmcgdGhlIGVudW1zIHlldC4K
KyAgICByZW5kZXJQYXNzRGVzY3JpcHRvci5jb2xvckF0dGFjaG1lbnRzWzBdLmxvYWRBY3Rpb24g
PSBncHUuTG9hZEFjdGlvbkNsZWFyOworICAgIHJlbmRlclBhc3NEZXNjcmlwdG9yLmNvbG9yQXR0
YWNobWVudHNbMF0uc3RvcmVBY3Rpb24gPSBncHUuU3RvcmVBY3Rpb25TdG9yZTsKKyAgICByZW5k
ZXJQYXNzRGVzY3JpcHRvci5jb2xvckF0dGFjaG1lbnRzWzBdLmNsZWFyQ29sb3IgPSBbMC4zNSwg
MC42NSwgMC44NSwgMS4wXTsKKworICAgIHJlbmRlcigpOworfQorCitmdW5jdGlvbiByZW5kZXIo
KSB7CisKKyAgICBsZXQgY29tbWFuZEJ1ZmZlciA9IGNvbW1hbmRRdWV1ZS5jcmVhdGVDb21tYW5k
QnVmZmVyKCk7CisgICAgbGV0IGRyYXdhYmxlID0gZ3B1Lm5leHREcmF3YWJsZSgpOworICAgIHJl
bmRlclBhc3NEZXNjcmlwdG9yLmNvbG9yQXR0YWNobWVudHNbMF0udGV4dHVyZSA9IGRyYXdhYmxl
LnRleHR1cmU7CisKKyAgICBsZXQgY29tbWFuZEVuY29kZXIgPSBjb21tYW5kQnVmZmVyLmNyZWF0
ZVJlbmRlckNvbW1hbmRFbmNvZGVyV2l0aERlc2NyaXB0b3IocmVuZGVyUGFzc0Rlc2NyaXB0b3Ip
OworICAgIGNvbW1hbmRFbmNvZGVyLnNldFJlbmRlclBpcGVsaW5lU3RhdGUocmVuZGVyUGlwZWxp
bmVTdGF0ZSk7CisKKyAgICAvLyBOT1RFOiBXZSBkaWRuJ3QgYXR0YWNoIGFueSBidWZmZXJzLiBX
ZSBjcmVhdGUgdGhlIGdlb21ldHJ5IGluIHRoZSB2ZXJ0ZXggc2hhZGVyIHVzaW5nCisgICAgLy8g
dGhlIHZlcnRleCBJRC4KKworICAgIC8vIE5PVEU6IE91ciBBUEkgcHJvcG9zYWwgdXNlcyB0aGUg
ZW51bSB2YWx1ZSAidHJpYW5nbGUiIGhlcmUuIFdlIGhhdmVuJ3QgZ290IGFyb3VuZCB0byBpbXBs
ZW1lbnRpbmcgdGhlIGVudW1zIHlldC4KKyAgICBjb21tYW5kRW5jb2Rlci5kcmF3UHJpbWl0aXZl
cyhncHUuUHJpbWl0aXZlVHlwZVRyaWFuZ2xlLCAwLCAzKTsKKworICAgIGNvbW1hbmRFbmNvZGVy
LmVuZEVuY29kaW5nKCk7CisgICAgY29tbWFuZEJ1ZmZlci5wcmVzZW50RHJhd2FibGUoZHJhd2Fi
bGUpOworICAgIGNvbW1hbmRCdWZmZXIuY29tbWl0KCk7Cit9CmRpZmYgLS1naXQgYS9XZWJzaXRl
cy93ZWJraXQub3JnL2RlbW9zL3dlYm1ldGFsL2luZGV4Lmh0bWwgYi9XZWJzaXRlcy93ZWJraXQu
b3JnL2RlbW9zL3dlYm1ldGFsL2luZGV4Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNjkzY2YxNDZiYjBiYzFm
MDZlM2FjNGJjNjJmYjMyZGI1MWRiN2VlOQotLS0gL2Rldi9udWxsCisrKyBiL1dlYnNpdGVzL3dl
YmtpdC5vcmcvZGVtb3Mvd2VibWV0YWwvaW5kZXguaHRtbApAQCAtMCwwICsxLDIxNyBAQAorPCFE
T0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgbmFtZT0idmlld3BvcnQiIGNvbnRl
bnQ9IndpZHRoPWRldmljZS13aWR0aCI+Cis8bWV0YSBodHRwLWVxdWl2PSJDb250ZW50LXR5cGUi
IGNvbnRlbnQ9InRleHQvaHRtbDsgY2hhcnNldD11dGYtOCI+Cis8dGl0bGU+V2ViTWV0YWwgZGVt
b3M8L3RpdGxlPgorPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSJodHRwczovL3dlYmtpdC5v
cmcvd3AtY29udGVudC90aGVtZXMvd2Via2l0L3N0eWxlLmNzcyI+Cis8bGluayByZWw9InN0eWxl
c2hlZXQiIGhyZWY9Imh0dHBzOi8vd3d3LmFwcGxlLmNvbS93c3MvZm9udHM/ZmFtaWx5PU15cmlh
ZCtTZXQrUHJvJmFtcDt2PTEiPgorPHN0eWxlPgorKiB7CisgICAgLS1iYWNrOiByZ2IoMTMwLCAx
MzAsIDEyNik7CisgICAgLS1kYXJrOiByZ2IoNjUsIDY1LCA2Myk7CisgICAgLS1zdWItaGlnaGxp
Z2h0OiByZ2IoMTQ4LCAxNzYsIDgzKTsKKyAgICAtLWhpZ2hsaWdodDogcmdiKDE4OSwgMjM1LCA3
KTsKKyAgICAtLWJvZHk6IHJnYigyMjQsIDIyNCwgMjI0KTsKKyAgICAtLWJvZHktZGFya2VyOiBy
Z2IoMjA0LCAyMDQsIDIwNCk7Cit9CisKK2JvZHkgeworICAgIGJhY2tncm91bmQtY29sb3I6IHZh
cigtLWJvZHkpOworICAgIGNvbG9yOiB2YXIoLS1kYXJrKTsKKyAgICBtYXJnaW46IDA7CisgICAg
cGFkZGluZzogMDsKKyAgICBsaW5lLWhlaWdodDogMS40OworfQorCitoZWFkZXIgeworICAgIHBv
c2l0aW9uOiByZWxhdGl2ZTsKKyAgICBoZWlnaHQ6IDIwdnc7CisgICAgYmFja2dyb3VuZC1jb2xv
cjogdmFyKC0tYmFjayk7CisgICAgb3ZlcmZsb3c6IGhpZGRlbjsKKyAgICBib3JkZXItYm90dG9t
OiBub25lOworfQorCitoZWFkZXIgKiB7CisgICAgcG9zaXRpb246IGFic29sdXRlOworICAgIHRv
cDogMDsKKyAgICBsZWZ0OiAzMHZ3OworfQorCitoZWFkZXIgaW1nIHsKKyAgICB3aWR0aDogNDB2
dzsKKyAgICBoZWlnaHQ6IDQwdnc7CisgICAgYW5pbWF0aW9uOiBzcGluIDYwcyBpbmZpbml0ZSBs
aW5lYXI7Cit9CisKK0BrZXlmcmFtZXMgc3BpbiB7CisgIGZyb20geworICAgICAgdHJhbnNmb3Jt
OiByb3RhdGUoMGRlZyk7CisgIH0KKyAgdG8geworICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMzYw
ZGVnKTsKKyAgfQorfQorCitoMSB7CisgICAgdG9wOiAxMHZ3OworICAgIHdpZHRoOiA0MHZ3Owor
ICAgIG1hcmdpbjogMCBhdXRvOworICAgIGZvbnQtc2l6ZTogNXZ3OworICAgIHRleHQtYWxpZ246
IGNlbnRlcjsKKyAgICBmb250LXdlaWdodDogYm9sZDsKKyAgICBjb2xvcjogdmFyKC0tZGFyayk7
CisgICAgbGluZS1oZWlnaHQ6IDEuMDsKKyAgICB0ZXh0LXNoYWRvdzogMHB4IDJweCAwcHggdmFy
KC0tYmFjayk7Cit9CisKK3NlY3Rpb24uZGVtb3MgeworICAgIGRpc3BsYXk6IGdyaWQ7CisgICAg
bWFyZ2luOiA1dncgMjB2dzsKKyAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDE2dncgMTZ2dyAx
NnZ3OworICAgIGdyaWQtZ2FwOiA2dnc7Cit9CisKK3NlY3Rpb24gcCB7CisgICAgcGFkZGluZzog
MTJweCAyMHB4OworICAgIGNvbG9yOiB2YXIoLS1kYXJrKTsKK30KKworc2VjdGlvbiBwIGEgewor
ICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsKKyAgICBjb2xvcjogdmFyKC0tc3ViLWhpZ2hsaWdo
dCk7CisgICAgZm9udC13ZWlnaHQ6IGJvbGQ7Cit9CisKKy5pbnRybyB7CisgICAgZ3JpZC1jb2x1
bW46IDEgLyA0OworICAgIGdyaWQtcm93OiAxOworfQorCisuaG93dG8geworICAgIGdyaWQtY29s
dW1uOiAxIC8gNDsKKyAgICBncmlkLXJvdzogMjsKK30KKworLndhcm5pbmcgeworICAgIGdyaWQt
Y29sdW1uOiAxIC8gNDsKKyAgICBncmlkLXJvdzogMzsKKyAgICBib3JkZXI6IDJweCBzb2xpZCB2
YXIoLS1zdWItaGlnaGxpZ2h0KTsKKyAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1oaWdobGln
aHQpOworICAgIGNvbG9yOiBibGFjazsKK30KKworLmV4YW1wbGUgeworICAgIGJvcmRlcjogMnB4
IHNvbGlkIHZhcigtLXN1Yi1oaWdobGlnaHQpOworICAgIHRleHQtYWxpZ246IGNlbnRlcjsKKyAg
ICBwYWRkaW5nOiAxMHB4IDEwcHg7CisgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYm9keS1k
YXJrZXIpOworfQorCisuZXhhbXBsZSBpbWcgeworICAgIGJhY2tncm91bmQtY29sb3I6IGJsYWNr
OworICAgIGJvcmRlcjogMXB4IHNvbGlkIGJsYWNrOworICAgIGJveC1zaXppbmc6IGJvcmRlci1i
b3g7CisgICAgd2lkdGg6IDEydnc7CisgICAgaGVpZ2h0OiAxMnZ3OworfQorCisuZXhhbXBsZSBh
IHsKKyAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7CisgICAgY29sb3I6IHZhcigtLWRhcmspOwor
fQorCitAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYwMHB4KSB7CisgICAgaGVh
ZGVyIHsKKyAgICAgICAgaGVpZ2h0OiA0MHZ3OworICAgIH0KKworICAgIGhlYWRlciAqIHsKKyAg
ICAgICAgbGVmdDogMTB2dzsKKyAgICB9CisKKyAgICBoZWFkZXIgaW1nIHsKKyAgICAgICAgd2lk
dGg6IDgwdnc7CisgICAgICAgIGhlaWdodDogODB2dzsKKyAgICB9CisKKyAgICBoMSB7CisgICAg
ICAgIHRvcDogMjB2dzsKKyAgICAgICAgd2lkdGg6IDgwdnc7CisgICAgICAgIGZvbnQtc2l6ZTog
MTB2dzsKKyAgICB9CisKKyAgICBzZWN0aW9uLmRlbW9zIHsKKyAgICAgICAgbWFyZ2luOiA1dncg
NXZ3OworICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDkwdnc7CisgICAgICAgIGdyaWQt
Z2FwOiA2dnc7CisgICAgfQorCisgICAgLmludHJvLCAuaG93dG8sIC53YXJuaW5nIHsKKyAgICAg
ICAgZ3JpZC1jb2x1bW46IDE7CisgICAgfQorCisgICAgLmV4YW1wbGUgaW1nIHsKKyAgICAgICAg
d2lkdGg6IDcwdnc7CisgICAgICAgIGhlaWdodDogNzB2dzsKKyAgICB9Cit9CisKKzwvc3R5bGU+
Cis8L2hlYWQ+Cis8Ym9keT4KKyAgICA8aGVhZGVyPgorICAgICAgICA8aW1nIHNyYz0iY2lyY2xl
LnN2ZyI+CisgICAgICAgIDxoMT5XZWJNZXRhbDxicj5kZW1vczwvaDE+CisgICAgPC9oZWFkZXI+
CisgICAgPHNlY3Rpb24gY2xhc3M9ImRlbW9zIj4KKyAgICAgICAgPHAgY2xhc3M9ImludHJvIj4K
KyAgICAgICAgICAgIEhlcmUgYXJlIGEgY29sbGVjdGlvbiBvZiBzaW1wbGUgPGEKKyAgICAgICAg
ICAgIGhyZWY9Imh0dHBzOi8vd2Via2l0Lm9yZy9ibG9nLzczODAvbmV4dC1nZW5lcmF0aW9uLTNk
LWdyYXBoaWNzLW9uLXRoZS13ZWIvIj5XZWJNZXRhbDwvYT4KKyAgICAgICAgICAgIGV4YW1wbGVz
LiBUaGV5IHNob3VsZCB3b3JrIGluIHRoZSBsYXRlc3QgPGEKKyAgICAgICAgICAgIGhyZWY9Imh0
dHBzOi8vZGV2ZWxvcGVyLmFwcGxlLmNvbS9zYWZhcmkvdGVjaG5vbG9neS1wcmV2aWV3LyI+U2Fm
YXJpCisgICAgICAgICAgICAgVGVjaG5vbG9neSBQcmV2aWV3PC9hPiByZWxlYXNlcywgYXMgd2Vs
bCBhcyA8YQorICAgICAgICAgICAgaHJlZj0iaHR0cHM6Ly93ZWJraXQub3JnL25pZ2h0bHkvIj5u
aWdodGx5IFdlYktpdDwvYT4gYnVpbGRzLiBBdAorICAgICAgICAgICAgdGhlIG1vbWVudCB0aGVy
ZSBhcmUgYSBmZXcgc21hbGwgZGlmZmVyZW5jZXMgYmV0d2VlbiB0aGUKKyAgICAgICAgICAgIGlt
cGxlbWVudGF0aW9uIGFuZCB0aGUgPGEKKyAgICAgICAgICAgIGhyZWY9Imh0dHBzOi8vd2Via2l0
Lm9yZy93cC1jb250ZW50L3VwbG9hZHMvd2ViZ3B1LWFwaS1wcm9wb3NhbC5odG1sCisgICAgICAg
ICAgICAiPmRvY3VtZW50ZWQgcHJvcG9zYWw8L2E+LCBtb3N0IG9mIHdoaWNoIGFyZSBkb2N1bWVu
dGVkIGluIHRoZSBjb2RlLgorICAgICAgICA8L3A+CisgICAgICAgIDxwIGNsYXNzPSJob3d0byI+
CisgICAgICAgICAgICBNYWtlIHN1cmUgeW91IGFyZSBvbiBhIHN5c3RlbSB3aXRoIFdlYk1ldGFs
IGVuYWJsZWQuIEluIFNhZmFyaSwgZmlyc3QKKyAgICAgICAgICAgIG1ha2Ugc3VyZSB0aGUgRGV2
ZWxvcGVyIE1lbnUgaXMgdmlzaWJsZSAoUHJlZmVyZW5jZXMg4oaSIEFkdmFuY2VkKSwKKyAgICAg
ICAgICAgIHRoZW4gRGV2ZWxvcCDihpIgRXhwZXJpbWVudGFsIEZlYXR1cmVzIOKGkiBFbmFibGUg
V2ViTWV0YWwuCisgICAgICAgIDwvcD4KKyAgICAgICAgPHAgY2xhc3M9Indhcm5pbmciPgorICAg
ICAgICAgICAgV2ViTWV0YWwgaXMgYW4gZXhwZXJpbWVudGFsIHRlY2hub2xvZ3ksIGFuZCB5b3Ug
c2hvdWxkIG5vdCBicm93c2UgdGhlIGVudGlyZQorICAgICAgICAgICAgV2ViIHdpdGggaXQgZW5h
YmxlZCBmb3Igbm93LiBJdCBkb2Vzbid0IGRvIGFueSB2YWxpZGF0aW9uIG9mIGNvbnRlbnQsIGFu
ZAorICAgICAgICAgICAgdGh1cyBtYXkgY2F1c2Ugc29tZSBpc3N1ZXMgd2l0aCB5b3VyIGNvbXB1
dGVyLgorICAgICAgICA8L3A+CisgICAgICAgIDxkaXYgY2xhc3M9ImV4YW1wbGUiPgorICAgICAg
ICAgICAgPGEgaHJlZj0iaGVsbG8uaHRtbCI+CisgICAgICAgICAgICA8aW1nIHNyYz0iaGVsbG8u
anBnIj48YnI+CisgICAgICAgICAgICBIZWxsbyBXb3JsZCBUcmlhbmdsZQorICAgICAgICAgICAg
PC9hPgorICAgICAgICA8L2Rpdj4KKyAgICAgICAgPGRpdiBjbGFzcz0iZXhhbXBsZSI+CisgICAg
ICAgICAgICA8YSBocmVmPSIyZC5odG1sIj4KKyAgICAgICAgICAgIDxpbWcgc3JjPSIyZC5qcGci
Pjxicj4KKyAgICAgICAgICAgIDJkLWRyYXdpbmcgbGlrZSBTaGFkZXJ0b3kKKyAgICAgICAgICAg
IDwvYT4KKyAgICAgICAgPC9kaXY+CisgICAgICAgIDxkaXYgY2xhc3M9ImV4YW1wbGUiPgorICAg
ICAgICAgICAgPGEgaHJlZj0ic2ltcGxlLmh0bWwiPgorICAgICAgICAgICAgPGltZyBzcmM9InNp
bXBsZS5qcGciPjxicj4KKyAgICAgICAgICAgIFNpbXBsZSBTcGlubmluZyBDdWJlCisgICAgICAg
ICAgICA8L2E+CisgICAgICAgIDwvZGl2PgorICAgICAgICA8ZGl2IGNsYXNzPSJleGFtcGxlIj4K
KyAgICAgICAgICAgIDxhIGhyZWY9ImN1YmVzLmh0bWwiPgorICAgICAgICAgICAgPGltZyBzcmM9
ImN1YmVzLmpwZyI+PGJyPgorICAgICAgICAgICAgQW5pbWF0aW5nIEN1YmVzCisgICAgICAgICAg
ICA8L2E+CisgICAgICAgIDwvZGl2PgorICAgIDwvc2VjdGlvbj4KKzwvZGl2PgorPC9ib2R5Pgor
PC9odG1sPgpkaWZmIC0tZ2l0IGEvV2Vic2l0ZXMvd2Via2l0Lm9yZy9kZW1vcy93ZWJtZXRhbC9z
aGFyZWQuY3NzIGIvV2Vic2l0ZXMvd2Via2l0Lm9yZy9kZW1vcy93ZWJtZXRhbC9zaGFyZWQuY3Nz
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjIzNTE0NDk1NDQ5ODcyZjQxZDc0NjVmZjdiNDQ4YmNiMDI0OTdlMTgKLS0t
IC9kZXYvbnVsbAorKysgYi9XZWJzaXRlcy93ZWJraXQub3JnL2RlbW9zL3dlYm1ldGFsL3NoYXJl
ZC5jc3MKQEAgLTAsMCArMSw0NSBAQAorYm9keSB7CisgICAgYmFja2dyb3VuZC1jb2xvcjogcmdi
KDM1JSwgNjUlLCA4NSUpOworICAgIG1hcmdpbjogMDsKKyAgICBwYWRkaW5nOiAwOworICAgIGhl
aWdodDogMTAwdmg7CisgICAgZGlzcGxheTogZmxleDsKKyAgICBhbGlnbi1pdGVtczogY2VudGVy
OworICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOworfQorCitjYW52YXMgeworICAgIGRpc3Bs
YXk6IGJsb2NrOworICAgIHdpZHRoOiAxMDB2dzsKKyAgICBoZWlnaHQ6IDEwMHZoOworfQorCiti
b2R5LmVycm9yIHsKKyAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2IoODUlLCAzNSUsIDM1JSk7Cit9
CisKK2JvZHkuZXJyb3IgY2FudmFzIHsKKyAgICBkaXNwbGF5OiBub25lOworfQorCisjZXJyb3Ig
eworICAgIG1hcmdpbjogMDsKKyAgICBwYWRkaW5nOiAwOworICAgIHdpZHRoOiA1MHZ3OworICAg
IGRpc3BsYXk6IG5vbmU7CisgICAgdGV4dC1hbGlnbjogY2VudGVyOworfQorCitib2R5LmVycm9y
ICNlcnJvciB7CisgICAgZGlzcGxheTogYmxvY2s7Cit9CisKKyNlcnJvciBoMiB7CisgICAgZm9u
dC13ZWlnaHQ6IGJvbGQ7CisgICAgZm9udC1zaXplOiA0MHB4OworICAgIG1hcmdpbi1ib3R0b206
IDIwcHg7Cit9CisKKyNlcnJvciBwIHsKKyAgICBmb250LXNpemU6IDMwcHg7Cit9CmRpZmYgLS1n
aXQgYS9XZWJzaXRlcy93ZWJraXQub3JnL2RlbW9zL3dlYm1ldGFsL3NoYXJlZC5qcyBiL1dlYnNp
dGVzL3dlYmtpdC5vcmcvZGVtb3Mvd2VibWV0YWwvc2hhcmVkLmpzCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjk2NWZi
MGQ4NDI1ODQ4NGZkMDNiNGM0Y2MzMzFlMTZlMWRlNjNjNmQKLS0tIC9kZXYvbnVsbAorKysgYi9X
ZWJzaXRlcy93ZWJraXQub3JnL2RlbW9zL3dlYm1ldGFsL3NoYXJlZC5qcwpAQCAtMCwwICsxLDEx
IEBACitjb25zdCBoYXNXZWJNZXRhbCA9ICgpID0+IHsKKyAgICByZXR1cm4gJ1dlYk1ldGFsUmVu
ZGVyaW5nQ29udGV4dCcgaW4gd2luZG93OworfTsKKworY29uc3QgY2hlY2tGb3JXZWJNZXRhbCA9
ICgpID0+IHsKKyAgICBpZiAoaGFzV2ViTWV0YWwoKSkKKyAgICAgIHJldHVybiB0cnVlOworCisg
ICAgZG9jdW1lbnQuYm9keS5jbGFzc05hbWUgPSAiZXJyb3IiOworICAgIHJldHVybiBmYWxzZTsK
K30KZGlmZiAtLWdpdCBhL1dlYnNpdGVzL3dlYmtpdC5vcmcvZGVtb3Mvd2VibWV0YWwvc2ltcGxl
Lmh0bWwgYi9XZWJzaXRlcy93ZWJraXQub3JnL2RlbW9zL3dlYm1ldGFsL3NpbXBsZS5odG1sCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjJiNDQwNjQyODFmMDJkYTRkMDVkMzYxMzg4YjQxNjFlN2FmM2Y4MDIKLS0tIC9k
ZXYvbnVsbAorKysgYi9XZWJzaXRlcy93ZWJraXQub3JnL2RlbW9zL3dlYm1ldGFsL3NpbXBsZS5o
dG1sCkBAIC0wLDAgKzEsNTcgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxt
ZXRhIG5hbWU9InZpZXdwb3J0IiBjb250ZW50PSJ3aWR0aD02MDAiPgorPG1ldGEgaHR0cC1lcXVp
dj0iQ29udGVudC10eXBlIiBjb250ZW50PSJ0ZXh0L2h0bWw7IGNoYXJzZXQ9dXRmLTgiPgorPHRp
dGxlPldlYk1ldGFsIFNpbXBsZSBkZW1vPC90aXRsZT4KKzxsaW5rIHJlbD0ic3R5bGVzaGVldCIg
aHJlZj0ic2hhcmVkLmNzcyI+Cis8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Imh0dHBzOi8v
d2Via2l0Lm9yZy93cC1jb250ZW50L3RoZW1lcy93ZWJraXQvc3R5bGUuY3NzIj4KKzxsaW5rIHJl
bD0ic3R5bGVzaGVldCIgaHJlZj0iaHR0cHM6Ly93d3cuYXBwbGUuY29tL3dzcy9mb250cz9mYW1p
bHk9TXlyaWFkK1NldCtQcm8mYW1wO3Y9MSI+Cis8c2NyaXB0IHNyYz0iZ2wtbWF0cml4LW1pbi5q
cyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0ic2hhcmVkLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQg
c3JjPSJzaW1wbGUuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBpZD0ibGlicmFyeSIgdHlwZT0ieC1z
aGFkZXIveC1tZXRhbCI+CisjaW5jbHVkZSA8bWV0YWxfc3RkbGliPgorCit1c2luZyBuYW1lc3Bh
Y2UgbWV0YWw7CisKK3N0cnVjdCBWZXJ0ZXgKK3sKKyAgICBmbG9hdDQgcG9zaXRpb24gW1twb3Np
dGlvbl1dOworICAgIGZsb2F0NCBjb2xvcjsKK307CisKK3N0cnVjdCBVbmlmb3JtCit7CisgICAg
ZmxvYXQ0eDQgbW9kZWxWaWV3UHJvamVjdGlvbk1hdHJpeDsKK307CisKK3ZlcnRleCBWZXJ0ZXgg
dmVydGV4X21haW4oZGV2aWNlIFZlcnRleCAqdmVydGljZXMgW1tidWZmZXIoMCldXSwKKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgY29uc3RhbnQgVW5pZm9ybSAqdW5pZm9ybXMgW1tidWZmZXIo
MSldXSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgdWludCB2aWQgW1t2ZXJ0ZXhfaWRdXSkK
K3sKKyAgICBWZXJ0ZXggdmVydGV4T3V0OworICAgIHZlcnRleE91dC5wb3NpdGlvbiA9IHVuaWZv
cm1zLT5tb2RlbFZpZXdQcm9qZWN0aW9uTWF0cml4ICogdmVydGljZXNbdmlkXS5wb3NpdGlvbjsK
KyAgICB2ZXJ0ZXhPdXQuY29sb3IgPSB2ZXJ0aWNlc1t2aWRdLmNvbG9yOworCisgICAgcmV0dXJu
IHZlcnRleE91dDsKK30KKworZnJhZ21lbnQgZmxvYXQ0IGZyYWdtZW50X21haW4oVmVydGV4IHZl
cnRleEluIFtbc3RhZ2VfaW5dXSkKK3sKKyAgICByZXR1cm4gZmxvYXQ0KHZlcnRleEluLmNvbG9y
KTsKK30KKzwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8Y2FudmFzPjwvY2FudmFzPgorPGRp
diBpZD0iZXJyb3IiPgorICAgIDxoMj5XZWJNZXRhbCBub3QgYXZhaWxhYmxlPC9oMj4KKyAgICA8
cD4KKyAgICAgICAgTWFrZSBzdXJlIHlvdSBhcmUgb24gYSBzeXN0ZW0gd2l0aCBXZWJNZXRhbCBl
bmFibGVkLiBJbgorICAgICAgICBTYWZhcmksIGZpcnN0IG1ha2Ugc3VyZSB0aGUgRGV2ZWxvcGVy
IE1lbnUgaXMgdmlzaWJsZSAoUHJlZmVyZW5jZXMg4oaSCisgICAgICAgIEFkdmFuY2VkKSwgdGhl
biBEZXZlbG9wIOKGkiBFeHBlcmltZW50YWwgRmVhdHVyZXMg4oaSIEVuYWJsZSBXZWJNZXRhbC4K
KyAgICA8L3A+Cis8L2Rpdj4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL1dlYnNpdGVz
L3dlYmtpdC5vcmcvZGVtb3Mvd2VibWV0YWwvc2ltcGxlLmpwZyBiL1dlYnNpdGVzL3dlYmtpdC5v
cmcvZGVtb3Mvd2VibWV0YWwvc2ltcGxlLmpwZwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi45MTk5MzAxM2FmMWYyNTUx
Y2E5NzQ4OWYxOTY2YTQ4ZGY0Nzg2OWVjCkdJVCBiaW5hcnkgcGF0Y2gKbGl0ZXJhbCAyODU2NAp6
Y21lRlhiekJ8R3gmXyNxamtePXYtUTZMJDEkUE0mKyYxbjY1fFdVRkFPVjV8Y2VtaDlmWnpkd0Ml
NlE2X2JeUykKeko/Rmw2LUBOPG8lKUkle0E5RCtPX3QofGMpbTdjQXpGT2J2eThDeyYydypHQUU2
RD44Mm1tTzhmNTY9bUBKUDxyCnotVWF8dlJSSTxOMEZWSlYycmQ4eEVlUUFyeXRXNzZmNzx9UzBQ
WDwqRSg3ayo5TFB4cV56WmlsJC01O0tZQ0JJKQp6Un1vSDVtPE5aMm1DRi1yNG9lcWpQRzFYR1BI
cWteUEMhaTMqVlYkKChifCpoaU02ZGdPcV4hRnNmfnVwLWIkUUMKenBJPzxyKW02c1kmUilecS1D
RW1VT349eVQoTmZyb01wQS1HJXZaJE0rMTEoRih9SyNeKiRMKCQ7d3coYHlLKWlHCnp6UiV7UXE1
NTZLKEB+dHBLdmpjRSM+TCY1aWwyanpnTnB7ZCtURkBWTGB6b3daYFhvSDt4dkQycT5xbWVoWXY0
QAp6aUBQbCt4M0k3PENsP1BWNC1ZJDdnNUFScD00cyl9NClkVj52aiRtZjRALUFAUzVKRXY3fWI0
XjdFZkhmSmpIMmYKeklLZXdge19QZ2A9M2l9PHAhIz9FX1k/VHs2WnJRTmAxY2R8X1k/VHs2WnJx
JTZaa3ZadjQoKlojfFB2eHp9K3EmCnpxKyNkYz5FZERNOyE0SEshMzc5T0UyK1pZbFBvYSh3JntQ
SCp5SDVrS2NhdzJffDBjMWk4fms0TDNoZyF6QU1TZAp6bX16TEslUFQjU2BfMTdWXmpmJk9JPkJL
QmZIVGF+VH13ZmwlRH5XdzNUWCtYWm56K29WKkB4WEVJbk1NRyZDT0YKeipaSnJFY20wMztvSzQ7
bkpwZFNFenB2fUI/MD9PYHU+eHJrJFEzb2Y7IW10UkVTKjhTOHI7NUd5MUlKOzBRNER7CnpQd1Y2
OWRULX18SG9pTzlLK3Z3Z3d7OEVoenV3elZ7OyhIK20oa0laMG40MCNZIXV6WCFyY31DKDd8a2cl
Rz1Udwp6dE91UDYwMSRDdVJgeEllen51dk4yfT9UKkQqJClebyYoc05vbjd3ajRBNXFKQCpuRTR7
U1VUPCNnbzc0dzZMKUsKeiVsQE07O0ZhS3dXJGlzJm9oPHgqQU4rNnJJNkhaUCYrQiloMGV7aSQr
IWVMSkpzdFNXM0xJVGp7PDJ8RClZU2pYCnp3K0RPbHIpfXFAc1FhZ0Y9XitDPyVSakVRdlhFOHop
QW4tSW1ITn1SYTBqaXdtOWg2ISgpclZOY2hVTipld2RUbQp6SndBVDchT21MZ0ZXY0hmUFcjViU4
KyY9QktXJT9JOXNOSVRaK2t0cEtXel8zP1o0WEtaenVDdHpQcCMhVXYwSz0Kem07YkFlJkt9XkVm
NGlAeCNvekRjWHtRNSpDViNaWStRWjxsX0U9ZlYlS2VvTylCVVMkdUFiNj0pIz5XPTh8JU9PCnpW
KHB+eFNINmUwX0Z2YX15NmdPdj9faTtQa0tOenBUfEc3YWRPcEEtS257PXZyfm56ajkpSlBYZkhQ
bkw5PzYxNwp6OSlLKDAxUm5XJFRLbkUoNHY9d2lePmVxa3dlekhzMCFOVEZsQGlSN2dOPSVaaSgz
IT8/I0pWTzgyfnVlYGFSQWQKemd1e1EmYXw1cHo1ZUIyRylXN0ZodW1WNk04I3A5TnsrPnJDMDAz
eW8wTU44ej5FLVZJTX02QDNJfEtqfnp5azBBCnpWdEBqbTEoKlBLZkNtciZNMWhCMz55LWdAS25F
fWNPYVYqNDRzNT9XLX4kOCMmdylfajlxPUJBMUNvR3JBUjh6RQp6TmBYcUM0cm03MmZvQDtgX3kk
WT5HciVJUzNUeSloeiFgODJmazJRVDchVylORkB6RkE0YEdHeUshaEw/NUlNKnIKemghKF5VVmgq
dXx6I3Z8YksqJFRvSjRnJjkzNmNwWmduV1dESy13WEZrUCpsYSRQIzF8YXM7YDhnVGtUMTtscSlg
CnpGfkQpYzNCZ0loc2xlJkxKJStQfGJBJDdUZGtHZl9tazVeeVJ7fmNIKkE2IVRIdnpXQHcrKGor
MSl5azlMTVN6cQp6OVYhSHNmdlE3fHBmKnI8WGI/MEU4Vn04YW1PJmUjSjx1YGVCNko2TzM2QlZt
MlR1amg0bGZGPzIoSnJvM0dXNlUKejFSb0JjMVlaRE8zO3pYdjQxTmp6MFI5Jk8xX0J1WkR9bzR1
NWBxRE9FckpoMUNfKzMhOXpxUjU3czNSPkQjOTVlCnpBfGZGb0JjZFJwQkJDTHAxN1pNVElBU1Zk
SXBTeDs1eVRiNVF6UnJMVmtBfjFhVV52bDNuV2paUF42RFlCfWk+Wgp6cWUhYnI3c3pQSGwqbH5E
XjJrUVdGeXMqQWM7cTdGUl4oQ1NiPndSbFkhckdGNWZwVjRELT1KSkQzbHpPTXdEVGMKelJnYE5+
OTheWUJhYTB7dDJoYGBOaUt1MCRVOHU5RCQ3cEQxRy0kJFRuclFaRCYoSVJsRCRzaC1tZTROSWFu
VmBPCnpXemJFfnowZjFrXlUqKH18M0UqK3pgJFVAYyEqKHk7ZldFNlFIYXJyRl5fUzlpSEZJN3Nm
MX5UOEh8flhTJktQfQp6eHJjPjxNVU4kZ1dzMnBHNl5+VmdISEBgYGplXmE5RXJWQD05Zlh+WC1H
RHVYZVRzdkohO1BiazxCU3VJUS1zcnAKenZ3QDMqJVlaOX5ZbFpzfkh5Z0pUY0xmaU1NfmYkZVhO
bVUkRjkpditaeHRVQXBBbGFQLXZSI31la3VNQ3tzOTNsCnowVXY9TGZpRlFhSz99aG1BKFc3VFA+
SWxxRnA5OH1hRlh6ZmhANDFAJGVRUmFRNW4lRihmST8/Mk0tQHVLTH5xSgp6eyRTJDQ2KV9kRDlJ
KyNERzt0bUE5MEAhTDN5Q0kpNEBud0g3cyhET0tCKnxGQzIxSUdDRndMNzkycENsN0Zoc1UKekhy
WkZRUSpzSiYxIyh5TmtLfj0/SX4wVHo0PUVmZEsyV3EkWSpPTTtOPkpLVWV4UGlsK0BkMCZsQT5+
PU5+SFFpCnpid0V1PHR3YC1mb2s9fUplTkRxaXFlfk0pUSUqQlNpJUtnKlllVn5pd3VBUDdqKj9F
NUV8OUw2WmtpczJVV25kfgp6SzdxYzZ7K3hsNEw3KDlATG1rNWc7eyEkfE10e2EpIyN0cnxDUF5r
WXJZeHAkVzwrS29XPUd+IT01SCk7RWNgNVgKekVYZ2R4dFo9TFh0b0UjX3RScmopWXtHMFh3ayk8
T2M2ND9yYzVuNyNfOVlITmp6PTZKOUNhTGZvT0dOPG9ZOTs7CnpvV0hwRXh0ekZpeE1zTDx4c3x5
P3hFcn5UY3Z5SFdkNklkP2NgPG45ZDRxWkRjQE96bWBLPFpVX2BkVndAdkhLYAp6PUlgTFk2JVo2
fjdicHxoNnI+WTA3ZmNiSDYyY2VLNURGTFM2LUUlMjc3aTl9N1FQZV81YitlTDZ4a1BMN2orYVoK
ejY1U0FFNnRmbn41bkI8YjV3e1N9NmtuOH1rfSNMWmtYViRZbWI4JH1sM2FkQmBfU3JQLW90ZSVX
Kz99JDV+KTNECnpFQF5rXjh0SFF4NXQqa2xwSmshNDNiSjljTHZweHN4XmhXIV5ZUyRFdyhgYUQy
TVlXTzBTY2NMNWZvSnZxWk94PQp6JGR4UlczWTg5JjEobHlGZV5FaEsoTjstUFMkQFJ3JG8pfkhE
eDlqYVlPTHo0OG9lNCF0eGc/S1M1bDh2cFZNSH0KemFNTmhnTUFYI0tPeDllfTs/QGUoPmUwczJI
cSRRQktHVHViaVBEK1RXenpOMT9hOyYwR3RuIzVKSiotaGtJYFE9Cno7NTJ3QEZrbmJ4WG00MD1n
ays+PWx4SzhtRU4ye055bFRSNDVeNkh9bkRNZGk8MzNYb1F6ejNGR2J9Ujt2bnEyMAp6YkE5dDde
Qlc2d2khNilOQ3JWRkpvKlk9cFNTREMqVFJwVjtWNnx5MlpYSUwyWlg8M0pXM3lvXlpYMFg2WCh3
cUgKelo/fEpGVzFuUHk9JUREMz9yYHA/P3dJZCo9Y01tYz91X2hnPyVWKndnKm4yJHhLT3pHeHtT
RTh4YHcoZ3h7MHtPCnp4Z0VIeHhhV0M1SlJXPTBkKlh3ez1jXlohKkRKM2pad2M+WT8rWUoycERK
RypVenFQI0tOaTJZZShWMTd7PCM3MAp6MGhSJEJmeipNfDFEQnBrSjxTWSkxVSg3cjImTjV3OE5C
KlQ7YVMwUilhUT1SMlNkMCpWblIrez0pWSl1TiZmUUwKeiVhdkNPdVpseDRMKX1CQ1VXPmo/ZSpe
ITx7PnspXi1uU3Ake3RCfVM+d219ZkY4PHczeE1nXk0xYjBNWSM5Z0ZLCno8V1E3QVJOOHlRX3B0
WXEoVVE+eEYqcV4pRilPakV2OSV3bEs3QFRaaThHN3FpfDMwXlBlNHVaTj8xJk1sdnd8Zgp6PyZK
SDlIJVdGJDZVb3hhPHRiei1aJlNgd3R4YHdSOTtUSjBsYyZFK3pzailCX0AxZWRTKTBYPjZgemZt
P1ZZYHIKenFuRmNARTBrTjlOMFJxMD89fk5uemdWREVAVEV8JnUme2AlRDVAQikqc0ZONiNIOGR+
c2NkT3w4R0JofkliciNgCnozWlROUFYoWExucl4hbHslOG58YnM8TFlPPlhhSjFueV58KHR6WWR5
b243NXh5PHo9R2dLfFNocWlBREk2R3V+aQp6R2ooJXYzcWVhJUR7QVlAKjFJPFV3JHNuOXBMZzFB
K2dDY3dJJVlaekk+KjBnZWlgYWc+RlZ2NEA5eWw4PlNebTAKej9gYGZBPjEqZzA+YVFDUjded1px
fEZ2ZTJmM1JqcVY1b0xqYUpjQFBAVkNZaHY2MHFNJDxnKlAqfEZ8JXJTWDlZCnp3VFkyUS1PMkEk
Q1IyO3d0LWYja2FRYm1MP0xCPXheSzJHakhmIz1pRWBGWURLNUt6X3A/cHpidjFMaGk+RmN1Zwp6
XjMwMG0lSnhyPnBFcyo3KkQlKU4qRDJRdkgrVkxoSHwwMEtaNWVOXlpvNihAP31ZQis/NTZCNz9O
I3FULTJaeEQKemFJa3ZsZXQzNWplb1RDdmY1TGF0YWpKMVRmOThDNGVJOWx9ZHtKO0libEcjSWYz
PCQ/YkF4bn5jKn1nLV8pRiMyCno/NDklN292VmVyI2N3V2ZGVzE3XmZGa1p1Sl4pfUMwcyE3TzA2
QGszZ0Q/THMwbiV2KlNPJkU5QVJMZnd4S3lZcQp6SlRuM2shWGVAJihpSExuJGBhfjFJc3lnKnJW
NXJQYl9VS0E5dlojYGZqP242KEs7fjtpM01vXyopUm5IQnxudWwKemJ0RndDP0lfKEkwfntrSjZC
YVdYPT1tO0xjaUVRTSQyZEFVWXEpWl8tfTV9PmI+UCRFZTw7OHJoJG5hPnY/fX5uCnpxKl5wWj8x
aXw0Z3FFYmxMcENXJlgranhuU3JqPlZ4bSk+amcjKlA2ckE2aU1EbnBPRFJHWmJSKUpydnJHeit6
Zwp6dmBjbCRid0JBPD1+byQ0OCYoQHQ4Q1JOb2RSJVQ9WmRQZXRaXyluYnRLfD0/SFJ9X2JKM0JP
Y0xJKWEwUndzVUUKek50bHcwdUIpfTFrOSZraW9AYmxhY2tlQEE2aEE2fCEycT5EJWNzNlVWWmpO
e0dNO0NLcWB5ZGY4VEJlT0d+bCh7Cno4PUpSQVZRVE5CIXVjYlpCRlVtfi09anNOI0d1N3VlfFFp
XzluWUc7bW5pO0dFPWVfNkhebiZCR1ItbUZHdml0Mgp6YD5mM0RudzxYSmd9anBqPFUrQ3smU0wy
ai1CUX4hLXx7eVZAdD85UGk+cz10OCpBRVh5WHlNdDJPQ0JqQ3pgJUQKeiYkS01HeyVxVStlQSly
K0I+Mk1BQ0R5SWNXNytHfDd1S0lMUTJ3PWphQWF0NGM9eX1zJGtwaTAqIUIzdSNPZFZXCnopR21t
Jm1GZkFKQDNXKEdnWSYlJFU1bmpJe21ZeyhiM1pwJVB1QyRFPSRqOT1YdHowYmdtLTIzbD1mOClX
RGp8Ywp6aD5uaHFkcm0le0ktWkgwVzFjVHVsd1VyKCghOGQ9S0Q9cWFqczloUiQ4fnIycFdaKFEw
dXtuQmAyTSQkbXIpTVUKelB8QGl6PFNefjlxT2R6fmpgNyY+JT9MZ2NqejdSNFJ3YTJ3YGtDeUVm
fGImWUR4QThTV3xIPVY5KmNwRGslNVZ0CnpgMmg8VyVMVkgpK1lveXJNPmMwVG1wOFhMan1rOHo5
fShYenw0KUhfIUUmSnchdX0kcnFTOWd2Oz5oQ0w1K2pvSgp6NTN7QUJyOSkoVldTISltJG09UG5D
YHVAQ0U3UGhGSlZKVk9wfU02dXQzSU85dEokSHxzQDxlaHVVbiY2cDxpcn0KelhQOVl9V2M8TS07
XysrSzVWSyhPVjJoOV5WVjFGMERjMVFtNn1JKHVwWTN9Y2g4LXVJV31TYitjM2R2cDVaI0c5Cnoq
Z1UxWjQ3XzFKRk1KZEhPOG5hYk1neEM3SnE/Qz9oV1o+YzFwTmkjaShmQktVVHVjWHkmaWVmXnxu
NSZfKzQ3fgp6YC1xVDhwRDU/fHckWmpSNHpjYlp7TnJCNHplfFdzTyNZYWFSRzNfbVFqXi04KXsj
RHRGYDQtQD5vZjszX2R5O0AKenpGMmA7cDs/aEBAdzFabXI1Uj1BPHQtS2NwQyYzN3N5MzwqWUEk
Tjs+SmJ8LTh1NlAqbnlGZUNUR2Byb0thMDAzCnpjTmxnJGVGXlQwP2F1Rk0+PmNifD5fN1NuS1Mo
JmxGd0ZsPWRnUmZsX0wlOy0oUypzUT42Rj1iXkI/Qlo3QmQjSgp6N0lQTiE3N0xiKGMxeTB5Zmgl
REBsVTlxQG4lMks9JXgmJiYtUnorNmxJJF87YX55Q1VHSiopV0o2PHx6S2d+RGAKekl5Ym94eHFO
VldiflNjZ2FUOVV0QEpzJVZfODtFPWU/Ul8qQEtFdV4ydDJeP3pZbVVvT1ZWVnJhUzlBZEYpQnl1
CnoxZSNYYld4OEpzSUU+VXhFWD5SLWpJN2piQjwkRTZENFlRMkcxb2Z4Y2I7Q31URTBCfklEcj59
WmJGWlJSWVV8dQp6WH5pKGJGMnErUHpEYSg1U1MzeztvZ3RHZjh6JmJqfDYxWGhxT1gjeHZhTzJn
Qk9PJkdIM0BZQTROZ3NGRWUzNW0KejlVNUl+SnhZQnQxN2JyJEJWMSMyNlFzd0ckRzRgSlg2TlA/
N1QxPD1SPjs7XkhpV2loY0dVSV40bEl0R1BDVTsxCnpGa3UlLVJ8UGpzY1FYJUgmdTNvSS1rQ24x
ZF9WZ1FgX0JiejJWTWxoMSoxTWdlfnVDWTBjWCpsRlVNYlhncUZXZgp6ZUd+VDlFNm4xWllQZTdZ
WjZzRllaUGYxajw+PVglQDNCKUt6UV9IRHxETnpZYXE4bl8ocz1TJSUxRypQK0Y8JW4KeiN6Xkw1
KSpMdn45cHFsKyF4dnhfNSlAR3NHbjg8WUB8QjV7T0lGQnlsQzZ9aGxDNzRtY35+bzZDc0hyaXp9
dnsjCnojTTtjekxlb21vTSo1a3dvdVklVGxsX1plbXZweWtrQUNseUtCcz1+ZiM5IWkyQlVgKGh0
c31naiUxQnlqSFFleAp6T2hpdzxufGteRT0/fFoybWw/WlJeRXR6TD9GRWZSJV9hVGlDbzY3MExz
c0x+M2Y3eDgxfihWQ2omfFU4QCVRTlYKemNARCU2V3NsXks8eGdaekNDXjA5MXVuUVJTKzV3YnNj
d2pHQHFTXzRBPlAwTEtYakEoSVJPIWpEUmFQaUxpYVRRCnpKYzxUQEcqUiN5QTFXd0dVOz07ITFf
MDs/MTh+dyYwMzB0YjBMUFg2KlpjdGlLbHp+bSp1VnBUOGVqemshVDRBYwp6RmF1bkdVQClmNDAm
MExoVT1CRWpwaEJvMkFgbCZqM25VRFo1OXgtaSFYZCZqITk0PEZ5K2ttKytrcH44NmB9c24KemFf
OXk7OVQ9KFF6OzdVTWZVI0h5QXtMQEtWaWdpSGt+dlpuQCZqYUY8WV5SMWx6Y0V3M1BSbVFHZWE5
ZW1xbzlgCnpWOEtZa0IqMldvTGRKVDlqZXp8YzJPVEZDbW1JZWNQWXx5TVVtdCYrej5nNChGb1Fe
dD0tVUcpVnBRVHs1O2MrJgp6KGlBY1V2U2FjTDNSUXxMJTZ1d2FZNlIrOThWNmN4K0cpQnRkTXlT
I2g2JTxiQ1VhJis9M1NPNVJ6RWdMYzB+NEoKemokfT9kRStLOS0/Z2dHJi11SFk/e0VxfjkxU3ky
QGdmVF8xTVR4fHkjV15KO0NBQStxTldHTktseGRlO2t3O1FzCnpRQitaflNBTTBFQHUqNGx5Vnwp
MXY4SzN8d1JWKEZsa1BUJVdwJT80cWlXO1QkQXFUeFc8S1Z7N0tAZ3xSQCZDbAp6SFkwWDtfNjgw
YWp5dWt4dXQ9QTZII3pyd1BZZj5+QDFNUnBlbXchPWZ3ZShBITQ9UUJMbj5lTHpXVmY8e1lfcE4K
eiNrPDReeXZYU0hJTUUrc05qX3g3dm5Nb3RSODNrKjJ+TUw7fENhZUdUUGhjdCpIO2l6V0xDbWUx
fSZmZFI5ekthCno8NXM4SHp9MUEteXhkeXpJa2R5ejN0S2xfJnJEektLLXs0QnUrZlAwN31vXlQ2
d2VSY25aJnY0TWVwVUMpej0kRAp6VFAzXmxgIytDZnBLX2toVVBhIUB7YE1iI3pKSD9NP19VNlh7
fkRtZTswIXprQjdxRWAzZSpzMGZDRXI1cG53UU0KekckNCtVUClJaFkxVDRacTtBcjlHO1QrKiY7
RntwcHBtPFBlczI4KmRgVipjUy1VMj1zZWd9YU1Bc0FzMGtzUSRsCnpAZTJ8ZWt+aCpBNyl5VVp6
Qzx4Yz18PmVyJXxqemJpJEk1PmA9Y0xYKmtkZVY4ZT5qaj4wd1BfOClHbHlJTzNlKwp6elFRQktF
NXcoO0EweDBReEZidjs7d0JtZC0jI1hCQzVadGs5QkNQdTJ7e0lOOC0rVjFKPl8/KkZsdXE/QmJv
d1EKejNwI1NUOFR3PWZRJHsrKlpLZkxMWERwOWNpQzk8SSVHbXVsPFQ+IzxTR25yQkJZQ1dPQU0l
bSRVR3ZXZ2JifDkpCnpyZmB4LXZTXmxBblJwQjYmKDxFXk50NFFtJGVQR0ttb0hRcFFNXj45UD8z
Q09ydXRNWlJsUVlYU3FudipONUBuKgp6TGEkWi0qcFMpaWlFKjtZbT9eNTZsKTEwUHJ6aEsxT3hD
dEdnfEByKWQ9NWQ1e20jVE5OMC1sVCNPfmY2UShqYDsKeklsZnFhUHlQMS1FdU1aNClfZ1Y/XjYx
NmpEfi1fNkgoR0I7LWw+SzZNPUQxM0xAVUolZWI5fVlQakYxVU4oeFYqCnpQSGpweiU9bmQ2b01X
MHRsc3tlPVM4UDtEVUE5eHZQI0lRalRGWTBEKFhpZ3MqN0Jqdnh9QzJSXyVoZz8oKEJ5Kwp6QEdI
XmEhU0w2Uzs8M21IPzx3MEt3bG5eN2AzdXwyUWFgaVNROCZHfFNORHQjTXZ2N2B6Z181RUUhPXtQ
NkxjR1kKenpXQEp6e0xsWCR8MWBoSEtrV0RUPypoal4wdnNjI19fKUYpel9yMGBmdHJwUylDWEQm
VTR8IXpIdiU9OVNwO2ZPCnpqajJHbUt+elJlTSUraHxMck1ofDY8eT5TNmU1JkJsb2VEfSlKOE5X
dl95MWQ1Q0o8RlcqRm1gazEpSGpxX050dQp6ckxudGw5XnAqalRIeDtFMT5zfWpYQXRsWmJRNzhv
bylBU25WMC1ZRDcpRjllKG5NLWFoRC1MRCs/OWZnO3Y0MDIKekRqdXBlPlNQKmlUMT9zanhfOSlk
M14pdXc3XypxMW5UMSZwU1ZtWT0rM2VXYElnbUpoYUYlaHM7eF4/RztVKHQxCno7K3lDMTV2VU8/
N0FnPWY2S045dER6K3FrQn13PkBVJj1yX05HNHgpT2RoSmh0N3hoOFViI19hU3J0VyVUaXI8Rwp6
d1B1fnhyVmZSIXpGdiZ9SCQhWUFaUjI+OEAxYFZYI154eSZeT20kJDQlWEdTNUlZVX5FUWZPXmI/
MElpUjk5IVcKejJAaCR7Tl5lRz0zX21qZTxVcTJnUy1+dk5ZQz5kUWpLOHVBeT9PSUtqUVUrZ2dt
YDQlZCVmdGpTbD5BR18/JCRFCnprMkE+dXNUNjVuR0YtQUt2bk8tb0B7SjFWaSV2Xj0laERfU0Qp
cC1jWWYwPGo4Z2BuZFRINCQ0K2UxNmV5MTA4Rgp6ejJFdlh6UGItN2U0YHc+OUdqZXxvbDUlZ2Q8
SGk2V1dqOTdjRXhXc2NELXV6YHdwPGpkU0ctRWUkc0p2ZUpPYkQKemVjTiNWe3lsN1hkRzJRcTBE
PitKJTgmRFJjZ050dTVUcUNZeFEpS015VXgxMXlVaGxKamFkTnI/RFU1Z2VfdDM4Cno4dnRTJDIo
alozMmcqTytYWil2aF9aaCVKaE1ZaTdwYiMxVzRoSTZvZiF1dW9EOFlMbWZaYCpWe3d4aUZnVGY7
cQp6QXxhIW9xSmFmIXUpKHp8UCQoUWM2YW5HPjB9QTlSY3BpWXFMQk9Udm1Pe2tTdl9QVjkhez5Q
KG9yejI8e2kmVG0Kell2aDJBX2xiSzUzTXdKZDE3Wj8tMjFYYGs3Q3dGZktfT3VnOENmfWIxd3wh
Z1o1PkBiZU5jOV93NmVDYndYPThkCnpAYnZRYkAlOGg2QCR5eVo+bzslMVZxIW5VI1V+X3dPdj1q
NiQ8NTB6Q0BpWTFzOztUNnQ4WnhSPT17PnYtUDdDRwp6S1JQeChGKilgOSRNbitqJUZvcmNeXk1K
fiE9dk1xKTNmdTclZDdpLUxCUDU2Ji02I257LUl3dVY4N3R0O2kyJEkKel94Knl2YEc2WX4yT2Zj
JTh4ZERaNlVvOTJrQX4rdEdRTTxsPUJJV1BUMylSS2YreX1Ic0R5TlVPWjEyTFVIamQkCnpmMzBJ
N3xGP1NmU0k3Unx1TmlQNmZjdUBHYU50e2xMY3VvJDQ8PDBpeWllZWl7eVFRNkV1c0VTcHd4K20y
Q0E1VQp6T0x0JTs1VT52TFZucHlDMHxnMT8mcnw+VXslI0g9Q3slYVQwNkd9KSFyPyUxMDc+OTlq
NDcpdjdpKk8oRH50KkYKenw3ZTVXZWZ4aT44QkxPP2ZudGFHNWpXaWp0I1NOMlpaSXFYSnRpb31Z
PEBCO1VCSlBYSCpEQGppWH1zbmBkZGleCnp1aT8tbiFqQzBlZzZ+YWxFQilCWjxtemN5e1R7TlQ3
Qn1kfWV3QX1xa0l6SjFqRDQ/O2Y2VF9scyh7N3ZFX0o4OAp6ezAxditKeVZeelRjPms/ZlcrbFRr
S1MoSCsydXtTXk9ATF9GczhEeFZOfEI5WGFDQTNje2xSRSojRCZZYEdBSSUKem53cDVVQndLQChO
UGYxeDlvTTJGOXdvWChORlNlfHZqTyZxPkZWT2J2bWw7QmoreFpRITQqIUNLPjt9b3REbCshCnpZ
Y0tVNFNROChrMmVUcVI/cjY8QmgtJSpsRV9mREFyO1dzS21uQU9CeWJ1bDNYaXpJSjlTQUo3TjxR
a05HfikoMgp6eHRTdEx6QngjQT9CK34qb1VuQ3ZiQmgoc3pWeXxHSnVpVlJwelRPUD4+I344Xz5C
WnQ3K01wJTxjPkcqUUp2ND0KelBrRWdURlZ9aldNajxOSkVTP3p1TU89eEJnUSVWVE1OVFhfa0x8
RmwrYnQyTCkpajghIWlhWW02fH5xb0EoQGtVCnooWj1LZW9xaVNub2I7Nkc9Xl5vSj8zRnspOVcl
TkJoMlozY3l+LW09b25CdjNCKVApekQ2ekpkeDwyUmd4eXhqMQp6eys3NkFKQDRvbz8xJTVqSDAz
akthMWFTfTxwQip1YTAjRURlcHNgcD9UUVBVZ0RGdiliTXpNVzJTWUNQSUZ8UV4Kek8wVFRnUzle
PFFlMVB4bWklSTJZREplRUpySHE/cT5+Rk5ROVYpekllQUVaTUJwKCZWamx+bT5xX19+NE92UjQm
Cnp7SClFKnBTTEg4bjJhaz5TYmMxJE81YzNBaGYhJmVtfGRuNUN1QS0hTVJtcm4rfWVEYipHaSM4
SntxVnJDY2dtXwp6T01XY1J1V3dfaGdDRlQwV1VYVlpge3dyWjB8cjROcC1hcCpoZHkyLXpldm1u
aUMlTndQeFVZVERFbHc+R19+MmcKemhmJWNpaDhzOFRmWj9HZkllaCZoS1pxUUAje2FZLS1Iclkp
S3heKD5BYjBzaStSdGVfMGo7Xmw2K2FEbGB9YmQ1CnpxVGs1JllEYXZyM1AoQCtJSypXIz5peTZ7
d319Kk9TOGJFY2JIKSQwWEVvR29FKn5SNWpZaF4ycTZXfHtkSj4lTQp6aHUjNlUxRVBMM2pmYlkk
WFFeJHgofXAzQEB0RFluSGwzOWA9dj5HVnY3SyhRQ3hwQFlfN29KSzkqZkZXaHhOfksKemRDTyt7
YUFgQ3BwODhQQjhAeyFTUjRQeUpJd1QrbytDfSpLWXhPbypVITA3PVNnVUYkRHlmPEpUNjlZPThG
cGp1CnpiKD5Ca3hlO0dkWCtxZzdWSn40OWBAViNHNFc9YkU/WUsjYWE+M2I9aFd1alM4KFdOVW17
WkpfYG4qWG12Y15ufgp6KnQwR3V7XlA9P19nVTRgK3cpbkRNVkY2azFjfX5fbVE/UmxuQHlEdHhB
WXlNeTRufWFvZU1AeCtAdFUleFM+Nl4KenNrZU03c1dSWGBVQFlUVCowTSN8Y3dSIzVITiVoN2E5
KjFJUXNTSXJLO1laUE84dE9XPjQwSkpvNFJEaVFjdUQkCnomdkhgIVR4LWtrVF40TDVwOG5sWWBN
JWxHRWVCXk1PfWoyamMyPUxZMkleZm04d19QS0pFXkk1JjlOTUEkX19ESwp6NiE9PTJ2PnlCX082
RGtHMEx6JHtSdiZFRXYqTFMhV25meFp7PG03eT5BOFhCKkp7M0dCMHB7KGolRUdZUDBSZmgKenkj
SG1lTSZjODE2OV5pNVAzX01nN2JiWCNvKV9Lckh+QT8hcE89YXwxeUxeaFYyT08ham0mRz0zYitH
YT9WcFEzCno8cH1meDtrQWRmTmN9SjJZd1o2NHpEezxiT00rb3V4eUo4dTlgbnByaFFLUTZTP2Zi
dHV9TGZJaGJWMSEhcFg/Twp6dzxjZmw0Kz5oYylOR0ZHN3dxXiZjK1Y0RTFUMDRwSXd6PnI5K2oj
RWtNNXlGVmw3aUx4NyVLUkRFdi1wLUBUKGgKekdFYVZDeUY/RGhIdGR2P0k+N09SekY5Wmc0PXB0
c1RUQD0ySGVgaGtNJF9fTz90MUZvK2FjMyYrVC1CV1RtSnt6CnpVOzJ3ez0jT3BWRjA+Y3hVWWBW
V29QU1pqRSV0NlE/cTZsczM+fU1UXk1BeGUlTytpIXJxeG8hT2tFbyk+UyQkPAp6YEJxd2kxU29p
dTRZfmdeP2d9akdROHlNdUVWVElZUGRGVHs3NDFGY2NwVHNGRUtDaypKVEZNdjRxRkY3bGBVdSoK
em5rQkAwQjM4dlJCalk8NEZmUEE4VWxCMUJGbUFJfVY8Mi12Uj53OVk8MnJqaG5GeEVqalhwYld2
cHJ2SnB1TytECnpRfEZBKT5HNFFWO2BBajxYPHhCd3dRPUlzc1B7U3IpNjY9NitfYHk8SEtSNT8q
VWtHX0AzZ3VuKCgkSzxGVSZUZwp6KF98MHlUU29mUnUhTG17byl4KnQoJFQmQ1U5cEREKmxmJmZj
PUokcnhEc1MqYjdaUCNqJmFyTGBUVjBzIUBYOzUKelk9YUdqMThKQ3A0b1AhLWZrQm9iO21hJWhv
PiFFS1g8UD9gM29ufTAzb2FaXj4tc0ZZPHpmTjlYZjYhPUxfUERTCno2Pkh9UGRYRT5xe0RiPF8z
KU1YQGZ+ITNwKXlXT1pfcDllPjZILW9WPEwmXkAqP1AqUnhVZU9pRCEmRnM2Zl52KAp6NkJuZElj
I3JWMUd8dEB7b30td0J7Wlc7Xj5gU0NEOXdscVRoKTB9MTx8VVRgcDNYP31iJVpnTT1TJW85V3JZ
RiUKellgWXUoem1DQmd6N2BfZyR2aUg1P190LTBeUlJIMXBTWGhEOWM4WD1GfSZZQU9pUCEqIVNG
YGx2MlNGc3s1MmNXCno/Ynokc1Y/QzVwRUpLfUFXWXtueCpEI2o+Skx7bEZGdzRhNCFnfVVQe0E4
VmVSY1RFTWsyPiRWbE4rOy02TTcwMAp6ZDx2akcrRn5xcXAtXkl+dmdVWmlrcSVlS295fUd5Z3k4
UT9rQl9hMHUwJDJwQz5PdkhtJHlsUiYjPDZhNlp5azwKenBJfihjS0R1R1pAS2JEZj9ETm1kKXY2
MEV1RFZfMEBnRjlsa18qMmlyYVdxSntqP2g4USt4LXxVdEdvVWFpYUx6Cnpifjt0ciQyKUtrPW13
MjJeUWdTZlJlfTN+WT1HQmZ1SGlCRWZNNmBTKzwkIz1wK3kjVXlCJVUrdVg/T0JtbGhBQAp6REFZ
NEtDM1gzX1ZZRU0qQzFgcCZvTHBxbGN3UGh8KDQ/SUM0YEFBP2dUUzFTaHFZYD87QD1Ybl5gQ3Y0
N1poNkkKenI8YHV0TXhHdFI3O2RwWSlqbU9RYGk8QT9GXnNfe3F8WmR9dnZwa2E9VTBEdFBtfGcj
QyZHfFFwT0J7ZXlHKUMzCnpPK0w1fE0we0t1SXlMUUpWQUVGP0lJT3Bya1RpXj01Ulp9bVNPc1o3
LUxqJTRJYyZaKklvQjxJJXBKa1NTb01WJgp6TFVOfV5aYGFiZnNJbFJkekxLTSluJlllNTxmTSZL
K3d1WTRxPTBuQmgpKGtHJDtxVkpiZFRKSHtBNVF6XiFWZVIKemBtJjIkdHdeMzZ1S3BNdldaSWVf
RThucFdxeDI5bElpSUNsUms4PDwhfGB+V2h6TmcxbGw0UW5JLWheem9fNWIpCnooXyVkLThWIW5E
NHo1LVI+MjZ6aykyd2VueFY9ang7b1VYUlhTS2RRR3xvMSFWJHA1RExMRDgmUH1+VilfUzE4KAp6
JmBzWWZ1NU9ffUdhR0RAKWN0LVZeSlNqK1k5M3tJbFhHNkg9YD4zQlhmRShOOWNASTg7OHJiSTsx
I34rTHhne18KelFRbDRiPiojR3ZyUiklP0V2P2xgeDJiY1k2d25NV1oxM21QPmxIP05Cfmh+fVYq
QTNBb2QwRUlYM0diRlJ7fDlwCnpmYFNybXpNYyoxY182JE5IeWshfWFtX3JDdihhIW9aZX1DMHk+
QDJtenREU0IlRyY4YVJNfmVYWUl+SFBGNUtQdwp6NDVLPT09ZiNWMDRzfDRHKmVOO2RRZnNWSkF3
eE91VCkoajB3QGNUZmBXe04qX0M5IW1WUGJOUkEya2F0KHktZXQKekdEaDB0UyQkSFFBTWFNUHVN
NH4qPypMKCFiQXlAWnJNdUx8MGc5dUB2NyVjMSRrfmpIZkhgXz5sRDV5aiR6anVaCnohUWZQamF7
SVlwfDR7PHRBcDZqPnhodjR5alphQ1FDRH1LZzdhTTR3RyM0fTdCaGYjfXFPazxlVn1AX0lkWkw4
Kwp6Tj8hbE5aZX1hJj1AemZvekpkSnVfP1lUJmkmalRePUlUZSZZMGBCMm9OSSpeaXt5TEFWSGtD
IVhJVEhSbkk7V2cKenBIR0IyO19YdExnZjE2YUxeVFpAP04kcCFiT3tjaG16WSZ3a05UWWs+cSlG
WTUtdiYyPzdIfTcxMTFJMiNPPWs3Cnp3LXFMJFlDZkJiTVB2I3lSR1ROfmRmKkprOG9nSUJefG53
T2BMczlEPkU3TSoqaE5yendobn5zZnZVMGh2MWo+RQp6bD5zZDlqMX13S0Y4a1clVn5tbnApO0cx
dUhKKmYzb0A7SEtMbClUKiMteVJNZCFARlVnUHk0RGQlSGlZbjw1eE8KekpuZEcpPGpeQXt4JSZJ
MTtJVW4kN1E+Y3laOHNtWT1pSVUkSj0oKEwqIUVhQ015SWpRaXlBNl9CWX5hJWA0P08zCnpIIyR1
N2g/QFo9R3NlTiUqdSl0KDlyVEJuQ0l2R3MyQUZZT1E/bTx7VnlNM3U1MC10Q0E0T3BOZEswNTBw
cXZAPQp6MT9+dHZaczVWMmA2MkBWSnJOLWhkTjNJTF9gOyhyZGljbzVfcFFxTHIqb1VlVn4pMTdx
cDd0aW5Ud1YxTikmNzEKemxud2VsYW0kVVh6KjtiYlgrNX5xXyRSPzNebHRLQiEwQC14b3lnMXBA
O1lqaXVpPklwVE9LYzdlNzZtY1IlTXVyCno5dGBncT9mOTApJntYey0qYD8zSGNfV0EqLUpuajtV
NSExblBuVFlXN2JvKUpyVGwhaEBEX0wyTmQmTExENCZVVgp6aiZVQzQoWEBKIStBU3RtR2cpQVVt
RGl3ajluTVYwZHpxc2lsOSFxKE9GSEo1NHBzQihFazB4SWYoPHU/PjI3SngKelh9WU9gbiV5czgt
O0NfMVJTZ0cqYzhobUIpJjJIMF99NSFKQjdGOFdObFZWbDUqSyVmUDFTMihnQzI4PilAI0V0CnpU
fktCKzNEemBPalBeNHE/IXpqbm9lU3R2VHxoU28tSVdNVUsxPXM2RlFVdntISSR6dz9jU2JHSzE9
RWw2azFEeQp6YEg0K0QpdyFpKT9YTHk+Q0xhakZpcT4hVDcrc1dsa30/RENFIUJiJlZAaFk/PU95
YVoqSkQ4PUl1JCgmdDNPfk0KemZiSF5idioka3ItVTBxJTs4dEV0PjZOZkxXOUl+Qk1vRz9wWUNj
di0tJmZnTXBFYypYdHJvYTEwcGlyKVM4IShiCnphUT47c0Y0cUgkWVd8ITErXmdRPipRSWF7NUBr
OyMoViN6Rkl7Nik/KmdkY1pfS2hrQU1xMn1UQmlGdHNBP2Q9YAp6KVZUMXdZcDU2dDlQNihPbWsz
Ryg1V0UmO3dRbUdUTH0lRlk/JUptRDxlMl4lQGZTWVp1UGE8VkV7PjhralZlbDQKejl3emtGYkZB
NFEqJGglbTloPCNtZ0F2S0pSKUdaS2FeX0lJeXxiTnlyK0dCdmFqb2B+eWBHZGlBaUd+fVZsfW5S
Cnp5RkdoPWU2WUAybkJjcSUxb3FjbyFXU3lQYUg5fXZpPTclO3pTWWUhTzhVPH1LWU8ockNyPT56
dX5Uc0d0WUFQZAp6NGN7JkozPTNDMiFwfHNfPTM5Yyp7K2BPdXhuekgpZSlZX1ledFUmPnIjSDJf
aDJgXkYlP1V9QERyK156X095I3YKenBwd3lgeldWSCswKEkodDFadnJXUVV1PyVOZzkwdWBXO1kp
Q344amVibyliPClZQEMpRVYzdyVuV0l3dT1KV0RrCno9N0hJJStMI2tiPl9ZYGZ1ZUN9TyhHa1Bw
REtFPFNtPn09MSRYRUx3XkJJQ2NjQDFsU2MpRWFYIzZVdio1QSlPSAp6Q3s0U2ROOD15OSVAPGR0
dl9JaHcpfEZLMXVaKllgWSNyTkluMH5zUWV5IWZaSWdLRyVsJTh3dHJ2YCMqRUJQJE8KejVvO0kh
RFRzayQlNTNZOGRlZnc3ITdZP182Zzk4VVVWd201bT5CKzZJYX1xN0Y8aE1fYn5ETUNXX0xWWCUy
fU5MCnpHe0wmYiZpVjJyLUxBdyVCNEshdClCTmVBUyVQekIpJXdXI0B+NH05NUdMWiEmbzBwMG9I
NWVITSVKJDxCfiRsUgp6KTxANWZla3s1JncxR2VhdmxMU0k2O2Mle0ItIypPOVAhXj1gSyFibCVz
Wj4mKkFPcnBGXihAQylKNjxONjhyMXIKekBFbj9xWWZZeGBPIWVBbSZhUXZhNVAzdHRZMFJaK2xF
TzNqMV4wO2N4T3RRYFR7NWdRKXZJfTskJVdzb19TbSFaCnpKSHpIK2tUcDJQdVg3dUNSTSNlbFo4
JFRZbShmaGFRWUxSZiZ2X0tTbUEyayo+RG0rRUQ1PDx6dmM1VSFEb31NJgp6NzZWU3k3aVIkfkBf
fDkxdkxrb3NeWkM7U1hfcVF1SSUhIzRWOTBYc0MpO1RlQl4rLWtnVE15UTdoMzhrTzY2P2oKelpM
Sik+NH1GSypXOFdEeDUyfm1SJmdEJUV3Mm9aJmhUXjFMejglcGcmQyUpbVQ+aX1RSS11UURJOGRv
YCNQe09ACnpqPjJyPSk0NWgrJHdUJTlMdVNoRUclREJpR2NgeDFGfS18QWZBSXZicXVeSHxBVHlu
Y2RpfiQySkNncntxTG83agp6aUImTnFzPl9pNEBPdGw1Qkw1QzNISTM5eTckJHpCbFU9KzI/TGE3
MkcqdGgySm9TeWJWJWJxWlZFbGZjNTVNWW4KeiYxd24rWDtAVUwkSitrPCRGcCsoVGo/fGVYJT1v
SCtSSk9Da1Y0YnFRaGhfRSs2Q2BacjtWVm9lV2tOPjgzUmlECnpWU2tCe1ZXWU85Pj1VOzg4OHUq
NmMlODQhPyExSnVgWWlXMVB8aFRrYDtTdHExeiZZPlBQM3h6Ozx4JTBgZyl3MAp6UkkkIztjen1+
O1lqOT9YbHdeeUxUN1hXb0BELXRQKy1fI2dkWGt5TXJ7O1pzKlFFVGRiJiYzWHRfI2p6UT9TTUkK
elpHYEFoP2hhUHR6fHA7ZngtdGA7dU19SFJTPVlKNytqU01YX2ZBYGAkPmFBeFFeVjZ+TUVZVXdZ
QVdCQnMqcXxaCno/YyhubUFEaXttOHc9M14jZVV3VSNybSFOeXQ3S3lRPTl0P2hqRmN3NjFtdTwy
Q30lR3V2YnxEMztOWStBPFR8eQp6I1F5ckNfO0swekhIVXM1ZThqZCspWiZSOU87UDt5SW5pNUtq
WmhxcVhOTkA3Qz5TeGxHKm4wSCp3Kz80T2FrJVQKempKLWpwX09WJHwhc2puPGNpSl5HSTlnWV8p
PW9DSFlCKHI5b1ktdjx4aTsjKiQ8RFpHTEpuZFBiYXRTN0wtYlNlCnpgMSRHazw2KV9MWitCNEZP
XkZ6VmU5YEoqUG4zfGlXIU98Yi1KfmY8SVdObDxfRl5DP3RZTD11UUEqT2EkWUBaPwp6cX5JNGJ3
QlFieCNxQWFiPmMlNnMkQSV0SkN2VG9sSCNjKGI8NSZBeHpNNSt5aEQmJXdLXjB0TnFLZitjd0cr
UmkKemM0NjZEIUpJb194Mk8ybWM4cFFnVktBPCo9MzBZaTlRfTIjc3BqI1IhNXVLT2tRejB0NEVu
cCN1fWs+PkU7UmI1CnpzLWswS2NrYipmVUhCTF4wOXdlOXF9b0krNVl4bmFzJlpPVUg8dnl5cF5I
VFIpTmhDTmpicDcxbzBgKGtxflNeYQp6KmtKIz9ASkNGX1VxcWVCNTEqZW05dUxETjY2QHNLWT9y
PmkqeihvYzt0Vm9zO319QElvVzA/RlEkPWlaYE5CMjAKekYqTiR0WSZidEleN1NyN1VjeFRfR1k7
UFFHIUFpJGZDV0FBbD5HWnAhLVVldkg5Z25qP1Z5blF6USkxJnJrfDtICnpaUmxlOWQ+WjM8M0Fi
P20rdUpQKXZPblVGOE45S1ZyKHEweWhtdEthbyNgMj80R3Y+NlIlKj00e0ByKnNER1ZpWgp6KDAh
Z0EoM2VIP2l3PjgjM0FUdS1ZSGQpdUpeU3BPUzttbCRRY1MwXnVZVC02anQ5PD88UGpHOUxNbiNS
K1VtSUQKekI4KSVHRTk1aWMpOUNyKj5HUihAa2tmOXY4dF5fK1FPQ1dXRz5ASDZxYnUtP0RzRXJH
cHIjajcrQmVMUyhMIU1yCnpSSj0tSXojbFZZblJWOV81alIkMT9kdldieTg1OHtKK35BJmNYUUM9
YUtII2gjU0FhOCQ3ODVlYzRJbGQjdiZvdAp6Z0ltU3V7ZVQoZFcyWitLPXBHYTRPVyprd2UrWSVl
bUJUa3J0XktHTDZocWV8K2hKY1RvJC02dDFeUCQ1KSNoM0sKeilzRys7bGU/QjhDbnNUWEJTeXBm
Q2o4KmtuXmtqPE1oWlc1azUlcV4lYShnPWohbTAqdH5GblF6SHd8P2VKdHQ1CnpRWmwjVXVwdCF4
UWdTOGdXelh2eXF2QEs7PHpiVHImKnBYSyYkUHApaEtafCpOLTBkMlg5YnN6VUUzJDVKKk4wawp6
SndiJSZ2YmMybUVDYj4+bTlYIXpKP3ttYlgreVBvKWt5N30rbSEoUV5eKmcyTjNyLWk/cSopO1U5
I3hqK3tmZjwKeiNEP2xyRldRbWJKNl8pYjghTzl2ek9rWCUmJU8qQGwoMSl0P3R1WGAkTklXJm5j
bHQrUXw8MjhzMS1eKVVtSFVgCnpYT3s2NTJWRUVYcFQ5PTBQYW1fNTh1UEcjRDkqJGhmKHY4SF97
UjxGcE5OLWIoQyleSytQOXVmX0hKd2AhX2BOSAp6a0AkeDxoUWxVezlfP2pTMXsyUUomSnhEZ0Bj
QC01ZWhNKXFCP340TjxBJHJTN31RTUFianlkUjQlY0soKEpFZGgKei1nNWo3Y3FqQDhMQm5wKnA0
RUc7YThvYG1ZM1glZD1lIWBqbikhTSQjNUc5SExhQ2l+ZCUzPyNjX0hkPSk7bWM9CnpjM1N3VmVG
ZEBNWEY3cUVUMHFpbW50e2l2ZHRrbVojKXhFI1YkfiRjVkF1IU1Fa19nJE4lajg5KHJTUyh6ZlAl
PQp6S0ZROTxRNipKK1Z2U1VPMSF3QUxhWWNwXzN3fWo8NVZhQGhiP2hAVD1CaXBLI1oofmRDZV99
YWB2cmxLYSgjUm4KekxyRXNQbjk5RCFNIUwmQWohV3B6XldRbyRzYzV9cldtTFF0ISRqJkcjfnU0
cGxTcDMoQUQ1ZzFRYXotZl85elpnCnpedExEJVZvSFhNM1h8cHNxMz5nSWFQP2VjYTxCfFZZJHEo
Wl40e0U9T0lzU0p2Q21IfjkmcmJQT3tPUzdFUkBtWAp6ZUhERkA9cz44P04zaGtlV2F3fmVMMDFr
WGlDfFJ4NXZrbHBSYFpIMSZSXkpaYDUxWjZidDIyOWlgfkFILTZMQVgKek5LPDlCNl4lRD9KPSpt
N208K3BQcj1hcGBXXyhSWGU0RnJLWDJhNEcqTDZlcUlhYz4rcnsoJCRoU0NBUU0qWTx2CnpBZiF7
ZkVRWSRMLUZvPUgmOFk5MnM1YWtCLWQyTSV6UjZ6TmBvTX43eksxOys+Z1YwI2B0IVhlKSN3UDRQ
UDImaAp6QGozfHclMihvV0xxVCRaeHJZbEt2YFNPaWh5M0JqJmlzTHdHeTEzcmJgbm16OHJnIztM
VmF2cz5HKTRsYjhkd1QKelpYUGR2N3FlWG83KHsmPlZ1PCYmQnIwbGRtWFcpNXdAZTRgcn4mSFRa
N3dvTmYjPl56MUFZMDVJTXZWP09MQWBGCno0dURTcil6VWloe0cmU1UhIXtnVzw3O0VxTFRSK349
PTFEZl5rWnZmdCt3bDMxWj0rdCF4VlMzX0ZzYm13TCZaZQp6MyFYeCVwIW5BTjwlJj9EKyNLJmtY
PGxsZ3JXfUZ2S2U3Ykx5Wj1yIUp6aldZJUJHSEdBMzhjUXdSO3w+aU8tRk4Kej99Vz9+KEh3JD4q
MUh+Xm54bWY/d18wO31RRERLZmJyZ0h1UlFFSCFxIWFKV0ReI19UR2xld1lKRHwoSCp6NnF8Cnpx
a2RKald6RVEyTG58dWw3R3pVaGJANSgwbEgrIVg2QHprKnE8Q1MrdDc2dFp5VlZPdDNub3IpKjhS
UE9XZEhPZQp6YEJ4P3w9QmVWUVUhX05hbFE1USFLPzZzMndhT3trMHgtSDMpe1hmI2dRdF9fKDJZ
QWohMHlyaV9EYkZgLWo1V3sKekQ5KmElSWxGU0BCdjAxVVUmaXNmbkhCVj5oNDN7V0RzezRxeF48
JE8yYWN8ZFdwcUB1Knk3XnAzaVpfZSE4fGFpCno0dmRndVNFZWlKaXBrWTR2M18qVGhLWGtSTkQx
XzshWTFSSCtzeFYkTyRhWktfKy1ZNT4xflUzYFh8Q09Lbyk+JQp6aE5YPkUxU3p0MT0rPTxQTWhm
TTRUXkxzc2xONHVFQGoqU1dXOWZ7ZWMpV2k/UmFHcXlKa0lKRVZRMUF6RX5AOGkKekR2cXl4Yjhi
SVkkJk9TUXc9S3I2T3dzQj9oQDBuLTZYITA+Tj0jUipMPzBNclVNSzlKQzFARjZPJXE+MTgmbHJK
Cno5PmAhI0tGcmVzJT9VTSlEfjdONkQjeGlqOSV8fSUrJm9FfCN6RklaTFc8cEtYMyEpQmNlMU5f
YzR8JHlPTUUhfQp6JWhGS0N5d2o3cSghNU8qRD9IRUE4VCUtTE85M0Jza0Z+PUAlYkkoS0ohJTl4
PHxYJDB3TUpIQEVCJSFwcnxpU0EKei1BbjJaIThwb2AoMSU+T1Q+S0E1dGAzVEBNOG8jNUtzfTNC
dmpeJnR6cCE0WXdiVU5NbDJQUmxHckNEQDleeVlPCnpQUWJQRlZiRGJxKWpgakVxOVB1NlprRXxO
QUxZMjVqeH5QfmJYZVF0aHg3MHpvI1VhNWB+YFkkdHE/fXxHcSlHKgp6PC0tSHB0Zj5OTER7M3cz
OUx0bVhwKnA/Sm1HV0glUj1Ba1JUUE9zLS1hVyspUjg3RD5fKnpOa3gmT0FeTlRrSkQKelNednlz
SURSTyhifGpvKnBaMjEmdEJtTl47R2pmPHlnPElPbkcpeVF6Pnxiem1ycl5pNGM/fGJgcDF3OWBo
VHYtCnohbk1xZTZBRHpCJkkkQjd1aD81VDtuaVJoVDBXMClNUz9qbC12TXxSWTNwQWFvMk5AWnw1
JnJJZThYKVckLWt0Nwp6Y2JOajk7a3hwTW91cjVWOzxqYFpxcVQ5M19WYWpMIUdffEZNclktVWBp
ZjxKQTVRcyUjcDhJfSNIS0Fma1pwPGEKelJtVUNSQFB3I01Hb1YjdHt0aEBoaXlHbkJ4cFoycUQo
OUNMPHNBTTZEWEFpYSlwKmdCRnJ9NXsjOWllb0U5QSNvCnppd1o+SyMrUl93TThAZDhpZk4hJXlj
Snt2S2l5MGtJJj0mZXZOR25YUnFGRTxRaTYoLVBqbkdvVlo2SGtmRlg7UQp6ZX1fJn4hQHZRbG9k
YTdPUG00fFFffTF3I2l8dmZMdDkpMz9xakpObzM2VUMpZXgmY182KmVJYWc+aFJVSFRVPyQKekRz
NWo8PT83MH5ZVXwtb2lEZjwyISRXQDsxfERsYFlac1EjPDg0K3txZDdRdUAjfShVWnBlJHUwbnlB
e0k2azRfCnpWQ31GVGVJbiRiU2U9KXp0PHlSRmReXmNxQHd7U19XJl80N3NPeCZ0UjI8U0F0NUF5
SXNvdDFFUU04d2ZWVCNDOQp6aG42dCVoZCZuKTR+IVFsOSpYYCU3OGtfcWgoY0Y5KHIxUFJhK0h1
N3lvQGxURiVhdjZVN1g2SlZNYUlDcGo7NkoKeklgbUY8Q24tVnh7IVVLaU4kfjd0bnYxJGUyTUZ7
PTZvMCl7a2NVTHBDNU8jYD5RfDY8c2BsKlZ0UkJVPnleRWxsCnpXNikkISs/U2NiZWREdlNsZUlS
PVZQO3JobklLeGp5cGo1N1Z9TUZ6JTJmSjJNY0tVbnEjOXZjVF8rKDRgZ0Zxbgp6bUU2RzchPGh+
fGBXO2k9aW5uUUtGQVpGTk5ZTXl1cW1ZSEdrUmgyY3FUJit9aT5CQzRKQyV2KHE7VldeMW1jeC0K
enh4UXJxemFeVH4+cURNLU10bWVpM05IcGVwVGZmbG1qO3JyZ3U1V1MpbmY2cVp4aT12NjtpSXtZ
YmghRD1pQiQ+CnpeSH5OST1VK157bmRNakU/UHR7fVl9V29AVy1sa3VkYUhmcGJVXmBQYFJ3eUE7
e1dRY3xFb1ktQ2ZKazRyakJedwp6P3JnJSs9bFpvYE0qaDBDY3txbCorRVcrKGk8Sz5tMlppOD1l
dW8pO3BjYGVsbkJ3dkctb2Q8UyZSRHcjSmJVRCgKenN5UWh7dW5SMj5qeiM0MT03YU5CNm4tQkli
aiV2Xj9iVX4/Z0xuNV5gKGBZWTMzTkxzX0k2ZmFvSHE0SUQofktzCnpDfE4oKitmKDc/QzV1dHw4
UkgrVEw2QEEmfEd8Y0NRTWNZVz9BUFpyUkdkbk1eaylOZU8zQjxVQ1E3VWZnMmleSAp6Sno1e0hP
IWViYHV3JSVAbG9VQHM1aldIOzZhSVhRIX5zJT9vRzNsclpERW9VUigtYWByYD1FbE0tdFF0WW9u
QCgKenFKRU9LNiFvZ2xpdndFfDdEazJDI21KOEZaVzVoSHVRLVp6VXBlSUVtRT9NO1F0SDN4KyVj
QlghPUkyWE13TjNQCnpxfHwod1ZYVW8oSjtCd0hoWlZNIzhrTihqdD1NPnZRSkx8dTxweEgrczkr
NHNodkxjPFJyaTw7JkRFYUdxP01JaQp6KEwmbiZPKz5vMTNVfEltWE93RnBsXm1RaGA3YW1ob1le
VjFRc2lMaUsqeCh0SkhmTFcoTjE7I3N1UEc7ZzVMYkEKeiVjaWdXQkw9OXFicDVraSg8b1phTlhL
RG1wOz0wTEQ+MHdxd3IxVit5Vmh8Mj1GZ3dSSCpCb2xRKnR2JWw3aCFUCnpzcTd8b0xmQXk4KEhi
PkskPlpBdTJBOHRNT2pNIThBY2pHUUtIQmhycCl9ZEFfXjVkO1pHQ3Z6XipTe1U2ZjJ5Qwp6Uisz
Z2dIRnBxWntLJlZ3KlE0SiFvajFHXzxeeVVHemxuKUheakA5LTFJNTgwO1dWdztPRVBhRms4ZSl2
S1h0TCoKejd7enR2S1JkTiZIP3dTM0xKPmtAPTZnI1Q9YHJ5antGSGJsc25BfU1yYj5jRndkciRH
JSsrb0I5aVklLUQpX295CnoqfkBvQEY8Kn5HKTMqcEV1UG4qUyFnRmorQkxDKytsfTRQe0o1bnU8
TDlLJFpUfDNAWTVzKSNAYmx6PEpTRF5sKgp6M2o1YGRAKHRmVW5xN2tidWFZNWxyKkZLTWp0JD9k
NU9nKVN6RGtGYGhsc3VCayp7WGJEYzlxKD5wcUhBcUhsN00Kek8oPSRUd35GfkxAaXs7NlJxSXdU
LWM9PTdWPEdsNyslcGV5KSZFSEJ5fFJXTjd6JC1nazEjVSZSUEghNlBkJX1CCnorOUZxSFZ5WDtN
Sz8wTEIwdn0lTkgoVyhMdHtJcFU1elV7dmY/WnRJUU03dzI+JisqdGY9KDl2I0RBJCtaQEJqLQp6
N3FUWH4zODw7cyVUTDQrKnZVST9JJUlEajF5PVR2WHgxM1ptej9tc1ZmZFpXMVZ0cDZkdyoqVmNO
aXRmY155YHAKeiR7Sn0wZW5yQnVkbn17KGV1QSU5JDsza2VqTldwcWBKR3ZeeW95O204ZHhaZVV2
eiUyams5K010MW87UipRS1IrCno3MDUxPkV1fm1FQHdzRipDZkFUUEVMVWN1VnBQUmFRMysoeHs4
b2pzYVVqQz5tZSVaMTVSQHpSLTIxZHA1THxWTgp6MCh8fEZxKEc5S1FtT01CZzFnXjdXPko3LVck
fjBNcmsrSnR5YSpTaEN0MW92eFBMb3NAelZ+ZVAkcD5AT1JJUV8KektzbW9nVDBXISYjUVYhUUNq
WFVHP0hgJTY1NSo8RDlwM25WNU88dkBfVn1KJVh6SztwWVRaKHVTWHt3dW1FTE1HCnpSQU9abDJX
T2FHJWxJfHo5SCQ8Nyg9ZWtCQzYqb2NzU1g+ciorbnBuJXVMOT09aUhrMm9PPnxIRXZaeDk/P0Qp
bgp6Q1ZXajV7QX0zSXJLRmxBJj1Xc1MoVmpoVTxIUEtqaHNEKV9JQD1fdXYoKzxmbm5rYUJvPWJR
VGdeQyo2SHxpXloKemgrVDVkeVo9QmokOWxNUDZjNVU1NzVOJFd7TihkUmJpbn1EJWZWJn48Kylp
b3khOFVqazMjRVpLZ2sxWngzenVACnprMHFgRHFFJXxeb0x1PnBIZypUZF4lP21KaFU2UTZWYXd5
VV5lbVJVUz1uYml2WF9qJE5PPD0/ailTMFFoKHl3Ngp6cyZDYGgkdU00NDgwJjM+PGx5SWomfUVA
X3w1PUwjS1g2Q3slS2xvSTN8Xyg9cVpBMj48LVY1VS1uREhGWjxLaEQKekAqeH5JOHsqeS1eO0xs
NjNUdVZ2aX43YUdLKjMpaipJcDN7cDVEWSFVdjw5ZzU1YHFXLS1MREEyQGt8dzh2MGxzCnpTSlZX
e1RyanFxUFAjflRefkBQKng5TH5zOXtySEduYlRBelZrMmhwYkB3WW1JcCVrZXVETkJeR144a2Q5
SX5GeQp6JVNUZkBHUXJlazdPd3dNSCRCX0JwMXFvYi1YeVkrOG1fZVh4Iz81K3I/cDYhQHZBP0o/
VmxTS2dYQ0JyTG4oV2sKeiVZa1dKND0mJTNtRHZpIS0xPk9ZUXdFYUVsRklQYGRoMyFubUkyZUpN
KX1fP2liJnFrS2RSSS0+ZUVKSDlWKm0wCnp1YjlBKXE2WlE4cXp9WWxOVXJ2TD1RdXhuOTd+XyFK
MXwjMjltSiU/bipDY0E+ekZEKzx2NlB7KUhybnlFTThTQgp6MCt4SDAoVkBIdVJeZldZckBOJnxa
O01vQHlCKzRHNHRwNnZAQmN4YHU7YWN3TnUwVjE3T2t1aj11ezZHVGFAWCoKemozfUBHZzh2NXpS
dzIrOCpCOXhEQyF2cSU3ZVhnfSFIQ2Q9cE9zPGBnQGsmOFU4bk9iZX1CO0xibHVaYHs4VFJECnps
JSsqJEtASDF7SkhqfUFHcyZMYkk4d1JXa1khWks0RFh8WU1eWSlDS2VNQVVHcE5GbSlxez88ZUNY
Sn5aa1ZNNwp6bmhXeFVRdUsqfFBJaVkqXzheTkM4SUxidHpLSU9ANn5qOyheKG4hUzVRYjc7LWRF
TFZkQGwtPE1eeUtPWkxzSFcKejQhUX05ZDZyKD1nVkVsNVRoQlRQR3R5QWUwV2tKNkZjb2krJCh7
YUBrYFFBX0NIeyV6eX5uVXdpZTsxJHMwRjc/CnpWbnZ3dzgoak0+VCs7YCUwQGYjbzZtK1phaSEw
LWwwI31yQzV8KlFIaiNwO1ZOSkJuTlBgNn5YWTg0ezR3Tzc1awp6Tjg9TzghSDUzXmplbFEqU09E
Vy0tKF9FSVlLbyV7IU1DVDJtcSZpe2hVZT43UnsqZXp7WT0wZ24xOEskKFd6RE8Kej5DPUglanlp
Yz5QVSFOTV9kOH4kU0t+UkZ6M1RKJmtCPE56TkteX3AoI0QxUVlscm9ackVJa3k4dk40QXRNd3tf
CnpVO31hIVhSYCZ9ZHAoMTkwOFg9OyYmbVMrPn4/SG0/UkZ3dEhXTjtFamxBVXBiMlJJcjxzbCEr
I0ZXNSM9IT5+RAp6N1RvYzwzKnF3cEt0dj8wPWJiVnJwJUl6ekZ7VWI0PDImSXYjYzwyaisyKlc+
IWRwa0dueD9rbnQ1eH48QTVfMSoKek4zRT0hV0VzI1NHJip3QmtyK2xZbV5PNnFpdktpZj0zaH1j
bTdySTZeNCtNcnVANX1tYkQhVGxUPzBsPDZhMTQjCnpBM0A5fTViejlhbnRGay1UYEVmMnpLNTtX
Zkhxcyl4XkJAXkxYeW1UX04mfSkydHU9WXQ0MktsT0ptflJ0Xl50Sgp6TjJfdilLYWl9YXtMIWk7
SHdHTE5BKkdoe29zWShGYnE0NWQqd1JpfWBiP2lIX3E0b0BFfnhhXkRRMFozMGVOJHUKejJ8cjhQ
OSkoUihUa2ReTzcoMVY1JFFxaCFJb3RVYXlldiFrPjsyRFN2QjVkbDUjTl9NcmtFPURJSWZzXzJS
LXAtCnp1fFhWcVd4NStqVlhIenQ8KXVQe3Z4NmYoKzR+YWwlSX1wLWJYaDRUUClNWWUtOzNMI3V4
UWV8PjY4VE0oM3ZnQgp6VWxtWktIYTNATkgjVGZDJUBJSy1VZEJ7RyFCOHtNK2soNnxtRFdMKzx3
azF+LWQlVE53UzQkayhRWEtKVHJHXikKelFJRlgxPDJfNDsjYStnYFZHeXFAR20kPzY8R2Y8Tzte
K2BxKyRaPm5PRW9hc2B3UipqOXJGJXpfbHQ0akxFayVMCnpmMklHXmFFXlVBOEJ+OylMMU8lSWBK
PGtjLUE5QkVpaSpRajxuX09GJHc0MTFZViExNEd5VGQ2WD1+eXZVNEV5TAp6S1R4KH4weWFPeVpg
SGk3cmNwUD9kSzB5fXBFSUhHZE5KQDM/IX5IX01BfXV0dU5qdyo1I1M9TkU2P0RNOzk5YHsKenY8
ZVhFS2dobWlFP3NHT0JWdndPc3V8bmdFXkNpJmBVanJWQGNgYV5xfl5PYGVlTGI9eFgzSnU7YDlX
cXE8SCNSCnpkaSl6by1FS2FyYzRMbjw3PW1uWClHc3Y0MHtOUVc9RXY/e0pzdSlOSXw9WDNkdHt2
KiVgPE8mcGQ5Z3FDO1l8eAp6X1B+XnlwdkcreWlJM25LcWptWDc9YXwyKkZeVWQoZlE/IX5SUzFN
MkJlcUVkdT9PTnpOUlc1KW1rUVg5UzFZKWUKemE7c0tPNkYjOWU0MmVOfnt9QV9Da3klS0FHVUJn
LWdYPUNrb0E7NFd7K0xLd3QyNkVFWU9TTFkkKlB1d096RnltCnpDaVk+aGctQUtXRiNvfGhgNkRj
JlRidDU9dnthT088QEpaTHkxN1hXOHwmeEFadnxXWV89X2tGcExhYmI/UEU3RQp6Yml8PUFXQFFK
bigpQ31LSUo0RD0zPlhaczh6P3pgRSFNZW1WJU41P0V9UyYjSEZVNV9tPFFuO21FRWNQe2ZEODAK
emIkbGZ1STI2aFNheEZKcENzZSlTXjkmdjd0cWJGZ2oqSWpwVVNNY1Vma2syfV5ee1lzJU95JUpI
QEs/IUxFRVklCnpFPE8pO0RxWmk+eyEpPHY3JnpYSzNVREJ0LStTKzEzfGAlUG4xV0hHYiRtVUdw
N15aVHBqLUB5YmEydiR6WCRLUgp6Pm9Hcn1HVSZnNVBYR3dZSnFgRFJNNW1iRTI4QmZ6QnB2cnhM
fncoNkZLTkdAQXV5REM+UncwWihTWmFlPkhlb24Kej4obFBpUGtYanxffWBDI2B1eUwrO2JrMF5L
Z2QkRGx2ZkgzZDFvXkE5eHRmdDdhNEVMRVZsK3c3S3g8dHM/cnJsCnpnQWF0PkRBTVRTKFUxc2xR
WjhOKXZ0S0ViYih1VDNkeXJjYFNtcDF9SjVjXmA2Q0B4YFF2Qn1rMkw+SjYxelVvMgp6IUp6TnBs
VGJqYV81Q00zITR8ZylSYnZxSFlpO3lIaDQrZ2ZGZnltN3pZNDctN3FuaSF6WEt7SEtiQUR2SHxv
QU0Kel9JJWFpYzJqJihve2VhPj4kfmpiOyRrY0JlJWhSZzxgPH5IVURMUkU2TDhYNGRKMDItRGVT
ViMrOThwKXZtUHVOCnpJdyNuc2YmKHQ1YFNtdF4/VHd9IUtKWHRsJFVpOD0xdSpCKmVmSEpycm5p
aUxFVW16ZHE1Vkk0SXJESFJgfjhuawp6UHZPeDxnfGI5dERRaSg5TmhYeXZnZSleLWhOemZpIyNV
cnNOfmxtNip+MjVkODhaeUJXUW1ZUzNTJlpjV3NSfEIKejhUYEp0Jk47djVKa0w0al9kRDExYDwq
fEdZcmdaRGA/e31kVWliVV57PUMyNmB3bWZ9S2xlKSY7ZE1LZHt2eXVxCnpebCQzMCNkNmtXMTZE
Pj9uTCs9LWdgQk53SSs5ZkVyMHZJe2t8OG1yZUpwam1UODk0blUoc1JnOHVMblBTckJBRAp6NXo4
OzFhMyM0Vl8xN2pQKmVOZTUlb1JIZGFsLU9FQGU9a0k+KG45fVdxSExwXnhEPyReO3p1Y0NTRSVw
K2k3dnIKekwxemoxVmA2IXA+NUpoRyo4aF9BQmszVWJGKD5xM1FWKUhiQXRnWjlyd1V6cT5qIUlv
enBedERqemZ8WXBBdzJBCnpGY0ljaV5UbCN7YnUqMWRsKV5fT01yMmYzSGJYekY4bS0pcE9UYmY1
UCh0eUlMR2V9PSRmTUk0MGExQlRWMz8qMQp6QVk+S2wyMUkzR2lUZmQ8WFU3PW80fGY9TVkpRz5K
UkhCKz1HeStWPTJGZUcybWI5Tj8hX1ErT3RsdlMlbW59enYKelBWS2xFNUA8YU0qY1crNkFlb0Nj
YWIoSE01PHR1VytKTVVQaHEyam88N3luMzA4a3FvUG4+OCVrPHhaVSZQRmI+CnokfW4lVGUrWXlq
S2FHcThSan5jY2QkbExQPjE/RVp5RHxKNVR5SjAtMTJSSEByUDwkZmVaJU87TTIwJTtZKkxnfAp6
Z0gmNVgodFVvK05takkwKClrdF9uT2hTNzVMYGheQjZYQHQ4SkRgQTt5d25NNk8qM2UlMDxkJFhE
T1hSJEQ0RGAKempeMm5YeWNTakJtaTcmNUAjSF8pT3U3fF5vTkI5citkJj1QdVRZMHFpV3lwSmw1
Z0cmbWo4NlhXYH5CQ1VwWSYqCnowYmd2JnZ6I2hrYGUyRFVvfUB8SC1waEFtVEJyWlgtbn42RFMp
NyR+KFoxcEFsWERFKFI8b21pKWRmcHdTQ0s5Uwp6SGZ7UkRRKUhYb1ZNI3MlaXlwMmUzWkg9ez9E
djFafDJYQntKYWpiRmNhdlZ4TFh3RF5RMTY8UVMhMVRuR3wlRzcKeldiMyg8SFBhdT9WJmZqNkp5
dUFUY2lVY05qOGFGPmdAcXJ5ciMwbWF2eWtIOUl8Wj9OVGp9OWBKT2BOSD9ZejNECnpuU0VEX1lK
e3opNCtuPEp2dnEjaVBDY2lVZEdXejdyP184WmprandaOU5lZE0rTkhwazteXj5iJnpzQ14kTT9G
fgp6M0EjKXFNSk1VJm1XT2EmWnpTQXhuZT1neE9DeC03WVdIVDhIJH1kR2lPR0coUVR3WEV1dlg/
Nz1AZjUmPGc8SUkKelhDYmBxb0ctQjIlbjUkUXQ9YzJZNlleU3wmZTlPR05seXRjQlFWanB0b2F4
QCVfYX48JU19SmpwYVNCYE4oJXdBCnpuM0U4QjZqVkgxd2I5JVRfcUxePEQ2QXVvMShKKj5aPEJY
dDVYSDB0dlZrTmtISlhnZVUjMnRUKElzPGt4Ynl9SAp6e1NiUUZ4Vi15M0czazZqd2tfcG4yPyhQ
VDNgXiRyNWR1cjBsQmVgRmE5fWZqcUxAWnRDSzBOXlpVY3V8Vkl+PXQKek8hY1MjOUZjXyUlJU1H
ODg1cH1eJCptfWIkRCR6akpFN0t1Mk13VmpSdEt1c3Aqe1RTVlIkeVo/RkZ6bDs5NGpxCnpVPzlD
VWZXUVVsVzQlRmM7bmUqR0VWeWhgS3BILVZgSEErVzRNbW9xcDR2YmlDXlF7PzRlQilDKXY0ZTVH
UzdEXgp6dmRNfT5lUzFgb3hXa0hrOCpJUGZmKE0yU2xoMk80aCQ9aTdScWBrO008c3BLQkYzOFVo
ZyElKmsrQjFERlIjVi0KemxwTWoybikyI2VKUjNleXEkVUVRSEFfM1YyUzs5MGZmaSUkNjZQNlR4
JX1vbmNCWX0rPG1ZNmtSK1c5VUV9dmpHCno/V0U0dzBPeFlYdVR0elVzbSNQTytUPExmKiY7KWlV
X0E0bHl1RyhsQ1FgYFVBakhWRU9ZNnckdmg2I3RYdVFecAp6X3lHSHA0Z1JObFgqYnZVRDZ4ZkZk
fU00Nm5TezdfdFVrQkdudXBLT1hTXlA+eE5wVG9fLShyTkltKm5oZWpPSDcKekl7QWRXTldfJFd5
eFdEOXFmTWtMSGZAUmRrYHY8aFlkIXdqZDBBPGgxYFJfRSZQcUdrcml2cTgkNT4jfDA+UHNrCnpP
NXImKXchaGlaREBlIWBZcUlsZmVZZnk2WmdCfXQqZDBNc14hRyl9O0lYZngqWWt2MCpwe1ErP3B7
cG0zNEJSUAp6QD05c2srWm5geC1MfE91O2tnXyFWWWxObzIlZlVAeEJGP2t5TyNEfFZiX284WHNU
VmxndVFXdGJFSiFsMytBXnEKejdyaXx0OGt0TCt3Kzs/NGsqKSZ5Tl5qcGRTdF9BYlJVKGM7Vktr
QEMrZXkpczNvWFlUPz19c15RUkVtdWZvPj5sCnomYTZoQys+T2k0TTwzRWIzbExeeW5DajhvIyRD
V1okSz9zJmZVOGFiX3tRTVVUbUZoSzkxeHpReHE8Sjc+Q25yXgp6Sz1gVDwwez1qR1Y1YVNjRldJ
O1YwSVElfDZ5NjU5JVhVQGhQO1ZnUVpRYEkwK3NeP1g0aHtTYj9gP20+SX4+QVcKejlea0ZpMill
biUxKSs9Q2pZaXklWXc8NHg9M3VIbmx8WUZFbSZpSFhHbXg4NUomV0NpVWZ7eHpTZmMhODM5M3dG
Cnp2K0teTGpmTkJsSEtiMT0qej5WP3ZiNE9WVCs5QERIKlRxeztpUFdEQGYycmhAbFckOHlyfnZg
M25hdHIpe198fQp6LTxaRVN2bD8zcGB7R0pXWmpSenVPKVpyJkFFZlF3T3JEPT0/YGtzdFlKbkst
cmBqS1M4RkheeF4raU9ob2E2RUsKemloSHpQcFdzRkpIIUZIJV5Lb2FBNTMkbz92VUhfK19WRE5y
THNFQFpqUHZTVC1WVy0hUWZXa2RAUU5QQFgyKWpQCnp0VXU+bmUtMzdVaHg2dig+RTxfNlRmSHVQ
OHY0WEd1LXlNenV+ZyNAemgpQ3p5flVqU2w5WTBUR0B8PFJyWik7Mgp6P0J8T2F0alpiLVB9LT9Y
dWVlS0ROdnZNd2R0fjJsc0MwSk5IYUpXb2dtZmptUUM5WmtNN2ZpP0pqKUBfPnUkPSsKejJMcH0y
JlRrVjRtKXVvaVdrb2BpaipPcl88ejh5WWx8JmxOa2EjTGQhd2c1SUEmKnYxWTdjUl9aR05WIy0z
XlB3Cnp5KHdBfWRvLSVaWiohUTJUa0tgJlc1TVFkWmM4UWVNVklBc2EhMmN6QjE7PyZkSD09e2Rz
YyQ/bS1ecjZfcytqPwp6XlV3YGlTc2N1MlB0UGBUeX1YSzBzNV9VK3VXZGg/dShiKHxDSmVXRDZo
dlMrMiphUFJqbU05fHV+OyZQNm5QdW0KekooOEdZOzdfcnFGc3xSRXojKXBpRntzYE8wJERIZmZq
WnwyNUZsSkp5eHlWJCR1SD4pfDBybEFBQ3Q1SmE5fDdRCno4VlItNz83TU1nJVoxRzspb3NkQVAr
TiRIJSFPYjJmbnx7c2xlVXpLYEpZUyFhbE5jRHIoelE/ZG8mRiExOHh2bwp6V3lJXnZEUmRFdEcr
MGY2YmxrRDZNcyFXKz1FZ3dTIz1yLU5YYHlOeVhjS3tII3U5X2w1QiRoJmYlX05BRy03bz8KeiRJ
MFpzdFRBPGMycHxpYjFRODUpVkVDckZIdV5eMzhYQlE/QHtWemg9JW5ieS0kKXJxQX40YUI8SU9a
STV9Vmo5CnozJV9abmJ5V0xmNU1oe3ZFOWF9TzVDQDFSNVYmLT1jZ3Zie215YnNWO3k/KEBFPmNN
PTg1blJKX1UmSkNCN2YjRgp6anEjbVJ3NzleMHpxWiNKKz08PS1TTG41UTYhdSQweiV9R3hFLVll
MWJ+SUAxKFh3KnU/WiFONnJ7fEAwKnkhUDwKemxYTDRaZ1YwQEg5VjtzOD8wZlFDWE03I09WKCtT
eUZZSiQ3elF6OU0/WGpFMUVJeXVhOzJVQjNoKXJ7KHhee1pjCnotSVZUbz0weno3eU1qXkE/bG0t
PW14VlFHej9mZnxaITBeeHR9TFI4WVJyWDZnR1F8UEAhfS14JWZpfWNPIyMyJAp6MkAwfGR1TmI8
MmNEb21OSzluRT1MbiFZfk9IYTBlMmUxe3RiZVl3JG56cStWSmlSbztmISVNeSt3ZUx9VzFza2cK
enREb2goRlB8dTlXKkI/S25pRFlgaFNUazVGIU9DfVVTeEtReyo7OVkra0dgXk57ej9IYklAVXZU
NkN3IzlXfCF2CnpaOX1IZS1ISl47UkJRKzx4d3wrX15oQnFyOF95eE9lU3wwVCkyYXZEdldlNURE
Jm1gUS1VKWBiIXVaVUxefD1UcQp6YlFKaE9kXzQ7Q0Ymd3p6JlRIZXM8OFVtSnloKTBUK3o/OEF8
Ny1fMjJMMnw2PzxjTWBWIUhtPktMR345RVhOcGIKenN9YSkpJGhNZEo5bnYreEt4RW9jM0lYSnJr
b09wNylGZVM4OClgfkVUNWZ7WGIpVWF8XyFIMW1TeDhUbnBnZzJNCno+Iz0oOWp3XyF4QHtvMlRO
TVZoMzE3NEdKcH4laChgbVB6ajteQnxpKH17OCpYYG47IVEteHc4ZGYhfVRVPHRQKwp6QHAzVnNW
O2p0UmR9aFA/Wm5TWFp0QEVgO2U0ZH0oPEF7PWFHO0g+fllXWiNCVEc0TiEkPn1zQmF5eX0xazdr
QmEKeilHQiFoVnF9VnohVllXTXcmWWpMaD4qKy0wZ3E0R3g0SHZ1K3NwUmNFVi0wayNoPGdLWE1V
OzJMQzVMZ29gK2B+CnpgaUo3bkZnRm42TVFjR0clamdRek1MVmdmZUt2ekB1WTU8TVg8NCQlSXdT
TDw9QXpXZihZZWFHQW5WMkVtOXhvPgp6MTUhSkQreDg8PyZwWk5wUz9QKWh7TiljallrMjtVeVol
bHh8SVE4Mm5qSnpkPXZjOCViKEtZUVYpVUx4azBYXm0KeiRLa1BEQmFMPU5FN2l4PnM0fWJFRkE2
ZnlTNm07RDs1I0N7XyRgUTwlaGJAZUhCUzx1QWM4ckhgTXp5TU1vZjVZCnprNlVrbFpjI3pJXntp
eEBeT0VWaXp+IUBQeyZ+a1pFSzk9Z3A/QURJd2F3dz8jaG9vYUFvNmp8eFowZEMjKjRKTwp6WWJY
OWpaT180e0NUU3MmJmQjPDxeZX5Ncnp3cSRpeXsmNHRgc3pVUTV6RE5zN0xXTz5uRTVaQzBqSWlD
Vzs2T3oKelhjQSMmWShUJVBpbUEjR04wRElvTVI9ZnwjcktxVDdOP0F8QkI5d19nNWpUIWlpfDU4
MTAjLXdQWjtxJSY7JD1PCnpAaD9ANWd9TXY/OClSYWlKcCY1SzJRKUplQ31jbyVQbzk3UWZUc19G
WFdQY0M0fkMqRkpRREVLdHVaTn12KGlvYgp6Kj9mXz1OamUoV2loKzNfN3xgb0AzZT1PRzg0cFo5
dmItSGBia3ohY1kkWD9vbSlRNmdoISMqRDNGaD1xVzdReDgKelE/ITJkRnEwdDUyPUhqY2B+fDNE
a0hFTmM2RD4tdU09bEslWG5fSjdHQU1ZelFKYGlwZDN7VnNkO1lxNEs1RmMpCnokNiF7X25mR1ZU
dkZ5QG04Z1JWcSV8c0dFeXppU3BUPFBocjk0ZCpjRUwlOyk8OCo3KCY3Y09ZYX5ITXErP2U3WQp6
enUhMU1hJXN2ITd0YHB3ZDhsX0ZJQyZqKldlRzg3aTwrMTgpbjYzWCllMXlLY097TVpmfTF3PU1l
emVeQ2h4dnEKemR7UzI2cGRhdFIwMipnTzZSWHFzUX5MRFpHM3F9OT4jeVQ5NjJiPTJAdj9Pd0Bf
Q3tIJWx+JGxUV1B5dTMzNjkkCnp3JnVSLVQzSGQ5NTd+LSo4TCR3b2dCXnRmJVJORHtubi1MeSV5
d192e2RuXlMxPGB7Oz85ayFMOFg8dl97ezQ0bQp6LX1wJTZOOWVjQkVuVVY0JS1rOyM3VG0oQ097
YSU3Ry0haHQ/Snp3TEFaR2MjVmltOXZVbTw3MzZIO2RvSE9wUkIKekhsMl5UaHpkSTFhbF5PZEp8
NXEjMFZ9d3liTDJvTmFgRWR4PSs/IVEqUFMoU0ppIUh4Mn51bGstWnFxK2QtZHNSCnolQjtBPEQ+
OzApVXd1RyR1MWc7T1k9XihLWDd+M210NmMkJGFaaiUhPCtKNlBWYFleSjZ9TTl2Y3F6KTM3KUVM
Zwp6XkZEXnBDKUJAMmNvZEdxbUo9Yi1KNFJFYzkkQmBQYmFJeWhGNis3ayEkdH18JSV+Tzk0V1Fh
ZjZ5b3VlNlZXfDYKejV7MUw0KzlhSS1EaUFybUI7YFVCZ3xhYiU0NH5MaUJDa3RRakg3IWZzZ1lH
aTBeWHVSQVB8VjcpNnVGKHY+e2pACnoybkwqKmU4JFJEQmVDMylJSGFzIXk0PG58KyFBWD1tV0J3
bDBjIzJ8YDZJXnxQZiNRWkM2WXUhTVNAV0UxXyVJKgp6ODR6NGliWDApSFZCKFA8eCRgP1RKP0oj
LXJGcCEwYW1NMl9VKkpYdDxgbWlYOHw1WSNEc24qSW1CK1hoYGEmRUgKenk9JEUwX01yUHMrbGsw
QXlEdzt1YXg4fGI5WkJfY21OOHBLXmw9b0hNZE8tZ3JLfCVfeU1Ab1ZBJDlVWXRWTHAmCnpCcWhi
U01peDM0NVFnVXVCZjVHUWhTeTwqPGs3OGIpdlR3eExidnVtTjMqeyN0PEM3bkFpWTlhKX11d3tZ
NUlhcgp6WmhFP3o2amZ3LUckWnFzTGN7bDAzT1ZJbmtrKHk3Sm9FZEwqOE97VCozJT54LT9DaTZ7
dD59NGgwZEwybURYaU4Kenk7QVg2N3c+MSM2WWptK0ViZ1UkUHg0V2kkZmt6VTZrM2pmZiNHeE96
MS13PHlONU4jJCVnUkVoOEVNfk9ZQDhPCnpgO1BLXjlpNyU/YGc+aXFUa3ZmM1FuUWJ9ckV1LVdJ
c01JSEN1PGZ9UktTJChTNHd9WERAcDVKaGR1SjtRSW5yTwp6VShHYiVIR1AtWERLfmoreTUzKUlw
KjhkMTtyc1FjQmAtZjA7bmszLTNYanp2KDYyLUlpJFZ7VE9hR3tMdyg/ZWYKekB5NGtJVHIwblM+
RH1oVFIjezxeazA3SGVFP3pXQFVCRl92Uno4cEtUckt4fnpkRykoUWtRc3JDOCoqJXN4YEhZCnpJ
YWNhRSpKcEAoTm4peDsyIVJIXmohYEY7LUxKXkd0Yks7aSZ9MVNsWjtCKX5rKU5uMWFocldYS0VX
Wk8ze0BJNQp6PzF+UlQzbV5ZajkqbWYzdjNQMkJ4S3p0eUYwZWwyWEpZa1ZISXgrUTdBRmNTRTIy
OWAwYCZJcnRFbG02LWN7QUEKek4oenB2VyNqSkJ7TmF6ak0hVTNeN0xaelk3MyVEN0hUIWtJb0ol
O3lzJjZ9S1EqKzBTWX0xYWBoPkNWeXV3T15+CnopNUJkfitmSjJOOU5QN0BlQ2kwPClVJGlrekRP
bENEbn14NkxUNSRFJVcxekNkPnQwQ2ZNQURUe2hsPThKI0ZZfAp6VmxQJHAkPDhWWT8mNDx9YCMk
X1FPIzlUKz92TTF1byRkSmd6VklmcUpLTWpKMmBWPTEwcHs/SHEjek81S3k4JGgKejVOX2MpZWpT
IXRXY2UrWDFUTGZiaWh2YSV3LSprbCpMRVh6ZUt6XnRGfC07YT0tQGhoeEBhbHNYMig7LUNtcnVU
CnpDXm47UFJzPkRvSSZKRyZlMktKYypIbjVka2EjRzNhRW0/ND5HcHcoO3MrRWohZSRIUmEjQ0tp
SEJpIThKWFJ8Vwp6dmFDQ21lYnpfQys9Tz09PHtwZTc3UmN5SzVfVFMpbnBaIUpncUc1TmQkNGR9
KEg4T1RGeDl0ciNiTkN0d01jaDAKelBKTmROUipVR0EpfHt5d1V1NT5CTX5ffSU1Pyp8RVRJO29u
QEQpZVNKOXFUMClRJlkxdnxFTms8MERyMHV0VWB8CnpURjhFXms0QW51QyVzY1JkQFZjLSZgWjVu
aXhBNFlmZUs+QTFqMVJUYF8mKWNWV1EyMjMmWHAmVFV7LVBlKGF+dwp6dU9Nbz88ODJTQG40bjxR
RGV6PjBlcEJ9OGJ5JXtnPH5wcCh5SyleU093RHZWQUZHV2hxaXRjQUJueyUxTUVIR1QKenklNUBJ
eHUzVlRndTMrYXtVTlAwaSNZT1d7S2NtTkY8Iz1EIS03RHBkKitnYFMxO1o0OVV7OCZ3NXpSQWt4
T2dICnpkPTslZG1gTDxJP005Z3h4T0N2WWZYYSZ9PU9rYEQqcVdVSkpGKiRKNlA4OChuOSoxSU9e
PlFIb18oY2dVPGdwfgp6cnA4LV5jdGwmfWEpUHc7OVpGe30xdHI8Syh5Nn1jdDAxb34hYWk0MDlN
cC19TENCc2R0eE1OQWI+cGxfcFM+JGUKeigqa2AxQ1BMekhrIThzYTZwd0BYWV5hO0k0aWx3KUJG
S0pCPjhyejdlPCEjM0pTV2N2dEJGeyZNZyo1Y3g4PHQxCnpRT2c9cSpUIyhsRCF6RyVYUkxpZEBK
QGFnRkR7UElxbGVHTjk4VCFHUDw2bm5SXilOTDs2QlQkVlhnenRJRSNyLQp6MUs3aihfUGRfS0Nn
Km4zWjBUa3RVTG42d2JNR2w4eTYkPHQtNj96bCZwJjNzM1ZvUHRANzkyeEkhdyNTU3V8TykKendR
ZkNLUWAkZ3lMTkczJisyYWhuRHhSfWZZKWVZWSEyS1VhVikrTmZXfGhGe0pfTDc1VzZUbE9oJUtR
QEpgQ1RmCnoyP1lCX2A5amVBRWpRdkRWfjU1N3oxMSZpPiMjSXIqTnw1dFYkQClPZE5qSW9jI20w
OGslWThTUHVHbW1sWkJRYQp6RkpFQHx6QWZtekA1PnsxP0gxTH05P3EjP3FUfVFeKjJsfkZAdH5w
dD1rYk9KbDZ4SkRgSml0ZF85b3NZQ0dwSUQKem9lTmNNWVAwcUpTQG1CKzUyOGhyP3tnKlpxaU1l
PSRDPlI5WWVrO3QoJFN5UHRTbkQmNHl8KD05RlVUNk4tK0R1CnpLVj1fdmgrO3w4R2tLP1pSRCRB
IVU8SjZIVClVQGd5fChHaUk7XkpzZHFRTWxmXkMkQypEaDFqdytaMEVtTTU7KAp6TDxDJWN5Xn4x
dCRrKzVkYWNtITlfaSYxeXFJWmtWakptTW1mTGhuRilYYyRZbCNJc2RQTiEjKV5PJEApXlFRNHsK
eikhPDFnYEVgRzZ7aHt9V0tWPClad0g1I0JLTHhSU2skNyU4RnU9MXZYJUFMMig8YVhVcUhNNmNN
Jn4jJW43aj1RCnp1YSM4OD5SJjVgejF+JSNkSEZAXmIxUTE+bUZMTmxNXyElcWFxaj5aZyp5OWBY
ZW8xVms3N2w8PH02OztuKmFIMgp6XklzbzFOYjl5RENHY1YyZHdRKW11Xmg5KWl9SjtDOWpiUz1u
b0oqRit0VFNmdik/O2spNkprQ1k9djhHU242SzAKelVBRFFNPyRZVU5MVHFXQShQfFF+cG9fZzAp
PWBtOVhINjh7SVdLaGEjfiM5N0tXeXctUE9WK0tCRytTUFRuPHQ3Cnp3e3IwXzdrdzk4N0E1PFc1
R3lDRW1ZcGtZSXgxSCpPYnpPcUs2Zm5DI1ckfEpKKl8tQmM8U31yMCl3bTFYM1EjZgp6WCE5TTJU
TnxxIXh7VnF6PnEje3Ure2l3JD85fFlFY2Z2OHNjYm9kWVFLcUJDPW87QHdKOERpVUdDNkwpUXM9
MmQKekJxaFBDZnxsRFVsdWNXQkhISSoqbio4MGAwams8PDFKTig/ekF8Z2spWWhEbnZhV1YoKkVS
WGo+NmB4R3tyPXRlCnRUPm0mQXxHT3NTVTtVVz5OMXkkWiY4cStUKUEqTlopXz59QnsmJTxYez1Z
dmVZViYlPmUqdkhEez1OVkoKCmxpdGVyYWwgMApIY21WP2QwMDAwMQoKZGlmZiAtLWdpdCBhL1dl
YnNpdGVzL3dlYmtpdC5vcmcvZGVtb3Mvd2VibWV0YWwvc2ltcGxlLmpzIGIvV2Vic2l0ZXMvd2Vi
a2l0Lm9yZy9kZW1vcy93ZWJtZXRhbC9zaW1wbGUuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZTYyM2E5ZTA3ODQw
NWU1NmQ3MGY3NjMzNGZjNDliYTU0M2Y0YTA1MgotLS0gL2Rldi9udWxsCisrKyBiL1dlYnNpdGVz
L3dlYmtpdC5vcmcvZGVtb3Mvd2VibWV0YWwvc2ltcGxlLmpzCkBAIC0wLDAgKzEsMTcyIEBACitj
b25zdCB2ZXJ0ZXhEYXRhID0gbmV3IEZsb2F0MzJBcnJheSgKK1sKKyAgICAvLyBmbG9hdDQgcG9z
aXRpb24sIGZsb2F0NCBjb2xvcgorICAgIDEsIC0xLCAxLCAxLCAxLCAwLCAxLCAxLAorICAgIC0x
LCAtMSwgMSwgMSwgMCwgMCwgMSwgMSwKKyAgICAtMSwgLTEsIC0xLCAxLCAwLCAwLCAwLCAxLAor
ICAgIDEsIC0xLCAtMSwgMSwgMSwgMCwgMCwgMSwKKyAgICAxLCAtMSwgMSwgMSwgMSwgMCwgMSwg
MSwKKyAgICAtMSwgLTEsIC0xLCAxLCAwLCAwLCAwLCAxLAorCisgICAgMSwgMSwgMSwgMSwgMSwg
MSwgMSwgMSwKKyAgICAxLCAtMSwgMSwgMSwgMSwgMCwgMSwgMSwKKyAgICAxLCAtMSwgLTEsIDEs
IDEsIDAsIDAsIDEsCisgICAgMSwgMSwgLTEsIDEsIDEsIDEsIDAsIDEsCisgICAgMSwgMSwgMSwg
MSwgMSwgMSwgMSwgMSwKKyAgICAxLCAtMSwgLTEsIDEsIDEsIDAsIDAsIDEsCisKKyAgICAtMSwg
MSwgMSwgMSwgMCwgMSwgMSwgMSwKKyAgICAxLCAxLCAxLCAxLCAxLCAxLCAxLCAxLAorICAgIDEs
IDEsIC0xLCAxLCAxLCAxLCAwLCAxLAorICAgIC0xLCAxLCAtMSwgMSwgMCwgMSwgMCwgMSwKKyAg
ICAtMSwgMSwgMSwgMSwgMCwgMSwgMSwgMSwKKyAgICAxLCAxLCAtMSwgMSwgMSwgMSwgMCwgMSwK
KworICAgIC0xLCAtMSwgMSwgMSwgMCwgMCwgMSwgMSwKKyAgICAtMSwgMSwgMSwgMSwgMCwgMSwg
MSwgMSwKKyAgICAtMSwgMSwgLTEsIDEsIDAsIDEsIDAsIDEsCisgICAgLTEsIC0xLCAtMSwgMSwg
MCwgMCwgMCwgMSwKKyAgICAtMSwgLTEsIDEsIDEsIDAsIDAsIDEsIDEsCisgICAgLTEsIDEsIC0x
LCAxLCAwLCAxLCAwLCAxLAorCisgICAgMSwgMSwgMSwgMSwgMSwgMSwgMSwgMSwKKyAgICAtMSwg
MSwgMSwgMSwgMCwgMSwgMSwgMSwKKyAgICAtMSwgLTEsIDEsIDEsIDAsIDAsIDEsIDEsCisgICAg
LTEsIC0xLCAxLCAxLCAwLCAwLCAxLCAxLAorICAgIDEsIC0xLCAxLCAxLCAxLCAwLCAxLCAxLAor
ICAgIDEsIDEsIDEsIDEsIDEsIDEsIDEsIDEsCisKKyAgICAxLCAtMSwgLTEsIDEsIDEsIDAsIDAs
IDEsCisgICAgLTEsIC0xLCAtMSwgMSwgMCwgMCwgMCwgMSwKKyAgICAtMSwgMSwgLTEsIDEsIDAs
IDEsIDAsIDEsCisgICAgMSwgMSwgLTEsIDEsIDEsIDEsIDAsIDEsCisgICAgMSwgLTEsIC0xLCAx
LCAxLCAwLCAwLCAxLAorICAgIC0xLCAxLCAtMSwgMSwgMCwgMSwgMCwgMSwKK10pOworCitjb25z
dCBOdW1BY3RpdmVVbmlmb3JtQnVmZmVycyA9IDM7CisKK2xldCBncHU7CitsZXQgY29tbWFuZFF1
ZXVlOworbGV0IHJlbmRlclBhc3NEZXNjcmlwdG9yOworbGV0IHJlbmRlclBpcGVsaW5lU3RhdGU7
CitsZXQgZGVwdGhTdGVuY2lsU3RhdGU7CitsZXQgcHJvamVjdGlvbk1hdHJpeCA9IG1hdDQuY3Jl
YXRlKCk7CisKK2xldCB1bmlmb3JtQnVmZmVycyA9IG5ldyBBcnJheShOdW1BY3RpdmVVbmlmb3Jt
QnVmZmVycyk7Cit2YXIgY3VycmVudFVuaWZvcm1CdWZmZXJJbmRleCA9IDA7CisKK3dpbmRvdy5h
ZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgaW5pdCwgZmFsc2UpOworCitmdW5jdGlvbiBpbml0KCkg
eworCisgICAgaWYgKCFjaGVja0ZvcldlYk1ldGFsKCkpIHsKKyAgICAgICAgcmV0dXJuOworICAg
IH0KKworICAgIGxldCBjYW52YXMgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCJjYW52YXMiKTsK
KyAgICBsZXQgY2FudmFzU2l6ZSA9IGNhbnZhcy5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTsKKyAg
ICBjYW52YXMud2lkdGggPSBjYW52YXNTaXplLndpZHRoOworICAgIGNhbnZhcy5oZWlnaHQgPSBj
YW52YXNTaXplLmhlaWdodDsKKworICAgIGxldCBhc3BlY3QgPSBNYXRoLmFicyhjYW52YXNTaXpl
LndpZHRoIC8gY2FudmFzU2l6ZS5oZWlnaHQpOworICAgIG1hdDQucGVyc3BlY3RpdmUocHJvamVj
dGlvbk1hdHJpeCwgKDIgKiBNYXRoLlBJKSAvIDUsIGFzcGVjdCwgMSwgMTAwLjApOworCisgICAg
Z3B1ID0gY2FudmFzLmdldENvbnRleHQoIndlYm1ldGFsIik7CisgICAgY29tbWFuZFF1ZXVlID0g
Z3B1LmNyZWF0ZUNvbW1hbmRRdWV1ZSgpOworCisgICAgbGV0IGxpYnJhcnkgPSBncHUuY3JlYXRl
TGlicmFyeShkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgibGlicmFyeSIpLnRleHQpOworICAgIGxl
dCB2ZXJ0ZXhGdW5jdGlvbiA9IGxpYnJhcnkuZnVuY3Rpb25XaXRoTmFtZSgidmVydGV4X21haW4i
KTsKKyAgICBsZXQgZnJhZ21lbnRGdW5jdGlvbiA9IGxpYnJhcnkuZnVuY3Rpb25XaXRoTmFtZSgi
ZnJhZ21lbnRfbWFpbiIpOworCisgICAgaWYgKCFsaWJyYXJ5IHx8ICFmcmFnbWVudEZ1bmN0aW9u
IHx8ICF2ZXJ0ZXhGdW5jdGlvbikgeworICAgICAgICByZXR1cm47CisgICAgfQorCisgICAgbGV0
IHBpcGVsaW5lRGVzY3JpcHRvciA9IG5ldyBXZWJNZXRhbFJlbmRlclBpcGVsaW5lRGVzY3JpcHRv
cigpOworICAgIHBpcGVsaW5lRGVzY3JpcHRvci52ZXJ0ZXhGdW5jdGlvbiA9IHZlcnRleEZ1bmN0
aW9uOworICAgIHBpcGVsaW5lRGVzY3JpcHRvci5mcmFnbWVudEZ1bmN0aW9uID0gZnJhZ21lbnRG
dW5jdGlvbjsKKyAgICAvLyBOT1RFOiBPdXIgQVBJIHByb3Bvc2FsIGhhcyB0aGVzZSB2YWx1ZXMg
YXMgZW51bXMsIG5vdCBjb25zdGFudCBudW1iZXJzLgorICAgIC8vIFdlIGhhdmVuJ3QgZ290IGFy
b3VuZCB0byBpbXBsZW1lbnRpbmcgdGhlIGVudW1zIHlldC4KKyAgICBwaXBlbGluZURlc2NyaXB0
b3IuY29sb3JBdHRhY2htZW50c1swXS5waXhlbEZvcm1hdCA9IGdwdS5QaXhlbEZvcm1hdEJHUkE4
VW5vcm07CisgICAgcGlwZWxpbmVEZXNjcmlwdG9yLmRlcHRoQXR0YWNobWVudFBpeGVsRm9ybWF0
ID0gZ3B1LlBpeGVsRm9ybWF0RGVwdGgzMkZsb2F0OworCisgICAgcmVuZGVyUGlwZWxpbmVTdGF0
ZSA9IGdwdS5jcmVhdGVSZW5kZXJQaXBlbGluZVN0YXRlKHBpcGVsaW5lRGVzY3JpcHRvcik7CisK
KyAgICBsZXQgZGVwdGhTdGVuY2lsRGVzY3JpcHRvciA9IG5ldyBXZWJNZXRhbERlcHRoU3RlbmNp
bERlc2NyaXB0b3IoKTsKKyAgICBkZXB0aFN0ZW5jaWxEZXNjcmlwdG9yLmRlcHRoV3JpdGVFbmFi
bGVkID0gdHJ1ZTsKKyAgICBkZXB0aFN0ZW5jaWxEZXNjcmlwdG9yLmRlcHRoQ29tcGFyZUZ1bmN0
aW9uID0gImxlc3MiOworCisgICAgZGVwdGhTdGVuY2lsU3RhdGUgPSBncHUuY3JlYXRlRGVwdGhT
dGVuY2lsU3RhdGUoZGVwdGhTdGVuY2lsRGVzY3JpcHRvcik7CisKKyAgICBmb3IgKGxldCBpID0g
MDsgaSA8IE51bUFjdGl2ZVVuaWZvcm1CdWZmZXJzOyBpKyspIHsKKyAgICAgICAgdW5pZm9ybUJ1
ZmZlcnNbaV0gPSBncHUuY3JlYXRlQnVmZmVyKG5ldyBGbG9hdDMyQXJyYXkoMTYpKTsKKyAgICB9
CisKKyAgICBsZXQgZGVwdGhUZXh0dXJlRGVzY3JpcHRvciA9IG5ldyBXZWJNZXRhbFRleHR1cmVE
ZXNjcmlwdG9yKGdwdS5QaXhlbEZvcm1hdERlcHRoMzJGbG9hdCwgY2FudmFzU2l6ZS53aWR0aCwg
Y2FudmFzU2l6ZS5oZWlnaHQsIGZhbHNlKTsKKyAgICAvLyBOT1RFOiBPdXIgQVBJIHByb3Bvc2Fs
IGhhcyBzb21lIG9mIHRoZXNlIHZhbHVlcyBhcyBlbnVtcywgbm90IGNvbnN0YW50IG51bWJlcnMu
CisgICAgLy8gV2UgaGF2ZW4ndCBnb3QgYXJvdW5kIHRvIGltcGxlbWVudGluZyB0aGUgZW51bXMg
eWV0LgorICAgIGRlcHRoVGV4dHVyZURlc2NyaXB0b3IudGV4dHVyZVR5cGUgPSBncHUuVGV4dHVy
ZVR5cGUyRDsKKyAgICBkZXB0aFRleHR1cmVEZXNjcmlwdG9yLnNhbXBsZUNvdW50ID0gMTsKKyAg
ICBkZXB0aFRleHR1cmVEZXNjcmlwdG9yLnVzYWdlID0gZ3B1LlRleHR1cmVVc2FnZVVua25vd247
CisgICAgZGVwdGhUZXh0dXJlRGVzY3JpcHRvci5zdG9yYWdlTW9kZSA9IGdwdS5TdG9yYWdlTW9k
ZVByaXZhdGU7CisKKyAgICBsZXQgZGVwdGhUZXh0dXJlID0gZ3B1LmNyZWF0ZVRleHR1cmUoZGVw
dGhUZXh0dXJlRGVzY3JpcHRvcik7CisKKyAgICByZW5kZXJQYXNzRGVzY3JpcHRvciA9IG5ldyBX
ZWJNZXRhbFJlbmRlclBhc3NEZXNjcmlwdG9yKCk7CisgICAgLy8gTk9URTogT3VyIEFQSSBwcm9w
b3NhbCBoYXMgc29tZSBvZiB0aGVzZSB2YWx1ZXMgYXMgZW51bXMsIG5vdCBjb25zdGFudCBudW1i
ZXJzLgorICAgIC8vIFdlIGhhdmVuJ3QgZ290IGFyb3VuZCB0byBpbXBsZW1lbnRpbmcgdGhlIGVu
dW1zIHlldC4KKyAgICByZW5kZXJQYXNzRGVzY3JpcHRvci5jb2xvckF0dGFjaG1lbnRzWzBdLmxv
YWRBY3Rpb24gPSBncHUuTG9hZEFjdGlvbkNsZWFyOworICAgIHJlbmRlclBhc3NEZXNjcmlwdG9y
LmNvbG9yQXR0YWNobWVudHNbMF0uc3RvcmVBY3Rpb24gPSBncHUuU3RvcmVBY3Rpb25TdG9yZTsK
KyAgICByZW5kZXJQYXNzRGVzY3JpcHRvci5jb2xvckF0dGFjaG1lbnRzWzBdLmNsZWFyQ29sb3Ig
PSBbMC4zNSwgMC42NSwgMC44NSwgMS4wXTsKKyAgICByZW5kZXJQYXNzRGVzY3JpcHRvci5kZXB0
aEF0dGFjaG1lbnQubG9hZEFjdGlvbiA9IGdwdS5Mb2FkQWN0aW9uQ2xlYXI7CisgICAgcmVuZGVy
UGFzc0Rlc2NyaXB0b3IuZGVwdGhBdHRhY2htZW50LnN0b3JlQWN0aW9uID0gZ3B1LlN0b3JlQWN0
aW9uRG9udENhcmU7CisgICAgcmVuZGVyUGFzc0Rlc2NyaXB0b3IuZGVwdGhBdHRhY2htZW50LmNs
ZWFyRGVwdGggPSAxLjA7CisgICAgcmVuZGVyUGFzc0Rlc2NyaXB0b3IuZGVwdGhBdHRhY2htZW50
LnRleHR1cmUgPSBkZXB0aFRleHR1cmU7CisKKyAgICB2ZXJ0ZXhCdWZmZXIgPSBncHUuY3JlYXRl
QnVmZmVyKHZlcnRleERhdGEpOworICAgIHJlbmRlcigpOworfQorCitmdW5jdGlvbiByZW5kZXIo
KSB7CisKKyAgICB1cGRhdGVVbmlmb3JtRGF0YShjdXJyZW50VW5pZm9ybUJ1ZmZlckluZGV4KTsK
KworICAgIGxldCBjb21tYW5kQnVmZmVyID0gY29tbWFuZFF1ZXVlLmNyZWF0ZUNvbW1hbmRCdWZm
ZXIoKTsKKworICAgIGxldCBkcmF3YWJsZSA9IGdwdS5uZXh0RHJhd2FibGUoKTsKKworICAgIHJl
bmRlclBhc3NEZXNjcmlwdG9yLmNvbG9yQXR0YWNobWVudHNbMF0udGV4dHVyZSA9IGRyYXdhYmxl
LnRleHR1cmU7CisKKyAgICBsZXQgY29tbWFuZEVuY29kZXIgPSBjb21tYW5kQnVmZmVyLmNyZWF0
ZVJlbmRlckNvbW1hbmRFbmNvZGVyV2l0aERlc2NyaXB0b3IocmVuZGVyUGFzc0Rlc2NyaXB0b3Ip
OworICAgIGNvbW1hbmRFbmNvZGVyLnNldERlcHRoU3RlbmNpbFN0YXRlKGRlcHRoU3RlbmNpbFN0
YXRlKTsKKyAgICBjb21tYW5kRW5jb2Rlci5zZXRSZW5kZXJQaXBlbGluZVN0YXRlKHJlbmRlclBp
cGVsaW5lU3RhdGUpOworICAgIGNvbW1hbmRFbmNvZGVyLnNldFZlcnRleEJ1ZmZlcih2ZXJ0ZXhC
dWZmZXIsIDAsIDApOworICAgIGNvbW1hbmRFbmNvZGVyLnNldFZlcnRleEJ1ZmZlcih1bmlmb3Jt
QnVmZmVyc1tjdXJyZW50VW5pZm9ybUJ1ZmZlckluZGV4XSwgMCwgMSk7CisKKyAgICAvLyBOT1RF
OiBPdXIgQVBJIHByb3Bvc2FsIHVzZXMgdGhlIGVudW0gdmFsdWUgInRyaWFuZ2xlIiBoZXJlLiBX
ZSBoYXZlbid0IGdvdCBhcm91bmQgdG8gaW1wbGVtZW50aW5nIHRoZSBlbnVtcyB5ZXQuCisgICAg
Y29tbWFuZEVuY29kZXIuZHJhd1ByaW1pdGl2ZXMoZ3B1LlByaW1pdGl2ZVR5cGVUcmlhbmdsZSwg
MCwgMzYpOworCisgICAgY29tbWFuZEVuY29kZXIuZW5kRW5jb2RpbmcoKTsKKyAgICBjb21tYW5k
QnVmZmVyLnByZXNlbnREcmF3YWJsZShkcmF3YWJsZSk7CisgICAgY29tbWFuZEJ1ZmZlci5jb21t
aXQoKTsKKworICAgIGN1cnJlbnRVbmlmb3JtQnVmZmVySW5kZXggPSAoY3VycmVudFVuaWZvcm1C
dWZmZXJJbmRleCArIDEpICUgTnVtQWN0aXZlVW5pZm9ybUJ1ZmZlcnM7CisgICAgcmVxdWVzdEFu
aW1hdGlvbkZyYW1lKHJlbmRlcik7Cit9CisKK2Z1bmN0aW9uIHVwZGF0ZVVuaWZvcm1EYXRhKGlu
ZGV4KSB7CisKKyAgICBsZXQgdmlld01hdHJpeCA9IG1hdDQuY3JlYXRlKCk7CisgICAgbWF0NC50
cmFuc2xhdGUodmlld01hdHJpeCwgdmlld01hdHJpeCwgdmVjMy5mcm9tVmFsdWVzKDAsIDAsIC01
KSk7CisgICAgbGV0IG5vdyA9IERhdGUubm93KCkgLyAxMDAwOworICAgIG1hdDQucm90YXRlKHZp
ZXdNYXRyaXgsIHZpZXdNYXRyaXgsIDEsIHZlYzMuZnJvbVZhbHVlcyhNYXRoLnNpbihub3cpLCBN
YXRoLmNvcyhub3cpLCAwKSk7CisKKyAgICBsZXQgbW9kZWxWaWV3UHJvamVjdGlvbk1hdHJpeCA9
IG1hdDQuY3JlYXRlKCk7CisgICAgbWF0NC5tdWx0aXBseShtb2RlbFZpZXdQcm9qZWN0aW9uTWF0
cml4LCBwcm9qZWN0aW9uTWF0cml4LCB2aWV3TWF0cml4KTsKKworICAgIGxldCB1bmlmb3JtID0g
bmV3IEZsb2F0MzJBcnJheSh1bmlmb3JtQnVmZmVyc1tpbmRleF0uY29udGVudHMpOworICAgIGZv
ciAobGV0IGkgPSAwOyBpIDwgMTY7IGkrKykgeworICAgICAgICB1bmlmb3JtW2ldID0gbW9kZWxW
aWV3UHJvamVjdGlvbk1hdHJpeFtpXTsKKyAgICB9Cit9CmRpZmYgLS1naXQgYS9XZWJzaXRlcy93
ZWJraXQub3JnL2V4cGVyaW1lbnRhbC1mZWF0dXJlcy5odG1sIGIvV2Vic2l0ZXMvd2Via2l0Lm9y
Zy9leHBlcmltZW50YWwtZmVhdHVyZXMuaHRtbAppbmRleCA2YTNmNjk3NGFkYzVjMzBiYTg2N2Ux
NmEzNTA0MzFjN2NjNmIzNDU1Li4zYjMzMWRjMDZlMmM3OTRmZmViMzYzMGNkMWNjYTU2OTM4ZDE5
MTlkIDEwMDY0NAotLS0gYS9XZWJzaXRlcy93ZWJraXQub3JnL2V4cGVyaW1lbnRhbC1mZWF0dXJl
cy5odG1sCisrKyBiL1dlYnNpdGVzL3dlYmtpdC5vcmcvZXhwZXJpbWVudGFsLWZlYXR1cmVzLmh0
bWwKQEAgLTEwMyw4ICsxMDMsOCBAQCBmdW5jdGlvbiB0ZXN0V2ViR0wyKCkgewogICAgIHJldHVy
biBjYW52YXMuZ2V0Q29udGV4dCgid2ViZ2wyIik7CiB9CiAKLWZ1bmN0aW9uIHRlc3RXZWJHUFUo
KSB7Ci0gICAgcmV0dXJuIHdpbmRvdy5XZWJHUFVSZW5kZXJpbmdDb250ZXh0OworZnVuY3Rpb24g
dGVzdFdlYk1ldGFsKCkgeworICAgIHJldHVybiB3aW5kb3cuV2ViTWV0YWxSZW5kZXJpbmdDb250
ZXh0OwogfQogCiBmdW5jdGlvbiB0ZXN0V2ViUlRDKCkgewpAQCAtMTUyLDcgKzE1Miw3IEBAIHdp
bmRvdy5hZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgZnVuY3Rpb24gKCkgewogICAgICAgICA8ZGl2
IGNsYXNzPSJ0ZXN0IiBpZD0iV2ViQW5pbWF0aW9ucyI+PHA+V2ViIEFuaW1hdGlvbnM8L3A+PC9k
aXY+CiAgICAgICAgIDxkaXYgY2xhc3M9InRlc3QiIGlkPSJXZWJBbmltYXRpb25zQ1NTSW50ZWdy
YXRpb24iPjxwPldlYiBBbmltYXRpb25zIGFuZCBDU1MgSW50ZWdyYXRpb248L3A+PC9kaXY+CiAg
ICAgICAgIDxkaXYgY2xhc3M9InRlc3QiIGlkPSJXZWJHTDIiPjxwPldlYkdMIDIuMDwvcD48L2Rp
dj4KLSAgICAgICAgPGRpdiBjbGFzcz0idGVzdCIgaWQ9IldlYkdQVSI+PHA+V2ViR1BVPC9wPjwv
ZGl2PgorICAgICAgICA8ZGl2IGNsYXNzPSJ0ZXN0IiBpZD0iV2ViTWV0YWwiPjxwPldlYk1ldGFs
PC9wPjwvZGl2PgogICAgICAgICA8ZGl2IGNsYXNzPSJ0ZXN0IiBpZD0iV2ViUlRDIj48cD5XZWJS
VEM8L3A+PC9kaXY+CiAgICAgICAgIDxkaXYgY2xhc3M9InRlc3QiIGlkPSJPYmplY3RSZXN0Ij48
cD5PYmplY3RSZXN0PC9wPjwvZGl2PgogICAgIDwvZGl2PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IDk2ZjE0ZTliYTE0ZmM5
YzNlOWMzMGE2ODMxZDYzMzQwNTNlYmNmODQuLmJkZGQzMDUwMjhkNTYwOTYzZGNkYzVhY2E0OWVh
NDNiZjhhMjFlNTAgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlv
dXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyOCBAQAorMjAxOC0xMC0wOCAgSnVzdGluIEZh
biAgPGp1c3Rpbl9mYW5AYXBwbGUuY29tPgorCisgICAgICAgIFdlYkdQVTogUmVuYW1lIG9sZCBX
ZWJHUFUgcHJvdG90eXBlIHRvIFdlYk1ldGFsCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD0xOTAzMjUKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzQ0OTkw
NDQzPgorCisgICAgICAgIFJldmlld2VkIGJ5IERlYW4gSmFja3Nvbi4KKworICAgICAgICBSZW5h
bWUgV2ViR1BVIHByb3RvdHlwZSBmaWxlcyB0byBXZWJNZXRhbCBpbiBwcmVwYXJhdGlvbiBmb3Ig
aW1wbGVtZW50aW5nIHRoZSBuZXcgKE9jdCAyMDE4KSBXZWJHUFUgaW50ZXJmYWNlLgorCisgICAg
ICAgICogZmFzdC9jYW52YXMvd2ViZ3B1L3dlYmdwdS1ydW50aW1lLWZsYWctZXhwZWN0ZWQudHh0
OiBSZW1vdmVkLgorICAgICAgICAqIGZhc3QvY2FudmFzL3dlYm1ldGFsL3dlYm1ldGFsLWRpc3Bh
dGNoLWV4cGVjdGVkLnR4dDogUmVuYW1lZCBmcm9tIExheW91dFRlc3RzL2Zhc3QvY2FudmFzL3dl
YmdwdS93ZWJncHUtZGlzcGF0Y2gtZXhwZWN0ZWQudHh0LgorICAgICAgICAqIGZhc3QvY2FudmFz
L3dlYm1ldGFsL3dlYm1ldGFsLWRpc3BhdGNoLmh0bWw6IFJlbmFtZWQgZnJvbSBMYXlvdXRUZXN0
cy9mYXN0L2NhbnZhcy93ZWJncHUvd2ViZ3B1LWRpc3BhdGNoLmh0bWwuCisgICAgICAgICogZmFz
dC9jYW52YXMvd2VibWV0YWwvd2VibWV0YWwtcnVudGltZS1mbGFnLWV4cGVjdGVkLnR4dDogQWRk
ZWQuCisgICAgICAgICogZmFzdC9jYW52YXMvd2VibWV0YWwvd2VibWV0YWwtcnVudGltZS1mbGFn
Lmh0bWw6IFJlbmFtZWQgZnJvbSBMYXlvdXRUZXN0cy9mYXN0L2NhbnZhcy93ZWJncHUvd2ViZ3B1
LXJ1bnRpbWUtZmxhZy5odG1sLgorICAgICAgICAqIGluc3BlY3Rvci9jYW52YXMvY3JlYXRlLWNv
bnRleHQtd2VibWV0YWwtZXhwZWN0ZWQudHh0OiBSZW5hbWVkIGZyb20gTGF5b3V0VGVzdHMvaW5z
cGVjdG9yL2NhbnZhcy9jcmVhdGUtY29udGV4dC13ZWJncHUtZXhwZWN0ZWQudHh0LgorICAgICAg
ICAqIGluc3BlY3Rvci9jYW52YXMvY3JlYXRlLWNvbnRleHQtd2VibWV0YWwuaHRtbDogUmVuYW1l
ZCBmcm9tIExheW91dFRlc3RzL2luc3BlY3Rvci9jYW52YXMvY3JlYXRlLWNvbnRleHQtd2ViZ3B1
Lmh0bWwuCisgICAgICAgICogaW5zcGVjdG9yL2NhbnZhcy9yZXNvbHZlQ2FudmFzQ29udGV4dC13
ZWJncHUtZXhwZWN0ZWQudHh0OiBSZW1vdmVkLgorICAgICAgICAqIGluc3BlY3Rvci9jYW52YXMv
cmVzb2x2ZUNhbnZhc0NvbnRleHQtd2VibWV0YWwtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAg
ICAgKiBpbnNwZWN0b3IvY2FudmFzL3Jlc29sdmVDYW52YXNDb250ZXh0LXdlYm1ldGFsLmh0bWw6
IFJlbmFtZWQgZnJvbSBMYXlvdXRUZXN0cy9pbnNwZWN0b3IvY2FudmFzL3Jlc29sdmVDYW52YXND
b250ZXh0LXdlYmdwdS5odG1sLgorICAgICAgICAqIHBsYXRmb3JtL2d0ay9UZXN0RXhwZWN0YXRp
b25zOgorICAgICAgICAqIHBsYXRmb3JtL2lvcy9UZXN0RXhwZWN0YXRpb25zOgorICAgICAgICAq
IHBsYXRmb3JtL21hYy9UZXN0RXhwZWN0YXRpb25zOgorICAgICAgICAqIHBsYXRmb3JtL3dpbi9U
ZXN0RXhwZWN0YXRpb25zOgorCiAyMDE4LTEwLTA1ICBKb3NlcGggUGVjb3Jhcm8gIDxwZWNvcmFy
b0BhcHBsZS5jb20+CiAKICAgICAgICAgVHJ5IHRvIHVuZmxha2UgaW5zcGVjdG9yL2xheWVycy9s
YXllclRyZWVEaWRDaGFuZ2UuaHRtbApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9jYW52
YXMvd2ViZ3B1L3dlYmdwdS1kaXNwYXRjaC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0
L2NhbnZhcy93ZWJncHUvd2ViZ3B1LWRpc3BhdGNoLWV4cGVjdGVkLnR4dApkZWxldGVkIGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggN2VmMjJlOWE0MzFhZDAyNzI3MTNiNzFmZGM4Nzk0MDE2YzhlZjEy
Zi4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRU
ZXN0cy9mYXN0L2NhbnZhcy93ZWJncHUvd2ViZ3B1LWRpc3BhdGNoLWV4cGVjdGVkLnR4dAorKysg
L2Rldi9udWxsCkBAIC0xICswLDAgQEAKLVBBU1MKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zh
c3QvY2FudmFzL3dlYmdwdS93ZWJncHUtZGlzcGF0Y2guaHRtbCBiL0xheW91dFRlc3RzL2Zhc3Qv
Y2FudmFzL3dlYmdwdS93ZWJncHUtZGlzcGF0Y2guaHRtbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggOWIxNjRkOGQ0YmY3ODRkYmY0YTk1YmQwM2ExMjJmMGJjMGQ1MjJhZC4uMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0
L2NhbnZhcy93ZWJncHUvd2ViZ3B1LWRpc3BhdGNoLmh0bWwKKysrIC9kZXYvbnVsbApAQCAtMSw5
NiArMCwwIEBACi08c2NyaXB0IGlkPSJzY3JpcHQiIHR5cGU9Ingtc2hhZGVyL3gtbWV0YWwiPgot
dXNpbmcgbmFtZXNwYWNlIG1ldGFsOwotCi1rZXJuZWwgdm9pZCBnZXRfa2VybmVsX3NpemUoZGV2
aWNlIGludCAqcmVzdWx0W1tidWZmZXIoMCldXSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICB1aW50MyBncmlkX3NpemVbW3RocmVhZGdyb3Vwc19wZXJfZ3JpZF1dLAotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIHVpbnQzIGdyb3VwX3NpemVbW3RocmVhZHNfcGVyX3RocmVhZGdyb3Vw
XV0sCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMgZ2lkW1t0aHJlYWRfcG9zaXRp
b25faW5fZ3JpZF1dKQotewotICAgIGlmIChnaWQueCAhPSAwIHx8IGdpZC55ICE9IDAgfHwgZ2lk
LnogIT0gMCkgCi0gICAgICAgIHJldHVybjsKLQotICAgIHJlc3VsdFswXSA9IGdyaWRfc2l6ZS54
OwotICAgIHJlc3VsdFsxXSA9IGdyaWRfc2l6ZS55OwotICAgIHJlc3VsdFsyXSA9IGdyaWRfc2l6
ZS56OwotICAgIHJlc3VsdFszXSA9IGdyb3VwX3NpemUueDsKLSAgICByZXN1bHRbNF0gPSBncm91
cF9zaXplLnk7Ci0gICAgcmVzdWx0WzVdID0gZ3JvdXBfc2l6ZS56OwotfQotPC9zY3JpcHQ+Ci0K
LTxzY3JpcHQ+Ci1pZiAod2luZG93LnRlc3RSdW5uZXIpIHsKLSAgICB3aW5kb3cudGVzdFJ1bm5l
ci5kdW1wQXNUZXh0KCk7Ci0gICAgd2luZG93LnRlc3RSdW5uZXIud2FpdFVudGlsRG9uZSgpOwot
fQotCi1mdW5jdGlvbiBhc3NlcnQoYSkgewotICAgIGlmICghYSkgewotICAgICAgICB0aHJvdyBu
ZXcgRXJyb3IoJ0Fzc2VydGlvbiBGYWlsZWQuJyk7Ci0gICAgfQotfQotCi1mdW5jdGlvbiBydW4o
KSB7Ci0gICAgbGV0IG91dHB1dCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJvdXRwdXQiKTsK
LQotICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpIHsKLSAgICAgICAgb3V0cHV0LnRleHRDb250
ZW50ID0gIlRoaXMgdGVzdCBvbmx5IHJ1bnMgaW5zaWRlIERSVC9XS1RSLiI7Ci0gICAgICAgIHJl
dHVybjsKLSAgICB9Ci0KLSAgICB3aW5kb3cuaW50ZXJuYWxzLnNldHRpbmdzLnNldFdlYkdQVUVu
YWJsZWQodHJ1ZSk7Ci0gICAgbGV0IGdwdSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImNhbnZh
cyIpLmdldENvbnRleHQoIndlYmdwdSIpOwotICAgIGxldCBjb21tYW5kUXVldWUgPSBncHUuY3Jl
YXRlQ29tbWFuZFF1ZXVlKCk7Ci0KLSAgICBsZXQgbGlicmFyeSA9IGdwdS5jcmVhdGVMaWJyYXJ5
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzY3JpcHQiKS50ZXh0KTsKLSAgICBsZXQga2VybmVs
RnVuY3Rpb24gPSBsaWJyYXJ5LmZ1bmN0aW9uV2l0aE5hbWUoImdldF9rZXJuZWxfc2l6ZSIpOwot
ICAgIGxldCBwaXBlbGluZVN0YXRlID0gZ3B1LmNyZWF0ZUNvbXB1dGVQaXBlbGluZVN0YXRlKGtl
cm5lbEZ1bmN0aW9uKTsKLQotICAgIGxldCByZXN1bHRCdWZmZXIgPSBncHUuY3JlYXRlQnVmZmVy
KG5ldyBJbnQzMkFycmF5KDYpKTsKLSAgICAKLSAgICBsZXQgY29tbWFuZEJ1ZmZlciA9IGNvbW1h
bmRRdWV1ZS5jcmVhdGVDb21tYW5kQnVmZmVyKCk7Ci0gICAgbGV0IGNvbW1hbmRFbmNvZGVyID0g
Y29tbWFuZEJ1ZmZlci5jcmVhdGVDb21wdXRlQ29tbWFuZEVuY29kZXIoKTsKLQotICAgIGxldCBn
cmlkU2l6ZSA9IHsKLSAgICAgICAgd2lkdGg6IDcsCi0gICAgICAgIGhlaWdodDogNiwKLSAgICAg
ICAgZGVwdGg6IDUKLSAgICB9OwotICAgIGxldCBncm91cFNpemUgPSB7Ci0gICAgICAgIHdpZHRo
OiA0LAotICAgICAgICBoZWlnaHQ6IDMsCi0gICAgICAgIGRlcHRoOiAyCi0gICAgfTsKLSAgICAK
LSAgICBjb21tYW5kRW5jb2Rlci5zZXRDb21wdXRlUGlwZWxpbmVTdGF0ZShwaXBlbGluZVN0YXRl
KTsKLSAgICBjb21tYW5kRW5jb2Rlci5zZXRCdWZmZXIocmVzdWx0QnVmZmVyLCAwLCAwKTsKLSAg
ICBjb21tYW5kRW5jb2Rlci5kaXNwYXRjaChncmlkU2l6ZSwgZ3JvdXBTaXplKTsKLSAgICBjb21t
YW5kRW5jb2Rlci5lbmRFbmNvZGluZygpOwotCi0gICAgY29tbWFuZEJ1ZmZlci5jb21wbGV0ZWQu
dGhlbigoKSA9PiB7Ci0gICAgICAgIGxldCByZXN1bHQgPSBuZXcgSW50MzJBcnJheShyZXN1bHRC
dWZmZXIuY29udGVudHMpOwotCi0gICAgICAgIHRyeSB7Ci0gICAgICAgICAgICBhc3NlcnQocmVz
dWx0WzBdID09PSBncmlkU2l6ZS53aWR0aCk7Ci0gICAgICAgICAgICBhc3NlcnQocmVzdWx0WzFd
ID09PSBncmlkU2l6ZS5oZWlnaHQpOwotICAgICAgICAgICAgYXNzZXJ0KHJlc3VsdFsyXSA9PT0g
Z3JpZFNpemUuZGVwdGgpOwotICAgICAgICAgICAgYXNzZXJ0KHJlc3VsdFszXSA9PT0gZ3JvdXBT
aXplLndpZHRoKTsKLSAgICAgICAgICAgIGFzc2VydChyZXN1bHRbNF0gPT09IGdyb3VwU2l6ZS5o
ZWlnaHQpOwotICAgICAgICAgICAgYXNzZXJ0KHJlc3VsdFs1XSA9PT0gZ3JvdXBTaXplLmRlcHRo
KTsKLQotICAgICAgICB9IGNhdGNoKGVycikgewotICAgICAgICAgICAgb3V0cHV0LnRleHRDb250
ZW50ID0gYEZBSUw6ICR7ZXJyLm1lc3NhZ2V9YDsKLSAgICAgICAgICAgIHJldHVybjsKLSAgICAg
ICAgfQotCi0gICAgICAgIG91dHB1dC50ZXh0Q29udGVudCA9ICdQQVNTJzsKLSAgICAgICAgd2lu
ZG93LnRlc3RSdW5uZXIubm90aWZ5RG9uZSgpOwotICAgIH0pOwotCi0gICAgY29tbWFuZEJ1ZmZl
ci5jb21taXQoKTsKLX0KLQotd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW4sIGZh
bHNlKTsKLQotPC9zY3JpcHQ+Ci08ZGl2IGlkPSJvdXRwdXQiPjwvZGl2PgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZmFzdC9jYW52YXMvd2ViZ3B1L3dlYmdwdS1ydW50aW1lLWZsYWctZXhwZWN0
ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9jYW52YXMvd2ViZ3B1L3dlYmdwdS1ydW50aW1lLWZs
YWctZXhwZWN0ZWQudHh0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBhY2Y4ODNlNzMx
ZjZhMTJjMTM5MDIxMTUzZWZlMjAwZjI0N2UwNGY1Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2Zhc3QvY2FudmFzL3dlYmdwdS93ZWJn
cHUtcnVudGltZS1mbGFnLWV4cGVjdGVkLnR4dAorKysgL2Rldi9udWxsCkBAIC0xLDIgKzAsMCBA
QAotUEFTUzogV2ViR1BVIHdhcyBhdmFpbGFibGUgd2hlbiBlbmFibGVkLgotUEFTUzogV2ViR1BV
IHdhcyBub3QgYXZhaWxhYmxlIHdoZW4gZGlzYWJsZWQuCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9mYXN0L2NhbnZhcy93ZWJncHUvd2ViZ3B1LXJ1bnRpbWUtZmxhZy5odG1sIGIvTGF5b3V0VGVz
dHMvZmFzdC9jYW52YXMvd2ViZ3B1L3dlYmdwdS1ydW50aW1lLWZsYWcuaHRtbApkZWxldGVkIGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMTdlYTQyYjFiMjU3MjAxNTU0ZjhhYWI4NDVjNTFlOTdlZmYw
MzcwMi4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlv
dXRUZXN0cy9mYXN0L2NhbnZhcy93ZWJncHUvd2ViZ3B1LXJ1bnRpbWUtZmxhZy5odG1sCisrKyAv
ZGV2L251bGwKQEAgLTEsNDIgKzAsMCBAQAotPHNjcmlwdD4KLQotaWYgKHdpbmRvdy50ZXN0UnVu
bmVyKQotICAgIHdpbmRvdy50ZXN0UnVubmVyLmR1bXBBc1RleHQoKTsKLQotZnVuY3Rpb24gZ2V0
Q29udGV4dChuYW1lKSB7Ci0gICAgdmFyIGMgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJjYW52
YXMiKTsKLSAgICByZXR1cm4gYy5nZXRDb250ZXh0KG5hbWUpOwotfQotCi1mdW5jdGlvbiBydW4o
KSB7Ci0gICAgdmFyIG91dHB1dDsKLQotICAgIG91dHB1dCA9IGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJvdXRwdXQxIik7Ci0KLSAgICBpZiAoIXdpbmRvdy50ZXN0UnVubmVyKSB7Ci0gICAgICAg
IG91dHB1dC50ZXh0Q29udGVudCA9ICJUaGlzIHRlc3Qgb25seSBydW5zIGluc2lkZSBEUlQvV0tU
Ui4iOwotICAgICAgICByZXR1cm47Ci0gICAgfQotCi0gICAgd2luZG93LmludGVybmFscy5zZXR0
aW5ncy5zZXRXZWJHUFVFbmFibGVkKHRydWUpOwotICAgIHZhciBjdHggPSBnZXRDb250ZXh0KCJ3
ZWJncHUiKTsKLSAgICBpZiAoY3R4KQotICAgICAgICBvdXRwdXQudGV4dENvbnRlbnQgPSAiUEFT
UzogV2ViR1BVIHdhcyBhdmFpbGFibGUgd2hlbiBlbmFibGVkLiI7Ci0gICAgZWxzZQotICAgICAg
ICBvdXRwdXQudGV4dENvbnRlbnQgPSAiRkFJTDogV2ViR1BVIHdhcyBub3QgYXZhaWxhYmxlIHdo
ZW4gZW5hYmxlZC4iOwotCi0gICAgb3V0cHV0ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoIm91
dHB1dDIiKTsKLQotICAgIHdpbmRvdy5pbnRlcm5hbHMuc2V0dGluZ3Muc2V0V2ViR1BVRW5hYmxl
ZChmYWxzZSk7Ci0gICAgdmFyIGN0eCA9IGdldENvbnRleHQoIndlYmdwdSIpOwotICAgIGlmIChj
dHgpCi0gICAgICAgIG91dHB1dC50ZXh0Q29udGVudCA9ICJGQUlMOiBXZWJHUFUgd2FzIGF2YWls
YWJsZSB3aGVuIGRpc2FibGVkLiI7Ci0gICAgZWxzZQotICAgICAgICBvdXRwdXQudGV4dENvbnRl
bnQgPSAiUEFTUzogV2ViR1BVIHdhcyBub3QgYXZhaWxhYmxlIHdoZW4gZGlzYWJsZWQuIjsKLX0K
LQotd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBydW4sIGZhbHNlKTsKLQotPC9zY3Jp
cHQ+Ci08ZGl2IGlkPSJvdXRwdXQxIj48L2Rpdj4KLTxkaXYgaWQ9Im91dHB1dDIiPjwvZGl2Pgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9jYW52YXMvd2VibWV0YWwvd2VibWV0YWwtZGlz
cGF0Y2gtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9jYW52YXMvd2VibWV0YWwvd2Vi
bWV0YWwtZGlzcGF0Y2gtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdlZjIyZTlhNDMxYWQwMjcy
NzEzYjcxZmRjODc5NDAxNmM4ZWYxMmYKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9m
YXN0L2NhbnZhcy93ZWJtZXRhbC93ZWJtZXRhbC1kaXNwYXRjaC1leHBlY3RlZC50eHQKQEAgLTAs
MCArMSBAQAorUEFTUwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9jYW52YXMvd2VibWV0
YWwvd2VibWV0YWwtZGlzcGF0Y2guaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvY2FudmFzL3dlYm1l
dGFsL3dlYm1ldGFsLWRpc3BhdGNoLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYTlkMWVhNWJjZjFmYjQ3NmMw
YmQxYWZlMTBlMTRjMDk4NjA5MTEwMgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zh
c3QvY2FudmFzL3dlYm1ldGFsL3dlYm1ldGFsLWRpc3BhdGNoLmh0bWwKQEAgLTAsMCArMSw5NiBA
QAorPHNjcmlwdCBpZD0ic2NyaXB0IiB0eXBlPSJ4LXNoYWRlci94LW1ldGFsIj4KK3VzaW5nIG5h
bWVzcGFjZSBtZXRhbDsKKwora2VybmVsIHZvaWQgZ2V0X2tlcm5lbF9zaXplKGRldmljZSBpbnQg
KnJlc3VsdFtbYnVmZmVyKDApXV0sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMg
Z3JpZF9zaXplW1t0aHJlYWRncm91cHNfcGVyX2dyaWRdXSwKKyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICB1aW50MyBncm91cF9zaXplW1t0aHJlYWRzX3Blcl90aHJlYWRncm91cF1dLAorICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQzIGdpZFtbdGhyZWFkX3Bvc2l0aW9uX2luX2dy
aWRdXSkKK3sKKyAgICBpZiAoZ2lkLnggIT0gMCB8fCBnaWQueSAhPSAwIHx8IGdpZC56ICE9IDAp
IAorICAgICAgICByZXR1cm47CisKKyAgICByZXN1bHRbMF0gPSBncmlkX3NpemUueDsKKyAgICBy
ZXN1bHRbMV0gPSBncmlkX3NpemUueTsKKyAgICByZXN1bHRbMl0gPSBncmlkX3NpemUuejsKKyAg
ICByZXN1bHRbM10gPSBncm91cF9zaXplLng7CisgICAgcmVzdWx0WzRdID0gZ3JvdXBfc2l6ZS55
OworICAgIHJlc3VsdFs1XSA9IGdyb3VwX3NpemUuejsKK30KKzwvc2NyaXB0PgorCis8c2NyaXB0
PgoraWYgKHdpbmRvdy50ZXN0UnVubmVyKSB7CisgICAgd2luZG93LnRlc3RSdW5uZXIuZHVtcEFz
VGV4dCgpOworICAgIHdpbmRvdy50ZXN0UnVubmVyLndhaXRVbnRpbERvbmUoKTsKK30KKworZnVu
Y3Rpb24gYXNzZXJ0KGEpIHsKKyAgICBpZiAoIWEpIHsKKyAgICAgICAgdGhyb3cgbmV3IEVycm9y
KCdBc3NlcnRpb24gRmFpbGVkLicpOworICAgIH0KK30KKworZnVuY3Rpb24gcnVuKCkgeworICAg
IGxldCBvdXRwdXQgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgib3V0cHV0Iik7CisKKyAgICBp
ZiAoIXdpbmRvdy50ZXN0UnVubmVyKSB7CisgICAgICAgIG91dHB1dC50ZXh0Q29udGVudCA9ICJU
aGlzIHRlc3Qgb25seSBydW5zIGluc2lkZSBEUlQvV0tUUi4iOworICAgICAgICByZXR1cm47Cisg
ICAgfQorCisgICAgd2luZG93LmludGVybmFscy5zZXR0aW5ncy5zZXRXZWJNZXRhbEVuYWJsZWQo
dHJ1ZSk7CisgICAgbGV0IGdwdSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImNhbnZhcyIpLmdl
dENvbnRleHQoIndlYm1ldGFsIik7CisgICAgbGV0IGNvbW1hbmRRdWV1ZSA9IGdwdS5jcmVhdGVD
b21tYW5kUXVldWUoKTsKKworICAgIGxldCBsaWJyYXJ5ID0gZ3B1LmNyZWF0ZUxpYnJhcnkoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoInNjcmlwdCIpLnRleHQpOworICAgIGxldCBrZXJuZWxGdW5j
dGlvbiA9IGxpYnJhcnkuZnVuY3Rpb25XaXRoTmFtZSgiZ2V0X2tlcm5lbF9zaXplIik7CisgICAg
bGV0IHBpcGVsaW5lU3RhdGUgPSBncHUuY3JlYXRlQ29tcHV0ZVBpcGVsaW5lU3RhdGUoa2VybmVs
RnVuY3Rpb24pOworCisgICAgbGV0IHJlc3VsdEJ1ZmZlciA9IGdwdS5jcmVhdGVCdWZmZXIobmV3
IEludDMyQXJyYXkoNikpOworICAgIAorICAgIGxldCBjb21tYW5kQnVmZmVyID0gY29tbWFuZFF1
ZXVlLmNyZWF0ZUNvbW1hbmRCdWZmZXIoKTsKKyAgICBsZXQgY29tbWFuZEVuY29kZXIgPSBjb21t
YW5kQnVmZmVyLmNyZWF0ZUNvbXB1dGVDb21tYW5kRW5jb2RlcigpOworCisgICAgbGV0IGdyaWRT
aXplID0geworICAgICAgICB3aWR0aDogNywKKyAgICAgICAgaGVpZ2h0OiA2LAorICAgICAgICBk
ZXB0aDogNQorICAgIH07CisgICAgbGV0IGdyb3VwU2l6ZSA9IHsKKyAgICAgICAgd2lkdGg6IDQs
CisgICAgICAgIGhlaWdodDogMywKKyAgICAgICAgZGVwdGg6IDIKKyAgICB9OworICAgIAorICAg
IGNvbW1hbmRFbmNvZGVyLnNldENvbXB1dGVQaXBlbGluZVN0YXRlKHBpcGVsaW5lU3RhdGUpOwor
ICAgIGNvbW1hbmRFbmNvZGVyLnNldEJ1ZmZlcihyZXN1bHRCdWZmZXIsIDAsIDApOworICAgIGNv
bW1hbmRFbmNvZGVyLmRpc3BhdGNoKGdyaWRTaXplLCBncm91cFNpemUpOworICAgIGNvbW1hbmRF
bmNvZGVyLmVuZEVuY29kaW5nKCk7CisKKyAgICBjb21tYW5kQnVmZmVyLmNvbXBsZXRlZC50aGVu
KCgpID0+IHsKKyAgICAgICAgbGV0IHJlc3VsdCA9IG5ldyBJbnQzMkFycmF5KHJlc3VsdEJ1ZmZl
ci5jb250ZW50cyk7CisKKyAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgIGFzc2VydChyZXN1bHRb
MF0gPT09IGdyaWRTaXplLndpZHRoKTsKKyAgICAgICAgICAgIGFzc2VydChyZXN1bHRbMV0gPT09
IGdyaWRTaXplLmhlaWdodCk7CisgICAgICAgICAgICBhc3NlcnQocmVzdWx0WzJdID09PSBncmlk
U2l6ZS5kZXB0aCk7CisgICAgICAgICAgICBhc3NlcnQocmVzdWx0WzNdID09PSBncm91cFNpemUu
d2lkdGgpOworICAgICAgICAgICAgYXNzZXJ0KHJlc3VsdFs0XSA9PT0gZ3JvdXBTaXplLmhlaWdo
dCk7CisgICAgICAgICAgICBhc3NlcnQocmVzdWx0WzVdID09PSBncm91cFNpemUuZGVwdGgpOwor
CisgICAgICAgIH0gY2F0Y2goZXJyKSB7CisgICAgICAgICAgICBvdXRwdXQudGV4dENvbnRlbnQg
PSBgRkFJTDogJHtlcnIubWVzc2FnZX1gOworICAgICAgICAgICAgcmV0dXJuOworICAgICAgICB9
CisKKyAgICAgICAgb3V0cHV0LnRleHRDb250ZW50ID0gJ1BBU1MnOworICAgICAgICB3aW5kb3cu
dGVzdFJ1bm5lci5ub3RpZnlEb25lKCk7CisgICAgfSk7CisKKyAgICBjb21tYW5kQnVmZmVyLmNv
bW1pdCgpOworfQorCit3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIHJ1biwgZmFsc2Up
OworCis8L3NjcmlwdD4KKzxkaXYgaWQ9Im91dHB1dCI+PC9kaXY+CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9mYXN0L2NhbnZhcy93ZWJtZXRhbC93ZWJtZXRhbC1ydW50aW1lLWZsYWctZXhwZWN0
ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9jYW52YXMvd2VibWV0YWwvd2VibWV0YWwtcnVudGlt
ZS1mbGFnLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5kZjM5MDFhYzJjZmJlM2UwOGJlMzNhZDQy
NWQ4ZWNlOGUwZDk3Mzg3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9jYW52
YXMvd2VibWV0YWwvd2VibWV0YWwtcnVudGltZS1mbGFnLWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDIgQEAKK1BBU1M6IFdlYk1ldGFsIHdhcyBhdmFpbGFibGUgd2hlbiBlbmFibGVkLgorUEFTUzog
V2ViTWV0YWwgd2FzIG5vdCBhdmFpbGFibGUgd2hlbiBkaXNhYmxlZC4KZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2Zhc3QvY2FudmFzL3dlYm1ldGFsL3dlYm1ldGFsLXJ1bnRpbWUtZmxhZy5odG1s
IGIvTGF5b3V0VGVzdHMvZmFzdC9jYW52YXMvd2VibWV0YWwvd2VibWV0YWwtcnVudGltZS1mbGFn
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uMTJjMDJiMTA4ZjczYTM5NDQ5MzcwMzhlNDgzMjVlZTFmMmUzZmY3
OQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvY2FudmFzL3dlYm1ldGFsL3dl
Ym1ldGFsLXJ1bnRpbWUtZmxhZy5odG1sCkBAIC0wLDAgKzEsNDIgQEAKKzxzY3JpcHQ+CisKK2lm
ICh3aW5kb3cudGVzdFJ1bm5lcikKKyAgICB3aW5kb3cudGVzdFJ1bm5lci5kdW1wQXNUZXh0KCk7
CisKK2Z1bmN0aW9uIGdldENvbnRleHQobmFtZSkgeworICAgIHZhciBjID0gZG9jdW1lbnQuY3Jl
YXRlRWxlbWVudCgiY2FudmFzIik7CisgICAgcmV0dXJuIGMuZ2V0Q29udGV4dChuYW1lKTsKK30K
KworZnVuY3Rpb24gcnVuKCkgeworICAgIHZhciBvdXRwdXQ7CisKKyAgICBvdXRwdXQgPSBkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgib3V0cHV0MSIpOworCisgICAgaWYgKCF3aW5kb3cudGVzdFJ1
bm5lcikgeworICAgICAgICBvdXRwdXQudGV4dENvbnRlbnQgPSAiVGhpcyB0ZXN0IG9ubHkgcnVu
cyBpbnNpZGUgRFJUL1dLVFIuIjsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKworICAgIHdpbmRv
dy5pbnRlcm5hbHMuc2V0dGluZ3Muc2V0V2ViTWV0YWxFbmFibGVkKHRydWUpOworICAgIHZhciBj
dHggPSBnZXRDb250ZXh0KCJ3ZWJtZXRhbCIpOworICAgIGlmIChjdHgpCisgICAgICAgIG91dHB1
dC50ZXh0Q29udGVudCA9ICJQQVNTOiBXZWJNZXRhbCB3YXMgYXZhaWxhYmxlIHdoZW4gZW5hYmxl
ZC4iOworICAgIGVsc2UKKyAgICAgICAgb3V0cHV0LnRleHRDb250ZW50ID0gIkZBSUw6IFdlYk1l
dGFsIHdhcyBub3QgYXZhaWxhYmxlIHdoZW4gZW5hYmxlZC4iOworCisgICAgb3V0cHV0ID0gZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoIm91dHB1dDIiKTsKKworICAgIHdpbmRvdy5pbnRlcm5hbHMu
c2V0dGluZ3Muc2V0V2ViTWV0YWxFbmFibGVkKGZhbHNlKTsKKyAgICB2YXIgY3R4ID0gZ2V0Q29u
dGV4dCgid2VibWV0YWwiKTsKKyAgICBpZiAoY3R4KQorICAgICAgICBvdXRwdXQudGV4dENvbnRl
bnQgPSAiRkFJTDogV2ViTWV0YWwgd2FzIGF2YWlsYWJsZSB3aGVuIGRpc2FibGVkLiI7CisgICAg
ZWxzZQorICAgICAgICBvdXRwdXQudGV4dENvbnRlbnQgPSAiUEFTUzogV2ViTWV0YWwgd2FzIG5v
dCBhdmFpbGFibGUgd2hlbiBkaXNhYmxlZC4iOworfQorCit3aW5kb3cuYWRkRXZlbnRMaXN0ZW5l
cigibG9hZCIsIHJ1biwgZmFsc2UpOworCis8L3NjcmlwdD4KKzxkaXYgaWQ9Im91dHB1dDEiPjwv
ZGl2PgorPGRpdiBpZD0ib3V0cHV0MiI+PC9kaXY+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9p
bnNwZWN0b3IvY2FudmFzL2NyZWF0ZS1jb250ZXh0LXdlYmdwdS1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9pbnNwZWN0b3IvY2FudmFzL2NyZWF0ZS1jb250ZXh0LXdlYmdwdS1leHBlY3RlZC50
eHQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDg0NDNjZTUxOTUzZDE1NTNkNDAwYmM5
ZTZmMjEyZWE1NGY3MGY2MWMuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAKLS0tIGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2NhbnZhcy9jcmVhdGUtY29udGV4dC13ZWJn
cHUtZXhwZWN0ZWQudHh0CisrKyAvZGV2L251bGwKQEAgLTEsNDEgKzAsMCBAQAotVGVzdCB0aGF0
IENhbnZhc01hbmFnZXIgdHJhY2tzIGNyZWF0aW9uIGFuZCBkZXN0cnVjdGlvbiBvZiBXZWJHUFUg
Y2FudmFzZXMuCi0KLQotPT0gUnVubmluZyB0ZXN0IHN1aXRlOiBDYW52YXMuQ3JlYXRlQ29udGV4
dFdlYkdQVQotLS0gUnVubmluZyB0ZXN0IGNhc2U6IENhbnZhcy5DcmVhdGVDb250ZXh0V2ViR1BV
Lk5vQ2FudmFzZXMKLVBBU1M6IENhbnZhc01hbmFnZXIgc2hvdWxkIGhhdmUgbm8gY2FudmFzZXMu
Ci0KLS0tIFJ1bm5pbmcgdGVzdCBjYXNlOiBDYW52YXMuQ3JlYXRlQ29udGV4dFdlYkdQVS5BdHRh
Y2hlZAotUEFTUzogQ2FudmFzIGNvbnRleHQgc2hvdWxkIGJlIFdlYkdQVS4KLSAgMDogZ2V0Q29u
dGV4dCAtIFtuYXRpdmUgY29kZV0KLSAgMTogY3JlYXRlQXR0YWNoZWRDYW52YXMgLSBpbnNwZWN0
b3IvY2FudmFzL3Jlc291cmNlcy9jcmVhdGUtY29udGV4dC11dGlsaXRpZXMuanM6NDozNgotICAy
OiBHbG9iYWwgQ29kZSAtIFtwcm9ncmFtIGNvZGVdCi0gIDM6IGV2YWx1YXRlV2l0aFNjb3BlRXh0
ZW5zaW9uIC0gW25hdGl2ZSBjb2RlXQotICA0OiBfZXZhbHVhdGVPbiAtIFtuYXRpdmUgY29kZV0K
LSAgNTogX2V2YWx1YXRlQW5kV3JhcCAtIFtuYXRpdmUgY29kZV0KLQotUEFTUzogUmVtb3ZlZCBj
YW52YXMgaGFzIGV4cGVjdGVkIElELgotCi0tLSBSdW5uaW5nIHRlc3QgY2FzZTogQ2FudmFzLkNy
ZWF0ZUNvbnRleHRXZWJHUFUuRGV0YWNoZWQKLVBBU1M6IENhbnZhcyBjb250ZXh0IHNob3VsZCBi
ZSBXZWJHUFUuCi0gIDA6IGdldENvbnRleHQgLSBbbmF0aXZlIGNvZGVdCi0gIDE6IGNyZWF0ZURl
dGFjaGVkQ2FudmFzIC0gaW5zcGVjdG9yL2NhbnZhcy9yZXNvdXJjZXMvY3JlYXRlLWNvbnRleHQt
dXRpbGl0aWVzLmpzOjg6NjIKLSAgMjogR2xvYmFsIENvZGUgLSBbcHJvZ3JhbSBjb2RlXQotICAz
OiBldmFsdWF0ZVdpdGhTY29wZUV4dGVuc2lvbiAtIFtuYXRpdmUgY29kZV0KLSAgNDogX2V2YWx1
YXRlT24gLSBbbmF0aXZlIGNvZGVdCi0gIDU6IF9ldmFsdWF0ZUFuZFdyYXAgLSBbbmF0aXZlIGNv
ZGVdCi0KLVBBU1M6IFJlbW92ZWQgY2FudmFzIGhhcyBleHBlY3RlZCBJRC4KLQotLS0gUnVubmlu
ZyB0ZXN0IGNhc2U6IENhbnZhcy5DcmVhdGVDb250ZXh0V2ViR1BVLkNTU0NhbnZhcwotQ3JlYXRl
IENTUyBjYW52YXMgZnJvbSAtd2Via2l0LWNhbnZhcyhjc3MtY2FudmFzKS4KLVBBU1M6IENhbnZh
cyBjb250ZXh0IHNob3VsZCBiZSBXZWJHUFUuCi0gIDA6IGdldENTU0NhbnZhc0NvbnRleHQgLSBb
bmF0aXZlIGNvZGVdCi0gIDE6IGNyZWF0ZUNTU0NhbnZhcyAtIGluc3BlY3Rvci9jYW52YXMvcmVz
b3VyY2VzL2NyZWF0ZS1jb250ZXh0LXV0aWxpdGllcy5qczoxMjo0NwotICAyOiBHbG9iYWwgQ29k
ZSAtIFtwcm9ncmFtIGNvZGVdCi0gIDM6IGV2YWx1YXRlV2l0aFNjb3BlRXh0ZW5zaW9uIC0gW25h
dGl2ZSBjb2RlXQotICA0OiBfZXZhbHVhdGVPbiAtIFtuYXRpdmUgY29kZV0KLSAgNTogX2V2YWx1
YXRlQW5kV3JhcCAtIFtuYXRpdmUgY29kZV0KLQotUEFTUzogQ2FudmFzIG5hbWUgc2hvdWxkIGVx
dWFsIHRoZSBpZGVudGlmaWVyIHBhc3NlZCB0byAtd2Via2l0LWNhbnZhcy4KLQpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2NhbnZhcy9jcmVhdGUtY29udGV4dC13ZWJncHUuaHRt
bCBiL0xheW91dFRlc3RzL2luc3BlY3Rvci9jYW52YXMvY3JlYXRlLWNvbnRleHQtd2ViZ3B1Lmh0
bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDVhMzk2Yjc1OTMzMjBjOWNhMzdlYTFm
NDliYTY0YzhlY2YzYmQ5N2YuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAKLS0tIGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2NhbnZhcy9jcmVhdGUtY29udGV4dC13ZWJn
cHUuaHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDM1ICswLDAgQEAKLTwhRE9DVFlQRSBodG1sPgot
PGh0bWw+Ci08aGVhZD4KLTxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0icmVzb3VyY2VzL2Ny
ZWF0ZS1jb250ZXh0LXV0aWxpdGllcy5jc3MiPgotPHNjcmlwdCBzcmM9Ii4uLy4uL2h0dHAvdGVz
dHMvaW5zcGVjdG9yL3Jlc291cmNlcy9pbnNwZWN0b3ItdGVzdC5qcyI+PC9zY3JpcHQ+Ci08c2Ny
aXB0IHNyYz0icmVzb3VyY2VzL2NyZWF0ZS1jb250ZXh0LXV0aWxpdGllcy5qcyI+PC9zY3JpcHQ+
Ci08c2NyaXB0PgotaWYgKHdpbmRvdy5pbnRlcm5hbHMpCi0gICAgd2luZG93LmludGVybmFscy5z
ZXR0aW5ncy5zZXRXZWJHUFVFbmFibGVkKHRydWUpOwotCi1mdW5jdGlvbiB0ZXN0KCkgewotICAg
IGxldCBzdWl0ZSA9IGluaXRpYWxpemVUZXN0U3VpdGUoIkNhbnZhcy5DcmVhdGVDb250ZXh0V2Vi
R1BVIik7Ci0KLSAgICBhZGRTaW1wbGVUZXN0Q2FzZSh7Ci0gICAgICAgIG5hbWU6ICJBdHRhY2hl
ZCIsCi0gICAgICAgIGV4cHJlc3Npb246IGBjcmVhdGVBdHRhY2hlZENhbnZhcygid2ViZ3B1Iilg
LAotICAgICAgICBjb250ZXh0VHlwZTogV0kuQ2FudmFzLkNvbnRleHRUeXBlLldlYkdQVSwKLSAg
ICB9KTsKLQotICAgIGFkZFNpbXBsZVRlc3RDYXNlKHsKLSAgICAgICAgbmFtZTogIkRldGFjaGVk
IiwKLSAgICAgICAgZXhwcmVzc2lvbjogYGNyZWF0ZURldGFjaGVkQ2FudmFzKCJ3ZWJncHUiKWAs
Ci0gICAgICAgIGNvbnRleHRUeXBlOiBXSS5DYW52YXMuQ29udGV4dFR5cGUuV2ViR1BVLAotICAg
IH0pOwotCi0gICAgYWRkQ1NTQ2FudmFzVGVzdENhc2UoV0kuQ2FudmFzLkNvbnRleHRUeXBlLldl
YkdQVSk7Ci0KLSAgICBzdWl0ZS5ydW5UZXN0Q2FzZXNBbmRGaW5pc2goKTsKLX0KLTwvc2NyaXB0
PgotPC9oZWFkPgotPGJvZHkgb25sb2FkPSJydW5UZXN0KCkiPgotICAgIDxwPlRlc3QgdGhhdCBD
YW52YXNNYW5hZ2VyIHRyYWNrcyBjcmVhdGlvbiBhbmQgZGVzdHJ1Y3Rpb24gb2YgV2ViR1BVIGNh
bnZhc2VzLjwvcD4KLTwvYm9keT4KLTwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2lu
c3BlY3Rvci9jYW52YXMvY3JlYXRlLWNvbnRleHQtd2VibWV0YWwtZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvaW5zcGVjdG9yL2NhbnZhcy9jcmVhdGUtY29udGV4dC13ZWJtZXRhbC1leHBlY3Rl
ZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uNDUzNDcxOWMyOTZmOTAwNTFiYzBmNDhkM2IwNDZkMzViOTZlMDg5
ZgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2luc3BlY3Rvci9jYW52YXMvY3JlYXRl
LWNvbnRleHQtd2VibWV0YWwtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsNDEgQEAKK1Rlc3QgdGhh
dCBDYW52YXNNYW5hZ2VyIHRyYWNrcyBjcmVhdGlvbiBhbmQgZGVzdHJ1Y3Rpb24gb2YgV2ViTWV0
YWwgY2FudmFzZXMuCisKKworPT0gUnVubmluZyB0ZXN0IHN1aXRlOiBDYW52YXMuQ3JlYXRlQ29u
dGV4dFdlYk1ldGFsCistLSBSdW5uaW5nIHRlc3QgY2FzZTogQ2FudmFzLkNyZWF0ZUNvbnRleHRX
ZWJNZXRhbC5Ob0NhbnZhc2VzCitQQVNTOiBDYW52YXNNYW5hZ2VyIHNob3VsZCBoYXZlIG5vIGNh
bnZhc2VzLgorCistLSBSdW5uaW5nIHRlc3QgY2FzZTogQ2FudmFzLkNyZWF0ZUNvbnRleHRXZWJN
ZXRhbC5BdHRhY2hlZAorUEFTUzogQ2FudmFzIGNvbnRleHQgc2hvdWxkIGJlIFdlYk1ldGFsLgor
ICAwOiBnZXRDb250ZXh0IC0gW25hdGl2ZSBjb2RlXQorICAxOiBjcmVhdGVBdHRhY2hlZENhbnZh
cyAtIGluc3BlY3Rvci9jYW52YXMvcmVzb3VyY2VzL2NyZWF0ZS1jb250ZXh0LXV0aWxpdGllcy5q
czo0OjM2CisgIDI6IEdsb2JhbCBDb2RlIC0gW3Byb2dyYW0gY29kZV0KKyAgMzogZXZhbHVhdGVX
aXRoU2NvcGVFeHRlbnNpb24gLSBbbmF0aXZlIGNvZGVdCisgIDQ6IF9ldmFsdWF0ZU9uIC0gW25h
dGl2ZSBjb2RlXQorICA1OiBfZXZhbHVhdGVBbmRXcmFwIC0gW25hdGl2ZSBjb2RlXQorCitQQVNT
OiBSZW1vdmVkIGNhbnZhcyBoYXMgZXhwZWN0ZWQgSUQuCisKKy0tIFJ1bm5pbmcgdGVzdCBjYXNl
OiBDYW52YXMuQ3JlYXRlQ29udGV4dFdlYk1ldGFsLkRldGFjaGVkCitQQVNTOiBDYW52YXMgY29u
dGV4dCBzaG91bGQgYmUgV2ViTWV0YWwuCisgIDA6IGdldENvbnRleHQgLSBbbmF0aXZlIGNvZGVd
CisgIDE6IGNyZWF0ZURldGFjaGVkQ2FudmFzIC0gaW5zcGVjdG9yL2NhbnZhcy9yZXNvdXJjZXMv
Y3JlYXRlLWNvbnRleHQtdXRpbGl0aWVzLmpzOjg6NjIKKyAgMjogR2xvYmFsIENvZGUgLSBbcHJv
Z3JhbSBjb2RlXQorICAzOiBldmFsdWF0ZVdpdGhTY29wZUV4dGVuc2lvbiAtIFtuYXRpdmUgY29k
ZV0KKyAgNDogX2V2YWx1YXRlT24gLSBbbmF0aXZlIGNvZGVdCisgIDU6IF9ldmFsdWF0ZUFuZFdy
YXAgLSBbbmF0aXZlIGNvZGVdCisKK1BBU1M6IFJlbW92ZWQgY2FudmFzIGhhcyBleHBlY3RlZCBJ
RC4KKworLS0gUnVubmluZyB0ZXN0IGNhc2U6IENhbnZhcy5DcmVhdGVDb250ZXh0V2ViTWV0YWwu
Q1NTQ2FudmFzCitDcmVhdGUgQ1NTIGNhbnZhcyBmcm9tIC13ZWJraXQtY2FudmFzKGNzcy1jYW52
YXMpLgorUEFTUzogQ2FudmFzIGNvbnRleHQgc2hvdWxkIGJlIFdlYk1ldGFsLgorICAwOiBnZXRD
U1NDYW52YXNDb250ZXh0IC0gW25hdGl2ZSBjb2RlXQorICAxOiBjcmVhdGVDU1NDYW52YXMgLSBp
bnNwZWN0b3IvY2FudmFzL3Jlc291cmNlcy9jcmVhdGUtY29udGV4dC11dGlsaXRpZXMuanM6MTI6
NDcKKyAgMjogR2xvYmFsIENvZGUgLSBbcHJvZ3JhbSBjb2RlXQorICAzOiBldmFsdWF0ZVdpdGhT
Y29wZUV4dGVuc2lvbiAtIFtuYXRpdmUgY29kZV0KKyAgNDogX2V2YWx1YXRlT24gLSBbbmF0aXZl
IGNvZGVdCisgIDU6IF9ldmFsdWF0ZUFuZFdyYXAgLSBbbmF0aXZlIGNvZGVdCisKK1BBU1M6IENh
bnZhcyBuYW1lIHNob3VsZCBlcXVhbCB0aGUgaWRlbnRpZmllciBwYXNzZWQgdG8gLXdlYmtpdC1j
YW52YXMuCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci9jYW52YXMvY3JlYXRl
LWNvbnRleHQtd2VibWV0YWwuaHRtbCBiL0xheW91dFRlc3RzL2luc3BlY3Rvci9jYW52YXMvY3Jl
YXRlLWNvbnRleHQtd2VibWV0YWwuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44ZTZlNWZjZDFkNmE4YmRhY2Zj
ZDM5NzQ1OWMwMWQ0NzdiOGQ1MjQ4Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW5z
cGVjdG9yL2NhbnZhcy9jcmVhdGUtY29udGV4dC13ZWJtZXRhbC5odG1sCkBAIC0wLDAgKzEsMzUg
QEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxsaW5rIHJlbD0ic3R5bGVzaGVl
dCIgaHJlZj0icmVzb3VyY2VzL2NyZWF0ZS1jb250ZXh0LXV0aWxpdGllcy5jc3MiPgorPHNjcmlw
dCBzcmM9Ii4uLy4uL2h0dHAvdGVzdHMvaW5zcGVjdG9yL3Jlc291cmNlcy9pbnNwZWN0b3ItdGVz
dC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0icmVzb3VyY2VzL2NyZWF0ZS1jb250ZXh0LXV0
aWxpdGllcy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0PgoraWYgKHdpbmRvdy5pbnRlcm5hbHMpCisg
ICAgd2luZG93LmludGVybmFscy5zZXR0aW5ncy5zZXRXZWJNZXRhbEVuYWJsZWQodHJ1ZSk7CisK
K2Z1bmN0aW9uIHRlc3QoKSB7CisgICAgbGV0IHN1aXRlID0gaW5pdGlhbGl6ZVRlc3RTdWl0ZSgi
Q2FudmFzLkNyZWF0ZUNvbnRleHRXZWJNZXRhbCIpOworCisgICAgYWRkU2ltcGxlVGVzdENhc2Uo
eworICAgICAgICBuYW1lOiAiQXR0YWNoZWQiLAorICAgICAgICBleHByZXNzaW9uOiBgY3JlYXRl
QXR0YWNoZWRDYW52YXMoIndlYm1ldGFsIilgLAorICAgICAgICBjb250ZXh0VHlwZTogV0kuQ2Fu
dmFzLkNvbnRleHRUeXBlLldlYk1ldGFsLAorICAgIH0pOworCisgICAgYWRkU2ltcGxlVGVzdENh
c2UoeworICAgICAgICBuYW1lOiAiRGV0YWNoZWQiLAorICAgICAgICBleHByZXNzaW9uOiBgY3Jl
YXRlRGV0YWNoZWRDYW52YXMoIndlYm1ldGFsIilgLAorICAgICAgICBjb250ZXh0VHlwZTogV0ku
Q2FudmFzLkNvbnRleHRUeXBlLldlYk1ldGFsLAorICAgIH0pOworCisgICAgYWRkQ1NTQ2FudmFz
VGVzdENhc2UoV0kuQ2FudmFzLkNvbnRleHRUeXBlLldlYk1ldGFsOworCisgICAgc3VpdGUucnVu
VGVzdENhc2VzQW5kRmluaXNoKCk7Cit9Cis8L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5IG9ubG9h
ZD0icnVuVGVzdCgpIj4KKyAgICA8cD5UZXN0IHRoYXQgQ2FudmFzTWFuYWdlciB0cmFja3MgY3Jl
YXRpb24gYW5kIGRlc3RydWN0aW9uIG9mIFdlYk1ldGFsIGNhbnZhc2VzLjwvcD4KKzwvYm9keT4K
KzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci9jYW52YXMvcmVzb2x2
ZUNhbnZhc0NvbnRleHQtd2ViZ3B1LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2luc3BlY3Rv
ci9jYW52YXMvcmVzb2x2ZUNhbnZhc0NvbnRleHQtd2ViZ3B1LWV4cGVjdGVkLnR4dApkZWxldGVk
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZGQ0YjNlM2VkYTU2NWQ1ZTczNDM3ZGVjN2I1ODQzOGYw
YzgxOWMyNi4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9M
YXlvdXRUZXN0cy9pbnNwZWN0b3IvY2FudmFzL3Jlc29sdmVDYW52YXNDb250ZXh0LXdlYmdwdS1l
eHBlY3RlZC50eHQKKysrIC9kZXYvbnVsbApAQCAtMSw4ICswLDAgQEAKLVRlc3RzIGZvciB0aGUg
Q2FudmFzLnJlc29sdmVDYW52YXNDb250ZXh0IGNvbW1hbmQgZm9yIFdlYkdQVSBjb250ZXh0cy4K
LQotCi09PSBSdW5uaW5nIHRlc3Qgc3VpdGU6IENhbnZhcy5yZXNvbHZlQ2FudmFzQ29udGV4dFdl
YkdQVQotLS0gUnVubmluZyB0ZXN0IGNhc2U6IENhbnZhcy5yZXNvbHZlQ2FudmFzQ29udGV4dFdl
YkdQVS52YWxpZElkZW50aWZpZXIKLVBBU1M6IFBheWxvYWQgc2hvdWxkIGhhdmUgdHlwZSAib2Jq
ZWN0Ii4KLVBBU1M6IFBheWxvYWQgc2hvdWxkIGhhdmUgY2xhc3NOYW1lICJXZWJHUFVSZW5kZXJp
bmdDb250ZXh0Ii4KLQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2NhbnZhcy9y
ZXNvbHZlQ2FudmFzQ29udGV4dC13ZWJncHUuaHRtbCBiL0xheW91dFRlc3RzL2luc3BlY3Rvci9j
YW52YXMvcmVzb2x2ZUNhbnZhc0NvbnRleHQtd2ViZ3B1Lmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDFiMDg4NmY0Yzg2YmNkYmM4MDZmNzZkMzkzZTUwZGUwOTg3Zjc2YjkuLjAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMv
aW5zcGVjdG9yL2NhbnZhcy9yZXNvbHZlQ2FudmFzQ29udGV4dC13ZWJncHUuaHRtbAorKysgL2Rl
di9udWxsCkBAIC0xLDQ2ICswLDAgQEAKLTwhRE9DVFlQRSBodG1sPgotPGh0bWw+Ci08aGVhZD4K
LTxzY3JpcHQgc3JjPSIuLi8uLi9odHRwL3Rlc3RzL2luc3BlY3Rvci9yZXNvdXJjZXMvaW5zcGVj
dG9yLXRlc3QuanMiPjwvc2NyaXB0PgotPHNjcmlwdD4KLWlmICh3aW5kb3cuaW50ZXJuYWxzKQot
ICAgIHdpbmRvdy5pbnRlcm5hbHMuc2V0dGluZ3Muc2V0V2ViR1BVRW5hYmxlZCh0cnVlKTsKLQot
ZnVuY3Rpb24gbG9hZCgpIHsKLSAgICB3aW5kb3cuY29udGV4dFdlYkdQVSA9IGRvY3VtZW50LmJv
ZHkuYXBwZW5kQ2hpbGQoZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiY2FudmFzIikpLmdldENvbnRl
eHQoIndlYmdwdSIpOwotCi0gICAgcnVuVGVzdCgpOwotfQotCi1mdW5jdGlvbiB0ZXN0KCkKLXsK
LSAgICBsZXQgc3VpdGUgPSBJbnNwZWN0b3JUZXN0LmNyZWF0ZUFzeW5jU3VpdGUoIkNhbnZhcy5y
ZXNvbHZlQ2FudmFzQ29udGV4dFdlYkdQVSIpOwotCi0gICAgc3VpdGUuYWRkVGVzdENhc2Uoewot
ICAgICAgICBuYW1lOiBgQ2FudmFzLnJlc29sdmVDYW52YXNDb250ZXh0V2ViR1BVLnZhbGlkSWRl
bnRpZmllcmAsCi0gICAgICAgIGRlc2NyaXB0aW9uOiAiU2hvdWxkIHJldHVybiBhIHZhbGlkIG9i
amVjdCBmb3IgdGhlIGdpdmVuIGNhbnZhcyBpZGVudGlmaWVyLiIsCi0gICAgICAgIHRlc3QocmVz
b2x2ZSwgcmVqZWN0KSB7Ci0gICAgICAgICAgICBsZXQgY2FudmFzID0gV0kuY2FudmFzTWFuYWdl
ci5jYW52YXNlcy5maW5kKChjYW52YXMpID0+IGNhbnZhcy5jb250ZXh0VHlwZSA9PT0gV0kuQ2Fu
dmFzLkNvbnRleHRUeXBlLldlYkdQVSk7Ci0gICAgICAgICAgICBpZiAoIWNhbnZhcykgewotICAg
ICAgICAgICAgICAgIHJlamVjdChgTWlzc2luZyBDYW52YXMuYCk7Ci0gICAgICAgICAgICAgICAg
cmV0dXJuOwotICAgICAgICAgICAgfQotCi0gICAgICAgICAgICBjb25zdCBvYmplY3RHcm91cCA9
ICJ0ZXN0IjsKLSAgICAgICAgICAgIENhbnZhc0FnZW50LnJlc29sdmVDYW52YXNDb250ZXh0KGNh
bnZhcy5pZGVudGlmaWVyLCBvYmplY3RHcm91cCkKLSAgICAgICAgICAgIC50aGVuKCh7b2JqZWN0
fSkgPT4gewotICAgICAgICAgICAgICAgIEluc3BlY3RvclRlc3QuZXhwZWN0RXF1YWwob2JqZWN0
LnR5cGUsICJvYmplY3QiLCBgUGF5bG9hZCBzaG91bGQgaGF2ZSB0eXBlICJvYmplY3QiLmApOwot
ICAgICAgICAgICAgICAgIEluc3BlY3RvclRlc3QuZXhwZWN0RXF1YWwob2JqZWN0LmNsYXNzTmFt
ZSwgIldlYkdQVVJlbmRlcmluZ0NvbnRleHQiLCBgUGF5bG9hZCBzaG91bGQgaGF2ZSBjbGFzc05h
bWUgIldlYkdQVVJlbmRlcmluZ0NvbnRleHQiLmApOwotICAgICAgICAgICAgfSkKLSAgICAgICAg
ICAgIC50aGVuKHJlc29sdmUsIHJlamVjdCk7Ci0gICAgICAgIH0KLSAgICB9KTsKLQotICAgIHN1
aXRlLnJ1blRlc3RDYXNlc0FuZEZpbmlzaCgpOwotfQotPC9zY3JpcHQ+Ci08L2hlYWQ+Ci08Ym9k
eSBvbmxvYWQ9ImxvYWQoKSI+Ci0gICAgPHA+VGVzdHMgZm9yIHRoZSBDYW52YXMucmVzb2x2ZUNh
bnZhc0NvbnRleHQgY29tbWFuZCBmb3IgV2ViR1BVIGNvbnRleHRzLjwvcD4KLTwvYm9keT4KLTwv
aHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci9jYW52YXMvcmVzb2x2ZUNh
bnZhc0NvbnRleHQtd2VibWV0YWwtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9y
L2NhbnZhcy9yZXNvbHZlQ2FudmFzQ29udGV4dC13ZWJtZXRhbC1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uYmViZjJkN2VmOTJhYjM0NTY5MGQ1NmNjZWU5MDg0YWUzNTJlM2ZlNwotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2luc3BlY3Rvci9jYW52YXMvcmVzb2x2ZUNhbnZhc0NvbnRl
eHQtd2VibWV0YWwtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsOCBAQAorVGVzdHMgZm9yIHRoZSBD
YW52YXMucmVzb2x2ZUNhbnZhc0NvbnRleHQgY29tbWFuZCBmb3IgV2ViTWV0YWwgY29udGV4dHMu
CisKKworPT0gUnVubmluZyB0ZXN0IHN1aXRlOiBDYW52YXMucmVzb2x2ZUNhbnZhc0NvbnRleHRX
ZWJNZXRhbAorLS0gUnVubmluZyB0ZXN0IGNhc2U6IENhbnZhcy5yZXNvbHZlQ2FudmFzQ29udGV4
dFdlYk1ldGFsLnZhbGlkSWRlbnRpZmllcgorUEFTUzogUGF5bG9hZCBzaG91bGQgaGF2ZSB0eXBl
ICJvYmplY3QiLgorUEFTUzogUGF5bG9hZCBzaG91bGQgaGF2ZSBjbGFzc05hbWUgIldlYk1ldGFs
UmVuZGVyaW5nQ29udGV4dCIuCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci9j
YW52YXMvcmVzb2x2ZUNhbnZhc0NvbnRleHQtd2VibWV0YWwuaHRtbCBiL0xheW91dFRlc3RzL2lu
c3BlY3Rvci9jYW52YXMvcmVzb2x2ZUNhbnZhc0NvbnRleHQtd2VibWV0YWwuaHRtbApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi40NTY2NDk1YjNhNTkzYWQyMDVhN2QxNzQ3YzUxNDA0ZmVlNmViMWNhCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2NhbnZhcy9yZXNvbHZlQ2FudmFzQ29udGV4
dC13ZWJtZXRhbC5odG1sCkBAIC0wLDAgKzEsNDYgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+
Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9odHRwL3Rlc3RzL2luc3BlY3Rvci9yZXNvdXJj
ZXMvaW5zcGVjdG9yLXRlc3QuanMiPjwvc2NyaXB0PgorPHNjcmlwdD4KK2lmICh3aW5kb3cuaW50
ZXJuYWxzKQorICAgIHdpbmRvdy5pbnRlcm5hbHMuc2V0dGluZ3Muc2V0V2ViTWV0YWxFbmFibGVk
KHRydWUpOworCitmdW5jdGlvbiBsb2FkKCkgeworICAgIHdpbmRvdy5jb250ZXh0V2ViTWV0YWwg
PSBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImNhbnZh
cyIpKS5nZXRDb250ZXh0KCJ3ZWJtZXRhbCIpOworCisgICAgcnVuVGVzdCgpOworfQorCitmdW5j
dGlvbiB0ZXN0KCkKK3sKKyAgICBsZXQgc3VpdGUgPSBJbnNwZWN0b3JUZXN0LmNyZWF0ZUFzeW5j
U3VpdGUoIkNhbnZhcy5yZXNvbHZlQ2FudmFzQ29udGV4dFdlYk1ldGFsIik7CisKKyAgICBzdWl0
ZS5hZGRUZXN0Q2FzZSh7CisgICAgICAgIG5hbWU6IGBDYW52YXMucmVzb2x2ZUNhbnZhc0NvbnRl
eHRXZWJNZXRhbC52YWxpZElkZW50aWZpZXJgLAorICAgICAgICBkZXNjcmlwdGlvbjogIlNob3Vs
ZCByZXR1cm4gYSB2YWxpZCBvYmplY3QgZm9yIHRoZSBnaXZlbiBjYW52YXMgaWRlbnRpZmllci4i
LAorICAgICAgICB0ZXN0KHJlc29sdmUsIHJlamVjdCkgeworICAgICAgICAgICAgbGV0IGNhbnZh
cyA9IFdJLmNhbnZhc01hbmFnZXIuY2FudmFzZXMuZmluZCgoY2FudmFzKSA9PiBjYW52YXMuY29u
dGV4dFR5cGUgPT09IFdJLkNhbnZhcy5Db250ZXh0VHlwZS5XZWJNZXRhbCk7CisgICAgICAgICAg
ICBpZiAoIWNhbnZhcykgeworICAgICAgICAgICAgICAgIHJlamVjdChgTWlzc2luZyBDYW52YXMu
YCk7CisgICAgICAgICAgICAgICAgcmV0dXJuOworICAgICAgICAgICAgfQorCisgICAgICAgICAg
ICBjb25zdCBvYmplY3RHcm91cCA9ICJ0ZXN0IjsKKyAgICAgICAgICAgIENhbnZhc0FnZW50LnJl
c29sdmVDYW52YXNDb250ZXh0KGNhbnZhcy5pZGVudGlmaWVyLCBvYmplY3RHcm91cCkKKyAgICAg
ICAgICAgIC50aGVuKCh7b2JqZWN0fSkgPT4geworICAgICAgICAgICAgICAgIEluc3BlY3RvclRl
c3QuZXhwZWN0RXF1YWwob2JqZWN0LnR5cGUsICJvYmplY3QiLCBgUGF5bG9hZCBzaG91bGQgaGF2
ZSB0eXBlICJvYmplY3QiLmApOworICAgICAgICAgICAgICAgIEluc3BlY3RvclRlc3QuZXhwZWN0
RXF1YWwob2JqZWN0LmNsYXNzTmFtZSwgIldlYk1ldGFsUmVuZGVyaW5nQ29udGV4dCIsIGBQYXls
b2FkIHNob3VsZCBoYXZlIGNsYXNzTmFtZSAiV2ViTWV0YWxSZW5kZXJpbmdDb250ZXh0Ii5gKTsK
KyAgICAgICAgICAgIH0pCisgICAgICAgICAgICAudGhlbihyZXNvbHZlLCByZWplY3QpOworICAg
ICAgICB9CisgICAgfSk7CisKKyAgICBzdWl0ZS5ydW5UZXN0Q2FzZXNBbmRGaW5pc2goKTsKK30K
Kzwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHkgb25sb2FkPSJsb2FkKCkiPgorICAgIDxwPlRlc3Rz
IGZvciB0aGUgQ2FudmFzLnJlc29sdmVDYW52YXNDb250ZXh0IGNvbW1hbmQgZm9yIFdlYk1ldGFs
IGNvbnRleHRzLjwvcD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L3BsYXRmb3JtL2d0ay9UZXN0RXhwZWN0YXRpb25zIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vZ3Rr
L1Rlc3RFeHBlY3RhdGlvbnMKaW5kZXggNTBiNTUyM2U5NmMyMzNiNzY1NTU3NjNlOGMxNWUyZDUz
MWJiNTcyYy4uNDI2YTFmMzZlYTdiMTU2ZDk2ODc2ZmM2OTU5OTg2NjgzNWIwODA1OCAxMDA2NDQK
LS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vZ3RrL1Rlc3RFeHBlY3RhdGlvbnMKKysrIGIvTGF5
b3V0VGVzdHMvcGxhdGZvcm0vZ3RrL1Rlc3RFeHBlY3RhdGlvbnMKQEAgLTExMTQsMTAgKzExMTQs
MTAgQEAgcGx1Z2lucy9mb3JtLXZhbHVlLmh0bWwgWyBTa2lwIF0KIGZhc3QvZmlsZXMvZmlsZXJl
YWRlci16aXAtYnVuZGxlLXVzaW5nLW9wZW4tcGFuZWwuaHRtbCBbIFNraXAgXQogaHR0cC90ZXN0
cy9sb2NhbC9maWxlYXBpL3VwbG9hZC16aXAtYnVuZGxlLWFzLWJsb2ItdXNpbmctb3Blbi1wYW5l
bC5odG1sIFsgU2tpcCBdCiAKLSMgV2ViR1BVIGlzIG5vdCBlbmFibGVkIG9uIEdUSysuCi1mYXN0
L2NhbnZhcy93ZWJncHUgWyBTa2lwIF0KLWluc3BlY3Rvci9jYW52YXMvY3JlYXRlLWNvbnRleHQt
d2ViZ3B1Lmh0bWwgWyBTa2lwIF0KLWluc3BlY3Rvci9jYW52YXMvcmVzb2x2ZUNhbnZhc0NvbnRl
eHQtd2ViZ3B1Lmh0bWwgWyBTa2lwIF0KKyMgV2ViTWV0YWwgaXMgbm90IGVuYWJsZWQgb24gR1RL
Ky4KK2Zhc3QvY2FudmFzL3dlYm1ldGFsIFsgU2tpcCBdCitpbnNwZWN0b3IvY2FudmFzL2NyZWF0
ZS1jb250ZXh0LXdlYm1ldGFsLmh0bWwgWyBTa2lwIF0KK2luc3BlY3Rvci9jYW52YXMvcmVzb2x2
ZUNhbnZhc0NvbnRleHQtd2VibWV0YWwuaHRtbCBbIFNraXAgXQogCiAjIFdlIGRvbid0IHN1cHBv
cnQgQVBQTEVfUEFZLgogaHR0cC90ZXN0cy9zc2wvYXBwbGVwYXkgWyBTa2lwIF0KZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2lvcy9UZXN0RXhwZWN0YXRpb25zIGIvTGF5b3V0VGVz
dHMvcGxhdGZvcm0vaW9zL1Rlc3RFeHBlY3RhdGlvbnMKaW5kZXggMmIzNTQxMTZjMDdmYmI0NjZm
NGNhMGE1YTBlOWNlOGM1Nzg3MWRkZC4uOTdhZjg5NzkzZDZhNjM5YzU0OWQ2ZjQ2Zjg3YWYzYzc5
NzZmZmZkMyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vaW9zL1Rlc3RFeHBlY3Rh
dGlvbnMKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vaW9zL1Rlc3RFeHBlY3RhdGlvbnMKQEAg
LTM2LDkgKzM2LDkgQEAgaHR0cC90ZXN0cy9mdWxsc2NyZWVuCiBjb21wb3NpdGluZy9uby1jb21w
b3NpdGluZy13aGVuLWZ1bGxsLXNjcmVlbi1pcy1wcmVzZW50Lmh0bWwKIAogIyBXZWJHUFUgaXMg
bm90IGVuYWJsZWQgb24gaU9TIFNpbXVsYXRvci4KLWZhc3QvY2FudmFzL3dlYmdwdQotaW5zcGVj
dG9yL2NhbnZhcy9jcmVhdGUtY29udGV4dC13ZWJncHUuaHRtbCBbIFNraXAgXQotaW5zcGVjdG9y
L2NhbnZhcy9yZXNvbHZlQ2FudmFzQ29udGV4dC13ZWJncHUuaHRtbCBbIFNraXAgXQorZmFzdC9j
YW52YXMvd2VibWV0YWwKK2luc3BlY3Rvci9jYW52YXMvY3JlYXRlLWNvbnRleHQtd2VibWV0YWwu
aHRtbCBbIFNraXAgXQoraW5zcGVjdG9yL2NhbnZhcy9yZXNvbHZlQ2FudmFzQ29udGV4dC13ZWJt
ZXRhbC5odG1sIFsgU2tpcCBdCiAKICMgRW5jcnlwdGVkIE1lZGlhIEV4dGVuc2lvbnMgYXJlIG5v
dCBlbmFibGVkCiBtZWRpYS9lbmNyeXB0ZWQtbWVkaWEvCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9wbGF0Zm9ybS9tYWMvVGVzdEV4cGVjdGF0aW9ucyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL21h
Yy9UZXN0RXhwZWN0YXRpb25zCmluZGV4IDM5YjQxOWY2YjdjNjQ0YjY3MDNhNDRlMjI1OTAxYzUy
ZWVlMGNiZTIuLjk1NjNhZDI5MmIyYjZhMzUxODlkMDMzYzhkMTYwMTVjNTg5ZjY1NzcgMTAwNjQ0
Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy9UZXN0RXhwZWN0YXRpb25zCisrKyBiL0xh
eW91dFRlc3RzL3BsYXRmb3JtL21hYy9UZXN0RXhwZWN0YXRpb25zCkBAIC0xMDQyLDcgKzEwNDIs
NyBAQCB3ZWJraXQub3JnL2IvMTUwOTc4IGZhc3QvY2FudmFzL3dlYmdsL29lcy10ZXh0dXJlLWhh
bGYtZmxvYXQtbGluZWFyLmh0bWwgWyBQYXNzCiB3ZWJraXQub3JnL2IvMTczOTMxIGluc3BlY3Rv
ci9jYW52YXMvY29udGV4dC1hdHRyaWJ1dGVzLmh0bWwgWyBQYXNzIFRpbWVvdXQgXQogd2Via2l0
Lm9yZy9iLzE3ODAyOCBpbnNwZWN0b3IvY2FudmFzL2NyZWF0ZS1jb250ZXh0LTJkLmh0bWwgWyBQ
YXNzIFRpbWVvdXQgXQogd2Via2l0Lm9yZy9iLzE3NDA2NiBpbnNwZWN0b3IvY2FudmFzL2NyZWF0
ZS1jb250ZXh0LXdlYmdsMi5odG1sIFsgUGFzcyBUaW1lb3V0IF0KLXdlYmtpdC5vcmcvYi8xNzQw
NjYgaW5zcGVjdG9yL2NhbnZhcy9jcmVhdGUtY29udGV4dC13ZWJncHUuaHRtbCBbIFBhc3MgVGlt
ZW91dCBdCit3ZWJraXQub3JnL2IvMTc0MDY2IGluc3BlY3Rvci9jYW52YXMvY3JlYXRlLWNvbnRl
eHQtd2VibWV0YWwuaHRtbCBbIFBhc3MgVGltZW91dCBdCiB3ZWJraXQub3JnL2IvMTc0MjcyIGlu
c3BlY3Rvci9jYW52YXMvY3NzLWNhbnZhcy1jbGllbnRzLmh0bWwgWyBQYXNzIFRpbWVvdXQgXQog
d2Via2l0Lm9yZy9iLzE3NDA2NiBpbnNwZWN0b3IvY2FudmFzL3NoYWRlclByb2dyYW0tYWRkLXJl
bW92ZS13ZWJnbDIuaHRtbCBbIFBhc3MgRmFpbHVyZSBUaW1lb3V0IF0KIHdlYmtpdC5vcmcvYi8x
NjAwNDggWyBEZWJ1ZyBdIGluc3BlY3Rvci9jb2RlbWlycm9yL3ByZXR0eXByaW50aW5nLWphdmFz
Y3JpcHQuaHRtbCBbIFBhc3MgVGltZW91dCBdCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0
Zm9ybS93aW4vVGVzdEV4cGVjdGF0aW9ucyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL3dpbi9UZXN0
RXhwZWN0YXRpb25zCmluZGV4IDdmYjk1ZDZhMzdlMmNkZGI1NmNjOTkzZDU5ZTE4NGMxYzViNzEz
YTEuLjc2M2UwNzNkMmVhYzM4MWI3MGFkNDY5ZTg3ZTE1N2ExMDcyZTQ5MmQgMTAwNjQ0Ci0tLSBh
L0xheW91dFRlc3RzL3BsYXRmb3JtL3dpbi9UZXN0RXhwZWN0YXRpb25zCisrKyBiL0xheW91dFRl
c3RzL3BsYXRmb3JtL3dpbi9UZXN0RXhwZWN0YXRpb25zCkBAIC0yNDQxLDggKzI0NDEsOCBAQCBp
bnNwZWN0b3IvbWVtb3J5IFsgU2tpcCBdCiAjIGluc3BlY3Rvci9kZWJ1Z2dlci9yZW1vdmVCcmVh
a3BvaW50Lmh0bWwgWyBTa2lwIF0gIyBDcmFzaGluZwogIyBpbnNwZWN0b3IvZGVidWdnZXIvc2Vh
cmNoSW5Db250ZW50LWxpbmVicmVha3MuaHRtbCBbIFBhc3MgQ3Jhc2ggXSAjIEZsYWt5CiAKLWlu
c3BlY3Rvci9jYW52YXMvY3JlYXRlLWNvbnRleHQtd2ViZ3B1Lmh0bWwgWyBTa2lwIF0KLWluc3Bl
Y3Rvci9jYW52YXMvcmVzb2x2ZUNhbnZhc0NvbnRleHQtd2ViZ3B1Lmh0bWwgWyBTa2lwIF0KK2lu
c3BlY3Rvci9jYW52YXMvY3JlYXRlLWNvbnRleHQtd2VibWV0YWwuaHRtbCBbIFNraXAgXQoraW5z
cGVjdG9yL2NhbnZhcy9yZXNvbHZlQ2FudmFzQ29udGV4dC13ZWJtZXRhbC5odG1sIFsgU2tpcCBd
CiAKICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCiAjIyMjIyMjIyMjIyMjIyMjIyAgICAgICAgRW5k
IEluc3BlY3RvciBJc3N1ZXMgICAgICAgICAgICAgICAjIyMjIyMjIyMjIyMjIyMjIyMjIwpAQCAt
MzUyNyw3ICszNTI3LDcgQEAgZmFzdC9hbmltYXRpb24vcmVxdWVzdC1hbmltYXRpb24tZnJhbWUt
dGhyb3R0bGluZy1sb3dQb3dlck1vZGUuaHRtbCBbIEZhaWx1cmUgXQogZmFzdC9ibG9jay9wb3Np
dGlvbmluZy8wMTYuaHRtbCBbIEZhaWx1cmUgXQogZmFzdC9ibG9jay9wb3NpdGlvbmluZy8wMjUu
aHRtbCBbIEZhaWx1cmUgXQogZmFzdC9ibG9jay9wb3NpdGlvbmluZy9maXhlZC1wb3NpdGlvbi1z
dGFja2luZy1jb250ZXh0Lmh0bWwgWyBGYWlsdXJlIF0KLWZhc3QvY2FudmFzL3dlYmdwdS93ZWJn
cHUtcnVudGltZS1mbGFnLmh0bWwgWyBGYWlsdXJlIF0KK2Zhc3QvY2FudmFzL3dlYm1ldGFsL3dl
Ym1ldGFsLXJ1bnRpbWUtZmxhZy5odG1sIFsgRmFpbHVyZSBdCiBmYXN0L2Nzcy9nZXRDb21wdXRl
ZFN0eWxlL2NvbXB1dGVkLXN0eWxlLWZvbnQtZmFtaWx5Lmh0bWwgWyBGYWlsdXJlIF0KIGZhc3Qv
Y3NzL2dldENvbXB1dGVkU3R5bGUvY29tcHV0ZWQtc3R5bGUtd2l0aG91dC1yZW5kZXJlci5odG1s
IFsgRmFpbHVyZSBdCiBmYXN0L2Nzcy9nZXRDb21wdXRlZFN0eWxlL2NvbXB1dGVkLXN0eWxlLmh0
bWwgWyBGYWlsdXJlIF0KQEAgLTM2NDIsNyArMzY0Miw3IEBAIGxlZ2FjeS1hbmltYXRpb24tZW5n
aW5lL2FuaW1hdGlvbnMvZm9udC12YXJpYXRpb25zL2ZvbnQtc3R5bGUuaHRtbCBbIFNraXAgXQog
ZWRpdGluZy9zZWxlY3Rpb24vY2FyZXQtYWZ0ZXItdGFwLWluLWVkaXRhYmxlLXNlbGVjdGlvbi5o
dG1sIFsgU2tpcCBdCiBlZGl0aW5nL3NlbGVjdGlvbi9jaGFyYWN0ZXItZ3JhbnVsYXJpdHktc2Vs
ZWN0LXRleHQtd2l0aC1jbGljay1oYW5kbGVyLmh0bWwgWyBTa2lwIF0KIGVkaXRpbmcvc2VsZWN0
aW9uL2NoYXJhY3Rlci1ncmFudWxhcml0eS1zZWxlY3RlZC1yYW5nZS1hZnRlci1kaXNtaXNzaW5n
LXNlbGVjdGlvbi5odG1sIFsgU2tpcCBdCi1mYXN0L2NhbnZhcy93ZWJncHUvd2ViZ3B1LWRpc3Bh
dGNoLmh0bWwgWyBTa2lwIF0KK2Zhc3QvY2FudmFzL3dlYm1ldGFsL3dlYm1ldGFsLWRpc3BhdGNo
Lmh0bWwgWyBTa2lwIF0KIGZhc3QvZG9tL0ZpbGVMaXN0LWl0ZXJhdG9yLXVzaW5nLW9wZW4tcGFu
ZWwuaHRtbCBbIFNraXAgXQogZmFzdC9mb3Jtcy9maWxlL2ZpbGUtaW5wdXQtcmVzZXQtdXNpbmct
b3Blbi1wYW5lbC5odG1sIFsgU2tpcCBdCiBmYXN0L2Zvcm1zL2ZpbGUvZmlsZS1yZXNldC1pbi1j
aGFuZ2UtdXNpbmctb3Blbi1wYW5lbC5odG1sIFsgU2tpcCBdCmRpZmYgLS1naXQgYS9DaGFuZ2VM
b2cgYi9DaGFuZ2VMb2cKaW5kZXggYjQwOWI4NTA4MGQ4M2YyODRlZDY0MGVkZmVhZjg3NzRlMzJi
ZmI4My4uMjQxMDI2NDhiMjM2YjIyZGQyOTg4NTkxNjk5ZjA1MGRlZTc2YThkMiAxMDA2NDQKLS0t
IGEvQ2hhbmdlTG9nCisrKyBiL0NoYW5nZUxvZwpAQCAtMSwzICsxLDEyIEBACisyMDE4LTEwLTA4
ICBKdXN0aW4gRmFuICA8anVzdGluX2ZhbkBhcHBsZS5jb20+CisKKyAgICAgICAgV2ViR1BVOiBS
ZW5hbWUgb2xkIFdlYkdQVSBwcm90b3R5cGUgdG8gV2ViTWV0YWwKKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE5MDMyNQorCisgICAgICAgIFJldmlld2Vk
IGJ5IERlYW4gSmFja3Nvbi4KKworICAgICAgICAqIFNvdXJjZS9jbWFrZS9XZWJLaXRGZWF0dXJl
cy5jbWFrZToKKwogMjAxOC0xMC0wMiAgUGhpbGlwcGUgTm9ybWFuZCAgPHBub3JtYW5kQGlnYWxp
YS5jb20+CiAKICAgICAgICAgW0dTdHJlYW1lcl1bTVNFXSBVYnVudHUgTFRTIGJ1aWxkIGJyb2tl
biBzaW5jZSByMjM2NDA5Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>